1
0
mirror of https://github.com/bitcoin/bips.git synced 2026-07-27 18:13:38 +00:00
Commit Graph

4679 Commits

Author SHA1 Message Date
notmike
9bf46b5cfe bip360: make consistent use of h2b 2026-06-26 20:03:12 -06:00
notmike
50a6b91352 bip360: simplify tapbranch_hash function
Implements @conduitions improvement on tapbranch_hash()

Co-authored-by: conduition <conduition@proton.me>
2026-06-26 20:00:28 -06:00
notmike
2706a6181d bip360: Optional type removed / no longer needed 2026-06-26 19:35:32 -06:00
notmike
9fafbb712c Merge pull request #1 from conduition/360/p2mr-compute-control-block
bip360: simplify computing control blocks using explicit traversal paths
2026-06-26 19:32:28 -06:00
conduition
1325ccc7db return type is not optional anymore 2026-06-27 01:15:28 +00:00
conduition
86e7f9d4ca add new test case for duplicate script leaves 2026-06-27 01:12:47 +00:00
conduition
98c0289805 bip360: simplify computing control blocks using explicit traversal paths
This refactors `compute_control_block` to improve performance, and make
the function simpler to read (to me at least).

The previous version walked the entire script tree searching for the
first matching instance of the leaf node.

The new version expects the caller to pass in an explicit `path`
parameter, which tells us exactly where the leaf node lives, with
left/right steps encoded as bits in an integer. We walk down the
tree straight to that leaf node, and build the control block as we go.

This might not be the best DX for a real-world API or library, but this
is just reference code, so we can accept poor usage ergonomics if it makes
the code clearer and more explicit.
2026-06-27 01:11:26 +00:00
notmike
29e1a158e7 bip-0360: added python reference example; test vector fixes
This commit adds a python reference example for construction of BIP-360 outputs and control blocks.
This commit also updates the test vectors.
2026-06-26 13:20:03 -06:00
jbride
8d28eb4517 bip360 test vectors: control block now reflects use of non-standard
leaf version
2026-06-25 19:59:03 -06:00
jbride
907db20348 bip360 test vectors: non-standard leaf version should be allowed during construction of P2MR output (#46) 2026-06-25 19:59:03 -06:00
jbride
35b9ffe21b bip360 test vectors: elements in control block array should be ordered to match tree structure of test vectors (#45) 2026-06-25 19:59:03 -06:00
Jon Atack
b9883fbb4b Merge pull request #2196 from fjahr/bip-t5-draft
BIP95: Testnet 5
2026-06-25 14:40:45 -07:00
Fabian Jahr
c134c7db55 BIP95: Testnet 5 2026-06-25 23:30:46 +02:00
Jon Atack
861e235e93 Merge pull request #2165 from murchandamus/bip52-closed
bip52: Update to Closed
2026-06-19 12:13:55 -07:00
Murch
4894bcc4eb bip52: Update to Closed
This proposal appears abandoned, as it has not had any updates in over
four years, and cursory search did not produce any public discussions of
it since it was published either. Attempts to contact the authors did
not receive a response within four weeks.
2026-06-18 21:11:57 -07:00
conduition
6740c533e8 bip360: depth-zero script trees should be anyone-can-spend (#2198)
* bip360: depth zero trees should be anyone-can-spend

* bip360: update changelog and bump version to 0.12.0
2026-06-18 18:14:23 -07:00
Jon Atack
40cd7b4dd6 Merge pull request #2197 from ajtowns/202606-434-complete
BIP-434: Add ref impl, mark complete / CI: add version check
2026-06-11 07:11:18 -07:00
Anthony Towns
50eaa0d730 process: Check for pre-1.0 versions in complete/deployed bips 2026-06-11 23:55:42 +10:00
Anthony Towns
b14d7c34e5 BIP-434: Add reference implementation, bump to 1.0.0, mark complete 2026-06-11 23:47:57 +10:00
Jon Atack
4f17dbfa27 script: update Typos section in CONTRIBUTING.md (#2193) 2026-06-08 18:22:17 -07:00
Jon Atack
2125990370 Merge pull request #2189 from jonatack/2026-06-update-typos-exclusions
Update typos exclusions
2026-06-08 10:54:39 -07:00
Jon Atack
c6c1559b3f Merge pull request #2186 from DanGould/dangould/bip77-issue-1487-v1-fallback
BIP 77: Specify v1-fallback response mechanism
2026-06-08 10:47:26 -07:00
DanGould
9997e00576 BIP 77: Specify v1-fallback response mechanism
The receiver-to-sender response section presented HPKE encryption and
POST as the only path, when v2 receivers servicing v1 (BIP 78) senders
in the wild send the cleartext base64 PSBT via PUT to their own mailbox.
Add a forward-reference from the v2 path to Backwards compatibility,
and specify the v1-fallback response (no HPKE; PUT method; UTF-8 body;
receiver's own mailbox as target) normatively in that section.

Addresses payjoin/rust-payjoin#1487. Partially addresses
payjoin/rust-payjoin#844 (PUT/POST gap).
2026-06-09 00:52:41 +08:00
Jon Atack
2ffcd9a4a1 Merge pull request #2190 from guggero/bip322-version-fix
BIP-0322: use MAJOR version for address optionality
2026-06-05 08:11:26 -07:00
Oli
4061a54418 BIP-0322: use MAJOR version for address optionality
Addresses a review comment in #2188:
https://github.com/bitcoin/bips/pull/2188#issuecomment-4623250085
2026-06-05 08:32:18 +02:00
Jon Atack
c81d4236f3 Merge pull request #2188 from guggero/bip322-fix
BIP-0322: remove address optionality for PoF
2026-06-04 07:42:12 -07:00
Oli
e94e3c5698 BIP-0322: clarify sequence semantics for Proof of Funds
This commit clarifies that even for Proof of Funds signatures the
sequence of the first input is considered as "age S".
The reasoning behind this is that only the first input is a synthetic
one that doesn't reference a real transaction to which the height could
be compared against. Even though the Proof of Funds inputs could have
higher sequence values, those heights might have already been long
reached and would make the sequence values irrelevant compared to the potential
restrictions in the challenge script.
2026-06-04 10:54:11 +02:00
Oli
2923854e7a BIP-0322: remove address optionality for PoF
This is cleaning up an artifact that was left over from #1352.
The alternative to removing the optionality of the address
would be to assume OP_TRUE in case of an empty address.
But that sounds like it could open up any number of potential
vulnerabilities.
And a user still has the ability to use an OP_TRUE script
in a p2wsh or p2tr address.
2026-06-04 10:54:11 +02:00
Jon Atack
291ba6803a Update typos exclusions 2026-06-03 09:33:53 -06:00
Shinobi
b69b8fef21 bip343: change status from deployed to closed (#2187)
* Update bip-0343.mediawiki

As a co-author I would like to move this BIP's status to Closed due to its current irrelevance and lack of any known deployments on the network. 

If I could I would delete it fully, or better yet go back in time to prevent it from being written.

* bip343: Fix table entry for move to Closed

* bip343: Record Close reason

---------

Co-authored-by: Murch <murch@murch.one>
2026-06-01 17:56:45 -07:00
Jon Atack
42dc3270db Merge pull request #2168 from stevenroose/complete-127
BIP-0127: Prune some unfinished part and mark complete
2026-06-01 13:31:48 -07:00
Jon Atack
d58e12ae83 Merge pull request #2160 from omipheo/bip-0352-class-method-annotations
BIP352: complete type annotations on bitcoin_utils class methods
2026-06-01 13:11:40 -07:00
Jon Atack
e85e7ff2a7 Merge pull request #2185 from theStack/bip352-update-headers
BIP-352: sync "Version" header, add "Requires" header
2026-05-31 08:45:50 -07:00
Sebastian Falbesoner
46e7339e9c BIP-352: update "Version" header, add "Requires" header 2026-05-31 13:19:21 +02:00
Jon Atack
1495b684ff Merge pull request #2183 from evanlinjin/fix/174-explicitly-mention-proprietary-fields-as-unknown 2026-05-30 03:22:40 -07:00
志宇
a4668bb203 BIP174: Clarify proprietary fields are retained on finalization
Note that the Input Finalizer retains PSBT_IN_PROPRIETARY fields it does
not understand, treating them like unknown fields so it does not clear
proprietary data it cannot interpret.
2026-05-30 08:04:11 +00:00
Murch
790c777aeb Merge pull request #2178 from pythcoiner/bip_68
BIP68: fix wrong upper bound for nHeight
2026-05-29 16:22:11 -07:00
Murch
fae52468c9 Merge pull request #2182 from evanlinjin/fix/174-input-finalizer-clarification
BIP174: Mention sighash type requirement in Input Finalizer section
2026-05-29 12:00:38 -07:00
Jon Atack
b4241dc504 Merge pull request #2181 from ajtowns/202605-bip434-edits
BIP-434: Various rationale edits
2026-05-29 10:07:18 -07:00
志宇
9633048fc2 BIP174: Mention sighash type requirement in Input Finalizer section
This mirrors the existing PSBT_IN_SIGHASH_TYPE constraint from the
per-input field description. Added to the Input Finalizer section so it
is not missed.
2026-05-29 08:05:19 +00:00
Anthony Towns
18ff6bb77b BIP-434: Various rationale edits 2026-05-29 15:31:11 +10:00
Jon Atack
7f9434c9c8 Merge pull request #2093 from yyhrnk/fix/txfs-index-bounds
BIP-346: correct TxFieldSelector index upper bound
2026-05-28 12:15:54 -07:00
pythcoiner
6ac8c26870 BIP68: fix wrong upper bound for nHeight 2026-05-28 16:11:57 +02:00
Jeremy Rubin
76d434e5fc BIP449: OP_TWEAKADD (#1944)
* BIP: OP_TWEAKADD

* BIP TweakAdd: note on commutativity of tweaking and add test cases

* BIP TweakAdd: Invert Argument Order

* BIP Tweakadd: fix typo & add note on even-y tweaking

* BIP TweakAdd -- add mailing list discussion

* BIP TweakAdd: Add Alpen and MATT mentions

* BIP TweakAdd Formatting Edits

* BIP TWEAKADD remove conventions section

* BIP TWEAKADD formatting fix

* BIP TWEAKADD Move Vectors to end

* BIP TweakAdd: Condense compatibility section

* [BIP-0449] Updates post assignemnt

* [BIP-0449] Normalize Metadata

* Update bip-0449.md Link Text to point to OP of ML Thread
2026-05-23 07:03:53 -07:00
phrwlk
2d12e67b00 BIP-119: use self.stack[-1] in execute_bip_119 (#2043) 2026-05-22 17:22:38 -07:00
Murch
43a4941b37 Merge pull request #2172 from darosior/2605_bip54_complete
BIP 54: progress to Complete
2026-05-22 11:20:32 -07:00
Antoine Poinsot
c47655654c bip-0054: move to complete 2026-05-22 13:53:51 -04:00
Antoine Poinsot
809ca9939a bip-0054: link to Bitcoin Core reference implementation rebased on latest version 2026-05-22 13:43:31 -04:00
Jon Atack
5b118aa337 Merge pull request #2171 from murchandamus/bip10-record-withdrawal
bip10: Record Withdrawal in Changelog
2026-05-21 12:51:38 -07:00
Murch
a766a6e127 Merge pull request #2170 from darosior/bip54_rationale_additions
BIP 54: improve and deduplicate parts of rationale and motivation
2026-05-21 12:06:24 -07:00