@continuumdao/ctm-mpc-defi 0.2.13 → 0.2.17

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 (47) hide show
  1. package/dist/agent/catalog.cjs +1149 -287
  2. package/dist/agent/catalog.cjs.map +1 -1
  3. package/dist/agent/catalog.d.ts +1655 -306
  4. package/dist/agent/catalog.js +1144 -288
  5. package/dist/agent/catalog.js.map +1 -1
  6. package/dist/agent/skills/_shared/multisign-mcp-gas.md +7 -4
  7. package/dist/agent/skills/circle-cctp/SKILL.md +63 -0
  8. package/dist/chains/evm/index.cjs +75 -0
  9. package/dist/chains/evm/index.cjs.map +1 -1
  10. package/dist/chains/evm/index.d.ts +31 -1
  11. package/dist/chains/evm/index.js +73 -2
  12. package/dist/chains/evm/index.js.map +1 -1
  13. package/dist/index.cjs +140 -32
  14. package/dist/index.cjs.map +1 -1
  15. package/dist/index.d.ts +1 -1
  16. package/dist/index.js +138 -34
  17. package/dist/index.js.map +1 -1
  18. package/dist/protocols/evm/circle-cctp/index.cjs +1067 -0
  19. package/dist/protocols/evm/circle-cctp/index.cjs.map +1 -0
  20. package/dist/protocols/evm/circle-cctp/index.d.ts +281 -0
  21. package/dist/protocols/evm/circle-cctp/index.js +1026 -0
  22. package/dist/protocols/evm/circle-cctp/index.js.map +1 -0
  23. package/dist/protocols/evm/euler-v2/index.cjs +29 -2
  24. package/dist/protocols/evm/euler-v2/index.cjs.map +1 -1
  25. package/dist/protocols/evm/euler-v2/index.d.ts +23 -1
  26. package/dist/protocols/evm/euler-v2/index.js +29 -3
  27. package/dist/protocols/evm/euler-v2/index.js.map +1 -1
  28. package/dist/protocols/evm/gmx/index.cjs +42 -8
  29. package/dist/protocols/evm/gmx/index.cjs.map +1 -1
  30. package/dist/protocols/evm/gmx/index.d.ts +20 -4
  31. package/dist/protocols/evm/gmx/index.js +42 -9
  32. package/dist/protocols/evm/gmx/index.js.map +1 -1
  33. package/dist/protocols/evm/maple/index.cjs +9 -1
  34. package/dist/protocols/evm/maple/index.cjs.map +1 -1
  35. package/dist/protocols/evm/maple/index.d.ts +2 -1
  36. package/dist/protocols/evm/maple/index.js +9 -1
  37. package/dist/protocols/evm/maple/index.js.map +1 -1
  38. package/dist/protocols/evm/morpho/index.cjs +56 -0
  39. package/dist/protocols/evm/morpho/index.cjs.map +1 -1
  40. package/dist/protocols/evm/morpho/index.d.ts +28 -1
  41. package/dist/protocols/evm/morpho/index.js +56 -1
  42. package/dist/protocols/evm/morpho/index.js.map +1 -1
  43. package/dist/protocols/evm/uniswap-v4/index.cjs +98 -26
  44. package/dist/protocols/evm/uniswap-v4/index.cjs.map +1 -1
  45. package/dist/protocols/evm/uniswap-v4/index.js +99 -27
  46. package/dist/protocols/evm/uniswap-v4/index.js.map +1 -1
  47. package/package.json +6 -1
@@ -221,6 +221,33 @@ declare function morphoResolveListedEarnVaultByAddress(args: {
221
221
  vaultAddress: string;
222
222
  }): Promise<MorphoEarnVaultDiscoveryRow | null>;
223
223
 
224
+ type MorphoBlueMarketDiscoveryRow = {
225
+ marketId: string;
226
+ marketLabel: string;
227
+ morphoBlueAddress: string;
228
+ collateralTokenAddress: string;
229
+ collateralTokenSymbol: string;
230
+ collateralTokenDecimals: number;
231
+ loanTokenAddress: string;
232
+ loanTokenSymbol: string;
233
+ loanTokenDecimals: number;
234
+ borrowApyLabel: string;
235
+ supplyApyLabel: string;
236
+ };
237
+ /** MCP: list/search Morpho Blue markets for collateral deposit / borrow flows. */
238
+ declare function morphoFetchBlueMarketsSummary(args: {
239
+ chainId: number;
240
+ /** Collateral asset symbol or address — filters markets where this token is collateral. */
241
+ collateral?: string;
242
+ /** Loan asset symbol or address — filters markets where this token is loan. */
243
+ loan?: string;
244
+ /** Case-insensitive filter on marketLabel, symbols, or marketId substring. */
245
+ query?: string;
246
+ limit?: number;
247
+ }): Promise<{
248
+ markets: MorphoBlueMarketDiscoveryRow[];
249
+ }>;
250
+
224
251
  type MorphoBorrowMarketRow = {
225
252
  marketId: string;
226
253
  morphoBlueAddress: string;
@@ -519,4 +546,4 @@ declare function buildEvmMultisignBodyMorphoMerklDistributorClaim(args: {
519
546
  declare const MORPHO_PROTOCOL_ID = "morpho";
520
547
  declare const morphoProtocolModule: ProtocolModule;
521
548
 
522
- export { MORPHO_BLUE_BORROW_FALLBACK_GAS, MORPHO_BLUE_COLLATERAL_DEPOSIT_FALLBACK_GAS, MORPHO_BLUE_COLLATERAL_WITHDRAW_FALLBACK_GAS, MORPHO_BLUE_REPAY_FALLBACK_GAS, MORPHO_GRAPHQL_URL, MORPHO_MIDNIGHT_UNAVAILABLE_MESSAGE, MORPHO_PROTOCOL_ID, MORPHO_VAULT_DEPOSIT_FALLBACK_GAS, MORPHO_VAULT_WITHDRAW_FALLBACK_GAS, type MorphoAssetRef, type MorphoBluePositionRow, type MorphoBorrowMarketRow, type MorphoChainRow, type MorphoEarnOfferingRow, type MorphoEarnVaultDetailFields, type MorphoEarnVaultDiscoveryRow, type MorphoEarnVaultExposureRow, type MorphoMarketApiRow, type MorphoMarketParams, type MorphoMidnightLoanIntent, type MorphoMidnightLoanIntentStatus, type MorphoVaultApiRow, type MorphoVaultPositionRow, type MorphoVaultV2ApiRow, type ResolvedMorphoMarket, buildEvmMultisignBodyMorphoBlueBorrowBatch, buildEvmMultisignBodyMorphoBlueRepayBatch, buildEvmMultisignBodyMorphoBlueSupplyCollateralBatch, buildEvmMultisignBodyMorphoBlueWithdrawCollateralBatch, buildEvmMultisignBodyMorphoMerklDistributorClaim, buildEvmMultisignBodyMorphoVaultDepositBatch, buildEvmMultisignBodyMorphoVaultWithdraw, emptyMorphoEarnVaultDetailFields, enrichMorphoEarnOfferingRows, enrichMorphoEarnOfferingRowsForAgent, ensureMorphoChainAssetCache, fetchMorphoBorrowMarketsForCollateral, fetchMorphoBorrowMarketsForLoan, fetchMorphoChains, fetchMorphoEarnOfferingsForAsset, fetchMorphoEarnVaultDetails, fetchMorphoMarketById, fetchMorphoMarketsForChain, fetchMorphoMidnightIntents, fetchMorphoUserBluePositions, fetchMorphoUserPortfolioUsd, fetchMorphoUserVaultPositions, fetchMorphoVaultAssetDecimals, fetchMorphoVaultByAddress, fetchMorphoVaultMaxWithdrawWei, fetchMorphoVaultV2sForChain, fetchMorphoVaultsForChain, formatMorphoApyPct, formatMorphoFeePct, formatMorphoMarketApySummary, formatMorphoUsd, isMorphoVaultListed, loadMorphoSupportedChainIds, marketParamsFromApiRow, morphoEarnOfferingToDiscoveryRow, morphoFetchEarnVaultsSummary, morphoGql, morphoKeyForAssetRow, morphoMarketToBorrowRow, morphoProtocolModule, morphoResolveListedEarnVaultByAddress, previewMorphoBlueHealthAfterCollateralWithdraw, searchMorphoListedEarnVaults };
549
+ export { MORPHO_BLUE_BORROW_FALLBACK_GAS, MORPHO_BLUE_COLLATERAL_DEPOSIT_FALLBACK_GAS, MORPHO_BLUE_COLLATERAL_WITHDRAW_FALLBACK_GAS, MORPHO_BLUE_REPAY_FALLBACK_GAS, MORPHO_GRAPHQL_URL, MORPHO_MIDNIGHT_UNAVAILABLE_MESSAGE, MORPHO_PROTOCOL_ID, MORPHO_VAULT_DEPOSIT_FALLBACK_GAS, MORPHO_VAULT_WITHDRAW_FALLBACK_GAS, type MorphoAssetRef, type MorphoBlueMarketDiscoveryRow, type MorphoBluePositionRow, type MorphoBorrowMarketRow, type MorphoChainRow, type MorphoEarnOfferingRow, type MorphoEarnVaultDetailFields, type MorphoEarnVaultDiscoveryRow, type MorphoEarnVaultExposureRow, type MorphoMarketApiRow, type MorphoMarketParams, type MorphoMidnightLoanIntent, type MorphoMidnightLoanIntentStatus, type MorphoVaultApiRow, type MorphoVaultPositionRow, type MorphoVaultV2ApiRow, type ResolvedMorphoMarket, buildEvmMultisignBodyMorphoBlueBorrowBatch, buildEvmMultisignBodyMorphoBlueRepayBatch, buildEvmMultisignBodyMorphoBlueSupplyCollateralBatch, buildEvmMultisignBodyMorphoBlueWithdrawCollateralBatch, buildEvmMultisignBodyMorphoMerklDistributorClaim, buildEvmMultisignBodyMorphoVaultDepositBatch, buildEvmMultisignBodyMorphoVaultWithdraw, emptyMorphoEarnVaultDetailFields, enrichMorphoEarnOfferingRows, enrichMorphoEarnOfferingRowsForAgent, ensureMorphoChainAssetCache, fetchMorphoBorrowMarketsForCollateral, fetchMorphoBorrowMarketsForLoan, fetchMorphoChains, fetchMorphoEarnOfferingsForAsset, fetchMorphoEarnVaultDetails, fetchMorphoMarketById, fetchMorphoMarketsForChain, fetchMorphoMidnightIntents, fetchMorphoUserBluePositions, fetchMorphoUserPortfolioUsd, fetchMorphoUserVaultPositions, fetchMorphoVaultAssetDecimals, fetchMorphoVaultByAddress, fetchMorphoVaultMaxWithdrawWei, fetchMorphoVaultV2sForChain, fetchMorphoVaultsForChain, formatMorphoApyPct, formatMorphoFeePct, formatMorphoMarketApySummary, formatMorphoUsd, isMorphoVaultListed, loadMorphoSupportedChainIds, marketParamsFromApiRow, morphoEarnOfferingToDiscoveryRow, morphoFetchBlueMarketsSummary, morphoFetchEarnVaultsSummary, morphoGql, morphoKeyForAssetRow, morphoMarketToBorrowRow, morphoProtocolModule, morphoResolveListedEarnVaultByAddress, previewMorphoBlueHealthAfterCollateralWithdraw, searchMorphoListedEarnVaults };
@@ -904,6 +904,61 @@ async function fetchMorphoBorrowMarketsForLoan(args) {
904
904
  }
905
905
  return out;
906
906
  }
907
+
908
+ // src/protocols/evm/morpho/blueDiscovery.ts
909
+ function toDiscoveryRow(row) {
910
+ return {
911
+ marketId: row.marketId,
912
+ marketLabel: row.marketLabel,
913
+ morphoBlueAddress: row.morphoBlueAddress,
914
+ collateralTokenAddress: row.collateralAssetAddress,
915
+ collateralTokenSymbol: row.collateralAssetSymbol,
916
+ collateralTokenDecimals: row.collateralAssetDecimals,
917
+ loanTokenAddress: row.loanAssetAddress,
918
+ loanTokenSymbol: row.loanAssetSymbol,
919
+ loanTokenDecimals: row.loanAssetDecimals,
920
+ borrowApyLabel: row.borrowApyLabel,
921
+ supplyApyLabel: row.supplyApyLabel
922
+ };
923
+ }
924
+ async function morphoFetchBlueMarketsSummary(args) {
925
+ const limit = Math.min(Math.max(args.limit ?? 50, 1), 200);
926
+ let rows = [];
927
+ const collateral = args.collateral?.trim();
928
+ const loan = args.loan?.trim();
929
+ if (collateral) {
930
+ rows = await fetchMorphoBorrowMarketsForCollateral({
931
+ chainId: args.chainId,
932
+ collateralAddress: collateral
933
+ });
934
+ } else if (loan) {
935
+ rows = await fetchMorphoBorrowMarketsForLoan({
936
+ chainId: args.chainId,
937
+ loanAddress: loan
938
+ });
939
+ } else {
940
+ const raw = await fetchMorphoMarketsForChain(args.chainId, 300);
941
+ for (const m of raw) {
942
+ const row = morphoMarketToBorrowRow(m);
943
+ if (row) rows.push(row);
944
+ }
945
+ }
946
+ const q = (args.query ?? "").trim().toLowerCase();
947
+ if (q) {
948
+ rows = rows.filter((r) => {
949
+ const hay = [
950
+ r.marketLabel,
951
+ r.marketId,
952
+ r.collateralAssetSymbol,
953
+ r.loanAssetSymbol,
954
+ r.collateralAssetAddress,
955
+ r.loanAssetAddress
956
+ ].join(" ").toLowerCase();
957
+ return hay.includes(q);
958
+ });
959
+ }
960
+ return { markets: rows.slice(0, limit).map(toDiscoveryRow) };
961
+ }
907
962
  function formatMorphoPositionAssets(raw, decimals) {
908
963
  if (raw == null) return "0";
909
964
  const s = String(raw).trim();
@@ -1913,6 +1968,6 @@ var morphoProtocolModule = {
1913
1968
  };
1914
1969
  registerProtocolModule(morphoProtocolModule);
1915
1970
 
1916
- export { MORPHO_BLUE_BORROW_FALLBACK_GAS, MORPHO_BLUE_COLLATERAL_DEPOSIT_FALLBACK_GAS, MORPHO_BLUE_COLLATERAL_WITHDRAW_FALLBACK_GAS, MORPHO_BLUE_REPAY_FALLBACK_GAS, MORPHO_GRAPHQL_URL, MORPHO_MIDNIGHT_UNAVAILABLE_MESSAGE, MORPHO_PROTOCOL_ID, MORPHO_VAULT_DEPOSIT_FALLBACK_GAS, MORPHO_VAULT_WITHDRAW_FALLBACK_GAS, buildEvmMultisignBodyMorphoBlueBorrowBatch, buildEvmMultisignBodyMorphoBlueRepayBatch, buildEvmMultisignBodyMorphoBlueSupplyCollateralBatch, buildEvmMultisignBodyMorphoBlueWithdrawCollateralBatch, buildEvmMultisignBodyMorphoMerklDistributorClaim, buildEvmMultisignBodyMorphoVaultDepositBatch, buildEvmMultisignBodyMorphoVaultWithdraw, emptyMorphoEarnVaultDetailFields, enrichMorphoEarnOfferingRows, enrichMorphoEarnOfferingRowsForAgent, ensureMorphoChainAssetCache, fetchMorphoBorrowMarketsForCollateral, fetchMorphoBorrowMarketsForLoan, fetchMorphoChains, fetchMorphoEarnOfferingsForAsset, fetchMorphoEarnVaultDetails, fetchMorphoMarketById, fetchMorphoMarketsForChain, fetchMorphoMidnightIntents, fetchMorphoUserBluePositions, fetchMorphoUserPortfolioUsd, fetchMorphoUserVaultPositions, fetchMorphoVaultAssetDecimals, fetchMorphoVaultByAddress, fetchMorphoVaultMaxWithdrawWei, fetchMorphoVaultV2sForChain, fetchMorphoVaultsForChain, formatMorphoApyPct, formatMorphoFeePct, formatMorphoMarketApySummary, formatMorphoUsd, isMorphoVaultListed, loadMorphoSupportedChainIds, marketParamsFromApiRow, morphoEarnOfferingToDiscoveryRow, morphoFetchEarnVaultsSummary, morphoGql, morphoKeyForAssetRow, morphoMarketToBorrowRow, morphoProtocolModule, morphoResolveListedEarnVaultByAddress, previewMorphoBlueHealthAfterCollateralWithdraw, searchMorphoListedEarnVaults };
1971
+ export { MORPHO_BLUE_BORROW_FALLBACK_GAS, MORPHO_BLUE_COLLATERAL_DEPOSIT_FALLBACK_GAS, MORPHO_BLUE_COLLATERAL_WITHDRAW_FALLBACK_GAS, MORPHO_BLUE_REPAY_FALLBACK_GAS, MORPHO_GRAPHQL_URL, MORPHO_MIDNIGHT_UNAVAILABLE_MESSAGE, MORPHO_PROTOCOL_ID, MORPHO_VAULT_DEPOSIT_FALLBACK_GAS, MORPHO_VAULT_WITHDRAW_FALLBACK_GAS, buildEvmMultisignBodyMorphoBlueBorrowBatch, buildEvmMultisignBodyMorphoBlueRepayBatch, buildEvmMultisignBodyMorphoBlueSupplyCollateralBatch, buildEvmMultisignBodyMorphoBlueWithdrawCollateralBatch, buildEvmMultisignBodyMorphoMerklDistributorClaim, buildEvmMultisignBodyMorphoVaultDepositBatch, buildEvmMultisignBodyMorphoVaultWithdraw, emptyMorphoEarnVaultDetailFields, enrichMorphoEarnOfferingRows, enrichMorphoEarnOfferingRowsForAgent, ensureMorphoChainAssetCache, fetchMorphoBorrowMarketsForCollateral, fetchMorphoBorrowMarketsForLoan, fetchMorphoChains, fetchMorphoEarnOfferingsForAsset, fetchMorphoEarnVaultDetails, fetchMorphoMarketById, fetchMorphoMarketsForChain, fetchMorphoMidnightIntents, fetchMorphoUserBluePositions, fetchMorphoUserPortfolioUsd, fetchMorphoUserVaultPositions, fetchMorphoVaultAssetDecimals, fetchMorphoVaultByAddress, fetchMorphoVaultMaxWithdrawWei, fetchMorphoVaultV2sForChain, fetchMorphoVaultsForChain, formatMorphoApyPct, formatMorphoFeePct, formatMorphoMarketApySummary, formatMorphoUsd, isMorphoVaultListed, loadMorphoSupportedChainIds, marketParamsFromApiRow, morphoEarnOfferingToDiscoveryRow, morphoFetchBlueMarketsSummary, morphoFetchEarnVaultsSummary, morphoGql, morphoKeyForAssetRow, morphoMarketToBorrowRow, morphoProtocolModule, morphoResolveListedEarnVaultByAddress, previewMorphoBlueHealthAfterCollateralWithdraw, searchMorphoListedEarnVaults };
1917
1972
  //# sourceMappingURL=index.js.map
1918
1973
  //# sourceMappingURL=index.js.map