lib/lightning/onion/per_hop.rb in lightning-onion-0.2.2 vs lib/lightning/onion/per_hop.rb in lightning-onion-0.2.3

- old
+ new

@@ -10,15 +10,31 @@ @outgoing_cltv_value = outgoing_cltv_value @padding = padding end def self.parse(payload) - new(*payload.unpack('Q>2Na16')) + new(*payload.unpack('Q>2Na12')) end + LAST_NODE = PerHop.parse("\x00" * 32) def to_payload - [short_channel_id, amt_to_forward, outgoing_cltv_value, padding].pack('Q>2Na12') + to_a.pack('Q>2Na12') end - LAST_NODE = PerHop.parse("\x00" * 32) + + def ==(other) + other.class == self.class && other.to_a == to_a + end + + alias eql? == + + def hash + to_a.hash + end + + protected + + def to_a + [short_channel_id, amt_to_forward, outgoing_cltv_value, padding] + end end end end