5a4d61169 Test raw transaction peg-in (Andrew Chow)
ac6f052a6 Have find_vout_for_address only get non-confidential address when using elements chain (Andrew Chow)
cefe40767 Allow specifying peg-in info in raw transaction RPC inputs (Andrew Chow)
42babb81f Refactor peg-in input construction into its own function in rpc/rawtransaction.cpp (Andrew Chow)
a90d1521c Refactor peg-in witness construction to it's own function (Andrew Chow)
Pull request description:
Adds to `createrawtransaction` the fields `pegin_bitcoin_tx`, `pegin_txout_proof`, and `pegin_claim_script` so that raw transactions can contain peg-in inputs too.
Since `ConstructTransaction` is used by `createpsbt` and `walletcreatefundedpsbt` but those should not support peg-ins yet (the peg-in data should go into PSBT fields for peg-ins but those don't exist yet), an argument is added to it to optionally reject peg-in data.
Tree-SHA512: fcf3e4be87f92bfc5b00321bec405001d98615cefb76118345e0c759c6bfcb90b6050735960b6fbdbe26479fa11c9273f9963873a8adc1fbad9ed31dc7953ee0
4b7f3ca90 Use bytes_to_hex_str instead of .hex() (Andrew Chow)
Pull request description:
Python 3.4 doesn't have .hex(). 3.4 is required by `.python-version` which is used by pyenv. Pyenv users (like myself) will have a hard time running the tests without this.
Tree-SHA512: 8e2f2319e06c8f597b44dd50903e49536277c1c1cd727bf5336579fea977d8a4b5a82744fe1d8dbedc10be3470a63dc1e15435f54fe7cbb0ac96fcea798d1ddc
fcc7051a8 feature_blocksign.py: Allot for possibility of non-empty block 0.5RTT (Gregory Sanders)
Pull request description:
The way the test is run, the last node(non-signer) can actually become the block producer.
This, in conjunction with its p2p connection to node 0, means that when node 0 is doing it's compact block back and forth, it can actually create a complete block in 0.5 RTT even if transactions were generated for that block.
Allow this to happen.
This may have been a bug in that the non-signer shouldn't have been making blocks, but this is actually more interesting behavior to test, where sometimes partially-complete compact blocks are made, sometimes full, sometimes empty. This exercises more code paths, and so I'm just making sure this succeeds instead, and assert it only succeeds in the expected situation.
Tree-SHA512: f6267208c51344a26636fce4635297f050e2989ec231d2d21463e9a987b58d0a8635bea057b60216fa709ca094cf741ce8acfc0b1d321b6498409c73a19c8fd1
bf2f1c621 Reduce min relay to 100 sat/vkB (Gregory Sanders)
d8dc3f2f2 modify p2p_feefilter test to catch rounding error (Gregory Sanders)
130d190e7 Disallow implicit conversion for CFeeRate constructor (Gregory Sanders)
36fceda4a feefilter: Compute the absolute fee rather than stored rate to match mempool acceptance logic (Gregory Sanders)
Pull request description:
Includes an upstream bugfix for feefilter/mempool divergence when the rate is not `%1000=0`.
Does not lower the minimum wallet default! This must be chosen manually for the time being(`settxfee`), at the risk of not propagating to the rest of the network if peers have not also updated. Fee estimation is also not yet updated to support lower feerates.
Tree-SHA512: 561b47d6f5fd898eec56db41189a6c514e54682b817996f2e188d791a9234102df52bd191e02dced468df30da5816b9acfde53154939180db9bf23bd20256a53
3a2888cca Give more descriptive error for non-WSH(OP_TRUE) block generation (Gregory Sanders)
Pull request description:
If someone transitions to a different block type, including something else op_true-ey but not exactly, `generatetoaddress` and ilk will complain without much recourse.
Tree-SHA512: 720e6888eb3985ad3619d2570b4c22985365a63d72d4a0d9b7d75d2091f6839db034d1b192a177901f0dfbb0d97cef330183438b02c6a11b64d33fe480023d88
7126d1fe3 finalizecompactblock: Fix it, make test easier to fail (Gregory Sanders)
Pull request description:
We were putting together the block wrong in a couple ways.
The order of the transactions matter when give as the "missing transactions" list. We're simply feeding it two lists of transactions that together should contain the full block. Also we should actually serialized the 2nd argument rather than the 1st, again.
Tree-SHA512: a1ecbc737d39113a517bc0ce3c53dc66472b0789fa60ef86083672e946d2c5ba1e06207314760f3358f34996b794b72d30279c96f65d9f784d35603e4db727d4
cb90cdb7b Fix finalizecompactblock filling in more found txs from mempool (Gregory Sanders)
Pull request description:
If you instantiate `InitData` with a non-empty mempool, it may find "missing transactions", fill them in, and then the missing transaction index vector is now faulty and fails.
All data is already available to finish the block(or not in case of collision), just use given data.
Fixes intermittent feature_blocksign.py failure.
Tree-SHA512: d0d984b72daf710a1889c1e7032fe4fc81a26701d595441d9978bd6ab37f59b3a90df52a45df120007eb9465c6c4879807b6bea3602bb32ed1c05814d041c6fb
3e912deef Sprinkle a bunch of syncs to avoid peg-in failure hanging (Gregory Sanders)
3ac8e298a feature_fedpeg.py: just use testmempoolaccept checking blinded peg-in transactions (Gregory Sanders)
Pull request description:
… transactions
Previous test had race condition causing spurious failures for no additional coverage.
Resolves https://github.com/ElementsProject/elements/issues/728
Tree-SHA512: f128bb0b8ad54da683c66bbd6ad1385927659fab4cc8e77e57943dea6c7d989389c39e29ff8d282bdab3e068ec38af449e2941e03f802fe477d839b636587e92
67a669e69 Take mempool locks when doing compact block RPC calls touching mempool (Gregory Sanders)
Pull request description:
This may help reduce the failures in `feature_blocksign.py` that seem to occur fairly often. It could be that the mempool is in an inconsistent state, which messed up compact block finalization.
Tree-SHA512: cd066933cf58b3c57869db3fd97c2de0ff554d442e91051f43626b12778d55835065ad5fc42fed09b7750796e9e0b2e6947f1ac54e02fe4c8e2a84fe340429ae
34e135011 Use Elements PSBT magic when in Elements mode (Andrew Chow)
3fa355c76 Change Proprietary types to use the method specified in BIP 174 (Andrew Chow)
Pull request description:
https://github.com/bitcoin/bips/pull/849 (not yet merged) adds to BIP 174 proprietary types. This PR changes the PSBT types used in Elements to be in line with the proposed changes to the BIP/
Tree-SHA512: 73085a16005448d9f6ad1b74da4a40043ec29738256a439f35106793d11d0e95cb8d728db5cfefe1ddd49cd80367f7f5790d09efaa95bc443e1d6ba295240c4d
b53ad3118 Disable functional tests for sanitzer runs which just OOM (Gregory Sanders)
1893ba191 Don't run unit tests for compatibility run(which is a NOP) (Gregory Sanders)
Pull request description:
This particular build is intended for bitcoin_functional tests only, and the unit tests are timing out consistently for some unrelated reason, so turn them off.
Tree-SHA512: 8f31b5f4fef38271652a3c534c2191d6b6d567e992ef27ba4a6f2fc8c3aebd6d9aef755563780554609346ab397adc71e16229878cad48289918d1ff71cfa0fb
5af17a42b Update initpegoutwallet help to describe derivation paths properly. (Gregory Sanders)
55c4c6cd2 Fix other bug in initpegoutwallet descriptor parsing (Steven Roose)
28dac17c4 Temp disable pegout descriptors that are not pkh() (Steven Roose)
fdba8c45f Support descriptors with checksums in initpegoutwallet (Steven Roose)
Pull request description:
Non-pkh descriptor types will be re-enabled once entire liquid network functionary set is updated to use elements daemons.
Tree-SHA512: 41203f767c4879251eb958f938a8cc88b8f5d03ffa16bb598645f5c1bd5b45d7e6468cadcb3c5c12abd62c73913834718b9ad48a24f721537d1e8a0a3cf7e6fc
809f4acd3 Dynafed blocks must have sighash byte (Gregory Sanders)
Pull request description:
It is not included in the signature hash.
The sighash byte MUST be SIGHASH_ALL to avoid malleability.
Tree-SHA512: d4a658448e3a8b3609b32fc24e8d28fc65ea13021ba0b49109b6c4477253d08183ac6e77e0658f23b2630cbb916c6b19e86db241c5d7456391385a308235d0bd