defmodule BitcoinLib.Script.Opcodes.Crypto.CheckSigVerify do @moduledoc """ Based on https://en.bitcoin.it/wiki/Script Word OP_CHECKSIGVERIFY Opcode 173 Hex 0xad Input sig pubkey Output Nothing / fail Description Same as OP_CHECKSIG, but OP_VERIFY is executed afterward. """ @behaviour BitcoinLib.Script.Opcode defstruct [] alias BitcoinLib.Script.Opcodes.Crypto.CheckSigVerify @value 0xAD @doc """ Returns 0xad ## Examples iex> BitcoinLib.Script.Opcodes.Crypto.CheckSigVerify.v() 0xad """ @spec v() :: 0xAD def v do @value end @doc """ Returns <<0xad>> ## Examples iex> BitcoinLib.Script.Opcodes.Crypto.CheckSigVerify.encode() <<0xad>> """ @spec encode() :: <<_::8>> def encode() do <<@value::8>> end @doc """ NOT IMPLEMENTED YET """ @spec execute(%CheckSigVerify{}, list()) :: {:ok, [list()]} | {:error, binary()} def execute(%CheckSigVerify{}, []) do throw("OP_CHECKSIGVERIFY execution has not ben implemented yet") end end