mantle-agent-kit-sdk 1.0.4 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -201,12 +201,12 @@ declare const FEE_TIERS$1: {
201
201
  };
202
202
  declare const DEFAULT_POOL_FEE: 3000;
203
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 };
204
+ declare const index$c_DEFAULT_POOL_FEE: typeof DEFAULT_POOL_FEE;
205
+ declare const index$c_FACTORY_ADDRESS: typeof FACTORY_ADDRESS;
206
+ declare const index$c_QUOTER_V2_ADDRESS: typeof QUOTER_V2_ADDRESS;
207
+ declare const index$c_SWAP_ROUTER_ADDRESS: typeof SWAP_ROUTER_ADDRESS;
208
+ declare namespace index$c {
209
+ export { index$c_DEFAULT_POOL_FEE as DEFAULT_POOL_FEE, index$c_FACTORY_ADDRESS as FACTORY_ADDRESS, FEE_TIERS$1 as FEE_TIERS, NATIVE_TOKEN_ADDRESS$3 as NATIVE_TOKEN_ADDRESS, index$c_QUOTER_V2_ADDRESS as QUOTER_V2_ADDRESS, index$c_SWAP_ROUTER_ADDRESS as SWAP_ROUTER_ADDRESS, WMNT_ADDRESS$1 as WMNT_ADDRESS };
210
210
  }
211
211
 
212
212
  interface UniswapQuoteResult {
@@ -453,13 +453,13 @@ declare const METH_ABI: readonly [{
453
453
  readonly type: "function";
454
454
  }];
455
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 };
456
+ declare const index$b_METH_ABI: typeof METH_ABI;
457
+ declare const index$b_METH_TOKEN: typeof METH_TOKEN;
458
+ declare const index$b_NATIVE_MNT_ADDRESS: typeof NATIVE_MNT_ADDRESS;
459
+ declare const index$b_WETH_TOKEN: typeof WETH_TOKEN;
460
+ declare const index$b_WMNT_TOKEN: typeof WMNT_TOKEN;
461
+ declare namespace index$b {
462
+ export { index$b_METH_ABI as METH_ABI, index$b_METH_TOKEN as METH_TOKEN, index$b_NATIVE_MNT_ADDRESS as NATIVE_MNT_ADDRESS, index$b_WETH_TOKEN as WETH_TOKEN, index$b_WMNT_TOKEN as WMNT_TOKEN };
463
463
  }
464
464
 
465
465
  interface MethPosition {
@@ -562,53 +562,993 @@ interface PikePerpsMarketData {
562
562
  */
563
563
  declare function pikeperpsGetMarketData(agent: MNTAgentKit, tokenAddress: Address, limit?: number): Promise<PikePerpsMarketData>;
564
564
 
565
+ declare const PYTH_CONTRACT: {
566
+ readonly mainnet: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729";
567
+ readonly testnet: "0x98046Bd286715D3B0BC227Dd7a956b83D8978603";
568
+ };
569
+ declare const HERMES_ENDPOINT: {
570
+ readonly mainnet: "https://hermes.pyth.network";
571
+ readonly testnet: "https://hermes.pyth.network";
572
+ };
573
+ declare const PYTH_PRICE_FEED_IDS: {
574
+ readonly "BTC/USD": "e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43";
575
+ readonly "ETH/USD": "ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace";
576
+ readonly "SOL/USD": "ef0d8b6fda2ceba41da15d4095d1da392a0d2f8ed0c6c7bc0f4cfac8c280b56d";
577
+ readonly "BNB/USD": "2f95862b045670cd22bee3114c39763a4a08beeb663b145d283c31d7d1101c4f";
578
+ readonly "XRP/USD": "ec5d399846a9209f3fe5881d70aae9268c94339ff9817e8d18ff19fa05eea1c8";
579
+ readonly "ADA/USD": "2a01deaec9e51a579277b34b122399984d0bbf57e2458a7e42fecd2829867a0d";
580
+ readonly "DOGE/USD": "dcef50dd0a4cd2dcc17e45df1676dcb336a11a61c69df7a0299b0150c672d25c";
581
+ readonly "DOT/USD": "ca3eed9b267293f6595901c734c7525ce8ef49adafe8284571c8e17d6c926346";
582
+ readonly "AVAX/USD": "93da3352f9f1d105fdfe4971cfa80e9dd777bfc5d0f683ebb6e1294b92137bb7";
583
+ readonly "MATIC/USD": "5de33440f6b7d0d7d70f0a7b2a6c0e0b8e5d2f7c8a9b0c1d2e3f4a5b6c7d8e9f";
584
+ readonly "LINK/USD": "8ac0c70fff57e9aefdf5edf44b51d62c2d433653cbb2cf5cc06bb115af04d221";
585
+ readonly "ATOM/USD": "b00b60f88b03a6a625a8d1c048c3f66653edf217439cb6a1cbab0c1c5e8c52bd";
586
+ readonly "LTC/USD": "6e3f3fa8253588df9326580180233eb791e03b443a3ba7a1d892e73874e19a54";
587
+ readonly "UNI/USD": "78d185a741d07edb3412b09008b7c5cfb9bbbd7d568bf00ba737b456ba171501";
588
+ readonly "NEAR/USD": "c415de8d2eba7db216527dff4b60e8f3a5311c740dadb233e13e12547e226750";
589
+ readonly "TRX/USD": "67aed5a24fdad045475e7195c98a98aea119c763f272d4523f5bac93a4f33c2b";
590
+ readonly "ARB/USD": "3fa4252848f9f0a1480be62745a4629d9eb1322aebab8a791e344b3b9c1adcf5";
591
+ readonly "OP/USD": "385f64d993f7b77d8182ed5003d97c60aa3361f3cecfe711544d2d59165e9bdf";
592
+ readonly "MNT/USD": "4e3037c822d852d79af3ac80e35eb420ee3b870dca49f9344a38ef4773fb0585";
593
+ readonly "IMX/USD": "941320a8989414a6d2c757c8c6c52b3e7e0b7e4e4c5bb8a3c8e7a0f3e0f0f0f0";
594
+ readonly "STRK/USD": "6a182399ff70ccf3e06024898942028204125a819e519a335ffa4579e66cd870";
595
+ readonly "AAVE/USD": "2b9ab1e972a281585084148ba1389800799bd4be63b957507db1349314e47445";
596
+ readonly "CRV/USD": "a19d04ac696c7a6616d291c7e5d1377cc8be437c327b75adb5dc1bad745fcae8";
597
+ readonly "MKR/USD": "9375299e31c0deb9c6bc378e6329aab44cb48ec655552a70d4b9050346a30378";
598
+ readonly "SNX/USD": "39d020f60982ed892abbcd4a06a276a9f9b7bfbce003204c110b6e488f502da3";
599
+ readonly "COMP/USD": "4a8e42861cabc5ecb50996f92e7cfa2bce3fd0a2423b0c44c9b423fb2bd25478";
600
+ readonly "LDO/USD": "c63e2a7f37a04e5e614c07238bedb25dcc38927e77a90a4b21a7a2e1d7f0d2e3";
601
+ readonly "1INCH/USD": "63f341689d98a12ef60a5cff1d7f85c70a9e17bf1575f0e7c0b2512d48b1c8b3";
602
+ readonly "SUSHI/USD": "26e4f737fde0263a9eea10ae63ac36dcedab2aaf629f1e31a28a28dd0e0d2b0c";
603
+ readonly "YFI/USD": "425f4b198ab2504936886c1e93511bb6720fbcf2045a4f3c0723bb213846022f";
604
+ readonly "BAL/USD": "07ad7b4a7662d19a6bc675f6b467172d2f3947fa653ca97555a9b20236406628";
605
+ readonly "CAKE/USD": "2356af9529a1064d1d2a2e3e4ab6d6e6f6e6f6e6f6e6f6e6f6e6f6e6f6e6f6e6";
606
+ readonly "GMX/USD": "b962539d0fcb272a494d65ea56f94851c2bcf8823935da05bd628916e2e9edbf";
607
+ readonly "PENDLE/USD": "9a4df90b25497f66b1afb012467e316e801ca3d839456db028892fe8c70c8016";
608
+ readonly "JOE/USD": "1e8a156c8a23c1e56f2d9d7f0e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e";
609
+ readonly "USDC/USD": "eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a";
610
+ readonly "USDT/USD": "2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b";
611
+ readonly "DAI/USD": "b0948a5e5313200c632b51bb5ca32f6de0d36e9950a942d19751e833f70dabfd";
612
+ readonly "FRAX/USD": "c3d5d8d6d0c0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0";
613
+ readonly "BUSD/USD": "5bc91f13e412c07599167bae86f07543f076a638962b8d6017ec19dab4a82814";
614
+ readonly "TUSD/USD": "433faaa801ecda2c0bbfa8f4e2d85fd4c310e2c1e5f8f8e6e5f5f5f5f5f5f5f5";
615
+ readonly "LUSD/USD": "d892ae586f4e0fbeee4d64f29ed6e89b1b3e2e2e2e2e2e2e2e2e2e2e2e2e2e2e";
616
+ readonly "WETH/USD": "ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace";
617
+ readonly "WBTC/USD": "c9d8b075a5c69303365ae23633d4e085199bf5c520a3b90fed1322a0342ffc33";
618
+ readonly "stETH/USD": "846ae1bdb6300b817cee5fdee2a6da192775030db5615b94a465f53bd40850b5";
619
+ readonly "cbETH/USD": "15ecddd26d49e1a8f1de9376ebebc03916ede873447c1255d2d5891b92ce5717";
620
+ readonly "rETH/USD": "a0255134973f4fdf2f8f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f";
621
+ readonly "mETH/USD": "4c9c6f9f0cde13fced52dc1927c8c06a91b1a65ab77b9e1ec1c614963ce90dd4";
622
+ readonly "wstETH/USD": "6df640f3b8963d8f8358f791f352b8364513f6ab1cca5ed3f1f7b5448980e784";
623
+ readonly "SHIB/USD": "f0d57deca57b3da2fe63a493f4c25925fdfd8edf834b20f93e1f84dbd1504d4a";
624
+ readonly "PEPE/USD": "d69731a2e74ac1ce884fc3890f7ee324b6deb66147055249568869ed700882e4";
625
+ readonly "FLOKI/USD": "6b1381ce7e874dc5410b197ac8348162c0dd6c0d4c9cd6322c28a6f7f4d1a2d2";
626
+ readonly "BONK/USD": "72b021217ca3fe68922a19aaf990109cb9d84e9ad004b4d2025ad6f529314419";
627
+ readonly "WIF/USD": "4ca4beeca86f0d164160323817a4e42b10010a724c2217c6ee41b54cd4cc61fc";
628
+ readonly "AXS/USD": "b0d8f5e3f3a7c0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0";
629
+ readonly "SAND/USD": "f4040ec3e5b71c241a7e1a9a1e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e";
630
+ readonly "MANA/USD": "2b15e4bded7f5e5d5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a";
631
+ readonly "GALA/USD": "e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3";
632
+ readonly "APE/USD": "15add95022ae13563a11992e727c91bdb6b55bc183d9d747436c80a483d8c864";
633
+ readonly "ENJ/USD": "5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a";
634
+ readonly "FIL/USD": "150ac9b959aee0051e4091f0ef5216d941f590e1c5e7f91cf7635b5c11628c0e";
635
+ readonly "GRT/USD": "4d1f8dae0d96236fb98e8f47571a70f41c8b8f2f6d6c0e0e0e0e0e0e0e0e0e0e";
636
+ readonly "RNDR/USD": "ab7347771135fc733f8f38db462ba085ed3309955f42554a14fa13e855ac0e2f";
637
+ readonly "INJ/USD": "7a5bc1d2b56ad029048cd63964b3ad2776eadf812edc1a43a31406cb54bff592";
638
+ readonly "AR/USD": "8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c";
639
+ readonly "THETA/USD": "4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a";
640
+ readonly "PYTH/USD": "0bbf28e9a841a1cc788f6a361b17ca072d0ea3098a1e5df1c3922d06719579ff";
641
+ readonly "FET/USD": "b49ee9d8ccf9b6e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0";
642
+ readonly "OCEAN/USD": "2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d";
643
+ readonly "TAO/USD": "410f41de235f2dbdf41f1a808c1e15f6a9e7d6a7b8c9d0e1f2a3b4c5d6e7f8a9";
644
+ readonly "FTT/USD": "6c75e52531ec5fd3ef253f6062956a8508a2f03fa0a209fb7dbc0d0f3d6f6f6f";
645
+ readonly "CRO/USD": "b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7";
646
+ readonly "OKB/USD": "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744";
647
+ readonly "EUR/USD": "a995d00bb36a63cef7fd2c287dc105fc8f3d93779f062f09551b0af3e81ec30b";
648
+ readonly "GBP/USD": "84c2dde9633d93d1bcad84e7dc41c9d56578b7ec52fabedc1f335d673df0a7c1";
649
+ readonly "JPY/USD": "ef2c98c804ba503c6a707e38be4dfbb16683775f195b091252bf24693042fd52";
650
+ readonly "AUD/USD": "67a6f93030f4217f2e8f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f";
651
+ readonly "CAD/USD": "9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a";
652
+ readonly "XAU/USD": "765d2ba906dbc32ca17cc11f5310a89e9ee1f6420508c63861f2f8ba4ee34bb2";
653
+ readonly "XAG/USD": "f2fb02c32b055c805e7238d628e5e9dadef274376114eb1f012337cabe93871e";
654
+ readonly "WTI/USD": "c9c8e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9";
655
+ readonly "BRENT/USD": "d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8";
656
+ readonly "AAPL/USD": "49f6b65cb1de6b10eaf75e7c03ca029c306d0357e91b5311b175084a5ad55688";
657
+ readonly "NVDA/USD": "b1073854ed24cbc755dc527418f52b7d271f6cc967bbf8d8129112b18860a593";
658
+ readonly "TSLA/USD": "16dad506d7db8da01c87581c87ca897a012a153557d4d578c3b9c9e1bc0632f1";
659
+ readonly "GOOGL/USD": "b7e3904c08ddd9c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0";
660
+ readonly "AMZN/USD": "c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6";
661
+ readonly "MSFT/USD": "d0ca23c1cc005e004ccf1db5bf76aeb6a49218f43dac3d4b275e92de12ea4b77";
662
+ readonly "META/USD": "a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4";
663
+ readonly "COIN/USD": "9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b";
664
+ readonly "SPY/USD": "19e09bb805456ada3979a7d1cbb4b6d63babc3a0f8e8a9b3c4d5e6f7a8b9c0d1";
665
+ readonly "QQQ/USD": "2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e";
666
+ };
667
+ declare const PYTH_ABI: readonly [{
668
+ readonly inputs: readonly [{
669
+ readonly name: "id";
670
+ readonly type: "bytes32";
671
+ }];
672
+ readonly name: "getPrice";
673
+ readonly outputs: readonly [{
674
+ readonly components: readonly [{
675
+ readonly name: "price";
676
+ readonly type: "int64";
677
+ }, {
678
+ readonly name: "conf";
679
+ readonly type: "uint64";
680
+ }, {
681
+ readonly name: "expo";
682
+ readonly type: "int32";
683
+ }, {
684
+ readonly name: "publishTime";
685
+ readonly type: "uint256";
686
+ }];
687
+ readonly name: "";
688
+ readonly type: "tuple";
689
+ }];
690
+ readonly stateMutability: "view";
691
+ readonly type: "function";
692
+ }, {
693
+ readonly inputs: readonly [{
694
+ readonly name: "id";
695
+ readonly type: "bytes32";
696
+ }];
697
+ readonly name: "getPriceNoOlderThan";
698
+ readonly outputs: readonly [{
699
+ readonly components: readonly [{
700
+ readonly name: "price";
701
+ readonly type: "int64";
702
+ }, {
703
+ readonly name: "conf";
704
+ readonly type: "uint64";
705
+ }, {
706
+ readonly name: "expo";
707
+ readonly type: "int32";
708
+ }, {
709
+ readonly name: "publishTime";
710
+ readonly type: "uint256";
711
+ }];
712
+ readonly name: "";
713
+ readonly type: "tuple";
714
+ }];
715
+ readonly stateMutability: "view";
716
+ readonly type: "function";
717
+ }, {
718
+ readonly inputs: readonly [{
719
+ readonly name: "id";
720
+ readonly type: "bytes32";
721
+ }, {
722
+ readonly name: "age";
723
+ readonly type: "uint256";
724
+ }];
725
+ readonly name: "getPriceNoOlderThan";
726
+ readonly outputs: readonly [{
727
+ readonly components: readonly [{
728
+ readonly name: "price";
729
+ readonly type: "int64";
730
+ }, {
731
+ readonly name: "conf";
732
+ readonly type: "uint64";
733
+ }, {
734
+ readonly name: "expo";
735
+ readonly type: "int32";
736
+ }, {
737
+ readonly name: "publishTime";
738
+ readonly type: "uint256";
739
+ }];
740
+ readonly name: "";
741
+ readonly type: "tuple";
742
+ }];
743
+ readonly stateMutability: "view";
744
+ readonly type: "function";
745
+ }, {
746
+ readonly inputs: readonly [{
747
+ readonly name: "id";
748
+ readonly type: "bytes32";
749
+ }];
750
+ readonly name: "getPriceUnsafe";
751
+ readonly outputs: readonly [{
752
+ readonly components: readonly [{
753
+ readonly name: "price";
754
+ readonly type: "int64";
755
+ }, {
756
+ readonly name: "conf";
757
+ readonly type: "uint64";
758
+ }, {
759
+ readonly name: "expo";
760
+ readonly type: "int32";
761
+ }, {
762
+ readonly name: "publishTime";
763
+ readonly type: "uint256";
764
+ }];
765
+ readonly name: "";
766
+ readonly type: "tuple";
767
+ }];
768
+ readonly stateMutability: "view";
769
+ readonly type: "function";
770
+ }, {
771
+ readonly inputs: readonly [{
772
+ readonly name: "id";
773
+ readonly type: "bytes32";
774
+ }];
775
+ readonly name: "getEmaPrice";
776
+ readonly outputs: readonly [{
777
+ readonly components: readonly [{
778
+ readonly name: "price";
779
+ readonly type: "int64";
780
+ }, {
781
+ readonly name: "conf";
782
+ readonly type: "uint64";
783
+ }, {
784
+ readonly name: "expo";
785
+ readonly type: "int32";
786
+ }, {
787
+ readonly name: "publishTime";
788
+ readonly type: "uint256";
789
+ }];
790
+ readonly name: "";
791
+ readonly type: "tuple";
792
+ }];
793
+ readonly stateMutability: "view";
794
+ readonly type: "function";
795
+ }, {
796
+ readonly inputs: readonly [{
797
+ readonly name: "updateData";
798
+ readonly type: "bytes[]";
799
+ }];
800
+ readonly name: "updatePriceFeeds";
801
+ readonly outputs: readonly [];
802
+ readonly stateMutability: "payable";
803
+ readonly type: "function";
804
+ }, {
805
+ readonly inputs: readonly [{
806
+ readonly name: "updateData";
807
+ readonly type: "bytes[]";
808
+ }];
809
+ readonly name: "getUpdateFee";
810
+ readonly outputs: readonly [{
811
+ readonly name: "feeAmount";
812
+ readonly type: "uint256";
813
+ }];
814
+ readonly stateMutability: "view";
815
+ readonly type: "function";
816
+ }, {
817
+ readonly inputs: readonly [{
818
+ readonly name: "id";
819
+ readonly type: "bytes32";
820
+ }];
821
+ readonly name: "priceFeedExists";
822
+ readonly outputs: readonly [{
823
+ readonly name: "";
824
+ readonly type: "bool";
825
+ }];
826
+ readonly stateMutability: "view";
827
+ readonly type: "function";
828
+ }, {
829
+ readonly inputs: readonly [{
830
+ readonly name: "updateData";
831
+ readonly type: "bytes[]";
832
+ }, {
833
+ readonly name: "priceIds";
834
+ readonly type: "bytes32[]";
835
+ }, {
836
+ readonly name: "minPublishTime";
837
+ readonly type: "uint64";
838
+ }, {
839
+ readonly name: "maxPublishTime";
840
+ readonly type: "uint64";
841
+ }];
842
+ readonly name: "parsePriceFeedUpdates";
843
+ readonly outputs: readonly [{
844
+ readonly components: readonly [{
845
+ readonly name: "id";
846
+ readonly type: "bytes32";
847
+ }, {
848
+ readonly components: readonly [{
849
+ readonly name: "price";
850
+ readonly type: "int64";
851
+ }, {
852
+ readonly name: "conf";
853
+ readonly type: "uint64";
854
+ }, {
855
+ readonly name: "expo";
856
+ readonly type: "int32";
857
+ }, {
858
+ readonly name: "publishTime";
859
+ readonly type: "uint256";
860
+ }];
861
+ readonly name: "price";
862
+ readonly type: "tuple";
863
+ }, {
864
+ readonly components: readonly [{
865
+ readonly name: "price";
866
+ readonly type: "int64";
867
+ }, {
868
+ readonly name: "conf";
869
+ readonly type: "uint64";
870
+ }, {
871
+ readonly name: "expo";
872
+ readonly type: "int32";
873
+ }, {
874
+ readonly name: "publishTime";
875
+ readonly type: "uint256";
876
+ }];
877
+ readonly name: "emaPrice";
878
+ readonly type: "tuple";
879
+ }];
880
+ readonly name: "";
881
+ readonly type: "tuple[]";
882
+ }];
883
+ readonly stateMutability: "payable";
884
+ readonly type: "function";
885
+ }];
886
+ interface PythPriceData {
887
+ price: bigint;
888
+ conf: bigint;
889
+ expo: number;
890
+ publishTime: bigint;
891
+ }
892
+ interface PythPriceResponse {
893
+ priceFeedId: string;
894
+ pair: string;
895
+ price: string;
896
+ confidence: string;
897
+ exponent: number;
898
+ publishTime: number;
899
+ formattedPrice: string;
900
+ }
901
+
902
+ declare const index$a_HERMES_ENDPOINT: typeof HERMES_ENDPOINT;
903
+ declare const index$a_PYTH_ABI: typeof PYTH_ABI;
904
+ declare const index$a_PYTH_CONTRACT: typeof PYTH_CONTRACT;
905
+ declare const index$a_PYTH_PRICE_FEED_IDS: typeof PYTH_PRICE_FEED_IDS;
906
+ type index$a_PythPriceData = PythPriceData;
907
+ type index$a_PythPriceResponse = PythPriceResponse;
908
+ declare namespace index$a {
909
+ export { index$a_HERMES_ENDPOINT as HERMES_ENDPOINT, index$a_PYTH_ABI as PYTH_ABI, index$a_PYTH_CONTRACT as PYTH_CONTRACT, index$a_PYTH_PRICE_FEED_IDS as PYTH_PRICE_FEED_IDS, type index$a_PythPriceData as PythPriceData, type index$a_PythPriceResponse as PythPriceResponse };
910
+ }
911
+
565
912
  /**
566
- * Platform Configuration & Validation
567
- *
568
- * Validates APP_ID with Mantle platform API
913
+ * Get price data from Pyth Network for a specific price feed
914
+ * @param agent - MNTAgentKit instance
915
+ * @param priceFeedIdOrPair - Either a price feed ID (hex string) or a pair name like "ETH/USD"
916
+ * @returns Price data with formatted price
569
917
  */
570
- /** Project configuration from platform */
571
- interface ProjectConfig {
572
- appId: string;
918
+ declare function pythGetPrice(agent: MNTAgentKit, priceFeedIdOrPair: string): Promise<PythPriceResponse>;
919
+ /**
920
+ * Get EMA (Exponential Moving Average) price from Pyth
921
+ * @param agent - MNTAgentKit instance
922
+ * @param priceFeedIdOrPair - Either a price feed ID or pair name
923
+ * @returns EMA price data
924
+ */
925
+ declare function pythGetEmaPrice(agent: MNTAgentKit, priceFeedIdOrPair: string): Promise<PythPriceResponse>;
926
+
927
+ /**
928
+ * Get multiple prices from Pyth in a single call
929
+ * @param agent - MNTAgentKit instance
930
+ * @param pairs - Array of pair names or price feed IDs
931
+ * @returns Array of price responses
932
+ */
933
+ declare function pythGetMultiplePrices(agent: MNTAgentKit, pairs: string[]): Promise<PythPriceResponse[]>;
934
+ /**
935
+ * Get all supported Pyth price feed IDs
936
+ * @returns Object mapping pair names to price feed IDs
937
+ */
938
+ declare function pythGetSupportedPriceFeeds(): Record<string, string>;
939
+ /**
940
+ * Check if a price feed exists on Pyth
941
+ * @param agent - MNTAgentKit instance
942
+ * @param priceFeedIdOrPair - Price feed ID or pair name
943
+ * @returns Boolean indicating if feed exists
944
+ */
945
+ declare function pythPriceFeedExists(agent: MNTAgentKit, priceFeedIdOrPair: string): Promise<boolean>;
946
+
947
+ declare const ERC20_ABI: readonly [{
948
+ readonly inputs: readonly [];
949
+ readonly name: "name";
950
+ readonly outputs: readonly [{
951
+ readonly name: "";
952
+ readonly type: "string";
953
+ }];
954
+ readonly stateMutability: "view";
955
+ readonly type: "function";
956
+ }, {
957
+ readonly inputs: readonly [];
958
+ readonly name: "symbol";
959
+ readonly outputs: readonly [{
960
+ readonly name: "";
961
+ readonly type: "string";
962
+ }];
963
+ readonly stateMutability: "view";
964
+ readonly type: "function";
965
+ }, {
966
+ readonly inputs: readonly [];
967
+ readonly name: "decimals";
968
+ readonly outputs: readonly [{
969
+ readonly name: "";
970
+ readonly type: "uint8";
971
+ }];
972
+ readonly stateMutability: "view";
973
+ readonly type: "function";
974
+ }, {
975
+ readonly inputs: readonly [];
976
+ readonly name: "totalSupply";
977
+ readonly outputs: readonly [{
978
+ readonly name: "";
979
+ readonly type: "uint256";
980
+ }];
981
+ readonly stateMutability: "view";
982
+ readonly type: "function";
983
+ }, {
984
+ readonly inputs: readonly [{
985
+ readonly name: "account";
986
+ readonly type: "address";
987
+ }];
988
+ readonly name: "balanceOf";
989
+ readonly outputs: readonly [{
990
+ readonly name: "";
991
+ readonly type: "uint256";
992
+ }];
993
+ readonly stateMutability: "view";
994
+ readonly type: "function";
995
+ }, {
996
+ readonly inputs: readonly [{
997
+ readonly name: "to";
998
+ readonly type: "address";
999
+ }, {
1000
+ readonly name: "amount";
1001
+ readonly type: "uint256";
1002
+ }];
1003
+ readonly name: "transfer";
1004
+ readonly outputs: readonly [{
1005
+ readonly name: "";
1006
+ readonly type: "bool";
1007
+ }];
1008
+ readonly stateMutability: "nonpayable";
1009
+ readonly type: "function";
1010
+ }];
1011
+ type TokenType = "standard" | "rwa";
1012
+ interface TokenConfig {
573
1013
  name: string;
574
- payTo: string;
575
- network: string;
576
- status: string;
1014
+ symbol: string;
1015
+ supply: string;
1016
+ decimals?: number;
1017
+ tokenType?: TokenType;
1018
+ assetType?: string;
1019
+ assetId?: string;
1020
+ }
1021
+ interface TokenDeploymentResult {
1022
+ tokenAddress: string;
1023
+ txHash: string;
1024
+ name: string;
1025
+ symbol: string;
1026
+ decimals: number;
1027
+ totalSupply: string;
1028
+ mintedTo: string;
1029
+ tokenType: TokenType;
1030
+ assetType?: string;
1031
+ assetId?: string;
577
1032
  }
1033
+ interface TokenInfo {
1034
+ address: string;
1035
+ name: string;
1036
+ symbol: string;
1037
+ decimals: number;
1038
+ totalSupply: string;
1039
+ balance?: string;
1040
+ }
1041
+
1042
+ declare const index$9_ERC20_ABI: typeof ERC20_ABI;
1043
+ type index$9_TokenConfig = TokenConfig;
1044
+ type index$9_TokenDeploymentResult = TokenDeploymentResult;
1045
+ type index$9_TokenInfo = TokenInfo;
1046
+ type index$9_TokenType = TokenType;
1047
+ declare namespace index$9 {
1048
+ 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 };
1049
+ }
1050
+
578
1051
  /**
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
1052
+ * Deploy a new token (ERC20 or RWA) - mints supply to caller's address
1053
+ * @param agent - MNTAgentKit instance
1054
+ * @param name - Token name
1055
+ * @param symbol - Token symbol
1056
+ * @param supply - Total supply (human readable, e.g., "1000000")
1057
+ * @param tokenType - "standard" or "rwa"
1058
+ * @param assetType - For RWA: type of underlying asset
1059
+ * @param assetId - For RWA: external asset identifier
586
1060
  */
587
- declare function initializePlatform(): Promise<ProjectConfig>;
1061
+ declare function deployToken(agent: MNTAgentKit, name: string, symbol: string, supply: string, tokenType?: TokenType, assetType?: string, assetId?: string): Promise<TokenDeploymentResult>;
588
1062
  /**
589
- * Get cached project configuration
590
- *
591
- * @throws Error if platform not initialized
1063
+ * Deploy a standard ERC20 token
592
1064
  */
593
- declare function getProjectConfig(): ProjectConfig;
1065
+ declare function deployStandardToken(agent: MNTAgentKit, name: string, symbol: string, supply: string): Promise<TokenDeploymentResult>;
1066
+ /**
1067
+ * Deploy an RWA (Real World Asset) token
1068
+ * @param agent - MNTAgentKit instance
1069
+ * @param name - Token name (e.g., "Manhattan Property Token")
1070
+ * @param symbol - Token symbol (e.g., "MPT")
1071
+ * @param supply - Total supply representing fractional ownership
1072
+ * @param assetType - Asset category (e.g., "Real Estate", "Commodities", "Securities", "Art")
1073
+ * @param assetId - External reference ID for the underlying asset
1074
+ */
1075
+ declare function deployRWAToken(agent: MNTAgentKit, name: string, symbol: string, supply: string, assetType: string, assetId?: string): Promise<TokenDeploymentResult>;
594
1076
 
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
1077
+ /**
1078
+ * Get token information
1079
+ */
1080
+ declare function getTokenInfo(agent: MNTAgentKit, tokenAddress: Address, holder?: Address): Promise<TokenInfo>;
1081
+ /**
1082
+ * Get token balance
1083
+ */
1084
+ declare function getTokenBalance(agent: MNTAgentKit, tokenAddress: Address, holder?: Address): Promise<string>;
1085
+
1086
+ /**
1087
+ * Transfer tokens
1088
+ */
1089
+ declare function transferToken(agent: MNTAgentKit, tokenAddress: Address, to: Address, amount: string): Promise<Hex>;
1090
+
1091
+ declare const ERC721_ABI: readonly [{
1092
+ readonly inputs: readonly [{
1093
+ readonly name: "name";
1094
+ readonly type: "string";
1095
+ }, {
1096
+ readonly name: "symbol";
1097
+ readonly type: "string";
1098
+ }, {
1099
+ readonly name: "baseURI";
1100
+ readonly type: "string";
1101
+ }, {
1102
+ readonly name: "maxSupply";
1103
+ readonly type: "uint256";
1104
+ }];
1105
+ readonly stateMutability: "nonpayable";
1106
+ readonly type: "constructor";
1107
+ }, {
1108
+ readonly inputs: readonly [];
1109
+ readonly name: "name";
1110
+ readonly outputs: readonly [{
1111
+ readonly name: "";
1112
+ readonly type: "string";
1113
+ }];
1114
+ readonly stateMutability: "view";
1115
+ readonly type: "function";
1116
+ }, {
1117
+ readonly inputs: readonly [];
1118
+ readonly name: "symbol";
1119
+ readonly outputs: readonly [{
1120
+ readonly name: "";
1121
+ readonly type: "string";
1122
+ }];
1123
+ readonly stateMutability: "view";
1124
+ readonly type: "function";
1125
+ }, {
1126
+ readonly inputs: readonly [];
1127
+ readonly name: "totalSupply";
1128
+ readonly outputs: readonly [{
1129
+ readonly name: "";
1130
+ readonly type: "uint256";
1131
+ }];
1132
+ readonly stateMutability: "view";
1133
+ readonly type: "function";
1134
+ }, {
1135
+ readonly inputs: readonly [{
1136
+ readonly name: "tokenId";
1137
+ readonly type: "uint256";
1138
+ }];
1139
+ readonly name: "tokenURI";
1140
+ readonly outputs: readonly [{
1141
+ readonly name: "";
1142
+ readonly type: "string";
1143
+ }];
1144
+ readonly stateMutability: "view";
1145
+ readonly type: "function";
1146
+ }, {
1147
+ readonly inputs: readonly [{
1148
+ readonly name: "tokenId";
1149
+ readonly type: "uint256";
1150
+ }];
1151
+ readonly name: "ownerOf";
1152
+ readonly outputs: readonly [{
1153
+ readonly name: "";
1154
+ readonly type: "address";
1155
+ }];
1156
+ readonly stateMutability: "view";
1157
+ readonly type: "function";
1158
+ }, {
1159
+ readonly inputs: readonly [{
1160
+ readonly name: "owner";
1161
+ readonly type: "address";
1162
+ }];
1163
+ readonly name: "balanceOf";
1164
+ readonly outputs: readonly [{
1165
+ readonly name: "";
1166
+ readonly type: "uint256";
1167
+ }];
1168
+ readonly stateMutability: "view";
1169
+ readonly type: "function";
1170
+ }, {
1171
+ readonly inputs: readonly [{
1172
+ readonly name: "tokenId";
1173
+ readonly type: "uint256";
1174
+ }];
1175
+ readonly name: "getApproved";
1176
+ readonly outputs: readonly [{
1177
+ readonly name: "";
1178
+ readonly type: "address";
1179
+ }];
1180
+ readonly stateMutability: "view";
1181
+ readonly type: "function";
1182
+ }, {
1183
+ readonly inputs: readonly [{
1184
+ readonly name: "owner";
1185
+ readonly type: "address";
1186
+ }, {
1187
+ readonly name: "operator";
1188
+ readonly type: "address";
1189
+ }];
1190
+ readonly name: "isApprovedForAll";
1191
+ readonly outputs: readonly [{
1192
+ readonly name: "";
1193
+ readonly type: "bool";
1194
+ }];
1195
+ readonly stateMutability: "view";
1196
+ readonly type: "function";
1197
+ }, {
1198
+ readonly inputs: readonly [{
1199
+ readonly name: "to";
1200
+ readonly type: "address";
1201
+ }];
1202
+ readonly name: "mint";
1203
+ readonly outputs: readonly [{
1204
+ readonly name: "";
1205
+ readonly type: "uint256";
1206
+ }];
1207
+ readonly stateMutability: "nonpayable";
1208
+ readonly type: "function";
1209
+ }, {
1210
+ readonly inputs: readonly [{
1211
+ readonly name: "to";
1212
+ readonly type: "address";
1213
+ }, {
1214
+ readonly name: "quantity";
1215
+ readonly type: "uint256";
1216
+ }];
1217
+ readonly name: "batchMint";
1218
+ readonly outputs: readonly [{
1219
+ readonly name: "startTokenId";
1220
+ readonly type: "uint256";
1221
+ }];
1222
+ readonly stateMutability: "nonpayable";
1223
+ readonly type: "function";
1224
+ }, {
1225
+ readonly inputs: readonly [{
1226
+ readonly name: "to";
1227
+ readonly type: "address";
1228
+ }, {
1229
+ readonly name: "tokenId";
1230
+ readonly type: "uint256";
1231
+ }];
1232
+ readonly name: "approve";
1233
+ readonly outputs: readonly [];
1234
+ readonly stateMutability: "nonpayable";
1235
+ readonly type: "function";
1236
+ }, {
1237
+ readonly inputs: readonly [{
1238
+ readonly name: "operator";
1239
+ readonly type: "address";
1240
+ }, {
1241
+ readonly name: "approved";
1242
+ readonly type: "bool";
1243
+ }];
1244
+ readonly name: "setApprovalForAll";
1245
+ readonly outputs: readonly [];
1246
+ readonly stateMutability: "nonpayable";
1247
+ readonly type: "function";
1248
+ }, {
1249
+ readonly inputs: readonly [{
1250
+ readonly name: "from";
1251
+ readonly type: "address";
1252
+ }, {
1253
+ readonly name: "to";
1254
+ readonly type: "address";
1255
+ }, {
1256
+ readonly name: "tokenId";
1257
+ readonly type: "uint256";
1258
+ }];
1259
+ readonly name: "transferFrom";
1260
+ readonly outputs: readonly [];
1261
+ readonly stateMutability: "nonpayable";
1262
+ readonly type: "function";
1263
+ }, {
1264
+ readonly inputs: readonly [{
1265
+ readonly name: "from";
1266
+ readonly type: "address";
1267
+ }, {
1268
+ readonly name: "to";
1269
+ readonly type: "address";
1270
+ }, {
1271
+ readonly name: "tokenId";
1272
+ readonly type: "uint256";
1273
+ }];
1274
+ readonly name: "safeTransferFrom";
1275
+ readonly outputs: readonly [];
1276
+ readonly stateMutability: "nonpayable";
1277
+ readonly type: "function";
1278
+ }, {
1279
+ readonly inputs: readonly [{
1280
+ readonly name: "from";
1281
+ readonly type: "address";
1282
+ }, {
1283
+ readonly name: "to";
1284
+ readonly type: "address";
1285
+ }, {
1286
+ readonly name: "tokenId";
1287
+ readonly type: "uint256";
1288
+ }, {
1289
+ readonly name: "data";
1290
+ readonly type: "bytes";
1291
+ }];
1292
+ readonly name: "safeTransferFrom";
1293
+ readonly outputs: readonly [];
1294
+ readonly stateMutability: "nonpayable";
1295
+ readonly type: "function";
1296
+ }, {
1297
+ readonly anonymous: false;
1298
+ readonly inputs: readonly [{
1299
+ readonly indexed: true;
1300
+ readonly name: "from";
1301
+ readonly type: "address";
1302
+ }, {
1303
+ readonly indexed: true;
1304
+ readonly name: "to";
1305
+ readonly type: "address";
1306
+ }, {
1307
+ readonly indexed: true;
1308
+ readonly name: "tokenId";
1309
+ readonly type: "uint256";
1310
+ }];
1311
+ readonly name: "Transfer";
1312
+ readonly type: "event";
1313
+ }, {
1314
+ readonly anonymous: false;
1315
+ readonly inputs: readonly [{
1316
+ readonly indexed: true;
1317
+ readonly name: "owner";
1318
+ readonly type: "address";
1319
+ }, {
1320
+ readonly indexed: true;
1321
+ readonly name: "approved";
1322
+ readonly type: "address";
1323
+ }, {
1324
+ readonly indexed: true;
1325
+ readonly name: "tokenId";
1326
+ readonly type: "uint256";
1327
+ }];
1328
+ readonly name: "Approval";
1329
+ readonly type: "event";
1330
+ }, {
1331
+ readonly anonymous: false;
1332
+ readonly inputs: readonly [{
1333
+ readonly indexed: true;
1334
+ readonly name: "owner";
1335
+ readonly type: "address";
1336
+ }, {
1337
+ readonly indexed: true;
1338
+ readonly name: "operator";
1339
+ readonly type: "address";
1340
+ }, {
1341
+ readonly indexed: false;
1342
+ readonly name: "approved";
1343
+ readonly type: "bool";
1344
+ }];
1345
+ readonly name: "ApprovalForAll";
1346
+ readonly type: "event";
1347
+ }];
1348
+ interface NFTCollectionConfig {
1349
+ name: string;
1350
+ symbol: string;
1351
+ baseURI: string;
1352
+ maxSupply?: number;
1353
+ description?: string;
1354
+ }
1355
+ interface NFTCollectionDeploymentResult {
1356
+ collectionAddress: string;
1357
+ txHash: string;
1358
+ name: string;
1359
+ symbol: string;
1360
+ baseURI: string;
1361
+ maxSupply: number;
1362
+ deployer: string;
1363
+ }
1364
+ interface NFTMintResult {
1365
+ txHash: string;
1366
+ tokenId: string;
1367
+ collectionAddress: string;
1368
+ to: string;
1369
+ }
1370
+ interface NFTCollectionInfo {
1371
+ address: string;
1372
+ name: string;
1373
+ symbol: string;
1374
+ totalSupply: string;
1375
+ balanceOf?: string;
1376
+ }
1377
+ interface NFTTokenInfo {
1378
+ collectionAddress: string;
1379
+ tokenId: string;
1380
+ owner: string;
1381
+ tokenURI: string;
1382
+ }
1383
+
1384
+ declare const index$8_ERC721_ABI: typeof ERC721_ABI;
1385
+ type index$8_NFTCollectionConfig = NFTCollectionConfig;
1386
+ type index$8_NFTCollectionDeploymentResult = NFTCollectionDeploymentResult;
1387
+ type index$8_NFTCollectionInfo = NFTCollectionInfo;
1388
+ type index$8_NFTMintResult = NFTMintResult;
1389
+ type index$8_NFTTokenInfo = NFTTokenInfo;
1390
+ declare namespace index$8 {
1391
+ 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 };
1392
+ }
1393
+
1394
+ /**
1395
+ * Deploy a new ERC721 NFT collection on Mantle Network
1396
+ * @param agent - MNTAgentKit instance
1397
+ * @param config - NFT collection configuration
1398
+ * @returns Collection deployment result with contract address
1399
+ */
1400
+ declare function deployNFTCollection(agent: MNTAgentKit, config: NFTCollectionConfig): Promise<NFTCollectionDeploymentResult>;
1401
+ /**
1402
+ * Deploy an NFT collection with preset configurations
1403
+ * @param agent - MNTAgentKit instance
1404
+ * @param preset - Preset type: "pfp" (10000), "art" (1000), "membership" (100)
1405
+ * @param name - Collection name
1406
+ * @param symbol - Collection symbol
1407
+ * @param baseURI - Base URI for metadata
1408
+ * @returns Collection deployment result
1409
+ */
1410
+ declare function deployNFTCollectionWithPreset(agent: MNTAgentKit, preset: "pfp" | "art" | "membership" | "unlimited", name: string, symbol: string, baseURI: string): Promise<NFTCollectionDeploymentResult>;
1411
+
1412
+ /**
1413
+ * Mint a single NFT from a collection
1414
+ * @param agent - MNTAgentKit instance
1415
+ * @param collectionAddress - NFT collection contract address
1416
+ * @param to - Recipient address (defaults to agent address)
1417
+ * @returns Mint result with token ID
1418
+ */
1419
+ declare function mintNFT(agent: MNTAgentKit, collectionAddress: Address, to?: Address): Promise<NFTMintResult>;
1420
+ /**
1421
+ * Batch mint multiple NFTs from a collection
1422
+ * @param agent - MNTAgentKit instance
1423
+ * @param collectionAddress - NFT collection contract address
1424
+ * @param to - Recipient address
1425
+ * @param quantity - Number of NFTs to mint
1426
+ * @returns Mint result with starting token ID
1427
+ */
1428
+ declare function batchMintNFT(agent: MNTAgentKit, collectionAddress: Address, to: Address, quantity: number): Promise<{
1429
+ txHash: Hex;
1430
+ startTokenId: string;
1431
+ quantity: number;
1432
+ }>;
1433
+
1434
+ /**
1435
+ * Get information about an NFT collection
1436
+ * @param agent - MNTAgentKit instance
1437
+ * @param collectionAddress - NFT collection contract address
1438
+ * @param holderAddress - Optional address to get balance for
1439
+ * @returns Collection information
1440
+ */
1441
+ declare function getNFTCollectionInfo(agent: MNTAgentKit, collectionAddress: Address, holderAddress?: Address): Promise<NFTCollectionInfo>;
1442
+ /**
1443
+ * Get information about a specific NFT token
1444
+ * @param agent - MNTAgentKit instance
1445
+ * @param collectionAddress - NFT collection contract address
1446
+ * @param tokenId - Token ID
1447
+ * @returns Token information
1448
+ */
1449
+ declare function getNFTTokenInfo(agent: MNTAgentKit, collectionAddress: Address, tokenId: string): Promise<NFTTokenInfo>;
1450
+ /**
1451
+ * Get NFT balance for an address
1452
+ * @param agent - MNTAgentKit instance
1453
+ * @param collectionAddress - NFT collection contract address
1454
+ * @param holderAddress - Address to check balance for (defaults to agent address)
1455
+ * @returns Balance as string
1456
+ */
1457
+ declare function getNFTBalance(agent: MNTAgentKit, collectionAddress: Address, holderAddress?: Address): Promise<string>;
1458
+ /**
1459
+ * Check if an address owns a specific NFT
1460
+ * @param agent - MNTAgentKit instance
1461
+ * @param collectionAddress - NFT collection contract address
1462
+ * @param tokenId - Token ID to check
1463
+ * @param ownerAddress - Address to verify ownership
1464
+ * @returns Boolean indicating ownership
1465
+ */
1466
+ declare function isNFTOwner(agent: MNTAgentKit, collectionAddress: Address, tokenId: string, ownerAddress?: Address): Promise<boolean>;
1467
+
1468
+ /**
1469
+ * Transfer an NFT to another address
1470
+ * @param agent - MNTAgentKit instance
1471
+ * @param collectionAddress - NFT collection contract address
1472
+ * @param to - Recipient address
1473
+ * @param tokenId - Token ID to transfer
1474
+ * @returns Transaction hash
1475
+ */
1476
+ declare function transferNFT(agent: MNTAgentKit, collectionAddress: Address, to: Address, tokenId: string): Promise<Hex>;
1477
+ /**
1478
+ * Safe transfer an NFT (checks if recipient can receive)
1479
+ * @param agent - MNTAgentKit instance
1480
+ * @param collectionAddress - NFT collection contract address
1481
+ * @param to - Recipient address
1482
+ * @param tokenId - Token ID to transfer
1483
+ * @returns Transaction hash
1484
+ */
1485
+ declare function safeTransferNFT(agent: MNTAgentKit, collectionAddress: Address, to: Address, tokenId: string): Promise<Hex>;
1486
+ /**
1487
+ * Approve an address to transfer a specific NFT
1488
+ * @param agent - MNTAgentKit instance
1489
+ * @param collectionAddress - NFT collection contract address
1490
+ * @param approved - Address to approve
1491
+ * @param tokenId - Token ID to approve
1492
+ * @returns Transaction hash
1493
+ */
1494
+ declare function approveNFT(agent: MNTAgentKit, collectionAddress: Address, approved: Address, tokenId: string): Promise<Hex>;
1495
+ /**
1496
+ * Set approval for all NFTs in a collection
1497
+ * @param agent - MNTAgentKit instance
1498
+ * @param collectionAddress - NFT collection contract address
1499
+ * @param operator - Operator address
1500
+ * @param approved - Whether to approve or revoke
1501
+ * @returns Transaction hash
1502
+ */
1503
+ declare function setApprovalForAllNFT(agent: MNTAgentKit, collectionAddress: Address, operator: Address, approved: boolean): Promise<Hex>;
1504
+
1505
+ /**
1506
+ * Platform Configuration & Validation
1507
+ *
1508
+ * Validates APP_ID with Mantle platform API
1509
+ */
1510
+ /** Project configuration from platform */
1511
+ interface ProjectConfig {
1512
+ appId: string;
1513
+ name: string;
1514
+ payTo: string;
1515
+ network: string;
1516
+ status: string;
1517
+ }
1518
+ /**
1519
+ * Initialize platform validation
1520
+ *
1521
+ * Reads APP_ID from environment and validates with platform API.
1522
+ * Uses singleton pattern - multiple calls return same promise.
1523
+ *
1524
+ * @returns Project configuration from platform
1525
+ * @throws Error if APP_ID is not set or validation fails
1526
+ */
1527
+ declare function initializePlatform(): Promise<ProjectConfig>;
1528
+ /**
1529
+ * Get cached project configuration
1530
+ *
1531
+ * @throws Error if platform not initialized
1532
+ */
1533
+ declare function getProjectConfig(): ProjectConfig;
1534
+
1535
+ declare class MNTAgentKit {
1536
+ account: PrivateKeyAccount;
1537
+ client: WalletClient<Transport, Chain, PrivateKeyAccount> & PublicActions & Erc7811Actions;
1538
+ chain: "testnet" | "mainnet";
1539
+ demo: boolean;
1540
+ projectConfig?: ProjectConfig;
1541
+ constructor(privateKey: Address$1, chain: "mainnet" | "testnet" | "testnet-demo");
1542
+ /**
1543
+ * Initialize the agent with platform validation
1544
+ *
1545
+ * Validates APP_ID with the platform API.
1546
+ * Must be called after creating the agent instance.
1547
+ *
1548
+ * @returns The initialized agent instance
1549
+ * @throws Error if APP_ID is not set or validation fails
1550
+ *
1551
+ * @example
612
1552
  * ```typescript
613
1553
  * const agent = new MNTAgentKit(privateKey, "mainnet");
614
1554
  * await agent.initialize(); // Validates APP_ID
@@ -730,6 +1670,168 @@ declare class MNTAgentKit {
730
1670
  * @returns Market data with price and recent trades
731
1671
  */
732
1672
  pikeperpsGetMarketData(tokenAddress: Address$1, limit?: number): Promise<PikePerpsMarketData>;
1673
+ /**
1674
+ * Get real-time price from Pyth Network
1675
+ * @param priceFeedIdOrPair - Price feed ID or pair name (e.g., "ETH/USD", "BTC/USD", "MNT/USD")
1676
+ * @returns Price data with formatted price
1677
+ */
1678
+ pythGetPrice(priceFeedIdOrPair: string): Promise<PythPriceResponse>;
1679
+ /**
1680
+ * Get EMA (Exponential Moving Average) price from Pyth
1681
+ * @param priceFeedIdOrPair - Price feed ID or pair name
1682
+ * @returns EMA price data
1683
+ */
1684
+ pythGetEmaPrice(priceFeedIdOrPair: string): Promise<PythPriceResponse>;
1685
+ /**
1686
+ * Get multiple prices from Pyth in a single call
1687
+ * @param pairs - Array of pair names or price feed IDs
1688
+ * @returns Array of price responses
1689
+ */
1690
+ pythGetMultiplePrices(pairs: string[]): Promise<PythPriceResponse[]>;
1691
+ /**
1692
+ * Get all supported Pyth price feed IDs
1693
+ * @returns Object mapping pair names to price feed IDs
1694
+ */
1695
+ pythGetSupportedPriceFeeds(): Record<string, string>;
1696
+ /**
1697
+ * Check if a price feed exists on Pyth
1698
+ * @param priceFeedIdOrPair - Price feed ID or pair name
1699
+ * @returns Boolean indicating if feed exists
1700
+ */
1701
+ pythPriceFeedExists(priceFeedIdOrPair: string): Promise<boolean>;
1702
+ /**
1703
+ * Deploy a new token (ERC20 or RWA) - supply minted to your address
1704
+ * @param name - Token name
1705
+ * @param symbol - Token symbol
1706
+ * @param supply - Total supply (human readable, e.g., "1000000")
1707
+ * @param tokenType - "standard" or "rwa"
1708
+ * @param assetType - For RWA: asset category
1709
+ * @param assetId - For RWA: external asset ID
1710
+ */
1711
+ deployToken(name: string, symbol: string, supply: string, tokenType?: TokenType, assetType?: string, assetId?: string): Promise<TokenDeploymentResult>;
1712
+ /**
1713
+ * Deploy a standard ERC20 token
1714
+ * @param name - Token name
1715
+ * @param symbol - Token symbol
1716
+ * @param supply - Total supply (e.g., "1000000" for 1M tokens)
1717
+ */
1718
+ deployStandardToken(name: string, symbol: string, supply: string): Promise<TokenDeploymentResult>;
1719
+ /**
1720
+ * Deploy an RWA (Real World Asset) token
1721
+ * @param name - Token name (e.g., "Manhattan Property Token")
1722
+ * @param symbol - Token symbol (e.g., "MPT")
1723
+ * @param supply - Total supply for fractional ownership
1724
+ * @param assetType - Asset category: "Real Estate", "Commodities", "Securities", "Art"
1725
+ * @param assetId - External reference ID for the underlying asset
1726
+ */
1727
+ deployRWAToken(name: string, symbol: string, supply: string, assetType: string, assetId?: string): Promise<TokenDeploymentResult>;
1728
+ /**
1729
+ * Get token information
1730
+ */
1731
+ getTokenInfo(tokenAddress: Address$1, holder?: Address$1): Promise<TokenInfo>;
1732
+ /**
1733
+ * Get token balance
1734
+ */
1735
+ getTokenBalance(tokenAddress: Address$1, holder?: Address$1): Promise<string>;
1736
+ /**
1737
+ * Transfer tokens
1738
+ */
1739
+ transferToken(tokenAddress: Address$1, to: Address$1, amount: string): Promise<`0x${string}`>;
1740
+ /**
1741
+ * Deploy a new ERC721 NFT collection on Mantle Network
1742
+ * @param config - Collection configuration (name, symbol, baseURI, maxSupply)
1743
+ * @returns Collection deployment result with contract address
1744
+ */
1745
+ deployNFTCollection(config: NFTCollectionConfig): Promise<NFTCollectionDeploymentResult>;
1746
+ /**
1747
+ * Deploy an NFT collection with preset configurations
1748
+ * @param preset - Preset type: "pfp" (10000), "art" (1000), "membership" (100), "unlimited"
1749
+ * @param name - Collection name
1750
+ * @param symbol - Collection symbol
1751
+ * @param baseURI - Base URI for metadata
1752
+ * @returns Collection deployment result
1753
+ */
1754
+ deployNFTCollectionWithPreset(preset: "pfp" | "art" | "membership" | "unlimited", name: string, symbol: string, baseURI: string): Promise<NFTCollectionDeploymentResult>;
1755
+ /**
1756
+ * Mint a single NFT from a collection
1757
+ * @param collectionAddress - NFT collection contract address
1758
+ * @param to - Recipient address (defaults to agent address)
1759
+ * @returns Mint result with token ID
1760
+ */
1761
+ mintNFT(collectionAddress: Address$1, to?: Address$1): Promise<NFTMintResult>;
1762
+ /**
1763
+ * Batch mint multiple NFTs from a collection
1764
+ * @param collectionAddress - NFT collection contract address
1765
+ * @param to - Recipient address
1766
+ * @param quantity - Number of NFTs to mint
1767
+ * @returns Mint result with starting token ID
1768
+ */
1769
+ batchMintNFT(collectionAddress: Address$1, to: Address$1, quantity: number): Promise<{
1770
+ txHash: viem.Hex;
1771
+ startTokenId: string;
1772
+ quantity: number;
1773
+ }>;
1774
+ /**
1775
+ * Get information about an NFT collection
1776
+ * @param collectionAddress - NFT collection contract address
1777
+ * @param holderAddress - Optional address to get balance for
1778
+ * @returns Collection information
1779
+ */
1780
+ getNFTCollectionInfo(collectionAddress: Address$1, holderAddress?: Address$1): Promise<NFTCollectionInfo>;
1781
+ /**
1782
+ * Get information about a specific NFT token
1783
+ * @param collectionAddress - NFT collection contract address
1784
+ * @param tokenId - Token ID
1785
+ * @returns Token information
1786
+ */
1787
+ getNFTTokenInfo(collectionAddress: Address$1, tokenId: string): Promise<NFTTokenInfo>;
1788
+ /**
1789
+ * Get NFT balance for an address
1790
+ * @param collectionAddress - NFT collection contract address
1791
+ * @param holderAddress - Address to check (defaults to agent address)
1792
+ * @returns Balance as string
1793
+ */
1794
+ getNFTBalance(collectionAddress: Address$1, holderAddress?: Address$1): Promise<string>;
1795
+ /**
1796
+ * Check if an address owns a specific NFT
1797
+ * @param collectionAddress - NFT collection contract address
1798
+ * @param tokenId - Token ID to check
1799
+ * @param ownerAddress - Address to verify ownership
1800
+ * @returns Boolean indicating ownership
1801
+ */
1802
+ isNFTOwner(collectionAddress: Address$1, tokenId: string, ownerAddress?: Address$1): Promise<boolean>;
1803
+ /**
1804
+ * Transfer an NFT to another address
1805
+ * @param collectionAddress - NFT collection contract address
1806
+ * @param to - Recipient address
1807
+ * @param tokenId - Token ID to transfer
1808
+ * @returns Transaction hash
1809
+ */
1810
+ transferNFT(collectionAddress: Address$1, to: Address$1, tokenId: string): Promise<`0x${string}`>;
1811
+ /**
1812
+ * Safe transfer an NFT (checks if recipient can receive)
1813
+ * @param collectionAddress - NFT collection contract address
1814
+ * @param to - Recipient address
1815
+ * @param tokenId - Token ID to transfer
1816
+ * @returns Transaction hash
1817
+ */
1818
+ safeTransferNFT(collectionAddress: Address$1, to: Address$1, tokenId: string): Promise<`0x${string}`>;
1819
+ /**
1820
+ * Approve an address to transfer a specific NFT
1821
+ * @param collectionAddress - NFT collection contract address
1822
+ * @param approved - Address to approve
1823
+ * @param tokenId - Token ID to approve
1824
+ * @returns Transaction hash
1825
+ */
1826
+ approveNFT(collectionAddress: Address$1, approved: Address$1, tokenId: string): Promise<`0x${string}`>;
1827
+ /**
1828
+ * Set approval for all NFTs in a collection
1829
+ * @param collectionAddress - NFT collection contract address
1830
+ * @param operator - Operator address
1831
+ * @param approved - Whether to approve or revoke
1832
+ * @returns Transaction hash
1833
+ */
1834
+ setApprovalForAllNFT(collectionAddress: Address$1, operator: Address$1, approved: boolean): Promise<`0x${string}`>;
733
1835
  }
734
1836
 
735
1837
  declare const FACTORY: {
@@ -1599,4 +2701,4 @@ interface UserAccountData {
1599
2701
  healthFactor: bigint;
1600
2702
  }
1601
2703
 
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 };
2704
+ export { index$7 as AgniConstants, index$6 as LendleConstants, type LendlePosition, type LendlePositionsResult, METH_TOKEN, MNTAgentKit, index$5 as MerchantMoeConstants, index$b 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$a as PythConstants, type PythPriceData, type PythPriceResponse, index$1 as SquidConstants, type TokenConfig, type TokenDeploymentResult, type TokenInfo, index$9 as TokenLaunchpadConstants, type TokenType, index$c 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, pythPriceFeedExists, safeTransferNFT, sendTransaction, setApprovalForAllNFT, swapFromMeth, swapOn1inch, swapOnOpenOcean, swapOnUniswap, swapToMeth, transferNFT, transferToken };