Post
Topic
Board Development & Technical Discussion
Merits 13 from 3 users
Re: Covenant opcode proposal OP_CONSTRAINDESTINATION (an alternative to OP_CTV)
by
NotATether
on 15/07/2021, 22:36:08 UTC
⭐ Merited by Welsh (6) ,hugeblack (4) ,ETFbitcoin (3)
What do you mean by "the presignature"? In any case, I realized what I was missing. Right the OP_CTV call appears in the script which is what is put into ScriptSig.

I mean the input to OP_CTV, whatever it's called:

Code:
  uint256 GetStandardTemplateHashEmptyScript(const CTransaction& tx, const uint256& outputs_hash, const uint256& sequences_hash,
                                    const uint32_t input_index) {
        auto h =  CHashWriter(SER_GETHASH, 0)
            << tx.nVersion
            << tx.nLockTime
            << uint32_t(tx.vin.size())
            << sequences_hash
            << uint32_t(tx.vout.size())
            << outputs_hash
            << input_index;
        return h.GetSHA256();
    }

What do you mean "match" here? Are you talking about transaction inputs here?

Yeah.

Both OP_CTV and OP_CD should be able to ensure the transaction sends the coins to one of a particular set of destinations. What kind of complex conditions can't you do with bitcoin?

Well, technically you can make a condition today that explicitly spells out a bunch of addresses belonging to a service you could send to, but wouldn't it be much easier on smart-contact writers if you could, say, pass a master public key instead to make the inputs match *any* of its derived addresses (I can see this being particularly useful for e.g. Bitpay)?