@deserialize/multi-vm-wallet 1.2.31 → 1.2.41

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/svm/utils.js CHANGED
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  //we will write all the svm utils function here
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.validateJupiterTokens = exports.getJupiterTokenList = exports.baseUnitsToUiAmount = exports.uiAmountToBaseUnits = exports.executeJupiterSwap = exports.buildJupiterSwapTransaction = exports.getJupiterQuote = exports.discoverTokens = exports.signAndSendTransaction = exports.sendTransaction = exports.signTransaction = exports.getTransferTokenTransaction = exports.getTransferTokenInx = exports.getTokenInfo = exports.getTransferNativeTransaction = exports.getTransferNativeInx = exports.getTokenAccountAccount = exports.getTokenBalance = exports.getSvmNativeBalance = exports.getProgramIdOfToken = exports.getSureAssociatedTokenAddressAndAccount = exports.createAtaAndIx = exports.createV0Transaction = void 0;
4
+ exports.fetchWalletNfts = exports.transformSolanaNFTToUnified = exports.validateJupiterTokens = exports.getJupiterTokenList = exports.baseUnitsToUiAmount = exports.uiAmountToBaseUnits = exports.executeJupiterSwap = exports.buildJupiterSwapTransaction = exports.getJupiterQuote = exports.discoverTokens = exports.signAndSendTransaction = exports.sendTransaction = exports.signTransaction = exports.getTransferTokenTransaction = exports.getTransferTokenInx = exports.getTokenInfo = exports.getTransferNativeTransaction = exports.getTransferNativeInx = exports.getTokenAccountAccount = exports.getTokenBalance = exports.getSvmNativeBalance = exports.getProgramIdOfToken = exports.getSureAssociatedTokenAddressAndAccount = exports.createAtaAndIx = exports.createV0Transaction = void 0;
5
5
  const spl_token_1 = require("@solana/spl-token");
6
6
  const web3_js_1 = require("@solana/web3.js");
7
7
  const transactionSender_1 = require("./transactionSender");
8
8
  const bn_js_1 = require("bn.js");
9
+ const umi_1 = require("@metaplex-foundation/umi");
9
10
  const mpl_token_metadata_1 = require("@metaplex-foundation/mpl-token-metadata");
10
11
  const umi_bundle_defaults_1 = require("@metaplex-foundation/umi-bundle-defaults");
11
12
  const JUPITER_BASE_URL = 'https://lite-api.jup.ag';
@@ -170,16 +171,70 @@ const getMetaTokenMetaplexData = async (mintAddress, connection) => {
170
171
  const ass = await (0, mpl_token_metadata_1.fetchDigitalAsset)(umi, mintAddress.toBase58());
171
172
  return ass.metadata;
172
173
  };
174
+ const fetchMetadataFromUri = async (uri) => {
175
+ try {
176
+ // Convert IPFS URI to HTTP gateway if needed
177
+ let fetchUrl = uri;
178
+ if (uri.startsWith('ipfs://')) {
179
+ fetchUrl = uri.replace('ipfs://', 'https://ipfs.io/ipfs/');
180
+ }
181
+ console.log('Fetching metadata from:', fetchUrl);
182
+ const response = await fetch(fetchUrl, {
183
+ headers: {
184
+ 'Accept': 'application/json',
185
+ },
186
+ });
187
+ if (!response.ok) {
188
+ console.log('Failed to fetch metadata:', response.status);
189
+ return null;
190
+ }
191
+ const metadata = await response.json();
192
+ console.log('Metadata fetched successfully');
193
+ return metadata;
194
+ }
195
+ catch (error) {
196
+ console.log('Error fetching metadata from URI:', error);
197
+ return null;
198
+ }
199
+ };
173
200
  const getTokenInfo = async (tokenAddress, connection, programId) => {
174
201
  let mint;
175
202
  const metaplexData = await getMetaTokenMetaplexData(tokenAddress, connection).catch(() => null);
203
+ // Fetch metadata from URI if available
204
+ let uriMetadata = null;
205
+ if (metaplexData?.uri) {
206
+ uriMetadata = await fetchMetadataFromUri(metaplexData.uri).catch(() => null);
207
+ }
176
208
  if (programId) {
177
209
  const mint = await (0, spl_token_1.getMint)(connection, tokenAddress, "confirmed", programId);
210
+ // Build social object from metadata
211
+ const social = {};
212
+ if (uriMetadata?.twitter || uriMetadata?.extensions?.twitter) {
213
+ social.twitter = uriMetadata.twitter || uriMetadata.extensions?.twitter;
214
+ }
215
+ if (uriMetadata?.telegram || uriMetadata?.extensions?.telegram) {
216
+ social.telegram = uriMetadata.telegram || uriMetadata.extensions?.telegram;
217
+ }
218
+ if (uriMetadata?.discord || uriMetadata?.extensions?.discord) {
219
+ social.discord = uriMetadata.discord || uriMetadata.extensions?.discord;
220
+ }
221
+ // Add any other social fields from extensions
222
+ if (uriMetadata?.extensions) {
223
+ Object.keys(uriMetadata.extensions).forEach(key => {
224
+ if (!['twitter', 'telegram', 'discord', 'website'].includes(key) && uriMetadata.extensions[key]) {
225
+ social[key] = uriMetadata.extensions[key];
226
+ }
227
+ });
228
+ }
178
229
  return {
179
230
  address: tokenAddress.toString(),
180
231
  decimals: mint.decimals,
181
- name: metaplexData?.name || "",
182
- symbol: metaplexData?.symbol || ""
232
+ name: uriMetadata?.name || metaplexData?.name || "",
233
+ symbol: uriMetadata?.symbol || metaplexData?.symbol || "",
234
+ logoUrl: uriMetadata?.image || "",
235
+ description: uriMetadata?.description,
236
+ website: uriMetadata?.website || uriMetadata?.extensions?.website,
237
+ social: Object.keys(social).length > 0 ? social : undefined
183
238
  };
184
239
  }
185
240
  try {
@@ -189,11 +244,34 @@ const getTokenInfo = async (tokenAddress, connection, programId) => {
189
244
  console.log('error: ', error);
190
245
  mint = await (0, spl_token_1.getMint)(connection, tokenAddress, "confirmed", spl_token_1.TOKEN_2022_PROGRAM_ID);
191
246
  }
247
+ // Build social object from metadata
248
+ const social = {};
249
+ if (uriMetadata?.twitter || uriMetadata?.extensions?.twitter) {
250
+ social.twitter = uriMetadata.twitter || uriMetadata.extensions?.twitter;
251
+ }
252
+ if (uriMetadata?.telegram || uriMetadata?.extensions?.telegram) {
253
+ social.telegram = uriMetadata.telegram || uriMetadata.extensions?.telegram;
254
+ }
255
+ if (uriMetadata?.discord || uriMetadata?.extensions?.discord) {
256
+ social.discord = uriMetadata.discord || uriMetadata.extensions?.discord;
257
+ }
258
+ // Add any other social fields from extensions
259
+ if (uriMetadata?.extensions) {
260
+ Object.keys(uriMetadata.extensions).forEach(key => {
261
+ if (!['twitter', 'telegram', 'discord', 'website'].includes(key) && uriMetadata.extensions[key]) {
262
+ social[key] = uriMetadata.extensions[key];
263
+ }
264
+ });
265
+ }
192
266
  return {
193
267
  address: tokenAddress.toString(),
194
268
  decimals: mint.decimals,
195
- name: metaplexData?.name || "",
196
- symbol: metaplexData?.symbol || ""
269
+ name: uriMetadata?.name || metaplexData?.name || "",
270
+ symbol: uriMetadata?.symbol || metaplexData?.symbol || "",
271
+ logoUrl: uriMetadata?.image || "",
272
+ description: uriMetadata?.description,
273
+ website: uriMetadata?.website || uriMetadata?.extensions?.website,
274
+ social: Object.keys(social).length > 0 ? social : undefined
197
275
  };
198
276
  };
199
277
  exports.getTokenInfo = getTokenInfo;
@@ -278,13 +356,15 @@ const discoverTokens = async (ownerAddress, connection) => {
278
356
  const tokens = await Promise.all(response.value.map(async (accountInfo) => {
279
357
  const mintAddress = accountInfo.account.data["parsed"]["info"]["mint"];
280
358
  const mint = await (0, exports.getTokenInfo)(new web3_js_1.PublicKey(mintAddress), connection);
359
+ // console.log('mint: ', mint);
281
360
  return {
282
361
  owner: accountInfo.account.data["parsed"]["info"]["owner"],
283
362
  address: accountInfo.account.data["parsed"]["info"]["mint"],
284
363
  decimals: accountInfo.account.data["parsed"]["info"]["tokenAmount"]["decimals"],
285
364
  symbol: mint.symbol,
286
365
  name: mint.name,
287
- balance: accountInfo.account.data["parsed"]["info"]["tokenAmount"]["amount"]
366
+ balance: accountInfo.account.data["parsed"]["info"]["tokenAmount"]["amount"],
367
+ logoUrl: mint.logoUrl
288
368
  };
289
369
  }));
290
370
  return tokens;
@@ -544,4 +624,72 @@ const validateJupiterTokens = async (inputMint, outputMint) => {
544
624
  }
545
625
  };
546
626
  exports.validateJupiterTokens = validateJupiterTokens;
627
+ const transformSolanaNFTToUnified = (nft) => {
628
+ return {
629
+ id: nft.mint,
630
+ name: nft.name,
631
+ symbol: nft.symbol,
632
+ description: '', // Will be populated from metadata URI if needed
633
+ image: undefined, // Will be populated from metadata URI if needed
634
+ uri: nft.uri,
635
+ collection: {
636
+ address: nft.mint,
637
+ name: nft.name,
638
+ verified: nft.creators?.some(c => c.verified) ?? false,
639
+ },
640
+ chainType: 'SVM',
641
+ balance: '1', // NFTs on Solana are typically quantity 1
642
+ creators: nft.creators,
643
+ sellerFeeBasisPoints: nft.sellerFeeBasisPoints,
644
+ tokenStandard: 'NonFungible',
645
+ raw: {
646
+ svm: nft
647
+ }
648
+ };
649
+ };
650
+ exports.transformSolanaNFTToUnified = transformSolanaNFTToUnified;
651
+ const fetchWalletNfts = async (walletAddress, connection) => {
652
+ console.log('fetchWalletNfts: Starting');
653
+ console.log('Wallet address:', walletAddress.toString());
654
+ try {
655
+ // Create UMI instance with the connection's RPC endpoint
656
+ const umi = (0, umi_bundle_defaults_1.createUmi)(connection.rpcEndpoint).use((0, mpl_token_metadata_1.mplTokenMetadata)());
657
+ console.log('UMI instance created with RPC endpoint:', connection.rpcEndpoint);
658
+ // Convert Solana PublicKey to UMI PublicKey
659
+ const owner = (0, umi_1.publicKey)(walletAddress.toString());
660
+ console.log('Fetching NFTs for owner:', owner);
661
+ // Fetch all digital assets owned by the wallet
662
+ const assets = await (0, mpl_token_metadata_1.fetchAllDigitalAssetByOwner)(umi, owner);
663
+ console.log('Fetched assets count:', assets.length);
664
+ // Transform the assets into our SolanaNFT format
665
+ const solanaNfts = assets.map((asset) => {
666
+ const metadata = asset.metadata;
667
+ return {
668
+ mint: asset.publicKey.toString(),
669
+ name: metadata.name,
670
+ symbol: metadata.symbol,
671
+ uri: metadata.uri,
672
+ updateAuthority: metadata.updateAuthority.toString(),
673
+ sellerFeeBasisPoints: metadata.sellerFeeBasisPoints,
674
+ creators: metadata.creators && 'value' in metadata.creators && metadata.creators.value
675
+ ? metadata.creators.value.map((creator) => ({
676
+ address: creator.address.toString(),
677
+ verified: creator.verified,
678
+ share: creator.share,
679
+ }))
680
+ : undefined,
681
+ };
682
+ });
683
+ // Transform to unified NFT format
684
+ const nfts = solanaNfts.map(exports.transformSolanaNFTToUnified);
685
+ console.log('fetchWalletNfts: Successfully fetched', nfts.length, 'NFTs');
686
+ return nfts;
687
+ }
688
+ catch (error) {
689
+ console.log('fetchWalletNfts: Error fetching NFTs:', error);
690
+ console.log('Error details:', error instanceof Error ? error.message : 'Unknown error');
691
+ throw error;
692
+ }
693
+ };
694
+ exports.fetchWalletNfts = fetchWalletNfts;
547
695
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../utils/svm/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../utils/svm/utils.ts"],"names":[],"mappings":"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"}
package/dist/test.d.ts CHANGED
@@ -1,5 +1,4 @@
1
- import { Keypair } from "@solana/web3.js";
2
- export declare const testUserKeyPair: Keypair;
1
+ export {};
3
2
  /**
4
3
  * Fetches and logs the token metadata for a given mint address.
5
4
  * @param mintAddress - The mint address of the token.
package/dist/test.js CHANGED
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.testUserKeyPair = void 0;
7
6
  const bs58_1 = __importDefault(require("bs58"));
8
7
  const web3_js_1 = require("@solana/web3.js");
9
8
  const evm_1 = require("./evm");
@@ -11,8 +10,8 @@ const evm_1 = require("./evm");
11
10
  // console.log('mnemonic: ', mnemonic);
12
11
  // const seed = VM.mnemonicToSeed(mnemonic)
13
12
  const pKey = "4QxETeX9pndiF1XNghUiDTnZnHq3cfjmuPLBJysrgocsLq1yb8w96aPWALa8ZnRZWmDU4wM8Tg8d1ZRVVByj7uXE";
14
- exports.testUserKeyPair = web3_js_1.Keypair.fromSecretKey(bs58_1.default.decode(pKey));
15
- const x = exports.testUserKeyPair instanceof web3_js_1.Keypair;
13
+ const testUserKeyPair = web3_js_1.Keypair.fromSecretKey(bs58_1.default.decode(pKey));
14
+ // const x = testUserKeyPair instanceof Keypair;
16
15
  const evePrivateKey = "0x4c0883a69102937d6231471b5dbb6204fe5129617082792ae468d01a3f362318";
17
16
  const evmPrivateKey2 = "0x0123456789012345678901234567890123456789012345678901234567890123";
18
17
  const ogPrivKey = "d2d3f7117aa9a4c6e5d4affedd8a5ea624ffd82b2a1de81509e5913709b1ea72";
@@ -25,7 +24,7 @@ const ogPrivKey = "d2d3f7117aa9a4c6e5d4affedd8a5ea624ffd82b2a1de81509e5913709b1e
25
24
  const chainConfig = {
26
25
  chainId: 123456789,
27
26
  name: "Solana",
28
- rpcUrl: "https://solana-mainnet.g.alchemy.com/v2/vB5mKztdJeFdz9RkW99Qf",
27
+ rpcUrl: "https://solana-mainnet.g.alchemy.com/v2/lhoyb3hc9ccT9NA_y2cfA",
29
28
  explorerUrl: "https://explorer.solana.com",
30
29
  nativeToken: { name: "Solana", symbol: "SOL", decimals: 9 },
31
30
  confirmationNo: 1,
@@ -33,7 +32,7 @@ const chainConfig = {
33
32
  const evmChainConfig = {
34
33
  chainId: 8453,
35
34
  name: "Ethereum",
36
- rpcUrl: "https://eth-mainnet.g.alchemy.com/v2/vB5mKztdJeFdz9RkW99Qf",
35
+ rpcUrl: "https://eth-mainnet.g.alchemy.com/v2/lhoyb3hc9ccT9NA_y2cfA",
37
36
  explorerUrl: "https://explorer.ethereum.com",
38
37
  nativeToken: { name: "Ethereum", symbol: "ETH", decimals: 18 },
39
38
  confirmationNo: 1,
@@ -64,6 +63,9 @@ console.log('address: ', wallet.address);
64
63
  // wal.getNativeBalance().then(e => console.log(e))
65
64
  const RPC_URL = chainConfig.rpcUrl;
66
65
  const connection = new web3_js_1.Connection(RPC_URL);
66
+ // const evmConnection = new JsonRpcProvider(evmChainConfig.rpcUrl, {
67
+ // chainId: evmChainConfig.chainId
68
+ // });
67
69
  /**
68
70
  * Fetches and logs the token metadata for a given mint address.
69
71
  * @param mintAddress - The mint address of the token.
@@ -93,4 +95,23 @@ const connection = new web3_js_1.Connection(RPC_URL);
93
95
  // }).catch((error: any) => {
94
96
  // console.error("Error fetching EVM transaction history:", error);
95
97
  // });
98
+ // discoverNFTs("0x498581ff718922c3f8e6a244956af099b2652b2b", evmChainConfig).then(nfts => {
99
+ // console.log("Discovered NFTs:", nfts);
100
+ // }).catch(error => {
101
+ // console.error("Error discovering NFTs:", error);
102
+ // });
103
+ // fetchWalletNfts(new PublicKey("LebronkTYWjc5J1gtqntdMcbhBXgwRgYcCxMA8JMA17"), connection).then(nfts => {
104
+ // console.log("Discovered NFTs:", nfts);
105
+ // }).catch(error => {
106
+ // console.error("Error discovering NFTs:", error);
107
+ // });
108
+ // discoverTokens(new PublicKey("8AXoqNjEVyhhe43ckDEsYiphWxTBH2oWXkKLZAbCNWLL"), connection).then(tokens => {
109
+ // console.log("Discovered Tokens:", tokens);
110
+ // }).catch(error => {
111
+ // console.error("Error discovering Tokens:", error);
112
+ // });
113
+ // //IIFE
114
+ // (async () => {
115
+ // //GET TOKEN LOGO using @solana/spl-token-metadata
116
+ // })();
96
117
  //# sourceMappingURL=test.js.map
package/dist/test.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../utils/test.ts"],"names":[],"mappings":";;;;;;AAGA,gDAA0B;AAE1B,6CAAiE;AAKjE,+BAAuC;AAMvC,yCAAyC;AAGzC,uCAAuC;AAEvC,2CAA2C;AAC3C,MAAM,IAAI,GAAG,0FAA0F,CAAA;AAE1F,QAAA,eAAe,GAAG,iBAAO,CAAC,aAAa,CAAC,cAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1E,MAAM,CAAC,GAAG,uBAAe,YAAY,iBAAO,CAAC;AAC7C,MAAM,aAAa,GAAG,oEAAoE,CAAA;AAC1F,MAAM,cAAc,GAAG,oEAAoE,CAAA;AAC3F,MAAM,SAAS,GAAG,kEAAkE,CAAA;AAEpF,6BAA6B;AAG7B,sDAAsD;AACtD,+DAA+D;AAC/D,0EAA0E;AAC1E,uCAAuC;AACvC,kDAAkD;AAClD,MAAM,WAAW,GAAsB;IACnC,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,+DAA+D;IACvE,WAAW,EAAE,6BAA6B;IAC1C,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE;IAC3D,cAAc,EAAE,CAAC;CAEpB,CAAA;AAED,MAAM,cAAc,GAAsB;IACtC,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,4DAA4D;IACpE,WAAW,EAAE,+BAA+B;IAC5C,WAAW,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC9D,cAAc,EAAE,CAAC;CACpB,CAAA;AAED,MAAM,aAAa,GAAsB;IACrC,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,sBAAsB;IAC9B,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;CAEjE,CAAA;AAGD,qEAAqE;AACrE,MAAM,MAAM,GAAG,IAAI,oBAAc,CAAC,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;AAC9D,MAAM,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;AAC3C,mCAAmC;AACnC,4IAA4I;AAC5I,0EAA0E;AAC1E,0EAA0E;AAC1E,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AACzC,8EAA8E;AAC9E,gBAAgB;AAChB,oCAAoC;AACpC,uCAAuC;AACvC,sCAAsC;AACtC,kBAAkB;AAClB,kDAAkD;AAGlD,qCAAqC;AACrC,mDAAmD;AAOnD,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC;AACnC,MAAM,UAAU,GAAG,IAAI,oBAAU,CAAC,OAAO,CAAC,CAAC;AAE3C;;;GAGG;AAEH,0BAA0B;AAC1B,yBAAyB;AACzB,kBAAkB;AAClB,sBAAsB;AACtB,QAAQ;AACR,oBAAoB;AACpB,6GAA6G;AAC7G,QAAQ;AACR,6BAA6B;AAC7B,oDAAoD;AACpD,6BAA6B;AAC7B,mEAAmE;AACnE,MAAM;AACN,sCAAsC;AACtC,mBAAmB;AACnB,qDAAqD;AACrD,KAAK;AAEL,mGAAmG;AACnG,mCAAmC;AACnC,4BAA4B;AAC5B,8BAA8B;AAC9B,wDAAwD;AACxD,6BAA6B;AAC7B,uEAAuE;AACvE,MAAM"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../utils/test.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -21,6 +21,15 @@ export interface TokenInfo {
21
21
  name: string;
22
22
  symbol: string;
23
23
  decimals: number;
24
+ logoUrl?: string;
25
+ description?: string;
26
+ website?: string;
27
+ social?: {
28
+ twitter?: string;
29
+ discord?: string;
30
+ telegram?: string;
31
+ [key: string]: string | undefined;
32
+ };
24
33
  }
25
34
  export interface UserTokenBalance<AddressType> extends TokenInfo {
26
35
  balance: number;
@@ -33,6 +42,116 @@ export interface NFTInfo {
33
42
  description?: string;
34
43
  image?: string;
35
44
  }
45
+ export interface NFT {
46
+ id: string;
47
+ name: string;
48
+ symbol?: string;
49
+ description: string;
50
+ image?: string;
51
+ uri: string;
52
+ collection: {
53
+ address: string;
54
+ name: string;
55
+ verified?: boolean;
56
+ };
57
+ chainType: 'SVM' | 'EVM';
58
+ balance?: string;
59
+ attributes?: Array<{
60
+ trait_type: string;
61
+ value: string | number;
62
+ display_type?: string;
63
+ }>;
64
+ creators?: Array<{
65
+ address: string;
66
+ verified: boolean;
67
+ share: number;
68
+ }>;
69
+ sellerFeeBasisPoints?: number;
70
+ tokenStandard?: string;
71
+ isSpam?: boolean;
72
+ raw?: {
73
+ svm?: SolanaNFT;
74
+ evm?: EVMNFT;
75
+ };
76
+ }
77
+ export interface SolanaNFT {
78
+ mint: string;
79
+ name: string;
80
+ symbol: string;
81
+ uri: string;
82
+ updateAuthority: string;
83
+ sellerFeeBasisPoints: number;
84
+ creators?: Array<{
85
+ address: string;
86
+ verified: boolean;
87
+ share: number;
88
+ }>;
89
+ }
90
+ export interface EVMNFTContract {
91
+ address: string;
92
+ name: string;
93
+ symbol: string;
94
+ totalSupply: string;
95
+ tokenType: string;
96
+ contractDeployer: string;
97
+ deployedBlockNumber: number;
98
+ isSpam: boolean;
99
+ spamClassifications?: string[];
100
+ }
101
+ export interface EVMNFTOpenSeaMetadata {
102
+ collectionName: string;
103
+ collectionSlug: string;
104
+ floorPrice?: number;
105
+ safelistRequestStatus: string;
106
+ imageUrl?: string;
107
+ lastIngestedAt: string;
108
+ }
109
+ export interface EVMNFTImage {
110
+ cachedUrl?: string;
111
+ thumbnailUrl?: string;
112
+ pngUrl?: string;
113
+ contentType?: string;
114
+ size?: number;
115
+ originalUrl?: string;
116
+ }
117
+ export interface EVMNFTAttribute {
118
+ trait_type: string;
119
+ value: string | number;
120
+ display_type?: string;
121
+ }
122
+ export interface EVMNFTRawMetadata {
123
+ tokenUri?: string;
124
+ metadata?: {
125
+ name?: string;
126
+ description?: string;
127
+ image?: string;
128
+ attributes?: EVMNFTAttribute[];
129
+ [key: string]: any;
130
+ };
131
+ }
132
+ export interface EVMNFTMint {
133
+ mintAddress?: string;
134
+ blockNumber?: number;
135
+ timestamp?: string;
136
+ transactionHash?: string;
137
+ }
138
+ export interface EVMNFT {
139
+ contract: EVMNFTContract;
140
+ openSeaMetadata?: EVMNFTOpenSeaMetadata;
141
+ tokenId: string;
142
+ tokenType: string;
143
+ name: string;
144
+ description: string;
145
+ balance: string;
146
+ image?: EVMNFTImage;
147
+ raw?: EVMNFTRawMetadata;
148
+ mint?: EVMNFTMint;
149
+ timeLastUpdated: string;
150
+ acquiredAt?: string;
151
+ }
152
+ export interface EVMNFTResponse {
153
+ data: EVMNFT[];
154
+ }
36
155
  export interface TransactionResult {
37
156
  hash: string;
38
157
  success: boolean;
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../utils/types.ts"],"names":[],"mappings":";;;AACA,+BAA8B;AAC9B,+BAA8B;AAoDjB,QAAA,YAAY,GAAG;IACxB,KAAK,EAAE,WAAK;IACZ,KAAK,EAAE,WAAK;CACN,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../utils/types.ts"],"names":[],"mappings":";;;AACA,+BAA8B;AAC9B,+BAA8B;AAyMjB,QAAA,YAAY,GAAG;IACxB,KAAK,EAAE,WAAK;IACZ,KAAK,EAAE,WAAK;CACN,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deserialize/multi-vm-wallet",
3
- "version": "1.2.31",
3
+ "version": "1.2.41",
4
4
  "devDependencies": {
5
5
  "@types/bn.js": "^5.2.0",
6
6
  "@types/crypto-js": "^4.2.2",
@@ -1,6 +1,6 @@
1
1
  import { EVMTransactionHistoryItem } from "./evm/transactionParsing";
2
2
  import { SVMTransactionHistoryItem } from "./svm/transactionParsing";
3
- import { Balance, ChainWalletConfig, NFTInfo, TokenInfo, TransactionResult, UserTokenBalance } from "./types";
3
+ import { Balance, ChainWalletConfig, NFTInfo, TokenInfo, TransactionResult, UserTokenBalance, NFT } from "./types";
4
4
 
5
5
  export abstract class ChainWallet<AddressType, PrivateKeyType, ConnectionType> {
6
6
  protected privateKey: PrivateKeyType;
@@ -24,6 +24,7 @@ export abstract class ChainWallet<AddressType, PrivateKeyType, ConnectionType> {
24
24
  abstract transferToken(tokenAddress: TokenInfo, to: AddressType, amount: number): Promise<TransactionResult>;
25
25
  abstract swap(tokenAddress: TokenInfo, to: AddressType, amount: number, slippage?: number): Promise<TransactionResult>;
26
26
  abstract discoverToken(): Promise<UserTokenBalance<AddressType>[]>;
27
+ abstract discoverNFT(): Promise<NFT[]>;
27
28
  abstract getTransactionHistory(): Promise<(SVMTransactionHistoryItem | EVMTransactionHistoryItem)[]>;
28
29
  // abstract transferNFT(contractAddress: AddressType, tokenId: string, to: string): Promise<TransactionResult>;
29
30
  // abstract getTokenInfo(tokenAddress: string): Promise<TokenInfo>;
package/utils/constant.ts CHANGED
@@ -18,7 +18,7 @@ export const DefaultChains: ChainWalletConfig[] = [{
18
18
  }, {
19
19
  chainId: 123456789,
20
20
  name: "Solana",
21
- rpcUrl: "https://solana-mainnet.g.alchemy.com/v2/vB5mKztdJeFdz9RkW99Qf",
21
+ rpcUrl: "https://solana-mainnet.g.alchemy.com/v2/lhoyb3hc9ccT9NA_y2cfA",
22
22
  explorerUrl: "https://explorer.solana.com", // e.g. Solana Explorer
23
23
  nativeToken: {
24
24
  name: "Solana",
package/utils/evm/evm.ts CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  import { EVMDeriveChildPrivateKey } from "../walletBip32";
8
8
  import { ChainWallet } from "../IChainWallet";
9
- import { Balance, ChainWalletConfig, NFTInfo, UserTokenBalance, TokenInfo, TransactionResult } from "../types";
9
+ import { Balance, ChainWalletConfig, NFTInfo, UserTokenBalance, TokenInfo, TransactionResult, NFT } from "../types";
10
10
  import { VM } from "../vm";
11
11
  import { ethers, JsonRpcProvider, Wallet, formatUnits } from "ethers";
12
12
  import BN from "bn.js";
@@ -30,7 +30,8 @@ import {
30
30
  executeContractMethod,
31
31
  getTokenInfo,
32
32
  DESERIALIZED_SUPPORTED_CHAINS,
33
- discoverTokens
33
+ discoverTokens,
34
+ discoverNFTs
34
35
  } from "./utils";
35
36
  import { EVMTransactionHistoryItem, getEVMTransactionHistory } from "./transactionParsing";
36
37
  import { createPublicClient, Hex, http, PublicClient } from "viem";
@@ -184,6 +185,11 @@ export class EVMChainWallet extends ChainWallet<string, string, JsonRpcProvider>
184
185
  return await discoverTokens(this.address, this.config)
185
186
  }
186
187
 
188
+ async discoverNFT(): Promise<NFT[]> {
189
+ // Implement NFT discovery logic here
190
+ return await discoverNFTs(this.address, this.config)
191
+ }
192
+
187
193
  async transferNative(to: string, amount: number): Promise<TransactionResult> {
188
194
  // Implement native transfer logic here
189
195
  const wallet = this.getWallet()