Sha256: 7ba40f4b49e59a8c390a5009139ab3b0588c39c2fcfc3efef7be6af2557f7178
Contents?: true
Size: 691 Bytes
Versions: 27
Compression:
Stored size: 691 Bytes
Contents
module Bitcoin # witness class ScriptWitness attr_reader :stack def initialize(stack = []) @stack = stack end 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 def empty? stack.empty? end def to_payload p = Bitcoin.pack_var_int(stack.size) p << stack.map { |s| Bitcoin.pack_var_int(s.bytesize) << s }.join end def to_s stack.map{|s|s.bth}.join(' ') end end end
Version data entries
27 entries across 27 versions & 1 rubygems