summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Chow <achow101-github@achow101.com>2021-01-14 13:31:15 -0500
committerAndrew Chow <achow101-github@achow101.com>2021-01-15 13:01:19 -0500
commitc0991047e25a35d1ddf241f304a079e9893eed69 (patch)
treef51997358155de3d686b66e8335db77495ffd181
parent50fdf5435ebbc2e9dfb98b74b2ff4a835ef94034 (diff)
downloadbips-c0991047e25a35d1ddf241f304a079e9893eed69.tar.xz
Explicitly specify PSBTv0
-rw-r--r--README.mediawiki2
-rw-r--r--bip-0174.mediawiki13
-rwxr-xr-xscripts/buildtable.pl2
3 files changed, 13 insertions, 4 deletions
diff --git a/README.mediawiki b/README.mediawiki
index 83120ab..e9fe705 100644
--- a/README.mediawiki
+++ b/README.mediawiki
@@ -850,7 +850,7 @@ Those proposing changes should consider that ultimately consent may rest with th
|- style="background-color: #ffffcf"
| [[bip-0174.mediawiki|174]]
| Applications
-| Partially Signed Bitcoin Transaction Format
+| Partially Signed Bitcoin Transaction Format and Version 0
| Andrew Chow
| Standard
| Proposed
diff --git a/bip-0174.mediawiki b/bip-0174.mediawiki
index a20432a..a1beaef 100644
--- a/bip-0174.mediawiki
+++ b/bip-0174.mediawiki
@@ -1,7 +1,7 @@
<pre>
BIP: 174
Layer: Applications
- Title: Partially Signed Bitcoin Transaction Format
+ Title: Partially Signed Bitcoin Transaction Format and Version 0
Author: Andrew Chow <achow101@gmail.com>
Comments-Summary: No comments yet.
Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0174
@@ -21,6 +21,9 @@ signatures for an input while the input does not have a complete set of signatur
The signer can be offline as all necessary information will be provided in the
transaction.
+The generic format is described here in addition to the specification for version 0
+of this format.
+
===Copyright===
This BIP is licensed under the 2-clause BSD license.
@@ -94,7 +97,7 @@ The currently defined global types are as follows:
| None
| No key data
| <tt><transaction></tt>
-| 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.
+| 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).
|-
| Extended Public Key
| <tt>PSBT_GLOBAL_XPUB = 0x01</tt>
@@ -311,6 +314,12 @@ It is useful when there are additional data that they need attached to a PSBT bu
The proprietary use type is not to be used by any public specification and there is no expectation that any publicly available software be able to understand any specific meanings of it and the subtypes.
This type must be used for internal processes only.
+==Version 0==
+
+Partially Signed Bitcoin Transactions version 0 is the first version of the PSBT format.
+Version 0 PSBTs must either omit PSBT_GLOBAL_VERSION or include it and set it to 0.
+Version 0 PSBTs must include PSBT_GLOBAL_UNSIGNED_TX, if omitted, the PSBT is invalid.
+
==Roles==
Using the transaction format involves many different roles. Multiple roles can be handled by a single entity, but each role is specialized in what it should be capable of doing.
diff --git a/scripts/buildtable.pl b/scripts/buildtable.pl
index 1edd8c0..ed71f7c 100755
--- a/scripts/buildtable.pl
+++ b/scripts/buildtable.pl
@@ -89,7 +89,7 @@ my %DefinedLicenses = (
);
my %GrandfatheredPD = map { $_ => undef } qw(9 36 37 38 42 49 50 60 65 67 69 74 80 81 83 90 99 105 107 109 111 112 113 114 122 124 125 126 130 131 132 133 140 141 142 143 144 146 147 150 151 152);
my %TolerateMissingLicense = map { $_ => undef } qw(1 10 11 12 13 14 15 16 21 31 33 34 35 39 43 44 45 47 61 64 68 70 71 72 73 101 102 106 120 121);
-my %TolerateTitleTooLong = map { $_ => undef } qw(39 44 45 47 49 60 67 68 69 73 74 75 80 81 99 105 106 109 113 122 126 131 143 145 147 173);
+my %TolerateTitleTooLong = map { $_ => undef } qw(39 44 45 47 49 60 67 68 69 73 74 75 80 81 99 105 106 109 113 122 126 131 143 145 147 173 174);
my %emails;