mantle-agent-kit-sdk 1.0.3 → 1.0.4

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/index.d.cts CHANGED
@@ -1,8 +1,36 @@
1
1
  import * as viem from 'viem';
2
- import { WalletClient, Transport, Chain, PublicActions, Address as Address$1, Hex } from 'viem';
3
- import { PrivateKeyAccount, Address } from 'viem/accounts';
2
+ import { Hex, Address, WalletClient, Transport, Chain, PublicActions } from 'viem';
3
+ import { PrivateKeyAccount, Address as Address$1 } from 'viem/accounts';
4
4
  import { Erc7811Actions } from 'viem/experimental';
5
5
 
6
+ interface OpenPositionResult$1 {
7
+ positionId: bigint;
8
+ txHash: Hex;
9
+ }
10
+ /**
11
+ * Open a short position on PikePerps
12
+ * @param agent - MNTAgentKit instance
13
+ * @param tokenAddress - Token to trade (meme token address)
14
+ * @param margin - Margin amount in wei (as string)
15
+ * @param leverage - Leverage multiplier (1-100)
16
+ * @returns Position ID and transaction hash
17
+ */
18
+ declare function pikeperpsOpenShort(agent: MNTAgentKit, tokenAddress: Address, margin: string, leverage?: number): Promise<OpenPositionResult$1>;
19
+
20
+ interface OpenPositionResult {
21
+ positionId: bigint;
22
+ txHash: Hex;
23
+ }
24
+ /**
25
+ * Open a long position on PikePerps
26
+ * @param agent - MNTAgentKit instance
27
+ * @param tokenAddress - Token to trade (meme token address)
28
+ * @param margin - Margin amount in wei (as string)
29
+ * @param leverage - Leverage multiplier (1-100)
30
+ * @returns Position ID and transaction hash
31
+ */
32
+ declare function pikeperpsOpenLong(agent: MNTAgentKit, tokenAddress: Address, margin: string, leverage?: number): Promise<OpenPositionResult>;
33
+
6
34
  interface SquidRoute {
7
35
  route: {
8
36
  estimate: {
@@ -52,166 +80,7 @@ interface SquidRoute {
52
80
  };
53
81
  }
54
82
 
55
- declare const SWAP_ROUTER_ADDRESS = "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45";
56
- declare const QUOTER_V2_ADDRESS = "0x61fFE014bA17989E743c5F6cB21bF9697530B21e";
57
- declare const FACTORY_ADDRESS = "0x1F98431c8aD98523631AE4a59f267346ea31F984";
58
- declare const WMNT_ADDRESS$1 = "0x78c1b0C915c4FAA5FffA6CAbf0219DA63d7f4cb8";
59
- declare const NATIVE_TOKEN_ADDRESS$3 = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
60
- declare const FEE_TIERS$1: {
61
- readonly LOWEST: 100;
62
- readonly LOW: 500;
63
- readonly MEDIUM: 3000;
64
- readonly HIGH: 10000;
65
- };
66
- declare const DEFAULT_POOL_FEE: 3000;
67
-
68
- declare const index$8_DEFAULT_POOL_FEE: typeof DEFAULT_POOL_FEE;
69
- declare const index$8_FACTORY_ADDRESS: typeof FACTORY_ADDRESS;
70
- declare const index$8_QUOTER_V2_ADDRESS: typeof QUOTER_V2_ADDRESS;
71
- declare const index$8_SWAP_ROUTER_ADDRESS: typeof SWAP_ROUTER_ADDRESS;
72
- declare namespace index$8 {
73
- export { index$8_DEFAULT_POOL_FEE as DEFAULT_POOL_FEE, index$8_FACTORY_ADDRESS as FACTORY_ADDRESS, FEE_TIERS$1 as FEE_TIERS, NATIVE_TOKEN_ADDRESS$3 as NATIVE_TOKEN_ADDRESS, index$8_QUOTER_V2_ADDRESS as QUOTER_V2_ADDRESS, index$8_SWAP_ROUTER_ADDRESS as SWAP_ROUTER_ADDRESS, WMNT_ADDRESS$1 as WMNT_ADDRESS };
74
- }
75
-
76
- interface UniswapQuoteResult {
77
- amountOut: bigint;
78
- sqrtPriceX96After: bigint;
79
- gasEstimate: bigint;
80
- }
81
-
82
- interface OneInchQuote {
83
- srcToken: {
84
- address: string;
85
- symbol: string;
86
- decimals: number;
87
- };
88
- dstToken: {
89
- address: string;
90
- symbol: string;
91
- decimals: number;
92
- };
93
- srcAmount: string;
94
- dstAmount: string;
95
- gas: number;
96
- }
97
-
98
- interface OpenOceanQuote {
99
- inToken: {
100
- address: string;
101
- decimals: number;
102
- symbol: string;
103
- name: string;
104
- };
105
- outToken: {
106
- address: string;
107
- decimals: number;
108
- symbol: string;
109
- name: string;
110
- };
111
- inAmount: string;
112
- outAmount: string;
113
- estimatedGas: string;
114
- }
115
-
116
- /**
117
- * Platform Configuration & Validation
118
- *
119
- * Validates APP_ID with Mantle platform API
120
- */
121
- /** Project configuration from platform */
122
- interface ProjectConfig {
123
- appId: string;
124
- name: string;
125
- payTo: string;
126
- network: string;
127
- status: string;
128
- }
129
- /**
130
- * Initialize platform validation
131
- *
132
- * Reads APP_ID from environment and validates with platform API.
133
- * Uses singleton pattern - multiple calls return same promise.
134
- *
135
- * @returns Project configuration from platform
136
- * @throws Error if APP_ID is not set or validation fails
137
- */
138
- declare function initializePlatform(): Promise<ProjectConfig>;
139
- /**
140
- * Get cached project configuration
141
- *
142
- * @throws Error if platform not initialized
143
- */
144
- declare function getProjectConfig(): ProjectConfig;
145
-
146
- declare class MNTAgentKit {
147
- account: PrivateKeyAccount;
148
- client: WalletClient<Transport, Chain, PrivateKeyAccount> & PublicActions & Erc7811Actions;
149
- chain: "testnet" | "mainnet";
150
- demo: boolean;
151
- projectConfig?: ProjectConfig;
152
- constructor(privateKey: Address, chain: "mainnet" | "testnet" | "testnet-demo");
153
- /**
154
- * Initialize the agent with platform validation
155
- *
156
- * Validates APP_ID with the platform API.
157
- * Must be called after creating the agent instance.
158
- *
159
- * @returns The initialized agent instance
160
- * @throws Error if APP_ID is not set or validation fails
161
- *
162
- * @example
163
- * ```typescript
164
- * const agent = new MNTAgentKit(privateKey, "mainnet");
165
- * await agent.initialize(); // Validates APP_ID
166
- * ```
167
- */
168
- initialize(): Promise<MNTAgentKit>;
169
- sendTransaction(to: Address, amount: string): Promise<viem.TransactionReceipt<bigint, number, "success" | "reverted", viem.TransactionType>>;
170
- getSwapQuote(fromTokenAddress: string, toTokenAddress: string, amount: string, slippagePercentage?: string): Promise<any>;
171
- executeSwap(fromTokenAddress: string, toTokenAddress: string, amount: string, slippagePercentage?: string): Promise<{
172
- data: any;
173
- }>;
174
- getOpenOceanQuote(fromToken: Address, toToken: Address, amount: string): Promise<OpenOceanQuote>;
175
- swapOnOpenOcean(fromToken: Address, toToken: Address, amount: string, slippage?: number): Promise<{
176
- txHash: string;
177
- outAmount: string;
178
- }>;
179
- get1inchQuote(fromToken: Address, toToken: Address, amount: string): Promise<OneInchQuote>;
180
- swapOn1inch(fromToken: Address, toToken: Address, amount: string, slippage?: number): Promise<{
181
- txHash: string;
182
- dstAmount: string;
183
- }>;
184
- getUniswapQuote(fromToken: Address, toToken: Address, amount: string): Promise<UniswapQuoteResult>;
185
- swapOnUniswap(fromToken: Address, toToken: Address, amount: string, slippage?: number): Promise<{
186
- txHash: string;
187
- amountOut: string;
188
- }>;
189
- lendleSupply(tokenAddress: Address, amount: string): Promise<`0x${string}`>;
190
- lendleWithdraw(tokenAddress: Address, amount: string, to?: Address): Promise<`0x${string}`>;
191
- lendleBorrow(tokenAddress: Address, amount: string, interestRateMode?: 1 | 2, onBehalfOf?: Address): Promise<`0x${string}`>;
192
- lendleRepay(tokenAddress: Address, amount: string, rateMode?: 1 | 2, onBehalfOf?: Address): Promise<`0x${string}`>;
193
- agniSwap(tokenIn: Address, tokenOut: Address, amountIn: string, slippagePercent?: number, feeTier?: number): Promise<`0x${string}`>;
194
- merchantMoeSwap(tokenIn: Address, tokenOut: Address, amountIn: string, slippagePercent?: number): Promise<`0x${string}`>;
195
- getMethTokenAddress(): "0x0000000000000000000000000000000000000000" | "0xcDA86A272531e8640cD7F1a92c01839911B90bb0";
196
- getSquidRoute(fromToken: Address, toToken: Address, fromChain: number, toChain: number, amount: string, slippage?: number): Promise<{
197
- route: {
198
- estimate: {
199
- toAmount: string;
200
- };
201
- transactionRequest: {
202
- targetAddress: string;
203
- data: string;
204
- value: string;
205
- gasLimit: string;
206
- };
207
- };
208
- demo: boolean;
209
- message: string;
210
- } | SquidRoute>;
211
- crossChainSwapViaSquid(fromToken: Address, toToken: Address, fromChain: number, toChain: number, amount: string, slippage?: number): Promise<`0x${string}`>;
212
- }
213
-
214
- declare const sendTransaction: (agent: MNTAgentKit, to: Address$1, amount: string, tokenAddress?: Address$1) => Promise<viem.TransactionReceipt<bigint, number, "success" | "reverted", viem.TransactionType>>;
83
+ declare const sendTransaction: (agent: MNTAgentKit, to: Address, amount: string, tokenAddress?: Address) => Promise<viem.TransactionReceipt<bigint, number, "success" | "reverted", viem.TransactionType>>;
215
84
 
216
85
  /**
217
86
  * Check allowance and get approve tx data if needed
@@ -237,6 +106,24 @@ declare function executeSwap(agent: MNTAgentKit, fromTokenAddress: string, toTok
237
106
  data: any;
238
107
  }>;
239
108
 
109
+ interface OpenOceanQuote {
110
+ inToken: {
111
+ address: string;
112
+ decimals: number;
113
+ symbol: string;
114
+ name: string;
115
+ };
116
+ outToken: {
117
+ address: string;
118
+ decimals: number;
119
+ symbol: string;
120
+ name: string;
121
+ };
122
+ inAmount: string;
123
+ outAmount: string;
124
+ estimatedGas: string;
125
+ }
126
+
240
127
  /**
241
128
  * Get swap quote from OpenOcean
242
129
  * @param agent - MNTAgentKit instance
@@ -261,6 +148,22 @@ declare function swapOnOpenOcean(agent: MNTAgentKit, fromToken: string, toToken:
261
148
  outAmount: string;
262
149
  }>;
263
150
 
151
+ interface OneInchQuote {
152
+ srcToken: {
153
+ address: string;
154
+ symbol: string;
155
+ decimals: number;
156
+ };
157
+ dstToken: {
158
+ address: string;
159
+ symbol: string;
160
+ decimals: number;
161
+ };
162
+ srcAmount: string;
163
+ dstAmount: string;
164
+ gas: number;
165
+ }
166
+
264
167
  /**
265
168
  * Get swap quote from 1inch
266
169
  * @param agent - MNTAgentKit instance
@@ -285,6 +188,33 @@ declare function swapOn1inch(agent: MNTAgentKit, fromToken: string, toToken: str
285
188
  dstAmount: string;
286
189
  }>;
287
190
 
191
+ declare const SWAP_ROUTER_ADDRESS = "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45";
192
+ declare const QUOTER_V2_ADDRESS = "0x61fFE014bA17989E743c5F6cB21bF9697530B21e";
193
+ declare const FACTORY_ADDRESS = "0x1F98431c8aD98523631AE4a59f267346ea31F984";
194
+ declare const WMNT_ADDRESS$1 = "0x78c1b0C915c4FAA5FffA6CAbf0219DA63d7f4cb8";
195
+ declare const NATIVE_TOKEN_ADDRESS$3 = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
196
+ declare const FEE_TIERS$1: {
197
+ readonly LOWEST: 100;
198
+ readonly LOW: 500;
199
+ readonly MEDIUM: 3000;
200
+ readonly HIGH: 10000;
201
+ };
202
+ declare const DEFAULT_POOL_FEE: 3000;
203
+
204
+ declare const index$9_DEFAULT_POOL_FEE: typeof DEFAULT_POOL_FEE;
205
+ declare const index$9_FACTORY_ADDRESS: typeof FACTORY_ADDRESS;
206
+ declare const index$9_QUOTER_V2_ADDRESS: typeof QUOTER_V2_ADDRESS;
207
+ declare const index$9_SWAP_ROUTER_ADDRESS: typeof SWAP_ROUTER_ADDRESS;
208
+ declare namespace index$9 {
209
+ export { index$9_DEFAULT_POOL_FEE as DEFAULT_POOL_FEE, index$9_FACTORY_ADDRESS as FACTORY_ADDRESS, FEE_TIERS$1 as FEE_TIERS, NATIVE_TOKEN_ADDRESS$3 as NATIVE_TOKEN_ADDRESS, index$9_QUOTER_V2_ADDRESS as QUOTER_V2_ADDRESS, index$9_SWAP_ROUTER_ADDRESS as SWAP_ROUTER_ADDRESS, WMNT_ADDRESS$1 as WMNT_ADDRESS };
210
+ }
211
+
212
+ interface UniswapQuoteResult {
213
+ amountOut: bigint;
214
+ sqrtPriceX96After: bigint;
215
+ gasEstimate: bigint;
216
+ }
217
+
288
218
  /**
289
219
  * Get swap quote from Uniswap V3
290
220
  * @param agent - MNTAgentKit instance
@@ -322,7 +252,7 @@ declare function swapOnUniswap(agent: MNTAgentKit, fromToken: string, toToken: s
322
252
  * @param slippage - Slippage tolerance percentage (default: 1%)
323
253
  * @returns Transaction hash
324
254
  */
325
- declare function crossChainSwapViaSquid(agent: MNTAgentKit, fromToken: Address$1, toToken: Address$1, fromChain: number, toChain: number, amount: string, slippage?: number): Promise<Hex>;
255
+ declare function crossChainSwapViaSquid(agent: MNTAgentKit, fromToken: Address, toToken: Address, fromChain: number, toChain: number, amount: string, slippage?: number): Promise<Hex>;
326
256
  /**
327
257
  * Get cross-chain swap route from Squid Router
328
258
  * @param agent - MNTAgentKit instance
@@ -334,7 +264,7 @@ declare function crossChainSwapViaSquid(agent: MNTAgentKit, fromToken: Address$1
334
264
  * @param slippage - Slippage tolerance percentage (default: 1%)
335
265
  * @returns Route data including estimated output and fees
336
266
  */
337
- declare function getSquidRoute(agent: MNTAgentKit, fromToken: Address$1, toToken: Address$1, fromChain: number, toChain: number, amount: string, slippage?: number): Promise<{
267
+ declare function getSquidRoute(agent: MNTAgentKit, fromToken: Address, toToken: Address, fromChain: number, toChain: number, amount: string, slippage?: number): Promise<{
338
268
  route: {
339
269
  estimate: {
340
270
  toAmount: string;
@@ -357,7 +287,7 @@ declare function getSquidRoute(agent: MNTAgentKit, fromToken: Address$1, toToken
357
287
  * @param amount - Amount to supply (in smallest units)
358
288
  * @returns Transaction hash
359
289
  */
360
- declare function lendleSupply(agent: MNTAgentKit, tokenAddress: Address$1, amount: string): Promise<Hex>;
290
+ declare function lendleSupply(agent: MNTAgentKit, tokenAddress: Address, amount: string): Promise<Hex>;
361
291
 
362
292
  /**
363
293
  * Withdraw tokens from Lendle Protocol
@@ -367,7 +297,7 @@ declare function lendleSupply(agent: MNTAgentKit, tokenAddress: Address$1, amoun
367
297
  * @param to - Address to receive withdrawn tokens (optional, defaults to agent address)
368
298
  * @returns Transaction hash
369
299
  */
370
- declare function lendleWithdraw(agent: MNTAgentKit, tokenAddress: Address$1, amount: string, to?: Address$1): Promise<Hex>;
300
+ declare function lendleWithdraw(agent: MNTAgentKit, tokenAddress: Address, amount: string, to?: Address): Promise<Hex>;
371
301
 
372
302
  /**
373
303
  * Borrow tokens from Lendle Protocol
@@ -378,7 +308,7 @@ declare function lendleWithdraw(agent: MNTAgentKit, tokenAddress: Address$1, amo
378
308
  * @param onBehalfOf - Address to receive borrowed tokens (optional, defaults to agent address)
379
309
  * @returns Transaction hash
380
310
  */
381
- declare function lendleBorrow(agent: MNTAgentKit, tokenAddress: Address$1, amount: string, interestRateMode?: 1 | 2, onBehalfOf?: Address$1): Promise<Hex>;
311
+ declare function lendleBorrow(agent: MNTAgentKit, tokenAddress: Address, amount: string, interestRateMode?: 1 | 2, onBehalfOf?: Address): Promise<Hex>;
382
312
 
383
313
  /**
384
314
  * Repay borrowed tokens to Lendle Protocol
@@ -389,7 +319,32 @@ declare function lendleBorrow(agent: MNTAgentKit, tokenAddress: Address$1, amoun
389
319
  * @param onBehalfOf - Address whose debt to repay (optional, defaults to agent address)
390
320
  * @returns Transaction hash
391
321
  */
392
- declare function lendleRepay(agent: MNTAgentKit, tokenAddress: Address$1, amount: string, rateMode?: 1 | 2, onBehalfOf?: Address$1): Promise<Hex>;
322
+ declare function lendleRepay(agent: MNTAgentKit, tokenAddress: Address, amount: string, rateMode?: 1 | 2, onBehalfOf?: Address): Promise<Hex>;
323
+
324
+ interface LendlePosition {
325
+ asset: Address;
326
+ symbol: string;
327
+ supplied: bigint;
328
+ stableDebt: bigint;
329
+ variableDebt: bigint;
330
+ totalDebt: bigint;
331
+ liquidityRate: bigint;
332
+ stableBorrowRate: bigint;
333
+ usageAsCollateralEnabled: boolean;
334
+ }
335
+ interface LendlePositionsResult {
336
+ positions: LendlePosition[];
337
+ totalSupplied: bigint;
338
+ totalDebt: bigint;
339
+ }
340
+ /**
341
+ * Get all Lendle positions for a user
342
+ * Returns per-token supply and borrow amounts
343
+ * @param agent - MNTAgentKit instance
344
+ * @param userAddress - User wallet address (optional, defaults to agent account)
345
+ * @returns Array of positions with supply/borrow amounts per asset
346
+ */
347
+ declare function lendleGetPositions(agent: MNTAgentKit, userAddress?: Address): Promise<LendlePositionsResult>;
393
348
 
394
349
  /**
395
350
  * Swap tokens on Agni Finance DEX
@@ -401,7 +356,7 @@ declare function lendleRepay(agent: MNTAgentKit, tokenAddress: Address$1, amount
401
356
  * @param feeTier - Pool fee tier (default: MEDIUM = 0.3%)
402
357
  * @returns Transaction hash
403
358
  */
404
- declare function agniSwap(agent: MNTAgentKit, tokenIn: Address$1, tokenOut: Address$1, amountIn: string, slippagePercent?: number, feeTier?: number): Promise<Hex>;
359
+ declare function agniSwap(agent: MNTAgentKit, tokenIn: Address, tokenOut: Address, amountIn: string, slippagePercent?: number, feeTier?: number): Promise<Hex>;
405
360
 
406
361
  /**
407
362
  * Swap tokens on Merchant Moe DEX
@@ -412,66 +367,419 @@ declare function agniSwap(agent: MNTAgentKit, tokenIn: Address$1, tokenOut: Addr
412
367
  * @param slippagePercent - Slippage tolerance (default: 0.5%)
413
368
  * @returns Transaction hash
414
369
  */
415
- declare function merchantMoeSwap(agent: MNTAgentKit, tokenIn: Address$1, tokenOut: Address$1, amountIn: string, slippagePercent?: number): Promise<Hex>;
370
+ declare function merchantMoeSwap(agent: MNTAgentKit, tokenIn: Address, tokenOut: Address, amountIn: string, slippagePercent?: number): Promise<Hex>;
416
371
 
417
372
  declare const METH_TOKEN: {
418
373
  readonly mainnet: "0xcDA86A272531e8640cD7F1a92c01839911B90bb0";
419
374
  readonly testnet: "0x0000000000000000000000000000000000000000";
420
375
  };
421
-
422
- declare const index$7_METH_TOKEN: typeof METH_TOKEN;
423
- declare namespace index$7 {
424
- export { index$7_METH_TOKEN as METH_TOKEN };
425
- }
426
-
427
- declare const FACTORY: {
428
- readonly mainnet: "0x25780dc8Fc3cfBD75F33bFDAB65e969b603b2035";
429
- readonly testnet: "0x0000000000000000000000000000000000000000";
430
- };
431
- declare const SWAP_ROUTER: {
432
- readonly mainnet: "0x319B69888b0d11cEC22caA5034e25FfFBDc88421";
433
- readonly testnet: "0x0000000000000000000000000000000000000000";
376
+ declare const WETH_TOKEN: {
377
+ readonly mainnet: "0xdEAddEaDdeadDEadDEADDEAddEADDEAddead1111";
378
+ readonly testnet: "0xdEAddEaDdeadDEadDEADDEAddEADDEAddead1111";
434
379
  };
435
- declare const POSITION_MANAGER: {
436
- readonly mainnet: "0x218bf598d1453383e2f4aa7b14ffb9bfb102d637";
437
- readonly testnet: "0x0000000000000000000000000000000000000000";
380
+ declare const WMNT_TOKEN: {
381
+ readonly mainnet: "0x78c1b0C915c4FAA5FffA6CAbf0219DA63d7f4cb8";
382
+ readonly testnet: "0x78c1b0C915c4FAA5FffA6CAbf0219DA63d7f4cb8";
438
383
  };
439
- declare const SWAP_ROUTER_ABI: readonly [{
384
+ declare const NATIVE_MNT_ADDRESS: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
385
+ declare const METH_ABI: readonly [{
440
386
  readonly inputs: readonly [{
441
- readonly components: readonly [{
442
- readonly name: "tokenIn";
443
- readonly type: "address";
444
- }, {
445
- readonly name: "tokenOut";
446
- readonly type: "address";
447
- }, {
448
- readonly name: "fee";
449
- readonly type: "uint24";
450
- }, {
451
- readonly name: "recipient";
452
- readonly type: "address";
453
- }, {
454
- readonly name: "deadline";
455
- readonly type: "uint256";
456
- }, {
457
- readonly name: "amountIn";
458
- readonly type: "uint256";
459
- }, {
460
- readonly name: "amountOutMinimum";
461
- readonly type: "uint256";
462
- }, {
463
- readonly name: "sqrtPriceLimitX96";
464
- readonly type: "uint160";
465
- }];
466
- readonly name: "params";
467
- readonly type: "tuple";
387
+ readonly name: "account";
388
+ readonly type: "address";
468
389
  }];
469
- readonly name: "exactInputSingle";
390
+ readonly name: "balanceOf";
470
391
  readonly outputs: readonly [{
471
- readonly name: "amountOut";
392
+ readonly name: "";
472
393
  readonly type: "uint256";
473
394
  }];
474
- readonly stateMutability: "payable";
395
+ readonly stateMutability: "view";
396
+ readonly type: "function";
397
+ }, {
398
+ readonly inputs: readonly [];
399
+ readonly name: "totalSupply";
400
+ readonly outputs: readonly [{
401
+ readonly name: "";
402
+ readonly type: "uint256";
403
+ }];
404
+ readonly stateMutability: "view";
405
+ readonly type: "function";
406
+ }, {
407
+ readonly inputs: readonly [];
408
+ readonly name: "decimals";
409
+ readonly outputs: readonly [{
410
+ readonly name: "";
411
+ readonly type: "uint8";
412
+ }];
413
+ readonly stateMutability: "view";
414
+ readonly type: "function";
415
+ }, {
416
+ readonly inputs: readonly [];
417
+ readonly name: "symbol";
418
+ readonly outputs: readonly [{
419
+ readonly name: "";
420
+ readonly type: "string";
421
+ }];
422
+ readonly stateMutability: "view";
423
+ readonly type: "function";
424
+ }, {
425
+ readonly inputs: readonly [{
426
+ readonly name: "spender";
427
+ readonly type: "address";
428
+ }, {
429
+ readonly name: "amount";
430
+ readonly type: "uint256";
431
+ }];
432
+ readonly name: "approve";
433
+ readonly outputs: readonly [{
434
+ readonly name: "";
435
+ readonly type: "bool";
436
+ }];
437
+ readonly stateMutability: "nonpayable";
438
+ readonly type: "function";
439
+ }, {
440
+ readonly inputs: readonly [{
441
+ readonly name: "owner";
442
+ readonly type: "address";
443
+ }, {
444
+ readonly name: "spender";
445
+ readonly type: "address";
446
+ }];
447
+ readonly name: "allowance";
448
+ readonly outputs: readonly [{
449
+ readonly name: "";
450
+ readonly type: "uint256";
451
+ }];
452
+ readonly stateMutability: "view";
453
+ readonly type: "function";
454
+ }];
455
+
456
+ declare const index$8_METH_ABI: typeof METH_ABI;
457
+ declare const index$8_METH_TOKEN: typeof METH_TOKEN;
458
+ declare const index$8_NATIVE_MNT_ADDRESS: typeof NATIVE_MNT_ADDRESS;
459
+ declare const index$8_WETH_TOKEN: typeof WETH_TOKEN;
460
+ declare const index$8_WMNT_TOKEN: typeof WMNT_TOKEN;
461
+ declare namespace index$8 {
462
+ export { index$8_METH_ABI as METH_ABI, index$8_METH_TOKEN as METH_TOKEN, index$8_NATIVE_MNT_ADDRESS as NATIVE_MNT_ADDRESS, index$8_WETH_TOKEN as WETH_TOKEN, index$8_WMNT_TOKEN as WMNT_TOKEN };
463
+ }
464
+
465
+ interface MethPosition {
466
+ methBalance: bigint;
467
+ wethBalance: bigint;
468
+ wmntBalance: bigint;
469
+ methTokenAddress: Address;
470
+ wethTokenAddress: Address;
471
+ wmntTokenAddress: Address;
472
+ }
473
+ /**
474
+ * Get mETH position for a user
475
+ * Returns mETH balance, WETH balance (for swaps), and WMNT balance
476
+ * @param agent - MNTAgentKit instance
477
+ * @param userAddress - User wallet address (optional, defaults to agent account)
478
+ * @returns mETH position with balances
479
+ */
480
+ declare function methGetPosition(agent: MNTAgentKit, userAddress?: Address): Promise<MethPosition>;
481
+
482
+ /**
483
+ * Swap WETH to mETH using DEX aggregator
484
+ * This is the L2 way to acquire mETH - swap via DEX
485
+ * @param agent - MNTAgentKit instance
486
+ * @param amount - Amount of WETH to swap (in wei as string)
487
+ * @param slippage - Slippage tolerance percentage (default 0.5%)
488
+ * @returns Transaction hash
489
+ */
490
+ declare function swapToMeth(agent: MNTAgentKit, amount: string, slippage?: number): Promise<Hex>;
491
+
492
+ /**
493
+ * Swap mETH to WETH using DEX aggregator
494
+ * This is the L2 way to exit mETH position - swap via DEX
495
+ * @param agent - MNTAgentKit instance
496
+ * @param amount - Amount of mETH to swap (in wei as string)
497
+ * @param slippage - Slippage tolerance percentage (default 0.5%)
498
+ * @returns Transaction hash
499
+ */
500
+ declare function swapFromMeth(agent: MNTAgentKit, amount: string, slippage?: number): Promise<Hex>;
501
+
502
+ /**
503
+ * Close an existing position on PikePerps
504
+ * @param agent - MNTAgentKit instance
505
+ * @param positionId - Position ID to close
506
+ * @returns Transaction hash
507
+ */
508
+ declare function pikeperpsClosePosition(agent: MNTAgentKit, positionId: bigint): Promise<Hex>;
509
+
510
+ interface PikePerpsPosition {
511
+ positionId: bigint;
512
+ token: Address;
513
+ isLong: boolean;
514
+ size: bigint;
515
+ margin: bigint;
516
+ leverage: number;
517
+ entryPrice: bigint;
518
+ entryTime: bigint;
519
+ currentPrice: bigint;
520
+ pnl: bigint;
521
+ isProfit: boolean;
522
+ liquidationPrice: bigint;
523
+ isOpen: boolean;
524
+ }
525
+ /**
526
+ * Get all positions for a user on PikePerps
527
+ * Returns detailed position data including PnL and liquidation prices
528
+ * @param agent - MNTAgentKit instance
529
+ * @param userAddress - User wallet address (optional, defaults to agent account)
530
+ * @returns Array of positions with PnL and liquidation data
531
+ */
532
+ declare function pikeperpsGetPositions(agent: MNTAgentKit, userAddress?: Address): Promise<PikePerpsPosition[]>;
533
+
534
+ interface PikePerpsTrade {
535
+ positionId: bigint;
536
+ trader: Address;
537
+ token: Address;
538
+ isLong: boolean;
539
+ size: bigint;
540
+ margin: bigint;
541
+ leverage: bigint;
542
+ entryPrice: bigint;
543
+ timestamp: number;
544
+ txHash: Hex;
545
+ blockNumber: bigint;
546
+ }
547
+ interface PikePerpsMarketData {
548
+ token: Address;
549
+ currentPrice: bigint;
550
+ hasPrice: boolean;
551
+ isListed: boolean;
552
+ curveProgress: bigint;
553
+ recentTrades: PikePerpsTrade[];
554
+ }
555
+ /**
556
+ * Get market data for a token on PikePerps
557
+ * Returns current price and recent trades
558
+ * @param agent - MNTAgentKit instance
559
+ * @param tokenAddress - Token address to get market data for
560
+ * @param limit - Maximum number of recent trades to return (default 20)
561
+ * @returns Market data with price and recent trades
562
+ */
563
+ declare function pikeperpsGetMarketData(agent: MNTAgentKit, tokenAddress: Address, limit?: number): Promise<PikePerpsMarketData>;
564
+
565
+ /**
566
+ * Platform Configuration & Validation
567
+ *
568
+ * Validates APP_ID with Mantle platform API
569
+ */
570
+ /** Project configuration from platform */
571
+ interface ProjectConfig {
572
+ appId: string;
573
+ name: string;
574
+ payTo: string;
575
+ network: string;
576
+ status: string;
577
+ }
578
+ /**
579
+ * Initialize platform validation
580
+ *
581
+ * Reads APP_ID from environment and validates with platform API.
582
+ * Uses singleton pattern - multiple calls return same promise.
583
+ *
584
+ * @returns Project configuration from platform
585
+ * @throws Error if APP_ID is not set or validation fails
586
+ */
587
+ declare function initializePlatform(): Promise<ProjectConfig>;
588
+ /**
589
+ * Get cached project configuration
590
+ *
591
+ * @throws Error if platform not initialized
592
+ */
593
+ declare function getProjectConfig(): ProjectConfig;
594
+
595
+ declare class MNTAgentKit {
596
+ account: PrivateKeyAccount;
597
+ client: WalletClient<Transport, Chain, PrivateKeyAccount> & PublicActions & Erc7811Actions;
598
+ chain: "testnet" | "mainnet";
599
+ demo: boolean;
600
+ projectConfig?: ProjectConfig;
601
+ constructor(privateKey: Address$1, chain: "mainnet" | "testnet" | "testnet-demo");
602
+ /**
603
+ * Initialize the agent with platform validation
604
+ *
605
+ * Validates APP_ID with the platform API.
606
+ * Must be called after creating the agent instance.
607
+ *
608
+ * @returns The initialized agent instance
609
+ * @throws Error if APP_ID is not set or validation fails
610
+ *
611
+ * @example
612
+ * ```typescript
613
+ * const agent = new MNTAgentKit(privateKey, "mainnet");
614
+ * await agent.initialize(); // Validates APP_ID
615
+ * ```
616
+ */
617
+ initialize(): Promise<MNTAgentKit>;
618
+ sendTransaction(to: Address$1, amount: string): Promise<viem.TransactionReceipt<bigint, number, "success" | "reverted", viem.TransactionType>>;
619
+ getSwapQuote(fromTokenAddress: string, toTokenAddress: string, amount: string, slippagePercentage?: string): Promise<any>;
620
+ executeSwap(fromTokenAddress: string, toTokenAddress: string, amount: string, slippagePercentage?: string): Promise<{
621
+ data: any;
622
+ }>;
623
+ getOpenOceanQuote(fromToken: Address$1, toToken: Address$1, amount: string): Promise<OpenOceanQuote>;
624
+ swapOnOpenOcean(fromToken: Address$1, toToken: Address$1, amount: string, slippage?: number): Promise<{
625
+ txHash: string;
626
+ outAmount: string;
627
+ }>;
628
+ get1inchQuote(fromToken: Address$1, toToken: Address$1, amount: string): Promise<OneInchQuote>;
629
+ swapOn1inch(fromToken: Address$1, toToken: Address$1, amount: string, slippage?: number): Promise<{
630
+ txHash: string;
631
+ dstAmount: string;
632
+ }>;
633
+ getUniswapQuote(fromToken: Address$1, toToken: Address$1, amount: string): Promise<UniswapQuoteResult>;
634
+ swapOnUniswap(fromToken: Address$1, toToken: Address$1, amount: string, slippage?: number): Promise<{
635
+ txHash: string;
636
+ amountOut: string;
637
+ }>;
638
+ lendleSupply(tokenAddress: Address$1, amount: string): Promise<`0x${string}`>;
639
+ lendleWithdraw(tokenAddress: Address$1, amount: string, to?: Address$1): Promise<`0x${string}`>;
640
+ lendleBorrow(tokenAddress: Address$1, amount: string, interestRateMode?: 1 | 2, onBehalfOf?: Address$1): Promise<`0x${string}`>;
641
+ lendleRepay(tokenAddress: Address$1, amount: string, rateMode?: 1 | 2, onBehalfOf?: Address$1): Promise<`0x${string}`>;
642
+ /**
643
+ * Get user account data from Lendle LendingPool
644
+ * Returns overall position including total collateral, debt, and health factor
645
+ * @param userAddress - User wallet address (optional, defaults to agent account)
646
+ * @returns User account data with collateral, debt, available borrows, and health factor
647
+ */
648
+ lendleGetUserAccountData(userAddress?: Address$1): Promise<UserAccountData>;
649
+ /**
650
+ * Get all Lendle positions for a user (per-token breakdown)
651
+ * Returns detailed supply and borrow amounts for each asset
652
+ * @param userAddress - User wallet address (optional, defaults to agent account)
653
+ * @returns Array of positions with supply/borrow amounts per asset
654
+ */
655
+ lendleGetPositions(userAddress?: Address$1): Promise<LendlePositionsResult>;
656
+ agniSwap(tokenIn: Address$1, tokenOut: Address$1, amountIn: string, slippagePercent?: number, feeTier?: number): Promise<`0x${string}`>;
657
+ merchantMoeSwap(tokenIn: Address$1, tokenOut: Address$1, amountIn: string, slippagePercent?: number): Promise<`0x${string}`>;
658
+ getMethTokenAddress(): "0x0000000000000000000000000000000000000000" | "0xcDA86A272531e8640cD7F1a92c01839911B90bb0";
659
+ /**
660
+ * Get mETH staking position for a user
661
+ * Returns mETH balance and WETH balance for comparison
662
+ * @param userAddress - User wallet address (optional, defaults to agent account)
663
+ * @returns mETH position with balances
664
+ */
665
+ methGetPosition(userAddress?: Address$1): Promise<MethPosition>;
666
+ /**
667
+ * Swap WETH to mETH using DEX aggregator
668
+ * @param amount - Amount of WETH to swap (in wei as string)
669
+ * @param slippage - Slippage tolerance percentage (default 0.5%)
670
+ * @returns Transaction hash
671
+ */
672
+ swapToMeth(amount: string, slippage?: number): Promise<`0x${string}`>;
673
+ /**
674
+ * Swap mETH to WETH using DEX aggregator
675
+ * @param amount - Amount of mETH to swap (in wei as string)
676
+ * @param slippage - Slippage tolerance percentage (default 0.5%)
677
+ * @returns Transaction hash
678
+ */
679
+ swapFromMeth(amount: string, slippage?: number): Promise<`0x${string}`>;
680
+ getSquidRoute(fromToken: Address$1, toToken: Address$1, fromChain: number, toChain: number, amount: string, slippage?: number): Promise<{
681
+ route: {
682
+ estimate: {
683
+ toAmount: string;
684
+ };
685
+ transactionRequest: {
686
+ targetAddress: string;
687
+ data: string;
688
+ value: string;
689
+ gasLimit: string;
690
+ };
691
+ };
692
+ demo: boolean;
693
+ message: string;
694
+ } | SquidRoute>;
695
+ crossChainSwapViaSquid(fromToken: Address$1, toToken: Address$1, fromChain: number, toChain: number, amount: string, slippage?: number): Promise<`0x${string}`>;
696
+ /**
697
+ * Open a long position on PikePerps
698
+ * @param tokenAddress - Token to trade (meme token address)
699
+ * @param margin - Margin amount in wei (as string)
700
+ * @param leverage - Leverage multiplier (1-100, default 10)
701
+ * @returns Position ID and transaction hash
702
+ */
703
+ pikeperpsOpenLong(tokenAddress: Address$1, margin: string, leverage?: number): Promise<OpenPositionResult>;
704
+ /**
705
+ * Open a short position on PikePerps
706
+ * @param tokenAddress - Token to trade (meme token address)
707
+ * @param margin - Margin amount in wei (as string)
708
+ * @param leverage - Leverage multiplier (1-100, default 10)
709
+ * @returns Position ID and transaction hash
710
+ */
711
+ pikeperpsOpenShort(tokenAddress: Address$1, margin: string, leverage?: number): Promise<OpenPositionResult$1>;
712
+ /**
713
+ * Close an existing position on PikePerps
714
+ * @param positionId - Position ID to close
715
+ * @returns Transaction hash
716
+ */
717
+ pikeperpsClosePosition(positionId: bigint): Promise<`0x${string}`>;
718
+ /**
719
+ * Get all positions for a user on PikePerps
720
+ * Returns detailed position data including PnL and liquidation prices
721
+ * @param userAddress - User wallet address (optional, defaults to agent account)
722
+ * @returns Array of positions with PnL and liquidation data
723
+ */
724
+ pikeperpsGetPositions(userAddress?: Address$1): Promise<PikePerpsPosition[]>;
725
+ /**
726
+ * Get market data for a token on PikePerps
727
+ * Returns current price and recent trades
728
+ * @param tokenAddress - Token address to get market data for
729
+ * @param limit - Maximum number of recent trades to return (default 20)
730
+ * @returns Market data with price and recent trades
731
+ */
732
+ pikeperpsGetMarketData(tokenAddress: Address$1, limit?: number): Promise<PikePerpsMarketData>;
733
+ }
734
+
735
+ declare const FACTORY: {
736
+ readonly mainnet: "0x25780dc8Fc3cfBD75F33bFDAB65e969b603b2035";
737
+ readonly testnet: "0x0000000000000000000000000000000000000000";
738
+ };
739
+ declare const SWAP_ROUTER: {
740
+ readonly mainnet: "0x319B69888b0d11cEC22caA5034e25FfFBDc88421";
741
+ readonly testnet: "0x0000000000000000000000000000000000000000";
742
+ };
743
+ declare const POSITION_MANAGER: {
744
+ readonly mainnet: "0x218bf598d1453383e2f4aa7b14ffb9bfb102d637";
745
+ readonly testnet: "0x0000000000000000000000000000000000000000";
746
+ };
747
+ declare const SWAP_ROUTER_ABI: readonly [{
748
+ readonly inputs: readonly [{
749
+ readonly components: readonly [{
750
+ readonly name: "tokenIn";
751
+ readonly type: "address";
752
+ }, {
753
+ readonly name: "tokenOut";
754
+ readonly type: "address";
755
+ }, {
756
+ readonly name: "fee";
757
+ readonly type: "uint24";
758
+ }, {
759
+ readonly name: "recipient";
760
+ readonly type: "address";
761
+ }, {
762
+ readonly name: "deadline";
763
+ readonly type: "uint256";
764
+ }, {
765
+ readonly name: "amountIn";
766
+ readonly type: "uint256";
767
+ }, {
768
+ readonly name: "amountOutMinimum";
769
+ readonly type: "uint256";
770
+ }, {
771
+ readonly name: "sqrtPriceLimitX96";
772
+ readonly type: "uint160";
773
+ }];
774
+ readonly name: "params";
775
+ readonly type: "tuple";
776
+ }];
777
+ readonly name: "exactInputSingle";
778
+ readonly outputs: readonly [{
779
+ readonly name: "amountOut";
780
+ readonly type: "uint256";
781
+ }];
782
+ readonly stateMutability: "payable";
475
783
  readonly type: "function";
476
784
  }];
477
785
  declare const FEE_TIERS: {
@@ -481,13 +789,13 @@ declare const FEE_TIERS: {
481
789
  readonly HIGH: 10000;
482
790
  };
483
791
 
484
- declare const index$6_FACTORY: typeof FACTORY;
485
- declare const index$6_FEE_TIERS: typeof FEE_TIERS;
486
- declare const index$6_POSITION_MANAGER: typeof POSITION_MANAGER;
487
- declare const index$6_SWAP_ROUTER: typeof SWAP_ROUTER;
488
- declare const index$6_SWAP_ROUTER_ABI: typeof SWAP_ROUTER_ABI;
489
- declare namespace index$6 {
490
- export { index$6_FACTORY as FACTORY, index$6_FEE_TIERS as FEE_TIERS, index$6_POSITION_MANAGER as POSITION_MANAGER, index$6_SWAP_ROUTER as SWAP_ROUTER, index$6_SWAP_ROUTER_ABI as SWAP_ROUTER_ABI };
792
+ declare const index$7_FACTORY: typeof FACTORY;
793
+ declare const index$7_FEE_TIERS: typeof FEE_TIERS;
794
+ declare const index$7_POSITION_MANAGER: typeof POSITION_MANAGER;
795
+ declare const index$7_SWAP_ROUTER: typeof SWAP_ROUTER;
796
+ declare const index$7_SWAP_ROUTER_ABI: typeof SWAP_ROUTER_ABI;
797
+ declare namespace index$7 {
798
+ export { index$7_FACTORY as FACTORY, index$7_FEE_TIERS as FEE_TIERS, index$7_POSITION_MANAGER as POSITION_MANAGER, index$7_SWAP_ROUTER as SWAP_ROUTER, index$7_SWAP_ROUTER_ABI as SWAP_ROUTER_ABI };
491
799
  }
492
800
 
493
801
  declare const LENDING_POOL: {
@@ -666,16 +974,111 @@ declare const LENDING_POOL_ABI: readonly [{
666
974
  readonly stateMutability: "view";
667
975
  readonly type: "function";
668
976
  }];
977
+ declare const PROTOCOL_DATA_PROVIDER_ABI: readonly [{
978
+ readonly inputs: readonly [];
979
+ readonly name: "getAllReservesTokens";
980
+ readonly outputs: readonly [{
981
+ readonly components: readonly [{
982
+ readonly name: "symbol";
983
+ readonly type: "string";
984
+ }, {
985
+ readonly name: "tokenAddress";
986
+ readonly type: "address";
987
+ }];
988
+ readonly name: "";
989
+ readonly type: "tuple[]";
990
+ }];
991
+ readonly stateMutability: "view";
992
+ readonly type: "function";
993
+ }, {
994
+ readonly inputs: readonly [{
995
+ readonly name: "asset";
996
+ readonly type: "address";
997
+ }, {
998
+ readonly name: "user";
999
+ readonly type: "address";
1000
+ }];
1001
+ readonly name: "getUserReserveData";
1002
+ readonly outputs: readonly [{
1003
+ readonly name: "currentATokenBalance";
1004
+ readonly type: "uint256";
1005
+ }, {
1006
+ readonly name: "currentStableDebt";
1007
+ readonly type: "uint256";
1008
+ }, {
1009
+ readonly name: "currentVariableDebt";
1010
+ readonly type: "uint256";
1011
+ }, {
1012
+ readonly name: "principalStableDebt";
1013
+ readonly type: "uint256";
1014
+ }, {
1015
+ readonly name: "scaledVariableDebt";
1016
+ readonly type: "uint256";
1017
+ }, {
1018
+ readonly name: "stableBorrowRate";
1019
+ readonly type: "uint256";
1020
+ }, {
1021
+ readonly name: "liquidityRate";
1022
+ readonly type: "uint256";
1023
+ }, {
1024
+ readonly name: "stableRateLastUpdated";
1025
+ readonly type: "uint40";
1026
+ }, {
1027
+ readonly name: "usageAsCollateralEnabled";
1028
+ readonly type: "bool";
1029
+ }];
1030
+ readonly stateMutability: "view";
1031
+ readonly type: "function";
1032
+ }, {
1033
+ readonly inputs: readonly [{
1034
+ readonly name: "asset";
1035
+ readonly type: "address";
1036
+ }];
1037
+ readonly name: "getReserveTokensAddresses";
1038
+ readonly outputs: readonly [{
1039
+ readonly name: "aTokenAddress";
1040
+ readonly type: "address";
1041
+ }, {
1042
+ readonly name: "stableDebtTokenAddress";
1043
+ readonly type: "address";
1044
+ }, {
1045
+ readonly name: "variableDebtTokenAddress";
1046
+ readonly type: "address";
1047
+ }];
1048
+ readonly stateMutability: "view";
1049
+ readonly type: "function";
1050
+ }];
1051
+ declare const LENDLE_SUPPORTED_ASSETS: {
1052
+ readonly mainnet: readonly [{
1053
+ readonly symbol: "WMNT";
1054
+ readonly address: "0x78c1b0C915c4FAA5FffA6CAbf0219DA63d7f4cb8";
1055
+ }, {
1056
+ readonly symbol: "WETH";
1057
+ readonly address: "0xdEAddEaDdeadDEadDEADDEAddEADDEAddead1111";
1058
+ }, {
1059
+ readonly symbol: "USDC";
1060
+ readonly address: "0x09Bc4E0D10C81b3a3766c49F0f98a8aaa7adA8D2";
1061
+ }, {
1062
+ readonly symbol: "USDT";
1063
+ readonly address: "0x201EBa5CC46D216Ce6DC03F6a759e8E766e956aE";
1064
+ }, {
1065
+ readonly symbol: "mETH";
1066
+ readonly address: "0xcDA86A272531e8640cD7F1a92c01839911B90bb0";
1067
+ }];
1068
+ readonly testnet: readonly [];
1069
+ };
669
1070
 
670
- declare const index$5_INTEREST_RATE_MODE: typeof INTEREST_RATE_MODE;
671
- declare const index$5_LENDING_POOL: typeof LENDING_POOL;
672
- declare const index$5_LENDING_POOL_ABI: typeof LENDING_POOL_ABI;
673
- declare const index$5_LENDING_POOL_ADDRESSES_PROVIDER: typeof LENDING_POOL_ADDRESSES_PROVIDER;
674
- declare const index$5_ORACLE: typeof ORACLE;
675
- declare const index$5_PROTOCOL_DATA_PROVIDER: typeof PROTOCOL_DATA_PROVIDER;
676
- declare const index$5_WMNT_ADDRESS: typeof WMNT_ADDRESS;
677
- declare namespace index$5 {
678
- export { index$5_INTEREST_RATE_MODE as INTEREST_RATE_MODE, index$5_LENDING_POOL as LENDING_POOL, index$5_LENDING_POOL_ABI as LENDING_POOL_ABI, index$5_LENDING_POOL_ADDRESSES_PROVIDER as LENDING_POOL_ADDRESSES_PROVIDER, index$5_ORACLE as ORACLE, index$5_PROTOCOL_DATA_PROVIDER as PROTOCOL_DATA_PROVIDER, index$5_WMNT_ADDRESS as WMNT_ADDRESS };
1071
+ declare const index$6_INTEREST_RATE_MODE: typeof INTEREST_RATE_MODE;
1072
+ declare const index$6_LENDING_POOL: typeof LENDING_POOL;
1073
+ declare const index$6_LENDING_POOL_ABI: typeof LENDING_POOL_ABI;
1074
+ declare const index$6_LENDING_POOL_ADDRESSES_PROVIDER: typeof LENDING_POOL_ADDRESSES_PROVIDER;
1075
+ declare const index$6_LENDLE_SUPPORTED_ASSETS: typeof LENDLE_SUPPORTED_ASSETS;
1076
+ declare const index$6_ORACLE: typeof ORACLE;
1077
+ declare const index$6_PROTOCOL_DATA_PROVIDER: typeof PROTOCOL_DATA_PROVIDER;
1078
+ declare const index$6_PROTOCOL_DATA_PROVIDER_ABI: typeof PROTOCOL_DATA_PROVIDER_ABI;
1079
+ declare const index$6_WMNT_ADDRESS: typeof WMNT_ADDRESS;
1080
+ declare namespace index$6 {
1081
+ export { index$6_INTEREST_RATE_MODE as INTEREST_RATE_MODE, index$6_LENDING_POOL as LENDING_POOL, index$6_LENDING_POOL_ABI as LENDING_POOL_ABI, index$6_LENDING_POOL_ADDRESSES_PROVIDER as LENDING_POOL_ADDRESSES_PROVIDER, index$6_LENDLE_SUPPORTED_ASSETS as LENDLE_SUPPORTED_ASSETS, index$6_ORACLE as ORACLE, index$6_PROTOCOL_DATA_PROVIDER as PROTOCOL_DATA_PROVIDER, index$6_PROTOCOL_DATA_PROVIDER_ABI as PROTOCOL_DATA_PROVIDER_ABI, index$6_WMNT_ADDRESS as WMNT_ADDRESS };
679
1082
  }
680
1083
 
681
1084
  declare const LB_ROUTER: {
@@ -717,13 +1120,13 @@ declare const LB_ROUTER_ABI: readonly [{
717
1120
  readonly type: "function";
718
1121
  }];
719
1122
 
720
- declare const index$4_LB_FACTORY: typeof LB_FACTORY;
721
- declare const index$4_LB_QUOTER: typeof LB_QUOTER;
722
- declare const index$4_LB_ROUTER: typeof LB_ROUTER;
723
- declare const index$4_LB_ROUTER_ABI: typeof LB_ROUTER_ABI;
724
- declare const index$4_MOE_TOKEN: typeof MOE_TOKEN;
725
- declare namespace index$4 {
726
- export { index$4_LB_FACTORY as LB_FACTORY, index$4_LB_QUOTER as LB_QUOTER, index$4_LB_ROUTER as LB_ROUTER, index$4_LB_ROUTER_ABI as LB_ROUTER_ABI, index$4_MOE_TOKEN as MOE_TOKEN };
1123
+ declare const index$5_LB_FACTORY: typeof LB_FACTORY;
1124
+ declare const index$5_LB_QUOTER: typeof LB_QUOTER;
1125
+ declare const index$5_LB_ROUTER: typeof LB_ROUTER;
1126
+ declare const index$5_LB_ROUTER_ABI: typeof LB_ROUTER_ABI;
1127
+ declare const index$5_MOE_TOKEN: typeof MOE_TOKEN;
1128
+ declare namespace index$5 {
1129
+ export { index$5_LB_FACTORY as LB_FACTORY, index$5_LB_QUOTER as LB_QUOTER, index$5_LB_ROUTER as LB_ROUTER, index$5_LB_ROUTER_ABI as LB_ROUTER_ABI, index$5_MOE_TOKEN as MOE_TOKEN };
727
1130
  }
728
1131
 
729
1132
  declare const configs$1: {
@@ -735,10 +1138,10 @@ declare const configs$1: {
735
1138
  declare const baseUrl: string;
736
1139
  declare const ETH_ADDRESS = "0xdeaddeaddeaddeaddeaddeaddeaddeaddead0000";
737
1140
 
738
- declare const index$3_ETH_ADDRESS: typeof ETH_ADDRESS;
739
- declare const index$3_baseUrl: typeof baseUrl;
740
- declare namespace index$3 {
741
- export { index$3_ETH_ADDRESS as ETH_ADDRESS, index$3_baseUrl as baseUrl, configs$1 as configs };
1141
+ declare const index$4_ETH_ADDRESS: typeof ETH_ADDRESS;
1142
+ declare const index$4_baseUrl: typeof baseUrl;
1143
+ declare namespace index$4 {
1144
+ export { index$4_ETH_ADDRESS as ETH_ADDRESS, index$4_baseUrl as baseUrl, configs$1 as configs };
742
1145
  }
743
1146
 
744
1147
  declare const ONEINCH_BASE_URL = "https://api.1inch.dev/swap/v6.0";
@@ -752,12 +1155,12 @@ declare const configs: {
752
1155
  apiKey: string | undefined;
753
1156
  };
754
1157
 
755
- declare const index$2_ONEINCH_BASE_URL: typeof ONEINCH_BASE_URL;
756
- declare const index$2_ONEINCH_CHAIN_ID: typeof ONEINCH_CHAIN_ID;
757
- declare const index$2_ONEINCH_ROUTER_ADDRESS: typeof ONEINCH_ROUTER_ADDRESS;
758
- declare const index$2_configs: typeof configs;
759
- declare namespace index$2 {
760
- export { NATIVE_TOKEN_ADDRESS$2 as NATIVE_TOKEN_ADDRESS, index$2_ONEINCH_BASE_URL as ONEINCH_BASE_URL, index$2_ONEINCH_CHAIN_ID as ONEINCH_CHAIN_ID, index$2_ONEINCH_ROUTER_ADDRESS as ONEINCH_ROUTER_ADDRESS, index$2_configs as configs };
1158
+ declare const index$3_ONEINCH_BASE_URL: typeof ONEINCH_BASE_URL;
1159
+ declare const index$3_ONEINCH_CHAIN_ID: typeof ONEINCH_CHAIN_ID;
1160
+ declare const index$3_ONEINCH_ROUTER_ADDRESS: typeof ONEINCH_ROUTER_ADDRESS;
1161
+ declare const index$3_configs: typeof configs;
1162
+ declare namespace index$3 {
1163
+ export { NATIVE_TOKEN_ADDRESS$2 as NATIVE_TOKEN_ADDRESS, index$3_ONEINCH_BASE_URL as ONEINCH_BASE_URL, index$3_ONEINCH_CHAIN_ID as ONEINCH_CHAIN_ID, index$3_ONEINCH_ROUTER_ADDRESS as ONEINCH_ROUTER_ADDRESS, index$3_configs as configs };
761
1164
  }
762
1165
 
763
1166
  declare const OPENOCEAN_BASE_URL = "https://open-api.openocean.finance/v4";
@@ -768,11 +1171,11 @@ declare const OPENOCEAN_CHAIN: {
768
1171
  declare const NATIVE_TOKEN_ADDRESS$1 = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
769
1172
  declare const OPENOCEAN_EXCHANGE_PROXY = "0x6352a56caadC4F1E25CD6c75970Fa768A3304e64";
770
1173
 
771
- declare const index$1_OPENOCEAN_BASE_URL: typeof OPENOCEAN_BASE_URL;
772
- declare const index$1_OPENOCEAN_CHAIN: typeof OPENOCEAN_CHAIN;
773
- declare const index$1_OPENOCEAN_EXCHANGE_PROXY: typeof OPENOCEAN_EXCHANGE_PROXY;
774
- declare namespace index$1 {
775
- export { NATIVE_TOKEN_ADDRESS$1 as NATIVE_TOKEN_ADDRESS, index$1_OPENOCEAN_BASE_URL as OPENOCEAN_BASE_URL, index$1_OPENOCEAN_CHAIN as OPENOCEAN_CHAIN, index$1_OPENOCEAN_EXCHANGE_PROXY as OPENOCEAN_EXCHANGE_PROXY };
1174
+ declare const index$2_OPENOCEAN_BASE_URL: typeof OPENOCEAN_BASE_URL;
1175
+ declare const index$2_OPENOCEAN_CHAIN: typeof OPENOCEAN_CHAIN;
1176
+ declare const index$2_OPENOCEAN_EXCHANGE_PROXY: typeof OPENOCEAN_EXCHANGE_PROXY;
1177
+ declare namespace index$2 {
1178
+ export { NATIVE_TOKEN_ADDRESS$1 as NATIVE_TOKEN_ADDRESS, index$2_OPENOCEAN_BASE_URL as OPENOCEAN_BASE_URL, index$2_OPENOCEAN_CHAIN as OPENOCEAN_CHAIN, index$2_OPENOCEAN_EXCHANGE_PROXY as OPENOCEAN_EXCHANGE_PROXY };
776
1179
  }
777
1180
 
778
1181
  declare const SQUID_BASE_URL = "https://api.squidrouter.com/v2";
@@ -792,12 +1195,399 @@ declare const DESTINATION_CHAINS: {
792
1195
  };
793
1196
  declare const NATIVE_TOKEN_ADDRESS = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
794
1197
 
795
- declare const index_DESTINATION_CHAINS: typeof DESTINATION_CHAINS;
796
- declare const index_NATIVE_TOKEN_ADDRESS: typeof NATIVE_TOKEN_ADDRESS;
797
- declare const index_SQUID_BASE_URL: typeof SQUID_BASE_URL;
798
- declare const index_SQUID_CHAIN_ID: typeof SQUID_CHAIN_ID;
1198
+ declare const index$1_DESTINATION_CHAINS: typeof DESTINATION_CHAINS;
1199
+ declare const index$1_NATIVE_TOKEN_ADDRESS: typeof NATIVE_TOKEN_ADDRESS;
1200
+ declare const index$1_SQUID_BASE_URL: typeof SQUID_BASE_URL;
1201
+ declare const index$1_SQUID_CHAIN_ID: typeof SQUID_CHAIN_ID;
1202
+ declare namespace index$1 {
1203
+ export { index$1_DESTINATION_CHAINS as DESTINATION_CHAINS, index$1_NATIVE_TOKEN_ADDRESS as NATIVE_TOKEN_ADDRESS, index$1_SQUID_BASE_URL as SQUID_BASE_URL, index$1_SQUID_CHAIN_ID as SQUID_CHAIN_ID };
1204
+ }
1205
+
1206
+ declare const PERPETUAL_TRADING: {
1207
+ readonly mainnet: "0x0000000000000000000000000000000000000000";
1208
+ readonly testnet: "0x8081b646f349c049f2d5e8a400057d411dd657bd";
1209
+ };
1210
+ declare const BONDING_CURVE_MARKET: {
1211
+ readonly mainnet: "0x0000000000000000000000000000000000000000";
1212
+ readonly testnet: "0x93b268325A9862645c82b32229f3B52264750Ca2";
1213
+ };
1214
+ declare const PIKE_PERPS_CONFIG: {
1215
+ readonly MAX_LEVERAGE: 100;
1216
+ readonly DEFAULT_LEVERAGE: 10;
1217
+ readonly MIN_LEVERAGE: 1;
1218
+ readonly TRADING_FEE_BPS: 5;
1219
+ readonly LIQUIDATION_REWARD_BPS: 500;
1220
+ readonly PRICE_DECIMALS: 8;
1221
+ };
1222
+ declare const PERPETUAL_TRADING_ABI: readonly [{
1223
+ readonly inputs: readonly [{
1224
+ readonly internalType: "address";
1225
+ readonly name: "_pyth";
1226
+ readonly type: "address";
1227
+ }];
1228
+ readonly stateMutability: "nonpayable";
1229
+ readonly type: "constructor";
1230
+ }, {
1231
+ readonly anonymous: false;
1232
+ readonly inputs: readonly [{
1233
+ readonly indexed: true;
1234
+ readonly internalType: "uint256";
1235
+ readonly name: "positionId";
1236
+ readonly type: "uint256";
1237
+ }, {
1238
+ readonly indexed: true;
1239
+ readonly internalType: "address";
1240
+ readonly name: "user";
1241
+ readonly type: "address";
1242
+ }, {
1243
+ readonly indexed: false;
1244
+ readonly internalType: "uint256";
1245
+ readonly name: "pnl";
1246
+ readonly type: "uint256";
1247
+ }, {
1248
+ readonly indexed: false;
1249
+ readonly internalType: "uint256";
1250
+ readonly name: "exitPrice";
1251
+ readonly type: "uint256";
1252
+ }];
1253
+ readonly name: "PositionClosed";
1254
+ readonly type: "event";
1255
+ }, {
1256
+ readonly anonymous: false;
1257
+ readonly inputs: readonly [{
1258
+ readonly indexed: true;
1259
+ readonly internalType: "uint256";
1260
+ readonly name: "positionId";
1261
+ readonly type: "uint256";
1262
+ }, {
1263
+ readonly indexed: true;
1264
+ readonly internalType: "address";
1265
+ readonly name: "user";
1266
+ readonly type: "address";
1267
+ }, {
1268
+ readonly indexed: false;
1269
+ readonly internalType: "uint256";
1270
+ readonly name: "liquidationPrice";
1271
+ readonly type: "uint256";
1272
+ }];
1273
+ readonly name: "PositionLiquidated";
1274
+ readonly type: "event";
1275
+ }, {
1276
+ readonly anonymous: false;
1277
+ readonly inputs: readonly [{
1278
+ readonly indexed: true;
1279
+ readonly internalType: "uint256";
1280
+ readonly name: "positionId";
1281
+ readonly type: "uint256";
1282
+ }, {
1283
+ readonly indexed: true;
1284
+ readonly internalType: "address";
1285
+ readonly name: "user";
1286
+ readonly type: "address";
1287
+ }, {
1288
+ readonly indexed: true;
1289
+ readonly internalType: "address";
1290
+ readonly name: "token";
1291
+ readonly type: "address";
1292
+ }, {
1293
+ readonly indexed: false;
1294
+ readonly internalType: "bool";
1295
+ readonly name: "isLong";
1296
+ readonly type: "bool";
1297
+ }, {
1298
+ readonly indexed: false;
1299
+ readonly internalType: "uint256";
1300
+ readonly name: "size";
1301
+ readonly type: "uint256";
1302
+ }, {
1303
+ readonly indexed: false;
1304
+ readonly internalType: "uint256";
1305
+ readonly name: "margin";
1306
+ readonly type: "uint256";
1307
+ }, {
1308
+ readonly indexed: false;
1309
+ readonly internalType: "uint256";
1310
+ readonly name: "leverage";
1311
+ readonly type: "uint256";
1312
+ }, {
1313
+ readonly indexed: false;
1314
+ readonly internalType: "uint256";
1315
+ readonly name: "entryPrice";
1316
+ readonly type: "uint256";
1317
+ }];
1318
+ readonly name: "PositionOpened";
1319
+ readonly type: "event";
1320
+ }, {
1321
+ readonly inputs: readonly [{
1322
+ readonly internalType: "uint256";
1323
+ readonly name: "_positionId";
1324
+ readonly type: "uint256";
1325
+ }];
1326
+ readonly name: "closePosition";
1327
+ readonly outputs: readonly [];
1328
+ readonly stateMutability: "nonpayable";
1329
+ readonly type: "function";
1330
+ }, {
1331
+ readonly inputs: readonly [{
1332
+ readonly internalType: "address";
1333
+ readonly name: "_token";
1334
+ readonly type: "address";
1335
+ }];
1336
+ readonly name: "getCurrentPrice";
1337
+ readonly outputs: readonly [{
1338
+ readonly internalType: "uint256";
1339
+ readonly name: "currentPrice";
1340
+ readonly type: "uint256";
1341
+ }, {
1342
+ readonly internalType: "bool";
1343
+ readonly name: "hasPrice";
1344
+ readonly type: "bool";
1345
+ }];
1346
+ readonly stateMutability: "view";
1347
+ readonly type: "function";
1348
+ }, {
1349
+ readonly inputs: readonly [{
1350
+ readonly internalType: "uint256";
1351
+ readonly name: "_positionId";
1352
+ readonly type: "uint256";
1353
+ }];
1354
+ readonly name: "getLiquidationPrice";
1355
+ readonly outputs: readonly [{
1356
+ readonly internalType: "uint256";
1357
+ readonly name: "liquidationPrice";
1358
+ readonly type: "uint256";
1359
+ }];
1360
+ readonly stateMutability: "view";
1361
+ readonly type: "function";
1362
+ }, {
1363
+ readonly inputs: readonly [{
1364
+ readonly internalType: "uint256";
1365
+ readonly name: "_positionId";
1366
+ readonly type: "uint256";
1367
+ }];
1368
+ readonly name: "getPosition";
1369
+ readonly outputs: readonly [{
1370
+ readonly components: readonly [{
1371
+ readonly internalType: "address";
1372
+ readonly name: "user";
1373
+ readonly type: "address";
1374
+ }, {
1375
+ readonly internalType: "address";
1376
+ readonly name: "token";
1377
+ readonly type: "address";
1378
+ }, {
1379
+ readonly internalType: "bool";
1380
+ readonly name: "isLong";
1381
+ readonly type: "bool";
1382
+ }, {
1383
+ readonly internalType: "uint256";
1384
+ readonly name: "size";
1385
+ readonly type: "uint256";
1386
+ }, {
1387
+ readonly internalType: "uint256";
1388
+ readonly name: "margin";
1389
+ readonly type: "uint256";
1390
+ }, {
1391
+ readonly internalType: "uint256";
1392
+ readonly name: "leverage";
1393
+ readonly type: "uint256";
1394
+ }, {
1395
+ readonly internalType: "uint256";
1396
+ readonly name: "entryPrice";
1397
+ readonly type: "uint256";
1398
+ }, {
1399
+ readonly internalType: "uint256";
1400
+ readonly name: "entryTime";
1401
+ readonly type: "uint256";
1402
+ }, {
1403
+ readonly internalType: "uint256";
1404
+ readonly name: "lastFundingTime";
1405
+ readonly type: "uint256";
1406
+ }, {
1407
+ readonly internalType: "bool";
1408
+ readonly name: "isOpen";
1409
+ readonly type: "bool";
1410
+ }];
1411
+ readonly internalType: "struct PerpetualTrading.Position";
1412
+ readonly name: "";
1413
+ readonly type: "tuple";
1414
+ }];
1415
+ readonly stateMutability: "view";
1416
+ readonly type: "function";
1417
+ }, {
1418
+ readonly inputs: readonly [{
1419
+ readonly internalType: "uint256";
1420
+ readonly name: "_positionId";
1421
+ readonly type: "uint256";
1422
+ }];
1423
+ readonly name: "getPositionPnL";
1424
+ readonly outputs: readonly [{
1425
+ readonly internalType: "uint256";
1426
+ readonly name: "pnl";
1427
+ readonly type: "uint256";
1428
+ }, {
1429
+ readonly internalType: "bool";
1430
+ readonly name: "isProfit";
1431
+ readonly type: "bool";
1432
+ }];
1433
+ readonly stateMutability: "view";
1434
+ readonly type: "function";
1435
+ }, {
1436
+ readonly inputs: readonly [{
1437
+ readonly internalType: "address";
1438
+ readonly name: "_user";
1439
+ readonly type: "address";
1440
+ }];
1441
+ readonly name: "getUserPositions";
1442
+ readonly outputs: readonly [{
1443
+ readonly internalType: "uint256[]";
1444
+ readonly name: "";
1445
+ readonly type: "uint256[]";
1446
+ }];
1447
+ readonly stateMutability: "view";
1448
+ readonly type: "function";
1449
+ }, {
1450
+ readonly inputs: readonly [{
1451
+ readonly internalType: "uint256";
1452
+ readonly name: "_positionId";
1453
+ readonly type: "uint256";
1454
+ }];
1455
+ readonly name: "liquidatePosition";
1456
+ readonly outputs: readonly [];
1457
+ readonly stateMutability: "nonpayable";
1458
+ readonly type: "function";
1459
+ }, {
1460
+ readonly inputs: readonly [];
1461
+ readonly name: "maxLeverage";
1462
+ readonly outputs: readonly [{
1463
+ readonly internalType: "uint256";
1464
+ readonly name: "";
1465
+ readonly type: "uint256";
1466
+ }];
1467
+ readonly stateMutability: "view";
1468
+ readonly type: "function";
1469
+ }, {
1470
+ readonly inputs: readonly [];
1471
+ readonly name: "minMarginBps";
1472
+ readonly outputs: readonly [{
1473
+ readonly internalType: "uint256";
1474
+ readonly name: "";
1475
+ readonly type: "uint256";
1476
+ }];
1477
+ readonly stateMutability: "view";
1478
+ readonly type: "function";
1479
+ }, {
1480
+ readonly inputs: readonly [];
1481
+ readonly name: "nextPositionId";
1482
+ readonly outputs: readonly [{
1483
+ readonly internalType: "uint256";
1484
+ readonly name: "";
1485
+ readonly type: "uint256";
1486
+ }];
1487
+ readonly stateMutability: "view";
1488
+ readonly type: "function";
1489
+ }, {
1490
+ readonly inputs: readonly [{
1491
+ readonly internalType: "address";
1492
+ readonly name: "_token";
1493
+ readonly type: "address";
1494
+ }, {
1495
+ readonly internalType: "bool";
1496
+ readonly name: "_isLong";
1497
+ readonly type: "bool";
1498
+ }, {
1499
+ readonly internalType: "uint256";
1500
+ readonly name: "_margin";
1501
+ readonly type: "uint256";
1502
+ }, {
1503
+ readonly internalType: "uint256";
1504
+ readonly name: "_leverage";
1505
+ readonly type: "uint256";
1506
+ }];
1507
+ readonly name: "openPosition";
1508
+ readonly outputs: readonly [{
1509
+ readonly internalType: "uint256";
1510
+ readonly name: "positionId";
1511
+ readonly type: "uint256";
1512
+ }];
1513
+ readonly stateMutability: "payable";
1514
+ readonly type: "function";
1515
+ }, {
1516
+ readonly inputs: readonly [{
1517
+ readonly internalType: "uint256";
1518
+ readonly name: "_positionId";
1519
+ readonly type: "uint256";
1520
+ }];
1521
+ readonly name: "shouldLiquidate";
1522
+ readonly outputs: readonly [{
1523
+ readonly internalType: "bool";
1524
+ readonly name: "";
1525
+ readonly type: "bool";
1526
+ }];
1527
+ readonly stateMutability: "view";
1528
+ readonly type: "function";
1529
+ }, {
1530
+ readonly inputs: readonly [];
1531
+ readonly name: "tradingFeeBps";
1532
+ readonly outputs: readonly [{
1533
+ readonly internalType: "uint256";
1534
+ readonly name: "";
1535
+ readonly type: "uint256";
1536
+ }];
1537
+ readonly stateMutability: "view";
1538
+ readonly type: "function";
1539
+ }];
1540
+ declare const BONDING_CURVE_MARKET_ABI: readonly [{
1541
+ readonly inputs: readonly [{
1542
+ readonly internalType: "address";
1543
+ readonly name: "_token";
1544
+ readonly type: "address";
1545
+ }];
1546
+ readonly name: "getCurrentPrice";
1547
+ readonly outputs: readonly [{
1548
+ readonly internalType: "uint256";
1549
+ readonly name: "";
1550
+ readonly type: "uint256";
1551
+ }];
1552
+ readonly stateMutability: "view";
1553
+ readonly type: "function";
1554
+ }, {
1555
+ readonly inputs: readonly [{
1556
+ readonly internalType: "address";
1557
+ readonly name: "_token";
1558
+ readonly type: "address";
1559
+ }];
1560
+ readonly name: "isListed";
1561
+ readonly outputs: readonly [{
1562
+ readonly internalType: "bool";
1563
+ readonly name: "";
1564
+ readonly type: "bool";
1565
+ }];
1566
+ readonly stateMutability: "view";
1567
+ readonly type: "function";
1568
+ }, {
1569
+ readonly inputs: readonly [{
1570
+ readonly internalType: "address";
1571
+ readonly name: "_token";
1572
+ readonly type: "address";
1573
+ }];
1574
+ readonly name: "getCurveProgress";
1575
+ readonly outputs: readonly [{
1576
+ readonly internalType: "uint256";
1577
+ readonly name: "";
1578
+ readonly type: "uint256";
1579
+ }];
1580
+ readonly stateMutability: "view";
1581
+ readonly type: "function";
1582
+ }];
1583
+
1584
+ declare const index_BONDING_CURVE_MARKET: typeof BONDING_CURVE_MARKET;
1585
+ declare const index_BONDING_CURVE_MARKET_ABI: typeof BONDING_CURVE_MARKET_ABI;
1586
+ declare const index_PERPETUAL_TRADING: typeof PERPETUAL_TRADING;
1587
+ declare const index_PERPETUAL_TRADING_ABI: typeof PERPETUAL_TRADING_ABI;
1588
+ declare const index_PIKE_PERPS_CONFIG: typeof PIKE_PERPS_CONFIG;
799
1589
  declare namespace index {
800
- export { index_DESTINATION_CHAINS as DESTINATION_CHAINS, index_NATIVE_TOKEN_ADDRESS as NATIVE_TOKEN_ADDRESS, index_SQUID_BASE_URL as SQUID_BASE_URL, index_SQUID_CHAIN_ID as SQUID_CHAIN_ID };
1590
+ export { index_BONDING_CURVE_MARKET as BONDING_CURVE_MARKET, index_BONDING_CURVE_MARKET_ABI as BONDING_CURVE_MARKET_ABI, index_PERPETUAL_TRADING as PERPETUAL_TRADING, index_PERPETUAL_TRADING_ABI as PERPETUAL_TRADING_ABI, index_PIKE_PERPS_CONFIG as PIKE_PERPS_CONFIG };
801
1591
  }
802
1592
 
803
1593
  interface UserAccountData {
@@ -809,4 +1599,4 @@ interface UserAccountData {
809
1599
  healthFactor: bigint;
810
1600
  }
811
1601
 
812
- export { index$6 as AgniConstants, index$5 as LendleConstants, METH_TOKEN, MNTAgentKit, index$4 as MerchantMoeConstants, index$7 as MethConstants, index$3 as OKXConstants, index$2 as OneInchConstants, index$1 as OpenOceanConstants, type ProjectConfig, index as SquidConstants, index$8 as UniswapConstants, type UserAccountData, agniSwap, approveToken, crossChainSwapViaSquid, executeSwap, get1inchQuote, getOpenOceanQuote, getProjectConfig, getSquidRoute, getUniswapQuote, initializePlatform, lendleBorrow, lendleRepay, lendleSupply, lendleWithdraw, merchantMoeSwap, sendTransaction, swapOn1inch, swapOnOpenOcean, swapOnUniswap };
1602
+ export { index$7 as AgniConstants, index$6 as LendleConstants, type LendlePosition, type LendlePositionsResult, METH_TOKEN, MNTAgentKit, index$5 as MerchantMoeConstants, index$8 as MethConstants, type MethPosition, index$4 as OKXConstants, index$3 as OneInchConstants, index$2 as OpenOceanConstants, index as PikePerpsConstants, type PikePerpsMarketData, type PikePerpsPosition, type PikePerpsTrade, type ProjectConfig, index$1 as SquidConstants, index$9 as UniswapConstants, type UserAccountData, agniSwap, approveToken, crossChainSwapViaSquid, executeSwap, get1inchQuote, getOpenOceanQuote, getProjectConfig, getSquidRoute, getUniswapQuote, initializePlatform, lendleBorrow, lendleGetPositions, lendleRepay, lendleSupply, lendleWithdraw, merchantMoeSwap, methGetPosition, pikeperpsClosePosition, pikeperpsGetMarketData, pikeperpsGetPositions, pikeperpsOpenLong, pikeperpsOpenShort, sendTransaction, swapFromMeth, swapOn1inch, swapOnOpenOcean, swapOnUniswap, swapToMeth };