Commit graph

20491 commits

Author SHA1 Message Date
Gregory Sanders
547a2f7bdf Fill out expected liquidv1 chain size
Currently it is 1.1 GB according to my local machine.

Overshooting by 3x to account for growth.
2019-11-19 10:30:40 -05:00
Steven Roose
ccf6697e3b
Merge #780: Change elements mode to activating BIP9 signaling based on height
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
2019-11-14 11:40:50 +00:00
Gregory Sanders
6fc3fe04ef Change elements mode to activating BIP9 signaling based on height 2019-11-13 16:07:29 -05:00
Steven Roose
ef4231fc00
Merge #776: commit_data is entirely optional
6ba90ef1e commit_data is entirely optional (Gregory Sanders)

Pull request description:

  fixes https://github.com/ElementsProject/elements/issues/775#event-2795298661

Tree-SHA512: 1e3dd7fe416d40366ae0d5b66ff4f6cbc0dd881c3821b3b75ebad40453a9f6993008f780c9f8fe4a36881b3e7117a87118eb4dfd20f707adf6d4aa3903469031
2019-11-13 15:11:57 +00:00
Gregory Sanders
6ba90ef1e7 commit_data is entirely optional 2019-11-13 10:04:37 -05:00
Steven Roose
f60e0684d1
Merge #773: HF: Dyanfed pruned header now has extra root
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
2019-11-11 11:35:16 +00:00
Gregory Sanders
fd5ec4bff6 HF: Simplify legacy->dynafed transition max sig size 2019-11-08 14:07:07 -05:00
Gregory Sanders
7b15b4802c HF: Publish full dynafed block no matter epoch age 2019-11-08 14:07:01 -05:00
Gregory Sanders
1d7847305c HF: Dyanfed pruned header now has extra root 2019-11-08 14:07:01 -05:00
Steven Roose
08023b0b4e
Merge #770: Revert errant line change committed in bf66a93cbd
610d8d7af Revert errant line change committed in bf66a93cbd (Gregory Sanders)

Pull request description:

  …b25293e277

Tree-SHA512: 62b2080d75dcb7e3a182be4f184f82150233711356b16d6a538a8cd793d8adc48cd5d47113242e06379a4fa4821fbab4bf9a439e1614de67617a9af73980552d
2019-11-05 17:36:59 +00:00
Gregory Sanders
610d8d7afa Revert errant line change committed in bf66a93cbd 2019-11-05 12:29:50 -05:00
Steven Roose
53afce3b0b
Merge #769: Correctly seed the liquidv1 paklist pre-dynafed
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
2019-11-05 16:49:07 +00:00
Steven Roose
5d3b7eb9f8
Merge #768: When RPC server disabled, only warn on validatepegin failure
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
2019-11-05 16:35:43 +00:00
Gregory Sanders
bf66a93cbd Correctly seed the liquidv1 paklist pre-dynafed 2019-11-05 10:39:22 -05:00
Gregory Sanders
674f3c7473 When RPC server disabled, only warn on validatepegin failure 2019-11-05 09:06:56 -05:00
Gregory Sanders
b334392946
Merge #758: dynaParamsToJSON: No lock required
304bdf943 dynaParamsToJSON: No lock required (Gregory Sanders)

Pull request description:

Tree-SHA512: 208ea9f00cda6e717e2ed1840b8eba3c33357bf04119608c005ea7f51ad7cf7882bcedb6659d217941f1b084bcf6a9af21339462f6b3891ccf28f131c7f0814f
2019-10-28 16:00:35 -04:00
Gregory Sanders
304bdf9431 dynaParamsToJSON: No lock required 2019-10-28 14:09:25 -04:00
Steven Roose
1ff3a39d11
Merge #753: getnewblockhex: Take data push for arbitrary data in block coinbase c…
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
2019-10-28 16:10:48 +01:00
Gregory Sanders
5e89a52087
Merge #754: Update link from README.md to assets tutorial
14126f88d Fix typo in README.md for link to assets tutorial (Philippe McLean)

Pull request description:

Tree-SHA512: 8f6f059b0e310e47e69ce0beb93c8543ba2d971839495f7a3e00464b49ed294467da563c65bbdc9d0e2dbdee5d66b09fec250ce5fc34e67e08d8785b9276cf81
2019-10-28 10:00:16 -04:00
Gregory Sanders
6d9639b211 getnewblockhex: Take data push for arbitrary data in block coinbase commitment 2019-10-28 09:11:05 -04:00
Philippe McLean
14126f88de Fix typo in README.md for link to assets tutorial 2019-10-23 11:34:04 -07:00
Gregory Sanders
0d2832a6d1
Merge #741: Allow specifying peg-in data in createrawtransaction
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
2019-10-16 10:16:25 -04:00
Gregory Sanders
63701d117a
Merge #748: Use bytes_to_hex_str instead of .hex()
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
2019-10-16 09:56:39 -04:00
Andrew Chow
4b7f3ca908 Use bytes_to_hex_str instead of .hex()
Python 3.4 doesn't have .hex().
2019-10-15 18:37:08 -04:00
Andrew Chow
5a4d61169b Test raw transaction peg-in 2019-10-15 15:22:17 -04:00
Andrew Chow
ac6f052a6d Have find_vout_for_address only get non-confidential address when using elements chain 2019-10-15 15:22:10 -04:00
Steven Roose
b117eb4c25
Merge #747: feature_blocksign.py: Allot for possibility of non-empty block 0.5RTT
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
2019-10-15 17:20:22 +01:00
Gregory Sanders
fcc7051a81 feature_blocksign.py: Allot for possibility of non-empty block 0.5RTT 2019-10-15 11:39:51 -04:00
Andrew Chow
cefe40767d Allow specifying peg-in info in raw transaction RPC inputs 2019-10-14 16:58:53 -04:00
Andrew Chow
42babb81f0 Refactor peg-in input construction into its own function in rpc/rawtransaction.cpp 2019-10-14 16:58:53 -04:00
Andrew Chow
a90d1521c8 Refactor peg-in witness construction to it's own function
Also changes to Use CVectorWriter instead of casting for peg-in value serialization
2019-10-14 16:06:58 -04:00
Steven Roose
06209ba03d
Merge #709: tweakfedpegscript: Optional fedpeg arg
97e46f937 tweakfedpegscript: Optional fedpeg arg (Gregory Sanders)

Pull request description:

  Might be useful for dynamic federations chains, when calculating old peg-in addresses

Tree-SHA512: 33c8f58cf020cf835640ca959f6e84dd58b59df3386fcd5ac71dee9c210028d0857acef65a02fb84888209010e41115b5c54bbb2458effc284afaf44b310c3a5
2019-10-14 16:25:43 +01:00
Steven Roose
d6f304a462
Merge #684: Reduce relay min rate to 100 sat/vkB
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
2019-10-14 16:23:31 +01:00
Gregory Sanders
bf2f1c6217 Reduce min relay to 100 sat/vkB 2019-10-14 10:17:32 -04:00
Gregory Sanders
d8dc3f2f29 modify p2p_feefilter test to catch rounding error 2019-10-14 10:17:32 -04:00
Gregory Sanders
130d190e70 Disallow implicit conversion for CFeeRate constructor 2019-10-14 10:17:32 -04:00
Gregory Sanders
36fceda4ab feefilter: Compute the absolute fee rather than stored rate to match mempool acceptance logic 2019-10-14 10:17:32 -04:00
Steven Roose
073cb3cb94
Merge #732: Give more descriptive error for non-WSH(OP_TRUE) block generation
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
2019-10-14 13:38:39 +01:00
Gregory Sanders
b0f4cb397a
Merge #745: finalizecompactblock: Fix it
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
2019-10-11 09:24:50 -04:00
Gregory Sanders
7126d1fe38 finalizecompactblock: Fix it, make test easier to fail 2019-10-10 15:46:43 -04:00
Steven Roose
8fd1b52f9d
Merge #744: Fix finalizecompactblock filling in more found txs from mempool
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
2019-10-10 17:05:33 +01:00
Gregory Sanders
cb90cdb7bf Fix finalizecompactblock filling in more found txs from mempool 2019-10-10 10:52:34 -04:00
Steven Roose
3c01b3435e
Merge #742: Don't run normal functional tests twice.
d71ddbee4 Don't run normal functional tests twice. (Gregory Sanders)

Pull request description:

Tree-SHA512: f10aeaa6e2b56e1a50cc76b1df24f3a509201f34ff8e890c55f15c56ec33b6fd3223adcd423243944672e4e16d63c323a20267753d754c797eeafb703011c472
2019-10-10 10:26:01 +01:00
Gregory Sanders
d71ddbee40 Don't run normal functional tests twice. 2019-10-09 17:32:25 -04:00
Steven Roose
a2a0a83716
Merge #738: feature_fedpeg.py: just use testmempoolaccept checking blinded peg-in…
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
2019-10-09 20:06:13 +01:00
Gregory Sanders
3e912deefc Sprinkle a bunch of syncs to avoid peg-in failure hanging 2019-10-09 13:24:51 -04:00
Gregory Sanders
3ac8e298a9 feature_fedpeg.py: just use testmempoolaccept checking blinded peg-in transactions 2019-10-09 13:24:51 -04:00
Gregory Sanders
81fd79ab94
Merge #739: Take mempool locks when doing compact block RPC calls touching mempool
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
2019-10-09 13:13:14 -04:00
Gregory Sanders
67a669e692 Take mempool locks when doing compact block RPC calls touching mempool 2019-10-09 12:11:52 -04:00
Steven Roose
4b2fac45b9
Merge #730: Change Proprietary types to use the method specified in BIP 174
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
2019-10-09 16:46:15 +01:00