Skip to content

Commit

Permalink
fix: catch error
Browse files Browse the repository at this point in the history
  • Loading branch information
Holybasil committed Jun 14, 2023
1 parent 7d8a9ca commit e4f986c
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 29 deletions.
2 changes: 2 additions & 0 deletions src/pages/bridge/Send/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,8 @@ const Send: FC = () => {
}
}, [fromNetwork, fromToken, fromTokenAmount, checkApproval])

console.log(needsApproval, "needsApproval")

const approveFromToken = async () => {
// eslint-disable-next-line
const parsedAmount = amountToBN(fromTokenAmount, fromToken.decimals)
Expand Down
62 changes: 34 additions & 28 deletions src/pages/nftBridge/NFTPanel/Transfer/Send.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ const Send = () => {

const [txHash, setTxHash] = useState("")

// TODO: how to call this after approve
const needApproval = useAsyncMemo(async () => {
if (tokenInstance) {
const isApproved = await checkApproval(tokenInstance, gatewayAddress)
Expand Down Expand Up @@ -74,35 +75,40 @@ const Send = () => {
const handleSend = async () => {
setSendLoading(true)
setSendModalLoading(true)
const tx = isLayer1 ? await deposite() : await withdraw()
addNFTTransaction({
hash: tx.hash,
fromName: fromNetwork.name,
toName: toNetwork.name,
fromExplore: fromNetwork.explorer,
toExplore: toNetwork.explorer,
tokenType: contract.type,
tokenAddress: isLayer1 ? contract.l1 : contract.l2,
amounts: selectedList.map(item => item.transferAmount),
tokenIds: selectedTokenIds,
isL1: isLayer1,
})
tx.wait()
.then(receipt => {
console.log(receipt, "send receipt")
updateNFTTransaction(tx.hash, {
fromBlockNumber: receipt.blockNumber,
})
setTxHash(receipt.transactionHash)
exciseSelected()
})
.catch(error => {
updatePromptMessage(error.message)
})
.finally(() => {
setSendLoading(false)
setSendModalLoading(false)
try {
const tx = isLayer1 ? await deposite() : await withdraw()
addNFTTransaction({
hash: tx.hash,
fromName: fromNetwork.name,
toName: toNetwork.name,
fromExplore: fromNetwork.explorer,
toExplore: toNetwork.explorer,
tokenType: contract.type,
tokenAddress: isLayer1 ? contract.l1 : contract.l2,
amounts: selectedList.map(item => item.transferAmount),
tokenIds: selectedTokenIds,
isL1: isLayer1,
})

tx.wait()
.then(receipt => {
updateNFTTransaction(tx.hash, {
fromBlockNumber: receipt.blockNumber,
})
setTxHash(receipt.transactionHash)
exciseSelected()
})
.catch(error => {
updatePromptMessage(error.message)
})
.finally(() => {
setSendLoading(false)
setSendModalLoading(false)
})
} catch (e) {
setSendLoading(false)
setSendModalLoading(false)
}
}

const deposite = () => {
Expand Down
2 changes: 1 addition & 1 deletion src/pages/nftBridge/NFTPanel/Viewing/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ const Viewing = props => {
if (exists) {
uri = await tokenInstance["uri(uint256)"](currentTokenId)
amount = await tokenInstance["balanceOf(address,uint256)"](walletCurrentAddress, currentTokenId)
amount = (amount as any).toNumber()
amount = Number(amount)
} else {
throw new Error("Token does not exist!")
}
Expand Down

0 comments on commit e4f986c

Please sign in to comment.