From 41cb1829964fbe51d0ae119c169def95b9f2aa73 Mon Sep 17 00:00:00 2001 From: KOSASIH Date: Thu, 25 Jul 2024 21:31:45 +0700 Subject: [PATCH] Create sidra_chain_event_listener.py --- .../sidra_chain_event_listener.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 sidra_chain_integration/dex-project/src/sidra_chain_event_listener/sidra_chain_event_listener.py diff --git a/sidra_chain_integration/dex-project/src/sidra_chain_event_listener/sidra_chain_event_listener.py b/sidra_chain_integration/dex-project/src/sidra_chain_event_listener/sidra_chain_event_listener.py new file mode 100644 index 000000000..e9e47f334 --- /dev/null +++ b/sidra_chain_integration/dex-project/src/sidra_chain_event_listener/sidra_chain_event_listener.py @@ -0,0 +1,17 @@ +# sidra_chain_event_listener.py +from web3 import Web3 + +class SidraChainEventListener: + def __init__(self, web3_provider, contract_address, abi): + self.web3_provider = web3_provider + self.contract_address = contract_address + self.abi = abi + self.web3 = Web3(Web3.HTTPProvider(self.web3_provider)) + + def listen_for_events(self, event_name): + # Listen for events on the Sidra Chain contract + contract = self.web3.eth.contract(address=self.contract_address, abi=self.abi) + event_filter = contract.events[event_name].createFilter(fromBlock='latest') + while True: + for event in event_filter.get_new_entries(): + print(f'Received event: {event_name} - {event.args}')