prediction-market-agent-tooling 0.41.1__py3-none-any.whl → 0.42.1__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/config.py +10 -1
- prediction_market_agent_tooling/markets/agent_market.py +7 -0
- prediction_market_agent_tooling/markets/categorize.py +1 -1
- prediction_market_agent_tooling/markets/data_models.py +10 -0
- prediction_market_agent_tooling/markets/manifold/api.py +12 -11
- prediction_market_agent_tooling/markets/manifold/data_models.py +34 -0
- prediction_market_agent_tooling/markets/omen/data_models.py +2 -0
- prediction_market_agent_tooling/markets/omen/omen.py +15 -0
- prediction_market_agent_tooling/tools/image_gen/market_thumbnail_gen.py +1 -1
- prediction_market_agent_tooling/tools/is_predictable.py +1 -1
- {prediction_market_agent_tooling-0.41.1.dist-info → prediction_market_agent_tooling-0.42.1.dist-info}/METADATA +3 -3
- {prediction_market_agent_tooling-0.41.1.dist-info → prediction_market_agent_tooling-0.42.1.dist-info}/RECORD +15 -15
- {prediction_market_agent_tooling-0.41.1.dist-info → prediction_market_agent_tooling-0.42.1.dist-info}/LICENSE +0 -0
- {prediction_market_agent_tooling-0.41.1.dist-info → prediction_market_agent_tooling-0.42.1.dist-info}/WHEEL +0 -0
- {prediction_market_agent_tooling-0.41.1.dist-info → prediction_market_agent_tooling-0.42.1.dist-info}/entry_points.txt +0 -0
@@ -3,9 +3,14 @@ import typing as t
|
|
3
3
|
from gnosis.eth import EthereumClient
|
4
4
|
from gnosis.safe import Safe
|
5
5
|
from pydantic.types import SecretStr
|
6
|
+
from pydantic.v1.types import SecretStr as SecretStrV1
|
6
7
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
7
8
|
|
8
|
-
from prediction_market_agent_tooling.gtypes import
|
9
|
+
from prediction_market_agent_tooling.gtypes import (
|
10
|
+
ChecksumAddress,
|
11
|
+
PrivateKey,
|
12
|
+
secretstr_to_v1_secretstr,
|
13
|
+
)
|
9
14
|
from prediction_market_agent_tooling.markets.manifold.api import get_authenticated_user
|
10
15
|
from prediction_market_agent_tooling.tools.utils import check_not_none
|
11
16
|
from prediction_market_agent_tooling.tools.web3_utils import private_key_to_public_key
|
@@ -87,6 +92,10 @@ class APIKeys(BaseSettings):
|
|
87
92
|
self.OPENAI_API_KEY, "OPENAI_API_KEY missing in the environment."
|
88
93
|
)
|
89
94
|
|
95
|
+
@property
|
96
|
+
def openai_api_key_secretstr_v1(self) -> SecretStrV1:
|
97
|
+
return secretstr_to_v1_secretstr(self.openai_api_key)
|
98
|
+
|
90
99
|
@property
|
91
100
|
def graph_api_key(self) -> SecretStr:
|
92
101
|
return check_not_none(
|
@@ -13,6 +13,7 @@ from prediction_market_agent_tooling.markets.data_models import (
|
|
13
13
|
Currency,
|
14
14
|
Position,
|
15
15
|
Resolution,
|
16
|
+
ResolvedBet,
|
16
17
|
TokenAmount,
|
17
18
|
)
|
18
19
|
from prediction_market_agent_tooling.tools.utils import (
|
@@ -163,6 +164,12 @@ class AgentMarket(BaseModel):
|
|
163
164
|
) -> list[Bet]:
|
164
165
|
raise NotImplementedError("Subclasses must implement this method")
|
165
166
|
|
167
|
+
@staticmethod
|
168
|
+
def get_resolved_bets_made_since(
|
169
|
+
better_address: ChecksumAddress, start_time: datetime, end_time: datetime | None
|
170
|
+
) -> list[ResolvedBet]:
|
171
|
+
raise NotImplementedError("Subclasses must implement this method")
|
172
|
+
|
166
173
|
def is_closed(self) -> bool:
|
167
174
|
return self.close_time is not None and self.close_time <= utcnow()
|
168
175
|
|
@@ -24,6 +24,9 @@ class TokenAmount(BaseModel):
|
|
24
24
|
amount: float
|
25
25
|
currency: Currency
|
26
26
|
|
27
|
+
def __str__(self) -> str:
|
28
|
+
return f"Amount {self.amount} currency {self.currency}"
|
29
|
+
|
27
30
|
|
28
31
|
BetAmount: TypeAlias = TokenAmount
|
29
32
|
ProfitAmount: TypeAlias = TokenAmount
|
@@ -34,6 +37,10 @@ class Bet(BaseModel):
|
|
34
37
|
outcome: bool
|
35
38
|
created_time: datetime
|
36
39
|
market_question: str
|
40
|
+
market_id: str
|
41
|
+
|
42
|
+
def __str__(self) -> str:
|
43
|
+
return f"Bet for market {self.market_id} for question {self.market_question} created at {self.created_time}: {self.amount} on {self.outcome}"
|
37
44
|
|
38
45
|
|
39
46
|
class ResolvedBet(Bet):
|
@@ -46,6 +53,9 @@ class ResolvedBet(Bet):
|
|
46
53
|
def is_correct(self) -> bool:
|
47
54
|
return self.outcome == self.market_outcome
|
48
55
|
|
56
|
+
def __str__(self) -> str:
|
57
|
+
return f"Resolved bet for market {self.market_id} for question {self.market_question} created at {self.created_time}: {self.amount} on {self.outcome}. Bet was resolved at {self.resolved_time} and was {'correct' if self.is_correct else 'incorrect'}. Profit was {self.profit}"
|
58
|
+
|
49
59
|
|
50
60
|
class Position(BaseModel):
|
51
61
|
market_id: str
|
@@ -12,13 +12,17 @@ from prediction_market_agent_tooling.markets.data_models import (
|
|
12
12
|
ResolvedBet,
|
13
13
|
)
|
14
14
|
from prediction_market_agent_tooling.markets.manifold.data_models import (
|
15
|
+
FullManifoldMarket,
|
15
16
|
ManifoldBet,
|
16
17
|
ManifoldContractMetric,
|
17
18
|
ManifoldMarket,
|
18
19
|
ManifoldUser,
|
19
20
|
)
|
20
21
|
from prediction_market_agent_tooling.tools.parallelism import par_map
|
21
|
-
from prediction_market_agent_tooling.tools.utils import
|
22
|
+
from prediction_market_agent_tooling.tools.utils import (
|
23
|
+
response_list_to_model,
|
24
|
+
response_to_model,
|
25
|
+
)
|
22
26
|
|
23
27
|
"""
|
24
28
|
Python API for Manifold Markets
|
@@ -65,9 +69,7 @@ def get_manifold_binary_markets(
|
|
65
69
|
while True:
|
66
70
|
params["offset"] = offset
|
67
71
|
response = requests.get(url, params=params)
|
68
|
-
response
|
69
|
-
data = response.json()
|
70
|
-
markets = [ManifoldMarket.model_validate(x) for x in data]
|
72
|
+
markets = response_list_to_model(response, ManifoldMarket)
|
71
73
|
|
72
74
|
if not markets:
|
73
75
|
break
|
@@ -152,11 +154,9 @@ def get_authenticated_user(api_key: str) -> ManifoldUser:
|
|
152
154
|
wait=tenacity.wait_fixed(1),
|
153
155
|
after=lambda x: logger.debug(f"get_manifold_market failed, {x.attempt_number=}."),
|
154
156
|
)
|
155
|
-
def get_manifold_market(market_id: str) ->
|
157
|
+
def get_manifold_market(market_id: str) -> FullManifoldMarket:
|
156
158
|
url = f"{MANIFOLD_API_BASE_URL}/v0/market/{market_id}"
|
157
|
-
|
158
|
-
response.raise_for_status()
|
159
|
-
return ManifoldMarket.model_validate(response.json())
|
159
|
+
return response_to_model(requests.get(url), FullManifoldMarket)
|
160
160
|
|
161
161
|
|
162
162
|
@tenacity.retry(
|
@@ -213,6 +213,7 @@ def manifold_to_generic_resolved_bet(
|
|
213
213
|
outcome=bet.get_resolved_boolean_outcome(),
|
214
214
|
created_time=bet.createdTime,
|
215
215
|
market_question=market.question,
|
216
|
+
market_id=market.id,
|
216
217
|
market_outcome=market_outcome,
|
217
218
|
resolved_time=market.resolutionTime,
|
218
219
|
profit=bet.get_profit(market_outcome=market_outcome),
|
@@ -222,6 +223,6 @@ def manifold_to_generic_resolved_bet(
|
|
222
223
|
def get_market_positions(market_id: str, user_id: str) -> list[ManifoldContractMetric]:
|
223
224
|
url = f"{MANIFOLD_API_BASE_URL}/v0/market/{market_id}/positions"
|
224
225
|
params = {"userId": user_id}
|
225
|
-
|
226
|
-
|
227
|
-
|
226
|
+
return response_list_to_model(
|
227
|
+
requests.get(url, params=params), ManifoldContractMetric
|
228
|
+
)
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import typing as t
|
2
2
|
from datetime import datetime, timedelta
|
3
|
+
from enum import Enum
|
3
4
|
|
4
5
|
from pydantic import BaseModel, field_validator
|
5
6
|
|
@@ -19,6 +20,25 @@ class ManifoldPool(BaseModel):
|
|
19
20
|
YES: float
|
20
21
|
|
21
22
|
|
23
|
+
class ManifoldAnswersMode(str, Enum):
|
24
|
+
ANYONE = "ANYONE"
|
25
|
+
ONLY_CREATOR = "ONLY_CREATOR"
|
26
|
+
DISABLED = "DISABLED"
|
27
|
+
|
28
|
+
|
29
|
+
class ManifoldAnswer(BaseModel):
|
30
|
+
createdTime: datetime
|
31
|
+
avatarUrl: str
|
32
|
+
id: str
|
33
|
+
username: str
|
34
|
+
number: int
|
35
|
+
name: str
|
36
|
+
contractId: str
|
37
|
+
text: str
|
38
|
+
userId: str
|
39
|
+
probability: float
|
40
|
+
|
41
|
+
|
22
42
|
class ManifoldMarket(BaseModel):
|
23
43
|
"""
|
24
44
|
https://docs.manifold.markets/api#get-v0markets
|
@@ -84,6 +104,20 @@ class ManifoldMarket(BaseModel):
|
|
84
104
|
return datetime.fromtimestamp(value)
|
85
105
|
|
86
106
|
|
107
|
+
class FullManifoldMarket(ManifoldMarket):
|
108
|
+
# Some of these fields are available only in specific cases, see https://docs.manifold.markets/api#get-v0marketmarketid.
|
109
|
+
answers: list[ManifoldAnswer] | None = None
|
110
|
+
shouldAnswersSumToOne: bool | None = None
|
111
|
+
addAnswersMode: ManifoldAnswersMode | None = None
|
112
|
+
options: dict[str, int | str] | None = None
|
113
|
+
totalBounty: float | None = None
|
114
|
+
bountyLeft: float | None = None
|
115
|
+
description: str | dict[str, t.Any]
|
116
|
+
textDescription: str
|
117
|
+
coverImageUrl: str | None = None
|
118
|
+
groupSlugs: list[str] | None = None
|
119
|
+
|
120
|
+
|
87
121
|
class ProfitCached(BaseModel):
|
88
122
|
daily: Mana
|
89
123
|
weekly: Mana
|
@@ -386,6 +386,7 @@ class OmenBet(BaseModel):
|
|
386
386
|
outcome=self.boolean_outcome,
|
387
387
|
created_time=self.creation_datetime,
|
388
388
|
market_question=self.title,
|
389
|
+
market_id=self.fpmm.id,
|
389
390
|
)
|
390
391
|
|
391
392
|
def to_generic_resolved_bet(self) -> ResolvedBet:
|
@@ -399,6 +400,7 @@ class OmenBet(BaseModel):
|
|
399
400
|
outcome=self.boolean_outcome,
|
400
401
|
created_time=self.creation_datetime,
|
401
402
|
market_question=self.title,
|
403
|
+
market_id=self.fpmm.id,
|
402
404
|
market_outcome=self.fpmm.boolean_outcome,
|
403
405
|
resolved_time=datetime.fromtimestamp(
|
404
406
|
check_not_none(self.fpmm.answerFinalizedTimestamp)
|
@@ -28,6 +28,7 @@ from prediction_market_agent_tooling.markets.data_models import (
|
|
28
28
|
BetAmount,
|
29
29
|
Currency,
|
30
30
|
Position,
|
31
|
+
ResolvedBet,
|
31
32
|
TokenAmount,
|
32
33
|
)
|
33
34
|
from prediction_market_agent_tooling.markets.omen.data_models import (
|
@@ -336,6 +337,20 @@ class OmenAgentMarket(AgentMarket):
|
|
336
337
|
bets.sort(key=lambda x: x.creation_datetime)
|
337
338
|
return [b.to_bet() for b in bets]
|
338
339
|
|
340
|
+
@staticmethod
|
341
|
+
def get_resolved_bets_made_since(
|
342
|
+
better_address: ChecksumAddress, start_time: datetime, end_time: datetime | None
|
343
|
+
) -> list[ResolvedBet]:
|
344
|
+
subgraph_handler = OmenSubgraphHandler()
|
345
|
+
bets = subgraph_handler.get_resolved_bets_with_valid_answer(
|
346
|
+
better_address=better_address,
|
347
|
+
start_time=start_time,
|
348
|
+
end_time=end_time,
|
349
|
+
market_id=None,
|
350
|
+
)
|
351
|
+
generic_bets = [b.to_generic_resolved_bet() for b in bets]
|
352
|
+
return generic_bets
|
353
|
+
|
339
354
|
def get_contract(
|
340
355
|
self,
|
341
356
|
) -> OmenFixedProductMarketMakerContract:
|
@@ -14,7 +14,7 @@ def rewrite_question_into_image_generation_prompt(question: str) -> str:
|
|
14
14
|
llm = ChatOpenAI(
|
15
15
|
model="gpt-4-turbo",
|
16
16
|
temperature=0.0,
|
17
|
-
api_key=APIKeys().
|
17
|
+
api_key=APIKeys().openai_api_key_secretstr_v1,
|
18
18
|
)
|
19
19
|
rewritten = str(
|
20
20
|
llm.invoke(
|
@@ -48,7 +48,7 @@ def is_predictable_binary(
|
|
48
48
|
llm = ChatOpenAI(
|
49
49
|
model=engine,
|
50
50
|
temperature=0.0,
|
51
|
-
api_key=APIKeys().
|
51
|
+
api_key=APIKeys().openai_api_key_secretstr_v1,
|
52
52
|
)
|
53
53
|
|
54
54
|
prompt = ChatPromptTemplate.from_template(template=prompt_template)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: prediction-market-agent-tooling
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.42.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
|
@@ -21,9 +21,9 @@ Requires-Dist: google-cloud-functions (>=1.16.0,<2.0.0)
|
|
21
21
|
Requires-Dist: google-cloud-resource-manager (>=1.12.0,<2.0.0)
|
22
22
|
Requires-Dist: google-cloud-secret-manager (>=2.18.2,<3.0.0)
|
23
23
|
Requires-Dist: isort (>=5.13.2,<6.0.0)
|
24
|
-
Requires-Dist: langchain (>=0.
|
24
|
+
Requires-Dist: langchain (>=0.2.6,<0.3.0) ; extra == "langchain"
|
25
25
|
Requires-Dist: langchain-community (>=0.0.19)
|
26
|
-
Requires-Dist: langchain-openai (>=0.0
|
26
|
+
Requires-Dist: langchain-openai (>=0.1.0,<0.2.0) ; extra == "langchain"
|
27
27
|
Requires-Dist: langfuse (>=2.27.1,<3.0.0)
|
28
28
|
Requires-Dist: loguru (>=0.7.2,<0.8.0)
|
29
29
|
Requires-Dist: numpy (>=1.26.4,<2.0.0)
|
@@ -12,7 +12,7 @@ prediction_market_agent_tooling/benchmark/__init__.py,sha256=47DEQpj8HBSa-_TImW-
|
|
12
12
|
prediction_market_agent_tooling/benchmark/agents.py,sha256=HPIFJvackW110ch3UkktbxhU48gMRVo4gQse84Klhdc,4000
|
13
13
|
prediction_market_agent_tooling/benchmark/benchmark.py,sha256=xiHKzZx5GHSsDerFHMZ9j_LXAXnSaITSvv67iPe3MEU,21095
|
14
14
|
prediction_market_agent_tooling/benchmark/utils.py,sha256=iS1BzyXcCMfMm1Rx--1QCH0pHvBTblTndcDQFbTUJ2s,2897
|
15
|
-
prediction_market_agent_tooling/config.py,sha256=
|
15
|
+
prediction_market_agent_tooling/config.py,sha256=3j1iMiJWntSkqQv5HllJgihgqf9I2_0e0LPncVFRi7g,5260
|
16
16
|
prediction_market_agent_tooling/deploy/agent.py,sha256=TXuQ0L2-dG0tIrJ7srxD3Hbabe_2gILfdBQI-tkl9Og,10522
|
17
17
|
prediction_market_agent_tooling/deploy/agent_example.py,sha256=tqXVA2HSFK3pdZ49tMmta8aKdJFT8JN8WeJ1akjrpBk,909
|
18
18
|
prediction_market_agent_tooling/deploy/constants.py,sha256=M5ty8URipYMGe_G-RzxRydK3AFL6CyvmqCraJUrLBnE,82
|
@@ -21,12 +21,12 @@ prediction_market_agent_tooling/deploy/gcp/kubernetes_models.py,sha256=qYIHRxQLa
|
|
21
21
|
prediction_market_agent_tooling/deploy/gcp/utils.py,sha256=oyW0jgrUT2Tr49c7GlpcMsYNQjoCSOcWis3q-MmVAhU,6089
|
22
22
|
prediction_market_agent_tooling/gtypes.py,sha256=lbV2nsPyhMIRI9olx0_6A06jwTWKYBPGMxyiGVFysag,2467
|
23
23
|
prediction_market_agent_tooling/loggers.py,sha256=ua9rynYmsbOJZjxPIFxRBooomeN08zuLSJ7lxZMDS7w,3133
|
24
|
-
prediction_market_agent_tooling/markets/agent_market.py,sha256=
|
25
|
-
prediction_market_agent_tooling/markets/categorize.py,sha256=
|
26
|
-
prediction_market_agent_tooling/markets/data_models.py,sha256=
|
24
|
+
prediction_market_agent_tooling/markets/agent_market.py,sha256=zUxDOR-fx1roQKdUCN3FsBfnziIL6POTNK1NsMOgLFw,8365
|
25
|
+
prediction_market_agent_tooling/markets/categorize.py,sha256=HyKSFHXPL7Hfe90ahbF7xszamYREUVrPkLcpifw1V9Y,935
|
26
|
+
prediction_market_agent_tooling/markets/data_models.py,sha256=qD0LyFkzimaMkDVE0QO2a4I9fQ8qpO2qPmVzb-0JBik,2085
|
27
27
|
prediction_market_agent_tooling/markets/manifold/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
28
|
-
prediction_market_agent_tooling/markets/manifold/api.py,sha256=
|
29
|
-
prediction_market_agent_tooling/markets/manifold/data_models.py,sha256=
|
28
|
+
prediction_market_agent_tooling/markets/manifold/api.py,sha256=AC2zmkzpBU3P4kyybs7CgPbDg4hLAx3GY5mjgDi7qDo,7221
|
29
|
+
prediction_market_agent_tooling/markets/manifold/data_models.py,sha256=jHqOzOiN21wYvDNyh4VtbGtj4adWr6vA4liOQmh24cc,6239
|
30
30
|
prediction_market_agent_tooling/markets/manifold/manifold.py,sha256=EwRL06E2Y_ZAzr8efwS5yD6p6rnykrcBhqmNDUGZ8Aw,4075
|
31
31
|
prediction_market_agent_tooling/markets/manifold/utils.py,sha256=cPPFWXm3vCYH1jy7_ctJZuQH9ZDaPL4_AgAYzGWkoow,513
|
32
32
|
prediction_market_agent_tooling/markets/markets.py,sha256=Hz3E7LJ5HIjCHQtdU5_Bymav2dYT0dDxKOL0i8mV0mg,3142
|
@@ -34,8 +34,8 @@ prediction_market_agent_tooling/markets/metaculus/api.py,sha256=gvPQVAM5NlCyWzEM
|
|
34
34
|
prediction_market_agent_tooling/markets/metaculus/data_models.py,sha256=6TBy17xntdLBR61QCE5wddwTa_k2D0D8ZgK6p7sGUuc,2448
|
35
35
|
prediction_market_agent_tooling/markets/metaculus/metaculus.py,sha256=KMWksTNFCKxqjeMiuRh5yNarPSv7sH0aDkgeC3fm3Dg,3293
|
36
36
|
prediction_market_agent_tooling/markets/omen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
37
|
-
prediction_market_agent_tooling/markets/omen/data_models.py,sha256=
|
38
|
-
prediction_market_agent_tooling/markets/omen/omen.py,sha256=
|
37
|
+
prediction_market_agent_tooling/markets/omen/data_models.py,sha256=oY-5wvFR4lXaTsmXVKrqrAQ8TWd-mAHLaxI1ETatLOc,14477
|
38
|
+
prediction_market_agent_tooling/markets/omen/omen.py,sha256=VHZmO5_5i3ydzBvvjSas-8AfkmnQ87pMFStYUETQW2Y,38996
|
39
39
|
prediction_market_agent_tooling/markets/omen/omen_contracts.py,sha256=JGXCO9MIVr-DGyoH2sxReAw7ZDTC_ev0UxDpq1QBv5Q,21854
|
40
40
|
prediction_market_agent_tooling/markets/omen/omen_resolving.py,sha256=g77QsQ5WnSI2rzBlX87L_EhWMwobkyXyfRhHQmpAdzo,9012
|
41
41
|
prediction_market_agent_tooling/markets/omen/omen_subgraph_handler.py,sha256=kDbeZ8ImLtBSFz0GoGdCqeC1Xd3_eGMAxvmLFT8kp8Y,25222
|
@@ -65,16 +65,16 @@ prediction_market_agent_tooling/tools/gnosis_rpc.py,sha256=_MYSoyOR2MgAJkop1ERf8
|
|
65
65
|
prediction_market_agent_tooling/tools/google.py,sha256=SfVDxb3oEOUK8mpd0l3mTX9ybrdrTPNM6HjfJ7kfNjA,1794
|
66
66
|
prediction_market_agent_tooling/tools/hexbytes_custom.py,sha256=Bp94qgPjvjWf1Vb4lNzGFDXRdThw1rJ91vL6r2PWq5E,2096
|
67
67
|
prediction_market_agent_tooling/tools/image_gen/image_gen.py,sha256=HzRwBx62hOXBOmrtpkXaP9Qq1Ku03uUGdREocyjLQ_k,1266
|
68
|
-
prediction_market_agent_tooling/tools/image_gen/market_thumbnail_gen.py,sha256=
|
69
|
-
prediction_market_agent_tooling/tools/is_predictable.py,sha256=
|
68
|
+
prediction_market_agent_tooling/tools/image_gen/market_thumbnail_gen.py,sha256=g-2BWS11CS7K6QRNbZRMTX_Xo2xOwjyCdhnwaQygX1Y,1104
|
69
|
+
prediction_market_agent_tooling/tools/is_predictable.py,sha256=radTwyxfUGfE1HCKWlvKl05Cpv_HD7E1d6A_Wm1K5ek,2930
|
70
70
|
prediction_market_agent_tooling/tools/parallelism.py,sha256=8mgkF5sBwFGS5GMvlpzam82Y3p2swPYuNsywpQuy-a4,1508
|
71
71
|
prediction_market_agent_tooling/tools/safe.py,sha256=h0xOO0eNtitClf0fPkn-0oTc6A_bflDTee98V_aiV-A,5195
|
72
72
|
prediction_market_agent_tooling/tools/singleton.py,sha256=CiIELUiI-OeS7U7eeHEt0rnVhtQGzwoUdAgn_7u_GBM,729
|
73
73
|
prediction_market_agent_tooling/tools/streamlit_user_login.py,sha256=NXEqfjT9Lc9QtliwSGRASIz1opjQ7Btme43H4qJbzgE,3010
|
74
74
|
prediction_market_agent_tooling/tools/utils.py,sha256=-G22UEbCRm59bm1RWFdeF55hRsaxgwZVAHvK32-Ye1g,6190
|
75
75
|
prediction_market_agent_tooling/tools/web3_utils.py,sha256=nKRHmdLnWSKd3wpo-cysXGvhhrJ2Yf69sN2FFQfSt6s,10578
|
76
|
-
prediction_market_agent_tooling-0.
|
77
|
-
prediction_market_agent_tooling-0.
|
78
|
-
prediction_market_agent_tooling-0.
|
79
|
-
prediction_market_agent_tooling-0.
|
80
|
-
prediction_market_agent_tooling-0.
|
76
|
+
prediction_market_agent_tooling-0.42.1.dist-info/LICENSE,sha256=6or154nLLU6bELzjh0mCreFjt0m2v72zLi3yHE0QbeE,7650
|
77
|
+
prediction_market_agent_tooling-0.42.1.dist-info/METADATA,sha256=2sleEbYjQ1DxF34LiETR16iXB1HukqtLjeMVKJYRqNQ,7634
|
78
|
+
prediction_market_agent_tooling-0.42.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
79
|
+
prediction_market_agent_tooling-0.42.1.dist-info/entry_points.txt,sha256=m8PukHbeH5g0IAAmOf_1Ahm-sGAMdhSSRQmwtpmi2s8,81
|
80
|
+
prediction_market_agent_tooling-0.42.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|