prediction-market-agent-tooling 0.63.1__tar.gz → 0.63.2__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.1 → prediction_market_agent_tooling-0.63.2}/PKG-INFO +1 -1
  2. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/seer/price_manager.py +3 -1
  3. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/seer/seer.py +32 -3
  4. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/cow/cow_order.py +2 -2
  5. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/tokens/usd.py +2 -2
  6. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/pyproject.toml +1 -1
  7. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/LICENSE +0 -0
  8. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/README.md +0 -0
  9. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/abis/debuggingcontract.abi.json +0 -0
  10. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/abis/depositablewrapper_erc20.abi.json +0 -0
  11. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/abis/erc20.abi.json +0 -0
  12. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/abis/erc4626.abi.json +0 -0
  13. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/abis/erc721.abi.json +0 -0
  14. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/abis/omen_agentresultmapping.abi.json +0 -0
  15. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/abis/omen_dxdao.abi.json +0 -0
  16. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/abis/omen_fpmm.abi.json +0 -0
  17. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/abis/omen_fpmm_conditionaltokens.abi.json +0 -0
  18. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/abis/omen_fpmm_factory.abi.json +0 -0
  19. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/abis/omen_kleros.abi.json +0 -0
  20. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/abis/omen_oracle.abi.json +0 -0
  21. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/abis/omen_realitio.abi.json +0 -0
  22. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/abis/omen_thumbnailmapping.abi.json +0 -0
  23. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/abis/ownable.abi.json +0 -0
  24. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/abis/ownable_erc721.abi.json +0 -0
  25. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/abis/proxy.abi.json +0 -0
  26. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/abis/seer_market_factory.abi.json +0 -0
  27. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/benchmark/__init__.py +0 -0
  28. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/benchmark/agents.py +0 -0
  29. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/benchmark/benchmark.py +0 -0
  30. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/benchmark/utils.py +0 -0
  31. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/config.py +0 -0
  32. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/deploy/agent.py +0 -0
  33. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/deploy/agent_example.py +0 -0
  34. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/deploy/betting_strategy.py +0 -0
  35. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/deploy/constants.py +0 -0
  36. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/deploy/gcp/deploy.py +0 -0
  37. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/deploy/gcp/kubernetes_models.py +0 -0
  38. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/deploy/gcp/utils.py +0 -0
  39. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/deploy/trade_interval.py +0 -0
  40. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/gtypes.py +0 -0
  41. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/jobs/__init__.py +0 -0
  42. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/jobs/jobs_models.py +0 -0
  43. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/jobs/omen/omen_jobs.py +0 -0
  44. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/loggers.py +0 -0
  45. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/agent_market.py +0 -0
  46. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/base_subgraph_handler.py +0 -0
  47. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/blockchain_utils.py +0 -0
  48. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/categorize.py +0 -0
  49. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/data_models.py +0 -0
  50. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/manifold/__init__.py +0 -0
  51. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/manifold/api.py +0 -0
  52. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/manifold/data_models.py +0 -0
  53. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/manifold/manifold.py +0 -0
  54. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/manifold/utils.py +0 -0
  55. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/market_fees.py +0 -0
  56. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/markets.py +0 -0
  57. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/metaculus/api.py +0 -0
  58. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/metaculus/data_models.py +0 -0
  59. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/metaculus/metaculus.py +0 -0
  60. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/omen/__init__.py +0 -0
  61. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/omen/data_models.py +0 -0
  62. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/omen/omen.py +0 -0
  63. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/omen/omen_constants.py +0 -0
  64. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/omen/omen_contracts.py +0 -0
  65. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/omen/omen_resolving.py +0 -0
  66. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/omen/omen_subgraph_handler.py +0 -0
  67. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/polymarket/api.py +0 -0
  68. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/polymarket/data_models.py +0 -0
  69. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/polymarket/data_models_web.py +0 -0
  70. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/polymarket/polymarket.py +0 -0
  71. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/polymarket/utils.py +0 -0
  72. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/seer/data_models.py +0 -0
  73. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/seer/seer_contracts.py +0 -0
  74. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/seer/seer_subgraph_handler.py +0 -0
  75. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/markets/seer/subgraph_data_models.py +0 -0
  76. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/monitor/financial_metrics/financial_metrics.py +0 -0
  77. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/monitor/markets/manifold.py +0 -0
  78. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/monitor/markets/metaculus.py +0 -0
  79. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/monitor/markets/omen.py +0 -0
  80. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/monitor/markets/polymarket.py +0 -0
  81. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/monitor/monitor.py +0 -0
  82. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/monitor/monitor_app.py +0 -0
  83. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/monitor/monitor_settings.py +0 -0
  84. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/py.typed +0 -0
  85. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/_generic_value.py +0 -0
  86. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/balances.py +0 -0
  87. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/betting_strategies/kelly_criterion.py +0 -0
  88. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/betting_strategies/market_moving.py +0 -0
  89. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/betting_strategies/minimum_bet_to_win.py +0 -0
  90. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/betting_strategies/stretch_bet_between.py +0 -0
  91. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/betting_strategies/utils.py +0 -0
  92. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/caches/db_cache.py +0 -0
  93. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/caches/inmemory_cache.py +0 -0
  94. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/caches/serializers.py +0 -0
  95. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/contract.py +0 -0
  96. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/costs.py +0 -0
  97. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/custom_exceptions.py +0 -0
  98. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/datetime_utc.py +0 -0
  99. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/db/db_manager.py +0 -0
  100. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/google_utils.py +0 -0
  101. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/hexbytes_custom.py +0 -0
  102. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/httpx_cached_client.py +0 -0
  103. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/image_gen/image_gen.py +0 -0
  104. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/image_gen/market_thumbnail_gen.py +0 -0
  105. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/ipfs/ipfs_handler.py +0 -0
  106. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/is_invalid.py +0 -0
  107. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/is_predictable.py +0 -0
  108. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/langfuse_.py +0 -0
  109. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/langfuse_client_utils.py +0 -0
  110. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/omen/reality_accuracy.py +0 -0
  111. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/omen/sell_positions.py +0 -0
  112. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/parallelism.py +0 -0
  113. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/relevant_news_analysis/data_models.py +0 -0
  114. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/relevant_news_analysis/relevant_news_analysis.py +0 -0
  115. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/relevant_news_analysis/relevant_news_cache.py +0 -0
  116. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/safe.py +0 -0
  117. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/singleton.py +0 -0
  118. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/streamlit_user_login.py +0 -0
  119. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/tavily/tavily_models.py +0 -0
  120. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/tavily/tavily_search.py +0 -0
  121. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/tokens/auto_deposit.py +0 -0
  122. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/tokens/auto_withdraw.py +0 -0
  123. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/tokens/main_token.py +0 -0
  124. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/tokens/token_utils.py +0 -0
  125. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/transaction_cache.py +0 -0
  126. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/prediction_market_agent_tooling/tools/utils.py +0 -0
  127. {prediction_market_agent_tooling-0.63.1 → prediction_market_agent_tooling-0.63.2}/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.1
3
+ Version: 0.63.2
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,3 +1,4 @@
1
+ from cachetools import TTLCache, cached
1
2
  from web3 import Web3
2
3
 
3
4
  from prediction_market_agent_tooling.gtypes import (
@@ -65,6 +66,7 @@ class PriceManager:
65
66
  else:
66
67
  return None
67
68
 
69
+ @cached(TTLCache(maxsize=100, ttl=5 * 60))
68
70
  def get_price_for_token(
69
71
  self,
70
72
  token: ChecksumAddress,
@@ -78,7 +80,7 @@ class PriceManager:
78
80
 
79
81
  try:
80
82
  buy_token_amount = get_buy_token_amount_else_raise(
81
- amount_wei=collateral_exchange_amount.as_wei,
83
+ sell_amount=collateral_exchange_amount.as_wei,
82
84
  sell_token=self.seer_market.collateral_token_contract_address_checksummed,
83
85
  buy_token=token,
84
86
  )
@@ -46,7 +46,10 @@ from prediction_market_agent_tooling.tools.contract import (
46
46
  init_collateral_token_contract,
47
47
  to_gnosis_chain_contract,
48
48
  )
49
- from prediction_market_agent_tooling.tools.cow.cow_order import swap_tokens_waiting
49
+ from prediction_market_agent_tooling.tools.cow.cow_order import (
50
+ get_buy_token_amount_else_raise,
51
+ swap_tokens_waiting,
52
+ )
50
53
  from prediction_market_agent_tooling.tools.datetime_utc import DatetimeUTC
51
54
  from prediction_market_agent_tooling.tools.tokens.auto_deposit import (
52
55
  auto_deposit_collateral_token,
@@ -122,6 +125,23 @@ class SeerAgentMarket(AgentMarket):
122
125
  amount_outcome_tokens = bet_amount_in_tokens / price
123
126
  return OutcomeToken(amount_outcome_tokens)
124
127
 
128
+ def get_sell_value_of_outcome_token(
129
+ self, outcome: str, amount: OutcomeToken
130
+ ) -> CollateralToken:
131
+ if amount == amount.zero():
132
+ return CollateralToken.zero()
133
+
134
+ outcome_index = self.get_outcome_index(outcome=outcome)
135
+ wrapped_outcome_token = self.wrapped_tokens[outcome_index]
136
+
137
+ # We calculate how much collateral we would get back if we sold `amount` of outcome token.
138
+ value_outcome_token_in_collateral = get_buy_token_amount_else_raise(
139
+ sell_amount=amount.as_outcome_wei.as_wei,
140
+ sell_token=wrapped_outcome_token,
141
+ buy_token=self.collateral_token_contract_address_checksummed,
142
+ )
143
+ return value_outcome_token_in_collateral.as_token
144
+
125
145
  def get_outcome_str_from_bool(self, outcome: bool) -> OutcomeStr:
126
146
  outcome_translated = SeerOutcomeEnum.from_bool(outcome)
127
147
  idx = self.seer_outcomes[outcome_translated]
@@ -134,9 +154,9 @@ class SeerAgentMarket(AgentMarket):
134
154
  def get_tiny_bet_amount(self) -> CollateralToken:
135
155
  return self.get_in_token(SEER_TINY_BET_AMOUNT)
136
156
 
137
- def get_position(
157
+ def get_position_else_raise(
138
158
  self, user_id: str, web3: Web3 | None = None
139
- ) -> ExistingPosition | None:
159
+ ) -> ExistingPosition:
140
160
  """
141
161
  Fetches position from the user in a given market.
142
162
  We ignore the INVALID balances since we are only interested in binary outcomes.
@@ -169,6 +189,15 @@ class SeerAgentMarket(AgentMarket):
169
189
  amounts_ot=amounts_ot,
170
190
  )
171
191
 
192
+ def get_position(
193
+ self, user_id: str, web3: Web3 | None = None
194
+ ) -> ExistingPosition | None:
195
+ try:
196
+ return self.get_position_else_raise(user_id=user_id, web3=web3)
197
+ except Exception as e:
198
+ logger.warning(f"Could not get position for user {user_id}, exception {e}")
199
+ return None
200
+
172
201
  @staticmethod
173
202
  def get_user_id(api_keys: APIKeys) -> str:
174
203
  return OmenAgentMarket.get_user_id(api_keys)
@@ -127,14 +127,14 @@ def get_quote(
127
127
 
128
128
 
129
129
  def get_buy_token_amount_else_raise(
130
- amount_wei: Wei,
130
+ sell_amount: Wei,
131
131
  sell_token: ChecksumAddress,
132
132
  buy_token: ChecksumAddress,
133
133
  chain: Chain = Chain.GNOSIS,
134
134
  env: Envs = "prod",
135
135
  ) -> Wei:
136
136
  order_quote = get_quote(
137
- amount_wei=amount_wei,
137
+ amount_wei=sell_amount,
138
138
  sell_token=sell_token,
139
139
  buy_token=buy_token,
140
140
  chain=chain,
@@ -50,7 +50,7 @@ def get_single_token_to_usd_rate(token_address: ChecksumAddress) -> USD:
50
50
  .as_token.value
51
51
  )
52
52
  in_wei = get_buy_token_amount_else_raise(
53
- amount_wei=CollateralToken(1).as_wei,
53
+ sell_amount=CollateralToken(1).as_wei,
54
54
  sell_token=token_address,
55
55
  buy_token=WRAPPED_XDAI_CONTRACT_ADDRESS,
56
56
  )
@@ -72,7 +72,7 @@ def get_single_usd_to_token_rate(token_address: ChecksumAddress) -> CollateralTo
72
72
  .as_token.value
73
73
  )
74
74
  in_wei = get_buy_token_amount_else_raise(
75
- amount_wei=CollateralToken(1).as_wei,
75
+ sell_amount=CollateralToken(1).as_wei,
76
76
  sell_token=WRAPPED_XDAI_CONTRACT_ADDRESS,
77
77
  buy_token=token_address,
78
78
  )
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "prediction-market-agent-tooling"
3
- version = "0.63.1"
3
+ version = "0.63.2"
4
4
  description = "Tools to benchmark, deploy and monitor prediction market agents."
5
5
  authors = ["Gnosis"]
6
6
  readme = "README.md"