prediction-market-agent-tooling 0.61.1.dev486__py3-none-any.whl → 0.61.1.dev488__py3-none-any.whl

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.
@@ -1,3 +1,5 @@
1
+ from functools import lru_cache
2
+
1
3
  from web3 import Web3
2
4
 
3
5
  from prediction_market_agent_tooling.gtypes import ChecksumAddress, xdai_type
@@ -11,9 +13,6 @@ from prediction_market_agent_tooling.markets.seer.seer_subgraph_handler import (
11
13
  SeerSubgraphHandler,
12
14
  )
13
15
  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
16
  from prediction_market_agent_tooling.tools.cow.cow_manager import CowManager
18
17
  from prediction_market_agent_tooling.tools.web3_utils import xdai_to_wei
19
18
 
@@ -51,7 +50,7 @@ class PriceManager:
51
50
  price_yes = price_yes / sum(price_data.values())
52
51
  return Probability(price_yes)
53
52
 
54
- @persistent_inmemory_cache
53
+ @lru_cache(typed=True)
55
54
  def get_price_for_token(
56
55
  self,
57
56
  token: ChecksumAddress,
@@ -87,23 +86,26 @@ class PriceManager:
87
86
  return 0
88
87
  # Check if other token is market's collateral (sanity check).
89
88
 
90
- collateral_address = (
89
+ # Collateral is the other token in the pair
90
+ collateral_address = Web3.to_checksum_address(
91
91
  pool.token0.id
92
- if self._pool_token0_matches_token(token=token, pool=pool)
92
+ if not self._pool_token0_matches_token(token=token, pool=pool)
93
93
  else pool.token1.id
94
94
  )
95
95
  if (
96
- collateral_address.hex().lower()
97
- != self.seer_market.collateral_token_contract_address_checksummed.lower()
96
+ collateral_address
97
+ != self.seer_market.collateral_token_contract_address_checksummed
98
98
  ):
99
99
  logger.warning(
100
100
  f"Pool {pool.id.hex()} has collateral mismatch with market. Collateral from pool {collateral_address.hex()}, collateral from market {self.seer_market.collateral_token_contract_address_checksummed}, returning 0."
101
101
  )
102
102
  return 0
103
103
 
104
+ # The mapping below is odd but surprisingly the Algebra subgraph delivers the token1Price
105
+ # for the token0 and the token0Price for the token1 pool.
104
106
  price_in_collateral_units = (
105
- pool.token0Price
107
+ pool.token1Price
106
108
  if self._pool_token0_matches_token(token=token, pool=pool)
107
- else pool.token1Price
109
+ else pool.token0Price
108
110
  )
109
111
  return price_in_collateral_units
@@ -193,7 +193,7 @@ class SeerSubgraphHandler(BaseSubgraphHandler):
193
193
  return binary_markets
194
194
 
195
195
  def get_market_by_id(self, market_id: HexBytes) -> SeerMarket:
196
- markets_field = self.seer_subgraph.Query.seer_market(id=market_id.hex().lower())
196
+ markets_field = self.seer_subgraph.Query.market(id=market_id.hex().lower())
197
197
  fields = self._get_fields_for_markets(markets_field)
198
198
  markets = self.do_query(fields=fields, pydantic_model=SeerMarket)
199
199
  if len(markets) != 1:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: prediction-market-agent-tooling
3
- Version: 0.61.1.dev486
3
+ Version: 0.61.1.dev488
4
4
  Summary: Tools to benchmark, deploy and monitor prediction market agents.
5
5
  Author: Gnosis
6
6
  Requires-Python: >=3.10,<3.13
@@ -62,10 +62,10 @@ prediction_market_agent_tooling/markets/polymarket/data_models_web.py,sha256=VZh
62
62
  prediction_market_agent_tooling/markets/polymarket/polymarket.py,sha256=NRoZK71PtH8kkangMqme7twcAXhRJSSabbmOir-UnAI,3418
63
63
  prediction_market_agent_tooling/markets/polymarket/utils.py,sha256=8kTeVjXPcXC6DkDvWYsZQLY7x8DS6CEp_yznSEazsNU,2037
64
64
  prediction_market_agent_tooling/markets/seer/data_models.py,sha256=ECuCDqRcs9vB9rKIec399HxsL915oT7VGSwztcMfGIw,5347
65
- prediction_market_agent_tooling/markets/seer/price_manager.py,sha256=fUszpmwUW2iJw5My3FJO2Lim2yXUuaZWQ9aNKX39-d0,4392
65
+ prediction_market_agent_tooling/markets/seer/price_manager.py,sha256=pvgf28YEs3GiM6RYgkemHcFO55NURht7uSbRHyXnPIM,4536
66
66
  prediction_market_agent_tooling/markets/seer/seer.py,sha256=kBF7ALzlh0HsAgbdTa3A9XayyXrddtgi-dMWquLZX8Y,14365
67
67
  prediction_market_agent_tooling/markets/seer/seer_contracts.py,sha256=TXGDbv7CI08X8N5re1SAm-X_BaXj8m4ceyzkS_ktQok,2739
68
- prediction_market_agent_tooling/markets/seer/seer_subgraph_handler.py,sha256=lcaKbFHxigMYwi4TCePyTb5HXJhGoCu5dJPFWTj5E28,9047
68
+ prediction_market_agent_tooling/markets/seer/seer_subgraph_handler.py,sha256=R4aKMZQEE9ocMqr9r4lX4so1h-HrJd2H79ElNzXXIZM,9042
69
69
  prediction_market_agent_tooling/markets/seer/subgraph_data_models.py,sha256=RIt2oO-PbykzbYN11Qltt8tjjYTty-PfjH3Q4D2VEoA,1644
70
70
  prediction_market_agent_tooling/monitor/financial_metrics/financial_metrics.py,sha256=fjIgjDIx5MhH5mwf7S0cspLOOSU3elYLhGYoIiM26mU,2746
71
71
  prediction_market_agent_tooling/monitor/markets/manifold.py,sha256=TS4ERwTfQnot8dhekNyVNhJYf5ysYsjF-9v5_kM3aVI,3334
@@ -119,8 +119,8 @@ prediction_market_agent_tooling/tools/tokens/main_token.py,sha256=7JPgVF4RbiFzLD
119
119
  prediction_market_agent_tooling/tools/transaction_cache.py,sha256=K5YKNL2_tR10Iw2TD9fuP-CTGpBbZtNdgbd0B_R7pjg,1814
120
120
  prediction_market_agent_tooling/tools/utils.py,sha256=jLG4nbEoIzzJiZ4RgMx4Q969Zdl0p0s63p8uET_0Fuw,6440
121
121
  prediction_market_agent_tooling/tools/web3_utils.py,sha256=3wfqNxvMn44ivweFRoeKNVb9QRtFd7kFtp7VUY5juEE,12862
122
- prediction_market_agent_tooling-0.61.1.dev486.dist-info/LICENSE,sha256=6or154nLLU6bELzjh0mCreFjt0m2v72zLi3yHE0QbeE,7650
123
- prediction_market_agent_tooling-0.61.1.dev486.dist-info/METADATA,sha256=7XZFv83NtgtmTfYh1aq17OY1M69UzMcLnyhdkuMmNB0,8636
124
- prediction_market_agent_tooling-0.61.1.dev486.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
125
- prediction_market_agent_tooling-0.61.1.dev486.dist-info/entry_points.txt,sha256=m8PukHbeH5g0IAAmOf_1Ahm-sGAMdhSSRQmwtpmi2s8,81
126
- prediction_market_agent_tooling-0.61.1.dev486.dist-info/RECORD,,
122
+ prediction_market_agent_tooling-0.61.1.dev488.dist-info/LICENSE,sha256=6or154nLLU6bELzjh0mCreFjt0m2v72zLi3yHE0QbeE,7650
123
+ prediction_market_agent_tooling-0.61.1.dev488.dist-info/METADATA,sha256=e-_9HlJ3jZ-UY2uOqt1L_ma4zX4x7HdadBvrJqQcreE,8636
124
+ prediction_market_agent_tooling-0.61.1.dev488.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
125
+ prediction_market_agent_tooling-0.61.1.dev488.dist-info/entry_points.txt,sha256=m8PukHbeH5g0IAAmOf_1Ahm-sGAMdhSSRQmwtpmi2s8,81
126
+ prediction_market_agent_tooling-0.61.1.dev488.dist-info/RECORD,,