Skip to content

Commit a28e7fa

Browse files
authored
Upgrade web3.py (#1467)
* Upgrade web3.py version and adapt some function names. * More function name replacements. * More upgrades from dependabot branches.
1 parent 303a9a0 commit a28e7fa

31 files changed

+143
-134
lines changed

READMEs/df.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ Now, let's lock OCEAN for veOCEAN. In the same Python console:
4343
# simulate passage of time, until next Thursday, the start of DF(X)
4444
web3 = ocean.config_dict["web3_instance"]
4545
provider = web3.provider
46-
latest_block = web3.eth.getBlock("latest")
46+
latest_block = web3.eth.get_block("latest")
4747

4848
WEEK = 7 * 86400 # seconds in a week
4949
t0 = latest_block.timestamp
@@ -139,7 +139,7 @@ In the same Python console:
139139
#simulate passage of time, until next Thursday, which is the start of DF(X+1)
140140
WEEK = 7 * 86400 # seconds in a week
141141

142-
latest_block = web3.eth.getBlock("latest")
142+
latest_block = web3.eth.get_block("latest")
143143
t0 = latest_block.timestamp
144144
t1 = t0 // WEEK * WEEK + WEEK
145145
t2 = t1 + WEEK

READMEs/key-value-private.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ model_value = "<insert MLP weights here>"
5959
# Compute a symmetric key: unique to this (nft, nft field) and (your priv key)
6060
# Therefore you can calculate it anytime
6161
from ocean_lib.ocean import crypto
62-
symkey = crypto.calc_symkey(data_nft.address + model_label + alice.privateKey.hex())
62+
symkey = crypto.calc_symkey(data_nft.address + model_label + alice._private_key.hex())
6363

6464
# Symmetrically encrypt AI model
6565
model_value_symenc = crypto.sym_encrypt(model_value, symkey)
@@ -77,7 +77,7 @@ There are many possible ways for Alice to share the symkey to Bob. Here, Alice s
7777
In the Python console:
7878
```python
7979
# Get Bob's public key. There are various ways; see appendix.
80-
pubkey = crypto.calc_pubkey(bob.privateKey.hex())
80+
pubkey = crypto.calc_pubkey(bob._private_key.hex())
8181

8282
# Asymmetrically encrypt symkey, using Bob's public key
8383
symkey_asymenc = crypto.asym_encrypt(symkey, pubkey)
@@ -97,7 +97,7 @@ In the Python console:
9797
symkey_asymenc2 = data_nft.get_data("symkey")
9898

9999
# Asymetrically decrypt symkey, with Bob's private key
100-
symkey2 = crypto.asym_decrypt(symkey_asymenc2, bob.privateKey.hex())
100+
symkey2 = crypto.asym_decrypt(symkey_asymenc2, bob._private_key.hex())
101101
```
102102

103103
## 6. Retrieve from chain & decrypt AI model

READMEs/profile-nfts-flow.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,10 @@ profiledata_name_hash = Web3.keccak(text=profiledata_name)
5656
preimage = data_nft.address + profiledata_name
5757
preimage = sha256(preimage.encode('utf-8')).hexdigest()
5858
prefix = "\x19Ethereum Signed Message:\n32"
59-
msg = Web3.solidityKeccak(
60-
["bytes", "bytes"], [Web3.toBytes(text=prefix), Web3.toBytes(text=preimage)]
59+
msg = Web3.solidity_keccak(
60+
["bytes", "bytes"], [Web3.to_bytes(text=prefix), Web3.to_bytes(text=preimage)]
6161
)
62-
signed = sign_with_key(msg, alice.privateKey.hex())
62+
signed = sign_with_key(msg, alice._private_key.hex())
6363
symkey = b64encode(str(signed).encode('ascii'))[:43] + b'=' # bytes
6464

6565
# Prep value for setter

ocean_lib/data_provider/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ def sign_message(
7373
# if isinstance(wallet, ClefAccount):
7474
# return nonce, str(sign_with_clef(f"{msg}{nonce}", wallet))
7575

76-
return nonce, str(sign_with_key(f"{msg}{nonce}", wallet.privateKey.hex()))
76+
return nonce, str(sign_with_key(f"{msg}{nonce}", wallet._private_key.hex()))
7777

7878
@staticmethod
7979
@enforce_types

ocean_lib/data_provider/test/test_data_service_provider.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ def test_delete_job_result(provider_wallet):
194194
@pytest.mark.integration
195195
def test_encrypt(provider_wallet, file1, file2):
196196
"""Tests successful encrypt job."""
197-
key = provider_wallet.privateKey.hex()
197+
key = provider_wallet._private_key.hex()
198198
# Encrypt file objects
199199
res = {"files": [file1.to_dict(), file2.to_dict()]}
200200
result = DataEncryptor.encrypt(res, DEFAULT_PROVIDER_URL, 8996)
@@ -204,7 +204,7 @@ def test_encrypt(provider_wallet, file1, file2):
204204
assert encrypted_files.startswith("0x")
205205

206206
if isinstance(encrypted_files, str):
207-
encrypted_files = Web3.toBytes(hexstr=encrypted_files)
207+
encrypted_files = Web3.to_bytes(hexstr=encrypted_files)
208208
decrypted_document = ecies.decrypt(key, encrypted_files)
209209
decrypted_document_string = decrypted_document.decode("utf-8")
210210
assert decrypted_document_string == json.dumps(res, separators=(",", ":"))
@@ -218,7 +218,7 @@ def test_encrypt(provider_wallet, file1, file2):
218218
assert result.content.decode("utf-8").startswith("0x")
219219

220220
if isinstance(encrypted_document, str):
221-
encrypted_document = Web3.toBytes(hexstr=encrypted_document)
221+
encrypted_document = Web3.to_bytes(hexstr=encrypted_document)
222222
decrypted_document = ecies.decrypt(key, encrypted_document)
223223
decrypted_document_string = decrypted_document.decode("utf-8")
224224
assert decrypted_document_string == test_string

ocean_lib/example_config.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,4 +126,6 @@ def get_web3(network_url: str) -> Web3:
126126

127127
web3.middleware_onion.inject(geth_poa_middleware, layer=0)
128128

129+
web3.strict_bytes_type_checking = False
130+
129131
return web3

ocean_lib/models/data_nft.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -376,9 +376,11 @@ def deploy_contract(self, config_dict, tx_dict) -> DataNFT:
376376
tx_dict,
377377
)
378378

379-
registered_event = data_nft_factory.contract.events.NFTCreated().processReceipt(
380-
receipt, errors=DISCARD
381-
)[0]
379+
registered_event = (
380+
data_nft_factory.contract.events.NFTCreated().process_receipt(
381+
receipt, errors=DISCARD
382+
)[0]
383+
)
382384
data_nft_address = registered_event.args.newTokenAddress
383385

384386
return DataNFT(config_dict, data_nft_address)

ocean_lib/models/data_nft_factory.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -171,13 +171,13 @@ def create_with_erc20(
171171
tx_dict,
172172
)
173173

174-
registered_nft_event = self.contract.events.NFTCreated().processReceipt(
174+
registered_nft_event = self.contract.events.NFTCreated().process_receipt(
175175
receipt, errors=DISCARD
176176
)[0]
177177
data_nft_address = registered_nft_event.args.newTokenAddress
178178
data_nft_token = DataNFT(self.config_dict, data_nft_address)
179179

180-
registered_token_event = self.contract.events.TokenCreated().processReceipt(
180+
registered_token_event = self.contract.events.TokenCreated().process_receipt(
181181
receipt, errors=DISCARD
182182
)[0]
183183
datatoken_address = registered_token_event.args.newTokenAddress
@@ -228,22 +228,22 @@ def create_with_erc20_and_fixed_rate(
228228
tx_dict,
229229
)
230230

231-
registered_nft_event = self.contract.events.NFTCreated().processReceipt(
231+
registered_nft_event = self.contract.events.NFTCreated().process_receipt(
232232
receipt, errors=DISCARD
233233
)[0]
234234
data_nft_address = registered_nft_event.args.newTokenAddress
235235
data_nft_token = DataNFT(self.config_dict, data_nft_address)
236236

237-
registered_token_event = self.contract.events.TokenCreated().processReceipt(
237+
registered_token_event = self.contract.events.TokenCreated().process_receipt(
238238
receipt, errors=DISCARD
239239
)[0]
240240
datatoken_address = registered_token_event.args.newTokenAddress
241241
datatoken = DatatokenBase.get_typed(self.config_dict, datatoken_address)
242242

243243
registered_fixed_rate_event = (
244-
self.contract.events.NewFixedRate().processReceipt(receipt, errors=DISCARD)[
245-
0
246-
]
244+
self.contract.events.NewFixedRate().process_receipt(
245+
receipt, errors=DISCARD
246+
)[0]
247247
)
248248
exchange_id = registered_fixed_rate_event.args.exchangeId
249249
fixed_rate_exchange = FixedRateExchange(
@@ -296,20 +296,20 @@ def create_with_erc20_and_dispenser(
296296
tx_dict,
297297
)
298298

299-
registered_nft_event = self.contract.events.NFTCreated().processReceipt(
299+
registered_nft_event = self.contract.events.NFTCreated().process_receipt(
300300
receipt, errors=DISCARD
301301
)[0]
302302
data_nft_address = registered_nft_event.args.newTokenAddress
303303
data_nft_token = DataNFT(self.config_dict, data_nft_address)
304304

305-
registered_token_event = self.contract.events.TokenCreated().processReceipt(
305+
registered_token_event = self.contract.events.TokenCreated().process_receipt(
306306
receipt, errors=DISCARD
307307
)[0]
308308
datatoken_address = registered_token_event.args.newTokenAddress
309309
datatoken = DatatokenBase.get_typed(self.config_dict, datatoken_address)
310310

311311
registered_dispenser_event = (
312-
self.contract.events.DispenserCreated().processReceipt(
312+
self.contract.events.DispenserCreated().process_receipt(
313313
receipt, errors=DISCARD
314314
)[0]
315315
)
@@ -352,7 +352,7 @@ def create_with_metadata(
352352
),
353353
tx_dict,
354354
)
355-
registered_nft_event = self.contract.events.NFTCreated().processReceipt(
355+
registered_nft_event = self.contract.events.NFTCreated().process_receipt(
356356
receipt, errors=DISCARD
357357
)[0]
358358
data_nft_address = registered_nft_event.args.newTokenAddress
@@ -382,7 +382,7 @@ def search_exchange_by_datatoken(
382382

383383
@enforce_types
384384
def get_token_address(self, receipt):
385-
event = self.contract.events.NFTCreated().processReceipt(
385+
event = self.contract.events.NFTCreated().process_receipt(
386386
receipt, errors=DISCARD
387387
)[0]
388388
return event.args.newTokenAddress

ocean_lib/models/datatoken_base.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@ def __init__(
3737
amount: Optional[int] = 0,
3838
):
3939
self.address = (
40-
Web3.toChecksumAddress(address.lower()) if address else ZERO_ADDRESS
40+
Web3.to_checksum_address(address.lower()) if address else ZERO_ADDRESS
4141
)
42-
self.token = Web3.toChecksumAddress(token.lower()) if token else ZERO_ADDRESS
42+
self.token = Web3.to_checksum_address(token.lower()) if token else ZERO_ADDRESS
4343

4444
self.amount = amount
4545

@@ -255,7 +255,7 @@ def get_start_order_logs(
255255

256256
for log in event_filter.get_all_entries():
257257
receipt = web3.eth.wait_for_transaction_receipt(log.transactionHash)
258-
processed_events = self.contract.events.OrderStarted().processReceipt(
258+
processed_events = self.contract.events.OrderStarted().process_receipt(
259259
receipt, errors=DISCARD
260260
)
261261
for processed_event in processed_events:
@@ -302,7 +302,7 @@ def create_exchange(
302302

303303
tx = self.createFixedRate(*(args_tup + (tx_dict,)))
304304

305-
event = self.contract.events.NewFixedRate().processReceipt(tx, errors=DISCARD)[
305+
event = self.contract.events.NewFixedRate().process_receipt(tx, errors=DISCARD)[
306306
0
307307
]
308308
exchange_id = event.args.exchangeId
@@ -444,7 +444,7 @@ def get_from_pricing_schema_and_order(self, *args, **kwargs):
444444

445445
wallet = kwargs["tx_dict"]["from"]
446446
amt_needed = exchange.BT_needed(
447-
Web3.toWei(1, "ether"), consume_market_fees.amount
447+
Web3.to_wei(1, "ether"), consume_market_fees.amount
448448
)
449449
base_token = DatatokenBase.get_typed(
450450
exchange._FRE.config_dict, exchange.details.base_token

ocean_lib/models/test/test_data_nft.py

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ def test_permissions(
131131
0,
132132
consumer_wallet.address,
133133
10,
134-
Web3.toHex(text="SomeData"),
134+
Web3.to_hex(text="SomeData"),
135135
{"from": another_consumer_wallet},
136136
)
137137

@@ -141,7 +141,7 @@ def test_permissions(
141141
0,
142142
consumer_wallet.address,
143143
10,
144-
Web3.toHex(text="SomeData"),
144+
Web3.to_hex(text="SomeData"),
145145
{"from": consumer_wallet},
146146
)
147147
assert tx, "Could not execute call to consumer."
@@ -235,14 +235,14 @@ def test_success_update_metadata(publisher_wallet, consumer_wallet, config, data
235235
1,
236236
"http://myprovider:8030",
237237
b"0x123",
238-
Web3.toBytes(hexstr=BLOB),
239-
Web3.toBytes(hexstr=BLOB),
240-
Web3.toBytes(hexstr=BLOB),
238+
Web3.to_bytes(hexstr=BLOB),
239+
Web3.to_bytes(hexstr=BLOB),
240+
Web3.to_bytes(hexstr=BLOB),
241241
[],
242242
{"from": consumer_wallet},
243243
)
244244

245-
event = data_nft.contract.events.MetadataCreated().processReceipt(
245+
event = data_nft.contract.events.MetadataCreated().process_receipt(
246246
receipt, errors=DISCARD
247247
)[0]
248248
assert event.args.decryptorUrl == "http://myprovider:8030"
@@ -255,14 +255,14 @@ def test_success_update_metadata(publisher_wallet, consumer_wallet, config, data
255255
1,
256256
"http://foourl",
257257
b"0x123",
258-
Web3.toBytes(hexstr=BLOB),
259-
Web3.toBytes(hexstr=BLOB),
260-
Web3.toBytes(hexstr=BLOB),
258+
Web3.to_bytes(hexstr=BLOB),
259+
Web3.to_bytes(hexstr=BLOB),
260+
Web3.to_bytes(hexstr=BLOB),
261261
[],
262262
{"from": consumer_wallet},
263263
)
264264

265-
event = data_nft.contract.events.MetadataUpdated().processReceipt(
265+
event = data_nft.contract.events.MetadataUpdated().process_receipt(
266266
receipt, errors=DISCARD
267267
)[0]
268268
assert event.args.decryptorUrl == "http://foourl"
@@ -277,23 +277,23 @@ def test_success_update_metadata(publisher_wallet, consumer_wallet, config, data
277277
1,
278278
"http://foourl",
279279
b"0x123",
280-
Web3.toBytes(hexstr=BLOB),
281-
Web3.toBytes(hexstr=BLOB),
282-
Web3.toBytes(hexstr=BLOB),
280+
Web3.to_bytes(hexstr=BLOB),
281+
Web3.to_bytes(hexstr=BLOB),
282+
Web3.to_bytes(hexstr=BLOB),
283283
1,
284284
"https://anothernewurl.com/nft/",
285285
[],
286286
),
287287
{"from": publisher_wallet},
288288
)
289289

290-
event = data_nft.contract.events.TokenURIUpdate().processReceipt(
290+
event = data_nft.contract.events.TokenURIUpdate().process_receipt(
291291
receipt, errors=DISCARD
292292
)[0]
293293
assert event.args.tokenURI == "https://anothernewurl.com/nft/"
294294
assert event.args.updatedBy == publisher_wallet.address
295295

296-
event = data_nft.contract.events.MetadataUpdated().processReceipt(
296+
event = data_nft.contract.events.MetadataUpdated().process_receipt(
297297
receipt, errors=DISCARD
298298
)[0]
299299
assert event.args.decryptorUrl == "http://foourl"
@@ -482,7 +482,7 @@ def test_erc721_datatoken_functions(
482482
"https://newurl.com/nft/",
483483
{"from": publisher_wallet},
484484
)
485-
registered_event = data_nft.contract.events.TokenURIUpdate().processReceipt(
485+
registered_event = data_nft.contract.events.TokenURIUpdate().process_receipt(
486486
receipt, errors=DISCARD
487487
)[0]
488488

@@ -595,7 +595,7 @@ def test_transfer_nft(
595595
1,
596596
{"from": publisher_wallet},
597597
)
598-
transfer_event = data_nft.contract.events.Transfer().processReceipt(
598+
transfer_event = data_nft.contract.events.Transfer().process_receipt(
599599
receipt, errors=DISCARD
600600
)[0]
601601

@@ -615,7 +615,7 @@ def test_transfer_nft(
615615
1,
616616
{"from": publisher_wallet},
617617
)
618-
transfer_event = data_nft.contract.events.Transfer().processReceipt(
618+
transfer_event = data_nft.contract.events.Transfer().process_receipt(
619619
receipt, errors=DISCARD
620620
)[0]
621621

@@ -653,7 +653,7 @@ def test_transfer_nft(
653653
)
654654

655655
set_publishing_fee_event = (
656-
datatoken.contract.events.PublishMarketFeeChanged().processReceipt(
656+
datatoken.contract.events.PublishMarketFeeChanged().process_receipt(
657657
receipt, errors=DISCARD
658658
)[0]
659659
)
@@ -701,7 +701,7 @@ def test_nft_transfer_with_fre(
701701
{"from": publisher_wallet},
702702
)
703703

704-
transfer_event = data_nft.contract.events.Transfer().processReceipt(
704+
transfer_event = data_nft.contract.events.Transfer().process_receipt(
705705
receipt, errors=DISCARD
706706
)[0]
707707

0 commit comments

Comments
 (0)