1
0
mirror of https://github.com/bitcoin/bips.git synced 2025-08-18 13:26:23 +00:00

4267 Commits

Author SHA1 Message Date
Jon Atack
3821aa3a1c
Merge pull request #1797 from shesek/patch-3 2025-08-08 11:59:09 -07:00
Mark "Murch" Erhardt
6c5d396fba
Merge pull request #1910 from bethoffman/fix-typo
BIP443: fix typo in the section "Transaction-wide initialization"
2025-08-05 15:40:32 -07:00
josie
3e15178a43
BIP352: add warning against omitting outputs (#1908)
* doc: add warning against omitting outputs

While implied by the specification, add an explicit warning that
generated outputs MUST not be omitted from the final transaction.

Co-authored-by: Mark "Murch" Erhardt <murch@murch.one>
2025-08-04 09:36:01 -07:00
hoffman
c72c59a8db
Update bip-0443.mediawiki 2025-08-02 11:42:07 +08:00
Jon Atack
31450c3dbd
Merge pull request #1905 from otc-png/patch-1
[bip-0010]: remove repeated "the"
2025-08-01 06:27:04 -07:00
Jon Atack
5dd89238bd
Merge pull request #1907 from anim001k/master
Fix dead link in BIP-70: Update Mozilla root store URL
2025-08-01 06:25:56 -07:00
Jon Atack
4dc2165dba
Merge pull request #1906 from GarmashAlex/links
Fix broken MES16.pdf link in BIP-347
2025-08-01 06:25:30 -07:00
anim001k
c038164697
Update bip-0070.mediawiki 2025-07-30 16:34:43 +02:00
Mark "Murch" Erhardt
b8a39dfba3
Merge pull request #1904 from jonatack/2025-07-remove-License-Code-from-BIP3
BIP3: drop optional License Code header
2025-07-29 08:33:01 -07:00
Jon Atack
6f2f4aa233 BIP3: refer to CC0 1.0 Universal
per https://creativecommons.org/publicdomain/zero/1.0/legalcode.en

and add a missing word

Co-authored-by: Tim Ruffing <crypto@timruffing.de>
2025-07-28 16:52:41 -06:00
Jon Atack
12dc0e04a2 BIP3: drop optional License Code header
Co-authored-by: Tim Ruffing <crypto@timruffing.de>
Co-authored-by: Murch <murch@murch.one>
2025-07-28 16:52:29 -06:00
GarmashAlex
f4787bdb6f
fix broken link 2025-07-29 00:28:51 +03:00
otc group
a3e4d14e0d
remove repeated "the" 2025-07-28 23:14:16 +02:00
Mark "Murch" Erhardt
7f13f8f9f5
Merge pull request #1899 from dplusplus1024/patch-7
BIP32: Use plural “bytes”
2025-07-28 13:53:04 -07:00
Jon Atack
0a8c271715
Merge pull request #1902 from josibake/bip352-updates
BIP352: be explicit for the input_hash corner case
2025-07-25 08:22:15 -07:00
josibake
c70bc9f018
doc: be explicit for the input_hash corner case 2025-07-25 15:07:52 +01:00
Jon Atack
e8c02024f0
Merge pull request #1901 from crStiv/typo
BIP77: fix links to Client/Directory interactions
2025-07-21 13:11:08 -07:00
crStiv
c83aeb8d28
Update bip-0077.md 2025-07-21 21:11:36 +02:00
Jon Atack
0f8a2269c2 Merge branch 'nothingmuch-field-ordering-pr'
* nothingmuch-field-ordering-pr:
  CI: Enforce BIP 2 & 3 field ordering requirements
  scripted-diff: fix BIP 2 field order violations
2025-07-20 14:29:41 -06:00
Yuval Kogman
0eb3718c5d CI: Enforce BIP 2 & 3 field ordering requirements
The specified field order is consistent with both BIPs 2 and 3. The
ordering of fields which are only present in one or the other is
ambiguous, e.g. as in `Proposed-Replacement` and `Superseded-By` but
only one of these applies to a given BIP.

The `Editor` field is spurious, only being used in BIP 69, and appears
after Author.
2025-07-20 14:29:13 -06:00
Yuval Kogman
cd19d89e58 scripted-diff: fix BIP 2 field order violations
-BEGIN VERIFY SCRIPT-
set -e
perl <<'-END PERL-'
use strict;
use warnings;

my $topbip = 9999;

my @FieldOrder = qw(
	BIP
	Layer
	Title
	Author
	Authors
	Editor
	Deputies
	Discussions-To
	Comments-Summary
	Comments-URI
	Status
	Type
	Created
	License
	License-Code
	Discussion
	Post-History
	Version
	Requires
	Replaces
	Proposed-Replacement
	Superseded-By
);

my $bipnum = 0;
while (++$bipnum <= $topbip) {
	my $fn = sprintf "bip-%04d.mediawiki", $bipnum;
	my $is_markdown = 0;
	if (!-e $fn) {
		$fn = sprintf "bip-%04d.md", $bipnum;
		$is_markdown = 1;
	}
	-e $fn || next;
	open my $F, "<", $fn or die "$!";

	my (@before, %preamble, @after);

	if ($is_markdown) {
		while (<$F>) {
			push @before, $_;
			last if m[^(?:\xef\xbb\xbf)?```$]
		}
		die "No ``` in $fn" if eof $F;
	} else {
		while (<$F>) {
			push @before, $_;
			last if m[^(?:\xef\xbb\xbf)?<pre>$];
		}
		die "No <pre> in $fn" if eof $F;
	}
	my %found;
	my ($title, $author, $status, $type, $layer);
	my ($field, $val, @field_order);
	while (<$F>) {
		push @after, $_ and last if ($is_markdown && m[^```$]);
		push @after, $_ and last if (!$is_markdown && m[^</pre>$]);

		if (m[^  ([\w-]+)\: (.*\S)$]) {
			$field = $1;
			$val = $2;
		} elsif (m[^  ( +)(.*\S)$]) {
			$val = $2;
		} else {
			die "Bad line in $fn preamble";
		}

		push @{$preamble{$field} ||= []}, $_;
	}
	push @after, <$F>;
	close $F or die $!;

	open my $W, ">", "$fn" or die "$!";

	print $W @before;
	print $W map { @$_ } grep { defined } delete @preamble{@FieldOrder};
	die "Unknown fields: @{[ keys %preamble ]}" if %preamble;
	print $W @after;

	close $W or die $!;
}
-END PERL-
-END VERIFY SCRIPT-
2025-07-20 14:29:13 -06:00
D++
651e273ee8
Fix: Use plural “bytes” in serialization table to match field size convention
Aligns the first field in the serialization table with the rest, which use plural “bytes” (e.g., “4 bytes: child number”) for consistency.
2025-07-19 18:07:10 -07:00
Jon Atack
340c1a3d53
Merge pull request #1892 from real-or-random/202507-spdx
bip3: Switch to SPDX identifiers
2025-07-18 13:45:02 -07:00
Tim Ruffing
88d29188c6 bip3: Editorial cleanup of the license lists 2025-07-18 13:29:46 +02:00
Tim Ruffing
7aa54dd696 bip3: Change License example to CC0-1.0 OR MIT
The actual reason why I suggest this is that I think that's a great
default choice for a new BIP, so it's a perfect example. CC0-1.0 is a
great liberal choice for the BIP document (and test vectors etc.), and
MIT is the common choice for code in our ecosystem. Putting both BIP and
code under the "OR" avoids any confusion about which part is licensed
under which terms and also avoids any hassle when reorganizing, e.g.,
when moving code out of the BIP Markdown file to a separate file etc.

But I don't want this PR to recommend a license, so let me sell this
change as an editorial change to an example, which is warranted because
the MIT is much more known than FSFAP, in particular in this ecosystem.
2025-07-18 13:29:46 +02:00
Tim Ruffing
0cc4d26e67 bip3: Editorial changes in "BIP Licensing" 2025-07-18 13:29:46 +02:00
Tim Ruffing
e1d72f0243 bip3: Recommend SPDX-License-Identifier comments 2025-07-18 13:29:46 +02:00
Tim Ruffing
3de6ed6dc0 bip3: Don't require omitting unacceptable licenses
I think that requirement is not helpful. I don't think hat including
additional licenses will be overwhelming to the reader. If anything, it
will obfuscates the actual licensing conditions. (Anyway, this should be
super rare.)
2025-07-18 13:29:46 +02:00
Tim Ruffing
d01e941188 bip3: Don't call CC0 a license
That's a bit of legal nitpicking, sorry. CC0 contains something like a
public domain dedication along with a fallback license, so it's neither
entirely. Some call it a "legal instrument". I prefer not calling it
anything.
2025-07-18 13:29:08 +02:00
Tim Ruffing
33d45d7f74 bip3: Use user-defined LicenseRef-PD instead of PD
SPDX doesn't have an official identifier for "public domain", at least
not for the simple "This document is placed into the public domain"
declarations used in some BIPs, see
https://wiki.spdx.org/view/Legal_Team/Decisions/Dealing_with_Public_Domain_within_SPDX_Files
for the rationale provided by their legal team. The rationale is sound,
but It's possible to create "user-defined" identifiers of the form
LicenseRef-X. This is a good idea here to make sure that all SPDX
expression will be formally valid.

And in our case, all "PD" BIPs match the following pseudo regex, so
there's not much potential for confusion:

    "This (document|BIP|work|proposal) is (hereby)? (placed)? in the
    public domain."

So it makes sense to keep using a single identifier for all of these.
2025-07-18 13:29:08 +02:00
Tim Ruffing
85a248f68e bip3: Fix SPDX id of Open Publication License 2025-07-18 13:29:08 +02:00
Tim Ruffing
e5748c9997 bip3: Fix SPDX id of FSF/GNU All Permissive 2025-07-18 13:29:08 +02:00
Tim Ruffing
c3b6691284 bip3: Switch to SPDX License Expressions 2025-07-18 13:29:08 +02:00
Mark "Murch" Erhardt
be3d2e4611
Merge pull request #1897 from Galoretka/rawe
BIP69: fix function name typo in example code
2025-07-16 16:27:14 -07:00
Galoretka
504c8439ce
Fix function name typo: use bytearr_cmp instead of bytearray_cmp 2025-07-16 21:35:15 +03:00
Mark "Murch" Erhardt
83ac8427e7
Merge pull request #1890 from nothingmuch/fragment-fixes
BIP 77: Delimit fragment params with  `-` instead of `+`
2025-07-10 15:04:58 -07:00
Yuval Kogman
8b83c34949 Specify lexicographical order for fragment params
The rationale for this change is that since `-` instead of `+` breaks
compatibility anyway, the marginal cost of removing this
unusual/surprising requirement for reverse lexicographical ordering is
zero.
2025-07-10 22:06:57 +02:00
Yuval Kogman
43f9688600 Separate fragment params with - instead of +
Since only Bull Bitcoin Mobile and Cake wallet are currently deployed in
production, both using PDK, and the `+` character is causing some
friction, this change seems justified to avoid similar issues with
future implementations.
2025-07-10 01:33:16 +02:00
Mark "Murch" Erhardt
c17a3dbceb
Merge pull request #1888 from achow101/380-drop-H
380: Disallow H as a hardened indicator
2025-07-03 14:49:16 -07:00
Guro
fd1955694b
bip373: add hyperlinks to other BIPs (#1886)
Co-authored-by: Mark "Murch" Erhardt <murch@murch.one>
2025-07-03 10:46:18 -07:00
Ava Chow
3cc71d7c22 380: Disallow H as a hardened indicator 2025-07-01 14:28:30 -07:00
Jon Atack
36618d1c3c
Merge pull request #1884 from scgbckbone/b388_fix_vector
BIP-0388: Fix test vector
2025-07-01 13:20:47 -07:00
scgbckbone
db8bad7ac9 fix: descriptor in "Taproot wallet policy with sortedmulti_a and a miniscript leaf" test vector which incorrectly uses @0 from keys info without key origin derivation 2025-06-30 12:44:04 +02:00
Mark "Murch" Erhardt
77b0bb297a
Merge pull request #1819 from murchandamus/2025-03-bip3-followups
BIP3: Address additional review
2025-06-27 10:17:21 -07:00
Murch
99b8541e09
bip3: Improve compatibility section 2025-06-27 10:15:26 -07:00
Murch
0bbe31b745
bip3: Restate recommendation to get early feedback 2025-06-27 10:15:24 -07:00
Murch
66cb7504b4
bip3: Explain why the Replaces header is unchanged 2025-06-27 10:15:23 -07:00
Murch
7101294a93
bip3: Describe acceptance as Adoption/Publication 2025-06-27 10:15:21 -07:00
Murch
2c57d8aee6
bip3: Fix minor phrasing and structure issues 2025-06-27 10:14:25 -07:00
Jon Atack
187d8859dc
Merge pull request #1876 from Merkleize/ccv-fixes
443: Fix some mistakes, and add paragraph on fees
2025-06-26 15:35:44 -07:00