ratio1 3.4.47__py3-none-any.whl → 3.4.49__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 +59 -0
- ratio1/const/evm_net.py +84 -0
- ratio1/const/heartbeat.py +1 -0
- {ratio1-3.4.47.dist-info → ratio1-3.4.49.dist-info}/METADATA +1 -1
- {ratio1-3.4.47.dist-info → ratio1-3.4.49.dist-info}/RECORD +9 -9
- {ratio1-3.4.47.dist-info → ratio1-3.4.49.dist-info}/WHEEL +0 -0
- {ratio1-3.4.47.dist-info → ratio1-3.4.49.dist-info}/entry_points.txt +0 -0
- {ratio1-3.4.47.dist-info → ratio1-3.4.49.dist-info}/licenses/LICENSE +0 -0
ratio1/_ver.py
CHANGED
ratio1/bc/evm.py
CHANGED
|
@@ -28,6 +28,7 @@ Web3Vars = namedtuple(
|
|
|
28
28
|
"r1_contract_address",
|
|
29
29
|
"proxy_contract_address",
|
|
30
30
|
"controller_contract_address",
|
|
31
|
+
"poai_manager_address",
|
|
31
32
|
"get_oracles_abi",
|
|
32
33
|
]
|
|
33
34
|
)
|
|
@@ -236,6 +237,7 @@ class _EVMMixin:
|
|
|
236
237
|
proxy_contract_address = network_data[dAuth.EvmNetData.DAUTH_PROXYAPI_ADDR_KEY]
|
|
237
238
|
str_genesis_date = network_data[dAuth.EvmNetData.EE_GENESIS_EPOCH_DATE_KEY]
|
|
238
239
|
controller_contract_address = network_data[dAuth.EvmNetData.DAUTH_CONTROLLER_ADDR_KEY]
|
|
240
|
+
poai_manager_address = network_data[dAuth.EvmNetData.DAUTH_POAI_MANAGER_KEY]
|
|
239
241
|
get_oracles_abi = network_data[dAuth.EvmNetData.DAUTH_GET_ORACLES_ABI]
|
|
240
242
|
genesis_date = self.log.str_to_date(str_genesis_date).replace(tzinfo=timezone.utc)
|
|
241
243
|
ep_sec = (
|
|
@@ -258,6 +260,7 @@ class _EVMMixin:
|
|
|
258
260
|
r1_contract_address=r1_contract_address,
|
|
259
261
|
proxy_contract_address=proxy_contract_address,
|
|
260
262
|
controller_contract_address=controller_contract_address,
|
|
263
|
+
poai_manager_address=poai_manager_address,
|
|
261
264
|
get_oracles_abi=get_oracles_abi,
|
|
262
265
|
)
|
|
263
266
|
return result
|
|
@@ -1294,6 +1297,62 @@ class _EVMMixin:
|
|
|
1294
1297
|
|
|
1295
1298
|
return balances
|
|
1296
1299
|
|
|
1300
|
+
def web3_get_job_details(
|
|
1301
|
+
self,
|
|
1302
|
+
job_id: int,
|
|
1303
|
+
network: str = None
|
|
1304
|
+
):
|
|
1305
|
+
"""
|
|
1306
|
+
Retrieve license details for the specified node using getNodeLicenseDetails().
|
|
1307
|
+
|
|
1308
|
+
Parameters
|
|
1309
|
+
----------
|
|
1310
|
+
job_id : int
|
|
1311
|
+
The job ID to retrieve details for.
|
|
1312
|
+
|
|
1313
|
+
network : str, optional
|
|
1314
|
+
The network to use. If None, defaults to self.evm_network.
|
|
1315
|
+
|
|
1316
|
+
|
|
1317
|
+
Returns
|
|
1318
|
+
-------
|
|
1319
|
+
dict
|
|
1320
|
+
A dictionary containing all job details returned by getJobDetails.
|
|
1321
|
+
"""
|
|
1322
|
+
# Validate the job ID.
|
|
1323
|
+
assert isinstance(job_id, int), "Invalid job ID"
|
|
1324
|
+
|
|
1325
|
+
# Retrieve the necessary Web3 variables (pattern consistent with web3_send_r1).
|
|
1326
|
+
w3vars = self._get_web3_vars(network)
|
|
1327
|
+
network = w3vars.network
|
|
1328
|
+
contract = w3vars.w3.eth.contract(
|
|
1329
|
+
address=w3vars.poai_manager_address,
|
|
1330
|
+
abi=EVM_ABI_DATA.GET_JOB_DETAILS
|
|
1331
|
+
)
|
|
1332
|
+
|
|
1333
|
+
self.P(f"`getJobDetails` on {network} via {w3vars.rpc_url}", verbosity=2)
|
|
1334
|
+
|
|
1335
|
+
# Call the contract function to get details.
|
|
1336
|
+
result_tuple = contract.functions.getJobDetails(job_id).call()
|
|
1337
|
+
|
|
1338
|
+
# Unpack the tuple into a dictionary for readability.
|
|
1339
|
+
details = {
|
|
1340
|
+
"network": network,
|
|
1341
|
+
"jobId": result_tuple[0],
|
|
1342
|
+
"requestTimestamp": result_tuple[1],
|
|
1343
|
+
"startTimestamp": result_tuple[2],
|
|
1344
|
+
"lastNodesChangeTimestamp": result_tuple[3],
|
|
1345
|
+
"jobType": result_tuple[4],
|
|
1346
|
+
"pricePerEpoch": result_tuple[5],
|
|
1347
|
+
"lastExecutionEpoch": result_tuple[6],
|
|
1348
|
+
"numberOfNodesRequested": result_tuple[7],
|
|
1349
|
+
"balance": result_tuple[8],
|
|
1350
|
+
"lastAllocatedEpoch": result_tuple[9],
|
|
1351
|
+
"activeNodes": result_tuple[10],
|
|
1352
|
+
}
|
|
1353
|
+
self.P(f"Job Details:\n{json.dumps(details, indent=2)}", verbosity=2)
|
|
1354
|
+
|
|
1355
|
+
return details
|
|
1297
1356
|
|
|
1298
1357
|
def get_deeploy_url(self):
|
|
1299
1358
|
"""
|
ratio1/const/evm_net.py
CHANGED
|
@@ -9,6 +9,7 @@ class EvmNetData:
|
|
|
9
9
|
DAUTH_R1_ADDR_KEY = 'EE_DAUTH_R1_ADDR'
|
|
10
10
|
DAUTH_MND_ADDR_KEY = 'EE_DAUTH_MND_ADDR'
|
|
11
11
|
DAUTH_PROXYAPI_ADDR_KEY = 'EE_DAUTH_PROXYAPI_ADDR'
|
|
12
|
+
DAUTH_POAI_MANAGER_KEY = 'EE_DAUTH_POAI_MANAGER'
|
|
12
13
|
|
|
13
14
|
DAUTH_CONTROLLER_ADDR_KEY = 'EE_DAUTH_CONTROLLER_ADDR'
|
|
14
15
|
DAUTH_GET_ORACLES_ABI = 'EE_DAUTH_GET_ORACLES_ABI'
|
|
@@ -219,6 +220,85 @@ _GET_ADDRESSES_BALANCES = [
|
|
|
219
220
|
}
|
|
220
221
|
]
|
|
221
222
|
|
|
223
|
+
_GET_JOB_DETAILS_ABI = [
|
|
224
|
+
{
|
|
225
|
+
"inputs": [
|
|
226
|
+
{
|
|
227
|
+
"internalType": "uint256",
|
|
228
|
+
"name": "jobId",
|
|
229
|
+
"type": "uint256"
|
|
230
|
+
}
|
|
231
|
+
],
|
|
232
|
+
"name": "getJobDetails",
|
|
233
|
+
"outputs": [
|
|
234
|
+
{
|
|
235
|
+
"components": [
|
|
236
|
+
{
|
|
237
|
+
"internalType": "uint256",
|
|
238
|
+
"name": "id",
|
|
239
|
+
"type": "uint256"
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"internalType": "uint256",
|
|
243
|
+
"name": "requestTimestamp",
|
|
244
|
+
"type": "uint256"
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"internalType": "uint256",
|
|
248
|
+
"name": "startTimestamp",
|
|
249
|
+
"type": "uint256"
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"internalType": "uint256",
|
|
253
|
+
"name": "lastNodesChangeTimestamp",
|
|
254
|
+
"type": "uint256"
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"internalType": "uint256",
|
|
258
|
+
"name": "jobType",
|
|
259
|
+
"type": "uint256"
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
"internalType": "uint256",
|
|
263
|
+
"name": "pricePerEpoch",
|
|
264
|
+
"type": "uint256"
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"internalType": "uint256",
|
|
268
|
+
"name": "lastExecutionEpoch",
|
|
269
|
+
"type": "uint256"
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"internalType": "uint256",
|
|
273
|
+
"name": "numberOfNodesRequested",
|
|
274
|
+
"type": "uint256"
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
"internalType": "int256",
|
|
278
|
+
"name": "balance",
|
|
279
|
+
"type": "int256"
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
"internalType": "uint256",
|
|
283
|
+
"name": "lastAllocatedEpoch",
|
|
284
|
+
"type": "uint256"
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"internalType": "address[]",
|
|
288
|
+
"name": "activeNodes",
|
|
289
|
+
"type": "address[]"
|
|
290
|
+
}
|
|
291
|
+
],
|
|
292
|
+
"internalType": "struct JobDetails",
|
|
293
|
+
"name": "",
|
|
294
|
+
"type": "tuple"
|
|
295
|
+
}
|
|
296
|
+
],
|
|
297
|
+
"stateMutability": "view",
|
|
298
|
+
"type": "function"
|
|
299
|
+
}
|
|
300
|
+
]
|
|
301
|
+
|
|
222
302
|
# A minimal ERC20 ABI for balanceOf, transfer, and decimals functions.
|
|
223
303
|
_ERC20_ABI = [
|
|
224
304
|
{
|
|
@@ -263,6 +343,7 @@ EVM_NET_DATA = {
|
|
|
263
343
|
EvmNetData.DAUTH_R1_ADDR_KEY : "0x6444C6c2D527D85EA97032da9A7504d6d1448ecF",
|
|
264
344
|
EvmNetData.DAUTH_MND_ADDR_KEY : "0x0C431e546371C87354714Fcc1a13365391A549E2",
|
|
265
345
|
EvmNetData.DAUTH_PROXYAPI_ADDR_KEY : "0xa2fDD4c7E93790Ff68a01f01AA789D619F12c6AC",
|
|
346
|
+
EvmNetData.DAUTH_POAI_MANAGER_KEY : "0xTODO",
|
|
266
347
|
EvmNetData.DAUTH_RPC_KEY : "https://base-mainnet.public.blastapi.io",
|
|
267
348
|
EvmNetData.EE_GENESIS_EPOCH_DATE_KEY : "2025-05-23 16:00:00",
|
|
268
349
|
EvmNetData.EE_EPOCH_INTERVALS_KEY : 24,
|
|
@@ -280,6 +361,7 @@ EVM_NET_DATA = {
|
|
|
280
361
|
EvmNetData.DAUTH_R1_ADDR_KEY : "0xCC96f389F45Fc08b4fa8e2bC4C7DA9920292ec64",
|
|
281
362
|
EvmNetData.DAUTH_MND_ADDR_KEY : "0xa8d7FFCE91a888872A9f5431B4Dd6c0c135055c1",
|
|
282
363
|
EvmNetData.DAUTH_PROXYAPI_ADDR_KEY : "0xd1c7Dca934B37FAA402EB2EC64F6644d6957bE3b",
|
|
364
|
+
EvmNetData.DAUTH_POAI_MANAGER_KEY : "0xTODO",
|
|
283
365
|
EvmNetData.DAUTH_RPC_KEY : "https://base-sepolia.public.blastapi.io",
|
|
284
366
|
EvmNetData.EE_GENESIS_EPOCH_DATE_KEY : "2025-05-23 16:00:00",
|
|
285
367
|
EvmNetData.EE_EPOCH_INTERVALS_KEY : 24,
|
|
@@ -298,6 +380,7 @@ EVM_NET_DATA = {
|
|
|
298
380
|
EvmNetData.DAUTH_R1_ADDR_KEY : "0x277CbD0Cf25F4789Bc04035eCd03d811FAf73691",
|
|
299
381
|
EvmNetData.DAUTH_MND_ADDR_KEY : "0x17B8934dc5833CdBa1eF42D13D65D677C4727748",
|
|
300
382
|
EvmNetData.DAUTH_PROXYAPI_ADDR_KEY : "0xFcF04c9A67330431Af75a546615E4881BD8bdC78",
|
|
383
|
+
EvmNetData.DAUTH_POAI_MANAGER_KEY : "0x9A41f43494fCD592577228fE8E4014f2D75d2aa3",
|
|
301
384
|
EvmNetData.DAUTH_RPC_KEY : "https://base-sepolia.public.blastapi.io",
|
|
302
385
|
EvmNetData.EE_GENESIS_EPOCH_DATE_KEY : "2025-06-30 07:00:00",
|
|
303
386
|
EvmNetData.EE_EPOCH_INTERVALS_KEY : 1,
|
|
@@ -346,5 +429,6 @@ class EVM_ABI_DATA:
|
|
|
346
429
|
GET_WALLET_NODES = _GET_WALLET_NODES
|
|
347
430
|
GET_ADDRESSES_BALANCES = _GET_ADDRESSES_BALANCES
|
|
348
431
|
IS_NODE_ACTIVE = _DAUTH_ABI_IS_NODE_ACTIVE
|
|
432
|
+
GET_JOB_DETAILS = _GET_JOB_DETAILS_ABI
|
|
349
433
|
ERC20_ABI = _ERC20_ABI
|
|
350
434
|
|
ratio1/const/heartbeat.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ratio1
|
|
3
|
-
Version: 3.4.
|
|
3
|
+
Version: 3.4.49
|
|
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=U9N0v9bTPe_moKEVBCmePIsfFXgwKJKWepv8DnDfGKs,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=p9iiDgUv3KB_DuJGR092Y1o95J7X9DL847hnDZXI000,43030
|
|
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
|
|
@@ -42,9 +42,9 @@ ratio1/const/apps.py,sha256=0NiuoAPak0HjEULF3fs3xaUH8IRSZ0i4fZw7T2fEd_g,785
|
|
|
42
42
|
ratio1/const/base.py,sha256=OiAZB0ctoQtVr6oIkyPQYJoJ8dP9rQm6aLbFtiC5tLo,5988
|
|
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=9Rx6ONehFjXCV1hZ7_FHwyQ59Fnp8nrOF3qkkNKbAQY,13563
|
|
46
46
|
ratio1/const/formatter.py,sha256=AW3bWlqf39uaqV4BBUuW95qKYfF2OkkU4f9hy3kSVhM,200
|
|
47
|
-
ratio1/const/heartbeat.py,sha256=
|
|
47
|
+
ratio1/const/heartbeat.py,sha256=6l3wcpExs1KQE_2lvkJb7q4Q8gqs1KWTThO_uJ1DRa0,2667
|
|
48
48
|
ratio1/const/misc.py,sha256=VDCwwpf5bl9ltx9rzT2WPVP8B3mZFRufU1tSS5MO240,413
|
|
49
49
|
ratio1/const/payload.py,sha256=0rzfC__amwAIeTA8WIVteohMDN5zbBg4txis57Qh0PM,6844
|
|
50
50
|
ratio1/const/plugins/deeploy_const.py,sha256=8QcIf7zo_gSC6SdHqQVecn4yOUKCPMXzHC9zgGW5-3E,13314
|
|
@@ -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.49.dist-info/METADATA,sha256=jWWePVvYHa_aTRGT0EAVKyO0_faC5_LH8XrNS8XT19U,12248
|
|
107
|
+
ratio1-3.4.49.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
108
|
+
ratio1-3.4.49.dist-info/entry_points.txt,sha256=DR_olREzU1egwmgek3s4GfQslBi-KR7lXsd4ap0TFxE,46
|
|
109
|
+
ratio1-3.4.49.dist-info/licenses/LICENSE,sha256=cvOsJVslde4oIaTCadabXnPqZmzcBO2f2zwXZRmJEbE,11311
|
|
110
|
+
ratio1-3.4.49.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|