6fc3fe04e Change elements mode to activating BIP9 signaling based on height (Gregory Sanders)
Pull request description:
When based on block time, it's really hard to engineer principled tests for activation of consensus changes.
resolves https://github.com/ElementsProject/elements/issues/779
Tree-SHA512: c5672d54a3a906d1318c82197022b9effd39e951e3f9e5ca4dc92055f2fa638a6359797662014c4928be25795ddd6b3f401769d53a967cf08d4f564210926773
fd5ec4bff HF: Simplify legacy->dynafed transition max sig size (Gregory Sanders)
7b15b4802 HF: Publish full dynafed block no matter epoch age (Gregory Sanders)
1d7847305 HF: Dyanfed pruned header now has extra root (Gregory Sanders)
Pull request description:
andytoshi's motivating text:
"Motivation here is that the functionary wants to be able to compute the root of the parameters and use this to look up the params in the set of supported params (which includes a bunch of extra auxiliary data, in particular the signblock witness script).
If the root is computed differently for compact-encoded params than for full-encoded ones, and indeed does not even commit to the extra data, this lookup is impossible without blockchain context, which is not obvious how to obtain for an unsigned block."
Tree-SHA512: 737b9da99bc4abd28cc63c3a441098e0a6ea0cb2748082f845b24d50fe3a9cd1d1253d622cdca4df91e27c04a4912babc8a54409e7e0f2af14f65a3414a072ad
bf66a93cb Correctly seed the liquidv1 paklist pre-dynafed (Gregory Sanders)
Pull request description:
Currently PAK is blank for anyone running on liquidv1 network. This is wrong.
No PAK list changes are expected prior to dynafed roll-out, so this should remain constant until activation.
Tree-SHA512: eef819c62ee887fdb36b194e52f896306e567a9e7a059fec0620c87b9e126f594a78128e7beec7e86c00976b180c7ea43412a7bb123c3f50e4800d3c837b7f6b
674f3c747 When RPC server disabled, only warn on validatepegin failure (Gregory Sanders)
Pull request description:
QT starts up normally, and fails when `-server=1` is set, and continues otherwise, by turning off peg-in validation.
This should be tested on liquidv1 with fresh syncs.
Tree-SHA512: acf188b2eead8db2f2b8d92ae90b510a05e6ab15639249917a3fb99bf3ec48b3d741e372a4bfcf44b8c632d199e56070bbfe1f6a69ef1c991f126b4d34b218a8
6d9639b21 getnewblockhex: Take data push for arbitrary data in block coinbase commitment (Gregory Sanders)
Pull request description:
…ommitment
Useful for non-consensus proof of publication of data.
Tree-SHA512: 8967238c97b5188db50f99d7a8d8a1b26712a6b4c02812880502b5eb9572f7ca6a509a2020cb9661b2931f7d2b06f0580baa8652516b529b2386e92e73767a73
14126f88d Fix typo in README.md for link to assets tutorial (Philippe McLean)
Pull request description:
Tree-SHA512: 8f6f059b0e310e47e69ce0beb93c8543ba2d971839495f7a3e00464b49ed294467da563c65bbdc9d0e2dbdee5d66b09fec250ce5fc34e67e08d8785b9276cf81
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