naeural-client 2.7.8__py3-none-any.whl → 2.7.9__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.
naeural_client/_ver.py CHANGED
@@ -1,4 +1,4 @@
1
- __VER__ = "2.7.8"
1
+ __VER__ = "2.7.9"
2
2
 
3
3
  if __name__ == "__main__":
4
4
  with open("pyproject.toml", "rt") as fd:
naeural_client/bc/base.py CHANGED
@@ -1424,6 +1424,10 @@ class BaseBlockEngine:
1424
1424
  @property
1425
1425
  def evm_network(self):
1426
1426
  return self.get_evm_network()
1427
+
1428
+ def get_network_data(self, network=None):
1429
+ assert isinstance(network, str) and network.lower() in dAuth.EVM_NET_DATA, f"Invalid network: {network}"
1430
+ return dAuth.EVM_NET_DATA[network.lower()]
1427
1431
 
1428
1432
 
1429
1433
  def web3_is_node_licensed(self, address : str, network=None, debug=False) -> bool:
@@ -1437,19 +1441,14 @@ class BaseBlockEngine:
1437
1441
  """
1438
1442
  if network is None:
1439
1443
  network = self.evm_network
1440
-
1441
- assert network.lower() in ['mainnet', 'testnet'], f"Invalid network {network}"
1442
1444
 
1443
1445
  assert BaseBlockEngine.is_valid_eth_address(address), "Invalid Ethereum address"
1444
-
1445
1446
 
1446
- if network.lower() == 'mainnet':
1447
- contract_address = dAuth.DAUTH_MAINNET_ND_ADDR
1448
- rpc_url = dAuth.DAUTH_MAINNET_RPC
1449
- else:
1450
- contract_address = dAuth.DAUTH_TESTNET_ND_ADDR
1451
- rpc_url = dAuth.DAUTH_TESTNET_RPC
1452
-
1447
+ network_data = self.get_network_data(network)
1448
+
1449
+ contract_address = network_data[dAuth.EvmNetData.DAUTH_ND_ADDR_KEY]
1450
+ rpc_url = network_data[dAuth.EvmNetData.DAUTH_RPC_KEY]
1451
+
1453
1452
  if debug:
1454
1453
  self.P(f"Checking if {address} ({network}) is allowed via {rpc_url}...")
1455
1454
 
@@ -1481,14 +1480,10 @@ class BaseBlockEngine:
1481
1480
  if network is None:
1482
1481
  network = BaseBlockEngine.get_evm_network()
1483
1482
 
1484
- assert network.lower() in ['mainnet', 'testnet'], f"Invalid network {network}"
1483
+ network_data = self.get_network_data(network)
1485
1484
 
1486
- if network.lower() == 'mainnet':
1487
- contract_address = dAuth.DAUTH_MAINNET_ND_ADDR
1488
- rpc_url = dAuth.DAUTH_MAINNET_RPC
1489
- else:
1490
- contract_address = dAuth.DAUTH_TESTNET_ND_ADDR
1491
- rpc_url = dAuth.DAUTH_TESTNET_RPC
1485
+ contract_address = network_data[dAuth.EvmNetData.DAUTH_ND_ADDR_KEY]
1486
+ rpc_url = network_data[dAuth.EvmNetData.DAUTH_RPC_KEY]
1492
1487
 
1493
1488
  if debug:
1494
1489
  self.P(f"Getting oracles for {network} via {rpc_url}...")
@@ -1565,10 +1560,8 @@ class BaseBlockEngine:
1565
1560
  in_env = True
1566
1561
  url = os.environ[DAUTH_ENV_KEY]
1567
1562
  else:
1568
- if network == 'mainnet':
1569
- url = dAuth.DAUTH_MAINNET_URL
1570
- else:
1571
- url = dAuth.DAUTH_TESTNET_URL
1563
+ network_data = self.get_network_data(network)
1564
+ url = network_data[dAuth.EvmNetData.DAUTH_URL_KEY]
1572
1565
  #endif not in env
1573
1566
 
1574
1567
  if isinstance(url, str) and len(url) > 0:
@@ -1,3 +1,8 @@
1
+ from .evm_net import (
2
+ _DAUTH_ABI_IS_NODE_ACTIVE, _DAUTH_ABI_GET_SIGNERS,
3
+ EvmNetData, EVM_NET_DATA
4
+ )
5
+
1
6
  EE_ID = 'EE_ID'
2
7
  SB_ID = 'SB_ID' # change to SB_ID = EE_ID post mod from sb to ee
3
8
 
@@ -10,59 +15,22 @@ class BCctbase:
10
15
  ETH_SENDER= 'EE_ETH_SENDER'
11
16
 
12
17
 
13
- DAUTH_TESTNET_URL = 'https://dauth-test.ratio1.ai/get_auth_data'
14
- DAUTH_MAINNET_URL = 'https://dauth-main.ratio1.ai/get_auth_data'
15
18
  DAUTH_SUBKEY = 'auth'
16
19
  DAUTH_ENV_KEY = 'EE_DAUTH_URL'
17
20
  DAUTH_NONCE = 'nonce'
18
21
  DAUTH_VARS = [DAUTH_NONCE, BCctbase.SIGN, BCctbase.SENDER, BCctbase.HASH]
19
22
 
20
- _DAUTH_ABI_IS_NODE_ACTIVE = [{
21
- "inputs": [
22
- {
23
- "internalType": "address",
24
- "name": "nodeAddress",
25
- "type": "address"
26
- }
27
- ],
28
- "name": "isNodeActive",
29
- "outputs": [
30
- {
31
- "internalType": "bool",
32
- "name": "",
33
- "type": "bool"
34
- }
35
- ],
36
- "stateMutability": "view",
37
- "type": "function"
38
- }]
39
-
40
- _DAUTH_ABI_GET_SIGNERS = [{
41
- "inputs": [],
42
- "name": "getSigners",
43
- "outputs": [
44
- {
45
- "internalType": "address[]",
46
- "name": "",
47
- "type": "address[]"
48
- }
49
- ],
50
- "stateMutability": "view",
51
- "type": "function"
52
- }]
23
+
53
24
 
54
25
 
55
26
 
56
27
  class dAuth:
57
- DAUTH_TESTNET_ND_ADDR = '0xE20198EE2B76eED916A568a47cdea9681f7c79BF'
58
- DAUTH_MAINNET_ND_ADDR = '0xE20198EE2B76eED916A568a47cdea9681f7c79BF'
59
-
28
+ EvmNetData = EvmNetData
29
+ EVM_NET_DATA = EVM_NET_DATA
30
+
60
31
  DAUTH_NET_ENV_KEY = 'EE_EVM_NET'
61
32
  DAUTH_SDK_NET_DEFAULT = 'testnet'
62
-
63
- DAUTH_MAINNET_RPC = 'https://base-mainnet.public.blastapi.io'
64
- DAUTH_TESTNET_RPC = 'https://base-sepolia.public.blastapi.io'
65
-
33
+
66
34
  DAUTH_SENDER_ALIAS = 'sender_alias'
67
35
  DAUTH_SENDER_ALIAS_DEFAULT = 'direct-call'
68
36
  DAUTH_SENDER_CORE_VER = 'sender_core_ver'
@@ -79,8 +47,6 @@ class dAuth:
79
47
 
80
48
  DAUTH_WHITELIST = 'whitelist'
81
49
 
82
- DAUTH_TESTNET_URL = DAUTH_TESTNET_URL
83
- DAUTH_MAINNET_URL = DAUTH_MAINNET_URL
84
50
  DAUTH_SUBKEY = DAUTH_SUBKEY
85
51
  DAUTH_NONCE = DAUTH_NONCE
86
52
  DAUTH_VARS = DAUTH_VARS
@@ -0,0 +1,79 @@
1
+ class EvmNetData:
2
+ DAUTH_URL_KEY = 'EE_DAUTH_URL'
3
+ DAUTH_ND_ADDR_KEY = 'EE_DAUTH_ND_ADDR'
4
+ DAUTH_RPC_KEY = 'EE_DAUTH_RPC'
5
+
6
+ EE_GENESIS_EPOCH_DATE_KEY = 'EE_GENESIS_EPOCH_DATE'
7
+ EE_EPOCH_INTERVALS_KEY = 'EE_EPOCH_INTERVALS'
8
+ EE_EPOCH_INTERVAL_SECONDS_KEY = 'EE_EPOCH_INTERVAL_SECONDS'
9
+
10
+ EE_SUPERVISOR_MIN_AVAIL_PRC_KEY = 'EE_SUPERVISOR_MIN_AVAIL_PRC'
11
+
12
+
13
+ EVM_NET_DATA = {
14
+ 'testnet': {
15
+ EvmNetData.DAUTH_URL_KEY : "https://dauth-test.ratio1.ai/get_auth_data",
16
+ EvmNetData.DAUTH_ND_ADDR_KEY : "0xE20198EE2B76eED916A568a47cdea9681f7c79BF",
17
+ EvmNetData.DAUTH_RPC_KEY : "https://base-sepolia.public.blastapi.io",
18
+ EvmNetData.EE_GENESIS_EPOCH_DATE_KEY : "2025-02-05 16:00:00",
19
+ EvmNetData.EE_EPOCH_INTERVALS_KEY : 24,
20
+ EvmNetData.EE_EPOCH_INTERVAL_SECONDS_KEY : 3600,
21
+ EvmNetData.EE_SUPERVISOR_MIN_AVAIL_PRC_KEY : 0.6,
22
+ },
23
+
24
+ 'mainnet': {
25
+ EvmNetData.DAUTH_URL_KEY : "https://dauth-main.ratio1.ai/get_auth_data",
26
+ EvmNetData.DAUTH_ND_ADDR_KEY : "0xE20198EE2B76eED916A568a47cdea9681f7c79BF",
27
+ EvmNetData.DAUTH_RPC_KEY : "https://base-mainnet.public.blastapi.io",
28
+ EvmNetData.EE_GENESIS_EPOCH_DATE_KEY : "2025-02-05 16:00:00",
29
+ EvmNetData.EE_EPOCH_INTERVALS_KEY : 24,
30
+ EvmNetData.EE_EPOCH_INTERVAL_SECONDS_KEY : 3600,
31
+ EvmNetData.EE_SUPERVISOR_MIN_AVAIL_PRC_KEY : 0.6,
32
+ },
33
+
34
+ 'devnet' : {
35
+ EvmNetData.DAUTH_URL_KEY : "https://dauth-devnet.ratio1.ai/get_auth_data",
36
+ EvmNetData.DAUTH_ND_ADDR_KEY : "0xE20198EE2B76eED916A568a47cdea9681f7c79BF",
37
+ EvmNetData.DAUTH_RPC_KEY : "https://base-sepolia.public.blastapi.io",
38
+ EvmNetData.EE_GENESIS_EPOCH_DATE_KEY : "2025-02-05 16:00:00",
39
+ EvmNetData.EE_EPOCH_INTERVALS_KEY : 24,
40
+ EvmNetData.EE_EPOCH_INTERVAL_SECONDS_KEY : 3600,
41
+ EvmNetData.EE_SUPERVISOR_MIN_AVAIL_PRC_KEY : 0.6,
42
+ },
43
+
44
+ }
45
+
46
+
47
+ _DAUTH_ABI_IS_NODE_ACTIVE = [{
48
+ "inputs": [
49
+ {
50
+ "internalType": "address",
51
+ "name": "nodeAddress",
52
+ "type": "address"
53
+ }
54
+ ],
55
+ "name": "isNodeActive",
56
+ "outputs": [
57
+ {
58
+ "internalType": "bool",
59
+ "name": "",
60
+ "type": "bool"
61
+ }
62
+ ],
63
+ "stateMutability": "view",
64
+ "type": "function"
65
+ }]
66
+
67
+ _DAUTH_ABI_GET_SIGNERS = [{
68
+ "inputs": [],
69
+ "name": "getSigners",
70
+ "outputs": [
71
+ {
72
+ "internalType": "address[]",
73
+ "name": "",
74
+ "type": "address[]"
75
+ }
76
+ ],
77
+ "stateMutability": "view",
78
+ "type": "function"
79
+ }]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: naeural_client
3
- Version: 2.7.8
3
+ Version: 2.7.9
4
4
  Summary: `naeural_client` is the Python SDK required for client app development for the Naeural Edge Protocol Edge Protocol framework
5
5
  Project-URL: Homepage, https://github.com/NaeuralEdgeProtocol/naeural_client
6
6
  Project-URL: Bug Tracker, https://github.com/NaeuralEdgeProtocol/naeural_client/issues
@@ -1,5 +1,5 @@
1
1
  naeural_client/__init__.py,sha256=YimqgDbjLuywsf8zCWE0EaUXH4MBUrqLxt0TDV558hQ,632
2
- naeural_client/_ver.py,sha256=xyIpvn7b735D9Wb7uaQLhUG4S1REdX5ilj50twPH4lk,330
2
+ naeural_client/_ver.py,sha256=RxS-goK_0TushM31dt1Xwef54molpj9g6fHoISGRH68,330
3
3
  naeural_client/base_decentra_object.py,sha256=C4iwZTkhKNBS4VHlJs5DfElRYLo4Q9l1V1DNVSk1fyQ,4412
4
4
  naeural_client/plugins_manager_mixin.py,sha256=X1JdGLDz0gN1rPnTN_5mJXR8JmqoBFQISJXmPR9yvCo,11106
5
5
  naeural_client/base/__init__.py,sha256=hACh83_cIv7-PwYMM3bQm2IBmNqiHw-3PAfDfAEKz9A,259
@@ -14,7 +14,7 @@ naeural_client/base/webapp_pipeline.py,sha256=ZNGqZ36DY076XVDfGu2Q61kCt3kxIJ4Mi4
14
14
  naeural_client/base/payload/__init__.py,sha256=y8fBI8tG2ObNfaXFWjyWZXwu878FRYj_I8GIbHT4GKE,29
15
15
  naeural_client/base/payload/payload.py,sha256=x-au7l67Z_vfn_4R2C_pjZCaFuUVXHngJiGOfIAYVdE,2690
16
16
  naeural_client/bc/__init__.py,sha256=FQj23D1PrY06NUOARiKQi4cdj0-VxnoYgYDEht8lpr8,158
17
- naeural_client/bc/base.py,sha256=afXeOiPjA6_md3MGfuXwYIFTh7vErjU7vYK-rpQ_WRw,46536
17
+ naeural_client/bc/base.py,sha256=Zo04bbqTi3SJVaS7W3Y9RdRsGHGdqEbNOpc70M0ZRgo,46456
18
18
  naeural_client/bc/chain.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  naeural_client/bc/ec.py,sha256=-HPfKpYAqy_eZpiJf3gWR2L4ZDDP7fZY2uwdNYYmS80,23868
20
20
  naeural_client/certs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -34,9 +34,10 @@ naeural_client/comm/mqtt_wrapper.py,sha256=Ig3bFZkCbWd4y_Whn2PPa91Z3aLgNbNPau6Tn
34
34
  naeural_client/const/README.md,sha256=6OHesr-f5NBuuJGryEoi_TCu2XdlhfQYlDKx_IJoXeg,177
35
35
  naeural_client/const/__init__.py,sha256=MM6Zib6i7M2qWcMkLtLx14zqU-lE-u2uPHjNvbh2jAM,478
36
36
  naeural_client/const/apps.py,sha256=ePBiJXLuPfFOKuw-LJrT9OWbaodU7QApfDurIPNDoB4,655
37
- naeural_client/const/base.py,sha256=g3II1Ys-1sjr1OG-sDJyRCV3F48VnxKQc7zTBPn-7FE,6510
37
+ naeural_client/const/base.py,sha256=uq1HrxBsrFFiMP0yL0TcDANuxiSPafSx1Yh5ZyxRubE,5633
38
38
  naeural_client/const/comms.py,sha256=La6JXWHexH8CfcBCKyT4fCIoeaoZlcm7KtZ57ab4ZgU,2201
39
39
  naeural_client/const/environment.py,sha256=RpdDhDgB8NgRoFTk28eODigf9y0WcT9lul6mBOD029w,879
40
+ naeural_client/const/evm_net.py,sha256=Uido0Bbb1oUZhlRVAn26mDOac1_nAFvu3mK5qjhCpd4,2598
40
41
  naeural_client/const/formatter.py,sha256=AW3bWlqf39uaqV4BBUuW95qKYfF2OkkU4f9hy3kSVhM,200
41
42
  naeural_client/const/heartbeat.py,sha256=xHZBX_NzHTklwA2_AEKR0SGdlbavMT4nirqjQg8WlTU,2550
42
43
  naeural_client/const/misc.py,sha256=VDCwwpf5bl9ltx9rzT2WPVP8B3mZFRufU1tSS5MO240,413
@@ -84,8 +85,8 @@ naeural_client/utils/comm_utils.py,sha256=4cS9llRr_pK_3rNgDcRMCQwYPO0kcNU7AdWy_L
84
85
  naeural_client/utils/config.py,sha256=QDrVywnhmf1k-sAb5jIBHZ_80TjNZk02uRG-t8mYLKQ,7413
85
86
  naeural_client/utils/dotenv.py,sha256=_AgSo35n7EnQv5yDyu7C7i0kHragLJoCGydHjvOkrYY,2008
86
87
  naeural_client/utils/oracle_sync/oracle_tester.py,sha256=GmZwu2JM9_UB2K-4rKB3o0RgWLqM-7Im6HwBnQLXmHI,25312
87
- naeural_client-2.7.8.dist-info/METADATA,sha256=14nrgXbF5gavIW1PCqmurhH5_7HD5lbrVIlo9BObw_E,12353
88
- naeural_client-2.7.8.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
89
- naeural_client-2.7.8.dist-info/entry_points.txt,sha256=CTua17GUrRa4aXeafezGC9TiWKGKQzwTjQmB2jyj22g,91
90
- naeural_client-2.7.8.dist-info/licenses/LICENSE,sha256=cvOsJVslde4oIaTCadabXnPqZmzcBO2f2zwXZRmJEbE,11311
91
- naeural_client-2.7.8.dist-info/RECORD,,
88
+ naeural_client-2.7.9.dist-info/METADATA,sha256=nPlDJRYH1_RsZ-c9ibXVBUgDPYIHUfZEJQHvvkWuJ0M,12353
89
+ naeural_client-2.7.9.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
90
+ naeural_client-2.7.9.dist-info/entry_points.txt,sha256=CTua17GUrRa4aXeafezGC9TiWKGKQzwTjQmB2jyj22g,91
91
+ naeural_client-2.7.9.dist-info/licenses/LICENSE,sha256=cvOsJVslde4oIaTCadabXnPqZmzcBO2f2zwXZRmJEbE,11311
92
+ naeural_client-2.7.9.dist-info/RECORD,,