prediction-market-agent-tooling 0.57.5.dev218__py3-none-any.whl → 0.57.7__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.
@@ -0,0 +1,336 @@
1
+ [
2
+ {
3
+ "inputs": [
4
+ { "internalType": "uint256", "name": "maxSupply", "type": "uint256" }
5
+ ],
6
+ "stateMutability": "nonpayable",
7
+ "type": "constructor"
8
+ },
9
+ {
10
+ "inputs": [
11
+ { "internalType": "address", "name": "sender", "type": "address" },
12
+ { "internalType": "uint256", "name": "tokenId", "type": "uint256" },
13
+ { "internalType": "address", "name": "owner", "type": "address" }
14
+ ],
15
+ "name": "ERC721IncorrectOwner",
16
+ "type": "error"
17
+ },
18
+ {
19
+ "inputs": [
20
+ { "internalType": "address", "name": "operator", "type": "address" },
21
+ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }
22
+ ],
23
+ "name": "ERC721InsufficientApproval",
24
+ "type": "error"
25
+ },
26
+ {
27
+ "inputs": [
28
+ { "internalType": "address", "name": "approver", "type": "address" }
29
+ ],
30
+ "name": "ERC721InvalidApprover",
31
+ "type": "error"
32
+ },
33
+ {
34
+ "inputs": [
35
+ { "internalType": "address", "name": "operator", "type": "address" }
36
+ ],
37
+ "name": "ERC721InvalidOperator",
38
+ "type": "error"
39
+ },
40
+ {
41
+ "inputs": [
42
+ { "internalType": "address", "name": "owner", "type": "address" }
43
+ ],
44
+ "name": "ERC721InvalidOwner",
45
+ "type": "error"
46
+ },
47
+ {
48
+ "inputs": [
49
+ { "internalType": "address", "name": "receiver", "type": "address" }
50
+ ],
51
+ "name": "ERC721InvalidReceiver",
52
+ "type": "error"
53
+ },
54
+ {
55
+ "inputs": [
56
+ { "internalType": "address", "name": "sender", "type": "address" }
57
+ ],
58
+ "name": "ERC721InvalidSender",
59
+ "type": "error"
60
+ },
61
+ {
62
+ "inputs": [
63
+ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }
64
+ ],
65
+ "name": "ERC721NonexistentToken",
66
+ "type": "error"
67
+ },
68
+ {
69
+ "inputs": [
70
+ { "internalType": "address", "name": "owner", "type": "address" }
71
+ ],
72
+ "name": "OwnableInvalidOwner",
73
+ "type": "error"
74
+ },
75
+ {
76
+ "inputs": [
77
+ { "internalType": "address", "name": "account", "type": "address" }
78
+ ],
79
+ "name": "OwnableUnauthorizedAccount",
80
+ "type": "error"
81
+ },
82
+ {
83
+ "anonymous": false,
84
+ "inputs": [
85
+ {
86
+ "indexed": true,
87
+ "internalType": "address",
88
+ "name": "owner",
89
+ "type": "address"
90
+ },
91
+ {
92
+ "indexed": true,
93
+ "internalType": "address",
94
+ "name": "approved",
95
+ "type": "address"
96
+ },
97
+ {
98
+ "indexed": true,
99
+ "internalType": "uint256",
100
+ "name": "tokenId",
101
+ "type": "uint256"
102
+ }
103
+ ],
104
+ "name": "Approval",
105
+ "type": "event"
106
+ },
107
+ {
108
+ "anonymous": false,
109
+ "inputs": [
110
+ {
111
+ "indexed": true,
112
+ "internalType": "address",
113
+ "name": "owner",
114
+ "type": "address"
115
+ },
116
+ {
117
+ "indexed": true,
118
+ "internalType": "address",
119
+ "name": "operator",
120
+ "type": "address"
121
+ },
122
+ {
123
+ "indexed": false,
124
+ "internalType": "bool",
125
+ "name": "approved",
126
+ "type": "bool"
127
+ }
128
+ ],
129
+ "name": "ApprovalForAll",
130
+ "type": "event"
131
+ },
132
+ {
133
+ "anonymous": false,
134
+ "inputs": [
135
+ {
136
+ "indexed": true,
137
+ "internalType": "address",
138
+ "name": "previousOwner",
139
+ "type": "address"
140
+ },
141
+ {
142
+ "indexed": true,
143
+ "internalType": "address",
144
+ "name": "newOwner",
145
+ "type": "address"
146
+ }
147
+ ],
148
+ "name": "OwnershipTransferred",
149
+ "type": "event"
150
+ },
151
+ {
152
+ "anonymous": false,
153
+ "inputs": [
154
+ {
155
+ "indexed": true,
156
+ "internalType": "address",
157
+ "name": "from",
158
+ "type": "address"
159
+ },
160
+ {
161
+ "indexed": true,
162
+ "internalType": "address",
163
+ "name": "to",
164
+ "type": "address"
165
+ },
166
+ {
167
+ "indexed": true,
168
+ "internalType": "uint256",
169
+ "name": "tokenId",
170
+ "type": "uint256"
171
+ }
172
+ ],
173
+ "name": "Transfer",
174
+ "type": "event"
175
+ },
176
+ {
177
+ "inputs": [],
178
+ "name": "MAX_SUPPLY",
179
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
180
+ "stateMutability": "view",
181
+ "type": "function"
182
+ },
183
+ {
184
+ "inputs": [
185
+ { "internalType": "address", "name": "to", "type": "address" },
186
+ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }
187
+ ],
188
+ "name": "approve",
189
+ "outputs": [],
190
+ "stateMutability": "nonpayable",
191
+ "type": "function"
192
+ },
193
+ {
194
+ "inputs": [
195
+ { "internalType": "address", "name": "owner", "type": "address" }
196
+ ],
197
+ "name": "balanceOf",
198
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
199
+ "stateMutability": "view",
200
+ "type": "function"
201
+ },
202
+ {
203
+ "inputs": [
204
+ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }
205
+ ],
206
+ "name": "getApproved",
207
+ "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
208
+ "stateMutability": "view",
209
+ "type": "function"
210
+ },
211
+ {
212
+ "inputs": [
213
+ { "internalType": "address", "name": "owner", "type": "address" },
214
+ { "internalType": "address", "name": "operator", "type": "address" }
215
+ ],
216
+ "name": "isApprovedForAll",
217
+ "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
218
+ "stateMutability": "view",
219
+ "type": "function"
220
+ },
221
+ {
222
+ "inputs": [],
223
+ "name": "name",
224
+ "outputs": [{ "internalType": "string", "name": "", "type": "string" }],
225
+ "stateMutability": "view",
226
+ "type": "function"
227
+ },
228
+ {
229
+ "inputs": [],
230
+ "name": "owner",
231
+ "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
232
+ "stateMutability": "view",
233
+ "type": "function"
234
+ },
235
+ {
236
+ "inputs": [
237
+ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }
238
+ ],
239
+ "name": "ownerOf",
240
+ "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
241
+ "stateMutability": "view",
242
+ "type": "function"
243
+ },
244
+ {
245
+ "inputs": [],
246
+ "name": "renounceOwnership",
247
+ "outputs": [],
248
+ "stateMutability": "nonpayable",
249
+ "type": "function"
250
+ },
251
+ {
252
+ "inputs": [{ "internalType": "address", "name": "to", "type": "address" }],
253
+ "name": "safeMint",
254
+ "outputs": [],
255
+ "stateMutability": "nonpayable",
256
+ "type": "function"
257
+ },
258
+ {
259
+ "inputs": [
260
+ { "internalType": "address", "name": "from", "type": "address" },
261
+ { "internalType": "address", "name": "to", "type": "address" },
262
+ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }
263
+ ],
264
+ "name": "safeTransferFrom",
265
+ "outputs": [],
266
+ "stateMutability": "nonpayable",
267
+ "type": "function"
268
+ },
269
+ {
270
+ "inputs": [
271
+ { "internalType": "address", "name": "from", "type": "address" },
272
+ { "internalType": "address", "name": "to", "type": "address" },
273
+ { "internalType": "uint256", "name": "tokenId", "type": "uint256" },
274
+ { "internalType": "bytes", "name": "data", "type": "bytes" }
275
+ ],
276
+ "name": "safeTransferFrom",
277
+ "outputs": [],
278
+ "stateMutability": "nonpayable",
279
+ "type": "function"
280
+ },
281
+ {
282
+ "inputs": [
283
+ { "internalType": "address", "name": "operator", "type": "address" },
284
+ { "internalType": "bool", "name": "approved", "type": "bool" }
285
+ ],
286
+ "name": "setApprovalForAll",
287
+ "outputs": [],
288
+ "stateMutability": "nonpayable",
289
+ "type": "function"
290
+ },
291
+ {
292
+ "inputs": [
293
+ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" }
294
+ ],
295
+ "name": "supportsInterface",
296
+ "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
297
+ "stateMutability": "view",
298
+ "type": "function"
299
+ },
300
+ {
301
+ "inputs": [],
302
+ "name": "symbol",
303
+ "outputs": [{ "internalType": "string", "name": "", "type": "string" }],
304
+ "stateMutability": "view",
305
+ "type": "function"
306
+ },
307
+ {
308
+ "inputs": [
309
+ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }
310
+ ],
311
+ "name": "tokenURI",
312
+ "outputs": [{ "internalType": "string", "name": "", "type": "string" }],
313
+ "stateMutability": "view",
314
+ "type": "function"
315
+ },
316
+ {
317
+ "inputs": [
318
+ { "internalType": "address", "name": "from", "type": "address" },
319
+ { "internalType": "address", "name": "to", "type": "address" },
320
+ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }
321
+ ],
322
+ "name": "transferFrom",
323
+ "outputs": [],
324
+ "stateMutability": "nonpayable",
325
+ "type": "function"
326
+ },
327
+ {
328
+ "inputs": [
329
+ { "internalType": "address", "name": "newOwner", "type": "address" }
330
+ ],
331
+ "name": "transferOwnership",
332
+ "outputs": [],
333
+ "stateMutability": "nonpayable",
334
+ "type": "function"
335
+ }
336
+ ]
@@ -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([FunctionCache])
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(api_keys).get_session() as session:
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(api_keys).get_session() as session:
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()
@@ -382,6 +382,67 @@ class ContractERC4626BaseClass(ContractERC20BaseClass):
382
382
  return self.convertToShares(amount, web3=web3)
383
383
 
384
384
 
385
+ class ContractOwnableERC721BaseClass(ContractBaseClass):
386
+ abi: ABI = abi_field_validator(
387
+ os.path.join(
388
+ os.path.dirname(os.path.realpath(__file__)),
389
+ "../abis/ownable_erc721.abi.json",
390
+ )
391
+ )
392
+
393
+ def safeMint(
394
+ self,
395
+ api_keys: APIKeys,
396
+ to_address: ChecksumAddress,
397
+ tx_params: t.Optional[TxParams] = None,
398
+ web3: Web3 | None = None,
399
+ ) -> TxReceipt:
400
+ return self.send(
401
+ api_keys=api_keys,
402
+ function_name="safeMint",
403
+ function_params=[to_address],
404
+ tx_params=tx_params,
405
+ web3=web3,
406
+ )
407
+
408
+ def balanceOf(self, owner: ChecksumAddress, web3: Web3 | None = None) -> int:
409
+ balance: int = self.call("balanceOf", [owner], web3=web3)
410
+ return balance
411
+
412
+ def ownerOf(self, tokenId: int, web3: Web3 | None = None) -> ChecksumAddress:
413
+ owner = Web3.to_checksum_address(self.call("ownerOf", [tokenId], web3=web3))
414
+ return owner
415
+
416
+ def name(self, web3: Web3 | None = None) -> str:
417
+ name: str = self.call("name", web3=web3)
418
+ return name
419
+
420
+ def symbol(self, web3: Web3 | None = None) -> str:
421
+ symbol: str = self.call("symbol", web3=web3)
422
+ return symbol
423
+
424
+ def tokenURI(self, tokenId: int, web3: Web3 | None = None) -> str:
425
+ uri: str = self.call("tokenURI", [tokenId], web3=web3)
426
+ return uri
427
+
428
+ def safeTransferFrom(
429
+ self,
430
+ api_keys: APIKeys,
431
+ from_address: ChecksumAddress,
432
+ to_address: ChecksumAddress,
433
+ tokenId: int,
434
+ tx_params: t.Optional[TxParams] = None,
435
+ web3: Web3 | None = None,
436
+ ) -> TxReceipt:
437
+ return self.send(
438
+ api_keys=api_keys,
439
+ function_name="safeTransferFrom",
440
+ function_params=[from_address, to_address, tokenId],
441
+ tx_params=tx_params,
442
+ web3=web3,
443
+ )
444
+
445
+
385
446
  class ContractOnGnosisChain(ContractBaseClass):
386
447
  """
387
448
  Contract base class with Gnosis Chain configuration.
@@ -403,6 +464,14 @@ class ContractERC20OnGnosisChain(ContractERC20BaseClass, ContractOnGnosisChain):
403
464
  """
404
465
 
405
466
 
467
+ class ContractOwnableERC721OnGnosisChain(
468
+ ContractOwnableERC721BaseClass, ContractOnGnosisChain
469
+ ):
470
+ """
471
+ Ownable ERC-721 standard base class with Gnosis Chain configuration.
472
+ """
473
+
474
+
406
475
  class ContractDepositableWrapperERC20OnGnosisChain(
407
476
  ContractDepositableWrapperERC20BaseClass, ContractERC20OnGnosisChain
408
477
  ):
@@ -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, api_keys: APIKeys | None = None) -> "DBManager":
19
- sqlalchemy_db_url = (api_keys or APIKeys()).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, api_keys: APIKeys | None = None) -> None:
30
+ def __init__(self, sqlalchemy_db_url: str | None = None) -> None:
31
31
  if hasattr(self, "_initialized"):
32
32
  return
33
- sqlalchemy_db_url = (api_keys or APIKeys()).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.get_secret_value(),
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(api_keys)
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,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: prediction-market-agent-tooling
3
- Version: 0.57.5.dev218
3
+ Version: 0.57.7
4
4
  Summary: Tools to benchmark, deploy and monitor prediction market agents.
5
5
  Author: Gnosis
6
6
  Requires-Python: >=3.10,<3.12
@@ -11,6 +11,7 @@ prediction_market_agent_tooling/abis/omen_kleros.abi.json,sha256=QPMXrYA5UCo_wVU
11
11
  prediction_market_agent_tooling/abis/omen_oracle.abi.json,sha256=YPZ-FLvd4PA9pYd6d5mQI1TD11JnsE0LGxH4XcZZFCA,1775
12
12
  prediction_market_agent_tooling/abis/omen_realitio.abi.json,sha256=7HmFkBF_rq83UTaH2kRRsEfc_WZuf4n-qvkB4nhvweo,15953
13
13
  prediction_market_agent_tooling/abis/omen_thumbnailmapping.abi.json,sha256=u1-3B8FB3Ys9KVJCH-lw9ArkicdxbNMf34dV-VEGMMU,930
14
+ prediction_market_agent_tooling/abis/ownable_erc721.abi.json,sha256=9sxm588MAQmqCV_S0D3eYC7l9grbeALsd0Da_AHxdEI,8506
14
15
  prediction_market_agent_tooling/abis/proxy.abi.json,sha256=h24GXZ6Q0bSZlwh7zOv0EiDvbqUz_PHtWfKHTyPJ1w4,644
15
16
  prediction_market_agent_tooling/benchmark/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
17
  prediction_market_agent_tooling/benchmark/agents.py,sha256=B1-uWdyeN4GGKMWGK_-CcAFJg1m9Y_XuaeIHPB29QR8,3971
@@ -72,14 +73,14 @@ prediction_market_agent_tooling/tools/betting_strategies/market_moving.py,sha256
72
73
  prediction_market_agent_tooling/tools/betting_strategies/minimum_bet_to_win.py,sha256=-FUSuQQgjcWSSnoFxnlAyTeilY6raJABJVM2QKkFqAY,438
73
74
  prediction_market_agent_tooling/tools/betting_strategies/stretch_bet_between.py,sha256=THMXwFlskvzbjnX_OiYtDSzI8XVFyULWfP2525_9UGc,429
74
75
  prediction_market_agent_tooling/tools/betting_strategies/utils.py,sha256=kpIb-ci67Vc1Yqqaa-_S4OUkbhWSIYog4_Iwp69HU_k,97
75
- prediction_market_agent_tooling/tools/caches/db_cache.py,sha256=rkA7somZZo5G6OZVvNrCuCVc4kn7TUoPxmOq4J6BZ54,10391
76
+ prediction_market_agent_tooling/tools/caches/db_cache.py,sha256=aafau_n_AUbLIwkyIRiTPgKB0dmM0767mSqyPDLF2A4,10576
76
77
  prediction_market_agent_tooling/tools/caches/inmemory_cache.py,sha256=ZW5iI5rmjqeAebu5T7ftRnlkxiL02IC-MxCfDB80x7w,1506
77
78
  prediction_market_agent_tooling/tools/caches/serializers.py,sha256=upSXN5__rmRlzJ6tv1h7FodKzJu9eCkFrN_zeuwroJM,2151
78
- prediction_market_agent_tooling/tools/contract.py,sha256=Um_nQlpYJRBy4MnNR1CPKESehVwx_w35LwYX6T6py_0,20837
79
+ prediction_market_agent_tooling/tools/contract.py,sha256=tJHwbDXRRRS7g-vIzqfYTOPQBcU5lqb9o_FF9OECZQ8,22941
79
80
  prediction_market_agent_tooling/tools/costs.py,sha256=EaAJ7v9laD4VEV3d8B44M4u3_oEO_H16jRVCdoZ93Uw,954
80
81
  prediction_market_agent_tooling/tools/custom_exceptions.py,sha256=Fh8z1fbwONvP4-j7AmV_PuEcoqb6-QXa9PJ9m7guMcM,93
81
82
  prediction_market_agent_tooling/tools/datetime_utc.py,sha256=2JSWF7AXQnv04_D_cu9Vmdkq0TWmGJ1QcK9AeqrA-U8,2765
82
- prediction_market_agent_tooling/tools/db/db_manager.py,sha256=_d_oJe4GZ59Htq0iOosRz8yEps2c6MmfTNvNvMLpL8Y,3002
83
+ prediction_market_agent_tooling/tools/db/db_manager.py,sha256=GtzHH1NLl8HwqC8Z7s6eTlIQXuV0blxfaV2PeQrBnfQ,3013
83
84
  prediction_market_agent_tooling/tools/google_utils.py,sha256=t3_UEEvKX3L0biSIQ560GdRbllQ6eprhK_upE243A-0,3185
84
85
  prediction_market_agent_tooling/tools/hexbytes_custom.py,sha256=Bp94qgPjvjWf1Vb4lNzGFDXRdThw1rJ91vL6r2PWq5E,2096
85
86
  prediction_market_agent_tooling/tools/httpx_cached_client.py,sha256=RxD-hwtZCMctnMwfzy8t51W9Z9gxFGtDYxBIMChazpc,406
@@ -94,7 +95,7 @@ prediction_market_agent_tooling/tools/omen/reality_accuracy.py,sha256=M1SF7iSW1g
94
95
  prediction_market_agent_tooling/tools/parallelism.py,sha256=6Gou0hbjtMZrYvxjTDFUDZuxmE2nqZVbb6hkg1hF82A,1022
95
96
  prediction_market_agent_tooling/tools/relevant_news_analysis/data_models.py,sha256=95l84aztFaxcRLLcRQ46yKJbIlOEuDAbIGLouyliDzA,1316
96
97
  prediction_market_agent_tooling/tools/relevant_news_analysis/relevant_news_analysis.py,sha256=CddJem7tk15NAudJDwmuL8znTycbR-YI8kTNtd3LzG8,5474
97
- prediction_market_agent_tooling/tools/relevant_news_analysis/relevant_news_cache.py,sha256=ErLp284YlD7k_M8Si9OT86HuzfmSo1bPlLJtegXx1TA,3011
98
+ prediction_market_agent_tooling/tools/relevant_news_analysis/relevant_news_cache.py,sha256=kNWq92T11Knb9mYBZlMiZUzOpKgCd-5adanylQUMRJA,3085
98
99
  prediction_market_agent_tooling/tools/safe.py,sha256=9vxGGLvSPnfy-sxUFDpBTe8omqpGXP7MzvGPp6bRxrU,5197
99
100
  prediction_market_agent_tooling/tools/singleton.py,sha256=CiIELUiI-OeS7U7eeHEt0rnVhtQGzwoUdAgn_7u_GBM,729
100
101
  prediction_market_agent_tooling/tools/streamlit_user_login.py,sha256=NXEqfjT9Lc9QtliwSGRASIz1opjQ7Btme43H4qJbzgE,3010
@@ -103,8 +104,8 @@ prediction_market_agent_tooling/tools/tavily/tavily_search.py,sha256=Kw2mXNkMTYT
103
104
  prediction_market_agent_tooling/tools/transaction_cache.py,sha256=K5YKNL2_tR10Iw2TD9fuP-CTGpBbZtNdgbd0B_R7pjg,1814
104
105
  prediction_market_agent_tooling/tools/utils.py,sha256=WvuUCHgMCiMq8_wMm5PHNwvLhcdDk2zGKaAM8OUC-qY,6438
105
106
  prediction_market_agent_tooling/tools/web3_utils.py,sha256=wqUDCed3iNrn1Wao1iwGN6tzIrhpzrTRj319wlveJEo,12275
106
- prediction_market_agent_tooling-0.57.5.dev218.dist-info/LICENSE,sha256=6or154nLLU6bELzjh0mCreFjt0m2v72zLi3yHE0QbeE,7650
107
- prediction_market_agent_tooling-0.57.5.dev218.dist-info/METADATA,sha256=3A9Vof1Nn7Ps2Hj_5NeUZACOb9zbQPx3W0G84BuqioE,8195
108
- prediction_market_agent_tooling-0.57.5.dev218.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
109
- prediction_market_agent_tooling-0.57.5.dev218.dist-info/entry_points.txt,sha256=m8PukHbeH5g0IAAmOf_1Ahm-sGAMdhSSRQmwtpmi2s8,81
110
- prediction_market_agent_tooling-0.57.5.dev218.dist-info/RECORD,,
107
+ prediction_market_agent_tooling-0.57.7.dist-info/LICENSE,sha256=6or154nLLU6bELzjh0mCreFjt0m2v72zLi3yHE0QbeE,7650
108
+ prediction_market_agent_tooling-0.57.7.dist-info/METADATA,sha256=dDVW3NpNlZdOWksAXIUHFFynWSvxbA_kZXffQ-Af1Ys,8188
109
+ prediction_market_agent_tooling-0.57.7.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
110
+ prediction_market_agent_tooling-0.57.7.dist-info/entry_points.txt,sha256=m8PukHbeH5g0IAAmOf_1Ahm-sGAMdhSSRQmwtpmi2s8,81
111
+ prediction_market_agent_tooling-0.57.7.dist-info/RECORD,,