@continuumdao/ctm-mpc-defi 0.2.30 → 0.2.32

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 (40) hide show
  1. package/dist/agent/catalog.cjs +1933 -56
  2. package/dist/agent/catalog.cjs.map +1 -1
  3. package/dist/agent/catalog.d.ts +3671 -661
  4. package/dist/agent/catalog.js +1896 -58
  5. package/dist/agent/catalog.js.map +1 -1
  6. package/dist/agent/skills/aerodrome/SKILL.md +93 -0
  7. package/dist/agent/skills/compound-v3/SKILL.md +132 -0
  8. package/dist/agent/skills/euler-v2/SKILL.md +1 -1
  9. package/dist/agent/skills/morpho/SKILL.md +16 -8
  10. package/dist/buildBatch-CngvebiD.d.ts +45 -0
  11. package/dist/chains/evm/index.d.ts +6 -44
  12. package/dist/core/index.cjs +2 -1
  13. package/dist/core/index.cjs.map +1 -1
  14. package/dist/core/index.js +2 -1
  15. package/dist/core/index.js.map +1 -1
  16. package/dist/index.cjs +119 -1
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.d.ts +4 -1
  19. package/dist/index.js +119 -2
  20. package/dist/index.js.map +1 -1
  21. package/dist/protocols/evm/aerodrome/index.cjs +3922 -0
  22. package/dist/protocols/evm/aerodrome/index.cjs.map +1 -0
  23. package/dist/protocols/evm/aerodrome/index.d.ts +792 -0
  24. package/dist/protocols/evm/aerodrome/index.js +3843 -0
  25. package/dist/protocols/evm/aerodrome/index.js.map +1 -0
  26. package/dist/protocols/evm/compound-v3/index.cjs +1542 -0
  27. package/dist/protocols/evm/compound-v3/index.cjs.map +1 -0
  28. package/dist/protocols/evm/compound-v3/index.d.ts +683 -0
  29. package/dist/protocols/evm/compound-v3/index.js +1488 -0
  30. package/dist/protocols/evm/compound-v3/index.js.map +1 -0
  31. package/dist/protocols/evm/euler-v2/index.cjs +17 -10
  32. package/dist/protocols/evm/euler-v2/index.cjs.map +1 -1
  33. package/dist/protocols/evm/euler-v2/index.js +17 -10
  34. package/dist/protocols/evm/euler-v2/index.js.map +1 -1
  35. package/dist/protocols/evm/morpho/index.cjs +746 -39
  36. package/dist/protocols/evm/morpho/index.cjs.map +1 -1
  37. package/dist/protocols/evm/morpho/index.d.ts +161 -14
  38. package/dist/protocols/evm/morpho/index.js +736 -42
  39. package/dist/protocols/evm/morpho/index.js.map +1 -1
  40. package/package.json +15 -1
package/dist/index.d.ts CHANGED
@@ -5,9 +5,12 @@ export { C as ChainCategoryBuildInput, a as ChainCategoryModule, M as MultisignL
5
5
  export { g as getActionsByChainCategory, a as getProtocolModule, b as getProtocolModules, r as registerProtocolModule } from './registry-DxDSPQ-p.js';
6
6
  export { B as BuildEip712MultisignArgs, a as BuildEip712MultisignLeg, E as EIP712_SIGN_REQUEST_KIND, b as Eip712MultisignDelivery, c as Eip712TypedDataField, d as Eip712TypedDataPayload, e as buildEip712Multisign } from './eip712Multisign-DCW7heqX.js';
7
7
  export { E as EvmChainDetail, a as EvmProtocolContext, b as EvmTxStep, i as isEvmNativeToken, m as matchEvmTokenKind } from './types-RZWOTm8c.js';
8
- export { COINGECKO_PLATFORM_BY_CHAIN_ID, ConditionalApproveStep, EvmBatchMetaBuilder, EvmBuildBatchArgs, approveStepsToEvmTxSteps, buildConditionalErc20ApproveSteps, buildEvmMultisignBatch, coingeckoPlatformForChainId, evmChainCategoryModule, normalizeCurveRouterAmountString, normalizeHumanDecimalAmount, parseEvmChainIdToNumber, publicClientForRpc, resolveErc20Decimals, routerSwapGasLimitFromEstimate } from './chains/evm/index.js';
8
+ export { E as EvmBatchMetaBuilder, a as EvmBuildBatchArgs, b as buildEvmMultisignBatch, e as evmChainCategoryModule } from './buildBatch-CngvebiD.js';
9
+ export { COINGECKO_PLATFORM_BY_CHAIN_ID, ConditionalApproveStep, approveStepsToEvmTxSteps, buildConditionalErc20ApproveSteps, coingeckoPlatformForChainId, normalizeCurveRouterAmountString, normalizeHumanDecimalAmount, parseEvmChainIdToNumber, publicClientForRpc, resolveErc20Decimals, routerSwapGasLimitFromEstimate } from './chains/evm/index.js';
9
10
  export { SOLANA_CHAIN_CATEGORY, solanaChainCategoryModule } from './chains/solana/index.js';
10
11
  export { NEAR_CHAIN_CATEGORY, nearChainCategoryModule } from './chains/near/index.js';
11
12
  export { uniswapV4, uniswapV4ProtocolModule } from './protocols/evm/uniswap-v4/index.js';
12
13
  export { curveDao, curveDaoProtocolModule } from './protocols/evm/curve-dao/index.js';
14
+ export { aerodromeProtocolModule } from './protocols/evm/aerodrome/index.js';
13
15
  import 'viem';
16
+ import 'abitype';
package/dist/index.js CHANGED
@@ -297,7 +297,8 @@ var DEFI_PROTOCOLS_WITH_30MIN_EXPIRY = /* @__PURE__ */ new Set([
297
297
  "gmx",
298
298
  "hyperliquid",
299
299
  "arcus",
300
- "curve-dao"
300
+ "curve-dao",
301
+ "aerodrome"
301
302
  ]);
302
303
  function defiMultisignExpiryUnixSeconds(protocolId, explicitExpiryDate) {
303
304
  if (typeof explicitExpiryDate === "number" && Number.isFinite(explicitExpiryDate) && explicitExpiryDate > 0) {
@@ -3430,11 +3431,127 @@ var curveDao = {
3430
3431
  isChainSupported: isCurveApiChainSupported,
3431
3432
  loadSession: loadFullCurveSessionForRpc
3432
3433
  };
3434
+ var AERODROME_PROTOCOL_ID = "aerodrome";
3435
+ var AERODROME_CHAIN_ID = 8453;
3436
+ function isAerodromeChainSupported(chainId) {
3437
+ const n = typeof chainId === "number" ? chainId : Number.parseInt(String(chainId), 10);
3438
+ return n === AERODROME_CHAIN_ID;
3439
+ }
3440
+
3441
+ // src/protocols/evm/aerodrome/index.ts
3442
+ var aerodromeProtocolModule = {
3443
+ id: AERODROME_PROTOCOL_ID,
3444
+ chainCategory: "evm",
3445
+ isChainSupported(ctx) {
3446
+ if (ctx.chainCategory !== "evm") return false;
3447
+ return isAerodromeChainSupported(ctx.chainId);
3448
+ },
3449
+ isTokenSupported(token) {
3450
+ if (token.category !== "evm") return false;
3451
+ return token.kind === "native" || token.kind === "erc20";
3452
+ },
3453
+ actions: [
3454
+ {
3455
+ id: "aerodrome.quote",
3456
+ protocolId: AERODROME_PROTOCOL_ID,
3457
+ chainCategory: "evm",
3458
+ description: "Quote an Aerodrome swap on Base via factory discovery + MixedRouteQuoterV3 / Router. Tickers (AAPLc, USDC, ETH) accepted.",
3459
+ commonParams: [],
3460
+ params: {
3461
+ chainId: { type: "number", required: true, description: `Must be ${AERODROME_CHAIN_ID}` },
3462
+ tokenIn: { type: "address", required: true, description: "Ticker (AAPLc, USDC, ETH, WETH, AERO) or 0x / 0x0 native" },
3463
+ tokenOut: { type: "address", required: true, description: "Ticker (AAPLc, USDC, ETH, WETH, AERO) or 0x / 0x0 native" },
3464
+ amountHuman: { type: "string", required: true, description: "Human-readable input amount (B20 stocks are 8 decimals)" }
3465
+ }
3466
+ },
3467
+ {
3468
+ id: "aerodrome.swap",
3469
+ protocolId: AERODROME_PROTOCOL_ID,
3470
+ chainCategory: "evm",
3471
+ description: "Swap via Aerodrome Router / Slipstream SwapRouter (optional ERC-20 approve batch)",
3472
+ commonParams: ["keyGen", "purposeText", "useCustomGas"],
3473
+ params: {
3474
+ tokenIn: { type: "address", required: true, description: "Ticker (AAPLc, USDC, ETH) or 0x / 0x0 native" },
3475
+ tokenOut: { type: "address", required: true, description: "Ticker (AAPLc, USDC, ETH) or 0x / 0x0 native" },
3476
+ amountHuman: { type: "string", required: true, description: "Human-readable input amount" },
3477
+ slippagePercent: { type: "number", required: true, description: "Slippage percent (0\u2013100 exclusive)" }
3478
+ }
3479
+ },
3480
+ {
3481
+ id: "aerodrome.add-liquidity",
3482
+ protocolId: AERODROME_PROTOCOL_ID,
3483
+ chainCategory: "evm",
3484
+ description: "Deposit into a basic vAMM/sAMM pool (one-sided amounts; tickers OK)",
3485
+ commonParams: ["keyGen", "purposeText", "useCustomGas"],
3486
+ params: {
3487
+ tokenA: { type: "address", required: true, description: "Ticker (AAPLc, USDC, ETH) or 0x / 0x0 native" },
3488
+ tokenB: { type: "address", required: true, description: "Ticker (AAPLc, USDC, ETH) or 0x / 0x0 native" },
3489
+ stable: { type: "boolean", required: true, description: "true = sAMM, false = vAMM" },
3490
+ amountAHuman: { type: "string", required: false, description: "Amount A; omit to solve from B" },
3491
+ amountBHuman: { type: "string", required: false, description: "Amount B; omit to solve from A" },
3492
+ slippagePercent: { type: "number", required: true, description: "Slippage percent" }
3493
+ }
3494
+ },
3495
+ {
3496
+ id: "aerodrome.remove-liquidity",
3497
+ protocolId: AERODROME_PROTOCOL_ID,
3498
+ chainCategory: "evm",
3499
+ description: "Withdraw from a basic vAMM/sAMM pool",
3500
+ commonParams: ["keyGen", "purposeText", "useCustomGas"],
3501
+ params: {
3502
+ lpToken: { type: "address", required: true, description: "LP token" },
3503
+ liquidityHuman: { type: "string", required: true, description: "LP amount" }
3504
+ }
3505
+ },
3506
+ {
3507
+ id: "aerodrome.cl-mint",
3508
+ protocolId: AERODROME_PROTOCOL_ID,
3509
+ chainCategory: "evm",
3510
+ description: "Mint a Slipstream concentrated liquidity NFT",
3511
+ commonParams: ["keyGen", "purposeText", "useCustomGas"],
3512
+ params: {
3513
+ token0: { type: "address", required: true, description: "Token0" },
3514
+ token1: { type: "address", required: true, description: "Token1" },
3515
+ tickSpacing: { type: "number", required: true, description: "Pool tick spacing" },
3516
+ tickLower: { type: "number", required: true, description: "Lower tick" },
3517
+ tickUpper: { type: "number", required: true, description: "Upper tick" }
3518
+ }
3519
+ },
3520
+ {
3521
+ id: "aerodrome.gauge-stake",
3522
+ protocolId: AERODROME_PROTOCOL_ID,
3523
+ chainCategory: "evm",
3524
+ description: "Stake basic LP tokens or a Slipstream NFT in a gauge",
3525
+ commonParams: ["keyGen", "purposeText", "useCustomGas"],
3526
+ params: {
3527
+ gauge: { type: "address", required: true, description: "Gauge address" }
3528
+ }
3529
+ },
3530
+ {
3531
+ id: "aerodrome.claim-fees",
3532
+ protocolId: AERODROME_PROTOCOL_ID,
3533
+ chainCategory: "evm",
3534
+ description: "Claim unstaked fees from the pool (not the gauge)",
3535
+ commonParams: ["keyGen", "purposeText", "useCustomGas"],
3536
+ params: { pool: { type: "address", required: true, description: "Pool lp from fetch_positions claimFees.pool" } }
3537
+ },
3538
+ {
3539
+ id: "aerodrome.claim-emissions",
3540
+ protocolId: AERODROME_PROTOCOL_ID,
3541
+ chainCategory: "evm",
3542
+ description: "Claim gauge emissions in AERO (not the pool)",
3543
+ commonParams: ["keyGen", "purposeText", "useCustomGas"],
3544
+ params: { gauge: { type: "address", required: true, description: "Gauge from fetch_positions claimEmissions" } }
3545
+ }
3546
+ ]
3547
+ };
3548
+ registerProtocolModule(aerodromeProtocolModule);
3433
3549
 
3434
3550
  // src/index.ts
3435
3551
  registerProtocolModule(uniswapV4ProtocolModule);
3436
3552
  registerProtocolModule(curveDaoProtocolModule);
3553
+ registerProtocolModule(aerodromeProtocolModule);
3437
3554
 
3438
- export { COINGECKO_PLATFORM_BY_CHAIN_ID, DEFAULT_DEFI_MULTISIGN_EXPIRY_SECONDS, DEFI_PROTOCOLS_WITH_30MIN_EXPIRY, EIP712_SIGN_REQUEST_KIND, NEAR_CHAIN_CATEGORY, PAYLOAD_SIGN_ED25519_REQUEST_KIND, SOLANA_CHAIN_CATEGORY, approveStepsToEvmTxSteps, buildConditionalErc20ApproveSteps, buildEip712Multisign, buildEvmMultisignBatch, buildPayloadSignEd25519MultisignBody, coingeckoPlatformForChainId, coreChainCategoryModule, curveDao, curveDaoProtocolModule, defiMultisignExpiryUnixSeconds, evmChainCategoryModule, finalizeMultisign, getAaveGraphqlProxyUrl, getActionsByChainCategory, getCoingeckoProxyUrl, getEulerGraphqlProxyUrl, getJsonViaOptionalProxy, getMapleGraphqlProxyUrl, getMorphoGraphqlProxyUrl, getMorphoMidnightRestProxyUrl, getProtocolModule, getProtocolModules, isEvmNativeToken, matchEvmTokenKind, mergePurposeText, nearChainCategoryModule, normalizeCurveRouterAmountString, normalizeHumanDecimalAmount, parseEvmChainIdToNumber, postJsonViaOptionalProxy, publicClientForRpc, registerProtocolModule, resolveErc20Decimals, routerSwapGasLimitFromEstimate, setAaveGraphqlProxyUrl, setCoingeckoProxyUrl, setEulerGraphqlProxyUrl, setMapleGraphqlProxyUrl, setMorphoGraphqlProxyUrl, setMorphoMidnightRestProxyUrl, solanaChainCategoryModule, uniswapV4, uniswapV4ProtocolModule };
3555
+ export { COINGECKO_PLATFORM_BY_CHAIN_ID, DEFAULT_DEFI_MULTISIGN_EXPIRY_SECONDS, DEFI_PROTOCOLS_WITH_30MIN_EXPIRY, EIP712_SIGN_REQUEST_KIND, NEAR_CHAIN_CATEGORY, PAYLOAD_SIGN_ED25519_REQUEST_KIND, SOLANA_CHAIN_CATEGORY, aerodromeProtocolModule, approveStepsToEvmTxSteps, buildConditionalErc20ApproveSteps, buildEip712Multisign, buildEvmMultisignBatch, buildPayloadSignEd25519MultisignBody, coingeckoPlatformForChainId, coreChainCategoryModule, curveDao, curveDaoProtocolModule, defiMultisignExpiryUnixSeconds, evmChainCategoryModule, finalizeMultisign, getAaveGraphqlProxyUrl, getActionsByChainCategory, getCoingeckoProxyUrl, getEulerGraphqlProxyUrl, getJsonViaOptionalProxy, getMapleGraphqlProxyUrl, getMorphoGraphqlProxyUrl, getMorphoMidnightRestProxyUrl, getProtocolModule, getProtocolModules, isEvmNativeToken, matchEvmTokenKind, mergePurposeText, nearChainCategoryModule, normalizeCurveRouterAmountString, normalizeHumanDecimalAmount, parseEvmChainIdToNumber, postJsonViaOptionalProxy, publicClientForRpc, registerProtocolModule, resolveErc20Decimals, routerSwapGasLimitFromEstimate, setAaveGraphqlProxyUrl, setCoingeckoProxyUrl, setEulerGraphqlProxyUrl, setMapleGraphqlProxyUrl, setMorphoGraphqlProxyUrl, setMorphoMidnightRestProxyUrl, solanaChainCategoryModule, uniswapV4, uniswapV4ProtocolModule };
3439
3556
  //# sourceMappingURL=index.js.map
3440
3557
  //# sourceMappingURL=index.js.map