Class: Bitcoin::Protocol::ScriptWitness

Inherits:
Object
  • Object
show all
Defined in:
lib/segwit/script_witness.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeScriptWitness

Returns a new instance of ScriptWitness.



6
7
8
# File 'lib/segwit/script_witness.rb', line 6

def initialize
  @stack = []
end

Instance Attribute Details

#stackObject (readonly)

witness stack



4
5
6
# File 'lib/segwit/script_witness.rb', line 4

def stack
  @stack
end

Instance Method Details

#empty?Boolean

Returns:

  • (Boolean)


10
11
12
# File 'lib/segwit/script_witness.rb', line 10

def empty?
  stack.empty?
end

#to_payloadObject

output script in raw binary format



15
16
17
18
19
20
21
22
# File 'lib/segwit/script_witness.rb', line 15

def to_payload
  payload = Bitcoin::Protocol.pack_var_int(stack.size)
  stack.each{|e|
    payload << Bitcoin::Protocol.pack_var_int(e.htb.bytesize)
    payload << e.htb
  }
  payload
end