Andrew Chow
ac4e438229
Sanity check transaction scripts in DecodeHexTx
...
Make sure that the scripts of decoded transactions are valid scripts.
2017-06-07 14:07:26 -07:00
Andrew Chow
5b75c47784
Add a valid opcode sanity check to CScript
...
Added a function in CScript that checks if the script contains valid opcodes.
Add a test for that function
2017-06-07 12:40:01 -07:00
Pieter Wuille
e945848582
scripted-diff: Use new naming style for insecure_rand* functions
...
-BEGIN VERIFY SCRIPT-
sed -i 's/\<insecure_randbits(/InsecureRandBits(/g' src/test/*.cpp src/test/*.h src/wallet/test/*.cpp
sed -i 's/\<insecure_randbool(/InsecureRandBool(/g' src/test/*.cpp src/test/*.h src/wallet/test/*.cpp
sed -i 's/\<insecure_randrange(/InsecureRandRange(/g' src/test/*.cpp src/test/*.h src/wallet/test/*.cpp
sed -i 's/\<insecure_randbytes(/InsecureRandBytes(/g' src/test/*.cpp src/test/*.h src/wallet/test/*.cpp
sed -i 's/\<insecure_rand256(/InsecureRand256(/g' src/test/*.cpp src/test/*.h src/wallet/test/*.cpp
sed -i 's/\<insecure_rand(/InsecureRand32(/g' src/test/*.cpp src/test/*.h src/wallet/test/*.cpp
sed -i 's/\<seed_insecure_rand(/SeedInsecureRand(/g' src/test/*.cpp src/test/*.h src/wallet/test/*.cpp
-END VERIFY SCRIPT-
2017-06-07 12:08:39 -07:00
practicalswift
0abc58890c
[tests] Remove printf(...)
2017-06-07 20:42:54 +02:00
practicalswift
227ae9b34d
[tests] Use FastRandomContext instead of boost::random::{mt19937,uniform_int_distribution}
2017-06-07 20:38:03 +02:00
Pieter Wuille
2fcd9cc86b
scripted-diff: Use randbits/bool instead of randrange where possible
...
-BEGIN VERIFY SCRIPT-
sed -i 's/insecure_randbits(1)/insecure_randbool()/g' src/test/*_tests.cpp
sed -i 's/insecure_randrange(2)/insecure_randbool()/g' src/test/*_tests.cpp
sed -i 's/insecure_randrange(4)/insecure_randbits(2)/g' src/test/*_tests.cpp
sed -i 's/insecure_randrange(32)/insecure_randbits(5)/g' src/test/*_tests.cpp
sed -i 's/insecure_randrange(256)/insecure_randbits(8)/g' src/test/*_tests.cpp
-END VERIFY SCRIPT-
2017-06-07 11:35:16 -07:00
Pieter Wuille
2ada678521
Use randbits instead of ad-hoc emulation in prevector tests
2017-06-07 11:35:16 -07:00
Pieter Wuille
5f0b04eedc
Replace rand() & ((1 << N) - 1) with randbits(N)
2017-06-07 11:35:13 -07:00
Pieter Wuille
3ecabae363
Replace more rand() % NUM by randranges
2017-06-07 11:34:55 -07:00
Russell Yanofsky
24e44c354d
Don't return stale data from CCoinsViewCache::Cursor()
...
CCoinsViewCache doesn't actually support cursor iteration returning the
current contents of the cache, so raise an error when the cursor method is
called instead of returning a cursor that iterates over stale data.
Also update the gettxoutsetinfo RPC which was relying on the old behavior to be
explicit about which view it is returning data about.
2017-06-07 13:00:11 -04:00
Wladimir J. van der Laan
46311e792f
Merge #9672 : Opt-into-RBF for RPC & bitcoin-tx
...
9a5a1d7
RPC/rawtransaction: createrawtransaction: Check opt_into_rbf when provided with either value (Luke Dashjr)
23b0fe3
bitcoin-tx: rbfoptin: Avoid touching nSequence if the value is already opting in (Luke Dashjr)
b005bf2
Introduce MAX_BIP125_RBF_SEQUENCE constant (Luke Dashjr)
575cde4
[bitcoin-tx] add rbfoptin command (Jonas Schnelli)
5d26244
[Tests] extend the replace-by-fee test to cover RPC rawtx features (Jonas Schnelli)
36bcab2
RPC/Wallet: Add RBF support for fundrawtransaction (Luke Dashjr)
891c5ee
Wallet: Refactor FundTransaction to accept parameters via CCoinControl (Luke Dashjr)
578ec80
RPC: rawtransaction: Add RBF support for createrawtransaction (Luke Dashjr)
Tree-SHA512: 446e37c617c188cc3b3fd1e2841c98eda6f4869e71cb3249c4a9e54002607d0f1e6bef92187f7894d4e0746ab449cfee89be9f6a1a8831e25c70cf912eac1570
2017-06-07 15:31:40 +02:00
practicalswift
246a02fb14
Use std::unordered_{map,set} (C++11) instead of boost::unordered_{map,set}
2017-06-07 15:04:54 +02:00
Pieter Wuille
be3e042c20
Merge #10523 : Perform member initialization in initialization lists where possible
...
656dbd871
Perform member initialization in initialization lists where possible (practicalswift)
Tree-SHA512: 048380f4da23ab1eaaf471801a01dbd76f2235afb686c1489b30a6bac109195134afc83414b8378d3482a9042d537ec62d30136dadb9347cf06b07fb5c693208
2017-06-06 17:00:19 -07:00
MarcoFalke
75e898c094
Merge #10331 : Share config between util and functional tests
...
8ad5bde
Merge bctest.py into bitcoin-util-test.py (John Newbery)
95836c5
Use shared config file for functional and util tests (John Newbery)
89fcd35
Use an .ini config file for environment vars in bitcoin-util-test.py (John Newbery)
e9265df
Change help_text in bitcoin-util-test.py to a docstring. (John Newbery)
ce58e93
Change bitcoin-util-test.py to use Python3 (John Newbery)
Tree-SHA512: 66dab0b4a8546aee0dfaef134a165f1447aff4c0ec335754bbc7d9e55909721c62f09cdbf4b22d02ac1fcd5a9b66780f91e1cc4d8687fae7288cc9072a23a78f
2017-06-06 23:55:24 +02:00
MarcoFalke
2805d606bc
Merge #10522 : [wallet] Remove unused variables
...
a8c09af
Remove unused variables (practicalswift)
Tree-SHA512: 34807dc3a0471c83b086f430b66465602c8f6a3a158b54ace2ec8afb746f1f5907f7dfcde5a4bad4041df9721ec46b61681b2dbf89725c9c8c4c5ad0ca99f78f
2017-06-06 23:51:33 +02:00
MarcoFalke
32751807c9
Merge #10538 : [trivial] Fix typo: "occurrences" (misspelled as "occurrances")
...
b083db6
[trivial] Fix typo: "occurrences" (misspelled as "occurrances") (practicalswift)
Tree-SHA512: 5141526dbbbbe797ef103fcbdc0a1318648214973214607e35cc0e99abfc4dd547e3ef15fe21976c53a78b03dff140fe76e5c92a0f7e7d2b08081215983a8616
2017-06-06 23:48:10 +02:00
Luke Dashjr
c237bd750e
wallet: Update formatting
2017-06-06 21:20:22 +00:00
Luke Dashjr
9cbe8c80ba
wallet: Forbid -salvagewallet, -zapwallettxes, and -upgradewallet with multiple wallets
2017-06-06 21:20:22 +00:00
Luke Dashjr
a2a5f3f0f0
wallet: Base backup filenames on original wallet filename
2017-06-06 21:20:22 +00:00
Luke Dashjr
b823a4c9f6
wallet: Include actual backup filename in recovery warning message
2017-06-06 21:17:09 +00:00
Luke Dashjr
84dcb45017
Bugfix: wallet: Fix warningStr, errorStr argument order
2017-06-06 21:17:09 +00:00
Luke Dashjr
008c360083
Wallet: Move multiwallet sanity checks to CWallet::Verify, and do other checks on all wallets
2017-06-06 21:17:09 +00:00
Luke Dashjr
0f08575be2
Wallet: Support loading multiple wallets if -wallet used more than once
2017-06-06 21:17:09 +00:00
Luke Dashjr
b124cf04ea
Wallet: Replace pwalletMain with a vector of wallet pointers
2017-06-06 21:17:09 +00:00
John Newbery
8ad5bdef78
Merge bctest.py into bitcoin-util-test.py
...
bctest.py is only used as an import by bitcoin-util-test.py. There's no
value in keeping it as a separate module, so let's merge them into a
single module to keep building and packaging simpler.
bitcoin-test-util is importable as a module, so if any future modules
really want to import the code from bctest.py, they can import
bitcoin-test-util and call the bctest functions by name.
2017-06-06 16:42:38 -04:00
practicalswift
3fb81a8480
Use list initialization (C++11) for maps/vectors instead of boost::assign::map_list_of/list_of
2017-06-06 21:29:16 +02:00
Matt Corallo
40796e1a9d
Remove references to priority that snuck back in in 870824e9
.
...
The "priority" field should be appropriately marked as a "dummy"
value and noted that it is deprecated and will likely be removed.
2017-06-06 15:13:37 -04:00
Wladimir J. van der Laan
1b708f2cf3
Merge #10201 : pass Consensus::Params& to functions in validation.cpp and make them static
...
24980a3
Make functions in validation.cpp static and pass chainparams (Mario Dian)
Tree-SHA512: 2d1b7b0ffd851317ed522911c1b6592855376c5cbc65d71ec0f8aa507eb6caef21b0709b3692255f1d719662db7447579c10df02f6ef4cd35fcb0bdf2e653af6
2017-06-06 17:54:09 +02:00
Mario Dian
24980a3e40
Make functions in validation.cpp static and pass chainparams
...
Fix bugs as per PR comment
Change bool static to static bool
2017-06-06 22:21:30 +08:00
Wladimir J. van der Laan
300f8e7a82
Merge #9909 : tests: Add FindEarliestAtLeast test for edge cases
...
cf66f04
Add FindEarliestAtLeast test for edge cases (Russell Yanofsky)
Tree-SHA512: bed2e9b2eefe0014414f1be8f0ba236b1dcc6744a670ffa546100c62817dd06a117cc62cdff80c4988d2b374cae9a57f2bb135fc582ffb51ca2d34ab07bb3fe0
2017-06-06 15:51:45 +02:00
Wladimir J. van der Laan
980deaf0b1
Merge #10252 : RPC/Mining: Restore API compatibility for prioritisetransaction
...
870824e
RPC/Mining: Restore API compatibility for prioritisetransaction (Luke Dashjr)
Tree-SHA512: eb507500dc5ba8d17521f34f3d6eae45aa9259c38d15a75dc3e3ad45774ffb53db943be1720a97e6cd5f08e7832801e27ffb636da081a58955018b6f8f9d8fba
2017-06-06 15:49:38 +02:00
practicalswift
b083db617a
[trivial] Fix typo: "occurrences" (misspelled as "occurrances")
...
Typo introduced in 0003911326
:
$ git blame src/coins.cpp | grep occurrances
00039113
(2017-04-25 11:29:29 -0700 89) // deal with the pre-BIP30 occurrances of duplicate coinbase transactions.
2017-06-06 15:06:23 +02:00
MarcoFalke
30853e16d3
Merge #10535 : [qa] fundrawtx: Fix shutdown race
...
fa62dad
[qa] fundrawtx: Fix shutdown race (MarcoFalke)
Tree-SHA512: bf1a3dd053a0f950639bb78fc6ef6255cc5e0b3d27efb97d956f4bd3342839c28a91d8d0793ef7473ab0c8beda30034767031060ae1895408513aa1d9f7c9ff4
2017-06-06 12:28:59 +02:00
Wladimir J. van der Laan
67700b3924
Merge #10345 : [P2P] Timeout for headers sync
...
76f7481
Add timeout for headers sync (Suhas Daftuar)
e265200
Delay parallel block download until chain has sufficient work (Suhas Daftuar)
Tree-SHA512: e7f5468b7defe67d4d2d5c976bc129dba2b32b2ea52d3ff33b9cbff5c3b5b799be867653f1bcd354340d707d76dcadf2da4588abf6d6ec4a06672cdc5e1101eb
2017-06-06 12:23:56 +02:00
Wladimir J. van der Laan
16f6c98fa8
Merge #10426 : Replace bytes_serialized with bogosize
...
8b22af3
Replace bytes_serialized with bogosize (Pieter Wuille)
Tree-SHA512: e70a981bbb977329f9e324c45f9a1346ec9aacfbbad5474e608cdd1f852257502bb7db8003fd578260a609e45d1a9cf87ce96df9c4187d92d50f60a209e232ce
2017-06-06 11:46:31 +02:00
Wladimir J. van der Laan
323a46e034
Merge #10463 : Names: BIP9 vs versionbits
...
b463bc9
scripted-diff: s/BIP9DeploymentInfo/VBDeploymentInfo/ (Jorge Timón)
29c0719
Rename -bip9params to -vbparams (shaolinfry)
Tree-SHA512: a8a2bf6e24a4a7fc82f784c78c0cd92472e9ba55ce3fb22dafef3eccdcfccb2da5a6078fbeec1a8a4b6ab1f1b226976c5aba964dd5e3d029a21b109a7c044374
2017-06-06 10:18:02 +02:00
MarcoFalke
fa62dadabe
[qa] fundrawtx: Fix shutdown race
2017-06-06 01:23:01 +02:00
Luke Dashjr
9a5a1d7d45
RPC/rawtransaction: createrawtransaction: Check opt_into_rbf when provided with either value
2017-06-05 23:14:34 +00:00
Luke Dashjr
23b0fe34f5
bitcoin-tx: rbfoptin: Avoid touching nSequence if the value is already opting in
2017-06-05 23:14:34 +00:00
Luke Dashjr
b005bf21a7
Introduce MAX_BIP125_RBF_SEQUENCE constant
2017-06-05 23:14:34 +00:00
Jonas Schnelli
575cde4605
[bitcoin-tx] add rbfoptin command
2017-06-05 23:13:24 +00:00
Jonas Schnelli
5d26244148
[Tests] extend the replace-by-fee test to cover RPC rawtx features
2017-06-05 23:13:24 +00:00
Luke Dashjr
36bcab2356
RPC/Wallet: Add RBF support for fundrawtransaction
2017-06-05 23:12:29 +00:00
Luke Dashjr
891c5eeec2
Wallet: Refactor FundTransaction to accept parameters via CCoinControl
2017-06-05 23:12:03 +00:00
Luke Dashjr
578ec80d4f
RPC: rawtransaction: Add RBF support for createrawtransaction
2017-06-05 23:09:01 +00:00
Luke Dashjr
19b3648bb5
CWalletDB: Store the update counter per wallet
2017-06-05 22:27:57 +00:00
Luke Dashjr
74e8738961
Bugfix: ForceSetArg should replace entr(ies) in mapMultiArgs, not append
2017-06-05 21:04:42 +00:00
Luke Dashjr
23fb9adaea
wallet: Move nAccountingEntryNumber from static/global to CWallet
2017-06-05 21:04:42 +00:00
Luke Dashjr
9d15d5548d
Bugfix: wallet: Increment "update counter" when modifying account stuff
2017-06-05 21:04:42 +00:00
Luke Dashjr
f28eb8020e
Bugfix: wallet: Increment "update counter" only after actually making the applicable db changes to avoid potential races
...
Also does all "update counter" access via IncrementUpdateCounter
2017-06-05 21:04:42 +00:00