defmodule BitcoinLib.Script.Opcodes.Reserved.Nop1 do @moduledoc """ Based on https://en.bitcoin.it/wiki/Script Word OP_NOP1 Opcode 176 Hex 0xb0 Input nothing Output nothing The word is ignored. Does not mark transaction as invalid. """ @behaviour BitcoinLib.Script.Opcode defstruct [] alias BitcoinLib.Script.Opcodes.Reserved.Nop1 @type t :: Nop1 @value 0xB0 @doc """ Returns 0xb0 ## Examples iex> BitcoinLib.Script.Opcodes.Reserved.Nop1.v() 0xb0 """ @spec v() :: 0xB0 def v do @value end @doc """ Returns <<0xb0>> ## Examples iex> BitcoinLib.Script.Opcodes.Reserved.Nop1.encode() <<0xb0>> """ @spec encode() :: <<_::8>> def encode() do <<@value::8>> end @doc """ The number 1 is pushed onto the stack. ## Examples iex> BitcoinLib.Script.Opcodes.Reserved.Nop1.execute( ...> %BitcoinLib.Script.Opcodes.Reserved.Nop1{}, ...> [3] ...> ) {:ok, [3]} """ @spec execute(Nop1.t(), list()) :: {:ok, list()} def execute(%Nop1{}, remaining) do {:ok, remaining} end end