prediction-market-agent-tooling 0.69.6.dev1094__tar.gz → 0.69.7.dev1098__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.
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/PKG-INFO +1 -1
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/contract.py +46 -53
- prediction_market_agent_tooling-0.69.7.dev1098/prediction_market_agent_tooling/tools/contract_utils.py +61 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/web3_utils.py +0 -58
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/pyproject.toml +1 -1
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/LICENSE +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/README.md +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/abis/agentresultmapping.abi.json +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/abis/debuggingcontract.abi.json +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/abis/depositablewrapper_erc20.abi.json +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/abis/erc1155.abi.json +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/abis/erc20.abi.json +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/abis/erc4626.abi.json +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/abis/erc721.abi.json +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/abis/gvp2_settlement.abi.json +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/abis/omen_dxdao.abi.json +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/abis/omen_fpmm.abi.json +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/abis/omen_fpmm_conditionaltokens.abi.json +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/abis/omen_fpmm_factory.abi.json +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/abis/omen_kleros.abi.json +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/abis/omen_oracle.abi.json +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/abis/omen_realitio.abi.json +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/abis/omen_thumbnailmapping.abi.json +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/abis/ownable.abi.json +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/abis/ownable_erc721.abi.json +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/abis/proxy.abi.json +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/abis/seer_gnosis_router.abi.json +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/abis/seer_market_factory.abi.json +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/abis/swapr_router.abi.json +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/benchmark/__init__.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/benchmark/agents.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/benchmark/benchmark.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/benchmark/utils.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/chains.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/config.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/data_download/langfuse_data_downloader.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/deploy/agent.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/deploy/agent_example.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/deploy/betting_strategy.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/deploy/constants.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/deploy/gcp/deploy.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/deploy/gcp/kubernetes_models.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/deploy/gcp/utils.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/deploy/trade_interval.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/gtypes.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/jobs/__init__.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/jobs/jobs_models.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/jobs/omen/omen_jobs.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/loggers.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/logprobs_parser.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/agent_market.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/base_subgraph_handler.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/blockchain_utils.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/categorize.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/data_models.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/manifold/__init__.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/manifold/api.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/manifold/data_models.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/manifold/manifold.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/manifold/utils.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/market_fees.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/market_type.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/markets.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/metaculus/api.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/metaculus/data_models.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/metaculus/metaculus.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/omen/__init__.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/omen/cow_contracts.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/omen/data_models.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/omen/omen.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/omen/omen_constants.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/omen/omen_contracts.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/omen/omen_resolving.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/omen/omen_subgraph_handler.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/polymarket/api.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/polymarket/clob_manager.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/polymarket/constants.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/polymarket/data_models.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/polymarket/polymarket.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/polymarket/polymarket_contracts.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/polymarket/polymarket_subgraph_handler.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/polymarket/utils.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/seer/data_models.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/seer/exceptions.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/seer/price_manager.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/seer/seer.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/seer/seer_api.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/seer/seer_contracts.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/seer/seer_subgraph_handler.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/seer/subgraph_data_models.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/markets/seer/swap_pool_handler.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/py.typed +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/_generic_value.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/balances.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/betting_strategies/kelly_criterion.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/betting_strategies/stretch_bet_between.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/betting_strategies/utils.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/caches/db_cache.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/caches/inmemory_cache.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/caches/serializers.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/costs.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/cow/cow_order.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/cow/models.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/cow/semaphore.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/custom_exceptions.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/datetime_utc.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/db/db_manager.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/google_utils.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/hexbytes_custom.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/httpx_cached_client.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/image_gen/image_gen.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/image_gen/market_thumbnail_gen.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/ipfs/ipfs_handler.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/is_invalid.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/is_predictable.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/langfuse_.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/langfuse_client_utils.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/omen/reality_accuracy.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/omen/sell_positions.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/openai_utils.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/parallelism.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/perplexity/perplexity_client.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/perplexity/perplexity_models.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/perplexity/perplexity_search.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/relevant_news_analysis/data_models.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/relevant_news_analysis/relevant_news_analysis.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/relevant_news_analysis/relevant_news_cache.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/rephrase.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/safe.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/singleton.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/streamlit_user_login.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/streamlit_utils.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/tavily/tavily_models.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/tavily/tavily_search.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/tokens/auto_deposit.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/tokens/auto_withdraw.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/tokens/main_token.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/tokens/slippage.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/tokens/token_utils.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/tokens/usd.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/transaction_cache.py +0 -0
- {prediction_market_agent_tooling-0.69.6.dev1094 → prediction_market_agent_tooling-0.69.7.dev1098}/prediction_market_agent_tooling/tools/utils.py +0 -0
@@ -909,84 +909,77 @@ def contract_implements_function(
|
|
909
909
|
|
910
910
|
# If not found directly and we should check proxies
|
911
911
|
if not implements and look_for_proxy_contract:
|
912
|
-
|
913
|
-
if
|
914
|
-
contract_address, "implementation", web3, look_for_proxy_contract=False
|
915
|
-
):
|
916
|
-
# Get the implementation address and check the function there
|
917
|
-
implementation_address = ContractProxyOnGnosisChain(
|
918
|
-
address=contract_address
|
919
|
-
).implementation()
|
912
|
+
imp_address = uni_implementation_address(contract_address, web3)
|
913
|
+
if imp_address is not None:
|
920
914
|
implements = contract_implements_function(
|
921
|
-
|
915
|
+
imp_address,
|
922
916
|
function_name=function_name,
|
923
917
|
web3=web3,
|
924
918
|
function_arg_types=function_arg_types,
|
925
919
|
look_for_proxy_contract=False,
|
926
920
|
)
|
927
|
-
else:
|
928
|
-
# Case 2: Check if it's a minimal proxy contract
|
929
|
-
implements = minimal_proxy_implements_function(
|
930
|
-
contract_address=contract_address,
|
931
|
-
function_name=function_name,
|
932
|
-
web3=web3,
|
933
|
-
function_arg_types=function_arg_types,
|
934
|
-
) or seer_minimal_proxy_implements_function(
|
935
|
-
contract_address=contract_address,
|
936
|
-
function_name=function_name,
|
937
|
-
web3=web3,
|
938
|
-
function_arg_types=function_arg_types,
|
939
|
-
)
|
940
921
|
|
941
922
|
return implements
|
942
923
|
|
943
924
|
|
944
|
-
def
|
945
|
-
contract_address: ChecksumAddress,
|
946
|
-
|
947
|
-
|
948
|
-
|
949
|
-
|
925
|
+
def uni_implementation_address(
|
926
|
+
contract_address: ChecksumAddress, web3: Web3
|
927
|
+
) -> ChecksumAddress | None:
|
928
|
+
"""
|
929
|
+
There are multiple ways how proxies can be implemented.
|
930
|
+
This function enumerates them and returns the one that succeeds, or None.
|
931
|
+
"""
|
932
|
+
address = implementation_proxy_address(contract_address, web3)
|
933
|
+
if address is not None:
|
934
|
+
return address
|
935
|
+
|
936
|
+
address = minimal_proxy_address(contract_address, web3)
|
937
|
+
if address is not None:
|
938
|
+
return address
|
939
|
+
|
940
|
+
address = seer_minimal_proxy_address(contract_address, web3)
|
941
|
+
if address is not None:
|
942
|
+
return address
|
943
|
+
|
944
|
+
return None
|
945
|
+
|
946
|
+
|
947
|
+
def implementation_proxy_address(
|
948
|
+
contract_address: ChecksumAddress, web3: Web3
|
949
|
+
) -> ChecksumAddress | None:
|
950
|
+
if not contract_implements_function(
|
951
|
+
contract_address, "implementation", web3, look_for_proxy_contract=False
|
952
|
+
):
|
953
|
+
return None
|
954
|
+
return ContractProxyOnGnosisChain(address=contract_address).implementation()
|
955
|
+
|
956
|
+
|
957
|
+
def minimal_proxy_address(
|
958
|
+
contract_address: ChecksumAddress, web3: Web3
|
959
|
+
) -> ChecksumAddress | None:
|
950
960
|
try:
|
951
961
|
# Read storage slot 0 which should contain the implementation address in minimal proxies
|
952
962
|
raw_slot_0 = web3.eth.get_storage_at(contract_address, 0)
|
953
963
|
singleton_address = eth_abi.decode(["address"], raw_slot_0)[0]
|
954
|
-
|
955
|
-
return contract_implements_function(
|
956
|
-
Web3.to_checksum_address(singleton_address),
|
957
|
-
function_name=function_name,
|
958
|
-
web3=web3,
|
959
|
-
function_arg_types=function_arg_types,
|
960
|
-
look_for_proxy_contract=False,
|
961
|
-
)
|
964
|
+
return Web3.to_checksum_address(singleton_address)
|
962
965
|
except DecodingError:
|
963
966
|
logger.info(f"Error decoding contract address for singleton")
|
964
|
-
return
|
967
|
+
return None
|
965
968
|
|
966
969
|
|
967
|
-
def
|
968
|
-
contract_address: ChecksumAddress,
|
969
|
-
|
970
|
-
web3: Web3,
|
971
|
-
function_arg_types: list[str] | None = None,
|
972
|
-
) -> bool:
|
970
|
+
def seer_minimal_proxy_address(
|
971
|
+
contract_address: ChecksumAddress, web3: Web3
|
972
|
+
) -> ChecksumAddress | None:
|
973
973
|
try:
|
974
974
|
# Read address between specific indices to find logic contract
|
975
975
|
bytecode = web3.eth.get_code(contract_address)
|
976
976
|
logic_contract_address = bytecode[11:31]
|
977
977
|
if not Web3.is_address(logic_contract_address):
|
978
|
-
return
|
979
|
-
|
980
|
-
return contract_implements_function(
|
981
|
-
Web3.to_checksum_address(logic_contract_address),
|
982
|
-
function_name=function_name,
|
983
|
-
web3=web3,
|
984
|
-
function_arg_types=function_arg_types,
|
985
|
-
look_for_proxy_contract=False,
|
986
|
-
)
|
978
|
+
return None
|
979
|
+
return Web3.to_checksum_address(logic_contract_address)
|
987
980
|
except DecodingError:
|
988
981
|
logger.info("Error decoding contract address on seer minimal proxy")
|
989
|
-
return
|
982
|
+
return None
|
990
983
|
|
991
984
|
|
992
985
|
def init_collateral_token_contract(
|
@@ -0,0 +1,61 @@
|
|
1
|
+
from web3 import Web3
|
2
|
+
|
3
|
+
from prediction_market_agent_tooling.config import RPCConfig
|
4
|
+
from prediction_market_agent_tooling.gtypes import ChecksumAddress
|
5
|
+
from prediction_market_agent_tooling.tools.contract import contract_implements_function
|
6
|
+
|
7
|
+
|
8
|
+
def is_erc20_contract(address: ChecksumAddress, web3: Web3 | None = None) -> bool:
|
9
|
+
"""
|
10
|
+
Checks if the given address is an ERC20-compatible contract.
|
11
|
+
|
12
|
+
It estimates it by looking if it implements symbol, name, decimals, totalSupply, balanceOf.
|
13
|
+
"""
|
14
|
+
web3 = web3 or RPCConfig().get_web3()
|
15
|
+
return (
|
16
|
+
contract_implements_function(address, "symbol", web3)
|
17
|
+
and contract_implements_function(address, "name", web3)
|
18
|
+
and contract_implements_function(address, "totalSupply", web3)
|
19
|
+
and contract_implements_function(
|
20
|
+
address, "balanceOf", web3, function_arg_types=["address"]
|
21
|
+
)
|
22
|
+
)
|
23
|
+
|
24
|
+
|
25
|
+
def is_nft_contract(address: ChecksumAddress, web3: Web3 | None = None) -> bool:
|
26
|
+
"""
|
27
|
+
Checks if the given address is an NFT-compatible contract (ERC721 or ERC1155).
|
28
|
+
|
29
|
+
For ERC721, checks for: ownerOf, balanceOf, transferFrom.
|
30
|
+
For ERC1155, checks for: balanceOf, safeTransferFrom.
|
31
|
+
|
32
|
+
Returns True if either ERC721 or ERC1155 interface is detected.
|
33
|
+
"""
|
34
|
+
web3 = web3 or RPCConfig().get_web3()
|
35
|
+
is_erc721 = (
|
36
|
+
contract_implements_function(
|
37
|
+
address, "ownerOf", web3, function_arg_types=["uint256"]
|
38
|
+
)
|
39
|
+
and contract_implements_function(
|
40
|
+
address, "balanceOf", web3, function_arg_types=["address"]
|
41
|
+
)
|
42
|
+
and contract_implements_function(
|
43
|
+
address,
|
44
|
+
"transferFrom",
|
45
|
+
web3,
|
46
|
+
function_arg_types=["address", "address", "uint256"],
|
47
|
+
)
|
48
|
+
)
|
49
|
+
if is_erc721:
|
50
|
+
return True
|
51
|
+
is_erc1155 = contract_implements_function(
|
52
|
+
address, "balanceOf", web3, function_arg_types=["address", "uint256"]
|
53
|
+
) and contract_implements_function(
|
54
|
+
address,
|
55
|
+
"safeTransferFrom",
|
56
|
+
web3,
|
57
|
+
function_arg_types=["address", "address", "uint256", "uint256", "bytes"],
|
58
|
+
)
|
59
|
+
if is_erc1155:
|
60
|
+
return True
|
61
|
+
return False
|
@@ -18,7 +18,6 @@ from web3.constants import HASH_ZERO
|
|
18
18
|
from web3.contract.contract import ContractFunction as Web3ContractFunction
|
19
19
|
from web3.types import AccessList, AccessListEntry, Nonce, TxParams, TxReceipt
|
20
20
|
|
21
|
-
from prediction_market_agent_tooling.config import RPCConfig
|
22
21
|
from prediction_market_agent_tooling.gtypes import (
|
23
22
|
ABI,
|
24
23
|
ChecksumAddress,
|
@@ -34,7 +33,6 @@ from prediction_market_agent_tooling.gtypes import (
|
|
34
33
|
)
|
35
34
|
from prediction_market_agent_tooling.loggers import logger
|
36
35
|
from prediction_market_agent_tooling.tools._generic_value import _GenericValue
|
37
|
-
from prediction_market_agent_tooling.tools.contract import contract_implements_function
|
38
36
|
|
39
37
|
ONE_NONCE = Nonce(1)
|
40
38
|
ONE_XDAI = xDai(1)
|
@@ -408,59 +406,3 @@ def get_receipt_block_timestamp(receipt_tx: TxReceipt, web3: Web3) -> int:
|
|
408
406
|
|
409
407
|
def is_valid_wei(value: Web3Wei) -> bool:
|
410
408
|
return MIN_WEI <= value <= MAX_WEI
|
411
|
-
|
412
|
-
|
413
|
-
def is_erc20_contract(address: ChecksumAddress, web3: Web3 | None = None) -> bool:
|
414
|
-
"""
|
415
|
-
Checks if the given address is an ERC20-compatible contract.
|
416
|
-
|
417
|
-
It estimates it by looking if it implements symbol, name, decimals, totalSupply, balanceOf.
|
418
|
-
"""
|
419
|
-
web3 = web3 or RPCConfig().get_web3()
|
420
|
-
return (
|
421
|
-
contract_implements_function(address, "symbol", web3)
|
422
|
-
and contract_implements_function(address, "name", web3)
|
423
|
-
and contract_implements_function(address, "totalSupply", web3)
|
424
|
-
and contract_implements_function(
|
425
|
-
address, "balanceOf", web3, function_arg_types=["address"]
|
426
|
-
)
|
427
|
-
)
|
428
|
-
|
429
|
-
|
430
|
-
def is_nft_contract(address: ChecksumAddress, web3: Web3 | None = None) -> bool:
|
431
|
-
"""
|
432
|
-
Checks if the given address is an NFT-compatible contract (ERC721 or ERC1155).
|
433
|
-
|
434
|
-
For ERC721, checks for: ownerOf, balanceOf, transferFrom.
|
435
|
-
For ERC1155, checks for: balanceOf, safeTransferFrom.
|
436
|
-
|
437
|
-
Returns True if either ERC721 or ERC1155 interface is detected.
|
438
|
-
"""
|
439
|
-
web3 = web3 or RPCConfig().get_web3()
|
440
|
-
is_erc721 = (
|
441
|
-
contract_implements_function(
|
442
|
-
address, "ownerOf", web3, function_arg_types=["uint256"]
|
443
|
-
)
|
444
|
-
and contract_implements_function(
|
445
|
-
address, "balanceOf", web3, function_arg_types=["address"]
|
446
|
-
)
|
447
|
-
and contract_implements_function(
|
448
|
-
address,
|
449
|
-
"transferFrom",
|
450
|
-
web3,
|
451
|
-
function_arg_types=["address", "address", "uint256"],
|
452
|
-
)
|
453
|
-
)
|
454
|
-
if is_erc721:
|
455
|
-
return True
|
456
|
-
is_erc1155 = contract_implements_function(
|
457
|
-
address, "balanceOf", web3, function_arg_types=["address", "uint256"]
|
458
|
-
) and contract_implements_function(
|
459
|
-
address,
|
460
|
-
"safeTransferFrom",
|
461
|
-
web3,
|
462
|
-
function_arg_types=["address", "address", "uint256", "uint256", "bytes"],
|
463
|
-
)
|
464
|
-
if is_erc1155:
|
465
|
-
return True
|
466
|
-
return False
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|