mantle-agent-kit-sdk 1.0.2 → 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.ts CHANGED
@@ -1,6 +1,35 @@
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
+ import { Erc7811Actions } from 'viem/experimental';
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>;
4
33
 
5
34
  interface SquidRoute {
6
35
  route: {
@@ -51,151 +80,7 @@ interface SquidRoute {
51
80
  };
52
81
  }
53
82
 
54
- declare const SWAP_ROUTER_ADDRESS = "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45";
55
- declare const QUOTER_V2_ADDRESS = "0x61fFE014bA17989E743c5F6cB21bF9697530B21e";
56
- declare const FACTORY_ADDRESS = "0x1F98431c8aD98523631AE4a59f267346ea31F984";
57
- declare const WMNT_ADDRESS$1 = "0x78c1b0C915c4FAA5FffA6CAbf0219DA63d7f4cb8";
58
- declare const NATIVE_TOKEN_ADDRESS$3 = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
59
- declare const FEE_TIERS$1: {
60
- readonly LOWEST: 100;
61
- readonly LOW: 500;
62
- readonly MEDIUM: 3000;
63
- readonly HIGH: 10000;
64
- };
65
- declare const DEFAULT_POOL_FEE: 3000;
66
-
67
- declare const index$8_DEFAULT_POOL_FEE: typeof DEFAULT_POOL_FEE;
68
- declare const index$8_FACTORY_ADDRESS: typeof FACTORY_ADDRESS;
69
- declare const index$8_QUOTER_V2_ADDRESS: typeof QUOTER_V2_ADDRESS;
70
- declare const index$8_SWAP_ROUTER_ADDRESS: typeof SWAP_ROUTER_ADDRESS;
71
- declare namespace index$8 {
72
- 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 };
73
- }
74
-
75
- interface UniswapQuoteResult {
76
- amountOut: bigint;
77
- sqrtPriceX96After: bigint;
78
- gasEstimate: bigint;
79
- }
80
-
81
- interface OneInchQuote {
82
- srcToken: {
83
- address: string;
84
- symbol: string;
85
- decimals: number;
86
- };
87
- dstToken: {
88
- address: string;
89
- symbol: string;
90
- decimals: number;
91
- };
92
- srcAmount: string;
93
- dstAmount: string;
94
- gas: number;
95
- }
96
-
97
- interface OpenOceanQuote {
98
- inToken: {
99
- address: string;
100
- decimals: number;
101
- symbol: string;
102
- name: string;
103
- };
104
- outToken: {
105
- address: string;
106
- decimals: number;
107
- symbol: string;
108
- name: string;
109
- };
110
- inAmount: string;
111
- outAmount: string;
112
- estimatedGas: string;
113
- }
114
-
115
- /**
116
- * Platform Configuration & Validation
117
- *
118
- * Validates APP_ID with Mantle platform API
119
- */
120
- /** Project configuration from platform */
121
- interface ProjectConfig {
122
- appId: string;
123
- name: string;
124
- payTo: string;
125
- network: string;
126
- status: string;
127
- }
128
- /**
129
- * Initialize platform validation
130
- *
131
- * Reads APP_ID from environment and validates with platform API.
132
- * Uses singleton pattern - multiple calls return same promise.
133
- *
134
- * @returns Project configuration from platform
135
- * @throws Error if APP_ID is not set or validation fails
136
- */
137
- declare function initializePlatform(): Promise<ProjectConfig>;
138
- /**
139
- * Get cached project configuration
140
- *
141
- * @throws Error if platform not initialized
142
- */
143
- declare function getProjectConfig(): ProjectConfig;
144
-
145
- declare class MNTAgentKit {
146
- account: PrivateKeyAccount;
147
- client: WalletClient<Transport, Chain, PrivateKeyAccount> & PublicActions;
148
- chain: "testnet" | "mainnet";
149
- projectConfig?: ProjectConfig;
150
- constructor(privateKey: Address, chain: "mainnet" | "testnet");
151
- /**
152
- * Initialize the agent with platform validation
153
- *
154
- * Validates APP_ID with the platform API.
155
- * Must be called after creating the agent instance.
156
- *
157
- * @returns The initialized agent instance
158
- * @throws Error if APP_ID is not set or validation fails
159
- *
160
- * @example
161
- * ```typescript
162
- * const agent = new MNTAgentKit(privateKey, "mainnet");
163
- * await agent.initialize(); // Validates APP_ID
164
- * ```
165
- */
166
- initialize(): Promise<MNTAgentKit>;
167
- sendTransaction(to: Address, amount: string): Promise<viem.TransactionReceipt<bigint, number, "success" | "reverted", viem.TransactionType>>;
168
- getSwapQuote(fromTokenAddress: string, toTokenAddress: string, amount: string, slippagePercentage?: string): Promise<any>;
169
- executeSwap(fromTokenAddress: string, toTokenAddress: string, amount: string, slippagePercentage?: string): Promise<{
170
- data: any;
171
- } | undefined>;
172
- getOpenOceanQuote(fromToken: Address, toToken: Address, amount: string): Promise<OpenOceanQuote>;
173
- swapOnOpenOcean(fromToken: Address, toToken: Address, amount: string, slippage?: number): Promise<{
174
- txHash: string;
175
- outAmount: string;
176
- }>;
177
- get1inchQuote(fromToken: Address, toToken: Address, amount: string): Promise<OneInchQuote>;
178
- swapOn1inch(fromToken: Address, toToken: Address, amount: string, slippage?: number): Promise<{
179
- txHash: string;
180
- dstAmount: string;
181
- }>;
182
- getUniswapQuote(fromToken: Address, toToken: Address, amount: string): Promise<UniswapQuoteResult>;
183
- swapOnUniswap(fromToken: Address, toToken: Address, amount: string, slippage?: number): Promise<{
184
- txHash: string;
185
- amountOut: string;
186
- }>;
187
- lendleSupply(tokenAddress: Address, amount: string): Promise<`0x${string}`>;
188
- lendleWithdraw(tokenAddress: Address, amount: string, to?: Address): Promise<`0x${string}`>;
189
- lendleBorrow(tokenAddress: Address, amount: string, interestRateMode?: 1 | 2, onBehalfOf?: Address): Promise<`0x${string}`>;
190
- lendleRepay(tokenAddress: Address, amount: string, rateMode?: 1 | 2, onBehalfOf?: Address): Promise<`0x${string}`>;
191
- agniSwap(tokenIn: Address, tokenOut: Address, amountIn: string, slippagePercent?: number, feeTier?: number): Promise<`0x${string}`>;
192
- merchantMoeSwap(tokenIn: Address, tokenOut: Address, amountIn: string, slippagePercent?: number): Promise<`0x${string}`>;
193
- getMethTokenAddress(): "0x0000000000000000000000000000000000000000" | "0xcDA86A272531e8640cD7F1a92c01839911B90bb0";
194
- getSquidRoute(fromToken: Address, toToken: Address, fromChain: number, toChain: number, amount: string, slippage?: number): Promise<SquidRoute>;
195
- crossChainSwapViaSquid(fromToken: Address, toToken: Address, fromChain: number, toChain: number, amount: string, slippage?: number): Promise<`0x${string}`>;
196
- }
197
-
198
- declare const sendTransaction: (agent: MNTAgentKit, to: Address$1, amount: string) => 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>>;
199
84
 
200
85
  /**
201
86
  * Check allowance and get approve tx data if needed
@@ -221,6 +106,24 @@ declare function executeSwap(agent: MNTAgentKit, fromTokenAddress: string, toTok
221
106
  data: any;
222
107
  }>;
223
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
+
224
127
  /**
225
128
  * Get swap quote from OpenOcean
226
129
  * @param agent - MNTAgentKit instance
@@ -245,6 +148,22 @@ declare function swapOnOpenOcean(agent: MNTAgentKit, fromToken: string, toToken:
245
148
  outAmount: string;
246
149
  }>;
247
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
+
248
167
  /**
249
168
  * Get swap quote from 1inch
250
169
  * @param agent - MNTAgentKit instance
@@ -269,6 +188,33 @@ declare function swapOn1inch(agent: MNTAgentKit, fromToken: string, toToken: str
269
188
  dstAmount: string;
270
189
  }>;
271
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
+
272
218
  /**
273
219
  * Get swap quote from Uniswap V3
274
220
  * @param agent - MNTAgentKit instance
@@ -306,7 +252,7 @@ declare function swapOnUniswap(agent: MNTAgentKit, fromToken: string, toToken: s
306
252
  * @param slippage - Slippage tolerance percentage (default: 1%)
307
253
  * @returns Transaction hash
308
254
  */
309
- 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>;
310
256
  /**
311
257
  * Get cross-chain swap route from Squid Router
312
258
  * @param agent - MNTAgentKit instance
@@ -318,7 +264,21 @@ declare function crossChainSwapViaSquid(agent: MNTAgentKit, fromToken: Address$1
318
264
  * @param slippage - Slippage tolerance percentage (default: 1%)
319
265
  * @returns Route data including estimated output and fees
320
266
  */
321
- declare function getSquidRoute(agent: MNTAgentKit, fromToken: Address$1, toToken: Address$1, fromChain: number, toChain: number, amount: string, slippage?: number): Promise<SquidRoute>;
267
+ declare function getSquidRoute(agent: MNTAgentKit, fromToken: Address, toToken: Address, fromChain: number, toChain: number, amount: string, slippage?: number): Promise<{
268
+ route: {
269
+ estimate: {
270
+ toAmount: string;
271
+ };
272
+ transactionRequest: {
273
+ targetAddress: string;
274
+ data: string;
275
+ value: string;
276
+ gasLimit: string;
277
+ };
278
+ };
279
+ demo: boolean;
280
+ message: string;
281
+ } | SquidRoute>;
322
282
 
323
283
  /**
324
284
  * Supply (deposit) tokens to Lendle Protocol
@@ -327,7 +287,7 @@ declare function getSquidRoute(agent: MNTAgentKit, fromToken: Address$1, toToken
327
287
  * @param amount - Amount to supply (in smallest units)
328
288
  * @returns Transaction hash
329
289
  */
330
- declare function lendleSupply(agent: MNTAgentKit, tokenAddress: Address$1, amount: string): Promise<Hex>;
290
+ declare function lendleSupply(agent: MNTAgentKit, tokenAddress: Address, amount: string): Promise<Hex>;
331
291
 
332
292
  /**
333
293
  * Withdraw tokens from Lendle Protocol
@@ -337,7 +297,7 @@ declare function lendleSupply(agent: MNTAgentKit, tokenAddress: Address$1, amoun
337
297
  * @param to - Address to receive withdrawn tokens (optional, defaults to agent address)
338
298
  * @returns Transaction hash
339
299
  */
340
- 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>;
341
301
 
342
302
  /**
343
303
  * Borrow tokens from Lendle Protocol
@@ -348,7 +308,7 @@ declare function lendleWithdraw(agent: MNTAgentKit, tokenAddress: Address$1, amo
348
308
  * @param onBehalfOf - Address to receive borrowed tokens (optional, defaults to agent address)
349
309
  * @returns Transaction hash
350
310
  */
351
- 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>;
352
312
 
353
313
  /**
354
314
  * Repay borrowed tokens to Lendle Protocol
@@ -359,7 +319,32 @@ declare function lendleBorrow(agent: MNTAgentKit, tokenAddress: Address$1, amoun
359
319
  * @param onBehalfOf - Address whose debt to repay (optional, defaults to agent address)
360
320
  * @returns Transaction hash
361
321
  */
362
- 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>;
363
348
 
364
349
  /**
365
350
  * Swap tokens on Agni Finance DEX
@@ -371,7 +356,7 @@ declare function lendleRepay(agent: MNTAgentKit, tokenAddress: Address$1, amount
371
356
  * @param feeTier - Pool fee tier (default: MEDIUM = 0.3%)
372
357
  * @returns Transaction hash
373
358
  */
374
- 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>;
375
360
 
376
361
  /**
377
362
  * Swap tokens on Merchant Moe DEX
@@ -382,82 +367,435 @@ declare function agniSwap(agent: MNTAgentKit, tokenIn: Address$1, tokenOut: Addr
382
367
  * @param slippagePercent - Slippage tolerance (default: 0.5%)
383
368
  * @returns Transaction hash
384
369
  */
385
- 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>;
386
371
 
387
372
  declare const METH_TOKEN: {
388
373
  readonly mainnet: "0xcDA86A272531e8640cD7F1a92c01839911B90bb0";
389
374
  readonly testnet: "0x0000000000000000000000000000000000000000";
390
375
  };
391
-
392
- declare const index$7_METH_TOKEN: typeof METH_TOKEN;
393
- declare namespace index$7 {
394
- export { index$7_METH_TOKEN as METH_TOKEN };
395
- }
396
-
397
- declare const FACTORY: {
398
- readonly mainnet: "0x25780dc8Fc3cfBD75F33bFDAB65e969b603b2035";
399
- readonly testnet: "0x0000000000000000000000000000000000000000";
400
- };
401
- declare const SWAP_ROUTER: {
402
- readonly mainnet: "0x319B69888b0d11cEC22caA5034e25FfFBDc88421";
403
- readonly testnet: "0x0000000000000000000000000000000000000000";
376
+ declare const WETH_TOKEN: {
377
+ readonly mainnet: "0xdEAddEaDdeadDEadDEADDEAddEADDEAddead1111";
378
+ readonly testnet: "0xdEAddEaDdeadDEadDEADDEAddEADDEAddead1111";
404
379
  };
405
- declare const POSITION_MANAGER: {
406
- readonly mainnet: "0x218bf598d1453383e2f4aa7b14ffb9bfb102d637";
407
- readonly testnet: "0x0000000000000000000000000000000000000000";
380
+ declare const WMNT_TOKEN: {
381
+ readonly mainnet: "0x78c1b0C915c4FAA5FffA6CAbf0219DA63d7f4cb8";
382
+ readonly testnet: "0x78c1b0C915c4FAA5FffA6CAbf0219DA63d7f4cb8";
408
383
  };
409
- declare const SWAP_ROUTER_ABI: readonly [{
384
+ declare const NATIVE_MNT_ADDRESS: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
385
+ declare const METH_ABI: readonly [{
410
386
  readonly inputs: readonly [{
411
- readonly components: readonly [{
412
- readonly name: "tokenIn";
413
- readonly type: "address";
414
- }, {
415
- readonly name: "tokenOut";
416
- readonly type: "address";
417
- }, {
418
- readonly name: "fee";
419
- readonly type: "uint24";
420
- }, {
421
- readonly name: "recipient";
422
- readonly type: "address";
423
- }, {
424
- readonly name: "deadline";
425
- readonly type: "uint256";
426
- }, {
427
- readonly name: "amountIn";
428
- readonly type: "uint256";
429
- }, {
430
- readonly name: "amountOutMinimum";
431
- readonly type: "uint256";
432
- }, {
433
- readonly name: "sqrtPriceLimitX96";
434
- readonly type: "uint160";
435
- }];
436
- readonly name: "params";
437
- readonly type: "tuple";
387
+ readonly name: "account";
388
+ readonly type: "address";
438
389
  }];
439
- readonly name: "exactInputSingle";
390
+ readonly name: "balanceOf";
440
391
  readonly outputs: readonly [{
441
- readonly name: "amountOut";
392
+ readonly name: "";
442
393
  readonly type: "uint256";
443
394
  }];
444
- readonly stateMutability: "payable";
395
+ readonly stateMutability: "view";
445
396
  readonly type: "function";
446
- }];
447
- declare const FEE_TIERS: {
448
- readonly LOWEST: 100;
449
- readonly LOW: 500;
450
- readonly MEDIUM: 3000;
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";
783
+ readonly type: "function";
784
+ }];
785
+ declare const FEE_TIERS: {
786
+ readonly LOWEST: 100;
787
+ readonly LOW: 500;
788
+ readonly MEDIUM: 3000;
451
789
  readonly HIGH: 10000;
452
790
  };
453
791
 
454
- declare const index$6_FACTORY: typeof FACTORY;
455
- declare const index$6_FEE_TIERS: typeof FEE_TIERS;
456
- declare const index$6_POSITION_MANAGER: typeof POSITION_MANAGER;
457
- declare const index$6_SWAP_ROUTER: typeof SWAP_ROUTER;
458
- declare const index$6_SWAP_ROUTER_ABI: typeof SWAP_ROUTER_ABI;
459
- declare namespace index$6 {
460
- 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 };
461
799
  }
462
800
 
463
801
  declare const LENDING_POOL: {
@@ -636,16 +974,111 @@ declare const LENDING_POOL_ABI: readonly [{
636
974
  readonly stateMutability: "view";
637
975
  readonly type: "function";
638
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
+ };
639
1070
 
640
- declare const index$5_INTEREST_RATE_MODE: typeof INTEREST_RATE_MODE;
641
- declare const index$5_LENDING_POOL: typeof LENDING_POOL;
642
- declare const index$5_LENDING_POOL_ABI: typeof LENDING_POOL_ABI;
643
- declare const index$5_LENDING_POOL_ADDRESSES_PROVIDER: typeof LENDING_POOL_ADDRESSES_PROVIDER;
644
- declare const index$5_ORACLE: typeof ORACLE;
645
- declare const index$5_PROTOCOL_DATA_PROVIDER: typeof PROTOCOL_DATA_PROVIDER;
646
- declare const index$5_WMNT_ADDRESS: typeof WMNT_ADDRESS;
647
- declare namespace index$5 {
648
- 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 };
649
1082
  }
650
1083
 
651
1084
  declare const LB_ROUTER: {
@@ -687,13 +1120,13 @@ declare const LB_ROUTER_ABI: readonly [{
687
1120
  readonly type: "function";
688
1121
  }];
689
1122
 
690
- declare const index$4_LB_FACTORY: typeof LB_FACTORY;
691
- declare const index$4_LB_QUOTER: typeof LB_QUOTER;
692
- declare const index$4_LB_ROUTER: typeof LB_ROUTER;
693
- declare const index$4_LB_ROUTER_ABI: typeof LB_ROUTER_ABI;
694
- declare const index$4_MOE_TOKEN: typeof MOE_TOKEN;
695
- declare namespace index$4 {
696
- 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 };
697
1130
  }
698
1131
 
699
1132
  declare const configs$1: {
@@ -705,10 +1138,10 @@ declare const configs$1: {
705
1138
  declare const baseUrl: string;
706
1139
  declare const ETH_ADDRESS = "0xdeaddeaddeaddeaddeaddeaddeaddeaddead0000";
707
1140
 
708
- declare const index$3_ETH_ADDRESS: typeof ETH_ADDRESS;
709
- declare const index$3_baseUrl: typeof baseUrl;
710
- declare namespace index$3 {
711
- 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 };
712
1145
  }
713
1146
 
714
1147
  declare const ONEINCH_BASE_URL = "https://api.1inch.dev/swap/v6.0";
@@ -722,12 +1155,12 @@ declare const configs: {
722
1155
  apiKey: string | undefined;
723
1156
  };
724
1157
 
725
- declare const index$2_ONEINCH_BASE_URL: typeof ONEINCH_BASE_URL;
726
- declare const index$2_ONEINCH_CHAIN_ID: typeof ONEINCH_CHAIN_ID;
727
- declare const index$2_ONEINCH_ROUTER_ADDRESS: typeof ONEINCH_ROUTER_ADDRESS;
728
- declare const index$2_configs: typeof configs;
729
- declare namespace index$2 {
730
- 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 };
731
1164
  }
732
1165
 
733
1166
  declare const OPENOCEAN_BASE_URL = "https://open-api.openocean.finance/v4";
@@ -738,11 +1171,11 @@ declare const OPENOCEAN_CHAIN: {
738
1171
  declare const NATIVE_TOKEN_ADDRESS$1 = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
739
1172
  declare const OPENOCEAN_EXCHANGE_PROXY = "0x6352a56caadC4F1E25CD6c75970Fa768A3304e64";
740
1173
 
741
- declare const index$1_OPENOCEAN_BASE_URL: typeof OPENOCEAN_BASE_URL;
742
- declare const index$1_OPENOCEAN_CHAIN: typeof OPENOCEAN_CHAIN;
743
- declare const index$1_OPENOCEAN_EXCHANGE_PROXY: typeof OPENOCEAN_EXCHANGE_PROXY;
744
- declare namespace index$1 {
745
- 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 };
746
1179
  }
747
1180
 
748
1181
  declare const SQUID_BASE_URL = "https://api.squidrouter.com/v2";
@@ -762,12 +1195,399 @@ declare const DESTINATION_CHAINS: {
762
1195
  };
763
1196
  declare const NATIVE_TOKEN_ADDRESS = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
764
1197
 
765
- declare const index_DESTINATION_CHAINS: typeof DESTINATION_CHAINS;
766
- declare const index_NATIVE_TOKEN_ADDRESS: typeof NATIVE_TOKEN_ADDRESS;
767
- declare const index_SQUID_BASE_URL: typeof SQUID_BASE_URL;
768
- 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;
769
1589
  declare namespace index {
770
- 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 };
771
1591
  }
772
1592
 
773
1593
  interface UserAccountData {
@@ -779,4 +1599,4 @@ interface UserAccountData {
779
1599
  healthFactor: bigint;
780
1600
  }
781
1601
 
782
- 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 };