def pack_balance_proof(
        nonce: Nonce,
        balance_hash: BalanceHash,
        additional_hash: AdditionalHash,
        canonical_identifier: CanonicalIdentifier,
        msg_type: MessageTypeId = MessageTypeId.BALANCE_PROOF,
) -> bytes:
    """Packs balance proof data to be signed

    Packs the given arguments in a byte array in the same configuration the
    contracts expect the signed data to have.
    """
    return pack_data([
        'address',
        'uint256',
        'uint256',
        'uint256',
        'bytes32',
        'uint256',
        'bytes32',
    ], [
        canonical_identifier.token_network_address,
        canonical_identifier.chain_identifier,
        msg_type,
        canonical_identifier.channel_identifier,
        balance_hash,
        nonce,
        additional_hash,
    ])
def pack_balance_proof ( nonce : Nonce , balance_hash : BalanceHash , additional_hash : AdditionalHash , canonical_identifier : CanonicalIdentifier , msg_type : MessageTypeId = MessageTypeId . BALANCE_PROOF , ) -> bytes : return pack_data ( [ 'address' , 'uint256' , 'uint256' , 'uint256' , 'bytes32' , 'uint256' , 'bytes32' , ] , [ canonical_identifier . token_network_address , canonical_identifier . chain_identifier , msg_type , canonical_identifier . channel_identifier , balance_hash , nonce , additional_hash , ] )
Packs balance proof data to be signed

    Packs the given arguments in a byte array in the same configuration the
    contracts expect the signed data to have.