BIP 119: CHECKTEMPLATEVERIFY #875

pull JeremyRubin wants to merge 4 commits into bitcoin:master from JeremyRubin:ctv changing 9 files +705 −0
  1. JeremyRubin commented at 6:16 pm on January 6, 2020: contributor
    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.
  2. luke-jr added the label New BIP on Jan 17, 2020
  3. JeremyRubin commented at 10:54 pm on January 17, 2020: contributor

    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:

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

    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.

  4. luke-jr commented at 8:39 pm on January 19, 2020: member
    @JeremyRubin This is missing a backwards compatibility section. @kallewoof Can you look into a better fix for the linter issue?
  5. kallewoof commented at 4:58 am on January 20, 2020: member
    Looking.
  6. kallewoof cross-referenced this on Jan 20, 2020 from issue linter: avoid false positives such as C++ lambda exprs by only detect… by kallewoof
  7. JeremyRubin commented at 3:51 am on January 21, 2020: contributor

    @luke-jr it was unclear to me that a backwards compatibility section was needed for this BIP, referencing BIP-65 and BIP-112 as examples. Neither covers the OP_NOP reinterpretation as being an incompatibility.

    Regardless, I can push a section noting that there are no Backwards Incompatibilities.

  8. JeremyRubin commented at 3:57 am on January 21, 2020: contributor
    • BIP 65 – CLTV/CSV.
  9. Add BIP for CheckTemplateVerify 1a42897287
  10. Add Backwards Compatibility section to OP_CHECKTEMPLATEVERIFY BIP and change 'Implementations' header to 'Reference Implementation' c36e492f05
  11. JeremyRubin force-pushed on Jan 21, 2020
  12. JeremyRubin commented at 4:18 am on January 21, 2020: contributor
    Added a backwards compatibility section; and rebased to pick up the linter fixes.
  13. luke-jr commented at 0:03 am on January 24, 2020: member
    Use BIP 119
  14. luke-jr renamed this:
    Add BIP for CheckTemplateVerify
    BIP 119: Add BIP for CheckTemplateVerify
    on Jan 24, 2020
  15. luke-jr renamed this:
    BIP 119: Add BIP for CheckTemplateVerify
    BIP 119: CHECKTEMPLATEVERIFY
    on Jan 24, 2020
  16. Assign CTV BIP #119 1db62a07c5
  17. Fix Links to images in BIP-119 117f4186e7
  18. JeremyRubin commented at 0:57 am on January 24, 2020: contributor
    Thanks Luke! I’ve set the number & fixed links.
  19. luke-jr merged this on Jan 24, 2020
  20. luke-jr closed this on Jan 24, 2020


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bips. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-12-26 18:10 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me