diff --git a/.travis.yml b/.travis.yml index ccd249092..c34269acb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,19 +20,20 @@ env: - SDK_URL=https://bitcoincore.org/depends-sources/sdks - PYTHON_DEBUG=1 - WINEDEBUG=fixme-all + - LITECOIN_SCRYPT=0 matrix: # ARM - HOST=arm-linux-gnueabihf PACKAGES="g++-arm-linux-gnueabihf" DEP_OPTS="NO_QT=1" CHECK_DOC=1 GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports" # Win32 - - HOST=i686-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PACKAGES="python3 nsis g++-mingw-w64-i686 wine1.6 bc" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-reduce-exports" + - HOST=i686-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PACKAGES="python3 nsis g++-mingw-w64-i686 wine1.6 bc" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-reduce-exports" LITECOIN_SCRYPT=1 # 32-bit + dash - - HOST=i686-pc-linux-gnu PACKAGES="g++-multilib bc python3-zmq" DEP_OPTS="NO_QT=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++" USE_SHELL="/bin/dash" + - HOST=i686-pc-linux-gnu PACKAGES="g++-multilib bc python3-zmq" DEP_OPTS="NO_QT=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++" USE_SHELL="/bin/dash" LITECOIN_SCRYPT=1 # Win64 - - HOST=x86_64-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PACKAGES="python3 nsis g++-mingw-w64-x86-64 wine1.6 bc" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-reduce-exports" + - HOST=x86_64-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PACKAGES="python3 nsis g++-mingw-w64-x86-64 wine1.6 bc" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-reduce-exports" LITECOIN_SCRYPT=1 # bitcoind - - HOST=x86_64-unknown-linux-gnu PACKAGES="bc python3-zmq" DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports CPPFLAGS=-DDEBUG_LOCKORDER" + - HOST=x86_64-unknown-linux-gnu PACKAGES="bc python3-zmq" DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports CPPFLAGS=-DDEBUG_LOCKORDER" LITECOIN_SCRYPT=1 # No wallet - - HOST=x86_64-unknown-linux-gnu PACKAGES="python3" DEP_OPTS="NO_WALLET=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports" + - HOST=x86_64-unknown-linux-gnu PACKAGES="python3" DEP_OPTS="NO_WALLET=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports" LITECOIN_SCRYPT=1 # Cross-Mac - HOST=x86_64-apple-darwin11 PACKAGES="cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python-dev" BITCOIN_CONFIG="--enable-gui --enable-reduce-exports" OSX_SDK=10.11 GOAL="deploy" @@ -43,6 +44,7 @@ install: - if [ -n "$DPKG_ADD_ARCH" ]; then sudo dpkg --add-architecture "$DPKG_ADD_ARCH" ; fi - if [ -n "$PACKAGES" ]; then travis_retry sudo apt-get update; fi - if [ -n "$PACKAGES" ]; then travis_retry sudo apt-get install --no-install-recommends --no-upgrade -qq $PACKAGES; fi + - if [ "$LITECOIN_SCRYPT" = 1 ]; then travis_retry sudo pip3 install litecoin_scrypt; fi before_script: - unset CC; unset CXX - if [ "$CHECK_DOC" = 1 ]; then contrib/devtools/check-doc.py; fi @@ -51,9 +53,9 @@ before_script: - if [ -n "$OSX_SDK" -a -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then tar -C depends/SDKs -xf depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz; fi - make $MAKEJOBS -C depends HOST=$HOST $DEP_OPTS script: - - if [ "$RUN_TESTS" = "true" -a "$TRAVIS_REPO_SLUG" = "bitcoin/bitcoin" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then while read LINE; do travis_retry gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys $LINE; done < contrib/verify-commits/trusted-keys; fi - - if [ "$RUN_TESTS" = "true" -a "$TRAVIS_REPO_SLUG" = "bitcoin/bitcoin" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then git fetch --unshallow; fi - - if [ "$RUN_TESTS" = "true" -a "$TRAVIS_REPO_SLUG" = "bitcoin/bitcoin" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then contrib/verify-commits/verify-commits.sh; fi +# - if [ "$RUN_TESTS" = "true" -a "$TRAVIS_REPO_SLUG" = "litecoin-project/litecoin" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then while read LINE; do travis_retry gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys $LINE; done < contrib/verify-commits/trusted-keys; fi +# - if [ "$RUN_TESTS" = "true" -a "$TRAVIS_REPO_SLUG" = "litecoin-project/litecoin" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then git fetch --unshallow; fi +# - if [ "$RUN_TESTS" = "true" -a "$TRAVIS_REPO_SLUG" = "litecoin-project/litecoin" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then contrib/verify-commits/verify-commits.sh; fi - export TRAVIS_COMMIT_LOG=`git log --format=fuller -1` - if [ -n "$USE_SHELL" ]; then export CONFIG_SHELL="$USE_SHELL"; fi - OUTDIR=$BASE_OUTDIR/$TRAVIS_PULL_REQUEST/$TRAVIS_JOB_NUMBER-$HOST diff --git a/contrib/testgen/gen_base58_test_vectors.py b/contrib/testgen/gen_base58_test_vectors.py index ac0701e6b..c7d9e7b67 100755 --- a/contrib/testgen/gen_base58_test_vectors.py +++ b/contrib/testgen/gen_base58_test_vectors.py @@ -18,11 +18,11 @@ import random from binascii import b2a_hex # key types -PUBKEY_ADDRESS = 0 +PUBKEY_ADDRESS = 48 SCRIPT_ADDRESS = 5 PUBKEY_ADDRESS_TEST = 111 SCRIPT_ADDRESS_TEST = 196 -PRIVKEY = 128 +PRIVKEY = 176 PRIVKEY_TEST = 239 metadata_keys = ['isPrivkey', 'isTestnet', 'addrType', 'isCompressed'] diff --git a/qa/README.md b/qa/README.md index 225207cc1..e6bc2e81c 100644 --- a/qa/README.md +++ b/qa/README.md @@ -1,7 +1,7 @@ The [pull-tester](/qa/pull-tester/) folder contains a script to call multiple tests from the [rpc-tests](/qa/rpc-tests/) folder. -Every pull request to the bitcoin repository is built and run through +Every pull request to the litecoin repository is built and run through the regression test suite. You can also run all or only individual tests locally. @@ -11,15 +11,17 @@ Before running the tests, the following must be installed. Unix ---- -The python3-zmq library is required. On Ubuntu or Debian it can be installed via: +`python3-zmq` and `litecoin_scrypt` are required. On Ubuntu or Debian they can be installed via: ``` sudo apt-get install python3-zmq +pip3 install litecoin_scrypt ``` OS X ------ ``` pip3 install pyzmq +pip3 install litecoin_scrypt ``` Running tests @@ -50,9 +52,9 @@ Possible options, which apply to each individual test run: ``` -h, --help show this help message and exit - --nocleanup Leave bitcoinds and test.* datadir on exit or error - --noshutdown Don't stop bitcoinds after the test execution - --srcdir=SRCDIR Source directory containing bitcoind/bitcoin-cli + --nocleanup Leave litecoinds and test.* datadir on exit or error + --noshutdown Don't stop litecoinds after the test execution + --srcdir=SRCDIR Source directory containing litecoind/litecoin-cli (default: ../../src) --tmpdir=TMPDIR Root directory for datadirs --tracerpc Print out all RPC calls as they are made @@ -77,7 +79,7 @@ to recover with: ```bash rm -rf cache -killall bitcoind +killall litecoind ``` Writing tests diff --git a/qa/pull-tester/rpc-tests.py b/qa/pull-tester/rpc-tests.py index 20ab0fdd1..dbeb77d00 100755 --- a/qa/pull-tester/rpc-tests.py +++ b/qa/pull-tester/rpc-tests.py @@ -76,7 +76,7 @@ for arg in sys.argv[1:]: #Set env vars if "BITCOIND" not in os.environ: - os.environ["BITCOIND"] = BUILDDIR + '/src/bitcoind' + EXEEXT + os.environ["BITCOIND"] = BUILDDIR + '/src/litecoind' + EXEEXT if EXEEXT == ".exe" and "-win" not in opts: # https://github.com/bitcoin/bitcoin/commit/d52802551752140cf41f0d9a225a43e84404d3e9 diff --git a/qa/rpc-tests/fundrawtransaction.py b/qa/rpc-tests/fundrawtransaction.py index cdea390e2..36641ac71 100755 --- a/qa/rpc-tests/fundrawtransaction.py +++ b/qa/rpc-tests/fundrawtransaction.py @@ -206,9 +206,9 @@ class RawTransactionsTest(BitcoinTestFramework): try: self.nodes[2].fundrawtransaction(rawtx, {'changeAddress': 'foobar'}) - raise AssertionError("Accepted invalid bitcoin address") + raise AssertionError("Accepted invalid litecoin address") except JSONRPCException as e: - assert("changeAddress must be a valid bitcoin address" in e.error['message']) + assert("changeAddress must be a valid litecoin address" in e.error['message']) ############################################################ diff --git a/qa/rpc-tests/multi_rpc.py b/qa/rpc-tests/multi_rpc.py index 95d9090ce..cf09d98fe 100755 --- a/qa/rpc-tests/multi_rpc.py +++ b/qa/rpc-tests/multi_rpc.py @@ -26,7 +26,7 @@ class HTTPBasicsTest (BitcoinTestFramework): #Append rpcauth to bitcoin.conf before initialization rpcauth = "rpcauth=rt:93648e835a54c573682c2eb19f882535$7681e9c5b74bdd85e78166031d2058e1069b3ed7ed967c93fc63abba06f31144" rpcauth2 = "rpcauth=rt2:f8607b1a88861fac29dfccf9b52ff9f$ff36a0c23c8c62b4846112e50fa888416e94c17bfd4c42f88fd8f55ec6a3137e" - with open(os.path.join(self.options.tmpdir+"/node0", "bitcoin.conf"), 'a', encoding='utf8') as f: + with open(os.path.join(self.options.tmpdir+"/node0", "litecoin.conf"), 'a', encoding='utf8') as f: f.write(rpcauth+"\n") f.write(rpcauth2+"\n") diff --git a/qa/rpc-tests/p2p-compactblocks.py b/qa/rpc-tests/p2p-compactblocks.py index 9151ecf5d..222126442 100755 --- a/qa/rpc-tests/p2p-compactblocks.py +++ b/qa/rpc-tests/p2p-compactblocks.py @@ -10,6 +10,8 @@ from test_framework.blocktools import create_block, create_coinbase, add_witness from test_framework.siphash import siphash256 from test_framework.script import CScript, OP_TRUE +VB_TOP_BITS = 0x20000000 + ''' CompactBlocksTest -- test compact blocks (BIP 152) @@ -132,7 +134,7 @@ class CompactBlocksTest(BitcoinTestFramework): tip = node.getbestblockhash() mtp = node.getblockheader(tip)['mediantime'] block = create_block(int(tip, 16), create_coinbase(height + 1), mtp + 1) - block.nVersion = 4 + block.nVersion = VB_TOP_BITS if segwit: add_witness_commitment(block) block.solve() diff --git a/qa/rpc-tests/p2p-fullblocktest.py b/qa/rpc-tests/p2p-fullblocktest.py index 44e5f1032..6fbfff773 100755 --- a/qa/rpc-tests/p2p-fullblocktest.py +++ b/qa/rpc-tests/p2p-fullblocktest.py @@ -662,7 +662,7 @@ class FullBlockTest(ComparisonTestFramework): tip(44) b47 = block(47, solve=False) target = uint256_from_compact(b47.nBits) - while b47.sha256 < target: #changed > to < + while b47.scrypt256 < target: #changed > to < b47.nNonce += 1 b47.rehash() yield rejected(RejectResult(16, b'high-hash')) diff --git a/qa/rpc-tests/test_framework/mininode.py b/qa/rpc-tests/test_framework/mininode.py index 5b563c58a..175455957 100755 --- a/qa/rpc-tests/test_framework/mininode.py +++ b/qa/rpc-tests/test_framework/mininode.py @@ -36,10 +36,11 @@ from threading import RLock from threading import Thread import logging import copy +import litecoin_scrypt from test_framework.siphash import siphash256 BIP0031_VERSION = 60000 -MY_VERSION = 70014 # past bip-31 for ping/pong +MY_VERSION = 80014 # past bip-31 for ping/pong MY_SUBVERSION = b"/python-mininode-tester:0.0.3/" MY_RELAY = 1 # from version 70001 onwards, fRelay should be appended to version messages (BIP37) @@ -536,6 +537,7 @@ class CBlockHeader(object): self.nNonce = header.nNonce self.sha256 = header.sha256 self.hash = header.hash + self.scrypt256 = header.scrypt256 self.calc_sha256() def set_null(self): @@ -547,6 +549,7 @@ class CBlockHeader(object): self.nNonce = 0 self.sha256 = None self.hash = None + self.scrypt256 = None def deserialize(self, f): self.nVersion = struct.unpack(" target: + if self.scrypt256 > target: return False for tx in self.vtx: if not tx.is_valid(): @@ -652,7 +658,7 @@ class CBlock(CBlockHeader): def solve(self): self.rehash() target = uint256_from_compact(self.nBits) - while self.sha256 > target: + while self.scrypt256 > target: self.nNonce += 1 self.rehash() @@ -1610,8 +1616,8 @@ class NodeConn(asyncore.dispatcher): b"blocktxn": msg_blocktxn } MAGIC_BYTES = { - "mainnet": b"\xf9\xbe\xb4\xd9", # mainnet - "testnet3": b"\x0b\x11\x09\x07", # testnet3 + "mainnet": b"\xfb\xc0\xb6\xdb", # mainnet + "testnet3": b"\xfc\xc1\xb7\xdc", # testnet3 "regtest": b"\xfa\xbf\xb5\xda", # regtest } @@ -1642,7 +1648,7 @@ class NodeConn(asyncore.dispatcher): vt.addrFrom.port = 0 self.send_message(vt, True) - print('MiniNode: Connecting to Bitcoin Node IP # ' + dstaddr + ':' \ + print('MiniNode: Connecting to Litecoin Node IP # ' + dstaddr + ':' \ + str(dstport)) try: diff --git a/qa/rpc-tests/test_framework/test_framework.py b/qa/rpc-tests/test_framework/test_framework.py index 98c4f6070..0b978a0f8 100755 --- a/qa/rpc-tests/test_framework/test_framework.py +++ b/qa/rpc-tests/test_framework/test_framework.py @@ -104,11 +104,11 @@ class BitcoinTestFramework(object): parser = optparse.OptionParser(usage="%prog [options]") parser.add_option("--nocleanup", dest="nocleanup", default=False, action="store_true", - help="Leave bitcoinds and test.* datadir on exit or error") + help="Leave litecoinds and test.* datadir on exit or error") parser.add_option("--noshutdown", dest="noshutdown", default=False, action="store_true", - help="Don't stop bitcoinds after the test execution") + help="Don't stop litecoinds after the test execution") parser.add_option("--srcdir", dest="srcdir", default=os.path.normpath(os.path.dirname(os.path.realpath(__file__))+"/../../../src"), - help="Source directory containing bitcoind/bitcoin-cli (default: %default)") + help="Source directory containing litecoind/litecoin-cli (default: %default)") parser.add_option("--cachedir", dest="cachedir", default=os.path.normpath(os.path.dirname(os.path.realpath(__file__))+"/../../cache"), help="Directory for caching pregenerated datadirs") parser.add_option("--tmpdir", dest="tmpdir", default=tempfile.mkdtemp(prefix="test"), @@ -163,7 +163,7 @@ class BitcoinTestFramework(object): print("Stopping nodes") stop_nodes(self.nodes) else: - print("Note: bitcoinds were not stopped and may still be running") + print("Note: litecoinds were not stopped and may still be running") if not self.options.nocleanup and not self.options.noshutdown and success: print("Cleaning up") @@ -205,11 +205,11 @@ class ComparisonTestFramework(BitcoinTestFramework): def add_options(self, parser): parser.add_option("--testbinary", dest="testbinary", - default=os.getenv("BITCOIND", "bitcoind"), - help="bitcoind binary to test") + default=os.getenv("LITECOIND", "litecoind"), + help="litecoind binary to test") parser.add_option("--refbinary", dest="refbinary", - default=os.getenv("BITCOIND", "bitcoind"), - help="bitcoind binary to use for reference nodes (if any)") + default=os.getenv("LITECOIND", "litecoind"), + help="litecoind binary to use for reference nodes (if any)") def setup_network(self): self.nodes = start_nodes( diff --git a/qa/rpc-tests/test_framework/util.py b/qa/rpc-tests/test_framework/util.py index ec151c2a6..f6182ce17 100644 --- a/qa/rpc-tests/test_framework/util.py +++ b/qa/rpc-tests/test_framework/util.py @@ -182,7 +182,7 @@ def initialize_datadir(dirname, n): if not os.path.isdir(datadir): os.makedirs(datadir) rpc_u, rpc_p = rpc_auth_pair(n) - with open(os.path.join(datadir, "bitcoin.conf"), 'w', encoding='utf8') as f: + with open(os.path.join(datadir, "litecoin.conf"), 'w', encoding='utf8') as f: f.write("regtest=1\n") f.write("rpcuser=" + rpc_u + "\n") f.write("rpcpassword=" + rpc_p + "\n") @@ -213,7 +213,7 @@ def wait_for_bitcoind_start(process, url, i): ''' while True: if process.poll() is not None: - raise Exception('bitcoind exited with status %i during initialization' % process.returncode) + raise Exception('litecoind exited with status %i during initialization' % process.returncode) try: rpc = get_rpc_proxy(url, i) blocks = rpc.getblockcount() @@ -249,12 +249,12 @@ def initialize_chain(test_dir, num_nodes, cachedir): # Create cache directories, run bitcoinds: for i in range(MAX_NODES): datadir=initialize_datadir(cachedir, i) - args = [ os.getenv("BITCOIND", "bitcoind"), "-server", "-keypool=1", "-datadir="+datadir, "-discover=0" ] + args = [ os.getenv("BITCOIND", "litecoind"), "-server", "-keypool=1", "-datadir="+datadir, "-discover=0" ] if i > 0: args.append("-connect=127.0.0.1:"+str(p2p_port(0))) bitcoind_processes[i] = subprocess.Popen(args) if os.getenv("PYTHON_DEBUG", ""): - print("initialize_chain: bitcoind started, waiting for RPC to come up") + print("initialize_chain: litecoind started, waiting for RPC to come up") wait_for_bitcoind_start(bitcoind_processes[i], rpc_url(i), i) if os.getenv("PYTHON_DEBUG", ""): print("initialize_chain: RPC successfully started") @@ -335,12 +335,12 @@ def start_node(i, dirname, extra_args=None, rpchost=None, timewait=None, binary= """ datadir = os.path.join(dirname, "node"+str(i)) if binary is None: - binary = os.getenv("BITCOIND", "bitcoind") + binary = os.getenv("LITECOIND", "litecoind") args = [ binary, "-datadir="+datadir, "-server", "-keypool=1", "-discover=0", "-rest", "-mocktime="+str(get_mocktime()) ] if extra_args is not None: args.extend(extra_args) bitcoind_processes[i] = subprocess.Popen(args) if os.getenv("PYTHON_DEBUG", ""): - print("start_node: bitcoind started, waiting for RPC to come up") + print("start_node: litecoind started, waiting for RPC to come up") url = rpc_url(i, rpchost) wait_for_bitcoind_start(bitcoind_processes[i], url, i) if os.getenv("PYTHON_DEBUG", ""): @@ -510,10 +510,10 @@ def assert_fee_amount(fee, tx_size, fee_per_kB): """Assert the fee was in range""" target_fee = tx_size * fee_per_kB / 1000 if fee < target_fee: - raise AssertionError("Fee of %s BTC too low! (Should be %s BTC)"%(str(fee), str(target_fee))) + raise AssertionError("Fee of %s LTC too low! (Should be %s LTC)"%(str(fee), str(target_fee))) # allow the wallet's estimation to be at most 2 bytes off if fee > (tx_size + 2) * fee_per_kB / 1000: - raise AssertionError("Fee of %s BTC too high! (Should be %s BTC)"%(str(fee), str(target_fee))) + raise AssertionError("Fee of %s LTC too high! (Should be %s LTC)"%(str(fee), str(target_fee))) def assert_equal(thing1, thing2, *args): if thing1 != thing2 or any(thing1 != arg for arg in args): diff --git a/src/Makefile.test.include b/src/Makefile.test.include index 4a5782d7e..a6046f5a0 100644 --- a/src/Makefile.test.include +++ b/src/Makefile.test.include @@ -86,7 +86,6 @@ BITCOIN_TESTS =\ test/base58_tests.cpp \ test/base64_tests.cpp \ test/bip32_tests.cpp \ - test/blockencodings_tests.cpp \ test/bloom_tests.cpp \ test/bswap_tests.cpp \ test/coins_tests.cpp \ diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index e0961fe7d..2091968dc 100644 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -152,7 +152,7 @@ void setupAmountWidget(QLineEdit *widget, QWidget *parent) bool parseBitcoinURI(const QUrl &uri, SendCoinsRecipient *out) { // return if URI is not valid or is no bitcoin: URI - if(!uri.isValid() || uri.scheme() != QString("bitcoin")) + if(!uri.isValid() || uri.scheme() != QString("litecoin")) return false; SendCoinsRecipient rv; @@ -216,9 +216,9 @@ bool parseBitcoinURI(QString uri, SendCoinsRecipient *out) // // Cannot handle this later, because bitcoin:// will cause Qt to see the part after // as host, // which will lower-case it (and thus invalidate the address). - if(uri.startsWith("bitcoin://", Qt::CaseInsensitive)) + if(uri.startsWith("litecoin://", Qt::CaseInsensitive)) { - uri.replace(0, 10, "bitcoin:"); + uri.replace(0, 11, "litecoin:"); } QUrl uriInstance(uri); return parseBitcoinURI(uriInstance, out); @@ -226,7 +226,7 @@ bool parseBitcoinURI(QString uri, SendCoinsRecipient *out) QString formatBitcoinURI(const SendCoinsRecipient &info) { - QString ret = QString("bitcoin:%1").arg(info.address); + QString ret = QString("litecoin:%1").arg(info.address); int paramCount = 0; if (info.amount) diff --git a/src/qt/test/paymentrequestdata.h b/src/qt/test/paymentrequestdata.h index 74a2db8ea..8431b940f 100644 --- a/src/qt/test/paymentrequestdata.h +++ b/src/qt/test/paymentrequestdata.h @@ -435,26 +435,26 @@ d2hj739GDLz0b5KuJ2SG6VknMRQM976w/m2qlq0ccVGaaZ2zMIGfpzL3p6adwx/5\ "; // -// Payment request with amount overflow (amount is set to 21000001 BTC) +// Payment request with amount overflow (amount is set to 84000001 LTC) // const char* paymentrequest5_cert2_BASE64 = "\ -Egt4NTA5K3NoYTI1NhrQBArNBDCCAkkwggExoAMCAQICAQEwDQYJKoZIhvcNAQEL\ -BQAwITEfMB0GA1UEAwwWUGF5bWVudFJlcXVlc3QgVGVzdCBDQTAeFw0xNTAxMTEx\ -ODIxMDhaFw0yNTAxMDgxODIxMDhaMCExHzAdBgNVBAMMFlBheW1lbnRSZXF1ZXN0\ -IFRlc3QgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMsZqzkzeBGo+i2N\ -mUak3Ciodr1V7S062VOy7N0OQYNDQHYkgDFAUET7cEb5VJaHPv5m3ppTBpU9xBcf\ -wbHHUt4VjA+mhRmYrl1khjvZM+X8kEqvWn20BtcM9R6r0yIYec8UERDDHBleL/P8\ -RkxEnVLjYTV9zigCXfMsgYb3EQShAgMBAAGjEDAOMAwGA1UdEwQFMAMBAf8wDQYJ\ -KoZIhvcNAQELBQADggEBABUJpl3QCqsoDSxAsQdV6zKT4VGV76AzoGj7etQsQY+r\ -+S26VfWh/fMobEzuxFChr0USgLJ6FoK78hAtoZvt1lrye9yqFv/ig3WLWsJKWHHb\ -3RT6oR03CIwZXFSUasi08QDVLxafwsU5OMcPLucF3a1lRL1ccYrNgVCCx1+X7Bos\ -tIgDGRQQ4AyoHTcfVd2hEGeUv7k14mOxFsAp6851yosHq9Q2kwmdH+rHEJbjof87\ -yyKLagc4owyXBZYkQmkeHWCNqnuRmO5vUsfVb0UUrkD64o7Th/NjwooA7SCiUXl6\ -dfygT1b7ggpx7GC+sP2DsIM47IAZ55drjqX5u2f+Ba0iTAoEdGVzdBIkCIDC9P+F\ -vt0DEhl2qRQErGqUUwSsaMpDvWIaGnJGNQqi8oisGLzcrKYFKhhUZXN0aW5nIGFt\ -b3VudCBvdmVyZmxvdyEqgAG8S7WEDUC6tCL6q2CTBjop/AitgEy31RL9IqYruytR\ -iEBFUrBDJZU+UEezGwr7/zoECjo5ZY3PmtZcM2sILNjyweJF6XVzGqTxUw6pN6sW\ -XR2T3Gy2LzRvhVA25QgGqpz0/juS2BtmNbsZPkN9gMMwKimgzc+PuCzmEKwPK9cQ\ -YQ==\ +Egt4NTA5K3NoYTI1NhryBArvBDCCAmswggFToAMCAQICAQEwDQYJKoZIhvcNAQEL\ +BQAwITEfMB0GA1UEAwwWUGF5bWVudFJlcXVlc3QgVGVzdCBDQTAeFw0xNjExMTYw\ +MDU1NTFaFw0yNjExMTQwMDU1NTFaMEMxGTAXBgNVBAMMEHRlc3RtZXJjaGFudC5v\ +cmcxJjAkBgNVBAoMHVBheW1lbnQgUmVxdWVzdCBUZXN0IE1lcmNoYW50MIGfMA0G\ +CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQsHxApsShFxVBsS8EKqCSwQFIPV8fTdTb\ +6a+apXmbiXPuqs8Ga5KmOe+AuYs7bolSoFGqe9tjFU+W9VEUMmx8y6EDsOrTZuqC\ +ZH2Sl4nSW358F6McO2aJftCg7NKpW9Hca/qf5IZXJ1TDuyEVLmXtJI3RFhgC/lik\ +Y5u5IjSFbwIDAQABoxAwDjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IB\ +AQCyGrRABBP+ONSFjcoQoCx4nVSlS+YjgR5HR41Mkgy67K7BWexhklz0RLRUtxLF\ +5XOYCfL1ZBB0ZCf22+QBVlhKlzZldMVRaGvlWIwF3u7Q0hnRTetkBfUunY/7bEF+\ +OIuLAW2C0mvxli+ZQUUxTWZnNrSn67ZylCpNCt5ssOK2vZqJIcxE2mNlPWqIa9Gz\ +Uz0lls2Nlx3fYSw9VlWgoesYl8Un9kyhr9/zPRJ3nVlFcrd0GlfaF3wexhZWViK8\ +3tP0AAx3j3wg8jpDSM24R0xX15EGTB9qFLysaYFeG/YkLa2SNaU9sy/RclHeTFpS\ +prYZy5/E0R3Zpfg81R2LkJ+IIkYSJAiAwsvwlvj1DhIZdqkUcqXt94tkwh5sokNv\ +ETxkJlR7FJGIrBj+ia/BBSoYVGVzdGluZyBhbW91bnQgb3ZlcmZsb3chKoABcG6J\ +s7WGhoR2oeePOiH8WF9rNnZYfNR9t26afph2vTTHPMQQoS6o7HeKA9RcPxbdl441\ +4Mt8Ii0Fds+15AUPAfCjQ6YFuYfxO+HuMyhzJh6sFJbpZU7GrBNvqjn5kx52F6nn\ +KuPIpNvaauPm/XqqdoQfqtj+AlQWLZF8pQeTbEU=\ "; diff --git a/src/qt/test/rpcnestedtests.cpp b/src/qt/test/rpcnestedtests.cpp index bd496f149..0d439d07d 100644 --- a/src/qt/test/rpcnestedtests.cpp +++ b/src/qt/test/rpcnestedtests.cpp @@ -42,7 +42,7 @@ void RPCNestedTests::rpcNestedTests() RegisterAllCoreRPCCommands(tableRPC); tableRPC.appendCommand("rpcNestedTest", &vRPCCommands[0]); ClearDatadirCache(); - std::string path = QDir::tempPath().toStdString() + "/" + strprintf("test_bitcoin_qt_%lu_%i", (unsigned long)GetTime(), (int)(GetRand(100000))); + std::string path = QDir::tempPath().toStdString() + "/" + strprintf("test_litecoin_qt_%lu_%i", (unsigned long)GetTime(), (int)(GetRand(100000))); QDir dir(QString::fromStdString(path)); dir.mkpath("."); ForceSetArg("-datadir", path); @@ -90,7 +90,7 @@ void RPCNestedTests::rpcNestedTests() QVERIFY(result == result2); RPCConsole::RPCExecuteCommandLine(result, "getblock(getbestblockhash())[tx][0]", &filtered); - QVERIFY(result == "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"); + QVERIFY(result == "97ddfbbae6be97fd6cdf3e7ca13232a3afff2353e29badfab7f73011edd4ced9"); QVERIFY(filtered == "getblock(getbestblockhash())[tx][0]"); RPCConsole::RPCParseCommandLine(result, "importprivkey", false, &filtered); diff --git a/src/qt/test/uritests.cpp b/src/qt/test/uritests.cpp index 8b53c0d5c..e7b502530 100644 --- a/src/qt/test/uritests.cpp +++ b/src/qt/test/uritests.cpp @@ -13,54 +13,54 @@ void URITests::uriTests() { SendCoinsRecipient rv; QUrl uri; - uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?req-dontexist=")); + uri.setUrl(QString("litecoin:LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2?req-dontexist=")); QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv)); - uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?dontexist=")); + uri.setUrl(QString("litecoin:LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2?dontexist=")); QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); - QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); + QVERIFY(rv.address == QString("LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2")); QVERIFY(rv.label == QString()); QVERIFY(rv.amount == 0); - uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?label=Wikipedia Example Address")); + uri.setUrl(QString("litecoin:LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2?label=Wikipedia Example Address")); QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); - QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); + QVERIFY(rv.address == QString("LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2")); QVERIFY(rv.label == QString("Wikipedia Example Address")); QVERIFY(rv.amount == 0); - uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=0.001")); + uri.setUrl(QString("litecoin:LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2?amount=0.001")); QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); - QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); + QVERIFY(rv.address == QString("LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2")); QVERIFY(rv.label == QString()); QVERIFY(rv.amount == 100000); - uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1.001")); + uri.setUrl(QString("litecoin:LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2?amount=1.001")); QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); - QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); + QVERIFY(rv.address == QString("LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2")); QVERIFY(rv.label == QString()); QVERIFY(rv.amount == 100100000); - uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=100&label=Wikipedia Example")); + uri.setUrl(QString("litecoin:LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2?amount=100&label=Wikipedia Example")); QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); - QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); + QVERIFY(rv.address == QString("LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2")); QVERIFY(rv.amount == 10000000000LL); QVERIFY(rv.label == QString("Wikipedia Example")); - uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?message=Wikipedia Example Address")); + uri.setUrl(QString("litecoin:LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2?message=Wikipedia Example Address")); QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); - QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); + QVERIFY(rv.address == QString("LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2")); QVERIFY(rv.label == QString()); - QVERIFY(GUIUtil::parseBitcoinURI("bitcoin://175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?message=Wikipedia Example Address", &rv)); - QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); + QVERIFY(GUIUtil::parseBitcoinURI("litecoin://LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2?message=Wikipedia Example Address", &rv)); + QVERIFY(rv.address == QString("LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2")); QVERIFY(rv.label == QString()); - uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?req-message=Wikipedia Example Address")); + uri.setUrl(QString("litecoin:LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2?req-message=Wikipedia Example Address")); QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); - uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1,000&label=Wikipedia Example")); + uri.setUrl(QString("litecoin:LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2?amount=1,000&label=Wikipedia Example")); QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv)); - uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1,000.0&label=Wikipedia Example")); + uri.setUrl(QString("litecoin:LEr4HnaeFWYhBmGxCfP2po1NPRueIk8kM2?amount=1,000.0&label=Wikipedia Example")); QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv)); } diff --git a/src/rpc/mining.cpp b/src/rpc/mining.cpp index 33e234a95..c79dd8ae4 100644 --- a/src/rpc/mining.cpp +++ b/src/rpc/mining.cpp @@ -121,7 +121,7 @@ UniValue generateBlocks(boost::shared_ptr coinbaseScript, int nG LOCK(cs_main); IncrementExtraNonce(pblock, chainActive.Tip(), nExtraNonce); } - while (nMaxTries > 0 && pblock->nNonce < nInnerLoopCount && !CheckProofOfWork(pblock->GetHash(), pblock->nBits, Params().GetConsensus())) { + while (nMaxTries > 0 && pblock->nNonce < nInnerLoopCount && !CheckProofOfWork(pblock->GetPoWHash(), pblock->nBits, Params().GetConsensus())) { ++pblock->nNonce; --nMaxTries; } diff --git a/src/test/README.md b/src/test/README.md index 8f99804e1..eeaceb60c 100644 --- a/src/test/README.md +++ b/src/test/README.md @@ -1,61 +1,23 @@ -### Compiling/running unit tests - -Unit tests will be automatically compiled if dependencies were met in `./configure` -and tests weren't explicitly disabled. - -After configuring, they can be run with `make check`. - -To run the bitcoind tests manually, launch `src/test/test_bitcoin`. - -To add more bitcoind tests, add `BOOST_AUTO_TEST_CASE` functions to the existing -.cpp files in the `test/` directory or add new .cpp files that -implement new BOOST_AUTO_TEST_SUITE sections. - -To run the bitcoin-qt tests manually, launch `src/qt/test/test_bitcoin-qt` - -To add more bitcoin-qt tests, add them to the `src/qt/test/` directory and -the `src/qt/test/test_main.cpp` file. - -### Running individual tests - -test_bitcoin has some built-in command-line arguments; for -example, to run just the getarg_tests verbosely: - - test_bitcoin --log_level=all --run_test=getarg_tests - -... or to run just the doubledash test: - - test_bitcoin --run_test=getarg_tests/doubledash - -Run `test_bitcoin --help` for the full list. - -### Note on adding test cases - +# Notes The sources in this directory are unit test cases. Boost includes a unit testing framework, and since bitcoin already uses boost, it makes sense to simply use this framework rather than require developers to configure some other framework (we want as few impediments to creating unit tests as possible). -The build system is setup to compile an executable called `test_bitcoin` +The build system is setup to compile an executable called "test_bitcoin" that runs all of the unit tests. The main source file is called -test_bitcoin.cpp. To add a new unit test file to our test suite you need -to add the file to `src/Makefile.test.include`. The pattern is to create -one test file for each class or source file for which you want to create -unit tests. The file naming convention is `_tests.cpp` -and such files should wrap their tests in a test suite -called `_tests`. For an example of this pattern, -examine `uint256_tests.cpp`. +test_bitcoin.cpp, which simply includes other files that contain the +actual unit tests (outside of a couple required preprocessor +directives). The pattern is to create one test file for each class or +source file for which you want to create unit tests. The file naming +convention is "_tests.cpp" and such files should wrap +their tests in a test suite called "_tests". For an +examples of this pattern, examine uint160_tests.cpp and +uint256_tests.cpp. + +Add the source files to /src/Makefile.test.include to add them to the build. For further reading, I found the following website to be helpful in explaining how the boost unit test framework works: -[http://www.alittlemadness.com/2009/03/31/c-unit-testing-with-boosttest/](http://www.alittlemadness.com/2009/03/31/c-unit-testing-with-boosttest/). - -### bitcoin-util-test.py - -The test directory also contains the bitcoin-util-test.py tool, which tests bitcoin utils (currently just bitcoin-tx). This test gets run automatically during the `make check` build process. It is also possible to run the test manually from the src directory: - -``` -test/bitcoin-util-test.py --srcdir=[current directory] - -``` +[http://www.alittlemadness.com/2009/03/31/c-unit-testing-with-boosttest/](http://www.alittlemadness.com/2009/03/31/c-unit-testing-with-boosttest/). \ No newline at end of file diff --git a/src/test/blockencodings_tests.cpp b/src/test/blockencodings_tests.cpp index 311ac024f..97360d3ee 100644 --- a/src/test/blockencodings_tests.cpp +++ b/src/test/blockencodings_tests.cpp @@ -29,9 +29,9 @@ static CBlock BuildBlockTestCase() { block.vtx.resize(3); block.vtx[0] = MakeTransactionRef(tx); - block.nVersion = 42; + block.nVersion = 1; block.hashPrevBlock = GetRandHash(); - block.nBits = 0x207fffff; + block.nBits = 0x1e0ffff0; tx.vin[0].prevout.hash = GetRandHash(); tx.vin[0].prevout.n = 0; @@ -47,7 +47,7 @@ static CBlock BuildBlockTestCase() { bool mutated; block.hashMerkleRoot = BlockMerkleRoot(block, &mutated); assert(!mutated); - while (!CheckProofOfWork(block.GetHash(), block.nBits, Params().GetConsensus())) ++block.nNonce; + while (!CheckProofOfWork(block.GetPoWHash(), block.nBits, Params().GetConsensus())) ++block.nNonce; return block; } @@ -104,7 +104,7 @@ BOOST_AUTO_TEST_CASE(SimpleRoundTripTest) CBlock block3; BOOST_CHECK(partialBlock.FillBlock(block3, {block.vtx[1]}) == READ_STATUS_OK); - BOOST_CHECK_EQUAL(block.GetHash().ToString(), block3.GetHash().ToString()); + BOOST_CHECK_EQUAL(block.GetPoWHash().ToString(), block3.GetPoWHash().ToString()); BOOST_CHECK_EQUAL(block.hashMerkleRoot.ToString(), BlockMerkleRoot(block3, &mutated).ToString()); BOOST_CHECK(!mutated); } @@ -207,7 +207,7 @@ BOOST_AUTO_TEST_CASE(NonCoinbasePreforwardRTTest) CBlock block3; PartiallyDownloadedBlock partialBlockCopy = partialBlock; BOOST_CHECK(partialBlock.FillBlock(block3, {block.vtx[0]}) == READ_STATUS_OK); - BOOST_CHECK_EQUAL(block.GetHash().ToString(), block3.GetHash().ToString()); + BOOST_CHECK_EQUAL(block.GetPoWHash().ToString(), block3.GetPoWHash().ToString()); BOOST_CHECK_EQUAL(block.hashMerkleRoot.ToString(), BlockMerkleRoot(block3, &mutated).ToString()); BOOST_CHECK(!mutated); @@ -257,7 +257,7 @@ BOOST_AUTO_TEST_CASE(SufficientPreforwardRTTest) CBlock block2; PartiallyDownloadedBlock partialBlockCopy = partialBlock; BOOST_CHECK(partialBlock.FillBlock(block2, {}) == READ_STATUS_OK); - BOOST_CHECK_EQUAL(block.GetHash().ToString(), block2.GetHash().ToString()); + BOOST_CHECK_EQUAL(block.GePoWtHash().ToString(), block2.GetPoWHash().ToString()); bool mutated; BOOST_CHECK_EQUAL(block.hashMerkleRoot.ToString(), BlockMerkleRoot(block2, &mutated).ToString()); BOOST_CHECK(!mutated); @@ -282,14 +282,14 @@ BOOST_AUTO_TEST_CASE(EmptyBlockRoundTripTest) CBlock block; block.vtx.resize(1); block.vtx[0] = MakeTransactionRef(std::move(coinbase)); - block.nVersion = 42; + block.nVersion = 1; block.hashPrevBlock = GetRandHash(); - block.nBits = 0x207fffff; + block.nBits = 0x1e0ffff0; bool mutated; block.hashMerkleRoot = BlockMerkleRoot(block, &mutated); assert(!mutated); - while (!CheckProofOfWork(block.GetHash(), block.nBits, Params().GetConsensus())) ++block.nNonce; + while (!CheckProofOfWork(block.GetPoWHash(), block.nBits, Params().GetConsensus())) ++block.nNonce; // Test simple header round-trip with only coinbase { @@ -308,7 +308,7 @@ BOOST_AUTO_TEST_CASE(EmptyBlockRoundTripTest) CBlock block2; std::vector vtx_missing; BOOST_CHECK(partialBlock.FillBlock(block2, vtx_missing) == READ_STATUS_OK); - BOOST_CHECK_EQUAL(block.GetHash().ToString(), block2.GetHash().ToString()); + BOOST_CHECK_EQUAL(block.GetPoWHash().ToString(), block2.GetPoWHash().ToString()); BOOST_CHECK_EQUAL(block.hashMerkleRoot.ToString(), BlockMerkleRoot(block2, &mutated).ToString()); BOOST_CHECK(!mutated); } diff --git a/src/test/bloom_tests.cpp b/src/test/bloom_tests.cpp index 27bc92d67..02e4dd22d 100644 --- a/src/test/bloom_tests.cpp +++ b/src/test/bloom_tests.cpp @@ -84,7 +84,7 @@ BOOST_AUTO_TEST_CASE(bloom_create_insert_serialize_with_tweak) BOOST_AUTO_TEST_CASE(bloom_create_insert_key) { - std::string strSecret = std::string("5Kg1gnAjaLfKiwhhPpGS3QfRg2m6awQvaj98JCZBZQ5SuS2F15C"); + std::string strSecret = std::string("6vyk9uiGUm8CCKbYue4PpoSbdWKZnjrxMQYJ1PaDGrQ4bLHTxQJ"); CBitcoinSecret vchSecret; BOOST_CHECK(vchSecret.SetString(strSecret)); diff --git a/src/test/data/base58_keys_invalid.json b/src/test/data/base58_keys_invalid.json index a088620f1..e383f3e09 100644 --- a/src/test/data/base58_keys_invalid.json +++ b/src/test/data/base58_keys_invalid.json @@ -6,147 +6,147 @@ "x" ], [ - "37qgekLpCCHrQuSjvX3fs496FWTGsHFHizjJAs6NPcR47aefnnCWECAhHV6E3g4YN7u7Yuwod5Y" + "gZXdHjj9QCnNz5KnSqrXo2w8XghqUaYQmoFxMFaks8ZTLCcu2LtWmWFTNH3HdXQ46yJNha24p3T" ], [ - "dzb7VV1Ui55BARxv7ATxAtCUeJsANKovDGWFVgpTbhq9gvPqP3yv" + "6vFieKyF36RmFmvMaBVC9UJyQUm2b1xmYRhwJY97tv4p5LF68FF" ], [ - "MuNu7ZAEDFiHthiunm7dPjwKqrVNCM3mAz6rP9zFveQu14YA8CxExSJTHcVP9DErn6u84E6Ej7S" + "cQWGj8MhCtKbN26j23EPbuTPXZ5pyPKuYFFTBJLxQvCWQvJEMBEXW" ], [ - "rPpQpYknyNQ5AEHuY6H8ijJJrYc2nDKKk9jjmKEXsWzyAQcFGpDLU2Zvsmoi8JLR7hAwoy3RQWf" + "JBoefAMfPKWWaUYPo5edWZvvt1CCjaTCPcpLbtVPvmajm1RTZnLTxgtCxM9QVEf8if9u7Eg88fV1" ], [ - "4Uc3FmN6NQ6zLBK5QQBXRBUREaaHwCZYsGCueHauuDmJpZKn6jkEskMB2Zi2CNgtb5r6epWEFfUJq" + "TbxPvvXwEtvLwVJGsAzFHqskzVcHVkSYporbcVXfkUSsgFewgEsf" ], [ - "7aQgR5DFQ25vyXmqZAWmnVCjL3PkBcdVkBUpjrjMTcghHx3E8wb" + "2NUDYkhC7duHz13gNFxkwPdL1i2UATDDUAgYzE7Lhg3VkLxpCNkqThs6SR6zMiiNzQer6RZPURqf" ], [ - "17QpPprjeg69fW1DV8DcYYCKvWjYhXvWkov6MJ1iTTvMFj6weAqW7wybZeH57WTNxXVCRH4veVs" + "LgcotVvFQgGHygDWCkkyqVgyctGTe3pH4G" ], [ - "KxuACDviz8Xvpn1xAh9MfopySZNuyajYMZWz16Dv2mHHryznWUp3" + "5mfqm4pggSkz238Tju7k9UhnHpvuSNbYKckmXKV29KBwYFNdCZBMRfbaikVNyjvz3Mj2rHpYtF7wg" ], [ - "7nK3GSmqdXJQtdohvGfJ7KsSmn3TmGqExug49583bDAL91pVSGq5xS9SHoAYL3Wv3ijKTit65th" + "2U4ajn8ASmYcM42hDCGqi7rFCKuzZJ7nNWUgjeRtQdrz4kKVS7t6iG2QEE4xABbuoedzK4ya7u8B" ], [ - "cTivdBmq7bay3RFGEBBuNfMh2P1pDCgRYN2Wbxmgwr4ki3jNUL2va" + "2PGCEn9m7Vx1hcwjZzvm61UBfdm8rynZcNb" ], [ - "gjMV4vjNjyMrna4fsAr8bWxAbwtmMUBXJS3zL4NJt5qjozpbQLmAfK1uA3CquSqsZQMpoD1g2nk" + "2iKcv8HMvVtbHVEmfPPp52AMbjLQqgvbFYt" ], [ - "emXm1naBMoVzPjbk7xpeTVMFy4oDEe25UmoyGgKEB1gGWsK8kRGs" + "uDpgjm6HCQypJFQcVTmqv5qHioEhpsvZb1rsQX4ivTSwEPaZBp" ], [ - "7VThQnNRj1o3Zyvc7XHPRrjDf8j2oivPTeDXnRPYWeYGE4pXeRJDZgf28ppti5hsHWXS2GSobdqyo" + "4MxF1GvQDokfTcUm9BVfkAgnUdd1QaMo7jx7zrbvtg41YWJPecL" ], [ - "1G9u6oCVCPh2o8m3t55ACiYvG1y5BHewUkDSdiQarDcYXXhFHYdzMdYfUAhfxn5vNZBwpgUNpso" + "cQcyPZ6SYhkauD8rywrqVYhoib1qfLN7o8BMjsTFziCrmtppGuAw" ], [ - "31QQ7ZMLkScDiB4VyZjuptr7AEc9j1SjstF7pRoLhHTGkW4Q2y9XELobQmhhWxeRvqcukGd1XCq" + "5ngBnqMF5sDmGqaA42FXWuK1TornGT8irTU2jggc66NN6B9Pw7LH2qgYU7Msr6MLwNLxpnKxai2UV" ], [ - "DHqKSnpxa8ZdQyH8keAhvLTrfkyBMQxqngcQA5N8LQ9KVt25kmGN" + "cRSUJiBwxSUuswwFWRpk2fdBLK6KWHby3mgNyTRTpEMs7XJQ3xkbT" ], [ - "2LUHcJPbwLCy9GLH1qXmfmAwvadWw4bp4PCpDfduLqV17s6iDcy1imUwhQJhAoNoN1XNmweiJP4i" + "2KtV23FPhBCmkPYE43kXfJFm5bvzGaGxEj5" ], [ - "7USRzBXAnmck8fX9HmW7RAb4qt92VFX6soCnts9s74wxm4gguVhtG5of8fZGbNPJA83irHVY6bCos" + "25xmYrwhzccp4mK4x7DWJQ1KYqKcw6ckso4TraMXnRhn1aimYFPWEVFCgcfjxgWH9tBHziipv4isE" ], [ - "1DGezo7BfVebZxAbNT3XGujdeHyNNBF3vnficYoTSp4PfK2QaML9bHzAMxke3wdKdHYWmsMTJVu" + "5mqiJJe7ej7245THhVmyhFuNekhCJkotVpeuQvstRKDdW8wYUdqZFyPRqFPuen7AEaSu69AiEzYJp" ], [ - "2D12DqDZKwCxxkzs1ZATJWvgJGhQ4cFi3WrizQ5zLAyhN5HxuAJ1yMYaJp8GuYsTLLxTAz6otCfb" + "cN6EEuVvKaubeqiqVfDSyGA72UoZ8j8KPPRahQ57jxuyBMdaT19vR" ], [ - "8AFJzuTujXjw1Z6M3fWhQ1ujDW7zsV4ePeVjVo7D1egERqSW9nZ" + "wVwfGNa9BkYKseBzr7Vb458bZqTXMQL94V" ], [ - "163Q17qLbTCue8YY3AvjpUhotuaodLm2uqMhpYirsKjVqnxJRWTEoywMVY3NbBAHuhAJ2cF9GAZ" + "HfLPJ1eL8KGMhmHXSptJnSe4oBmXzMZ1PfvnKWewBdv9vhEiSVmevKjgwHffL9oM24YNAj5zAau" ], [ - "2MnmgiRH4eGLyLc9eAqStzk7dFgBjFtUCtu" + "Yk5B6MRro1YEay6CiX1Qj8qHY1R5o3c4EsXN644EAmjB2JMrgex5" ], [ - "461QQ2sYWxU7H2PV4oBwJGNch8XVTYYbZxU" + "LbW5JEaVWMLuMeiRhUQ3vmPzzzQ8sgXTFme" ], [ - "2UCtv53VttmQYkVU4VMtXB31REvQg4ABzs41AEKZ8UcB7DAfVzdkV9JDErwGwyj5AUHLkmgZeobs" + "FwVS4Xy2KUEypF76i9n5dkKvUM1YjbyRYJ" ], [ - "cSNjAsnhgtiFMi6MtfvgscMB2Cbhn2v1FUYfviJ1CdjfidvmeW6mn" + "T3Xe7hU6cgBveFinLV45SE8WHT1aJ6xEBXkyAqAtj4CqfKPb3ZEG" ], [ - "gmsow2Y6EWAFDFE1CE4Hd3Tpu2BvfmBfG1SXsuRARbnt1WjkZnFh1qGTiptWWbjsq2Q6qvpgJVj" + "M8LH9iCJBTzgSjTE5y8RtSLo3vabSv6RWjLr54pZHqXZCBJtkEbV" ], [ - "nksUKSkzS76v8EsSgozXGMoQFiCoCHzCVajFKAXqzK5on9ZJYVHMD5CKwgmX3S3c7M1U3xabUny" + "JKAsgoe5RRWDFruerwz2TVEifnGLkHkMiWkJzm9Y1KkDpMXW2nssdyXaHfQzPoxqvazpTEmRPe6" ], [ - "L3favK1UzFGgdzYBF2oBT5tbayCo4vtVBLJhg2iYuMeePxWG8SQc" + "7sTp4xUuNRta4baVDHf96n7fqba2NJ1DjAnYXYswEh1xm8hbZJF" ], [ - "7VxLxGGtYT6N99GdEfi6xz56xdQ8nP2dG1CavuXx7Rf2PrvNMTBNevjkfgs9JmkcGm6EXpj8ipyPZ" + "cUSxdRJwpEP8czXTLPSXPNYAB75xyFi7AYwc7azPvGqQLcyEb7jq" ], [ - "2mbZwFXF6cxShaCo2czTRB62WTx9LxhTtpP" + "JKSnxB43ogNNPW9F27d8amwPWimdRLG95EUCiSrFJybfxVFPUjBFZFdeGdjzBygXCi7rinvS6Rz" ], [ - "dB7cwYdcPSgiyAwKWL3JwCVwSk6epU2txw" + "tJgWcJ8FqGWWuX6DGeMxnCKjfhm2osTu6Q" ], [ - "HPhFUhUAh8ZQQisH8QQWafAxtQYju3SFTX" + "2UDnhZGfuHzAKd4HSo99ALrVax5TgKxzALJR1Ct36ibrZqXsnwRBsVvKneDYWxiQjcpnQ3NWK2as" ], [ - "4ctAH6AkHzq5ioiM1m9T3E2hiYEev5mTsB" + "JCK4Kx3L6ZbHkSJwPYJPijK6SNgQDutbtE4XAxgTFgFWmFx1w97XczfKptjZKn3THosoZ2k81mb" ], [ - "Hn1uFi4dNexWrqARpjMqgT6cX1UsNPuV3cHdGg9ExyXw8HTKadbktRDtdeVmY3M1BxJStiL4vjJ" + "AbnXu1Rgaemzvbg1tVgTBjah1owubWPkFZ" ], [ - "Sq3fDbvutABmnAHHExJDgPLQn44KnNC7UsXuT7KZecpaYDMU9Txs" + "928wcz8UaXY3tHmeseuFAfYLNSBjrs8jdxKRGkJGk5Wyx2CvhmkPzTrPKporxAKqLs9bAh29Btb" ], [ - "6TqWyrqdgUEYDQU1aChMuFMMEimHX44qHFzCUgGfqxGgZNMUVWJ" + "Qp7EyuWueg4cazBtJW3uYKwLmL1uR3PkgDVoBsGSMZWu1njcRRJ" ], [ - "giqJo7oWqFxNKWyrgcBxAVHXnjJ1t6cGoEffce5Y1y7u649Noj5wJ4mmiUAKEVVrYAGg2KPB3Y4" + "6R9r5RHQdN6Fgk9K2PHSx1sXKpk8QskdyzXtCSNAfJmehY9DD1Dd" ], [ - "cNzHY5e8vcmM3QVJUcjCyiKMYfeYvyueq5qCMV3kqcySoLyGLYUK" + "271T9hGPSeP9QRTb7g5tRZYT7ADbJhivFb6" ], [ - "37uTe568EYc9WLoHEd9jXEvUiWbq5LFLscNyqvAzLU5vBArUJA6eydkLmnMwJDjkL5kXc2VK7ig" + "2x7WjATScgcSHNpGMGz8TKKS2g2E7Qkg9x3CMuGxxCDCHy1rQr1RFEjdjP6Lw6qksGJLcp7i6U6" ], [ - "EsYbG4tWWWY45G31nox838qNdzksbPySWc" + "2jwUaPdB93pxW5dJpoGjq3RCKyBEqTqfcq3" ], [ - "nbuzhfwMoNzA3PaFnyLcRxE9bTJPDkjZ6Rf6Y6o2ckXZfzZzXBT" + "7VkJFJwgtTaqCXks8JrxuJEkEoDGGUrGQBBUp2SVwb93UWAQ6d3kYK8y3u1CQKZi6f8fZWCoDpr3pP" ], [ - "cQN9PoxZeCWK1x56xnz6QYAsvR11XAce3Ehp3gMUdfSQ53Y2mPzx" + "T4UVQQSBJdRVkNvgNxkmcP9mVtWoBLWqmzZo1T8Z9GDNPYj6rV1s" ], [ - "1Gm3N3rkef6iMbx4voBzaxtXcmmiMTqZPhcuAepRzYUJQW4qRpEnHvMojzof42hjFRf8PE2jPde" + "2UA3wL1KGhNh2UR2HYRPVgJ9Dx32qEGapePi8wp1SZ9UmTCHV5fkudMA2CZ78t7KKDAQWtNB3PFc" ], [ - "2TAq2tuN6x6m233bpT7yqdYQPELdTDJn1eU" + "gcBstMZS9mKRXeGiYQJ5vG2ukiEKRirxskCEqZ6rmFwWuh2kyNxwqsd6pnduEdV7Zvvkgcu9VKt" ], [ - "ntEtnnGhqPii4joABvBtSEJG6BxjT2tUZqE8PcVYgk3RHpgxgHDCQxNbLJf7ardf1dDk2oCQ7Cf" + "5mqKtSZGj3bHtMgmSDbt9Qmp9NnQ8ECnYQ8b54eJKERw5stGCTZ42ECVxeTWU1JTC9o8Tewe4WxEW" ], [ - "Ky1YjoZNgQ196HJV3HpdkecfhRBmRZdMJk89Hi5KGfpfPwS2bUbfd" + "31q9AKvsdwuSP2znBRMLugqALxQ1aSfAqWbT1gyS1tsjFFj2ZZMSGAEE1kyFsC6H6fy7v6yTTtb" ], [ - "2A1q1YsMZowabbvta7kTy2Fd6qN4r5ZCeG3qLpvZBMzCixMUdkN2Y4dHB1wPsZAeVXUGD83MfRED" + "35YhSwzbJMECakq9H1SiGcQmMyckD5A6nDkk2tMMFCbyVjpL7aV" ] ] diff --git a/src/test/data/base58_keys_valid.json b/src/test/data/base58_keys_valid.json index e1e252e22..3e9130978 100644 --- a/src/test/data/base58_keys_valid.json +++ b/src/test/data/base58_keys_valid.json @@ -1,7 +1,7 @@ [ [ - "1AGNa15ZQXAZUgFiqJ2i7Z2DPU2J6hW62i", - "65a16059864a2fdbc7c99a4723a8395bc6f188eb", + "LdwLvykqj2nUH3MWcut6mtjHxVxVFC7st5", + "cd463dbc6f8076c7021f2766b36ea7e19c5c9e2e", { "addrType": "pubkey", "isPrivkey": false, @@ -9,8 +9,8 @@ } ], [ - "3CMNFxN1oHBc4R1EpboAL5yzHGgE611Xou", - "74f209f6ea907e2ea48f74fae05782ae8a665257", + "3QiEMZmknJkHxz9q2VjTCT1tvUicLvBpdZ", + "fc85afab90ad569ed50fe8771d70aff8a7eb788d", { "addrType": "script", "isPrivkey": false, @@ -18,8 +18,8 @@ } ], [ - "mo9ncXisMeAoXwqcV5EWuyncbmCcQN4rVs", - "53c0307d6851aa0ce7825ba883c6bd9ad242b486", + "mmCKZS7toE69QgXNs1JZcjW6LFj8LfUbz6", + "3e4a9a4a79dcad8800b6cfcdf102bf98064b7454", { "addrType": "pubkey", "isPrivkey": false, @@ -27,8 +27,8 @@ } ], [ - "2N2JD6wb56AfK4tfmM6PwdVmoYk2dCKf4Br", - "6349a418fc4578d10a372b54b45c280cc8c4382f", + "2N5X5FB9Cro2qW4Dww1pEKYXMhQt8PK6KHM", + "86a0ddc5ce64594f0b84d96596657e1f5e0af7f6", { "addrType": "script", "isPrivkey": false, @@ -36,8 +36,8 @@ } ], [ - "5Kd3NBUAdUnhyzenEwVLy9pBKxSwXvE9FMPyR4UKZvpe6E3AgLr", - "eddbdc1168f1daeadbd3e44c1e3f8f5a284c2029f78ad26af98583a499de5b19", + "6uyyEQaLajn2bVG4DQ9LkwKqdTLWv5fxzSgBBwFMhZnY6SHamHF", + "716bbb0c59dc95f658b169b09c9ada6b106d79ef637dc0a1361aea83b67f3281", { "isCompressed": false, "isPrivkey": true, @@ -45,8 +45,8 @@ } ], [ - "Kz6UJmQACJmLtaQj5A3JAge4kVTNQ8gbvXuwbmCj7bsaabudb3RD", - "55c9bccb9ed68446d1b75273bbce89d7fe013a8acd1625514420fb2aca1a21c4", + "T92ej9rAJ2HEKBtXKpcQEB88KMjBUW43uVxzwgAAYmm97CbDfuB2", + "b257a0d8b63aac2cbac1f6b57c73ee6313650a000ac895456f633e05e1f276b1", { "isCompressed": true, "isPrivkey": true, @@ -54,8 +54,8 @@ } ], [ - "9213qJab2HNEpMpYNBa7wHGFKKbkDn24jpANDs2huN3yi4J11ko", - "36cb93b9ab1bdabf7fb9f2c04f1b9cc879933530ae7842398eef5a63a56800c2", + "93UCtAocH3kKPwoqEcjNGR1qi9MLkhQio2vMjWCMdEsBNwTKszg", + "f8270343a5cc4936c0f304520700b9a9f443dddeb5b2bfa9ef8414d126e9835b", { "isCompressed": false, "isPrivkey": true, @@ -63,8 +63,8 @@ } ], [ - "cTpB4YiyKiBcPxnefsDpbnDxFDffjqJob8wGCEDXxgQ7zQoMXJdH", - "b9f4892c9e8282028fea1d2667c4dc5213564d41fc5783896a0d843fc15089f3", + "cU3MMfRXJpVuVXKdkqn1x8cqEHz4AfyBmVFj7CvBUdApAZYo6Lj8", + "c0bbf61af02667b9a7c172c2d4bfa64ac9d4553f7ae19fb295c06e77cc799296", { "isCompressed": true, "isPrivkey": true, @@ -72,8 +72,8 @@ } ], [ - "1Ax4gZtb7gAit2TivwejZHYtNNLT18PUXJ", - "6d23156cbbdcc82a5a47eee4c2c7c583c18b6bf4", + "LWZR9ybwmT8vSXP6tmrBX4b6nE9o94AjQG", + "7c57bc50a38d8377ad55260f29f2c8619846ef08", { "addrType": "pubkey", "isPrivkey": false, @@ -81,8 +81,8 @@ } ], [ - "3QjYXhTkvuj8qPaXHTTWb5wjXhdsLAAWVy", - "fcc5460dd6e2487c7d75b1963625da0e8f4c5975", + "32wfwbXojzQN9vYFQGquFTt7sqKnB8Phyz", + "0dbdaf6928107d60299f5069367c4cf07fa9b6e5", { "addrType": "script", "isPrivkey": false, @@ -90,8 +90,8 @@ } ], [ - "n3ZddxzLvAY9o7184TB4c6FJasAybsw4HZ", - "f1d470f9b02370fdec2e6b708b08ac431bf7a5f7", + "mvJg85FLYqN7xAcZeFZRVg7pMbJ53BqKmy", + "a237653c5ae7e18e840d6463d380701ce3ba5035", { "addrType": "pubkey", "isPrivkey": false, @@ -99,8 +99,8 @@ } ], [ - "2NBFNJTktNa7GZusGbDbGKRZTxdK9VVez3n", - "c579342c2c4c9220205e2cdc285617040c924a0a", + "2NCGcqUHf4q4vE2MZD6bnaVzFUSKPM4WCDX", + "d0ade0e231a81794ed1baa081604de53ddd8b083", { "addrType": "script", "isPrivkey": false, @@ -108,8 +108,8 @@ } ], [ - "5K494XZwps2bGyeL71pWid4noiSNA2cfCibrvRWqcHSptoFn7rc", - "a326b95ebae30164217d7a7f57d72ab2b54e3be64928a19da0210b9568d4015e", + "6w3nZ8BsJLuJwe42QpFAwCZC9EFz4e2k1ewhRT9ab2poUv8KSu7", + "fdc80a3b189a9d64a1fb8e5a9905d92922f77e135a235a06046147f10d4f09be", { "isCompressed": false, "isPrivkey": true, @@ -117,8 +117,8 @@ } ], [ - "L1RrrnXkcKut5DEMwtDthjwRcTTwED36thyL1DebVrKuwvohjMNi", - "7d998b45c219a1e38e99e7cbd312ef67f77a455a9b50c730c27f02c6f730dfb4", + "T5EAeSR4zfUGvNiA4iCVPpV8Gz6ZUGAT94bsBqTv3kd81hNQCgzY", + "40eab9b09d0469a7d9f84dae6bc5f98199e0b187fe4e74013cab437f9306ea00", { "isCompressed": true, "isPrivkey": true, @@ -126,8 +126,8 @@ } ], [ - "93DVKyFYwSN6wEo3E2fCrFPUp17FtrtNi2Lf7n4G3garFb16CRj", - "d6bca256b5abc5602ec2e1c121a08b0da2556587430bcf7e1898af2224885203", + "92hDYngM3s5oLTK6Fsq1JKLLSgL5NdarzLm8r9ymzEfQzCB24cJ", + "92001dd4cb225cdc0cf9fe2f824c807ffedd5235c9c0ca014949d0793fc66868", { "isCompressed": false, "isPrivkey": true, @@ -135,8 +135,8 @@ } ], [ - "cTDVKtMGVYWTHCb1AFjmVbEbWjvKpKqKgMaR3QJxToMSQAhmCeTN", - "a81ca4e8f90181ec4b61b6a7eb998af17b2cb04de8a03b504b9e34c4c61db7d9", + "cQFFjska277aBhcbCaEdBSixz1BXEgnLoGYECu9mKJip3GBco8CL", + "4f8210f4e6830d16fa8818d37fa9aed65664a20f3c41bfa5b502cdc8d1173dcb", { "isCompressed": true, "isPrivkey": true, @@ -144,8 +144,8 @@ } ], [ - "1C5bSj1iEGUgSTbziymG7Cn18ENQuT36vv", - "7987ccaa53d02c8873487ef919677cd3db7a6912", + "LWkdEB9SHUfuBiTvZofK2LqYE4RTTtUcqi", + "7e766382cb564021bcbc273e23569dcaed536ac6", { "addrType": "pubkey", "isPrivkey": false, @@ -153,8 +153,8 @@ } ], [ - "3AnNxabYGoTxYiTEZwFEnerUoeFXK2Zoks", - "63bcc565f9e68ee0189dd5cc67f1b0e5f02f45cb", + "32cjrquumLmwSmBrNCbkU5UTUmtgetWqaL", + "0a290d74c272ab52dec1a87ce88e75d29c94fe5a", { "addrType": "script", "isPrivkey": false, @@ -162,8 +162,8 @@ } ], [ - "n3LnJXCqbPjghuVs8ph9CYsAe4Sh4j97wk", - "ef66444b5b17f14e8fae6e7e19b045a78c54fd79", + "mtei3esVvHhww4Rw9FYnMdTUTVvbpWhLfF", + "901111ab28cf850a5b6846e94e8c0c4a505603a9", { "addrType": "pubkey", "isPrivkey": false, @@ -171,8 +171,8 @@ } ], [ - "2NB72XtkjpnATMggui83aEtPawyyKvnbX2o", - "c3e55fceceaa4391ed2a9677f4a4d34eacd021a0", + "2N85CqWKWqfZ5Hc9qGXWmr5JKZzMqZCRDPM", + "a2a4c41bd7150d28aa730140cebf7aa5341e2619", { "addrType": "script", "isPrivkey": false, @@ -180,8 +180,8 @@ } ], [ - "5KaBW9vNtWNhc3ZEDyNCiXLPdVPHCikRxSBWwV9NrpLLa4LsXi9", - "e75d936d56377f432f404aabb406601f892fd49da90eb6ac558a733c93b47252", + "6vfWJ2KcJLjvXXx8aZNsLcQQnxTvXA38ci22BvhprTq5QpRS6k6", + "cb30eec426333b2396d2362d4a380d7f6a4ae50a2701309a53f500fa389c166c", { "isCompressed": false, "isPrivkey": true, @@ -189,8 +189,8 @@ } ], [ - "L1axzbSyynNYA8mCAhzxkipKkfHtAXYF4YQnhSKcLV8YXA874fgT", - "8248bd0375f2f75d7e274ae544fb920f51784480866b102384190b1addfbaa5c", + "T9xQZ1QYhGyYp7wzRQuLdfm1te8BwrnvWsibt6GXuK58Xoq2wryN", + "cdff0814191533898aa1e6291f2c77e1a1945a732f70b8f09aadc637e9241e59", { "isCompressed": true, "isPrivkey": true, @@ -198,8 +198,8 @@ } ], [ - "927CnUkUbasYtDwYwVn2j8GdTuACNnKkjZ1rpZd2yBB1CLcnXpo", - "44c4f6a096eac5238291a94cc24c01e3b19b8d8cef72874a079e00a242237a52", + "93C56vYXBM3XycR9M9pDNY333bTLT8KeqTpRXKSncruKpeuvfZ5", + "d3849230c2d8bd3590708a8ff485deea6a73916a664255f95179282b146854fe", { "isCompressed": false, "isPrivkey": true, @@ -207,8 +207,8 @@ } ], [ - "cUcfCMRjiQf85YMzzQEk9d1s5A4K7xL5SmBCLrezqXFuTVefyhY7", - "d1de707020a9059d6d3abaf85e17967c6555151143db13dbb06db78df0f15c69", + "cV7TW5gn8yJjrVy4mfYLDY1tfYN7o81tjeubEeqWxzyjdcU7Bv9F", + "e0af129330504deb99dd989339b96d77ce3782a852b8e61a4367394505abc3e0", { "isCompressed": true, "isPrivkey": true, @@ -216,8 +216,8 @@ } ], [ - "1Gqk4Tv79P91Cc1STQtU3s1W6277M2CVWu", - "adc1cc2081a27206fae25792f28bbc55b831549d", + "LVcGHJcTv1ctR6GLRXxR4SQSsycdmQ6pwZ", + "71e9734a1283f2368bbd5a397d3c7a22610b2958", { "addrType": "pubkey", "isPrivkey": false, @@ -225,8 +225,8 @@ } ], [ - "33vt8ViH5jsr115AGkW6cEmEz9MpvJSwDk", - "188f91a931947eddd7432d6e614387e32b244709", + "35CcFdsWEiXv4cuHjR8G54FYvrrDtm4WUm", + "268118c8299cd5d8d3b9561caaf8c94d4bd1af44", { "addrType": "script", "isPrivkey": false, @@ -234,8 +234,8 @@ } ], [ - "mhaMcBxNh5cqXm4aTQ6EcVbKtfL6LGyK2H", - "1694f5bc1a7295b600f40018a618a6ea48eeb498", + "myWBvpVEeY86YvJLb5kwH2iWbdXPGjTtZk", + "c54d3aa920e78e56b72c0076d36e99bc87058397", { "addrType": "pubkey", "isPrivkey": false, @@ -243,8 +243,8 @@ } ], [ - "2MxgPqX1iThW3oZVk9KoFcE5M4JpiETssVN", - "3b9b3fd7a50d4f08d1a5b0f62f644fa7115ae2f3", + "2N54Ew2vPqzA9PxG89rB1LM8MVfgePiCKqV", + "818db8c869c5911d286d37088de9020cca43f702", { "addrType": "script", "isPrivkey": false, @@ -252,8 +252,8 @@ } ], [ - "5HtH6GdcwCJA4ggWEL1B3jzBBUB8HPiBi9SBc5h9i4Wk4PSeApR", - "091035445ef105fa1bb125eccfb1882f3fe69592265956ade751fd095033d8d0", + "6uM1BTu9jkS6cMfFTtxzutmcNQYVpTome57XhxES6xKiiN7eM4v", + "1d7bee7a5f4be2bcd945a4bdce28a479bb1afcf4d925d29de0124325bb55277d", { "isCompressed": false, "isPrivkey": true, @@ -261,8 +261,8 @@ } ], [ - "L2xSYmMeVo3Zek3ZTsv9xUrXVAmrWxJ8Ua4cw8pkfbQhcEFhkXT8", - "ab2b4bcdfc91d34dee0ae2a8c6b6668dadaeb3a88b9859743156f462325187af", + "T6gDa2FYoYuCDpeJy8ePrdTVqxxvZ9H5nCqmdVCiRvLBWr1jymE9", + "6c27d6190e8c49919b7c0919d1ca1b033c2b72b03234728d0b092087983f2544", { "isCompressed": true, "isPrivkey": true, @@ -270,8 +270,8 @@ } ], [ - "92xFEve1Z9N8Z641KQQS7ByCSb8kGjsDzw6fAmjHN1LZGKQXyMq", - "b4204389cef18bbe2b353623cbf93e8678fbc92a475b664ae98ed594e6cf0856", + "91epwsbfDsLwAum2kYeibW9v3cyM9ALeHxFoR1wh7g8w58gihCj", + "08e0d6cf0999a1427830e034b5281c8112d707d463da05d993d8b2b66985d91f", { "isCompressed": false, "isPrivkey": true, @@ -279,8 +279,8 @@ } ], [ - "cVM65tdYu1YK37tNoAyGoJTR13VBYFva1vg9FLuPAsJijGvG6NEA", - "e7b230133f1b5489843260236b06edca25f66adb1be455fbd38d4010d48faeef", + "cTNjHC1zu7CifxVJ7g9V16LKVokd7D1XuEvqTtA88uwTsRUFXmWj", + "acdd979c5e6eb9e619dfede5c7112af1057442c8799c1e1d85d7bf59892c923a", { "isCompressed": true, "isPrivkey": true, @@ -288,8 +288,8 @@ } ], [ - "1JwMWBVLtiqtscbaRHai4pqHokhFCbtoB4", - "c4c1b72491ede1eedaca00618407ee0b772cad0d", + "LPD8ZwGjE4WmQ1EEnjZHrvofSyvGtbEWsH", + "2bb8b0991f396d7f411c2227af00cc09d1ae0adf", { "addrType": "pubkey", "isPrivkey": false, @@ -297,8 +297,8 @@ } ], [ - "3QCzvfL4ZRvmJFiWWBVwxfdaNBT8EtxB5y", - "f6fe69bcb548a829cce4c57bf6fff8af3a5981f9", + "35Bjf3NUkU6CNqUFB4HnkaYqN3VPMYwUED", + "2656dc6ac50a5bdeb80348b9097af31e74698f44", { "addrType": "script", "isPrivkey": false, @@ -306,8 +306,8 @@ } ], [ - "mizXiucXRCsEriQCHUkCqef9ph9qtPbZZ6", - "261f83568a098a8638844bd7aeca039d5f2352c0", + "mhv2Ti1xy9CsWoYgnEjehEunbhFiyFwLAp", + "1a4d4bf230aabafd3a425770b8b98700bf06e370", { "addrType": "pubkey", "isPrivkey": false, @@ -315,8 +315,8 @@ } ], [ - "2NEWDzHWwY5ZZp8CQWbB7ouNMLqCia6YRda", - "e930e1834a4d234702773951d627cce82fbb5d2e", + "2MwyQVPME89pGMxuX3fRwEgfXtgN1Y1wB7e", + "33dabd6dfda94c9c1ef1654a3c3b1e0984a7aecf", { "addrType": "script", "isPrivkey": false, @@ -324,8 +324,8 @@ } ], [ - "5KQmDryMNDcisTzRp3zEq9e4awRmJrEVU1j5vFRTKpRNYPqYrMg", - "d1fab7ab7385ad26872237f1eb9789aa25cc986bacc695e07ac571d6cdac8bc0", + "6uqTHcTC88EcZ8RQJDoH7dFfH46E8ZNpThbEKXCiQ12ag2GeHQ7", + "5e15635f0be1e9717529fb2b65b0d430355f0f5db5811b47fc6545efbe082b23", { "isCompressed": false, "isPrivkey": true, @@ -333,8 +333,8 @@ } ], [ - "L39Fy7AC2Hhj95gh3Yb2AU5YHh1mQSAHgpNixvm27poizcJyLtUi", - "b0bbede33ef254e8376aceb1510253fc3550efd0fcf84dcd0c9998b288f166b3", + "T34vLND26MHR4j1L8qsmojWcHtwYcmDdibMrsgo41SRYDDDdJzQe", + "007c379af039e5472c784a1f41ccea5de8b8d6fde03139644f12294a5a4dc20d", { "isCompressed": true, "isPrivkey": true, @@ -342,8 +342,8 @@ } ], [ - "91cTVUcgydqyZLgaANpf1fvL55FH53QMm4BsnCADVNYuWuqdVys", - "037f4192c630f399d9271e26c575269b1d15be553ea1a7217f0cb8513cef41cb", + "932VXf7wK3qQTGzudkeHWME2iweTTdyfyxQV4HqWLZsocbVQMgZ", + "bdc494c6c492168886d7d19fe35c4e67c477f8e19bfe1b50a4b28a7f0910ac02", { "isCompressed": false, "isPrivkey": true, @@ -351,8 +351,8 @@ } ], [ - "cQspfSzsgLeiJGB2u8vrAiWpCU4MxUT6JseWo2SjXy4Qbzn2fwDw", - "6251e205e8ad508bab5596bee086ef16cd4b239e0cc0c5d7c4e6035441e7d5de", + "cUNY2YHa2TZRNMKBjypnZ1kh7LnPzgBhapKQgqh8MXGGVQTqdqQS", + "ca9a6a553f353255f2d91fde1718bd1f86c40c0b16f2aaccf8efefe242f5a7b6", { "isCompressed": true, "isPrivkey": true, @@ -360,8 +360,8 @@ } ], [ - "19dcawoKcZdQz365WpXWMhX6QCUpR9SY4r", - "5eadaf9bb7121f0f192561a5a62f5e5f54210292", + "LPGeGFBPCVLHdGVD1i1oikzD92XZoTEVyh", + "2c62b9d0c13b499167506863248f473416b18850", { "addrType": "pubkey", "isPrivkey": false, @@ -369,8 +369,8 @@ } ], [ - "37Sp6Rv3y4kVd1nQ1JV5pfqXccHNyZm1x3", - "3f210e7277c899c3a155cc1c90f4106cbddeec6e", + "37h7vEB4v3jpqxKvX1qqJ5xZaqzLj7NPyN", + "41d5c23a8188270b32d0afce2e11e4c3028afe6b", { "addrType": "script", "isPrivkey": false, @@ -378,8 +378,8 @@ } ], [ - "myoqcgYiehufrsnnkqdqbp69dddVDMopJu", - "c8a3c2a09a298592c3e180f02487cd91ba3400b5", + "mhvk8vH4LaAgUBUJsU4UtL4KSWLavssToW", + "1a701609b7d938f932d9517f965eb938ec45d067", { "addrType": "pubkey", "isPrivkey": false, @@ -387,8 +387,8 @@ } ], [ - "2N7FuwuUuoTBrDFdrAZ9KxBmtqMLxce9i1C", - "99b31df7c9068d1481b596578ddbb4d3bd90baeb", + "2NBbbBFBoKk85mhvTJH4tc11U1zh4oqp7SG", + "c94c4561b8ec99cddd540dedc67380c6b859ae00", { "addrType": "script", "isPrivkey": false, @@ -396,8 +396,8 @@ } ], [ - "5KL6zEaMtPRXZKo1bbMq7JDjjo1bJuQcsgL33je3oY8uSJCR5b4", - "c7666842503db6dc6ea061f092cfb9c388448629a6fe868d068c42a488b478ae", + "6vQqYTYdTXyHLcAivoZ6N2pginHXkZj9DF8uu9rroj5jT32joQn", + "a9e2a8019c11e6fd215f5c2ae834c7f07207723cac79b4e22744800c97212ac1", { "isCompressed": false, "isPrivkey": true, @@ -405,8 +405,8 @@ } ], [ - "KwV9KAfwbwt51veZWNscRTeZs9CKpojyu1MsPnaKTF5kz69H1UN2", - "07f0803fc5399e773555ab1e8939907e9badacc17ca129e67a2f5f2ff84351dd", + "T7qqfYACj4bdqNMm9ZMMNtbaMXRzePBpL59msQiWw7i5JRuDLFVB", + "8ef16edbbc8996a1be1c8a8d7de566a489a84484912060471158c0d20fcd42ba", { "isCompressed": true, "isPrivkey": true, @@ -414,8 +414,8 @@ } ], [ - "93N87D6uxSBzwXvpokpzg8FFmfQPmvX4xHoWQe3pLdYpbiwT5YV", - "ea577acfb5d1d14d3b7b195c321566f12f87d2b77ea3a53f68df7ebf8604a801", + "91pvMZgXhzBit7xx2NrbgMiuVZJep46gTCdvFkQTijTA76Gzxfc", + "1fcbd613ad91f41e062a66b11299585cff1639775df447360e74fbeea1e336c8", { "isCompressed": false, "isPrivkey": true, @@ -423,8 +423,8 @@ } ], [ - "cMxXusSihaX58wpJ3tNuuUcZEQGt6DKJ1wEpxys88FFaQCYjku9h", - "0b3b34f0958d8a268193a9814da92c3e8b58b4a4378a542863e34ac289cd830c", + "cVWTK7AxBVgndSKS6Xs54XonuEh4NUhaHVtyzrWhHfQ2rLWdVrNy", + "ec83a732c245dc6df111d6412aa1b2ed78072ae3ebaa499660ccb7f013adca8f", { "isCompressed": true, "isPrivkey": true, @@ -432,8 +432,8 @@ } ], [ - "13p1ijLwsnrcuyqcTvJXkq2ASdXqcnEBLE", - "1ed467017f043e91ed4c44b4e8dd674db211c4e6", + "LhLu7S8qdG7YZR1GgSP8g4aqN8nXCRLkzX", + "f2a30c60e4abcbbdcdf7cb34520b742ae07b6018", { "addrType": "pubkey", "isPrivkey": false, @@ -441,8 +441,8 @@ } ], [ - "3ALJH9Y951VCGcVZYAdpA3KchoP9McEj1G", - "5ece0cadddc415b1980f001785947120acdb36fc", + "3B7BZ4asi1qP4jQmo4UjshAp4ZtgmpA7CW", + "674b274f2be5747793d2529972d964f1cfe9f985", { "addrType": "script", "isPrivkey": false, diff --git a/src/test/data/bitcoin-util-test.json b/src/test/data/bitcoin-util-test.json index b61a4f7f8..0358129eb 100644 --- a/src/test/data/bitcoin-util-test.json +++ b/src/test/data/bitcoin-util-test.json @@ -1,82 +1,82 @@ [ - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-create", "nversion=1"], "output_cmp": "blanktxv1.hex", "description": "Creates a blank v1 transaction" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-json","-create", "nversion=1"], "output_cmp": "blanktxv1.json", "description": "Creates a blank v1 transaction (output in json)" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-"], "input": "blanktxv2.hex", "output_cmp": "blanktxv2.hex", - "description": "Creates a blank transaction when nothing is piped into bitcoin-tx" + "description": "Creates a blank transaction when nothing is piped into litecoin-tx" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-json","-create"], "output_cmp": "blanktxv2.json", "description": "Creates a blank transaction (output in json)" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-json","-"], "input": "blanktxv2.hex", "output_cmp": "blanktxv2.json", - "description": "Creates a blank transaction when nothing is piped into bitcoin-tx (output in json)" + "description": "Creates a blank transaction when nothing is piped into litecoin-tx (output in json)" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-", "delin=1"], "input": "tx394b54bb.hex", "output_cmp": "tt-delin1-out.hex", "description": "Deletes a single input from a transaction" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-json", "-", "delin=1"], "input": "tx394b54bb.hex", "output_cmp": "tt-delin1-out.json", "description": "Deletes a single input from a transaction (output in json)" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-", "delin=31"], "input": "tx394b54bb.hex", "return_code": 1, "error_txt": "error: Invalid TX input index '31'", "description": "Attempts to delete an input with a bad index from a transaction. Expected to fail." }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-", "delout=1"], "input": "tx394b54bb.hex", "output_cmp": "tt-delout1-out.hex", "description": "Deletes a single output from a transaction" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-json", "-", "delout=1"], "input": "tx394b54bb.hex", "output_cmp": "tt-delout1-out.json", "description": "Deletes a single output from a transaction (output in json)" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-", "delout=2"], "input": "tx394b54bb.hex", "return_code": 1, "error_txt": "error: Invalid TX output index '2'", "description": "Attempts to delete an output with a bad index from a transaction. Expected to fail." }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-", "locktime=317000"], "input": "tx394b54bb.hex", "output_cmp": "tt-locktime317000-out.hex", "description": "Adds an nlocktime to a transaction" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-json", "-", "locktime=317000"], "input": "tx394b54bb.hex", "output_cmp": "tt-locktime317000-out.json", "description": "Adds an nlocktime to a transaction (output in json)" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-create", "outaddr=1"], @@ -84,7 +84,7 @@ "error_txt": "error: TX output missing or too many separators", "description": "Malformed outaddr argument (no address specified). Expected to fail." }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-create", "outaddr=1:13tuJJDR2RgArmgfv6JScSdreahzgc4T6o:garbage"], @@ -92,7 +92,7 @@ "error_txt": "error: TX output missing or too many separators", "description": "Malformed outaddr argument (too many separators). Expected to fail." }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-create", "outpubkey=0"], @@ -100,7 +100,7 @@ "error_txt": "error: TX output missing or too many separators", "description": "Malformed outpubkey argument (no pubkey specified). Expected to fail." }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:W:non53nse"], @@ -108,283 +108,283 @@ "error_txt": "error: TX output missing or too many separators", "description": "Malformed outpubkey argument (too many separators). Expected to fail." }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-create", - "in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0", - "in=bf829c6bcf84579331337659d31f89dfd138f7f7785802d5501c92333145ca7c:18", - "in=22a6f904655d53ae2ff70e701a0bbd90aa3975c0f40bfc6cc996a9049e31cdfc:1", - "outaddr=0.18:13tuJJDR2RgArmgfv6JScSdreahzgc4T6o", - "outaddr=4:1P8yWvZW8jVihP1bzHeqfE4aoXNX8AVa46"], + "in=5ee62e3f7757f5fd995b2fa1bdb5b744298146098d5de92959ec4b52dc77191e:1", + "in=3cd215c1c6b7ae33bc6266f268fd212b83860e13902b454502ce6d54448e398a:25", + "in=0f941395005b80a61726baecebb11d7caa184a1a58246daff7dffca793ab07b8:12", + "outaddr=12.52000000:LT7W6xCWK9tZVyyg3iifzHp8vUgMKke4sY", + "outaddr=0.01000487:LMnn592npBwmeLtTfKc9RoZUqAe2rDgvKX"], "output_cmp": "txcreate1.hex", "description": "Creates a new transaction with three inputs and two outputs" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-json", "-create", - "in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0", - "in=bf829c6bcf84579331337659d31f89dfd138f7f7785802d5501c92333145ca7c:18", - "in=22a6f904655d53ae2ff70e701a0bbd90aa3975c0f40bfc6cc996a9049e31cdfc:1", - "outaddr=0.18:13tuJJDR2RgArmgfv6JScSdreahzgc4T6o", - "outaddr=4:1P8yWvZW8jVihP1bzHeqfE4aoXNX8AVa46"], + "in=5ee62e3f7757f5fd995b2fa1bdb5b744298146098d5de92959ec4b52dc77191e:1", + "in=3cd215c1c6b7ae33bc6266f268fd212b83860e13902b454502ce6d54448e398a:25", + "in=0f941395005b80a61726baecebb11d7caa184a1a58246daff7dffca793ab07b8:12", + "outaddr=12.52000000:LMgENNXzzuPxp7vfMjDrCU44bsmrEMgqvc", + "outaddr=0.01000487:LV1ByjbJNFTHyFQqwqwdJXKJznYDzXzg4B"], "output_cmp": "txcreate1.json", "description": "Creates a new transaction with three inputs and two outputs (output in json)" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-create", "outscript=0:"], "output_cmp": "txcreate2.hex", "description": "Creates a new transaction with a single empty output script" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-json", "-create", "outscript=0:"], "output_cmp": "txcreate2.json", "description": "Creates a new transaction with a single empty output script (output in json)" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["02000000000100000000000000000000000000"], "output_cmp": "txcreate2.hex", "description": "Parses a transation with no inputs and a single output script" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-json", "02000000000100000000000000000000000000"], "output_cmp": "txcreate2.json", "description": "Parses a transation with no inputs and a single output script (output in json)" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-create", "outscript=0:OP_DROP", "nversion=1"], "output_cmp": "txcreatescript1.hex", "description": "Create a new transaction with a single output script (OP_DROP)" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-json", "-create", "outscript=0:OP_DROP", "nversion=1"], "output_cmp": "txcreatescript1.json", "description": "Create a new transaction with a single output script (OP_DROP) (output as json)" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-create", "outscript=0:OP_DROP:S", "nversion=1"], "output_cmp": "txcreatescript2.hex", "description": "Create a new transaction with a single output script (OP_DROP) in a P2SH" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-json", "-create", "outscript=0:OP_DROP:S", "nversion=1"], "output_cmp": "txcreatescript2.json", "description": "Create a new transaction with a single output script (OP_DROP) in a P2SH (output as json)" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-create", "outscript=0:OP_DROP:W", "nversion=1"], "output_cmp": "txcreatescript3.hex", "description": "Create a new transaction with a single output script (OP_DROP) in a P2WSH" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-json", "-create", "outscript=0:OP_DROP:W", "nversion=1"], "output_cmp": "txcreatescript3.json", "description": "Create a new transaction with a single output script (OP_DROP) in a P2WSH (output as json)" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-create", "outscript=0:OP_DROP:WS", "nversion=1"], "output_cmp": "txcreatescript4.hex", "description": "Create a new transaction with a single output script (OP_DROP) in a P2WSH, wrapped in a P2SH" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-json", "-create", "outscript=0:OP_DROP:WS", "nversion=1"], "output_cmp": "txcreatescript4.json", "description": "Create a new transaction with a single output script (OP_DROP) in a P2SH, wrapped in a P2SH (output as json)" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-create", "nversion=1", - "in=4d49a71ec9da436f71ec4ee231d04f292a29cd316f598bb7068feccabdc59485:0", - "set=privatekeys:[\"5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf\"]", - "set=prevtxs:[{\"txid\":\"4d49a71ec9da436f71ec4ee231d04f292a29cd316f598bb7068feccabdc59485\",\"vout\":0,\"scriptPubKey\":\"76a91491b24bf9f5288532960ac687abb035127b1d28a588ac\"}]", + "in=6c2789243608b46f750f49ff24f6f79a78c3010f7e56951e045e5b7ea5d07bf7:0", + "set=privatekeys:[\"T3Eyvg7Me8fuajt2RJvQaRokRabBweiyBWVJiQG8P1bwDUEXPhqv\"]", + "set=prevtxs:[{\"txid\":\"6c2789243608b46f750f49ff24f6f79a78c3010f7e56951e045e5b7ea5d07bf7\",\"vout\":0,\"scriptPubKey\":\"6c2789243608b46f750f49ff24f6f79a78c3010f7e56951e045e5b7ea5d07bf7\"}]", "sign=ALL", - "outaddr=0.001:193P6LtvS4nCnkDvM9uXn1gsSRqh4aDAz7"], + "outaddr=0.001:LXC44cQhuRufFtaDhDYv4q8nxQJBkUAsXp"], "output_cmp": "txcreatesignv1.hex", "description": "Creates a new v1 transaction with a single input and a single output, and then signs the transaction" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-json", "-create", "nversion=1", - "in=4d49a71ec9da436f71ec4ee231d04f292a29cd316f598bb7068feccabdc59485:0", - "set=privatekeys:[\"5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf\"]", - "set=prevtxs:[{\"txid\":\"4d49a71ec9da436f71ec4ee231d04f292a29cd316f598bb7068feccabdc59485\",\"vout\":0,\"scriptPubKey\":\"76a91491b24bf9f5288532960ac687abb035127b1d28a588ac\"}]", + "in=6c2789243608b46f750f49ff24f6f79a78c3010f7e56951e045e5b7ea5d07bf7:0", + "set=privatekeys:[\"T3Eyvg7Me8fuajt2RJvQaRokRabBweiyBWVJiQG8P1bwDUEXPhqv\"]", + "set=prevtxs:[{\"txid\":\"6c2789243608b46f750f49ff24f6f79a78c3010f7e56951e045e5b7ea5d07bf7\",\"vout\":0,\"scriptPubKey\":\"6c2789243608b46f750f49ff24f6f79a78c3010f7e56951e045e5b7ea5d07bf7\"}]", "sign=ALL", - "outaddr=0.001:193P6LtvS4nCnkDvM9uXn1gsSRqh4aDAz7"], + "outaddr=0.001:LXC44cQhuRufFtaDhDYv4q8nxQJBkUAsXp"], "output_cmp": "txcreatesignv1.json", "description": "Creates a new v1 transaction with a single input and a single output, and then signs the transaction (output in json)" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-create", - "in=4d49a71ec9da436f71ec4ee231d04f292a29cd316f598bb7068feccabdc59485:0", - "set=privatekeys:[\"5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf\"]", - "set=prevtxs:[{\"txid\":\"4d49a71ec9da436f71ec4ee231d04f292a29cd316f598bb7068feccabdc59485\",\"vout\":0,\"scriptPubKey\":\"76a91491b24bf9f5288532960ac687abb035127b1d28a588ac\"}]", + "in=6c2789243608b46f750f49ff24f6f79a78c3010f7e56951e045e5b7ea5d07bf7:0", + "set=privatekeys:[\"T3Eyvg7Me8fuajt2RJvQaRokRabBweiyBWVJiQG8P1bwDUEXPhqv\"]", + "set=prevtxs:[{\"txid\":\"6c2789243608b46f750f49ff24f6f79a78c3010f7e56951e045e5b7ea5d07bf7\",\"vout\":0,\"scriptPubKey\":\"6c2789243608b46f750f49ff24f6f79a78c3010f7e56951e045e5b7ea5d07bf7\"}]", "sign=ALL", - "outaddr=0.001:193P6LtvS4nCnkDvM9uXn1gsSRqh4aDAz7"], + "outaddr=0.001:LXC44cQhuRufFtaDhDYv4q8nxQJBkUAsXp"], "output_cmp": "txcreatesignv2.hex", "description": "Creates a new transaction with a single input and a single output, and then signs the transaction" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397", "nversion=1"], "output_cmp": "txcreateoutpubkey1.hex", "description": "Creates a new transaction with a single pay-to-pubkey output" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-json", "-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397", "nversion=1"], "output_cmp": "txcreateoutpubkey1.json", "description": "Creates a new transaction with a single pay-to-pubkey output (output as json)" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:W", "nversion=1"], "output_cmp": "txcreateoutpubkey2.hex", "description": "Creates a new transaction with a single pay-to-witness-pubkey output" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-json", "-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:W", "nversion=1"], "output_cmp": "txcreateoutpubkey2.json", "description": "Creates a new transaction with a single pay-to-witness-pubkey output (output as json)" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:WS", "nversion=1"], "output_cmp": "txcreateoutpubkey3.hex", "description": "Creates a new transaction with a single pay-to-witness-pubkey, wrapped in P2SH output" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-json", "-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:WS", "nversion=1"], "output_cmp": "txcreateoutpubkey3.json", "description": "Creates a new transaction with a single pay-to-pub-key output, wrapped in P2SH (output as json)" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-create", - "in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0", + "in=69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef:0", "outdata=4:badhexdata"], "return_code": 1, "error_txt": "error: invalid TX output data", "description": "Attempts to create a new transaction with one input and an output with malformed hex data. Expected to fail" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-create", - "in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0", + "in=69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef:0", "outdata=badhexdata"], "return_code": 1, "error_txt": "error: invalid TX output data", "description": "Attempts to create a new transaction with one input and an output with no value and malformed hex data. Expected to fail" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-create", - "in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0", - "outaddr=0.18:13tuJJDR2RgArmgfv6JScSdreahzgc4T6o", + "in=69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef:0", + "outaddr=0.002:LiTVReQ6N8rWc2pNg2XMwCWq7A9P15teWg", "outdata=4:54686973204f505f52455455524e207472616e73616374696f6e206f7574707574207761732063726561746564206279206d6f646966696564206372656174657261777472616e73616374696f6e2e"], "output_cmp": "txcreatedata1.hex", "description": "Creates a new transaction with one input, one address output and one data output" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-json", "-create", "nversion=1", - "in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0", - "outaddr=0.18:13tuJJDR2RgArmgfv6JScSdreahzgc4T6o", + "in=69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef:0", + "outaddr=0.002:LiTVReQ6N8rWc2pNg2XMwCWq7A9P15teWg", "outdata=4:54686973204f505f52455455524e207472616e73616374696f6e206f7574707574207761732063726561746564206279206d6f646966696564206372656174657261777472616e73616374696f6e2e"], "output_cmp": "txcreatedata1.json", "description": "Creates a new v1 transaction with one input, one address output and one data output (output in json)" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-create", - "in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0", - "outaddr=0.18:13tuJJDR2RgArmgfv6JScSdreahzgc4T6o", + "in=69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef:0", + "outaddr=0.002:LiTVReQ6N8rWc2pNg2XMwCWq7A9P15teWg", "outdata=54686973204f505f52455455524e207472616e73616374696f6e206f7574707574207761732063726561746564206279206d6f646966696564206372656174657261777472616e73616374696f6e2e"], "output_cmp": "txcreatedata2.hex", "description": "Creates a new transaction with one input, one address output and one data (zero value) output" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-json", "-create", - "in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0", - "outaddr=0.18:13tuJJDR2RgArmgfv6JScSdreahzgc4T6o", + "in=69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef:0", + "outaddr=0.002:LiTVReQ6N8rWc2pNg2XMwCWq7A9P15teWg", "outdata=54686973204f505f52455455524e207472616e73616374696f6e206f7574707574207761732063726561746564206279206d6f646966696564206372656174657261777472616e73616374696f6e2e"], "output_cmp": "txcreatedata2.json", "description": "Creates a new transaction with one input, one address output and one data (zero value) output (output in json)" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-create", - "in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0:4294967293", - "outaddr=0.18:13tuJJDR2RgArmgfv6JScSdreahzgc4T6o"], + "in=69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef:0:4294967293", + "outaddr=0.002:LiTVReQ6N8rWc2pNg2XMwCWq7A9P15teWg"], "output_cmp": "txcreatedata_seq0.hex", "description": "Creates a new transaction with one input with sequence number and one address output" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-json", "-create", - "in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0:4294967293", - "outaddr=0.18:13tuJJDR2RgArmgfv6JScSdreahzgc4T6o"], + "in=69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef:0:4294967293", + "outaddr=0.002:LhzRRruapBx5gEtAf9RuVEePrzcG1wxRYa"], "output_cmp": "txcreatedata_seq0.json", "description": "Creates a new transaction with one input with sequence number and one address output (output in json)" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["01000000011f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000fdffffff0180a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac00000000", - "in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0:1"], + "in=69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef:0:1"], "output_cmp": "txcreatedata_seq1.hex", "description": "Adds a new input with sequence number to a transaction" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-json", "01000000011f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000fdffffff0180a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac00000000", - "in=5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f:0:1"], + "in=69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef:0:1"], "output_cmp": "txcreatedata_seq1.json", "description": "Adds a new input with sequence number to a transaction (output in json)" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485", "nversion=1"], "output_cmp": "txcreatemultisig1.hex", "description": "Creates a new transaction with a single 2-of-3 multisig output" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-json", "-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485", "nversion=1"], "output_cmp": "txcreatemultisig1.json", "description": "Creates a new transaction with a single 2-of-3 multisig output (output in json)" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485:S", "nversion=1"], "output_cmp": "txcreatemultisig2.hex", "description": "Creates a new transaction with a single 2-of-3 multisig in a P2SH output" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-json", "-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485:S", "nversion=1"], "output_cmp": "txcreatemultisig2.json", "description": "Creates a new transaction with a single 2-of-3 multisig in a P2SH output (output in json)" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485:W", "nversion=1"], "output_cmp": "txcreatemultisig3.hex", "description": "Creates a new transaction with a single 2-of-3 multisig in a P2WSH output" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-json", "-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485:W", "nversion=1"], "output_cmp": "txcreatemultisig3.json", "description": "Creates a new transaction with a single 2-of-3 multisig in a P2WSH output (output in json)" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485:WS", "nversion=1"], "output_cmp": "txcreatemultisig4.hex", "description": "Creates a new transaction with a single 2-of-3 multisig in a P2WSH output, wrapped in P2SH" }, - { "exec": "./bitcoin-tx", + { "exec": "./litecoin-tx", "args": ["-json", "-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:02df2089105c77f266fa11a9d33f05c735234075f2e8780824c6b709415f9fb485:WS", "nversion=1"], "output_cmp": "txcreatemultisig4.json", "description": "Creates a new transaction with a single 2-of-3 multisig in a P2WSH output, wrapped in P2SH (output in json)" diff --git a/src/test/data/tt-delin1-out.json b/src/test/data/tt-delin1-out.json index 712a2c27f..a104a37a2 100644 --- a/src/test/data/tt-delin1-out.json +++ b/src/test/data/tt-delin1-out.json @@ -195,7 +195,7 @@ "reqSigs": 1, "type": "pubkeyhash", "addresses": [ - "1E7SGgAZFCHDnVZLuRViX3gUmxpMfdvd2o" + "LYLPXtUPKrXH3JFW5ZV1o4kEzBBdkaYVpD" ] } }, @@ -208,7 +208,7 @@ "reqSigs": 1, "type": "pubkeyhash", "addresses": [ - "1AtWkdmfmYkErU16d3KYykJUbEp9MAj9Sb" + "LV7U1r5VrCzJ7GhFoBJrFmNEoTBRUqZvNB" ] } } diff --git a/src/test/data/tt-delout1-out.json b/src/test/data/tt-delout1-out.json index afc4e9576..ef2444575 100644 --- a/src/test/data/tt-delout1-out.json +++ b/src/test/data/tt-delout1-out.json @@ -204,7 +204,7 @@ "reqSigs": 1, "type": "pubkeyhash", "addresses": [ - "1E7SGgAZFCHDnVZLuRViX3gUmxpMfdvd2o" + "LYLPXtUPKrXH3JFW5ZV1o4kEzBBdkaYVpD" ] } } diff --git a/src/test/data/tt-locktime317000-out.json b/src/test/data/tt-locktime317000-out.json index 2b9075f8a..3c13e900f 100644 --- a/src/test/data/tt-locktime317000-out.json +++ b/src/test/data/tt-locktime317000-out.json @@ -204,7 +204,7 @@ "reqSigs": 1, "type": "pubkeyhash", "addresses": [ - "1E7SGgAZFCHDnVZLuRViX3gUmxpMfdvd2o" + "LYLPXtUPKrXH3JFW5ZV1o4kEzBBdkaYVpD" ] } }, @@ -217,7 +217,7 @@ "reqSigs": 1, "type": "pubkeyhash", "addresses": [ - "1AtWkdmfmYkErU16d3KYykJUbEp9MAj9Sb" + "LV7U1r5VrCzJ7GhFoBJrFmNEoTBRUqZvNB" ] } } diff --git a/src/test/data/txcreate1.hex b/src/test/data/txcreate1.hex index 9ec6ee353..5a5ba5764 100644 --- a/src/test/data/txcreate1.hex +++ b/src/test/data/txcreate1.hex @@ -1 +1 @@ -02000000031f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000ffffffff7cca453133921c50d5025878f7f738d1df891fd359763331935784cf6b9c82bf1200000000fffffffffccd319e04a996c96cfc0bf4c07539aa90bd0b1a700ef72fae535d6504f9a6220100000000ffffffff0280a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac0084d717000000001976a914f2d4db28cad6502226ee484ae24505c2885cb12d88ac00000000 +02000000031e1977dc524bec5929e95d8d0946812944b7b5bda12f5b99fdf557773f2ee65e0100000000ffffffff8a398e44546dce0245452b90130e86832b21fd68f26662bc33aeb7c6c115d23c1900000000ffffffffb807ab93a7fcdff7af6d24581a4a18aa7c1db1ebecba2617a6805b009513940f0c00000000ffffffff020001a04a000000001976a9145688ac6b45bcc02f738e2970d2381d068d68eea788ac27440f00000000001976a9141c2578aa5e5c10ba3b6c3b71a78bff48077d8ba188ac00000000 diff --git a/src/test/data/txcreate1.json b/src/test/data/txcreate1.json index f83e036f3..8f8916d0c 100644 --- a/src/test/data/txcreate1.json +++ b/src/test/data/txcreate1.json @@ -1,12 +1,12 @@ { - "txid": "fe7d174f42dce0cffa7a527e9bc8368956057619ec817648f6138b98f2533e8f", - "hash": "fe7d174f42dce0cffa7a527e9bc8368956057619ec817648f6138b98f2533e8f", + "txid": "1c50c1770374d7de2f81a87463a5225bb620d25fd467536223a5b715a47c9e32", + "hash": "1c50c1770374d7de2f81a87463a5225bb620d25fd467536223a5b715a47c9e32", "version": 2, "locktime": 0, "vin": [ { - "txid": "5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f", - "vout": 0, + "txid": "5ee62e3f7757f5fd995b2fa1bdb5b744298146098d5de92959ec4b52dc77191e", + "vout": 1, "scriptSig": { "asm": "", "hex": "" @@ -14,8 +14,8 @@ "sequence": 4294967295 }, { - "txid": "bf829c6bcf84579331337659d31f89dfd138f7f7785802d5501c92333145ca7c", - "vout": 18, + "txid": "3cd215c1c6b7ae33bc6266f268fd212b83860e13902b454502ce6d54448e398a", + "vout": 25, "scriptSig": { "asm": "", "hex": "" @@ -23,8 +23,8 @@ "sequence": 4294967295 }, { - "txid": "22a6f904655d53ae2ff70e701a0bbd90aa3975c0f40bfc6cc996a9049e31cdfc", - "vout": 1, + "txid": "0f941395005b80a61726baecebb11d7caa184a1a58246daff7dffca793ab07b8", + "vout": 12, "scriptSig": { "asm": "", "hex": "" @@ -34,31 +34,31 @@ ], "vout": [ { - "value": 0.18, + "value": 12.52, "n": 0, "scriptPubKey": { - "asm": "OP_DUP OP_HASH160 1fc11f39be1729bf973a7ab6a615ca4729d64574 OP_EQUALVERIFY OP_CHECKSIG", - "hex": "76a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac", + "asm": "OP_DUP OP_HASH160 1ae882e788091732da6910595314447c9e38bd8d OP_EQUALVERIFY OP_CHECKSIG", + "hex": "76a9141ae882e788091732da6910595314447c9e38bd8d88ac", "reqSigs": 1, "type": "pubkeyhash", "addresses": [ - "13tuJJDR2RgArmgfv6JScSdreahzgc4T6o" + "LMgENNXzzuPxp7vfMjDrCU44bsmrEMgqvc" ] } }, { - "value": 4.00, + "value": 0.01000487, "n": 1, "scriptPubKey": { - "asm": "OP_DUP OP_HASH160 f2d4db28cad6502226ee484ae24505c2885cb12d OP_EQUALVERIFY OP_CHECKSIG", - "hex": "76a914f2d4db28cad6502226ee484ae24505c2885cb12d88ac", + "asm": "OP_DUP OP_HASH160 6b474cbf0f6004329b630bdd4798f2c23d1751b6 OP_EQUALVERIFY OP_CHECKSIG", + "hex": "76a9146b474cbf0f6004329b630bdd4798f2c23d1751b688ac", "reqSigs": 1, "type": "pubkeyhash", "addresses": [ - "1P8yWvZW8jVihP1bzHeqfE4aoXNX8AVa46" + "LV1ByjbJNFTHyFQqwqwdJXKJznYDzXzg4B" ] } } ], - "hex": "02000000031f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000ffffffff7cca453133921c50d5025878f7f738d1df891fd359763331935784cf6b9c82bf1200000000fffffffffccd319e04a996c96cfc0bf4c07539aa90bd0b1a700ef72fae535d6504f9a6220100000000ffffffff0280a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac0084d717000000001976a914f2d4db28cad6502226ee484ae24505c2885cb12d88ac00000000" + "hex": "02000000031e1977dc524bec5929e95d8d0946812944b7b5bda12f5b99fdf557773f2ee65e0100000000ffffffff8a398e44546dce0245452b90130e86832b21fd68f26662bc33aeb7c6c115d23c1900000000ffffffffb807ab93a7fcdff7af6d24581a4a18aa7c1db1ebecba2617a6805b009513940f0c00000000ffffffff020001a04a000000001976a9141ae882e788091732da6910595314447c9e38bd8d88ac27440f00000000001976a9146b474cbf0f6004329b630bdd4798f2c23d1751b688ac00000000" } diff --git a/src/test/data/txcreatedata1.hex b/src/test/data/txcreatedata1.hex index cefd1a05a..68849ffcf 100644 --- a/src/test/data/txcreatedata1.hex +++ b/src/test/data/txcreatedata1.hex @@ -1 +1 @@ -02000000011f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000ffffffff0280a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac0084d71700000000526a4c4f54686973204f505f52455455524e207472616e73616374696f6e206f7574707574207761732063726561746564206279206d6f646966696564206372656174657261777472616e73616374696f6e2e00000000 +0200000001efc59c584fb0be1066baf08b93f8baf0d9b9beaafcdd318a59cda6302dc1e9690000000000ffffffff02400d0300000000001976a914feda50542e61108cf53b93dbffa0959f91ccb32588ac0084d71700000000526a4c4f54686973204f505f52455455524e207472616e73616374696f6e206f7574707574207761732063726561746564206279206d6f646966696564206372656174657261777472616e73616374696f6e2e00000000 diff --git a/src/test/data/txcreatedata1.json b/src/test/data/txcreatedata1.json index 760518d30..d352f412a 100644 --- a/src/test/data/txcreatedata1.json +++ b/src/test/data/txcreatedata1.json @@ -1,11 +1,11 @@ { - "txid": "07894b4d12fe7853dd911402db1620920d261b9627c447f931417d330c25f06e", - "hash": "07894b4d12fe7853dd911402db1620920d261b9627c447f931417d330c25f06e", + "txid": "111faf6fcbb3c31500966d87044cb34d47e698cae2ba85640c673fd1ad3d68b9", + "hash": "111faf6fcbb3c31500966d87044cb34d47e698cae2ba85640c673fd1ad3d68b9", "version": 1, "locktime": 0, "vin": [ { - "txid": "5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f", + "txid": "69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef", "vout": 0, "scriptSig": { "asm": "", @@ -16,15 +16,15 @@ ], "vout": [ { - "value": 0.18, + "value": 0.002, "n": 0, "scriptPubKey": { - "asm": "OP_DUP OP_HASH160 1fc11f39be1729bf973a7ab6a615ca4729d64574 OP_EQUALVERIFY OP_CHECKSIG", - "hex": "76a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac", + "asm": "OP_DUP OP_HASH160 feda50542e61108cf53b93dbffa0959f91ccb325 OP_EQUALVERIFY OP_CHECKSIG", + "hex": "76a914feda50542e61108cf53b93dbffa0959f91ccb32588ac", "reqSigs": 1, "type": "pubkeyhash", "addresses": [ - "13tuJJDR2RgArmgfv6JScSdreahzgc4T6o" + "LiTVReQ6N8rWc2pNg2XMwCWq7A9P15teWg" ] } }, @@ -38,5 +38,5 @@ } } ], - "hex": "01000000011f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000ffffffff0280a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac0084d71700000000526a4c4f54686973204f505f52455455524e207472616e73616374696f6e206f7574707574207761732063726561746564206279206d6f646966696564206372656174657261777472616e73616374696f6e2e00000000" + "hex": "0100000001efc59c584fb0be1066baf08b93f8baf0d9b9beaafcdd318a59cda6302dc1e9690000000000ffffffff02400d0300000000001976a914feda50542e61108cf53b93dbffa0959f91ccb32588ac0084d71700000000526a4c4f54686973204f505f52455455524e207472616e73616374696f6e206f7574707574207761732063726561746564206279206d6f646966696564206372656174657261777472616e73616374696f6e2e00000000" } diff --git a/src/test/data/txcreatedata2.hex b/src/test/data/txcreatedata2.hex index d69cf58ba..63db0a9c6 100644 --- a/src/test/data/txcreatedata2.hex +++ b/src/test/data/txcreatedata2.hex @@ -1 +1 @@ -02000000011f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000ffffffff0280a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac0000000000000000526a4c4f54686973204f505f52455455524e207472616e73616374696f6e206f7574707574207761732063726561746564206279206d6f646966696564206372656174657261777472616e73616374696f6e2e00000000 +0200000001efc59c584fb0be1066baf08b93f8baf0d9b9beaafcdd318a59cda6302dc1e9690000000000ffffffff02400d0300000000001976a914feda50542e61108cf53b93dbffa0959f91ccb32588ac0000000000000000526a4c4f54686973204f505f52455455524e207472616e73616374696f6e206f7574707574207761732063726561746564206279206d6f646966696564206372656174657261777472616e73616374696f6e2e00000000 diff --git a/src/test/data/txcreatedata2.json b/src/test/data/txcreatedata2.json index 3c6da40f9..2559e20bd 100644 --- a/src/test/data/txcreatedata2.json +++ b/src/test/data/txcreatedata2.json @@ -1,11 +1,11 @@ { - "txid": "c14b007fa3a6c1e7765919c1d14c1cfc2b8642c3a5d3be4b1fa8c4ccfec98bb0", - "hash": "c14b007fa3a6c1e7765919c1d14c1cfc2b8642c3a5d3be4b1fa8c4ccfec98bb0", + "txid": "17e220f41ed113fbca2b5ae97382018b54819990cb84d2004fe9099e64d2aa77", + "hash": "17e220f41ed113fbca2b5ae97382018b54819990cb84d2004fe9099e64d2aa77", "version": 2, "locktime": 0, "vin": [ { - "txid": "5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f", + "txid": "69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef", "vout": 0, "scriptSig": { "asm": "", @@ -16,15 +16,15 @@ ], "vout": [ { - "value": 0.18, + "value": 0.002, "n": 0, "scriptPubKey": { - "asm": "OP_DUP OP_HASH160 1fc11f39be1729bf973a7ab6a615ca4729d64574 OP_EQUALVERIFY OP_CHECKSIG", - "hex": "76a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac", + "asm": "OP_DUP OP_HASH160 feda50542e61108cf53b93dbffa0959f91ccb325 OP_EQUALVERIFY OP_CHECKSIG", + "hex": "76a914feda50542e61108cf53b93dbffa0959f91ccb32588ac", "reqSigs": 1, "type": "pubkeyhash", "addresses": [ - "13tuJJDR2RgArmgfv6JScSdreahzgc4T6o" + "LiTVReQ6N8rWc2pNg2XMwCWq7A9P15teWg" ] } }, @@ -38,5 +38,5 @@ } } ], - "hex": "02000000011f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000ffffffff0280a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac0000000000000000526a4c4f54686973204f505f52455455524e207472616e73616374696f6e206f7574707574207761732063726561746564206279206d6f646966696564206372656174657261777472616e73616374696f6e2e00000000" + "hex": "0200000001efc59c584fb0be1066baf08b93f8baf0d9b9beaafcdd318a59cda6302dc1e9690000000000ffffffff02400d0300000000001976a914feda50542e61108cf53b93dbffa0959f91ccb32588ac0000000000000000526a4c4f54686973204f505f52455455524e207472616e73616374696f6e206f7574707574207761732063726561746564206279206d6f646966696564206372656174657261777472616e73616374696f6e2e00000000" } diff --git a/src/test/data/txcreatedata_seq0.hex b/src/test/data/txcreatedata_seq0.hex index 54b89d238..874c4d1c4 100644 --- a/src/test/data/txcreatedata_seq0.hex +++ b/src/test/data/txcreatedata_seq0.hex @@ -1 +1 @@ -02000000011f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000fdffffff0180a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac00000000 +0200000001efc59c584fb0be1066baf08b93f8baf0d9b9beaafcdd318a59cda6302dc1e9690000000000fdffffff01400d0300000000001976a914feda50542e61108cf53b93dbffa0959f91ccb32588ac00000000 diff --git a/src/test/data/txcreatedata_seq0.json b/src/test/data/txcreatedata_seq0.json index d272a4c44..03f830138 100644 --- a/src/test/data/txcreatedata_seq0.json +++ b/src/test/data/txcreatedata_seq0.json @@ -1,11 +1,11 @@ { - "txid": "8df6ed527472542dd5e137c242a7c5a9f337ac34f7b257ae4af886aeaebb51b0", - "hash": "8df6ed527472542dd5e137c242a7c5a9f337ac34f7b257ae4af886aeaebb51b0", + "txid": "6d91ec40ccf2f0e1f4aad31d7a2eaeff34be2f78a743ce938eb285efbcafc3cd", + "hash": "6d91ec40ccf2f0e1f4aad31d7a2eaeff34be2f78a743ce938eb285efbcafc3cd", "version": 2, "locktime": 0, "vin": [ { - "txid": "5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f", + "txid": "69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef", "vout": 0, "scriptSig": { "asm": "", @@ -16,18 +16,18 @@ ], "vout": [ { - "value": 0.18, + "value": 0.002, "n": 0, "scriptPubKey": { - "asm": "OP_DUP OP_HASH160 1fc11f39be1729bf973a7ab6a615ca4729d64574 OP_EQUALVERIFY OP_CHECKSIG", - "hex": "76a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac", + "asm": "OP_DUP OP_HASH160 f9bbbf34117bfd1384c0708a13509f5599bb49e7 OP_EQUALVERIFY OP_CHECKSIG", + "hex": "76a914f9bbbf34117bfd1384c0708a13509f5599bb49e788ac", "reqSigs": 1, "type": "pubkeyhash", "addresses": [ - "13tuJJDR2RgArmgfv6JScSdreahzgc4T6o" + "LhzRRruapBx5gEtAf9RuVEePrzcG1wxRYa" ] } } ], - "hex": "02000000011f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000fdffffff0180a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac00000000" + "hex": "0200000001efc59c584fb0be1066baf08b93f8baf0d9b9beaafcdd318a59cda6302dc1e9690000000000fdffffff01400d0300000000001976a914f9bbbf34117bfd1384c0708a13509f5599bb49e788ac00000000" } diff --git a/src/test/data/txcreatedata_seq1.hex b/src/test/data/txcreatedata_seq1.hex index 4cedcd975..ea02175b6 100644 --- a/src/test/data/txcreatedata_seq1.hex +++ b/src/test/data/txcreatedata_seq1.hex @@ -1 +1 @@ -01000000021f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000fdffffff1f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000010000000180a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac00000000 +01000000021f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000fdffffffefc59c584fb0be1066baf08b93f8baf0d9b9beaafcdd318a59cda6302dc1e9690000000000010000000180a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac00000000 diff --git a/src/test/data/txcreatedata_seq1.json b/src/test/data/txcreatedata_seq1.json index d32325541..bf8a4ef0a 100644 --- a/src/test/data/txcreatedata_seq1.json +++ b/src/test/data/txcreatedata_seq1.json @@ -1,6 +1,6 @@ { - "txid": "c4dea671b0d7b48f8ab10bc46650e8329d3c5766931f548f513847a19f5ba75b", - "hash": "c4dea671b0d7b48f8ab10bc46650e8329d3c5766931f548f513847a19f5ba75b", + "txid": "e53e05d5591c15d8bea55d5649d5944bc9a75c2f61b42fa52cef36910d2a7653", + "hash": "e53e05d5591c15d8bea55d5649d5944bc9a75c2f61b42fa52cef36910d2a7653", "version": 1, "locktime": 0, "vin": [ @@ -14,7 +14,7 @@ "sequence": 4294967293 }, { - "txid": "5897de6bd6027a475eadd57019d4e6872c396d0716c4875a5f1a6fcfdf385c1f", + "txid": "69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef", "vout": 0, "scriptSig": { "asm": "", @@ -33,10 +33,10 @@ "reqSigs": 1, "type": "pubkeyhash", "addresses": [ - "13tuJJDR2RgArmgfv6JScSdreahzgc4T6o" + "LN7rZWXF75vE7aNq6EHjtThcro5GpGmjYy" ] } } ], - "hex": "01000000021f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000fdffffff1f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000010000000180a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac00000000" + "hex": "01000000021f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000fdffffffefc59c584fb0be1066baf08b93f8baf0d9b9beaafcdd318a59cda6302dc1e9690000000000010000000180a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac00000000" } diff --git a/src/test/data/txcreatemultisig1.json b/src/test/data/txcreatemultisig1.json index f6ce43c20..22292ad70 100644 --- a/src/test/data/txcreatemultisig1.json +++ b/src/test/data/txcreatemultisig1.json @@ -15,9 +15,9 @@ "reqSigs": 2, "type": "multisig", "addresses": [ - "1FoG2386FG2tAJS9acMuiDsKy67aGg9MKz", - "1FXtz9KU8JNmQDyHdiEm5HDiALuP3zdHvV", - "14LuavcBbXZYJ6Tsz3cAUQj9SuQoL2xCQX" + "La2DHFRvKvGwR78JkkMCzEw6BJUrSQa72A", + "LZkrFMdJCxcpf2fSorE4MJHUNZGfAnD7gf", + "LNZrr8v1gBobYuA3ABbTkRnuf7n5RRo5Cz" ] } } diff --git a/src/test/data/txcreatemultisig2.json b/src/test/data/txcreatemultisig2.json index e09d22060..1b5886219 100644 --- a/src/test/data/txcreatemultisig2.json +++ b/src/test/data/txcreatemultisig2.json @@ -15,7 +15,7 @@ "reqSigs": 1, "type": "scripthash", "addresses": [ - "34HNh57oBCRKkxNyjTuWAJkTbuGh6jg2Ms" + "MAVWzxXm8KGkZTesqLtqywzrvbs96FEoKy" ] } } diff --git a/src/test/data/txcreatemultisig4.json b/src/test/data/txcreatemultisig4.json index fc69c7269..b55491bf6 100644 --- a/src/test/data/txcreatemultisig4.json +++ b/src/test/data/txcreatemultisig4.json @@ -15,7 +15,7 @@ "reqSigs": 1, "type": "scripthash", "addresses": [ - "3BoFUz1StqcNcgUTZE5cC1eFhuYFzj3fGH" + "MJ1PnsRQqxToRBkMf74x1etf2c8i2imj3Y" ] } } diff --git a/src/test/data/txcreateoutpubkey1.json b/src/test/data/txcreateoutpubkey1.json index 6019fa2dc..c09be4353 100644 --- a/src/test/data/txcreateoutpubkey1.json +++ b/src/test/data/txcreateoutpubkey1.json @@ -15,7 +15,7 @@ "reqSigs": 1, "type": "pubkey", "addresses": [ - "1FoG2386FG2tAJS9acMuiDsKy67aGg9MKz" + "La2DHFRvKvGwR78JkkMCzEw6BJUrSQa72A" ] } } diff --git a/src/test/data/txcreateoutpubkey3.json b/src/test/data/txcreateoutpubkey3.json index a1a25fc83..aa53dc10a 100644 --- a/src/test/data/txcreateoutpubkey3.json +++ b/src/test/data/txcreateoutpubkey3.json @@ -15,7 +15,7 @@ "reqSigs": 1, "type": "scripthash", "addresses": [ - "3GnzN8FqgvYGYdhj8NW6UNxxVv3Uj1ApQn" + "MP18g1foe3PhM8ydEFVSJ2DMpcdvhLebXR" ] } } diff --git a/src/test/data/txcreatescript2.json b/src/test/data/txcreatescript2.json index 41eb69f1a..b50a8a7a0 100644 --- a/src/test/data/txcreatescript2.json +++ b/src/test/data/txcreatescript2.json @@ -15,7 +15,7 @@ "reqSigs": 1, "type": "scripthash", "addresses": [ - "3C5QarEGh9feKbDJ3QbMf2YNjnMoiPDhNp" + "MJHYtjeEeGX586VC9HahUfnn4UxFmqozk8" ] } } diff --git a/src/test/data/txcreatescript4.json b/src/test/data/txcreatescript4.json index 11783751a..3c4802374 100644 --- a/src/test/data/txcreatescript4.json +++ b/src/test/data/txcreatescript4.json @@ -15,7 +15,7 @@ "reqSigs": 1, "type": "scripthash", "addresses": [ - "3BNQbeFeJJGMAyDxPwWPuqxPMrjsFLjk3f" + "MHaYuXfcFR7myUVrVpVjjVCngZLKDuRbn3" ] } } diff --git a/src/test/data/txcreatesignv1.hex b/src/test/data/txcreatesignv1.hex index a46fcc88c..691fdbd36 100644 --- a/src/test/data/txcreatesignv1.hex +++ b/src/test/data/txcreatesignv1.hex @@ -1 +1 @@ -01000000018594c5bdcaec8f06b78b596f31cd292a294fd031e24eec716f43dac91ea7494d000000008b48304502210096a75056c9e2cc62b7214777b3d2a592cfda7092520126d4ebfcd6d590c99bd8022051bb746359cf98c0603f3004477eac68701132380db8facba19c89dc5ab5c5e201410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8ffffffff01a0860100000000001976a9145834479edbbe0539b31ffd3a8f8ebadc2165ed0188ac00000000 +0100000001f77bd0a57e5b5e041e95567e0f01c3789af7f624ff490f756fb408362489276c0000000000ffffffff01a0860100000000001976a914834584e0afbd77db57fcf4a3a076b8d3e02aa6fb88ac00000000 diff --git a/src/test/data/txcreatesignv1.json b/src/test/data/txcreatesignv1.json index ff39e71b4..dd08dd962 100644 --- a/src/test/data/txcreatesignv1.json +++ b/src/test/data/txcreatesignv1.json @@ -1,15 +1,15 @@ { - "txid": "977e7cd286cb72cd470d539ba6cb48400f8f387d97451d45cdb8819437a303af", - "hash": "977e7cd286cb72cd470d539ba6cb48400f8f387d97451d45cdb8819437a303af", + "txid": "bf7c8b55745d4f9d9b2e33b5fbec5d08e38f3dcfc1838cb424a16db3ebc52f13", + "hash": "bf7c8b55745d4f9d9b2e33b5fbec5d08e38f3dcfc1838cb424a16db3ebc52f13", "version": 1, "locktime": 0, "vin": [ { - "txid": "4d49a71ec9da436f71ec4ee231d04f292a29cd316f598bb7068feccabdc59485", + "txid": "6c2789243608b46f750f49ff24f6f79a78c3010f7e56951e045e5b7ea5d07bf7", "vout": 0, "scriptSig": { - "asm": "304502210096a75056c9e2cc62b7214777b3d2a592cfda7092520126d4ebfcd6d590c99bd8022051bb746359cf98c0603f3004477eac68701132380db8facba19c89dc5ab5c5e2[ALL] 0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8", - "hex": "48304502210096a75056c9e2cc62b7214777b3d2a592cfda7092520126d4ebfcd6d590c99bd8022051bb746359cf98c0603f3004477eac68701132380db8facba19c89dc5ab5c5e201410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8" + "asm": "", + "hex": "" }, "sequence": 4294967295 } @@ -19,15 +19,15 @@ "value": 0.001, "n": 0, "scriptPubKey": { - "asm": "OP_DUP OP_HASH160 5834479edbbe0539b31ffd3a8f8ebadc2165ed01 OP_EQUALVERIFY OP_CHECKSIG", - "hex": "76a9145834479edbbe0539b31ffd3a8f8ebadc2165ed0188ac", + "asm": "OP_DUP OP_HASH160 834584e0afbd77db57fcf4a3a076b8d3e02aa6fb OP_EQUALVERIFY OP_CHECKSIG", + "hex": "76a914834584e0afbd77db57fcf4a3a076b8d3e02aa6fb88ac", "reqSigs": 1, "type": "pubkeyhash", "addresses": [ - "193P6LtvS4nCnkDvM9uXn1gsSRqh4aDAz7" + "LXC44cQhuRufFtaDhDYv4q8nxQJBkUAsXp" ] } } ], - "hex": "01000000018594c5bdcaec8f06b78b596f31cd292a294fd031e24eec716f43dac91ea7494d000000008b48304502210096a75056c9e2cc62b7214777b3d2a592cfda7092520126d4ebfcd6d590c99bd8022051bb746359cf98c0603f3004477eac68701132380db8facba19c89dc5ab5c5e201410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8ffffffff01a0860100000000001976a9145834479edbbe0539b31ffd3a8f8ebadc2165ed0188ac00000000" + "hex": "0100000001f77bd0a57e5b5e041e95567e0f01c3789af7f624ff490f756fb408362489276c0000000000ffffffff01a0860100000000001976a914834584e0afbd77db57fcf4a3a076b8d3e02aa6fb88ac00000000" } diff --git a/src/test/data/txcreatesignv2.hex b/src/test/data/txcreatesignv2.hex index ee425cd98..0900c2728 100644 --- a/src/test/data/txcreatesignv2.hex +++ b/src/test/data/txcreatesignv2.hex @@ -1 +1 @@ -02000000018594c5bdcaec8f06b78b596f31cd292a294fd031e24eec716f43dac91ea7494d000000008a473044022079c7aa014177a2e973caf6df7c7b8f15399083b91eba370ea1e19c4caed9181e02205f8f8763505ce8e6cbdd2cd28fab3fd407a75003e7d0dc04e6bebb0a3c89e7cb01410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8ffffffff01a0860100000000001976a9145834479edbbe0539b31ffd3a8f8ebadc2165ed0188ac00000000 +0200000001f77bd0a57e5b5e041e95567e0f01c3789af7f624ff490f756fb408362489276c0000000000ffffffff01a0860100000000001976a914834584e0afbd77db57fcf4a3a076b8d3e02aa6fb88ac00000000 diff --git a/src/test/key_tests.cpp b/src/test/key_tests.cpp index 40a7fdf11..ca791fe7b 100644 --- a/src/test/key_tests.cpp +++ b/src/test/key_tests.cpp @@ -16,17 +16,17 @@ #include -static const std::string strSecret1 ("5HxWvvfubhXpYYpS3tJkw6fq9jE9j18THftkZjHHfmFiWtmAbrj"); -static const std::string strSecret2 ("5KC4ejrDjv152FGwP386VD1i2NYc5KkfSMyv1nGy1VGDxGHqVY3"); -static const std::string strSecret1C ("Kwr371tjA9u2rFSMZjTNun2PXXP3WPZu2afRHTcta6KxEUdm1vEw"); -static const std::string strSecret2C ("L3Hq7a8FEQwJkW1M2GNKDW28546Vp5miewcCzSqUD9kCAXrJdS3g"); -static const CBitcoinAddress addr1 ("1QFqqMUD55ZV3PJEJZtaKCsQmjLT6JkjvJ"); -static const CBitcoinAddress addr2 ("1F5y5E5FMc5YzdJtB9hLaUe43GDxEKXENJ"); -static const CBitcoinAddress addr1C("1NoJrossxPBKfCHuJXT4HadJrXRE9Fxiqs"); -static const CBitcoinAddress addr2C("1CRj2HyM1CXWzHAXLQtiGLyggNT9WQqsDs"); +static const std::string strSecret1 ("6uGFQ4DSW7zh1viHZi6iiVT17CncvoaV4MHvGvJKPDaLCdymj87"); +static const std::string strSecret2 ("6vVo7sPkeLTwVdAntrv4Gbnsyr75H8ChD3P5iyHziwaqe8mCYR5"); +static const std::string strSecret1C ("T3gJYmBuZXsdd65E7NQF88ZmUP2MaUanqnZg9GFS94W7kND4Ebjq"); +static const std::string strSecret2C ("T986ZKRRdnuuXLeDZuKBRrZW1ujotAncU9WTrFU1n7vMgRW75ZtF"); +static const CBitcoinAddress addr1 ("LiUo6Zn39joYJBzPUhssbDwAywhjFcoHE3"); +static const CBitcoinAddress addr2 ("LZJvLSP5SGKcFS13MHgdrVhpFUbEMB5XVC"); +static const CBitcoinAddress addr1C("Lh2G82Bi33RNuzz4UfSMZbh54jnWHVnmw8"); +static const CBitcoinAddress addr2C("LWegHWHB5rmaF5rgWYt1YN3StapRdnGJfU"); -static const std::string strAddressBad("1HV9Lc3sNHZxwj4Zk6fB38tEmBryq2cBiF"); +static const std::string strAddressBad("Lbi6bpMhSwp2CXkivEeUK9wzyQEFzHDfSr"); #ifdef KEY_TESTS_DUMPINFO diff --git a/src/test/main_tests.cpp b/src/test/main_tests.cpp index d52104b4c..8df1af3b0 100644 --- a/src/test/main_tests.cpp +++ b/src/test/main_tests.cpp @@ -48,13 +48,13 @@ BOOST_AUTO_TEST_CASE(subsidy_limit_test) { const Consensus::Params& consensusParams = Params(CBaseChainParams::MAIN).GetConsensus(); CAmount nSum = 0; - for (int nHeight = 0; nHeight < 14000000; nHeight += 1000) { + for (int nHeight = 0; nHeight < 56000000; nHeight += 1000) { CAmount nSubsidy = GetBlockSubsidy(nHeight, consensusParams); BOOST_CHECK(nSubsidy <= 50 * COIN); nSum += nSubsidy * 1000; BOOST_CHECK(MoneyRange(nSum)); } - BOOST_CHECK_EQUAL(nSum, 2099999997690000ULL); + BOOST_CHECK_EQUAL(nSum, 8399999990760000ULL); } bool ReturnFalse() { return false; } diff --git a/src/test/miner_tests.cpp b/src/test/miner_tests.cpp index f856d8a91..2fc06f7b5 100644 --- a/src/test/miner_tests.cpp +++ b/src/test/miner_tests.cpp @@ -32,34 +32,34 @@ struct { unsigned char extranonce; unsigned int nonce; } blockinfo[] = { - {4, 0xa4a3e223}, {2, 0x15c32f9e}, {1, 0x0375b547}, {1, 0x7004a8a5}, - {2, 0xce440296}, {2, 0x52cfe198}, {1, 0x77a72cd0}, {2, 0xbb5d6f84}, - {2, 0x83f30c2c}, {1, 0x48a73d5b}, {1, 0xef7dcd01}, {2, 0x6809c6c4}, - {2, 0x0883ab3c}, {1, 0x087bbbe2}, {2, 0x2104a814}, {2, 0xdffb6daa}, - {1, 0xee8a0a08}, {2, 0xba4237c1}, {1, 0xa70349dc}, {1, 0x344722bb}, - {3, 0xd6294733}, {2, 0xec9f5c94}, {2, 0xca2fbc28}, {1, 0x6ba4f406}, - {2, 0x015d4532}, {1, 0x6e119b7c}, {2, 0x43e8f314}, {2, 0x27962f38}, - {2, 0xb571b51b}, {2, 0xb36bee23}, {2, 0xd17924a8}, {2, 0x6bc212d9}, - {1, 0x630d4948}, {2, 0x9a4c4ebb}, {2, 0x554be537}, {1, 0xd63ddfc7}, - {2, 0xa10acc11}, {1, 0x759a8363}, {2, 0xfb73090d}, {1, 0xe82c6a34}, - {1, 0xe33e92d7}, {3, 0x658ef5cb}, {2, 0xba32ff22}, {5, 0x0227a10c}, - {1, 0xa9a70155}, {5, 0xd096d809}, {1, 0x37176174}, {1, 0x830b8d0f}, - {1, 0xc6e3910e}, {2, 0x823f3ca8}, {1, 0x99850849}, {1, 0x7521fb81}, - {1, 0xaacaabab}, {1, 0xd645a2eb}, {5, 0x7aea1781}, {5, 0x9d6e4b78}, - {1, 0x4ce90fd8}, {1, 0xabdc832d}, {6, 0x4a34f32a}, {2, 0xf2524c1c}, - {2, 0x1bbeb08a}, {1, 0xad47f480}, {1, 0x9f026aeb}, {1, 0x15a95049}, - {2, 0xd1cb95b2}, {2, 0xf84bbda5}, {1, 0x0fa62cd1}, {1, 0xe05f9169}, - {1, 0x78d194a9}, {5, 0x3e38147b}, {5, 0x737ba0d4}, {1, 0x63378e10}, - {1, 0x6d5f91cf}, {2, 0x88612eb8}, {2, 0xe9639484}, {1, 0xb7fabc9d}, - {2, 0x19b01592}, {1, 0x5a90dd31}, {2, 0x5bd7e028}, {2, 0x94d00323}, - {1, 0xa9b9c01a}, {1, 0x3a40de61}, {1, 0x56e7eec7}, {5, 0x859f7ef6}, - {1, 0xfd8e5630}, {1, 0x2b0c9f7f}, {1, 0xba700e26}, {1, 0x7170a408}, - {1, 0x70de86a8}, {1, 0x74d64cd5}, {1, 0x49e738a1}, {2, 0x6910b602}, - {0, 0x643c565f}, {1, 0x54264b3f}, {2, 0x97ea6396}, {2, 0x55174459}, - {2, 0x03e8779a}, {1, 0x98f34d8f}, {1, 0xc07b2b07}, {1, 0xdfe29668}, - {1, 0x3141c7c1}, {1, 0xb3b595f4}, {1, 0x735abf08}, {5, 0x623bfbce}, - {2, 0xd351e722}, {1, 0xf4ca48c9}, {1, 0x5b19c670}, {1, 0xa164bf0e}, - {2, 0xbbbeb305}, {2, 0xfe1c810a}, + {4, 0xa4ad9f65}, {2, 0x15cf2b27}, {1, 0x037620ac}, {1, 0x700d9c54}, + {2, 0xce79f74f}, {2, 0x52d9c194}, {1, 0x77bc3efc}, {2, 0xbb62c5e8}, + {2, 0x83ff997a}, {1, 0x48b984ee}, {1, 0xef925da0}, {2, 0x680d2979}, + {2, 0x08953af7}, {1, 0x087dd553}, {2, 0x210e2818}, {2, 0xdfffcdef}, + {1, 0xeea1b209}, {2, 0xba4a8943}, {1, 0xa7333e77}, {1, 0x344f3e2a}, + {3, 0xd651f08e}, {2, 0xeca3957f}, {2, 0xca35aa49}, {1, 0x6bb2065d}, + {2, 0x0170ee44}, {1, 0x6e12f4aa}, {2, 0x43f4f4db}, {2, 0x279c1c44}, + {2, 0xb5a50f10}, {2, 0xb3902841}, {2, 0xd198647e}, {2, 0x6bc40d88}, + {1, 0x633a9a1c}, {2, 0x9a722ed8}, {2, 0x55580d10}, {1, 0xd65022a1}, + {2, 0xa12ffcc8}, {1, 0x75a6a9c7}, {2, 0xfb7c80b7}, {1, 0xe8403e6c}, + {1, 0xe34017a0}, {3, 0x659e177b}, {2, 0xba5c40bf}, {5, 0x022f11ef}, + {1, 0xa9ab516a}, {5, 0xd0999ed4}, {1, 0x37277cb3}, {1, 0x830f735f}, + {1, 0xc6e3d947}, {2, 0x824a0c1b}, {1, 0x99962416}, {1, 0x75336f63}, + {1, 0xaacf0fea}, {1, 0xd6531aec}, {5, 0x7afcf541}, {5, 0x9d6fac0d}, + {1, 0x4cf5c4df}, {1, 0xabe0f2a0}, {6, 0x4a3dac18}, {2, 0xf265febe}, + {2, 0x1bc9f23f}, {1, 0xad49ab71}, {1, 0x9f2d8923}, {1, 0x15acb65d}, + {2, 0xd1cecb52}, {2, 0xf856808b}, {1, 0x0fa96e29}, {1, 0xe063ecbc}, + {1, 0x78d926c6}, {5, 0x3e38ad35}, {5, 0x73901915}, {1, 0x63424be0}, + {1, 0x6d6b0a1d}, {2, 0x888ba681}, {2, 0xe96b0714}, {1, 0xb7fcaa55}, + {2, 0x19c106eb}, {1, 0x5aa13484}, {2, 0x5bf4c2f3}, {2, 0x94d401dd}, + {1, 0xa9bc23d9}, {1, 0x3a69c375}, {1, 0x56ed2006}, {5, 0x85ba6dbd}, + {1, 0xfd9b2000}, {1, 0x2b2be19a}, {1, 0xba724468}, {1, 0x717eb6e5}, + {1, 0x70de86d9}, {1, 0x74e23a42}, {1, 0x49e92832}, {2, 0x6926dbb9}, + {0, 0x64452497}, {1, 0x54306d6f}, {2, 0x97ebf052}, {2, 0x55198b70}, + {2, 0x03fe61f0}, {1, 0x98f9e67f}, {1, 0xc0842a09}, {1, 0xdfed39c5}, + {1, 0x3144223e}, {1, 0xb3d12f84}, {1, 0x7366ceb7}, {5, 0x6240691b}, + {2, 0xd3529b57}, {1, 0xf4cae3b1}, {1, 0x5b1df222}, {1, 0xa16a5c70}, + {2, 0xbbccedc6}, {2, 0xfe38d0ef}, }; CBlockIndex CreateBlockIndex(int nHeight) @@ -360,7 +360,7 @@ BOOST_AUTO_TEST_CASE(CreateNewBlock_validity) // subsidy changing int nHeight = chainActive.Height(); // Create an actual 209999-long block chain (without valid blocks). - while (chainActive.Tip()->nHeight < 209999) { + while (chainActive.Tip()->nHeight < 839999) { CBlockIndex* prev = chainActive.Tip(); CBlockIndex* next = new CBlockIndex(); next->phashBlock = new uint256(GetRandHash()); diff --git a/src/test/pow_tests.cpp b/src/test/pow_tests.cpp index 4ca6f1caf..5d1ba8c7b 100644 --- a/src/test/pow_tests.cpp +++ b/src/test/pow_tests.cpp @@ -19,12 +19,12 @@ BOOST_AUTO_TEST_CASE(get_next_work) SelectParams(CBaseChainParams::MAIN); const Consensus::Params& params = Params().GetConsensus(); - int64_t nLastRetargetTime = 1261130161; // Block #30240 + int64_t nLastRetargetTime = 1358118740; // Block #278207 CBlockIndex pindexLast; - pindexLast.nHeight = 32255; - pindexLast.nTime = 1262152739; // Block #32255 - pindexLast.nBits = 0x1d00ffff; - BOOST_CHECK_EQUAL(CalculateNextWorkRequired(&pindexLast, nLastRetargetTime, params), 0x1d00d86a); + pindexLast.nHeight = 280223; + pindexLast.nTime = 1358378777; // Block #280223 + pindexLast.nBits = 0x1c0ac141; + BOOST_CHECK_EQUAL(CalculateNextWorkRequired(&pindexLast, nLastRetargetTime, params), 0x1c093f8d); } /* Test the constraint on the upper bound for next work */ @@ -33,12 +33,12 @@ BOOST_AUTO_TEST_CASE(get_next_work_pow_limit) SelectParams(CBaseChainParams::MAIN); const Consensus::Params& params = Params().GetConsensus(); - int64_t nLastRetargetTime = 1231006505; // Block #0 + int64_t nLastRetargetTime = 1317972665; // Block #0 CBlockIndex pindexLast; pindexLast.nHeight = 2015; - pindexLast.nTime = 1233061996; // Block #2015 - pindexLast.nBits = 0x1d00ffff; - BOOST_CHECK_EQUAL(CalculateNextWorkRequired(&pindexLast, nLastRetargetTime, params), 0x1d00ffff); + pindexLast.nTime = 1318480354; // Block #2015 + pindexLast.nBits = 0x1e0ffff0; + BOOST_CHECK_EQUAL(CalculateNextWorkRequired(&pindexLast, nLastRetargetTime, params), 0x1e0fffff); } /* Test the constraint on the lower bound for actual time taken */ @@ -47,12 +47,12 @@ BOOST_AUTO_TEST_CASE(get_next_work_lower_limit_actual) SelectParams(CBaseChainParams::MAIN); const Consensus::Params& params = Params().GetConsensus(); - int64_t nLastRetargetTime = 1279008237; // Block #66528 + int64_t nLastRetargetTime = 1401682934; // NOTE: Not an actual block time CBlockIndex pindexLast; - pindexLast.nHeight = 68543; - pindexLast.nTime = 1279297671; // Block #68543 - pindexLast.nBits = 0x1c05a3f4; - BOOST_CHECK_EQUAL(CalculateNextWorkRequired(&pindexLast, nLastRetargetTime, params), 0x1c0168fd); + pindexLast.nHeight = 578591; + pindexLast.nTime = 1401757934; // Block #578591 + pindexLast.nBits = 0x1b075cf1; + BOOST_CHECK_EQUAL(CalculateNextWorkRequired(&pindexLast, nLastRetargetTime, params), 0x1b01d73c); } /* Test the constraint on the upper bound for actual time taken */ @@ -61,12 +61,12 @@ BOOST_AUTO_TEST_CASE(get_next_work_upper_limit_actual) SelectParams(CBaseChainParams::MAIN); const Consensus::Params& params = Params().GetConsensus(); - int64_t nLastRetargetTime = 1263163443; // NOTE: Not an actual block time + int64_t nLastRetargetTime = 1463690315; // NOTE: Not an actual block time CBlockIndex pindexLast; - pindexLast.nHeight = 46367; - pindexLast.nTime = 1269211443; // Block #46367 - pindexLast.nBits = 0x1c387f6f; - BOOST_CHECK_EQUAL(CalculateNextWorkRequired(&pindexLast, nLastRetargetTime, params), 0x1d00e1fd); + pindexLast.nHeight = 1001951; + pindexLast.nTime = 1464900315; // Block #1001951 + pindexLast.nBits = 0x1b015318; + BOOST_CHECK_EQUAL(CalculateNextWorkRequired(&pindexLast, nLastRetargetTime, params), 0x1b054c60); } BOOST_AUTO_TEST_CASE(GetBlockProofEquivalentTime_test) diff --git a/src/test/rpc_tests.cpp b/src/test/rpc_tests.cpp index 399bdbc81..aade48d74 100644 --- a/src/test/rpc_tests.cpp +++ b/src/test/rpc_tests.cpp @@ -115,8 +115,8 @@ BOOST_AUTO_TEST_CASE(rpc_rawsign) r = CallRPC(std::string("createrawtransaction ")+prevout+" "+ "{\"3HqAe9LtNBjnsfM4CyYaWTnvCaUYT7v4oZ\":11}"); std::string notsigned = r.get_str(); - std::string privkey1 = "\"KzsXybp9jX64P5ekX1KUxRQ79Jht9uzW7LorgwE65i5rWACL6LQe\""; - std::string privkey2 = "\"Kyhdf5LuKTRx4ge69ybABsiUAWjVRK4XGxAKk2FQLp2HjGMy87Z4\""; + std::string privkey1 = "\"T6hoRM7L8u4f9vHd4eGMAmwV6AMCE11PvYi7YjrdegG223kw64r1\""; + std::string privkey2 = "\"T5Xu6pe5iqQYqXGxhcY2QEFr7NNoVQ5R6A4abpswunCTF9w85g8V\""; r = CallRPC(std::string("signrawtransaction ")+notsigned+" "+prevout+" "+"[]"); BOOST_CHECK(find_value(r.get_obj(), "complete").get_bool() == false); r = CallRPC(std::string("signrawtransaction ")+notsigned+" "+prevout+" "+"["+privkey1+","+privkey2+"]"); diff --git a/src/test/test_bitcoin.cpp b/src/test/test_bitcoin.cpp index 4785415e3..5e3bc8c77 100644 --- a/src/test/test_bitcoin.cpp +++ b/src/test/test_bitcoin.cpp @@ -2,7 +2,7 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#define BOOST_TEST_MODULE Bitcoin Test Suite +#define BOOST_TEST_MODULE Litecoin Test Suite #include "test_bitcoin.h" @@ -62,7 +62,7 @@ TestingSetup::TestingSetup(const std::string& chainName) : BasicTestingSetup(cha RegisterAllCoreRPCCommands(tableRPC); ClearDatadirCache(); - pathTemp = GetTempPath() / strprintf("test_bitcoin_%lu_%i", (unsigned long)GetTime(), (int)(GetRand(100000))); + pathTemp = GetTempPath() / strprintf("test_litecoin_%lu_%i", (unsigned long)GetTime(), (int)(GetRand(100000))); boost::filesystem::create_directories(pathTemp); ForceSetArg("-datadir", pathTemp.string()); mempool.setSanityCheck(1.0); @@ -127,7 +127,7 @@ TestChain100Setup::CreateAndProcessBlock(const std::vector& unsigned int extraNonce = 0; IncrementExtraNonce(&block, chainActive.Tip(), extraNonce); - while (!CheckProofOfWork(block.GetHash(), block.nBits, chainparams.GetConsensus())) ++block.nNonce; + while (!CheckProofOfWork(block.GetPoWHash(), block.nBits, chainparams.GetConsensus())) ++block.nNonce; std::shared_ptr shared_pblock = std::make_shared(block); ProcessNewBlock(chainparams, shared_pblock, true, NULL); diff --git a/src/test/versionbits_tests.cpp b/src/test/versionbits_tests.cpp index e2b5573ab..395d91492 100644 --- a/src/test/versionbits_tests.cpp +++ b/src/test/versionbits_tests.cpp @@ -255,12 +255,12 @@ BOOST_AUTO_TEST_CASE(versionbits_computeblockversion) // Before MedianTimePast of the chain has crossed nStartTime, the bit // should not be set. CBlockIndex *lastBlock = NULL; - lastBlock = firstChain.Mine(2016, nTime, VERSIONBITS_LAST_OLD_BLOCK_VERSION).Tip(); + lastBlock = firstChain.Mine(8064, nTime, VERSIONBITS_LAST_OLD_BLOCK_VERSION).Tip(); BOOST_CHECK_EQUAL(ComputeBlockVersion(lastBlock, mainnetParams) & (1< 0) { lastBlock = firstChain.Mine(nHeight+1, nTime, VERSIONBITS_LAST_OLD_BLOCK_VERSION).Tip(); @@ -297,7 +297,7 @@ BOOST_AUTO_TEST_CASE(versionbits_computeblockversion) nTime = nTimeout; // FAILED is only triggered at the end of a period, so CBV should be setting // the bit until the period transition. - for (int i=0; i<2015; i++) { + for (int i=0; i<8063; i++) { lastBlock = firstChain.Mine(nHeight+1, nTime, VERSIONBITS_LAST_OLD_BLOCK_VERSION).Tip(); BOOST_CHECK((ComputeBlockVersion(lastBlock, mainnetParams) & (1<