mantle-agent-kit-sdk 1.0.4 → 1.1.2

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
@@ -3,6 +3,377 @@ import { Hex, Address, WalletClient, Transport, Chain, PublicActions } from 'vie
3
3
  import { PrivateKeyAccount, Address as Address$1 } from 'viem/accounts';
4
4
  import { Erc7811Actions } from 'viem/experimental';
5
5
 
6
+ declare const PYTH_CONTRACT: {
7
+ readonly mainnet: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729";
8
+ readonly testnet: "0x98046Bd286715D3B0BC227Dd7a956b83D8978603";
9
+ };
10
+ declare const HERMES_ENDPOINT: {
11
+ readonly mainnet: "https://hermes.pyth.network";
12
+ readonly testnet: "https://hermes.pyth.network";
13
+ };
14
+ declare const PYTH_PRICE_FEED_IDS: {
15
+ readonly "BTC/USD": "e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43";
16
+ readonly "ETH/USD": "ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace";
17
+ readonly "SOL/USD": "ef0d8b6fda2ceba41da15d4095d1da392a0d2f8ed0c6c7bc0f4cfac8c280b56d";
18
+ readonly "BNB/USD": "2f95862b045670cd22bee3114c39763a4a08beeb663b145d283c31d7d1101c4f";
19
+ readonly "XRP/USD": "ec5d399846a9209f3fe5881d70aae9268c94339ff9817e8d18ff19fa05eea1c8";
20
+ readonly "ADA/USD": "2a01deaec9e51a579277b34b122399984d0bbf57e2458a7e42fecd2829867a0d";
21
+ readonly "DOGE/USD": "dcef50dd0a4cd2dcc17e45df1676dcb336a11a61c69df7a0299b0150c672d25c";
22
+ readonly "DOT/USD": "ca3eed9b267293f6595901c734c7525ce8ef49adafe8284571c8e17d6c926346";
23
+ readonly "AVAX/USD": "93da3352f9f1d105fdfe4971cfa80e9dd777bfc5d0f683ebb6e1294b92137bb7";
24
+ readonly "MATIC/USD": "5de33440f6b7d0d7d70f0a7b2a6c0e0b8e5d2f7c8a9b0c1d2e3f4a5b6c7d8e9f";
25
+ readonly "LINK/USD": "8ac0c70fff57e9aefdf5edf44b51d62c2d433653cbb2cf5cc06bb115af04d221";
26
+ readonly "ATOM/USD": "b00b60f88b03a6a625a8d1c048c3f66653edf217439cb6a1cbab0c1c5e8c52bd";
27
+ readonly "LTC/USD": "6e3f3fa8253588df9326580180233eb791e03b443a3ba7a1d892e73874e19a54";
28
+ readonly "UNI/USD": "78d185a741d07edb3412b09008b7c5cfb9bbbd7d568bf00ba737b456ba171501";
29
+ readonly "NEAR/USD": "c415de8d2eba7db216527dff4b60e8f3a5311c740dadb233e13e12547e226750";
30
+ readonly "TRX/USD": "67aed5a24fdad045475e7195c98a98aea119c763f272d4523f5bac93a4f33c2b";
31
+ readonly "ARB/USD": "3fa4252848f9f0a1480be62745a4629d9eb1322aebab8a791e344b3b9c1adcf5";
32
+ readonly "OP/USD": "385f64d993f7b77d8182ed5003d97c60aa3361f3cecfe711544d2d59165e9bdf";
33
+ readonly "MNT/USD": "4e3037c822d852d79af3ac80e35eb420ee3b870dca49f9344a38ef4773fb0585";
34
+ readonly "IMX/USD": "941320a8989414a6d2c757c8c6c52b3e7e0b7e4e4c5bb8a3c8e7a0f3e0f0f0f0";
35
+ readonly "STRK/USD": "6a182399ff70ccf3e06024898942028204125a819e519a335ffa4579e66cd870";
36
+ readonly "AAVE/USD": "2b9ab1e972a281585084148ba1389800799bd4be63b957507db1349314e47445";
37
+ readonly "CRV/USD": "a19d04ac696c7a6616d291c7e5d1377cc8be437c327b75adb5dc1bad745fcae8";
38
+ readonly "MKR/USD": "9375299e31c0deb9c6bc378e6329aab44cb48ec655552a70d4b9050346a30378";
39
+ readonly "SNX/USD": "39d020f60982ed892abbcd4a06a276a9f9b7bfbce003204c110b6e488f502da3";
40
+ readonly "COMP/USD": "4a8e42861cabc5ecb50996f92e7cfa2bce3fd0a2423b0c44c9b423fb2bd25478";
41
+ readonly "LDO/USD": "c63e2a7f37a04e5e614c07238bedb25dcc38927e77a90a4b21a7a2e1d7f0d2e3";
42
+ readonly "1INCH/USD": "63f341689d98a12ef60a5cff1d7f85c70a9e17bf1575f0e7c0b2512d48b1c8b3";
43
+ readonly "SUSHI/USD": "26e4f737fde0263a9eea10ae63ac36dcedab2aaf629f1e31a28a28dd0e0d2b0c";
44
+ readonly "YFI/USD": "425f4b198ab2504936886c1e93511bb6720fbcf2045a4f3c0723bb213846022f";
45
+ readonly "BAL/USD": "07ad7b4a7662d19a6bc675f6b467172d2f3947fa653ca97555a9b20236406628";
46
+ readonly "CAKE/USD": "2356af9529a1064d1d2a2e3e4ab6d6e6f6e6f6e6f6e6f6e6f6e6f6e6f6e6f6e6";
47
+ readonly "GMX/USD": "b962539d0fcb272a494d65ea56f94851c2bcf8823935da05bd628916e2e9edbf";
48
+ readonly "PENDLE/USD": "9a4df90b25497f66b1afb012467e316e801ca3d839456db028892fe8c70c8016";
49
+ readonly "JOE/USD": "1e8a156c8a23c1e56f2d9d7f0e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e";
50
+ readonly "USDC/USD": "eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a";
51
+ readonly "USDT/USD": "2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b";
52
+ readonly "DAI/USD": "b0948a5e5313200c632b51bb5ca32f6de0d36e9950a942d19751e833f70dabfd";
53
+ readonly "FRAX/USD": "c3d5d8d6d0c0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0";
54
+ readonly "BUSD/USD": "5bc91f13e412c07599167bae86f07543f076a638962b8d6017ec19dab4a82814";
55
+ readonly "TUSD/USD": "433faaa801ecda2c0bbfa8f4e2d85fd4c310e2c1e5f8f8e6e5f5f5f5f5f5f5f5";
56
+ readonly "LUSD/USD": "d892ae586f4e0fbeee4d64f29ed6e89b1b3e2e2e2e2e2e2e2e2e2e2e2e2e2e2e";
57
+ readonly "WETH/USD": "ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace";
58
+ readonly "WBTC/USD": "c9d8b075a5c69303365ae23633d4e085199bf5c520a3b90fed1322a0342ffc33";
59
+ readonly "stETH/USD": "846ae1bdb6300b817cee5fdee2a6da192775030db5615b94a465f53bd40850b5";
60
+ readonly "cbETH/USD": "15ecddd26d49e1a8f1de9376ebebc03916ede873447c1255d2d5891b92ce5717";
61
+ readonly "rETH/USD": "a0255134973f4fdf2f8f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f";
62
+ readonly "mETH/USD": "4c9c6f9f0cde13fced52dc1927c8c06a91b1a65ab77b9e1ec1c614963ce90dd4";
63
+ readonly "wstETH/USD": "6df640f3b8963d8f8358f791f352b8364513f6ab1cca5ed3f1f7b5448980e784";
64
+ readonly "SHIB/USD": "f0d57deca57b3da2fe63a493f4c25925fdfd8edf834b20f93e1f84dbd1504d4a";
65
+ readonly "PEPE/USD": "d69731a2e74ac1ce884fc3890f7ee324b6deb66147055249568869ed700882e4";
66
+ readonly "FLOKI/USD": "6b1381ce7e874dc5410b197ac8348162c0dd6c0d4c9cd6322c28a6f7f4d1a2d2";
67
+ readonly "BONK/USD": "72b021217ca3fe68922a19aaf990109cb9d84e9ad004b4d2025ad6f529314419";
68
+ readonly "WIF/USD": "4ca4beeca86f0d164160323817a4e42b10010a724c2217c6ee41b54cd4cc61fc";
69
+ readonly "AXS/USD": "b0d8f5e3f3a7c0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0";
70
+ readonly "SAND/USD": "f4040ec3e5b71c241a7e1a9a1e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e";
71
+ readonly "MANA/USD": "2b15e4bded7f5e5d5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a";
72
+ readonly "GALA/USD": "e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3";
73
+ readonly "APE/USD": "15add95022ae13563a11992e727c91bdb6b55bc183d9d747436c80a483d8c864";
74
+ readonly "ENJ/USD": "5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a";
75
+ readonly "FIL/USD": "150ac9b959aee0051e4091f0ef5216d941f590e1c5e7f91cf7635b5c11628c0e";
76
+ readonly "GRT/USD": "4d1f8dae0d96236fb98e8f47571a70f41c8b8f2f6d6c0e0e0e0e0e0e0e0e0e0e";
77
+ readonly "RNDR/USD": "ab7347771135fc733f8f38db462ba085ed3309955f42554a14fa13e855ac0e2f";
78
+ readonly "INJ/USD": "7a5bc1d2b56ad029048cd63964b3ad2776eadf812edc1a43a31406cb54bff592";
79
+ readonly "AR/USD": "8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c";
80
+ readonly "THETA/USD": "4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a";
81
+ readonly "PYTH/USD": "0bbf28e9a841a1cc788f6a361b17ca072d0ea3098a1e5df1c3922d06719579ff";
82
+ readonly "FET/USD": "b49ee9d8ccf9b6e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0";
83
+ readonly "OCEAN/USD": "2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d";
84
+ readonly "TAO/USD": "410f41de235f2dbdf41f1a808c1e15f6a9e7d6a7b8c9d0e1f2a3b4c5d6e7f8a9";
85
+ readonly "FTT/USD": "6c75e52531ec5fd3ef253f6062956a8508a2f03fa0a209fb7dbc0d0f3d6f6f6f";
86
+ readonly "CRO/USD": "b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7";
87
+ readonly "OKB/USD": "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744";
88
+ readonly "EUR/USD": "a995d00bb36a63cef7fd2c287dc105fc8f3d93779f062f09551b0af3e81ec30b";
89
+ readonly "GBP/USD": "84c2dde9633d93d1bcad84e7dc41c9d56578b7ec52fabedc1f335d673df0a7c1";
90
+ readonly "JPY/USD": "ef2c98c804ba503c6a707e38be4dfbb16683775f195b091252bf24693042fd52";
91
+ readonly "AUD/USD": "67a6f93030f4217f2e8f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f";
92
+ readonly "CAD/USD": "9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a";
93
+ readonly "XAU/USD": "765d2ba906dbc32ca17cc11f5310a89e9ee1f6420508c63861f2f8ba4ee34bb2";
94
+ readonly "XAG/USD": "f2fb02c32b055c805e7238d628e5e9dadef274376114eb1f012337cabe93871e";
95
+ readonly "WTI/USD": "c9c8e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9";
96
+ readonly "BRENT/USD": "d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8";
97
+ readonly "AAPL/USD": "49f6b65cb1de6b10eaf75e7c03ca029c306d0357e91b5311b175084a5ad55688";
98
+ readonly "NVDA/USD": "b1073854ed24cbc755dc527418f52b7d271f6cc967bbf8d8129112b18860a593";
99
+ readonly "TSLA/USD": "16dad506d7db8da01c87581c87ca897a012a153557d4d578c3b9c9e1bc0632f1";
100
+ readonly "GOOGL/USD": "b7e3904c08ddd9c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0";
101
+ readonly "AMZN/USD": "c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6";
102
+ readonly "MSFT/USD": "d0ca23c1cc005e004ccf1db5bf76aeb6a49218f43dac3d4b275e92de12ea4b77";
103
+ readonly "META/USD": "a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4";
104
+ readonly "COIN/USD": "9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b";
105
+ readonly "SPY/USD": "19e09bb805456ada3979a7d1cbb4b6d63babc3a0f8e8a9b3c4d5e6f7a8b9c0d1";
106
+ readonly "QQQ/USD": "2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e";
107
+ };
108
+ declare const PYTH_ABI: readonly [{
109
+ readonly inputs: readonly [{
110
+ readonly name: "id";
111
+ readonly type: "bytes32";
112
+ }];
113
+ readonly name: "getPrice";
114
+ readonly outputs: readonly [{
115
+ readonly components: readonly [{
116
+ readonly name: "price";
117
+ readonly type: "int64";
118
+ }, {
119
+ readonly name: "conf";
120
+ readonly type: "uint64";
121
+ }, {
122
+ readonly name: "expo";
123
+ readonly type: "int32";
124
+ }, {
125
+ readonly name: "publishTime";
126
+ readonly type: "uint256";
127
+ }];
128
+ readonly name: "";
129
+ readonly type: "tuple";
130
+ }];
131
+ readonly stateMutability: "view";
132
+ readonly type: "function";
133
+ }, {
134
+ readonly inputs: readonly [{
135
+ readonly name: "id";
136
+ readonly type: "bytes32";
137
+ }];
138
+ readonly name: "getPriceNoOlderThan";
139
+ readonly outputs: readonly [{
140
+ readonly components: readonly [{
141
+ readonly name: "price";
142
+ readonly type: "int64";
143
+ }, {
144
+ readonly name: "conf";
145
+ readonly type: "uint64";
146
+ }, {
147
+ readonly name: "expo";
148
+ readonly type: "int32";
149
+ }, {
150
+ readonly name: "publishTime";
151
+ readonly type: "uint256";
152
+ }];
153
+ readonly name: "";
154
+ readonly type: "tuple";
155
+ }];
156
+ readonly stateMutability: "view";
157
+ readonly type: "function";
158
+ }, {
159
+ readonly inputs: readonly [{
160
+ readonly name: "id";
161
+ readonly type: "bytes32";
162
+ }, {
163
+ readonly name: "age";
164
+ readonly type: "uint256";
165
+ }];
166
+ readonly name: "getPriceNoOlderThan";
167
+ readonly outputs: readonly [{
168
+ readonly components: readonly [{
169
+ readonly name: "price";
170
+ readonly type: "int64";
171
+ }, {
172
+ readonly name: "conf";
173
+ readonly type: "uint64";
174
+ }, {
175
+ readonly name: "expo";
176
+ readonly type: "int32";
177
+ }, {
178
+ readonly name: "publishTime";
179
+ readonly type: "uint256";
180
+ }];
181
+ readonly name: "";
182
+ readonly type: "tuple";
183
+ }];
184
+ readonly stateMutability: "view";
185
+ readonly type: "function";
186
+ }, {
187
+ readonly inputs: readonly [{
188
+ readonly name: "id";
189
+ readonly type: "bytes32";
190
+ }];
191
+ readonly name: "getPriceUnsafe";
192
+ readonly outputs: readonly [{
193
+ readonly components: readonly [{
194
+ readonly name: "price";
195
+ readonly type: "int64";
196
+ }, {
197
+ readonly name: "conf";
198
+ readonly type: "uint64";
199
+ }, {
200
+ readonly name: "expo";
201
+ readonly type: "int32";
202
+ }, {
203
+ readonly name: "publishTime";
204
+ readonly type: "uint256";
205
+ }];
206
+ readonly name: "";
207
+ readonly type: "tuple";
208
+ }];
209
+ readonly stateMutability: "view";
210
+ readonly type: "function";
211
+ }, {
212
+ readonly inputs: readonly [{
213
+ readonly name: "id";
214
+ readonly type: "bytes32";
215
+ }];
216
+ readonly name: "getEmaPrice";
217
+ readonly outputs: readonly [{
218
+ readonly components: readonly [{
219
+ readonly name: "price";
220
+ readonly type: "int64";
221
+ }, {
222
+ readonly name: "conf";
223
+ readonly type: "uint64";
224
+ }, {
225
+ readonly name: "expo";
226
+ readonly type: "int32";
227
+ }, {
228
+ readonly name: "publishTime";
229
+ readonly type: "uint256";
230
+ }];
231
+ readonly name: "";
232
+ readonly type: "tuple";
233
+ }];
234
+ readonly stateMutability: "view";
235
+ readonly type: "function";
236
+ }, {
237
+ readonly inputs: readonly [{
238
+ readonly name: "updateData";
239
+ readonly type: "bytes[]";
240
+ }];
241
+ readonly name: "updatePriceFeeds";
242
+ readonly outputs: readonly [];
243
+ readonly stateMutability: "payable";
244
+ readonly type: "function";
245
+ }, {
246
+ readonly inputs: readonly [{
247
+ readonly name: "updateData";
248
+ readonly type: "bytes[]";
249
+ }];
250
+ readonly name: "getUpdateFee";
251
+ readonly outputs: readonly [{
252
+ readonly name: "feeAmount";
253
+ readonly type: "uint256";
254
+ }];
255
+ readonly stateMutability: "view";
256
+ readonly type: "function";
257
+ }, {
258
+ readonly inputs: readonly [{
259
+ readonly name: "id";
260
+ readonly type: "bytes32";
261
+ }];
262
+ readonly name: "priceFeedExists";
263
+ readonly outputs: readonly [{
264
+ readonly name: "";
265
+ readonly type: "bool";
266
+ }];
267
+ readonly stateMutability: "view";
268
+ readonly type: "function";
269
+ }, {
270
+ readonly inputs: readonly [{
271
+ readonly name: "updateData";
272
+ readonly type: "bytes[]";
273
+ }, {
274
+ readonly name: "priceIds";
275
+ readonly type: "bytes32[]";
276
+ }, {
277
+ readonly name: "minPublishTime";
278
+ readonly type: "uint64";
279
+ }, {
280
+ readonly name: "maxPublishTime";
281
+ readonly type: "uint64";
282
+ }];
283
+ readonly name: "parsePriceFeedUpdates";
284
+ readonly outputs: readonly [{
285
+ readonly components: readonly [{
286
+ readonly name: "id";
287
+ readonly type: "bytes32";
288
+ }, {
289
+ readonly components: readonly [{
290
+ readonly name: "price";
291
+ readonly type: "int64";
292
+ }, {
293
+ readonly name: "conf";
294
+ readonly type: "uint64";
295
+ }, {
296
+ readonly name: "expo";
297
+ readonly type: "int32";
298
+ }, {
299
+ readonly name: "publishTime";
300
+ readonly type: "uint256";
301
+ }];
302
+ readonly name: "price";
303
+ readonly type: "tuple";
304
+ }, {
305
+ readonly components: readonly [{
306
+ readonly name: "price";
307
+ readonly type: "int64";
308
+ }, {
309
+ readonly name: "conf";
310
+ readonly type: "uint64";
311
+ }, {
312
+ readonly name: "expo";
313
+ readonly type: "int32";
314
+ }, {
315
+ readonly name: "publishTime";
316
+ readonly type: "uint256";
317
+ }];
318
+ readonly name: "emaPrice";
319
+ readonly type: "tuple";
320
+ }];
321
+ readonly name: "";
322
+ readonly type: "tuple[]";
323
+ }];
324
+ readonly stateMutability: "payable";
325
+ readonly type: "function";
326
+ }];
327
+ interface PythPriceData {
328
+ price: bigint;
329
+ conf: bigint;
330
+ expo: number;
331
+ publishTime: bigint;
332
+ }
333
+ interface PythPriceResponse {
334
+ priceFeedId: string;
335
+ pair: string;
336
+ price: string;
337
+ confidence: string;
338
+ exponent: number;
339
+ publishTime: number;
340
+ formattedPrice: string;
341
+ }
342
+ interface PythTokenPriceResponse {
343
+ tokenAddress: string;
344
+ tokenSymbol: string;
345
+ pair: string;
346
+ priceFeedId: string;
347
+ priceUsd: string;
348
+ confidence: string;
349
+ exponent: number;
350
+ publishTime: number;
351
+ lastUpdated: string;
352
+ }
353
+ declare const TOKEN_ADDRESS_TO_PRICE_FEED: Record<string, {
354
+ pair: string;
355
+ feedId: string;
356
+ }>;
357
+ declare function isTokenAddress(input: string): boolean;
358
+ declare function resolvePriceFeedInput(input: string): {
359
+ pair: string;
360
+ feedId: string;
361
+ } | null;
362
+
363
+ declare const index$c_HERMES_ENDPOINT: typeof HERMES_ENDPOINT;
364
+ declare const index$c_PYTH_ABI: typeof PYTH_ABI;
365
+ declare const index$c_PYTH_CONTRACT: typeof PYTH_CONTRACT;
366
+ declare const index$c_PYTH_PRICE_FEED_IDS: typeof PYTH_PRICE_FEED_IDS;
367
+ type index$c_PythPriceData = PythPriceData;
368
+ type index$c_PythPriceResponse = PythPriceResponse;
369
+ type index$c_PythTokenPriceResponse = PythTokenPriceResponse;
370
+ declare const index$c_TOKEN_ADDRESS_TO_PRICE_FEED: typeof TOKEN_ADDRESS_TO_PRICE_FEED;
371
+ declare const index$c_isTokenAddress: typeof isTokenAddress;
372
+ declare const index$c_resolvePriceFeedInput: typeof resolvePriceFeedInput;
373
+ declare namespace index$c {
374
+ export { index$c_HERMES_ENDPOINT as HERMES_ENDPOINT, index$c_PYTH_ABI as PYTH_ABI, index$c_PYTH_CONTRACT as PYTH_CONTRACT, index$c_PYTH_PRICE_FEED_IDS as PYTH_PRICE_FEED_IDS, type index$c_PythPriceData as PythPriceData, type index$c_PythPriceResponse as PythPriceResponse, type index$c_PythTokenPriceResponse as PythTokenPriceResponse, index$c_TOKEN_ADDRESS_TO_PRICE_FEED as TOKEN_ADDRESS_TO_PRICE_FEED, index$c_isTokenAddress as isTokenAddress, index$c_resolvePriceFeedInput as resolvePriceFeedInput };
375
+ }
376
+
6
377
  interface OpenPositionResult$1 {
7
378
  positionId: bigint;
8
379
  txHash: Hex;
@@ -201,12 +572,12 @@ declare const FEE_TIERS$1: {
201
572
  };
202
573
  declare const DEFAULT_POOL_FEE: 3000;
203
574
 
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 };
575
+ declare const index$b_DEFAULT_POOL_FEE: typeof DEFAULT_POOL_FEE;
576
+ declare const index$b_FACTORY_ADDRESS: typeof FACTORY_ADDRESS;
577
+ declare const index$b_QUOTER_V2_ADDRESS: typeof QUOTER_V2_ADDRESS;
578
+ declare const index$b_SWAP_ROUTER_ADDRESS: typeof SWAP_ROUTER_ADDRESS;
579
+ declare namespace index$b {
580
+ export { index$b_DEFAULT_POOL_FEE as DEFAULT_POOL_FEE, index$b_FACTORY_ADDRESS as FACTORY_ADDRESS, FEE_TIERS$1 as FEE_TIERS, NATIVE_TOKEN_ADDRESS$3 as NATIVE_TOKEN_ADDRESS, index$b_QUOTER_V2_ADDRESS as QUOTER_V2_ADDRESS, index$b_SWAP_ROUTER_ADDRESS as SWAP_ROUTER_ADDRESS, WMNT_ADDRESS$1 as WMNT_ADDRESS };
210
581
  }
211
582
 
212
583
  interface UniswapQuoteResult {
@@ -453,13 +824,13 @@ declare const METH_ABI: readonly [{
453
824
  readonly type: "function";
454
825
  }];
455
826
 
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 };
827
+ declare const index$a_METH_ABI: typeof METH_ABI;
828
+ declare const index$a_METH_TOKEN: typeof METH_TOKEN;
829
+ declare const index$a_NATIVE_MNT_ADDRESS: typeof NATIVE_MNT_ADDRESS;
830
+ declare const index$a_WETH_TOKEN: typeof WETH_TOKEN;
831
+ declare const index$a_WMNT_TOKEN: typeof WMNT_TOKEN;
832
+ declare namespace index$a {
833
+ export { index$a_METH_ABI as METH_ABI, index$a_METH_TOKEN as METH_TOKEN, index$a_NATIVE_MNT_ADDRESS as NATIVE_MNT_ADDRESS, index$a_WETH_TOKEN as WETH_TOKEN, index$a_WMNT_TOKEN as WMNT_TOKEN };
463
834
  }
464
835
 
465
836
  interface MethPosition {
@@ -563,45 +934,653 @@ interface PikePerpsMarketData {
563
934
  declare function pikeperpsGetMarketData(agent: MNTAgentKit, tokenAddress: Address, limit?: number): Promise<PikePerpsMarketData>;
564
935
 
565
936
  /**
566
- * Platform Configuration & Validation
567
- *
568
- * Validates APP_ID with Mantle platform API
937
+ * Get price data from Pyth Network for a specific price feed
938
+ * @param agent - MNTAgentKit instance
939
+ * @param input - Token address, price feed ID (hex string), or pair name like "ETH/USD"
940
+ * @returns Price data with formatted price
569
941
  */
570
- /** Project configuration from platform */
571
- interface ProjectConfig {
572
- appId: string;
942
+ declare function pythGetPrice(agent: MNTAgentKit, input: string): Promise<PythPriceResponse>;
943
+ /**
944
+ * Get EMA (Exponential Moving Average) price from Pyth
945
+ * @param agent - MNTAgentKit instance
946
+ * @param input - Token address, price feed ID, or pair name
947
+ * @returns EMA price data
948
+ */
949
+ declare function pythGetEmaPrice(agent: MNTAgentKit, input: string): Promise<PythPriceResponse>;
950
+ /**
951
+ * Get price for a token by its contract address
952
+ * @param agent - MNTAgentKit instance
953
+ * @param tokenAddress - Token contract address on Mantle (e.g., "0x09Bc4E0D10C81b3a3766c49F0f98a8aaa7adA8D2" for USDC)
954
+ * @returns Token price details including address, symbol, and USD price
955
+ * @example
956
+ * const price = await pythGetTokenPrice(agent, "0x09Bc4E0D10C81b3a3766c49F0f98a8aaa7adA8D2");
957
+ * // Returns: { tokenAddress: "0x09Bc...", tokenSymbol: "USDC", priceUsd: "1.00", ... }
958
+ */
959
+ declare function pythGetTokenPrice(agent: MNTAgentKit, tokenAddress: string): Promise<PythTokenPriceResponse>;
960
+
961
+ /**
962
+ * Get multiple prices from Pyth in a single call
963
+ * @param agent - MNTAgentKit instance
964
+ * @param inputs - Array of token addresses, pair names, or price feed IDs
965
+ * @returns Array of price responses
966
+ */
967
+ declare function pythGetMultiplePrices(agent: MNTAgentKit, inputs: string[]): Promise<PythPriceResponse[]>;
968
+ /**
969
+ * Get all supported Pyth price feed IDs
970
+ * @returns Object mapping pair names to price feed IDs
971
+ */
972
+ declare function pythGetSupportedPriceFeeds(): Record<string, string>;
973
+ /**
974
+ * Get all supported token addresses that can be used for price lookups
975
+ * @returns Object mapping token addresses to their pair names
976
+ */
977
+ declare function pythGetSupportedTokenAddresses(): Record<string, string>;
978
+ /**
979
+ * Check if a price feed exists on Pyth
980
+ * @param agent - MNTAgentKit instance
981
+ * @param input - Token address, price feed ID, or pair name
982
+ * @returns Boolean indicating if feed exists
983
+ */
984
+ declare function pythPriceFeedExists(agent: MNTAgentKit, input: string): Promise<boolean>;
985
+
986
+ declare const ERC20_ABI: readonly [{
987
+ readonly inputs: readonly [];
988
+ readonly name: "name";
989
+ readonly outputs: readonly [{
990
+ readonly name: "";
991
+ readonly type: "string";
992
+ }];
993
+ readonly stateMutability: "view";
994
+ readonly type: "function";
995
+ }, {
996
+ readonly inputs: readonly [];
997
+ readonly name: "symbol";
998
+ readonly outputs: readonly [{
999
+ readonly name: "";
1000
+ readonly type: "string";
1001
+ }];
1002
+ readonly stateMutability: "view";
1003
+ readonly type: "function";
1004
+ }, {
1005
+ readonly inputs: readonly [];
1006
+ readonly name: "decimals";
1007
+ readonly outputs: readonly [{
1008
+ readonly name: "";
1009
+ readonly type: "uint8";
1010
+ }];
1011
+ readonly stateMutability: "view";
1012
+ readonly type: "function";
1013
+ }, {
1014
+ readonly inputs: readonly [];
1015
+ readonly name: "totalSupply";
1016
+ readonly outputs: readonly [{
1017
+ readonly name: "";
1018
+ readonly type: "uint256";
1019
+ }];
1020
+ readonly stateMutability: "view";
1021
+ readonly type: "function";
1022
+ }, {
1023
+ readonly inputs: readonly [{
1024
+ readonly name: "account";
1025
+ readonly type: "address";
1026
+ }];
1027
+ readonly name: "balanceOf";
1028
+ readonly outputs: readonly [{
1029
+ readonly name: "";
1030
+ readonly type: "uint256";
1031
+ }];
1032
+ readonly stateMutability: "view";
1033
+ readonly type: "function";
1034
+ }, {
1035
+ readonly inputs: readonly [{
1036
+ readonly name: "to";
1037
+ readonly type: "address";
1038
+ }, {
1039
+ readonly name: "amount";
1040
+ readonly type: "uint256";
1041
+ }];
1042
+ readonly name: "transfer";
1043
+ readonly outputs: readonly [{
1044
+ readonly name: "";
1045
+ readonly type: "bool";
1046
+ }];
1047
+ readonly stateMutability: "nonpayable";
1048
+ readonly type: "function";
1049
+ }];
1050
+ type TokenType = "standard" | "rwa";
1051
+ interface TokenConfig {
573
1052
  name: string;
574
- payTo: string;
575
- network: string;
576
- status: string;
1053
+ symbol: string;
1054
+ supply: string;
1055
+ decimals?: number;
1056
+ tokenType?: TokenType;
1057
+ assetType?: string;
1058
+ assetId?: string;
1059
+ }
1060
+ interface TokenDeploymentResult {
1061
+ tokenAddress: string;
1062
+ txHash: string;
1063
+ name: string;
1064
+ symbol: string;
1065
+ decimals: number;
1066
+ totalSupply: string;
1067
+ mintedTo: string;
1068
+ tokenType: TokenType;
1069
+ assetType?: string;
1070
+ assetId?: string;
1071
+ }
1072
+ interface TokenInfo {
1073
+ address: string;
1074
+ name: string;
1075
+ symbol: string;
1076
+ decimals: number;
1077
+ totalSupply: string;
1078
+ balance?: string;
1079
+ }
1080
+
1081
+ declare const index$9_ERC20_ABI: typeof ERC20_ABI;
1082
+ type index$9_TokenConfig = TokenConfig;
1083
+ type index$9_TokenDeploymentResult = TokenDeploymentResult;
1084
+ type index$9_TokenInfo = TokenInfo;
1085
+ type index$9_TokenType = TokenType;
1086
+ declare namespace index$9 {
1087
+ export { index$9_ERC20_ABI as ERC20_ABI, type index$9_TokenConfig as TokenConfig, type index$9_TokenDeploymentResult as TokenDeploymentResult, type index$9_TokenInfo as TokenInfo, type index$9_TokenType as TokenType };
577
1088
  }
1089
+
578
1090
  /**
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
1091
+ * Deploy a new token (ERC20 or RWA) - mints supply to caller's address
1092
+ * @param agent - MNTAgentKit instance
1093
+ * @param name - Token name
1094
+ * @param symbol - Token symbol
1095
+ * @param supply - Total supply (human readable, e.g., "1000000")
1096
+ * @param tokenType - "standard" or "rwa"
1097
+ * @param assetType - For RWA: type of underlying asset
1098
+ * @param assetId - For RWA: external asset identifier
586
1099
  */
587
- declare function initializePlatform(): Promise<ProjectConfig>;
1100
+ declare function deployToken(agent: MNTAgentKit, name: string, symbol: string, supply: string, tokenType?: TokenType, assetType?: string, assetId?: string): Promise<TokenDeploymentResult>;
588
1101
  /**
589
- * Get cached project configuration
590
- *
591
- * @throws Error if platform not initialized
1102
+ * Deploy a standard ERC20 token
592
1103
  */
593
- declare function getProjectConfig(): ProjectConfig;
1104
+ declare function deployStandardToken(agent: MNTAgentKit, name: string, symbol: string, supply: string): Promise<TokenDeploymentResult>;
1105
+ /**
1106
+ * Deploy an RWA (Real World Asset) token
1107
+ * @param agent - MNTAgentKit instance
1108
+ * @param name - Token name (e.g., "Manhattan Property Token")
1109
+ * @param symbol - Token symbol (e.g., "MPT")
1110
+ * @param supply - Total supply representing fractional ownership
1111
+ * @param assetType - Asset category (e.g., "Real Estate", "Commodities", "Securities", "Art")
1112
+ * @param assetId - External reference ID for the underlying asset
1113
+ */
1114
+ declare function deployRWAToken(agent: MNTAgentKit, name: string, symbol: string, supply: string, assetType: string, assetId?: string): Promise<TokenDeploymentResult>;
594
1115
 
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
- *
1116
+ /**
1117
+ * Get token information
1118
+ */
1119
+ declare function getTokenInfo(agent: MNTAgentKit, tokenAddress: Address, holder?: Address): Promise<TokenInfo>;
1120
+ /**
1121
+ * Get token balance
1122
+ */
1123
+ declare function getTokenBalance(agent: MNTAgentKit, tokenAddress: Address, holder?: Address): Promise<string>;
1124
+
1125
+ /**
1126
+ * Transfer tokens
1127
+ */
1128
+ declare function transferToken(agent: MNTAgentKit, tokenAddress: Address, to: Address, amount: string): Promise<Hex>;
1129
+
1130
+ declare const ERC721_ABI: readonly [{
1131
+ readonly inputs: readonly [{
1132
+ readonly name: "name";
1133
+ readonly type: "string";
1134
+ }, {
1135
+ readonly name: "symbol";
1136
+ readonly type: "string";
1137
+ }, {
1138
+ readonly name: "baseURI";
1139
+ readonly type: "string";
1140
+ }, {
1141
+ readonly name: "maxSupply";
1142
+ readonly type: "uint256";
1143
+ }];
1144
+ readonly stateMutability: "nonpayable";
1145
+ readonly type: "constructor";
1146
+ }, {
1147
+ readonly inputs: readonly [];
1148
+ readonly name: "name";
1149
+ readonly outputs: readonly [{
1150
+ readonly name: "";
1151
+ readonly type: "string";
1152
+ }];
1153
+ readonly stateMutability: "view";
1154
+ readonly type: "function";
1155
+ }, {
1156
+ readonly inputs: readonly [];
1157
+ readonly name: "symbol";
1158
+ readonly outputs: readonly [{
1159
+ readonly name: "";
1160
+ readonly type: "string";
1161
+ }];
1162
+ readonly stateMutability: "view";
1163
+ readonly type: "function";
1164
+ }, {
1165
+ readonly inputs: readonly [];
1166
+ readonly name: "totalSupply";
1167
+ readonly outputs: readonly [{
1168
+ readonly name: "";
1169
+ readonly type: "uint256";
1170
+ }];
1171
+ readonly stateMutability: "view";
1172
+ readonly type: "function";
1173
+ }, {
1174
+ readonly inputs: readonly [{
1175
+ readonly name: "tokenId";
1176
+ readonly type: "uint256";
1177
+ }];
1178
+ readonly name: "tokenURI";
1179
+ readonly outputs: readonly [{
1180
+ readonly name: "";
1181
+ readonly type: "string";
1182
+ }];
1183
+ readonly stateMutability: "view";
1184
+ readonly type: "function";
1185
+ }, {
1186
+ readonly inputs: readonly [{
1187
+ readonly name: "tokenId";
1188
+ readonly type: "uint256";
1189
+ }];
1190
+ readonly name: "ownerOf";
1191
+ readonly outputs: readonly [{
1192
+ readonly name: "";
1193
+ readonly type: "address";
1194
+ }];
1195
+ readonly stateMutability: "view";
1196
+ readonly type: "function";
1197
+ }, {
1198
+ readonly inputs: readonly [{
1199
+ readonly name: "owner";
1200
+ readonly type: "address";
1201
+ }];
1202
+ readonly name: "balanceOf";
1203
+ readonly outputs: readonly [{
1204
+ readonly name: "";
1205
+ readonly type: "uint256";
1206
+ }];
1207
+ readonly stateMutability: "view";
1208
+ readonly type: "function";
1209
+ }, {
1210
+ readonly inputs: readonly [{
1211
+ readonly name: "tokenId";
1212
+ readonly type: "uint256";
1213
+ }];
1214
+ readonly name: "getApproved";
1215
+ readonly outputs: readonly [{
1216
+ readonly name: "";
1217
+ readonly type: "address";
1218
+ }];
1219
+ readonly stateMutability: "view";
1220
+ readonly type: "function";
1221
+ }, {
1222
+ readonly inputs: readonly [{
1223
+ readonly name: "owner";
1224
+ readonly type: "address";
1225
+ }, {
1226
+ readonly name: "operator";
1227
+ readonly type: "address";
1228
+ }];
1229
+ readonly name: "isApprovedForAll";
1230
+ readonly outputs: readonly [{
1231
+ readonly name: "";
1232
+ readonly type: "bool";
1233
+ }];
1234
+ readonly stateMutability: "view";
1235
+ readonly type: "function";
1236
+ }, {
1237
+ readonly inputs: readonly [{
1238
+ readonly name: "to";
1239
+ readonly type: "address";
1240
+ }];
1241
+ readonly name: "mint";
1242
+ readonly outputs: readonly [{
1243
+ readonly name: "";
1244
+ readonly type: "uint256";
1245
+ }];
1246
+ readonly stateMutability: "nonpayable";
1247
+ readonly type: "function";
1248
+ }, {
1249
+ readonly inputs: readonly [{
1250
+ readonly name: "to";
1251
+ readonly type: "address";
1252
+ }, {
1253
+ readonly name: "quantity";
1254
+ readonly type: "uint256";
1255
+ }];
1256
+ readonly name: "batchMint";
1257
+ readonly outputs: readonly [{
1258
+ readonly name: "startTokenId";
1259
+ readonly type: "uint256";
1260
+ }];
1261
+ readonly stateMutability: "nonpayable";
1262
+ readonly type: "function";
1263
+ }, {
1264
+ readonly inputs: readonly [{
1265
+ readonly name: "to";
1266
+ readonly type: "address";
1267
+ }, {
1268
+ readonly name: "tokenId";
1269
+ readonly type: "uint256";
1270
+ }];
1271
+ readonly name: "approve";
1272
+ readonly outputs: readonly [];
1273
+ readonly stateMutability: "nonpayable";
1274
+ readonly type: "function";
1275
+ }, {
1276
+ readonly inputs: readonly [{
1277
+ readonly name: "operator";
1278
+ readonly type: "address";
1279
+ }, {
1280
+ readonly name: "approved";
1281
+ readonly type: "bool";
1282
+ }];
1283
+ readonly name: "setApprovalForAll";
1284
+ readonly outputs: readonly [];
1285
+ readonly stateMutability: "nonpayable";
1286
+ readonly type: "function";
1287
+ }, {
1288
+ readonly inputs: readonly [{
1289
+ readonly name: "from";
1290
+ readonly type: "address";
1291
+ }, {
1292
+ readonly name: "to";
1293
+ readonly type: "address";
1294
+ }, {
1295
+ readonly name: "tokenId";
1296
+ readonly type: "uint256";
1297
+ }];
1298
+ readonly name: "transferFrom";
1299
+ readonly outputs: readonly [];
1300
+ readonly stateMutability: "nonpayable";
1301
+ readonly type: "function";
1302
+ }, {
1303
+ readonly inputs: readonly [{
1304
+ readonly name: "from";
1305
+ readonly type: "address";
1306
+ }, {
1307
+ readonly name: "to";
1308
+ readonly type: "address";
1309
+ }, {
1310
+ readonly name: "tokenId";
1311
+ readonly type: "uint256";
1312
+ }];
1313
+ readonly name: "safeTransferFrom";
1314
+ readonly outputs: readonly [];
1315
+ readonly stateMutability: "nonpayable";
1316
+ readonly type: "function";
1317
+ }, {
1318
+ readonly inputs: readonly [{
1319
+ readonly name: "from";
1320
+ readonly type: "address";
1321
+ }, {
1322
+ readonly name: "to";
1323
+ readonly type: "address";
1324
+ }, {
1325
+ readonly name: "tokenId";
1326
+ readonly type: "uint256";
1327
+ }, {
1328
+ readonly name: "data";
1329
+ readonly type: "bytes";
1330
+ }];
1331
+ readonly name: "safeTransferFrom";
1332
+ readonly outputs: readonly [];
1333
+ readonly stateMutability: "nonpayable";
1334
+ readonly type: "function";
1335
+ }, {
1336
+ readonly anonymous: false;
1337
+ readonly inputs: readonly [{
1338
+ readonly indexed: true;
1339
+ readonly name: "from";
1340
+ readonly type: "address";
1341
+ }, {
1342
+ readonly indexed: true;
1343
+ readonly name: "to";
1344
+ readonly type: "address";
1345
+ }, {
1346
+ readonly indexed: true;
1347
+ readonly name: "tokenId";
1348
+ readonly type: "uint256";
1349
+ }];
1350
+ readonly name: "Transfer";
1351
+ readonly type: "event";
1352
+ }, {
1353
+ readonly anonymous: false;
1354
+ readonly inputs: readonly [{
1355
+ readonly indexed: true;
1356
+ readonly name: "owner";
1357
+ readonly type: "address";
1358
+ }, {
1359
+ readonly indexed: true;
1360
+ readonly name: "approved";
1361
+ readonly type: "address";
1362
+ }, {
1363
+ readonly indexed: true;
1364
+ readonly name: "tokenId";
1365
+ readonly type: "uint256";
1366
+ }];
1367
+ readonly name: "Approval";
1368
+ readonly type: "event";
1369
+ }, {
1370
+ readonly anonymous: false;
1371
+ readonly inputs: readonly [{
1372
+ readonly indexed: true;
1373
+ readonly name: "owner";
1374
+ readonly type: "address";
1375
+ }, {
1376
+ readonly indexed: true;
1377
+ readonly name: "operator";
1378
+ readonly type: "address";
1379
+ }, {
1380
+ readonly indexed: false;
1381
+ readonly name: "approved";
1382
+ readonly type: "bool";
1383
+ }];
1384
+ readonly name: "ApprovalForAll";
1385
+ readonly type: "event";
1386
+ }];
1387
+ interface NFTCollectionConfig {
1388
+ name: string;
1389
+ symbol: string;
1390
+ baseURI: string;
1391
+ maxSupply?: number;
1392
+ description?: string;
1393
+ }
1394
+ interface NFTCollectionDeploymentResult {
1395
+ collectionAddress: string;
1396
+ txHash: string;
1397
+ name: string;
1398
+ symbol: string;
1399
+ baseURI: string;
1400
+ maxSupply: number;
1401
+ deployer: string;
1402
+ }
1403
+ interface NFTMintResult {
1404
+ txHash: string;
1405
+ tokenId: string;
1406
+ collectionAddress: string;
1407
+ to: string;
1408
+ }
1409
+ interface NFTCollectionInfo {
1410
+ address: string;
1411
+ name: string;
1412
+ symbol: string;
1413
+ totalSupply: string;
1414
+ balanceOf?: string;
1415
+ }
1416
+ interface NFTTokenInfo {
1417
+ collectionAddress: string;
1418
+ tokenId: string;
1419
+ owner: string;
1420
+ tokenURI: string;
1421
+ }
1422
+
1423
+ declare const index$8_ERC721_ABI: typeof ERC721_ABI;
1424
+ type index$8_NFTCollectionConfig = NFTCollectionConfig;
1425
+ type index$8_NFTCollectionDeploymentResult = NFTCollectionDeploymentResult;
1426
+ type index$8_NFTCollectionInfo = NFTCollectionInfo;
1427
+ type index$8_NFTMintResult = NFTMintResult;
1428
+ type index$8_NFTTokenInfo = NFTTokenInfo;
1429
+ declare namespace index$8 {
1430
+ export { index$8_ERC721_ABI as ERC721_ABI, type index$8_NFTCollectionConfig as NFTCollectionConfig, type index$8_NFTCollectionDeploymentResult as NFTCollectionDeploymentResult, type index$8_NFTCollectionInfo as NFTCollectionInfo, type index$8_NFTMintResult as NFTMintResult, type index$8_NFTTokenInfo as NFTTokenInfo };
1431
+ }
1432
+
1433
+ /**
1434
+ * Deploy a new ERC721 NFT collection on Mantle Network
1435
+ * @param agent - MNTAgentKit instance
1436
+ * @param config - NFT collection configuration
1437
+ * @returns Collection deployment result with contract address
1438
+ */
1439
+ declare function deployNFTCollection(agent: MNTAgentKit, config: NFTCollectionConfig): Promise<NFTCollectionDeploymentResult>;
1440
+ /**
1441
+ * Deploy an NFT collection with preset configurations
1442
+ * @param agent - MNTAgentKit instance
1443
+ * @param preset - Preset type: "pfp" (10000), "art" (1000), "membership" (100)
1444
+ * @param name - Collection name
1445
+ * @param symbol - Collection symbol
1446
+ * @param baseURI - Base URI for metadata
1447
+ * @returns Collection deployment result
1448
+ */
1449
+ declare function deployNFTCollectionWithPreset(agent: MNTAgentKit, preset: "pfp" | "art" | "membership" | "unlimited", name: string, symbol: string, baseURI: string): Promise<NFTCollectionDeploymentResult>;
1450
+
1451
+ /**
1452
+ * Mint a single NFT from a collection
1453
+ * @param agent - MNTAgentKit instance
1454
+ * @param collectionAddress - NFT collection contract address
1455
+ * @param to - Recipient address (defaults to agent address)
1456
+ * @returns Mint result with token ID
1457
+ */
1458
+ declare function mintNFT(agent: MNTAgentKit, collectionAddress: Address, to?: Address): Promise<NFTMintResult>;
1459
+ /**
1460
+ * Batch mint multiple NFTs from a collection
1461
+ * @param agent - MNTAgentKit instance
1462
+ * @param collectionAddress - NFT collection contract address
1463
+ * @param to - Recipient address
1464
+ * @param quantity - Number of NFTs to mint
1465
+ * @returns Mint result with starting token ID
1466
+ */
1467
+ declare function batchMintNFT(agent: MNTAgentKit, collectionAddress: Address, to: Address, quantity: number): Promise<{
1468
+ txHash: Hex;
1469
+ startTokenId: string;
1470
+ quantity: number;
1471
+ }>;
1472
+
1473
+ /**
1474
+ * Get information about an NFT collection
1475
+ * @param agent - MNTAgentKit instance
1476
+ * @param collectionAddress - NFT collection contract address
1477
+ * @param holderAddress - Optional address to get balance for
1478
+ * @returns Collection information
1479
+ */
1480
+ declare function getNFTCollectionInfo(agent: MNTAgentKit, collectionAddress: Address, holderAddress?: Address): Promise<NFTCollectionInfo>;
1481
+ /**
1482
+ * Get information about a specific NFT token
1483
+ * @param agent - MNTAgentKit instance
1484
+ * @param collectionAddress - NFT collection contract address
1485
+ * @param tokenId - Token ID
1486
+ * @returns Token information
1487
+ */
1488
+ declare function getNFTTokenInfo(agent: MNTAgentKit, collectionAddress: Address, tokenId: string): Promise<NFTTokenInfo>;
1489
+ /**
1490
+ * Get NFT balance for an address
1491
+ * @param agent - MNTAgentKit instance
1492
+ * @param collectionAddress - NFT collection contract address
1493
+ * @param holderAddress - Address to check balance for (defaults to agent address)
1494
+ * @returns Balance as string
1495
+ */
1496
+ declare function getNFTBalance(agent: MNTAgentKit, collectionAddress: Address, holderAddress?: Address): Promise<string>;
1497
+ /**
1498
+ * Check if an address owns a specific NFT
1499
+ * @param agent - MNTAgentKit instance
1500
+ * @param collectionAddress - NFT collection contract address
1501
+ * @param tokenId - Token ID to check
1502
+ * @param ownerAddress - Address to verify ownership
1503
+ * @returns Boolean indicating ownership
1504
+ */
1505
+ declare function isNFTOwner(agent: MNTAgentKit, collectionAddress: Address, tokenId: string, ownerAddress?: Address): Promise<boolean>;
1506
+
1507
+ /**
1508
+ * Transfer an NFT to another address
1509
+ * @param agent - MNTAgentKit instance
1510
+ * @param collectionAddress - NFT collection contract address
1511
+ * @param to - Recipient address
1512
+ * @param tokenId - Token ID to transfer
1513
+ * @returns Transaction hash
1514
+ */
1515
+ declare function transferNFT(agent: MNTAgentKit, collectionAddress: Address, to: Address, tokenId: string): Promise<Hex>;
1516
+ /**
1517
+ * Safe transfer an NFT (checks if recipient can receive)
1518
+ * @param agent - MNTAgentKit instance
1519
+ * @param collectionAddress - NFT collection contract address
1520
+ * @param to - Recipient address
1521
+ * @param tokenId - Token ID to transfer
1522
+ * @returns Transaction hash
1523
+ */
1524
+ declare function safeTransferNFT(agent: MNTAgentKit, collectionAddress: Address, to: Address, tokenId: string): Promise<Hex>;
1525
+ /**
1526
+ * Approve an address to transfer a specific NFT
1527
+ * @param agent - MNTAgentKit instance
1528
+ * @param collectionAddress - NFT collection contract address
1529
+ * @param approved - Address to approve
1530
+ * @param tokenId - Token ID to approve
1531
+ * @returns Transaction hash
1532
+ */
1533
+ declare function approveNFT(agent: MNTAgentKit, collectionAddress: Address, approved: Address, tokenId: string): Promise<Hex>;
1534
+ /**
1535
+ * Set approval for all NFTs in a collection
1536
+ * @param agent - MNTAgentKit instance
1537
+ * @param collectionAddress - NFT collection contract address
1538
+ * @param operator - Operator address
1539
+ * @param approved - Whether to approve or revoke
1540
+ * @returns Transaction hash
1541
+ */
1542
+ declare function setApprovalForAllNFT(agent: MNTAgentKit, collectionAddress: Address, operator: Address, approved: boolean): Promise<Hex>;
1543
+
1544
+ /**
1545
+ * Platform Configuration & Validation
1546
+ *
1547
+ * Validates APP_ID with Mantle platform API
1548
+ */
1549
+ /** Project configuration from platform */
1550
+ interface ProjectConfig {
1551
+ appId: string;
1552
+ name: string;
1553
+ payTo: string;
1554
+ network: string;
1555
+ status: string;
1556
+ }
1557
+ /**
1558
+ * Initialize platform validation
1559
+ *
1560
+ * Reads APP_ID from environment and validates with platform API.
1561
+ * Uses singleton pattern - multiple calls return same promise.
1562
+ *
1563
+ * @returns Project configuration from platform
1564
+ * @throws Error if APP_ID is not set or validation fails
1565
+ */
1566
+ declare function initializePlatform(): Promise<ProjectConfig>;
1567
+ /**
1568
+ * Get cached project configuration
1569
+ *
1570
+ * @throws Error if platform not initialized
1571
+ */
1572
+ declare function getProjectConfig(): ProjectConfig;
1573
+
1574
+ declare class MNTAgentKit {
1575
+ account: PrivateKeyAccount;
1576
+ client: WalletClient<Transport, Chain, PrivateKeyAccount> & PublicActions & Erc7811Actions;
1577
+ chain: "testnet" | "mainnet";
1578
+ demo: boolean;
1579
+ projectConfig?: ProjectConfig;
1580
+ constructor(privateKey: Address$1, chain: "mainnet" | "testnet" | "testnet-demo");
1581
+ /**
1582
+ * Initialize the agent with platform validation
1583
+ *
605
1584
  * Validates APP_ID with the platform API.
606
1585
  * Must be called after creating the agent instance.
607
1586
  *
@@ -730,6 +1709,208 @@ declare class MNTAgentKit {
730
1709
  * @returns Market data with price and recent trades
731
1710
  */
732
1711
  pikeperpsGetMarketData(tokenAddress: Address$1, limit?: number): Promise<PikePerpsMarketData>;
1712
+ /**
1713
+ * Get real-time price from Pyth Network
1714
+ * Accepts token address, pair name, or price feed ID
1715
+ * @param input - Token address (e.g., "0x09Bc4E0D10C81b3a3766c49F0f98a8aaa7adA8D2" for USDC),
1716
+ * pair name (e.g., "ETH/USD"), or price feed ID (hex string)
1717
+ * @returns Price data with formatted price
1718
+ * @example
1719
+ * // Using pair name
1720
+ * await agent.pythGetPrice("ETH/USD");
1721
+ * // Using token address (USDC on Mantle)
1722
+ * await agent.pythGetPrice("0x09Bc4E0D10C81b3a3766c49F0f98a8aaa7adA8D2");
1723
+ */
1724
+ pythGetPrice(input: string): Promise<PythPriceResponse>;
1725
+ /**
1726
+ * Get EMA (Exponential Moving Average) price from Pyth
1727
+ * Accepts token address, pair name, or price feed ID
1728
+ * @param input - Token address, pair name, or price feed ID
1729
+ * @returns EMA price data
1730
+ */
1731
+ pythGetEmaPrice(input: string): Promise<PythPriceResponse>;
1732
+ /**
1733
+ * Get price for a token by its contract address
1734
+ * Pass any supported token address and get the USD price with full details
1735
+ * @param tokenAddress - Token contract address on Mantle
1736
+ * @returns Token price details including symbol, USD price, and timestamp
1737
+ * @example
1738
+ * const price = await agent.pythGetTokenPrice("0x09Bc4E0D10C81b3a3766c49F0f98a8aaa7adA8D2");
1739
+ * // Returns: {
1740
+ * // tokenAddress: "0x09Bc4E0D10C81b3a3766c49F0f98a8aaa7adA8D2",
1741
+ * // tokenSymbol: "USDC",
1742
+ * // pair: "USDC/USD",
1743
+ * // priceUsd: "1.00",
1744
+ * // lastUpdated: "2024-01-08T12:00:00.000Z"
1745
+ * // }
1746
+ */
1747
+ pythGetTokenPrice(tokenAddress: string): Promise<PythTokenPriceResponse>;
1748
+ /**
1749
+ * Get multiple prices from Pyth in a single call
1750
+ * Accepts token addresses, pair names, or price feed IDs
1751
+ * @param inputs - Array of token addresses, pair names, or price feed IDs
1752
+ * @returns Array of price responses
1753
+ * @example
1754
+ * await agent.pythGetMultiplePrices([
1755
+ * "ETH/USD", // pair name
1756
+ * "0x09Bc4E0D10C81b3a3766c49F0f98a8aaa7adA8D2", // USDC address
1757
+ * "0xcDA86A272531e8640cD7F1a92c01839911B90bb0", // mETH address
1758
+ * ]);
1759
+ */
1760
+ pythGetMultiplePrices(inputs: string[]): Promise<PythPriceResponse[]>;
1761
+ /**
1762
+ * Get all supported Pyth price feed IDs
1763
+ * @returns Object mapping pair names to price feed IDs
1764
+ */
1765
+ pythGetSupportedPriceFeeds(): Record<string, string>;
1766
+ /**
1767
+ * Get all supported token addresses for Pyth price lookups on Mantle
1768
+ * @returns Object mapping token addresses to their pair names
1769
+ * @example
1770
+ * const addresses = agent.pythGetSupportedTokenAddresses();
1771
+ * // Returns: { "0x09Bc4E0D10C81b3a3766c49F0f98a8aaa7adA8D2": "USDC/USD", ... }
1772
+ */
1773
+ pythGetSupportedTokenAddresses(): Record<string, string>;
1774
+ /**
1775
+ * Check if a price feed exists on Pyth
1776
+ * Accepts token address, pair name, or price feed ID
1777
+ * @param input - Token address, pair name, or price feed ID
1778
+ * @returns Boolean indicating if feed exists
1779
+ */
1780
+ pythPriceFeedExists(input: string): Promise<boolean>;
1781
+ /**
1782
+ * Deploy a new token (ERC20 or RWA) - supply minted to your address
1783
+ * @param name - Token name
1784
+ * @param symbol - Token symbol
1785
+ * @param supply - Total supply (human readable, e.g., "1000000")
1786
+ * @param tokenType - "standard" or "rwa"
1787
+ * @param assetType - For RWA: asset category
1788
+ * @param assetId - For RWA: external asset ID
1789
+ */
1790
+ deployToken(name: string, symbol: string, supply: string, tokenType?: TokenType, assetType?: string, assetId?: string): Promise<TokenDeploymentResult>;
1791
+ /**
1792
+ * Deploy a standard ERC20 token
1793
+ * @param name - Token name
1794
+ * @param symbol - Token symbol
1795
+ * @param supply - Total supply (e.g., "1000000" for 1M tokens)
1796
+ */
1797
+ deployStandardToken(name: string, symbol: string, supply: string): Promise<TokenDeploymentResult>;
1798
+ /**
1799
+ * Deploy an RWA (Real World Asset) token
1800
+ * @param name - Token name (e.g., "Manhattan Property Token")
1801
+ * @param symbol - Token symbol (e.g., "MPT")
1802
+ * @param supply - Total supply for fractional ownership
1803
+ * @param assetType - Asset category: "Real Estate", "Commodities", "Securities", "Art"
1804
+ * @param assetId - External reference ID for the underlying asset
1805
+ */
1806
+ deployRWAToken(name: string, symbol: string, supply: string, assetType: string, assetId?: string): Promise<TokenDeploymentResult>;
1807
+ /**
1808
+ * Get token information
1809
+ */
1810
+ getTokenInfo(tokenAddress: Address$1, holder?: Address$1): Promise<TokenInfo>;
1811
+ /**
1812
+ * Get token balance
1813
+ */
1814
+ getTokenBalance(tokenAddress: Address$1, holder?: Address$1): Promise<string>;
1815
+ /**
1816
+ * Transfer tokens
1817
+ */
1818
+ transferToken(tokenAddress: Address$1, to: Address$1, amount: string): Promise<`0x${string}`>;
1819
+ /**
1820
+ * Deploy a new ERC721 NFT collection on Mantle Network
1821
+ * @param config - Collection configuration (name, symbol, baseURI, maxSupply)
1822
+ * @returns Collection deployment result with contract address
1823
+ */
1824
+ deployNFTCollection(config: NFTCollectionConfig): Promise<NFTCollectionDeploymentResult>;
1825
+ /**
1826
+ * Deploy an NFT collection with preset configurations
1827
+ * @param preset - Preset type: "pfp" (10000), "art" (1000), "membership" (100), "unlimited"
1828
+ * @param name - Collection name
1829
+ * @param symbol - Collection symbol
1830
+ * @param baseURI - Base URI for metadata
1831
+ * @returns Collection deployment result
1832
+ */
1833
+ deployNFTCollectionWithPreset(preset: "pfp" | "art" | "membership" | "unlimited", name: string, symbol: string, baseURI: string): Promise<NFTCollectionDeploymentResult>;
1834
+ /**
1835
+ * Mint a single NFT from a collection
1836
+ * @param collectionAddress - NFT collection contract address
1837
+ * @param to - Recipient address (defaults to agent address)
1838
+ * @returns Mint result with token ID
1839
+ */
1840
+ mintNFT(collectionAddress: Address$1, to?: Address$1): Promise<NFTMintResult>;
1841
+ /**
1842
+ * Batch mint multiple NFTs from a collection
1843
+ * @param collectionAddress - NFT collection contract address
1844
+ * @param to - Recipient address
1845
+ * @param quantity - Number of NFTs to mint
1846
+ * @returns Mint result with starting token ID
1847
+ */
1848
+ batchMintNFT(collectionAddress: Address$1, to: Address$1, quantity: number): Promise<{
1849
+ txHash: viem.Hex;
1850
+ startTokenId: string;
1851
+ quantity: number;
1852
+ }>;
1853
+ /**
1854
+ * Get information about an NFT collection
1855
+ * @param collectionAddress - NFT collection contract address
1856
+ * @param holderAddress - Optional address to get balance for
1857
+ * @returns Collection information
1858
+ */
1859
+ getNFTCollectionInfo(collectionAddress: Address$1, holderAddress?: Address$1): Promise<NFTCollectionInfo>;
1860
+ /**
1861
+ * Get information about a specific NFT token
1862
+ * @param collectionAddress - NFT collection contract address
1863
+ * @param tokenId - Token ID
1864
+ * @returns Token information
1865
+ */
1866
+ getNFTTokenInfo(collectionAddress: Address$1, tokenId: string): Promise<NFTTokenInfo>;
1867
+ /**
1868
+ * Get NFT balance for an address
1869
+ * @param collectionAddress - NFT collection contract address
1870
+ * @param holderAddress - Address to check (defaults to agent address)
1871
+ * @returns Balance as string
1872
+ */
1873
+ getNFTBalance(collectionAddress: Address$1, holderAddress?: Address$1): Promise<string>;
1874
+ /**
1875
+ * Check if an address owns a specific NFT
1876
+ * @param collectionAddress - NFT collection contract address
1877
+ * @param tokenId - Token ID to check
1878
+ * @param ownerAddress - Address to verify ownership
1879
+ * @returns Boolean indicating ownership
1880
+ */
1881
+ isNFTOwner(collectionAddress: Address$1, tokenId: string, ownerAddress?: Address$1): Promise<boolean>;
1882
+ /**
1883
+ * Transfer an NFT to another address
1884
+ * @param collectionAddress - NFT collection contract address
1885
+ * @param to - Recipient address
1886
+ * @param tokenId - Token ID to transfer
1887
+ * @returns Transaction hash
1888
+ */
1889
+ transferNFT(collectionAddress: Address$1, to: Address$1, tokenId: string): Promise<`0x${string}`>;
1890
+ /**
1891
+ * Safe transfer an NFT (checks if recipient can receive)
1892
+ * @param collectionAddress - NFT collection contract address
1893
+ * @param to - Recipient address
1894
+ * @param tokenId - Token ID to transfer
1895
+ * @returns Transaction hash
1896
+ */
1897
+ safeTransferNFT(collectionAddress: Address$1, to: Address$1, tokenId: string): Promise<`0x${string}`>;
1898
+ /**
1899
+ * Approve an address to transfer a specific NFT
1900
+ * @param collectionAddress - NFT collection contract address
1901
+ * @param approved - Address to approve
1902
+ * @param tokenId - Token ID to approve
1903
+ * @returns Transaction hash
1904
+ */
1905
+ approveNFT(collectionAddress: Address$1, approved: Address$1, tokenId: string): Promise<`0x${string}`>;
1906
+ /**
1907
+ * Set approval for all NFTs in a collection
1908
+ * @param collectionAddress - NFT collection contract address
1909
+ * @param operator - Operator address
1910
+ * @param approved - Whether to approve or revoke
1911
+ * @returns Transaction hash
1912
+ */
1913
+ setApprovalForAllNFT(collectionAddress: Address$1, operator: Address$1, approved: boolean): Promise<`0x${string}`>;
733
1914
  }
734
1915
 
735
1916
  declare const FACTORY: {
@@ -1599,4 +2780,4 @@ interface UserAccountData {
1599
2780
  healthFactor: bigint;
1600
2781
  }
1601
2782
 
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 };
2783
+ export { index$7 as AgniConstants, index$6 as LendleConstants, type LendlePosition, type LendlePositionsResult, METH_TOKEN, MNTAgentKit, index$5 as MerchantMoeConstants, index$a as MethConstants, type MethPosition, type NFTCollectionConfig, type NFTCollectionDeploymentResult, type NFTCollectionInfo, index$8 as NFTLaunchpadConstants, type NFTMintResult, type NFTTokenInfo, index$4 as OKXConstants, index$3 as OneInchConstants, index$2 as OpenOceanConstants, index as PikePerpsConstants, type PikePerpsMarketData, type PikePerpsPosition, type PikePerpsTrade, type ProjectConfig, index$c as PythConstants, type PythPriceData, type PythPriceResponse, index$1 as SquidConstants, type TokenConfig, type TokenDeploymentResult, type TokenInfo, index$9 as TokenLaunchpadConstants, type TokenType, index$b as UniswapConstants, type UserAccountData, agniSwap, approveNFT, approveToken, batchMintNFT, crossChainSwapViaSquid, deployNFTCollection, deployNFTCollectionWithPreset, deployRWAToken, deployStandardToken, deployToken, executeSwap, get1inchQuote, getNFTBalance, getNFTCollectionInfo, getNFTTokenInfo, getOpenOceanQuote, getProjectConfig, getSquidRoute, getTokenBalance, getTokenInfo, getUniswapQuote, initializePlatform, isNFTOwner, lendleBorrow, lendleGetPositions, lendleRepay, lendleSupply, lendleWithdraw, merchantMoeSwap, methGetPosition, mintNFT, pikeperpsClosePosition, pikeperpsGetMarketData, pikeperpsGetPositions, pikeperpsOpenLong, pikeperpsOpenShort, pythGetEmaPrice, pythGetMultiplePrices, pythGetPrice, pythGetSupportedPriceFeeds, pythGetSupportedTokenAddresses, pythGetTokenPrice, pythPriceFeedExists, safeTransferNFT, sendTransaction, setApprovalForAllNFT, swapFromMeth, swapOn1inch, swapOnOpenOcean, swapOnUniswap, swapToMeth, transferNFT, transferToken };