(apply_formatter_to_array(to_hexbytes(32)), is_array_of_strings), )) TRANSACTION_PARAM_FORMATTERS = { 'chainId': apply_formatter_if(is_integer, str), } transaction_param_formatter = compose( remove_key_if('to', lambda txn: txn['to'] in {'', b'', None}), apply_formatters_to_dict(TRANSACTION_PARAM_FORMATTERS), ) estimate_gas_without_block_id = apply_formatter_at_index(transaction_param_formatter, 0) estimate_gas_with_block_id = combine_argument_formatters( transaction_param_formatter, block_number_formatter, ) pythonic_middleware = construct_formatting_middleware( request_formatters={ # Eth 'eth_getBalance': apply_formatter_at_index(block_number_formatter, 1), 'eth_getBlockByNumber': apply_formatter_at_index(block_number_formatter, 0), 'eth_getBlockTransactionCountByNumber': apply_formatter_at_index( block_number_formatter, 0, ), 'eth_getCode': apply_formatter_at_index(block_number_formatter, 1), 'eth_getStorageAt': apply_formatter_at_index(block_number_formatter, 2), 'eth_getTransactionByBlockNumberAndIndex': compose(
'platon_getStorageAt': apply_formatter_at_index(block_number_formatter, 2), 'platon_getTransactionByBlockNumberAndIndex': compose( apply_formatter_at_index(block_number_formatter, 0), apply_formatter_at_index(integer_to_hex, 1), ), 'platon_getTransactionCount': apply_formatter_at_index(block_number_formatter, 1), 'platon_getUncleCountByBlockNumber': apply_formatter_at_index(block_number_formatter, 0), 'platon_getUncleByBlockNumberAndIndex': compose( apply_formatter_at_index(block_number_formatter, 0), apply_formatter_at_index(integer_to_hex, 1), ), 'platon_getUncleByBlockHashAndIndex': apply_formatter_at_index(integer_to_hex, 1), 'platon_newFilter': apply_formatter_at_index(filter_params_formatter, 0), 'platon_getLogs': apply_formatter_at_index(filter_params_formatter, 0), 'platon_call': combine_argument_formatters( transaction_param_formatter, block_number_formatter, ), 'platon_estimateGas': apply_formatter_at_index(transaction_param_formatter, 0), 'platon_sendTransaction': apply_formatter_at_index(transaction_param_formatter, 0), # personal 'personal_importRawKey': apply_formatter_at_index( compose(remove_0x_prefix, hexstr_if_str(to_hex)), 0, ), 'personal_sign': apply_formatter_at_index(text_if_str(to_hex), 0), 'personal_ecRecover': apply_formatter_at_index(text_if_str(to_hex), 0), 'personal_sendTransaction': apply_formatter_at_index(transaction_param_formatter, 0), # Snapshot and Revert 'evm_revert': apply_formatter_at_index(integer_to_hex, 0), 'trace_replayBlockTransactions': apply_formatter_at_index(block_number_formatter, 0), 'trace_block': apply_formatter_at_index(block_number_formatter, 0),
(apply_formatter_to_array(to_hexbytes(32)), is_array_of_strings), )) TRANSACTION_PARAM_FORMATTERS = { 'chainId': apply_formatter_if(is_integer, str), } transaction_param_formatter = compose( remove_key_if('to', lambda txn: txn['to'] in {'', b'', None}), apply_formatters_to_dict(TRANSACTION_PARAM_FORMATTERS), ) estimate_gas_without_block_id = apply_formatter_at_index(transaction_param_formatter, 0) estimate_gas_with_block_id = combine_argument_formatters( transaction_param_formatter, block_number_formatter, ) pythonic_middleware = construct_formatting_middleware( request_formatters={ # Eth 'eth_getBalance': apply_formatter_at_index(block_number_formatter, 1), 'eth_getBlockByNumber': apply_formatter_at_index(block_number_formatter, 0), 'eth_getBlockTransactionCountByNumber': apply_formatter_at_index( block_number_formatter, 0, ), 'eth_getCode': apply_formatter_at_index(block_number_formatter, 1), 'eth_getStorageAt': apply_formatter_at_index(block_number_formatter, 2), 'eth_getTransactionByBlockNumberAndIndex': compose(