prediction-market-agent-tooling 0.47.0__tar.gz → 0.47.1__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 (81) hide show
  1. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/PKG-INFO +1 -1
  2. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/deploy/agent.py +16 -9
  3. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/pyproject.toml +1 -1
  4. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/LICENSE +0 -0
  5. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/README.md +0 -0
  6. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/abis/depositablewrapper_erc20.abi.json +0 -0
  7. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/abis/erc20.abi.json +0 -0
  8. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/abis/erc4626.abi.json +0 -0
  9. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/abis/omen_dxdao.abi.json +0 -0
  10. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/abis/omen_fpmm.abi.json +0 -0
  11. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/abis/omen_fpmm_conditionaltokens.abi.json +0 -0
  12. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/abis/omen_fpmm_factory.abi.json +0 -0
  13. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/abis/omen_kleros.abi.json +0 -0
  14. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/abis/omen_oracle.abi.json +0 -0
  15. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/abis/omen_realitio.abi.json +0 -0
  16. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/abis/omen_thumbnailmapping.abi.json +0 -0
  17. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/abis/proxy.abi.json +0 -0
  18. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/benchmark/__init__.py +0 -0
  19. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/benchmark/agents.py +0 -0
  20. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/benchmark/benchmark.py +0 -0
  21. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/benchmark/utils.py +0 -0
  22. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/config.py +0 -0
  23. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/deploy/agent_example.py +0 -0
  24. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/deploy/constants.py +0 -0
  25. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/deploy/gcp/deploy.py +0 -0
  26. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/deploy/gcp/kubernetes_models.py +0 -0
  27. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/deploy/gcp/utils.py +0 -0
  28. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/gtypes.py +0 -0
  29. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/loggers.py +0 -0
  30. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/markets/agent_market.py +0 -0
  31. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/markets/categorize.py +0 -0
  32. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/markets/data_models.py +0 -0
  33. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/markets/manifold/__init__.py +0 -0
  34. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/markets/manifold/api.py +0 -0
  35. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/markets/manifold/data_models.py +0 -0
  36. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/markets/manifold/manifold.py +0 -0
  37. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/markets/manifold/utils.py +0 -0
  38. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/markets/markets.py +0 -0
  39. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/markets/metaculus/api.py +0 -0
  40. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/markets/metaculus/data_models.py +0 -0
  41. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/markets/metaculus/metaculus.py +0 -0
  42. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/markets/omen/__init__.py +0 -0
  43. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/markets/omen/data_models.py +0 -0
  44. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/markets/omen/omen.py +0 -0
  45. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/markets/omen/omen_contracts.py +0 -0
  46. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/markets/omen/omen_resolving.py +0 -0
  47. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/markets/omen/omen_subgraph_handler.py +0 -0
  48. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/markets/polymarket/api.py +0 -0
  49. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/markets/polymarket/data_models.py +0 -0
  50. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/markets/polymarket/data_models_web.py +0 -0
  51. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/markets/polymarket/polymarket.py +0 -0
  52. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/markets/polymarket/utils.py +0 -0
  53. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/monitor/langfuse/langfuse_wrapper.py +0 -0
  54. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/monitor/markets/manifold.py +0 -0
  55. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/monitor/markets/metaculus.py +0 -0
  56. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/monitor/markets/omen.py +0 -0
  57. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/monitor/markets/polymarket.py +0 -0
  58. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/monitor/monitor.py +0 -0
  59. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/monitor/monitor_app.py +0 -0
  60. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/monitor/monitor_settings.py +0 -0
  61. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/py.typed +0 -0
  62. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/tools/balances.py +0 -0
  63. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/tools/betting_strategies/kelly_criterion.py +0 -0
  64. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/tools/betting_strategies/market_moving.py +0 -0
  65. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/tools/betting_strategies/minimum_bet_to_win.py +0 -0
  66. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/tools/betting_strategies/stretch_bet_between.py +0 -0
  67. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/tools/cache.py +0 -0
  68. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/tools/contract.py +0 -0
  69. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/tools/costs.py +0 -0
  70. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/tools/gnosis_rpc.py +0 -0
  71. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/tools/google.py +0 -0
  72. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/tools/hexbytes_custom.py +0 -0
  73. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/tools/image_gen/image_gen.py +0 -0
  74. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/tools/image_gen/market_thumbnail_gen.py +0 -0
  75. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/tools/is_predictable.py +0 -0
  76. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/tools/parallelism.py +0 -0
  77. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/tools/safe.py +0 -0
  78. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/tools/singleton.py +0 -0
  79. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/tools/streamlit_user_login.py +0 -0
  80. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/tools/utils.py +0 -0
  81. {prediction_market_agent_tooling-0.47.0 → prediction_market_agent_tooling-0.47.1}/prediction_market_agent_tooling/tools/web3_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: prediction-market-agent-tooling
3
- Version: 0.47.0
3
+ Version: 0.47.1
4
4
  Summary: Tools to benchmark, deploy and monitor prediction market agents.
5
5
  Author: Gnosis
6
6
  Requires-Python: >=3.10,<3.12
@@ -216,6 +216,19 @@ class DeployableTraderAgent(DeployableAgent):
216
216
  def have_bet_on_market_since(self, market: AgentMarket, since: timedelta) -> bool:
217
217
  return have_bet_on_market_since(keys=APIKeys(), market=market, since=since)
218
218
 
219
+ def check_min_required_balance_to_operate(self, market_type: MarketType) -> None:
220
+ api_keys = APIKeys()
221
+ if self.min_required_balance_to_operate is None:
222
+ return
223
+ if market_type == MarketType.OMEN and not is_minimum_required_balance(
224
+ api_keys.public_key,
225
+ min_required_balance=self.min_required_balance_to_operate,
226
+ ):
227
+ raise OutOfFundsError(
228
+ f"Minimum required balance {self.min_required_balance_to_operate} "
229
+ f"for agent with address {api_keys.public_key} is not met."
230
+ )
231
+
219
232
  def pick_markets(
220
233
  self, market_type: MarketType, markets: t.Sequence[AgentMarket]
221
234
  ) -> t.Sequence[AgentMarket]:
@@ -280,15 +293,7 @@ class DeployableTraderAgent(DeployableAgent):
280
293
  if market_type == MarketType.OMEN:
281
294
  # Omen is specific, because the user (agent) needs to manually withdraw winnings from the market.
282
295
  redeem_from_all_user_positions(api_keys)
283
- # Check if we have enough of balance to operate.
284
- if self.min_required_balance_to_operate is not None:
285
- if not is_minimum_required_balance(
286
- api_keys.public_key,
287
- min_required_balance=self.min_required_balance_to_operate,
288
- ):
289
- raise OutOfFundsError(
290
- f"Minimum required balance {self.min_required_balance_to_operate} is not met."
291
- )
296
+ self.check_min_required_balance_to_operate(market_type)
292
297
  # Exchange wxdai back to xdai if the balance is getting low, so we can keep paying for fees.
293
298
  if self.min_balance_to_keep_in_native_currency is not None:
294
299
  withdraw_wxdai_to_xdai_to_keep_balance(
@@ -304,6 +309,8 @@ class DeployableTraderAgent(DeployableAgent):
304
309
  available_markets = self.get_markets(market_type)
305
310
  markets = self.pick_markets(market_type, available_markets)
306
311
  for market in markets:
312
+ # We need to check it again before each market bet, as the balance might have changed.
313
+ self.check_min_required_balance_to_operate(market_type)
307
314
  result = self.answer_binary_market(market)
308
315
  if result is None:
309
316
  logger.info(f"Skipping market {market} as no answer was provided")
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "prediction-market-agent-tooling"
3
- version = "0.47.0"
3
+ version = "0.47.1"
4
4
  description = "Tools to benchmark, deploy and monitor prediction market agents."
5
5
  authors = ["Gnosis"]
6
6
  readme = "README.md"