Skip to content

Commit d318837

Browse files
arminsabourinothingmuch
authored andcommitted
Add psbt field table
1 parent 381882c commit d318837

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

psbt.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,32 @@ TODO diagram for the combined state machine, indicate when downconversion (to v2
4343

4444
TODO discuss scrubbing after signer and before combiner
4545

46+
The new field types for distributed PSBT construction are as follows:
47+
48+
### New global types
49+
50+
| Name | `keytype` | `keydata` | `keydata` Description | `valuedata` | `valuedata` Description |
51+
| --- | --- | --- | --- | --- | --- |
52+
| Transaction Unordered Flag | `PSBT_GLOBAL_TX_UNORDERED = TBD` | None | No key data | `<8-bit uint>` | If present, must be set to a value `0x03` to indicate inputs and outputs are unordered. |
53+
| Sort Seed | `PSBT_GLOBAL_SORT_SEED = TBD` | None | No key data | `<bytes globalseed>` | Random seed used to derive deterministic sort keys when explicit per-map sort keys are absent. |
54+
| Deterministic Sort Flag | `PSBT_GLOBAL_SORT_DETERMINISTIC = TBD` | None | No key data | `<8-bit uint>` | A value of `0x01` indicates sort keys must be deterministically derived and explicit `PSBT_IN_SORT_KEY` / `PSBT_OUT_SORT_KEY` fields are disallowed. A value of `0x00` indicates sort keys are required and `PSBT_GLOBAL_SORT_SEED` is disallowed. |
55+
| Removed Input | `PSBT_GLOBAL_REMOVED_INPUT = TBD` | `<bytes input unique id>` | `PSBT_IN_UNIQUE_ID` of an input removed from the logical input set. | None | No value data. |
56+
| Removed Output | `PSBT_GLOBAL_REMOVED_OUTPUT = TBD` | `<bytes output unique id>` | `PSBT_OUT_UNIQUE_ID` removed from the logical output set. | None | No value data. |
57+
58+
### New per-input types
59+
60+
| Name | `keytype` | `keydata` | `keydata` Description | `valuedata` | `valuedata` Description |
61+
| --- | --- | --- | --- | --- | --- |
62+
| Input Sort Key | `PSBT_IN_SORT_KEY = TBD` | None | No key data | `<bytes sort key>` | Arbitrary lexicographically comparable value used to order inputs. |
63+
| Input Unique ID | `PSBT_IN_UNIQUE_ID = TBD` | None | No key data | `<bytes unique id>` | Optional unique suffix for outpoint identity, used for input removal extensions. |
64+
65+
### New per-output types
66+
67+
| Name | `keytype` | `keydata` | `keydata` Description | `valuedata` | `valuedata` Description |
68+
| --- | --- | --- | --- | --- | --- |
69+
| Output Unique ID | `PSBT_OUT_UNIQUE_ID = TBD` | None | No key data | `<bytes unique id>` | Universally unique identifier for output map identity under unordered output semantics. |
70+
| Output Sort Key | `PSBT_OUT_SORT_KEY = TBD` | None | No key data | `<bytes sort key>` | Arbitrary lexicographically comparable value used to order outputs when transitioning from unordered to ordered mode. |
71+
4672
### PSBT identity and transaction effects
4773

4874
The BIP 174 *Combiner* role specifies how to merge diverging copies of the same

0 commit comments

Comments
 (0)