Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
f7905d6 Generalize the number of epochs old a peg-in can be and still be valid (Gregory Sanders) b105ff4 feature_fedpeg.py: Run in various dynafed transition settings (Gregory Sanders) feef196 Fix compilation of raw transaction operations with peg-in inputs (Gregory Sanders) 953dd82 p2sh-wrap peg-in addresses if fedpeg_program is p2sh-wrapped (Gregory Sanders) e2be235 Refactor IsPAKValid to not magically acquire chainparams (Gregory Sanders) ecdefc5 Remove script/standard dependence of ContextualCheckDynaFedHeader (Gregory Sanders) 59bed57 Remove dyanfed.cpp's dependency on script/standard.h (Gregory Sanders) 50a2b59 After a reorg, boot all peg-ins and peg-outs from mempool (Gregory Sanders) 6000752 Enforce PAK checks on dynafed proposals (Gregory Sanders) dce4cec Replace fedpeg template init check for pak one (Gregory Sanders) afdf023 Update python test framework for DynaFedParamEntry fedpeg program (Gregory Sanders) 95d8339 Add functional test for illegal proposals (Gregory Sanders) 1baad6b Update dynafed functional test to new behavior (Gregory Sanders) a3cf151 fixup proposal checks (Gregory Sanders) 04cc767 getnewblockhex fills out proposal fedpeg program (Gregory Sanders) 44f55d3 Make future parent segwit versions in fedpegscripts be vacuously true (Gregory Sanders) d7faffd Add dynafed proposal restrictions (Gregory Sanders) 37f90ba Add description of NextBlockIsParameterTransition (Gregory Sanders) d9387cb Remove misleading comment for ContextualCheckDynaFedHeader use (Gregory Sanders) bd11097 Add fedpeg_program field in dynafed header (Gregory Sanders) 4ad2b80 CreatePAKListFromExtensionSpace just uses FromBytes for correctness (Gregory Sanders) 6a5eaa1 Remove short-circuit dynafed vote fail for readability (Gregory Sanders) dddc040 s/m_dyna_params/m_dynafed_params/ (Gregory Sanders) 6ed63c1 Light explanation of dynamic federations fields (Gregory Sanders) 1599638 s/ConsensusParamEntry/DynaFedParamEntry/ (Gregory Sanders) 642260a s/m_sbs_wit_limit/m_signblock_witness_limit/ (Gregory Sanders) b668046 s/HF_MASK/DYNAFED_HF_MASK/ (Gregory Sanders) 0fd39ed s/d_params/dynafed_params/ (Gregory Sanders) 1779956 signrawtransaction* should use up to date fedpegscript for peg-in signing (Gregory Sanders) 47db75e Dynafed RPC support, tests, and deployment for custom chains (Gregory Sanders) aac354b OP_TRUE outputs should be allowed to be segwit-ified by decodescript (Gregory Sanders) 055514b Have removeForBlock boot transactions when required (Gregory Sanders) 525b24c Expose fedpeg fetching to consensus and mempool internals (Gregory Sanders) 4ac437b GetTransactionSigOpCost shouldn't need fedpegscript to evaluate (Gregory Sanders) 5097c38 Add and update startup args for dynafed (Gregory Sanders) 24535d6 Add unused dynamic genesis block style in chainparams (Gregory Sanders) d10c42a Create epoch length chainparam (Gregory Sanders) b996a42 Set default of multi_data_permitted to enforce_pak (Gregory Sanders) f6f6308 Correct comment about liquidv1 fedpeg matching template (Gregory Sanders) 4c00eb4 Miner should stop trying to account for old PAK system (Gregory Sanders) 0e10287 Add miner ability to make dynafed blocks (Gregory Sanders) 5d281e7 ContextualCheckBlockHeader: dynafed doesn't call CheckChallenge (Gregory Sanders) 9fe43cd Introduce contextual block checks for dynafed (Gregory Sanders) 3605505 Enable pak enforcement at mempool/block level when appropriate (Gregory Sanders) 802a055 ScriptHasValidPAKProof takes fedpeg as arg (Gregory Sanders) 89174e9 Remove old mempool-booting logic (Gregory Sanders) edb865c Remove standardness checks for PAK (Gregory Sanders) 804cd9f Update PAK internals, helper functions (Gregory Sanders) 16b87ba Disable PAK loading from configuration on init, disable pak test (Gregory Sanders) 918896d Add inactive versionbits dynafed deployment (Gregory Sanders) 0a8565b ReadBlockFromDisk: do genesis block check before block proof check (Gregory Sanders) 6f0d924 Bump last old block version for versonbits due to elements (Gregory Sanders) 563cd93 Add python implementation of dynafed block serialization (Gregory Sanders) 8d3091b Deserialize merkle proofs without witness, which matters for dynafed (Gregory Sanders) 830f917 Add fedpegscript-fetching helper (Gregory Sanders) b56fe14 calculate_contract: remove most template checks and assert in preperation for dynafed (Gregory Sanders) fd63cee Add note on peg-in sigops (Gregory Sanders) f17d7de Add dynafed helper functions (Gregory Sanders) 4aa5f99 Refactor block_proof to support dynafed (Gregory Sanders) 4e52f2c Add dynamic federation blockheader fields to chaindb serialization (Gregory Sanders) a74accf Add dynamic federations blockheader serialization with HF bit (Gregory Sanders) 2845e78 Define dynamic federations primitives (Gregory Sanders) Pull request description: This is a proposal implementation of something myself and Andrew have been working on, to enable dynamic membership in the blocksigning set, fedpeg signing set, and under the same coordination mechanism, the PAK enforcement. At a really high level: 1) If 4/5 of last N(what we call an epoch length) blocks signal desire for a change in the parameters of the system, they are replaced with the proposed. These changes can be proposed/driven by `getnewblockhex`. 2) Once dynamic federations is active(versionbits deployment), signblockscripts can only be native segwit scripts, in other words, must be a version byte followed by the witness program. The blockheader now has a witness stack as well. 3) The fedpegscript of last N epochs are both allowed as a grace period for users putting money into the system. 4) PAK enforcement has been upgraded to consensus-enforcement once dynamic federations activates A design document is forthcoming. Tree-SHA512: 26c6e05c85adb77345d8d481f20e8095bc2f9e5ad7b9a8824008a056637af7c6e87e522b038a6c6c108889d60b2fd1d6ecbd3e0afe2b696579000d18b0f1ecad
- Loading branch information
Showing
49 changed files
with
1,898 additions
and
800 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.