diff --git a/.changeset/chilled-hotels-draw.md b/.changeset/chilled-hotels-draw.md new file mode 100644 index 000000000..37cfd859b --- /dev/null +++ b/.changeset/chilled-hotels-draw.md @@ -0,0 +1,6 @@ +--- +'@xchainjs/xchain-mayachain-amm': minor +'@xchainjs/xchain-thorchain-amm': minor +--- + +Add validation that allows synthetics to be discarded from EVM approvals diff --git a/packages/xchain-mayachain-amm/src/mayachain-amm.ts b/packages/xchain-mayachain-amm/src/mayachain-amm.ts index 76cb664d4..717a09680 100644 --- a/packages/xchain-mayachain-amm/src/mayachain-amm.ts +++ b/packages/xchain-mayachain-amm/src/mayachain-amm.ts @@ -319,7 +319,7 @@ export class MayachainAMM { private isERC20Asset(asset: Asset): boolean { // Check if the asset's chain is an EVM chain and if the symbol matches AssetETH.symbol return this.isEVMChain(asset.chain) - ? [AssetETH].findIndex((nativeEVMAsset) => eqAsset(nativeEVMAsset, asset)) === -1 + ? [AssetETH].findIndex((nativeEVMAsset) => eqAsset(nativeEVMAsset, asset)) === -1 && !asset.synth : false } diff --git a/packages/xchain-thorchain-amm/src/utils.ts b/packages/xchain-thorchain-amm/src/utils.ts index d143777d4..4cebe2a62 100644 --- a/packages/xchain-thorchain-amm/src/utils.ts +++ b/packages/xchain-thorchain-amm/src/utils.ts @@ -21,7 +21,8 @@ export const isProtocolEVMChain = (chain: Chain): boolean => { */ export const isProtocolERC20Asset = (asset: Asset): boolean => { return isProtocolEVMChain(asset.chain) - ? [AssetETH, AssetAVAX, AssetBSC].findIndex((nativeEVMAsset) => eqAsset(nativeEVMAsset, asset)) === -1 + ? [AssetETH, AssetAVAX, AssetBSC].findIndex((nativeEVMAsset) => eqAsset(nativeEVMAsset, asset)) === -1 && + !asset.synth : false }