prediction-market-agent-tooling 0.61.1.dev483__tar.gz → 0.61.1.dev484__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 (126) hide show
  1. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/PKG-INFO +1 -1
  2. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/seer/data_models.py +92 -3
  3. prediction_market_agent_tooling-0.61.1.dev484/prediction_market_agent_tooling/markets/seer/price_manager.py +5 -0
  4. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/seer/seer_subgraph_handler.py +1 -1
  5. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/seer/subgraph_data_models.py +2 -1
  6. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/pyproject.toml +1 -1
  7. prediction_market_agent_tooling-0.61.1.dev483/prediction_market_agent_tooling/markets/seer/price_manager.py +0 -124
  8. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/LICENSE +0 -0
  9. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/README.md +0 -0
  10. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/abis/debuggingcontract.abi.json +0 -0
  11. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/abis/depositablewrapper_erc20.abi.json +0 -0
  12. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/abis/erc20.abi.json +0 -0
  13. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/abis/erc4626.abi.json +0 -0
  14. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/abis/erc721.abi.json +0 -0
  15. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/abis/omen_agentresultmapping.abi.json +0 -0
  16. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/abis/omen_dxdao.abi.json +0 -0
  17. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/abis/omen_fpmm.abi.json +0 -0
  18. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/abis/omen_fpmm_conditionaltokens.abi.json +0 -0
  19. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/abis/omen_fpmm_factory.abi.json +0 -0
  20. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/abis/omen_kleros.abi.json +0 -0
  21. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/abis/omen_oracle.abi.json +0 -0
  22. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/abis/omen_realitio.abi.json +0 -0
  23. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/abis/omen_thumbnailmapping.abi.json +0 -0
  24. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/abis/ownable.abi.json +0 -0
  25. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/abis/ownable_erc721.abi.json +0 -0
  26. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/abis/proxy.abi.json +0 -0
  27. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/abis/seer_market_factory.abi.json +0 -0
  28. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/benchmark/__init__.py +0 -0
  29. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/benchmark/agents.py +0 -0
  30. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/benchmark/benchmark.py +0 -0
  31. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/benchmark/utils.py +0 -0
  32. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/config.py +0 -0
  33. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/deploy/agent.py +0 -0
  34. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/deploy/agent_example.py +0 -0
  35. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/deploy/betting_strategy.py +0 -0
  36. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/deploy/constants.py +0 -0
  37. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/deploy/gcp/deploy.py +0 -0
  38. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/deploy/gcp/kubernetes_models.py +0 -0
  39. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/deploy/gcp/utils.py +0 -0
  40. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/deploy/trade_interval.py +0 -0
  41. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/gtypes.py +0 -0
  42. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/jobs/__init__.py +0 -0
  43. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/jobs/jobs_models.py +0 -0
  44. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/jobs/omen/omen_jobs.py +0 -0
  45. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/loggers.py +0 -0
  46. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/agent_market.py +0 -0
  47. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/base_subgraph_handler.py +0 -0
  48. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/blockchain_utils.py +0 -0
  49. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/categorize.py +0 -0
  50. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/data_models.py +0 -0
  51. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/manifold/__init__.py +0 -0
  52. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/manifold/api.py +0 -0
  53. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/manifold/data_models.py +0 -0
  54. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/manifold/manifold.py +0 -0
  55. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/manifold/utils.py +0 -0
  56. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/market_fees.py +0 -0
  57. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/markets.py +0 -0
  58. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/metaculus/api.py +0 -0
  59. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/metaculus/data_models.py +0 -0
  60. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/metaculus/metaculus.py +0 -0
  61. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/omen/__init__.py +0 -0
  62. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/omen/data_models.py +0 -0
  63. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/omen/omen.py +0 -0
  64. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/omen/omen_constants.py +0 -0
  65. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/omen/omen_contracts.py +0 -0
  66. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/omen/omen_resolving.py +0 -0
  67. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/omen/omen_subgraph_handler.py +0 -0
  68. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/polymarket/api.py +0 -0
  69. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/polymarket/data_models.py +0 -0
  70. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/polymarket/data_models_web.py +0 -0
  71. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/polymarket/polymarket.py +0 -0
  72. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/polymarket/utils.py +0 -0
  73. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/seer/seer.py +0 -0
  74. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/markets/seer/seer_contracts.py +0 -0
  75. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/monitor/financial_metrics/financial_metrics.py +0 -0
  76. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/monitor/markets/manifold.py +0 -0
  77. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/monitor/markets/metaculus.py +0 -0
  78. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/monitor/markets/omen.py +0 -0
  79. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/monitor/markets/polymarket.py +0 -0
  80. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/monitor/monitor.py +0 -0
  81. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/monitor/monitor_app.py +0 -0
  82. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/monitor/monitor_settings.py +0 -0
  83. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/py.typed +0 -0
  84. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/balances.py +0 -0
  85. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/betting_strategies/kelly_criterion.py +0 -0
  86. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/betting_strategies/market_moving.py +0 -0
  87. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/betting_strategies/minimum_bet_to_win.py +0 -0
  88. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/betting_strategies/stretch_bet_between.py +0 -0
  89. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/betting_strategies/utils.py +0 -0
  90. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/caches/db_cache.py +0 -0
  91. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/caches/inmemory_cache.py +0 -0
  92. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/caches/serializers.py +0 -0
  93. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/contract.py +0 -0
  94. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/costs.py +0 -0
  95. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/cow/cow_manager.py +0 -0
  96. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/cow/cow_order.py +0 -0
  97. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/custom_exceptions.py +0 -0
  98. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/datetime_utc.py +0 -0
  99. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/db/db_manager.py +0 -0
  100. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/google_utils.py +0 -0
  101. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/hexbytes_custom.py +0 -0
  102. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/httpx_cached_client.py +0 -0
  103. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/image_gen/image_gen.py +0 -0
  104. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/image_gen/market_thumbnail_gen.py +0 -0
  105. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/ipfs/ipfs_handler.py +0 -0
  106. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/is_invalid.py +0 -0
  107. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/is_predictable.py +0 -0
  108. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/langfuse_.py +0 -0
  109. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/langfuse_client_utils.py +0 -0
  110. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/omen/reality_accuracy.py +0 -0
  111. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/omen/sell_positions.py +0 -0
  112. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/parallelism.py +0 -0
  113. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/relevant_news_analysis/data_models.py +0 -0
  114. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/relevant_news_analysis/relevant_news_analysis.py +0 -0
  115. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/relevant_news_analysis/relevant_news_cache.py +0 -0
  116. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/safe.py +0 -0
  117. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/singleton.py +0 -0
  118. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/streamlit_user_login.py +0 -0
  119. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/tavily/tavily_models.py +0 -0
  120. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/tavily/tavily_search.py +0 -0
  121. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/tokens/auto_deposit.py +0 -0
  122. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/tokens/auto_withdraw.py +0 -0
  123. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/tokens/main_token.py +0 -0
  124. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/transaction_cache.py +0 -0
  125. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/utils.py +0 -0
  126. {prediction_market_agent_tooling-0.61.1.dev483 → prediction_market_agent_tooling-0.61.1.dev484}/prediction_market_agent_tooling/tools/web3_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: prediction-market-agent-tooling
3
- Version: 0.61.1.dev483
3
+ Version: 0.61.1.dev484
4
4
  Summary: Tools to benchmark, deploy and monitor prediction market agents.
5
5
  Author: Gnosis
6
6
  Requires-Python: >=3.10,<3.13
@@ -12,13 +12,20 @@ from prediction_market_agent_tooling.gtypes import (
12
12
  HexAddress,
13
13
  HexBytes,
14
14
  Probability,
15
+ xdai_type,
15
16
  )
17
+ from prediction_market_agent_tooling.loggers import logger
16
18
  from prediction_market_agent_tooling.markets.data_models import Resolution
17
- from prediction_market_agent_tooling.markets.seer.price_manager import PriceManager
18
19
  from prediction_market_agent_tooling.markets.seer.subgraph_data_models import (
19
20
  SeerParentMarket,
21
+ SeerPool,
20
22
  )
23
+ from prediction_market_agent_tooling.tools.caches.inmemory_cache import (
24
+ persistent_inmemory_cache,
25
+ )
26
+ from prediction_market_agent_tooling.tools.cow.cow_manager import CowManager
21
27
  from prediction_market_agent_tooling.tools.datetime_utc import DatetimeUTC
28
+ from prediction_market_agent_tooling.tools.web3_utils import xdai_to_wei
22
29
 
23
30
 
24
31
  class SeerOutcomeEnum(str, Enum):
@@ -158,10 +165,92 @@ class SeerMarket(BaseModel):
158
165
  def created_time(self) -> DatetimeUTC:
159
166
  return DatetimeUTC.to_datetime_utc(self.block_timestamp)
160
167
 
168
+ @persistent_inmemory_cache
169
+ def get_price_for_token(
170
+ self,
171
+ token: ChecksumAddress,
172
+ ) -> float:
173
+ collateral_exchange_amount = xdai_to_wei(xdai_type(1))
174
+ try:
175
+ quote = CowManager().get_quote(
176
+ collateral_token=self.collateral_token_contract_address_checksummed,
177
+ buy_token=token,
178
+ sell_amount=collateral_exchange_amount,
179
+ )
180
+ except Exception as e:
181
+ logger.warning(
182
+ f"Could not get quote for {token=} from Cow, exception {e=}. Falling back to pools. "
183
+ )
184
+ price = self.get_token_price_from_pools(token=token)
185
+ return price
186
+
187
+ return collateral_exchange_amount / float(quote.quote.buyAmount.root)
188
+
189
+ @staticmethod
190
+ def _pool_token0_matches_token(token: ChecksumAddress, pool: SeerPool) -> bool:
191
+ return pool.token0.id.hex().lower() == token.lower()
192
+
193
+ def get_token_price_from_pools(
194
+ self,
195
+ token: ChecksumAddress,
196
+ collateral_token_contract_address_checksummed: ChecksumAddress,
197
+ ) -> float:
198
+ pool = self.subgraph_handler.get_pool_by_token(token_address=token)
199
+
200
+ if not pool:
201
+ logger.warning(f"Could not find a pool for {token=}, returning 0.")
202
+ return 0
203
+ # Check if other token is market's collateral (sanity check).
204
+
205
+ collateral_address = (
206
+ pool.token0.id
207
+ if self._pool_token0_matches_token(token=token, pool=pool)
208
+ else pool.token1.id
209
+ )
210
+ if (
211
+ collateral_address.hex().lower()
212
+ != collateral_token_contract_address_checksummed.lower()
213
+ ):
214
+ logger.warning(
215
+ f"Pool {pool.id.hex()} has collateral mismatch with market. Collateral from pool {collateral_address.hex()}, collateral from market {collateral_token_contract_address_checksummed}, returning 0."
216
+ )
217
+ return 0
218
+
219
+ price_in_collateral_units = (
220
+ pool.token0Price
221
+ if self._pool_token0_matches_token(pool)
222
+ else pool.token1Price
223
+ )
224
+ return price_in_collateral_units
225
+
161
226
  @property
162
227
  def current_p_yes(self) -> Probability:
163
- p = PriceManager(self)
164
- return p.current_market_p_yes
228
+ price_data = {}
229
+ for idx, wrapped_token in enumerate(self.wrapped_tokens):
230
+ price = self.get_price_for_token(
231
+ token=Web3.to_checksum_address(wrapped_token),
232
+ )
233
+
234
+ price_data[idx] = price
235
+
236
+ if sum(price_data.values()) == 0:
237
+ logger.warning(
238
+ f"Could not get p_yes for market {self.id.hex()}, all price quotes are 0."
239
+ )
240
+ return Probability(0)
241
+
242
+ price_yes = price_data[self.outcome_as_enums[SeerOutcomeEnum.YES]]
243
+ price_no = price_data[self.outcome_as_enums[SeerOutcomeEnum.NO]]
244
+ if price_yes and not price_no:
245
+ # We simply return p_yes since it's probably a bug that p_no wasn't found.
246
+ return Probability(price_yes)
247
+ elif price_no and not price_yes:
248
+ # We return the complement of p_no (and ignore invalid).
249
+ return Probability(1.0 - price_no)
250
+ else:
251
+ # If all prices are available, we normalize price_yes by the other prices for the final probability.
252
+ price_yes = price_yes / sum(price_data.values())
253
+ return Probability(price_yes)
165
254
 
166
255
  @property
167
256
  def url(self) -> str:
@@ -0,0 +1,5 @@
1
+ from prediction_market_agent_tooling.gtypes import ChecksumAddress
2
+ from prediction_market_agent_tooling.markets.seer.subgraph_data_models import SeerPool
3
+
4
+
5
+ class PriceManager:
@@ -12,8 +12,8 @@ from prediction_market_agent_tooling.markets.base_subgraph_handler import (
12
12
  )
13
13
  from prediction_market_agent_tooling.markets.seer.data_models import (
14
14
  SeerMarket,
15
- SeerPool,
16
15
  )
16
+ from prediction_market_agent_tooling.markets.seer.subgraph_data_models import SeerPool
17
17
  from prediction_market_agent_tooling.tools.hexbytes_custom import HexBytes
18
18
  from prediction_market_agent_tooling.tools.utils import to_int_timestamp, utcnow
19
19
 
@@ -1,6 +1,7 @@
1
1
  from pydantic import BaseModel, ConfigDict, Field
2
+ from web3.constants import ADDRESS_ZERO
2
3
 
3
- from prediction_market_agent_tooling.gtypes import HexBytes, HexAddress
4
+ from prediction_market_agent_tooling.gtypes import HexBytes, HexAddress, Wei
4
5
 
5
6
 
6
7
  class SeerToken(BaseModel):
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "prediction-market-agent-tooling"
3
- version = "0.61.1.dev483"
3
+ version = "0.61.1.dev484"
4
4
  description = "Tools to benchmark, deploy and monitor prediction market agents."
5
5
  authors = ["Gnosis"]
6
6
  readme = "README.md"
@@ -1,124 +0,0 @@
1
- from web3 import Web3
2
-
3
- from prediction_market_agent_tooling.gtypes import ChecksumAddress
4
- from prediction_market_agent_tooling.gtypes import Probability, xdai_type
5
- from prediction_market_agent_tooling.loggers import logger
6
- from prediction_market_agent_tooling.markets.seer.data_models import (
7
- SeerMarket,
8
- SeerOutcomeEnum,
9
- )
10
- from prediction_market_agent_tooling.markets.seer.seer_subgraph_handler import (
11
- SeerSubgraphHandler,
12
- )
13
- from prediction_market_agent_tooling.markets.seer.subgraph_data_models import SeerPool
14
- from prediction_market_agent_tooling.tools.caches.inmemory_cache import (
15
- persistent_inmemory_cache,
16
- )
17
- from prediction_market_agent_tooling.tools.cow.cow_manager import CowManager
18
- from prediction_market_agent_tooling.tools.web3_utils import xdai_to_wei
19
-
20
-
21
- class PriceManager:
22
- def __init__(self, market: SeerMarket):
23
- self.seer_market = market
24
- self.subgraph_handler = SeerSubgraphHandler()
25
-
26
- def fetch_outcome_price_for_seer_market(self) -> float:
27
- price_data = {}
28
- for idx in range(len(self.seer_market.outcomes)):
29
- wrapped_token = self.seer_market.wrapped_tokens[idx]
30
- price = self.get_price_for_token(
31
- token=Web3.to_checksum_address(wrapped_token)
32
- )
33
- price_data[idx] = price
34
-
35
- if sum(price_data.values()) == 0:
36
- logger.warning(
37
- f"Could not get p_yes for market {self.seer_market.id.hex()}, all price quotes are 0."
38
- )
39
- return Probability(0)
40
-
41
- yes_idx = self.seer_market.outcome_as_enums[SeerOutcomeEnum.YES]
42
- price_yes = price_data[yes_idx] / sum(price_data.values())
43
- return Probability(price_yes)
44
-
45
- def current_market_p_yes(self) -> Probability:
46
- price_data = {}
47
- for idx in range(len(self.seer_market.outcomes)):
48
- wrapped_token = self.seer_market.wrapped_tokens[idx]
49
- price = self.get_price_for_token(
50
- token=Web3.to_checksum_address(wrapped_token)
51
- )
52
- price_data[idx] = price
53
-
54
- if sum(price_data.values()) == 0:
55
- logger.warning(
56
- f"Could not get p_yes for market {self.seer_market.id.hex()}, all price quotes are 0."
57
- )
58
- return Probability(0)
59
-
60
- yes_idx = self.seer_market.outcome_as_enums[SeerOutcomeEnum.YES]
61
- no_idx = self.seer_market.outcome_as_enums[SeerOutcomeEnum.NO]
62
- price_yes = price_data[yes_idx]
63
- price_no = price_data[no_idx]
64
- if price_yes and not price_no:
65
- # We simply return p_yes since it's probably a bug that p_no wasn't found.
66
- return Probability(price_yes)
67
- elif price_no and not price_yes:
68
- # We return the complement of p_no (and ignore invalid).
69
- return Probability(1.0 - price_no)
70
- else:
71
- # If all prices are available, we normalize price_yes by the other prices for the final probability.
72
- price_yes = price_yes / sum(price_data.values())
73
- return Probability(price_yes)
74
-
75
- @persistent_inmemory_cache
76
- def get_price_for_token(self, token: ChecksumAddress) -> float:
77
- collateral_exchange_amount = xdai_to_wei(xdai_type(1))
78
- try:
79
- quote = CowManager().get_quote(
80
- collateral_token=self.seer_market.collateral_token_contract_address_checksummed,
81
- buy_token=token,
82
- sell_amount=collateral_exchange_amount,
83
- )
84
- except Exception as e:
85
- logger.warning(
86
- f"Could not get quote for {token=} from Cow, exception {e=}. Falling back to pools. "
87
- )
88
- price = self.get_token_price_from_pools(token=token)
89
- return price
90
-
91
- return collateral_exchange_amount / float(quote.quote.buyAmount.root)
92
-
93
- @staticmethod
94
- def _pool_token0_matches_token(token: ChecksumAddress, pool: SeerPool) -> bool:
95
- return pool.token0.id.hex().lower() == token.lower()
96
-
97
- def get_token_price_from_pools(self, token: ChecksumAddress) -> float:
98
- pool = self.subgraph_handler.get_pool_by_token(token_address=token)
99
-
100
- if not pool:
101
- logger.warning(f"Could not find a pool for {token=}, returning 0.")
102
- return 0
103
- # Check if other token is market's collateral (sanity check).
104
-
105
- collateral_address = (
106
- pool.token0.id
107
- if self._pool_token0_matches_token(token=token, pool=pool)
108
- else pool.token1.id
109
- )
110
- if (
111
- collateral_address.hex().lower()
112
- != self.seer_market.collateral_token.lower()
113
- ):
114
- logger.warning(
115
- f"Pool {pool.id.hex()} has collateral mismatch with market. Collateral from pool {collateral_address.hex()}, collateral from market {self.seer_market.collateral_token}, returning 0."
116
- )
117
- return 0
118
-
119
- price_in_collateral_units = (
120
- pool.token0Price
121
- if self._pool_token0_matches_token(pool)
122
- else pool.token1Price
123
- )
124
- return price_in_collateral_units