@across-protocol/sdk 4.3.166-alpha.0 → 4.3.167
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/src/relayFeeCalculator/relayFeeCalculator.d.ts +6 -0
- package/dist/cjs/src/relayFeeCalculator/relayFeeCalculator.js +16 -11
- package/dist/cjs/src/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/esm/src/relayFeeCalculator/relayFeeCalculator.d.ts +14 -0
- package/dist/esm/src/relayFeeCalculator/relayFeeCalculator.js +48 -20
- package/dist/esm/src/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/types/src/relayFeeCalculator/relayFeeCalculator.d.ts +14 -0
- package/dist/types/src/relayFeeCalculator/relayFeeCalculator.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/relayFeeCalculator/relayFeeCalculator.ts +63 -22
|
@@ -99,6 +99,12 @@ export declare class RelayFeeCalculator {
|
|
|
99
99
|
gasFeePercent(deposit: RelayData & {
|
|
100
100
|
destinationChainId: number;
|
|
101
101
|
}, outputAmount: BigNumberish, outputTokenInfo: TokenInfo, simulateZeroFill?: boolean, relayerAddress?: Address, _tokenPrice?: number, gasPrice?: BigNumberish, gasLimit?: BigNumberish, _tokenGasCost?: BigNumberish, transport?: Transport): Promise<BigNumber>;
|
|
102
|
+
protected resolveAuxNativeFee(deposit: RelayData & {
|
|
103
|
+
destinationChainId: number;
|
|
104
|
+
}, outputAmount: BigNumberish, outputTokenInfo: TokenInfo, _tokenPrice?: number): Promise<{
|
|
105
|
+
auxFeesInToken: BigNumber;
|
|
106
|
+
auxNativeFeePercent: BigNumber;
|
|
107
|
+
}>;
|
|
102
108
|
auxNativeFeePercent(deposit: RelayData & {
|
|
103
109
|
destinationChainId: number;
|
|
104
110
|
}, outputAmount: BigNumberish, outputTokenInfo: TokenInfo, _tokenPrice?: number): Promise<BigNumber>;
|
|
@@ -98,9 +98,7 @@ class RelayFeeCalculator {
|
|
|
98
98
|
const gasFeesInToken = (0, utils_1.nativeToToken)(tokenGasCost, tokenPrice, outputTokenInfo.decimals, this.nativeTokenDecimals);
|
|
99
99
|
return (0, utils_1.percent)(gasFeesInToken, outputAmount.toString());
|
|
100
100
|
}
|
|
101
|
-
async
|
|
102
|
-
if ((0, utils_1.toBN)(outputAmount).eq(utils_1.bnZero))
|
|
103
|
-
return utils_1.MAX_BIG_INT;
|
|
101
|
+
async resolveAuxNativeFee(deposit, outputAmount, outputTokenInfo, _tokenPrice) {
|
|
104
102
|
let auxNativeCost = utils_1.bnZero;
|
|
105
103
|
try {
|
|
106
104
|
auxNativeCost = this.queries.getAuxiliaryNativeTokenCost(deposit);
|
|
@@ -116,8 +114,15 @@ class RelayFeeCalculator {
|
|
|
116
114
|
throw error;
|
|
117
115
|
}
|
|
118
116
|
const tokenPrice = await this.resolveTokenPrice(outputTokenInfo, _tokenPrice, deposit);
|
|
119
|
-
const auxFeesInToken = (0, utils_1.nativeToToken)(auxNativeCost, tokenPrice, outputTokenInfo.decimals, this.nativeTokenDecimals);
|
|
120
|
-
|
|
117
|
+
const auxFeesInToken = (0, utils_1.toBN)((0, utils_1.nativeToToken)(auxNativeCost, tokenPrice, outputTokenInfo.decimals, this.nativeTokenDecimals));
|
|
118
|
+
const auxNativeFeePercent = (0, utils_1.toBN)(outputAmount).eq(utils_1.bnZero) ? utils_1.MAX_BIG_INT : (0, utils_1.percent)(auxFeesInToken, outputAmount);
|
|
119
|
+
return { auxFeesInToken, auxNativeFeePercent };
|
|
120
|
+
}
|
|
121
|
+
async auxNativeFeePercent(deposit, outputAmount, outputTokenInfo, _tokenPrice) {
|
|
122
|
+
if ((0, utils_1.toBN)(outputAmount).eq(utils_1.bnZero))
|
|
123
|
+
return utils_1.MAX_BIG_INT;
|
|
124
|
+
const { auxNativeFeePercent } = await this.resolveAuxNativeFee(deposit, outputAmount, outputTokenInfo, _tokenPrice);
|
|
125
|
+
return auxNativeFeePercent;
|
|
121
126
|
}
|
|
122
127
|
capitalFeePercent(_outputAmount, _tokenSymbol, _originRoute, _destinationRoute) {
|
|
123
128
|
if ((0, utils_1.toBN)(_outputAmount).eq((0, utils_1.toBN)(0)))
|
|
@@ -218,23 +223,23 @@ class RelayFeeCalculator {
|
|
|
218
223
|
const gasFeeTotal = gasFeePercent.mul(outToInDecimals(outputAmount.toString())).div(utils_1.fixedPointAdjustment);
|
|
219
224
|
const capitalFeePercent = this.capitalFeePercent(outputAmount, inputTokenInfo.symbol, deposit.originChainId.toString(), deposit.destinationChainId.toString());
|
|
220
225
|
const capitalFeeTotal = capitalFeePercent.mul(outToInDecimals(outputAmount.toString())).div(utils_1.fixedPointAdjustment);
|
|
221
|
-
const auxNativeFeePercent = await this.
|
|
226
|
+
const { auxFeesInToken, auxNativeFeePercent } = await this.resolveAuxNativeFee(deposit, outputAmount, outputTokenInfo, tokenPrice);
|
|
227
|
+
const auxFeesInInputDecimals = (0, utils_1.toBN)(outToInDecimals(auxFeesInToken.toString()));
|
|
222
228
|
const auxNativeFeeTotal = auxNativeFeePercent
|
|
223
229
|
.mul(outToInDecimals(outputAmount.toString()))
|
|
224
230
|
.div(utils_1.fixedPointAdjustment);
|
|
225
231
|
const auxNativeDiscountPercent = this.gasDiscountPercent;
|
|
226
232
|
const relayFeePercent = gasFeePercent.add(capitalFeePercent).add(auxNativeFeePercent);
|
|
227
233
|
const relayFeeTotal = gasFeeTotal.add(capitalFeeTotal).add(auxNativeFeeTotal);
|
|
228
|
-
const maxGasFeePercent = (0, utils_1.max)((0, utils_1.toBNWei)(this.feeLimitPercent
|
|
229
|
-
|
|
230
|
-
.sub(auxNativeFeePercent), (0, utils_1.toBN)(0));
|
|
234
|
+
const maxGasFeePercent = (0, utils_1.max)((0, utils_1.toBNWei)(this.feeLimitPercent).div(100).sub(capitalFeePercent).sub(auxNativeFeePercent), utils_1.bnZero);
|
|
235
|
+
const minDepositBudget = (0, utils_1.max)((0, utils_1.toBNWei)(this.feeLimitPercent).div(100).sub(capitalFeePercent), utils_1.bnZero);
|
|
231
236
|
let minDeposit, isAmountTooLow;
|
|
232
|
-
if (
|
|
237
|
+
if (minDepositBudget.eq(utils_1.bnZero)) {
|
|
233
238
|
minDeposit = utils_1.MAX_BIG_INT;
|
|
234
239
|
isAmountTooLow = true;
|
|
235
240
|
}
|
|
236
241
|
else {
|
|
237
|
-
minDeposit = gasFeeTotal.mul(utils_1.fixedPointAdjustment).div(
|
|
242
|
+
minDeposit = gasFeeTotal.add(auxFeesInInputDecimals).mul(utils_1.fixedPointAdjustment).div(minDepositBudget);
|
|
238
243
|
isAmountTooLow = (0, utils_1.toBN)(outputAmount).lt(minDeposit);
|
|
239
244
|
}
|
|
240
245
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relayFeeCalculator.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/relayFeeCalculator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"relayFeeCalculator.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/relayFeeCalculator.ts"],"names":[],"mappings":";;;AA0HA,8CAIC;;AA9HD,4DAA4B;AAE5B,4CAIsB;AAGtB,oCAsBkB;AAoBL,QAAA,wBAAwB,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAgE9E,QAAA,cAAc,GAAW;IACpC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;IACvC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;IACrC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;IACrC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;CACxC,CAAC;AAEF,SAAgB,iBAAiB,CAAC,OAAgB;IAChD,OAAO,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,IAAA,kBAAU,EAAC,OAAO,CAAC;QAC9C,CAAC,CAAC,kBAAU,CAAC,IAAI,CAAC,iDAAqC,CAAC;QACxD,CAAC,CAAC,kBAAU,CAAC,IAAI,CAAC,6CAAiC,CAAC,CAAC;AACzD,CAAC;AAGD,MAAM,gBAAgB,GAAG,IAAA,YAAI,EAAC,GAAG,CAAC,CAAC;AAEnC,MAAa,kBAAkB;IACrB,OAAO,CAAiB;IACxB,kBAAkB,CAA2D;IAC7E,sBAAsB,CAA+D;IACrF,eAAe,CAAwD;IACvE,mBAAmB,CAA4D;IAC/E,kBAAkB,CAAiD;IAInE,MAAM,CAAS;IAIvB,YAAY,MAAiC,EAAE,MAAe,EAAE,kBAA2B;QACzF,IAAA,gBAAM,EAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;QAE1C,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,IAAA,gBAAM,EAAC,kBAAkB,KAAK,SAAS,EAAE,+DAA+D,CAAC,CAAC;YAC1G,IAAA,gBAAM,EAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,2CAA2C,CAAC,CAAC;YAC3F,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC;QAC5D,IAAA,gBAAM,EACJ,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,IAAI,CAAC,kBAAkB,IAAI,GAAG,EAC9D,sDAAsD,CACvD,CAAC;QACF,IAAA,gBAAM,EACJ,IAAI,CAAC,sBAAsB,IAAI,CAAC,IAAI,IAAI,CAAC,sBAAsB,IAAI,GAAG,EACtE,0DAA0D,CAC3D,CAAC;QACF,IAAA,gBAAM,EACJ,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,IAAI,GAAG,EACxD,mDAAmD,CACpD,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,WAAW,CAC1C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,EAAE;YACtE,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,kBAAkB,CAAC,8CAA8C,CAAC,YAAY,CAAC,CAAC,CAAC;QAChH,CAAC,CAAC,CACH,CAAC;QACF,IAAA,gBAAM,EAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,iDAAiD,CAAC,CAAC;QAC3G,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,sBAAc,CAAC;QAEvC,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAYO,MAAM,CAAC,2BAA2B,CACxC,MAAqD;QAErD,OAAQ,MAAoC,CAAC,OAAO,KAAK,SAAS,CAAC;IACrE,CAAC;IAOD,MAAM,CAAC,8CAA8C,CACnD,YAA2D;QAK3D,MAAM,MAAM,GAA8B,IAAI,CAAC,2BAA2B,CAAC,YAAY,CAAC;YACtF,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QAG9B,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEhD,KAAK,MAAM,eAAe,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,EAAE,CAAC;YACzE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAE1F,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAE/F,OAAO,MAAM,CAAC;IAChB,CAAC;IAMD,MAAM,CAAC,0BAA0B,CAAC,YAA+B;QAC/D,IAAA,gBAAM,EAAC,IAAA,YAAI,EAAC,YAAY,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,IAAA,eAAO,EAAC,GAAG,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC;QACrF,IAAA,gBAAM,EAAC,YAAY,CAAC,QAAQ,GAAG,CAAC,IAAI,YAAY,CAAC,QAAQ,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;IACvF,CAAC;IAED,aAAa,CAAC,WAAmB;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAqBD,KAAK,CAAC,aAAa,CACjB,OAAmD,EACnD,YAA0B,EAC1B,eAA0B,EAC1B,gBAAgB,GAAG,KAAK,EACxB,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAC9D,WAAoB,EACpB,QAAuB,EACvB,QAAuB,EACvB,aAA4B,EAC5B,SAAqB;QAErB,IAAI,IAAA,YAAI,EAAC,YAAY,CAAC,CAAC,EAAE,CAAC,cAAM,CAAC;YAAE,OAAO,mBAAW,CAAC;QAItD,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAA,YAAI,EAAC,YAAY,CAAC,CAAC;QACjF,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC;QAExD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO;aAC7B,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;aACjF,IAAI,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC;aACxC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAChB,EAAE,EAAE,mBAAmB;gBACvB,OAAO,EAAE,gCAAgC;gBACzC,KAAK;gBACL,gBAAgB;gBAChB,OAAO;aACR,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACL,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACnD,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW;YAC5D,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,WAAW,EAAE,OAAO,CAAC;SAC9D,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,IAAA,qBAAa,EAAC,YAAY,EAAE,UAAU,EAAE,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACnH,OAAO,IAAA,eAAO,EAAC,cAAc,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;IAUS,KAAK,CAAC,mBAAmB,CACjC,OAAmD,EACnD,YAA0B,EAC1B,eAA0B,EAC1B,WAAoB;QAEpB,IAAI,aAAa,GAAG,cAAM,CAAC;QAC3B,IAAI,CAAC;YACH,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAChB,EAAE,EAAE,yBAAyB;gBAC7B,OAAO,EAAE,kDAAkD;gBAC3D,KAAK;gBACL,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;gBAC9C,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QACvF,MAAM,cAAc,GAAG,IAAA,YAAI,EACzB,IAAA,qBAAa,EAAC,aAAa,EAAE,UAAU,EAAE,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAC7F,CAAC;QACF,MAAM,mBAAmB,GAAG,IAAA,YAAI,EAAC,YAAY,CAAC,CAAC,EAAE,CAAC,cAAM,CAAC,CAAC,CAAC,CAAC,mBAAW,CAAC,CAAC,CAAC,IAAA,eAAO,EAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAChH,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAC;IACjD,CAAC;IAMD,KAAK,CAAC,mBAAmB,CACvB,OAAmD,EACnD,YAA0B,EAC1B,eAA0B,EAC1B,WAAoB;QAEpB,IAAI,IAAA,YAAI,EAAC,YAAY,CAAC,CAAC,EAAE,CAAC,cAAM,CAAC;YAAE,OAAO,mBAAW,CAAC;QACtD,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;QACpH,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAGD,iBAAiB,CACf,aAA2B,EAC3B,YAAoB,EACpB,YAA8B,EAC9B,iBAAmC;QAGnC,IAAI,IAAA,YAAI,EAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAA,YAAI,EAAC,CAAC,CAAC,CAAC;YAAE,OAAO,mBAAW,CAAC;QAKxD,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,IAAA,iBAAS,EAAC,eAAe,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAChB,EAAE,EAAE,uBAAuB;gBAC3B,OAAO,EAAE,sCAAsC,YAAY,EAAE;aAC9D,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,8CAA8C,YAAY,EAAE,CAAC,CAAC;QAChF,CAAC;aAKI,CAAC;YAMJ,MAAM,aAAa,GAAG,eAAe,EAAE,cAAc,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;YACvG,MAAM,wBAAwB,GAAG,eAAe,EAAE,yBAAyB,EAAE,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;YACvG,MAAM,mBAAmB,GAAG,eAAe,EAAE,oBAAoB,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;YACxF,MAAM,MAAM,GACV,aAAa,IAAI,wBAAwB,IAAI,mBAAmB,IAAI,eAAe,CAAC,OAAO,CAAC;YAG9F,IAAI,CAAC,qBAAqB,CACxB,YAAY,EACZ,YAAY,IAAI,EAAE,EAClB,iBAAiB,IAAI,EAAE,EACvB,aAAa,EACb,wBAAwB,EACxB,mBAAmB,CACpB,CAAC;YAGF,MAAM,CAAC,GAAG,IAAA,YAAI,EAAC,aAAa,CAAC,CAAC,GAAG,CAAC,IAAA,eAAO,EAAC,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEtE,MAAM,SAAS,GAAG,IAAA,YAAI,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,4BAAoB,CAAC,CAAC;YAI3E,MAAM,SAAS,GAAG,IAAA,WAAG,EAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAIxC,MAAM,aAAa,GAAG,IAAA,YAAI,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAA,YAAI,EAAC,CAAC,CAAC,CAAC;gBACnD,CAAC,CAAC,IAAA,YAAI,EAAC,CAAC,CAAC;gBACT,CAAC,CAAC,IAAA,YAAI,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,4BAAoB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAChG,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,4BAAoB,CAAC,CAAC;YAC9E,MAAM,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAA,eAAO,EAAC,CAAC,CAAC,CAAC,CAAC;YAIrE,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,IAAA,YAAI,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACtD,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,CAAC,IAAA,YAAI,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,4BAAoB,CAAC,CAAC;YAEjH,OAAO,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,4BAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IAQO,uBAAuB;QAC7B,KAAK,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAEjF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC;YAE1F,MAAM,UAAU,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC,CAAC;YAG7F,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;oBAC9D,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBAC9B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,cAAe,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;wBAC1E,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC5B,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;YAGD,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACrD,SAAS;YACX,CAAC;YAGD,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBACnD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/C,MAAM,aAAa,GAAG,WAAW,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;oBAC7E,MAAM,wBAAwB,GAAG,WAAW,CAAC,yBAAyB,EAAE,CAAC,SAAS,CAAC,CAAC;oBACpF,MAAM,mBAAmB,GAAG,WAAW,CAAC,oBAAoB,EAAE,CAAC,WAAW,CAAC,CAAC;oBAE5E,IAAI,CAAC,qBAAqB,CACxB,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,EACb,wBAAwB,EACxB,mBAAmB,CACpB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAMO,qBAAqB,CAC3B,WAAmB,EACnB,WAAmB,EACnB,SAAiB,EACjB,aAAiC,EACjC,wBAA4C,EAC5C,mBAAuC;QAEvC,MAAM,aAAa,GAAG,CAAC,aAAa,EAAE,wBAAwB,EAAE,mBAAmB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAE5G,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,UAAU,GAAG,aAAa;gBAC9B,CAAC,CAAC,gBAAgB;gBAClB,CAAC,CAAC,wBAAwB;oBAC1B,CAAC,CAAC,4BAA4B;oBAC9B,CAAC,CAAC,mBAAmB;wBACrB,CAAC,CAAC,uBAAuB;wBACzB,CAAC,CAAC,kBAAkB,CAAC;YAEvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,EAAE,EAAE,oBAAoB;gBACxB,OAAO,EAAE,2CAA2C,WAAW,eAAe,WAAW,aAAa,SAAS,EAAE;gBACjH,UAAU;gBACV,aAAa;gBACb,wBAAwB;gBACxB,mBAAmB;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAiBD,KAAK,CAAC,iBAAiB,CACrB,OAAmD,EACnD,YAA2B,EAC3B,gBAAgB,GAAG,KAAK,EACxB,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAC9D,WAAoB,EACpB,QAAuB,EACvB,QAAuB,EACvB,YAA2B;QAI3B,YAAY,KAAK,OAAO,CAAC,YAAY,CAAC;QACtC,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEjF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAEvF,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,GAClE,YAAY,IAAI,QAAQ;YACtB,CAAC,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC3D,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO;iBACf,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;iBAC5D,IAAI,CAAC,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC;iBAC5E,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;oBAChB,EAAE,EAAE,uBAAuB;oBAC3B,OAAO,EAAE,gCAAgC;oBACzC,KAAK;oBACL,gBAAgB;oBAChB,OAAO;iBACR,CAAC,CAAC;gBACH,MAAM,KAAK,CAAC;YACd,CAAC,CAAC,CAAC;QAEX,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAC5C,OAAO,EACP,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,QAAQ,EACR,cAAc,EACd,aAAa,CACd,CAAC;QACF,MAAM,eAAe,GAAG,IAAA,uBAAe,EAAC,eAAe,CAAC,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC3F,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,4BAAoB,CAAC,CAAC;QAC1G,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAC9C,YAAY,EACZ,cAAc,CAAC,MAAM,EACrB,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,EAChC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CACtC,CAAC;QACF,MAAM,eAAe,GAAG,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,4BAAoB,CAAC,CAAC;QAElH,MAAM,EAAE,cAAc,EAAE,mBAAmB,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAC5E,OAAO,EACP,YAAY,EACZ,eAAe,EACf,UAAU,CACX,CAAC;QACF,MAAM,sBAAsB,GAAG,IAAA,YAAI,EAAC,eAAe,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAChF,MAAM,iBAAiB,GAAG,mBAAmB;aAC1C,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC7C,GAAG,CAAC,4BAAoB,CAAC,CAAC;QAC7B,MAAM,wBAAwB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAEzD,MAAM,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACtF,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAM9E,MAAM,gBAAgB,GAAG,IAAA,WAAG,EAC1B,IAAA,eAAO,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,EACtF,cAAM,CACP,CAAC;QAmBF,MAAM,gBAAgB,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,cAAM,CAAC,CAAC;QACpG,IAAI,UAAqB,EAAE,cAAuB,CAAC;QACnD,IAAI,gBAAgB,CAAC,EAAE,CAAC,cAAM,CAAC,EAAE,CAAC;YAGhC,UAAU,GAAG,mBAAW,CAAC;YACzB,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,4BAAoB,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACrG,cAAc,GAAG,IAAA,YAAI,EAAC,YAAY,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QACrD,CAAC;QAED,OAAO;YACL,aAAa,EAAE,YAAY,CAAC,QAAQ,EAAE;YACtC,WAAW,EAAE,cAAc,CAAC,MAAM;YAClC,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE;YACvC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;YACnC,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;YACnC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,mBAAmB,EAAE,mBAAmB,CAAC,QAAQ,EAAE;YACnD,iBAAiB,EAAE,iBAAiB,CAAC,QAAQ,EAAE;YAC/C,wBAAwB;YACxB,iBAAiB,EAAE,iBAAiB,CAAC,QAAQ,EAAE;YAC/C,eAAe,EAAE,eAAe,CAAC,QAAQ,EAAE;YAC3C,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,eAAe,EAAE,eAAe,CAAC,QAAQ,EAAE;YAC3C,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE;YACvC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,EAAE;YAC7C,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;YACjC,cAAc;SACf,CAAC;IACJ,CAAC;IAED,sBAAsB,CACpB,OAAmD,EACnD,YAAY,GAAG,6BAAiB;QAKhC,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;QAKlE,MAAM,4BAA4B,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CACnE,CAAC,OAAO,EAAE,EAAE,CACV,IAAA,8BAAsB,EAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC/E,IAAA,iBAAS,EAAC,OAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CACnD,CAAC;QACF,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE;YACrD,CAAC,CAAC,IAAA,qBAAa,EAAC,4BAA6B,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;YAChG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QACxB,MAAM,eAAe,GAAG,IAAA,oBAAY,EAAC,WAAW,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAAC;QACpF,MAAM,cAAc,GAAG,IAAA,oBAAY,EAAC,UAAU,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;QAC7E,IAAI,CAAC,IAAA,iBAAS,EAAC,eAAe,CAAC,IAAI,CAAC,IAAA,iBAAS,EAAC,cAAc,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,wCAAwC,UAAU,OAAO,WAAW,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,eAA0B,EAC1B,WAA+B,EAC/B,OAAmD;QAEnD,OAAO,CACL,WAAW;YACX,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACxE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;oBAChB,EAAE,EAAE,uBAAuB;oBAC3B,OAAO,EAAE,kCAAkC;oBAC3C,KAAK;oBACL,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;oBAC9C,UAAU,EAAE,OAAO,CAAC,UAAU;iBAC/B,CAAC,CAAC;gBACH,MAAM,KAAK,CAAC;YACd,CAAC,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;CACF;AAvjBD,gDAujBC"}
|
|
@@ -137,6 +137,20 @@ export declare class RelayFeeCalculator {
|
|
|
137
137
|
gasFeePercent(deposit: RelayData & {
|
|
138
138
|
destinationChainId: number;
|
|
139
139
|
}, outputAmount: BigNumberish, outputTokenInfo: TokenInfo, simulateZeroFill?: boolean, relayerAddress?: Address, _tokenPrice?: number, gasPrice?: BigNumberish, gasLimit?: BigNumberish, _tokenGasCost?: BigNumberish, transport?: Transport): Promise<BigNumber>;
|
|
140
|
+
/**
|
|
141
|
+
* Resolve the auxiliary native token fee in absolute output-token units and as a
|
|
142
|
+
* percentage of `outputAmount`. The absolute form is amount-invariant (it depends
|
|
143
|
+
* only on the deposit and price), so callers reasoning about `minDeposit` should
|
|
144
|
+
* prefer it over the percent — the percent diverges as `outputAmount → 0`.
|
|
145
|
+
*
|
|
146
|
+
* Treats auxiliary native outlay as value forwarded to user, reported separately.
|
|
147
|
+
*/
|
|
148
|
+
protected resolveAuxNativeFee(deposit: RelayData & {
|
|
149
|
+
destinationChainId: number;
|
|
150
|
+
}, outputAmount: BigNumberish, outputTokenInfo: TokenInfo, _tokenPrice?: number): Promise<{
|
|
151
|
+
auxFeesInToken: BigNumber;
|
|
152
|
+
auxNativeFeePercent: BigNumber;
|
|
153
|
+
}>;
|
|
140
154
|
/**
|
|
141
155
|
* Calculate the auxiliary native token fee as a % of the amount to relay.
|
|
142
156
|
* Treats auxiliary native outlay as value forwarded to user, reported separately.
|
|
@@ -145,12 +145,14 @@ export class RelayFeeCalculator {
|
|
|
145
145
|
return percent(gasFeesInToken, outputAmount.toString());
|
|
146
146
|
}
|
|
147
147
|
/**
|
|
148
|
-
*
|
|
148
|
+
* Resolve the auxiliary native token fee in absolute output-token units and as a
|
|
149
|
+
* percentage of `outputAmount`. The absolute form is amount-invariant (it depends
|
|
150
|
+
* only on the deposit and price), so callers reasoning about `minDeposit` should
|
|
151
|
+
* prefer it over the percent — the percent diverges as `outputAmount → 0`.
|
|
152
|
+
*
|
|
149
153
|
* Treats auxiliary native outlay as value forwarded to user, reported separately.
|
|
150
154
|
*/
|
|
151
|
-
async
|
|
152
|
-
if (toBN(outputAmount).eq(bnZero))
|
|
153
|
-
return MAX_BIG_INT;
|
|
155
|
+
async resolveAuxNativeFee(deposit, outputAmount, outputTokenInfo, _tokenPrice) {
|
|
154
156
|
let auxNativeCost = bnZero;
|
|
155
157
|
try {
|
|
156
158
|
auxNativeCost = this.queries.getAuxiliaryNativeTokenCost(deposit);
|
|
@@ -166,8 +168,19 @@ export class RelayFeeCalculator {
|
|
|
166
168
|
throw error;
|
|
167
169
|
}
|
|
168
170
|
const tokenPrice = await this.resolveTokenPrice(outputTokenInfo, _tokenPrice, deposit);
|
|
169
|
-
const auxFeesInToken = nativeToToken(auxNativeCost, tokenPrice, outputTokenInfo.decimals, this.nativeTokenDecimals);
|
|
170
|
-
|
|
171
|
+
const auxFeesInToken = toBN(nativeToToken(auxNativeCost, tokenPrice, outputTokenInfo.decimals, this.nativeTokenDecimals));
|
|
172
|
+
const auxNativeFeePercent = toBN(outputAmount).eq(bnZero) ? MAX_BIG_INT : percent(auxFeesInToken, outputAmount);
|
|
173
|
+
return { auxFeesInToken, auxNativeFeePercent };
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Calculate the auxiliary native token fee as a % of the amount to relay.
|
|
177
|
+
* Treats auxiliary native outlay as value forwarded to user, reported separately.
|
|
178
|
+
*/
|
|
179
|
+
async auxNativeFeePercent(deposit, outputAmount, outputTokenInfo, _tokenPrice) {
|
|
180
|
+
if (toBN(outputAmount).eq(bnZero))
|
|
181
|
+
return MAX_BIG_INT;
|
|
182
|
+
const { auxNativeFeePercent } = await this.resolveAuxNativeFee(deposit, outputAmount, outputTokenInfo, _tokenPrice);
|
|
183
|
+
return auxNativeFeePercent;
|
|
171
184
|
}
|
|
172
185
|
// Note: these variables are unused now, but may be needed in future versions of this function that are more complex.
|
|
173
186
|
capitalFeePercent(_outputAmount, _tokenSymbol, _originRoute, _destinationRoute) {
|
|
@@ -323,31 +336,46 @@ export class RelayFeeCalculator {
|
|
|
323
336
|
const gasFeeTotal = gasFeePercent.mul(outToInDecimals(outputAmount.toString())).div(fixedPointAdjustment);
|
|
324
337
|
const capitalFeePercent = this.capitalFeePercent(outputAmount, inputTokenInfo.symbol, deposit.originChainId.toString(), deposit.destinationChainId.toString());
|
|
325
338
|
const capitalFeeTotal = capitalFeePercent.mul(outToInDecimals(outputAmount.toString())).div(fixedPointAdjustment);
|
|
326
|
-
const auxNativeFeePercent = await this.
|
|
339
|
+
const { auxFeesInToken, auxNativeFeePercent } = await this.resolveAuxNativeFee(deposit, outputAmount, outputTokenInfo, tokenPrice);
|
|
340
|
+
const auxFeesInInputDecimals = toBN(outToInDecimals(auxFeesInToken.toString()));
|
|
327
341
|
const auxNativeFeeTotal = auxNativeFeePercent
|
|
328
342
|
.mul(outToInDecimals(outputAmount.toString()))
|
|
329
343
|
.div(fixedPointAdjustment);
|
|
330
344
|
const auxNativeDiscountPercent = this.gasDiscountPercent;
|
|
331
345
|
const relayFeePercent = gasFeePercent.add(capitalFeePercent).add(auxNativeFeePercent);
|
|
332
346
|
const relayFeeTotal = gasFeeTotal.add(capitalFeeTotal).add(auxNativeFeeTotal);
|
|
333
|
-
//
|
|
334
|
-
//
|
|
335
|
-
//
|
|
336
|
-
//
|
|
337
|
-
|
|
338
|
-
//
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
//
|
|
343
|
-
//
|
|
347
|
+
// `maxGasFeePercent` reports the remaining fee budget at the given `outputAmount`:
|
|
348
|
+
// what fraction of the input can still be spent on gas after capital and auxiliary
|
|
349
|
+
// fees are taken out. Kept in per-amount terms for backwards compatibility with
|
|
350
|
+
// callers that display it as a live percentage.
|
|
351
|
+
const maxGasFeePercent = max(toBNWei(this.feeLimitPercent).div(100).sub(capitalFeePercent).sub(auxNativeFeePercent), bnZero);
|
|
352
|
+
// `minDeposit` is the smallest `outputAmount` for which gas, capital, and
|
|
353
|
+
// auxiliary fees together stay under `feeLimitPercent`. Solving with the variable
|
|
354
|
+
// costs in absolute terms (gas + aux scale as constant_cost / amount; capital is
|
|
355
|
+
// ~constant near the bound):
|
|
356
|
+
//
|
|
357
|
+
// (gasFeeTotal + auxFeesInInputDecimals) / minDeposit + capitalFeePercent
|
|
358
|
+
// <= feeLimitPercent
|
|
359
|
+
//
|
|
360
|
+
// ⇒ minDeposit = (gasFeeTotal + auxFeesInInputDecimals) /
|
|
361
|
+
// (feeLimitPercent − capitalFeePercent)
|
|
362
|
+
//
|
|
363
|
+
// The earlier closed-form derived `minDeposit` from the per-amount
|
|
364
|
+
// `maxGasFeePercent`, which incorporated `auxNativeFeePercent = auxCost /
|
|
365
|
+
// outputAmount`. That ratio diverges as `outputAmount → 0`, pinning `minDeposit`
|
|
366
|
+
// to `MAX_BIG_INT` for any small simulation amount on chains with non-zero
|
|
367
|
+
// auxiliary cost (e.g. Tron bandwidth) — even though a real deposit would have
|
|
368
|
+
// been feasible. Computing it directly from absolute aux cost avoids that.
|
|
369
|
+
const minDepositBudget = max(toBNWei(this.feeLimitPercent).div(100).sub(capitalFeePercent), bnZero);
|
|
344
370
|
let minDeposit, isAmountTooLow;
|
|
345
|
-
if (
|
|
371
|
+
if (minDepositBudget.eq(bnZero)) {
|
|
372
|
+
// Capital fee alone has exhausted the budget; no deposit amount can satisfy
|
|
373
|
+
// the limit.
|
|
346
374
|
minDeposit = MAX_BIG_INT;
|
|
347
375
|
isAmountTooLow = true;
|
|
348
376
|
}
|
|
349
377
|
else {
|
|
350
|
-
minDeposit = gasFeeTotal.mul(fixedPointAdjustment).div(
|
|
378
|
+
minDeposit = gasFeeTotal.add(auxFeesInInputDecimals).mul(fixedPointAdjustment).div(minDepositBudget);
|
|
351
379
|
isAmountTooLow = toBN(outputAmount).lt(minDeposit);
|
|
352
380
|
}
|
|
353
381
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relayFeeCalculator.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/relayFeeCalculator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"relayFeeCalculator.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/relayFeeCalculator.ts"],"names":[],"mappings":"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"}
|
|
@@ -137,6 +137,20 @@ export declare class RelayFeeCalculator {
|
|
|
137
137
|
gasFeePercent(deposit: RelayData & {
|
|
138
138
|
destinationChainId: number;
|
|
139
139
|
}, outputAmount: BigNumberish, outputTokenInfo: TokenInfo, simulateZeroFill?: boolean, relayerAddress?: Address, _tokenPrice?: number, gasPrice?: BigNumberish, gasLimit?: BigNumberish, _tokenGasCost?: BigNumberish, transport?: Transport): Promise<BigNumber>;
|
|
140
|
+
/**
|
|
141
|
+
* Resolve the auxiliary native token fee in absolute output-token units and as a
|
|
142
|
+
* percentage of `outputAmount`. The absolute form is amount-invariant (it depends
|
|
143
|
+
* only on the deposit and price), so callers reasoning about `minDeposit` should
|
|
144
|
+
* prefer it over the percent — the percent diverges as `outputAmount → 0`.
|
|
145
|
+
*
|
|
146
|
+
* Treats auxiliary native outlay as value forwarded to user, reported separately.
|
|
147
|
+
*/
|
|
148
|
+
protected resolveAuxNativeFee(deposit: RelayData & {
|
|
149
|
+
destinationChainId: number;
|
|
150
|
+
}, outputAmount: BigNumberish, outputTokenInfo: TokenInfo, _tokenPrice?: number): Promise<{
|
|
151
|
+
auxFeesInToken: BigNumber;
|
|
152
|
+
auxNativeFeePercent: BigNumber;
|
|
153
|
+
}>;
|
|
140
154
|
/**
|
|
141
155
|
* Calculate the auxiliary native token fee as a % of the amount to relay.
|
|
142
156
|
* Treats auxiliary native outlay as value forwarded to user, reported separately.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relayFeeCalculator.d.ts","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/relayFeeCalculator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"relayFeeCalculator.d.ts","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/relayFeeCalculator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -299,17 +299,19 @@ export class RelayFeeCalculator {
|
|
|
299
299
|
}
|
|
300
300
|
|
|
301
301
|
/**
|
|
302
|
-
*
|
|
302
|
+
* Resolve the auxiliary native token fee in absolute output-token units and as a
|
|
303
|
+
* percentage of `outputAmount`. The absolute form is amount-invariant (it depends
|
|
304
|
+
* only on the deposit and price), so callers reasoning about `minDeposit` should
|
|
305
|
+
* prefer it over the percent — the percent diverges as `outputAmount → 0`.
|
|
306
|
+
*
|
|
303
307
|
* Treats auxiliary native outlay as value forwarded to user, reported separately.
|
|
304
308
|
*/
|
|
305
|
-
async
|
|
309
|
+
protected async resolveAuxNativeFee(
|
|
306
310
|
deposit: RelayData & { destinationChainId: number },
|
|
307
311
|
outputAmount: BigNumberish,
|
|
308
312
|
outputTokenInfo: TokenInfo,
|
|
309
313
|
_tokenPrice?: number
|
|
310
|
-
): Promise<BigNumber> {
|
|
311
|
-
if (toBN(outputAmount).eq(bnZero)) return MAX_BIG_INT;
|
|
312
|
-
|
|
314
|
+
): Promise<{ auxFeesInToken: BigNumber; auxNativeFeePercent: BigNumber }> {
|
|
313
315
|
let auxNativeCost = bnZero;
|
|
314
316
|
try {
|
|
315
317
|
auxNativeCost = this.queries.getAuxiliaryNativeTokenCost(deposit);
|
|
@@ -325,8 +327,26 @@ export class RelayFeeCalculator {
|
|
|
325
327
|
}
|
|
326
328
|
|
|
327
329
|
const tokenPrice = await this.resolveTokenPrice(outputTokenInfo, _tokenPrice, deposit);
|
|
328
|
-
const auxFeesInToken =
|
|
329
|
-
|
|
330
|
+
const auxFeesInToken = toBN(
|
|
331
|
+
nativeToToken(auxNativeCost, tokenPrice, outputTokenInfo.decimals, this.nativeTokenDecimals)
|
|
332
|
+
);
|
|
333
|
+
const auxNativeFeePercent = toBN(outputAmount).eq(bnZero) ? MAX_BIG_INT : percent(auxFeesInToken, outputAmount);
|
|
334
|
+
return { auxFeesInToken, auxNativeFeePercent };
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
/**
|
|
338
|
+
* Calculate the auxiliary native token fee as a % of the amount to relay.
|
|
339
|
+
* Treats auxiliary native outlay as value forwarded to user, reported separately.
|
|
340
|
+
*/
|
|
341
|
+
async auxNativeFeePercent(
|
|
342
|
+
deposit: RelayData & { destinationChainId: number },
|
|
343
|
+
outputAmount: BigNumberish,
|
|
344
|
+
outputTokenInfo: TokenInfo,
|
|
345
|
+
_tokenPrice?: number
|
|
346
|
+
): Promise<BigNumber> {
|
|
347
|
+
if (toBN(outputAmount).eq(bnZero)) return MAX_BIG_INT;
|
|
348
|
+
const { auxNativeFeePercent } = await this.resolveAuxNativeFee(deposit, outputAmount, outputTokenInfo, _tokenPrice);
|
|
349
|
+
return auxNativeFeePercent;
|
|
330
350
|
}
|
|
331
351
|
|
|
332
352
|
// Note: these variables are unused now, but may be needed in future versions of this function that are more complex.
|
|
@@ -554,7 +574,13 @@ export class RelayFeeCalculator {
|
|
|
554
574
|
);
|
|
555
575
|
const capitalFeeTotal = capitalFeePercent.mul(outToInDecimals(outputAmount.toString())).div(fixedPointAdjustment);
|
|
556
576
|
|
|
557
|
-
const auxNativeFeePercent = await this.
|
|
577
|
+
const { auxFeesInToken, auxNativeFeePercent } = await this.resolveAuxNativeFee(
|
|
578
|
+
deposit,
|
|
579
|
+
outputAmount,
|
|
580
|
+
outputTokenInfo,
|
|
581
|
+
tokenPrice
|
|
582
|
+
);
|
|
583
|
+
const auxFeesInInputDecimals = toBN(outToInDecimals(auxFeesInToken.toString()));
|
|
558
584
|
const auxNativeFeeTotal = auxNativeFeePercent
|
|
559
585
|
.mul(outToInDecimals(outputAmount.toString()))
|
|
560
586
|
.div(fixedPointAdjustment);
|
|
@@ -563,26 +589,41 @@ export class RelayFeeCalculator {
|
|
|
563
589
|
const relayFeePercent = gasFeePercent.add(capitalFeePercent).add(auxNativeFeePercent);
|
|
564
590
|
const relayFeeTotal = gasFeeTotal.add(capitalFeeTotal).add(auxNativeFeeTotal);
|
|
565
591
|
|
|
566
|
-
//
|
|
567
|
-
//
|
|
568
|
-
//
|
|
569
|
-
//
|
|
570
|
-
// minDeposit = gasFeeTotal / maxGasFeePercent, and subsequently determine
|
|
571
|
-
// isAmountTooLow = amountToRelay < minDeposit.
|
|
592
|
+
// `maxGasFeePercent` reports the remaining fee budget at the given `outputAmount`:
|
|
593
|
+
// what fraction of the input can still be spent on gas after capital and auxiliary
|
|
594
|
+
// fees are taken out. Kept in per-amount terms for backwards compatibility with
|
|
595
|
+
// callers that display it as a live percentage.
|
|
572
596
|
const maxGasFeePercent = max(
|
|
573
|
-
toBNWei(this.feeLimitPercent
|
|
574
|
-
|
|
575
|
-
.sub(auxNativeFeePercent),
|
|
576
|
-
toBN(0)
|
|
597
|
+
toBNWei(this.feeLimitPercent).div(100).sub(capitalFeePercent).sub(auxNativeFeePercent),
|
|
598
|
+
bnZero
|
|
577
599
|
);
|
|
578
|
-
|
|
579
|
-
//
|
|
600
|
+
|
|
601
|
+
// `minDeposit` is the smallest `outputAmount` for which gas, capital, and
|
|
602
|
+
// auxiliary fees together stay under `feeLimitPercent`. Solving with the variable
|
|
603
|
+
// costs in absolute terms (gas + aux scale as constant_cost / amount; capital is
|
|
604
|
+
// ~constant near the bound):
|
|
605
|
+
//
|
|
606
|
+
// (gasFeeTotal + auxFeesInInputDecimals) / minDeposit + capitalFeePercent
|
|
607
|
+
// <= feeLimitPercent
|
|
608
|
+
//
|
|
609
|
+
// ⇒ minDeposit = (gasFeeTotal + auxFeesInInputDecimals) /
|
|
610
|
+
// (feeLimitPercent − capitalFeePercent)
|
|
611
|
+
//
|
|
612
|
+
// The earlier closed-form derived `minDeposit` from the per-amount
|
|
613
|
+
// `maxGasFeePercent`, which incorporated `auxNativeFeePercent = auxCost /
|
|
614
|
+
// outputAmount`. That ratio diverges as `outputAmount → 0`, pinning `minDeposit`
|
|
615
|
+
// to `MAX_BIG_INT` for any small simulation amount on chains with non-zero
|
|
616
|
+
// auxiliary cost (e.g. Tron bandwidth) — even though a real deposit would have
|
|
617
|
+
// been feasible. Computing it directly from absolute aux cost avoids that.
|
|
618
|
+
const minDepositBudget = max(toBNWei(this.feeLimitPercent).div(100).sub(capitalFeePercent), bnZero);
|
|
580
619
|
let minDeposit: BigNumber, isAmountTooLow: boolean;
|
|
581
|
-
if (
|
|
620
|
+
if (minDepositBudget.eq(bnZero)) {
|
|
621
|
+
// Capital fee alone has exhausted the budget; no deposit amount can satisfy
|
|
622
|
+
// the limit.
|
|
582
623
|
minDeposit = MAX_BIG_INT;
|
|
583
624
|
isAmountTooLow = true;
|
|
584
625
|
} else {
|
|
585
|
-
minDeposit = gasFeeTotal.mul(fixedPointAdjustment).div(
|
|
626
|
+
minDeposit = gasFeeTotal.add(auxFeesInInputDecimals).mul(fixedPointAdjustment).div(minDepositBudget);
|
|
586
627
|
isAmountTooLow = toBN(outputAmount).lt(minDeposit);
|
|
587
628
|
}
|
|
588
629
|
|