@continuumdao/ctm-mpc-defi 0.2.34 → 0.2.35

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 (83) hide show
  1. package/dist/agent/catalog.cjs +712 -44
  2. package/dist/agent/catalog.cjs.map +1 -1
  3. package/dist/agent/catalog.d.ts +1630 -244
  4. package/dist/agent/catalog.js +678 -45
  5. package/dist/agent/catalog.js.map +1 -1
  6. package/dist/agent/skills/aave-v4/SKILL.md +19 -4
  7. package/dist/agent/skills/aerodrome/SKILL.md +2 -2
  8. package/dist/agent/skills/compound-v3/SKILL.md +2 -2
  9. package/dist/agent/skills/curve-dao/SKILL.md +14 -0
  10. package/dist/agent/skills/ethena/SKILL.md +3 -1
  11. package/dist/agent/skills/euler-v2/SKILL.md +1 -1
  12. package/dist/agent/skills/gmx/SKILL.md +1 -1
  13. package/dist/agent/skills/hyperliquid/SKILL.md +7 -5
  14. package/dist/agent/skills/lido/SKILL.md +3 -0
  15. package/dist/agent/skills/maple-syrup/SKILL.md +35 -3
  16. package/dist/agent/skills/morpho/SKILL.md +1 -1
  17. package/dist/agent/skills/sky/SKILL.md +2 -0
  18. package/dist/agent/skills/yield-compare/SKILL.md +78 -0
  19. package/dist/index.cjs +129 -29
  20. package/dist/index.cjs.map +1 -1
  21. package/dist/index.js +129 -27
  22. package/dist/index.js.map +1 -1
  23. package/dist/protocols/evm/aave-v4/index.cjs +170 -0
  24. package/dist/protocols/evm/aave-v4/index.cjs.map +1 -1
  25. package/dist/protocols/evm/aave-v4/index.d.ts +59 -1
  26. package/dist/protocols/evm/aave-v4/index.js +164 -1
  27. package/dist/protocols/evm/aave-v4/index.js.map +1 -1
  28. package/dist/protocols/evm/aerodrome/index.cjs +1308 -901
  29. package/dist/protocols/evm/aerodrome/index.cjs.map +1 -1
  30. package/dist/protocols/evm/aerodrome/index.d.ts +69 -2
  31. package/dist/protocols/evm/aerodrome/index.js +1217 -807
  32. package/dist/protocols/evm/aerodrome/index.js.map +1 -1
  33. package/dist/protocols/evm/compound-v3/index.cjs +82 -6
  34. package/dist/protocols/evm/compound-v3/index.cjs.map +1 -1
  35. package/dist/protocols/evm/compound-v3/index.d.ts +89 -1
  36. package/dist/protocols/evm/compound-v3/index.js +80 -7
  37. package/dist/protocols/evm/compound-v3/index.js.map +1 -1
  38. package/dist/protocols/evm/curve-dao/index.cjs +447 -18
  39. package/dist/protocols/evm/curve-dao/index.cjs.map +1 -1
  40. package/dist/protocols/evm/curve-dao/index.d.ts +108 -1
  41. package/dist/protocols/evm/curve-dao/index.js +440 -19
  42. package/dist/protocols/evm/curve-dao/index.js.map +1 -1
  43. package/dist/protocols/evm/ethena/index.cjs +89 -0
  44. package/dist/protocols/evm/ethena/index.cjs.map +1 -1
  45. package/dist/protocols/evm/ethena/index.d.ts +17 -1
  46. package/dist/protocols/evm/ethena/index.js +89 -2
  47. package/dist/protocols/evm/ethena/index.js.map +1 -1
  48. package/dist/protocols/evm/euler-v2/index.cjs +29 -0
  49. package/dist/protocols/evm/euler-v2/index.cjs.map +1 -1
  50. package/dist/protocols/evm/euler-v2/index.d.ts +21 -1
  51. package/dist/protocols/evm/euler-v2/index.js +29 -1
  52. package/dist/protocols/evm/euler-v2/index.js.map +1 -1
  53. package/dist/protocols/evm/gmx/index.cjs +83 -1
  54. package/dist/protocols/evm/gmx/index.cjs.map +1 -1
  55. package/dist/protocols/evm/gmx/index.d.ts +22 -2
  56. package/dist/protocols/evm/gmx/index.js +80 -2
  57. package/dist/protocols/evm/gmx/index.js.map +1 -1
  58. package/dist/protocols/evm/hyperliquid/index.cjs +67 -11
  59. package/dist/protocols/evm/hyperliquid/index.cjs.map +1 -1
  60. package/dist/protocols/evm/hyperliquid/index.d.ts +39 -2
  61. package/dist/protocols/evm/hyperliquid/index.js +64 -12
  62. package/dist/protocols/evm/hyperliquid/index.js.map +1 -1
  63. package/dist/protocols/evm/lido/index.cjs +13 -0
  64. package/dist/protocols/evm/lido/index.cjs.map +1 -1
  65. package/dist/protocols/evm/lido/index.d.ts +9 -1
  66. package/dist/protocols/evm/lido/index.js +13 -1
  67. package/dist/protocols/evm/lido/index.js.map +1 -1
  68. package/dist/protocols/evm/maple/index.cjs +129 -1
  69. package/dist/protocols/evm/maple/index.cjs.map +1 -1
  70. package/dist/protocols/evm/maple/index.d.ts +45 -1
  71. package/dist/protocols/evm/maple/index.js +124 -3
  72. package/dist/protocols/evm/maple/index.js.map +1 -1
  73. package/dist/protocols/evm/morpho/index.cjs +34 -7
  74. package/dist/protocols/evm/morpho/index.cjs.map +1 -1
  75. package/dist/protocols/evm/morpho/index.d.ts +23 -1
  76. package/dist/protocols/evm/morpho/index.js +34 -8
  77. package/dist/protocols/evm/morpho/index.js.map +1 -1
  78. package/dist/protocols/evm/sky/index.cjs +52 -0
  79. package/dist/protocols/evm/sky/index.cjs.map +1 -1
  80. package/dist/protocols/evm/sky/index.d.ts +16 -1
  81. package/dist/protocols/evm/sky/index.js +50 -1
  82. package/dist/protocols/evm/sky/index.js.map +1 -1
  83. package/package.json +1 -1
@@ -1387,6 +1387,55 @@ async function readSusdsPreviewRedeemAssetsWei(args) {
1387
1387
  function formatSusdsSharesHuman(sharesWei, decimals) {
1388
1388
  return viem.formatUnits(sharesWei, decimals);
1389
1389
  }
1390
+ var susdsRateAbi = viem.parseAbi([
1391
+ "function ssr() view returns (uint256)",
1392
+ "function previewRedeem(uint256 shares) view returns (uint256 assets)"
1393
+ ]);
1394
+ var RAY2 = 1e27;
1395
+ var SECONDS_PER_YEAR = 365.25 * 24 * 60 * 60;
1396
+ function skySsrRayToApyPercent(ssrRay) {
1397
+ const rate = Number(ssrRay) / RAY2;
1398
+ if (!Number.isFinite(rate) || rate <= 0) return null;
1399
+ const apy = rate ** SECONDS_PER_YEAR - 1;
1400
+ if (!Number.isFinite(apy) || apy < 0) return null;
1401
+ return apy * 100;
1402
+ }
1403
+ function formatSkyApyPercentLabel(pct) {
1404
+ if (pct == null) return "\u2014";
1405
+ return `${pct.toFixed(2)}%`;
1406
+ }
1407
+ async function skyFetchSusdsRateSummary(args) {
1408
+ const rpc = args.rpcUrl.trim();
1409
+ if (!rpc) throw new Error("rpcUrl is required.");
1410
+ const ch = viem.defineChain({
1411
+ id: 1,
1412
+ name: "Ethereum",
1413
+ nativeCurrency: { decimals: 18, name: "Ether", symbol: "ETH" },
1414
+ rpcUrls: { default: { http: [rpc] } }
1415
+ });
1416
+ const client = viem.createPublicClient({ chain: ch, transport: viem.http(rpc) });
1417
+ const vault = viem.getAddress(SUSDS_VAULT_ERC4626_MAINNET);
1418
+ const [ssr, assets] = await Promise.all([
1419
+ client.readContract({ address: vault, abi: susdsRateAbi, functionName: "ssr" }),
1420
+ client.readContract({
1421
+ address: vault,
1422
+ abi: susdsRateAbi,
1423
+ functionName: "previewRedeem",
1424
+ args: [10n ** 18n]
1425
+ })
1426
+ ]);
1427
+ const apy = skySsrRayToApyPercent(ssr);
1428
+ return {
1429
+ chainId: 1,
1430
+ vault,
1431
+ asset: viem.getAddress(USDS_ETHEREUM_MAINNET),
1432
+ assetSymbol: "USDS",
1433
+ apyPercent: formatSkyApyPercentLabel(apy),
1434
+ apy,
1435
+ usdsPerSusdsShare: viem.formatUnits(assets, 18),
1436
+ notes: "Sky Savings Rate from on-chain sUSDS.ssr() (ray). APY = (ssr/1e27)^(seconds/year) \u2212 1. Ethereum mainnet. Do not web-search Sky rates."
1437
+ };
1438
+ }
1390
1439
 
1391
1440
  // src/core/defiProxy.ts
1392
1441
  var coingeckoProxyUrl;
@@ -1465,6 +1514,7 @@ exports.buildSkyLockstakeWipeBatch = buildSkyLockstakeWipeBatch;
1465
1514
  exports.buildSkySusdsDepositFromUsdsBatch = buildSkySusdsDepositFromUsdsBatch;
1466
1515
  exports.buildSkySusdsRedeemToUsdsBatch = buildSkySusdsRedeemToUsdsBatch;
1467
1516
  exports.fetchSkyUsdFromCoinGecko = fetchSkyUsdFromCoinGecko;
1517
+ exports.formatSkyApyPercentLabel = formatSkyApyPercentLabel;
1468
1518
  exports.formatSusdsSharesHuman = formatSusdsSharesHuman;
1469
1519
  exports.isSkyLockstakeIsolationEstimateGasFragileBatchStep = isSkyLockstakeIsolationEstimateGasFragileBatchStep;
1470
1520
  exports.loadSkyLockstakePositions = loadSkyLockstakePositions;
@@ -1474,7 +1524,9 @@ exports.readSusdsPreviewRedeemAssetsWei = readSusdsPreviewRedeemAssetsWei;
1474
1524
  exports.readSusdsVaultDecimals = readSusdsVaultDecimals;
1475
1525
  exports.readSusdsVaultShareBalanceWei = readSusdsVaultShareBalanceWei;
1476
1526
  exports.resolveSkyLockstakeBatchStepGasFromSignRequest = resolveSkyLockstakeBatchStepGasFromSignRequest;
1527
+ exports.skyFetchSusdsRateSummary = skyFetchSusdsRateSummary;
1477
1528
  exports.skyProtocolModule = skyProtocolModule;
1529
+ exports.skySsrRayToApyPercent = skySsrRayToApyPercent;
1478
1530
  exports.skyUsdsDebtWeiFromUrnArt = skyUsdsDebtWeiFromUrnArt;
1479
1531
  //# sourceMappingURL=index.cjs.map
1480
1532
  //# sourceMappingURL=index.cjs.map