Commit graph

1100 commits

Author SHA1 Message Date
Gregory Sanders
07173d02f4 Merge branch 'elements-0.17' into merge_13968 2019-01-24 12:51:19 -05:00
Gregory Sanders
1cb252e01d Descriptor support in PAK infrastructure and tests 2019-01-24 11:07:17 -05:00
Gregory Sanders
bcd8db972f functional test for pak feature 2019-01-24 11:07:11 -05:00
Gregory Sanders
f1dbd1cf3d -multi_data_permitted: Allow >1 op_return output by policy 2019-01-24 11:06:59 -05:00
Gregory Sanders
60b7ef5287 MERGE-FIX: mining_basic.py: Remove magic constants, make sure serialized header deserializes 2019-01-23 16:48:36 -05:00
Gregory Sanders
c5a93c008f UPSTREAM MERGE BROKEN: Merge commit '8aa9badf5e' into e17 2019-01-23 16:48:22 -05:00
Steven Roose
d358364a36
Integration test for pegins and pegouts 2019-01-02 18:46:07 +01:00
Steven Roose
ae54d4ad74 Add pegin input serialization 2019-01-02 16:12:50 +01:00
Steven Roose
238a72bead Add arguments for parent chain characteristics 2019-01-02 16:12:42 +01:00
Gregory Sanders
ff32b17c5d elements style genesis block commits to signblockscript in CommitToArguments 2018-12-19 11:38:43 -05:00
Gregory Sanders
3169d380a6 added blocksign functional test 2018-12-19 11:38:43 -05:00
Gregory Sanders
d78f0763a1 Signed blocks by default for custom chains 2018-12-19 11:38:43 -05:00
Gregory Sanders
c00d83f126 Set walletrbf default to 1 2018-12-18 16:08:44 -05:00
Carl Dong
95432aad58 Test listunspent sanity when specifying initialfreecoins 2018-12-18 10:27:45 -08:00
Gregory Sanders
1ac14fc958 restore bitcoin regtest gen block using -genesis_style
- also regenerate test data for getblockstats
2018-12-18 10:27:43 -08:00
Carl Dong
8b8c11a44b Add initialfreecoins option, default of 0
- Add CommitToArgument without fedpegScript or signblockscript
- Modify CreateGenesisBlock to take in the genesis scriptSig
- Add AppendInitialIssuace without assets support
- AppendInitialIssuance to genesis block for Custom chain only
- Add -initialfreecoins option
- Modify tests to work with initialfreecoins
2018-12-18 10:21:51 -08:00
Carl Dong
e04f6c7018 Activate BIPs 34, 65, 66 at block 0
- Reinstate Bitcoin BIP activation heights for tests
- Add tests for block v4 after genesis block
2018-12-17 02:53:37 -08:00
Gregory Sanders
2bfabb3e4f blockheaders include block height, nodes validate it
The block height validation is gated by the startup option
`con_blockheightinheader`, accesible in custom chains only
using option `chain=<name>`. Only if set to true will this
field be (de)serialized and evaluated in consensus logic.
Otherwise the field is simply ignored, other than being
stored in memory as the default value 0.
2018-11-27 09:46:25 -05:00
Gregory Sanders
8f6bedfd4b functional framework support for CScriptNum decode 2018-11-27 09:45:15 -05:00
Gregory Sanders
609323f7b7
Merge #468: Replace deprecated tostring with tobytes
00315c8 Replace deprecated tostring with tobytes (Carl Dong)

Pull request description:

  Upstream: https://github.com/bitcoin/bitcoin/pull/13963

Tree-SHA512: 667cb8799941e7c3a567e8c9b77b77fdf1b838d170b5de2c51618e6d1284216039cb39e44f9650b6a7de325036a0d2c80aeb9cf5387da7e183f33461a31c9727
2018-11-27 09:09:53 -05:00
Gregory Sanders
9908f9a152 Add TX_TRUE output format, accept in wallet with anyonecanspendaremine 2018-11-15 15:12:12 -05:00
Carl Dong
00315c85bb Replace deprecated tostring with tobytes 2018-11-15 05:30:49 -08:00
Gregory Sanders
32f1bf26ec move most extended tests to normal 2018-11-01 14:43:44 -04:00
Gregory Sanders
e20b836aeb Actually run the bitcoin functional tests with test_runner 2018-10-26 12:00:55 -04:00
Gregory Sanders
d97920caa4 add functional test for coinbase connection to db 2018-10-25 13:21:42 -04:00
Gregory Sanders
ccf40db968 connect genesis block transaction outputs to coin db 2018-10-25 12:51:53 -04:00
Gregory Sanders
3d274183d2
Merge #445: [0.17] Duplicate bitcoin functional tests
ef039f0 Add travis build that tests bitcoin functional tests (Gregory Sanders)

Pull request description:

  We're going to keep these tests alive as long as possible to increase modularity/QA of the codebase.

Tree-SHA512: c0639422fe518cd9a5f6eb06f24a4c812d38bdde95f37a6787b10ab009e6ee9ff22b30ea8f79e6cf47581bd0d7577fe149f3e636c4c6f0488c9c6555730b8315
2018-10-24 11:00:37 -04:00
Gregory Sanders
ef039f001b Add travis build that tests bitcoin functional tests 2018-10-23 13:29:57 -04:00
Gregory Sanders
7bac720925 add block subsidy argument to allow different/non-inflation chains 2018-10-23 09:45:16 -04:00
Gregory Sanders
2d6f1374c2 rename mandatory coinbase test, add it to test_runner list 2018-10-22 09:49:07 -04:00
Gregory Sanders
0d20b55374 add mandatory coinbase functional test 2018-10-18 15:17:15 -04:00
Jorge Timón
a1e0c56a55
QA: Use resgtest2 chain instead of regtest for rpc tests 2018-10-16 18:32:20 +02:00
Jorge Timón
4454c52ae6
QA: Adapt BitcoinTestFramework for chains other than "regtest" 2018-10-16 18:32:19 +02:00
Jorge Timón
a06be15279
Testchains: Introduce custom chain whose constructor...
...reads params from regular arguments
2018-10-16 18:32:17 +02:00
Jorge Timón
1f1c7df5a6
Test: Fix example_test.py 2018-10-15 00:35:38 +02:00
Suhas Daftuar
0d49c82edd [qa] backport: Test for duplicate inputs within a transaction 2018-09-17 16:15:18 -04:00
MarcoFalke
eb202ea21d
test: Add test for config file parsing errors
Github-Pull: #14105
Rebased-From: ed2332aeff
Tree-SHA512: 17fa88a2848f1c9c9c8a127b5ea4c45761ce8e06a609dd40f8e90bb9117d88c9d2c81e752c9c0f1a44ecadbb5bedd2973bc4548da2a6d463c789797191e85ab1
2018-09-06 13:54:05 +02:00
Gregory Sanders
2307a6eb2b
fix walletcreatefundedpsbt deriv paths, add test
Github-Pull: #14055
Rebased-From: 61fe653bd9
Tree-SHA512: 2f3edf62318fab4b405b47788096005f59cbe6ba4723fe51ce3b386539a58b7ea7369c31c3840c6baa76cdf6ba8f8440f977c36e2ee2916e711d7872bd1eadad
2018-08-28 23:11:41 +02:00
Gregory Sanders
82e2b9cb25
QA: add basic walletcreatefunded optional arg test
Github-Pull: #13968
Rebased-From: 1f0c4282e9
Tree-SHA512: 1f8b10629a314f623d589801ef2e62724de2cd82a0e523e0ab25a285f92b76a3b31304c1c0418b1b611ec3ca0016016d1e6af410ac81a78449b875c4f89a46d7
2018-08-21 09:44:52 +02:00
Wladimir J. van der Laan
8aa9badf5e
Merge #13968: [wallet] couple of walletcreatefundedpsbt fixes
faaac5caaa RPCTypeCheck bip32derivs arg in walletcreatefunded (Gregory Sanders)
1f0c4282e9 QA: add basic walletcreatefunded optional arg test (Gregory Sanders)
1f18d7b591 walletcreatefundedpsbt: remove duplicate replaceable arg (Gregory Sanders)
2252ec5008 Allow ConstructTransaction to not throw error with 0-input txn (Gregory Sanders)

Pull request description:

  1) Previously an empty input argument transaction that is marked for replaceability fails to pass the `SignalsOptInRBF` check right before funding it. Explicitly check for that condition before throwing an error.

  2) The rpc call had two separate `replaceable` arguments, each of which being used in mutually exclusive places. I preserved the `options` version to retain compatability with `fundtransaction`.

Tree-SHA512: 26eb0c9e2d38ea51d11f741d61100223253271a084adadeb7e78c6d4e9004636f089e4273c5bf64a41bd7e9ff795317acf30531cb36aeb0d8db9304b3c8270c3
2018-08-21 09:44:26 +02:00
Gregory Sanders
1f0c4282e9 QA: add basic walletcreatefunded optional arg test 2018-08-20 13:02:20 -04:00
Alexander Leishman
241f8b5de4 Fix typo in feature_blocksdir.py log message 2018-08-15 15:21:14 -07:00
Wladimir J. van der Laan
b5591ca0b0
Merge #13399: rpc: Add submitheader
fa091b0016 qa: Add tests for submitheader (MarcoFalke)
36b1b63f20 rpc: Expose ProcessNewBlockHeaders (MarcoFalke)

Pull request description:

  This exposes `ProcessNewBlockHeaders` as an rpc called `submitheader`. This can be used to check for invalid block headers and submission of valid block headers via the rpc.

Tree-SHA512: a61e850470f15465f88e450609116df0a98d5d9afadf36b2033d820933d8b6a4012f9f2b3246319c08a0e511bef517f5d808cd0f44ffca91d10895a938004f0b
2018-08-15 17:52:06 +02:00
Andrew Chow
0333914467
More tests of signer checks
GitHub-Pull: #13917
Rebased-From: 5df6f08
2018-08-15 10:01:32 +08:00
Andrew Chow
8935869487
Test that a non-witness script as witness utxo is not signed
GitHub-Pull: #13917
Rebased-From: 7c8bffd
2018-08-15 10:01:18 +08:00
Andrew Chow
8c4cd2bd89
Fix PSBT deserialization of 0-input transactions
0-input transactions can be ambiguously deserialized as being witness
transactions. Since the unsigned transaction is never serialized as
a witness transaction as it has no witnesses, we should always
deserialize it as a non-witness transaction and set the serialization
flags as such.

Also always serialize the unsigned transaction as a non-witness transaction.

GitHub-Pull: #13960
Rebased-From: 43811e6
2018-08-15 09:58:49 +08:00
Wladimir J. van der Laan
63f8b0128b
Merge #13917: Additional safety checks in PSBT signer
5df6f089b5 More tests of signer checks (Andrew Chow)
7c8bffdc24 Test that a non-witness script as witness utxo is not signed (Andrew Chow)
8254e9950f Additional sanity checks in SignPSBTInput (Pieter Wuille)
c05712cb59 Only wipe wrong UTXO type data if overwritten by wallet (Pieter Wuille)

Pull request description:

  The current PSBT signing code can end up producing a non-segwit signature, while only the UTXO being spent is provided in the PSBT (as opposed to the entire transaction being spent). This may be used to trick a user to incorrectly decide a transaction has the semantics he intends to sign.

  Fix this by refusing to sign if there is any mismatch between the provided data and what is being signed.

Tree-SHA512: b55790d79d8166e05513fc4c603a982a33710e79dc3c045060cddac6b48a1be3a28ebf8db63f988b6567b15dd27fd09bbaf48846e323c8635376ac20178956f4
2018-08-14 18:01:02 +02:00
Wladimir J. van der Laan
3e5424faf6
Merge #13960: Fix PSBT deserialization of 0-input transactions
bd19cc78cf Serialize non-witness utxo as a non-witness tx but always deserialize as witness (Andrew Chow)
43811e6338 Fix PSBT deserialization of 0-input transactions (Andrew Chow)

Pull request description:

  0-input transactions can be ambiguously deserialized as being witness transactions. Since the unsigned transaction is never serialized as a witness transaction as it has no witnesses, we should always deserialize it as a non-witness transaction and set the serialization flags as such.

  When a transaction is serliazed for the non-witness-utxo, it is always a valid network transaction and thus it should be always be deserialized as a witness transaction and the deserialzation flags are set as such.

  Fixes #13958

Tree-SHA512: 1937b3cb2618534478d4f533541fb9efce3cb5badb5d1964bfe19400f4aacc6c8ecedaf1f20d26b20baf94f81fd07dfb15b3b08089ecbd63aeecbc18c7c48086
2018-08-14 16:52:36 +02:00
Chun Kuan Lee
a9cf5c9623 Import CInv from correct module 2018-08-14 09:26:30 +00:00
Carl Dong
8845c8aea6 tests: Replace usage of tostring() with tobytes()
tostring() is deprecated as of python 3.7 and results in stderr output
causing tests to fail
2018-08-13 19:05:31 -07:00