Concrete MATT opcodes



Summary:

Salvatore thanks Johan for the comments and independent implementation. The main concern for the reordering was to put it at the bottom as it is typically passed via the witness stack. The right next was added to allow specifying via the witness the input index or output for certain UTXOs with CCV encumbrance. This helps in designing more flexible contracts that can batch transactions. Other parameters are usually hardcoded or propagated from the current input with special values. Johan's ordering is considered more aesthetically pleasing. The deferred output amount check is not enough for coinpools, but it has no cost if there is already a parameter. The intent is to preserve amounts for many-to-one contracts and one-to-one cases. Efforts to define and add explicit introspection for exciting use cases can proceed independently without nullifying the advantages of this optional feature of CCV.


Updated on: 2023-08-10T02:11:13.958233+00:00