Commit graph

20627 commits

Author SHA1 Message Date
Gregory Sanders
558ea69bc5 Correctly seed the liquidv1 paklist pre-dynafed 2019-11-05 13:28:51 -05:00
Gregory Sanders
2362c005f3 When RPC server disabled, only warn on validatepegin failure 2019-11-05 13:27:54 -05:00
Gregory Sanders
c53a313632
Merge #761: bump version to 0.18.1.2
b4775954f bump version to 0.18.1.2 (Gregory Sanders)

Pull request description:

Tree-SHA512: d7cb4377be6aa5bcc316d36eb724dffb696686d24e0a311ceb969fcfa89c79948a12566df07ab88c048123429888ce3bab03e309b9c5e8804c9eeb58f64e3f70
2019-10-29 11:49:17 -04:00
Gregory Sanders
b4775954fc bump version to 0.18.1.2 2019-10-29 11:47:54 -04:00
Gregory Sanders
d507c7e0fa
Merge #760: [0.18] dynaParamsToJSON: No lock required
9fd3890b6 dynaParamsToJSON: No lock required (Gregory Sanders)

Pull request description:

  backport of https://github.com/ElementsProject/elements/pull/758

Tree-SHA512: 2f65cc70667fc7afd36ba94c141b2d98742ed39b6d85d4cbeba8c584e68b8899f47d9f5b8f8ed2eb13db5a9e66f255f70fb0ed8fbe8072c2cd827d475d257ec8
2019-10-29 11:27:54 -04:00
Gregory Sanders
3e85c3e7d3
Merge #759: [0.18] getnewblockhex: Take data push for arbitrary data in block coinbase c…
c79ad5fe0 getnewblockhex: Take data push for arbitrary data in block coinbase commitment (Gregory Sanders)

Pull request description:

  …ommitment

  backport of https://github.com/ElementsProject/elements/pull/753

Tree-SHA512: b118f33643a5f62978c4d839c7d38917b65fdf7b8ef86fe8091485ea4f80024b5e8dbaecb00b778c8e9898611bc742b4169d5ce69b59dae8faff749d040c5120
2019-10-29 11:27:21 -04:00
Gregory Sanders
9fd3890b6a dynaParamsToJSON: No lock required 2019-10-28 16:02:21 -04:00
Gregory Sanders
c79ad5fe0c getnewblockhex: Take data push for arbitrary data in block coinbase commitment 2019-10-28 14:22:37 -04:00
Steven Roose
eace9897c2
Merge #752: [0.18] Reduce relay min rate to 100 sat/vkB
7f0bd205c Reduce min relay to 100 sat/vkB (Gregory Sanders)
a40fdbedb modify p2p_feefilter test to catch rounding error (Gregory Sanders)
2f013fde6 Disallow implicit conversion for CFeeRate constructor (Gregory Sanders)
14463785a feefilter: Compute the absolute fee rather than stored rate to match mempool acceptance logic (Gregory Sanders)

Pull request description:

  backport of https://github.com/ElementsProject/elements/pull/684

Tree-SHA512: 31f3f494f7666b38fdbdfb7490297162bdfb4aef4c7e5748effe9bcad17d6a14a48d24d8dee49d0cf5c978cc42ec7e6ae63c8a45cf956a8bdb3dfbcd3c8e4357
2019-10-24 16:42:19 +02:00
Gregory Sanders
7f0bd205ce Reduce min relay to 100 sat/vkB 2019-10-22 12:31:43 -04:00
Gregory Sanders
a40fdbedb3 modify p2p_feefilter test to catch rounding error 2019-10-22 12:31:40 -04:00
Gregory Sanders
2f013fde64 Disallow implicit conversion for CFeeRate constructor 2019-10-22 12:31:35 -04:00
Gregory Sanders
14463785ad feefilter: Compute the absolute fee rather than stored rate to match mempool acceptance logic 2019-10-22 12:31:31 -04:00
Gregory Sanders
a04300196a
Merge #750: [0.18] feature_blocksign.py: Allot for possibility of non-empty block 0.5RTT
128d7e004 feature_blocksign.py: Allot for possibility of non-empty block 0.5RTT (Gregory Sanders)

Pull request description:

  Backport of https://github.com/ElementsProject/elements/pull/747

Tree-SHA512: 9d5aaeb47bc595975fd45269aa2d2d99f943a4dc53739791e558a3eb682c08c60cc7bf761c6c4e230d919c8e4da3926738b8c8655ec4bc02a3f7ce9c65d3361e
2019-10-22 12:26:52 -04:00
Gregory Sanders
128d7e0043 feature_blocksign.py: Allot for possibility of non-empty block 0.5RTT 2019-10-16 10:00:30 -04:00
Steven Roose
59a9601ed0
Merge #746: [0.18] Change Proprietary types to use the method specified in BIP 174
f72e57a3a Use Elements PSBT magic when in Elements mode (Andrew Chow)
8be2a9e35 Change Proprietary types to use the method specified in BIP 174 (Andrew Chow)

Pull request description:

  Backport of https://github.com/ElementsProject/elements/pull/730

Tree-SHA512: d0484639049de772989f4f97cc926fbdea0e5c27a294c1f2b5ec0b0f28ca6e620ac5a6306d029ff90d77c1c390848fbad94b3b51fe5e67d4792bb117b000c07b
2019-10-14 18:14:38 +01:00
Andrew Chow
f72e57a3af Use Elements PSBT magic when in Elements mode
Elements PSBTs are incompatible with normal PSBTs due to differing transaction
formats, so use different magic bytes to distinguish.
2019-10-14 10:25:23 -04:00
Andrew Chow
8be2a9e355 Change Proprietary types to use the method specified in BIP 174 2019-10-14 10:25:20 -04:00
Steven Roose
3868cdfe36
Merge #735: [0.18] Reduce Travis errors
f7a41c5ff finalizecompactblock: Fix it, make test easier to fail (Gregory Sanders)
8bbd5a3aa Fix finalizecompactblock filling in more found txs from mempool (Gregory Sanders)
e7b77b757 Don't run normal functional tests twice. (Gregory Sanders)
5f628d542 Sprinkle a bunch of syncs to avoid peg-in failure hanging (Gregory Sanders)
87e80602f feature_fedpeg.py: just use testmempoolaccept checking blinded peg-in transactions (Gregory Sanders)
244cccd09 Take mempool locks when doing compact block RPC calls touching mempool (Gregory Sanders)
e66aca4d5 Disable functional tests for sanitzer runs which just OOM (Gregory Sanders)
12eb9b961 Don't run unit tests for compatibility run(which is a NOP) (Gregory Sanders)

Pull request description:

  1) Don't run unit tests for compatibility run(redundant)
  2) Disable functional tests for sanitizer runs which have been OOM for a while now
  3) only use mempool sync in fedpeg test to avoid connection complexity, add a bunch of sync calls to avoid hanging validation failure corner cases
  4) run functional tests exactly once
  5) fix finalizecompactblock RPC

Tree-SHA512: 2c682d3855cd474fb6e8c039a0cc308cf68321da0f57adbbf2aa8e3aa17b06e244942be7e2f8518581ad972fedfa80f4d898e1cd72a95e9660463413a3b47efe
2019-10-11 15:42:13 +01:00
Gregory Sanders
f7a41c5ff2 finalizecompactblock: Fix it, make test easier to fail 2019-10-11 09:26:32 -04:00
Gregory Sanders
8bbd5a3aa8 Fix finalizecompactblock filling in more found txs from mempool 2019-10-10 12:51:13 -04:00
Gregory Sanders
e7b77b757d Don't run normal functional tests twice. 2019-10-10 12:51:04 -04:00
Gregory Sanders
5f628d5429 Sprinkle a bunch of syncs to avoid peg-in failure hanging 2019-10-09 15:30:59 -04:00
Gregory Sanders
87e80602f2 feature_fedpeg.py: just use testmempoolaccept checking blinded peg-in transactions 2019-10-09 15:30:54 -04:00
Gregory Sanders
244cccd09b Take mempool locks when doing compact block RPC calls touching mempool 2019-10-09 15:30:45 -04:00
Gregory Sanders
e66aca4d55 Disable functional tests for sanitzer runs which just OOM 2019-10-08 10:28:42 -04:00
Gregory Sanders
12eb9b9614 Don't run unit tests for compatibility run(which is a NOP) 2019-10-08 10:28:39 -04:00
Gregory Sanders
64f8be13cf
Merge #727: [0.18 backport] Support descriptors with checksums in initpegoutwallet
5c76fc5e9 Update initpegoutwallet help to describe derivation paths properly. (Gregory Sanders)
651b28c4c Fix other bug in initpegoutwallet descriptor parsing (Steven Roose)
bf86c4466 Temp disable pegout descriptors that are not pkh() (Steven Roose)
19c477ede Support descriptors with checksums in initpegoutwallet (Steven Roose)

Pull request description:

  Backport of #726.

Tree-SHA512: 603c6896f4407c53ef44ebbbab5064827203a1dccaaa8e7e164dfa085a914ef836dde58cfe85877c8c8bccd4aac4f405f42e820a5a8a42caa0ac24bf43e3d475
2019-09-30 13:57:43 -04:00
Gregory Sanders
5c76fc5e9a
Update initpegoutwallet help to describe derivation paths properly. 2019-09-30 18:57:57 +02:00
Steven Roose
651b28c4ca
Fix other bug in initpegoutwallet descriptor parsing 2019-09-30 18:57:51 +02:00
Steven Roose
bf86c44666
Temp disable pegout descriptors that are not pkh() 2019-09-30 18:57:46 +02:00
Steven Roose
19c477edea
Support descriptors with checksums in initpegoutwallet 2019-09-30 18:57:41 +02:00
Gregory Sanders
f98b4ee657
Merge #725: [0.18 backport] [HF] Dynafed blocks must have sighash byte #723
8d043f37a Dynafed blocks must have sighash byte (Gregory Sanders)

Pull request description:

  backport of #723

Tree-SHA512: 87e11261ef06b049656544096c4787b582e5d8898b6bc0f83fa5563a3dc5ef2290bd66e67ac769331c32775aae827aba4c90c3d3c657a7a059c9748b8cb87e52
2019-09-30 11:17:18 -04:00
Gregory Sanders
8d043f37af
Dynafed blocks must have sighash byte
It is not included in the signature hash.
The sighash byte MUST be SIGHASH_ALL to avoid
malleability.
2019-09-30 01:21:06 +02:00
Gregory Sanders
4afb69f994
Merge #718: [0.18 backport] backport of #717
03150229c Bump _CLIENT_VERSION_BUILD (Steven Roose)
500a3731a Add legacy pak arg for custom chains (Gregory Sanders)

Pull request description:

  backport of #717

Tree-SHA512: 01e20fd612ef9647b005686fc571ccdb8cf7897f8198b336e8f96c914e24fae96344e94bdf8ff96887568e87849538ef816d4a21ed4fbe3c3e6931d5ee7ae9ea
2019-09-27 10:05:32 -04:00
Gregory Sanders
8a6af4ca6a
Merge #722: [0.18 backport] Fix liquidv1 sync #720
9e1c98eaa Don't activate dynafed like custom chains (Gregory Sanders)
200a392d8 Fix liquidv1 sync (Gregory Sanders)

Pull request description:

  Backport of Fix liquidv1 sync #720

Tree-SHA512: 564653f70d9dbdc63ac5dcff97c2f4a676dcafa61056604043edf05e331e7de70b2df07b9c8be93ae8fad43bf557ddd0eb848d031b04e40f6a26ba923eb94e79
2019-09-27 10:04:53 -04:00
Gregory Sanders
9e1c98eaa1
Don't activate dynafed like custom chains 2019-09-27 10:40:20 +02:00
Gregory Sanders
200a392d85
Fix liquidv1 sync
A single field wasn't given a positive value which
meant it considers no peg-ins to be valid.
2019-09-27 10:40:13 +02:00
Steven Roose
03150229ce
Bump _CLIENT_VERSION_BUILD 2019-09-25 18:26:45 +02:00
Gregory Sanders
500a3731a6
Add legacy pak arg for custom chains 2019-09-25 16:09:47 +02:00
Gregory Sanders
8161038c7b
Merge #707: [0.18 backport] sendtomainchain_pak: Fix minimum send amount message
9add5a844 Fix feature_pak.py in light of #706 (Gregory Sanders)
817ebcd07 sendtomainchain_pak: Fix minimum send amount message (Gregory Sanders)

Pull request description:

  backport of #706

Tree-SHA512: a1f16636210eb28c221a442c113a609da906079b3688dc1dc53e33d0409096638a48036032ba7349257a4d599342272df40dd9335bbc9ac1008c439602a94f8a
2019-09-17 13:07:04 -04:00
Gregory Sanders
9add5a8442
Fix feature_pak.py in light of #706 2019-09-17 15:11:19 +01:00
Gregory Sanders
817ebcd073
sendtomainchain_pak: Fix minimum send amount message 2019-09-11 14:46:42 +01:00
Steven Roose
eed409ad55
Merge #705: [0.18 backport] RPC: Fix tweakfedpegscript for dynafed, add basic test
08eee04be RPC: Fix tweakfedpegscript for dynafed, add basic test (Gregory Sanders)

Pull request description:

  Backport of https://github.com/ElementsProject/elements/pull/704.

Tree-SHA512: 9ab616d0afcbc5ff58085f949f8012f10d7c82af12222d686b91b673b2449f3d8789502a9120b6570e8d586676149de095c72faa88388e7c05f5207423bd97e9
2019-09-10 20:26:00 +01:00
Gregory Sanders
08eee04be8
RPC: Fix tweakfedpegscript for dynafed, add basic test 2019-09-10 17:56:10 +01:00
Gregory Sanders
f346837657
Merge #703: [0.18] Dynafed backport
f11f066db Generalize the number of epochs old a peg-in can be and still be valid (Gregory Sanders)
d47a7e081 feature_fedpeg.py: Run in various dynafed transition settings (Gregory Sanders)
5b2c79e49 Fix compilation of raw transaction operations with peg-in inputs (Gregory Sanders)
0a44ff67a p2sh-wrap peg-in addresses if fedpeg_program is p2sh-wrapped (Gregory Sanders)
be4606970 Refactor IsPAKValid to not magically acquire chainparams (Gregory Sanders)
c6070be5a Remove script/standard dependence of ContextualCheckDynaFedHeader (Gregory Sanders)
d9431c092 Remove dyanfed.cpp's dependency on script/standard.h (Gregory Sanders)
a7dc478ba After a reorg, boot all peg-ins and peg-outs from mempool (Gregory Sanders)
9a3b9b9cf Enforce PAK checks on dynafed proposals (Gregory Sanders)
ffec60954 Replace fedpeg template init check for pak one (Gregory Sanders)
8dc1de4db Update python test framework for DynaFedParamEntry fedpeg program (Gregory Sanders)
d3d2bc3da Add functional test for illegal proposals (Gregory Sanders)
25bdb0a85 Update dynafed functional test to new behavior (Gregory Sanders)
04cadcd68 fixup proposal checks (Gregory Sanders)
0a21f531a getnewblockhex fills out proposal fedpeg program (Gregory Sanders)
1892b67f9 Make future parent segwit versions in fedpegscripts be vacuously true (Gregory Sanders)
1122fc28a Add dynafed proposal restrictions (Gregory Sanders)
69e881a59 Add description of NextBlockIsParameterTransition (Gregory Sanders)
a7bb36f6c Remove misleading comment for ContextualCheckDynaFedHeader use (Gregory Sanders)
b7aaf4be9 Add fedpeg_program field in dynafed header (Gregory Sanders)
cc2f57a96 CreatePAKListFromExtensionSpace just uses FromBytes for correctness (Gregory Sanders)
7e4f88b68 Remove short-circuit dynafed vote fail for readability (Gregory Sanders)
285daab40 s/m_dyna_params/m_dynafed_params/ (Gregory Sanders)
e963834d2 Light explanation of dynamic federations fields (Gregory Sanders)
8f12b617f s/ConsensusParamEntry/DynaFedParamEntry/ (Gregory Sanders)
6ddf46cde s/m_sbs_wit_limit/m_signblock_witness_limit/ (Gregory Sanders)
1d1cf23fd s/HF_MASK/DYNAFED_HF_MASK/ (Gregory Sanders)
5e2aca1b9 s/d_params/dynafed_params/ (Gregory Sanders)
4829b3a88 signrawtransaction* should use up to date fedpegscript for peg-in signing (Gregory Sanders)
8bd702784 Dynafed RPC support, tests, and deployment for custom chains (Gregory Sanders)
f08756b5d OP_TRUE outputs should be allowed to be segwit-ified by decodescript (Gregory Sanders)
2eded09b6 Have removeForBlock boot transactions when required (Gregory Sanders)
0cfe03bec Expose fedpeg fetching to consensus and mempool internals (Gregory Sanders)
b00515e22 GetTransactionSigOpCost shouldn't need fedpegscript to evaluate (Gregory Sanders)
b096f8dda Add and update startup args for dynafed (Gregory Sanders)
8436710b4 Add unused dynamic genesis block style in chainparams (Gregory Sanders)
f2e3495d6 Create epoch length chainparam (Gregory Sanders)
85467c06c Set default of multi_data_permitted to enforce_pak (Gregory Sanders)
e1474d1bc Correct comment about liquidv1 fedpeg matching template (Gregory Sanders)
4818e5e2b Miner should stop trying to account for old PAK system (Gregory Sanders)
f277ec52f Add miner ability to make dynafed blocks (Gregory Sanders)
f5e46328e ContextualCheckBlockHeader: dynafed doesn't call CheckChallenge (Gregory Sanders)
fb333b3ed Introduce contextual block checks for dynafed (Gregory Sanders)
8f2194c90 Enable pak enforcement at mempool/block level when appropriate (Gregory Sanders)
fac525bac ScriptHasValidPAKProof takes fedpeg as arg (Gregory Sanders)
144d48622 Remove old mempool-booting logic (Gregory Sanders)
1c7782451 Remove standardness checks for PAK (Gregory Sanders)
a306c0c6e Update PAK internals, helper functions (Gregory Sanders)
60d4093eb Disable PAK loading from configuration on init, disable pak test (Gregory Sanders)
5e273e806 Add inactive versionbits dynafed deployment (Gregory Sanders)
1f470d320 ReadBlockFromDisk: do genesis block check before block proof check (Gregory Sanders)
cd5d87cbc Bump last old block version for versonbits due to elements (Gregory Sanders)
86ed316bc Add python implementation of dynafed block serialization (Gregory Sanders)
7ec6c5350 Deserialize merkle proofs without witness, which matters for dynafed (Gregory Sanders)
af485a818 Add fedpegscript-fetching helper (Gregory Sanders)
d1207bdd9 calculate_contract: remove most template checks and assert in preperation for dynafed (Gregory Sanders)
21cf12843 Add note on peg-in sigops (Gregory Sanders)
c37a8fe88 Add dynafed helper functions (Gregory Sanders)
fa1f497a2 Refactor block_proof to support dynafed (Gregory Sanders)
0402da670 Add dynamic federation blockheader fields to chaindb serialization (Gregory Sanders)
ab6e3e37f Add dynamic federations blockheader serialization with HF bit (Gregory Sanders)
f49c0a684 Define dynamic federations primitives (Gregory Sanders)

Pull request description:

Tree-SHA512: dcc7f9f225dcc5921cc325e267e30367283afe4b8d88c9a008dccf72393b35245b50cc48eddce035b2dbbe2a0b669b5027998fc88f30bfc18cf78af7f0a484a4
2019-09-06 15:36:09 -04:00
Gregory Sanders
f11f066db4 Generalize the number of epochs old a peg-in can be and still be valid 2019-09-06 10:24:00 -04:00
Gregory Sanders
d47a7e0814 feature_fedpeg.py: Run in various dynafed transition settings 2019-09-06 10:24:00 -04:00
Gregory Sanders
5b2c79e49a Fix compilation of raw transaction operations with peg-in inputs 2019-09-06 10:24:00 -04:00
Gregory Sanders
0a44ff67a7 p2sh-wrap peg-in addresses if fedpeg_program is p2sh-wrapped 2019-09-06 10:24:00 -04:00