-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPolicePatrol(deprecated).py
72 lines (59 loc) · 2.22 KB
/
PolicePatrol(deprecated).py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import os
from web3 import Web3
import json
import time
from policebot import handle_event
# Initialize Web3
w3 = Web3(
Web3.HTTPProvider(
"https://nd-500-249-268.p2pify.com/512e720763b369ed620657f84d38d2af"
)
)
w3.eth.defaultAccount = "0xA5C9F2ebC96B4EE1Ec2908Daa0d1eCD9aDBe0caF"
# Initialize contract
tags_contract_address = "0x66260C69d03837016d88c9877e61e08Ef74C59F2"
tokens_contract_address = "0xeE1502e29795Ef6C2D60F8D7120596abE3baD990"
# loading ABI
with open("./ABI/lcurate_abi.json", "r") as f:
contract_abi = json.load(f)
tags_contract = w3.eth.contract(address=tags_contract_address, abi=contract_abi)
tokens_contract = w3.eth.contract(address=tokens_contract_address, abi=contract_abi)
while True:
# Create a new event filter for tags
try:
tags_new_item_filter = tags_contract.events.NewItem.create_filter(
fromBlock="latest"
)
print("Created Tags events filter")
except Exception as e:
print(f"Error creating tags filter: {e}")
# Create a new event filter for tokens
try:
tokens_new_item_filter = tokens_contract.events.NewItem.create_filter(
fromBlock="latest"
)
print("Created Token events filter")
except Exception as e:
print(f"Error creating tokens filter: {e}")
# Main loop to listen for events
while True:
try:
# print("Looping Tags police patrol")
new_tags_entries = tags_new_item_filter.get_new_entries()
for event in new_tags_entries:
print(f"Handling event: {event}")
handle_event(event["args"]["_itemID"], event["args"]["_data"], "Tags")
time.sleep(5)
except Exception as e:
print(f"Error in loop: {e}")
try:
# print("Looping Tokens police patrol")
new_token_entries = tokens_new_item_filter.get_new_entries()
for event in new_token_entries:
print(f"Handling event: {event}")
handle_event(event["args"]["_itemID"], event["args"]["_data"], "Tokens")
time.sleep(5)
except Exception as e:
print(f"Error in loop: {e}")
if "Filter not found" in str(e):
break