-
Notifications
You must be signed in to change notification settings - Fork 37.7k
Implement 64 bit arithmetic op codes in the Script interpreter #29221
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. Code CoverageFor detailed information about the code coverage, see the test coverage report. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
🚧 At least one of the CI tasks failed. Make sure to run all tests locally, according to the Possibly this is due to a silent merge conflict (the changes in this pull request being Leave a comment here, if you need help tracking down a confusing failure. |
Concept ACK. i see no reason for this not to be bundled with any future amount introspection soft fork. |
Concept ACK |
f81fd0a
to
1a9a69c
Compare
Concept ACK. This is great! |
4037f19
to
c58bd68
Compare
b10a246
to
a63f170
Compare
3ffb1bc
to
86b1069
Compare
86b1069
to
98978bf
Compare
98978bf
to
6ec0f55
Compare
🚧 At least one of the CI tasks failed. Make sure to run all tests locally, according to the Possibly this is due to a silent merge conflict (the changes in this pull request being Leave a comment here, if you need help tracking down a confusing failure. |
Rework IsOpSuccess() to use SigVersion rather than leaf_version Use switch based impl for IsOpSuccess() Remove default in switch statement Fix compiler warning Move SigVersion to sigversion.h Fix includes try to fix compile Add sigversion.h Add include guards
…ESSTHANOREQUAL64, OP_GREATERTHAN64, OP_GREATERTHANOREQUAL64, OP_SCRIPTNUMTOLE64, OP_LE64TOSCRIPTNUM, OP_LE32TOLE64 Remove liquid args WIP Get simple OP_1 functional test case working Get tests for arithmetic and comparison opcodes working Get all functional tests passing Rename test case to Arithmetic64bitTest Rename file to feature_64bit_arithmetic_opcodes.py, add it to test_runner.py Get tests passing in feature_taproot.py Remove unused push_le4 Revert test fixture setup Cleanup Fix linting test: Add leaf_version parameter to taproot_tree_helper() Fix bug Fix bugs Fix compile Fix missing sigversion checks Fix htole64 -> htole64_internal due to bitcoin#29263 Add negative test case for OP_LE64TOSCRIPTNUM Use OP_EQUAL rather than OP_EQUALVERIFY Fix rebase
🐙 This pull request conflicts with the target branch and needs rebase. |
Too speculative for now https://delvingbitcoin.org/t/64-bit-arithmetic-soft-fork/397/53 |
This PR adds 64 bit arithmetic op codes to the Script interpreter.
This PR corresponds with this BIP proposal: bitcoin/bips#1538
This work is heavily borrowed from the elements implementation of 64 bit op codes: ElementsProject/elements#1020