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