1
0
mirror of https://github.com/bitcoin/bips.git synced 2026-10-19 19:29:18 +00:00
Commit Graph

18 Commits

Author SHA1 Message Date
Sjors Provoost
bde776ecb8 bip138: collect and deduplicate recipient keys across the backup 2026-09-24 20:11:28 -07:00
Sjors Provoost
11a3be7458 bip138: clarify MuSig participant eligibility
MuSig aggregation hides participant keys, so account xpubs do not need
individual trailing derivation.

Specify that encryption uses participant roots rather than the aggregate key.

Add MuSig2 test vectors: one for a bare aggregate and one for aggregate
derivation.
2026-09-24 20:11:20 -07:00
Sjors Provoost
5fc05e2b17 bip138: generalize key-selection test vectors
Rename keys_types.json to recipient_keys.json and generalize the format
to support multiple descriptors and multiple recipient keys:

- "key": a single key-expression string becomes "descriptors": an array
  of complete descriptor strings.
- "expected": an x-only key string becomes "expected_keys": an array
  containing that key; null remains null.

Convert the nine existing cases by wrapping each key expression in tr(),
except the uncompressed literal uses pk(), since tr() does not accept it.
Each case has one descriptor.
2026-09-24 20:09:33 -07:00
Sjors Provoost
bf64a12098 bip138: clarify rejection of empty payloads
Clarify that an empty payload contains zero content items. Add a
vector that rejects a payload consisting only of the 0x00 terminator.
2026-09-24 14:47:16 -07:00
Sjors Provoost
aa098559bf bip138: clarify that 0x00 ends payload parsing
Specify that parsing stops immediately. Add a vector with an item followed
by a terminator and ignored bytes.

Clarify that TYPE 0x00 also doesn't require TYPE_LENGTH.
2026-09-24 14:47:14 -07:00
Sjors Provoost
51995cc228 bip138: clarify receive-only descriptor sets
Make change_descriptor explicitly optional for non-multipath descriptors.
Add a receive-only document vector with no change descriptor or optional
metadata; the existing vectors cover a receive/change pair and multipath.
2026-09-23 13:55:04 +02:00
pythcoiner
5d441163be bip138: address review 2026-07-16 08:06:52 -04:00
pythcoiner
090fbf0f35 bip-138 add a test vector for x-only key deduplication 2026-07-15 02:33:03 -04:00
pythcoiner
ea221577df bip-138 add test vectors for sorting and deduplication 2026-07-15 01:31:37 -04:00
pythcoiner
ca0722ce39 bip-138 sync test vectors with the reference implementation 2026-07-15 01:31:30 -04:00
pythcoiner
56deb75d62 bip-138: allow multiple content items per payload 2026-06-30 10:59:17 -04:00
pythcoiner
b1e3adcf2e bip-138: terminate generated test vectors with a trailing newline 2026-06-18 12:02:30 -04:00
pythcoiner
d115620881 bip-138: make BIP380 backup content JSON-only 2026-06-18 11:47:17 -04:00
pythcoiner
810b4df73e bip-138: specify BIP388 wallet policy backup content 2026-06-18 11:46:44 -04:00
pythcoiner
9e2a585a9a bip-138: specify BIP380 descriptor backup content 2026-06-18 03:44:25 -04:00
pythcoiner
72d8a9533f bip-0138: use assigned BIP number 138 for magic and domain separation tags 2026-06-18 01:51:17 -04:00
pythcoiner
7707cf2935 bip-0138: make PLAINTEXT LENGTH mandatory and add optional payload padding 2026-06-18 01:51:15 -04:00
Murch
e9858e8bbe Assign BIP138 2026-05-11 13:09:20 -07:00