diff --git a/src/components/chain/contract/Locker.js b/src/components/chain/contract/Locker.js index aa7d090..6ef4d2f 100644 --- a/src/components/chain/contract/Locker.js +++ b/src/components/chain/contract/Locker.js @@ -84,8 +84,8 @@ export class Locker { return txHash } async execUnlock(provider, chainId, nft, tokenIds) { + const nftContract = new ethers.Contract(nft, erc721Abi, provider.getSigner()) for (let tokenId of tokenIds) { - const nftContract = new ethers.Contract(nft, erc721Abi, provider.getSigner()) const owner = await nftContract.ownerOf(tokenId) if (owner.toLowerCase() != lockAddressImtbl.toLowerCase() && owner.toLowerCase() != lockAddressMain.toLowerCase()) { throw new Error('params mismatch, perhaps one transaction is pending')