diff --git a/src/fusion-order/fusion-extension.ts b/src/fusion-order/fusion-extension.ts index a8a4dce..8985bd6 100644 --- a/src/fusion-order/fusion-extension.ts +++ b/src/fusion-order/fusion-extension.ts @@ -129,21 +129,35 @@ export class FusionExtension { const hasFees = !integratorFeeRecipient.isZero() || !protocolFeeRecipient.isZero() - const fees = hasFees - ? new FeeTakerExt.Fees( - new FeeTakerExt.ResolverFee( + if (!hasFees) { + return new FusionExtension( + settlementContract, + auctionDetails, + interactionData.whitelist, + { + makerPermit, + customReceiver + } + ) + } + + const fees = new FeeTakerExt.Fees( + interactionData.fees.resolverFee.isZero() + ? FeeTakerExt.ResolverFee.ZERO + : new FeeTakerExt.ResolverFee( protocolFeeRecipient, interactionData.fees.resolverFee, interactionData.fees.whitelistDiscount ), - new FeeTakerExt.IntegratorFee( + interactionData.fees.integratorFee.isZero() + ? FeeTakerExt.IntegratorFee.ZERO + : new FeeTakerExt.IntegratorFee( integratorFeeRecipient, protocolFeeRecipient, interactionData.fees.integratorFee, interactionData.fees.integratorShare ) - ) - : undefined + ) return new FusionExtension( settlementContract, diff --git a/src/fusion-order/fusion-order.spec.ts b/src/fusion-order/fusion-order.spec.ts index a396f93..0790d7d 100644 --- a/src/fusion-order/fusion-order.spec.ts +++ b/src/fusion-order/fusion-order.spec.ts @@ -1,6 +1,5 @@ -import {Address, Bps, MakerTraits} from '@1inch/limit-order-sdk' +import {Address, Bps, MakerTraits, FeeTakerExt} from '@1inch/limit-order-sdk' import {parseUnits} from 'ethers' -import {FeeTakerExt} from '@1inch/limit-order-sdk' import {FusionOrder} from './fusion-order' import {AuctionDetails} from './auction-details' import {Whitelist} from './whitelist'