Commit graph

18135 commits

Author SHA1 Message Date
Gregory Sanders
85bcda52fc pak mempool removal: don't modify the vector you are taking range over 2019-01-24 11:07:11 -05:00
Gregory Sanders
8de42370d0 fixup mempool clearing of peg-outs on block commitment 2019-01-24 11:07:11 -05:00
Gregory Sanders
542b826c95 ScriptHasvalidPAKProof: Allow any standard single-key output script type 2019-01-24 11:07:11 -05:00
Gregory Sanders
71acfb359b Add IsPayToWitnessPubkeyHash convenience function 2019-01-24 11:07:11 -05:00
Gregory Sanders
1241343bd5 testproposedblock: Reject blocks with non-matching pak commitments 2019-01-24 11:07:11 -05:00
Gregory Sanders
47ea638b43 miner adds commitment when pak enforcement is set only 2019-01-24 11:07:11 -05:00
Gregory Sanders
3fc3ac340f disallow pak enforcement arg when nonstandard tx are possible 2019-01-24 11:07:11 -05:00
Gregory Sanders
dfe5331dba Miner adds PAK commitments when config 'disagress' with block commits 2019-01-24 11:07:11 -05:00
Gregory Sanders
bcd8db972f functional test for pak feature 2019-01-24 11:07:11 -05:00
Gregory Sanders
5b6d767b61 Load PAK arguments from config and disk on startup 2019-01-24 11:07:10 -05:00
Gregory Sanders
d391782cd9 Add getwalletpakinfo RPC call 2019-01-24 11:07:07 -05:00
Gregory Sanders
f06e6f648e Wallet offline_counter starts at -1 2019-01-24 11:07:07 -05:00
Gregory Sanders
0e52456f30 Return status of pak enforcement on the blockchain in 2019-01-24 11:07:07 -05:00
Gregory Sanders
050bb49055 Add getpakinfo RPC call, without wallet state 2019-01-24 11:07:06 -05:00
Gregory Sanders
3cfe2d49ef Add sendtomainchain RPC call which is used when -pak_enforce is enabled 2019-01-24 11:07:05 -05:00
Gregory Sanders
567de67afc Break out sendtomainchain to call functions based on -enforce_pak 2019-01-24 11:07:01 -05:00
Gregory Sanders
070be0f5ca add initpegout RPC for peg-out wallet initialization 2019-01-24 11:07:01 -05:00
Gregory Sanders
47422e71d8 Write and load peg-out wallet functions on wallet load 2019-01-24 11:07:01 -05:00
Gregory Sanders
4e631bd778 Add derivation helpers for peg-out wallet infrastructure 2019-01-24 11:07:01 -05:00
Gregory Sanders
1559cc9c3b C(Pub)Key::Derive: Return optional tweak vector for peg-out wallets 2019-01-24 11:07:01 -05:00
Gregory Sanders
f1dbd1cf3d -multi_data_permitted: Allow >1 op_return output by policy 2019-01-24 11:06:59 -05:00
Gregory Sanders
9f5cc03f94 Read PAK list from connected blocks, save list, and boot transactions not conforming 2019-01-24 11:06:55 -05:00
Gregory Sanders
86fbc2418f GetPAKKeysFromCommitment utility function 2019-01-24 11:06:55 -05:00
Gregory Sanders
bf66d77a8d Add Read/Write functions to txdb for PAK lists 2019-01-24 11:06:55 -05:00
Gregory Sanders
2b4899dd3c PAK enforcement via standardness, drop multi-op_return restriction 2019-01-24 11:06:55 -05:00
Gregory Sanders
6679823fc0 Create global PAK lists for config and blockchain state 2019-01-24 11:06:55 -05:00
Gregory Sanders
8c7746c4de Add CScript::IsPayToPubkeyHash convienience function 2019-01-24 11:06:55 -05:00
Gregory Sanders
43424cbf71 Add PAK proof validation function 2019-01-24 11:06:55 -05:00
Gregory Sanders
378e594617 Define PAKList structure and operations 2019-01-24 11:06:25 -05:00
Gregory Sanders
40571ab6d4 Turn on secp-zkp experimental modules for PAK 2019-01-11 13:29:09 -05:00
Steven Roose
32aec9af0b
Merge #493: secp-zkp update to fix a couple Travis issues
624a6153f Squashed 'src/secp256k1/' changes from 53ad841..43dd1f4 (Gregory Sanders)

Pull request description:

  Type mismatch may have been causing rangeproof verification failure in secp unit tests on 32 bit systems.

  The rangeproof unit tests also run far too long, so iterations are cut down to avoid a 10 minute Travis timeout.

Tree-SHA512: a23ea2db3338d122fef9e05527f88850cc71f597d1afca6bad5978312587effa945effe7d61866d88a2e576ea14a177ca878f524f6fb74bdce8d0ae310e898c1
2019-01-11 18:25:49 +00:00
Gregory Sanders
34eeb2b20c Merge commit '624a6153f5' into 2019-1-secp-update 2019-01-04 10:39:37 -05:00
Gregory Sanders
624a6153f5 Squashed 'src/secp256k1/' changes from 53ad841..43dd1f4
43dd1f4 Merge pull request #40 from instagibbs/size_t
6532fa0 Merge pull request #39 from instagibbs/more_builds
2b2429d rangeproof: reduce iteration count in unit tests
12b0e5d Enable more builds with rest of experimental flags
8c444ee use proper types for rangeproof min/max

git-subtree-dir: src/secp256k1
git-subtree-split: 43dd1f4fe732268734f0b4efd8e99ea4ff1e49a1
2019-01-04 10:39:37 -05:00
Gregory Sanders
5a18be3769
Merge #458: [0.17] Add pegin validation
d358364 Integration test for pegins and pegouts (Steven Roose)
d888540 Add support for signed-blocks parent chains (Steven Roose)
b56f7da Add pegin and pegout RPC calls (Steven Roose)
7bb9380 Recognize pegout scripts (Steven Roose)
4688e3e Add periodic RPC recheck and invalid block recheck (Steven Roose)
0e4e834 Add pegin validation unit tests (Steven Roose)
5cbb014 Validation of pegin inputs (Steven Roose)
f4adb46 Add spentness flag to pegin coins (Steven Roose)
0d07d21 Change CCoinsMapKey to use chain-aware outpoints (Steven Roose)
22ec499 Add "vdata" field to createrawtransaction rpc (Steven Roose)
2db1f2b Add tweakfedpegscript rpc (Steven Roose)
d6686b6 Add getsidechaininfo rpc (Steven Roose)
fb8a453 Add pegin validation utility methods (Steven Roose)
037b260 Serialize parent blocks without pegin flags (Steven Roose)
89613b8 Skip normal validation of pegin inputs (Steven Roose)
ae54d4a Add pegin input serialization (Steven Roose)
ac1eadd Add support for NullData addresses (OP_RETURN) (Steven Roose)
18ee341 Add parent address encoding (Steven Roose)
d39d440 Add mainchain rpc client (Steven Roose)
238a72b Add arguments for parent chain characteristics (Steven Roose)
2019-01-02 14:48:57 -05:00
Steven Roose
d358364a36
Integration test for pegins and pegouts 2019-01-02 18:46:07 +01:00
Steven Roose
d8885400fb Add support for signed-blocks parent chains 2019-01-02 18:46:02 +01:00
Steven Roose
b56f7da6d6 Add pegin and pegout RPC calls 2019-01-02 18:46:02 +01:00
Steven Roose
7bb9380260 Recognize pegout scripts 2019-01-02 18:46:02 +01:00
Steven Roose
4688e3eb8e Add periodic RPC recheck and invalid block recheck 2019-01-02 18:46:02 +01:00
Steven Roose
0e4e83474e Add pegin validation unit tests 2019-01-02 18:46:02 +01:00
Steven Roose
5cbb014fe4 Validation of pegin inputs 2019-01-02 18:46:02 +01:00
Steven Roose
f4adb464e8 Add spentness flag to pegin coins 2019-01-02 18:46:00 +01:00
Steven Roose
0d07d21a2e Change CCoinsMapKey to use chain-aware outpoints 2019-01-02 16:14:19 +01:00
Steven Roose
22ec499327 Add "vdata" field to createrawtransaction rpc 2019-01-02 16:14:16 +01:00
Steven Roose
2db1f2b512 Add tweakfedpegscript rpc 2019-01-02 16:14:16 +01:00
Steven Roose
d6686b640d Add getsidechaininfo rpc 2019-01-02 16:14:16 +01:00
Steven Roose
fb8a4533df Add pegin validation utility methods 2019-01-02 16:14:09 +01:00
Steven Roose
037b2604d9 Serialize parent blocks without pegin flags 2019-01-02 16:13:32 +01:00
Steven Roose
89613b89c6 Skip normal validation of pegin inputs
Special validation added in next commits.
2019-01-02 16:12:55 +01:00
Steven Roose
ae54d4ad74 Add pegin input serialization 2019-01-02 16:12:50 +01:00