Skip to content
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

Bip174 extensions #849

Merged
merged 3 commits into from
Nov 4, 2019
Merged

Bip174 extensions #849

merged 3 commits into from
Nov 4, 2019

Conversation

achow101
Copy link
Member

@achow101 achow101 commented Oct 2, 2019

This PR specifies 2 new types and clarifies multi-byte types as was discussed on the mailing list a few months ago.

A version type of 0xFB is added in the event that there is a breaking change to PSBT.

A proprietary type of 0xFC is added to allow for proprietary use types for use in private. This type is followed by an identifier string and then a vendor defined subtype.

Lastly, multi-byte types are clarified. Types are redefined to be minimally encoded compact size unsigned integers so they can be variable length now if we happen to run out of one byte types somehow.

stevenroose added a commit to ElementsProject/elements that referenced this pull request Oct 9, 2019
…IP 174

34e1350 Use Elements PSBT magic when in Elements mode (Andrew Chow)
3fa355c Change Proprietary types to use the method specified in BIP 174 (Andrew Chow)

Pull request description:

  bitcoin/bips#849 (not yet merged) adds to BIP 174 proprietary types. This PR changes the PSBT types used in Elements to be in line with the proposed changes to the BIP/

Tree-SHA512: 73085a16005448d9f6ad1b74da4a40043ec29738256a439f35106793d11d0e95cb8d728db5cfefe1ddd49cd80367f7f5790d09efaa95bc443e1d6ba295240c4d
@luke-jr luke-jr merged commit daed7bf into bitcoin:master Nov 4, 2019
SomberNight added a commit to SomberNight/electrum that referenced this pull request Nov 7, 2019
SomberNight added a commit to SomberNight/electrum that referenced this pull request Nov 7, 2019
laanwj added a commit to bitcoin-core/gui that referenced this pull request Dec 10, 2021
… xpub fields

8152117 Merge global xpubs in joinpsbts and combinepsbts (Andrew Chow)
d8043dd Add global xpub test vectors from BIP (Andrew Chow)
35670df Add global_xpubs to decodepsbt (Andrew Chow)
9038485 Implement serializations for PSBT_GLOBAL_XPUB (Andrew Chow)
c5c63b8 Implement operator< for KeyOriginInfo and CExtPubKey (Andrew Chow)
d3dbb16 Separate individual HD Keypath serialization into separate functions (Andrew Chow)
a69332f Store version bytes and be able to serialize them in CExtPubKey (Andrew Chow)
5fdaf6a moveonly: Move (Un)Serialize(To/From)Vector, (De)SerializeHDKeypaths to psbt module (Andrew Chow)
94065cc Test for proprietary field (Andrew Chow)
a4cf810 Output proprietary type info in decodepsbt (Andrew Chow)
aebe758 Implement PSBT proprietary type (Andrew Chow)
10ba0b5 Output psbt version in decodepsbt (Andrew Chow)
df84fa9 Add GetVersion helper to PSBT (Andrew Chow)
c3eb416 Implement PSBT versions (Andrew Chow)
3235847 Types are compact size uints (Andrew Chow)

Pull request description:

  Implements the changes to BIP 174 proposed in bitcoin/bips#849 and bitcoin/bips#784

  Implements `PSBT_GLOBAL_VERSION`, `PSBT_GLOBAL_PROPRIETARY`, `PSBT_IN_PROPRIETARY`, `PSBT_OUT_PROPRIETARY`, and `PSBT_GLOBAL_XPUB`. The `PSBT_GLOBAL_XPUB` changes are merged in from #16463.

  Also includes the test vectors added to BIP 174 for these fields.

  A number of additional changes to keypath and xpub serialization are made to support `PSBT_GLOBAL_XPUB`.

ACKs for top commit:
  laanwj:
    Code review ACK 8152117

Tree-SHA512: bd71c3f26030fc23824e76a30d3d346a753e1db224ecee163d6813348feb52d3f4cf4e739a4699e2cff381197ce2a7ea4a92a054f2c3e1db579e91e92a0945e0
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Dec 11, 2021
…elds

8152117 Merge global xpubs in joinpsbts and combinepsbts (Andrew Chow)
d8043dd Add global xpub test vectors from BIP (Andrew Chow)
35670df Add global_xpubs to decodepsbt (Andrew Chow)
9038485 Implement serializations for PSBT_GLOBAL_XPUB (Andrew Chow)
c5c63b8 Implement operator< for KeyOriginInfo and CExtPubKey (Andrew Chow)
d3dbb16 Separate individual HD Keypath serialization into separate functions (Andrew Chow)
a69332f Store version bytes and be able to serialize them in CExtPubKey (Andrew Chow)
5fdaf6a moveonly: Move (Un)Serialize(To/From)Vector, (De)SerializeHDKeypaths to psbt module (Andrew Chow)
94065cc Test for proprietary field (Andrew Chow)
a4cf810 Output proprietary type info in decodepsbt (Andrew Chow)
aebe758 Implement PSBT proprietary type (Andrew Chow)
10ba0b5 Output psbt version in decodepsbt (Andrew Chow)
df84fa9 Add GetVersion helper to PSBT (Andrew Chow)
c3eb416 Implement PSBT versions (Andrew Chow)
3235847 Types are compact size uints (Andrew Chow)

Pull request description:

  Implements the changes to BIP 174 proposed in bitcoin/bips#849 and bitcoin/bips#784

  Implements `PSBT_GLOBAL_VERSION`, `PSBT_GLOBAL_PROPRIETARY`, `PSBT_IN_PROPRIETARY`, `PSBT_OUT_PROPRIETARY`, and `PSBT_GLOBAL_XPUB`. The `PSBT_GLOBAL_XPUB` changes are merged in from bitcoin#16463.

  Also includes the test vectors added to BIP 174 for these fields.

  A number of additional changes to keypath and xpub serialization are made to support `PSBT_GLOBAL_XPUB`.

ACKs for top commit:
  laanwj:
    Code review ACK 8152117

Tree-SHA512: bd71c3f26030fc23824e76a30d3d346a753e1db224ecee163d6813348feb52d3f4cf4e739a4699e2cff381197ce2a7ea4a92a054f2c3e1db579e91e92a0945e0
RandyMcMillan pushed a commit to RandyMcMillan/mempool-tab that referenced this pull request Dec 23, 2021
… xpub fields

4ca1ec3 Merge global xpubs in joinpsbts and combinepsbts (Andrew Chow)
fed4bd5 Add global xpub test vectors from BIP (Andrew Chow)
958a2f7 Add global_xpubs to decodepsbt (Andrew Chow)
feb2cae Implement serializations for PSBT_GLOBAL_XPUB (Andrew Chow)
9a017e8 Implement operator< for KeyOriginInfo and CExtPubKey (Andrew Chow)
ff65018 Separate individual HD Keypath serialization into separate functions (Andrew Chow)
7e14f42 Store version bytes and be able to serialize them in CExtPubKey (Andrew Chow)
ddd0620 moveonly: Move (Un)Serialize(To/From)Vector, (De)SerializeHDKeypaths to psbt module (Andrew Chow)
e436636 Test for proprietary field (Andrew Chow)
624cd15 Output proprietary type info in decodepsbt (Andrew Chow)
eafafc3 Implement PSBT proprietary type (Andrew Chow)
736907a Output psbt version in decodepsbt (Andrew Chow)
742a811 Add GetVersion helper to PSBT (Andrew Chow)
3355928 Implement PSBT versions (Andrew Chow)
6a76e80 Types are compact size uints (Andrew Chow)

Pull request description:

  Implements the changes to BIP 174 proposed in bitcoin/bips#849 and bitcoin/bips#784

  Implements `PSBT_GLOBAL_VERSION`, `PSBT_GLOBAL_PROPRIETARY`, `PSBT_IN_PROPRIETARY`, `PSBT_OUT_PROPRIETARY`, and `PSBT_GLOBAL_XPUB`. The `PSBT_GLOBAL_XPUB` changes are merged in from #16463.

  Also includes the test vectors added to BIP 174 for these fields.

  A number of additional changes to keypath and xpub serialization are made to support `PSBT_GLOBAL_XPUB`.

ACKs for top commit:
  laanwj:
    Code review ACK 4ca1ec3

Tree-SHA512: bd71c3f26030fc23824e76a30d3d346a753e1db224ecee163d6813348feb52d3f4cf4e739a4699e2cff381197ce2a7ea4a92a054f2c3e1db579e91e92a0945e0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants