def update_merkle_root_to_match_coinbase(auxpow_header): coinbase = auxpow_header['parent_coinbase_tx'] revised_coinbase_txid = auxpow.fast_txid(coinbase) revised_merkle_branch = [revised_coinbase_txid] revised_merkle_root = auxpow.calculate_merkle_root( revised_coinbase_txid, revised_merkle_branch, auxpow_header['coinbase_merkle_index']) auxpow_header['parent_header']['merkle_root'] = revised_merkle_root auxpow_header['coinbase_merkle_branch'] = revised_merkle_branch
def update_merkle_root_to_match_coinbase(auxpow_header): """Updates the parent block merkle root This modifies the merkle root in the auxpow's parent block header to match the auxpow coinbase transaction. We need this after modifying the coinbase for tests. Note that this also breaks the PoW. This is fine for tests that fail due to an earlier check already.""" coinbase = auxpow_header['parent_coinbase_tx'] revised_coinbase_txid = auxpow.fast_txid(coinbase) revised_merkle_branch = [revised_coinbase_txid] revised_merkle_root = auxpow.calculate_merkle_root(revised_coinbase_txid, revised_merkle_branch, auxpow_header['coinbase_merkle_index']) auxpow_header['parent_header']['merkle_root'] = revised_merkle_root auxpow_header['coinbase_merkle_branch'] = revised_merkle_branch