primecli 0.7.3__tar.gz → 0.7.4__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.
Files changed (24) hide show
  1. {primecli-0.7.3 → primecli-0.7.4}/PKG-INFO +2 -2
  2. {primecli-0.7.3 → primecli-0.7.4}/README.md +1 -1
  3. {primecli-0.7.3 → primecli-0.7.4}/primecli/degenprime.py +134 -28
  4. {primecli-0.7.3 → primecli-0.7.4}/primecli.egg-info/PKG-INFO +2 -2
  5. {primecli-0.7.3 → primecli-0.7.4}/pyproject.toml +1 -1
  6. {primecli-0.7.3 → primecli-0.7.4}/LICENSE +0 -0
  7. {primecli-0.7.3 → primecli-0.7.4}/primecli/__init__.py +0 -0
  8. {primecli-0.7.3 → primecli-0.7.4}/primecli/arbprime.py +0 -0
  9. {primecli-0.7.3 → primecli-0.7.4}/primecli/deltaprime.py +0 -0
  10. {primecli-0.7.3 → primecli-0.7.4}/primecli/health_monitor.py +0 -0
  11. {primecli-0.7.3 → primecli-0.7.4}/primecli.egg-info/SOURCES.txt +0 -0
  12. {primecli-0.7.3 → primecli-0.7.4}/primecli.egg-info/dependency_links.txt +0 -0
  13. {primecli-0.7.3 → primecli-0.7.4}/primecli.egg-info/entry_points.txt +0 -0
  14. {primecli-0.7.3 → primecli-0.7.4}/primecli.egg-info/requires.txt +0 -0
  15. {primecli-0.7.3 → primecli-0.7.4}/primecli.egg-info/top_level.txt +0 -0
  16. {primecli-0.7.3 → primecli-0.7.4}/setup.cfg +0 -0
  17. {primecli-0.7.3 → primecli-0.7.4}/tests/test_cross_file_identity.py +0 -0
  18. {primecli-0.7.3 → primecli-0.7.4}/tests/test_gas_limit.py +0 -0
  19. {primecli-0.7.3 → primecli-0.7.4}/tests/test_gas_pricing.py +0 -0
  20. {primecli-0.7.3 → primecli-0.7.4}/tests/test_health_meter.py +0 -0
  21. {primecli-0.7.3 → primecli-0.7.4}/tests/test_health_monitor.py +0 -0
  22. {primecli-0.7.3 → primecli-0.7.4}/tests/test_paraswap_validator.py +0 -0
  23. {primecli-0.7.3 → primecli-0.7.4}/tests/test_redstone_encoding.py +0 -0
  24. {primecli-0.7.3 → primecli-0.7.4}/tests/test_to_wei_units.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: primecli
3
- Version: 0.7.3
3
+ Version: 0.7.4
4
4
  Summary: Agent-friendly CLI tools for the DeltaPrime (Avalanche + Arbitrum) and DegenPrime (Base) lending and leverage protocols. Preview-by-default; no Etherscan key required.
5
5
  Author: Mnemosyne-quest contributors
6
6
  License: MIT
@@ -47,7 +47,7 @@ Built for agent use:
47
47
  - RedStone-signed solvency math handled internally, with a regression test pinning the half-boundary `toFixed(8)` encoding.
48
48
  - ParaSwap calldata validated client-side against the on-chain executor allowlist before broadcast.
49
49
 
50
- **Current version:** 0.7.3 The 0.x line is pre-1.0, so breaking changes are possible. See [Releases](https://github.com/Mnemosyne-quest/primecli/releases).
50
+ **Current version:** 0.7.4 The 0.x line is pre-1.0, so breaking changes are possible. See [Releases](https://github.com/Mnemosyne-quest/primecli/releases).
51
51
 
52
52
  > **Breaking change in 0.5.0:** there is no longer a default signing key. Earlier versions silently fell back to a baked-in agent when no key was configured; that fallback has been removed. With no key configured, every command now fails closed with `No signing key found...`. Set a key explicitly (see [Configuration](#configuration)).
53
53
 
@@ -16,7 +16,7 @@ Built for agent use:
16
16
  - RedStone-signed solvency math handled internally, with a regression test pinning the half-boundary `toFixed(8)` encoding.
17
17
  - ParaSwap calldata validated client-side against the on-chain executor allowlist before broadcast.
18
18
 
19
- **Current version:** 0.7.3 The 0.x line is pre-1.0, so breaking changes are possible. See [Releases](https://github.com/Mnemosyne-quest/primecli/releases).
19
+ **Current version:** 0.7.4 The 0.x line is pre-1.0, so breaking changes are possible. See [Releases](https://github.com/Mnemosyne-quest/primecli/releases).
20
20
 
21
21
  > **Breaking change in 0.5.0:** there is no longer a default signing key. Earlier versions silently fell back to a baked-in agent when no key was configured; that fallback has been removed. With no key configured, every command now fails closed with `No signing key found...`. Set a key explicitly (see [Configuration](#configuration)).
22
22
 
@@ -218,35 +218,141 @@ AERODROME_SEL_DECREASE = bytes.fromhex("ca15558b") # inferred: decreaseLiqu
218
218
  AERODROME_SEL_BURN = bytes.fromhex("92b5a47e") # inferred: burn
219
219
  AERODROME_SEL_COLLECT = bytes.fromhex("92b5a47e") # same as burn (inferred)
220
220
 
221
- # Whitelisted Aerodrome CL pools exposed as tool keys. Each key carries the known
222
- # token pair, fee tier (tickSpacing in bps), and the expected token addresses.
223
- # tickSpacing maps: 1 = 0.01%, 5 = 0.05%, 10 = 0.1%, 30 = 0.3%, 100 = 1%.
224
- # Most pools use the canonical (WETH/stablecoin) ordering from the CL Factory.
221
+ # Whitelisted Aerodrome CL pools exposed as tool keys the authoritative set of
222
+ # ~31 DegenPrime-supported SlipStream pools. Every entry was verified on-chain
223
+ # (2026-06-13): token0/token1/tickSpacing read from the pool, decimals/symbol from
224
+ # each token, and the pool address cross-checked against the SlipStream factory's
225
+ # getPool(token0, token1, tickSpacing) (0x5e7BB104d84c7CB9B682AaC2F3d509f5F406809A).
226
+ # token0/token1 follow the pool's canonical on-chain ordering; the key is a curated
227
+ # label (symbol0 stores WETH as "ETH" to match the lending-pool convention, so WETH
228
+ # pairs are keyed "weth-*").
229
+ # tickSpacing tiers in use: 1, 50, 100, 200, 2000. gauge_alive=False marks pools
230
+ # whose Aerodrome gauge is dead (no AERO emissions; still tradeable/LP-able).
225
231
  AERODROME_POOLS = {
226
- "weth-usdc-100": {"token0": "0x4200000000000000000000000000000000000006",
227
- "token1": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
228
- "tickSpacing": 100, "symbol0": "ETH", "symbol1": "USDC",
229
- "decimals0": 18, "decimals1": 6},
230
- "weth-usdc-5": {"token0": "0x4200000000000000000000000000000000000006",
231
- "token1": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
232
- "tickSpacing": 5, "symbol0": "ETH", "symbol1": "USDC",
233
- "decimals0": 18, "decimals1": 6},
234
- "weth-cbbtc-100": {"token0": "0x4200000000000000000000000000000000000006",
235
- "token1": "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
236
- "tickSpacing": 100, "symbol0": "ETH", "symbol1": "cbBTC",
237
- "decimals0": 18, "decimals1": 8},
238
- "weth-cbbtc-30": {"token0": "0x4200000000000000000000000000000000000006",
239
- "token1": "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
240
- "tickSpacing": 30, "symbol0": "ETH", "symbol1": "cbBTC",
241
- "decimals0": 18, "decimals1": 8},
242
- "weth-aero-200": {"token0": "0x940181a94A35A4569E4529A3CDfB74e38FD98631",
243
- "token1": "0x4200000000000000000000000000000000000006",
244
- "tickSpacing": 200, "symbol0": "AERO", "symbol1": "ETH",
245
- "decimals0": 18, "decimals1": 18},
246
- "aero-usdc-100": {"token0": "0x940181a94A35A4569E4529A3CDfB74e38FD98631",
247
- "token1": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
248
- "tickSpacing": 100, "symbol0": "AERO", "symbol1": "USDC",
249
- "decimals0": 18, "decimals1": 6},
232
+ "weth-usdc-100": {"token0": "0x4200000000000000000000000000000000000006",
233
+ "token1": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
234
+ "tickSpacing": 100, "symbol0": "ETH", "symbol1": "USDC",
235
+ "decimals0": 18, "decimals1": 6, "gauge_alive": True},
236
+ "weth-cbbtc-100": {"token0": "0x4200000000000000000000000000000000000006",
237
+ "token1": "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
238
+ "tickSpacing": 100, "symbol0": "ETH", "symbol1": "cbBTC",
239
+ "decimals0": 18, "decimals1": 8, "gauge_alive": True},
240
+ "weth-aero-200": {"token0": "0x4200000000000000000000000000000000000006",
241
+ "token1": "0x940181a94A35A4569E4529A3CDfB74e38FD98631",
242
+ "tickSpacing": 200, "symbol0": "ETH", "symbol1": "AERO",
243
+ "decimals0": 18, "decimals1": 18, "gauge_alive": False},
244
+ "aero-usdc-2000": {"token0": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
245
+ "token1": "0x940181a94A35A4569E4529A3CDfB74e38FD98631",
246
+ "tickSpacing": 2000, "symbol0": "USDC", "symbol1": "AERO",
247
+ "decimals0": 6, "decimals1": 18, "gauge_alive": True},
248
+ "aero-cbbtc-200": {"token0": "0x940181a94A35A4569E4529A3CDfB74e38FD98631",
249
+ "token1": "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
250
+ "tickSpacing": 200, "symbol0": "AERO", "symbol1": "cbBTC",
251
+ "decimals0": 18, "decimals1": 8, "gauge_alive": True},
252
+ "avnt-usdc-1": {"token0": "0x696F9436B67233384889472Cd7cD58A6fB5DF4f1",
253
+ "token1": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
254
+ "tickSpacing": 1, "symbol0": "AVNT", "symbol1": "USDC",
255
+ "decimals0": 18, "decimals1": 6, "gauge_alive": True},
256
+ "avnt-usdc-200": {"token0": "0x696F9436B67233384889472Cd7cD58A6fB5DF4f1",
257
+ "token1": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
258
+ "tickSpacing": 200, "symbol0": "AVNT", "symbol1": "USDC",
259
+ "decimals0": 18, "decimals1": 6, "gauge_alive": True},
260
+ "cbbtc-lbtc-1": {"token0": "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
261
+ "token1": "0xecAc9C5F704e954931349Da37F60E39f515c11c1",
262
+ "tickSpacing": 1, "symbol0": "cbBTC", "symbol1": "LBTC",
263
+ "decimals0": 8, "decimals1": 8, "gauge_alive": True},
264
+ "cbbtc-cbdoge-100": {"token0": "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
265
+ "token1": "0xcbD06E5A2B0C65597161de254AA074E489dEb510",
266
+ "tickSpacing": 100, "symbol0": "cbBTC", "symbol1": "cbDOGE",
267
+ "decimals0": 8, "decimals1": 8, "gauge_alive": False},
268
+ "clanker-weth-200": {"token0": "0x1bc0c42215582d5A085795f4baDbaC3ff36d1Bcb",
269
+ "token1": "0x4200000000000000000000000000000000000006",
270
+ "tickSpacing": 200, "symbol0": "CLANKER", "symbol1": "ETH",
271
+ "decimals0": 18, "decimals1": 18, "gauge_alive": True},
272
+ "weth-aixbt-200": {"token0": "0x4200000000000000000000000000000000000006",
273
+ "token1": "0x4F9Fd6Be4a90f2620860d680c0d4d5Fb53d1A825",
274
+ "tickSpacing": 200, "symbol0": "ETH", "symbol1": "AIXBT",
275
+ "decimals0": 18, "decimals1": 18, "gauge_alive": True},
276
+ "weth-brett-200": {"token0": "0x4200000000000000000000000000000000000006",
277
+ "token1": "0x532f27101965dd16442E59d40670FaF5eBB142E4",
278
+ "tickSpacing": 200, "symbol0": "ETH", "symbol1": "BRETT",
279
+ "decimals0": 18, "decimals1": 18, "gauge_alive": True},
280
+ "weth-degen-200": {"token0": "0x4200000000000000000000000000000000000006",
281
+ "token1": "0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed",
282
+ "tickSpacing": 200, "symbol0": "ETH", "symbol1": "DEGEN",
283
+ "decimals0": 18, "decimals1": 18, "gauge_alive": True},
284
+ "weth-euroc-100": {"token0": "0x4200000000000000000000000000000000000006",
285
+ "token1": "0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42",
286
+ "tickSpacing": 100, "symbol0": "ETH", "symbol1": "EURC",
287
+ "decimals0": 18, "decimals1": 6, "gauge_alive": False},
288
+ "weth-kaito-100": {"token0": "0x4200000000000000000000000000000000000006",
289
+ "token1": "0x98d0baa52b2D063E780DE12F615f963Fe8537553",
290
+ "tickSpacing": 100, "symbol0": "ETH", "symbol1": "KAITO",
291
+ "decimals0": 18, "decimals1": 18, "gauge_alive": True},
292
+ "weth-spx-200": {"token0": "0x4200000000000000000000000000000000000006",
293
+ "token1": "0x50dA645f148798F68EF2d7dB7C1CB22A6819bb2C",
294
+ "tickSpacing": 200, "symbol0": "ETH", "symbol1": "SPX",
295
+ "decimals0": 18, "decimals1": 8, "gauge_alive": True},
296
+ "weth-toshi-200": {"token0": "0x4200000000000000000000000000000000000006",
297
+ "token1": "0xAC1Bd2486aAf3B5C0fc3Fd868558b082a531B2B4",
298
+ "tickSpacing": 200, "symbol0": "ETH", "symbol1": "TOSHI",
299
+ "decimals0": 18, "decimals1": 18, "gauge_alive": True},
300
+ "weth-cbdoge-2000": {"token0": "0x4200000000000000000000000000000000000006",
301
+ "token1": "0xcbD06E5A2B0C65597161de254AA074E489dEb510",
302
+ "tickSpacing": 2000, "symbol0": "ETH", "symbol1": "cbDOGE",
303
+ "decimals0": 18, "decimals1": 8, "gauge_alive": True},
304
+ "weth-cbltc-200": {"token0": "0x4200000000000000000000000000000000000006",
305
+ "token1": "0xcb17C9Db87B595717C857a08468793f5bAb6445F",
306
+ "tickSpacing": 200, "symbol0": "ETH", "symbol1": "cbLTC",
307
+ "decimals0": 18, "decimals1": 8, "gauge_alive": True},
308
+ "weth-cbxrp-2000": {"token0": "0x4200000000000000000000000000000000000006",
309
+ "token1": "0xcb585250f852C6c6bf90434AB21A00f02833a4af",
310
+ "tickSpacing": 2000, "symbol0": "ETH", "symbol1": "cbXRP",
311
+ "decimals0": 18, "decimals1": 6, "gauge_alive": False},
312
+ "euroc-usdc-1": {"token0": "0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42",
313
+ "token1": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
314
+ "tickSpacing": 1, "symbol0": "EURC", "symbol1": "USDC",
315
+ "decimals0": 6, "decimals1": 6, "gauge_alive": False},
316
+ "euroc-usdc-50": {"token0": "0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42",
317
+ "token1": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
318
+ "tickSpacing": 50, "symbol0": "EURC", "symbol1": "USDC",
319
+ "decimals0": 6, "decimals1": 6, "gauge_alive": True},
320
+ "usdc-cbbtc-100": {"token0": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
321
+ "token1": "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
322
+ "tickSpacing": 100, "symbol0": "USDC", "symbol1": "cbBTC",
323
+ "decimals0": 6, "decimals1": 8, "gauge_alive": True},
324
+ "usdc-usdt-1": {"token0": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
325
+ "token1": "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2",
326
+ "tickSpacing": 1, "symbol0": "USDC", "symbol1": "USDT",
327
+ "decimals0": 6, "decimals1": 6, "gauge_alive": True},
328
+ "virtual-weth-100": {"token0": "0x0b3e328455c4059EEb9e3f84b5543F74E24e7E1b",
329
+ "token1": "0x4200000000000000000000000000000000000006",
330
+ "tickSpacing": 100, "symbol0": "VIRTUAL", "symbol1": "ETH",
331
+ "decimals0": 18, "decimals1": 18, "gauge_alive": True},
332
+ "virtual-weth-200": {"token0": "0x0b3e328455c4059EEb9e3f84b5543F74E24e7E1b",
333
+ "token1": "0x4200000000000000000000000000000000000006",
334
+ "tickSpacing": 200, "symbol0": "VIRTUAL", "symbol1": "ETH",
335
+ "decimals0": 18, "decimals1": 18, "gauge_alive": True},
336
+ "zora-usdc-100": {"token0": "0x1111111111166b7FE7bd91427724B487980aFc69",
337
+ "token1": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
338
+ "tickSpacing": 100, "symbol0": "ZORA", "symbol1": "USDC",
339
+ "decimals0": 18, "decimals1": 6, "gauge_alive": True},
340
+ "cbltc-cbbtc-100": {"token0": "0xcb17C9Db87B595717C857a08468793f5bAb6445F",
341
+ "token1": "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
342
+ "tickSpacing": 100, "symbol0": "cbLTC", "symbol1": "cbBTC",
343
+ "decimals0": 8, "decimals1": 8, "gauge_alive": True},
344
+ "cbxrp-cbbtc-100": {"token0": "0xcb585250f852C6c6bf90434AB21A00f02833a4af",
345
+ "token1": "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
346
+ "tickSpacing": 100, "symbol0": "cbXRP", "symbol1": "cbBTC",
347
+ "decimals0": 6, "decimals1": 8, "gauge_alive": False},
348
+ "weeth-weth-1": {"token0": "0x04C0599Ae5A44757c0af6F9eC3b93da8976c150A",
349
+ "token1": "0x4200000000000000000000000000000000000006",
350
+ "tickSpacing": 1, "symbol0": "weETH", "symbol1": "ETH",
351
+ "decimals0": 18, "decimals1": 18, "gauge_alive": True},
352
+ "ezeth-weth-1": {"token0": "0x2416092f143378750bb29b79eD961ab195CcEea5",
353
+ "token1": "0x4200000000000000000000000000000000000006",
354
+ "tickSpacing": 1, "symbol0": "ezETH", "symbol1": "ETH",
355
+ "decimals0": 18, "decimals1": 18, "gauge_alive": True},
250
356
  }
251
357
 
252
358
  # ParaSwap v6 / Velora aggregator on Base. The Degen Account's ParaSwapFacet.paraSwapV6
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: primecli
3
- Version: 0.7.3
3
+ Version: 0.7.4
4
4
  Summary: Agent-friendly CLI tools for the DeltaPrime (Avalanche + Arbitrum) and DegenPrime (Base) lending and leverage protocols. Preview-by-default; no Etherscan key required.
5
5
  Author: Mnemosyne-quest contributors
6
6
  License: MIT
@@ -47,7 +47,7 @@ Built for agent use:
47
47
  - RedStone-signed solvency math handled internally, with a regression test pinning the half-boundary `toFixed(8)` encoding.
48
48
  - ParaSwap calldata validated client-side against the on-chain executor allowlist before broadcast.
49
49
 
50
- **Current version:** 0.7.3 The 0.x line is pre-1.0, so breaking changes are possible. See [Releases](https://github.com/Mnemosyne-quest/primecli/releases).
50
+ **Current version:** 0.7.4 The 0.x line is pre-1.0, so breaking changes are possible. See [Releases](https://github.com/Mnemosyne-quest/primecli/releases).
51
51
 
52
52
  > **Breaking change in 0.5.0:** there is no longer a default signing key. Earlier versions silently fell back to a baked-in agent when no key was configured; that fallback has been removed. With no key configured, every command now fails closed with `No signing key found...`. Set a key explicitly (see [Configuration](#configuration)).
53
53
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "primecli"
7
- version = "0.7.3"
7
+ version = "0.7.4"
8
8
  description = "Agent-friendly CLI tools for the DeltaPrime (Avalanche + Arbitrum) and DegenPrime (Base) lending and leverage protocols. Preview-by-default; no Etherscan key required."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
File without changes
File without changes
File without changes
File without changes