You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: psbt.md
+26Lines changed: 26 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -43,6 +43,32 @@ TODO diagram for the combined state machine, indicate when downconversion (to v2
43
43
44
44
TODO discuss scrubbing after signer and before combiner
45
45
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
+
46
72
### PSBT identity and transaction effects
47
73
48
74
The BIP 174 *Combiner* role specifies how to merge diverging copies of the same
0 commit comments