naeural-client 2.7.2__tar.gz → 2.7.4__tar.gz

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.
Files changed (154) hide show
  1. {naeural_client-2.7.2 → naeural_client-2.7.4}/PKG-INFO +1 -1
  2. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/_ver.py +1 -1
  3. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/bc/base.py +64 -13
  4. {naeural_client-2.7.2 → naeural_client-2.7.4}/pyproject.toml +1 -1
  5. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/_checks/auth_check.py +5 -2
  6. naeural_client-2.7.2/xperimental/dauth/is_node_allowed.py → naeural_client-2.7.4/xperimental/_checks/web3_check.py +7 -10
  7. {naeural_client-2.7.2 → naeural_client-2.7.4}/.devcontainer/Dockerfile +0 -0
  8. {naeural_client-2.7.2 → naeural_client-2.7.4}/.devcontainer/devcontainer.json +0 -0
  9. {naeural_client-2.7.2 → naeural_client-2.7.4}/.gitattributes +0 -0
  10. {naeural_client-2.7.2 → naeural_client-2.7.4}/.github/workflows/python-publish.yml +0 -0
  11. {naeural_client-2.7.2 → naeural_client-2.7.4}/.gitignore +0 -0
  12. {naeural_client-2.7.2 → naeural_client-2.7.4}/.vscode/launch.json +0 -0
  13. {naeural_client-2.7.2 → naeural_client-2.7.4}/LICENSE +0 -0
  14. {naeural_client-2.7.2 → naeural_client-2.7.4}/README.md +0 -0
  15. {naeural_client-2.7.2 → naeural_client-2.7.4}/TODOs.md +0 -0
  16. {naeural_client-2.7.2 → naeural_client-2.7.4}/__init__.py +0 -0
  17. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/__init__.py +0 -0
  18. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/base/__init__.py +0 -0
  19. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/base/distributed_custom_code_presets.py +0 -0
  20. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/base/generic_session.py +0 -0
  21. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/base/instance.py +0 -0
  22. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/base/payload/__init__.py +0 -0
  23. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/base/payload/payload.py +0 -0
  24. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/base/pipeline.py +0 -0
  25. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/base/plugin_template.py +0 -0
  26. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/base/responses.py +0 -0
  27. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/base/transaction.py +0 -0
  28. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/base/webapp_pipeline.py +0 -0
  29. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/base_decentra_object.py +0 -0
  30. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/bc/__init__.py +0 -0
  31. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/bc/chain.py +0 -0
  32. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/bc/ec.py +0 -0
  33. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/certs/__init__.py +0 -0
  34. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/certs/r9092118.ala.eu-central-1.emqxsl.com.crt +0 -0
  35. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/certs/s624dbd4.ala.us-east-1.emqxsl.com.crt +0 -0
  36. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/cli/README.md +0 -0
  37. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/cli/cli.py +0 -0
  38. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/cli/cli_commands.py +0 -0
  39. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/cli/nodes.py +0 -0
  40. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/cli/oracles.py +0 -0
  41. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/code_cheker/__init__.py +0 -0
  42. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/code_cheker/base.py +0 -0
  43. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/code_cheker/checker.py +0 -0
  44. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/comm/__init__.py +0 -0
  45. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/comm/amqp_wrapper.py +0 -0
  46. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/comm/mqtt_wrapper.py +0 -0
  47. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/const/README.md +0 -0
  48. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/const/__init__.py +0 -0
  49. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/const/apps.py +0 -0
  50. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/const/base.py +0 -0
  51. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/const/comms.py +0 -0
  52. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/const/environment.py +0 -0
  53. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/const/formatter.py +0 -0
  54. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/const/heartbeat.py +0 -0
  55. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/const/misc.py +0 -0
  56. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/const/payload.py +0 -0
  57. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/default/__init__.py +0 -0
  58. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/default/instance/__init__.py +0 -0
  59. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/default/instance/chain_dist_custom_job_01_plugin.py +0 -0
  60. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/default/instance/custom_webapi_01_plugin.py +0 -0
  61. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/default/instance/net_mon_01_plugin.py +0 -0
  62. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/default/instance/telegram_basic_bot_01_plugin.py +0 -0
  63. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/default/instance/telegram_conversational_bot_01_plugin.py +0 -0
  64. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/default/instance/view_scene_01_plugin.py +0 -0
  65. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/default/session/mqtt_session.py +0 -0
  66. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/io_formatter/__init__.py +0 -0
  67. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/io_formatter/base/__init__.py +0 -0
  68. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/io_formatter/base/base_formatter.py +0 -0
  69. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/io_formatter/default/__init__.py +0 -0
  70. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/io_formatter/default/a_dummy.py +0 -0
  71. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/io_formatter/default/aixp1.py +0 -0
  72. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/io_formatter/default/default.py +0 -0
  73. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/io_formatter/io_formatter_manager.py +0 -0
  74. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/logging/__init__.py +0 -0
  75. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/logging/base_logger.py +0 -0
  76. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/logging/logger_mixins/__init__.py +0 -0
  77. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/logging/logger_mixins/class_instance_mixin.py +0 -0
  78. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/logging/logger_mixins/computer_vision_mixin.py +0 -0
  79. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/logging/logger_mixins/datetime_mixin.py +0 -0
  80. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/logging/logger_mixins/download_mixin.py +0 -0
  81. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/logging/logger_mixins/general_serialization_mixin.py +0 -0
  82. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/logging/logger_mixins/json_serialization_mixin.py +0 -0
  83. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/logging/logger_mixins/pickle_serialization_mixin.py +0 -0
  84. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/logging/logger_mixins/process_mixin.py +0 -0
  85. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/logging/logger_mixins/resource_size_mixin.py +0 -0
  86. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/logging/logger_mixins/timers_mixin.py +0 -0
  87. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/logging/logger_mixins/upload_mixin.py +0 -0
  88. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/logging/logger_mixins/utils_mixin.py +0 -0
  89. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/logging/small_logger.py +0 -0
  90. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/logging/tzlocal/__init__.py +0 -0
  91. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/logging/tzlocal/unix.py +0 -0
  92. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/logging/tzlocal/utils.py +0 -0
  93. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/logging/tzlocal/win32.py +0 -0
  94. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/logging/tzlocal/windows_tz.py +0 -0
  95. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/plugins_manager_mixin.py +0 -0
  96. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/utils/__init__.py +0 -0
  97. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/utils/comm_utils.py +0 -0
  98. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/utils/config.py +0 -0
  99. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/utils/dotenv.py +0 -0
  100. {naeural_client-2.7.2 → naeural_client-2.7.4}/naeural_client/utils/oracle_sync/oracle_tester.py +0 -0
  101. {naeural_client-2.7.2 → naeural_client-2.7.4}/nepctl.MD +0 -0
  102. {naeural_client-2.7.2 → naeural_client-2.7.4}/requirements.txt +0 -0
  103. {naeural_client-2.7.2 → naeural_client-2.7.4}/tutorials/.example_env +0 -0
  104. {naeural_client-2.7.2 → naeural_client-2.7.4}/tutorials/8. custom_code_fastapi_assets/index.html +0 -0
  105. {naeural_client-2.7.2 → naeural_client-2.7.4}/tutorials/9. code_sandbox_from_scratch_assets/index.html +0 -0
  106. {naeural_client-2.7.2 → naeural_client-2.7.4}/tutorials/_example_pk_sdk.pem +0 -0
  107. {naeural_client-2.7.2 → naeural_client-2.7.4}/tutorials/ex01_part1_connect.py +0 -0
  108. {naeural_client-2.7.2 → naeural_client-2.7.4}/tutorials/ex01_part2_filter.py +0 -0
  109. {naeural_client-2.7.2 → naeural_client-2.7.4}/tutorials/ex01_part3_adv_filter.py +0 -0
  110. {naeural_client-2.7.2 → naeural_client-2.7.4}/tutorials/ex02_part1_deploy_webapi.py +0 -0
  111. {naeural_client-2.7.2 → naeural_client-2.7.4}/tutorials/ex02_part2_deploy_plugin.py +0 -0
  112. {naeural_client-2.7.2 → naeural_client-2.7.4}/tutorials/ex03_custom_code_on_one_remote__example_1.py +0 -0
  113. {naeural_client-2.7.2 → naeural_client-2.7.4}/tutorials/ex04_custom_code_on_one_remote__example_2.py +0 -0
  114. {naeural_client-2.7.2 → naeural_client-2.7.4}/tutorials/ex05_custom_code_on_one_remote__example_3.py +0 -0
  115. {naeural_client-2.7.2 → naeural_client-2.7.4}/tutorials/ex06_custom_code_on_multiple_remotes__example_1.py +0 -0
  116. {naeural_client-2.7.2 → naeural_client-2.7.4}/tutorials/ex07_custom_code_on_multiple_remotes__example_2.py +0 -0
  117. {naeural_client-2.7.2 → naeural_client-2.7.4}/tutorials/ex08_custom_webapi.py +0 -0
  118. {naeural_client-2.7.2 → naeural_client-2.7.4}/tutorials/ex09_code_sandbox_from_scratch.py +0 -0
  119. {naeural_client-2.7.2 → naeural_client-2.7.4}/tutorials/ex10_telegram_echo_bot.py +0 -0
  120. {naeural_client-2.7.2 → naeural_client-2.7.4}/tutorials/ex11_telegram_blackjack_bot.py +0 -0
  121. {naeural_client-2.7.2 → naeural_client-2.7.4}/tutorials/ex12_telegram_smart_bot.py +0 -0
  122. {naeural_client-2.7.2 → naeural_client-2.7.4}/tutorials/ex13_launch_repo_based_webapp.py +0 -0
  123. {naeural_client-2.7.2 → naeural_client-2.7.4}/tutorials/video_presentation/1. hello_world.ipynb +0 -0
  124. {naeural_client-2.7.2 → naeural_client-2.7.4}/winrun.bat +0 -0
  125. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/README.md +0 -0
  126. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/_checks/cstore_check.py +0 -0
  127. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/_checks/keys_check.py +0 -0
  128. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/_checks/ora_check.py +0 -0
  129. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/_checks/payload_check.py +0 -0
  130. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/_checks/session_check.py +0 -0
  131. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/decentralized/chain_dist_example.py +0 -0
  132. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/decentralized/chain_dist_example_initiator.py +0 -0
  133. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/decentralized/chain_dist_example_worker.py +0 -0
  134. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/enc_dec/enc_dec_test.py +0 -0
  135. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/eth/eth_sign.py +0 -0
  136. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/eth/info.md +0 -0
  137. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/eth/sign.py +0 -0
  138. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/multi-enc-dec/multi_test1.py +0 -0
  139. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/multi-enc-dec/multi_test2.py +0 -0
  140. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/sign/simple_payload_checker.py +0 -0
  141. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/sign/test_sign1.py +0 -0
  142. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/sign/test_sign2.py +0 -0
  143. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/test1.py +0 -0
  144. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/utils/get_documentation.py +0 -0
  145. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/various/attach_example.py +0 -0
  146. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/various/ex1.py +0 -0
  147. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/various/hello.py +0 -0
  148. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/various/remote_exec.py +0 -0
  149. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/various/save_images.py +0 -0
  150. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/wl/wl_add.py +0 -0
  151. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/xarchive/_tutorials/3. simple_real_time_custom_code.py +0 -0
  152. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/xarchive/_tutorials/4. real_time_custom_code_2.py +0 -0
  153. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/xarchive/_tutorials/8. chatbot.py +0 -0
  154. {naeural_client-2.7.2 → naeural_client-2.7.4}/xperimental/xarchive/test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: naeural_client
3
- Version: 2.7.2
3
+ Version: 2.7.4
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,4 +1,4 @@
1
- __VER__ = "2.7.2"
1
+ __VER__ = "2.7.4"
2
2
 
3
3
  if __name__ == "__main__":
4
4
  with open("pyproject.toml", "rt") as fd:
@@ -1406,10 +1406,27 @@ class BaseBlockEngine:
1406
1406
  True if `address` meets the basic criteria for an EVM address, False otherwise.
1407
1407
  """
1408
1408
  return BaseBlockEngine.is_valid_evm_address(address)
1409
-
1409
+
1410
1410
 
1411
1411
  @staticmethod
1412
- def web3_is_node_licensed(address : str, network=None) -> bool:
1412
+ def get_evm_network() -> str:
1413
+ """
1414
+ Get the current network
1415
+
1416
+ Returns
1417
+ -------
1418
+ str
1419
+ the network name.
1420
+
1421
+ """
1422
+ return os.environ.get(dAuth.DAUTH_NET_ENV_KEY, dAuth.DAUTH_SDK_NET_DEFAULT)
1423
+
1424
+ @property
1425
+ def evm_network(self):
1426
+ return self.get_evm_network()
1427
+
1428
+
1429
+ def web3_is_node_licensed(self, address : str, network=None, debug=False) -> bool:
1413
1430
  """
1414
1431
  Check if the address is allowed to send commands to the node
1415
1432
 
@@ -1419,11 +1436,12 @@ class BaseBlockEngine:
1419
1436
  the address to check.
1420
1437
  """
1421
1438
  if network is None:
1422
- network = os.environ.get(dAuth.DAUTH_NET_ENV_KEY, dAuth.DAUTH_SDK_NET_DEFAULT)
1439
+ network = self.evm_network
1423
1440
 
1424
1441
  assert network.lower() in ['mainnet', 'testnet'], f"Invalid network {network}"
1425
1442
 
1426
1443
  assert BaseBlockEngine.is_valid_eth_address(address), "Invalid Ethereum address"
1444
+
1427
1445
 
1428
1446
  if network.lower() == 'mainnet':
1429
1447
  contract_address = dAuth.DAUTH_MAINNET_ND_ADDR
@@ -1431,6 +1449,9 @@ class BaseBlockEngine:
1431
1449
  else:
1432
1450
  contract_address = dAuth.DAUTH_TESTNET_ND_ADDR
1433
1451
  rpc_url = dAuth.DAUTH_TESTNET_RPC
1452
+
1453
+ if debug:
1454
+ self.P(f"Checking if {address} ({network}) is allowed via {rpc_url}...")
1434
1455
 
1435
1456
  w3 = Web3(Web3.HTTPProvider(rpc_url))
1436
1457
 
@@ -1442,7 +1463,7 @@ class BaseBlockEngine:
1442
1463
  return result
1443
1464
 
1444
1465
 
1445
- def web3_get_oracles(self, network=None) -> list:
1466
+ def web3_get_oracles(self, network=None, debug=False) -> list:
1446
1467
  """
1447
1468
  Get the list of oracles from the contract
1448
1469
 
@@ -1458,7 +1479,7 @@ class BaseBlockEngine:
1458
1479
 
1459
1480
  """
1460
1481
  if network is None:
1461
- network = os.environ.get(dAuth.DAUTH_NET_ENV_KEY, dAuth.DAUTH_SDK_NET_DEFAULT)
1482
+ network = BaseBlockEngine.get_evm_network()
1462
1483
 
1463
1484
  assert network.lower() in ['mainnet', 'testnet'], f"Invalid network {network}"
1464
1485
 
@@ -1468,6 +1489,9 @@ class BaseBlockEngine:
1468
1489
  else:
1469
1490
  contract_address = dAuth.DAUTH_TESTNET_ND_ADDR
1470
1491
  rpc_url = dAuth.DAUTH_TESTNET_RPC
1492
+
1493
+ if debug:
1494
+ self.P(f"Getting oracles for {network} via {rpc_url}...")
1471
1495
 
1472
1496
  w3 = Web3(Web3.HTTPProvider(rpc_url))
1473
1497
 
@@ -1492,6 +1516,23 @@ class BaseBlockEngine:
1492
1516
  network=None,
1493
1517
  **kwargs
1494
1518
  ):
1519
+ """
1520
+ Autocompletes the environment with the dAuth information.
1521
+ Parameters
1522
+ ----------
1523
+ dauth_endp
1524
+ add_env
1525
+ debug
1526
+ max_tries
1527
+ network
1528
+ kwargs
1529
+
1530
+ Returns
1531
+ -------
1532
+ None if the URL is invalid or the request failed.
1533
+ dict with the dAuth information if the request got status 200(if errors occured, but
1534
+ the status is still 200, an empty dictionary will be returned).
1535
+ """
1495
1536
  from naeural_client._ver import __VER__ as sdk_version
1496
1537
  try:
1497
1538
  from ver import __VER__ as app_version
@@ -1503,16 +1544,21 @@ class BaseBlockEngine:
1503
1544
  core_version = None
1504
1545
 
1505
1546
  MIN_LEN = 10
1506
- dct_env = {}
1547
+ # Default result in case of invalid URL should be None
1548
+ # An empty dict will mean that the URL is valid, but the node
1549
+ # does not have a license associated with it.
1550
+ dct_env = None
1507
1551
  done = False
1508
1552
  tries = 0
1509
1553
  in_env = False
1510
1554
  url = dauth_endp
1511
1555
  dct_response = {}
1512
-
1556
+
1557
+ # Network handling
1513
1558
  if network is None:
1514
- network = os.environ.get(dAuth.DAUTH_NET_ENV_KEY, dAuth.DAUTH_SDK_NET_DEFAULT)
1515
-
1559
+ network = self.evm_network
1560
+
1561
+ # URL handling
1516
1562
  if not isinstance(url, str) or len(url) < MIN_LEN:
1517
1563
  if DAUTH_ENV_KEY in os.environ:
1518
1564
  in_env = True
@@ -1525,14 +1571,15 @@ class BaseBlockEngine:
1525
1571
  #endif not in env
1526
1572
 
1527
1573
  if isinstance(url, str) and len(url) > 0:
1574
+ # Valid URL
1528
1575
  if dauth_endp is None:
1529
1576
  if in_env:
1530
1577
  self.P("Found dAuth URL in environment: '{}'".format(url), color='g')
1531
1578
  else:
1532
1579
  self.P("Using default dAuth URL: '{}'".format(url), color='g')
1533
-
1580
+ eth_short = self.eth_address[:6] + '...' + self.eth_address[-4:]
1534
1581
  while not done:
1535
- self.P(f"Trying dAuth `{url}` information... (try {tries})")
1582
+ self.P(f"<{eth_short}> ({network}) dAuth with `{url}`... (try {tries + 1} / {max_tries})")
1536
1583
  try:
1537
1584
  to_send = {
1538
1585
  **kwargs,
@@ -1569,7 +1616,8 @@ class BaseBlockEngine:
1569
1616
  self.P(f"Signature from {server_alias} <{server_addr}> is valid.", color='g')
1570
1617
  else:
1571
1618
  self.P(f"Signature from {server_alias} <{server_addr}> is INVALID: {ver_result}", color='r')
1572
- return
1619
+ # Invalid response signature, thus return {}
1620
+ return {}
1573
1621
 
1574
1622
  # whitelist
1575
1623
  whitelist = dct_dauth.pop(dAuth.DAUTH_WHITELIST, [])
@@ -1602,13 +1650,16 @@ class BaseBlockEngine:
1602
1650
  else:
1603
1651
  self.P(f"Error in dAuth response: {response.status_code} - {response.text}", color='r')
1604
1652
  except Exception as exc:
1605
- self.P(f"Error in dAuth URL request: {exc}. Received: {dct_response}", color='r')
1653
+ self.P(f"Error in dAuth URL request: {exc}. Received: {dct_response}", color='r')
1654
+ # Request failed somewhere so dct_env will be set again to None.
1655
+ dct_env = None
1606
1656
  #end try
1607
1657
  tries += 1
1608
1658
  if tries >= max_tries:
1609
1659
  done = True
1610
1660
  #end while
1611
1661
  else:
1662
+ # Invalid URL, thus dct_env will remain None
1612
1663
  self.P(f"dAuth URL is not invalid: {url}", color='r')
1613
1664
  #end if url is valid
1614
1665
  return dct_env
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "naeural_client"
7
- version = "2.7.2"
7
+ version = "2.7.4"
8
8
  authors = [
9
9
  { name="Andrei Ionut Damian", email="andrei.damian@me.com" },
10
10
  { name="Cristan Bleotiu", email="cristibleotiu@gmail.com" },
@@ -4,12 +4,13 @@ import json
4
4
 
5
5
  from naeural_client import Logger, const
6
6
  from naeural_client.bc import DefaultBlockEngine
7
+ from naeural_client.utils.config import get_user_folder
7
8
 
8
9
 
9
10
 
10
11
  if __name__ == '__main__' :
11
12
  l = Logger(
12
- "ENC", base_folder=".", app_folder="_local_cache",
13
+ "ENC", base_folder=str(get_user_folder()), app_folder="_local_cache",
13
14
  # silent=True,
14
15
  )
15
16
  eng1 = DefaultBlockEngine(
@@ -26,15 +27,17 @@ if __name__ == '__main__' :
26
27
  }
27
28
  )
28
29
 
29
- to_use = eng2
30
+ to_use = eng1
30
31
 
31
32
  for _ in range(3):
32
33
  d = to_use.dauth_autocomplete(
34
+ # dauth_endp='N/Adhstrgredshtfnfnhgm',
33
35
  add_env=False,
34
36
  debug=True,
35
37
  max_tries=1,
36
38
  sender_alias='test1',
37
39
  )
40
+ print(f'Got the response: {d} !')
38
41
  # try:
39
42
  # res = dict(
40
43
  # name = d['result']['server_alias'],
@@ -20,16 +20,15 @@ if __name__ == '__main__' :
20
20
  }
21
21
  )
22
22
 
23
- network = 'mainnet'
23
+ network = None
24
24
  addresses = [
25
- "0xe240d9cf8893d6bE9fb3Ac4C9CE1E504343b64a0",
26
- "0x1Fe3222f6a2844364E2BDc796e0Df547ea26B815",
27
- "0x7C07758C23DF14c2fF4b016F0ad58F2D4aF329a7",
25
+ "0xE486F0d594e9F26931fC10c29E6409AEBb7b5144",
26
+ "0x93B04EF1152D81A0847C2272860a8a5C70280E14",
28
27
  ]
29
28
 
30
29
  for addr in addresses:
31
30
  is_active = eng.web3_is_node_licensed(
32
- address=addr, network=network
31
+ address=addr, network=network, debug=True
33
32
  )
34
33
  l.P("{} {}".format(
35
34
  addr,
@@ -38,16 +37,14 @@ if __name__ == '__main__' :
38
37
  color='g' if is_active else 'r'
39
38
  )
40
39
 
41
- oracles = eng.web3_get_oracles(network=network)
40
+ oracles = eng.web3_get_oracles(network=network, debug=True)
42
41
  l.P("\nOracles:\n {}".format(json.dumps(oracles, indent=2)),
43
42
  color='b'
44
43
  )
45
44
 
46
45
  supervisors = [
47
- "0xai_Amfnbt3N-qg2-qGtywZIPQBTVlAnoADVRmSAsdDhlQ-6",
48
- "0xai_Aj1FpPQHISEBelp-tQ8cegwk434Dcl6xaHmuhZQT74if",
49
- "0xai_A4cZdKZZdj9We5W7T-NJPdQuhH2c8-aMI3-r7XlT0jqn",
50
- "0xai_AvuUcmXyn6U3z8XRagqG8_d2sKCDZ5FIDpkUlpUz3Iuh"
46
+ "0xai_AleLPKqUHV-iPc-76-rUvDkRWW4dFMIGKW1xFVcy65nH",
47
+ "0xai_A-Bn9grkqH1GUMTZUqHNzpX5DA6PqducH9_JKAlBx6YL",
51
48
  ]
52
49
 
53
50
  for supervisor in supervisors:
File without changes
File without changes
File without changes
File without changes