-
Notifications
You must be signed in to change notification settings - Fork 5
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
Handle OP_SUCCESS-like behavior for opcodes like CHECKCONTRACTVERIFY #10
Comments
Note that |
I was thinking not about It seems that the title and the first message did not clearly convey the intended meaning. I will edit them. |
Regarding |
Upgradable pubkeys isn't much different to setting your pubkey to |
You're correct, I has mixed up the case of upgradable pubkeys (which only cause their sig check operation to succeed) with the behavior defined for That was my mistake, the cases of "upgradable pubkeys" and "undefined values for flags in CCV" are different. For CCV, it actually does There are no currently enabled opcodes which call I will edit the title to explicitly mention CCV |
When we know that the upgradable opcode will definitely behave like
OP_SUCCESS
- when there's no possibility that it will behave as normal, we can stop the execution with a special "SUCCESS" code, rather than simply adding a warning.This execution path need to be clearly marked in the report as "unconditional success because of SUCCESS-like behavior of upgradable opcode".
(edit)
An example of such opcode is
CHECKCONTRACTVERIFY
: https://github.com/Merkleize/bitcoin/blob/705dc9e41450edca86413710fc137906f6e5c949/src/script/interpreter.cpp#L1177 -- this is a proposed opcode that is currently not available in bitcoin. Still, if we would like to analyze scripts with opcode that might directly callset_success()
, we need to consider how to handle this correctlyThe text was updated successfully, but these errors were encountered: