1
0
mirror of https://github.com/bitcoin/bips.git synced 2026-02-23 15:38:22 +00:00
Commit Graph

47 Commits

Author SHA1 Message Date
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
VolodymyrBg
c5220f8c3b BIPs 78 and 329: minor grammar and typo fix-ups (#1825)
* BIP 329 fix typo

* BIP 78 fix typos
2025-04-14 12:35:42 -07:00
Jon Atack
f1ad9188b4 Merge branch 'master' into bip78-mixed-inputs-ok 2025-01-14 08:13:20 -07:00
Jon Atack
8c494fc9b8 Merge branch 'master' into patch-1 2025-01-14 07:51:07 -07:00
DanGould
bd01a269e5 BIP78: Doc amount parameter not required
It's an optional parameter in BIP 21 Bitcoin URIs, but it doesn't hurt
to make it explicit.

Co-authored-by: Martin Habovstiak <martin.habovstiak@gmail.com>
2024-07-08 13:57:30 -04:00
DanGould
72d8bb04b8 BIP78: Clarify output substitution
The original text is ambiguous to allowing transaction cut-through
or not. Transaction cut-through enables savings by posting multiple
transaction intents through a single 2-party payjoin and is used
in practice in payjoins today. Let's explicitly allow it in the text.

Co-authored-by: Martin Habovstiak <martin.habovstiak@gmail.com>
2024-07-08 13:57:30 -04:00
DanGould
539fd85498 BIP78: Allow mixed inputs
Disallowing mixed inputs was based on incorrect assumption that no
wallet supports mixed inputs and thus mixed inputs imply PayJoin.
However there are at least three wallets supporting mixed inputs.
(Confirmed: Bitcoin Core, LND, Coinomi) Thus it makes sense to enable
mixed inputs to avoid a payjoin-specific fingerptint. To avoid
compatibility issues a grace period is suggested.

Co-authored-by: Martin Habovstiak <martin.habovstiak@gmail.com>
2024-07-08 13:57:30 -04:00
Stacie
5700a230dc BIP78: spelling and grammar updates
Co-authored-by: Dan Gould <d@ngould.dev>
Co-authored-by: Jon Atack <jon@atack.com>
2024-07-03 21:00:05 -04:00
Dan Gould
e4267374fb Keep input utxo data through input finalization
The reference sender implementation and \`payjoin proposal\` test vectors
are adjusted accordingly.

According to the psbt Input Finalizer spec "All other data except the
UTXO and unknown fields in the input key-value map should be cleared from
the PSBT. The UTXO should be kept to allow Transaction Extractors to
verify the final network serialized transaction."

I ran into a problem where an LND acting as sender FinalizePsbt gRPC
fails when sender utxo information is missing. I see no good reason to
remove utxo information from the PSBT.
2024-06-10 13:11:38 -04:00
John Bampton
f61885edcf docs: fix spelling (#1117)
Co-authored-by: Mark "Murch" Erhardt <murch@murch.one>
2024-04-30 16:54:05 -04:00
kallewoof
bd943663d6 Merge pull request #1156 from rage-proof/patch-2
typo in bip-0078
2021-08-31 21:21:57 +09:00
kallewoof
407d1178f3 Merge pull request #1171 from NicolasDorier/woieuq
[BIP78] Fix client implementation when there is output substitution
2021-08-31 19:50:37 +09:00
nicolas.dorier
d8db3d7608 [BIP78] Fix client implementation when there is output substitution 2021-08-31 15:48:16 +09:00
rage-proof
ec52492034 typo in bip-0078
This is a transaction with inputs P2SH-P2WPKH 
1. P2SH-P2WPKH is defined as type in this doc and the other type not
2. the RedeemScript(0 c78a45725355828d5658074dd5260d5fcb698530) consists of 0 + <20 bytes> and indicates therefore P2WPKH-Type. https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#P2WPKH_nested_in_BIP16_P2SH
2021-08-17 01:08:10 +02:00
Nicolas Dorier
1945eda0c2 [BIP78] Recommended fee rate estimation for P2TR
Non-Witness: 

Outpoint size = 32+4
Sequence size = 4
ScriptSig VarInt Size= 1

Witness: 

WitScript VarInt Size= 1
Then script itself: 65 signature size + 1 byte of push opcode

`(32 + 4 + 4 + 1) + (65+1+1)/4=57.75`, rounded up `58`.

We assume 65 of signature size rather than 64, since we can't assume the sighash to be `Default`.
2021-08-05 15:49:41 +09:00
kallewoof
65529b12bb Merge pull request #1082 from molnard/patch-1
Fix word duplication
2021-06-15 15:49:20 +09:00
kallewoof
127cdc3cda Merge pull request #1027 from rage-proof/patch-1
BIP-0078: fix typo
2021-06-15 15:49:06 +09:00
Dávid Molnár
38d2454210 Fix word duplication 2021-03-09 09:09:52 +01:00
rage-proof
55d37134cf Update bip-0078.mediawiki
the payjoin proposal has more inputs
2020-10-29 23:58:50 +01:00
Adam Gibson
1fbcd28584 update Joinmarket BIP78 status 2020-10-18 13:37:50 +01:00
kiminuo
a4fd5cc8ad Update bip-0078.mediawiki
Fix a few links.
2020-07-19 22:51:06 +02:00
nicolas.dorier
a76f5e4335 Clarify test vector 2020-06-23 17:46:18 +09:00
nicolas.dorier
b0be77f99e Removing non-sense paragraph 2020-06-22 11:06:57 +09:00
nicolas.dorier
e6418e5a76 Fix missing word 2020-06-22 10:58:40 +09:00
nicolas.dorier
5e4cc6d812 Fix grammar, additional note on ability to increase output of the receiver 2020-06-22 10:56:22 +09:00
nicolas.dorier
feac3d0035 Update special thanks 2020-06-19 16:12:29 +09:00
nicolas.dorier
c449c019f6 Do not allow decrease in absolute fee 2020-06-19 16:06:19 +09:00
nicolas.dorier
549107933c Allow outputs to be increased 2020-06-19 15:19:22 +09:00
nicolas.dorier
bd97400743 Introduce pjos=0 2020-06-19 15:00:19 +09:00
nicolas.dorier
e2778babfb additional comments 2020-06-19 14:31:19 +09:00
nicolas.dorier
6d4b491b31 Simplify sender's implementation, fix typos 2020-06-19 14:26:51 +09:00
nicolas.dorier
93c655a149 Fix typo 2020-06-19 13:24:59 +09:00
nicolas.dorier
3a16c24f5e Additional note for HW 2020-06-19 13:23:37 +09:00
nicolas.dorier
7803bf8335 Reformat the check list for sender 2020-06-19 13:17:34 +09:00
nicolas.dorier
a3fbc6c620 Do not crash reference implementation if there is no address in the bip21 2020-06-18 11:04:59 +09:00
nicolas.dorier
a2a085cdb4 Add disableoutputsubstitution= optional parameter 2020-06-18 10:11:20 +09:00
nicolas.dorier
63aa576fac Update from RHavar remarks 2020-06-18 09:59:44 +09:00
nicolas.dorier
3485af708c Add reference implementation 2020-06-18 00:12:29 +09:00
nicolas.dorier
ea7562fc90 Fix old error code 2020-06-17 21:51:09 +09:00
nicolas.dorier
3fc7032ec3 Fix some formatting 2020-06-17 16:20:38 +09:00
nicolas.dorier
f36ca8f43d Update recommendation for receiver and sender 2020-06-17 16:15:53 +09:00
nicolas.dorier
a07fef5797 Add fee output section 2020-06-17 16:09:35 +09:00
nicolas.dorier
d72e27535e [MoveOnly] Move optional parameters at the beginning 2020-06-17 15:06:28 +09:00
nicolas.dorier
801cc71114 Update PSBT invariants 2020-06-16 14:27:09 +09:00
nicolas.dorier
631d8e65cd Simplifies sender recommendation 2020-06-16 14:17:36 +09:00
nicolas.dorier
d13c784671 Remove parts refering to RBF, add recommendations for maxadditionalfeecontribution 2020-06-16 13:39:27 +09:00
nicolas.dorier
73a4d7c4ba Rename to BIP78 2020-06-16 12:38:11 +09:00