@across-protocol/sdk 4.1.60 → 4.1.62-beta.0

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.
@@ -24,6 +24,7 @@ export interface CapitalCostConfigOverride {
24
24
  default: CapitalCostConfig;
25
25
  routeOverrides?: Record<ChainIdAsString, Record<ChainIdAsString, CapitalCostConfig>>;
26
26
  destinationChainOverrides?: Record<ChainIdAsString, CapitalCostConfig>;
27
+ originChainOverrides?: Record<ChainIdAsString, CapitalCostConfig>;
27
28
  }
28
29
  export type RelayCapitalCostConfig = CapitalCostConfigOverride | CapitalCostConfig;
29
30
  export interface BaseRelayFeeCalculatorConfig {
@@ -472,6 +473,8 @@ export declare class RelayFeeCalculator {
472
473
  };
473
474
  }, gasPrice?: BigNumberish, gasLimit?: BigNumberish, _tokenGasCost?: BigNumberish, transport?: Transport): Promise<BigNumber>;
474
475
  capitalFeePercent(_amountToRelay: BigNumberish, _tokenSymbol: string, _originRoute?: ChainIdAsString, _destinationRoute?: ChainIdAsString): BigNumber;
476
+ private checkAllConfigConflicts;
477
+ private warnIfConfigConflicts;
475
478
  relayerFeeDetails(deposit: Deposit, amountToRelay?: BigNumberish, simulateZeroFill?: boolean, relayerAddress?: string, _tokenPrice?: number, gasPrice?: BigNumberish, gasUnits?: BigNumberish, tokenGasCost?: BigNumberish): Promise<RelayerFeeDetails>;
476
479
  }
477
480
  export {};
@@ -61,6 +61,7 @@ var RelayFeeCalculator = (function () {
61
61
  }));
62
62
  (0, assert_1.default)(Object.keys(this.capitalCostsConfig).length > 0, "capitalCostsConfig must have at least one entry");
63
63
  this.logger = logger || exports.DEFAULT_LOGGER;
64
+ this.checkAllConfigConflicts();
64
65
  }
65
66
  RelayFeeCalculator.capitalCostConfigIsOverride = function (config) {
66
67
  return config.default !== undefined;
@@ -74,6 +75,7 @@ var RelayFeeCalculator = (function () {
74
75
  var toChainIdRoutes = _a[_i];
75
76
  Object.values(toChainIdRoutes).forEach(this.validateCapitalCostsConfig);
76
77
  }
78
+ Object.values(config.originChainOverrides || {}).forEach(this.validateCapitalCostsConfig);
77
79
  Object.values(config.destinationChainOverrides || {}).forEach(this.validateCapitalCostsConfig);
78
80
  return config;
79
81
  };
@@ -149,7 +151,7 @@ var RelayFeeCalculator = (function () {
149
151
  });
150
152
  };
151
153
  RelayFeeCalculator.prototype.capitalFeePercent = function (_amountToRelay, _tokenSymbol, _originRoute, _destinationRoute) {
152
- var _a, _b, _c, _d;
154
+ var _a, _b, _c, _d, _e, _f;
153
155
  if ((0, utils_1.toBN)(_amountToRelay).eq((0, utils_1.toBN)(0)))
154
156
  return utils_1.MAX_BIG_INT;
155
157
  var tokenCostConfig = this.capitalCostsConfig[_tokenSymbol.toUpperCase()];
@@ -161,9 +163,11 @@ var RelayFeeCalculator = (function () {
161
163
  throw new Error("No capital cost config available for token ".concat(_tokenSymbol));
162
164
  }
163
165
  else {
164
- var destinationChainOverride = (_a = tokenCostConfig === null || tokenCostConfig === void 0 ? void 0 : tokenCostConfig.destinationChainOverrides) === null || _a === void 0 ? void 0 : _a[_destinationRoute || ""];
165
- var routeOverride = (_c = (_b = tokenCostConfig === null || tokenCostConfig === void 0 ? void 0 : tokenCostConfig.routeOverrides) === null || _b === void 0 ? void 0 : _b[_originRoute || ""]) === null || _c === void 0 ? void 0 : _c[_destinationRoute || ""];
166
- var config = (_d = routeOverride !== null && routeOverride !== void 0 ? routeOverride : destinationChainOverride) !== null && _d !== void 0 ? _d : tokenCostConfig.default;
166
+ var routeOverride = (_b = (_a = tokenCostConfig === null || tokenCostConfig === void 0 ? void 0 : tokenCostConfig.routeOverrides) === null || _a === void 0 ? void 0 : _a[_originRoute || ""]) === null || _b === void 0 ? void 0 : _b[_destinationRoute || ""];
167
+ var destinationChainOverride = (_c = tokenCostConfig === null || tokenCostConfig === void 0 ? void 0 : tokenCostConfig.destinationChainOverrides) === null || _c === void 0 ? void 0 : _c[_destinationRoute || ""];
168
+ var originChainOverride = (_d = tokenCostConfig === null || tokenCostConfig === void 0 ? void 0 : tokenCostConfig.originChainOverrides) === null || _d === void 0 ? void 0 : _d[_originRoute || ""];
169
+ var config = (_f = (_e = routeOverride !== null && routeOverride !== void 0 ? routeOverride : destinationChainOverride) !== null && _e !== void 0 ? _e : originChainOverride) !== null && _f !== void 0 ? _f : tokenCostConfig.default;
170
+ this.warnIfConfigConflicts(_tokenSymbol, _originRoute || "", _destinationRoute || "", routeOverride, destinationChainOverride, originChainOverride);
167
171
  var y = (0, utils_1.toBN)(_amountToRelay).mul((0, utils_1.toBNWei)("1", 18 - config.decimals));
168
172
  var minCharge = (0, utils_1.toBN)(config.lowerBound).mul(y).div(utils_1.fixedPointAdjustment);
169
173
  var yTriangle = (0, utils_1.min)(config.cutoff, y);
@@ -177,6 +181,59 @@ var RelayFeeCalculator = (function () {
177
181
  return minCharge.add(triangleCharge).add(remainderCharge).mul(utils_1.fixedPointAdjustment).div(y);
178
182
  }
179
183
  };
184
+ RelayFeeCalculator.prototype.checkAllConfigConflicts = function () {
185
+ var _a, _b, _c, _d;
186
+ var _loop_1 = function (tokenSymbol, tokenConfig) {
187
+ var originChains = new Set(Object.keys(tokenConfig.originChainOverrides || {}));
188
+ var destChains = new Set(Object.keys(tokenConfig.destinationChainOverrides || {}));
189
+ if (tokenConfig.routeOverrides) {
190
+ Object.keys(tokenConfig.routeOverrides).forEach(function (originChain) {
191
+ originChains.add(originChain);
192
+ Object.keys(tokenConfig.routeOverrides[originChain]).forEach(function (destChain) {
193
+ destChains.add(destChain);
194
+ });
195
+ });
196
+ }
197
+ if (originChains.size === 0 && destChains.size === 0) {
198
+ return "continue";
199
+ }
200
+ for (var _g = 0, _h = Array.from(originChains); _g < _h.length; _g++) {
201
+ var originChain = _h[_g];
202
+ for (var _j = 0, _k = Array.from(destChains); _j < _k.length; _j++) {
203
+ var destChain = _k[_j];
204
+ var routeOverride = (_b = (_a = tokenConfig.routeOverrides) === null || _a === void 0 ? void 0 : _a[originChain]) === null || _b === void 0 ? void 0 : _b[destChain];
205
+ var destinationChainOverride = (_c = tokenConfig.destinationChainOverrides) === null || _c === void 0 ? void 0 : _c[destChain];
206
+ var originChainOverride = (_d = tokenConfig.originChainOverrides) === null || _d === void 0 ? void 0 : _d[originChain];
207
+ this_1.warnIfConfigConflicts(tokenSymbol, originChain, destChain, routeOverride, destinationChainOverride, originChainOverride);
208
+ }
209
+ }
210
+ };
211
+ var this_1 = this;
212
+ for (var _i = 0, _e = Object.entries(this.capitalCostsConfig); _i < _e.length; _i++) {
213
+ var _f = _e[_i], tokenSymbol = _f[0], tokenConfig = _f[1];
214
+ _loop_1(tokenSymbol, tokenConfig);
215
+ }
216
+ };
217
+ RelayFeeCalculator.prototype.warnIfConfigConflicts = function (tokenSymbol, originChain, destChain, routeOverride, destinationChainOverride, originChainOverride) {
218
+ var overrideCount = [routeOverride, destinationChainOverride, originChainOverride].filter(Boolean).length;
219
+ if (overrideCount > 1) {
220
+ var configUsed = routeOverride
221
+ ? "route override"
222
+ : destinationChainOverride
223
+ ? "destination chain override"
224
+ : originChainOverride
225
+ ? "origin chain override"
226
+ : "default override";
227
+ this.logger.warn({
228
+ at: "RelayFeeCalculator",
229
+ message: "Multiple configurations found for token ".concat(tokenSymbol, " from chain ").concat(originChain, " to chain ").concat(destChain),
230
+ configUsed: configUsed,
231
+ routeOverride: routeOverride,
232
+ destinationChainOverride: destinationChainOverride,
233
+ originChainOverride: originChainOverride,
234
+ });
235
+ }
236
+ };
180
237
  RelayFeeCalculator.prototype.relayerFeeDetails = function (deposit, amountToRelay, simulateZeroFill, relayerAddress, _tokenPrice, gasPrice, gasUnits, tokenGasCost) {
181
238
  if (simulateZeroFill === void 0) { simulateZeroFill = false; }
182
239
  if (relayerAddress === void 0) { relayerAddress = constants_1.DEFAULT_SIMULATED_RELAYER_ADDRESS; }
@@ -1 +1 @@
1
- {"version":3,"file":"relayFeeCalculator.js","sourceRoot":"","sources":["../../../src/relayFeeCalculator/relayFeeCalculator.ts"],"names":[],"mappings":";;;;AAAA,0DAA4B;AAC5B,0CAAoF;AAEpF,kCAiBkB;AAoBL,QAAA,wBAAwB,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AA2D9E,QAAA,cAAc,GAAW;IACpC,KAAK,EAAE;QAAC,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,yBAAO;;QAAK,OAAA,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;IAAnB,CAAmB;IACvC,IAAI,EAAE;QAAC,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,yBAAO;;QAAK,OAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;IAAlB,CAAkB;IACrC,IAAI,EAAE;QAAC,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,yBAAO;;QAAK,OAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;IAAlB,CAAkB;IACrC,KAAK,EAAE;QAAC,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,yBAAO;;QAAK,OAAA,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;IAAnB,CAAmB;CACxC,CAAC;AAGF,IAAM,gBAAgB,GAAG,IAAA,YAAI,EAAC,GAAG,CAAC,CAAC;AAEnC;IAcE,4BAAY,MAAiC,EAAE,MAAe,EAAE,kBAA2B;QACzF,IAAA,gBAAM,EAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;QAE1C,IAAI,SAAS,IAAI,MAAM,EAAE;YACvB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;SAC/B;aAAM;YACL,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;SACtD;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,UAAC,EAAqB;gBAApB,KAAK,QAAA,EAAE,YAAY,QAAA;YACjE,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;IACzC,CAAC;IAYc,8CAA2B,GAA1C,UACE,MAAqD;QAErD,OAAQ,MAAoC,CAAC,OAAO,KAAK,SAAS,CAAC;IACrE,CAAC;IAOM,iEAA8C,GAArD,UACE,YAA2D;QAK3D,IAAM,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,KAA8B,UAA0C,EAA1C,KAAA,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,EAA1C,cAA0C,EAA1C,IAA0C,EAAE;YAArE,IAAM,eAAe,SAAA;YACxB,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;SACzE;QAED,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC/F,OAAO,MAAM,CAAC;IAChB,CAAC;IAMM,6CAA0B,GAAjC,UAAkC,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,0CAAa,GAAb,UAAc,WAAmB;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAqBK,0CAAa,GAAnB,UACE,OAAgB,EAChB,aAA2B,EAC3B,gBAAwB,EACxB,cAAkD,EAClD,WAAoB,EACpB,YAAgC,EAChC,QAAuB,EACvB,QAAuB,EACvB,aAA4B,EAC5B,SAAqB;QAPrB,iCAAA,EAAA,wBAAwB;QACxB,+BAAA,EAAA,iBAAiB,6CAAiC;QAElD,6BAAA,EAAA,eAAe,6BAAiB;;;;;;;wBAMhC,IAAI,IAAA,YAAI,EAAC,aAAa,CAAC,CAAC,EAAE,CAAC,cAAM,CAAC;4BAAE,WAAO,mBAAW,EAAC;wBAE/C,UAAU,GAAwC,OAAO,WAA/C,EAAE,kBAAkB,GAAoB,OAAO,mBAA3B,EAAE,aAAa,GAAK,OAAO,cAAZ,CAAa;wBAK5D,4BAA4B,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CACnE,UAAC,OAAO;4BACN,OAAA,IAAA,8BAAsB,EAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC;gCACpE,IAAA,iBAAS,EAAC,OAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;wBADhD,CACgD,CACnD,CAAC;wBACI,WAAW,GAAG,IAAA,qBAAa,EAAC,OAAO,CAAC,WAAW,CAAC;4BACpD,CAAC,CAAC,4BAA6B,CAAC,SAAS,CAAC,kBAAkB,CAAC;4BAC7D,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;wBAClB,eAAe,GAAG,IAAA,oBAAY,EAAC,WAAW,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAAC;wBAC9E,cAAc,GAAG,IAAA,oBAAY,EAAC,UAAU,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;wBAC7E,IAAI,CAAC,IAAA,iBAAS,EAAC,eAAe,CAAC,IAAI,CAAC,IAAA,iBAAS,EAAC,cAAc,CAAC,EAAE;4BAC7D,MAAM,IAAI,KAAK,CAAC,+CAAwC,UAAU,iBAAO,WAAW,CAAE,CAAC,CAAC;yBACzF;wBAIK,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAA,YAAI,EAAC,aAAa,CAAC,CAAC;wBAClF,OAAO,yCAAQ,OAAO,KAAE,YAAY,EAAE,eAAe,GAAE,CAAC;wBAElD,WAAW,GAAG,IAAI,CAAC,OAAO;6BAC7B,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,QAAQ,UAAA,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,WAAA,EAAE,CAAC;6BACjF,IAAI,CAAC,UAAC,EAAgB;gCAAd,YAAY,kBAAA;4BAAO,OAAA,YAAY;wBAAZ,CAAY,CAAC;6BACxC,KAAK,CAAC,UAAC,KAAK;4BACX,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gCAChB,EAAE,EAAE,mBAAmB;gCACvB,OAAO,EAAE,gCAAgC;gCACzC,KAAK,OAAA;gCACL,gBAAgB,kBAAA;gCAChB,OAAO,SAAA;6BACR,CAAC,CAAC;4BACH,MAAM,KAAK,CAAC;wBACd,CAAC,CAAC,CAAC;wBAC8B,WAAM,OAAO,CAAC,GAAG,CAAC;gCACnD,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW;gCAC5D,WAAW,aAAX,WAAW,cAAX,WAAW,GACT,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAC,KAAK;oCAC7D,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC;wCAChB,EAAE,EAAE,mBAAmB;wCACvB,OAAO,EAAE,kCAAkC;wCAC3C,KAAK,OAAA;wCACL,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;wCAC9C,UAAU,YAAA;qCACX,CAAC,CAAC;oCACH,MAAM,KAAK,CAAC;gCACd,CAAC,CAAC;6BACL,CAAC,EAAA;;wBAbI,KAA6B,SAajC,EAbK,YAAY,QAAA,EAAE,UAAU,QAAA;wBAczB,cAAc,GAAG,IAAA,qBAAa,EAAC,YAAY,EAAE,UAAU,EAAE,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;wBAClH,WAAO,IAAA,eAAO,EAAC,cAAc,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAC;;;;KAC1D;IAGD,8CAAiB,GAAjB,UACE,cAA4B,EAC5B,YAAoB,EACpB,YAA8B,EAC9B,iBAAmC;;QAGnC,IAAI,IAAA,YAAI,EAAC,cAAc,CAAC,CAAC,EAAE,CAAC,IAAA,YAAI,EAAC,CAAC,CAAC,CAAC;YAAE,OAAO,mBAAW,CAAC;QAKzD,IAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,IAAA,iBAAS,EAAC,eAAe,CAAC,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAChB,EAAE,EAAE,uBAAuB;gBAC3B,OAAO,EAAE,6CAAsC,YAAY,CAAE;aAC9D,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,qDAA8C,YAAY,CAAE,CAAC,CAAC;SAC/E;aAKI;YACH,IAAM,wBAAwB,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,yBAAyB,0CAAG,iBAAiB,IAAI,EAAE,CAAC,CAAC;YACvG,IAAM,aAAa,GAAG,MAAA,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,cAAc,0CAAG,YAAY,IAAI,EAAE,CAAC,0CAAG,iBAAiB,IAAI,EAAE,CAAC,CAAC;YACvG,IAAM,MAAM,GAAsB,MAAA,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,wBAAwB,mCAAI,eAAe,CAAC,OAAO,CAAC;YAGvG,IAAM,CAAC,GAAG,IAAA,YAAI,EAAC,cAAc,CAAC,CAAC,GAAG,CAAC,IAAA,eAAO,EAAC,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEvE,IAAM,SAAS,GAAG,IAAA,YAAI,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,4BAAoB,CAAC,CAAC;YAI3E,IAAM,SAAS,GAAG,IAAA,WAAG,EAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAIxC,IAAM,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,IAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,4BAAoB,CAAC,CAAC;YAC9E,IAAM,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAA,eAAO,EAAC,CAAC,CAAC,CAAC,CAAC;YAIrE,IAAM,UAAU,GAAG,IAAA,WAAG,EAAC,IAAA,YAAI,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACtD,IAAM,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;SAC5F;IACH,CAAC;IAiBK,8CAAiB,GAAvB,UACE,OAAgB,EAChB,aAA4B,EAC5B,gBAAwB,EACxB,cAAkD,EAClD,WAAoB,EACpB,QAAuB,EACvB,QAAuB,EACvB,YAA2B;QAL3B,iCAAA,EAAA,wBAAwB;QACxB,+BAAA,EAAA,iBAAiB,6CAAiC;;;;;;wBAQlD,aAAa,aAAb,aAAa,cAAb,aAAa,IAAb,aAAa,GAAK,OAAO,CAAC,YAAY,EAAC;wBAC/B,UAAU,GAAoB,OAAO,WAA3B,EAAE,aAAa,GAAK,OAAO,cAAZ,CAAa;wBAGxC,KAAK,GAAG,IAAA,oBAAY,EAAC,UAAU,EAAE,aAAa,CAAC,CAAC;wBACtD,IAAI,CAAC,IAAA,iBAAS,EAAC,KAAK,CAAC,EAAE;4BACrB,MAAM,IAAI,KAAK,CAAC,+CAAwC,UAAU,CAAE,CAAC,CAAC;yBACvE;wBAEqB,WAAM,IAAI,CAAC,aAAa,CAC5C,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,YAAY,CACb,EAAA;;wBAVK,aAAa,GAAG,SAUrB;wBACK,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,4BAAoB,CAAC,CAAC;wBACzE,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAC9C,aAAa,EACb,KAAK,CAAC,MAAM,EACZ,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,EAChC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CACtC,CAAC;wBACI,eAAe,GAAG,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,4BAAoB,CAAC,CAAC;wBACjF,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;wBACvD,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;wBAQjD,gBAAgB,GAAG,IAAA,WAAG,EAAC,IAAA,eAAO,EAAC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,IAAA,YAAI,EAAC,CAAC,CAAC,CAAC,CAAC;wBAIlG,IAAI,gBAAgB,CAAC,EAAE,CAAC,IAAA,YAAI,EAAC,CAAC,CAAC,CAAC,EAAE;4BAChC,UAAU,GAAG,mBAAW,CAAC;4BACzB,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,4BAAoB,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;4BACzE,cAAc,GAAG,IAAA,YAAI,EAAC,aAAa,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;yBACrD;wBAED,WAAO;gCACL,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE;gCACvC,WAAW,EAAE,KAAK,CAAC,MAAM;gCACzB,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE;gCACvC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;gCACnC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gCAC3C,iBAAiB,EAAE,iBAAiB,CAAC,QAAQ,EAAE;gCAC/C,eAAe,EAAE,eAAe,CAAC,QAAQ,EAAE;gCAC3C,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;gCACnD,eAAe,EAAE,eAAe,CAAC,QAAQ,EAAE;gCAC3C,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE;gCACvC,eAAe,EAAE,IAAI,CAAC,eAAe;gCACrC,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,EAAE;gCAC7C,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;gCACjC,cAAc,gBAAA;6BACf,EAAC;;;;KACH;IACH,yBAAC;AAAD,CAAC,AAtVD,IAsVC;AAtVY,gDAAkB"}
1
+ {"version":3,"file":"relayFeeCalculator.js","sourceRoot":"","sources":["../../../src/relayFeeCalculator/relayFeeCalculator.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getMessageHash = exports.isZeroAddress = exports.isUnsafeDepositId = exports.getRelayHashFromEvent = exports.getRelayDataHash = exports.getDepositRelayData = void 0;
4
4
  var tslib_1 = require("tslib");
5
- var ethers_1 = require("ethers");
5
+ var viem_1 = require("viem");
6
6
  var constants_1 = require("../constants");
7
7
  var AddressUtils_1 = require("./AddressUtils");
8
- var common_1 = require("./common");
9
8
  var BigNumberUtils_1 = require("./BigNumberUtils");
10
9
  var DepositUtils_1 = require("./DepositUtils");
11
10
  function getDepositRelayData(deposit) {
@@ -26,24 +25,28 @@ function getDepositRelayData(deposit) {
26
25
  }
27
26
  exports.getDepositRelayData = getDepositRelayData;
28
27
  function getRelayDataHash(relayData, destinationChainId) {
28
+ var abi = [
29
+ {
30
+ type: "tuple",
31
+ components: [
32
+ { type: "bytes32", name: "depositor" },
33
+ { type: "bytes32", name: "recipient" },
34
+ { type: "bytes32", name: "exclusiveRelayer" },
35
+ { type: "bytes32", name: "inputToken" },
36
+ { type: "bytes32", name: "outputToken" },
37
+ { type: "uint256", name: "inputAmount" },
38
+ { type: "uint256", name: "outputAmount" },
39
+ { type: "uint256", name: "originChainId" },
40
+ { type: "uint256", name: "depositId" },
41
+ { type: "uint32", name: "fillDeadline" },
42
+ { type: "uint32", name: "exclusivityDeadline" },
43
+ { type: "bytes", name: "message" },
44
+ ],
45
+ },
46
+ { type: "uint256", name: "destinationChainId" },
47
+ ];
29
48
  var _relayData = tslib_1.__assign(tslib_1.__assign({}, relayData), { depositor: (0, AddressUtils_1.toBytes32)(relayData.depositor), recipient: (0, AddressUtils_1.toBytes32)(relayData.recipient), inputToken: (0, AddressUtils_1.toBytes32)(relayData.inputToken), outputToken: (0, AddressUtils_1.toBytes32)(relayData.outputToken), exclusiveRelayer: (0, AddressUtils_1.toBytes32)(relayData.exclusiveRelayer) });
30
- return (0, common_1.keccak256)(ethers_1.utils.defaultAbiCoder.encode([
31
- "tuple(" +
32
- "bytes32 depositor," +
33
- "bytes32 recipient," +
34
- "bytes32 exclusiveRelayer," +
35
- "bytes32 inputToken," +
36
- "bytes32 outputToken," +
37
- "uint256 inputAmount," +
38
- "uint256 outputAmount," +
39
- "uint256 originChainId," +
40
- "uint256 depositId," +
41
- "uint32 fillDeadline," +
42
- "uint32 exclusivityDeadline," +
43
- "bytes message" +
44
- ")",
45
- "uint256 destinationChainId",
46
- ], [_relayData, destinationChainId]));
49
+ return (0, viem_1.keccak256)((0, viem_1.encodeAbiParameters)(abi, [_relayData, destinationChainId]));
47
50
  }
48
51
  exports.getRelayDataHash = getRelayDataHash;
49
52
  function getRelayHashFromEvent(e) {
@@ -60,7 +63,7 @@ function isZeroAddress(address) {
60
63
  }
61
64
  exports.isZeroAddress = isZeroAddress;
62
65
  function getMessageHash(message) {
63
- return (0, DepositUtils_1.isMessageEmpty)(message) ? constants_1.ZERO_BYTES : (0, common_1.keccak256)(message);
66
+ return (0, DepositUtils_1.isMessageEmpty)(message) ? constants_1.ZERO_BYTES : (0, viem_1.keccak256)(message);
64
67
  }
65
68
  exports.getMessageHash = getMessageHash;
66
69
  //# sourceMappingURL=SpokeUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SpokeUtils.js","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":";;;;AAAA,iCAA8C;AAC9C,0CAA6E;AAE7E,+CAA2C;AAC3C,mCAAqC;AACrC,mDAA6C;AAC7C,+CAAgD;AAOhD,SAAgB,mBAAmB,CAAC,OAAqC;IACvE,OAAO;QACL,SAAS,EAAE,IAAA,wBAAS,EAAC,OAAO,CAAC,SAAS,CAAC;QACvC,SAAS,EAAE,IAAA,wBAAS,EAAC,OAAO,CAAC,SAAS,CAAC;QACvC,gBAAgB,EAAE,IAAA,wBAAS,EAAC,OAAO,CAAC,gBAAgB,CAAC;QACrD,UAAU,EAAE,IAAA,wBAAS,EAAC,OAAO,CAAC,UAAU,CAAC;QACzC,WAAW,EAAE,IAAA,wBAAS,EAAC,OAAO,CAAC,WAAW,CAAC;QAC3C,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC;AACJ,CAAC;AAfD,kDAeC;AAQD,SAAgB,gBAAgB,CAAC,SAAoB,EAAE,kBAA0B;IAC/E,IAAM,UAAU,yCACX,SAAS,KACZ,SAAS,EAAE,IAAA,wBAAS,EAAC,SAAS,CAAC,SAAS,CAAC,EACzC,SAAS,EAAE,IAAA,wBAAS,EAAC,SAAS,CAAC,SAAS,CAAC,EACzC,UAAU,EAAE,IAAA,wBAAS,EAAC,SAAS,CAAC,UAAU,CAAC,EAC3C,WAAW,EAAE,IAAA,wBAAS,EAAC,SAAS,CAAC,WAAW,CAAC,EAC7C,gBAAgB,EAAE,IAAA,wBAAS,EAAC,SAAS,CAAC,gBAAgB,CAAC,GACxD,CAAC;IACF,OAAO,IAAA,kBAAS,EACd,cAAW,CAAC,eAAe,CAAC,MAAM,CAChC;QACE,QAAQ;YACN,oBAAoB;YACpB,oBAAoB;YACpB,2BAA2B;YAC3B,qBAAqB;YACrB,sBAAsB;YACtB,sBAAsB;YACtB,uBAAuB;YACvB,wBAAwB;YACxB,oBAAoB;YACpB,sBAAsB;YACtB,6BAA6B;YAC7B,eAAe;YACf,GAAG;QACL,4BAA4B;KAC7B,EACD,CAAC,UAAU,EAAE,kBAAkB,CAAC,CACjC,CACF,CAAC;AACJ,CAAC;AA/BD,4CA+BC;AAED,SAAgB,qBAAqB,CAAC,CAA6C;IACjF,OAAO,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC;AACnD,CAAC;AAFD,sDAEC;AAED,SAAgB,iBAAiB,CAAC,SAAoB;IAMpD,IAAM,gBAAgB,GAAG,0BAAS,CAAC,IAAI,CAAC,+BAAmB,CAAC,CAAC;IAC7D,OAAO,gBAAgB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;AACxC,CAAC;AARD,8CAQC;AAGD,SAAgB,aAAa,CAAC,OAAe;IAC3C,OAAO,OAAO,KAAK,wBAAY,IAAI,OAAO,KAAK,sBAAU,CAAC;AAC5D,CAAC;AAFD,sCAEC;AAED,SAAgB,cAAc,CAAC,OAAe;IAC5C,OAAO,IAAA,6BAAc,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,sBAAU,CAAC,CAAC,CAAC,IAAA,kBAAS,EAAC,OAAO,CAAC,CAAC;AACnE,CAAC;AAFD,wCAEC"}
1
+ {"version":3,"file":"SpokeUtils.js","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"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"}
@@ -783,5 +783,5 @@ export declare function getTokenInfo(l2TokenAddress: string, chainId: number, to
783
783
  };
784
784
  }): L1Token;
785
785
  export declare function getUsdcSymbol(l2Token: string, chainId: number): string | undefined;
786
- export declare function getL1TokenInfo(l2TokenAddress: string, chainId: number): L1Token;
786
+ export declare function getL1TokenAddress(l2TokenAddress: string, chainId: number): string;
787
787
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getL1TokenInfo = exports.getUsdcSymbol = exports.getTokenInfo = exports.isStablecoin = exports.isBridgedUsdc = exports.getTokenBalance = exports.getCoingeckoTokenIdByAddress = exports.resolveContractFromSymbol = exports.resolveSymbolOnChain = exports.getL2TokenAddresses = exports.fetchTokenInfo = void 0;
3
+ exports.getL1TokenAddress = exports.getUsdcSymbol = exports.getTokenInfo = exports.isStablecoin = exports.isBridgedUsdc = exports.getTokenBalance = exports.getCoingeckoTokenIdByAddress = exports.resolveContractFromSymbol = exports.resolveSymbolOnChain = exports.getL2TokenAddresses = exports.fetchTokenInfo = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var ethers_1 = require("ethers");
6
6
  var constants = tslib_1.__importStar(require("../constants"));
@@ -103,9 +103,9 @@ function getUsdcSymbol(l2Token, chainId) {
103
103
  });
104
104
  }
105
105
  exports.getUsdcSymbol = getUsdcSymbol;
106
- function getL1TokenInfo(l2TokenAddress, chainId) {
106
+ function getL1TokenAddress(l2TokenAddress, chainId) {
107
107
  if ((0, NetworkUtils_1.chainIsL1)(chainId))
108
- throw new Error("chainId should be an L2 chainId because many mappings re-use the same L1 token address");
108
+ return l2TokenAddress;
109
109
  var tokenObject = Object.values(TOKEN_SYMBOLS_MAP).find(function (_a) {
110
110
  var addresses = _a.addresses;
111
111
  return addresses[chainId] === l2TokenAddress;
@@ -114,11 +114,7 @@ function getL1TokenInfo(l2TokenAddress, chainId) {
114
114
  if (!l1TokenAddress) {
115
115
  throw new Error("TokenUtils#getL1TokenInfo: Unable to resolve l1 token address in TOKEN_SYMBOLS_MAP for L2 token ".concat(l2TokenAddress, " on chain ").concat(chainId));
116
116
  }
117
- return {
118
- address: l1TokenAddress,
119
- symbol: tokenObject.symbol,
120
- decimals: tokenObject.decimals,
121
- };
117
+ return l1TokenAddress;
122
118
  }
123
- exports.getL1TokenInfo = getL1TokenInfo;
119
+ exports.getL1TokenAddress = getL1TokenAddress;
124
120
  //# sourceMappingURL=TokenUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenUtils.js","sourceRoot":"","sources":["../../../src/utils/TokenUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TokenUtils.js","sourceRoot":"","sources":["../../../src/utils/TokenUtils.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ export interface CapitalCostConfigOverride {
24
24
  default: CapitalCostConfig;
25
25
  routeOverrides?: Record<ChainIdAsString, Record<ChainIdAsString, CapitalCostConfig>>;
26
26
  destinationChainOverrides?: Record<ChainIdAsString, CapitalCostConfig>;
27
+ originChainOverrides?: Record<ChainIdAsString, CapitalCostConfig>;
27
28
  }
28
29
  export type RelayCapitalCostConfig = CapitalCostConfigOverride | CapitalCostConfig;
29
30
  export interface BaseRelayFeeCalculatorConfig {
@@ -497,10 +498,7 @@ export declare class RelayFeeCalculator {
497
498
  [x: number]: string;
498
499
  133268194659241: string;
499
500
  };
500
- coingeckoId: string; /**
501
- * Validates a CapitalCostConfig.
502
- * @param capitalCosts CapitalCostConfig
503
- */
501
+ coingeckoId: string;
504
502
  };
505
503
  XYZ: {
506
504
  name: string;
@@ -513,6 +511,18 @@ export declare class RelayFeeCalculator {
513
511
  };
514
512
  }, gasPrice?: BigNumberish, gasLimit?: BigNumberish, _tokenGasCost?: BigNumberish, transport?: Transport): Promise<BigNumber>;
515
513
  capitalFeePercent(_amountToRelay: BigNumberish, _tokenSymbol: string, _originRoute?: ChainIdAsString, _destinationRoute?: ChainIdAsString): BigNumber;
514
+ /**
515
+ * Checks for configuration conflicts across all token symbols and their associated chain configurations.
516
+ * This method examines the capital costs configuration for each token and identifies any overlapping
517
+ * or conflicting configurations between route overrides, destination chain overrides, and origin chain overrides.
518
+ * If conflicts are found, warnings will be logged via the warnIfConfigConflicts method.
519
+ */
520
+ private checkAllConfigConflicts;
521
+ /**
522
+ * Log a warning if multiple configuration types apply to the same route
523
+ * @private
524
+ */
525
+ private warnIfConfigConflicts;
516
526
  /**
517
527
  * Retrieves the relayer fee details for a deposit.
518
528
  * @param deposit A valid deposit object to reason about
@@ -59,6 +59,8 @@ var RelayFeeCalculator = /** @class */ (function () {
59
59
  }));
60
60
  assert(Object.keys(this.capitalCostsConfig).length > 0, "capitalCostsConfig must have at least one entry");
61
61
  this.logger = logger || DEFAULT_LOGGER;
62
+ // warn developer of any possible conflicting config overrides
63
+ this.checkAllConfigConflicts();
62
64
  }
63
65
  /**
64
66
  * Type guard to check if a config is a CapitalCostConfigOverride or a CapitalCostConfig.
@@ -92,6 +94,8 @@ var RelayFeeCalculator = /** @class */ (function () {
92
94
  var toChainIdRoutes = _a[_i];
93
95
  Object.values(toChainIdRoutes).forEach(this.validateCapitalCostsConfig);
94
96
  }
97
+ // Validate origin chain overrides
98
+ Object.values(config.originChainOverrides || {}).forEach(this.validateCapitalCostsConfig);
95
99
  // Validate destination chain overrides
96
100
  Object.values(config.destinationChainOverrides || {}).forEach(this.validateCapitalCostsConfig);
97
101
  return config;
@@ -192,7 +196,7 @@ var RelayFeeCalculator = /** @class */ (function () {
192
196
  };
193
197
  // Note: these variables are unused now, but may be needed in future versions of this function that are more complex.
194
198
  RelayFeeCalculator.prototype.capitalFeePercent = function (_amountToRelay, _tokenSymbol, _originRoute, _destinationRoute) {
195
- var _a, _b, _c, _d;
199
+ var _a, _b, _c, _d, _e, _f;
196
200
  // If amount is 0, then the capital fee % should be the max 100%
197
201
  if (toBN(_amountToRelay).eq(toBN(0)))
198
202
  return MAX_BIG_INT;
@@ -212,9 +216,17 @@ var RelayFeeCalculator = /** @class */ (function () {
212
216
  // bound to an upper bound. After the kink, the fee % increase will be fixed, and slowly approach the upper bound
213
217
  // for very large amount inputs.
214
218
  else {
215
- var destinationChainOverride = (_a = tokenCostConfig === null || tokenCostConfig === void 0 ? void 0 : tokenCostConfig.destinationChainOverrides) === null || _a === void 0 ? void 0 : _a[_destinationRoute || ""];
216
- var routeOverride = (_c = (_b = tokenCostConfig === null || tokenCostConfig === void 0 ? void 0 : tokenCostConfig.routeOverrides) === null || _b === void 0 ? void 0 : _b[_originRoute || ""]) === null || _c === void 0 ? void 0 : _c[_destinationRoute || ""];
217
- var config = (_d = routeOverride !== null && routeOverride !== void 0 ? routeOverride : destinationChainOverride) !== null && _d !== void 0 ? _d : tokenCostConfig.default;
219
+ // Order of specificity (most specific to least specific):
220
+ // 1. Route overrides (both origin and destination)
221
+ // 2. Destination chain overrides
222
+ // 3. Origin chain overrides
223
+ // 4. Default config
224
+ var routeOverride = (_b = (_a = tokenCostConfig === null || tokenCostConfig === void 0 ? void 0 : tokenCostConfig.routeOverrides) === null || _a === void 0 ? void 0 : _a[_originRoute || ""]) === null || _b === void 0 ? void 0 : _b[_destinationRoute || ""];
225
+ var destinationChainOverride = (_c = tokenCostConfig === null || tokenCostConfig === void 0 ? void 0 : tokenCostConfig.destinationChainOverrides) === null || _c === void 0 ? void 0 : _c[_destinationRoute || ""];
226
+ var originChainOverride = (_d = tokenCostConfig === null || tokenCostConfig === void 0 ? void 0 : tokenCostConfig.originChainOverrides) === null || _d === void 0 ? void 0 : _d[_originRoute || ""];
227
+ var config = (_f = (_e = routeOverride !== null && routeOverride !== void 0 ? routeOverride : destinationChainOverride) !== null && _e !== void 0 ? _e : originChainOverride) !== null && _f !== void 0 ? _f : tokenCostConfig.default;
228
+ // Check and log warnings for configuration conflicts
229
+ this.warnIfConfigConflicts(_tokenSymbol, _originRoute || "", _destinationRoute || "", routeOverride, destinationChainOverride, originChainOverride);
218
230
  // Scale amount "y" to 18 decimals.
219
231
  var y = toBN(_amountToRelay).mul(toBNWei("1", 18 - config.decimals));
220
232
  // At a minimum, the fee will be equal to lower bound fee * y
@@ -236,6 +248,74 @@ var RelayFeeCalculator = /** @class */ (function () {
236
248
  return minCharge.add(triangleCharge).add(remainderCharge).mul(fixedPointAdjustment).div(y);
237
249
  }
238
250
  };
251
+ /**
252
+ * Checks for configuration conflicts across all token symbols and their associated chain configurations.
253
+ * This method examines the capital costs configuration for each token and identifies any overlapping
254
+ * or conflicting configurations between route overrides, destination chain overrides, and origin chain overrides.
255
+ * If conflicts are found, warnings will be logged via the warnIfConfigConflicts method.
256
+ */
257
+ RelayFeeCalculator.prototype.checkAllConfigConflicts = function () {
258
+ var _a, _b, _c, _d;
259
+ var _loop_1 = function (tokenSymbol, tokenConfig) {
260
+ // Get all origin chains that have specific configurations
261
+ var originChains = new Set(Object.keys(tokenConfig.originChainOverrides || {}));
262
+ // Get all destination chains that have specific configurations
263
+ var destChains = new Set(Object.keys(tokenConfig.destinationChainOverrides || {}));
264
+ // Add all chains from route overrides
265
+ if (tokenConfig.routeOverrides) {
266
+ Object.keys(tokenConfig.routeOverrides).forEach(function (originChain) {
267
+ originChains.add(originChain);
268
+ Object.keys(tokenConfig.routeOverrides[originChain]).forEach(function (destChain) {
269
+ destChains.add(destChain);
270
+ });
271
+ });
272
+ }
273
+ // If there are no specific chain configurations, just check the default case
274
+ if (originChains.size === 0 && destChains.size === 0) {
275
+ return "continue";
276
+ }
277
+ // Check for conflicts between all combinations of origin and destination chains
278
+ for (var _g = 0, _h = Array.from(originChains); _g < _h.length; _g++) {
279
+ var originChain = _h[_g];
280
+ for (var _j = 0, _k = Array.from(destChains); _j < _k.length; _j++) {
281
+ var destChain = _k[_j];
282
+ var routeOverride = (_b = (_a = tokenConfig.routeOverrides) === null || _a === void 0 ? void 0 : _a[originChain]) === null || _b === void 0 ? void 0 : _b[destChain];
283
+ var destinationChainOverride = (_c = tokenConfig.destinationChainOverrides) === null || _c === void 0 ? void 0 : _c[destChain];
284
+ var originChainOverride = (_d = tokenConfig.originChainOverrides) === null || _d === void 0 ? void 0 : _d[originChain];
285
+ this_1.warnIfConfigConflicts(tokenSymbol, originChain, destChain, routeOverride, destinationChainOverride, originChainOverride);
286
+ }
287
+ }
288
+ };
289
+ var this_1 = this;
290
+ for (var _i = 0, _e = Object.entries(this.capitalCostsConfig); _i < _e.length; _i++) {
291
+ var _f = _e[_i], tokenSymbol = _f[0], tokenConfig = _f[1];
292
+ _loop_1(tokenSymbol, tokenConfig);
293
+ }
294
+ };
295
+ /**
296
+ * Log a warning if multiple configuration types apply to the same route
297
+ * @private
298
+ */
299
+ RelayFeeCalculator.prototype.warnIfConfigConflicts = function (tokenSymbol, originChain, destChain, routeOverride, destinationChainOverride, originChainOverride) {
300
+ var overrideCount = [routeOverride, destinationChainOverride, originChainOverride].filter(Boolean).length;
301
+ if (overrideCount > 1) {
302
+ var configUsed = routeOverride
303
+ ? "route override"
304
+ : destinationChainOverride
305
+ ? "destination chain override"
306
+ : originChainOverride
307
+ ? "origin chain override"
308
+ : "default override";
309
+ this.logger.warn({
310
+ at: "RelayFeeCalculator",
311
+ message: "Multiple configurations found for token ".concat(tokenSymbol, " from chain ").concat(originChain, " to chain ").concat(destChain),
312
+ configUsed: configUsed,
313
+ routeOverride: routeOverride,
314
+ destinationChainOverride: destinationChainOverride,
315
+ originChainOverride: originChainOverride,
316
+ });
317
+ }
318
+ };
239
319
  /**
240
320
  * Retrieves the relayer fee details for a deposit.
241
321
  * @param deposit A valid deposit object to reason about
@@ -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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"}
@@ -1,8 +1,7 @@
1
1
  import { __assign } from "tslib";
2
- import { utils as ethersUtils } from "ethers";
2
+ import { encodeAbiParameters, keccak256 } from "viem";
3
3
  import { MAX_SAFE_DEPOSIT_ID, ZERO_ADDRESS, ZERO_BYTES } from "../constants";
4
4
  import { toBytes32 } from "./AddressUtils";
5
- import { keccak256 } from "./common";
6
5
  import { BigNumber } from "./BigNumberUtils";
7
6
  import { isMessageEmpty } from "./DepositUtils";
8
7
  /**
@@ -33,24 +32,28 @@ export function getDepositRelayData(deposit) {
33
32
  * @returns The corresponding RelayData hash.
34
33
  */
35
34
  export function getRelayDataHash(relayData, destinationChainId) {
35
+ var abi = [
36
+ {
37
+ type: "tuple",
38
+ components: [
39
+ { type: "bytes32", name: "depositor" },
40
+ { type: "bytes32", name: "recipient" },
41
+ { type: "bytes32", name: "exclusiveRelayer" },
42
+ { type: "bytes32", name: "inputToken" },
43
+ { type: "bytes32", name: "outputToken" },
44
+ { type: "uint256", name: "inputAmount" },
45
+ { type: "uint256", name: "outputAmount" },
46
+ { type: "uint256", name: "originChainId" },
47
+ { type: "uint256", name: "depositId" },
48
+ { type: "uint32", name: "fillDeadline" },
49
+ { type: "uint32", name: "exclusivityDeadline" },
50
+ { type: "bytes", name: "message" },
51
+ ],
52
+ },
53
+ { type: "uint256", name: "destinationChainId" },
54
+ ];
36
55
  var _relayData = __assign(__assign({}, relayData), { depositor: toBytes32(relayData.depositor), recipient: toBytes32(relayData.recipient), inputToken: toBytes32(relayData.inputToken), outputToken: toBytes32(relayData.outputToken), exclusiveRelayer: toBytes32(relayData.exclusiveRelayer) });
37
- return keccak256(ethersUtils.defaultAbiCoder.encode([
38
- "tuple(" +
39
- "bytes32 depositor," +
40
- "bytes32 recipient," +
41
- "bytes32 exclusiveRelayer," +
42
- "bytes32 inputToken," +
43
- "bytes32 outputToken," +
44
- "uint256 inputAmount," +
45
- "uint256 outputAmount," +
46
- "uint256 originChainId," +
47
- "uint256 depositId," +
48
- "uint32 fillDeadline," +
49
- "uint32 exclusivityDeadline," +
50
- "bytes message" +
51
- ")",
52
- "uint256 destinationChainId",
53
- ], [_relayData, destinationChainId]));
56
+ return keccak256(encodeAbiParameters(abi, [_relayData, destinationChainId]));
54
57
  }
55
58
  export function getRelayHashFromEvent(e) {
56
59
  return getRelayDataHash(e, e.destinationChainId);
@@ -1 +1 @@
1
- {"version":3,"file":"SpokeUtils.js","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpokeUtils.js","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"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"}
@@ -419,6 +419,15 @@ export declare function getCoingeckoTokenIdByAddress(contractAddress: string, ch
419
419
  export declare function getTokenBalance(address: string, tokenAddress: string, signerOrProvider: SignerOrProvider, blockTag?: BlockTag): Promise<BigNumber>;
420
420
  export declare function isBridgedUsdc(tokenSymbol: string): boolean;
421
421
  export declare function isStablecoin(tokenSymbol: string): boolean;
422
+ /**
423
+ * @notice Returns the Token info for the token mapping in TOKEN_SYMBOLS_MAP matching the given l2TokenAddress
424
+ * and chainId. If the chain is the hub chain, then will remap the L1 token to its equivalent L1 token symbol for example
425
+ * it will always return a token info with symbol USDC and never USDC.e if chainId = mainnet.
426
+ * @param l2TokenAddress
427
+ * @param chainId
428
+ * @param tokenMapping
429
+ * @returns
430
+ */
422
431
  export declare function getTokenInfo(l2TokenAddress: string, chainId: number, tokenMapping?: {
423
432
  ACX: {
424
433
  name: string;
@@ -811,5 +820,8 @@ export declare function getTokenInfo(l2TokenAddress: string, chainId: number, to
811
820
  * @returns Either USDC (if native) or USDbC/USDC.e (if bridged) or undefined if the token address is not recognized.
812
821
  */
813
822
  export declare function getUsdcSymbol(l2Token: string, chainId: number): string | undefined;
814
- export declare function getL1TokenInfo(l2TokenAddress: string, chainId: number): L1Token;
823
+ /**
824
+ * @notice Returns the l1 token address matching the given l2TokenAddress and chainId.
825
+ */
826
+ export declare function getL1TokenAddress(l2TokenAddress: string, chainId: number): string;
815
827
  export {};
@@ -86,6 +86,15 @@ export function isBridgedUsdc(tokenSymbol) {
86
86
  export function isStablecoin(tokenSymbol) {
87
87
  return constants.STABLE_COIN_SYMBOLS.some(function (stablecoinSymbol) { return stablecoinSymbol.toLowerCase() === tokenSymbol.toLowerCase(); });
88
88
  }
89
+ /**
90
+ * @notice Returns the Token info for the token mapping in TOKEN_SYMBOLS_MAP matching the given l2TokenAddress
91
+ * and chainId. If the chain is the hub chain, then will remap the L1 token to its equivalent L1 token symbol for example
92
+ * it will always return a token info with symbol USDC and never USDC.e if chainId = mainnet.
93
+ * @param l2TokenAddress
94
+ * @param chainId
95
+ * @param tokenMapping
96
+ * @returns
97
+ */
89
98
  export function getTokenInfo(l2TokenAddress, chainId, tokenMapping) {
90
99
  var _a;
91
100
  if (tokenMapping === void 0) { tokenMapping = TOKEN_SYMBOLS_MAP; }
@@ -121,9 +130,12 @@ export function getUsdcSymbol(l2Token, chainId) {
121
130
  return compareToken((_b = (_a = TOKEN_SYMBOLS_MAP[token]) === null || _a === void 0 ? void 0 : _a.addresses) === null || _b === void 0 ? void 0 : _b[chainId]);
122
131
  });
123
132
  }
124
- export function getL1TokenInfo(l2TokenAddress, chainId) {
133
+ /**
134
+ * @notice Returns the l1 token address matching the given l2TokenAddress and chainId.
135
+ */
136
+ export function getL1TokenAddress(l2TokenAddress, chainId) {
125
137
  if (chainIsL1(chainId))
126
- throw new Error("chainId should be an L2 chainId because many mappings re-use the same L1 token address");
138
+ return l2TokenAddress;
127
139
  var tokenObject = Object.values(TOKEN_SYMBOLS_MAP).find(function (_a) {
128
140
  var addresses = _a.addresses;
129
141
  return addresses[chainId] === l2TokenAddress;
@@ -132,10 +144,6 @@ export function getL1TokenInfo(l2TokenAddress, chainId) {
132
144
  if (!l1TokenAddress) {
133
145
  throw new Error("TokenUtils#getL1TokenInfo: Unable to resolve l1 token address in TOKEN_SYMBOLS_MAP for L2 token ".concat(l2TokenAddress, " on chain ").concat(chainId));
134
146
  }
135
- return {
136
- address: l1TokenAddress,
137
- symbol: tokenObject.symbol,
138
- decimals: tokenObject.decimals,
139
- };
147
+ return l1TokenAddress;
140
148
  }
141
149
  //# sourceMappingURL=TokenUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenUtils.js","sourceRoot":"","sources":["../../../src/utils/TokenUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TokenUtils.js","sourceRoot":"","sources":["../../../src/utils/TokenUtils.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ export interface CapitalCostConfigOverride {
24
24
  default: CapitalCostConfig;
25
25
  routeOverrides?: Record<ChainIdAsString, Record<ChainIdAsString, CapitalCostConfig>>;
26
26
  destinationChainOverrides?: Record<ChainIdAsString, CapitalCostConfig>;
27
+ originChainOverrides?: Record<ChainIdAsString, CapitalCostConfig>;
27
28
  }
28
29
  export type RelayCapitalCostConfig = CapitalCostConfigOverride | CapitalCostConfig;
29
30
  export interface BaseRelayFeeCalculatorConfig {
@@ -497,10 +498,7 @@ export declare class RelayFeeCalculator {
497
498
  [x: number]: string;
498
499
  133268194659241: string;
499
500
  };
500
- coingeckoId: string; /**
501
- * Validates a CapitalCostConfig.
502
- * @param capitalCosts CapitalCostConfig
503
- */
501
+ coingeckoId: string;
504
502
  };
505
503
  XYZ: {
506
504
  name: string;
@@ -513,6 +511,18 @@ export declare class RelayFeeCalculator {
513
511
  };
514
512
  }, gasPrice?: BigNumberish, gasLimit?: BigNumberish, _tokenGasCost?: BigNumberish, transport?: Transport): Promise<BigNumber>;
515
513
  capitalFeePercent(_amountToRelay: BigNumberish, _tokenSymbol: string, _originRoute?: ChainIdAsString, _destinationRoute?: ChainIdAsString): BigNumber;
514
+ /**
515
+ * Checks for configuration conflicts across all token symbols and their associated chain configurations.
516
+ * This method examines the capital costs configuration for each token and identifies any overlapping
517
+ * or conflicting configurations between route overrides, destination chain overrides, and origin chain overrides.
518
+ * If conflicts are found, warnings will be logged via the warnIfConfigConflicts method.
519
+ */
520
+ private checkAllConfigConflicts;
521
+ /**
522
+ * Log a warning if multiple configuration types apply to the same route
523
+ * @private
524
+ */
525
+ private warnIfConfigConflicts;
516
526
  /**
517
527
  * Retrieves the relayer fee details for a deposit.
518
528
  * @param deposit A valid deposit object to reason about
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SpokeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,SAAS,CAepF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,CA+BzF;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,SAAS,GAAG;IAAE,kBAAkB,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAE3F;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAQ/D;AAGD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD"}
1
+ {"version":3,"file":"SpokeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,SAAS,CAepF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAgCzF;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,SAAS,GAAG;IAAE,kBAAkB,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAE3F;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAQ/D;AAGD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD"}
@@ -419,6 +419,15 @@ export declare function getCoingeckoTokenIdByAddress(contractAddress: string, ch
419
419
  export declare function getTokenBalance(address: string, tokenAddress: string, signerOrProvider: SignerOrProvider, blockTag?: BlockTag): Promise<BigNumber>;
420
420
  export declare function isBridgedUsdc(tokenSymbol: string): boolean;
421
421
  export declare function isStablecoin(tokenSymbol: string): boolean;
422
+ /**
423
+ * @notice Returns the Token info for the token mapping in TOKEN_SYMBOLS_MAP matching the given l2TokenAddress
424
+ * and chainId. If the chain is the hub chain, then will remap the L1 token to its equivalent L1 token symbol for example
425
+ * it will always return a token info with symbol USDC and never USDC.e if chainId = mainnet.
426
+ * @param l2TokenAddress
427
+ * @param chainId
428
+ * @param tokenMapping
429
+ * @returns
430
+ */
422
431
  export declare function getTokenInfo(l2TokenAddress: string, chainId: number, tokenMapping?: {
423
432
  ACX: {
424
433
  name: string;
@@ -811,6 +820,9 @@ export declare function getTokenInfo(l2TokenAddress: string, chainId: number, to
811
820
  * @returns Either USDC (if native) or USDbC/USDC.e (if bridged) or undefined if the token address is not recognized.
812
821
  */
813
822
  export declare function getUsdcSymbol(l2Token: string, chainId: number): string | undefined;
814
- export declare function getL1TokenInfo(l2TokenAddress: string, chainId: number): L1Token;
823
+ /**
824
+ * @notice Returns the l1 token address matching the given l2TokenAddress and chainId.
825
+ */
826
+ export declare function getL1TokenAddress(l2TokenAddress: string, chainId: number): string;
815
827
  export {};
816
828
  //# sourceMappingURL=TokenUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/TokenUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAY,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAM7C,KAAK,gBAAgB,GAAG,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC;AAEpD,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAI1G;AAED,eAAO,MAAM,mBAAmB,mBACd,MAAM;;aAMvB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAY7E;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,WAC5B,MAAM,WACL,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAEd,MAAM,GAAG,SAIX,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAM7F;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,GAAE,QAAmB,GAC5B,OAAO,CAAC,SAAS,CAAC,CAGpB;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAI1D;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAIzD;AAED,wBAAgB,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoB,GAAG,OAAO,CAkB/G;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOlF;AAED,wBAAgB,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAe/E"}
1
+ {"version":3,"file":"TokenUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/TokenUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAY,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAM7C,KAAK,gBAAgB,GAAG,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC;AAEpD,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAI1G;AAED,eAAO,MAAM,mBAAmB,mBACd,MAAM;;aAMvB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAY7E;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,WAC5B,MAAM,WACL,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAEd,MAAM,GAAG,SAIX,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAM7F;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,GAAE,QAAmB,GAC5B,OAAO,CAAC,SAAS,CAAC,CAGpB;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAI1D;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAIzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoB,GAAG,OAAO,CAkB/G;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOlF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAUjF"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@across-protocol/sdk",
3
3
  "author": "UMA Team",
4
- "version": "4.1.60",
4
+ "version": "4.1.62-beta.0",
5
5
  "license": "AGPL-3.0",
6
6
  "homepage": "https://docs.across.to/reference/sdk",
7
7
  "files": [
@@ -50,6 +50,7 @@ export interface CapitalCostConfigOverride {
50
50
  default: CapitalCostConfig;
51
51
  routeOverrides?: Record<ChainIdAsString, Record<ChainIdAsString, CapitalCostConfig>>;
52
52
  destinationChainOverrides?: Record<ChainIdAsString, CapitalCostConfig>;
53
+ originChainOverrides?: Record<ChainIdAsString, CapitalCostConfig>;
53
54
  }
54
55
  export type RelayCapitalCostConfig = CapitalCostConfigOverride | CapitalCostConfig;
55
56
  export interface BaseRelayFeeCalculatorConfig {
@@ -155,6 +156,8 @@ export class RelayFeeCalculator {
155
156
  );
156
157
  assert(Object.keys(this.capitalCostsConfig).length > 0, "capitalCostsConfig must have at least one entry");
157
158
  this.logger = logger || DEFAULT_LOGGER;
159
+ // warn developer of any possible conflicting config overrides
160
+ this.checkAllConfigConflicts();
158
161
  }
159
162
 
160
163
  /**
@@ -194,8 +197,11 @@ export class RelayFeeCalculator {
194
197
  for (const toChainIdRoutes of Object.values(config.routeOverrides || {})) {
195
198
  Object.values(toChainIdRoutes).forEach(this.validateCapitalCostsConfig);
196
199
  }
200
+ // Validate origin chain overrides
201
+ Object.values(config.originChainOverrides || {}).forEach(this.validateCapitalCostsConfig);
197
202
  // Validate destination chain overrides
198
203
  Object.values(config.destinationChainOverrides || {}).forEach(this.validateCapitalCostsConfig);
204
+
199
205
  return config;
200
206
  }
201
207
 
@@ -326,9 +332,26 @@ export class RelayFeeCalculator {
326
332
  // bound to an upper bound. After the kink, the fee % increase will be fixed, and slowly approach the upper bound
327
333
  // for very large amount inputs.
328
334
  else {
329
- const destinationChainOverride = tokenCostConfig?.destinationChainOverrides?.[_destinationRoute || ""];
335
+ // Order of specificity (most specific to least specific):
336
+ // 1. Route overrides (both origin and destination)
337
+ // 2. Destination chain overrides
338
+ // 3. Origin chain overrides
339
+ // 4. Default config
330
340
  const routeOverride = tokenCostConfig?.routeOverrides?.[_originRoute || ""]?.[_destinationRoute || ""];
331
- const config: CapitalCostConfig = routeOverride ?? destinationChainOverride ?? tokenCostConfig.default;
341
+ const destinationChainOverride = tokenCostConfig?.destinationChainOverrides?.[_destinationRoute || ""];
342
+ const originChainOverride = tokenCostConfig?.originChainOverrides?.[_originRoute || ""];
343
+ const config: CapitalCostConfig =
344
+ routeOverride ?? destinationChainOverride ?? originChainOverride ?? tokenCostConfig.default;
345
+
346
+ // Check and log warnings for configuration conflicts
347
+ this.warnIfConfigConflicts(
348
+ _tokenSymbol,
349
+ _originRoute || "",
350
+ _destinationRoute || "",
351
+ routeOverride,
352
+ destinationChainOverride,
353
+ originChainOverride
354
+ );
332
355
 
333
356
  // Scale amount "y" to 18 decimals.
334
357
  const y = toBN(_amountToRelay).mul(toBNWei("1", 18 - config.decimals));
@@ -356,6 +379,88 @@ export class RelayFeeCalculator {
356
379
  }
357
380
  }
358
381
 
382
+ /**
383
+ * Checks for configuration conflicts across all token symbols and their associated chain configurations.
384
+ * This method examines the capital costs configuration for each token and identifies any overlapping
385
+ * or conflicting configurations between route overrides, destination chain overrides, and origin chain overrides.
386
+ * If conflicts are found, warnings will be logged via the warnIfConfigConflicts method.
387
+ */
388
+ private checkAllConfigConflicts(): void {
389
+ for (const [tokenSymbol, tokenConfig] of Object.entries(this.capitalCostsConfig)) {
390
+ // Get all origin chains that have specific configurations
391
+ const originChains = new Set<string>(Object.keys(tokenConfig.originChainOverrides || {}));
392
+ // Get all destination chains that have specific configurations
393
+ const destChains = new Set<string>(Object.keys(tokenConfig.destinationChainOverrides || {}));
394
+
395
+ // Add all chains from route overrides
396
+ if (tokenConfig.routeOverrides) {
397
+ Object.keys(tokenConfig.routeOverrides).forEach((originChain) => {
398
+ originChains.add(originChain);
399
+ Object.keys(tokenConfig.routeOverrides![originChain]).forEach((destChain) => {
400
+ destChains.add(destChain);
401
+ });
402
+ });
403
+ }
404
+
405
+ // If there are no specific chain configurations, just check the default case
406
+ if (originChains.size === 0 && destChains.size === 0) {
407
+ continue;
408
+ }
409
+
410
+ // Check for conflicts between all combinations of origin and destination chains
411
+ for (const originChain of Array.from(originChains)) {
412
+ for (const destChain of Array.from(destChains)) {
413
+ const routeOverride = tokenConfig.routeOverrides?.[originChain]?.[destChain];
414
+ const destinationChainOverride = tokenConfig.destinationChainOverrides?.[destChain];
415
+ const originChainOverride = tokenConfig.originChainOverrides?.[originChain];
416
+
417
+ this.warnIfConfigConflicts(
418
+ tokenSymbol,
419
+ originChain,
420
+ destChain,
421
+ routeOverride,
422
+ destinationChainOverride,
423
+ originChainOverride
424
+ );
425
+ }
426
+ }
427
+ }
428
+ }
429
+
430
+ /**
431
+ * Log a warning if multiple configuration types apply to the same route
432
+ * @private
433
+ */
434
+ private warnIfConfigConflicts(
435
+ tokenSymbol: string,
436
+ originChain: string,
437
+ destChain: string,
438
+ routeOverride?: CapitalCostConfig,
439
+ destinationChainOverride?: CapitalCostConfig,
440
+ originChainOverride?: CapitalCostConfig
441
+ ): void {
442
+ const overrideCount = [routeOverride, destinationChainOverride, originChainOverride].filter(Boolean).length;
443
+
444
+ if (overrideCount > 1) {
445
+ const configUsed = routeOverride
446
+ ? "route override"
447
+ : destinationChainOverride
448
+ ? "destination chain override"
449
+ : originChainOverride
450
+ ? "origin chain override"
451
+ : "default override";
452
+
453
+ this.logger.warn({
454
+ at: "RelayFeeCalculator",
455
+ message: `Multiple configurations found for token ${tokenSymbol} from chain ${originChain} to chain ${destChain}`,
456
+ configUsed,
457
+ routeOverride,
458
+ destinationChainOverride,
459
+ originChainOverride,
460
+ });
461
+ }
462
+ }
463
+
359
464
  /**
360
465
  * Retrieves the relayer fee details for a deposit.
361
466
  * @param deposit A valid deposit object to reason about
@@ -1,8 +1,7 @@
1
- import { utils as ethersUtils } from "ethers";
1
+ import { encodeAbiParameters, keccak256 } from "viem";
2
2
  import { MAX_SAFE_DEPOSIT_ID, ZERO_ADDRESS, ZERO_BYTES } from "../constants";
3
3
  import { Deposit, RelayData } from "../interfaces";
4
4
  import { toBytes32 } from "./AddressUtils";
5
- import { keccak256 } from "./common";
6
5
  import { BigNumber } from "./BigNumberUtils";
7
6
  import { isMessageEmpty } from "./DepositUtils";
8
7
 
@@ -35,6 +34,27 @@ export function getDepositRelayData(deposit: Omit<Deposit, "messageHash">): Rela
35
34
  * @returns The corresponding RelayData hash.
36
35
  */
37
36
  export function getRelayDataHash(relayData: RelayData, destinationChainId: number): string {
37
+ const abi = [
38
+ {
39
+ type: "tuple",
40
+ components: [
41
+ { type: "bytes32", name: "depositor" },
42
+ { type: "bytes32", name: "recipient" },
43
+ { type: "bytes32", name: "exclusiveRelayer" },
44
+ { type: "bytes32", name: "inputToken" },
45
+ { type: "bytes32", name: "outputToken" },
46
+ { type: "uint256", name: "inputAmount" },
47
+ { type: "uint256", name: "outputAmount" },
48
+ { type: "uint256", name: "originChainId" },
49
+ { type: "uint256", name: "depositId" },
50
+ { type: "uint32", name: "fillDeadline" },
51
+ { type: "uint32", name: "exclusivityDeadline" },
52
+ { type: "bytes", name: "message" },
53
+ ],
54
+ },
55
+ { type: "uint256", name: "destinationChainId" },
56
+ ];
57
+
38
58
  const _relayData = {
39
59
  ...relayData,
40
60
  depositor: toBytes32(relayData.depositor),
@@ -43,28 +63,8 @@ export function getRelayDataHash(relayData: RelayData, destinationChainId: numbe
43
63
  outputToken: toBytes32(relayData.outputToken),
44
64
  exclusiveRelayer: toBytes32(relayData.exclusiveRelayer),
45
65
  };
46
- return keccak256(
47
- ethersUtils.defaultAbiCoder.encode(
48
- [
49
- "tuple(" +
50
- "bytes32 depositor," +
51
- "bytes32 recipient," +
52
- "bytes32 exclusiveRelayer," +
53
- "bytes32 inputToken," +
54
- "bytes32 outputToken," +
55
- "uint256 inputAmount," +
56
- "uint256 outputAmount," +
57
- "uint256 originChainId," +
58
- "uint256 depositId," +
59
- "uint32 fillDeadline," +
60
- "uint32 exclusivityDeadline," +
61
- "bytes message" +
62
- ")",
63
- "uint256 destinationChainId",
64
- ],
65
- [_relayData, destinationChainId]
66
- )
67
- );
66
+
67
+ return keccak256(encodeAbiParameters(abi, [_relayData, destinationChainId]));
68
68
  }
69
69
 
70
70
  export function getRelayHashFromEvent(e: RelayData & { destinationChainId: number }): string {
@@ -87,5 +87,5 @@ export function isZeroAddress(address: string): boolean {
87
87
  }
88
88
 
89
89
  export function getMessageHash(message: string): string {
90
- return isMessageEmpty(message) ? ZERO_BYTES : keccak256(message);
90
+ return isMessageEmpty(message) ? ZERO_BYTES : keccak256(message as "0x{string}");
91
91
  }
@@ -102,6 +102,15 @@ export function isStablecoin(tokenSymbol: string): boolean {
102
102
  );
103
103
  }
104
104
 
105
+ /**
106
+ * @notice Returns the Token info for the token mapping in TOKEN_SYMBOLS_MAP matching the given l2TokenAddress
107
+ * and chainId. If the chain is the hub chain, then will remap the L1 token to its equivalent L1 token symbol for example
108
+ * it will always return a token info with symbol USDC and never USDC.e if chainId = mainnet.
109
+ * @param l2TokenAddress
110
+ * @param chainId
111
+ * @param tokenMapping
112
+ * @returns
113
+ */
105
114
  export function getTokenInfo(l2TokenAddress: string, chainId: number, tokenMapping = TOKEN_SYMBOLS_MAP): L1Token {
106
115
  // @dev This might give false positives if tokens on different networks have the same address. I'm not sure how
107
116
  // to get around this...
@@ -137,9 +146,11 @@ export function getUsdcSymbol(l2Token: string, chainId: number): string | undefi
137
146
  );
138
147
  }
139
148
 
140
- export function getL1TokenInfo(l2TokenAddress: string, chainId: number): L1Token {
141
- if (chainIsL1(chainId))
142
- throw new Error("chainId should be an L2 chainId because many mappings re-use the same L1 token address");
149
+ /**
150
+ * @notice Returns the l1 token address matching the given l2TokenAddress and chainId.
151
+ */
152
+ export function getL1TokenAddress(l2TokenAddress: string, chainId: number): string {
153
+ if (chainIsL1(chainId)) return l2TokenAddress;
143
154
  const tokenObject = Object.values(TOKEN_SYMBOLS_MAP).find(({ addresses }) => addresses[chainId] === l2TokenAddress);
144
155
  const l1TokenAddress = tokenObject?.addresses[chainIsProd(chainId) ? CHAIN_IDs.MAINNET : CHAIN_IDs.SEPOLIA];
145
156
  if (!l1TokenAddress) {
@@ -147,9 +158,5 @@ export function getL1TokenInfo(l2TokenAddress: string, chainId: number): L1Token
147
158
  `TokenUtils#getL1TokenInfo: Unable to resolve l1 token address in TOKEN_SYMBOLS_MAP for L2 token ${l2TokenAddress} on chain ${chainId}`
148
159
  );
149
160
  }
150
- return {
151
- address: l1TokenAddress,
152
- symbol: tokenObject.symbol,
153
- decimals: tokenObject.decimals,
154
- };
161
+ return l1TokenAddress;
155
162
  }