def test_limit_inclusivity_in_query_blockchain_events( web3: Web3, wait_for_blocks, token_network_registry_contract): query = create_tnr_contract_events_query( web3, token_network_registry_contract.address) # A new token network has been registered by the `token_network_registry_contract` fixture events = query() assert len(events) == 1 event = events[0] assert event["event"] == EVENT_TOKEN_NETWORK_CREATED registry_event_block = BlockNumber(event["blockNumber"]) # test to_block is inclusive events = query_blockchain_events( web3=web3, contract_addresses=[token_network_registry_contract.address], from_block=BlockNumber(0), to_block=BlockNumber(registry_event_block - 1), ) assert len(events) == 0 events = query_blockchain_events( web3=web3, contract_addresses=[token_network_registry_contract.address], from_block=BlockNumber(0), to_block=registry_event_block, ) assert len(events) == 1 # mine some more blocks wait_for_blocks(5) current_block_number = web3.eth.block_number assert current_block_number > registry_event_block # test to_block is inclusive events = query_blockchain_events( web3=web3, contract_addresses=[token_network_registry_contract.address], from_block=BlockNumber(registry_event_block + 1), to_block=current_block_number, ) assert len(events) == 0 events = query_blockchain_events( web3=web3, contract_addresses=[token_network_registry_contract.address], from_block=registry_event_block, to_block=current_block_number, ) assert len(events) == 1 # test that querying just one block works events = query_blockchain_events( web3=web3, contract_addresses=[token_network_registry_contract.address], from_block=registry_event_block, to_block=registry_event_block, ) assert len(events) == 1
def query_callback(): return query_blockchain_events( web3=web3, contract_addresses=[contract_address], from_block=BlockNumber(0), to_block=web3.eth.block_number, )
def f(): return query_blockchain_events( web3=web3, contract_manager=contract_manager, contract_address=contract_address, contract_name=CONTRACT_MONITORING_SERVICE, topics=[], from_block=BlockNumber(0), to_block=web3.eth.blockNumber, )
def query_callback(): return query_blockchain_events( web3=web3, contract_manager=contract_manager, contract_address=contract_address, contract_name=CONTRACT_TOKEN_NETWORK_REGISTRY, topics=[], from_block=BlockNumber(0), to_block=web3.eth.blockNumber, )