Open trajan0x opened 7 months ago
To resolve the issue of approving to both synapse_cctp and token messenger, follow these steps:
Update approveToken
function in /packages/synapse-interface/utils/approveToken.tsx
:
address
and tokenAddress
are not zero addresses before calling approveErc20Token
.
if (address === zeroAddress || tokenAddress === zeroAddress) {
throw new Error('Cannot approve to zero address');
}
Update approveErc20Token
function in /packages/synapse-interface/actions/approveErc20Token.ts
:
spender
and tokenAddress
are not zero addresses before proceeding with the approval.
if (spender === zeroAddress || tokenAddress === zeroAddress) {
throw new Error('Cannot approve to zero address');
}
Update approve
function in /packages/synapse-interface/utils/actions/approveAndDeposit.tsx
and /packages/synapse-interface/utils/actions/approveAndWithdraw.tsx
:
poolAddress
and tokenToApprove
are not zero addresses before calling approveToken
.
if (poolAddress === zeroAddress || tokenToApprove === zeroAddress) {
throw new Error('Cannot approve to zero address');
}
These changes will prevent approvals to zero addresses and avoid reverts.
/packages/synapse-interface/utils/approveToken.tsx /packages/synapse-interface/actions/approveErc20Token.ts /packages/synapse-interface/utils/actions/approveAndDeposit.tsx /packages/synapse-interface/utils/actions/approveAndWithdraw.tsx
Currently, we approve to both, so if one is not set we get a revert on 0 addresses.
Also should not try to approve at all to 0 address