ratio1 3.4.93__tar.gz → 3.4.96__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.
- {ratio1-3.4.93 → ratio1-3.4.96}/PKG-INFO +1 -1
- {ratio1-3.4.93 → ratio1-3.4.96}/pyproject.toml +1 -1
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/_ver.py +1 -1
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/bc/evm.py +54 -21
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/const/evm_net.py +85 -0
- ratio1-3.4.96/xperimental/_checks/w3_all_active_jobs_check.py +25 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/.devcontainer/Dockerfile +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/.devcontainer/devcontainer.json +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/.gitattributes +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/.github/workflows/python-publish.yml +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/.gitignore +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/.vscode/launch.json +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/LICENSE +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/README.md +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/TODOs.md +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/__init__.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/r1ctl.MD +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/__init__.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/base/__init__.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/base/distributed_custom_code_presets.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/base/generic_session.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/base/instance.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/base/payload/__init__.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/base/payload/payload.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/base/pipeline.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/base/plugin_template.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/base/responses.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/base/transaction.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/base/webapp_pipeline.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/base_decentra_object.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/bc/__init__.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/bc/base.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/bc/chain.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/bc/ec.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/certs/51.15.142.167.crt +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/certs/72.60.187.24.crt +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/certs/72.60.81.67.crt +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/certs/__init__.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/certs/a0d9818f.ala.eu-central-1.emqxsl.com.crt +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/certs/r9092118.ala.eu-central-1.emqxsl.com.crt +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/certs/s624dbd4.ala.us-east-1.emqxsl.com.crt +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/cli/README.md +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/cli/cli.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/cli/cli_commands.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/cli/nodes.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/cli/oracles.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/cli/package_update.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/code_cheker/__init__.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/code_cheker/base.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/code_cheker/checker.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/comm/__init__.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/comm/amqp_wrapper.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/comm/base_comm_wrapper.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/comm/mqtt_wrapper.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/const/README.md +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/const/__init__.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/const/apps.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/const/base.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/const/comms.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/const/environment.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/const/formatter.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/const/heartbeat.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/const/misc.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/const/payload.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/const/plugins/deeploy_const.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/default/__init__.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/default/instance/__init__.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/default/instance/chain_dist_custom_job_01_plugin.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/default/instance/custom_webapi_01_plugin.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/default/instance/generic_http_01_plugin.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/default/instance/net_mon_01_plugin.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/default/instance/telegram_basic_bot_01_plugin.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/default/instance/telegram_conversational_bot_01_plugin.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/default/instance/view_scene_01_plugin.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/default/session/mqtt_session.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/io_formatter/__init__.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/io_formatter/base/__init__.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/io_formatter/base/base_formatter.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/io_formatter/default/__init__.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/io_formatter/default/a_dummy.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/io_formatter/default/aixp1.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/io_formatter/default/default.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/io_formatter/io_formatter_manager.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/ipfs/__init__.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/ipfs/ifps_keygen +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/ipfs/ipfs_setup/ipfs.service +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/ipfs/ipfs_setup/launch_service.sh +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/ipfs/ipfs_setup/restart.sh +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/ipfs/ipfs_setup/run.sh +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/ipfs/ipfs_setup/setup.sh +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/ipfs/ipfs_setup/show.sh +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/ipfs/ipfs_setup/write_key.sh +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/ipfs/r1fs.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/logging/__init__.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/logging/base_logger.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/logging/logger_mixins/__init__.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/logging/logger_mixins/class_instance_mixin.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/logging/logger_mixins/computer_vision_mixin.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/logging/logger_mixins/datetime_mixin.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/logging/logger_mixins/download_mixin.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/logging/logger_mixins/general_serialization_mixin.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/logging/logger_mixins/json_serialization_mixin.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/logging/logger_mixins/machine_mixin.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/logging/logger_mixins/pickle_serialization_mixin.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/logging/logger_mixins/process_mixin.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/logging/logger_mixins/resource_size_mixin.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/logging/logger_mixins/timers_mixin.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/logging/logger_mixins/upload_mixin.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/logging/logger_mixins/utils_mixin.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/logging/small_logger.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/logging/tzlocal/__init__.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/logging/tzlocal/unix.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/logging/tzlocal/utils.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/logging/tzlocal/win32.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/logging/tzlocal/windows_tz.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/plugins_manager_mixin.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/utils/__init__.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/utils/comm_utils.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/utils/config.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/utils/dotenv.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/ratio1/utils/oracle_sync/oracle_tester.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/requirements.txt +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/template.env +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/.example_env +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/8. custom_code_fastapi_assets/index.html +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/9. code_sandbox_from_scratch_assets/index.html +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/_example_pk_sdk.pem +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/eth2025/deploy_home_safety.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/eth2025/deploy_maintenance_monitoring.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex01_part1_connect.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex01_part2_filter.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex01_part3_adv_filter.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex02_part1_deploy_webapi.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex02_part2_deploy_plugin.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex02_part3_deploy_r1fs_test.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex03_custom_code_on_one_remote__example_1.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex04_custom_code_on_one_remote__example_2.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex05_custom_code_on_one_remote__example_3.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex06_custom_code_on_multiple_remotes__example_1.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex07_custom_code_on_multiple_remotes__example_2.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex08_custom_webapi.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex09_code_sandbox_from_scratch.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex10_telegram_echo_bot.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex11_telegram_blackjack_bot.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex12_telegram_smart_bot.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex13_launch_repo_based_webapp.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex14_wallets.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex15_telegram_rogue_style_game.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex16_launch_repo_based_http_server.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex17_launch_repo_based_balanced_webapp.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex18_deploy_container_webapi.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex19_deeploy_container_example.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex20_deeploy_telegram_bot.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex21_telegram_community_bot.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex22_deeploy_custom_code.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex23_deploy_worker_app.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/tutorials/video_presentation/1. hello_world.ipynb +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/winrun.bat +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/README.md +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/_checks/_show_config_check.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/_checks/cstore_check.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/_checks/dauth_check.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/_checks/keys_check.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/_checks/node_info_check.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/_checks/ora_check.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/_checks/ora_intervals.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/_checks/ora_sign_check.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/_checks/owner_check.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/_checks/payload_check.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/_checks/session_check.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/_checks/w3_auth_check.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/_checks/w3_first_closable_job_check.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/_checks/w3_nodes_licenses.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/_checks/w3_oracles_check.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/_checks/w3_poai_check.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/_checks/whitelist_check.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/_checks/workload_check.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/ai4e/delete.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/ai4e/launcher.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/dates/check_date.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/debug/close_pipeline.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/decentralized/chain_dist_example.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/decentralized/chain_dist_example_initiator.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/decentralized/chain_dist_example_worker.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/deeploy/checker.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/deeploy/checker2.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/deeploy/create_request.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/enc_dec/enc_dec_test.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/eth/allocate_rewards.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/eth/balance.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/eth/eth_sign.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/eth/info.md +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/eth/send.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/eth/send_many.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/eth/sign.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/log.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/logger/run.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/lp/lp_checker.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/multi-enc-dec/multi_test1.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/multi-enc-dec/multi_test2.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/netmon/check_netmon.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/netmon/netmon_data.json +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/pipelines/start.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/pipelines/stop.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/scripts/monitoring/collect_messages.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/scripts/monitoring/get_hb_distribution.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/scripts/monitoring/multithreaded_network_sniffer.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/sign/simple_payload_checker.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/sign/test_sign1.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/sign/test_sign2.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/test.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/tokens/get_check.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/utils/get_documentation.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/various/attach_example.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/various/ex1.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/various/hello.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/various/remote_exec.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/various/save_images.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/wl/wl_add.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/xarchive/_tutorials/3. simple_real_time_custom_code.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/xarchive/_tutorials/4. real_time_custom_code_2.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/xarchive/_tutorials/8. chatbot.py +0 -0
- {ratio1-3.4.93 → ratio1-3.4.96}/xperimental/xarchive/test.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ratio1
|
|
3
|
-
Version: 3.4.
|
|
3
|
+
Version: 3.4.96
|
|
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
|
|
@@ -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,
|
|
@@ -1400,7 +1411,7 @@ class _EVMMixin:
|
|
|
1400
1411
|
|
|
1401
1412
|
# Estimate gas fees for the token transfer.
|
|
1402
1413
|
gas_price = w3vars.w3.eth.gas_price # This fetches the current suggested gas price from the network.
|
|
1403
|
-
estimated_gas =
|
|
1414
|
+
estimated_gas = 1_000_000 # Have enough gas to cover all the actions if consensus is reached
|
|
1404
1415
|
gas_cost = estimated_gas * gas_price
|
|
1405
1416
|
|
|
1406
1417
|
# Check that the sender's ETH balance can cover gas costs plus an extra buffer.
|
|
@@ -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
|
|
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
|
{ratio1-3.4.93 → ratio1-3.4.96}/ratio1/default/instance/telegram_conversational_bot_01_plugin.py
RENAMED
|
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
|
|
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
|
{ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex06_custom_code_on_multiple_remotes__example_1.py
RENAMED
|
File without changes
|
{ratio1-3.4.93 → ratio1-3.4.96}/tutorials/ex07_custom_code_on_multiple_remotes__example_2.py
RENAMED
|
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
|
|
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
|
{ratio1-3.4.93 → ratio1-3.4.96}/xperimental/scripts/monitoring/multithreaded_network_sniffer.py
RENAMED
|
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
|
{ratio1-3.4.93 → ratio1-3.4.96}/xperimental/xarchive/_tutorials/3. simple_real_time_custom_code.py
RENAMED
|
File without changes
|
{ratio1-3.4.93 → ratio1-3.4.96}/xperimental/xarchive/_tutorials/4. real_time_custom_code_2.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|