Skip to content
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

Add BIP for CheckTemplateVerify #875

Open
wants to merge 1 commit into
base: master
from
Open

Conversation

@JeremyRubin
Copy link

JeremyRubin commented Jan 6, 2020

I believe now is an appropriate time to apply for a BIP number/Draft Status for OP_CTV. A few elements will require updating before the BIP moves out of draft (e.g., the activation dates) but activation dates are a separate discussion from the technical considerations which are the focus of this BIP.

@luke-jr luke-jr added the New BIP label Jan 17, 2020
@JeremyRubin

This comment has been minimized.

Copy link
Author

JeremyRubin commented Jan 17, 2020

BTW I looked into the travis error -- it seems that the linter is reading a code block and failing because a C++ lambda looks like a improperly formatted markdown link.

I am happy to add a revert-able patch as below:

bool filter(const CTxIn& c) {
    return c.scriptSig != CScript();
}
uint256 GetStandardTemplateHash(const CTransaction& tx, const uint256& outputs_hash, const uint256& sequences_hash,
                                    const uint32_t input_index) {
        bool skip_scriptSigs = std::find_if(tx.vin.begin(), tx.vin.end(), filter) == tx.vin.end();
        return skip_scriptSigs ? GetStandardTemplateHashEmptyScript(tx, outputs_hash, sequences_hash, input_index) :
            GetStandardTemplateHashWithScript(tx, outputs_hash, sequences_hash, GetScriptSigsSHA256(tx), input_index);
    }

so that you don't have to muck around with a broken linter/supressions, but I think it's better to fix the linter longer term.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.