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/README.md +192 -87
- package/dist/index.cjs +978 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1051 -261
- package/dist/index.d.ts +1051 -261
- package/dist/index.js +970 -5
- package/dist/index.js.map +1 -1
- package/package.json +6 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,36 @@
|
|
|
1
1
|
import * as viem from 'viem';
|
|
2
|
-
import { WalletClient, Transport, Chain, PublicActions
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
423
|
-
|
|
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
|
|
436
|
-
readonly mainnet: "
|
|
437
|
-
readonly testnet: "
|
|
380
|
+
declare const WMNT_TOKEN: {
|
|
381
|
+
readonly mainnet: "0x78c1b0C915c4FAA5FffA6CAbf0219DA63d7f4cb8";
|
|
382
|
+
readonly testnet: "0x78c1b0C915c4FAA5FffA6CAbf0219DA63d7f4cb8";
|
|
438
383
|
};
|
|
439
|
-
declare const
|
|
384
|
+
declare const NATIVE_MNT_ADDRESS: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
|
|
385
|
+
declare const METH_ABI: readonly [{
|
|
440
386
|
readonly inputs: readonly [{
|
|
441
|
-
readonly
|
|
442
|
-
|
|
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: "
|
|
390
|
+
readonly name: "balanceOf";
|
|
470
391
|
readonly outputs: readonly [{
|
|
471
|
-
readonly name: "
|
|
392
|
+
readonly name: "";
|
|
472
393
|
readonly type: "uint256";
|
|
473
394
|
}];
|
|
474
|
-
readonly stateMutability: "
|
|
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$
|
|
485
|
-
declare const index$
|
|
486
|
-
declare const index$
|
|
487
|
-
declare const index$
|
|
488
|
-
declare const index$
|
|
489
|
-
declare namespace index$
|
|
490
|
-
export { index$
|
|
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$
|
|
671
|
-
declare const index$
|
|
672
|
-
declare const index$
|
|
673
|
-
declare const index$
|
|
674
|
-
declare const index$
|
|
675
|
-
declare const index$
|
|
676
|
-
declare const index$
|
|
677
|
-
declare
|
|
678
|
-
|
|
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$
|
|
721
|
-
declare const index$
|
|
722
|
-
declare const index$
|
|
723
|
-
declare const index$
|
|
724
|
-
declare const index$
|
|
725
|
-
declare namespace index$
|
|
726
|
-
export { index$
|
|
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$
|
|
739
|
-
declare const index$
|
|
740
|
-
declare namespace index$
|
|
741
|
-
export { index$
|
|
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$
|
|
756
|
-
declare const index$
|
|
757
|
-
declare const index$
|
|
758
|
-
declare const index$
|
|
759
|
-
declare namespace index$
|
|
760
|
-
export { NATIVE_TOKEN_ADDRESS$2 as NATIVE_TOKEN_ADDRESS, index$
|
|
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$
|
|
772
|
-
declare const index$
|
|
773
|
-
declare const index$
|
|
774
|
-
declare namespace index$
|
|
775
|
-
export { NATIVE_TOKEN_ADDRESS$1 as NATIVE_TOKEN_ADDRESS, index$
|
|
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
|
|
796
|
-
declare const
|
|
797
|
-
declare const
|
|
798
|
-
declare const
|
|
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 {
|
|
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$
|
|
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 };
|