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

4745 Commits

Author SHA1 Message Date
Antoine Poinsot
7c7e2f10a4 bip-0054: an SPV verifier that supports 64-byte txs would have to be modified 2026-07-08 15:00:25 -04:00
Antoine Poinsot
9ec73fc6ed bip-0054: mention Jeremy's alternative proposal in rationale 2026-07-08 15:00:23 -04:00
weifanglab
dfe0895d41 script: check link format in Markdown files
Signed-off-by: weifanglab <weifanglab@outlook.com>
2026-07-07 15:51:30 +08:00
notmike
3e3e4347e2 bip360: cleanup rust tests a bit and remove unused imports 2026-06-28 20:33:31 -06:00
Jon Atack
f078d4f5ff Merge pull request #2201 from dathonohm/bip110-complete
BIP-110: advance to Complete status
2026-06-28 13:34:28 -07:00
notmike
75167ec077 bip360: mask tapleaf_version in tapleaf_hash 2026-06-27 22:40:15 -06:00
julian
e840999d2d BIP-0441: update wordspan costs and OP_RIGHT
- Apply BIP-0440 wordspan notation to numeric and bitvector costs.

- Define OP_RIGHT as rightmost-byte extraction with bounded copying cost.

- Clarify OP_UPSHIFT, CLTV/CSV, and final success-check costs.
2026-06-27 16:22:51 +02:00
julian
503939b53d BIP-0440: clarify wordspan costs 2026-06-27 16:16:58 +02:00
Dathon Ohm
b0a1a27602 BIP-110: Add test vectors JSON and generator script 2026-06-26 23:30:08 -06:00
notmike
94b0f9db4c bip360: consistency changes to p2mr core functions
Standardizes all P2MR-specific functions to use bytes uniformly for
input/output. Hex conversions are now confined to two boundaries:
reading `script` field out of ScriptTree input, and comparing against
hex-encoded test vector data in `run_single_test`.

bech32 functions and s2w are left unchanged.
2026-06-26 23:03:50 -06:00
notmike
64d068e9d1 bip360: minor syntax fix on tapbranch_hash() 2026-06-26 20:08:22 -06:00
notmike
8ea1eaac2d bip360: move collect_leaf_hashes() to the test code section 2026-06-26 20:03:12 -06:00
notmike
ac2aa2ff7d bip360: much cleaner, more readable s2w function 2026-06-26 20:03:12 -06:00
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
reflecttypefor
764f75e338 script: check link format in nested mediawiki files (#2199)
* script: check link format in nested mediawiki files

Signed-off-by: reflecttypefor <reflecttypefor@outlook.com>
2026-06-26 12:25:30 -07: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
Dathon Ohm
422fca742a BIP-110: Add Test vectors and Changelog sections 2026-06-25 21:44:45 -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
Dathon Ohm
f952fd1fc0 BIP-110: advance to Complete status; emphasize UTXO grandfathering; restore OP_IF byte-saving note 2026-06-24 15:56:24 -06: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