@paulstinchcombe/gasless-nft-tx 0.2.4 โ†’ 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -8,6 +8,7 @@ A robust, production-ready TypeScript library that enables **gasless NFT transac
8
8
  - **๐Ÿฆ SimpleAccount Operations**: Deploy, mint, and manage NFTs through funded SimpleAccount
9
9
  - **๐Ÿš€ Auto-Deploy Everything**: Automatically deploys SimpleAccountFactory and SimpleAccount when needed
10
10
  - **๐ŸŽจ NFT Operations**: Deploy, mint, and buy NFTs without any gas fees
11
+ - **๐Ÿ” NFT Discovery**: Find ALL NFTs owned by any EOA across ALL contracts
11
12
  - **๐Ÿ”ง Flexible Deployment**: Deploy NFTs with SimpleAccount as owner from the start
12
13
  - **๐Ÿ“ฆ Batch Operations**: Execute multiple operations across different contracts
13
14
  - **๐Ÿ’ฐ Backend Minting**: Alternative backend-controlled minting for maximum reliability
@@ -22,10 +23,11 @@ A robust, production-ready TypeScript library that enables **gasless NFT transac
22
23
 
23
24
  - ๐Ÿ†• **SimpleAccount Owner Deployment**: Deploy NFTs with SimpleAccount as owner from the start - no ownership transfer needed!
24
25
  - ๐ŸŽฏ **Immediate Gasless Minting**: Mint NFTs immediately after deployment through SimpleAccount
26
+ - ๐Ÿ” **Comprehensive NFT Discovery**: Find ALL NFTs owned by any EOA across ALL contracts
25
27
  - ๐Ÿ”„ **Streamlined Workflow**: One-step deployment and minting process
26
28
  - ๐Ÿฆ **Funded SimpleAccount**: SimpleAccount pays its own gas for truly gasless user experience
27
29
  - ๐Ÿ”ง **Backend Minting**: Alternative approach for maximum reliability
28
- - ๐Ÿ“š **Comprehensive Guides**: [Gas Optimization](./docs/GAS_OPTIMIZATION_GUIDE.md), [SimpleAccount Owner Deployment](./docs/SIMPLEACCOUNT_OWNER_DEPLOYMENT.md)
30
+ - ๐Ÿ“š **Comprehensive Guides**: [Gas Optimization](./docs/GAS_OPTIMIZATION_GUIDE.md), [SimpleAccount Owner Deployment](./docs/SIMPLEACCOUNT_OWNER_DEPLOYMENT.md), [NFT Listing](./docs/NFT_LISTING_GUIDE.md)
29
31
 
30
32
  ## ๐Ÿš€ Installation
31
33
 
@@ -78,7 +80,38 @@ if (deployResult.success) {
78
80
  }
79
81
  ```
80
82
 
81
- ### 2. Backend Minting (Alternative)
83
+ ### 2. NFT Discovery (NEW!)
84
+
85
+ ```typescript
86
+ import { createNftListingOperations } from '@paulstinchcombe/gasless-nft-tx';
87
+
88
+ // Create NFT listing instance
89
+ const nftListing = createNftListingOperations({
90
+ rpcUrl: 'https://sepolia.base.org',
91
+ includeMetadata: true,
92
+ });
93
+
94
+ // Discover ALL NFTs owned by an address across ALL contracts
95
+ const result = await nftListing.discoverAllNftsForOwner('0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6');
96
+
97
+ if (result.success) {
98
+ console.log(`Found ${result.totalCount} NFTs across ALL contracts`);
99
+
100
+ // Group by contract
101
+ const byContract = result.tokens?.reduce((acc, token) => {
102
+ const contract = token.contractAddress;
103
+ if (!acc[contract]) acc[contract] = [];
104
+ acc[contract].push(token);
105
+ return acc;
106
+ }, {} as Record<string, typeof result.tokens>);
107
+
108
+ Object.entries(byContract || {}).forEach(([contract, tokens]) => {
109
+ console.log(`Contract ${contract}: ${tokens.length} tokens`);
110
+ });
111
+ }
112
+ ```
113
+
114
+ ### 3. Backend Minting (Alternative)
82
115
 
83
116
  ```typescript
84
117
  import { createBackendMintHandler } from '@paulstinchcombe/gasless-nft-tx';
@@ -106,6 +139,7 @@ const mintResult = await mintHandler.mintNft({
106
139
 
107
140
  - **[SimpleAccount Guide](./docs/SIMPLE_ACCOUNT_GUIDE.md)** - Complete guide to SimpleAccount operations
108
141
  - **[SimpleAccount Owner Deployment](./docs/SIMPLEACCOUNT_OWNER_DEPLOYMENT.md)** - Deploy NFTs with SimpleAccount as owner
142
+ - **[NFT Listing Guide](./docs/NFT_LISTING_GUIDE.md)** - Discover and list NFTs owned by any EOA
109
143
  - **[Backend Mint Guide](./docs/BACKEND_MINT_GUIDE.md)** - Alternative backend-controlled minting
110
144
  - **[Quick Reference](./docs/QUICK_REFERENCE.md)** - Quick start and common patterns
111
145
 
@@ -162,6 +196,7 @@ Check the `examples/` directory for complete working examples:
162
196
  - `test-simpleaccount-operations.ts` - Basic SimpleAccount operations
163
197
  - `deploy-with-simpleaccount.ts` - Deploy NFT with SimpleAccount as owner
164
198
  - `fund-simpleaccount.ts` - Fund SimpleAccount with ETH
199
+ - `list-nfts-example.ts` - Complete NFT discovery and listing examples
165
200
  - `backend-mint-api.ts` - Backend minting API example
166
201
 
167
202
  ## ๐Ÿงช Testing
package/dist/index.d.ts CHANGED
@@ -4,6 +4,8 @@ export { EoaMintHandler, SimpleAccountMintHandler, BackendMintHandler, createEoa
4
4
  export type { EoaMintConfig, SimpleAccountMintConfig, BackendMintConfig, MintRequest, MintResult } from './backend-mint';
5
5
  export { SimpleAccountOperations, createSimpleAccountOperations } from './simpleaccount-operations';
6
6
  export type { SimpleAccountConfig, DeployResult, MintResult as SimpleAccountMintResult, BuyResult, TransferOwnershipResult, } from './simpleaccount-operations';
7
+ export { NftListingOperations, createNftListingOperations } from './nft-listing';
8
+ export type { NftToken, NftMetadata, NftListingResult, NftListingConfig } from './nft-listing';
7
9
  export { deploySimpleAccountFactory, createSimpleAccount, getSimpleAccountAddressFromFactory, isSimpleAccountDeployed, } from './SimpleAccountDeployer';
8
10
  export { SIMPLE_ACCOUNT_BYTECODE, SIMPLE_ACCOUNT_FACTORY_BYTECODE, SIMPLE_ACCOUNT_ABI, SIMPLE_ACCOUNT_FACTORY_ABI, getSimpleAccountAddress, } from './SmartContractWallet/SimpleAccount';
9
11
  export type { NftConstructorArgs } from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGnF,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGlG,OAAO,EACN,cAAc,EACd,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,8BAA8B,EAC9B,wBAAwB,GACxB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,aAAa,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGzH,OAAO,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AACpG,YAAY,EACX,mBAAmB,EACnB,YAAY,EACZ,UAAU,IAAI,uBAAuB,EACrC,SAAS,EACT,uBAAuB,GACvB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACN,0BAA0B,EAC1B,mBAAmB,EACnB,kCAAkC,EAClC,uBAAuB,GACvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACN,uBAAuB,EACvB,+BAA+B,EAC/B,kBAAkB,EAClB,0BAA0B,EAC1B,uBAAuB,GACvB,MAAM,qCAAqC,CAAC;AAG7C,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAGlD,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGnF,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGlG,OAAO,EACN,cAAc,EACd,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,8BAA8B,EAC9B,wBAAwB,GACxB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,aAAa,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGzH,OAAO,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AACpG,YAAY,EACX,mBAAmB,EACnB,YAAY,EACZ,UAAU,IAAI,uBAAuB,EACrC,SAAS,EACT,uBAAuB,GACvB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AACjF,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAG/F,OAAO,EACN,0BAA0B,EAC1B,mBAAmB,EACnB,kCAAkC,EAClC,uBAAuB,GACvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACN,uBAAuB,EACvB,+BAA+B,EAC/B,kBAAkB,EAClB,0BAA0B,EAC1B,uBAAuB,GACvB,MAAM,qCAAqC,CAAC;AAG7C,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAGlD,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSimpleAccountAddress = exports.SIMPLE_ACCOUNT_FACTORY_ABI = exports.SIMPLE_ACCOUNT_ABI = exports.SIMPLE_ACCOUNT_FACTORY_BYTECODE = exports.SIMPLE_ACCOUNT_BYTECODE = exports.isSimpleAccountDeployed = exports.getSimpleAccountAddressFromFactory = exports.createSimpleAccount = exports.deploySimpleAccountFactory = exports.createSimpleAccountOperations = exports.SimpleAccountOperations = exports.createBackendMintHandler = exports.createSimpleAccountMintHandler = exports.createEoaMintHandler = exports.BackendMintHandler = exports.SimpleAccountMintHandler = exports.EoaMintHandler = exports.mintToSelf = exports.safeMint = exports.mintERC721A = exports.executeCustomNftCall = exports.deployContractFromEOA = exports.encodeNftConstructorArgs = void 0;
3
+ exports.getSimpleAccountAddress = exports.SIMPLE_ACCOUNT_FACTORY_ABI = exports.SIMPLE_ACCOUNT_ABI = exports.SIMPLE_ACCOUNT_FACTORY_BYTECODE = exports.SIMPLE_ACCOUNT_BYTECODE = exports.isSimpleAccountDeployed = exports.getSimpleAccountAddressFromFactory = exports.createSimpleAccount = exports.deploySimpleAccountFactory = exports.createNftListingOperations = exports.NftListingOperations = exports.createSimpleAccountOperations = exports.SimpleAccountOperations = exports.createBackendMintHandler = exports.createSimpleAccountMintHandler = exports.createEoaMintHandler = exports.BackendMintHandler = exports.SimpleAccountMintHandler = exports.EoaMintHandler = exports.mintToSelf = exports.safeMint = exports.mintERC721A = exports.executeCustomNftCall = exports.deployContractFromEOA = exports.encodeNftConstructorArgs = void 0;
4
4
  // Main exports for the gasless NFT transaction library
5
5
  var nft_operations_1 = require("./nft-operations");
6
6
  Object.defineProperty(exports, "encodeNftConstructorArgs", { enumerable: true, get: function () { return nft_operations_1.encodeNftConstructorArgs; } });
@@ -23,6 +23,10 @@ Object.defineProperty(exports, "createBackendMintHandler", { enumerable: true, g
23
23
  var simpleaccount_operations_1 = require("./simpleaccount-operations");
24
24
  Object.defineProperty(exports, "SimpleAccountOperations", { enumerable: true, get: function () { return simpleaccount_operations_1.SimpleAccountOperations; } });
25
25
  Object.defineProperty(exports, "createSimpleAccountOperations", { enumerable: true, get: function () { return simpleaccount_operations_1.createSimpleAccountOperations; } });
26
+ // NFT Listing operations
27
+ var nft_listing_1 = require("./nft-listing");
28
+ Object.defineProperty(exports, "NftListingOperations", { enumerable: true, get: function () { return nft_listing_1.NftListingOperations; } });
29
+ Object.defineProperty(exports, "createNftListingOperations", { enumerable: true, get: function () { return nft_listing_1.createNftListingOperations; } });
26
30
  // Export SimpleAccount functionality
27
31
  var SimpleAccountDeployer_1 = require("./SimpleAccountDeployer");
28
32
  Object.defineProperty(exports, "deploySimpleAccountFactory", { enumerable: true, get: function () { return SimpleAccountDeployer_1.deploySimpleAccountFactory; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,mDAAmF;AAA1E,0HAAA,wBAAwB,OAAA;AAAE,uHAAA,qBAAqB,OAAA;AAExD,4DAA4D;AAC5D,iEAAkG;AAAzF,6HAAA,oBAAoB,OAAA;AAAE,oHAAA,WAAW,OAAA;AAAE,iHAAA,QAAQ,OAAA;AAAE,mHAAA,UAAU,OAAA;AAEhE,4DAA4D;AAC5D,+CAOwB;AANvB,8GAAA,cAAc,OAAA;AACd,wHAAA,wBAAwB,OAAA;AACxB,kHAAA,kBAAkB,OAAA;AAClB,oHAAA,oBAAoB,OAAA;AACpB,8HAAA,8BAA8B,OAAA;AAC9B,wHAAA,wBAAwB,OAAA;AAIzB,oEAAoE;AACpE,uEAAoG;AAA3F,mIAAA,uBAAuB,OAAA;AAAE,yIAAA,6BAA6B,OAAA;AAS/D,qCAAqC;AACrC,iEAKiC;AAJhC,mIAAA,0BAA0B,OAAA;AAC1B,4HAAA,mBAAmB,OAAA;AACnB,2IAAA,kCAAkC,OAAA;AAClC,gIAAA,uBAAuB,OAAA;AAGxB,qEAM6C;AAL5C,wHAAA,uBAAuB,OAAA;AACvB,gIAAA,+BAA+B,OAAA;AAC/B,mHAAA,kBAAkB,OAAA;AAClB,2HAAA,0BAA0B,OAAA;AAC1B,wHAAA,uBAAuB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,mDAAmF;AAA1E,0HAAA,wBAAwB,OAAA;AAAE,uHAAA,qBAAqB,OAAA;AAExD,4DAA4D;AAC5D,iEAAkG;AAAzF,6HAAA,oBAAoB,OAAA;AAAE,oHAAA,WAAW,OAAA;AAAE,iHAAA,QAAQ,OAAA;AAAE,mHAAA,UAAU,OAAA;AAEhE,4DAA4D;AAC5D,+CAOwB;AANvB,8GAAA,cAAc,OAAA;AACd,wHAAA,wBAAwB,OAAA;AACxB,kHAAA,kBAAkB,OAAA;AAClB,oHAAA,oBAAoB,OAAA;AACpB,8HAAA,8BAA8B,OAAA;AAC9B,wHAAA,wBAAwB,OAAA;AAIzB,oEAAoE;AACpE,uEAAoG;AAA3F,mIAAA,uBAAuB,OAAA;AAAE,yIAAA,6BAA6B,OAAA;AAS/D,yBAAyB;AACzB,6CAAiF;AAAxE,mHAAA,oBAAoB,OAAA;AAAE,yHAAA,0BAA0B,OAAA;AAGzD,qCAAqC;AACrC,iEAKiC;AAJhC,mIAAA,0BAA0B,OAAA;AAC1B,4HAAA,mBAAmB,OAAA;AACnB,2IAAA,kCAAkC,OAAA;AAClC,gIAAA,uBAAuB,OAAA;AAGxB,qEAM6C;AAL5C,wHAAA,uBAAuB,OAAA;AACvB,gIAAA,+BAA+B,OAAA;AAC/B,mHAAA,kBAAkB,OAAA;AAClB,2HAAA,0BAA0B,OAAA;AAC1B,wHAAA,uBAAuB,OAAA"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * NFT Listing Operations
3
+ *
4
+ * This module provides functionality to list NFTs owned by a user EOA.
5
+ * It supports both specific contract queries and general NFT discovery.
6
+ */
7
+ import { Address } from 'viem';
8
+ export interface NftToken {
9
+ contractAddress: Address;
10
+ tokenId: bigint;
11
+ owner: Address;
12
+ metadata?: NftMetadata;
13
+ }
14
+ export interface NftMetadata {
15
+ name?: string;
16
+ description?: string;
17
+ image?: string;
18
+ attributes?: Array<{
19
+ trait_type: string;
20
+ value: string | number;
21
+ }>;
22
+ }
23
+ export interface NftListingResult {
24
+ success: boolean;
25
+ tokens?: NftToken[];
26
+ totalCount?: number;
27
+ error?: string;
28
+ }
29
+ export interface NftListingConfig {
30
+ /** RPC URL for the blockchain network */
31
+ rpcUrl: string;
32
+ /** Optional: Specific contract addresses to check (if not provided, will attempt to discover) */
33
+ contractAddresses?: Address[];
34
+ /** Optional: Maximum number of tokens to return per contract */
35
+ maxTokensPerContract?: number;
36
+ /** Optional: Whether to fetch metadata for each token */
37
+ includeMetadata?: boolean;
38
+ /** Optional: Block range for event scanning (defaults to last 10000 blocks) */
39
+ blockRange?: {
40
+ fromBlock?: bigint;
41
+ toBlock?: bigint;
42
+ };
43
+ /** Optional: Maximum number of contracts to discover (defaults to 50) */
44
+ maxContractsToDiscover?: number;
45
+ }
46
+ export declare class NftListingOperations {
47
+ private config;
48
+ private publicClient;
49
+ private static readonly ERC721_ABI;
50
+ constructor(config: NftListingConfig);
51
+ /**
52
+ * List all NFTs owned by a specific address for a given contract
53
+ */
54
+ listNftsForContract(ownerAddress: Address, contractAddress: Address): Promise<NftListingResult>;
55
+ /**
56
+ * List all NFTs owned by a specific address across multiple contracts
57
+ */
58
+ listAllNftsForOwner(ownerAddress: Address): Promise<NftListingResult>;
59
+ /**
60
+ * Discover all NFT contracts that an address has interacted with
61
+ */
62
+ discoverAllNftContracts(ownerAddress: Address): Promise<{
63
+ success: boolean;
64
+ contractAddresses?: Address[];
65
+ error?: string;
66
+ }>;
67
+ /**
68
+ * Comprehensive NFT discovery - finds ALL NFTs owned by an address
69
+ * This is the main method you should use for complete discovery
70
+ */
71
+ discoverAllNftsForOwner(ownerAddress: Address): Promise<NftListingResult>;
72
+ /**
73
+ * Get detailed information about a specific NFT
74
+ */
75
+ getNftDetails(contractAddress: Address, tokenId: bigint): Promise<{
76
+ success: boolean;
77
+ token?: NftToken;
78
+ error?: string;
79
+ }>;
80
+ /**
81
+ * Check if a contract supports ERC-721 standard
82
+ */
83
+ private isERC721Contract;
84
+ /**
85
+ * Fetch metadata for a specific token
86
+ */
87
+ private fetchTokenMetadata;
88
+ /**
89
+ * Get contract information (name, symbol, total supply)
90
+ */
91
+ getContractInfo(contractAddress: Address): Promise<{
92
+ success: boolean;
93
+ name?: string;
94
+ symbol?: string;
95
+ totalSupply?: bigint;
96
+ error?: string;
97
+ }>;
98
+ }
99
+ /**
100
+ * Create an NftListingOperations instance
101
+ */
102
+ export declare function createNftListingOperations(config: NftListingConfig): NftListingOperations;
103
+ //# sourceMappingURL=nft-listing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nft-listing.d.ts","sourceRoot":"","sources":["../src/nft-listing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAwE,MAAM,MAAM,CAAC;AAGrG,MAAM,WAAW,QAAQ;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,KAAK,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAChC,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,iGAAiG;IACjG,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC;IAC9B,gEAAgE;IAChE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,yDAAyD;IACzD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,+EAA+E;IAC/E,UAAU,CAAC,EAAE;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,yEAAyE;IACzE,sBAAsB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,qBAAa,oBAAoB;IAChC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,YAAY,CAAwC;IAG5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAS/B;gBAES,MAAM,EAAE,gBAAgB;IAQpC;;OAEG;IACG,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA8ErG;;OAEG;IACG,mBAAmB,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAwD3E;;OAEG;IACG,uBAAuB,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC;QAC7D,OAAO,EAAE,OAAO,CAAC;QACjB,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC;QAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IAwGF;;;OAGG;IACG,uBAAuB,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0D/E;;OAEG;IACG,aAAa,CAClB,eAAe,EAAE,OAAO,EACxB,OAAO,EAAE,MAAM,GACb,OAAO,CAAC;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,QAAQ,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IAoCF;;OAEG;YACW,gBAAgB;IA2B9B;;OAEG;YACW,kBAAkB;IAqChC;;OAEG;IACG,eAAe,CAAC,eAAe,EAAE,OAAO,GAAG,OAAO,CAAC;QACxD,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CAoCF;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,gBAAgB,GAAG,oBAAoB,CAEzF"}
@@ -0,0 +1,457 @@
1
+ "use strict";
2
+ /**
3
+ * NFT Listing Operations
4
+ *
5
+ * This module provides functionality to list NFTs owned by a user EOA.
6
+ * It supports both specific contract queries and general NFT discovery.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.NftListingOperations = void 0;
10
+ exports.createNftListingOperations = createNftListingOperations;
11
+ const viem_1 = require("viem");
12
+ const chains_1 = require("viem/chains");
13
+ class NftListingOperations {
14
+ config;
15
+ publicClient;
16
+ // Standard ERC-721 ABI for basic operations
17
+ static ERC721_ABI = (0, viem_1.parseAbi)([
18
+ 'function balanceOf(address owner) view returns (uint256)',
19
+ 'function tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)',
20
+ 'function ownerOf(uint256 tokenId) view returns (address)',
21
+ 'function tokenURI(uint256 tokenId) view returns (string)',
22
+ 'function name() view returns (string)',
23
+ 'function symbol() view returns (string)',
24
+ 'function totalSupply() view returns (uint256)',
25
+ 'function supportsInterface(bytes4 interfaceId) view returns (bool)',
26
+ ]);
27
+ constructor(config) {
28
+ this.config = config;
29
+ this.publicClient = (0, viem_1.createPublicClient)({
30
+ transport: (0, viem_1.http)(config.rpcUrl),
31
+ chain: chains_1.baseSepolia,
32
+ }); // Type assertion to avoid viem version compatibility issues
33
+ }
34
+ /**
35
+ * List all NFTs owned by a specific address for a given contract
36
+ */
37
+ async listNftsForContract(ownerAddress, contractAddress) {
38
+ try {
39
+ console.log(`๐Ÿ” Listing NFTs for ${ownerAddress} in contract ${contractAddress}`);
40
+ // Check if contract supports ERC-721
41
+ const isERC721 = await this.isERC721Contract(contractAddress);
42
+ if (!isERC721) {
43
+ return {
44
+ success: false,
45
+ error: `Contract ${contractAddress} does not support ERC-721 standard`,
46
+ };
47
+ }
48
+ // Get balance of owner
49
+ const balance = await this.publicClient.readContract({
50
+ address: contractAddress,
51
+ abi: NftListingOperations.ERC721_ABI,
52
+ functionName: 'balanceOf',
53
+ args: [ownerAddress],
54
+ });
55
+ console.log(` Balance: ${balance} tokens`);
56
+ if (balance === 0n) {
57
+ return {
58
+ success: true,
59
+ tokens: [],
60
+ totalCount: 0,
61
+ };
62
+ }
63
+ // Get all token IDs owned by the address
64
+ const tokens = [];
65
+ const maxTokens = this.config.maxTokensPerContract || Number(balance);
66
+ for (let i = 0; i < Math.min(Number(balance), maxTokens); i++) {
67
+ try {
68
+ const tokenId = await this.publicClient.readContract({
69
+ address: contractAddress,
70
+ abi: NftListingOperations.ERC721_ABI,
71
+ functionName: 'tokenOfOwnerByIndex',
72
+ args: [ownerAddress, BigInt(i)],
73
+ });
74
+ const token = {
75
+ contractAddress,
76
+ tokenId,
77
+ owner: ownerAddress,
78
+ };
79
+ // Fetch metadata if requested
80
+ if (this.config.includeMetadata) {
81
+ token.metadata = await this.fetchTokenMetadata(contractAddress, tokenId);
82
+ }
83
+ tokens.push(token);
84
+ }
85
+ catch (error) {
86
+ console.warn(` Failed to get token at index ${i}: ${error.message}`);
87
+ // Continue with other tokens
88
+ }
89
+ }
90
+ console.log(` Found ${tokens.length} tokens`);
91
+ return {
92
+ success: true,
93
+ tokens,
94
+ totalCount: tokens.length,
95
+ };
96
+ }
97
+ catch (error) {
98
+ console.error(`โŒ Failed to list NFTs for contract ${contractAddress}:`, error);
99
+ return {
100
+ success: false,
101
+ error: error.message || 'Unknown error occurred',
102
+ };
103
+ }
104
+ }
105
+ /**
106
+ * List all NFTs owned by a specific address across multiple contracts
107
+ */
108
+ async listAllNftsForOwner(ownerAddress) {
109
+ try {
110
+ console.log(`๐Ÿ” Listing all NFTs for ${ownerAddress}`);
111
+ const allTokens = [];
112
+ let totalCount = 0;
113
+ // If specific contracts are provided, check only those
114
+ if (this.config.contractAddresses && this.config.contractAddresses.length > 0) {
115
+ console.log(` Checking ${this.config.contractAddresses.length} specific contracts`);
116
+ for (const contractAddress of this.config.contractAddresses) {
117
+ const result = await this.listNftsForContract(ownerAddress, contractAddress);
118
+ if (result.success && result.tokens) {
119
+ allTokens.push(...result.tokens);
120
+ totalCount += result.totalCount || 0;
121
+ }
122
+ }
123
+ }
124
+ else {
125
+ // Discover all NFT contracts that this address has interacted with
126
+ console.log(` No specific contracts provided. Discovering NFT contracts...`);
127
+ const discoveryResult = await this.discoverAllNftContracts(ownerAddress);
128
+ if (!discoveryResult.success) {
129
+ return discoveryResult;
130
+ }
131
+ const discoveredContracts = discoveryResult.contractAddresses || [];
132
+ console.log(` Discovered ${discoveredContracts.length} NFT contracts`);
133
+ // Check each discovered contract
134
+ for (const contractAddress of discoveredContracts) {
135
+ const result = await this.listNftsForContract(ownerAddress, contractAddress);
136
+ if (result.success && result.tokens) {
137
+ allTokens.push(...result.tokens);
138
+ totalCount += result.totalCount || 0;
139
+ }
140
+ }
141
+ }
142
+ console.log(`โœ… Found ${totalCount} total NFTs across all contracts`);
143
+ return {
144
+ success: true,
145
+ tokens: allTokens,
146
+ totalCount,
147
+ };
148
+ }
149
+ catch (error) {
150
+ console.error(`โŒ Failed to list all NFTs for owner ${ownerAddress}:`, error);
151
+ return {
152
+ success: false,
153
+ error: error.message || 'Unknown error occurred',
154
+ };
155
+ }
156
+ }
157
+ /**
158
+ * Discover all NFT contracts that an address has interacted with
159
+ */
160
+ async discoverAllNftContracts(ownerAddress) {
161
+ try {
162
+ console.log(`๐Ÿ” Discovering NFT contracts for ${ownerAddress}`);
163
+ // Get current block number
164
+ const currentBlock = await this.publicClient.getBlockNumber();
165
+ const blockRange = this.config.blockRange || {
166
+ fromBlock: currentBlock - 10000n, // Default to last 10000 blocks
167
+ toBlock: currentBlock,
168
+ };
169
+ console.log(` Scanning blocks ${blockRange.fromBlock} to ${blockRange.toBlock}`);
170
+ // ERC-721 Transfer event signature
171
+ const transferEventSignature = '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef';
172
+ // Get all Transfer events where the address is either from or to
173
+ const logs = await this.publicClient.getLogs({
174
+ fromBlock: blockRange.fromBlock,
175
+ toBlock: blockRange.toBlock,
176
+ topics: [
177
+ transferEventSignature,
178
+ undefined, // from (any)
179
+ undefined, // to (any)
180
+ ],
181
+ }); // Type assertion for viem compatibility
182
+ console.log(` Found ${logs.length} Transfer events`);
183
+ // Extract unique contract addresses and verify they are ERC-721
184
+ const contractAddresses = new Set();
185
+ const maxContracts = this.config.maxContractsToDiscover || 50;
186
+ for (const log of logs) {
187
+ try {
188
+ // Decode the Transfer event
189
+ const decoded = (0, viem_1.decodeEventLog)({
190
+ abi: [
191
+ {
192
+ type: 'event',
193
+ name: 'Transfer',
194
+ inputs: [
195
+ { name: 'from', type: 'address', indexed: true },
196
+ { name: 'to', type: 'address', indexed: true },
197
+ { name: 'tokenId', type: 'uint256', indexed: true },
198
+ ],
199
+ },
200
+ ],
201
+ data: log.data,
202
+ topics: log.topics,
203
+ });
204
+ const { from, to } = decoded.args;
205
+ // Check if this address is involved in the transfer
206
+ if (from.toLowerCase() === ownerAddress.toLowerCase() || to.toLowerCase() === ownerAddress.toLowerCase()) {
207
+ contractAddresses.add(log.address);
208
+ }
209
+ }
210
+ catch (error) {
211
+ // Skip invalid logs
212
+ continue;
213
+ }
214
+ // Limit the number of contracts to check
215
+ if (contractAddresses.size >= maxContracts) {
216
+ console.log(` Reached maximum contract limit (${maxContracts})`);
217
+ break;
218
+ }
219
+ }
220
+ const uniqueContracts = Array.from(contractAddresses);
221
+ console.log(` Found ${uniqueContracts.length} unique contract addresses`);
222
+ // Verify each contract is actually ERC-721
223
+ const verifiedContracts = [];
224
+ for (const contractAddress of uniqueContracts) {
225
+ try {
226
+ const isERC721 = await this.isERC721Contract(contractAddress);
227
+ if (isERC721) {
228
+ verifiedContracts.push(contractAddress);
229
+ console.log(` โœ… Verified ERC-721: ${contractAddress}`);
230
+ }
231
+ else {
232
+ console.log(` โŒ Not ERC-721: ${contractAddress}`);
233
+ }
234
+ }
235
+ catch (error) {
236
+ console.log(` โŒ Error verifying ${contractAddress}: ${error}`);
237
+ }
238
+ }
239
+ console.log(` Verified ${verifiedContracts.length} ERC-721 contracts`);
240
+ return {
241
+ success: true,
242
+ contractAddresses: verifiedContracts,
243
+ };
244
+ }
245
+ catch (error) {
246
+ console.error(`โŒ Failed to discover NFT contracts:`, error);
247
+ return {
248
+ success: false,
249
+ error: error.message || 'Unknown error occurred',
250
+ };
251
+ }
252
+ }
253
+ /**
254
+ * Comprehensive NFT discovery - finds ALL NFTs owned by an address
255
+ * This is the main method you should use for complete discovery
256
+ */
257
+ async discoverAllNftsForOwner(ownerAddress) {
258
+ try {
259
+ console.log(`๐Ÿš€ Comprehensive NFT discovery for ${ownerAddress}`);
260
+ console.log(` This will scan blockchain events to find ALL NFT contracts`);
261
+ // First discover all NFT contracts
262
+ const discoveryResult = await this.discoverAllNftContracts(ownerAddress);
263
+ if (!discoveryResult.success) {
264
+ return {
265
+ success: false,
266
+ error: `Failed to discover contracts: ${discoveryResult.error}`,
267
+ };
268
+ }
269
+ const contractAddresses = discoveryResult.contractAddresses || [];
270
+ if (contractAddresses.length === 0) {
271
+ console.log(` No NFT contracts found for this address`);
272
+ return {
273
+ success: true,
274
+ tokens: [],
275
+ totalCount: 0,
276
+ };
277
+ }
278
+ // Now list NFTs from all discovered contracts
279
+ console.log(` Checking ${contractAddresses.length} discovered contracts for owned NFTs...`);
280
+ const allTokens = [];
281
+ let totalCount = 0;
282
+ for (const contractAddress of contractAddresses) {
283
+ console.log(` Checking contract: ${contractAddress}`);
284
+ const result = await this.listNftsForContract(ownerAddress, contractAddress);
285
+ if (result.success && result.tokens) {
286
+ allTokens.push(...result.tokens);
287
+ totalCount += result.totalCount || 0;
288
+ console.log(` Found ${result.totalCount} NFTs`);
289
+ }
290
+ else {
291
+ console.log(` No NFTs found or error: ${result.error}`);
292
+ }
293
+ }
294
+ console.log(`โœ… Discovery complete! Found ${totalCount} NFTs across ${contractAddresses.length} contracts`);
295
+ return {
296
+ success: true,
297
+ tokens: allTokens,
298
+ totalCount,
299
+ };
300
+ }
301
+ catch (error) {
302
+ console.error(`โŒ Comprehensive discovery failed:`, error);
303
+ return {
304
+ success: false,
305
+ error: error.message || 'Unknown error occurred',
306
+ };
307
+ }
308
+ }
309
+ /**
310
+ * Get detailed information about a specific NFT
311
+ */
312
+ async getNftDetails(contractAddress, tokenId) {
313
+ try {
314
+ console.log(`๐Ÿ” Getting details for token ${tokenId} in contract ${contractAddress}`);
315
+ // Get owner
316
+ const owner = await this.publicClient.readContract({
317
+ address: contractAddress,
318
+ abi: NftListingOperations.ERC721_ABI,
319
+ functionName: 'ownerOf',
320
+ args: [tokenId],
321
+ });
322
+ const token = {
323
+ contractAddress,
324
+ tokenId,
325
+ owner,
326
+ };
327
+ // Fetch metadata
328
+ if (this.config.includeMetadata) {
329
+ token.metadata = await this.fetchTokenMetadata(contractAddress, tokenId);
330
+ }
331
+ return {
332
+ success: true,
333
+ token,
334
+ };
335
+ }
336
+ catch (error) {
337
+ console.error(`โŒ Failed to get NFT details:`, error);
338
+ return {
339
+ success: false,
340
+ error: error.message || 'Unknown error occurred',
341
+ };
342
+ }
343
+ }
344
+ /**
345
+ * Check if a contract supports ERC-721 standard
346
+ */
347
+ async isERC721Contract(contractAddress) {
348
+ try {
349
+ // Check if contract supports ERC-721 interface
350
+ const supportsInterface = await this.publicClient.readContract({
351
+ address: contractAddress,
352
+ abi: NftListingOperations.ERC721_ABI,
353
+ functionName: 'supportsInterface',
354
+ args: ['0x80ac58cd'], // ERC-721 interface ID
355
+ });
356
+ return supportsInterface;
357
+ }
358
+ catch (error) {
359
+ // If supportsInterface fails, try to call balanceOf as a fallback
360
+ try {
361
+ await this.publicClient.readContract({
362
+ address: contractAddress,
363
+ abi: NftListingOperations.ERC721_ABI,
364
+ functionName: 'balanceOf',
365
+ args: ['0x0000000000000000000000000000000000000000'],
366
+ });
367
+ return true;
368
+ }
369
+ catch {
370
+ return false;
371
+ }
372
+ }
373
+ }
374
+ /**
375
+ * Fetch metadata for a specific token
376
+ */
377
+ async fetchTokenMetadata(contractAddress, tokenId) {
378
+ try {
379
+ // Get token URI
380
+ const tokenURI = await this.publicClient.readContract({
381
+ address: contractAddress,
382
+ abi: NftListingOperations.ERC721_ABI,
383
+ functionName: 'tokenURI',
384
+ args: [tokenId],
385
+ });
386
+ if (!tokenURI || tokenURI === '') {
387
+ return undefined;
388
+ }
389
+ // Parse URI and fetch metadata
390
+ let metadataUrl = tokenURI;
391
+ if (tokenURI.startsWith('ipfs://')) {
392
+ metadataUrl = `https://ipfs.io/ipfs/${tokenURI.slice(7)}`;
393
+ }
394
+ else if (tokenURI.startsWith('ar://')) {
395
+ metadataUrl = `https://arweave.net/${tokenURI.slice(5)}`;
396
+ }
397
+ // Fetch metadata from URL
398
+ const response = await fetch(metadataUrl);
399
+ if (!response.ok) {
400
+ console.warn(`Failed to fetch metadata from ${metadataUrl}: ${response.status}`);
401
+ return undefined;
402
+ }
403
+ const metadata = await response.json();
404
+ return metadata;
405
+ }
406
+ catch (error) {
407
+ console.warn(`Failed to fetch metadata for token ${tokenId}: ${error.message}`);
408
+ return undefined;
409
+ }
410
+ }
411
+ /**
412
+ * Get contract information (name, symbol, total supply)
413
+ */
414
+ async getContractInfo(contractAddress) {
415
+ try {
416
+ console.log(`๐Ÿ” Getting contract info for ${contractAddress}`);
417
+ const [name, symbol, totalSupply] = await Promise.allSettled([
418
+ this.publicClient.readContract({
419
+ address: contractAddress,
420
+ abi: NftListingOperations.ERC721_ABI,
421
+ functionName: 'name',
422
+ }),
423
+ this.publicClient.readContract({
424
+ address: contractAddress,
425
+ abi: NftListingOperations.ERC721_ABI,
426
+ functionName: 'symbol',
427
+ }),
428
+ this.publicClient.readContract({
429
+ address: contractAddress,
430
+ abi: NftListingOperations.ERC721_ABI,
431
+ functionName: 'totalSupply',
432
+ }),
433
+ ]);
434
+ return {
435
+ success: true,
436
+ name: name.status === 'fulfilled' ? name.value : undefined,
437
+ symbol: symbol.status === 'fulfilled' ? symbol.value : undefined,
438
+ totalSupply: totalSupply.status === 'fulfilled' ? totalSupply.value : undefined,
439
+ };
440
+ }
441
+ catch (error) {
442
+ console.error(`โŒ Failed to get contract info:`, error);
443
+ return {
444
+ success: false,
445
+ error: error.message || 'Unknown error occurred',
446
+ };
447
+ }
448
+ }
449
+ }
450
+ exports.NftListingOperations = NftListingOperations;
451
+ /**
452
+ * Create an NftListingOperations instance
453
+ */
454
+ function createNftListingOperations(config) {
455
+ return new NftListingOperations(config);
456
+ }
457
+ //# sourceMappingURL=nft-listing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nft-listing.js","sourceRoot":"","sources":["../src/nft-listing.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import { Address, Hex } from 'viem';
8
8
  import { NftConstructorArgs } from './types';
9
+ import { NftToken, NftListingResult } from './nft-listing';
9
10
  export interface SimpleAccountConfig {
10
11
  /** RPC URL for the blockchain network */
11
12
  rpcUrl: string;
@@ -82,6 +83,40 @@ export declare class SimpleAccountOperations {
82
83
  transactionHash?: Hex;
83
84
  error?: string;
84
85
  }>;
86
+ /**
87
+ * List NFTs owned by a specific address for a given contract
88
+ */
89
+ listNftsForContract(ownerAddress: Address, contractAddress: Address): Promise<NftListingResult>;
90
+ /**
91
+ * List all NFTs owned by a specific address across multiple contracts
92
+ */
93
+ listAllNftsForOwner(ownerAddress: Address, contractAddresses?: Address[]): Promise<NftListingResult>;
94
+ /**
95
+ * Discover ALL NFTs owned by a specific address across ALL contracts
96
+ * This scans blockchain events to find every NFT contract the address has interacted with
97
+ */
98
+ discoverAllNftsForOwner(ownerAddress: Address, blockRange?: {
99
+ fromBlock?: bigint;
100
+ toBlock?: bigint;
101
+ }): Promise<NftListingResult>;
102
+ /**
103
+ * Get detailed information about a specific NFT
104
+ */
105
+ getNftDetails(contractAddress: Address, tokenId: bigint): Promise<{
106
+ success: boolean;
107
+ token?: NftToken;
108
+ error?: string;
109
+ }>;
110
+ /**
111
+ * Get contract information (name, symbol, total supply)
112
+ */
113
+ getContractInfo(contractAddress: Address): Promise<{
114
+ success: boolean;
115
+ name?: string;
116
+ symbol?: string;
117
+ totalSupply?: bigint;
118
+ error?: string;
119
+ }>;
85
120
  /**
86
121
  * Encode NFT constructor arguments
87
122
  */
@@ -1 +1 @@
1
- {"version":3,"file":"simpleaccount-operations.d.ts","sourceRoot":"","sources":["../src/simpleaccount-operations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACN,OAAO,EACP,GAAG,EAWH,MAAM,MAAM,CAAC;AAKd,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,WAAW,mBAAmB;IACnC,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,eAAe,EAAE,GAAG,CAAC;IACrB,4CAA4C;IAC5C,oBAAoB,EAAE,OAAO,CAAC;IAC9B,6CAA6C;IAC7C,eAAe,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uBAAuB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,uBAAuB;IACnC,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,OAAO,CAAyC;gBAE5C,MAAM,EAAE,mBAAmB;IAcvC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAMnC;;OAEG;IACG,gBAAgB,CAAC,WAAW,GAAE,MAA4B,GAAG,OAAO,CAAC,OAAO,CAAC;IAKnF;;;OAGG;IACG,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,eAAe,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IAyJ9G;;OAEG;IACG,OAAO,CAAC,kBAAkB,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAsG5G;;OAEG;IACG,MAAM,CAAC,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,SAAS,CAAC;IAiGlG;;;OAGG;IACG,iBAAiB,CACtB,eAAe,EAAE,OAAO,EACxB,QAAQ,GAAE,OAA0C,GAClD,OAAO,CAAC,uBAAuB,CAAC;IA+FnC;;OAEG;IACG,YAAY,CACjB,UAAU,EAAE,KAAK,CAAC;QACjB,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,GAAG,CAAC;KACd,CAAC,GACA,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,GAAG,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA8BvE;;OAEG;IACH,OAAO,CAAC,wBAAwB;CAahC;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,mBAAmB,GAAG,uBAAuB,CAElG"}
1
+ {"version":3,"file":"simpleaccount-operations.d.ts","sourceRoot":"","sources":["../src/simpleaccount-operations.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ const accounts_1 = require("viem/accounts");
13
13
  const chains_1 = require("viem/chains");
14
14
  const SimpleAccount_1 = require("./SmartContractWallet/SimpleAccount");
15
15
  const Deployer_1 = require("./SmartContractWallet/Deployer");
16
+ const nft_listing_1 = require("./nft-listing");
16
17
  class SimpleAccountOperations {
17
18
  config;
18
19
  publicClient;
@@ -482,6 +483,58 @@ class SimpleAccountOperations {
482
483
  };
483
484
  }
484
485
  }
486
+ /**
487
+ * List NFTs owned by a specific address for a given contract
488
+ */
489
+ async listNftsForContract(ownerAddress, contractAddress) {
490
+ const nftListing = (0, nft_listing_1.createNftListingOperations)({
491
+ rpcUrl: this.config.rpcUrl,
492
+ includeMetadata: true,
493
+ });
494
+ return await nftListing.listNftsForContract(ownerAddress, contractAddress);
495
+ }
496
+ /**
497
+ * List all NFTs owned by a specific address across multiple contracts
498
+ */
499
+ async listAllNftsForOwner(ownerAddress, contractAddresses) {
500
+ const nftListing = (0, nft_listing_1.createNftListingOperations)({
501
+ rpcUrl: this.config.rpcUrl,
502
+ contractAddresses,
503
+ includeMetadata: true,
504
+ });
505
+ return await nftListing.listAllNftsForOwner(ownerAddress);
506
+ }
507
+ /**
508
+ * Discover ALL NFTs owned by a specific address across ALL contracts
509
+ * This scans blockchain events to find every NFT contract the address has interacted with
510
+ */
511
+ async discoverAllNftsForOwner(ownerAddress, blockRange) {
512
+ const nftListing = (0, nft_listing_1.createNftListingOperations)({
513
+ rpcUrl: this.config.rpcUrl,
514
+ includeMetadata: true,
515
+ blockRange,
516
+ });
517
+ return await nftListing.discoverAllNftsForOwner(ownerAddress);
518
+ }
519
+ /**
520
+ * Get detailed information about a specific NFT
521
+ */
522
+ async getNftDetails(contractAddress, tokenId) {
523
+ const nftListing = (0, nft_listing_1.createNftListingOperations)({
524
+ rpcUrl: this.config.rpcUrl,
525
+ includeMetadata: true,
526
+ });
527
+ return await nftListing.getNftDetails(contractAddress, tokenId);
528
+ }
529
+ /**
530
+ * Get contract information (name, symbol, total supply)
531
+ */
532
+ async getContractInfo(contractAddress) {
533
+ const nftListing = (0, nft_listing_1.createNftListingOperations)({
534
+ rpcUrl: this.config.rpcUrl,
535
+ });
536
+ return await nftListing.getContractInfo(contractAddress);
537
+ }
485
538
  /**
486
539
  * Encode NFT constructor arguments
487
540
  */
@@ -1 +1 @@
1
- {"version":3,"file":"simpleaccount-operations.js","sourceRoot":"","sources":["../src/simpleaccount-operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simpleaccount-operations.js","sourceRoot":"","sources":["../src/simpleaccount-operations.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paulstinchcombe/gasless-nft-tx",
3
- "version": "0.2.4",
3
+ "version": "0.2.6",
4
4
  "description": "Library for gasless NFT transactions using SimpleAccount operations",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",