Skip to content

Simplify soft forks via code generation#82

Merged
ajtowns merged 3 commits intobitcoin-inquisition:29.xfrom
ajtowns:202507-inq29-softenforks
Jul 16, 2025
Merged

Simplify soft forks via code generation#82
ajtowns merged 3 commits intobitcoin-inquisition:29.xfrom
ajtowns:202507-inq29-softenforks

Conversation

@ajtowns
Copy link

@ajtowns ajtowns commented Jul 9, 2025

Introduces src/binana.py which turns src/binana/*.json files into a src/binana.h header file, that will automatically fill in many of the commonly touched parts of the code when introducing a new soft fork or opcode.

@ajtowns ajtowns added this to the 29.x milestone Jul 9, 2025
@ajtowns
Copy link
Author

ajtowns commented Jul 9, 2025

See #83 for an example of this in use, in particular compare the "Re-enable OP_CAT" commit there to the "Re-enable OP_CAT" and "OP_CAT deployment" commits in #68.

Any ideas on how to automate the tweaks needed for rpc_blockchain.py appreciated; I think that's the only thing that will continue to force soft-fork PRs to conflict.

@ajtowns ajtowns force-pushed the 202507-inq29-softenforks branch from 274f1a2 to 7507adf Compare July 11, 2025 04:49
@ajtowns
Copy link
Author

ajtowns commented Jul 11, 2025

Any ideas on how to automate the tweaks needed for rpc_blockchain.py appreciated; I think that's the only thing that will continue to force soft-fork PRs to conflict.

Generating test/functional/data/binana.json seems to solve this.

@ajtowns ajtowns force-pushed the 202507-inq29-softenforks branch 2 times, most recently from fbf2f37 to 9bab8c4 Compare July 11, 2025 15:53
@ajtowns ajtowns force-pushed the 202507-inq29-softenforks branch from 9bab8c4 to 0760cda Compare July 13, 2025 00:02
@ajtowns ajtowns force-pushed the 202507-inq29-softenforks branch 7 times, most recently from 955d365 to e66baf7 Compare July 14, 2025 18:42
@ajtowns ajtowns force-pushed the 202507-inq29-softenforks branch from e66baf7 to ea385f8 Compare July 15, 2025 07:46
@ajtowns ajtowns marked this pull request as ready for review July 15, 2025 07:57
@ajtowns ajtowns merged commit 8d76fc6 into bitcoin-inquisition:29.x Jul 16, 2025
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants