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
Change from a global map with input data to a global k/v pair with input and output data.
Add new types for finalized scriptSigs and scriptWitnesses.
Redefined types to support new model
Updated the formatting of the listing
** Key: None. The key must only contain the 1 byte type.
116
+
*** <tt>{0x00}</tt>
117
+
** Value: The transaction in network serialization. The scriptSigs and witnesses for each input must be empty. The transaction must be in the old serialization format (without witnesses). A PSBT must have a transaction, otherwise it is invalid.
118
+
*** <tt>{transaction}</tt>
119
+
** Note: Every PSBT must have a field with this type.
203
120
204
121
The currently defined per-input types are defined as follows:
** Key: None. The key must only contain the 1 byte type.
125
+
***<tt>{0x00}</tt>
126
+
** Value: The transaction in network serialization format the current input spends from. This should only be present for inputs which spend non-segwit outputs. However, if it is unknown whether an input spends a segwit output, this type should be used.
** Key: None. The key must only contain the 1 byte type.
131
+
*** <tt>{0x01}</tt>
132
+
** Value: The entire transaction output in network serialization which the current input spends from. This should only be present for inputs which spend segwit outputs, including P2SH embedded ones.
** Key: The public key which corresponds to this signature.
137
+
*** <tt>{0x02}|{public key}</tt>
138
+
** Value: The signature as would be pushed to the stack from a scriptSig or witness.
139
+
*** <tt>{signature}</tt>
140
+
141
+
* Type: Sighash Type <tt>PSBT_IN_SIGHASH_TYPE = 0x03</tt>
142
+
** Key: None. The key must only contain the 1 byte type.
143
+
*** <tt>{0x03}</tt>
144
+
** Value: The 32-bit unsigned integer specifying the sighash type to be used for this input. Signatures for this input must use the sighash type, finalizers must fail to finalize inputs which have signatures that do not match the specified sighash type. Signers who cannot produce signatures with the sighash type must not provide a signature.
** Value: The master key fingerprint as defined by BIP 32 concatenated with the derivation path of the public key. The derivation path is represented as 32 bit unsigned integer indexes concatenated with each other. Public keys are those that will be needed to sign this input.
** Key: None. The key must only contain the 1 byte type.
167
+
*** <tt>{0x07}</tt>
168
+
** Value: The Finalized scriptSig contains a fully constructed scriptSig with signatures and any other scripts necessary for the input to pass validation.
** Key: None. The key must only contain the 1 byte type.
173
+
*** <tt>{0x08}</tt>
174
+
** Value: The Finalized scriptWitness contains a fully constructed scriptWitness with signatures and any other scripts necessary for the input to pass validation.
175
+
*** <tt>{scriptWitness}</tt>
176
+
177
+
The currently defined per-output <ref>'''Why do we need per-output data?''' Per-output data allows signers
178
+
to verify that the outputs are going to the intended recipient. The output data can also be use by signers to
179
+
determine which outputs are change outputs and verify that the change is returning to the correct place.</ref> types are defined as follows:
** Value: The master key fingerprint concatenated with the derivation path of the public key. The derivation path is represented as 32 bit unsigned integer indexes concatenated with each other. This must omit the index of the master key. Public keys are those needed to spend this output.
0 commit comments