Commit Graph
25 Commits
Author SHA1 Message Date
Murch a34f044bb8 Merge pull request #2310 from zjubiology/master
BIP375: check SegWit versions in non-witness UTXOs
2026-11-07 16:41:44 +01:00
zjubiology 97b6274626 BIP375: check SegWit versions in non-witness UTXOs
Signed-off-by: zjubiology <zjubiology@outlook.com>
2026-11-07 22:20:18 +08:00
Jon Atack d4dea2a230 Merge pull request #2207 from macgyver13/bip375-labeled-spend
BIP-375: correct labeled test vectors to include labeled-spend key in PSBT_OUT_SP_V0_INFO
2026-11-05 12:05:54 -06:00
macgyver13 434a4d2659 BIP-375: update labeled test vectors
Now PSBT_OUT_SP_V0_INFO provides labeled-spend public key not the base-spend
public key.

Modify test vector with labeled-spend key to the same recipient from:
two sp outputs - output 0 uses label=3 / output 1 uses label=1
to:
three sp outputs (same scan key) - output 0 uses label=1, outputs 1 and 2 uses label=2 (same spend key)
This vector excercises the BIP375 sorting outputs with same scan key properly.

The next commit will fix the validation logic and address this failing test.

bump ChangeLog to 0.1.3
2026-11-04 18:14:49 -05:00
Ferdinando Ametrano a2c1248774 bip-0375: say the version byte belongs to the identifier, not to the field
"The PSBT_OUT_SP_V0_INFO should be serialized as a zero byte for the
version, followed by the 33 bytes of the scan key and then 33 bytes for
the spend key" names the field, and the field is 66 bytes: its table
entry is "<33 byte scan key> <33 byte spend key>", the test vectors carry
66, and the validator refuses anything else.

The sentence is in the Unique Identification section and was added with
it, so what it describes is the output script that stands in for a silent
payment output when building the unsigned transaction that identifies the
psbt -- 67 bytes there, and nothing about the field. Read as the field's
own serialization it contradicts the table, which is how it first read
here.

Only the wording changes.
2026-11-05 00:13:24 +01:00
Jon Atack 61ff3f1361 Merge pull request #2311 from jonatack/2026-09-bip375-reference-implementation
bip375: replace stale TODO with reference implementation
2026-11-03 21:42:17 -06:00
Ava Chow e4e02e14cf 375: Deputize macgyver 2026-11-03 19:28:09 -08:00
Jon Atack 7d92f13b83 bip375: replace TODO with reference implementation 2026-09-27 23:32:27 -06:00
Jon Atack 124324eef1 BIP375: add 0.1.2 changelog for LABEL length validation 2026-09-27 11:51:59 -06:00
wangjingshuiku 7ccde10a3c BIP375: validate PSBT_OUT_SP_V0_LABEL length 2026-09-12 17:00:00 +08:00
Murch 442e9628b3 Eliminate remaining "user-content" anchor links 2026-04-27 17:29:24 -07:00
macgyver13 8c0a9bfa57 BIP-375: add changelog section
Add Changelog section
Begin with version 0.1.0 as this BIP is Draft phase
2026-04-16 14:03:48 -04:00
macgyver13 6295a70405 BIP-375: clarify eligible inputs restriction in Computing the Output Scripts text 2026-04-05 19:55:53 -04:00
macgyver13 9536c863cf BIP-375: clarify eligible input restriction in Signer text 2026-04-05 19:55:53 -04:00
macgyver13 7b4f1d6b4e BIP-375: address review feedback
correctly label witness_utxo vs non_witness_utxo key in supplementary inputs

Summary of test vector changes:
removed test: 
- psbt structure: empty PSBT_OUT_SCRIPT field when sending to non-sp output
modified test:
- ecdh coverage: only one ineligible P2SH multisig input when PSBT_OUT_SCRIPT set for sp output
- can finalize: one P2PKH input single-signer
- can finalize: two inputs using per-input ECDH shares - only eligible inputs contribute shares (P2SH excluded)
added test: 
- can finalize: two inputs using global ECDH share - only eligible inputs contribute shares (P2SH excluded)
2026-04-05 19:55:53 -04:00
macgyver13 cf7a16a5f9 BIP-375: update documentation
Update Test Vectors section
Add README.md to explain validation tooling and dependencies
2026-04-04 09:17:46 -04:00
Murch 24e96e870f process: Created ↦ Assigned
```
sed -z -i 's/Created: /Assigned: /' bip-0*.md
sed -z -i 's/Created: /Assigned: /' bip-0*.mediawiki
```
2026-01-12 14:29:51 -08:00
Murch 5207ef92a5 process: Author ↦ Authors
```
sed -z -i 's/Author: /Authors: /' bip-0*.md
sed -z -i 's/Author: /Authors: /' bip-0*.mediawiki
```

Also align correctly in case of multiple authors.
2026-01-12 14:29:00 -08:00
Murch 59730dec4f process: Remove Comments-URI and -Summary
```
sed -i '0,/Comments-Summary/{/Comments-Summary/d}' bip-0*md
sed -i '0,/Comments-Summary/{/Comments-Summary/d}' bip-0*mediawiki
sed -i '0,/Comments-URI/{/Comments-URI/d}' bip-0*md
sed -i '0,/Comments-URI/{/Comments-URI/d}' bip-0*mediawiki
```

Then reset the BIPs with non-empty comment wikis:

- bip-0037.mediawiki
- bip-0038.mediawiki
- bip-0039.mediawiki
- bip-0042.mediawiki
- bip-0044.mediawiki
- bip-0047.mediawiki
- bip-0049.mediawiki
- bip-0060.mediawiki
- bip-0061.mediawiki
- bip-0074.mediawiki
- bip-0075.mediawiki
- bip-0077.md
- bip-0084.mediawiki
- bip-0090.mediawiki
- bip-0118.mediawiki
- bip-0125.mediawiki
- bip-0150.mediawiki
- bip-0151.mediawiki
- bip-0152.mediawiki
- bip-0171.mediawiki
- bip-0172.mediawiki
- bip-0173.mediawiki
- bip-0174.mediawiki
- bip-0176.mediawiki
- bip-0178.mediawiki
- bip-0199.mediawiki
- bip-0322.mediawiki
- bip-0340.mediawiki
- bip-0341.mediawiki
2026-01-12 14:28:37 -08:00
Murch 01352f7f40 process: Post-History ↦ Discussion
Also line up with additional items in the lines below.

```
sed -i -z 's/  Post-History: /  Discussion:   /' bip-0*.md
sed -i -z 's/  Post-History: /  Discussion:   /' bip-0*.mediawiki
```
2026-01-12 14:28:06 -08:00
Murch a233bde4af process: Standards Track ↦ Specification
```
sed -z -i 's/Type: Standards Track/Type: Specification/' bip-0*.md
sed -z -i 's/Type: Standards Track/Type: Specification/' bip-0*.mediawiki
```

After the scripted changes, the changes to BIP-40, BIP-41, and BIP-63
were undone, because it breaks CI.

These three BIPs only exist conceptually and their proposal documents
are missing which causes changes to them ot break the CI. I defer the
changes to these BIPs to a separate pull request to get CI to pass.
2026-01-12 14:22:40 -08:00
futreall 9ae0cdc9fe Update bip-0375.mediawiki 2025-03-15 19:42:21 +02:00
nymius a9729b28d4 fix(BIP174,BIP375): typo in PSBT_OUT_SP_V0_LABEL
Assuming a by one increment in the keytype of the silent payments output
fields, the following numeral to 0x09 in the hexadecimal system is 0x0a,
not 0x10.
2025-01-31 12:24:18 -03:00
Andrew Toth eb10cdb4ce Update fields in bip174 2025-01-13 12:20:04 -05:00
Andrew Toth 144c4a3a15 Update to BIP375 2025-01-13 10:33:52 -05:00