Skip to content

Commit 10df02c

Browse files
authored
Merge pull request #344 from BoostryJP/feature/#342
feat: upgrade web3
2 parents dd4ebf7 + f58bd15 commit 10df02c

31 files changed

+247
-241
lines changed

app/routers/token_holders.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
"""
1919
import uuid
2020
from typing import List
21-
import pytz
2221

2322
from fastapi import APIRouter, Depends, Header, Path
2423
from fastapi.exceptions import HTTPException
@@ -85,7 +84,7 @@ def create_collection(
8584
raise InvalidParameterError("wait for a while as the token is being processed")
8685

8786
# Validate block number
88-
if data.block_number > web3.eth.blockNumber:
87+
if data.block_number > web3.eth.block_number:
8988
raise InvalidParameterError("Block number must be current or past one.")
9089

9190
# Check list id conflict

app/utils/contract_utils.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -190,15 +190,15 @@ def send_transaction(transaction: dict, private_key: str):
190190

191191
try:
192192
# Get nonce
193-
nonce = web3.eth.getTransactionCount(_tx_from)
193+
nonce = web3.eth.get_transaction_count(_tx_from)
194194
transaction["nonce"] = nonce
195195
signed_tx = web3.eth.account.sign_transaction(
196196
transaction_dict=transaction,
197197
private_key=private_key
198198
)
199199
# Send Transaction
200-
tx_hash = web3.eth.sendRawTransaction(signed_tx.rawTransaction.hex())
201-
tx_receipt = web3.eth.waitForTransactionReceipt(
200+
tx_hash = web3.eth.send_raw_transaction(signed_tx.rawTransaction.hex())
201+
tx_receipt = web3.eth.wait_for_transaction_receipt(
202202
transaction_hash=tx_hash,
203203
timeout=10
204204
)
@@ -216,7 +216,7 @@ def send_transaction(transaction: dict, private_key: str):
216216

217217
@staticmethod
218218
def inspect_tx_failure(tx_hash: str) -> str:
219-
tx = web3.eth.getTransaction(tx_hash)
219+
tx = web3.eth.get_transaction(tx_hash)
220220

221221
# build a new transaction to replay:
222222
replay_tx = {
@@ -248,7 +248,7 @@ def get_block_by_transaction_hash(tx_hash: str):
248248
:param tx_hash: transaction hash
249249
:return: block
250250
"""
251-
tx = web3.eth.getTransaction(tx_hash)
251+
tx = web3.eth.get_transaction(tx_hash)
252252
block = web3.eth.get_block(tx["blockNumber"])
253253
return block
254254

batch/indexer_e2e_messaging.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@
8181

8282
class Processor:
8383
def __init__(self):
84-
self.latest_block = web3.eth.blockNumber
84+
self.latest_block = web3.eth.block_number
8585
self.e2e_messaging_contract = ContractUtils.get_contract(
8686
contract_name="E2EMessaging",
8787
contract_address=E2E_MESSAGING_CONTRACT_ADDRESS)
@@ -91,7 +91,7 @@ def process(self):
9191
try:
9292
# Get from_block_number and to_block_number for contract event filter
9393
idx_e2e_messaging_block_number = self.__get_idx_e2e_messaging_block_number(db_session=db_session)
94-
latest_block = web3.eth.blockNumber
94+
latest_block = web3.eth.block_number
9595

9696
if idx_e2e_messaging_block_number >= latest_block:
9797
LOG.debug("skip process")

batch/indexer_personal_info.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555

5656
class Processor:
5757
def __init__(self):
58-
self.latest_block = web3.eth.blockNumber
58+
self.latest_block = web3.eth.block_number
5959
self.personal_info_contract_list = []
6060

6161
def process(self):
@@ -64,7 +64,7 @@ def process(self):
6464
self.__refresh_personal_info_list(db_session=db_session)
6565
# most recent blockNumber that has been synchronized with DB
6666
block_number = self.__get_block_number(db_session=db_session)
67-
latest_block = web3.eth.blockNumber # latest blockNumber
67+
latest_block = web3.eth.block_number # latest blockNumber
6868

6969
if block_number >= latest_block:
7070
LOG.debug("skip Process")

batch/indexer_position_bond.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757

5858
class Processor:
5959
def __init__(self):
60-
self.latest_block = web3.eth.blockNumber
60+
self.latest_block = web3.eth.block_number
6161
self.token_list = []
6262
self.exchange_address_list = []
6363

@@ -68,7 +68,7 @@ def sync_new_logs(self):
6868

6969
# Get from_block_number and to_block_number for contract event filter
7070
idx_position_block_number = self.__get_idx_position_block_number(db_session=db_session)
71-
latest_block = web3.eth.blockNumber
71+
latest_block = web3.eth.block_number
7272

7373
if idx_position_block_number >= latest_block:
7474
LOG.debug("skip process")
@@ -217,7 +217,7 @@ def __sync_transfer(self, db_session: Session, block_from: int, block_to: int):
217217
for event in events:
218218
args = event["args"]
219219
for account in [args.get("from", ZERO_ADDRESS), args.get("to", ZERO_ADDRESS)]:
220-
if web3.eth.getCode(account).hex() == "0x":
220+
if web3.eth.get_code(account).hex() == "0x":
221221
balance, pending_transfer, exchange_balance, exchange_commitment = \
222222
self.__get_account_balance_all(token, account)
223223
self.__sink_on_position(

batch/indexer_position_share.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757

5858
class Processor:
5959
def __init__(self):
60-
self.latest_block = web3.eth.blockNumber
60+
self.latest_block = web3.eth.block_number
6161
self.token_list = []
6262
self.exchange_address_list = []
6363

@@ -68,7 +68,7 @@ def sync_new_logs(self):
6868

6969
# Get from_block_number and to_block_number for contract event filter
7070
idx_position_block_number = self.__get_idx_position_block_number(db_session=db_session)
71-
latest_block = web3.eth.blockNumber
71+
latest_block = web3.eth.block_number
7272

7373
if idx_position_block_number >= latest_block:
7474
LOG.debug("skip process")
@@ -217,7 +217,7 @@ def __sync_transfer(self, db_session: Session, block_from: int, block_to: int):
217217
for event in events:
218218
args = event["args"]
219219
for account in [args.get("from", ZERO_ADDRESS), args.get("to", ZERO_ADDRESS)]:
220-
if web3.eth.getCode(account).hex() == "0x":
220+
if web3.eth.get_code(account).hex() == "0x":
221221
balance, pending_transfer, exchange_balance, exchange_commitment = \
222222
self.__get_account_balance_all(token, account)
223223
self.__sink_on_position(

batch/indexer_token_holders.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ def __process_transfer(self, block_from: int, block_to: int):
255255
amount = args.get("value")
256256

257257
# Skip sinking in case of deposit to exchange or withdrawal from exchange
258-
if web3.eth.getCode(from_account).hex() != "0x" or web3.eth.getCode(to_account).hex() != "0x":
258+
if web3.eth.get_code(from_account).hex() != "0x" or web3.eth.get_code(to_account).hex() != "0x":
259259
continue
260260

261261
if amount is not None and amount <= sys.maxsize:

batch/indexer_transfer.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252

5353
class Processor:
5454
def __init__(self):
55-
self.latest_block = web3.eth.blockNumber
55+
self.latest_block = web3.eth.block_number
5656
self.token_list = []
5757

5858
def sync_new_logs(self):
@@ -62,7 +62,7 @@ def sync_new_logs(self):
6262

6363
# Get from_block_number and to_block_number for contract event filter
6464
idx_transfer_block_number = self.__get_idx_transfer_block_number(db_session=db_session)
65-
latest_block = web3.eth.blockNumber
65+
latest_block = web3.eth.block_number
6666

6767
if idx_transfer_block_number >= latest_block:
6868
LOG.debug("skip process")

batch/indexer_transfer_approval.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777

7878
class Processor:
7979
def __init__(self):
80-
self.latest_block = web3.eth.blockNumber
80+
self.latest_block = web3.eth.block_number
8181
self.token_list = []
8282

8383
def sync_new_logs(self):
@@ -87,7 +87,7 @@ def sync_new_logs(self):
8787

8888
# Get from_block_number and to_block_number for contract event filter
8989
idx_transfer_approval_block_number = self.__get_idx_transfer_approval_block_number(db_session=db_session)
90-
latest_block = web3.eth.blockNumber
90+
latest_block = web3.eth.block_number
9191

9292
if idx_transfer_approval_block_number >= latest_block:
9393
LOG.debug("skip process")
@@ -470,7 +470,7 @@ def __register_notification(self,
470470
token = db_session.query(Token). \
471471
filter(Token.token_address == token_address). \
472472
first()
473-
sender = web3.eth.getTransaction(transaction_hash)["from"]
473+
sender = web3.eth.get_transaction(transaction_hash)["from"]
474474
if token is not None:
475475
if token.issuer_address != sender: # Operate from other than issuer
476476
if notice_code == 0: # ApplyForTransfer

batch/processor_create_utxo.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def process(self):
6464

6565
# Get from_block_number and to_block_number for contract event filter
6666
utxo_block_number = self.__get_utxo_block_number(db_session=db_session)
67-
latest_block = web3.eth.blockNumber
67+
latest_block = web3.eth.block_number
6868

6969
if utxo_block_number >= latest_block:
7070
LOG.debug("skip process")
@@ -209,7 +209,7 @@ def __process_transfer(self, db_session: Session, token_contract: Contract, bloc
209209
amount = args.get("value")
210210

211211
# Skip sinking in case of deposit to exchange or withdrawal from exchange
212-
if web3.eth.getCode(from_account).hex() != "0x" or web3.eth.getCode(to_account).hex() != "0x":
212+
if web3.eth.get_code(from_account).hex() != "0x" or web3.eth.get_code(to_account).hex() != "0x":
213213
continue
214214

215215
transaction_hash = event["transaction_hash"]

batch/processor_monitor_block_sync.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ def __set_node_info(self, db_session: Session, endpoint_uri: str, priority: int)
134134
try:
135135
# NOTE: Immediately after the processing, the monitoring data is not retained,
136136
# so the past block number is acquired.
137-
block = web3.eth.get_block(max(web3.eth.blockNumber - BLOCK_SYNC_STATUS_CALC_PERIOD, 0))
137+
block = web3.eth.get_block(max(web3.eth.block_number - BLOCK_SYNC_STATUS_CALC_PERIOD, 0))
138138
except Web3WrapperException:
139139
self.__web3_errors(db_session=db_session, endpoint_uri=endpoint_uri)
140140
LOG.error(f"Node connection failed: {endpoint_uri}")
@@ -170,7 +170,7 @@ def __process(self, db_session: Session, endpoint_uri: str):
170170
# Check increased block number
171171
data = {
172172
"time": time.time(),
173-
"block_number": web3.eth.blockNumber
173+
"block_number": web3.eth.block_number
174174
}
175175
old_data = history.peek_oldest()
176176
elapsed_time = data["time"] - old_data["time"]

requirements.lock

+10-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1+
aiohttp==3.8.1
2+
aiosignal==1.2.0
13
alembic==1.5.6
24
anyio==3.6.1
35
asgiref==3.5.2
46
asn1crypto==1.5.1
7+
async-timeout==4.0.2
58
attrs==21.4.0
69
base58==2.1.1
710
bitarray==2.5.1
@@ -10,6 +13,7 @@ botocore==1.20.112
1013
certifi==2022.6.15
1114
cffi==1.15.0
1215
chardet==4.0.0
16+
charset-normalizer==2.1.0
1317
click==8.1.3
1418
coincurve==14.0.0
1519
cytoolz==0.11.2
@@ -22,17 +26,19 @@ eth-rlp==0.2.1
2226
eth-typing==2.3.0
2327
eth-utils==1.10.0
2428
fastapi==0.75.2
29+
frozenlist==1.3.0
2530
gunicorn==20.1.0
2631
h11==0.13.0
2732
hexbytes==0.2.2
2833
idna==2.10
29-
ipfshttpclient==0.7.0a1
34+
ipfshttpclient==0.7.0
3035
jmespath==0.10.0
3136
jsonschema==3.2.0
3237
lru-dict==1.1.7
3338
Mako==1.2.0
3439
MarkupSafe==2.1.1
3540
multiaddr==0.0.9
41+
multidict==6.0.2
3642
netaddr==0.8.0
3743
parsimonious==0.8.1
3844
protobuf==3.20.1
@@ -59,5 +65,6 @@ typing_extensions==4.2.0
5965
urllib3==1.26.9
6066
uvicorn==0.17.6
6167
varint==1.0.2
62-
web3==5.15.0
63-
websockets==8.1
68+
web3==5.20.1
69+
websockets==9.1
70+
yarl==1.7.2

requirements.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
SQLAlchemy==1.3.22
22
psycopg2-binary==2.8.6
3-
web3==5.15.0
3+
web3==5.20.1
44
eth-keyfile==0.5.1
55
pysha3==1.0.2
66
coincurve==14.0.0

0 commit comments

Comments
 (0)