iwa 0.0.18__tar.gz → 0.0.19__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 (216) hide show
  1. {iwa-0.0.18/src/iwa.egg-info → iwa-0.0.19}/PKG-INFO +1 -1
  2. {iwa-0.0.18 → iwa-0.0.19}/pyproject.toml +2 -2
  3. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/constants.py +41 -39
  4. iwa-0.0.19/src/iwa/plugins/olas/contracts/abis/mech_marketplace_v1.json +828 -0
  5. iwa-0.0.19/src/iwa/plugins/olas/contracts/mech_marketplace_v1.py +68 -0
  6. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/scripts/test_full_mech_flow.py +1 -1
  7. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/service_manager/mech.py +242 -42
  8. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/tools/reset_tenderly.py +2 -2
  9. {iwa-0.0.18 → iwa-0.0.19/src/iwa.egg-info}/PKG-INFO +1 -1
  10. {iwa-0.0.18 → iwa-0.0.19}/src/iwa.egg-info/SOURCES.txt +2 -0
  11. {iwa-0.0.18 → iwa-0.0.19}/LICENSE +0 -0
  12. {iwa-0.0.18 → iwa-0.0.19}/README.md +0 -0
  13. {iwa-0.0.18 → iwa-0.0.19}/setup.cfg +0 -0
  14. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/__init__.py +0 -0
  15. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/__main__.py +0 -0
  16. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/__init__.py +0 -0
  17. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/chain/__init__.py +0 -0
  18. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/chain/errors.py +0 -0
  19. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/chain/interface.py +0 -0
  20. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/chain/manager.py +0 -0
  21. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/chain/models.py +0 -0
  22. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/chain/rate_limiter.py +0 -0
  23. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/cli.py +0 -0
  24. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/constants.py +0 -0
  25. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/contracts/__init__.py +0 -0
  26. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/contracts/abis/erc20.json +0 -0
  27. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/contracts/abis/multisend.json +0 -0
  28. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/contracts/abis/multisend_call_only.json +0 -0
  29. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/contracts/contract.py +0 -0
  30. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/contracts/erc20.py +0 -0
  31. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/contracts/multisend.py +0 -0
  32. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/db.py +0 -0
  33. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/ipfs.py +0 -0
  34. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/keys.py +0 -0
  35. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/mnemonic.py +0 -0
  36. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/models.py +0 -0
  37. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/monitor.py +0 -0
  38. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/plugins.py +0 -0
  39. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/pricing.py +0 -0
  40. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/secrets.py +0 -0
  41. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/services/__init__.py +0 -0
  42. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/services/account.py +0 -0
  43. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/services/balance.py +0 -0
  44. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/services/plugin.py +0 -0
  45. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/services/safe.py +0 -0
  46. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/services/transaction.py +0 -0
  47. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/services/transfer/__init__.py +0 -0
  48. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/services/transfer/base.py +0 -0
  49. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/services/transfer/erc20.py +0 -0
  50. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/services/transfer/multisend.py +0 -0
  51. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/services/transfer/native.py +0 -0
  52. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/services/transfer/swap.py +0 -0
  53. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/tables.py +0 -0
  54. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/test.py +0 -0
  55. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/tests/test_wallet.py +0 -0
  56. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/types.py +0 -0
  57. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/ui.py +0 -0
  58. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/utils.py +0 -0
  59. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/core/wallet.py +0 -0
  60. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/__init__.py +0 -0
  61. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/gnosis/__init__.py +0 -0
  62. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/gnosis/cow/__init__.py +0 -0
  63. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/gnosis/cow/quotes.py +0 -0
  64. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/gnosis/cow/swap.py +0 -0
  65. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/gnosis/cow/types.py +0 -0
  66. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/gnosis/cow_utils.py +0 -0
  67. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/gnosis/plugin.py +0 -0
  68. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/gnosis/safe.py +0 -0
  69. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/gnosis/tests/test_cow.py +0 -0
  70. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/gnosis/tests/test_safe.py +0 -0
  71. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/__init__.py +0 -0
  72. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/contracts/abis/activity_checker.json +0 -0
  73. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/contracts/abis/mech.json +0 -0
  74. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/contracts/abis/mech_marketplace.json +0 -0
  75. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/contracts/abis/mech_new.json +0 -0
  76. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/contracts/abis/service_manager.json +0 -0
  77. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/contracts/abis/service_registry.json +0 -0
  78. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/contracts/abis/service_registry_token_utility.json +0 -0
  79. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/contracts/abis/staking.json +0 -0
  80. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/contracts/abis/staking_token.json +0 -0
  81. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/contracts/activity_checker.py +0 -0
  82. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/contracts/base.py +0 -0
  83. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/contracts/mech.py +0 -0
  84. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/contracts/mech_marketplace.py +0 -0
  85. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/contracts/service.py +0 -0
  86. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/contracts/staking.py +0 -0
  87. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/importer.py +0 -0
  88. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/mech_reference.py +0 -0
  89. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/models.py +0 -0
  90. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/plugin.py +0 -0
  91. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/scripts/test_simple_lifecycle.py +0 -0
  92. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/service_manager/__init__.py +0 -0
  93. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/service_manager/base.py +0 -0
  94. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/service_manager/drain.py +0 -0
  95. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/service_manager/lifecycle.py +0 -0
  96. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/service_manager/staking.py +0 -0
  97. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/tests/conftest.py +0 -0
  98. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/tests/test_importer.py +0 -0
  99. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/tests/test_importer_error_handling.py +0 -0
  100. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/tests/test_mech_contracts.py +0 -0
  101. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/tests/test_olas_contracts.py +0 -0
  102. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/tests/test_olas_integration.py +0 -0
  103. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/tests/test_olas_models.py +0 -0
  104. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/tests/test_olas_view.py +0 -0
  105. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/tests/test_olas_view_actions.py +0 -0
  106. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/tests/test_olas_view_modals.py +0 -0
  107. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/tests/test_plugin.py +0 -0
  108. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/tests/test_plugin_full.py +0 -0
  109. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/tests/test_service_lifecycle.py +0 -0
  110. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/tests/test_service_manager.py +0 -0
  111. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/tests/test_service_manager_errors.py +0 -0
  112. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/tests/test_service_manager_flows.py +0 -0
  113. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/tests/test_service_manager_mech.py +0 -0
  114. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/tests/test_service_manager_rewards.py +0 -0
  115. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/tests/test_service_manager_validation.py +0 -0
  116. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/tests/test_service_staking.py +0 -0
  117. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/tests/test_staking_integration.py +0 -0
  118. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/tests/test_staking_validation.py +0 -0
  119. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/tui/__init__.py +0 -0
  120. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/plugins/olas/tui/olas_view.py +0 -0
  121. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/tools/__init__.py +0 -0
  122. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/tools/check_profile.py +0 -0
  123. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/tools/list_contracts.py +0 -0
  124. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/tools/release.py +0 -0
  125. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/tools/reset_env.py +0 -0
  126. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/tools/restore_backup.py +0 -0
  127. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/tools/wallet_check.py +0 -0
  128. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/tui/__init__.py +0 -0
  129. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/tui/app.py +0 -0
  130. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/tui/modals/__init__.py +0 -0
  131. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/tui/modals/base.py +0 -0
  132. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/tui/rpc.py +0 -0
  133. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/tui/screens/__init__.py +0 -0
  134. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/tui/screens/wallets.py +0 -0
  135. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/tui/tests/test_app.py +0 -0
  136. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/tui/tests/test_rpc.py +0 -0
  137. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/tui/tests/test_wallets_refactor.py +0 -0
  138. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/tui/tests/test_widgets.py +0 -0
  139. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/tui/widgets/__init__.py +0 -0
  140. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/tui/widgets/base.py +0 -0
  141. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/tui/workers.py +0 -0
  142. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/web/dependencies.py +0 -0
  143. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/web/models.py +0 -0
  144. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/web/routers/accounts.py +0 -0
  145. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/web/routers/olas/__init__.py +0 -0
  146. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/web/routers/olas/admin.py +0 -0
  147. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/web/routers/olas/funding.py +0 -0
  148. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/web/routers/olas/general.py +0 -0
  149. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/web/routers/olas/services.py +0 -0
  150. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/web/routers/olas/staking.py +0 -0
  151. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/web/routers/state.py +0 -0
  152. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/web/routers/swap.py +0 -0
  153. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/web/routers/transactions.py +0 -0
  154. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/web/server.py +0 -0
  155. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/web/static/app.js +0 -0
  156. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/web/static/index.html +0 -0
  157. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/web/static/style.css +0 -0
  158. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/web/tests/test_web_endpoints.py +0 -0
  159. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/web/tests/test_web_olas.py +0 -0
  160. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/web/tests/test_web_swap.py +0 -0
  161. {iwa-0.0.18 → iwa-0.0.19}/src/iwa/web/tests/test_web_swap_coverage.py +0 -0
  162. {iwa-0.0.18 → iwa-0.0.19}/src/iwa.egg-info/dependency_links.txt +0 -0
  163. {iwa-0.0.18 → iwa-0.0.19}/src/iwa.egg-info/entry_points.txt +0 -0
  164. {iwa-0.0.18 → iwa-0.0.19}/src/iwa.egg-info/requires.txt +0 -0
  165. {iwa-0.0.18 → iwa-0.0.19}/src/iwa.egg-info/top_level.txt +0 -0
  166. {iwa-0.0.18 → iwa-0.0.19}/src/tests/legacy_cow.py +0 -0
  167. {iwa-0.0.18 → iwa-0.0.19}/src/tests/legacy_safe.py +0 -0
  168. {iwa-0.0.18 → iwa-0.0.19}/src/tests/legacy_transaction_retry_logic.py +0 -0
  169. {iwa-0.0.18 → iwa-0.0.19}/src/tests/legacy_tui.py +0 -0
  170. {iwa-0.0.18 → iwa-0.0.19}/src/tests/legacy_wallets_screen.py +0 -0
  171. {iwa-0.0.18 → iwa-0.0.19}/src/tests/legacy_web.py +0 -0
  172. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_account_service.py +0 -0
  173. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_balance_service.py +0 -0
  174. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_chain.py +0 -0
  175. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_chain_interface.py +0 -0
  176. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_chain_interface_coverage.py +0 -0
  177. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_cli.py +0 -0
  178. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_contract.py +0 -0
  179. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_db.py +0 -0
  180. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_drain_coverage.py +0 -0
  181. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_erc20.py +0 -0
  182. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_gnosis_plugin.py +0 -0
  183. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_keys.py +0 -0
  184. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_legacy_wallet.py +0 -0
  185. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_main.py +0 -0
  186. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_migration.py +0 -0
  187. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_mnemonic.py +0 -0
  188. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_modals.py +0 -0
  189. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_models.py +0 -0
  190. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_monitor.py +0 -0
  191. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_multisend.py +0 -0
  192. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_plugin_service.py +0 -0
  193. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_pricing.py +0 -0
  194. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_rate_limiter.py +0 -0
  195. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_reset_tenderly.py +0 -0
  196. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_rpc_rotation.py +0 -0
  197. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_rpc_view.py +0 -0
  198. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_safe_coverage.py +0 -0
  199. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_safe_service.py +0 -0
  200. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_service_manager_integration.py +0 -0
  201. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_service_manager_structure.py +0 -0
  202. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_service_transaction.py +0 -0
  203. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_staking_router.py +0 -0
  204. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_staking_simple.py +0 -0
  205. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_tables.py +0 -0
  206. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_transaction_service.py +0 -0
  207. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_transfer_multisend.py +0 -0
  208. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_transfer_native.py +0 -0
  209. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_transfer_security.py +0 -0
  210. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_transfer_structure.py +0 -0
  211. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_transfer_swap_unit.py +0 -0
  212. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_ui_coverage.py +0 -0
  213. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_utils.py +0 -0
  214. {iwa-0.0.18 → iwa-0.0.19}/src/tests/test_workers.py +0 -0
  215. {iwa-0.0.18 → iwa-0.0.19}/src/tools/create_and_stake_service.py +0 -0
  216. {iwa-0.0.18 → iwa-0.0.19}/src/tools/verify_drain.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iwa
3
- Version: 0.0.18
3
+ Version: 0.0.19
4
4
  Summary: A secure, modular, and plugin-based framework for crypto agents and ops
5
5
  Requires-Python: <4.0,>=3.12
6
6
  Description-Content-Type: text/markdown
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "iwa"
3
- version = "0.0.18"
3
+ version = "0.0.19"
4
4
  description = "A secure, modular, and plugin-based framework for crypto agents and ops"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12,<4.0"
@@ -71,7 +71,7 @@ where = ["src"]
71
71
 
72
72
  [tool.ruff]
73
73
  line-length = 100
74
- target-version = "0.0.18"
74
+ target-version = "0.0.19"
75
75
  fix = true
76
76
 
77
77
  [tool.ruff.lint]
@@ -54,10 +54,10 @@ OLAS_CONTRACTS: Dict[str, Dict[str, EthereumAddress]] = {
54
54
  # Legacy mech - used by NON-MM TRADER staking contracts (e.g., "Expert X (Yk OLAS)")
55
55
  # Activity checker calls agentMech.getRequestsCount(multisig) to count requests.
56
56
  "OLAS_MECH": EthereumAddress("0x77af31De935740567Cf4fF1986D04B2c964A786a"),
57
- # NEW Marketplace (v2) - used by MM staking contracts (e.g., "Expert X MM (Yk OLAS)")
58
- # Services staked in "Expert X MM" contracts MUST use marketplace requests.
57
+ # Marketplace v2 - used by newer MM staking contracts (e.g., "Expert X MM v2 (Yk OLAS)")
58
+ # Services staked in MM v2 contracts MUST use marketplace requests.
59
59
  # Legacy mech requests will NOT be counted by the activity checker.
60
- "OLAS_MECH_MARKETPLACE": EthereumAddress("0x735FAAb1c4Ec41128c367AFb5c3baC73509f70bB"),
60
+ "OLAS_MECH_MARKETPLACE_V2": EthereumAddress("0x735FAAb1c4Ec41128c367AFb5c3baC73509f70bB"),
61
61
  # Default priority mech for marketplace requests (from olas-operate-middleware)
62
62
  # This is the mech that will process requests sent via the marketplace.
63
63
  # Source: https://github.com/valory-xyz/olas-operate-middleware/blob/main/operate/ledger/profiles.py
@@ -65,8 +65,9 @@ OLAS_CONTRACTS: Dict[str, Dict[str, EthereumAddress]] = {
65
65
  "OLAS_MECH_MARKETPLACE_PRIORITY": EthereumAddress(
66
66
  "0xC05e7412439bD7e91730a6880E18d5D5873F632C"
67
67
  ),
68
- # OLD Marketplace (v1) - legacy, kept for reference
69
- "OLAS_MECH_MARKETPLACE_OLD": EthereumAddress("0x4554fE75c1f5576c1d7F765B2A036c199Adae329"),
68
+ # Marketplace v1 (VERSION 1.0.0) - older MM contracts (e.g., "Expert 17 MM v1")
69
+ # Uses different request signature than v2. trader_ant uses this.
70
+ "OLAS_MECH_MARKETPLACE_V1": EthereumAddress("0x4554fE75c1f5576c1d7F765B2A036c199Adae329"),
70
71
  },
71
72
  "ethereum": {
72
73
  "OLAS_SERVICE_REGISTRY": EthereumAddress("0x48b6F34dDAf31f94086BFB45e69e0618DDe3677b"),
@@ -75,49 +76,50 @@ OLAS_CONTRACTS: Dict[str, Dict[str, EthereumAddress]] = {
75
76
  "base": {
76
77
  "OLAS_SERVICE_REGISTRY": EthereumAddress("0x3841C312061daB948332A78F042Ec61Ad09fc3D8"),
77
78
  "OLAS_SERVICE_MANAGER": EthereumAddress("0xF36183B106692DeD8b6e3B2B7347C9665f8a09B1"),
78
- "OLAS_MECH_MARKETPLACE": EthereumAddress("0x4554fE75c1f5576c1d7F765B2A036c199Adae329"),
79
+ "OLAS_MECH_MARKETPLACE_V1": EthereumAddress("0x4554fE75c1f5576c1d7F765B2A036c199Adae329"),
79
80
  },
80
81
  }
81
82
 
82
83
  # TRADER-compatible staking contracts categorized by chain
83
84
  # See https://govern.olas.network/contracts
84
- # NOTE: All TRADER staking contracts use the LEGACY MECH for activity tracking.
85
- # The activity checker calls agentMech.getRequestsCount(multisig), where agentMech
86
- # is hardcoded to the legacy mech (0x77af31De935740567Cf4fF1986D04B2c964A786a).
87
85
  #
88
- # This means:
89
- # - Legacy mech requests (use_marketplace=False) -> COUNT for liveness rewards
90
- # - Marketplace mech requests (use_marketplace=True) -> DO NOT COUNT
86
+ # Categories (verified on-chain via activity checker's mechMarketplace):
87
+ # - Legacy: No marketplace, uses legacy mech (0x77af31De...). agentMech.getRequestsCount()
88
+ # - MM v1: Old marketplace (0x4554fE75...). mechMarketplace.mapRequestCounts()
89
+ # - MM v2: New marketplace (0x735FAAb1...). mechMarketplace.mapRequestCounts()
91
90
  #
92
- # For staking rewards, services MUST use legacy mech requests.
91
+ # IMPORTANT: Services MUST use the correct mech request type for their staking contract!
93
92
  OLAS_TRADER_STAKING_CONTRACTS: Dict[str, Dict[str, EthereumAddress]] = {
94
93
  "gnosis": {
95
- "Hobbyist 1 (100 OLAS)": EthereumAddress("0x389B46C259631Acd6a69Bde8B6cEe218230bAE8C"),
96
- "Hobbyist 2 (500 OLAS)": EthereumAddress("0x238EB6993b90A978ec6AAD7530D6429c949C08DA"),
97
- "Expert (1k OLAS)": EthereumAddress("0x5344B7DD311e5d3DdDd46A4f71481Bd7b05AAA3e"),
98
- "Expert 2 (1k OLAS)": EthereumAddress("0xb964e44c126410df341ae04B13aB10A985fE3513"),
99
- "Expert 3 (2k OLAS)": EthereumAddress("0x80faD33Cadb5F53f9D29F02Db97D682E8B101618"),
100
- "Expert 4 (10k OLAS)": EthereumAddress("0xaD9d891134443B443D7F30013c7e14Fe27F2E029"),
101
- "Expert 5 (10k OLAS)": EthereumAddress("0xE56dF1E563De1B10715cB313D514af350D207212"),
102
- "Expert 6 (1k OLAS)": EthereumAddress("0x2546214aEE7eEa4bEE7689C81231017CA231Dc93"),
103
- "Expert 7 (10k OLAS)": EthereumAddress("0xD7A3C8b975f71030135f1a66E9e23164d54fF455"),
104
- "Expert 8 (2k OLAS)": EthereumAddress("0x356C108D49C5eebd21c84c04E9162de41933030c"),
105
- "Expert 9 (10k OLAS)": EthereumAddress("0x17dBAe44BC5618Cc254055B386A29576b4F87015"),
106
- "Expert 10 (10k OLAS)": EthereumAddress("0xB0ef657b8302bd2c74B6E6D9B2b4b39145b19c6f"),
107
- "Expert 11 (10k OLAS)": EthereumAddress("0x3112c1613eAC3dBAE3D4E38CeF023eb9E2C91CF7"),
108
- "Expert 12 (10k OLAS)": EthereumAddress("0xF4a75F476801B3fBB2e7093aCDcc3576593Cc1fc"),
109
- "Expert 15 (10k OLAS)": EthereumAddress("0x88eB38FF79fBa8C19943C0e5Acfa67D5876AdCC1"),
110
- "Expert 16 (10k OLAS)": EthereumAddress("0x6c65430515c70a3f5E62107CC301685B7D46f991"),
111
- "Expert 17 (10k OLAS)": EthereumAddress("0x1430107A785C3A36a0C1FC0ee09B9631e2E72aFf"),
112
- "Expert 18 (10k OLAS)": EthereumAddress("0x041e679d04Fc0D4f75Eb937Dea729Df09a58e454"),
113
- "Expert 3 MM (1k OLAS)": EthereumAddress("0x75eeca6207be98cac3fde8a20ecd7b01e50b3472"),
114
- "Expert 4 MM (2k OLAS)": EthereumAddress("0x9c7f6103e3a72e4d1805b9c683ea5b370ec1a99f"),
115
- "Expert 5 MM (10k OLAS)": EthereumAddress("0xcdC603e0Ee55Aae92519f9770f214b2Be4967f7d"),
116
- "Expert 6 MM (10k OLAS)": EthereumAddress("0x22d6cd3d587d8391c3aae83a783f26c67ab54a85"),
117
- "Expert 7 MM (10k OLAS)": EthereumAddress("0xaaecdf4d0cbd6ca0622892ac6044472f3912a5f3"),
118
- "Expert 8 MM (10k OLAS)": EthereumAddress("0x168aed532a0cd8868c22fc77937af78b363652b1"),
119
- "Expert 9 MM (10k OLAS)": EthereumAddress("0xdda9cd214f12e7c2d58e871404a0a3b1177065c8"),
120
- "Expert 10 MM (10k OLAS)": EthereumAddress("0x53a38655b4e659ef4c7f88a26fbf5c67932c7156"),
94
+ # === LEGACY (no marketplace) ===
95
+ "Hobbyist 1 Legacy (100 OLAS)": EthereumAddress("0x389B46C259631Acd6a69Bde8B6cEe218230bAE8C"),
96
+ "Hobbyist 2 Legacy (500 OLAS)": EthereumAddress("0x238EB6993b90A978ec6AAD7530D6429c949C08DA"),
97
+ "Expert Legacy (1k OLAS)": EthereumAddress("0x5344B7DD311e5d3DdDd46A4f71481Bd7b05AAA3e"),
98
+ "Expert 2 Legacy (1k OLAS)": EthereumAddress("0xb964e44c126410df341ae04B13aB10A985fE3513"),
99
+ "Expert 3 Legacy (2k OLAS)": EthereumAddress("0x80faD33Cadb5F53f9D29F02Db97D682E8B101618"),
100
+ "Expert 4 Legacy (10k OLAS)": EthereumAddress("0xaD9d891134443B443D7F30013c7e14Fe27F2E029"),
101
+ "Expert 5 Legacy (10k OLAS)": EthereumAddress("0xE56dF1E563De1B10715cB313D514af350D207212"),
102
+ "Expert 6 Legacy (1k OLAS)": EthereumAddress("0x2546214aEE7eEa4bEE7689C81231017CA231Dc93"),
103
+ "Expert 7 Legacy (10k OLAS)": EthereumAddress("0xD7A3C8b975f71030135f1a66E9e23164d54fF455"),
104
+ "Expert 8 Legacy (2k OLAS)": EthereumAddress("0x356C108D49C5eebd21c84c04E9162de41933030c"),
105
+ "Expert 9 Legacy (10k OLAS)": EthereumAddress("0x17dBAe44BC5618Cc254055B386A29576b4F87015"),
106
+ "Expert 10 Legacy (10k OLAS)": EthereumAddress("0xB0ef657b8302bd2c74B6E6D9B2b4b39145b19c6f"),
107
+ "Expert 11 Legacy (10k OLAS)": EthereumAddress("0x3112c1613eAC3dBAE3D4E38CeF023eb9E2C91CF7"),
108
+ "Expert 12 Legacy (10k OLAS)": EthereumAddress("0xF4a75F476801B3fBB2e7093aCDcc3576593Cc1fc"),
109
+ # === MM v1 (old marketplace 0x4554fE75...) ===
110
+ "Expert 15 MM v1 (10k OLAS)": EthereumAddress("0x88eB38FF79fBa8C19943C0e5Acfa67D5876AdCC1"),
111
+ "Expert 16 MM v1 (10k OLAS)": EthereumAddress("0x6c65430515c70a3f5E62107CC301685B7D46f991"),
112
+ "Expert 17 MM v1 (10k OLAS)": EthereumAddress("0x1430107A785C3A36a0C1FC0ee09B9631e2E72aFf"),
113
+ "Expert 18 MM v1 (10k OLAS)": EthereumAddress("0x041e679d04Fc0D4f75Eb937Dea729Df09a58e454"),
114
+ # === MM v2 (new marketplace 0x735FAAb1...) ===
115
+ "Expert 3 MM v2 (1k OLAS)": EthereumAddress("0x75eeca6207be98cac3fde8a20ecd7b01e50b3472"),
116
+ "Expert 4 MM v2 (2k OLAS)": EthereumAddress("0x9c7f6103e3a72e4d1805b9c683ea5b370ec1a99f"),
117
+ "Expert 5 MM v2 (10k OLAS)": EthereumAddress("0xcdC603e0Ee55Aae92519f9770f214b2Be4967f7d"),
118
+ "Expert 6 MM v2 (10k OLAS)": EthereumAddress("0x22d6cd3d587d8391c3aae83a783f26c67ab54a85"),
119
+ "Expert 7 MM v2 (10k OLAS)": EthereumAddress("0xaaecdf4d0cbd6ca0622892ac6044472f3912a5f3"),
120
+ "Expert 8 MM v2 (10k OLAS)": EthereumAddress("0x168aed532a0cd8868c22fc77937af78b363652b1"),
121
+ "Expert 9 MM v2 (10k OLAS)": EthereumAddress("0xdda9cd214f12e7c2d58e871404a0a3b1177065c8"),
122
+ "Expert 10 MM v2 (10k OLAS)": EthereumAddress("0x53a38655b4e659ef4c7f88a26fbf5c67932c7156"),
121
123
  },
122
124
  "ethereum": {},
123
125
  "base": {},