ratio1 3.4.50__py3-none-any.whl → 3.4.52__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ratio1/_ver.py +1 -1
- ratio1/bc/evm.py +237 -1
- ratio1/const/base.py +1 -0
- ratio1/const/evm_net.py +83 -33
- {ratio1-3.4.50.dist-info → ratio1-3.4.52.dist-info}/METADATA +1 -1
- {ratio1-3.4.50.dist-info → ratio1-3.4.52.dist-info}/RECORD +9 -9
- {ratio1-3.4.50.dist-info → ratio1-3.4.52.dist-info}/WHEEL +0 -0
- {ratio1-3.4.50.dist-info → ratio1-3.4.52.dist-info}/entry_points.txt +0 -0
- {ratio1-3.4.50.dist-info → ratio1-3.4.52.dist-info}/licenses/LICENSE +0 -0
ratio1/_ver.py
CHANGED
ratio1/bc/evm.py
CHANGED
|
@@ -1327,7 +1327,7 @@ class _EVMMixin:
|
|
|
1327
1327
|
network = w3vars.network
|
|
1328
1328
|
contract = w3vars.w3.eth.contract(
|
|
1329
1329
|
address=w3vars.poai_manager_address,
|
|
1330
|
-
abi=EVM_ABI_DATA.
|
|
1330
|
+
abi=EVM_ABI_DATA.POAI_MANAGER_ABI
|
|
1331
1331
|
)
|
|
1332
1332
|
|
|
1333
1333
|
self.P(f"`getJobDetails` on {network} via {w3vars.rpc_url}", verbosity=2)
|
|
@@ -1356,6 +1356,242 @@ class _EVMMixin:
|
|
|
1356
1356
|
|
|
1357
1357
|
return details
|
|
1358
1358
|
|
|
1359
|
+
def web3_submit_node_update(
|
|
1360
|
+
self,
|
|
1361
|
+
job_id: int,
|
|
1362
|
+
nodes: list,
|
|
1363
|
+
wait_for_tx: bool = False,
|
|
1364
|
+
timeout: int = 120,
|
|
1365
|
+
network: str = None,
|
|
1366
|
+
return_receipt=False,
|
|
1367
|
+
):
|
|
1368
|
+
"""
|
|
1369
|
+
Submit nodes update for a given job.
|
|
1370
|
+
|
|
1371
|
+
Parameters
|
|
1372
|
+
----------
|
|
1373
|
+
job_id : int
|
|
1374
|
+
The job ID to update.
|
|
1375
|
+
|
|
1376
|
+
nodes : list
|
|
1377
|
+
The list of new nodes running the job.
|
|
1378
|
+
|
|
1379
|
+
network : str, optional
|
|
1380
|
+
The network to use. If None, uses the default self.evm_network.
|
|
1381
|
+
|
|
1382
|
+
Returns
|
|
1383
|
+
-------
|
|
1384
|
+
The transaction hash.
|
|
1385
|
+
"""
|
|
1386
|
+
# Validate the input parameters.
|
|
1387
|
+
assert isinstance(job_id, int), "Invalid job ID"
|
|
1388
|
+
assert isinstance(nodes, list), "Nodes must be a list"
|
|
1389
|
+
|
|
1390
|
+
# Retrieve the Web3 instance, RPC URL, and the R1 contract address.
|
|
1391
|
+
# Note: This follows the same pattern as web3_get_balance_r1.
|
|
1392
|
+
w3vars = self._get_web3_vars(network)
|
|
1393
|
+
network = w3vars.network
|
|
1394
|
+
|
|
1395
|
+
# Create the token contract instance.
|
|
1396
|
+
poai_manager_contract = w3vars.w3.eth.contract(
|
|
1397
|
+
address=w3vars.poai_manager_address, abi=EVM_ABI_DATA.POAI_MANAGER_ABI
|
|
1398
|
+
)
|
|
1399
|
+
|
|
1400
|
+
# Estimate gas fees for the token transfer.
|
|
1401
|
+
gas_price = w3vars.w3.eth.gas_price # This fetches the current suggested gas price from the network.
|
|
1402
|
+
estimated_gas = poai_manager_contract.functions.submitNodeUpdate(job_id, nodes).estimate_gas(
|
|
1403
|
+
{'from': self.eth_address}
|
|
1404
|
+
)
|
|
1405
|
+
gas_cost = estimated_gas * gas_price
|
|
1406
|
+
|
|
1407
|
+
# Check that the sender's ETH balance can cover gas costs plus an extra buffer.
|
|
1408
|
+
eth_balance = w3vars.w3.eth.get_balance(self.eth_address)
|
|
1409
|
+
if eth_balance < gas_cost:
|
|
1410
|
+
raise Exception("Insufficient ETH balance to cover gas fees.")
|
|
1411
|
+
|
|
1412
|
+
# Get the transaction count for the nonce.
|
|
1413
|
+
nonce = w3vars.w3.eth.get_transaction_count(self.eth_address)
|
|
1414
|
+
|
|
1415
|
+
# Programmatically determine the chainId.
|
|
1416
|
+
chain_id = w3vars.w3.eth.chain_id
|
|
1417
|
+
|
|
1418
|
+
# Build the transaction for the ERC20 transfer.
|
|
1419
|
+
tx = poai_manager_contract.functions.submitNodeUpdate(job_id, nodes).build_transaction({
|
|
1420
|
+
'from': self.eth_address,
|
|
1421
|
+
'nonce': nonce,
|
|
1422
|
+
'gas': estimated_gas,
|
|
1423
|
+
'gasPrice': gas_price,
|
|
1424
|
+
'chainId': chain_id,
|
|
1425
|
+
})
|
|
1426
|
+
|
|
1427
|
+
self.P(f"Executing transaction on {network} via {w3vars.rpc_url}:\n {json.dumps(dict(tx), indent=2)}", verbosity=2)
|
|
1428
|
+
|
|
1429
|
+
# Sign the transaction using the internal account (via _get_eth_account).
|
|
1430
|
+
eth_account = self._get_eth_account()
|
|
1431
|
+
signed_tx = w3vars.w3.eth.account.sign_transaction(tx, eth_account.key)
|
|
1432
|
+
|
|
1433
|
+
# Broadcast the transaction.
|
|
1434
|
+
tx_hash = w3vars.w3.eth.send_raw_transaction(signed_tx.raw_transaction)
|
|
1435
|
+
|
|
1436
|
+
if wait_for_tx:
|
|
1437
|
+
# Wait for the transaction receipt if required.
|
|
1438
|
+
tx_receipt = w3vars.w3.eth.wait_for_transaction_receipt(tx_hash, timeout=timeout)
|
|
1439
|
+
tx_hash_hex = tx_receipt.transactionHash.hex()
|
|
1440
|
+
self.P(f"Transaction mined: {tx_hash_hex}", color='g', verbosity=2)
|
|
1441
|
+
if return_receipt:
|
|
1442
|
+
return tx_receipt
|
|
1443
|
+
else:
|
|
1444
|
+
return tx_hash_hex
|
|
1445
|
+
else:
|
|
1446
|
+
return tx_hash.hex()
|
|
1447
|
+
|
|
1448
|
+
def web3_allocate_rewards_across_all_escrows(
|
|
1449
|
+
self,
|
|
1450
|
+
network: str = None,
|
|
1451
|
+
wait_for_tx=True,
|
|
1452
|
+
timeout=120,
|
|
1453
|
+
return_receipt=False,
|
|
1454
|
+
):
|
|
1455
|
+
"""
|
|
1456
|
+
Allocate rewards across all escrows.
|
|
1457
|
+
|
|
1458
|
+
Parameters
|
|
1459
|
+
----------
|
|
1460
|
+
network : str, optional
|
|
1461
|
+
The network to use. If None, uses the default self.evm_network.
|
|
1462
|
+
|
|
1463
|
+
Returns
|
|
1464
|
+
-------
|
|
1465
|
+
The transaction hash.
|
|
1466
|
+
"""
|
|
1467
|
+
# Retrieve the Web3 instance, RPC URL, and the R1 contract address.
|
|
1468
|
+
# Note: This follows the same pattern as web3_get_balance_r1.
|
|
1469
|
+
w3vars = self._get_web3_vars(network)
|
|
1470
|
+
network = w3vars.network
|
|
1471
|
+
|
|
1472
|
+
# Create the token contract instance.
|
|
1473
|
+
poai_manager_contract = w3vars.w3.eth.contract(
|
|
1474
|
+
address=w3vars.poai_manager_address, abi=EVM_ABI_DATA.POAI_MANAGER_ABI
|
|
1475
|
+
)
|
|
1476
|
+
|
|
1477
|
+
# Estimate gas fees for the token transfer.
|
|
1478
|
+
gas_price = w3vars.w3.eth.gas_price # This fetches the current suggested gas price from the network.
|
|
1479
|
+
estimated_gas = poai_manager_contract.functions.allocateRewardsAcrossAllEscrows().estimate_gas(
|
|
1480
|
+
{'from': self.eth_address}
|
|
1481
|
+
)
|
|
1482
|
+
gas_cost = estimated_gas * gas_price
|
|
1483
|
+
|
|
1484
|
+
# Check that the sender's ETH balance can cover gas costs plus an extra buffer.
|
|
1485
|
+
eth_balance = w3vars.w3.eth.get_balance(self.eth_address)
|
|
1486
|
+
if eth_balance < gas_cost:
|
|
1487
|
+
raise Exception("Insufficient ETH balance to cover gas fees.")
|
|
1488
|
+
|
|
1489
|
+
# Get the transaction count for the nonce.
|
|
1490
|
+
nonce = w3vars.w3.eth.get_transaction_count(self.eth_address)
|
|
1491
|
+
|
|
1492
|
+
# Programmatically determine the chainId.
|
|
1493
|
+
chain_id = w3vars.w3.eth.chain_id
|
|
1494
|
+
|
|
1495
|
+
# Build the transaction for the ERC20 transfer.
|
|
1496
|
+
tx = poai_manager_contract.functions.allocateRewardsAcrossAllEscrows().build_transaction({
|
|
1497
|
+
'from': self.eth_address,
|
|
1498
|
+
'nonce': nonce,
|
|
1499
|
+
'gas': estimated_gas,
|
|
1500
|
+
'gasPrice': gas_price,
|
|
1501
|
+
'chainId': chain_id,
|
|
1502
|
+
})
|
|
1503
|
+
|
|
1504
|
+
self.P(f"Executing transaction on {network} via {w3vars.rpc_url}:\n {json.dumps(dict(tx), indent=2)}", verbosity=2)
|
|
1505
|
+
|
|
1506
|
+
# Sign the transaction using the internal account (via _get_eth_account).
|
|
1507
|
+
eth_account = self._get_eth_account()
|
|
1508
|
+
signed_tx = w3vars.w3.eth.account.sign_transaction(tx, eth_account.key)
|
|
1509
|
+
|
|
1510
|
+
# Broadcast the transaction.
|
|
1511
|
+
tx_hash = w3vars.w3.eth.send_raw_transaction(signed_tx.raw_transaction)
|
|
1512
|
+
|
|
1513
|
+
if wait_for_tx:
|
|
1514
|
+
# Wait for the transaction receipt if required.
|
|
1515
|
+
tx_receipt = w3vars.w3.eth.wait_for_transaction_receipt(tx_hash, timeout=timeout)
|
|
1516
|
+
tx_hash_hex = tx_receipt.transactionHash.hex()
|
|
1517
|
+
self.P(f"Transaction mined: {tx_hash_hex}", color='g', verbosity=2)
|
|
1518
|
+
if return_receipt:
|
|
1519
|
+
return tx_receipt
|
|
1520
|
+
else:
|
|
1521
|
+
return tx_hash_hex
|
|
1522
|
+
else:
|
|
1523
|
+
return tx_hash.hex()
|
|
1524
|
+
|
|
1525
|
+
def web3_get_unvalidated_job_ids(
|
|
1526
|
+
self,
|
|
1527
|
+
network: str = None
|
|
1528
|
+
):
|
|
1529
|
+
"""
|
|
1530
|
+
Retrieve unvalidated job IDs using getUnvalidatedJobIds().
|
|
1531
|
+
|
|
1532
|
+
Parameters
|
|
1533
|
+
----------
|
|
1534
|
+
network : str, optional
|
|
1535
|
+
The network to use. If None, defaults to self.evm_network.
|
|
1536
|
+
|
|
1537
|
+
Returns
|
|
1538
|
+
-------
|
|
1539
|
+
list
|
|
1540
|
+
A list of unvalidated job IDs.
|
|
1541
|
+
"""
|
|
1542
|
+
# Retrieve the necessary Web3 variables (pattern consistent with web3_get_job_details).
|
|
1543
|
+
w3vars = self._get_web3_vars(network)
|
|
1544
|
+
network = w3vars.network
|
|
1545
|
+
|
|
1546
|
+
contract = w3vars.w3.eth.contract(
|
|
1547
|
+
address=w3vars.poai_manager_address,
|
|
1548
|
+
abi=EVM_ABI_DATA.POAI_MANAGER_ABI
|
|
1549
|
+
)
|
|
1550
|
+
|
|
1551
|
+
self.P(f"`getUnvalidatedJobIds` on {network} via {w3vars.rpc_url}", verbosity=2)
|
|
1552
|
+
|
|
1553
|
+
# Call the contract function to get unvalidated job IDs.
|
|
1554
|
+
result = contract.functions.getUnvalidatedJobIds().call()
|
|
1555
|
+
|
|
1556
|
+
self.P(f"Unvalidated Job IDs: {result}", verbosity=2)
|
|
1557
|
+
|
|
1558
|
+
return result
|
|
1559
|
+
|
|
1560
|
+
def web3_get_is_last_epoch_allocated(
|
|
1561
|
+
self,
|
|
1562
|
+
network: str = None
|
|
1563
|
+
):
|
|
1564
|
+
"""
|
|
1565
|
+
Check if the last epoch has been allocated using getIsLastEpochAllocated().
|
|
1566
|
+
|
|
1567
|
+
Parameters
|
|
1568
|
+
----------
|
|
1569
|
+
network : str, optional
|
|
1570
|
+
The network to use. If None, defaults to self.evm_network.
|
|
1571
|
+
|
|
1572
|
+
Returns
|
|
1573
|
+
-------
|
|
1574
|
+
bool
|
|
1575
|
+
True if the last epoch has been allocated, False otherwise.
|
|
1576
|
+
"""
|
|
1577
|
+
# Retrieve the necessary Web3 variables (pattern consistent with web3_get_unvalidated_job_ids).
|
|
1578
|
+
w3vars = self._get_web3_vars(network)
|
|
1579
|
+
network = w3vars.network
|
|
1580
|
+
|
|
1581
|
+
contract = w3vars.w3.eth.contract(
|
|
1582
|
+
address=w3vars.poai_manager_address,
|
|
1583
|
+
abi=EVM_ABI_DATA.POAI_MANAGER_ABI
|
|
1584
|
+
)
|
|
1585
|
+
|
|
1586
|
+
self.P(f"`getIsLastEpochAllocated` on {network} via {w3vars.rpc_url}", verbosity=2)
|
|
1587
|
+
|
|
1588
|
+
# Call the contract function to check if last epoch is allocated.
|
|
1589
|
+
result = contract.functions.getIsLastEpochAllocated().call()
|
|
1590
|
+
|
|
1591
|
+
self.P(f"Last epoch allocated: {result}", verbosity=2)
|
|
1592
|
+
|
|
1593
|
+
return result
|
|
1594
|
+
|
|
1359
1595
|
def get_deeploy_url(self):
|
|
1360
1596
|
"""
|
|
1361
1597
|
Returns the deeploy URL from the environment or the network data
|
ratio1/const/base.py
CHANGED
ratio1/const/evm_net.py
CHANGED
|
@@ -220,7 +220,41 @@ _GET_ADDRESSES_BALANCES = [
|
|
|
220
220
|
}
|
|
221
221
|
]
|
|
222
222
|
|
|
223
|
-
|
|
223
|
+
# A minimal ERC20 ABI for balanceOf, transfer, and decimals functions.
|
|
224
|
+
_ERC20_ABI = [
|
|
225
|
+
{
|
|
226
|
+
"constant": True,
|
|
227
|
+
"inputs": [{"name": "_owner", "type": "address"}],
|
|
228
|
+
"name": "balanceOf",
|
|
229
|
+
"outputs": [{"name": "balance", "type": "uint256"}],
|
|
230
|
+
"payable": False,
|
|
231
|
+
"stateMutability": "view",
|
|
232
|
+
"type": "function"
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"constant": False,
|
|
236
|
+
"inputs": [
|
|
237
|
+
{"name": "_to", "type": "address"},
|
|
238
|
+
{"name": "_value", "type": "uint256"}
|
|
239
|
+
],
|
|
240
|
+
"name": "transfer",
|
|
241
|
+
"outputs": [{"name": "success", "type": "bool"}],
|
|
242
|
+
"payable": False,
|
|
243
|
+
"stateMutability": "nonpayable",
|
|
244
|
+
"type": "function"
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"constant": True,
|
|
248
|
+
"inputs": [],
|
|
249
|
+
"name": "decimals",
|
|
250
|
+
"outputs": [{"name": "", "type": "uint8"}],
|
|
251
|
+
"payable": False,
|
|
252
|
+
"stateMutability": "view",
|
|
253
|
+
"type": "function"
|
|
254
|
+
}
|
|
255
|
+
]
|
|
256
|
+
|
|
257
|
+
_POAI_MANAGER_ABI = [
|
|
224
258
|
{
|
|
225
259
|
"inputs": [
|
|
226
260
|
{
|
|
@@ -306,44 +340,60 @@ _GET_JOB_DETAILS_ABI = [
|
|
|
306
340
|
],
|
|
307
341
|
"stateMutability": "view",
|
|
308
342
|
"type": "function"
|
|
309
|
-
}
|
|
310
|
-
]
|
|
311
|
-
|
|
312
|
-
# A minimal ERC20 ABI for balanceOf, transfer, and decimals functions.
|
|
313
|
-
_ERC20_ABI = [
|
|
343
|
+
},
|
|
314
344
|
{
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
345
|
+
"inputs": [
|
|
346
|
+
{
|
|
347
|
+
"internalType": "uint256",
|
|
348
|
+
"name": "jobId",
|
|
349
|
+
"type": "uint256"
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
"internalType": "address[]",
|
|
353
|
+
"name": "newActiveNodes",
|
|
354
|
+
"type": "address[]"
|
|
355
|
+
}
|
|
356
|
+
],
|
|
357
|
+
"name": "submitNodeUpdate",
|
|
358
|
+
"outputs": [],
|
|
359
|
+
"stateMutability": "nonpayable",
|
|
360
|
+
"type": "function"
|
|
322
361
|
},
|
|
323
362
|
{
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
"name": "transfer",
|
|
330
|
-
"outputs": [{"name": "success", "type": "bool"}],
|
|
331
|
-
"payable": False,
|
|
332
|
-
"stateMutability": "nonpayable",
|
|
333
|
-
"type": "function"
|
|
363
|
+
"inputs": [],
|
|
364
|
+
"name": "allocateRewardsAcrossAllEscrows",
|
|
365
|
+
"outputs": [],
|
|
366
|
+
"stateMutability": "nonpayable",
|
|
367
|
+
"type": "function"
|
|
334
368
|
},
|
|
335
369
|
{
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
370
|
+
"inputs": [],
|
|
371
|
+
"name": "getUnvalidatedJobIds",
|
|
372
|
+
"outputs": [
|
|
373
|
+
{
|
|
374
|
+
"internalType": "uint256[]",
|
|
375
|
+
"name": "",
|
|
376
|
+
"type": "uint256[]"
|
|
377
|
+
}
|
|
378
|
+
],
|
|
379
|
+
"stateMutability": "view",
|
|
380
|
+
"type": "function"
|
|
381
|
+
},
|
|
382
|
+
{
|
|
383
|
+
"inputs": [],
|
|
384
|
+
"name": "getIsLastEpochAllocated",
|
|
385
|
+
"outputs": [
|
|
386
|
+
{
|
|
387
|
+
"internalType": "bool",
|
|
388
|
+
"name": "",
|
|
389
|
+
"type": "bool"
|
|
390
|
+
}
|
|
391
|
+
],
|
|
392
|
+
"stateMutability": "view",
|
|
393
|
+
"type": "function"
|
|
343
394
|
}
|
|
344
395
|
]
|
|
345
396
|
|
|
346
|
-
|
|
347
397
|
# Here are all the constants used for blockchain interaction for each network.
|
|
348
398
|
EVM_NET_DATA = {
|
|
349
399
|
EvmNetData.MAINNET: {
|
|
@@ -390,7 +440,7 @@ EVM_NET_DATA = {
|
|
|
390
440
|
EvmNetData.DAUTH_R1_ADDR_KEY : "0x277CbD0Cf25F4789Bc04035eCd03d811FAf73691",
|
|
391
441
|
EvmNetData.DAUTH_MND_ADDR_KEY : "0x17B8934dc5833CdBa1eF42D13D65D677C4727748",
|
|
392
442
|
EvmNetData.DAUTH_PROXYAPI_ADDR_KEY : "0xFcF04c9A67330431Af75a546615E4881BD8bdC78",
|
|
393
|
-
EvmNetData.DAUTH_POAI_MANAGER_KEY : "
|
|
443
|
+
EvmNetData.DAUTH_POAI_MANAGER_KEY : "0xCc7C4e0f4f25b57807F34227Fb446E68c8c36ce5",
|
|
394
444
|
EvmNetData.DAUTH_RPC_KEY : "https://base-sepolia.public.blastapi.io",
|
|
395
445
|
EvmNetData.EE_GENESIS_EPOCH_DATE_KEY : "2025-06-30 07:00:00",
|
|
396
446
|
EvmNetData.EE_EPOCH_INTERVALS_KEY : 1,
|
|
@@ -439,6 +489,6 @@ class EVM_ABI_DATA:
|
|
|
439
489
|
GET_WALLET_NODES = _GET_WALLET_NODES
|
|
440
490
|
GET_ADDRESSES_BALANCES = _GET_ADDRESSES_BALANCES
|
|
441
491
|
IS_NODE_ACTIVE = _DAUTH_ABI_IS_NODE_ACTIVE
|
|
442
|
-
GET_JOB_DETAILS = _GET_JOB_DETAILS_ABI
|
|
443
492
|
ERC20_ABI = _ERC20_ABI
|
|
493
|
+
POAI_MANAGER_ABI = _POAI_MANAGER_ABI
|
|
444
494
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ratio1
|
|
3
|
-
Version: 3.4.
|
|
3
|
+
Version: 3.4.52
|
|
4
4
|
Summary: `ratio1` or Ration1 SDK is the Python SDK required for client app development for the Ratio1 ecosystem
|
|
5
5
|
Project-URL: Homepage, https://github.com/Ratio1/ratio1_sdk
|
|
6
6
|
Project-URL: Bug Tracker, https://github.com/Ratio1/ratio1_sdk/issues
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
ratio1/__init__.py,sha256=YimqgDbjLuywsf8zCWE0EaUXH4MBUrqLxt0TDV558hQ,632
|
|
2
|
-
ratio1/_ver.py,sha256=
|
|
2
|
+
ratio1/_ver.py,sha256=akcXIYY6qRSMwJhKnej2a0XpN3uYLb74I89S3yhTJV0,331
|
|
3
3
|
ratio1/base_decentra_object.py,sha256=iXvAAf6wPnGWzeeiRfwLojVoan-m1e_VsyPzjUQuENo,4492
|
|
4
4
|
ratio1/plugins_manager_mixin.py,sha256=X1JdGLDz0gN1rPnTN_5mJXR8JmqoBFQISJXmPR9yvCo,11106
|
|
5
5
|
ratio1/base/__init__.py,sha256=hACh83_cIv7-PwYMM3bQm2IBmNqiHw-3PAfDfAEKz9A,259
|
|
@@ -17,7 +17,7 @@ ratio1/bc/__init__.py,sha256=BI5pcqHdhwnMdbWTYDLW1cVP_844VtLra-lz7xprgsk,171
|
|
|
17
17
|
ratio1/bc/base.py,sha256=g7tARNgi_0N1p9HpvqRDWDVYxuqU7W6S0q3ARC6oxKk,45870
|
|
18
18
|
ratio1/bc/chain.py,sha256=HCTQGnmuKqTvUo95OKdg8rL2jhKfSMwrich2e_7Nyms,2336
|
|
19
19
|
ratio1/bc/ec.py,sha256=FwlkWmJvQ9aHuf_BZX1CWSUAxw6OZ9jBparLIWcs_e4,18933
|
|
20
|
-
ratio1/bc/evm.py,sha256=
|
|
20
|
+
ratio1/bc/evm.py,sha256=_8e-EDjqovqYWFSgV30ESqaUzh5iApruhUCwBNOwNTE,51315
|
|
21
21
|
ratio1/certs/51.15.142.167.crt,sha256=rLxkwDIQm-u6Kw570NmdSFgjSChcdSJvXPxr4Mj-EU8,1167
|
|
22
22
|
ratio1/certs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
23
|
ratio1/certs/a0d9818f.ala.eu-central-1.emqxsl.com.crt,sha256=y-6io0tseyx9-a4Pmde1z1gPULtJNSYUpG_YFkYaMKU,1337
|
|
@@ -39,10 +39,10 @@ ratio1/comm/mqtt_wrapper.py,sha256=QQ6IXcurchjY8Pp48t4SF1ZpE_GXaZTrgILzoMewefI,1
|
|
|
39
39
|
ratio1/const/README.md,sha256=6OHesr-f5NBuuJGryEoi_TCu2XdlhfQYlDKx_IJoXeg,177
|
|
40
40
|
ratio1/const/__init__.py,sha256=mcSaDgSYV2xbOS8Api72dDPO6kPBRjnYjBPAh9cAgaU,558
|
|
41
41
|
ratio1/const/apps.py,sha256=0NiuoAPak0HjEULF3fs3xaUH8IRSZ0i4fZw7T2fEd_g,785
|
|
42
|
-
ratio1/const/base.py,sha256=
|
|
42
|
+
ratio1/const/base.py,sha256=kYCV2O1IBiu28a18RnKyq24ie4eJOJivhYrMPRIOG-Y,6022
|
|
43
43
|
ratio1/const/comms.py,sha256=qEYX4ciYg8SYWSDZZTUYxzpR1--2a7UusrWzAq0hxo8,2259
|
|
44
44
|
ratio1/const/environment.py,sha256=632L5GrcNqF3-JhvrC6kXzXwLMcihRgMlOkLurnOwGY,1031
|
|
45
|
-
ratio1/const/evm_net.py,sha256=
|
|
45
|
+
ratio1/const/evm_net.py,sha256=SESD1tPAKZt_FAXGIcrO4hBM3UPA4E_CSvS05eTyRFk,14815
|
|
46
46
|
ratio1/const/formatter.py,sha256=AW3bWlqf39uaqV4BBUuW95qKYfF2OkkU4f9hy3kSVhM,200
|
|
47
47
|
ratio1/const/heartbeat.py,sha256=6l3wcpExs1KQE_2lvkJb7q4Q8gqs1KWTThO_uJ1DRa0,2667
|
|
48
48
|
ratio1/const/misc.py,sha256=VDCwwpf5bl9ltx9rzT2WPVP8B3mZFRufU1tSS5MO240,413
|
|
@@ -103,8 +103,8 @@ ratio1/utils/comm_utils.py,sha256=4cS9llRr_pK_3rNgDcRMCQwYPO0kcNU7AdWy_LtMyCY,10
|
|
|
103
103
|
ratio1/utils/config.py,sha256=IMXAN9bpHePKEuTFGRRqFJXz_vBa-wi7s9gLhFEheRY,9953
|
|
104
104
|
ratio1/utils/dotenv.py,sha256=_AgSo35n7EnQv5yDyu7C7i0kHragLJoCGydHjvOkrYY,2008
|
|
105
105
|
ratio1/utils/oracle_sync/oracle_tester.py,sha256=aJOPcZhtbw1XPqsFG4qYpfv2Taj5-qRXbwJzrPyeXDE,27465
|
|
106
|
-
ratio1-3.4.
|
|
107
|
-
ratio1-3.4.
|
|
108
|
-
ratio1-3.4.
|
|
109
|
-
ratio1-3.4.
|
|
110
|
-
ratio1-3.4.
|
|
106
|
+
ratio1-3.4.52.dist-info/METADATA,sha256=RruNMJWFT1Unnzc4PoXpCvpRrrHS-Kbl2gXYv-Qus1o,12248
|
|
107
|
+
ratio1-3.4.52.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
108
|
+
ratio1-3.4.52.dist-info/entry_points.txt,sha256=DR_olREzU1egwmgek3s4GfQslBi-KR7lXsd4ap0TFxE,46
|
|
109
|
+
ratio1-3.4.52.dist-info/licenses/LICENSE,sha256=cvOsJVslde4oIaTCadabXnPqZmzcBO2f2zwXZRmJEbE,11311
|
|
110
|
+
ratio1-3.4.52.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|