prediction-market-agent-tooling 0.63.4__tar.gz → 0.63.6__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 (127) hide show
  1. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/PKG-INFO +1 -1
  2. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/omen/data_models.py +24 -1
  3. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/omen/omen.py +1 -9
  4. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/pyproject.toml +1 -1
  5. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/LICENSE +0 -0
  6. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/README.md +0 -0
  7. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/abis/debuggingcontract.abi.json +0 -0
  8. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/abis/depositablewrapper_erc20.abi.json +0 -0
  9. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/abis/erc20.abi.json +0 -0
  10. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/abis/erc4626.abi.json +0 -0
  11. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/abis/erc721.abi.json +0 -0
  12. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/abis/omen_agentresultmapping.abi.json +0 -0
  13. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/abis/omen_dxdao.abi.json +0 -0
  14. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/abis/omen_fpmm.abi.json +0 -0
  15. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/abis/omen_fpmm_conditionaltokens.abi.json +0 -0
  16. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/abis/omen_fpmm_factory.abi.json +0 -0
  17. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/abis/omen_kleros.abi.json +0 -0
  18. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/abis/omen_oracle.abi.json +0 -0
  19. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/abis/omen_realitio.abi.json +0 -0
  20. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/abis/omen_thumbnailmapping.abi.json +0 -0
  21. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/abis/ownable.abi.json +0 -0
  22. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/abis/ownable_erc721.abi.json +0 -0
  23. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/abis/proxy.abi.json +0 -0
  24. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/abis/seer_market_factory.abi.json +0 -0
  25. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/benchmark/__init__.py +0 -0
  26. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/benchmark/agents.py +0 -0
  27. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/benchmark/benchmark.py +0 -0
  28. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/benchmark/utils.py +0 -0
  29. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/config.py +0 -0
  30. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/deploy/agent.py +0 -0
  31. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/deploy/agent_example.py +0 -0
  32. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/deploy/betting_strategy.py +0 -0
  33. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/deploy/constants.py +0 -0
  34. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/deploy/gcp/deploy.py +0 -0
  35. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/deploy/gcp/kubernetes_models.py +0 -0
  36. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/deploy/gcp/utils.py +0 -0
  37. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/deploy/trade_interval.py +0 -0
  38. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/gtypes.py +0 -0
  39. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/jobs/__init__.py +0 -0
  40. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/jobs/jobs_models.py +0 -0
  41. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/jobs/omen/omen_jobs.py +0 -0
  42. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/loggers.py +0 -0
  43. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/agent_market.py +0 -0
  44. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/base_subgraph_handler.py +0 -0
  45. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/blockchain_utils.py +0 -0
  46. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/categorize.py +0 -0
  47. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/data_models.py +0 -0
  48. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/manifold/__init__.py +0 -0
  49. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/manifold/api.py +0 -0
  50. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/manifold/data_models.py +0 -0
  51. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/manifold/manifold.py +0 -0
  52. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/manifold/utils.py +0 -0
  53. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/market_fees.py +0 -0
  54. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/markets.py +0 -0
  55. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/metaculus/api.py +0 -0
  56. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/metaculus/data_models.py +0 -0
  57. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/metaculus/metaculus.py +0 -0
  58. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/omen/__init__.py +0 -0
  59. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/omen/omen_constants.py +0 -0
  60. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/omen/omen_contracts.py +0 -0
  61. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/omen/omen_resolving.py +0 -0
  62. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/omen/omen_subgraph_handler.py +0 -0
  63. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/polymarket/api.py +0 -0
  64. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/polymarket/data_models.py +0 -0
  65. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/polymarket/data_models_web.py +0 -0
  66. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/polymarket/polymarket.py +0 -0
  67. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/polymarket/utils.py +0 -0
  68. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/seer/data_models.py +0 -0
  69. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/seer/price_manager.py +0 -0
  70. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/seer/seer.py +0 -0
  71. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/seer/seer_contracts.py +0 -0
  72. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/seer/seer_subgraph_handler.py +0 -0
  73. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/markets/seer/subgraph_data_models.py +0 -0
  74. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/monitor/financial_metrics/financial_metrics.py +0 -0
  75. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/monitor/markets/manifold.py +0 -0
  76. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/monitor/markets/metaculus.py +0 -0
  77. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/monitor/markets/omen.py +0 -0
  78. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/monitor/markets/polymarket.py +0 -0
  79. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/monitor/monitor.py +0 -0
  80. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/monitor/monitor_app.py +0 -0
  81. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/monitor/monitor_settings.py +0 -0
  82. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/py.typed +0 -0
  83. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/_generic_value.py +0 -0
  84. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/balances.py +0 -0
  85. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/betting_strategies/kelly_criterion.py +0 -0
  86. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/betting_strategies/market_moving.py +0 -0
  87. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/betting_strategies/minimum_bet_to_win.py +0 -0
  88. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/betting_strategies/stretch_bet_between.py +0 -0
  89. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/betting_strategies/utils.py +0 -0
  90. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/caches/db_cache.py +0 -0
  91. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/caches/inmemory_cache.py +0 -0
  92. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/caches/serializers.py +0 -0
  93. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/contract.py +0 -0
  94. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/costs.py +0 -0
  95. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/cow/cow_order.py +0 -0
  96. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/custom_exceptions.py +0 -0
  97. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/datetime_utc.py +0 -0
  98. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/db/db_manager.py +0 -0
  99. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/google_utils.py +0 -0
  100. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/hexbytes_custom.py +0 -0
  101. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/httpx_cached_client.py +0 -0
  102. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/image_gen/image_gen.py +0 -0
  103. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/image_gen/market_thumbnail_gen.py +0 -0
  104. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/ipfs/ipfs_handler.py +0 -0
  105. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/is_invalid.py +0 -0
  106. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/is_predictable.py +0 -0
  107. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/langfuse_.py +0 -0
  108. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/langfuse_client_utils.py +0 -0
  109. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/omen/reality_accuracy.py +0 -0
  110. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/omen/sell_positions.py +0 -0
  111. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/parallelism.py +0 -0
  112. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/relevant_news_analysis/data_models.py +0 -0
  113. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/relevant_news_analysis/relevant_news_analysis.py +0 -0
  114. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/relevant_news_analysis/relevant_news_cache.py +0 -0
  115. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/safe.py +0 -0
  116. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/singleton.py +0 -0
  117. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/streamlit_user_login.py +0 -0
  118. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/tavily/tavily_models.py +0 -0
  119. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/tavily/tavily_search.py +0 -0
  120. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/tokens/auto_deposit.py +0 -0
  121. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/tokens/auto_withdraw.py +0 -0
  122. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/tokens/main_token.py +0 -0
  123. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/tokens/token_utils.py +0 -0
  124. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/tokens/usd.py +0 -0
  125. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/transaction_cache.py +0 -0
  126. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/prediction_market_agent_tooling/tools/utils.py +0 -0
  127. {prediction_market_agent_tooling-0.63.4 → prediction_market_agent_tooling-0.63.6}/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.63.4
3
+ Version: 0.63.6
4
4
  Summary: Tools to benchmark, deploy and monitor prediction market agents.
5
5
  Author: Gnosis
6
6
  Requires-Python: >=3.10,<3.13
@@ -1,6 +1,6 @@
1
1
  import typing as t
2
2
 
3
- from pydantic import BaseModel, ConfigDict, Field, computed_field
3
+ from pydantic import BaseModel, ConfigDict, Field, computed_field, model_validator
4
4
  from web3 import Web3
5
5
 
6
6
  from prediction_market_agent_tooling.gtypes import (
@@ -17,6 +17,7 @@ from prediction_market_agent_tooling.gtypes import (
17
17
  xDai,
18
18
  xDaiWei,
19
19
  )
20
+ from prediction_market_agent_tooling.loggers import logger
20
21
  from prediction_market_agent_tooling.markets.data_models import (
21
22
  Bet,
22
23
  Resolution,
@@ -35,6 +36,7 @@ from prediction_market_agent_tooling.tools.utils import (
35
36
  should_not_happen,
36
37
  utcnow,
37
38
  )
39
+ from prediction_market_agent_tooling.tools.web3_utils import is_valid_wei
38
40
 
39
41
  OMEN_TRUE_OUTCOME = OutcomeStr("Yes")
40
42
  OMEN_FALSE_OUTCOME = OutcomeStr("No")
@@ -235,6 +237,27 @@ class OmenMarket(BaseModel):
235
237
  condition: Condition
236
238
  question: Question
237
239
 
240
+ @model_validator(mode="after")
241
+ def _model_validator(self) -> "OmenMarket":
242
+ if not all(is_valid_wei(number.value) for number in self.outcomeTokenAmounts):
243
+ # Sometimes we receive markets with outcomeTokenAmounts as `model.outcomeTokenAmounts=[OutcomeWei(24662799387878572), OutcomeWei(-24750000000000000)]`, which should be impossible.
244
+ # Current huntch is that it's a weird transitional status.
245
+ # Try to set them to zeros if market isn't open anymore (that's expected behaviour in such case),
246
+ # otherwise raise an error to investigate further.
247
+ if not self.is_open or not self.liquidityParameter:
248
+ logger.warning(
249
+ f"Market {self.url} has invalid {self.outcomeTokenAmounts=}, but isn't open anymore or doesn't have any liquidity ({self.is_open=}, {self.liquidityParameter=}). Setting them to zeros."
250
+ )
251
+ self.outcomeTokenAmounts = [OutcomeWei(0) for _ in self.outcomes]
252
+ self.outcomeTokenMarginalPrices = None
253
+
254
+ else:
255
+ raise ValueError(
256
+ f"Market {self.url} has invalid {self.outcomeTokenAmounts=}: {self.model_dump()=}"
257
+ )
258
+
259
+ return self
260
+
238
261
  @property
239
262
  def openingTimestamp(self) -> int:
240
263
  # This field is also available on this model itself, but for some reason it's typed to be optional,
@@ -86,10 +86,7 @@ from prediction_market_agent_tooling.tools.utils import (
86
86
  calculate_sell_amount_in_collateral,
87
87
  check_not_none,
88
88
  )
89
- from prediction_market_agent_tooling.tools.web3_utils import (
90
- get_receipt_block_timestamp,
91
- is_valid_wei,
92
- )
89
+ from prediction_market_agent_tooling.tools.web3_utils import get_receipt_block_timestamp
93
90
 
94
91
  OMEN_DEFAULT_REALITIO_BOND_VALUE = xDai(0.01)
95
92
  OMEN_TINY_BET_AMOUNT = USD(0.00001)
@@ -339,11 +336,6 @@ class OmenAgentMarket(AgentMarket):
339
336
 
340
337
  @staticmethod
341
338
  def from_data_model(model: OmenMarket) -> "OmenAgentMarket":
342
- if not all(is_valid_wei(number.value) for number in model.outcomeTokenAmounts):
343
- raise ValueError(
344
- f"Market {model.url} has invalid {model.outcomeTokenAmounts=}."
345
- )
346
-
347
339
  return OmenAgentMarket(
348
340
  id=model.id,
349
341
  question=model.title,
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "prediction-market-agent-tooling"
3
- version = "0.63.4"
3
+ version = "0.63.6"
4
4
  description = "Tools to benchmark, deploy and monitor prediction market agents."
5
5
  authors = ["Gnosis"]
6
6
  readme = "README.md"