class Bitcoin::ScriptWitness
witness
Attributes
stack[R]
Public Class Methods
new(stack = [])
click to toggle source
# File lib/bitcoin/script_witness.rb, line 8 def initialize(stack = []) @stack = stack end
parse_from_payload(payload)
click to toggle source
# File lib/bitcoin/script_witness.rb, line 12 def self.parse_from_payload(payload) buf = payload.is_a?(StringIO) ? payload : StringIO.new(payload) size = Bitcoin.unpack_var_int_from_io(buf) stack = size.times.map do buf.read(Bitcoin.unpack_var_int_from_io(buf)) end self.new(stack) end
Public Instance Methods
empty?()
click to toggle source
# File lib/bitcoin/script_witness.rb, line 21 def empty? stack.empty? end
to_payload()
click to toggle source
# File lib/bitcoin/script_witness.rb, line 25 def to_payload p = Bitcoin.pack_var_int(stack.size) p << stack.map { |s| Bitcoin.pack_var_int(s.bytesize) << s }.join end
to_s()
click to toggle source
# File lib/bitcoin/script_witness.rb, line 32 def to_s stack.map{|s|s.bth}.join(' ') end