def node_for_block(self, height): block_header = CBlockHeader() block_header.deserialize( BytesIO(hex_str_to_bytes(self.nodes[0].getblock(str(height), 0)))) sapling_root = hex_str_to_bytes(self.nodes[0].getblock( str(height))["finalsaplingroot"])[::-1] return ZcashMMRNode.from_block(block_header, height, sapling_root, 0, HEARTWOOD_BRANCH_ID)
def node_for_block(self, height): if height >= 35: epoch = NU5_BRANCH_ID elif height >= 32: epoch = CANOPY_BRANCH_ID else: epoch = HEARTWOOD_BRANCH_ID block_header = CBlockHeader() block_header.deserialize( BytesIO(hex_str_to_bytes(self.nodes[0].getblock(str(height), 0)))) sapling_root = hex_str_to_bytes(self.nodes[0].getblock( str(height))["finalsaplingroot"])[::-1] if height >= 35: orchard_root = hex_str_to_bytes(self.nodes[0].getblock( str(height))["finalorchardroot"])[::-1] v2_data = (orchard_root, 0) else: v2_data = None return ZcashMMRNode.from_block(block_header, height, sapling_root, 0, epoch, v2_data)