prediction-market-agent-tooling 0.60.6__tar.gz → 0.61.0__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 (123) hide show
  1. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/PKG-INFO +1 -1
  2. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/config.py +15 -8
  3. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/contract.py +2 -2
  4. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/langfuse_client_utils.py +5 -1
  5. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/pyproject.toml +1 -1
  6. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/LICENSE +0 -0
  7. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/README.md +0 -0
  8. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/abis/debuggingcontract.abi.json +0 -0
  9. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/abis/depositablewrapper_erc20.abi.json +0 -0
  10. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/abis/erc20.abi.json +0 -0
  11. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/abis/erc4626.abi.json +0 -0
  12. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/abis/erc721.abi.json +0 -0
  13. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/abis/omen_agentresultmapping.abi.json +0 -0
  14. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/abis/omen_dxdao.abi.json +0 -0
  15. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/abis/omen_fpmm.abi.json +0 -0
  16. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/abis/omen_fpmm_conditionaltokens.abi.json +0 -0
  17. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/abis/omen_fpmm_factory.abi.json +0 -0
  18. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/abis/omen_kleros.abi.json +0 -0
  19. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/abis/omen_oracle.abi.json +0 -0
  20. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/abis/omen_realitio.abi.json +0 -0
  21. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/abis/omen_thumbnailmapping.abi.json +0 -0
  22. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/abis/ownable.abi.json +0 -0
  23. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/abis/ownable_erc721.abi.json +0 -0
  24. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/abis/proxy.abi.json +0 -0
  25. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/abis/seer_market_factory.abi.json +0 -0
  26. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/benchmark/__init__.py +0 -0
  27. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/benchmark/agents.py +0 -0
  28. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/benchmark/benchmark.py +0 -0
  29. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/benchmark/utils.py +0 -0
  30. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/deploy/agent.py +0 -0
  31. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/deploy/agent_example.py +0 -0
  32. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/deploy/betting_strategy.py +0 -0
  33. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/deploy/constants.py +0 -0
  34. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/deploy/gcp/deploy.py +0 -0
  35. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/deploy/gcp/kubernetes_models.py +0 -0
  36. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/deploy/gcp/utils.py +0 -0
  37. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/deploy/trade_interval.py +0 -0
  38. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/gtypes.py +0 -0
  39. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/jobs/__init__.py +0 -0
  40. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/jobs/jobs_models.py +0 -0
  41. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/jobs/omen/omen_jobs.py +0 -0
  42. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/loggers.py +0 -0
  43. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/agent_market.py +0 -0
  44. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/base_subgraph_handler.py +0 -0
  45. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/blockchain_utils.py +0 -0
  46. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/categorize.py +0 -0
  47. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/data_models.py +0 -0
  48. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/manifold/__init__.py +0 -0
  49. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/manifold/api.py +0 -0
  50. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/manifold/data_models.py +0 -0
  51. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/manifold/manifold.py +0 -0
  52. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/manifold/utils.py +0 -0
  53. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/market_fees.py +0 -0
  54. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/markets.py +0 -0
  55. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/metaculus/api.py +0 -0
  56. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/metaculus/data_models.py +0 -0
  57. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/metaculus/metaculus.py +0 -0
  58. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/omen/__init__.py +0 -0
  59. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/omen/data_models.py +0 -0
  60. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/omen/omen.py +0 -0
  61. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/omen/omen_constants.py +0 -0
  62. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/omen/omen_contracts.py +0 -0
  63. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/omen/omen_resolving.py +0 -0
  64. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/omen/omen_subgraph_handler.py +0 -0
  65. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/polymarket/api.py +0 -0
  66. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/polymarket/data_models.py +0 -0
  67. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/polymarket/data_models_web.py +0 -0
  68. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/polymarket/polymarket.py +0 -0
  69. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/polymarket/utils.py +0 -0
  70. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/seer/data_models.py +0 -0
  71. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/seer/seer.py +0 -0
  72. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/seer/seer_contracts.py +0 -0
  73. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/markets/seer/seer_subgraph_handler.py +0 -0
  74. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/monitor/financial_metrics/financial_metrics.py +0 -0
  75. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/monitor/markets/manifold.py +0 -0
  76. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/monitor/markets/metaculus.py +0 -0
  77. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/monitor/markets/omen.py +0 -0
  78. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/monitor/markets/polymarket.py +0 -0
  79. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/monitor/monitor.py +0 -0
  80. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/monitor/monitor_app.py +0 -0
  81. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/monitor/monitor_settings.py +0 -0
  82. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/py.typed +0 -0
  83. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/balances.py +0 -0
  84. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/betting_strategies/kelly_criterion.py +0 -0
  85. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/betting_strategies/market_moving.py +0 -0
  86. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/betting_strategies/minimum_bet_to_win.py +0 -0
  87. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/betting_strategies/stretch_bet_between.py +0 -0
  88. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/betting_strategies/utils.py +0 -0
  89. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/caches/db_cache.py +0 -0
  90. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/caches/inmemory_cache.py +0 -0
  91. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/caches/serializers.py +0 -0
  92. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/costs.py +0 -0
  93. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/cow/cow_manager.py +0 -0
  94. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/cow/cow_order.py +0 -0
  95. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/custom_exceptions.py +0 -0
  96. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/datetime_utc.py +0 -0
  97. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/db/db_manager.py +0 -0
  98. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/google_utils.py +0 -0
  99. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/hexbytes_custom.py +0 -0
  100. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/httpx_cached_client.py +0 -0
  101. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/image_gen/image_gen.py +0 -0
  102. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/image_gen/market_thumbnail_gen.py +0 -0
  103. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/ipfs/ipfs_handler.py +0 -0
  104. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/is_invalid.py +0 -0
  105. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/is_predictable.py +0 -0
  106. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/langfuse_.py +0 -0
  107. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/omen/reality_accuracy.py +0 -0
  108. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/omen/sell_positions.py +0 -0
  109. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/parallelism.py +0 -0
  110. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/relevant_news_analysis/data_models.py +0 -0
  111. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/relevant_news_analysis/relevant_news_analysis.py +0 -0
  112. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/relevant_news_analysis/relevant_news_cache.py +0 -0
  113. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/safe.py +0 -0
  114. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/singleton.py +0 -0
  115. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/streamlit_user_login.py +0 -0
  116. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/tavily/tavily_models.py +0 -0
  117. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/tavily/tavily_search.py +0 -0
  118. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/tokens/auto_deposit.py +0 -0
  119. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/tokens/auto_withdraw.py +0 -0
  120. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/tokens/main_token.py +0 -0
  121. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/transaction_cache.py +0 -0
  122. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/prediction_market_agent_tooling/tools/utils.py +0 -0
  123. {prediction_market_agent_tooling-0.60.6 → prediction_market_agent_tooling-0.61.0}/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.60.6
3
+ Version: 0.61.0
4
4
  Summary: Tools to benchmark, deploy and monitor prediction market agents.
5
5
  Author: Gnosis
6
6
  Requires-Python: >=3.10,<3.13
@@ -3,7 +3,7 @@ import typing as t
3
3
  from copy import deepcopy
4
4
 
5
5
  from eth_account.signers.local import LocalAccount
6
- from pydantic import BeforeValidator, Field, model_validator
6
+ from pydantic import Field, model_validator
7
7
  from pydantic.types import SecretStr
8
8
  from pydantic.v1.types import SecretStr as SecretStrV1
9
9
  from pydantic_settings import BaseSettings, SettingsConfigDict
@@ -39,10 +39,7 @@ class APIKeys(BaseSettings):
39
39
  METACULUS_API_KEY: t.Optional[SecretStr] = None
40
40
  METACULUS_USER_ID: t.Optional[int] = None
41
41
  BET_FROM_PRIVATE_KEY: t.Optional[PrivateKey] = None
42
- SAFE_ADDRESS: t.Annotated[
43
- ChecksumAddress | None,
44
- BeforeValidator(lambda x: x if x is None else Web3.to_checksum_address(x)),
45
- ] = None
42
+ SAFE_ADDRESS: str | None = None
46
43
  OPENAI_API_KEY: t.Optional[SecretStr] = None
47
44
  GRAPH_API_KEY: t.Optional[SecretStr] = None
48
45
  TENDERLY_FORK_RPC: t.Optional[str] = None
@@ -104,6 +101,12 @@ class APIKeys(BaseSettings):
104
101
  data.SAFE_ADDRESS = None
105
102
  return data
106
103
 
104
+ @property
105
+ def safe_address_checksum(self) -> ChecksumAddress | None:
106
+ return (
107
+ Web3.to_checksum_address(self.SAFE_ADDRESS) if self.SAFE_ADDRESS else None
108
+ )
109
+
107
110
  @property
108
111
  def serper_api_key(self) -> SecretStr:
109
112
  return check_not_none(
@@ -148,7 +151,11 @@ class APIKeys(BaseSettings):
148
151
  @property
149
152
  def bet_from_address(self) -> ChecksumAddress:
150
153
  """If the SAFE is available, we always route transactions via SAFE. Otherwise we use the EOA."""
151
- return self.SAFE_ADDRESS if self.SAFE_ADDRESS else self.public_key
154
+ return (
155
+ self.safe_address_checksum
156
+ if self.safe_address_checksum
157
+ else self.public_key
158
+ )
152
159
 
153
160
  @property
154
161
  def openai_api_key(self) -> SecretStr:
@@ -257,10 +264,10 @@ class APIKeys(BaseSettings):
257
264
  }
258
265
 
259
266
  def check_if_is_safe_owner(self, ethereum_client: EthereumClient) -> bool:
260
- if not self.SAFE_ADDRESS:
267
+ if not self.safe_address_checksum:
261
268
  raise ValueError("Cannot check ownership if safe_address is not defined.")
262
269
 
263
- s = SafeV141(self.SAFE_ADDRESS, ethereum_client)
270
+ s = SafeV141(self.safe_address_checksum, ethereum_client)
264
271
  public_key_from_signer = private_key_to_public_key(self.bet_from_private_key)
265
272
  return s.retrieve_is_owner(public_key_from_signer)
266
273
 
@@ -113,13 +113,13 @@ class ContractBaseClass(BaseModel):
113
113
  Used for changing a state (writing) to the contract.
114
114
  """
115
115
 
116
- if api_keys.SAFE_ADDRESS:
116
+ if api_keys.safe_address_checksum:
117
117
  return send_function_on_contract_tx_using_safe(
118
118
  web3=web3 or self.get_web3(),
119
119
  contract_address=self.address,
120
120
  contract_abi=self.abi,
121
121
  from_private_key=api_keys.bet_from_private_key,
122
- safe_address=api_keys.SAFE_ADDRESS,
122
+ safe_address=api_keys.safe_address_checksum,
123
123
  function_name=function_name,
124
124
  function_params=function_params,
125
125
  tx_params=tx_params,
@@ -64,24 +64,28 @@ def get_traces_for_agent(
64
64
  has_output: bool,
65
65
  client: Langfuse,
66
66
  to_timestamp: DatetimeUTC | None = None,
67
+ tags: str | list[str] | None = None,
67
68
  ) -> list[TraceWithDetails]:
68
69
  """
69
70
  Fetch agent traces using pagination
70
71
  """
72
+ total_pages = -1
71
73
  page = 1 # index starts from 1
72
74
  all_agent_traces = []
73
75
  while True:
74
- logger.debug(f"fetching page {page}")
76
+ logger.debug(f"Fetching Langfuse page {page} / {total_pages}.")
75
77
  traces = client.fetch_traces(
76
78
  name=trace_name,
77
79
  limit=100,
78
80
  page=page,
79
81
  from_timestamp=from_timestamp,
80
82
  to_timestamp=to_timestamp,
83
+ tags=tags,
81
84
  )
82
85
  if not traces.data:
83
86
  break
84
87
  page += 1
88
+ total_pages = traces.meta.total_pages
85
89
 
86
90
  agent_traces = [
87
91
  t
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "prediction-market-agent-tooling"
3
- version = "0.60.6"
3
+ version = "0.61.0"
4
4
  description = "Tools to benchmark, deploy and monitor prediction market agents."
5
5
  authors = ["Gnosis"]
6
6
  readme = "README.md"