Skip to content

OP_CAT to BIP 0003 format, add usecase and test vectors#2090

Merged
murchandamus merged 7 commits intobitcoin:masterfrom
EthanHeilman:catupdate
Mar 2, 2026
Merged

OP_CAT to BIP 0003 format, add usecase and test vectors#2090
murchandamus merged 7 commits intobitcoin:masterfrom
EthanHeilman:catupdate

Conversation

@EthanHeilman
Copy link
Copy Markdown
Contributor

@EthanHeilman EthanHeilman commented Jan 24, 2026

  • Add two use cases to motivation
  • Add BIP 003 versioning
  • Test vectors

@EthanHeilman EthanHeilman marked this pull request as draft January 24, 2026 00:40
Copy link
Copy Markdown
Member

@murchandamus murchandamus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you have have concluded all planned work on this proposal, have you considered advancing this BIP to Complete?

Comment thread bip-0347.mediawiki Outdated
@murchandamus murchandamus added the BIP Update by Owner PR by Author or Deputy to modify their own BIP label Jan 25, 2026
@EthanHeilman
Copy link
Copy Markdown
Contributor Author

@murchandamus From a content perspective, I don't plan to add anything else. If @arminsabouri agrees, I see no reason not to mark it as complete.

If at some future point, in response to rough consensus we may create an activation client, I plan to document the activation details in this BIP. Rereading BIP 0003, it doesn't say it explicitly, but it seems like the intention is for this to be done after the BIP is complete as part of preparing the BIP for deployed status. I'm I understanding BIP 0003 correctly here?

Copy link
Copy Markdown
Contributor

@arminsabouri arminsabouri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack e681ec8

@murchandamus
Copy link
Copy Markdown
Member

Ethan wrote:

If at some future point, in response to rough consensus we may create an activation client, I plan to document the activation details in this BIP. Rereading BIP 0003, it doesn't say it explicitly, but it seems like the intention is for this to be done after the BIP is complete as part of preparing the BIP for deployed status. I'm I understanding BIP 0003 correctly here?

You’re right, there is so far no explicit guidance regarding when the activation mechanism would be expected or how it should be formatted. Given that any deployment strategy matters only temporarily and doesn’t otherwise impact the content of the Specification, it seems reasonable to me that the activation mechanism may be added after a BIP is moved to Complete.

@EthanHeilman EthanHeilman marked this pull request as ready for review February 2, 2026 20:40
Comment thread bip-0347.mediawiki Outdated
Comment thread bip-0347.mediawiki

OP_CAT usage in a non-tapscript script will continue to trigger the SCRIPT_ERR_DISABLED_OPCODE. The only change would be to OP_CAT usage in tapscript. This change to tapscript would be activated as a soft fork that redefines an OP_SUCCESSx opcode (OP_SUCCESS126) to OP_CAT.

==Reference implementation==
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you feel that this proposal needs test vectors? If so, they should be added/referenced for it to be moved to Complete.
The Elements implementation does appear to have some that could perhaps be adapted: ElementsProject/elements@9fea017

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point! The reference implementation does have test vectors. I'll update this PR with them when I get a moment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great thanks!

EthanHeilman and others added 2 commits February 2, 2026 19:12
Co-authored-by: Mark "Murch" Erhardt <murch@murch.one>
@murchandamus
Copy link
Copy Markdown
Member

I noticed that the table entry was not updated along the preamble update, so I added a commit to fix the table entry.

@murchandamus murchandamus added PR Author action required Needs updates, has unaddressed review comments, or is otherwise waiting for PR author labels Feb 27, 2026
@EthanHeilman EthanHeilman changed the title OP_CAT to BIP 0003 format, add usecase OP_CAT to BIP 0003 format, add usecase and test vectors Mar 2, 2026
@EthanHeilman
Copy link
Copy Markdown
Contributor Author

@murchandamus Added test vectors

Copy link
Copy Markdown
Member

@murchandamus murchandamus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, looks good

@murchandamus murchandamus merged commit 9fb88a1 into bitcoin:master Mar 2, 2026
4 checks passed
@murchandamus murchandamus removed the PR Author action required Needs updates, has unaddressed review comments, or is otherwise waiting for PR author label Mar 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

BIP Update by Owner PR by Author or Deputy to modify their own BIP

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants