Class: Ethereum::SPV::ProofVerifier

Inherits:
Proof show all
Defined in:
lib/ethereum/spv/proof_verifier.rb

Instance Attribute Summary

Attributes inherited from Proof

#nodes

Instance Method Summary collapse

Methods inherited from Proof

#add_exempt, #add_node, #decoded_nodes

Constructor Details

#initialize(nodes, exempts: []) ⇒ ProofVerifier

Returns a new instance of ProofVerifier.



9
10
11
12
# File 'lib/ethereum/spv/proof_verifier.rb', line 9

def initialize(nodes, exempts: [])
  nodes = nodes.map {|n| RLP.encode(n) }.to_set
  super(nodes: nodes, exempts: exempts)
end

Instance Method Details

#grabbing(node) ⇒ Object

Raises:



14
15
16
# File 'lib/ethereum/spv/proof_verifier.rb', line 14

def grabbing(node)
  raise InvalidSPVProof unless nodes.include?(FastRLP.encode(node))
end

#store(node) ⇒ Object



18
19
20
# File 'lib/ethereum/spv/proof_verifier.rb', line 18

def store(node)
  add_node node.dup
end