@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.
- package/dist/agent/catalog.cjs +1933 -56
- package/dist/agent/catalog.cjs.map +1 -1
- package/dist/agent/catalog.d.ts +3671 -661
- package/dist/agent/catalog.js +1896 -58
- package/dist/agent/catalog.js.map +1 -1
- package/dist/agent/skills/aerodrome/SKILL.md +93 -0
- package/dist/agent/skills/compound-v3/SKILL.md +132 -0
- package/dist/agent/skills/euler-v2/SKILL.md +1 -1
- package/dist/agent/skills/morpho/SKILL.md +16 -8
- package/dist/buildBatch-CngvebiD.d.ts +45 -0
- package/dist/chains/evm/index.d.ts +6 -44
- package/dist/core/index.cjs +2 -1
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.js +2 -1
- package/dist/core/index.js.map +1 -1
- package/dist/index.cjs +119 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +119 -2
- package/dist/index.js.map +1 -1
- package/dist/protocols/evm/aerodrome/index.cjs +3922 -0
- package/dist/protocols/evm/aerodrome/index.cjs.map +1 -0
- package/dist/protocols/evm/aerodrome/index.d.ts +792 -0
- package/dist/protocols/evm/aerodrome/index.js +3843 -0
- package/dist/protocols/evm/aerodrome/index.js.map +1 -0
- package/dist/protocols/evm/compound-v3/index.cjs +1542 -0
- package/dist/protocols/evm/compound-v3/index.cjs.map +1 -0
- package/dist/protocols/evm/compound-v3/index.d.ts +683 -0
- package/dist/protocols/evm/compound-v3/index.js +1488 -0
- package/dist/protocols/evm/compound-v3/index.js.map +1 -0
- package/dist/protocols/evm/euler-v2/index.cjs +17 -10
- package/dist/protocols/evm/euler-v2/index.cjs.map +1 -1
- package/dist/protocols/evm/euler-v2/index.js +17 -10
- package/dist/protocols/evm/euler-v2/index.js.map +1 -1
- package/dist/protocols/evm/morpho/index.cjs +746 -39
- package/dist/protocols/evm/morpho/index.cjs.map +1 -1
- package/dist/protocols/evm/morpho/index.d.ts +161 -14
- package/dist/protocols/evm/morpho/index.js +736 -42
- package/dist/protocols/evm/morpho/index.js.map +1 -1
- package/package.json +15 -1
|
@@ -0,0 +1,792 @@
|
|
|
1
|
+
import { b as KeyGenSubsetForPermit, e as ProtocolModule } from '../../../types-PZrvtjv8.js';
|
|
2
|
+
import { Address, Hex } from 'viem';
|
|
3
|
+
import { E as EvmChainDetail, b as EvmTxStep } from '../../../types-RZWOTm8c.js';
|
|
4
|
+
import { b as buildEvmMultisignBatch } from '../../../buildBatch-CngvebiD.js';
|
|
5
|
+
import * as abitype from 'abitype';
|
|
6
|
+
import '../../../envelope-C_bfuKab.js';
|
|
7
|
+
|
|
8
|
+
declare const AERODROME_PROTOCOL_ID: "aerodrome";
|
|
9
|
+
/** Aerodrome is Base-only. */
|
|
10
|
+
declare const AERODROME_CHAIN_ID: 8453;
|
|
11
|
+
/** Native ETH placeholder used by the app and MCP (Uniswap-style). */
|
|
12
|
+
declare const AERODROME_NATIVE_PLACEHOLDER: "0x0000000000000000000000000000000000000000";
|
|
13
|
+
/** WETH on Base. */
|
|
14
|
+
declare const AERODROME_WETH_BASE: "0x4200000000000000000000000000000000000006";
|
|
15
|
+
/** USDC on Base — official connector used by Sugar / sdk.js routing. */
|
|
16
|
+
declare const AERODROME_USDC_BASE: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
|
|
17
|
+
declare function isAerodromeChainSupported(chainId: number | string): boolean;
|
|
18
|
+
/** Router / NFPM deadline: same unix seconds as the multiSignRequest expiry (default 30 minutes). */
|
|
19
|
+
declare function aerodromeOnChainDeadlineUnix(expiryDate?: number): bigint;
|
|
20
|
+
declare function requireAerodromeRpcUrl(rpcUrl: string | undefined | null): string;
|
|
21
|
+
declare function isAerodromeNativeToken(address: string): boolean;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Last-known Base addresses copied from official sources (2026-08):
|
|
25
|
+
* - https://raw.githubusercontent.com/aerodrome-finance/docs/main/content/security.mdx
|
|
26
|
+
* - https://raw.githubusercontent.com/velodrome-finance/sugar/main/deployments/base.env
|
|
27
|
+
*/
|
|
28
|
+
declare const AERODROME_BASE_ADDRESSES_FALLBACK: {
|
|
29
|
+
readonly chainId: 8453;
|
|
30
|
+
readonly aero: "0x940181a94A35A4569E4529A3CDfB74e38FD98631";
|
|
31
|
+
readonly router: "0xcF77a3Ba9A5CA399B7c97c74d54e5b1Beb874E43";
|
|
32
|
+
readonly poolFactory: "0x420DD381b31aEf6683db6B902084cB0FFECe40Da";
|
|
33
|
+
readonly factoryRegistry: "0x5C3F18F06CC09CA1910767A34a20F771039E37C0";
|
|
34
|
+
readonly voter: "0x16613524e02ad97eDfeF371bC883F2F5d6C480A5";
|
|
35
|
+
readonly votingEscrow: "0xeBf418Fe2512e7E6bd9b87a8F0f294aCDC67e6B4";
|
|
36
|
+
readonly rewardsDistributor: "0x227f65131A261548b057215bB1D5Ab2997964C7d";
|
|
37
|
+
readonly mixedQuoter: "0x0A5aA5D3a4d28014f967Bf0f29EAA3FF9807D5c6";
|
|
38
|
+
/** MixedRouteQuoterV3 — v2 + all three CL factories (bitmask path encoding). */
|
|
39
|
+
readonly mixedQuoterV3: "0xCd2A7D98e82D6107eac1828ce8DeAA6acB65b555";
|
|
40
|
+
readonly nfpm: "0x827922686190790b37229fd06084350E74485b72";
|
|
41
|
+
/** Oldest Slipstream CL factory (Gauges V1). Path bit 1<<20. */
|
|
42
|
+
readonly clFactory: "0x5e7BB104d84c7CB9B682AaC2F3d509f5F406809A";
|
|
43
|
+
/** Slipstream CL factory 2 (gauge caps). Raw tickSpacing in MixedQuoterV3. */
|
|
44
|
+
readonly clFactory2: "0xaDe65c38CD4849aDBA595a4323a8C7DdfE89716a";
|
|
45
|
+
/** Newest Slipstream CL factory (Gauges V3) — Coinbase B20 stock pools. Path bit 1<<19. */
|
|
46
|
+
readonly clFactory3: "0xf8f2eB4940CFE7d13603DDDD87f123820Fc061Ef";
|
|
47
|
+
readonly universalRouter: "0x6Cb442acF35158D5eDa88fe602221b67B400Be3E";
|
|
48
|
+
readonly swapRouter: "0xBE6D8f0d05cC4be24d5167a3eF062215bE6D18a5";
|
|
49
|
+
readonly swapRouter2: "0xcbBb8035cAc7D4B3Ca7aBb74cF7BdF900215Ce0D";
|
|
50
|
+
readonly swapRouter3: "0x698Cb2b6dd822994581fEa6eA4Fc755d1363A92F";
|
|
51
|
+
readonly pricesOracle: "0xee717411f6E44F9feE011835C8E6FAaC5dEfF166";
|
|
52
|
+
readonly slipstreamHelper: "0x0AD09A66af0154a84e86F761313d02d0abB6edd5";
|
|
53
|
+
readonly lpSugar: "0x69dD9db6d8f8E7d83887A704f447b1a584b599A1";
|
|
54
|
+
readonly sugarSlipstreamHelper: "0x9c62ab10577fB3C20A22E231b7703Ed6D456CC7a";
|
|
55
|
+
readonly swapper: "0x91616a7B9CF6D23f8C17845581051EBdC4BcB916";
|
|
56
|
+
readonly weth: "0x4200000000000000000000000000000000000006";
|
|
57
|
+
};
|
|
58
|
+
type AerodromeAddresses = {
|
|
59
|
+
[K in keyof typeof AERODROME_BASE_ADDRESSES_FALLBACK]: K extends 'chainId' ? number : Address;
|
|
60
|
+
};
|
|
61
|
+
/** Parse `KEY=0xabc` / `KEY_8453=0xabc,0xdef` Sugar deployment env. Exported for tests. */
|
|
62
|
+
declare function parseSugarBaseEnv(text: string): Partial<Record<string, string>>;
|
|
63
|
+
/** Pull `Name` + `0x…` pairs from Aerodrome security.mdx tables. Exported for tests. */
|
|
64
|
+
declare function parseSecurityMdxAddresses(text: string): Record<string, string>;
|
|
65
|
+
declare function loadAerodromeAddresses(): Promise<AerodromeAddresses>;
|
|
66
|
+
/** Test helper — reset GitHub cache. */
|
|
67
|
+
declare function resetAerodromeAddressCache(): void;
|
|
68
|
+
declare function aerodromeFallbackAddresses(): AerodromeAddresses;
|
|
69
|
+
declare function aerodromeClFactoryList(addrs: AerodromeAddresses): Address[];
|
|
70
|
+
declare function aerodromeClSwapRouterForFactory(addrs: AerodromeAddresses, factory: Address): Address;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Seed of Coinbase B20 tokenized stocks on Base.
|
|
74
|
+
* Official table: https://docs.base.org/base-chain/asset-issuance/tokenized-stocks-on-base
|
|
75
|
+
* New names are merged at runtime from that page + Sugar tokens with the B20 ASSET prefix.
|
|
76
|
+
*/
|
|
77
|
+
declare const AERODROME_COINBASE_STOCK_TOKENS: readonly [{
|
|
78
|
+
readonly symbol: "AAPLc";
|
|
79
|
+
readonly name: "Apple Inc.";
|
|
80
|
+
readonly address: "0xb200000000000000000000C2e324d24d7eEcd1fb";
|
|
81
|
+
}, {
|
|
82
|
+
readonly symbol: "NVDAc";
|
|
83
|
+
readonly name: "NVIDIA Corporation";
|
|
84
|
+
readonly address: "0xb20000000000000000000078ee7ce2fE4908108C";
|
|
85
|
+
}, {
|
|
86
|
+
readonly symbol: "METAc";
|
|
87
|
+
readonly name: "Meta Platforms Inc.";
|
|
88
|
+
readonly address: "0xb2000000000000000000008bC8786B856E61707C";
|
|
89
|
+
}, {
|
|
90
|
+
readonly symbol: "GOOGLc";
|
|
91
|
+
readonly name: "Alphabet Inc.";
|
|
92
|
+
readonly address: "0xb2000000000000000000002D0BA3164cc74f58B7";
|
|
93
|
+
}, {
|
|
94
|
+
readonly symbol: "AMZNc";
|
|
95
|
+
readonly name: "Amazon.com Inc.";
|
|
96
|
+
readonly address: "0xb200000000000000000000d9192b6B456483C2E8";
|
|
97
|
+
}, {
|
|
98
|
+
readonly symbol: "TSLAc";
|
|
99
|
+
readonly name: "Tesla Inc.";
|
|
100
|
+
readonly address: "0xb2000000000000000000001e800a7f5189430cD0";
|
|
101
|
+
}, {
|
|
102
|
+
readonly symbol: "MSFTc";
|
|
103
|
+
readonly name: "Microsoft Corporation";
|
|
104
|
+
readonly address: "0xB200000000000000000000Ab99cFa739E253872B";
|
|
105
|
+
}, {
|
|
106
|
+
readonly symbol: "COINc";
|
|
107
|
+
readonly name: "Coinbase Global Inc.";
|
|
108
|
+
readonly address: "0xb200000000000000000000c85a31389D71F3ecfb";
|
|
109
|
+
}, {
|
|
110
|
+
readonly symbol: "MSTRc";
|
|
111
|
+
readonly name: "Strategy Inc.";
|
|
112
|
+
readonly address: "0xb2000000000000000000004884b426556b92883d";
|
|
113
|
+
}, {
|
|
114
|
+
readonly symbol: "CRCLc";
|
|
115
|
+
readonly name: "Circle Internet Group Inc.";
|
|
116
|
+
readonly address: "0xB20000000000000000000019f6E7C675b73C2e4D";
|
|
117
|
+
}, {
|
|
118
|
+
readonly symbol: "INTCc";
|
|
119
|
+
readonly name: "Intel Corporation";
|
|
120
|
+
readonly address: "0xB2000000000000000000004AFF16039bA04bdFBc";
|
|
121
|
+
}, {
|
|
122
|
+
readonly symbol: "SNDKc";
|
|
123
|
+
readonly name: "Sandisk Corporation";
|
|
124
|
+
readonly address: "0xb200000000000000000000397293Cb8cda9a10c5";
|
|
125
|
+
}, {
|
|
126
|
+
readonly symbol: "SPCXc";
|
|
127
|
+
readonly name: "Space Exploration Technologies Corp.";
|
|
128
|
+
readonly address: "0xb2000000000000000000007b9fcbd005511aCBd5";
|
|
129
|
+
}];
|
|
130
|
+
declare const AERODROME_COINBASE_STOCK_DECIMALS: 8;
|
|
131
|
+
/** B20 ASSET variant addresses: `[10-byte 0xb200…][variant 0x00][9-byte hash]`. */
|
|
132
|
+
declare const AERODROME_B20_ASSET_PREFIX = "0xb200000000000000000000";
|
|
133
|
+
type AerodromeStockTokenRow = {
|
|
134
|
+
address: Address;
|
|
135
|
+
symbol: string;
|
|
136
|
+
name: string;
|
|
137
|
+
decimals: number;
|
|
138
|
+
issued: boolean;
|
|
139
|
+
};
|
|
140
|
+
declare function isAerodromeB20AssetToken(address: string): boolean;
|
|
141
|
+
declare function isAerodromeCoinbaseStockToken(address: string): boolean;
|
|
142
|
+
declare function looksLikeCoinbaseStockSymbol(symbol: string): boolean;
|
|
143
|
+
type AerodromeKnownToken = {
|
|
144
|
+
address: Address;
|
|
145
|
+
symbol: string;
|
|
146
|
+
decimals: number;
|
|
147
|
+
};
|
|
148
|
+
/** Tickers the MCP quote/swap tools accept without a 0x address. */
|
|
149
|
+
declare function lookupAerodromeKnownToken(token: string): AerodromeKnownToken | null;
|
|
150
|
+
declare function resolveAerodromeErc20OrWeth(token: string, weth: Address): Address;
|
|
151
|
+
declare function aerodromeUnissuedStockMessage(symbolOrAddress: string): string;
|
|
152
|
+
/** Same gate the Multi-Sign dialog uses: skip quote RPC when totalSupply is 0. */
|
|
153
|
+
declare function assertAerodromeStockIssued(args: {
|
|
154
|
+
rpcUrl: string;
|
|
155
|
+
token: Address;
|
|
156
|
+
isNative?: boolean;
|
|
157
|
+
label: string;
|
|
158
|
+
}): Promise<void>;
|
|
159
|
+
declare function aerodromeCoinbaseStockAddresses(): Address[];
|
|
160
|
+
/** Parse the official Base docs contract table. Corrupt / unrelated pages return []. */
|
|
161
|
+
declare function parseBaseTokenizedStockDocs(text: string): Array<{
|
|
162
|
+
symbol: string;
|
|
163
|
+
address: Address;
|
|
164
|
+
}>;
|
|
165
|
+
/** Optional enrichment only. Never throws — empty list if the page is gone or unusable. */
|
|
166
|
+
declare function fetchOfficialBaseTokenizedStocks(): Promise<Array<{
|
|
167
|
+
symbol: string;
|
|
168
|
+
address: Address;
|
|
169
|
+
}>>;
|
|
170
|
+
declare function aerodromeResolveStockTokens(args: {
|
|
171
|
+
rpcUrl: string;
|
|
172
|
+
official?: Array<{
|
|
173
|
+
symbol: string;
|
|
174
|
+
address: Address;
|
|
175
|
+
}>;
|
|
176
|
+
knownTokens?: Array<{
|
|
177
|
+
address: string;
|
|
178
|
+
symbol?: string;
|
|
179
|
+
decimals?: number;
|
|
180
|
+
}>;
|
|
181
|
+
}): Promise<AerodromeStockTokenRow[]>;
|
|
182
|
+
|
|
183
|
+
type AerodromeListedToken = {
|
|
184
|
+
address: Address;
|
|
185
|
+
symbol: string;
|
|
186
|
+
decimals: number;
|
|
187
|
+
listed: boolean;
|
|
188
|
+
emerging: boolean;
|
|
189
|
+
accountBalance: string;
|
|
190
|
+
name?: string;
|
|
191
|
+
issued?: boolean;
|
|
192
|
+
};
|
|
193
|
+
type AerodromeSwapPool = {
|
|
194
|
+
lp: Address;
|
|
195
|
+
type: number;
|
|
196
|
+
token0: Address;
|
|
197
|
+
token1: Address;
|
|
198
|
+
factory: Address;
|
|
199
|
+
poolFee: string;
|
|
200
|
+
kind: 'stable' | 'volatile' | 'cl';
|
|
201
|
+
};
|
|
202
|
+
type AerodromeLpRow = {
|
|
203
|
+
lp: Address;
|
|
204
|
+
symbol: string;
|
|
205
|
+
type: number;
|
|
206
|
+
kind: 'stable' | 'volatile' | 'cl';
|
|
207
|
+
token0: Address;
|
|
208
|
+
token1: Address;
|
|
209
|
+
gauge: Address;
|
|
210
|
+
gaugeAlive: boolean;
|
|
211
|
+
nfpm: Address;
|
|
212
|
+
reserve0: string;
|
|
213
|
+
reserve1: string;
|
|
214
|
+
};
|
|
215
|
+
type AerodromePositionRow = {
|
|
216
|
+
id: string;
|
|
217
|
+
lp: Address;
|
|
218
|
+
liquidity: string;
|
|
219
|
+
staked: string;
|
|
220
|
+
amount0: string;
|
|
221
|
+
amount1: string;
|
|
222
|
+
unstakedEarned0: string;
|
|
223
|
+
unstakedEarned1: string;
|
|
224
|
+
emissionsEarned: string;
|
|
225
|
+
tickLower: number;
|
|
226
|
+
tickUpper: number;
|
|
227
|
+
};
|
|
228
|
+
type AerodromePositionWithPool = AerodromePositionRow & {
|
|
229
|
+
symbol: string;
|
|
230
|
+
kind: 'stable' | 'volatile' | 'cl';
|
|
231
|
+
gauge: Address;
|
|
232
|
+
gaugeAlive: boolean;
|
|
233
|
+
token0: Address;
|
|
234
|
+
token1: Address;
|
|
235
|
+
};
|
|
236
|
+
declare function aerodromeFetchListedTokens(args: {
|
|
237
|
+
chainId: number;
|
|
238
|
+
rpcUrl: string;
|
|
239
|
+
account?: string;
|
|
240
|
+
extraAddresses?: string[];
|
|
241
|
+
}): Promise<AerodromeListedToken[]>;
|
|
242
|
+
declare function aerodromeFetchSwapPools(args: {
|
|
243
|
+
chainId: number;
|
|
244
|
+
rpcUrl: string;
|
|
245
|
+
}): Promise<AerodromeSwapPool[]>;
|
|
246
|
+
declare function aerodromeFetchPools(args: {
|
|
247
|
+
chainId: number;
|
|
248
|
+
rpcUrl: string;
|
|
249
|
+
limit?: number;
|
|
250
|
+
offset?: number;
|
|
251
|
+
}): Promise<AerodromeLpRow[]>;
|
|
252
|
+
/** Deployed Base LpSugar does not reliably implement byAddress; read the pool + voter instead. */
|
|
253
|
+
declare function aerodromeFetchPoolsByAddress(args: {
|
|
254
|
+
chainId: number;
|
|
255
|
+
rpcUrl: string;
|
|
256
|
+
lps: readonly string[];
|
|
257
|
+
}): Promise<Map<string, AerodromeLpRow>>;
|
|
258
|
+
declare function aerodromeFetchPositions(args: {
|
|
259
|
+
chainId: number;
|
|
260
|
+
rpcUrl: string;
|
|
261
|
+
account: string;
|
|
262
|
+
}): Promise<AerodromePositionRow[]>;
|
|
263
|
+
declare function aerodromeFetchPositionsWithPools(args: {
|
|
264
|
+
chainId: number;
|
|
265
|
+
rpcUrl: string;
|
|
266
|
+
account: string;
|
|
267
|
+
}): Promise<AerodromePositionWithPool[]>;
|
|
268
|
+
|
|
269
|
+
/**
|
|
270
|
+
* Probe v2 + all three CL factories for pools that touch tokenIn / tokenOut / WETH / USDC / AERO.
|
|
271
|
+
* Needed because Sugar `forSwaps` paginates oldest factories first and never reaches Slipstream 3
|
|
272
|
+
* (where Coinbase B20 stock / USDC pools live).
|
|
273
|
+
*/
|
|
274
|
+
declare function aerodromeDiscoverConnectorPools(args: {
|
|
275
|
+
rpcUrl: string;
|
|
276
|
+
tokenIn: Address;
|
|
277
|
+
tokenOut: Address;
|
|
278
|
+
addrs: AerodromeAddresses;
|
|
279
|
+
}): Promise<AerodromeSwapPool[]>;
|
|
280
|
+
declare function aerodromeDiscoverConnectorPoolsLoaded(args: {
|
|
281
|
+
rpcUrl: string;
|
|
282
|
+
tokenIn: Address;
|
|
283
|
+
tokenOut: Address;
|
|
284
|
+
}): Promise<AerodromeSwapPool[]>;
|
|
285
|
+
/** v2 + Slipstream pools for one pair only (no WETH/USDC connector hops). */
|
|
286
|
+
declare function aerodromeDiscoverDirectPools(args: {
|
|
287
|
+
rpcUrl: string;
|
|
288
|
+
tokenA: Address;
|
|
289
|
+
tokenB: Address;
|
|
290
|
+
}): Promise<AerodromeSwapPool[]>;
|
|
291
|
+
declare function aerodromeDiscoverPoolsSummary(args: {
|
|
292
|
+
chainId: number;
|
|
293
|
+
rpcUrl: string;
|
|
294
|
+
token: string;
|
|
295
|
+
tokenOut?: string;
|
|
296
|
+
}): Promise<{
|
|
297
|
+
chainId: 8453;
|
|
298
|
+
token: {
|
|
299
|
+
address: `0x${string}`;
|
|
300
|
+
symbol: string;
|
|
301
|
+
decimals: number | null;
|
|
302
|
+
};
|
|
303
|
+
tokenOut: {
|
|
304
|
+
address: `0x${string}`;
|
|
305
|
+
symbol: string;
|
|
306
|
+
decimals: number | null;
|
|
307
|
+
};
|
|
308
|
+
pools: {
|
|
309
|
+
lp: `0x${string}`;
|
|
310
|
+
kind: "stable" | "volatile" | "cl";
|
|
311
|
+
tickSpacing: number | undefined;
|
|
312
|
+
token0: `0x${string}`;
|
|
313
|
+
token1: `0x${string}`;
|
|
314
|
+
factory: `0x${string}`;
|
|
315
|
+
}[];
|
|
316
|
+
notes: string;
|
|
317
|
+
}>;
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* Optional `@dromos-labs/sdk.js` quote. Returns null when the package is not
|
|
321
|
+
* installed or the Node/wagmi session cannot be created.
|
|
322
|
+
*/
|
|
323
|
+
declare function tryAerodromeSdkQuote(args: {
|
|
324
|
+
rpcUrl: string;
|
|
325
|
+
tokenIn: Address;
|
|
326
|
+
tokenOut: Address;
|
|
327
|
+
amountIn: bigint;
|
|
328
|
+
isNativeIn: boolean;
|
|
329
|
+
isNativeOut: boolean;
|
|
330
|
+
}): Promise<{
|
|
331
|
+
chainId: number;
|
|
332
|
+
tokenIn: Address;
|
|
333
|
+
tokenOut: Address;
|
|
334
|
+
amountInWei: string;
|
|
335
|
+
amountOutWei: string;
|
|
336
|
+
amountOutHuman: string | null;
|
|
337
|
+
priceImpactPercent: number | null;
|
|
338
|
+
hops: [];
|
|
339
|
+
pathPacked: null;
|
|
340
|
+
isNativeIn: boolean;
|
|
341
|
+
isNativeOut: boolean;
|
|
342
|
+
source: 'sdk.js';
|
|
343
|
+
} | null>;
|
|
344
|
+
declare function tryAerodromeSdkUnsignedSwap(args: {
|
|
345
|
+
rpcUrl: string;
|
|
346
|
+
account: Address;
|
|
347
|
+
quote: unknown;
|
|
348
|
+
slippage: number;
|
|
349
|
+
}): Promise<{
|
|
350
|
+
to: Address;
|
|
351
|
+
data: `0x${string}`;
|
|
352
|
+
value: bigint;
|
|
353
|
+
} | null>;
|
|
354
|
+
|
|
355
|
+
/** Official MixedRouteQuoter fillers from velodrome-finance/docs sdk.mdx. */
|
|
356
|
+
declare const AERODROME_STABLE_FILLER = 2097152;
|
|
357
|
+
declare const AERODROME_VOLATILE_FILLER = 4194304;
|
|
358
|
+
/** MixedRouteQuoterV3: oldest CL factory (1 << 20). */
|
|
359
|
+
declare const AERODROME_CL_FACTORY_OLDEST_BIT = 1048576;
|
|
360
|
+
/** MixedRouteQuoterV3: newest CL factory / Slipstream 3 (1 << 19). */
|
|
361
|
+
declare const AERODROME_CL_FACTORY_NEWEST_BIT = 524288;
|
|
362
|
+
type AerodromeRouteHop = {
|
|
363
|
+
from: Address;
|
|
364
|
+
to: Address;
|
|
365
|
+
stable: boolean;
|
|
366
|
+
factory: Address;
|
|
367
|
+
type: number;
|
|
368
|
+
kind: 'stable' | 'volatile' | 'cl';
|
|
369
|
+
lp: Address;
|
|
370
|
+
};
|
|
371
|
+
type AerodromeQuoteResult = {
|
|
372
|
+
chainId: number;
|
|
373
|
+
tokenIn: Address;
|
|
374
|
+
tokenOut: Address;
|
|
375
|
+
amountInWei: string;
|
|
376
|
+
amountOutWei: string;
|
|
377
|
+
amountOutHuman: string | null;
|
|
378
|
+
priceImpactPercent: number | null;
|
|
379
|
+
hops: AerodromeRouteHop[];
|
|
380
|
+
pathPacked: Hex | null;
|
|
381
|
+
isNativeIn: boolean;
|
|
382
|
+
isNativeOut: boolean;
|
|
383
|
+
source: 'sdk.js' | 'router' | 'mixed_quoter';
|
|
384
|
+
};
|
|
385
|
+
/** MixedRouteQuoterV3 path filler: v2 masks, or tickSpacing OR factory bit. */
|
|
386
|
+
declare function aerodromeMixedPathFiller(hop: Pick<AerodromeRouteHop, 'kind' | 'type' | 'factory'>): number;
|
|
387
|
+
/** encodePacked(address, int24, address, ...) per official sdk.mdx / MixedRouteQuoterV3. */
|
|
388
|
+
declare function encodeAerodromeMixedPath(hops: AerodromeRouteHop[]): Hex;
|
|
389
|
+
/** Undirected graph search, max depth 3, official sdk.mdx suggestion. */
|
|
390
|
+
declare function findAerodromePaths(pools: AerodromeSwapPool[], tokenIn: Address, tokenOut: Address, maxDepth?: number): AerodromeRouteHop[][];
|
|
391
|
+
declare function quoteAerodromeHopsAmountOut(args: {
|
|
392
|
+
rpcUrl: string;
|
|
393
|
+
router: Address;
|
|
394
|
+
mixedQuoter: Address;
|
|
395
|
+
mixedQuoterV3: Address;
|
|
396
|
+
amountIn: bigint;
|
|
397
|
+
hops: AerodromeRouteHop[];
|
|
398
|
+
}): Promise<{
|
|
399
|
+
out: bigint;
|
|
400
|
+
source: 'router' | 'mixed_quoter';
|
|
401
|
+
} | null>;
|
|
402
|
+
declare function aerodromeQuote(args: {
|
|
403
|
+
chainId: number;
|
|
404
|
+
rpcUrl: string;
|
|
405
|
+
tokenIn: string;
|
|
406
|
+
tokenOut: string;
|
|
407
|
+
amountHuman: string;
|
|
408
|
+
tokenInDecimals?: number;
|
|
409
|
+
}): Promise<AerodromeQuoteResult>;
|
|
410
|
+
|
|
411
|
+
/**
|
|
412
|
+
* Execution price impact vs a tiny same-route probe (marginal / spot rate).
|
|
413
|
+
* Same idea as Curve's probe fallback: (1 − avgRate / marginalRate) × 100.
|
|
414
|
+
*/
|
|
415
|
+
declare function aerodromeProbeAmountIn(amountIn: bigint): bigint | null;
|
|
416
|
+
declare function computeAerodromePriceImpactPercent(args: {
|
|
417
|
+
amountIn: bigint;
|
|
418
|
+
amountOut: bigint;
|
|
419
|
+
probeIn: bigint;
|
|
420
|
+
probeOut: bigint;
|
|
421
|
+
}): number | null;
|
|
422
|
+
/** e.g. "0.12%" from a 0–100 quote field. */
|
|
423
|
+
declare function formatAerodromePriceImpact(percent0to100: number | null | undefined): string;
|
|
424
|
+
|
|
425
|
+
type AerodromeStep = EvmTxStep & {
|
|
426
|
+
kind: string;
|
|
427
|
+
};
|
|
428
|
+
declare function buildAerodromeMultisignBatch(args: {
|
|
429
|
+
keyGen: KeyGenSubsetForPermit;
|
|
430
|
+
rpcUrl: string;
|
|
431
|
+
chainDetail: EvmChainDetail;
|
|
432
|
+
useCustomGas: boolean;
|
|
433
|
+
customGasChainDetails?: Record<string, unknown> | null;
|
|
434
|
+
executorAddress: Address;
|
|
435
|
+
purposeText: string;
|
|
436
|
+
expiryDate?: number;
|
|
437
|
+
steps: AerodromeStep[];
|
|
438
|
+
purposeSuffix: string;
|
|
439
|
+
meta: (step: AerodromeStep) => Record<string, unknown>;
|
|
440
|
+
}): Promise<ReturnType<typeof buildEvmMultisignBatch>>;
|
|
441
|
+
|
|
442
|
+
declare function buildEvmMultisignBodyAerodromeSwapBatch(args: {
|
|
443
|
+
keyGen: KeyGenSubsetForPermit;
|
|
444
|
+
chainId: number;
|
|
445
|
+
rpcUrl: string;
|
|
446
|
+
chainDetail: EvmChainDetail;
|
|
447
|
+
useCustomGas: boolean;
|
|
448
|
+
customGasChainDetails?: Record<string, unknown> | null;
|
|
449
|
+
tokenIn: string;
|
|
450
|
+
tokenOut: string;
|
|
451
|
+
amountHuman: string;
|
|
452
|
+
slippagePercent: number;
|
|
453
|
+
executorAddress: Address;
|
|
454
|
+
purposeText: string;
|
|
455
|
+
expiryDate?: number;
|
|
456
|
+
quoteSnapshot?: AerodromeQuoteResult | null;
|
|
457
|
+
}): Promise<ReturnType<typeof buildAerodromeMultisignBatch>>;
|
|
458
|
+
|
|
459
|
+
type AerodromeAddLiquidityQuote = {
|
|
460
|
+
tokenA: Address;
|
|
461
|
+
tokenB: Address;
|
|
462
|
+
stable: boolean;
|
|
463
|
+
amountA: string;
|
|
464
|
+
amountB: string;
|
|
465
|
+
amountAHuman: string;
|
|
466
|
+
amountBHuman: string;
|
|
467
|
+
liquidity: string;
|
|
468
|
+
isNativeA: boolean;
|
|
469
|
+
isNativeB: boolean;
|
|
470
|
+
pool: Address;
|
|
471
|
+
emptyPool: boolean;
|
|
472
|
+
kind?: 'stable' | 'volatile' | 'cl';
|
|
473
|
+
tickSpacing?: number;
|
|
474
|
+
seedable?: boolean;
|
|
475
|
+
hint?: string;
|
|
476
|
+
};
|
|
477
|
+
declare function aerodromeQuoteAddLiquidity(args: {
|
|
478
|
+
chainId: number;
|
|
479
|
+
rpcUrl: string;
|
|
480
|
+
tokenA: string;
|
|
481
|
+
tokenB: string;
|
|
482
|
+
stable: boolean;
|
|
483
|
+
amountAHuman?: string;
|
|
484
|
+
amountBHuman?: string;
|
|
485
|
+
tokenADecimals?: number;
|
|
486
|
+
tokenBDecimals?: number;
|
|
487
|
+
}): Promise<AerodromeAddLiquidityQuote>;
|
|
488
|
+
|
|
489
|
+
declare function buildEvmMultisignBodyAerodromeAddLiquidityBatch(args: {
|
|
490
|
+
keyGen: KeyGenSubsetForPermit;
|
|
491
|
+
chainId: number;
|
|
492
|
+
rpcUrl: string;
|
|
493
|
+
chainDetail: EvmChainDetail;
|
|
494
|
+
useCustomGas: boolean;
|
|
495
|
+
customGasChainDetails?: Record<string, unknown> | null;
|
|
496
|
+
tokenA: string;
|
|
497
|
+
tokenB: string;
|
|
498
|
+
stable: boolean;
|
|
499
|
+
amountAHuman?: string;
|
|
500
|
+
amountBHuman?: string;
|
|
501
|
+
slippagePercent: number;
|
|
502
|
+
executorAddress: Address;
|
|
503
|
+
purposeText: string;
|
|
504
|
+
expiryDate?: number;
|
|
505
|
+
}): Promise<ReturnType<typeof buildAerodromeMultisignBatch>>;
|
|
506
|
+
declare function buildEvmMultisignBodyAerodromeRemoveLiquidityBatch(args: {
|
|
507
|
+
keyGen: KeyGenSubsetForPermit;
|
|
508
|
+
chainId: number;
|
|
509
|
+
rpcUrl: string;
|
|
510
|
+
chainDetail: EvmChainDetail;
|
|
511
|
+
useCustomGas: boolean;
|
|
512
|
+
customGasChainDetails?: Record<string, unknown> | null;
|
|
513
|
+
tokenA: string;
|
|
514
|
+
tokenB: string;
|
|
515
|
+
stable: boolean;
|
|
516
|
+
lpToken: Address;
|
|
517
|
+
liquidityHuman: string;
|
|
518
|
+
lpDecimals?: number;
|
|
519
|
+
amountAMinHuman?: string;
|
|
520
|
+
amountBMinHuman?: string;
|
|
521
|
+
executorAddress: Address;
|
|
522
|
+
purposeText: string;
|
|
523
|
+
expiryDate?: number;
|
|
524
|
+
}): Promise<ReturnType<typeof buildAerodromeMultisignBatch>>;
|
|
525
|
+
|
|
526
|
+
type AerodromeClDepositQuote = {
|
|
527
|
+
token0: Address;
|
|
528
|
+
token1: Address;
|
|
529
|
+
amount0: string;
|
|
530
|
+
amount1: string;
|
|
531
|
+
tickSpacing: number;
|
|
532
|
+
tickLower: number;
|
|
533
|
+
tickUpper: number;
|
|
534
|
+
sqrtPriceX96: string;
|
|
535
|
+
};
|
|
536
|
+
declare function aerodromeQuoteClDeposit(args: {
|
|
537
|
+
chainId: number;
|
|
538
|
+
rpcUrl: string;
|
|
539
|
+
token0: string;
|
|
540
|
+
token1: string;
|
|
541
|
+
amount0Human?: string;
|
|
542
|
+
amount1Human?: string;
|
|
543
|
+
tickSpacing: number;
|
|
544
|
+
tickLower: number;
|
|
545
|
+
tickUpper: number;
|
|
546
|
+
sqrtPriceX96: string;
|
|
547
|
+
token0Decimals?: number;
|
|
548
|
+
token1Decimals?: number;
|
|
549
|
+
}): Promise<AerodromeClDepositQuote>;
|
|
550
|
+
|
|
551
|
+
declare function buildEvmMultisignBodyAerodromeClMintBatch(args: {
|
|
552
|
+
keyGen: KeyGenSubsetForPermit;
|
|
553
|
+
chainId: number;
|
|
554
|
+
rpcUrl: string;
|
|
555
|
+
chainDetail: EvmChainDetail;
|
|
556
|
+
useCustomGas: boolean;
|
|
557
|
+
customGasChainDetails?: Record<string, unknown> | null;
|
|
558
|
+
token0: string;
|
|
559
|
+
token1: string;
|
|
560
|
+
amount0Human?: string;
|
|
561
|
+
amount1Human?: string;
|
|
562
|
+
tickSpacing: number;
|
|
563
|
+
tickLower: number;
|
|
564
|
+
tickUpper: number;
|
|
565
|
+
sqrtPriceX96: string;
|
|
566
|
+
slippagePercent: number;
|
|
567
|
+
executorAddress: Address;
|
|
568
|
+
purposeText: string;
|
|
569
|
+
expiryDate?: number;
|
|
570
|
+
}): Promise<ReturnType<typeof buildAerodromeMultisignBatch>>;
|
|
571
|
+
declare function buildEvmMultisignBodyAerodromeClIncreaseBatch(args: {
|
|
572
|
+
keyGen: KeyGenSubsetForPermit;
|
|
573
|
+
chainId: number;
|
|
574
|
+
rpcUrl: string;
|
|
575
|
+
chainDetail: EvmChainDetail;
|
|
576
|
+
useCustomGas: boolean;
|
|
577
|
+
customGasChainDetails?: Record<string, unknown> | null;
|
|
578
|
+
tokenId: string;
|
|
579
|
+
token0: string;
|
|
580
|
+
token1: string;
|
|
581
|
+
amount0Wei: string;
|
|
582
|
+
amount1Wei: string;
|
|
583
|
+
slippagePercent: number;
|
|
584
|
+
executorAddress: Address;
|
|
585
|
+
purposeText: string;
|
|
586
|
+
expiryDate?: number;
|
|
587
|
+
}): Promise<ReturnType<typeof buildAerodromeMultisignBatch>>;
|
|
588
|
+
declare function buildEvmMultisignBodyAerodromeClDecreaseBatch(args: {
|
|
589
|
+
keyGen: KeyGenSubsetForPermit;
|
|
590
|
+
chainId: number;
|
|
591
|
+
rpcUrl: string;
|
|
592
|
+
chainDetail: EvmChainDetail;
|
|
593
|
+
useCustomGas: boolean;
|
|
594
|
+
customGasChainDetails?: Record<string, unknown> | null;
|
|
595
|
+
tokenId: string;
|
|
596
|
+
liquidity: string;
|
|
597
|
+
amount0MinWei?: string;
|
|
598
|
+
amount1MinWei?: string;
|
|
599
|
+
executorAddress: Address;
|
|
600
|
+
purposeText: string;
|
|
601
|
+
expiryDate?: number;
|
|
602
|
+
}): Promise<ReturnType<typeof buildAerodromeMultisignBatch>>;
|
|
603
|
+
declare function buildEvmMultisignBodyAerodromeClCollectBatch(args: {
|
|
604
|
+
keyGen: KeyGenSubsetForPermit;
|
|
605
|
+
chainId: number;
|
|
606
|
+
rpcUrl: string;
|
|
607
|
+
chainDetail: EvmChainDetail;
|
|
608
|
+
useCustomGas: boolean;
|
|
609
|
+
customGasChainDetails?: Record<string, unknown> | null;
|
|
610
|
+
tokenId: string;
|
|
611
|
+
executorAddress: Address;
|
|
612
|
+
purposeText: string;
|
|
613
|
+
expiryDate?: number;
|
|
614
|
+
}): Promise<ReturnType<typeof buildAerodromeMultisignBatch>>;
|
|
615
|
+
declare function buildEvmMultisignBodyAerodromeClBurnBatch(args: {
|
|
616
|
+
keyGen: KeyGenSubsetForPermit;
|
|
617
|
+
chainId: number;
|
|
618
|
+
rpcUrl: string;
|
|
619
|
+
chainDetail: EvmChainDetail;
|
|
620
|
+
useCustomGas: boolean;
|
|
621
|
+
customGasChainDetails?: Record<string, unknown> | null;
|
|
622
|
+
tokenId: string;
|
|
623
|
+
executorAddress: Address;
|
|
624
|
+
purposeText: string;
|
|
625
|
+
expiryDate?: number;
|
|
626
|
+
}): Promise<ReturnType<typeof buildAerodromeMultisignBatch>>;
|
|
627
|
+
|
|
628
|
+
declare function buildEvmMultisignBodyAerodromeGaugeStakeBatch(args: {
|
|
629
|
+
keyGen: KeyGenSubsetForPermit;
|
|
630
|
+
chainId: number;
|
|
631
|
+
rpcUrl: string;
|
|
632
|
+
chainDetail: EvmChainDetail;
|
|
633
|
+
useCustomGas: boolean;
|
|
634
|
+
customGasChainDetails?: Record<string, unknown> | null;
|
|
635
|
+
gauge: Address;
|
|
636
|
+
lpToken?: Address;
|
|
637
|
+
amountHuman?: string;
|
|
638
|
+
lpDecimals?: number;
|
|
639
|
+
tokenId?: string;
|
|
640
|
+
cl?: boolean;
|
|
641
|
+
executorAddress: Address;
|
|
642
|
+
purposeText: string;
|
|
643
|
+
expiryDate?: number;
|
|
644
|
+
}): Promise<ReturnType<typeof buildAerodromeMultisignBatch>>;
|
|
645
|
+
declare function buildEvmMultisignBodyAerodromeGaugeUnstakeBatch(args: {
|
|
646
|
+
keyGen: KeyGenSubsetForPermit;
|
|
647
|
+
chainId: number;
|
|
648
|
+
rpcUrl: string;
|
|
649
|
+
chainDetail: EvmChainDetail;
|
|
650
|
+
useCustomGas: boolean;
|
|
651
|
+
customGasChainDetails?: Record<string, unknown> | null;
|
|
652
|
+
gauge: Address;
|
|
653
|
+
amountHuman?: string;
|
|
654
|
+
lpDecimals?: number;
|
|
655
|
+
tokenId?: string;
|
|
656
|
+
cl?: boolean;
|
|
657
|
+
executorAddress: Address;
|
|
658
|
+
purposeText: string;
|
|
659
|
+
expiryDate?: number;
|
|
660
|
+
}): Promise<ReturnType<typeof buildAerodromeMultisignBatch>>;
|
|
661
|
+
declare function buildEvmMultisignBodyAerodromeClaimFeesBatch(args: {
|
|
662
|
+
keyGen: KeyGenSubsetForPermit;
|
|
663
|
+
chainId: number;
|
|
664
|
+
rpcUrl: string;
|
|
665
|
+
chainDetail: EvmChainDetail;
|
|
666
|
+
useCustomGas: boolean;
|
|
667
|
+
customGasChainDetails?: Record<string, unknown> | null;
|
|
668
|
+
pool: Address;
|
|
669
|
+
executorAddress: Address;
|
|
670
|
+
purposeText: string;
|
|
671
|
+
expiryDate?: number;
|
|
672
|
+
}): Promise<ReturnType<typeof buildAerodromeMultisignBatch>>;
|
|
673
|
+
declare function buildEvmMultisignBodyAerodromeClaimEmissionsBatch(args: {
|
|
674
|
+
keyGen: KeyGenSubsetForPermit;
|
|
675
|
+
chainId: number;
|
|
676
|
+
rpcUrl: string;
|
|
677
|
+
chainDetail: EvmChainDetail;
|
|
678
|
+
useCustomGas: boolean;
|
|
679
|
+
customGasChainDetails?: Record<string, unknown> | null;
|
|
680
|
+
gauge: Address;
|
|
681
|
+
tokenId?: string;
|
|
682
|
+
cl?: boolean;
|
|
683
|
+
executorAddress: Address;
|
|
684
|
+
purposeText: string;
|
|
685
|
+
expiryDate?: number;
|
|
686
|
+
}): Promise<ReturnType<typeof buildAerodromeMultisignBatch>>;
|
|
687
|
+
|
|
688
|
+
declare function aerodromeFetchListedTokensSummary(args: {
|
|
689
|
+
chainId: number;
|
|
690
|
+
rpcUrl: string;
|
|
691
|
+
account?: string;
|
|
692
|
+
/** Default true for the Multi-Sign dialog. MCP agents should leave this false. */
|
|
693
|
+
includeSugarListed?: boolean;
|
|
694
|
+
}): Promise<{
|
|
695
|
+
chainId: 8453;
|
|
696
|
+
native: {
|
|
697
|
+
address: "0x0000000000000000000000000000000000000000";
|
|
698
|
+
symbol: string;
|
|
699
|
+
decimals: number;
|
|
700
|
+
};
|
|
701
|
+
aero: {
|
|
702
|
+
address: `0x${string}`;
|
|
703
|
+
symbol: string;
|
|
704
|
+
decimals: number;
|
|
705
|
+
};
|
|
706
|
+
stocks: AerodromeStockTokenRow[];
|
|
707
|
+
includeSugarListed: boolean;
|
|
708
|
+
tokens: AerodromeListedToken[];
|
|
709
|
+
notes: string;
|
|
710
|
+
}>;
|
|
711
|
+
declare function aerodromeFetchPoolsSummary(args: {
|
|
712
|
+
chainId: number;
|
|
713
|
+
rpcUrl: string;
|
|
714
|
+
limit?: number;
|
|
715
|
+
offset?: number;
|
|
716
|
+
}): Promise<{
|
|
717
|
+
chainId: 8453;
|
|
718
|
+
pools: AerodromeLpRow[];
|
|
719
|
+
}>;
|
|
720
|
+
declare function aerodromeFetchPositionsSummary(args: {
|
|
721
|
+
chainId: number;
|
|
722
|
+
rpcUrl: string;
|
|
723
|
+
account?: string;
|
|
724
|
+
executorAddress?: string;
|
|
725
|
+
}): Promise<{
|
|
726
|
+
chainId: 8453;
|
|
727
|
+
account: string;
|
|
728
|
+
notes: string;
|
|
729
|
+
positions: {
|
|
730
|
+
label: string;
|
|
731
|
+
stakedInGauge: boolean;
|
|
732
|
+
claimFees: {
|
|
733
|
+
pool: `0x${string}`;
|
|
734
|
+
};
|
|
735
|
+
claimEmissions: {
|
|
736
|
+
tokenId: string;
|
|
737
|
+
cl: boolean;
|
|
738
|
+
gauge: `0x${string}`;
|
|
739
|
+
} | {
|
|
740
|
+
cl: boolean;
|
|
741
|
+
gauge: `0x${string}`;
|
|
742
|
+
} | null;
|
|
743
|
+
id: string;
|
|
744
|
+
lp: abitype.Address;
|
|
745
|
+
liquidity: string;
|
|
746
|
+
staked: string;
|
|
747
|
+
amount0: string;
|
|
748
|
+
amount1: string;
|
|
749
|
+
unstakedEarned0: string;
|
|
750
|
+
unstakedEarned1: string;
|
|
751
|
+
emissionsEarned: string;
|
|
752
|
+
tickLower: number;
|
|
753
|
+
tickUpper: number;
|
|
754
|
+
symbol: string;
|
|
755
|
+
kind: "stable" | "volatile" | "cl";
|
|
756
|
+
gauge: abitype.Address;
|
|
757
|
+
gaugeAlive: boolean;
|
|
758
|
+
token0: abitype.Address;
|
|
759
|
+
token1: abitype.Address;
|
|
760
|
+
}[];
|
|
761
|
+
}>;
|
|
762
|
+
|
|
763
|
+
declare function buildAerodromeSwapPurposePrefill(args: {
|
|
764
|
+
tokenInSymbol: string;
|
|
765
|
+
tokenOutSymbol: string;
|
|
766
|
+
amountIn: string;
|
|
767
|
+
quoteOutAmount?: string | null;
|
|
768
|
+
slippageInput: string;
|
|
769
|
+
}): string;
|
|
770
|
+
declare function buildAerodromeLiquidityPurposePrefill(args: {
|
|
771
|
+
action: string;
|
|
772
|
+
tokenASymbol: string;
|
|
773
|
+
tokenBSymbol: string;
|
|
774
|
+
}): string;
|
|
775
|
+
declare function buildAerodromeRewardsPurposePrefill(args?: {
|
|
776
|
+
action?: 'claim fees' | 'claim emissions';
|
|
777
|
+
poolLabel?: string;
|
|
778
|
+
}): string;
|
|
779
|
+
declare function aerodromePositionLabel(row: {
|
|
780
|
+
symbol?: string;
|
|
781
|
+
kind?: 'stable' | 'volatile' | 'cl';
|
|
782
|
+
lp: string;
|
|
783
|
+
id?: string;
|
|
784
|
+
}): string;
|
|
785
|
+
declare function aerodromePositionKey(row: {
|
|
786
|
+
lp: string;
|
|
787
|
+
id?: string;
|
|
788
|
+
}): string;
|
|
789
|
+
|
|
790
|
+
declare const aerodromeProtocolModule: ProtocolModule;
|
|
791
|
+
|
|
792
|
+
export { AERODROME_B20_ASSET_PREFIX, AERODROME_BASE_ADDRESSES_FALLBACK, AERODROME_CHAIN_ID, AERODROME_CL_FACTORY_NEWEST_BIT, AERODROME_CL_FACTORY_OLDEST_BIT, AERODROME_COINBASE_STOCK_DECIMALS, AERODROME_COINBASE_STOCK_TOKENS, AERODROME_NATIVE_PLACEHOLDER, AERODROME_PROTOCOL_ID, AERODROME_STABLE_FILLER, AERODROME_USDC_BASE, AERODROME_VOLATILE_FILLER, AERODROME_WETH_BASE, type AerodromeAddLiquidityQuote, type AerodromeAddresses, type AerodromeClDepositQuote, type AerodromeKnownToken, type AerodromeListedToken, type AerodromeLpRow, type AerodromePositionRow, type AerodromePositionWithPool, type AerodromeQuoteResult, type AerodromeRouteHop, type AerodromeStockTokenRow, type AerodromeSwapPool, aerodromeClFactoryList, aerodromeClSwapRouterForFactory, aerodromeCoinbaseStockAddresses, aerodromeDiscoverConnectorPools, aerodromeDiscoverConnectorPoolsLoaded, aerodromeDiscoverDirectPools, aerodromeDiscoverPoolsSummary, aerodromeFallbackAddresses, aerodromeFetchListedTokens, aerodromeFetchListedTokensSummary, aerodromeFetchPools, aerodromeFetchPoolsByAddress, aerodromeFetchPoolsSummary, aerodromeFetchPositions, aerodromeFetchPositionsSummary, aerodromeFetchPositionsWithPools, aerodromeFetchSwapPools, aerodromeMixedPathFiller, aerodromeOnChainDeadlineUnix, aerodromePositionKey, aerodromePositionLabel, aerodromeProbeAmountIn, aerodromeProtocolModule, aerodromeQuote, aerodromeQuoteAddLiquidity, aerodromeQuoteClDeposit, aerodromeResolveStockTokens, aerodromeUnissuedStockMessage, assertAerodromeStockIssued, buildAerodromeLiquidityPurposePrefill, buildAerodromeRewardsPurposePrefill, buildAerodromeSwapPurposePrefill, buildEvmMultisignBodyAerodromeAddLiquidityBatch, buildEvmMultisignBodyAerodromeClBurnBatch, buildEvmMultisignBodyAerodromeClCollectBatch, buildEvmMultisignBodyAerodromeClDecreaseBatch, buildEvmMultisignBodyAerodromeClIncreaseBatch, buildEvmMultisignBodyAerodromeClMintBatch, buildEvmMultisignBodyAerodromeClaimEmissionsBatch, buildEvmMultisignBodyAerodromeClaimFeesBatch, buildEvmMultisignBodyAerodromeGaugeStakeBatch, buildEvmMultisignBodyAerodromeGaugeUnstakeBatch, buildEvmMultisignBodyAerodromeRemoveLiquidityBatch, buildEvmMultisignBodyAerodromeSwapBatch, computeAerodromePriceImpactPercent, encodeAerodromeMixedPath, fetchOfficialBaseTokenizedStocks, findAerodromePaths, formatAerodromePriceImpact, isAerodromeB20AssetToken, isAerodromeChainSupported, isAerodromeCoinbaseStockToken, isAerodromeNativeToken, loadAerodromeAddresses, looksLikeCoinbaseStockSymbol, lookupAerodromeKnownToken, parseBaseTokenizedStockDocs, parseSecurityMdxAddresses, parseSugarBaseEnv, quoteAerodromeHopsAmountOut, requireAerodromeRpcUrl, resetAerodromeAddressCache, resolveAerodromeErc20OrWeth, tryAerodromeSdkQuote, tryAerodromeSdkUnsignedSwap };
|