增加waitForTransaction结果的判断

This commit is contained in:
CounterFire2023 2024-07-22 14:15:00 +08:00
parent 0672798d64
commit 65bc26ed3f

View File

@ -29,14 +29,20 @@ export class Locker {
const addressApproval = await nftContract.getApproved(tokenId)
if ((addressApproval || "").toLowerCase() != lockAddress.toLowerCase()) {
const resApproval = await nftContract.approve(lockAddress, tokenId);
await provider.waitForTransaction(resApproval.hash)
const res = await provider.waitForTransaction(resApproval.hash)
if (res.status == 0) {
throw new Error('approval failed')
}
console.debug('approve', resApproval.hash)
}
}
const contract = new ethers.Contract(lockAddress, lockAbi, provider.getSigner())
const res = await contract.lock(nft, address, tokenIds)
await provider.waitForTransaction(res.hash)
const resConfirm = await provider.waitForTransaction(res.hash)
if (resConfirm.status == 0) {
throw new Error('lock failed')
}
return res.hash
}
@ -66,7 +72,10 @@ export class Locker {
}]
})
console.log(txHash)
await provider.waitForTransaction(txHash)
const res = await provider.waitForTransaction(txHash)
if (res.status == 0) {
throw new Error('transaction failed')
}
return txHash
}
async execUnlock(provider, chainId, nft, tokenIds) {