ratio1 3.4.93__tar.gz → 3.4.94__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 (223) hide show
  1. {ratio1-3.4.93 → ratio1-3.4.94}/PKG-INFO +1 -1
  2. {ratio1-3.4.93 → ratio1-3.4.94}/pyproject.toml +1 -1
  3. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/_ver.py +1 -1
  4. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/bc/evm.py +53 -20
  5. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/const/evm_net.py +85 -0
  6. ratio1-3.4.94/xperimental/_checks/w3_all_active_jobs_check.py +25 -0
  7. {ratio1-3.4.93 → ratio1-3.4.94}/.devcontainer/Dockerfile +0 -0
  8. {ratio1-3.4.93 → ratio1-3.4.94}/.devcontainer/devcontainer.json +0 -0
  9. {ratio1-3.4.93 → ratio1-3.4.94}/.gitattributes +0 -0
  10. {ratio1-3.4.93 → ratio1-3.4.94}/.github/workflows/python-publish.yml +0 -0
  11. {ratio1-3.4.93 → ratio1-3.4.94}/.gitignore +0 -0
  12. {ratio1-3.4.93 → ratio1-3.4.94}/.vscode/launch.json +0 -0
  13. {ratio1-3.4.93 → ratio1-3.4.94}/LICENSE +0 -0
  14. {ratio1-3.4.93 → ratio1-3.4.94}/README.md +0 -0
  15. {ratio1-3.4.93 → ratio1-3.4.94}/TODOs.md +0 -0
  16. {ratio1-3.4.93 → ratio1-3.4.94}/__init__.py +0 -0
  17. {ratio1-3.4.93 → ratio1-3.4.94}/r1ctl.MD +0 -0
  18. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/__init__.py +0 -0
  19. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/base/__init__.py +0 -0
  20. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/base/distributed_custom_code_presets.py +0 -0
  21. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/base/generic_session.py +0 -0
  22. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/base/instance.py +0 -0
  23. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/base/payload/__init__.py +0 -0
  24. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/base/payload/payload.py +0 -0
  25. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/base/pipeline.py +0 -0
  26. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/base/plugin_template.py +0 -0
  27. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/base/responses.py +0 -0
  28. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/base/transaction.py +0 -0
  29. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/base/webapp_pipeline.py +0 -0
  30. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/base_decentra_object.py +0 -0
  31. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/bc/__init__.py +0 -0
  32. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/bc/base.py +0 -0
  33. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/bc/chain.py +0 -0
  34. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/bc/ec.py +0 -0
  35. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/certs/51.15.142.167.crt +0 -0
  36. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/certs/72.60.187.24.crt +0 -0
  37. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/certs/72.60.81.67.crt +0 -0
  38. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/certs/__init__.py +0 -0
  39. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/certs/a0d9818f.ala.eu-central-1.emqxsl.com.crt +0 -0
  40. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/certs/r9092118.ala.eu-central-1.emqxsl.com.crt +0 -0
  41. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/certs/s624dbd4.ala.us-east-1.emqxsl.com.crt +0 -0
  42. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/cli/README.md +0 -0
  43. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/cli/cli.py +0 -0
  44. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/cli/cli_commands.py +0 -0
  45. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/cli/nodes.py +0 -0
  46. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/cli/oracles.py +0 -0
  47. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/cli/package_update.py +0 -0
  48. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/code_cheker/__init__.py +0 -0
  49. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/code_cheker/base.py +0 -0
  50. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/code_cheker/checker.py +0 -0
  51. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/comm/__init__.py +0 -0
  52. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/comm/amqp_wrapper.py +0 -0
  53. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/comm/base_comm_wrapper.py +0 -0
  54. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/comm/mqtt_wrapper.py +0 -0
  55. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/const/README.md +0 -0
  56. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/const/__init__.py +0 -0
  57. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/const/apps.py +0 -0
  58. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/const/base.py +0 -0
  59. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/const/comms.py +0 -0
  60. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/const/environment.py +0 -0
  61. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/const/formatter.py +0 -0
  62. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/const/heartbeat.py +0 -0
  63. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/const/misc.py +0 -0
  64. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/const/payload.py +0 -0
  65. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/const/plugins/deeploy_const.py +0 -0
  66. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/default/__init__.py +0 -0
  67. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/default/instance/__init__.py +0 -0
  68. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/default/instance/chain_dist_custom_job_01_plugin.py +0 -0
  69. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/default/instance/custom_webapi_01_plugin.py +0 -0
  70. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/default/instance/generic_http_01_plugin.py +0 -0
  71. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/default/instance/net_mon_01_plugin.py +0 -0
  72. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/default/instance/telegram_basic_bot_01_plugin.py +0 -0
  73. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/default/instance/telegram_conversational_bot_01_plugin.py +0 -0
  74. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/default/instance/view_scene_01_plugin.py +0 -0
  75. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/default/session/mqtt_session.py +0 -0
  76. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/io_formatter/__init__.py +0 -0
  77. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/io_formatter/base/__init__.py +0 -0
  78. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/io_formatter/base/base_formatter.py +0 -0
  79. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/io_formatter/default/__init__.py +0 -0
  80. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/io_formatter/default/a_dummy.py +0 -0
  81. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/io_formatter/default/aixp1.py +0 -0
  82. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/io_formatter/default/default.py +0 -0
  83. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/io_formatter/io_formatter_manager.py +0 -0
  84. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/ipfs/__init__.py +0 -0
  85. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/ipfs/ifps_keygen +0 -0
  86. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/ipfs/ipfs_setup/ipfs.service +0 -0
  87. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/ipfs/ipfs_setup/launch_service.sh +0 -0
  88. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/ipfs/ipfs_setup/restart.sh +0 -0
  89. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/ipfs/ipfs_setup/run.sh +0 -0
  90. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/ipfs/ipfs_setup/setup.sh +0 -0
  91. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/ipfs/ipfs_setup/show.sh +0 -0
  92. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/ipfs/ipfs_setup/write_key.sh +0 -0
  93. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/ipfs/r1fs.py +0 -0
  94. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/logging/__init__.py +0 -0
  95. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/logging/base_logger.py +0 -0
  96. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/logging/logger_mixins/__init__.py +0 -0
  97. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/logging/logger_mixins/class_instance_mixin.py +0 -0
  98. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/logging/logger_mixins/computer_vision_mixin.py +0 -0
  99. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/logging/logger_mixins/datetime_mixin.py +0 -0
  100. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/logging/logger_mixins/download_mixin.py +0 -0
  101. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/logging/logger_mixins/general_serialization_mixin.py +0 -0
  102. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/logging/logger_mixins/json_serialization_mixin.py +0 -0
  103. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/logging/logger_mixins/machine_mixin.py +0 -0
  104. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/logging/logger_mixins/pickle_serialization_mixin.py +0 -0
  105. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/logging/logger_mixins/process_mixin.py +0 -0
  106. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/logging/logger_mixins/resource_size_mixin.py +0 -0
  107. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/logging/logger_mixins/timers_mixin.py +0 -0
  108. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/logging/logger_mixins/upload_mixin.py +0 -0
  109. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/logging/logger_mixins/utils_mixin.py +0 -0
  110. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/logging/small_logger.py +0 -0
  111. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/logging/tzlocal/__init__.py +0 -0
  112. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/logging/tzlocal/unix.py +0 -0
  113. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/logging/tzlocal/utils.py +0 -0
  114. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/logging/tzlocal/win32.py +0 -0
  115. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/logging/tzlocal/windows_tz.py +0 -0
  116. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/plugins_manager_mixin.py +0 -0
  117. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/utils/__init__.py +0 -0
  118. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/utils/comm_utils.py +0 -0
  119. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/utils/config.py +0 -0
  120. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/utils/dotenv.py +0 -0
  121. {ratio1-3.4.93 → ratio1-3.4.94}/ratio1/utils/oracle_sync/oracle_tester.py +0 -0
  122. {ratio1-3.4.93 → ratio1-3.4.94}/requirements.txt +0 -0
  123. {ratio1-3.4.93 → ratio1-3.4.94}/template.env +0 -0
  124. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/.example_env +0 -0
  125. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/8. custom_code_fastapi_assets/index.html +0 -0
  126. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/9. code_sandbox_from_scratch_assets/index.html +0 -0
  127. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/_example_pk_sdk.pem +0 -0
  128. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/eth2025/deploy_home_safety.py +0 -0
  129. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/eth2025/deploy_maintenance_monitoring.py +0 -0
  130. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex01_part1_connect.py +0 -0
  131. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex01_part2_filter.py +0 -0
  132. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex01_part3_adv_filter.py +0 -0
  133. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex02_part1_deploy_webapi.py +0 -0
  134. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex02_part2_deploy_plugin.py +0 -0
  135. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex02_part3_deploy_r1fs_test.py +0 -0
  136. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex03_custom_code_on_one_remote__example_1.py +0 -0
  137. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex04_custom_code_on_one_remote__example_2.py +0 -0
  138. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex05_custom_code_on_one_remote__example_3.py +0 -0
  139. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex06_custom_code_on_multiple_remotes__example_1.py +0 -0
  140. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex07_custom_code_on_multiple_remotes__example_2.py +0 -0
  141. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex08_custom_webapi.py +0 -0
  142. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex09_code_sandbox_from_scratch.py +0 -0
  143. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex10_telegram_echo_bot.py +0 -0
  144. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex11_telegram_blackjack_bot.py +0 -0
  145. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex12_telegram_smart_bot.py +0 -0
  146. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex13_launch_repo_based_webapp.py +0 -0
  147. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex14_wallets.py +0 -0
  148. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex15_telegram_rogue_style_game.py +0 -0
  149. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex16_launch_repo_based_http_server.py +0 -0
  150. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex17_launch_repo_based_balanced_webapp.py +0 -0
  151. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex18_deploy_container_webapi.py +0 -0
  152. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex19_deeploy_container_example.py +0 -0
  153. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex20_deeploy_telegram_bot.py +0 -0
  154. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex21_telegram_community_bot.py +0 -0
  155. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex22_deeploy_custom_code.py +0 -0
  156. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/ex23_deploy_worker_app.py +0 -0
  157. {ratio1-3.4.93 → ratio1-3.4.94}/tutorials/video_presentation/1. hello_world.ipynb +0 -0
  158. {ratio1-3.4.93 → ratio1-3.4.94}/winrun.bat +0 -0
  159. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/README.md +0 -0
  160. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/_checks/_show_config_check.py +0 -0
  161. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/_checks/cstore_check.py +0 -0
  162. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/_checks/dauth_check.py +0 -0
  163. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/_checks/keys_check.py +0 -0
  164. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/_checks/node_info_check.py +0 -0
  165. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/_checks/ora_check.py +0 -0
  166. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/_checks/ora_intervals.py +0 -0
  167. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/_checks/ora_sign_check.py +0 -0
  168. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/_checks/owner_check.py +0 -0
  169. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/_checks/payload_check.py +0 -0
  170. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/_checks/session_check.py +0 -0
  171. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/_checks/w3_auth_check.py +0 -0
  172. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/_checks/w3_first_closable_job_check.py +0 -0
  173. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/_checks/w3_nodes_licenses.py +0 -0
  174. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/_checks/w3_oracles_check.py +0 -0
  175. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/_checks/w3_poai_check.py +0 -0
  176. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/_checks/whitelist_check.py +0 -0
  177. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/_checks/workload_check.py +0 -0
  178. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/ai4e/delete.py +0 -0
  179. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/ai4e/launcher.py +0 -0
  180. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/dates/check_date.py +0 -0
  181. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/debug/close_pipeline.py +0 -0
  182. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/decentralized/chain_dist_example.py +0 -0
  183. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/decentralized/chain_dist_example_initiator.py +0 -0
  184. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/decentralized/chain_dist_example_worker.py +0 -0
  185. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/deeploy/checker.py +0 -0
  186. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/deeploy/checker2.py +0 -0
  187. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/deeploy/create_request.py +0 -0
  188. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/enc_dec/enc_dec_test.py +0 -0
  189. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/eth/allocate_rewards.py +0 -0
  190. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/eth/balance.py +0 -0
  191. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/eth/eth_sign.py +0 -0
  192. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/eth/info.md +0 -0
  193. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/eth/send.py +0 -0
  194. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/eth/send_many.py +0 -0
  195. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/eth/sign.py +0 -0
  196. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/log.py +0 -0
  197. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/logger/run.py +0 -0
  198. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/lp/lp_checker.py +0 -0
  199. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/multi-enc-dec/multi_test1.py +0 -0
  200. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/multi-enc-dec/multi_test2.py +0 -0
  201. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/netmon/check_netmon.py +0 -0
  202. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/netmon/netmon_data.json +0 -0
  203. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/pipelines/start.py +0 -0
  204. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/pipelines/stop.py +0 -0
  205. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/scripts/monitoring/collect_messages.py +0 -0
  206. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/scripts/monitoring/get_hb_distribution.py +0 -0
  207. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/scripts/monitoring/multithreaded_network_sniffer.py +0 -0
  208. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/sign/simple_payload_checker.py +0 -0
  209. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/sign/test_sign1.py +0 -0
  210. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/sign/test_sign2.py +0 -0
  211. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/test.py +0 -0
  212. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/tokens/get_check.py +0 -0
  213. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/utils/get_documentation.py +0 -0
  214. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/various/attach_example.py +0 -0
  215. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/various/ex1.py +0 -0
  216. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/various/hello.py +0 -0
  217. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/various/remote_exec.py +0 -0
  218. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/various/save_images.py +0 -0
  219. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/wl/wl_add.py +0 -0
  220. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/xarchive/_tutorials/3. simple_real_time_custom_code.py +0 -0
  221. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/xarchive/_tutorials/4. real_time_custom_code_2.py +0 -0
  222. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/xarchive/_tutorials/8. chatbot.py +0 -0
  223. {ratio1-3.4.93 → ratio1-3.4.94}/xperimental/xarchive/test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ratio1
3
- Version: 3.4.93
3
+ Version: 3.4.94
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
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "ratio1"
7
- version = "3.4.93"
7
+ version = "3.4.94"
8
8
  authors = [
9
9
  { name="Andrei Ionut Damian", email="andrei.damian@ratio1.ai" },
10
10
  { name="Cristan Bleotiu", email="cristian.bleotiu@ratio1.ai" },
@@ -1,4 +1,4 @@
1
- __VER__ = "3.4.93"
1
+ __VER__ = "3.4.94"
2
2
 
3
3
  if __name__ == "__main__":
4
4
  with open("pyproject.toml", "rt") as fd:
@@ -1334,29 +1334,40 @@ class _EVMMixin:
1334
1334
 
1335
1335
  # Call the contract function to get details.
1336
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
- "projectHash": "0x" + result_tuple[1].hex(),
1343
- "requestTimestamp": result_tuple[2],
1344
- "startTimestamp": result_tuple[3],
1345
- "lastNodesChangeTimestamp": result_tuple[4],
1346
- "jobType": result_tuple[5],
1347
- "pricePerEpoch": result_tuple[6],
1348
- "lastExecutionEpoch": result_tuple[7],
1349
- "numberOfNodesRequested": result_tuple[8],
1350
- "balance": result_tuple[9],
1351
- "lastAllocatedEpoch": result_tuple[10],
1352
- "activeNodes": result_tuple[11],
1353
- "escrowAddress": result_tuple[12],
1354
- "escrowOwner": result_tuple[13],
1355
- }
1337
+ details = self._format_job_details(result_tuple, network)
1356
1338
  self.P(f"Job Details:\n{json.dumps(details, indent=2)}", verbosity=2)
1357
-
1358
1339
  return details
1359
1340
 
1341
+ def web3_get_all_active_jobs(
1342
+ self,
1343
+ network: str = None
1344
+ ):
1345
+ """
1346
+ Retrieve all active jobs tracked by the PoAI manager.
1347
+
1348
+ Parameters
1349
+ ----------
1350
+ network : str, optional
1351
+ The network to use. Defaults to the current engine network.
1352
+
1353
+ Returns
1354
+ -------
1355
+ list[dict]
1356
+ A list with the job details for every active job.
1357
+ """
1358
+ w3vars = self._get_web3_vars(network)
1359
+ network = w3vars.network
1360
+ contract = w3vars.w3.eth.contract(
1361
+ address=w3vars.poai_manager_address,
1362
+ abi=EVM_ABI_DATA.POAI_MANAGER_ABI
1363
+ )
1364
+
1365
+ self.P(f"`getAllActiveJobs` on {network} via {w3vars.rpc_url}", verbosity=2)
1366
+ raw_jobs = contract.functions.getAllActiveJobs().call()
1367
+ jobs = [self._format_job_details(job, network) for job in raw_jobs]
1368
+ self.P(f"Active jobs found: {len(jobs)}", verbosity=2)
1369
+ return jobs
1370
+
1360
1371
  def web3_submit_node_update(
1361
1372
  self,
1362
1373
  job_id: int,
@@ -1630,6 +1641,28 @@ class _EVMMixin:
1630
1641
  self.P(f"Last epoch allocated: {result}", verbosity=2)
1631
1642
 
1632
1643
  return result
1644
+
1645
+ def _format_job_details(self, raw_job_details, network: str):
1646
+ """
1647
+ Normalize the job details tuple returned by the PoAI Manager contract.
1648
+ """
1649
+ return {
1650
+ "network": network,
1651
+ "jobId": raw_job_details[0],
1652
+ "projectHash": "0x" + raw_job_details[1].hex(),
1653
+ "requestTimestamp": raw_job_details[2],
1654
+ "startTimestamp": raw_job_details[3],
1655
+ "lastNodesChangeTimestamp": raw_job_details[4],
1656
+ "jobType": raw_job_details[5],
1657
+ "pricePerEpoch": raw_job_details[6],
1658
+ "lastExecutionEpoch": raw_job_details[7],
1659
+ "numberOfNodesRequested": raw_job_details[8],
1660
+ "balance": raw_job_details[9],
1661
+ "lastAllocatedEpoch": raw_job_details[10],
1662
+ "activeNodes": raw_job_details[11],
1663
+ "escrowAddress": raw_job_details[12],
1664
+ "escrowOwner": raw_job_details[13],
1665
+ }
1633
1666
 
1634
1667
  def get_deeploy_url(self):
1635
1668
  """
@@ -430,6 +430,91 @@ _POAI_MANAGER_ABI = [
430
430
  ],
431
431
  "stateMutability": "view",
432
432
  "type": "function"
433
+ },
434
+ {
435
+ "inputs": [],
436
+ "name": "getAllActiveJobs",
437
+ "outputs": [
438
+ {
439
+ "components": [
440
+ {
441
+ "internalType": "uint256",
442
+ "name": "id",
443
+ "type": "uint256"
444
+ },
445
+ {
446
+ "internalType": "bytes32",
447
+ "name": "projectHash",
448
+ "type": "bytes32"
449
+ },
450
+ {
451
+ "internalType": "uint256",
452
+ "name": "requestTimestamp",
453
+ "type": "uint256"
454
+ },
455
+ {
456
+ "internalType": "uint256",
457
+ "name": "startTimestamp",
458
+ "type": "uint256"
459
+ },
460
+ {
461
+ "internalType": "uint256",
462
+ "name": "lastNodesChangeTimestamp",
463
+ "type": "uint256"
464
+ },
465
+ {
466
+ "internalType": "uint256",
467
+ "name": "jobType",
468
+ "type": "uint256"
469
+ },
470
+ {
471
+ "internalType": "uint256",
472
+ "name": "pricePerEpoch",
473
+ "type": "uint256"
474
+ },
475
+ {
476
+ "internalType": "uint256",
477
+ "name": "lastExecutionEpoch",
478
+ "type": "uint256"
479
+ },
480
+ {
481
+ "internalType": "uint256",
482
+ "name": "numberOfNodesRequested",
483
+ "type": "uint256"
484
+ },
485
+ {
486
+ "internalType": "int256",
487
+ "name": "balance",
488
+ "type": "int256"
489
+ },
490
+ {
491
+ "internalType": "uint256",
492
+ "name": "lastAllocatedEpoch",
493
+ "type": "uint256"
494
+ },
495
+ {
496
+ "internalType": "address[]",
497
+ "name": "activeNodes",
498
+ "type": "address[]"
499
+ },
500
+ {
501
+ "internalType": "address",
502
+ "name": "escrowAddress",
503
+ "type": "address"
504
+ },
505
+ {
506
+ "internalType": "address",
507
+ "name": "escrowOwner",
508
+ "type": "address"
509
+ }
510
+ ],
511
+ "internalType": "struct JobWithAllDetails[]",
512
+ "name": "",
513
+ "type": "tuple[]"
514
+ }
515
+ ],
516
+ "stateMutability": "view",
517
+ "type": "function"
433
518
  }
434
519
  ]
435
520
 
@@ -0,0 +1,25 @@
1
+ from ratio1 import Logger
2
+ from ratio1.bc import DefaultBlockEngine
3
+
4
+
5
+ if __name__ == '__main__':
6
+ logger = Logger("ENC")
7
+ engine = DefaultBlockEngine(
8
+ log=logger,
9
+ name="default",
10
+ user_config=True,
11
+ )
12
+
13
+ engine.reset_network("devnet")
14
+
15
+ network = engine.evm_network
16
+ logger.P(f"Checking all active jobs on {network}", color='b')
17
+
18
+ try:
19
+ jobs = engine.web3_get_all_active_jobs()
20
+ logger.P(f"Found {len(jobs)} active jobs", color='g')
21
+ if jobs:
22
+ first_job = jobs[0]
23
+ logger.P(f"First job snapshot: {first_job}", color='b')
24
+ except Exception as exc:
25
+ logger.P(f"Failed to retrieve active jobs: {exc}", color='r')
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes