Class: Lightning::Onion::PerHop

Inherits:
Object
  • Object
show all
Defined in:
lib/lightning/onion/per_hop.rb

Constant Summary collapse

LAST_NODE =
PerHop.parse("\x00" * 32)

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(channel_id, amt_to_forward, outgoing_cltv_value, padding) ⇒ PerHop

Returns a new instance of PerHop.



7
8
9
10
11
12
# File 'lib/lightning/onion/per_hop.rb', line 7

def initialize(channel_id, amt_to_forward, outgoing_cltv_value, padding)
  @channel_id = channel_id
  @amt_to_forward = amt_to_forward
  @outgoing_cltv_value = outgoing_cltv_value
  @padding = padding
end

Instance Attribute Details

#amt_to_forwardObject

Returns the value of attribute amt_to_forward.



6
7
8
# File 'lib/lightning/onion/per_hop.rb', line 6

def amt_to_forward
  @amt_to_forward
end

#channel_idObject

Returns the value of attribute channel_id.



6
7
8
# File 'lib/lightning/onion/per_hop.rb', line 6

def channel_id
  @channel_id
end

#outgoing_cltv_valueObject

Returns the value of attribute outgoing_cltv_value.



6
7
8
# File 'lib/lightning/onion/per_hop.rb', line 6

def outgoing_cltv_value
  @outgoing_cltv_value
end

#paddingObject

Returns the value of attribute padding.



6
7
8
# File 'lib/lightning/onion/per_hop.rb', line 6

def padding
  @padding
end

Class Method Details

.parse(payload) ⇒ Object



14
15
16
# File 'lib/lightning/onion/per_hop.rb', line 14

def self.parse(payload)
  new(*payload.unpack('a8N2a16'))
end

Instance Method Details

#to_payloadObject



18
19
20
# File 'lib/lightning/onion/per_hop.rb', line 18

def to_payload
  [channel_id, amt_to_forward, outgoing_cltv_value, padding].pack('a8N2a16')
end