prediction-market-agent-tooling 0.57.16.dev311__py3-none-any.whl → 0.57.18__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.
- prediction_market_agent_tooling/abis/seer_market_factory.abi.json +609 -0
- prediction_market_agent_tooling/config.py +8 -0
- prediction_market_agent_tooling/loggers.py +9 -1
- prediction_market_agent_tooling/markets/omen/omen.py +12 -16
- prediction_market_agent_tooling/markets/omen/omen_constants.py +8 -0
- prediction_market_agent_tooling/markets/omen/omen_contracts.py +16 -4
- prediction_market_agent_tooling/markets/omen/omen_resolving.py +3 -3
- prediction_market_agent_tooling/markets/seer/data_models.py +41 -2
- prediction_market_agent_tooling/markets/seer/seer.py +94 -0
- prediction_market_agent_tooling/markets/seer/seer_contracts.py +76 -0
- prediction_market_agent_tooling/markets/seer/seer_subgraph_handler.py +2 -1
- prediction_market_agent_tooling/monitor/monitor.py +1 -1
- prediction_market_agent_tooling/monitor/monitor_app.py +4 -8
- prediction_market_agent_tooling/tools/contract.py +1 -98
- prediction_market_agent_tooling/tools/cow/cow_order.py +133 -0
- prediction_market_agent_tooling/tools/tokens/auto_deposit.py +156 -0
- prediction_market_agent_tooling/tools/tokens/auto_withdraw.py +62 -0
- prediction_market_agent_tooling/tools/tokens/main_token.py +13 -0
- {prediction_market_agent_tooling-0.57.16.dev311.dist-info → prediction_market_agent_tooling-0.57.18.dist-info}/METADATA +3 -1
- {prediction_market_agent_tooling-0.57.16.dev311.dist-info → prediction_market_agent_tooling-0.57.18.dist-info}/RECORD +23 -15
- {prediction_market_agent_tooling-0.57.16.dev311.dist-info → prediction_market_agent_tooling-0.57.18.dist-info}/LICENSE +0 -0
- {prediction_market_agent_tooling-0.57.16.dev311.dist-info → prediction_market_agent_tooling-0.57.18.dist-info}/WHEEL +0 -0
- {prediction_market_agent_tooling-0.57.16.dev311.dist-info → prediction_market_agent_tooling-0.57.18.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,156 @@
|
|
1
|
+
from web3 import Web3
|
2
|
+
|
3
|
+
from prediction_market_agent_tooling.config import APIKeys
|
4
|
+
from prediction_market_agent_tooling.gtypes import Wei, wei_type
|
5
|
+
from prediction_market_agent_tooling.loggers import logger
|
6
|
+
from prediction_market_agent_tooling.tools.contract import (
|
7
|
+
ContractDepositableWrapperERC20BaseClass,
|
8
|
+
ContractERC20BaseClass,
|
9
|
+
ContractERC20OnGnosisChain,
|
10
|
+
ContractERC4626BaseClass,
|
11
|
+
)
|
12
|
+
from prediction_market_agent_tooling.tools.cow.cow_order import (
|
13
|
+
get_buy_token_amount,
|
14
|
+
swap_tokens_waiting,
|
15
|
+
)
|
16
|
+
from prediction_market_agent_tooling.tools.tokens.main_token import KEEPING_ERC20_TOKEN
|
17
|
+
from prediction_market_agent_tooling.tools.utils import should_not_happen
|
18
|
+
from prediction_market_agent_tooling.tools.web3_utils import wei_to_xdai
|
19
|
+
|
20
|
+
|
21
|
+
def auto_deposit_collateral_token(
|
22
|
+
collateral_token_contract: ContractERC20BaseClass,
|
23
|
+
amount_wei: Wei,
|
24
|
+
api_keys: APIKeys,
|
25
|
+
web3: Web3 | None = None,
|
26
|
+
) -> None:
|
27
|
+
if isinstance(collateral_token_contract, ContractDepositableWrapperERC20BaseClass):
|
28
|
+
# In this case, we can use deposit function directly, no need to go through DEX.
|
29
|
+
auto_deposit_depositable_wrapper_erc20(
|
30
|
+
collateral_token_contract, amount_wei, api_keys, web3
|
31
|
+
)
|
32
|
+
|
33
|
+
elif isinstance(collateral_token_contract, ContractERC4626BaseClass):
|
34
|
+
auto_deposit_erc4626(collateral_token_contract, amount_wei, api_keys, web3)
|
35
|
+
|
36
|
+
elif isinstance(collateral_token_contract, ContractERC20BaseClass):
|
37
|
+
auto_deposit_erc20(collateral_token_contract, amount_wei, api_keys, web3)
|
38
|
+
|
39
|
+
else:
|
40
|
+
should_not_happen("Unsupported ERC20 contract type.")
|
41
|
+
|
42
|
+
|
43
|
+
def auto_deposit_depositable_wrapper_erc20(
|
44
|
+
collateral_token_contract: ContractDepositableWrapperERC20BaseClass,
|
45
|
+
amount_wei: Wei,
|
46
|
+
api_keys: APIKeys,
|
47
|
+
web3: Web3 | None,
|
48
|
+
) -> None:
|
49
|
+
collateral_token_balance = collateral_token_contract.balanceOf(
|
50
|
+
for_address=api_keys.bet_from_address, web3=web3
|
51
|
+
)
|
52
|
+
|
53
|
+
# If we have enough of the collateral token, we don't need to deposit.
|
54
|
+
if collateral_token_balance >= amount_wei:
|
55
|
+
return
|
56
|
+
|
57
|
+
# If we don't have enough, we need to deposit the difference.
|
58
|
+
left_to_deposit = Wei(amount_wei - collateral_token_balance)
|
59
|
+
logger.info(
|
60
|
+
f"Depositing {wei_to_xdai(left_to_deposit)} {collateral_token_contract.symbol()}."
|
61
|
+
)
|
62
|
+
collateral_token_contract.deposit(api_keys, left_to_deposit, web3=web3)
|
63
|
+
|
64
|
+
|
65
|
+
def auto_deposit_erc4626(
|
66
|
+
collateral_token_contract: ContractERC4626BaseClass,
|
67
|
+
asset_amount_wei: Wei,
|
68
|
+
api_keys: APIKeys,
|
69
|
+
web3: Web3 | None,
|
70
|
+
) -> None:
|
71
|
+
for_address = api_keys.bet_from_address
|
72
|
+
collateral_token_balance_in_shares = collateral_token_contract.balanceOf(
|
73
|
+
for_address=for_address, web3=web3
|
74
|
+
)
|
75
|
+
asset_amount_wei_in_shares = collateral_token_contract.convertToShares(
|
76
|
+
asset_amount_wei, web3
|
77
|
+
)
|
78
|
+
|
79
|
+
# If we have enough shares, we don't need to deposit.
|
80
|
+
if collateral_token_balance_in_shares >= asset_amount_wei_in_shares:
|
81
|
+
return
|
82
|
+
|
83
|
+
# If we need to deposit into erc4626, we first need to have enough of the asset token.
|
84
|
+
asset_token_contract = collateral_token_contract.get_asset_token_contract(web3=web3)
|
85
|
+
|
86
|
+
if isinstance(asset_token_contract, ContractDepositableWrapperERC20BaseClass):
|
87
|
+
# If the asset token is Depositable Wrapper ERC-20, we don't need to go through DEX.
|
88
|
+
# First, calculate how much of asset token we need to deposit into the vault.
|
89
|
+
collateral_token_balance_in_assets = collateral_token_contract.convertToAssets(
|
90
|
+
collateral_token_balance_in_shares, web3
|
91
|
+
)
|
92
|
+
left_to_deposit = Wei(asset_amount_wei - collateral_token_balance_in_assets)
|
93
|
+
if (
|
94
|
+
collateral_token_contract.get_asset_token_balance(for_address, web3)
|
95
|
+
< left_to_deposit
|
96
|
+
):
|
97
|
+
# If we don't have enough of asset token to deposit into the vault, deposit that one first.
|
98
|
+
auto_deposit_depositable_wrapper_erc20(
|
99
|
+
asset_token_contract, left_to_deposit, api_keys, web3
|
100
|
+
)
|
101
|
+
# And finally, we can deposit the asset token into the erc4626 vault directly as well, without DEX.
|
102
|
+
collateral_token_contract.deposit_asset_token(left_to_deposit, api_keys, web3)
|
103
|
+
|
104
|
+
else:
|
105
|
+
# Otherwise, we need to go through DEX.
|
106
|
+
auto_deposit_erc20(collateral_token_contract, asset_amount_wei, api_keys, web3)
|
107
|
+
|
108
|
+
|
109
|
+
def auto_deposit_erc20(
|
110
|
+
collateral_token_contract: ContractERC20BaseClass,
|
111
|
+
amount_xdai_wei: Wei,
|
112
|
+
api_keys: APIKeys,
|
113
|
+
web3: Web3 | None,
|
114
|
+
) -> None:
|
115
|
+
# How much it is in the other token (collateral token).
|
116
|
+
collateral_amount_wei = get_buy_token_amount(
|
117
|
+
amount_xdai_wei,
|
118
|
+
KEEPING_ERC20_TOKEN.address,
|
119
|
+
collateral_token_contract.address,
|
120
|
+
)
|
121
|
+
# How much do we have already in the other token (collateral token).
|
122
|
+
collateral_balance_wei = collateral_token_contract.balanceOf(
|
123
|
+
api_keys.bet_from_address
|
124
|
+
)
|
125
|
+
# Amount of collateral token remaining to get.
|
126
|
+
remaining_to_get_in_collateral_wei = max(
|
127
|
+
0, collateral_amount_wei - collateral_balance_wei
|
128
|
+
)
|
129
|
+
if not remaining_to_get_in_collateral_wei:
|
130
|
+
return
|
131
|
+
# Estimate of how much of the source token we need to sell in order to fill the remaining collateral amount, with 1% slippage to be sure.
|
132
|
+
amount_to_sell_wei = wei_type(
|
133
|
+
(remaining_to_get_in_collateral_wei * amount_xdai_wei)
|
134
|
+
/ collateral_amount_wei
|
135
|
+
* 1.01
|
136
|
+
)
|
137
|
+
# If we don't have enough of the source token.
|
138
|
+
if amount_to_sell_wei > ContractERC20OnGnosisChain(
|
139
|
+
address=KEEPING_ERC20_TOKEN.address
|
140
|
+
).balanceOf(api_keys.bet_from_address):
|
141
|
+
# Try to deposit it, if it's depositable token (like Wrapped xDai, agent could have xDai).
|
142
|
+
if isinstance(KEEPING_ERC20_TOKEN, ContractDepositableWrapperERC20BaseClass):
|
143
|
+
auto_deposit_depositable_wrapper_erc20(
|
144
|
+
KEEPING_ERC20_TOKEN, amount_to_sell_wei, api_keys, web3
|
145
|
+
)
|
146
|
+
else:
|
147
|
+
raise ValueError(
|
148
|
+
"Not enough of the source token to sell to get the desired amount of the collateral token."
|
149
|
+
)
|
150
|
+
swap_tokens_waiting(
|
151
|
+
amount_wei=amount_to_sell_wei,
|
152
|
+
sell_token=KEEPING_ERC20_TOKEN.address,
|
153
|
+
buy_token=collateral_token_contract.address,
|
154
|
+
api_keys=api_keys,
|
155
|
+
web3=web3,
|
156
|
+
)
|
@@ -0,0 +1,62 @@
|
|
1
|
+
from web3 import Web3
|
2
|
+
|
3
|
+
from prediction_market_agent_tooling.config import APIKeys
|
4
|
+
from prediction_market_agent_tooling.gtypes import Wei
|
5
|
+
from prediction_market_agent_tooling.tools.contract import (
|
6
|
+
ContractERC20BaseClass,
|
7
|
+
ContractERC4626BaseClass,
|
8
|
+
)
|
9
|
+
from prediction_market_agent_tooling.tools.cow.cow_order import (
|
10
|
+
get_buy_token_amount,
|
11
|
+
swap_tokens_waiting,
|
12
|
+
)
|
13
|
+
from prediction_market_agent_tooling.tools.tokens.main_token import KEEPING_ERC20_TOKEN
|
14
|
+
from prediction_market_agent_tooling.tools.utils import should_not_happen
|
15
|
+
from prediction_market_agent_tooling.tools.web3_utils import remove_fraction
|
16
|
+
|
17
|
+
|
18
|
+
def auto_withdraw_collateral_token(
|
19
|
+
collateral_token_contract: ContractERC20BaseClass,
|
20
|
+
amount_wei: Wei,
|
21
|
+
api_keys: APIKeys,
|
22
|
+
web3: Web3 | None = None,
|
23
|
+
slippage: float = 0.001,
|
24
|
+
) -> None:
|
25
|
+
# Small slippage as exact exchange rate constantly changes and we don't care about small differences.
|
26
|
+
amount_wei = remove_fraction(
|
27
|
+
amount_wei,
|
28
|
+
slippage,
|
29
|
+
)
|
30
|
+
|
31
|
+
if collateral_token_contract.address == KEEPING_ERC20_TOKEN.address:
|
32
|
+
# Do nothing, as this is the token we want to keep.
|
33
|
+
return
|
34
|
+
elif (
|
35
|
+
isinstance(collateral_token_contract, ContractERC4626BaseClass)
|
36
|
+
and collateral_token_contract.get_asset_token_contract().address
|
37
|
+
== KEEPING_ERC20_TOKEN.address
|
38
|
+
):
|
39
|
+
# If the ERC4626 is backed by KEEPING_ERC20_TOKEN, we can withdraw it directly, no need to go through DEX.
|
40
|
+
collateral_token_contract.withdraw(
|
41
|
+
api_keys,
|
42
|
+
amount_wei,
|
43
|
+
web3=web3,
|
44
|
+
)
|
45
|
+
elif isinstance(collateral_token_contract, ContractERC20BaseClass):
|
46
|
+
# Otherwise, DEX will handle the rest of token swaps.
|
47
|
+
# First, convert `amount_wei` from xDai-based value into the collateral token-based value.
|
48
|
+
collateral_amount_wei = get_buy_token_amount(
|
49
|
+
amount_wei,
|
50
|
+
KEEPING_ERC20_TOKEN.address,
|
51
|
+
collateral_token_contract.address,
|
52
|
+
)
|
53
|
+
# And then sell it.
|
54
|
+
swap_tokens_waiting(
|
55
|
+
amount_wei=collateral_amount_wei,
|
56
|
+
sell_token=collateral_token_contract.address,
|
57
|
+
buy_token=KEEPING_ERC20_TOKEN.address,
|
58
|
+
api_keys=api_keys,
|
59
|
+
web3=web3,
|
60
|
+
)
|
61
|
+
else:
|
62
|
+
should_not_happen("Unsupported ERC20 contract type.")
|
@@ -0,0 +1,13 @@
|
|
1
|
+
from prediction_market_agent_tooling.markets.omen.omen_constants import (
|
2
|
+
WRAPPED_XDAI_CONTRACT_ADDRESS,
|
3
|
+
)
|
4
|
+
from prediction_market_agent_tooling.tools.contract import (
|
5
|
+
ContractDepositableWrapperERC20OnGnosisChain,
|
6
|
+
)
|
7
|
+
|
8
|
+
# This is the token where agents will hold their funds,
|
9
|
+
# except for a small portion that will be kept in the native token of the network to pay for the fees.
|
10
|
+
# If changed, then keep in mind that we assume this token is equal to 1 USD.
|
11
|
+
KEEPING_ERC20_TOKEN = ContractDepositableWrapperERC20OnGnosisChain(
|
12
|
+
address=WRAPPED_XDAI_CONTRACT_ADDRESS
|
13
|
+
)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: prediction-market-agent-tooling
|
3
|
-
Version: 0.57.
|
3
|
+
Version: 0.57.18
|
4
4
|
Summary: Tools to benchmark, deploy and monitor prediction market agents.
|
5
5
|
Author: Gnosis
|
6
6
|
Requires-Python: >=3.10,<3.13
|
@@ -14,6 +14,7 @@ Provides-Extra: openai
|
|
14
14
|
Provides-Extra: optuna
|
15
15
|
Requires-Dist: autoflake (>=2.2.1,<3.0.0)
|
16
16
|
Requires-Dist: base58 (>=1.0.2,<2.0)
|
17
|
+
Requires-Dist: cowdao-cowpy (>=1.0.0rc1,<2.0.0)
|
17
18
|
Requires-Dist: cron-validator (>=1.0.8,<2.0.0)
|
18
19
|
Requires-Dist: eth-account (>=0.8.0,<0.12.0)
|
19
20
|
Requires-Dist: eth-keys (>=0.6.1,<0.7.0)
|
@@ -24,6 +25,7 @@ Requires-Dist: google-cloud-functions (>=1.16.0,<2.0.0)
|
|
24
25
|
Requires-Dist: google-cloud-resource-manager (>=1.12.0,<2.0.0)
|
25
26
|
Requires-Dist: google-cloud-secret-manager (>=2.18.2,<3.0.0)
|
26
27
|
Requires-Dist: hishel (>=0.0.31,<0.0.32)
|
28
|
+
Requires-Dist: httpx (>=0.25.2,<0.26.0)
|
27
29
|
Requires-Dist: isort (>=5.13.2,<6.0.0)
|
28
30
|
Requires-Dist: langchain (>=0.2.6,<0.3.0) ; extra == "langchain"
|
29
31
|
Requires-Dist: langchain-community (>=0.0.19)
|
@@ -16,12 +16,13 @@ prediction_market_agent_tooling/abis/omen_thumbnailmapping.abi.json,sha256=u1-3B
|
|
16
16
|
prediction_market_agent_tooling/abis/ownable.abi.json,sha256=DeTy_7VmsMhFl7jwI8MIlmjy2jORauYxrGm7wC_Alxw,1528
|
17
17
|
prediction_market_agent_tooling/abis/ownable_erc721.abi.json,sha256=9sxm588MAQmqCV_S0D3eYC7l9grbeALsd0Da_AHxdEI,8506
|
18
18
|
prediction_market_agent_tooling/abis/proxy.abi.json,sha256=h24GXZ6Q0bSZlwh7zOv0EiDvbqUz_PHtWfKHTyPJ1w4,644
|
19
|
+
prediction_market_agent_tooling/abis/seer_market_factory.abi.json,sha256=g7RVxZVUWlTXIgTV2W6kO4twQM909Qv58zAr7Dk4XIc,13553
|
19
20
|
prediction_market_agent_tooling/abis/simpletreasury.abi.json,sha256=7-l7rntLkcFKkoN8hXywO0-h-mUZxOZlyQg1Jk7yTB0,2877
|
20
21
|
prediction_market_agent_tooling/benchmark/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
21
22
|
prediction_market_agent_tooling/benchmark/agents.py,sha256=B1-uWdyeN4GGKMWGK_-CcAFJg1m9Y_XuaeIHPB29QR8,3971
|
22
23
|
prediction_market_agent_tooling/benchmark/benchmark.py,sha256=MqTiaaJ3cYiOLUVR7OyImLWxcEya3Rl5JyFYW-K0lwM,17097
|
23
24
|
prediction_market_agent_tooling/benchmark/utils.py,sha256=D0MfUkVZllmvcU0VOurk9tcKT7JTtwwOp-63zuCBVuc,2880
|
24
|
-
prediction_market_agent_tooling/config.py,sha256=
|
25
|
+
prediction_market_agent_tooling/config.py,sha256=QBrbqG9wN1JFBUt_kCl2ybPamobKP6UhfiaRZK_VjMo,7805
|
25
26
|
prediction_market_agent_tooling/deploy/agent.py,sha256=58Ms6wFcRM3yhpdDVT-ohryZhHJNinn1Z4MdrmCMXvM,23627
|
26
27
|
prediction_market_agent_tooling/deploy/agent_example.py,sha256=dIIdZashExWk9tOdyDjw87AuUcGyM7jYxNChYrVK2dM,1001
|
27
28
|
prediction_market_agent_tooling/deploy/betting_strategy.py,sha256=kMrIE3wMv_IB6nJd_1DmDXDkEZhsXFOgyTd7JZ0gqHI,13068
|
@@ -34,7 +35,7 @@ prediction_market_agent_tooling/gtypes.py,sha256=G9KOKqYcxoKLv5Tfto4g5zq46FeIKxG
|
|
34
35
|
prediction_market_agent_tooling/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
35
36
|
prediction_market_agent_tooling/jobs/jobs_models.py,sha256=GOtsNm7URhzZM5fPY64r8m8Gz-sSsUhG1qmDoC7wGL8,2231
|
36
37
|
prediction_market_agent_tooling/jobs/omen/omen_jobs.py,sha256=N0_jGDyXQeVXXlYg4oA_pOfqIjscHsLQbr0pBwFGoRo,5178
|
37
|
-
prediction_market_agent_tooling/loggers.py,sha256=
|
38
|
+
prediction_market_agent_tooling/loggers.py,sha256=MvCkQSJL2_0yErNatqr81sJlc4aOgPzDp9VNrIhKUcc,4140
|
38
39
|
prediction_market_agent_tooling/markets/agent_market.py,sha256=W2ME57-CSAhrt8qm8-b5r7yLq-Sk7R_BZMaApvjhrUE,12901
|
39
40
|
prediction_market_agent_tooling/markets/base_subgraph_handler.py,sha256=7RaYO_4qAmQ6ZGM8oPK2-CkiJfKmV9MxM-rJlduaecU,1971
|
40
41
|
prediction_market_agent_tooling/markets/categorize.py,sha256=jsoHWvZk9pU6n17oWSCcCxNNYVwlb_NXsZxKRI7vmsk,1301
|
@@ -51,24 +52,27 @@ prediction_market_agent_tooling/markets/metaculus/data_models.py,sha256=Suxa7xEL
|
|
51
52
|
prediction_market_agent_tooling/markets/metaculus/metaculus.py,sha256=86TIx6cavEWc8Cv4KpZxSvwiSw9oFybXE3YB49pg-CA,4377
|
52
53
|
prediction_market_agent_tooling/markets/omen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
53
54
|
prediction_market_agent_tooling/markets/omen/data_models.py,sha256=uT8ILKrg2g4jGodPxtolPErk25buNzMYndb01ZL2dYE,28421
|
54
|
-
prediction_market_agent_tooling/markets/omen/omen.py,sha256=
|
55
|
-
prediction_market_agent_tooling/markets/omen/
|
56
|
-
prediction_market_agent_tooling/markets/omen/
|
55
|
+
prediction_market_agent_tooling/markets/omen/omen.py,sha256=xNHYn5diKjKlkeKoYNr8DrE0gSMsU8poGhxBjw2PZow,51783
|
56
|
+
prediction_market_agent_tooling/markets/omen/omen_constants.py,sha256=D9oflYKafLQiHYtB5sScMHqmXyzM8JP8J0yATmc4SQQ,233
|
57
|
+
prediction_market_agent_tooling/markets/omen/omen_contracts.py,sha256=EXqBlVivbmW8aBQ65O09X2xkyesHAop49GUl1tUffWA,28648
|
58
|
+
prediction_market_agent_tooling/markets/omen/omen_resolving.py,sha256=E1BVDvQd1qYtCxmfC94kJtGkmQqpGPHL3zTkcs5wW6M,9697
|
57
59
|
prediction_market_agent_tooling/markets/omen/omen_subgraph_handler.py,sha256=mZ0CgKfHj0gLFq9plNpBhNqMuclb8V3qNagWfLYcpUc,38806
|
58
60
|
prediction_market_agent_tooling/markets/polymarket/api.py,sha256=UZ4_TG8ceb9Y-qgsOKs8Qiv8zDt957QkT8IX2c83yqo,4800
|
59
61
|
prediction_market_agent_tooling/markets/polymarket/data_models.py,sha256=Fd5PI5y3mJM8VHExBhWFWEnuuIKxQmIAXgBuoPDvNjw,4341
|
60
62
|
prediction_market_agent_tooling/markets/polymarket/data_models_web.py,sha256=VZhVccTApygSKMmy6Au2G02JCJOKJnR_oVeKlaesuSg,12548
|
61
63
|
prediction_market_agent_tooling/markets/polymarket/polymarket.py,sha256=NRoZK71PtH8kkangMqme7twcAXhRJSSabbmOir-UnAI,3418
|
62
64
|
prediction_market_agent_tooling/markets/polymarket/utils.py,sha256=DImFxeMg8lTfsEDZ8FavndW38TfUsCkawcVGnucsuGo,2029
|
63
|
-
prediction_market_agent_tooling/markets/seer/data_models.py,sha256=
|
64
|
-
prediction_market_agent_tooling/markets/seer/
|
65
|
+
prediction_market_agent_tooling/markets/seer/data_models.py,sha256=DmxkAfusRbupqBDjohSFhsYyW7WjKZ1sQKpm8xeAMi4,2017
|
66
|
+
prediction_market_agent_tooling/markets/seer/seer.py,sha256=l87L82M-RHMBJjfdtNXWgGLc979n2Fub9Z702zE8I9c,3351
|
67
|
+
prediction_market_agent_tooling/markets/seer/seer_contracts.py,sha256=E7CYAKZiK6cg3dyj1kJuIPKSYYUft98F64shF5S0g4s,2730
|
68
|
+
prediction_market_agent_tooling/markets/seer/seer_subgraph_handler.py,sha256=KraQe4GgbdMcYnvpEJqcSHXQqgyDiC7IjkIOHAfma9s,5528
|
65
69
|
prediction_market_agent_tooling/monitor/financial_metrics/financial_metrics.py,sha256=fjIgjDIx5MhH5mwf7S0cspLOOSU3elYLhGYoIiM26mU,2746
|
66
70
|
prediction_market_agent_tooling/monitor/markets/manifold.py,sha256=TS4ERwTfQnot8dhekNyVNhJYf5ysYsjF-9v5_kM3aVI,3334
|
67
71
|
prediction_market_agent_tooling/monitor/markets/metaculus.py,sha256=LOnyWWBFdg10-cTWdb76nOsNjDloO8OfMT85GBzRCFI,1455
|
68
72
|
prediction_market_agent_tooling/monitor/markets/omen.py,sha256=EqiJYTvDbSu7fBpbrBmCuf3fc6GHr4MxWrBGa69MIyc,3305
|
69
73
|
prediction_market_agent_tooling/monitor/markets/polymarket.py,sha256=wak8o4BYaGbLpshQD12OrsqNABdanyID6ql95lEG2io,1870
|
70
|
-
prediction_market_agent_tooling/monitor/monitor.py,sha256=
|
71
|
-
prediction_market_agent_tooling/monitor/monitor_app.py,sha256
|
74
|
+
prediction_market_agent_tooling/monitor/monitor.py,sha256=4jw_1aDUoWi9kTET8usy_k5hwhANR8m522aAjHWmvMI,14161
|
75
|
+
prediction_market_agent_tooling/monitor/monitor_app.py,sha256=-_6w_ZvQ-Ad5qaeuo7NKTXUOOZ_6OrR8jMe25BGOY4k,4615
|
72
76
|
prediction_market_agent_tooling/monitor/monitor_settings.py,sha256=Xiozs3AsufuJ04JOe1vjUri-IAMWHjjmc2ugGGiHNH4,947
|
73
77
|
prediction_market_agent_tooling/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
74
78
|
prediction_market_agent_tooling/tools/balances.py,sha256=PhLUKHKJR5Fx9j2EcaUzuQRnnZJM10cw70SxVdsELlI,962
|
@@ -80,8 +84,9 @@ prediction_market_agent_tooling/tools/betting_strategies/utils.py,sha256=kpIb-ci
|
|
80
84
|
prediction_market_agent_tooling/tools/caches/db_cache.py,sha256=aafau_n_AUbLIwkyIRiTPgKB0dmM0767mSqyPDLF2A4,10576
|
81
85
|
prediction_market_agent_tooling/tools/caches/inmemory_cache.py,sha256=ZW5iI5rmjqeAebu5T7ftRnlkxiL02IC-MxCfDB80x7w,1506
|
82
86
|
prediction_market_agent_tooling/tools/caches/serializers.py,sha256=vFDx4fsPxclXp2q0sv27j4al_M_Tj9aR2JJP-xNHQXA,2151
|
83
|
-
prediction_market_agent_tooling/tools/contract.py,sha256=
|
87
|
+
prediction_market_agent_tooling/tools/contract.py,sha256=JkkrXm75_XUZ33jVlXF7v-Ge9RLSfXQeY523H_kuThQ,26069
|
84
88
|
prediction_market_agent_tooling/tools/costs.py,sha256=EaAJ7v9laD4VEV3d8B44M4u3_oEO_H16jRVCdoZ93Uw,954
|
89
|
+
prediction_market_agent_tooling/tools/cow/cow_order.py,sha256=ohriN_65BZ69f_BV6bNg_AwZjidip4yi4d2G6Ddy5Qg,4238
|
85
90
|
prediction_market_agent_tooling/tools/custom_exceptions.py,sha256=Fh8z1fbwONvP4-j7AmV_PuEcoqb6-QXa9PJ9m7guMcM,93
|
86
91
|
prediction_market_agent_tooling/tools/data_models.py,sha256=jDQ7FU0QQhXlcgJh5VZZGwDTYP2OPAqKPHZFewCPAUY,732
|
87
92
|
prediction_market_agent_tooling/tools/datetime_utc.py,sha256=8_WackjtjC8zHXrhQFTGQ6e6Fz_6llWoKR4CSFvIv9I,2766
|
@@ -106,11 +111,14 @@ prediction_market_agent_tooling/tools/singleton.py,sha256=CiIELUiI-OeS7U7eeHEt0r
|
|
106
111
|
prediction_market_agent_tooling/tools/streamlit_user_login.py,sha256=NXEqfjT9Lc9QtliwSGRASIz1opjQ7Btme43H4qJbzgE,3010
|
107
112
|
prediction_market_agent_tooling/tools/tavily/tavily_models.py,sha256=5ldQs1pZe6uJ5eDAuP4OLpzmcqYShlIV67kttNFvGS0,342
|
108
113
|
prediction_market_agent_tooling/tools/tavily/tavily_search.py,sha256=Kw2mXNkMTYTEe1MBSTqhQmLoeXtgb6CkmHlcAJvhtqE,3809
|
114
|
+
prediction_market_agent_tooling/tools/tokens/auto_deposit.py,sha256=o8_ERfPL-ps9FLvH5vgdiSRJQ4dZONJw9KK9sHgeP2I,6390
|
115
|
+
prediction_market_agent_tooling/tools/tokens/auto_withdraw.py,sha256=B02maQkl3wNptWFtZdnDosICJE5BfnLUVqxp5uJIaPA,2353
|
116
|
+
prediction_market_agent_tooling/tools/tokens/main_token.py,sha256=5iHO7-iehSlXuue6ocVrr4IsklVjm7QHIwln4BsebJA,573
|
109
117
|
prediction_market_agent_tooling/tools/transaction_cache.py,sha256=K5YKNL2_tR10Iw2TD9fuP-CTGpBbZtNdgbd0B_R7pjg,1814
|
110
118
|
prediction_market_agent_tooling/tools/utils.py,sha256=jLG4nbEoIzzJiZ4RgMx4Q969Zdl0p0s63p8uET_0Fuw,6440
|
111
119
|
prediction_market_agent_tooling/tools/web3_utils.py,sha256=wqUDCed3iNrn1Wao1iwGN6tzIrhpzrTRj319wlveJEo,12275
|
112
|
-
prediction_market_agent_tooling-0.57.
|
113
|
-
prediction_market_agent_tooling-0.57.
|
114
|
-
prediction_market_agent_tooling-0.57.
|
115
|
-
prediction_market_agent_tooling-0.57.
|
116
|
-
prediction_market_agent_tooling-0.57.
|
120
|
+
prediction_market_agent_tooling-0.57.18.dist-info/LICENSE,sha256=6or154nLLU6bELzjh0mCreFjt0m2v72zLi3yHE0QbeE,7650
|
121
|
+
prediction_market_agent_tooling-0.57.18.dist-info/METADATA,sha256=KXSS97cfCzPxg-0Q8DQr7zV8UW6lUkYTkgss3vAc1uI,8540
|
122
|
+
prediction_market_agent_tooling-0.57.18.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
123
|
+
prediction_market_agent_tooling-0.57.18.dist-info/entry_points.txt,sha256=m8PukHbeH5g0IAAmOf_1Ahm-sGAMdhSSRQmwtpmi2s8,81
|
124
|
+
prediction_market_agent_tooling-0.57.18.dist-info/RECORD,,
|
File without changes
|
File without changes
|