Beispiel #1
0
 def validate_proof(self, result):
     """
     Validates state proof
     """
     state_root_hash = result[STATE_PROOF]['root_hash']
     state_root_hash = state_roots_serializer.deserialize(state_root_hash)
     proof_nodes = result[STATE_PROOF]['proof_nodes']
     if isinstance(proof_nodes, str):
         proof_nodes = proof_nodes.encode()
     proof_nodes = proof_nodes_serializer.deserialize(proof_nodes)
     key, value = self.prepare_for_state(result)
     valid = PruningState.verify_state_proof(state_root_hash,
                                             key,
                                             value,
                                             proof_nodes,
                                             serialized=True)
     return valid
Beispiel #2
0
def validate_proof(result):
    """
    Validates state proof
    """
    state_root_hash = result[STATE_PROOF]['root_hash']
    state_root_hash = state_roots_serializer.deserialize(state_root_hash)
    proof_nodes = result[STATE_PROOF]['proof_nodes']
    if isinstance(proof_nodes, str):
        proof_nodes = proof_nodes.encode()
    proof_nodes = proof_nodes_serializer.deserialize(proof_nodes)
    key, value = prepare_for_state(result)
    valid = PruningState.verify_state_proof(state_root_hash,
                                            key,
                                            value,
                                            proof_nodes,
                                            serialized=True)
    return valid
Beispiel #3
0
def decode_proof(proof):
    proof = proof_nodes_serializer.deserialize(proof)
    return Trie.deserialize_proof(proof)