Commit Graph

762 Commits

Author SHA1 Message Date
Wladimir J. van der Laan
075b4d320c Merge #8636: Implement NULLDUMMY softfork (BIP147)
482f852 Implement NULLDUMMY softfork (Johnson Lau)
2018-01-30 20:12:34 +01:00
Alexander Block
a4430b624f Fix rpc tests 2018-01-26 12:59:29 +01:00
Pieter Wuille
bcef7260d0 Merge #10196: Bugfix: PrioritiseTransaction updates the mempool tx counter
6c2e25c [qa] Test prioritise_transaction / getblocktemplate interaction (Suhas Daftuar)
acc2e4b Bugfix: PrioritiseTransaction updates the mempool tx counter (Suhas Daftuar)

Tree-SHA512: dcf834df52d84d5eb86acb847c3f28d3cffd1f78f3092b8ff8913c2c400675a071c48a19cd852fdbaac1582aa1dba23433e0e16055831ef2a5e76dde91199941
2018-01-26 12:59:29 +01:00
Wladimir J. van der Laan
c45c767f8e Merge #10294: [Wallet] unset change position when there is no change
7c58863 [Wallet] unset change position when there is no change on exact match (Gregory Sanders)

Tree-SHA512: ce8b9337e4132e32d80f954258d50938052c833a48e39431649d6adb16e3d18626a0ae5d300827e7fa397927fba72a1f066cb31af9b0a3ef7f1feb6024461626
2018-01-26 12:59:29 +01:00
Wladimir J. van der Laan
2e45791c95 Merge #10157: [0.14] Fix the mempool_packages.py test
39febb8 [qa] Fix mempool_packages.py for the 0.14 branch (Suhas Daftuar)

Tree-SHA512: 7b5f2627a76d79da5d7c9d30794219a87bec99296d5f74f66b347c7c8914244bfd07f0d48231adda7269678706fd9158b846d710f942b724c8c5748cc4a49c7e
2018-01-26 12:59:29 +01:00
Wladimir J. van der Laan
96b457d47e Merge #10144: Prioritisetransaction wasn't always updating ancestor fee
9bef02e Bugfix: ancestor modifed fees were incorrect for descendants (Suhas Daftuar)
ba7dd8b Test prioritisetransaction and ancestor fee state (Suhas Daftuar)

Tree-SHA512: 01977d88e1afb093a003f22a6f29ea60df3d70a179fe7e55910b9c8c340c4af9fb20cdc804c40235b62c43c453f0194eda0d0d4dbd365d2d98347f5dbe5de01c
2018-01-26 12:59:29 +01:00
Wladimir J. van der Laan
d88030845d Merge #9824: qa: Check return code when stopping nodes
fa4cd2e qa: Check return code when stopping nodes (MarcoFalke)
2018-01-26 12:59:29 +01:00
Wladimir J. van der Laan
f09ae21c36 Merge #9820: Fix pruning test broken by 2 hour manual prune window
874c736 Fix pruning test broken by 2 hour manual prune window (Russell Yanofsky)
2018-01-26 12:59:29 +01:00
Wladimir J. van der Laan
da8808fba0 Merge #9756: Return error when importmulti called with invalid address.
9acf25c Return error when importmulti called with invalid address. (Russell Yanofsky)
2018-01-23 09:24:29 +01:00
Wladimir J. van der Laan
fe0ef87cd3 Merge #9720: net: fix banning and disallow sending messages before receiving verack
d943491 qa: add a test to detect leaky p2p messages (Cory Fields)
8650bbb qa: Expose on-connection to mininode listeners (Matt Corallo)
5b5e4f8 qa: mininode learns when a socket connects, not its first action (Matt Corallo)
cbfc5a6 net: require a verack before responding to anything else (Cory Fields)
8502e7a net: parse reject earlier (Cory Fields)
c45b9fb net: correctly ban before the handshake is complete (Cory Fields)
2018-01-23 09:24:28 +01:00
Wladimir J. van der Laan
588b8e5caf Merge #9715: Disconnect peers which we do not receive VERACKs from within 60 sec
66f861a Add a test for P2P inactivity timeouts (Matt Corallo)
b436f92 qa: Expose on-connection to mininode listeners (Matt Corallo)
8aaba7a qa: mininode learns when a socket connects, not its first action (Matt Corallo)
2cbd119 Disconnect peers which we do not receive VERACKs from within 60 sec (Matt Corallo)
2018-01-23 09:24:28 +01:00
MarcoFalke
8043468b3f Merge #9707: Fix RPC failure testing
9db8eec Fix RPC failure testing (John Newbery)
2018-01-23 09:24:28 +01:00
Wladimir J. van der Laan
767f5e436b Merge #9532: Remove unused variables
90fd29b Remove unused int64_t nSinceLastSeen (practicalswift)
ac4a095 Remove unused Python variables (practicalswift)
2018-01-23 09:24:27 +01:00
Alexander Block
715be73c6f Fix listsinceblock.py 2018-01-21 14:14:34 +01:00
Alexander Block
9bc404a8cc Add "setbip69enabled" RPC usable by tests only
Needed by fundrawtransaction tests which rely on the ordering not being
changed.
2018-01-21 14:14:34 +01:00
Russell Yanofsky
6bee150e8e Require timestamps for importmulti keys
Additionally, accept a "now" timestamp, to allow avoiding rescans for keys
which are known never to have been used.

Note that the behavior when "now" is specified is slightly different than the
previous behavior when no timestamp was specified at all. Previously, when no
timestamp was specified, it would avoid rescanning during the importmulti call,
but set the key's nCreateTime value to 1, which would not prevent future block
reads in later ScanForWalletTransactions calls. With this change, passing a
"now" timestamp will set the key's nCreateTime to the current block time
instead of 1.

Fixes #9491
2018-01-21 14:14:34 +01:00
Wladimir J. van der Laan
edf3a00a29 Merge #9638: qa: Actually test assertions in pruning.py
fab035f qa: Actually test assertions in pruning.py (MarcoFalke)
2018-01-21 12:48:34 +01:00
MarcoFalke
5a84b27dc1 Merge #9628: qa: Increase a sync_blocks timeout in pruning.py
2f10f06 qa: Increase a sync_blocks timeout in pruning.py (Suhas Daftuar)
2018-01-21 12:48:34 +01:00
Wladimir J. van der Laan
119c3fe62f Merge #9516: Bug-fix: listsinceblock: use fork point as reference for blocks in reorg'd chains
7ba0a00 Testing: listsinceblock should not use orphan block height. (Karl-Johan Alm)
ee5c1ce Bug-fix: listsinceblock: use closest common ancestor when a block hash was provided for a chain that was not the main chain. (Karl-Johan Alm)
2018-01-21 12:48:33 +01:00
Wladimir J. van der Laan
96b4910fbe Merge #9607: Remove redundant semicolons in Python code
5cdf106 Remove redundant semicolons in Python code (practicalswift)
2018-01-21 12:48:33 +01:00
Wladimir J. van der Laan
36109e0580 Merge #9377: fundrawtransaction: Keep change-output keys by default, make it optional
c9f3062 Add fundrawtransactions new reserveChangeKey option to the release notes (Jonas Schnelli)
9eb325d [QA] Add test for fundrawtransactions new reserveChangeKey option (Jonas Schnelli)
9aa4e6a [Wallet] Add an option to keep the change address key, true by default (Jonas Schnelli)
2018-01-21 12:48:33 +01:00
MarcoFalke
be63fb7953 Merge #9508: Remove unused Python imports
95bab82 Remove unused Python imports (practicalswift)
2018-01-21 12:48:33 +01:00
Alexander Block
2adb35533f Add assumevalid testcase
Missed in original backport of assumevalid
2018-01-21 12:48:33 +01:00
Wladimir J. van der Laan
4408b2d147 Merge #9222: Add 'subtractFeeFromAmount' option to 'fundrawtransaction'.
453bda6 Add 'subtractFeeFromOutputs' option to 'fundrawtransaction'. (Chris Moore)
2018-01-21 12:48:32 +01:00
MarcoFalke
cee8cf1be6 Merge #9518: Return height of last block pruned by pruneblockchain RPC
918d1fb Return height of last block pruned by pruneblockchain RPC (Russell Yanofsky)
2018-01-21 12:48:32 +01:00
Wladimir J. van der Laan
88b9aa45de Merge #7871: Manual block file pruning.
afffeea fixup! Add pruneblockchain RPC to enable manual block file pruning. (Russell Yanofsky)
1fc4ec7 Add pruneblockchain RPC to enable manual block file pruning. (mrbandrews)
2018-01-21 12:48:32 +01:00
Wladimir J. van der Laan
7321bfdd6b Merge #8391: Consensus: Remove ISM
122786d Consensus: Remove ISM (NicolasDorier)
2018-01-20 09:22:40 +01:00
Wladimir J. van der Laan
0fc37e8c56 Merge #7562: Bump transaction version default to 2
c5c92c4 Update python tests for default tx version=2 (BtcDrak)
dab207e Preserve tx version=1 for certain tests (BtcDrak)
c5d746a tiny test fix for mempool_tests (Alex Morcos)
1f0ca1a Bump default transaction version to 2 (BtcDrak)
2018-01-20 09:22:38 +01:00
Pieter Wuille
3235aad493 Implement SipHash in Python 2018-01-20 09:21:13 +01:00
Alexander Block
29d5bdb55c Fix import-rescan.py test 2018-01-18 07:38:58 +01:00
Wladimir J. van der Laan
eb7a6b08f1 Merge #8811: rpc: Add support for JSON-RPC named arguments
4e7e2e1 Update RPC argument names (John Newbery)
481f289 rpc: Named argument support for bitcoin-cli (Wladimir J. van der Laan)
9adb4e1 rpc: Argument name consistency (Wladimir J. van der Laan)
8d713f7 rpc: Named arguments for rawtransaction calls (Wladimir J. van der Laan)
37a166f rpc: Named arguments for wallet calls (Wladimir J. van der Laan)
78b684f rpc: Named arguments for mining calls (Wladimir J. van der Laan)
b8ebc59 rpc: Named arguments for net calls (Wladimir J. van der Laan)
2ca9dcd test: Add test for RPC named arguments (Wladimir J. van der Laan)
fba1a61 rpc: Named arguments for misc calls (Wladimir J. van der Laan)
286ec08 rpc: Add 'echo' call for testing (Wladimir J. van der Laan)
495eb44 rpc: Named arguments for blockchain calls (Wladimir J. van der Laan)
6f1c76a rpc: Support named arguments (Wladimir J. van der Laan)
5865d41 authproxy: Add support for RPC named arguments (Wladimir J. van der Laan)
2018-01-18 07:38:57 +01:00
MarcoFalke
d2a8ecc8db Merge #9395: Add test for -walletrejectlongchains
ffeb195 add test for -walletrejectlongchains (Alex Morcos)
2018-01-18 07:33:44 +01:00
Wladimir J. van der Laan
dc1df137e3 Merge #9262: Prefer coins that have fewer ancestors, sanity check txn before ATMP
cee1612 reduce number of lookups in TransactionWithinChainLimit (Gregory Sanders)
af9bedb Test for fix of txn chaining in wallet (Gregory Sanders)
5882c09 CreateTransaction: Don't return success with too-many-ancestor txn (Gregory Sanders)
0b2294a SelectCoinsMinConf: Prefer coins with fewer ancestors (Gregory Sanders)
2018-01-18 07:31:22 +01:00
Wladimir J. van der Laan
bf3cc9ff90 Merge #9331: [qa] Add test for rescan feature of wallet key import RPCs
d8c0b9f [qa] Add test for rescan feature of wallet key import RPCs (Russell Yanofsky)
2018-01-18 07:31:22 +01:00
MarcoFalke
c0b0ae8be4 Merge #9309: [qa] Wallet needs to stay unlocked for whole test
9359f8a Wallet needs to stay unlocked for whole test (Alex Morcos)
2018-01-17 17:31:12 +01:00
Alexander Block
7322489ca2 Merge #9276: Some minor testing cleanups
30b620c remove obsolete run-bitcoind-for-test.sh (Alex Morcos)
2a99522 remove relaypriority from rpc tests (Alex Morcos)
e2184cc Reorder RPC tests for running time (Alex Morcos)

# Conflicts:
#	qa/pull-tester/rpc-tests.py
#	qa/pull-tester/run-bitcoind-for-test.sh.in
2018-01-17 17:31:12 +01:00
MarcoFalke
19958fecf9 Merge #9274: [qa] Use cached utxo set to fix performance regression
fab1af3 [qa] maxuploadtarget: Use cached utxo set (MarcoFalke)
fa2ecc4 [qa] pruning: Use cached utxo set to run faster (MarcoFalke)
2018-01-17 17:31:12 +01:00
MarcoFalke
5d1f05afff Merge #9221: [qa] Get rid of duplicate code
facbfa5 [qa] Get rid of duplicate code (MarcoFalke)
2018-01-17 17:30:38 +01:00
MarcoFalke
5e09f275e2 Merge #9257: [qa] Dump debug logs on travis failures.
0828619 [qa] Dump debug logs on travis failures. (Suhas Daftuar)
2018-01-17 17:30:38 +01:00
MarcoFalke
df24dfd4bc Merge #9233: Fix some typos
15fa95d Fix some typos (fsb4000)
2018-01-17 17:27:24 +01:00
MarcoFalke
f831710f46 Merge #9139: Change sync_blocks to pick smarter maxheight (on top of #9196)
1126c85 [qa] Change sync_blocks to pick smarter maxheight (Russell Yanofsky)
2018-01-17 17:25:36 +01:00
Alexander Block
9170c0e9c3 Fix rpc tests
1. Missing TX fees in some tests. No-fee transactions stopped working because
   the free TX relay was set to 0
2. rawtransaction tests used "hash" instead of "txid". "hash" is only valid
   if SegWit changes are included.
2018-01-15 08:26:15 +01:00
Wladimir J. van der Laan
ce3f38d6ca Merge #9025: getrawtransaction should take a bool for verbose
240189b add testcases for getrawtransaction (John Newbery)
ce2bb23 getrawtransaction should take a bool for verbose (jnewbery)
2018-01-15 06:14:16 +01:00
Wladimir J. van der Laan
e5cc7d0eb4 Merge #8872: Remove block-request logic from INV message processing
037159c Remove block-request logic from INV message processing (Matt Corallo)
3451203 [qa] Respond to getheaders and do not assume a getdata on inv (Matt Corallo)
d768f15 [qa] Make comptool push blocks instead of relying on inv-fetch (mrbandrews)
2018-01-15 06:14:16 +01:00
MarcoFalke
a9a2db9a53 Merge #9168: [qa] add assert_raises_message to check specific error message
307acdd [qa] add assert_raises_message to check specific error message (mrbandrews)
2018-01-15 06:14:16 +01:00
Wladimir J. van der Laan
e711f4ae23 Merge #9151: [qa] proxy_test: Calculate hardcoded port numbers
fa80ef8 [qa] proxy_test: Calculate hardcoded port numbers instead (MarcoFalke)
2018-01-15 06:14:16 +01:00
MarcoFalke
12883cfe4d Merge #9136: sync_blocks cleanup
7943b13 [qa] Avoid 2 list comprehensions in sync_blocks (Russell Yanofsky)
05e57cc [qa] Fix sync_blocks timeout argument (Russell Yanofsky)
fd6bb70 [qa] Improve sync_blocks error messages. (Russell Yanofsky)
2018-01-15 06:14:16 +01:00
MarcoFalke
3a388d9c01 Merge #9097: [qa] Rework sync_* and preciousblock.py
fa97ccb [qa] util: Rework sync_*() (MarcoFalke)
fac1141 [qa] preciousblock: Use assert_equal and BitcoinTestFramework.__init__ (MarcoFalke)
2018-01-15 06:14:15 +01:00
Wladimir J. van der Laan
56ed800843 Merge #8894: [Testing] Include fRelay in mininode version messages
e5d682f Fix mininode version message format (jnewbery)
2018-01-15 06:14:15 +01:00
Wladimir J. van der Laan
1121f2f951 Merge #9098: [qa] Handle zombies and cluttered tmpdirs
fab0f07 [qa] rpc-tests: Apply random offset to portseed (MarcoFalke)
fae19aa [qa] test_framework: Exit when tmpdir exists (MarcoFalke)
2018-01-15 06:14:15 +01:00
MarcoFalke
3d7bb9cf55 Merge #9077: [qa] Increase wallet-dump RPC timeout
e89614b [qa] Add more helpful RPC timeout message (Russell Yanofsky)
8463aaa [qa] Increase wallet-dump RPC timeout (Russell Yanofsky)
2018-01-15 06:14:11 +01:00
Wladimir J. van der Laan
9d661f4337 Merge #8675: Make copyright header lines uniform
4b04e32 [copyright] copyright header style uniform (isle2983)
2018-01-13 13:44:39 +01:00
Wladimir J. van der Laan
efded3ca9c Merge #7551: Add importmulti RPC call
215caba Add consistency check to RPC call importmulti (Pedro Branco)
cb08fdb Add importmulti rpc call (Pedro Branco)
2018-01-13 13:44:37 +01:00
Wladimir J. van der Laan
dc9556a890 Merge #7948: RPC: augment getblockchaininfo bip9_softforks data
fc14609 RPC: augment getblockchaininfo bip9_softforks data (mruddy)
2018-01-13 13:44:37 +01:00
Wladimir J. van der Laan
6e871c0c2e Merge #6996: Add preciousblock RPC
5805ac8 Add preciousblock tests (Pieter Wuille)
5127c4f Add preciousblock RPC (Pieter Wuille)
2018-01-12 09:58:15 +01:00
MarcoFalke
23ac000008 Merge #8860: [qa] util: Move wait_bitcoinds() into stop_nodes()
fa7c35c [qa] util: Move wait_bitcoinds() into stop_nodes() (MarcoFalke)
2018-01-12 09:57:56 +01:00
MarcoFalke
16532f8ee0 Merge #8857: [qa] mininode: Only allow named args in wait_until
fa66609 [qa] mininode: Only allow named args in wait_until (MarcoFalke)
2018-01-12 09:57:56 +01:00
Wladimir J. van der Laan
6b1842af87 Merge #8839: test: Avoid ConnectionResetErrors during RPC tests
1d28faf test: Avoid ConnectionResetErrors during RPC tests (Wladimir J. van der Laan)
2018-01-12 09:56:54 +01:00
Wladimir J. van der Laan
942fe0ed49 Merge #8840: test: Explicitly set encoding to utf8 when opening text files
30930e8 test: Explicitly set encoding to utf8 when opening text files (Wladimir J. van der Laan)
2018-01-12 09:56:53 +01:00
Wladimir J. van der Laan
e6af218659 Merge #8834: [qa] blockstore: Switch to dumb dbm
fa9cd25 [qa] blockstore: Switch to dumb dbm (MarcoFalke)
2018-01-12 09:56:53 +01:00
MarcoFalke
cf4bdab3b5 Merge #8827: [qa] Split up slow RPC calls to avoid pruning test timeouts
a0f8482 [qa] Split up slow RPC calls to avoid pruning test timeouts (Suhas Daftuar)
2018-01-12 08:02:45 +01:00
Alexander Block
205ff3519e Fix wallet.py test by redirecting stderr to stdout
Changes in start_node args result in warnings being printed to stderr
2018-01-11 14:47:10 +01:00
Wladimir J. van der Laan
acf0295014 Merge #8810: tests: Add exception error message for JSONRPCException
42f6aed tests: Add exception error message for JSONRPCException (Wladimir J. van der Laan)
2018-01-11 13:22:22 +01:00
Wladimir J. van der Laan
0028dbfbfd Merge #8780: [rpc] Deprecate getinfo
fa6e71b [qa] Add getinfo smoke tests and rework versionbits test (MarcoFalke)
ddddaaf [rpc] Deprecate getinfo (MarcoFalke)
2018-01-11 13:22:22 +01:00
MarcoFalke
7f4439fa63 Merge #8789: [qa] pull-tester: Only print output when failed
fa427ce [qa] pull-tester: Only print output when failed (MarcoFalke)
2018-01-11 13:22:22 +01:00
Wladimir J. van der Laan
d95a9728be Merge #8676: Add missing copyright headers
783e930 [copyright] Add missing copyright headers (isle2983)
2018-01-11 13:20:57 +01:00
Wladimir J. van der Laan
699db99321 Merge #8716: [qa] wallet: Check legacy wallet as well
fa644d0 [qa] wallet: Check legacy wallet as well (MarcoFalke)
2018-01-11 13:19:32 +01:00
MarcoFalke
9e0976ee0a Merge #8724: [qa] walletbackup: Sync blocks inside the loop
fad41f3 [qa] walletbackup: Sync blocks inside the loop (MarcoFalke)
2018-01-11 13:19:32 +01:00
MarcoFalke
9d86487352 Merge #8713: [qa] create_cache: Delete temp dir when done
fa27d99 [qa] create_cache: Delete temp dir when done (MarcoFalke)
2018-01-11 13:19:32 +01:00
MarcoFalke
93e857ed9c Merge #8652: [qa]: remove root test directory for RPC tests
c62cc4e fix path for bak file (whythat)
438e94d remove root test directory for RPC tests (whythat)
2018-01-11 13:19:32 +01:00
Alexander Block
8efec7b068 Fix wallet-accounts.py tests 2018-01-09 17:45:28 +01:00
MarcoFalke
85c0aabc11 Merge #8667: Fix SIGHASH_SINGLE bug in test_framework SignatureHash
2f2548d Fix SIGHASH_SINGLE bug in test_framework SignatureHash (Johnson Lau)
2018-01-09 14:16:39 +01:00
Wladimir J. van der Laan
c2a601f507 Merge #8680: Address Travis spurious failures
d6a5dc4 add waitfornewblock/waitforblock/waitforblockheight rpcs and use them for tests (Cory Fields)
2018-01-09 14:16:39 +01:00
Wladimir J. van der Laan
bc91f34da6 Merge #8638: rest.cpp: change HTTP_INTERNAL_SERVER_ERROR to HTTP_BAD_REQUEST
f012a85 rest.cpp: change HTTP_INTERNAL_SERVER_ERROR to HTTP_BAD_REQUEST (djpnewton)
2018-01-09 14:16:38 +01:00
MarcoFalke
e8e95994bb Merge #8625: [doc] - clarify statement about parallel jobs in rpc-tests.py
1467561 [doc] - clarify statement about parallel jobs in rpc-tests.py (isle2983)
2018-01-09 14:04:21 +01:00
Wladimir J. van der Laan
22604cbbcc Merge #8607: [doc] Fix doxygen off-by-one comments, fix typos
fafe7b3 contrib: Make fix-copyright-headers.py more portable (MarcoFalke)
fa27c0a [doc] Fix typos in comments, doxygen: Fix comment syntax (MarcoFalke)
fabfd5d [qa] pull-tester: Don't mute zmq ImportError (MarcoFalke)
67a5502 init: Fix typo in help message for -whitelistforcerelay (Wladimir J. van der Laan)
2018-01-09 14:04:21 +01:00
Wladimir J. van der Laan
15b9e43abe Merge #8581: [wallet] rpc: Drop misleading option
fab5ecb [wallet] rpc: Drop misleading option (MarcoFalke)
2018-01-09 14:04:20 +01:00
Wladimir J. van der Laan
e61556e20e Merge #8450: [Test] Replace rpc_wallet_tests.cpp with python RPC unit tests
9578333 Remove rpc_wallet_tests.cpp (Patrick Strateman)
25400c4 Account wallet feature RPC tests. (Patrick Strateman)
2018-01-09 14:04:19 +01:00
Alexander Block
f8ffc55af2 Partially cherry-pick tests refactorings found in Bitcoin SegWit PRs
These were mixed into SegWit related PRs and are still needed in Dash.
2018-01-08 18:04:55 +01:00
MarcoFalke
5b62ad34a3 Merge #8551: [qa] Remove unused code
faaec13 [qa] Remove unused code (MarcoFalke)
2018-01-08 18:04:55 +01:00
Wladimir J. van der Laan
7231c66901 Revert "[qa] Adjust timeouts for micro-optimization of run time"
This reverts commit fa2d68f79c.

Temporary revert - see discussion in #8532.
2018-01-08 18:04:55 +01:00
Wladimir J. van der Laan
6ac01da712 Merge #8531: [qa] abandonconflict: Use assert_equal
fa64306 [qa] abandonconflict: Use assert_equal (MarcoFalke)
2018-01-08 18:04:55 +01:00
Wladimir J. van der Laan
7bba7375d0 Merge #8482: [qa] Use single cache dir for chains
fad8cf6 [qa] Use single cache dir for chains (MarcoFalke)
fa2d68f [qa] Adjust timeouts for micro-optimization of run time (MarcoFalke)
fae596f [qa] Sort scripts by time for pull_tester and don't overwrite setup_chain (MarcoFalke)
2018-01-08 18:04:55 +01:00
Wladimir J. van der Laan
bdddabb3cf Merge #8521: qa: Remove duplicate hash160 implementation
c1582d5 qa: Remove duplicate `hash160` implementation (Wladimir J. van der Laan)
2018-01-08 18:04:55 +01:00
Wladimir J. van der Laan
549894bac7 Merge #8444: Fix p2p-feefilter.py for changed tx relay behavior
2c517b3 Fix p2p-feefilter.py for changed tx relay behavior (Suhas Daftuar)
2018-01-08 18:04:55 +01:00
MarcoFalke
8c76eb7394 Merge #8400: [qa]: enable rpcbind_test
9bbb414 [qa]: enable rpcbind_test (whythat)
0ff4375 [qa]: add parsing for '<host>:<port>' argument form to rpc_url() (whythat)
2018-01-08 18:04:55 +01:00
Wladimir J. van der Laan
bc257c1a08 Merge #8305: Improve handling of unconnecting headers
e91cf4b Add test for handling of unconnecting headers (Suhas Daftuar)
96fa953 Improve handling of unconnecting headers (Suhas Daftuar)
2017-12-28 11:44:59 +01:00
MarcoFalke
2c914e8ba2 Merge #8280: Tests: Increase sync_blocks() timeouts in pruning.py
36f1b9d Tests: Increase sync_blocks() timeouts in pruning.py (Suhas Daftuar)
2017-12-28 11:44:59 +01:00
MarcoFalke
5a844dcc49 Merge #8254: [doc] Add OSX ZMQ requirement to QA readme
d241487 [doc] Add OS X ZMQ requirement to QA readme (fanquake)
2017-12-28 11:44:59 +01:00
Wladimir J. van der Laan
e2bcf8ae0c Merge #8216: [qa] assert 'changePosition out of bounds'
fa58f94 [qa] pull-tester: Start longest test first (MarcoFalke)
fa3b379 [qa] pull-tester: Fix assertion and check for run_parallel (MarcoFalke)
fa32465 [qa] fundrawtransaction: Create get_unspent() (MarcoFalke)
fa8ce3b [qa] assert 'changePosition out of bounds' (MarcoFalke)
2017-12-28 11:44:59 +01:00
Wladimir J. van der Laan
782745b05b Merge #8066: [qa] test_framework: Use different rpc_auth_pair for each node
fad1845 [qa] test_framework: Use different rpc_auth_pair for each node (MarcoFalke)
2017-12-28 11:44:59 +01:00
MarcoFalke
6227cfdad5 Merge #8214: [qa] mininode: fail on send_message instead of silent return
facb6c0 [qa] mininode: fail on send_message instead of silent return (MarcoFalke)
2017-12-28 11:44:59 +01:00
Wladimir J. van der Laan
c783b39ce7 Merge #8171: [RPC] Fix createrawtx sequence number unsigned int parsing
6fa950a [RPC] Fix createrawtx sequence number unsigned int parsing (Jonas Schnelli)
2017-12-28 11:44:59 +01:00
Alexander Block
f00aeb87c8 Fix failing test in p2p-fullblocktest.py 2017-12-22 19:35:34 +01:00
Wladimir J. van der Laan
2e51d82735 Merge #8201: [qa] fundrawtransaction: Fix race, assert amounts
fae1d06 [qa] fundrawtransaction: Fix race, assert amounts (MarcoFalke)
fa26c42 [qa] util: Move check_fee_amount out of wallet.py (MarcoFalke)
2017-12-22 17:20:43 +01:00
Wladimir J. van der Laan
e7e3a80712 Merge #8141: Continuing port of java comparison tool
ff2dcf2 Tests: Edit bloated varint test and add option for 'barely expensive' tests (mrbandrews)
12c5a16 Catch exceptions from non-canonical encoding and print only to log (mrbandrews)
291f8aa Continuing port of java comptool (mrbandrews)
8c9e681 Tests: Rework blockstore to avoid re-serialization. (mrbandrews)
2017-12-22 17:20:43 +01:00
Wladimir J. van der Laan
b95a338b30 Merge #8133: build: Finish up out-of-tree changes
d1a3d57 bulid: fix "make translate" when out-of-tree (Cory Fields)
340012d build: add temporary fix for "bad magic number" error in out-of-tree builds (Cory Fields)
142ffc7 travis: use out-of-tree build (Cory Fields)
92e37a3 build: fix out-of-tree 'make deploy' for osx (Cory Fields)
ab95d5d build: a few ugly hacks to get the rpc tests working out-of-tree (Cory Fields)
fc4ad0c build: more out-of-tree fixups (Cory Fields)
0cb0f26 build: out-of-tree fixups (Cory Fields)
2017-12-22 17:20:31 +01:00
Pieter Wuille
b9a00f6294 Merge #7292: [RPC] Expose ancestor/descendant information over RPC
176e19b Mention new RPC's in release notes (Suhas Daftuar)
7f6eda8 Add ancestor statistics to mempool entry RPC output (Suhas Daftuar)
a9b8390 Add test coverage for new RPC calls (Suhas Daftuar)
b09b813 Add getmempoolentry RPC call (Suhas Daftuar)
0dfd869 Add getmempooldescendants RPC call (Suhas Daftuar)
8f7b5dc Add getmempoolancestors RPC call (Suhas Daftuar)
5ec0cde Refactor logic for converting mempool entries to JSON (Suhas Daftuar)
2017-12-22 17:20:31 +01:00
Wladimir J. van der Laan
05419aba3c Merge #8153: [rpc] fundrawtransaction feeRate: Use BTC/kB
fa7f4f5 [rpc] fundrawtransaction feeRate: Use BTC/kB (MarcoFalke)
faf82e8 [rpc] fundrawtransaction: Fix help text and interface (MarcoFalke)
2017-12-22 16:33:56 +01:00
Wladimir J. van der Laan
2ee817fb0d Merge #8078: Disable the mempool P2P command when bloom filters disabled
3d3602f Add RPC test for the p2p mempool command in conjunction with disabled bloomfilters (Jonas Schnelli)
beceac9 Disable the mempool P2P command when bloom filters disabled (Peter Todd)
2017-12-22 16:33:55 +01:00
Wladimir J. van der Laan
9af87c8269 Merge #7957: [RPC][Bitcoin-TX] Add support for sequence number
ae357d5 [Bitcoin-Tx] Add tests for sequence number support (Jonas Schnelli)
e59336f [bitcoin-tx] allow to set nSequence number over the in= command (Jonas Schnelli)
a946bb6 [RPC] createrawtransaction: add option to set the sequence number per input (Jonas Schnelli)
2017-12-22 16:33:55 +01:00
Wladimir J. van der Laan
c69df9b82c Merge #7967: [RPC] add feerate option to fundrawtransaction
04eaa90 Add more clear interface for CoinControl.h regarding individual feerate (Jonas Schnelli)
3b35e48 [RPC] add feerate option to fundrawtransaction (Jonas Schnelli)
2017-12-22 16:33:55 +01:00
MarcoFalke
af51e591b4 Merge #8139: Fix interrupted HTTP RPC connection workaround for Python 3.5+
f45f51e Fix interrupted HTTP RPC connection workaround for Python 3.5+ (Pieter Wuille)
2017-12-22 16:33:55 +01:00
Alexander Block
475dbd49be Pass sys.stdout to Popen instead of subprocess.STDOUT
For some reason, subprocess.STDOUT is completely ignored when run on
Travis. Using sys.stdout however works as expected.
2017-12-22 08:51:30 +01:00
Wladimir J. van der Laan
a0481f1ed0 Merge #8750: [qa] Refactor RPCTestHandler to prevent TimeoutExpired
dddd04f [qa] Refactor RPCTestHandler to prevent TimeoutExpired (MarcoFalke)
2017-12-22 06:33:01 +01:00
Alexander Block
a1111cdf65 Dashify addresses/keys in signmessages.py RPC test 2017-12-21 20:37:17 +01:00
Alexander Block
21aaf92896 Introduce redirect_stderr argument to start_node
Also call it with redirect_stderr=True in all cases were non-critical
warnings are expected.
2017-12-21 20:36:54 +01:00
Alexander Block
fbe36d3db6 Pass -createwalletbackups=0 to dashd when running rpc tests
It was always complaining about failed backups due to dashd restarting too
fast. Additionally, since the recent RPC test framework backports, all
tests are expected to print NOTHING to stderr, otherwise they fail.
2017-12-21 20:35:32 +01:00
Alexander Block
69dd8f4a64 Python 3 fixes/porting in rpc tests 2017-12-21 20:34:07 +01:00
Alexander Block
2924b34401 Cast command to str when calling show_debug_msg
Throws exception otherwise.
2017-12-21 19:17:59 +01:00
MarcoFalke
0027292ac6 Merge #8104: Tests: add timeout to sync_blocks() and sync_mempools()
e871f83 Tests: add timeout to sync_blocks() and sync_mempools() (Suhas Daftuar)
2017-12-21 18:50:14 +01:00
MarcoFalke
7db5be442a Merge #8098: [qa] test_framework: Append portseed to tmpdir
fa57b0c [qa] test_framework: Append portseed to tmpdir (MarcoFalke)
2017-12-21 18:50:14 +01:00
MarcoFalke
f50b8bf669 Merge #8095: Test framework: only cleanup on successful test runs
1ad9339 Test framework: only cleanup on successful test runs (Suhas Daftuar)
2017-12-21 18:50:14 +01:00
MarcoFalke
62aaaaeac0 Merge #8047: [qa] test_framework: Set wait-timeout for bitcoind procs
fab5233 [qa] test_framework: Set wait-timeout for bitcoind procs (MarcoFalke)
2017-12-21 18:50:13 +01:00
MarcoFalke
bcecdcd8e9 Merge #8056: [qa] Remove hardcoded "4 nodes" from test_framework
fad68f7 [qa] Reduce node count for some tests (MarcoFalke)
fac9349 [qa] Remove hardcoded "4 nodes" from test_framework (MarcoFalke)
2017-12-21 18:50:13 +01:00
MarcoFalke
a0afc3ee01 Merge #8038: [qa, doc] Various minor fixes
fa83a5d [qa] wallet: Temporarily disable salvagewallet test (MarcoFalke)
fadd048 [doc] Link to clang-format in the developer notes (MarcoFalke)
fa72f7d [doc] Remove outdated line from listunspent RPC help, fix typo (MarcoFalke)
ac40ed7 Increase timeout waiting for pruned blk00000.dat (error10)
2017-12-21 18:50:13 +01:00
Wladimir J. van der Laan
f0fe21d372 Merge #8041: [qa] Fix bip9-softforks blockstore issue
fad60b3 [qa] Fix bip9-softforks blockstore issue (MarcoFalke)
2017-12-21 18:50:13 +01:00
MarcoFalke
f1996dc8ca Merge #7972: [qa] pull-tester: Run rpc test in parallel
ccccc59 [qa] Add option --portseed to test_framework (MarcoFalke)
fa494de [qa] pull-tester: Run rpc test in parallel (MarcoFalke)
2017-12-21 18:50:13 +01:00
MarcoFalke
8bafa06b75 Merge #7971: [qa] Refactor test_framework and pull tester
fad3366 [qa] pull-tester: Adjust comment (MarcoFalke)
fafb33c [qa] Stop other nodes, even when one fails to stop (MarcoFalke)
2222dae [qa] Update README.md (MarcoFalke)
fabbf6b [qa] Refactor test_framework and pull tester (MarcoFalke)
2017-12-21 18:50:13 +01:00
MarcoFalke
24ff341025 Merge #8018: Autofind rpc tests --srcdir
5ea4508 Autofind rpc tests --srcdir (Jonas Schnelli)
2017-12-21 18:50:13 +01:00
Wladimir J. van der Laan
19a6c779e7 Merge #8030: test: Revert fatal-ness of missing python-zmq
65fee8e test: Revert fatal-ness of missing python-zmq (Wladimir J. van der Laan)
2017-12-21 18:50:13 +01:00
Wladimir J. van der Laan
25147c9dc7 Merge #7814: [qa] Switch to py3
fa389d4 [qa] Switch to py3 (MarcoFalke)
2017-12-21 17:31:54 +01:00
Wladimir J. van der Laan
90b00cfc66 Merge #7953: Create signmessagewithprivkey rpc
7db0ecb Test for signing messages (Andrew Chow)
f90efbf Create signmessagewithprivkey rpc (Andrew)
2017-12-21 17:30:51 +01:00
Alexander Block
7d40461862 Fix failing fundrawtransaction tests 2017-12-20 21:43:27 +01:00
Alexander Block
2c63839f23 Dashify fundrawtransaction exception
Fixes test failure
2017-12-20 17:32:14 +01:00
Alexander Block
c3e590968d Add missing parts from bitcoin PR #7762 2017-12-20 17:25:03 +01:00
Wladimir J. van der Laan
6c7d133801 Merge #7518: Add multiple options to fundrawtransaction
f2d0944 Add lockUnspents option to fundrawtransaction (João Barbosa)
af4fe7f Add change options to fundrawtransaction (João Barbosa)
41e835d Add strict flag to RPCTypeCheckObj (João Barbosa)
2017-12-20 17:25:02 +01:00
Wladimir J. van der Laan
ac53190bfe Add missing changes from Bitcoin #7853
Missed due to conflict resolution in out-of-order backports
2017-12-20 17:24:57 +01:00
Wladimir J. van der Laan
cc3a06bf53 Merge #7863: getblockchaininfo: make bip9_softforks an object, not an array.
d12760b rpc-tests: handle KeyError nicely in test_framework.py (Rusty Russell)
85c807c getblockchaininfo: make bip9_softforks an object, not an array. (Rusty Russell)
2017-12-20 14:58:27 +01:00
Wladimir J. van der Laan
a8aeff143b Merge #7801: [qa] Remove misleading "errorString syntax"
ffff866 [qa] Remove misleading "errorString syntax" (MarcoFalke)
2017-12-20 14:45:12 +01:00
Alexander Block
f235b6a6ac Apply review suggestions/fixes 2017-12-20 07:51:20 +01:00
Wladimir J. van der Laan
e7d9ffa5d7 Merge #7774: RPC: add versionHex in getblock and getblockheader JSON results
92107d5 RPC: add versionHex in getblock and getblockheader JSON results; expand data in getblockchaininfo bip9_softforks field. (mruddy)
2017-12-19 13:42:36 +01:00
Wladimir J. van der Laan
ba65eb1ac3 Merge #7764: [qa] Don't run pruning.py twice
faa9f01 [qa] Don't run pruning.py twice (MarcoFalke)
2017-12-19 13:18:30 +01:00
Wladimir J. van der Laan
e2fefa539d Merge #7558: [RPC] Add import/removeprunedfunds rpc call
f1bb13c Added companion removeprunedfunds call. (instagibbs)
7eb7029 Add importprunedfunds rpc call (instagibbs)
2017-12-19 13:18:30 +01:00
Wladimir J. van der Laan
760d58e3dc Merge #7671: [RPC] Add generatetoaddress rpc to mine to an address
d5c5c71 RPC tests for generatetoaddress (Andrew C)
fe00ca7 Create generatetoaddress rpc (Andrew C)
2017-12-19 13:18:30 +01:00
Wladimir J. van der Laan
11ac70af9e Merge #7542: Implement "feefilter" P2P message
0371797 modify release-notes.md and bips.md (Alex Morcos)
b536a6f Add p2p test for feefilter (Alex Morcos)
5fa66e4 Create SingleNodeConnCB class for RPC tests (Alex Morcos)
9e072a6 Implement "feefilter" P2P message. (Alex Morcos)
2017-12-19 13:18:30 +01:00
Wladimir J. van der Laan
f1e95e3584 Merge #7635: [Documentation] Add dependency info to test docs
2ab835a Check if zmq is installed in tests, update docs (Elliot Olds)
2017-12-19 12:55:49 +01:00
UdjinM6
0658252f59
Merge pull request #1770 from codablock/pr_backport_bitcoin_0.12-1
Backport missing PRs from Bitcoin 0.13 - Part 1
2017-12-19 14:41:47 +03:00
UdjinM6
362becbcce
Bump MIN_PEER_PROTO_VERSION to 70208 (#1772)
Drop old (pre-v0.12.2.x) peers
2017-12-12 04:24:10 +03:00
Wladimir J. van der Laan
5323a08afa Merge #7300: [trivial] Add missing copyright headers
fabcee1 Remove copyright header from autogenerated chainparamsseeds.h (MarcoFalke)
fa60d05 Add missing copyright headers (MarcoFalke)
fa7e4c0 Bump copyright headers to 2014 (MarcoFalke)
2017-12-11 08:08:48 +01:00
Wladimir J. van der Laan
85919332dd Merge #7236: Use createrawtx locktime parm in txn_clone
e279038 Use createrawtx locktime parm in txn_clone (Tom Harding)
2017-12-10 00:04:02 +01:00
UdjinM6
3028af19f1
post-DIP0001 cleanup (#1763)
* post-DIP0001 cleanup

also fixes tests

* bump nMinimumChainWork and defaultAssumeValid
2017-12-07 12:43:23 +03:00
Pieter Wuille
c81394b975 Merge #10195: Switch chainstate db and cache to per-txout model
589827975 scripted-diff: various renames for per-utxo consistency (Pieter Wuille)
a5e02bc7f Increase travis unit test timeout (Pieter Wuille)
73de2c1ff Rename CCoinsCacheEntry::coins to coin (Pieter Wuille)
119e552f7 Merge CCoinsViewCache's GetOutputFor and AccessCoin (Pieter Wuille)
580b02309 [MOVEONLY] Move old CCoins class to txdb.cpp (Pieter Wuille)
8b25d2c0c Upgrade from per-tx database to per-txout (Pieter Wuille)
b2af357f3 Reduce reserved memory space for flushing (Pieter Wuille)
41aa5b79a Pack Coin more tightly (Pieter Wuille)
97072d668 Remove unused CCoins methods (Pieter Wuille)
ce23efaa5 Extend coins_tests (Pieter Wuille)
508307968 Switch CCoinsView and chainstate db from per-txid to per-txout (Pieter Wuille)
4ec0d9e79 Refactor GetUTXOStats in preparation for per-COutPoint iteration (Pieter Wuille)
13870b56f Replace CCoins-based CTxMemPool::pruneSpent with isSpent (Pieter Wuille)
05293f3cb Remove ModifyCoins/ModifyNewCoins (Pieter Wuille)
961e48397 Switch tests from ModifyCoins to AddCoin/SpendCoin (Pieter Wuille)
8b3868c1b Switch CScriptCheck to use Coin instead of CCoins (Pieter Wuille)
c87b957a3 Only pass things committed to by tx's witness hash to CScriptCheck (Matt Corallo)
f68cdfe92 Switch from per-tx to per-txout CCoinsViewCache methods in some places (Pieter Wuille)
000391132 Introduce new per-txout CCoinsViewCache functions (Pieter Wuille)
bd83111a0 Optimization: Coin&& to ApplyTxInUndo (Pieter Wuille)
cb2c7fdac Replace CTxInUndo with Coin (Pieter Wuille)
422634e2f Introduce Coin, a single unspent output (Pieter Wuille)
7d991b55d Store/allow tx metadata in all undo records (Pieter Wuille)
c3aa0c119 Report on-disk size in gettxoutsetinfo (Pieter Wuille)
d34242430 Remove/ignore tx version in utxo and undo (Pieter Wuille)
7e0032290 Add specialization of SipHash for 256 + 32 bit data (Pieter Wuille)
e484652fc Introduce CHashVerifier to hash read data (Pieter Wuille)
f54580e7e error() in disconnect for disk corruption, not inconsistency (Pieter Wuille)
e66dbde6d Add SizeEstimate to CDBBatch (Pieter Wuille)

Tree-SHA512: ce1fb1e40c77d38915cd02189fab7a8b125c7f44d425c85579d872c3bede3a437760997907c99d7b3017ced1c2de54b2ac7223d99d83a6658fe5ef61edef1de3
2017-10-31 21:19:11 +01:00
Alexander Block
b06a6a2e74 Fix use of missing self.log in blockchain.py
self.log will only be available in later backports. Use print until these
are backported.
2017-10-26 16:30:56 +02:00
Pieter Wuille
fc5ced317f Merge #10445: Add test for empty chain and reorg consistency for gettxoutsetinfo.
513da90cd Add test for empty chain and reorg consistency for gettxoutsetinfo. (Gregory Maxwell)
822755a42 Fix: make CCoinsViewDbCursor::Seek work for missing keys (Pieter Wuille)

Tree-SHA512: e549921e8b8f599bf61ebe0ee7ef1d2f474043723d633e24665fe434b996a98e039612de8a1c2cd16b63f154943ff5ea1c1935e9561cfb813a00d47d926d0b22
2017-10-24 13:54:07 +02:00
UdjinM6
72b221f745 Revert "fix BIP68 granularity and mask (#1641)" (#1647)
This reverts commit d3829e55b1.

Reverting and postponing the fix till later. Probably should write a DIP and explore different options first.
2017-09-21 16:58:23 +03:00
Ilya Savinov
b41f8d3dd6 fix instantsend-related RPC output (#1628)
* revert confirmations to its original meaning ("Blockchain Confirmations") and also remove bcconfirmations completely
* add new field instantlock (bool) to the RPC output of gettransaction, listtransactions and listsinceblock commands to indicate that tx was locked via InstantSend
* add optional `addlockconf` in addition to `minconf` parameter to all the commands where it makes sense
* fix `wallet.py` test and `vRPCConvertParams` set
* add addlockconf parameter for listreceivedbyaccount/listreceivedbyaddress commands
2017-09-20 23:34:54 +03:00
UdjinM6
cd76f2a15c Disable HD wallet by default (#1629)
* disable hd wallet by default, fix related comments/help strings

* split tests for HD and non-HD cases
2017-09-20 23:31:12 +03:00
Oleg Girko
8949f4345f Wait for full sync in functional tests that use getblocktemplate. (#1642)
The getblocktemplate RPC call fails if used before node is fully synced.
This change fixes extended functional tests that were failing
because of that.

Signed-off-by: Oleg Girko <ol@infoserver.lv>
2017-09-20 23:30:43 +03:00
UdjinM6
d3829e55b1 fix BIP68 granularity and mask (#1641)
fixes https://github.com/dashpay/dash/issues/1552
2017-09-20 23:30:21 +03:00
Alexander Block
690cb58f80 Backport Bitcoin Qt/Gui changes up to 0.14.x part 1 (#1614)
* Merge pull request #7154

a3c3ddb [Qt] add InMempool() info to transaction details (Jonas Schnelli)

* Merge pull request #7218

fa5769e [qt] Fix misleading translation (MarcoFalke)
fa8c8d7 torcontrol debug: Change to a blanket message that covers both cases (MarcoFalke)

* Merge pull request #7255

6fd0a07 Remove hardcoded fee from CoinControl ToolTip (fanquake)
5fdf32d Replace some instances of formatWithUnit with formatHtmlWithUnit (fanquake)

* Merge pull request #7263

a5a0831 Double semicolon cleanup. (21E14)

* Merge pull request #7334

fa989fb [qt] coincontrol workaround is still needed in qt5.4 (fixed in qt5.5) (MarcoFalke)

* Merge pull request #7329

9d263bd Typo fixes in comments (Chris Wheeler)

* Merge #7396: [Qt] Add option to increase/decrease font size in the console window

43abb02 [Qt] Add a new chevron/arrow icon for the console prompt line (Jonas Schnelli)
56c9e66 [Qt] keep scroll position in GUI console after changing font size (Jonas Schnelli)
3a3a927 [Qt] Add option to increase/decrease font size in the console window (Jonas Schnelli)

* Merge #7628: QT: Add 'copy full transaction details' option

b51ed40 QT: Add 'copy full transaction details' option (Eric Shaw)

* Merge #7668: Fix history deletion bug after font size change

21e45a0 Fix history deletion bug after font change (Andrew C)

* Copy/Move font size related icons into theme folders

* Use formatTxDate for date/time in TxPlainTextRole
2017-09-07 18:59:00 +03:00
Oleg Girko
9268a336dd Backport Bitcoin PR#7917: Optimize reindex (#1515)
* Make ProcessNewBlock dbp const and update comment

* Switch reindexing to AcceptBlock in-loop and ActivateBestChain afterwards

* Optimize ActivateBestChain for long chains

* Add -reindex-chainstate that does not rebuild block index

* Report reindexing progress in GUI
2017-07-10 17:41:14 +03:00
Oleg Girko
b0843c397c Backport Bincoin PR#7348: MOVE ONLY: move rpc* to rpc/ + same for Dash-specific rpc (#1502) 2017-07-03 16:13:34 +03:00
UdjinM6
27f3218de9 HD wallet (#1405)
* HD wallet

Minimal set of changes (no refactoring) backported from Bitcoin upstream to make HD wallets work in Dash 0.12.1.x+

* minimal bip44 (hardcoded account and change)

* minimal bip39

Additional cmd-line options for new wallet:
-mnemonic
-mnemonicpassphrase

* Do not recreate HD wallet on encryption

Adjusted keypool.py test

* Do not store any private keys for hd wallet besides the master one

Derive all keys on the fly.
Original idea/implementation - btc PR9298, backported and improved

* actually use bip39

* pbkdf2 test

* backport wallet-hd.py test

* Allow specifying hd seed, add dumphdseed rpc, fix bugs

- -hdseed cmd-line param to specify HD seed on wallet creation
- dumphdseed rpc to dump HD seed
- allow seed of any size
- fix dumpwallet rpc bug (wasn't decrypting HD seed)
- print HD seed and extended public masterkey on dumpwallet

* top up keypool on HD wallet encryption

* split HD chain: external/internal

* add missing cs_wallet lock in init.cpp

* fix `const char *` issues (use strings)

* default mnemonic passphrase is an empty string in all cases

* store mnemonic/mnemonicpassphrase

replace dumphdseed with dumphdinfo

* Add fCrypted flag to CHDChain

* prepare internal structures for multiple HD accounts

(plus some code cleanup)

* use secure allocator for storing sensitive HD data

* use secure strings for mnemonic(passphrase)

* small fix in GenerateNewHDChain

* use 24 words for mnemonic by default

* make sure mnemonic passphrase provided by user does not exceed 256 symbols

* more usage of secure allocators and memory_cleanse

* code cleanup

* rename: CSecureVector -> SecureVector

* add missing include

* fix warning in rpcdump.cpp

* refactor mnemonic_check (also fix a bug)

* move bip39 functions to CMnemonic

* Few fixes for CMnemonic:
- use `SecureVector` for data, bits, seed
- `Check` should return bool

* init vectors with desired size where possible
2017-05-29 14:51:40 +03:00
UdjinM6
ff30aed68f Align with btc 0.12 (#1409)
* Implement BIP 9 GBT changes

- BIP9DeploymentInfo struct for static deployment info
- VersionBitsDeploymentInfo: Avoid C++11ism by commenting parameter names
- getblocktemplate: Make sure to set deployments in the version if it is LOCKED_IN
- In this commit, all rules are considered required for clients to support

* qa/rpc-tests: bip9-softforks: Add tests for getblocktemplate versionbits updates

* getblocktemplate: Explicitly handle the distinction between GBT-affecting softforks vs not

* getblocktemplate: Use version/force mutation to support pre-BIP9 clients

* Don't use floating point

Github-Pull: #8317
Rebased-From: 477777f250

* Send tip change notification from invalidateblock

This change is needed to prevent sync_blocks timeouts in the mempool_reorg
test after the sync_blocks update in the upcoming commit
"[qa] Change sync_blocks to pick smarter maxheight".

This change was initially suggested by Suhas Daftuar <sdaftuar@chaincode.com>
in https://github.com/bitcoin/bitcoin/pull/8680#r78209060

Github-Pull: #9196
Rebased-From: 67c6326abd

* torcontrol: Explicitly request RSA1024 private key

When generating a new service key, explicitly request a RSA1024 one.

The bitcoin P2P protocol has no support for the longer hidden service names
that will come with ed25519 keys, until it does, we depend on the old
hidden service type so make this explicit.

See #9214.

Github-Pull: #9234
Rebased-From: 7d3b627395

* Bugfix: FRT: don't terminate when keypool is empty

Github-Pull: #9295
Rebased-From: c24a4f5981

* add fundrawtransaction test on a locked wallet with empty keypool

Github-Pull: #9295
Rebased-From: 1a6eacbf3b
2017-04-11 13:53:54 +03:00
UdjinM6
9ed9474a9e Drop support for pre-12.1 nodes (#1394) 2017-03-14 09:22:00 +03:00
Holger Schinzel
e1702cd4ec bump copyright notice to 2017 (#1207) 2016-12-20 17:26:45 +04:00
UdjinM6
2d55b70381 (log) tweaks and (general) cleanup (#1086)
* docs

* deprecated/unused/duplicate

* comments

* log cleanup/verbosity tuning

* names/ifs/whitespaces/std
2016-10-22 20:52:14 +04:00
UdjinM6
790607b060 Fix wallet.py iand util.py after merging bitcoin 0.12 2016-08-26 13:42:52 +03:00
UdjinM6
6af7a58d92 Merge remote-tracking branch 'bitcoin/0.12' into mergebtc12, fix/dashify
NOTE: .travis.yml was mostly preserved, probably needs additional attention
2016-08-26 04:09:20 +03:00
UdjinM6
c04e14fa61 Merge #958: test: fix determinism of address index test
5765e5f cherry-pick 05cf410839
2016-08-23 05:27:52 -06:00
Tim Flynn
9a8f2e4507 V0.12.1.x governance bugfix 1 (#952)
* Fix governance message handling bug

* Added a 2 second delay to the addressindex blockchain reorganization test
2016-08-20 20:51:01 +04:00
Tim Flynn
123aa04d5b Merge #950: V0.12.1.x governance pr 2
13316a4 Return true from IsBlockValueValid when masternode data is not synced
  - This restores behavior very close to that in 12.0
  - Needed to prevent the forking problem currently being seen on
    testnet between online and offline nodes
  - This is expected to be a temporary fix while we develop a
    long-term solution for this problem

427086e Restore miner payments for superblocks

794b90d Added IsSynced field to JSON output of mnsync status RPC command
  - This is needed to allow fixing RPC tests so that they wait until
    the nodes are fully synced before performing tests

a9ddf6f Wait for nodes to sync masternode data during p2p-fullblocktest
2016-08-19 05:53:49 -06:00
Evan Duffield
338b0ce934 Merge pull request #914 from UdjinM6/dashBitcore1
Merge Bitpay's version of Bitcoin Core (additional indexes)
2016-08-08 12:53:34 -07:00
Evan Duffield
dd539c3d69 Merge pull request #905 from UdjinM6/dashcoreDatadir
Change default datadir
2016-08-08 12:42:35 -07:00
UdjinM6
3e0eee4c84 Merge #921: Fix project name Dash -> Dash Core
ef1612a Fix project name Dash -> Dash Core
2016-07-29 07:30:19 +02:00
UdjinM6
1e1a02be36 fix tests 2016-07-19 11:15:54 +03:00
UdjinM6
48d0edcbdf Merge remote-tracking branch 'bitpay/0.12.1-bitcore' into dashBitcore1
Resolved Conflicts:
	.travis.yml (ignoring changes, leaving dash version)
	src/Makefile.am
	src/main.cpp
	src/main.h
	src/rpcclient.cpp
	src/rpcserver.cpp
	src/script/script.cpp
	src/script/script.h
2016-07-19 08:49:28 +03:00
BtcDrak
c4e5688230 Rename NOP3 to CHECSEQUENCEVERIFY in rpc tests 2016-07-08 11:44:16 +01:00
BtcDrak
ac5577b512 Rename OP_NOP3 to OP_CHECKSEQUENCEVERIFY 2016-07-08 11:44:16 +01:00
UdjinM6
dd5bd97561 change default datadir to DashCore(Win,Mac)/.dashcore(Linux) as discussed in #898 2016-07-06 23:26:21 +03:00
Holger Schinzel
f4e4dd65e7 Tag 0.12.1 final
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEbBAABCgAGBQJXD/i3AAoJEHSBCwEjRsmmOHsH+L5eRpiPeLhrDYyBFbp9RFKU
 TztyoeKAM4llEPmk6vAawgSL8HNY4va6lbY84sDfvCdLJqCxVR7MyiuQ4AQPXG4R
 Ke5DJ/G/K4ngyqruCBsSh2RJdVDrbE3zCmjN5gxPxrNKpi+mXs//A6gjvfxn4U1F
 WZepN3FzNFcqFG/ndKxptMYZoIuiK9JIhK7V/ksFKRPlUhipa1jh5sIWvCeFjiLT
 Wt8wGlHPHDFsPJW1o7EWMTHRhNCVqYhMDU7GT6FixIJFRGANIGlwfIUuqqUt0sil
 7YWIwD/+ai3dfeODazauqJAOEBXjoWCkuXn9IN/VhtvHOFR6AZO2aljS9ks6Cw==
 =6vRi
 -----END PGP SIGNATURE-----

Merge bitcoin tag 'v0.12.1' into dash v0.12.1.x

Merging Bitcoin 0.12.1 into Dash 0.12.1.x
2016-07-04 11:20:16 +02:00
Braydon Fuller
d28f886684 Revert "rpc: add input confirmations to getrawtransaction" 2016-06-15 20:22:35 -04:00
Chris Kleeschulte
645ae33bec Merge pull request #20 from braydonf/0.12.1-bitcore-inputconfs
rpc: add input confirmations to getrawtransaction
2016-06-15 13:36:31 -04:00
Braydon Fuller
c01f78375e mempool: same address and index for an input and output bug
fixes a bug that would happen when an output would match an input with
the same address and index, and would lead to the outputs not appearing
in results.
2016-06-13 11:23:30 -04:00
Braydon Fuller
4dcf3e821c mempool: fix bug with mempool address index iteration
fixes a minor bug where iteration would not end when there are matching
hashes for a p2sh and p2pkh address, and would return results for
both addresses
2016-06-13 11:23:30 -04:00
Braydon Fuller
809a8abff6 tests: expanded address index mempool testing 2016-06-13 11:23:30 -04:00
Braydon Fuller
fea930aa8c rpc: add input confirmations to getrawtransaction 2016-06-13 11:15:34 -04:00
MarcoFalke
dc38a53d56 [qa] Move create_tx() to util.py
(cherry picked from commit fa8cd46f39)
2016-06-10 00:33:26 +02:00
MarcoFalke
c0fe8b5c7d [qa] smartfees: Properly use ordered dict
Github-Pull: #7980
Rebased-From: fa17f93fbd 43bbcd0753
2016-06-10 00:25:22 +02:00
MarcoFalke
493b89e959 [qa] test_framework: Properly print exceptions and assert empty dict
Github-Pull: #7951
Rebased-From: 5555528b47 fada064f67
2016-06-10 00:22:41 +02:00
Suhas Daftuar
7a8348994b Tests: Fix deserialization of reject messages
Github-Pull: #7912
Rebased-From: 807fa47a1e
2016-06-10 00:20:33 +02:00
MarcoFalke
e0b1bbeae0 [qa] pull-tester: Don't mute zmq ImportError
Github-Pull: #7851
Rebased-From: fa05e22e91 faa4f22342 fae1f4ebfe
2016-06-10 00:11:51 +02:00
Elliot Olds
697ed8c827 Check if zmq is installed in tests, update docs
Github-Pull: #7635
Rebased-From: 2ab835ae6c
2016-06-10 00:07:50 +02:00
Wladimir J. van der Laan
d5a9de352c tests: Check Content-Type header returned from RPC server
Github-Pull: #7833
Rebased-From: 5078ca4543
2016-06-10 00:03:57 +02:00
MarcoFalke
ed2f0e3ac1 [qa] maxblocksinflight: Actually enable test
Github-Pull: #7803
Rebased-From: fac724c78f
2016-06-10 00:01:51 +02:00
MarcoFalke
3036282c7a [qa] httpbasics: Actually test second connection
Github-Pull: #7802
Rebased-From: fa24456d0c
2016-06-10 00:01:08 +02:00
Wladimir J. van der Laan
afbc000b0b test_framework: python3.4 authproxy compat
Github-Pull: #7751
Rebased-From: d7b80b54fb e7e48ba66c
2016-06-09 23:55:27 +02:00
Wladimir J. van der Laan
80b6bfaeaa test_framework: detect failure of bitcoind startup
Github-Pull: #7744
Rebased-From: 018b60c5ea
2016-06-09 23:51:53 +02:00
Alex Morcos
4ffd309b25 Create SingleNodeConnCB class for RPC tests
(cherry picked from commit 5fa66e4682)
2016-06-09 23:44:55 +02:00
Braydon Fuller
55fa4798eb main: spentindex for the mempool 2016-06-02 12:15:59 -04:00
Braydon Fuller
4c7dc871d1 rpc: add input value and address to getrawtransaction if spentindex enabled 2016-06-02 12:15:38 -04:00
Braydon Fuller
87dfd13694 rpc: include satoshis in verbose raw transaction 2016-06-02 12:15:38 -04:00
Braydon Fuller
1c022b9fc2 rpc: add blockindex to getaddressdeltas method
for the purposes of secondary sorting by block order
2016-06-02 12:15:37 -04:00
Wladimir J. van der Laan
9c5b709c6f tests: Make proxy_test work on travis servers without IPv6
Github-Pull: #7489
Rebased-From: 7539f1aae3
Cherry-picked-From: 9ca957bcd4
2016-06-02 12:15:37 -04:00
Braydon Fuller
98f8fdddc8 rpc: optional "start" and "end" params for getaddressdeltas 2016-06-02 12:15:37 -04:00
Braydon Fuller
8391ff0b0a rpc: include base58check encoded address in results 2016-06-02 12:15:37 -04:00
Braydon Fuller
28f9ae7853 test: test for getaddressmempool prevhash and prevout values 2016-06-02 12:15:37 -04:00
Braydon Fuller
94ea69a4d5 rpc: fix issue with querying txids by block heights 2016-06-02 12:15:37 -04:00
Braydon Fuller
96d8307b55 rpc: query txids for addresses within block height range 2016-06-02 12:15:37 -04:00