prediction-market-agent-tooling 0.57.6__py3-none-any.whl → 0.57.8__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/agentcommunication.abi.json +291 -0
- prediction_market_agent_tooling/markets/seer/data_models.py +5 -1
- prediction_market_agent_tooling/markets/seer/seer_subgraph_handler.py +1 -1
- prediction_market_agent_tooling/tools/caches/db_cache.py +9 -3
- prediction_market_agent_tooling/tools/contract.py +84 -0
- prediction_market_agent_tooling/tools/data_models.py +23 -0
- prediction_market_agent_tooling/tools/db/db_manager.py +10 -9
- prediction_market_agent_tooling/tools/relevant_news_analysis/relevant_news_cache.py +3 -1
- {prediction_market_agent_tooling-0.57.6.dist-info → prediction_market_agent_tooling-0.57.8.dist-info}/METADATA +1 -1
- {prediction_market_agent_tooling-0.57.6.dist-info → prediction_market_agent_tooling-0.57.8.dist-info}/RECORD +13 -11
- {prediction_market_agent_tooling-0.57.6.dist-info → prediction_market_agent_tooling-0.57.8.dist-info}/LICENSE +0 -0
- {prediction_market_agent_tooling-0.57.6.dist-info → prediction_market_agent_tooling-0.57.8.dist-info}/WHEEL +0 -0
- {prediction_market_agent_tooling-0.57.6.dist-info → prediction_market_agent_tooling-0.57.8.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,291 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"type": "constructor",
|
4
|
+
"inputs": [],
|
5
|
+
"stateMutability": "nonpayable"
|
6
|
+
},
|
7
|
+
{
|
8
|
+
"type": "function",
|
9
|
+
"name": "adjustMinimumValueForSendingMessage",
|
10
|
+
"inputs": [
|
11
|
+
{
|
12
|
+
"name": "newValue",
|
13
|
+
"type": "uint256",
|
14
|
+
"internalType": "uint256"
|
15
|
+
}
|
16
|
+
],
|
17
|
+
"outputs": [],
|
18
|
+
"stateMutability": "nonpayable"
|
19
|
+
},
|
20
|
+
{
|
21
|
+
"type": "function",
|
22
|
+
"name": "countMessages",
|
23
|
+
"inputs": [
|
24
|
+
{
|
25
|
+
"name": "agentAddress",
|
26
|
+
"type": "address",
|
27
|
+
"internalType": "address"
|
28
|
+
}
|
29
|
+
],
|
30
|
+
"outputs": [
|
31
|
+
{
|
32
|
+
"name": "",
|
33
|
+
"type": "uint256",
|
34
|
+
"internalType": "uint256"
|
35
|
+
}
|
36
|
+
],
|
37
|
+
"stateMutability": "view"
|
38
|
+
},
|
39
|
+
{
|
40
|
+
"type": "function",
|
41
|
+
"name": "getAtIndex",
|
42
|
+
"inputs": [
|
43
|
+
{
|
44
|
+
"name": "agentAddress",
|
45
|
+
"type": "address",
|
46
|
+
"internalType": "address"
|
47
|
+
},
|
48
|
+
{
|
49
|
+
"name": "idx",
|
50
|
+
"type": "uint256",
|
51
|
+
"internalType": "uint256"
|
52
|
+
}
|
53
|
+
],
|
54
|
+
"outputs": [
|
55
|
+
{
|
56
|
+
"name": "",
|
57
|
+
"type": "tuple",
|
58
|
+
"internalType": "struct DoubleEndedStructQueue.MessageContainer",
|
59
|
+
"components": [
|
60
|
+
{
|
61
|
+
"name": "sender",
|
62
|
+
"type": "address",
|
63
|
+
"internalType": "address"
|
64
|
+
},
|
65
|
+
{
|
66
|
+
"name": "recipient",
|
67
|
+
"type": "address",
|
68
|
+
"internalType": "address"
|
69
|
+
},
|
70
|
+
{
|
71
|
+
"name": "message",
|
72
|
+
"type": "bytes",
|
73
|
+
"internalType": "bytes"
|
74
|
+
},
|
75
|
+
{
|
76
|
+
"name": "value",
|
77
|
+
"type": "uint256",
|
78
|
+
"internalType": "uint256"
|
79
|
+
}
|
80
|
+
]
|
81
|
+
}
|
82
|
+
],
|
83
|
+
"stateMutability": "view"
|
84
|
+
},
|
85
|
+
{
|
86
|
+
"type": "function",
|
87
|
+
"name": "minimumValueForSendingMessageInWei",
|
88
|
+
"inputs": [],
|
89
|
+
"outputs": [
|
90
|
+
{
|
91
|
+
"name": "",
|
92
|
+
"type": "uint256",
|
93
|
+
"internalType": "uint256"
|
94
|
+
}
|
95
|
+
],
|
96
|
+
"stateMutability": "view"
|
97
|
+
},
|
98
|
+
{
|
99
|
+
"type": "function",
|
100
|
+
"name": "owner",
|
101
|
+
"inputs": [],
|
102
|
+
"outputs": [
|
103
|
+
{
|
104
|
+
"name": "",
|
105
|
+
"type": "address",
|
106
|
+
"internalType": "address"
|
107
|
+
}
|
108
|
+
],
|
109
|
+
"stateMutability": "view"
|
110
|
+
},
|
111
|
+
{
|
112
|
+
"type": "function",
|
113
|
+
"name": "popNextMessage",
|
114
|
+
"inputs": [
|
115
|
+
{
|
116
|
+
"name": "agentAddress",
|
117
|
+
"type": "address",
|
118
|
+
"internalType": "address"
|
119
|
+
}
|
120
|
+
],
|
121
|
+
"outputs": [
|
122
|
+
{
|
123
|
+
"name": "",
|
124
|
+
"type": "tuple",
|
125
|
+
"internalType": "struct DoubleEndedStructQueue.MessageContainer",
|
126
|
+
"components": [
|
127
|
+
{
|
128
|
+
"name": "sender",
|
129
|
+
"type": "address",
|
130
|
+
"internalType": "address"
|
131
|
+
},
|
132
|
+
{
|
133
|
+
"name": "recipient",
|
134
|
+
"type": "address",
|
135
|
+
"internalType": "address"
|
136
|
+
},
|
137
|
+
{
|
138
|
+
"name": "message",
|
139
|
+
"type": "bytes",
|
140
|
+
"internalType": "bytes"
|
141
|
+
},
|
142
|
+
{
|
143
|
+
"name": "value",
|
144
|
+
"type": "uint256",
|
145
|
+
"internalType": "uint256"
|
146
|
+
}
|
147
|
+
]
|
148
|
+
}
|
149
|
+
],
|
150
|
+
"stateMutability": "nonpayable"
|
151
|
+
},
|
152
|
+
{
|
153
|
+
"type": "function",
|
154
|
+
"name": "queues",
|
155
|
+
"inputs": [
|
156
|
+
{
|
157
|
+
"name": "",
|
158
|
+
"type": "address",
|
159
|
+
"internalType": "address"
|
160
|
+
}
|
161
|
+
],
|
162
|
+
"outputs": [
|
163
|
+
{
|
164
|
+
"name": "_begin",
|
165
|
+
"type": "uint128",
|
166
|
+
"internalType": "uint128"
|
167
|
+
},
|
168
|
+
{
|
169
|
+
"name": "_end",
|
170
|
+
"type": "uint128",
|
171
|
+
"internalType": "uint128"
|
172
|
+
}
|
173
|
+
],
|
174
|
+
"stateMutability": "view"
|
175
|
+
},
|
176
|
+
{
|
177
|
+
"type": "function",
|
178
|
+
"name": "renounceOwnership",
|
179
|
+
"inputs": [],
|
180
|
+
"outputs": [],
|
181
|
+
"stateMutability": "nonpayable"
|
182
|
+
},
|
183
|
+
{
|
184
|
+
"type": "function",
|
185
|
+
"name": "sendMessage",
|
186
|
+
"inputs": [
|
187
|
+
{
|
188
|
+
"name": "agentAddress",
|
189
|
+
"type": "address",
|
190
|
+
"internalType": "address"
|
191
|
+
},
|
192
|
+
{
|
193
|
+
"name": "message",
|
194
|
+
"type": "bytes",
|
195
|
+
"internalType": "bytes"
|
196
|
+
}
|
197
|
+
],
|
198
|
+
"outputs": [],
|
199
|
+
"stateMutability": "payable"
|
200
|
+
},
|
201
|
+
{
|
202
|
+
"type": "function",
|
203
|
+
"name": "transferOwnership",
|
204
|
+
"inputs": [
|
205
|
+
{
|
206
|
+
"name": "newOwner",
|
207
|
+
"type": "address",
|
208
|
+
"internalType": "address"
|
209
|
+
}
|
210
|
+
],
|
211
|
+
"outputs": [],
|
212
|
+
"stateMutability": "nonpayable"
|
213
|
+
},
|
214
|
+
{
|
215
|
+
"type": "event",
|
216
|
+
"name": "LogMessage",
|
217
|
+
"inputs": [
|
218
|
+
{
|
219
|
+
"name": "sender",
|
220
|
+
"type": "address",
|
221
|
+
"indexed": true,
|
222
|
+
"internalType": "address"
|
223
|
+
},
|
224
|
+
{
|
225
|
+
"name": "agentAddress",
|
226
|
+
"type": "address",
|
227
|
+
"indexed": true,
|
228
|
+
"internalType": "address"
|
229
|
+
},
|
230
|
+
{
|
231
|
+
"name": "message",
|
232
|
+
"type": "bytes",
|
233
|
+
"indexed": false,
|
234
|
+
"internalType": "bytes"
|
235
|
+
},
|
236
|
+
{
|
237
|
+
"name": "value",
|
238
|
+
"type": "uint256",
|
239
|
+
"indexed": false,
|
240
|
+
"internalType": "uint256"
|
241
|
+
}
|
242
|
+
],
|
243
|
+
"anonymous": false
|
244
|
+
},
|
245
|
+
{
|
246
|
+
"type": "event",
|
247
|
+
"name": "OwnershipTransferred",
|
248
|
+
"inputs": [
|
249
|
+
{
|
250
|
+
"name": "previousOwner",
|
251
|
+
"type": "address",
|
252
|
+
"indexed": true,
|
253
|
+
"internalType": "address"
|
254
|
+
},
|
255
|
+
{
|
256
|
+
"name": "newOwner",
|
257
|
+
"type": "address",
|
258
|
+
"indexed": true,
|
259
|
+
"internalType": "address"
|
260
|
+
}
|
261
|
+
],
|
262
|
+
"anonymous": false
|
263
|
+
},
|
264
|
+
{
|
265
|
+
"type": "error",
|
266
|
+
"name": "MessageNotSentByAgent",
|
267
|
+
"inputs": []
|
268
|
+
},
|
269
|
+
{
|
270
|
+
"type": "error",
|
271
|
+
"name": "OwnableInvalidOwner",
|
272
|
+
"inputs": [
|
273
|
+
{
|
274
|
+
"name": "owner",
|
275
|
+
"type": "address",
|
276
|
+
"internalType": "address"
|
277
|
+
}
|
278
|
+
]
|
279
|
+
},
|
280
|
+
{
|
281
|
+
"type": "error",
|
282
|
+
"name": "OwnableUnauthorizedAccount",
|
283
|
+
"inputs": [
|
284
|
+
{
|
285
|
+
"name": "account",
|
286
|
+
"type": "address",
|
287
|
+
"internalType": "address"
|
288
|
+
}
|
289
|
+
]
|
290
|
+
}
|
291
|
+
]
|
@@ -3,13 +3,17 @@ from pydantic import BaseModel, ConfigDict, Field
|
|
3
3
|
from prediction_market_agent_tooling.gtypes import HexBytes
|
4
4
|
|
5
5
|
|
6
|
+
class SeerParentMarket(BaseModel):
|
7
|
+
id: HexBytes
|
8
|
+
|
9
|
+
|
6
10
|
class SeerMarket(BaseModel):
|
7
11
|
model_config = ConfigDict(populate_by_name=True)
|
8
12
|
|
9
13
|
id: HexBytes
|
10
14
|
title: str = Field(alias="marketName")
|
11
15
|
outcomes: list[str]
|
12
|
-
parent_market:
|
16
|
+
parent_market: SeerParentMarket | None = Field(alias="parentMarket")
|
13
17
|
wrapped_tokens: list[HexBytes] = Field(alias="wrappedTokens")
|
14
18
|
|
15
19
|
|
@@ -47,7 +47,7 @@ class SeerSubgraphHandler(BaseSubgraphHandler):
|
|
47
47
|
markets_field.creator,
|
48
48
|
markets_field.marketName,
|
49
49
|
markets_field.outcomes,
|
50
|
-
markets_field.parentMarket,
|
50
|
+
markets_field.parentMarket.id,
|
51
51
|
markets_field.finalizeTs,
|
52
52
|
markets_field.wrappedTokens,
|
53
53
|
]
|
@@ -98,7 +98,9 @@ def db_cache(
|
|
98
98
|
if not api_keys.ENABLE_CACHE:
|
99
99
|
return func(*args, **kwargs)
|
100
100
|
|
101
|
-
DBManager(api_keys).create_tables(
|
101
|
+
DBManager(api_keys.sqlalchemy_db_url.get_secret_value()).create_tables(
|
102
|
+
[FunctionCache]
|
103
|
+
)
|
102
104
|
|
103
105
|
# Convert *args and **kwargs to a single dictionary, where we have names for arguments passed as args as well.
|
104
106
|
signature = inspect.signature(func)
|
@@ -143,7 +145,9 @@ def db_cache(
|
|
143
145
|
return_type
|
144
146
|
)
|
145
147
|
|
146
|
-
with DBManager(
|
148
|
+
with DBManager(
|
149
|
+
api_keys.sqlalchemy_db_url.get_secret_value()
|
150
|
+
).get_session() as session:
|
147
151
|
# Try to get cached result
|
148
152
|
statement = (
|
149
153
|
select(FunctionCache)
|
@@ -196,7 +200,9 @@ def db_cache(
|
|
196
200
|
result=computed_result,
|
197
201
|
created_at=utcnow(),
|
198
202
|
)
|
199
|
-
with DBManager(
|
203
|
+
with DBManager(
|
204
|
+
api_keys.sqlalchemy_db_url.get_secret_value()
|
205
|
+
).get_session() as session:
|
200
206
|
logger.info(f"Saving {cache_entry} into database.")
|
201
207
|
session.add(cache_entry)
|
202
208
|
session.commit()
|
@@ -18,6 +18,8 @@ from prediction_market_agent_tooling.gtypes import (
|
|
18
18
|
TxReceipt,
|
19
19
|
Wei,
|
20
20
|
)
|
21
|
+
from prediction_market_agent_tooling.tools.data_models import MessageContainer
|
22
|
+
from prediction_market_agent_tooling.tools.hexbytes_custom import HexBytes
|
21
23
|
from prediction_market_agent_tooling.tools.utils import DatetimeUTC, should_not_happen
|
22
24
|
from prediction_market_agent_tooling.tools.web3_utils import (
|
23
25
|
call_function_on_contract,
|
@@ -533,6 +535,88 @@ class DebuggingContract(ContractOnGnosisChain):
|
|
533
535
|
)
|
534
536
|
|
535
537
|
|
538
|
+
class AgentCommunicationContract(ContractOnGnosisChain):
|
539
|
+
# Contract ABI taken from built https://github.com/gnosis/labs-contracts.
|
540
|
+
abi: ABI = abi_field_validator(
|
541
|
+
os.path.join(
|
542
|
+
os.path.dirname(os.path.realpath(__file__)),
|
543
|
+
"../abis/agentcommunication.abi.json",
|
544
|
+
)
|
545
|
+
)
|
546
|
+
|
547
|
+
address: ChecksumAddress = Web3.to_checksum_address(
|
548
|
+
"0x62872578920427ae24b2527697dAb90CD1F4CA45"
|
549
|
+
)
|
550
|
+
|
551
|
+
def count_unseen_messages(
|
552
|
+
self,
|
553
|
+
agent_address: ChecksumAddress,
|
554
|
+
web3: Web3 | None = None,
|
555
|
+
) -> int:
|
556
|
+
unseen_message_count: int = self.call(
|
557
|
+
"countMessages", function_params=[agent_address], web3=web3
|
558
|
+
)
|
559
|
+
return unseen_message_count
|
560
|
+
|
561
|
+
def get_at_index(
|
562
|
+
self,
|
563
|
+
agent_address: ChecksumAddress,
|
564
|
+
idx: int,
|
565
|
+
web3: Web3 | None = None,
|
566
|
+
) -> MessageContainer:
|
567
|
+
message_container_raw: t.Tuple[t.Any] = self.call(
|
568
|
+
"getAtIndex", function_params=[agent_address, idx], web3=web3
|
569
|
+
)
|
570
|
+
return MessageContainer.from_tuple(message_container_raw)
|
571
|
+
|
572
|
+
def pop_message(
|
573
|
+
self,
|
574
|
+
api_keys: APIKeys,
|
575
|
+
agent_address: ChecksumAddress,
|
576
|
+
web3: Web3 | None = None,
|
577
|
+
) -> MessageContainer:
|
578
|
+
"""
|
579
|
+
Retrieves and removes the first message from the agent's message queue.
|
580
|
+
|
581
|
+
This method first retrieves the message at the front of the queue without removing it,
|
582
|
+
allowing us to return the message content directly. The actual removal of the message
|
583
|
+
from the queue is performed by sending a transaction to the contract, which executes
|
584
|
+
the `popNextMessage` function. The transaction receipt is not used to obtain the message
|
585
|
+
content, as it only contains event data, not the returned struct.
|
586
|
+
"""
|
587
|
+
|
588
|
+
# Peek first element before popping.
|
589
|
+
message_container = self.get_at_index(
|
590
|
+
agent_address=agent_address, idx=0, web3=web3
|
591
|
+
)
|
592
|
+
|
593
|
+
# Next, pop that element and discard the transaction receipt.
|
594
|
+
self.send(
|
595
|
+
api_keys=api_keys,
|
596
|
+
function_name="popNextMessage",
|
597
|
+
function_params=[agent_address],
|
598
|
+
web3=web3,
|
599
|
+
)
|
600
|
+
|
601
|
+
return message_container
|
602
|
+
|
603
|
+
def send_message(
|
604
|
+
self,
|
605
|
+
api_keys: APIKeys,
|
606
|
+
agent_address: ChecksumAddress,
|
607
|
+
message: HexBytes,
|
608
|
+
amount_wei: Wei,
|
609
|
+
web3: Web3 | None = None,
|
610
|
+
) -> TxReceipt:
|
611
|
+
return self.send_with_value(
|
612
|
+
api_keys=api_keys,
|
613
|
+
function_name="sendMessage",
|
614
|
+
amount_wei=amount_wei,
|
615
|
+
function_params=[agent_address, message],
|
616
|
+
web3=web3,
|
617
|
+
)
|
618
|
+
|
619
|
+
|
536
620
|
def contract_implements_function(
|
537
621
|
contract_address: ChecksumAddress,
|
538
622
|
function_name: str,
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import typing as t
|
2
|
+
|
3
|
+
from pydantic import BaseModel, ConfigDict, Field
|
4
|
+
|
5
|
+
from prediction_market_agent_tooling.gtypes import ChecksumAddress, HexBytes, Wei
|
6
|
+
|
7
|
+
|
8
|
+
# Taken from https://github.com/gnosis/labs-contracts/blob/main/src/NFT/DoubleEndedStructQueue.sol
|
9
|
+
class MessageContainer(BaseModel):
|
10
|
+
model_config = ConfigDict(populate_by_name=True)
|
11
|
+
sender: ChecksumAddress
|
12
|
+
recipient: ChecksumAddress = Field(alias="agentAddress")
|
13
|
+
message: HexBytes
|
14
|
+
value: Wei
|
15
|
+
|
16
|
+
@staticmethod
|
17
|
+
def from_tuple(values: tuple[t.Any, ...]) -> "MessageContainer":
|
18
|
+
return MessageContainer(
|
19
|
+
sender=values[0],
|
20
|
+
recipient=values[1],
|
21
|
+
message=HexBytes(values[2]),
|
22
|
+
value=values[3],
|
23
|
+
)
|
@@ -15,24 +15,26 @@ from prediction_market_agent_tooling.tools.caches.serializers import (
|
|
15
15
|
class DBManager:
|
16
16
|
_instances: dict[str, "DBManager"] = {}
|
17
17
|
|
18
|
-
def __new__(cls,
|
19
|
-
sqlalchemy_db_url
|
18
|
+
def __new__(cls, sqlalchemy_db_url: str | None = None) -> "DBManager":
|
19
|
+
if sqlalchemy_db_url is None:
|
20
|
+
sqlalchemy_db_url = APIKeys().sqlalchemy_db_url.get_secret_value()
|
21
|
+
|
20
22
|
# Hash the secret value to not store secrets in plain text.
|
21
|
-
url_hash = hashlib.md5(
|
22
|
-
sqlalchemy_db_url.get_secret_value().encode()
|
23
|
-
).hexdigest()
|
23
|
+
url_hash = hashlib.md5(sqlalchemy_db_url.encode()).hexdigest()
|
24
24
|
# Return singleton per database connection.
|
25
25
|
if url_hash not in cls._instances:
|
26
26
|
instance = super(DBManager, cls).__new__(cls)
|
27
27
|
cls._instances[url_hash] = instance
|
28
28
|
return cls._instances[url_hash]
|
29
29
|
|
30
|
-
def __init__(self,
|
30
|
+
def __init__(self, sqlalchemy_db_url: str | None = None) -> None:
|
31
31
|
if hasattr(self, "_initialized"):
|
32
32
|
return
|
33
|
-
sqlalchemy_db_url = (
|
33
|
+
sqlalchemy_db_url = (
|
34
|
+
sqlalchemy_db_url or APIKeys().sqlalchemy_db_url.get_secret_value()
|
35
|
+
)
|
34
36
|
self._engine = create_engine(
|
35
|
-
sqlalchemy_db_url
|
37
|
+
sqlalchemy_db_url,
|
36
38
|
json_serializer=json_serializer,
|
37
39
|
json_deserializer=json_deserializer,
|
38
40
|
pool_size=2,
|
@@ -53,7 +55,6 @@ class DBManager:
|
|
53
55
|
def create_tables(
|
54
56
|
self, sqlmodel_tables: Sequence[type[SQLModel]] | None = None
|
55
57
|
) -> None:
|
56
|
-
# Determine tables to create
|
57
58
|
if sqlmodel_tables is not None:
|
58
59
|
tables_to_create = []
|
59
60
|
for sqlmodel_table in sqlmodel_tables:
|
@@ -25,7 +25,9 @@ class RelevantNewsCacheModel(SQLModel, table=True):
|
|
25
25
|
|
26
26
|
class RelevantNewsResponseCache:
|
27
27
|
def __init__(self, api_keys: APIKeys | None = None):
|
28
|
-
self.db_manager = DBManager(
|
28
|
+
self.db_manager = DBManager(
|
29
|
+
(api_keys or APIKeys()).sqlalchemy_db_url.get_secret_value()
|
30
|
+
)
|
29
31
|
self._initialize_db()
|
30
32
|
|
31
33
|
def _initialize_db(self) -> None:
|
@@ -1,3 +1,4 @@
|
|
1
|
+
prediction_market_agent_tooling/abis/agentcommunication.abi.json,sha256=mNF-20obU-ntbNSybQNd1ozVV6Joc1chq97vmsgbPCo,8707
|
1
2
|
prediction_market_agent_tooling/abis/debuggingcontract.abi.json,sha256=KdkCWmif_WO421RFKhc03kGJiccFqsxsZNrgCd8EH_4,571
|
2
3
|
prediction_market_agent_tooling/abis/depositablewrapper_erc20.abi.json,sha256=m0Wk3uQyLM8apWRRvX4d3u1d77bWVuXfV38D-aV48t0,4612
|
3
4
|
prediction_market_agent_tooling/abis/erc20.abi.json,sha256=b8t6tPUhjBo5dHFq8ipsK-ih_g29dOTbWI0GBZiEWL8,3685
|
@@ -56,8 +57,8 @@ prediction_market_agent_tooling/markets/polymarket/data_models.py,sha256=Fd5PI5y
|
|
56
57
|
prediction_market_agent_tooling/markets/polymarket/data_models_web.py,sha256=VZhVccTApygSKMmy6Au2G02JCJOKJnR_oVeKlaesuSg,12548
|
57
58
|
prediction_market_agent_tooling/markets/polymarket/polymarket.py,sha256=NRoZK71PtH8kkangMqme7twcAXhRJSSabbmOir-UnAI,3418
|
58
59
|
prediction_market_agent_tooling/markets/polymarket/utils.py,sha256=DImFxeMg8lTfsEDZ8FavndW38TfUsCkawcVGnucsuGo,2029
|
59
|
-
prediction_market_agent_tooling/markets/seer/data_models.py,sha256=
|
60
|
-
prediction_market_agent_tooling/markets/seer/seer_subgraph_handler.py,sha256=
|
60
|
+
prediction_market_agent_tooling/markets/seer/data_models.py,sha256=afbwmwGJXUw-F7SE3OgL4ClpXp5yHs5v1Ae7xlFgJdQ,712
|
61
|
+
prediction_market_agent_tooling/markets/seer/seer_subgraph_handler.py,sha256=gVzmLhN9YQdmeYVNAwdZ4_t_bND09ioIJOmXnb8UOvo,5481
|
61
62
|
prediction_market_agent_tooling/monitor/financial_metrics/financial_metrics.py,sha256=fjIgjDIx5MhH5mwf7S0cspLOOSU3elYLhGYoIiM26mU,2746
|
62
63
|
prediction_market_agent_tooling/monitor/markets/manifold.py,sha256=TS4ERwTfQnot8dhekNyVNhJYf5ysYsjF-9v5_kM3aVI,3334
|
63
64
|
prediction_market_agent_tooling/monitor/markets/metaculus.py,sha256=LOnyWWBFdg10-cTWdb76nOsNjDloO8OfMT85GBzRCFI,1455
|
@@ -73,14 +74,15 @@ prediction_market_agent_tooling/tools/betting_strategies/market_moving.py,sha256
|
|
73
74
|
prediction_market_agent_tooling/tools/betting_strategies/minimum_bet_to_win.py,sha256=-FUSuQQgjcWSSnoFxnlAyTeilY6raJABJVM2QKkFqAY,438
|
74
75
|
prediction_market_agent_tooling/tools/betting_strategies/stretch_bet_between.py,sha256=THMXwFlskvzbjnX_OiYtDSzI8XVFyULWfP2525_9UGc,429
|
75
76
|
prediction_market_agent_tooling/tools/betting_strategies/utils.py,sha256=kpIb-ci67Vc1Yqqaa-_S4OUkbhWSIYog4_Iwp69HU_k,97
|
76
|
-
prediction_market_agent_tooling/tools/caches/db_cache.py,sha256=
|
77
|
+
prediction_market_agent_tooling/tools/caches/db_cache.py,sha256=aafau_n_AUbLIwkyIRiTPgKB0dmM0767mSqyPDLF2A4,10576
|
77
78
|
prediction_market_agent_tooling/tools/caches/inmemory_cache.py,sha256=ZW5iI5rmjqeAebu5T7ftRnlkxiL02IC-MxCfDB80x7w,1506
|
78
79
|
prediction_market_agent_tooling/tools/caches/serializers.py,sha256=upSXN5__rmRlzJ6tv1h7FodKzJu9eCkFrN_zeuwroJM,2151
|
79
|
-
prediction_market_agent_tooling/tools/contract.py,sha256=
|
80
|
+
prediction_market_agent_tooling/tools/contract.py,sha256=qRGpr--1FVObPVzXTKV3DpHCqwUAuTt5UmiyGyfhMbg,25796
|
80
81
|
prediction_market_agent_tooling/tools/costs.py,sha256=EaAJ7v9laD4VEV3d8B44M4u3_oEO_H16jRVCdoZ93Uw,954
|
81
82
|
prediction_market_agent_tooling/tools/custom_exceptions.py,sha256=Fh8z1fbwONvP4-j7AmV_PuEcoqb6-QXa9PJ9m7guMcM,93
|
83
|
+
prediction_market_agent_tooling/tools/data_models.py,sha256=jDQ7FU0QQhXlcgJh5VZZGwDTYP2OPAqKPHZFewCPAUY,732
|
82
84
|
prediction_market_agent_tooling/tools/datetime_utc.py,sha256=2JSWF7AXQnv04_D_cu9Vmdkq0TWmGJ1QcK9AeqrA-U8,2765
|
83
|
-
prediction_market_agent_tooling/tools/db/db_manager.py,sha256=
|
85
|
+
prediction_market_agent_tooling/tools/db/db_manager.py,sha256=GtzHH1NLl8HwqC8Z7s6eTlIQXuV0blxfaV2PeQrBnfQ,3013
|
84
86
|
prediction_market_agent_tooling/tools/google_utils.py,sha256=t3_UEEvKX3L0biSIQ560GdRbllQ6eprhK_upE243A-0,3185
|
85
87
|
prediction_market_agent_tooling/tools/hexbytes_custom.py,sha256=Bp94qgPjvjWf1Vb4lNzGFDXRdThw1rJ91vL6r2PWq5E,2096
|
86
88
|
prediction_market_agent_tooling/tools/httpx_cached_client.py,sha256=RxD-hwtZCMctnMwfzy8t51W9Z9gxFGtDYxBIMChazpc,406
|
@@ -95,7 +97,7 @@ prediction_market_agent_tooling/tools/omen/reality_accuracy.py,sha256=M1SF7iSW1g
|
|
95
97
|
prediction_market_agent_tooling/tools/parallelism.py,sha256=6Gou0hbjtMZrYvxjTDFUDZuxmE2nqZVbb6hkg1hF82A,1022
|
96
98
|
prediction_market_agent_tooling/tools/relevant_news_analysis/data_models.py,sha256=95l84aztFaxcRLLcRQ46yKJbIlOEuDAbIGLouyliDzA,1316
|
97
99
|
prediction_market_agent_tooling/tools/relevant_news_analysis/relevant_news_analysis.py,sha256=CddJem7tk15NAudJDwmuL8znTycbR-YI8kTNtd3LzG8,5474
|
98
|
-
prediction_market_agent_tooling/tools/relevant_news_analysis/relevant_news_cache.py,sha256=
|
100
|
+
prediction_market_agent_tooling/tools/relevant_news_analysis/relevant_news_cache.py,sha256=kNWq92T11Knb9mYBZlMiZUzOpKgCd-5adanylQUMRJA,3085
|
99
101
|
prediction_market_agent_tooling/tools/safe.py,sha256=9vxGGLvSPnfy-sxUFDpBTe8omqpGXP7MzvGPp6bRxrU,5197
|
100
102
|
prediction_market_agent_tooling/tools/singleton.py,sha256=CiIELUiI-OeS7U7eeHEt0rnVhtQGzwoUdAgn_7u_GBM,729
|
101
103
|
prediction_market_agent_tooling/tools/streamlit_user_login.py,sha256=NXEqfjT9Lc9QtliwSGRASIz1opjQ7Btme43H4qJbzgE,3010
|
@@ -104,8 +106,8 @@ prediction_market_agent_tooling/tools/tavily/tavily_search.py,sha256=Kw2mXNkMTYT
|
|
104
106
|
prediction_market_agent_tooling/tools/transaction_cache.py,sha256=K5YKNL2_tR10Iw2TD9fuP-CTGpBbZtNdgbd0B_R7pjg,1814
|
105
107
|
prediction_market_agent_tooling/tools/utils.py,sha256=WvuUCHgMCiMq8_wMm5PHNwvLhcdDk2zGKaAM8OUC-qY,6438
|
106
108
|
prediction_market_agent_tooling/tools/web3_utils.py,sha256=wqUDCed3iNrn1Wao1iwGN6tzIrhpzrTRj319wlveJEo,12275
|
107
|
-
prediction_market_agent_tooling-0.57.
|
108
|
-
prediction_market_agent_tooling-0.57.
|
109
|
-
prediction_market_agent_tooling-0.57.
|
110
|
-
prediction_market_agent_tooling-0.57.
|
111
|
-
prediction_market_agent_tooling-0.57.
|
109
|
+
prediction_market_agent_tooling-0.57.8.dist-info/LICENSE,sha256=6or154nLLU6bELzjh0mCreFjt0m2v72zLi3yHE0QbeE,7650
|
110
|
+
prediction_market_agent_tooling-0.57.8.dist-info/METADATA,sha256=Gr3x1leFpFFxK-NiQuvm2_NeZAB8zKNUwfmXP_LUNY8,8188
|
111
|
+
prediction_market_agent_tooling-0.57.8.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
112
|
+
prediction_market_agent_tooling-0.57.8.dist-info/entry_points.txt,sha256=m8PukHbeH5g0IAAmOf_1Ahm-sGAMdhSSRQmwtpmi2s8,81
|
113
|
+
prediction_market_agent_tooling-0.57.8.dist-info/RECORD,,
|
File without changes
|
File without changes
|