BSV.Script.Opcodes (bsv_sdk v1.1.0)

Copy Markdown View Source

Bitcoin script opcode definitions.

All standard opcodes from OP_0 (0x00) through OP_INVALIDOPCODE (0xff). Includes opcode-to-name and name-to-opcode mappings for ASM output.

Summary

Functions

name_to_opcode(name)

@spec name_to_opcode(String.t()) :: {:ok, byte()} | :error

Convert an opcode name string to its byte value.

Examples

iex> BSV.Script.Opcodes.name_to_opcode("OP_DUP")
{:ok, 0x76}

op_0()

(macro)

op_0notequal()

(macro)

op_1()

(macro)

op_1add()

(macro)

op_1negate()

(macro)

op_1sub()

(macro)

op_2()

(macro)

op_2div()

(macro)

op_2drop()

(macro)

op_2dup()

(macro)

op_2mul()

(macro)

op_2over()

(macro)

op_2rot()

(macro)

op_2swap()

(macro)

op_3()

(macro)

op_3dup()

(macro)

op_4()

(macro)

op_5()

(macro)

op_6()

(macro)

op_7()

(macro)

op_8()

(macro)

op_9()

(macro)

op_10()

(macro)

op_11()

(macro)

op_12()

(macro)

op_13()

(macro)

op_14()

(macro)

op_15()

(macro)

op_16()

(macro)

op_abs()

(macro)

op_add()

(macro)

op_and()

(macro)

op_bin2num()

(macro)

op_booland()

(macro)

op_boolor()

(macro)

op_cat()

(macro)

op_checkmultisig()

(macro)

op_checkmultisigverify()

(macro)

op_checksig()

(macro)

op_checksigverify()

(macro)

op_codeseparator()

(macro)

op_depth()

(macro)

op_div()

(macro)

op_drop()

(macro)

op_dup()

(macro)

op_else()

(macro)

op_endif()

(macro)

op_equal()

(macro)

op_equalverify()

(macro)

op_false()

(macro)

op_fromaltstack()

(macro)

op_greaterthan()

(macro)

op_greaterthanorequal()

(macro)

op_hash160()

(macro)

op_hash256()

(macro)

op_if()

(macro)

op_ifdup()

(macro)

op_invalidopcode()

(macro)

op_invert()

(macro)

op_lessthan()

(macro)

op_lessthanorequal()

(macro)

op_lshift()

(macro)

op_max()

(macro)

op_min()

(macro)

op_mod()

(macro)

op_mul()

(macro)

op_negate()

(macro)

op_nip()

(macro)

op_nop1()

(macro)

op_nop2()

(macro)

op_nop3()

(macro)

op_nop4()

(macro)

op_nop5()

(macro)

op_nop6()

(macro)

op_nop7()

(macro)

op_nop8()

(macro)

op_nop9()

(macro)

op_nop10()

(macro)

op_nop()

(macro)

op_not()

(macro)

op_notif()

(macro)

op_num2bin()

(macro)

op_numequal()

(macro)

op_numequalverify()

(macro)

op_numnotequal()

(macro)

op_or()

(macro)

op_over()

(macro)

op_pick()

(macro)

op_pushdata1()

(macro)

op_pushdata2()

(macro)

op_pushdata4()

(macro)

op_reserved1()

(macro)

op_reserved2()

(macro)

op_reserved()

(macro)

op_return()

(macro)

op_ripemd160()

(macro)

op_roll()

(macro)

op_rot()

(macro)

op_rshift()

(macro)

op_sha1()

(macro)

op_sha256()

(macro)

op_size()

(macro)

op_split()

(macro)

op_sub()

(macro)

op_swap()

(macro)

op_toaltstack()

(macro)

op_true()

(macro)

op_tuck()

(macro)

op_ver()

(macro)

op_verif()

(macro)

op_verify()

(macro)

op_vernotif()

(macro)

op_within()

(macro)

op_xor()

(macro)

opcode_to_name(op)

@spec opcode_to_name(byte()) :: String.t()

Convert an opcode byte to its canonical name string.

Examples

iex> BSV.Script.Opcodes.opcode_to_name(0x76)
"OP_DUP"