pub fn merklize(&self) -> MerkleBlockBody {
        // Pattern match here leverages compiler to ensure every field is accounted for
        let BlockBody {
            deploy_hashes,
            transfer_hashes,
            proposer,
        } = self;

        let proposer = MerkleBlockBodyPart::new(
            proposer,
            Digest::hash(&proposer.to_bytes().expect("Could not serialize proposer")),
            Digest::SENTINEL_RFOLD,
        );

        let transfer_hashes = MerkleBlockBodyPart::new(
            transfer_hashes,
            Digest::hash_vec_merkle_tree(
                transfer_hashes.iter().cloned().map(Digest::from).collect(),
            ),
            proposer.merkle_linked_list_node_hash,
        );

        let deploy_hashes = MerkleBlockBodyPart::new(
            deploy_hashes,
            Digest::hash_vec_merkle_tree(deploy_hashes.iter().cloned().map(Digest::from).collect()),
            transfer_hashes.merkle_linked_list_node_hash,
        );

        MerkleBlockBody {
            deploy_hashes,
            transfer_hashes,
            proposer,
        }
    }
/// Constructs the block body hashes for the block body.
Constructs the block body hashes for the block body.
Constructs the block body hashes for the block body .
pub fn merklize(&self) -> MerkleBlockBody {
        // Pattern match here leverages compiler to ensure every field is accounted for
        let BlockBody {
            deploy_hashes,
            transfer_hashes,
            proposer,
        } = self;
        let proposer = MerkleBlockBodyPart::new(
            proposer,
            Digest::hash(&proposer.to_bytes().expect("Could not serialize proposer")),
            Digest::SENTINEL_RFOLD,
        );
        let transfer_hashes = MerkleBlockBodyPart::new(
            transfer_hashes,
            Digest::hash_vec_merkle_tree(
                transfer_hashes.iter().cloned().map(Digest::from).collect(),
            ),
            proposer.merkle_linked_list_node_hash,
        );
        let deploy_hashes = MerkleBlockBodyPart::new(
            deploy_hashes,
            Digest::hash_vec_merkle_tree(deploy_hashes.iter().cloned().map(Digest::from).collect()),
            transfer_hashes.merkle_linked_list_node_hash,
        );
        MerkleBlockBody {
            deploy_hashes,
            transfer_hashes,
            proposer,
        }
    }
pub fn merklize ( & self ) -> MerkleBlockBody { // Pattern match here leverages compiler to ensure every field is accounted for let BlockBody { deploy_hashes , transfer_hashes , proposer , } = self ; let proposer = MerkleBlockBodyPart :: new ( proposer , Digest :: hash ( & proposer . to_bytes ( ) . expect ( " " ) ) , Digest :: SENTINEL_RFOLD , ) ; let transfer_hashes = MerkleBlockBodyPart :: new ( transfer_hashes , Digest :: hash_vec_merkle_tree ( transfer_hashes . iter ( ) . cloned ( ) . map ( Digest :: from ) . collect ( ) , ) , proposer . merkle_linked_list_node_hash , ) ; let deploy_hashes = MerkleBlockBodyPart :: new ( deploy_hashes , Digest :: hash_vec_merkle_tree ( deploy_hashes . iter ( ) . cloned ( ) . map ( Digest :: from ) . collect ( ) ) , transfer_hashes . merkle_linked_list_node_hash , ) ; MerkleBlockBody { deploy_hashes , transfer_hashes , proposer , } }
Constructs the block body hashes for the block body.
Constructs the block body hashes for the block body .
&self
&self