def input_block_identifier_formatter(block_identifier): if is_predefined_block_number(block_identifier): return block_identifier elif is_integer(block_identifier): return hex(block_identifier) else: return block_identifier
def input_block_identifier_formatter(block_identifier): if is_predefined_block_number(block_identifier): return block_identifier elif is_integer(block_identifier): return hex(block_identifier) else: return block_identifier
def getBlockTransactionCount(self, block_identifier): """ `eth_getBlockTransactionCountByHash` `eth_getBlockTransactionCountByNumber` """ if is_predefined_block_number(block_identifier) or is_integer(block_identifier): method = 'eth_getBlockTransactionCountByNumber' else: method = 'eth_getBlockTransactionCountByHash' return self.web3._requestManager.request_blocking( method, [formatters.input_block_identifier_formatter(block_identifier)], )
def getBlockTransactionCount(self, block_identifier): """ `eth_getBlockTransactionCountByHash` `eth_getBlockTransactionCountByNumber` """ if is_predefined_block_number(block_identifier) or is_integer( block_identifier): method = 'eth_getBlockTransactionCountByNumber' else: method = 'eth_getBlockTransactionCountByHash' return self.web3._requestManager.request_blocking( method, [formatters.input_block_identifier_formatter(block_identifier)], )
def getTransactionFromBlock(self, block_identifier, transaction_index): """ `eth_getTransactionByBlockHashAndIndex` `eth_getTransactionByBlockNumberAndIndex` """ if is_predefined_block_number(block_identifier) or is_integer( block_identifier): method = 'eth_getTransactionByBlockNumberAndIndex' else: method = 'eth_getTransactionByBlockHashAndIndex' return self.web3.manager.request_blocking( method, [block_identifier, transaction_index], )
def getBlock(self, block_identifier, full_transactions=False): """ `eth_getBlockByHash` `eth_getBlockByNumber` """ if is_predefined_block_number(block_identifier) or is_integer( block_identifier): method = 'eth_getBlockByNumber' else: method = 'eth_getBlockByHash' return self.web3.manager.request_blocking( method, [block_identifier, full_transactions], )
def getTransactionFromBlock(self, block_identifier, transaction_index): """ `eth_getTransactionByBlockHashAndIndex` `eth_getTransactionByBlockNumberAndIndex` """ if is_predefined_block_number(block_identifier) or is_integer(block_identifier): method = 'eth_getTransactionByBlockNumberAndIndex' else: method = 'eth_getTransactionByBlockHashAndIndex' return self.web3._requestManager.request_blocking( method, [ formatters.input_block_identifier_formatter(block_identifier), transaction_index, ], )
def test_is_predefined_block_number(block_identifier, expected): actual = is_predefined_block_number(block_identifier) assert actual is expected