@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.
- package/dist/agent/catalog.cjs +712 -44
- package/dist/agent/catalog.cjs.map +1 -1
- package/dist/agent/catalog.d.ts +1630 -244
- package/dist/agent/catalog.js +678 -45
- package/dist/agent/catalog.js.map +1 -1
- package/dist/agent/skills/aave-v4/SKILL.md +19 -4
- package/dist/agent/skills/aerodrome/SKILL.md +2 -2
- package/dist/agent/skills/compound-v3/SKILL.md +2 -2
- package/dist/agent/skills/curve-dao/SKILL.md +14 -0
- package/dist/agent/skills/ethena/SKILL.md +3 -1
- package/dist/agent/skills/euler-v2/SKILL.md +1 -1
- package/dist/agent/skills/gmx/SKILL.md +1 -1
- package/dist/agent/skills/hyperliquid/SKILL.md +7 -5
- package/dist/agent/skills/lido/SKILL.md +3 -0
- package/dist/agent/skills/maple-syrup/SKILL.md +35 -3
- package/dist/agent/skills/morpho/SKILL.md +1 -1
- package/dist/agent/skills/sky/SKILL.md +2 -0
- package/dist/agent/skills/yield-compare/SKILL.md +78 -0
- package/dist/index.cjs +129 -29
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +129 -27
- package/dist/index.js.map +1 -1
- package/dist/protocols/evm/aave-v4/index.cjs +170 -0
- package/dist/protocols/evm/aave-v4/index.cjs.map +1 -1
- package/dist/protocols/evm/aave-v4/index.d.ts +59 -1
- package/dist/protocols/evm/aave-v4/index.js +164 -1
- package/dist/protocols/evm/aave-v4/index.js.map +1 -1
- package/dist/protocols/evm/aerodrome/index.cjs +1308 -901
- package/dist/protocols/evm/aerodrome/index.cjs.map +1 -1
- package/dist/protocols/evm/aerodrome/index.d.ts +69 -2
- package/dist/protocols/evm/aerodrome/index.js +1217 -807
- package/dist/protocols/evm/aerodrome/index.js.map +1 -1
- package/dist/protocols/evm/compound-v3/index.cjs +82 -6
- package/dist/protocols/evm/compound-v3/index.cjs.map +1 -1
- package/dist/protocols/evm/compound-v3/index.d.ts +89 -1
- package/dist/protocols/evm/compound-v3/index.js +80 -7
- package/dist/protocols/evm/compound-v3/index.js.map +1 -1
- package/dist/protocols/evm/curve-dao/index.cjs +447 -18
- package/dist/protocols/evm/curve-dao/index.cjs.map +1 -1
- package/dist/protocols/evm/curve-dao/index.d.ts +108 -1
- package/dist/protocols/evm/curve-dao/index.js +440 -19
- package/dist/protocols/evm/curve-dao/index.js.map +1 -1
- package/dist/protocols/evm/ethena/index.cjs +89 -0
- package/dist/protocols/evm/ethena/index.cjs.map +1 -1
- package/dist/protocols/evm/ethena/index.d.ts +17 -1
- package/dist/protocols/evm/ethena/index.js +89 -2
- package/dist/protocols/evm/ethena/index.js.map +1 -1
- package/dist/protocols/evm/euler-v2/index.cjs +29 -0
- package/dist/protocols/evm/euler-v2/index.cjs.map +1 -1
- package/dist/protocols/evm/euler-v2/index.d.ts +21 -1
- package/dist/protocols/evm/euler-v2/index.js +29 -1
- package/dist/protocols/evm/euler-v2/index.js.map +1 -1
- package/dist/protocols/evm/gmx/index.cjs +83 -1
- package/dist/protocols/evm/gmx/index.cjs.map +1 -1
- package/dist/protocols/evm/gmx/index.d.ts +22 -2
- package/dist/protocols/evm/gmx/index.js +80 -2
- package/dist/protocols/evm/gmx/index.js.map +1 -1
- package/dist/protocols/evm/hyperliquid/index.cjs +67 -11
- package/dist/protocols/evm/hyperliquid/index.cjs.map +1 -1
- package/dist/protocols/evm/hyperliquid/index.d.ts +39 -2
- package/dist/protocols/evm/hyperliquid/index.js +64 -12
- package/dist/protocols/evm/hyperliquid/index.js.map +1 -1
- package/dist/protocols/evm/lido/index.cjs +13 -0
- package/dist/protocols/evm/lido/index.cjs.map +1 -1
- package/dist/protocols/evm/lido/index.d.ts +9 -1
- package/dist/protocols/evm/lido/index.js +13 -1
- package/dist/protocols/evm/lido/index.js.map +1 -1
- package/dist/protocols/evm/maple/index.cjs +129 -1
- package/dist/protocols/evm/maple/index.cjs.map +1 -1
- package/dist/protocols/evm/maple/index.d.ts +45 -1
- package/dist/protocols/evm/maple/index.js +124 -3
- package/dist/protocols/evm/maple/index.js.map +1 -1
- package/dist/protocols/evm/morpho/index.cjs +34 -7
- package/dist/protocols/evm/morpho/index.cjs.map +1 -1
- package/dist/protocols/evm/morpho/index.d.ts +23 -1
- package/dist/protocols/evm/morpho/index.js +34 -8
- package/dist/protocols/evm/morpho/index.js.map +1 -1
- package/dist/protocols/evm/sky/index.cjs +52 -0
- package/dist/protocols/evm/sky/index.cjs.map +1 -1
- package/dist/protocols/evm/sky/index.d.ts +16 -1
- package/dist/protocols/evm/sky/index.js +50 -1
- package/dist/protocols/evm/sky/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,8 +1,111 @@
|
|
|
1
|
+
import { parseAbi, parseAbiItem, hashTypedData, getAddress, zeroAddress, defineChain, createPublicClient, http, parseGwei, serializeTransaction, keccak256, parseUnits, formatUnits, encodeFunctionData, stringToHex, decodeFunctionData, erc20Abi, isAddress } from 'viem';
|
|
1
2
|
import { getClientIdFromKeyGenResult, gasLimitFromEstimateAndChainConfig, fetchChainFeeParams, gweiToDecimalString, proposalTxParamsToFeeSnapshot, alignEip1559FeesWithLatestBase, nodeFetchWithReadAuth } from '@continuumdao/continuum-node-sdk';
|
|
2
3
|
export { getClientIdFromKeyGenResult as firstClientIdFromKeyGen } from '@continuumdao/continuum-node-sdk';
|
|
3
|
-
import { parseAbi, parseAbiItem, hashTypedData, getAddress, zeroAddress, defineChain, createPublicClient, http, parseGwei, serializeTransaction, keccak256, parseUnits, formatUnits, encodeFunctionData, stringToHex, decodeFunctionData, erc20Abi, isAddress } from 'viem';
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __esm = (fn, res) => function __init() {
|
|
7
|
+
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
// src/core/expiry.ts
|
|
11
|
+
function defiMultisignExpiryUnixSeconds(protocolId, explicitExpiryDate) {
|
|
12
|
+
if (typeof explicitExpiryDate === "number" && Number.isFinite(explicitExpiryDate) && explicitExpiryDate > 0) {
|
|
13
|
+
return Math.floor(explicitExpiryDate);
|
|
14
|
+
}
|
|
15
|
+
if (protocolId && DEFI_PROTOCOLS_WITH_30MIN_EXPIRY.has(protocolId)) {
|
|
16
|
+
return Math.floor(Date.now() / 1e3) + DEFAULT_DEFI_MULTISIGN_EXPIRY_SECONDS;
|
|
17
|
+
}
|
|
18
|
+
return void 0;
|
|
19
|
+
}
|
|
20
|
+
var DEFAULT_DEFI_MULTISIGN_EXPIRY_SECONDS, DEFI_PROTOCOLS_WITH_30MIN_EXPIRY;
|
|
21
|
+
var init_expiry = __esm({
|
|
22
|
+
"src/core/expiry.ts"() {
|
|
23
|
+
DEFAULT_DEFI_MULTISIGN_EXPIRY_SECONDS = 30 * 60;
|
|
24
|
+
DEFI_PROTOCOLS_WITH_30MIN_EXPIRY = /* @__PURE__ */ new Set([
|
|
25
|
+
"uniswap-v4",
|
|
26
|
+
"gmx",
|
|
27
|
+
"hyperliquid",
|
|
28
|
+
"arcus",
|
|
29
|
+
"curve-dao",
|
|
30
|
+
"aerodrome"
|
|
31
|
+
]);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
function isAerodromeChainSupported(chainId) {
|
|
35
|
+
const n = typeof chainId === "number" ? chainId : Number.parseInt(String(chainId), 10);
|
|
36
|
+
return n === AERODROME_CHAIN_ID;
|
|
37
|
+
}
|
|
38
|
+
var AERODROME_PROTOCOL_ID, AERODROME_CHAIN_ID, AERODROME_WETH_BASE, AERODROME_USDC_BASE;
|
|
39
|
+
var init_support = __esm({
|
|
40
|
+
"src/protocols/evm/aerodrome/support.ts"() {
|
|
41
|
+
AERODROME_PROTOCOL_ID = "aerodrome";
|
|
42
|
+
AERODROME_CHAIN_ID = 8453;
|
|
43
|
+
AERODROME_WETH_BASE = "0x4200000000000000000000000000000000000006";
|
|
44
|
+
AERODROME_USDC_BASE = "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
var AERODROME_BASE_ADDRESSES_FALLBACK;
|
|
48
|
+
var init_addresses = __esm({
|
|
49
|
+
"src/protocols/evm/aerodrome/addresses.ts"() {
|
|
50
|
+
init_support();
|
|
51
|
+
AERODROME_BASE_ADDRESSES_FALLBACK = {
|
|
52
|
+
chainId: AERODROME_CHAIN_ID,
|
|
53
|
+
aero: "0x940181a94A35A4569E4529A3CDfB74e38FD98631",
|
|
54
|
+
router: "0xcF77a3Ba9A5CA399B7c97c74d54e5b1Beb874E43",
|
|
55
|
+
poolFactory: "0x420DD381b31aEf6683db6B902084cB0FFECe40Da",
|
|
56
|
+
factoryRegistry: "0x5C3F18F06CC09CA1910767A34a20F771039E37C0",
|
|
57
|
+
voter: "0x16613524e02ad97eDfeF371bC883F2F5d6C480A5",
|
|
58
|
+
votingEscrow: "0xeBf418Fe2512e7E6bd9b87a8F0f294aCDC67e6B4",
|
|
59
|
+
rewardsDistributor: "0x227f65131A261548b057215bB1D5Ab2997964C7d",
|
|
60
|
+
mixedQuoter: "0x0A5aA5D3a4d28014f967Bf0f29EAA3FF9807D5c6",
|
|
61
|
+
/** MixedRouteQuoterV3 — v2 + all three CL factories (bitmask path encoding). */
|
|
62
|
+
mixedQuoterV3: "0xCd2A7D98e82D6107eac1828ce8DeAA6acB65b555",
|
|
63
|
+
nfpm: "0x827922686190790b37229fd06084350E74485b72",
|
|
64
|
+
/** Oldest Slipstream CL factory (Gauges V1). Path bit 1<<20. */
|
|
65
|
+
clFactory: "0x5e7BB104d84c7CB9B682AaC2F3d509f5F406809A",
|
|
66
|
+
/** Slipstream CL factory 2 (gauge caps). Raw tickSpacing in MixedQuoterV3. */
|
|
67
|
+
clFactory2: "0xaDe65c38CD4849aDBA595a4323a8C7DdfE89716a",
|
|
68
|
+
/** Newest Slipstream CL factory (Gauges V3) — Coinbase B20 stock pools. Path bit 1<<19. */
|
|
69
|
+
clFactory3: "0xf8f2eB4940CFE7d13603DDDD87f123820Fc061Ef",
|
|
70
|
+
universalRouter: "0x6Cb442acF35158D5eDa88fe602221b67B400Be3E",
|
|
71
|
+
swapRouter: "0xBE6D8f0d05cC4be24d5167a3eF062215bE6D18a5",
|
|
72
|
+
swapRouter2: "0xcbBb8035cAc7D4B3Ca7aBb74cF7BdF900215Ce0D",
|
|
73
|
+
swapRouter3: "0x698Cb2b6dd822994581fEa6eA4Fc755d1363A92F",
|
|
74
|
+
pricesOracle: "0xee717411f6E44F9feE011835C8E6FAaC5dEfF166",
|
|
75
|
+
slipstreamHelper: "0x0AD09A66af0154a84e86F761313d02d0abB6edd5",
|
|
76
|
+
lpSugar: "0x69dD9db6d8f8E7d83887A704f447b1a584b599A1",
|
|
77
|
+
sugarSlipstreamHelper: "0x9c62ab10577fB3C20A22E231b7703Ed6D456CC7a",
|
|
78
|
+
swapper: "0x91616a7B9CF6D23f8C17845581051EBdC4BcB916",
|
|
79
|
+
weth: AERODROME_WETH_BASE
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
var init_stockTokens = __esm({
|
|
84
|
+
"src/protocols/evm/aerodrome/stockTokens.ts"() {
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
var init_discover = __esm({
|
|
88
|
+
"src/protocols/evm/aerodrome/discover.ts"() {
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
var init_yields = __esm({
|
|
92
|
+
"src/protocols/evm/aerodrome/yields.ts"() {
|
|
93
|
+
init_addresses();
|
|
94
|
+
init_support();
|
|
95
|
+
new Set(
|
|
96
|
+
[
|
|
97
|
+
AERODROME_WETH_BASE,
|
|
98
|
+
AERODROME_USDC_BASE,
|
|
99
|
+
AERODROME_BASE_ADDRESSES_FALLBACK.aero,
|
|
100
|
+
"0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
|
|
101
|
+
"0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2",
|
|
102
|
+
"0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34",
|
|
103
|
+
"0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22",
|
|
104
|
+
"0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452"
|
|
105
|
+
].map((a) => a.toLowerCase())
|
|
106
|
+
);
|
|
107
|
+
}
|
|
108
|
+
});
|
|
6
109
|
|
|
7
110
|
// src/core/purpose.ts
|
|
8
111
|
function mergePurposeText(purposeText, purposeSuffix) {
|
|
@@ -297,25 +400,8 @@ function buildPayloadSignEd25519MultisignBody(args) {
|
|
|
297
400
|
});
|
|
298
401
|
}
|
|
299
402
|
|
|
300
|
-
// src/core/
|
|
301
|
-
|
|
302
|
-
var DEFI_PROTOCOLS_WITH_30MIN_EXPIRY = /* @__PURE__ */ new Set([
|
|
303
|
-
"uniswap-v4",
|
|
304
|
-
"gmx",
|
|
305
|
-
"hyperliquid",
|
|
306
|
-
"arcus",
|
|
307
|
-
"curve-dao",
|
|
308
|
-
"aerodrome"
|
|
309
|
-
]);
|
|
310
|
-
function defiMultisignExpiryUnixSeconds(protocolId, explicitExpiryDate) {
|
|
311
|
-
if (typeof explicitExpiryDate === "number" && Number.isFinite(explicitExpiryDate) && explicitExpiryDate > 0) {
|
|
312
|
-
return Math.floor(explicitExpiryDate);
|
|
313
|
-
}
|
|
314
|
-
if (protocolId && DEFI_PROTOCOLS_WITH_30MIN_EXPIRY.has(protocolId)) {
|
|
315
|
-
return Math.floor(Date.now() / 1e3) + DEFAULT_DEFI_MULTISIGN_EXPIRY_SECONDS;
|
|
316
|
-
}
|
|
317
|
-
return void 0;
|
|
318
|
-
}
|
|
403
|
+
// src/core/index.ts
|
|
404
|
+
init_expiry();
|
|
319
405
|
function isEvmNativeToken(address) {
|
|
320
406
|
try {
|
|
321
407
|
return getAddress(address) === zeroAddress;
|
|
@@ -3429,6 +3515,22 @@ var curveDaoProtocolModule = {
|
|
|
3429
3515
|
amountHuman: { type: "string", required: true, description: "Human-readable input amount" },
|
|
3430
3516
|
slippagePercent: { type: "number", required: true, description: "Slippage percent (0\u2013100 exclusive)" }
|
|
3431
3517
|
}
|
|
3518
|
+
},
|
|
3519
|
+
{
|
|
3520
|
+
id: "curve-dao.add-liquidity",
|
|
3521
|
+
protocolId: CURVE_DAO_PROTOCOL_ID,
|
|
3522
|
+
chainCategory: "evm",
|
|
3523
|
+
description: "Add liquidity to an important Curve pool (optional gauge stake)",
|
|
3524
|
+
commonParams: ["keyGen", "purposeText", "useCustomGas"],
|
|
3525
|
+
params: {}
|
|
3526
|
+
},
|
|
3527
|
+
{
|
|
3528
|
+
id: "curve-dao.remove-liquidity",
|
|
3529
|
+
protocolId: CURVE_DAO_PROTOCOL_ID,
|
|
3530
|
+
chainCategory: "evm",
|
|
3531
|
+
description: "Remove liquidity from an important Curve pool",
|
|
3532
|
+
commonParams: ["keyGen", "purposeText", "useCustomGas"],
|
|
3533
|
+
params: {}
|
|
3432
3534
|
}
|
|
3433
3535
|
]
|
|
3434
3536
|
};
|
|
@@ -3438,14 +3540,14 @@ var curveDao = {
|
|
|
3438
3540
|
isChainSupported: isCurveApiChainSupported,
|
|
3439
3541
|
loadSession: loadFullCurveSessionForRpc
|
|
3440
3542
|
};
|
|
3441
|
-
var AERODROME_PROTOCOL_ID = "aerodrome";
|
|
3442
|
-
var AERODROME_CHAIN_ID = 8453;
|
|
3443
|
-
function isAerodromeChainSupported(chainId) {
|
|
3444
|
-
const n = typeof chainId === "number" ? chainId : Number.parseInt(String(chainId), 10);
|
|
3445
|
-
return n === AERODROME_CHAIN_ID;
|
|
3446
|
-
}
|
|
3447
3543
|
|
|
3448
3544
|
// src/protocols/evm/aerodrome/index.ts
|
|
3545
|
+
init_support();
|
|
3546
|
+
init_support();
|
|
3547
|
+
init_addresses();
|
|
3548
|
+
init_stockTokens();
|
|
3549
|
+
init_discover();
|
|
3550
|
+
init_yields();
|
|
3449
3551
|
var aerodromeProtocolModule = {
|
|
3450
3552
|
id: AERODROME_PROTOCOL_ID,
|
|
3451
3553
|
chainCategory: "evm",
|