-
Notifications
You must be signed in to change notification settings - Fork 395
[0.17] PAK Enforcement, as policy #484
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[0.17] PAK Enforcement, as policy #484
Conversation
|
Feature complete. Will clean up history, then add descriptor support on top. |
e2043c3 to
85f4a75
Compare
|
rebased, squashed, etc. Ready for review. |
stevenroose
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
More commits than I expected :o
|
@stevenroose I believe I responded to all issues. I'll squash commits after ACK. |
|
ACK 4f20d1d but add the whitelist link to the documentation. Some builds are failing though.. |
|
@stevenroose yeah annoying but just the ones we expect to on and off time out. |
|
squashed, and added single commit linking reader to pak crypto scheme. |
|
re-ACK 19ef5e3 |
19ef5e3 Add link to pak authorization design in secp-zpk (Gregory Sanders) 1cb252e Descriptor support in PAK infrastructure and tests (Gregory Sanders) 6366734 Properly encode parent witness addresses (Gregory Sanders) 7e63ce3 Extend validateaddress to check parent address validity. (Gregory Sanders) 85bcda5 pak mempool removal: don't modify the vector you are taking range over (Gregory Sanders) 8de4237 fixup mempool clearing of peg-outs on block commitment (Gregory Sanders) 542b826 ScriptHasvalidPAKProof: Allow any standard single-key output script type (Gregory Sanders) 71acfb3 Add IsPayToWitnessPubkeyHash convenience function (Gregory Sanders) 1241343 testproposedblock: Reject blocks with non-matching pak commitments (Gregory Sanders) 47ea638 miner adds commitment when pak enforcement is set only (Gregory Sanders) 3fc3ac3 disallow pak enforcement arg when nonstandard tx are possible (Gregory Sanders) dfe5331 Miner adds PAK commitments when config 'disagress' with block commits (Gregory Sanders) bcd8db9 functional test for pak feature (Gregory Sanders) 5b6d767 Load PAK arguments from config and disk on startup (Gregory Sanders) d391782 Add getwalletpakinfo RPC call (Gregory Sanders) f06e6f6 Wallet offline_counter starts at -1 (Gregory Sanders) 0e52456 Return status of pak enforcement on the blockchain in (Gregory Sanders) 050bb49 Add getpakinfo RPC call, without wallet state (Gregory Sanders) 3cfe2d4 Add sendtomainchain RPC call which is used when -pak_enforce is enabled (Gregory Sanders) 567de67 Break out sendtomainchain to call functions based on -enforce_pak (Gregory Sanders) 070be0f add initpegout RPC for peg-out wallet initialization (Gregory Sanders) 47422e7 Write and load peg-out wallet functions on wallet load (Gregory Sanders) 4e631bd Add derivation helpers for peg-out wallet infrastructure (Gregory Sanders) 1559cc9 C(Pub)Key::Derive: Return optional tweak vector for peg-out wallets (Gregory Sanders) f1dbd1c -multi_data_permitted: Allow >1 op_return output by policy (Gregory Sanders) 9f5cc03 Read PAK list from connected blocks, save list, and boot transactions not conforming (Gregory Sanders) 86fbc24 GetPAKKeysFromCommitment utility function (Gregory Sanders) bf66d77 Add Read/Write functions to txdb for PAK lists (Gregory Sanders) 2b4899d PAK enforcement via standardness, drop multi-op_return restriction (Gregory Sanders) 6679823 Create global PAK lists for config and blockchain state (Gregory Sanders) 8c7746c Add CScript::IsPayToPubkeyHash convienience function (Gregory Sanders) 43424cb Add PAK proof validation function (Gregory Sanders) 378e594 Define PAKList structure and operations (Gregory Sanders) 40571ab Turn on secp-zkp experimental modules for PAK (Gregory Sanders)
Porting of the PAK feature from liquid repo.
Deprecates
xpubimport in favor of descriptor import to allow flexible paths and key types including: wpkh, sh_wpkh, and pkh