@@ -984,9 +984,17 @@ public static async Task<List<BigInteger>> ERC1155_BalanceOfBatch(this ThirdwebC
984984 throw new ArgumentNullException ( nameof ( contract ) ) ;
985985 }
986986
987- return ownerAddresses == null || tokenIds == null
988- ? throw new ArgumentException ( "Owner addresses and token IDs must be provided" )
989- : await ThirdwebContract . Read < List < BigInteger > > ( contract , "balanceOfBatch" , ownerAddresses , tokenIds ) ;
987+ if ( ownerAddresses == null || tokenIds == null )
988+ {
989+ throw new ArgumentException ( "Owner addresses and token IDs must be provided" ) ;
990+ }
991+
992+ if ( ownerAddresses . Length != tokenIds . Length )
993+ {
994+ throw new ArgumentException ( "Owner addresses and token IDs must have the same length" ) ;
995+ }
996+
997+ return await ThirdwebContract . Read < List < BigInteger > > ( contract , "balanceOfBatch" , ownerAddresses , tokenIds ) ;
990998 }
991999
9921000 /// <summary>
@@ -1487,19 +1495,21 @@ public static async Task<List<NFT>> ERC1155_GetOwnedNFTs(this ThirdwebContract c
14871495
14881496 var balanceOfBatch = await contract . ERC1155_BalanceOfBatch ( ownerArray . ToArray ( ) , tokenIds . ToArray ( ) ) . ConfigureAwait ( false ) ;
14891497
1490- var ownerNftTasks = new List < Task < NFT > > ( ) ;
1498+ var ownedNftTasks = new List < Task < NFT > > ( ) ;
1499+ var ownedBalances = new List < BigInteger > ( ) ;
14911500 for ( var i = 0 ; i < balanceOfBatch . Count ; i ++ )
14921501 {
14931502 if ( balanceOfBatch [ i ] > 0 )
14941503 {
1495- ownerNftTasks . Add ( contract . ERC1155_GetNFT ( tokenIds [ i ] ) ) ;
1504+ ownedNftTasks . Add ( contract . ERC1155_GetNFT ( tokenIds [ i ] ) ) ;
1505+ ownedBalances . Add ( balanceOfBatch [ i ] ) ;
14961506 }
14971507 }
14981508
1499- var ownerNfts = await Task . WhenAll ( ownerNftTasks ) . ConfigureAwait ( false ) ;
1509+ var ownerNfts = await Task . WhenAll ( ownedNftTasks ) . ConfigureAwait ( false ) ;
15001510 for ( var i = 0 ; i < ownerNfts . Length ; i ++ )
15011511 {
1502- ownerNfts [ i ] . QuantityOwned = balanceOfBatch [ i ] ;
1512+ ownerNfts [ i ] . QuantityOwned = ownedBalances [ i ] ;
15031513 }
15041514 return ownerNfts . ToList ( ) ;
15051515 }
0 commit comments