Page MenuHomePhabricator

[64-bit ints] Add activation logic
ClosedPublic

Authored by tobias_ruck on Aug 9 2025, 18:31.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Commits
rABCaf1f4e6b2935: [64-bit ints] Add activation logic
Summary

After this diff, 63+sign-bit integers will be enabled with the Shibusawa upgrade.

Before activation, Scripts of the kind 0x11_0000_0000 0x10_0000_0000 OP_ADD 0x21_0000_0000 OP_EQUAL are unspendable, as they exceed the 31+sign-bit range that is currently active on Script.

After activation, they will become valid, as well as with all other arithmetic opcodes.

Activation code inspired by D13159.

Depends on D18462 and D18481.

Test Plan

ninja check-functional

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Fabien requested changes to this revision.Aug 11 2025, 12:50

Maybe look at D3736 and add a check3() step so we get a better error message

test/functional/feature_63_bit_ints.py
62 ↗(On Diff #55163)

COINBASE_MATURITY or something like that

123 ↗(On Diff #55163)

Can you check the previous tx is not added back to the mempool after the block invalidation ?

142 ↗(On Diff #55163)

remove

146 ↗(On Diff #55163)

can't you use create_block from blooktools ?

This revision now requires changes to proceed.Aug 11 2025, 12:50
test/functional/feature_63_bit_ints.py
146 ↗(On Diff #55163)

we're using it within this function, this one is just adding a bit of extra convenience

rebase onto D18481 for better errors, address review

This revision is now accepted and ready to land.Aug 12 2025, 13:33
This revision was automatically updated to reflect the committed changes.