def METHOD_NAME(vtx, times):
    # One proof per Sapling spend, Sapling output, and JoinSplit
    proofs = sum([tx['nShieldedSpend'] + tx['nShieldedOutput'] + tx['nJoinSplit'] for tx in vtx])
    # One ECDSA signature per transparent input
    ecdsa_sigs = sum([len(tx['vin']) for tx in vtx])
    # One RedJubjub signature per Sapling spend (spendAuthSig) and per transaction (bindingSig)
    redjubjub_sigs = sum([tx['nShieldedSpend'] + (
        1 if tx['nShieldedSpend'] + tx['nShieldedOutput'] > 0 else 0) for tx in vtx])
    # One Ed25519 signature per transaction that contains JoinSplits
    ed25519_sigs = sum([1 if tx['nJoinSplit'] > 0 else 0 for tx in vtx])
    print('- Block size:          ', block_size(vtx), 'bytes')
    print('- Transactions:        ', len(vtx))
    print('- Proofs:              ', proofs)
    print('- ECDSA signatures:    ', ecdsa_sigs)
    print('- RedJubjub signatures:', redjubjub_sigs)
    print('- Ed25519 signatures:  ', ed25519_sigs)
    print('- Verification time:    %0.2f seconds' % (float(
        (times['proof'] * proofs) +
        (times['ecdsa'] * ecdsa_sigs) +
        (times['redjubjub'] * redjubjub_sigs) +
        (times['ed25519'] * ed25519_sigs)
    ) / 10**9))