web3-agent-kit 1.18.2__tar.gz → 1.18.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 (198) hide show
  1. {web3_agent_kit-1.18.2/web3_agent_kit.egg-info → web3_agent_kit-1.18.4}/PKG-INFO +1 -1
  2. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/pyproject.toml +1 -1
  3. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_p0_probe_packaging.py +146 -0
  4. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/__init__.py +1 -1
  5. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/cli/main.py +1 -1
  6. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/execution/__init__.py +21 -2
  7. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/execution/check_signing_surface.py +14 -1
  8. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4/web3_agent_kit.egg-info}/PKG-INFO +1 -1
  9. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/LICENSE +0 -0
  10. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/README.md +0 -0
  11. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/setup.cfg +0 -0
  12. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_agent_core_extra.py +0 -0
  13. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_aggregator.py +0 -0
  14. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_airdrop.py +0 -0
  15. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_airdrop_executor_cli.py +0 -0
  16. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_airdrop_new_modules.py +0 -0
  17. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_airdrop_sched_dash.py +0 -0
  18. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_api.py +0 -0
  19. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_api_models.py +0 -0
  20. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_api_routes.py +0 -0
  21. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_auto_compound.py +0 -0
  22. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_bridge.py +0 -0
  23. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_check_signing_surface.py +0 -0
  24. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_cli.py +0 -0
  25. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_core.py +0 -0
  26. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_core_modules.py +0 -0
  27. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_dca_bot.py +0 -0
  28. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_defi.py +0 -0
  29. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_defi_extended.py +0 -0
  30. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_enforced_module_gates.py +0 -0
  31. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_execution_intent.py +0 -0
  32. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_execution_policy.py +0 -0
  33. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_executor.py +0 -0
  34. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_fuzz.py +0 -0
  35. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_gas.py +0 -0
  36. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_integration.py +0 -0
  37. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_llm.py +0 -0
  38. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_messaging_events_gov.py +0 -0
  39. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_mev.py +0 -0
  40. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_multi_wallet.py +0 -0
  41. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_new_features.py +0 -0
  42. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_nft.py +0 -0
  43. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_notifications.py +0 -0
  44. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_oracle.py +0 -0
  45. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_p0_hardening.py +0 -0
  46. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_platforms.py +0 -0
  47. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_plugins.py +0 -0
  48. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_portfolio_tracker.py +0 -0
  49. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_pre_sign_interceptor.py +0 -0
  50. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_restaking.py +0 -0
  51. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_security.py +0 -0
  52. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_simulator.py +0 -0
  53. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_sniper.py +0 -0
  54. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_solana_client.py +0 -0
  55. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_solana_dex.py +0 -0
  56. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_solana_lp.py +0 -0
  57. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_solana_nft.py +0 -0
  58. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_solana_wallet.py +0 -0
  59. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_trading_bridge_extra.py +0 -0
  60. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_uniswap_v3.py +0 -0
  61. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_wallet_enforcement.py +0 -0
  62. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_wallet_extra.py +0 -0
  63. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_watcher_extra.py +0 -0
  64. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/tests/test_yield_optimizer.py +0 -0
  65. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/account_abstraction/__init__.py +0 -0
  66. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/agent/__init__.py +0 -0
  67. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/agent/core.py +0 -0
  68. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/agent/llm.py +0 -0
  69. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/__init__.py +0 -0
  70. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/base.py +0 -0
  71. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/dashboard.py +0 -0
  72. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/discovery.py +0 -0
  73. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/executor/__init__.py +0 -0
  74. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/executor/base_executor.py +0 -0
  75. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/executor/browser.py +0 -0
  76. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/executor/captcha_solver.py +0 -0
  77. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/executor/cli.py +0 -0
  78. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/executor/galxe_exec.py +0 -0
  79. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/executor/gleam_exec.py +0 -0
  80. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/executor/intract_exec.py +0 -0
  81. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/executor/layer3_exec.py +0 -0
  82. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/executor/plugin_registry.py +0 -0
  83. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/executor/port3_exec.py +0 -0
  84. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/executor/questn.py +0 -0
  85. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/executor/social_exec.py +0 -0
  86. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/executor/taskon.py +0 -0
  87. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/executor/zealy_exec.py +0 -0
  88. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/faucet.py +0 -0
  89. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/form_filler.py +0 -0
  90. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/galxe.py +0 -0
  91. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/gleam.py +0 -0
  92. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/multi_wallet.py +0 -0
  93. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/onchain.py +0 -0
  94. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/referral.py +0 -0
  95. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/scheduler.py +0 -0
  96. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/social.py +0 -0
  97. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/tracker.py +0 -0
  98. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/wl_grinder.py +0 -0
  99. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/airdrop/zealy.py +0 -0
  100. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/api/__init__.py +0 -0
  101. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/api/models.py +0 -0
  102. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/api/routes/__init__.py +0 -0
  103. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/api/routes/approval.py +0 -0
  104. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/api/routes/bridge.py +0 -0
  105. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/api/routes/dca.py +0 -0
  106. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/api/routes/gas.py +0 -0
  107. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/api/routes/portfolio.py +0 -0
  108. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/api/routes/swap.py +0 -0
  109. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/api/routes/wallet.py +0 -0
  110. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/api/routes/watcher.py +0 -0
  111. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/api/routes/yield_opt.py +0 -0
  112. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/bridge/__init__.py +0 -0
  113. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/bridge/bridge.py +0 -0
  114. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/chains/__init__.py +0 -0
  115. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/chains/chain.py +0 -0
  116. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/cli/__init__.py +0 -0
  117. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/cli/__main__.py +0 -0
  118. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/cli/commands/__init__.py +0 -0
  119. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/cli/commands/agent.py +0 -0
  120. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/cli/commands/doctor.py +0 -0
  121. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/cli/commands/examples.py +0 -0
  122. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/cli/commands/gas.py +0 -0
  123. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/cli/commands/info.py +0 -0
  124. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/cli/commands/token.py +0 -0
  125. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/cli/commands/wallet.py +0 -0
  126. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/defi/__init__.py +0 -0
  127. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/defi/aggregator.py +0 -0
  128. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/defi/auto_compound.py +0 -0
  129. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/defi/uniswap_v3.py +0 -0
  130. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/defi/yield_optimizer.py +0 -0
  131. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/events/__init__.py +0 -0
  132. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/execution/authorization.py +0 -0
  133. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/execution/envelope.py +0 -0
  134. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/execution/errors.py +0 -0
  135. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/execution/intent.py +0 -0
  136. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/execution/interceptor.py +0 -0
  137. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/execution/p0_probe.py +0 -0
  138. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/execution/policy.py +0 -0
  139. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/gas/__init__.py +0 -0
  140. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/gas/optimizer.py +0 -0
  141. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/governance/__init__.py +0 -0
  142. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/messaging/__init__.py +0 -0
  143. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/mev/__init__.py +0 -0
  144. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/mev/frontrun_detection.py +0 -0
  145. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/mev/mev_strategy.py +0 -0
  146. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/mev/sandwich_protection.py +0 -0
  147. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/mev/utils.py +0 -0
  148. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/nft/__init__.py +0 -0
  149. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/nft/manager.py +0 -0
  150. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/nft/marketplace.py +0 -0
  151. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/nft/mint.py +0 -0
  152. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/nft/utils.py +0 -0
  153. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/nft/whitelist.py +0 -0
  154. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/notifications/__init__.py +0 -0
  155. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/notifications/discord.py +0 -0
  156. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/notifications/email_notifier.py +0 -0
  157. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/notifications/notifier.py +0 -0
  158. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/notifications/telegram.py +0 -0
  159. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/notifications/utils.py +0 -0
  160. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/oracle/__init__.py +0 -0
  161. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/plugins/__init__.py +0 -0
  162. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/plugins/examples/gas_tracker.py +0 -0
  163. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/plugins/restaking/__init__.py +0 -0
  164. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/plugins/restaking/eigenlayer.py +0 -0
  165. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/plugins/restaking/monitor.py +0 -0
  166. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/plugins/restaking/optimizer.py +0 -0
  167. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/plugins/restaking/protocols.py +0 -0
  168. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/portfolio/__init__.py +0 -0
  169. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/portfolio/tracker.py +0 -0
  170. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/py.typed +0 -0
  171. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/security/__init__.py +0 -0
  172. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/simulator/__init__.py +0 -0
  173. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/solana/__init__.py +0 -0
  174. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/solana/client.py +0 -0
  175. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/solana/dex.py +0 -0
  176. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/solana/lp.py +0 -0
  177. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/solana/nft.py +0 -0
  178. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/solana/wallet.py +0 -0
  179. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/trading/__init__.py +0 -0
  180. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/trading/dca.py +0 -0
  181. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/trading/sniper.py +0 -0
  182. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/utils/__init__.py +0 -0
  183. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/utils/notif_discord.py +0 -0
  184. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/utils/notif_email_notifier.py +0 -0
  185. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/utils/notif_notifier.py +0 -0
  186. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/utils/notif_telegram.py +0 -0
  187. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/utils/notif_utils.py +0 -0
  188. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/utils/prices.py +0 -0
  189. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/wallet/__init__.py +0 -0
  190. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/wallet/approval.py +0 -0
  191. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/wallet/multi_wallet.py +0 -0
  192. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/wallet/wallet.py +0 -0
  193. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit/wallet/watcher.py +0 -0
  194. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit.egg-info/SOURCES.txt +0 -0
  195. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit.egg-info/dependency_links.txt +0 -0
  196. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit.egg-info/entry_points.txt +0 -0
  197. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit.egg-info/requires.txt +0 -0
  198. {web3_agent_kit-1.18.2 → web3_agent_kit-1.18.4}/web3_agent_kit.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: web3-agent-kit
3
- Version: 1.18.2
3
+ Version: 1.18.4
4
4
  Summary: Open-source framework for building autonomous AI agents that interact with blockchain networks
5
5
  Author-email: Maulana <khasbim240803@gmail.com>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "web3-agent-kit"
7
- version = "1.18.2"
7
+ version = "1.18.4"
8
8
  description = "Open-source framework for building autonomous AI agents that interact with blockchain networks"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
@@ -147,6 +147,80 @@ def test_built_wheel_contains_the_probe(tmp_path: Path) -> None:
147
147
  )
148
148
 
149
149
 
150
+ def test_module_invocation_emits_no_warnings() -> None:
151
+ """`python -m` must be clean.
152
+
153
+ An eager `from .p0_probe import run_all_probes` in
154
+ `web3_agent_kit.execution.__init__` places the module in sys.modules before
155
+ runpy executes it, and runpy then warns about unpredictable behaviour. The
156
+ exit code and results were always correct, which is why only the module
157
+ form showed it -- the console entry point never goes through runpy.
158
+
159
+ Asserting on stderr, not just the exit code: the bug was a warning, so a
160
+ pass/fail-only check would not have caught it.
161
+ """
162
+ proc = subprocess.run(
163
+ [sys.executable, "-m", "web3_agent_kit.execution.p0_probe", "--json"],
164
+ capture_output=True,
165
+ text=True,
166
+ cwd="/tmp", # outside the repo: only the installed package resolves
167
+ )
168
+ assert proc.returncode == 0, proc.stderr
169
+ assert "RuntimeWarning" not in proc.stderr, proc.stderr
170
+ assert proc.stderr.strip() == "", f"unexpected stderr: {proc.stderr!r}"
171
+ assert '"results"' in proc.stdout
172
+
173
+
174
+ def test_checker_module_invocation_emits_no_warnings() -> None:
175
+ """Same stderr assertion as the probe test.
176
+
177
+ This test previously checked exit 0 and the absence of RuntimeWarning but
178
+ not that stderr was empty, so a different warning would have passed. The
179
+ probe test had the stronger assertion; the two are now consistent.
180
+ """
181
+ proc = subprocess.run(
182
+ [sys.executable, "-m", "web3_agent_kit.execution.check_signing_surface"],
183
+ capture_output=True,
184
+ text=True,
185
+ cwd="/tmp",
186
+ )
187
+ assert proc.returncode == 0, proc.stderr
188
+ assert "RuntimeWarning" not in proc.stderr, proc.stderr
189
+ assert proc.stderr.strip() == "", f"unexpected stderr: {proc.stderr!r}"
190
+
191
+
192
+ def test_lazy_export_still_resolves() -> None:
193
+ """The lazy wrapper must behave like the module-level function."""
194
+ from web3_agent_kit.execution import run_all_probes
195
+ from web3_agent_kit.execution.p0_probe import run_all_probes as direct
196
+
197
+ assert {r["id"] for r in run_all_probes()} == {r["id"] for r in direct()}
198
+
199
+
200
+ def test_execution_package_does_not_import_probe_eagerly() -> None:
201
+ """Importing the package must not pull in the probe.
202
+
203
+ This is the property that keeps `python -m` clean. Checked in a subprocess
204
+ so an already-imported module in this process cannot mask it.
205
+ """
206
+ proc = subprocess.run(
207
+ [
208
+ sys.executable,
209
+ "-c",
210
+ "import web3_agent_kit.execution as e; "
211
+ "import sys; "
212
+ "print('web3_agent_kit.execution.p0_probe' in sys.modules)",
213
+ ],
214
+ capture_output=True,
215
+ text=True,
216
+ cwd="/tmp",
217
+ )
218
+ assert proc.stdout.strip() == "False", (
219
+ "importing the execution package eagerly imported p0_probe; "
220
+ "`python -m web3_agent_kit.execution.p0_probe` will warn again"
221
+ )
222
+
223
+
150
224
  def test_probe_exit_code_treats_unknown_as_not_a_pass() -> None:
151
225
  """A probe that cannot evaluate must not report success.
152
226
 
@@ -166,3 +240,75 @@ def test_probe_exit_code_treats_unknown_as_not_a_pass() -> None:
166
240
  assert p0_probe.main(["--json"]) == 2
167
241
  finally:
168
242
  p0_probe.run_all_probes = original
243
+
244
+
245
+ # ---------------------------------------------------------------------------
246
+ # Excluded-ancestor regression
247
+ #
248
+ # `_is_excluded` tests path components against EXCLUDED_DIR_PARTS, which
249
+ # includes "venv" and ".venv". Applied to an absolute path, any ancestor with
250
+ # one of those names excluded the whole scan: the checker reported zero signer
251
+ # calls and exited 0 while an unapproved call sat in the tree. The same code
252
+ # under a neutrally named ancestor was detected correctly.
253
+ #
254
+ # This was a false negative, not a missing feature. The most likely way to hit
255
+ # it is running the checker from inside a virtualenv, which is the normal way
256
+ # to run it.
257
+ # ---------------------------------------------------------------------------
258
+
259
+
260
+ @pytest.mark.parametrize("ancestor", ["neutral", "venv", ".venv", "build", "dist"])
261
+ def test_checker_detects_an_unapproved_call_under_any_ancestor_name(
262
+ tmp_path: Path, ancestor: str
263
+ ) -> None:
264
+ """An excluded directory *above* the scan root must not suppress the scan."""
265
+ from web3_agent_kit.execution.check_signing_surface import main
266
+
267
+ root = tmp_path / ancestor / "web3_agent_kit"
268
+ root.mkdir(parents=True)
269
+ (root / "unexpected.py").write_text(
270
+ "def send(account, tx):\n return account.sign_transaction(tx)\n"
271
+ )
272
+
273
+ assert main(["--root", str(root)]) == 1, (
274
+ f"a scan rooted under a directory named {ancestor!r} exited 0 while "
275
+ "an unapproved signer call was present"
276
+ )
277
+
278
+
279
+ @pytest.mark.parametrize("nested", [".venv", "venv", "__pycache__", "node_modules"])
280
+ def test_checker_still_excludes_nested_environment_directories(
281
+ tmp_path: Path, nested: str
282
+ ) -> None:
283
+ """Exclusions *inside* the scan root must keep working.
284
+
285
+ The fix scopes exclusion to the path relative to the root. A nested
286
+ environment directory still appears in that relative path, so it stays
287
+ excluded -- otherwise vendored copies of libraries would be reported as
288
+ violations.
289
+ """
290
+ from web3_agent_kit.execution.check_signing_surface import main
291
+
292
+ root = tmp_path / "web3_agent_kit"
293
+ inner = root / nested
294
+ inner.mkdir(parents=True)
295
+ (inner / "ignored.py").write_text("account.sign_transaction(tx)\n")
296
+
297
+ assert main(["--root", str(root)]) == 0, (
298
+ f"{nested!r} inside the scan root should still be excluded"
299
+ )
300
+
301
+
302
+ def test_checker_detects_a_call_beside_a_nested_exclusion(tmp_path: Path) -> None:
303
+ """Both properties at once: nested excluded, real violation reported."""
304
+ from web3_agent_kit.execution.check_signing_surface import main
305
+
306
+ root = tmp_path / "venv" / "web3_agent_kit"
307
+ inner = root / "node_modules"
308
+ inner.mkdir(parents=True)
309
+ (inner / "vendored.py").write_text("account.sign_transaction(tx)\n")
310
+ (root / "unexpected.py").write_text(
311
+ "def send(account, tx):\n return account.sign_transaction(tx)\n"
312
+ )
313
+
314
+ assert main(["--root", str(root)]) == 1
@@ -1,6 +1,6 @@
1
1
  """Web3 Agent Kit — Open-source framework for autonomous Web3 AI agents."""
2
2
 
3
- __version__ = "1.18.2"
3
+ __version__ = "1.18.4"
4
4
  __author__ = "Maulana"
5
5
 
6
6
  # Core
@@ -22,7 +22,7 @@ BANNER = r"""
22
22
 
23
23
 
24
24
  @click.group(invoke_without_command=True)
25
- @click.version_option(version="1.18.2", prog_name="wak")
25
+ @click.version_option(version="1.18.4", prog_name="wak")
26
26
  @click.pass_context
27
27
  def main(ctx):
28
28
  """WAK — Web3 Agent Kit CLI.
@@ -26,7 +26,6 @@ from .errors import (
26
26
  UnsupportedChainError,
27
27
  )
28
28
  from .intent import ActionType, TransactionIntent
29
- from .p0_probe import run_all_probes
30
29
  from .interceptor import (
31
30
  AuditEntry,
32
31
  AuthorizationRequest,
@@ -48,7 +47,6 @@ from .policy import (
48
47
 
49
48
  __all__ = [
50
49
  "CALL_ENVELOPE_SCHEMA",
51
- "run_all_probes",
52
50
  "POLICY_DECISION_SCHEMA",
53
51
  "ActionType",
54
52
  "AuditEntry",
@@ -83,4 +81,25 @@ __all__ = [
83
81
  "UnapprovedSignerError",
84
82
  "UnsupportedActionError",
85
83
  "UnsupportedChainError",
84
+ "run_all_probes",
86
85
  ]
86
+
87
+
88
+ def run_all_probes():
89
+ """Run the P0 enforcement probes and return their results.
90
+
91
+ Imported lazily. ``web3_agent_kit.execution`` must not import
92
+ ``p0_probe`` at package-import time: doing so places the module in
93
+ ``sys.modules`` before ``runpy`` executes it, so
94
+ ``python -m web3_agent_kit.execution.p0_probe`` emits a RuntimeWarning
95
+ about unpredictable behaviour. The warning is cosmetic and the exit code
96
+ was always correct, but the documented invocation should be clean.
97
+
98
+ The console entry point (``wak-p0-probe``) was unaffected because it never
99
+ went through ``runpy`` -- which is exactly why the warning survived a test
100
+ suite that only exercised the entry point.
101
+ """
102
+ from .p0_probe import run_all_probes as _run
103
+
104
+ return _run()
105
+
@@ -170,7 +170,20 @@ def find_signer_calls(root: Path) -> list[SignerCall]:
170
170
  """
171
171
  found: list[SignerCall] = []
172
172
  for path in sorted(root.rglob("*.py")):
173
- if _is_excluded(path):
173
+ # Exclusions are relative to the scan root, not to the absolute path.
174
+ #
175
+ # `_is_excluded` tests every path component against EXCLUDED_DIR_PARTS,
176
+ # which contains "venv" and ".venv". Evaluating it on the absolute path
177
+ # meant any ancestor named venv excluded the entire scan: an installed
178
+ # package under site-packages/venv/lib/... reported zero signer calls
179
+ # and exited 0, while the same code under a neutrally named ancestor
180
+ # reported the real count. A check that silently reports nothing when
181
+ # run from a virtualenv is worse than no check, because it produces a
182
+ # passing result for the one invocation most people use.
183
+ #
184
+ # Nested environment directories inside the scanned root stay excluded,
185
+ # since those components survive the relative_to() reduction.
186
+ if _is_excluded(path.relative_to(root)):
174
187
  continue
175
188
  relative = _report_path(path, root)
176
189
  try:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: web3-agent-kit
3
- Version: 1.18.2
3
+ Version: 1.18.4
4
4
  Summary: Open-source framework for building autonomous AI agents that interact with blockchain networks
5
5
  Author-email: Maulana <khasbim240803@gmail.com>
6
6
  License: MIT
File without changes