@across-protocol/sdk 3.0.1 → 3.0.3

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.
Files changed (40) hide show
  1. package/dist/cjs/clients/SpokePoolClient.d.ts +0 -3
  2. package/dist/cjs/clients/SpokePoolClient.js +8 -25
  3. package/dist/cjs/clients/SpokePoolClient.js.map +1 -1
  4. package/dist/cjs/clients/mocks/MockSpokePoolClient.js +0 -1
  5. package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -1
  6. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.d.ts +1 -1
  7. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +3 -2
  8. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
  9. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.d.ts +3 -3
  10. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js +4 -4
  11. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
  12. package/dist/cjs/utils/common.js +17 -13
  13. package/dist/cjs/utils/common.js.map +1 -1
  14. package/dist/esm/clients/SpokePoolClient.d.ts +0 -8
  15. package/dist/esm/clients/SpokePoolClient.js +9 -31
  16. package/dist/esm/clients/SpokePoolClient.js.map +1 -1
  17. package/dist/esm/clients/mocks/MockSpokePoolClient.js +0 -1
  18. package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -1
  19. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.d.ts +2 -1
  20. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +4 -2
  21. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
  22. package/dist/esm/relayFeeCalculator/relayFeeCalculator.d.ts +3 -3
  23. package/dist/esm/relayFeeCalculator/relayFeeCalculator.js +4 -4
  24. package/dist/esm/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
  25. package/dist/esm/utils/common.js +18 -14
  26. package/dist/esm/utils/common.js.map +1 -1
  27. package/dist/types/clients/SpokePoolClient.d.ts +0 -8
  28. package/dist/types/clients/SpokePoolClient.d.ts.map +1 -1
  29. package/dist/types/clients/mocks/MockSpokePoolClient.d.ts.map +1 -1
  30. package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts +2 -1
  31. package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts.map +1 -1
  32. package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts +3 -3
  33. package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts.map +1 -1
  34. package/dist/types/utils/common.d.ts.map +1 -1
  35. package/package.json +1 -1
  36. package/src/clients/SpokePoolClient.ts +1 -26
  37. package/src/clients/mocks/MockSpokePoolClient.ts +0 -1
  38. package/src/relayFeeCalculator/chain-queries/baseQuery.ts +7 -8
  39. package/src/relayFeeCalculator/relayFeeCalculator.ts +9 -5
  40. package/src/utils/common.ts +12 -3
@@ -1 +1 @@
1
- {"version":3,"file":"baseQuery.d.ts","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/baseQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAsB,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAEL,uBAAuB,EAGxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE/D,KAAK,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;AACnC,KAAK,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC7C,KAAK,iBAAiB,GAAG,MAAM,CAC7B,MAAM,EACN;IACE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;CAClB,CACF,CAAC;AAEF;;;GAGG;AACH,qBAAa,SAAU,YAAW,cAAc;IAe5C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,gBAAgB;IAC9C,QAAQ,CAAC,aAAa,EAAE,iBAAiB;IACzC,QAAQ,CAAC,gBAAgB,EAAE,MAAM;IACjC,QAAQ,CAAC,uBAAuB,EAAE,MAAM;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,kBAAkB,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC;IACvB,QAAQ,CAAC,qBAAqB,EAAE,MAAM;IAtBxC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B;;;;;;;;;;;OAWG;gBAEQ,QAAQ,EAAE,QAAQ,GAAG,gBAAgB,EACrC,aAAa,EAAE,iBAAiB,EAChC,gBAAgB,EAAE,MAAM,EACxB,uBAAuB,EAAE,MAAM,EAC/B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,oBAAQ,EAC3B,aAAa,CAAC,2CAAc,EAC5B,qBAAqB,GAAE,MAAc;IAKhD;;;;;OAKG;IACG,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,SAAoC,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAWlH;;;;OAIG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUzD;;;;OAIG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;CAI9C"}
1
+ {"version":3,"file":"baseQuery.d.ts","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/baseQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAsB,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAEL,uBAAuB,EAGxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE/D,KAAK,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;AACnC,KAAK,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC7C,KAAK,iBAAiB,GAAG,MAAM,CAC7B,MAAM,EACN;IACE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;CAClB,CACF,CAAC;AAEF;;;GAGG;AACH,qBAAa,SAAU,YAAW,cAAc;IAe5C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,gBAAgB;IAC9C,QAAQ,CAAC,aAAa,EAAE,iBAAiB;IACzC,QAAQ,CAAC,gBAAgB,EAAE,MAAM;IACjC,QAAQ,CAAC,uBAAuB,EAAE,MAAM;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,kBAAkB,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC;IACvB,QAAQ,CAAC,qBAAqB,EAAE,MAAM;IAtBxC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B;;;;;;;;;;;OAWG;gBAEQ,QAAQ,EAAE,QAAQ,GAAG,gBAAgB,EACrC,aAAa,EAAE,iBAAiB,EAChC,gBAAgB,EAAE,MAAM,EACxB,uBAAuB,EAAE,MAAM,EAC/B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,oBAAQ,EAC3B,aAAa,CAAC,2CAAc,EAC5B,qBAAqB,GAAE,MAAc;IAKhD;;;;;;OAMG;IACG,WAAW,CACf,OAAO,EAAE,OAAO,EAChB,OAAO,SAAoC,EAC3C,QAAQ,4CAAqB,GAC5B,OAAO,CAAC,uBAAuB,CAAC;IAKnC;;;;OAIG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUzD;;;;OAIG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;CAI9C"}
@@ -2,7 +2,7 @@ import { BigNumber } from "ethers";
2
2
  import { Deposit } from "../interfaces";
3
3
  import { BigNumberish, TransactionCostEstimate } from "../utils";
4
4
  export interface QueryInterface {
5
- getGasCosts: (deposit: Deposit, relayer: string) => Promise<TransactionCostEstimate>;
5
+ getGasCosts: (deposit: Deposit, relayer: string, gasPrice?: BigNumberish) => Promise<TransactionCostEstimate>;
6
6
  getTokenPrice: (tokenSymbol: string) => Promise<number>;
7
7
  getTokenDecimals: (tokenSymbol: string) => number;
8
8
  }
@@ -270,7 +270,7 @@ export declare class RelayFeeCalculator {
270
270
  [x: number]: string;
271
271
  };
272
272
  };
273
- }): Promise<BigNumber>;
273
+ }, gasPrice?: BigNumberish): Promise<BigNumber>;
274
274
  capitalFeePercent(_amountToRelay: BigNumberish, _tokenSymbol: string, _originRoute?: ChainIdAsString, _destinationRoute?: ChainIdAsString): BigNumber;
275
275
  /**
276
276
  * Retrieves the relayer fee details for a deposit.
@@ -285,7 +285,7 @@ export declare class RelayFeeCalculator {
285
285
  * @param _tokenPrice The token price for normalizing fees
286
286
  * @returns A resulting `RelayerFeeDetails` object
287
287
  */
288
- relayerFeeDetails(deposit: Deposit, amountToRelay?: BigNumberish, simulateZeroFill?: boolean, relayerAddress?: string, _tokenPrice?: number): Promise<RelayerFeeDetails>;
288
+ relayerFeeDetails(deposit: Deposit, amountToRelay?: BigNumberish, simulateZeroFill?: boolean, relayerAddress?: string, _tokenPrice?: number, gasPrice?: BigNumberish): Promise<RelayerFeeDetails>;
289
289
  }
290
290
  export {};
291
291
  //# sourceMappingURL=relayFeeCalculator.d.ts.map
@@ -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":"common.d.ts","sourceRoot":"","sources":["../../../src/utils/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/utils/common.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@across-protocol/sdk",
3
3
  "author": "UMA Team",
4
- "version": "3.0.1",
4
+ "version": "3.0.3",
5
5
  "license": "AGPL-3.0",
6
6
  "homepage": "https://docs.across.to/reference/sdk",
7
7
  "files": [
@@ -37,7 +37,7 @@ import {
37
37
  V3FundsDepositedEvent,
38
38
  } from "../interfaces";
39
39
  import { SpokePool } from "../typechain";
40
- import { chainIsCCTPEnabled, getNetworkName } from "../utils/NetworkUtils";
40
+ import { getNetworkName } from "../utils/NetworkUtils";
41
41
  import { getBlockRangeForDepositId, getDepositIdAtBlock } from "../utils/SpokeUtils";
42
42
  import { BaseAbstractClient, isUpdateFailureReason, UpdateFailureReason } from "./BaseAbstractClient";
43
43
  import { HubPoolClient } from "./HubPoolClient";
@@ -50,7 +50,6 @@ type SpokePoolUpdateSuccess = {
50
50
  latestDepositId: number;
51
51
  events: Event[][];
52
52
  searchEndBlock: number;
53
- hasCCTPBridgingEnabled: boolean;
54
53
  };
55
54
  type SpokePoolUpdateFailure = {
56
55
  success: false;
@@ -74,7 +73,6 @@ export class SpokePoolClient extends BaseAbstractClient {
74
73
  protected rootBundleRelays: RootBundleRelayWithBlock[] = [];
75
74
  protected relayerRefundExecutions: RelayerRefundExecutionWithBlock[] = [];
76
75
  protected queryableEventNames: string[] = [];
77
- protected hasCCTPBridgingEnabled: boolean = false;
78
76
  public earliestDepositIdQueried = Number.MAX_SAFE_INTEGER;
79
77
  public latestDepositIdQueried = 0;
80
78
  public firstDepositIdForSpokePool = Number.MAX_SAFE_INTEGER;
@@ -155,15 +153,6 @@ export class SpokePoolClient extends BaseAbstractClient {
155
153
  return this.tokensBridged;
156
154
  }
157
155
 
158
- /**
159
- * Certain spoke pools can bridge USDC back to the hub via CCTP. Of these spokes, not all
160
- * have this feature enabled.
161
- * @returns Whether or not this spoke pool is capable of bridging USDC via CCTP back to the hub
162
- */
163
- public isCCTPBridgingEnabled(): boolean {
164
- return this.hasCCTPBridgingEnabled;
165
- }
166
-
167
156
  /**
168
157
  * Retrieves a mapping of tokens and their associated destination chain IDs that can be bridged.
169
158
  * @returns A mapping of tokens and their associated destination chain IDs in a nested mapping.
@@ -474,18 +463,6 @@ export class SpokePoolClient extends BaseAbstractClient {
474
463
  return { success: false, reason };
475
464
  }
476
465
 
477
- // Determine if this spoke pool has the capability to bridge UDSC via the CCTP token bridge.
478
- // The CCTP bridge is canonically disabled if the `cctpTokenMessenger` is the ZERO address.
479
- let hasCCTPBridgingEnabled = false;
480
- if (chainIsCCTPEnabled(this.chainId) && isDefined(this.spokePool.cctpTokenMessenger)) {
481
- const cctpBridgeAddress = String(
482
- await this.spokePool.cctpTokenMessenger({
483
- blockTag: searchConfig.toBlock,
484
- })
485
- );
486
- hasCCTPBridgingEnabled = cctpBridgeAddress.toLowerCase() !== ZERO_ADDRESS.toLowerCase();
487
- }
488
-
489
466
  const eventSearchConfigs = eventsToQuery.map((eventName) => {
490
467
  if (!this.queryableEventNames.includes(eventName)) {
491
468
  throw new Error(`SpokePoolClient: Cannot query unrecognised SpokePool event name: ${eventName}`);
@@ -539,7 +516,6 @@ export class SpokePoolClient extends BaseAbstractClient {
539
516
  latestDepositId: Math.max(numberOfDeposits - 1, 0),
540
517
  searchEndBlock: searchConfig.toBlock,
541
518
  events,
542
- hasCCTPBridgingEnabled,
543
519
  };
544
520
  }
545
521
 
@@ -699,7 +675,6 @@ export class SpokePoolClient extends BaseAbstractClient {
699
675
  this.currentTime = currentTime;
700
676
  if (this.oldestTime === 0) this.oldestTime = oldestTime; // Set oldest time only after the first update.
701
677
  this.firstDepositIdForSpokePool = update.firstDepositId;
702
- this.hasCCTPBridgingEnabled = update.hasCCTPBridgingEnabled;
703
678
  this.latestBlockSearched = searchEndBlock;
704
679
  this.lastDepositIdForSpokePool = update.latestDepositId;
705
680
  this.firstBlockToSearch = searchEndBlock + 1;
@@ -136,7 +136,6 @@ export class MockSpokePoolClient extends SpokePoolClient {
136
136
  oldestTime: 0,
137
137
  events,
138
138
  searchEndBlock: this.eventSearchConfig.toBlock || latestBlockSearched,
139
- hasCCTPBridgingEnabled: false,
140
139
  };
141
140
  }
142
141
 
@@ -58,17 +58,16 @@ export class QueryBase implements QueryInterface {
58
58
  * Retrieves the current gas costs of performing a fillRelay contract at the referenced SpokePool.
59
59
  * @param deposit V3 deposit instance.
60
60
  * @param relayerAddress Relayer address to simulate with.
61
+ * @param gasPrice Optional gas price to use for the simulation.
61
62
  * @returns The gas estimate for this function call (multplied with the optional buffer).
62
63
  */
63
- async getGasCosts(deposit: Deposit, relayer = DEFAULT_SIMULATED_RELAYER_ADDRESS): Promise<TransactionCostEstimate> {
64
+ async getGasCosts(
65
+ deposit: Deposit,
66
+ relayer = DEFAULT_SIMULATED_RELAYER_ADDRESS,
67
+ gasPrice = this.fixedGasPrice
68
+ ): Promise<TransactionCostEstimate> {
64
69
  const tx = await populateV3Relay(this.spokePool, deposit, relayer);
65
- return estimateTotalGasRequiredByUnsignedTransaction(
66
- tx,
67
- relayer,
68
- this.provider,
69
- this.gasMarkup,
70
- this.fixedGasPrice
71
- );
70
+ return estimateTotalGasRequiredByUnsignedTransaction(tx, relayer, this.provider, this.gasMarkup, gasPrice);
72
71
  }
73
72
 
74
73
  /**
@@ -20,7 +20,7 @@ import {
20
20
 
21
21
  // This needs to be implemented for every chain and passed into RelayFeeCalculator
22
22
  export interface QueryInterface {
23
- getGasCosts: (deposit: Deposit, relayer: string) => Promise<TransactionCostEstimate>;
23
+ getGasCosts: (deposit: Deposit, relayer: string, gasPrice?: BigNumberish) => Promise<TransactionCostEstimate>;
24
24
  getTokenPrice: (tokenSymbol: string) => Promise<number>;
25
25
  getTokenDecimals: (tokenSymbol: string) => number;
26
26
  }
@@ -224,7 +224,8 @@ export class RelayFeeCalculator {
224
224
  simulateZeroFill = false,
225
225
  relayerAddress = DEFAULT_SIMULATED_RELAYER_ADDRESS,
226
226
  _tokenPrice?: number,
227
- tokenMapping = TOKEN_SYMBOLS_MAP
227
+ tokenMapping = TOKEN_SYMBOLS_MAP,
228
+ gasPrice?: BigNumberish
228
229
  ): Promise<BigNumber> {
229
230
  if (toBN(amountToRelay).eq(bnZero)) return MAX_BIG_INT;
230
231
 
@@ -239,7 +240,7 @@ export class RelayFeeCalculator {
239
240
  const simulatedAmount = simulateZeroFill ? safeOutputAmount : toBN(amountToRelay);
240
241
  deposit = { ...deposit, outputAmount: simulatedAmount };
241
242
 
242
- const getGasCosts = this.queries.getGasCosts(deposit, relayerAddress).catch((error) => {
243
+ const getGasCosts = this.queries.getGasCosts(deposit, relayerAddress, gasPrice).catch((error) => {
243
244
  this.logger.error({
244
245
  at: "sdk/gasFeePercent",
245
246
  message: "Error while fetching gas costs",
@@ -343,7 +344,8 @@ export class RelayFeeCalculator {
343
344
  amountToRelay?: BigNumberish,
344
345
  simulateZeroFill = false,
345
346
  relayerAddress = DEFAULT_SIMULATED_RELAYER_ADDRESS,
346
- _tokenPrice?: number
347
+ _tokenPrice?: number,
348
+ gasPrice?: BigNumberish
347
349
  ): Promise<RelayerFeeDetails> {
348
350
  // If the amount to relay is not provided, then we
349
351
  // should use the full deposit amount.
@@ -359,7 +361,9 @@ export class RelayFeeCalculator {
359
361
  amountToRelay,
360
362
  simulateZeroFill,
361
363
  relayerAddress,
362
- _tokenPrice
364
+ _tokenPrice,
365
+ undefined,
366
+ gasPrice
363
367
  );
364
368
  const gasFeeTotal = gasFeePercent.mul(amountToRelay).div(fixedPointAdjustment);
365
369
  const capitalFeePercent = this.capitalFeePercent(
@@ -267,11 +267,20 @@ export async function estimateTotalGasRequiredByUnsignedTransaction(
267
267
  if (chainIsOPStack(chainId)) {
268
268
  assert(isOptimismL2Provider(provider), `Unexpected provider for chain ID ${chainId}.`);
269
269
  assert(gasPrice === undefined, `Gas price (${gasPrice}) supplied for Optimism gas estimation (unused).`);
270
- const populatedTransaction = await voidSigner.populateTransaction(unsignedTx);
271
- tokenGasCost = await provider.estimateTotalGasCost(populatedTransaction);
270
+ const populatedTransaction = await voidSigner.populateTransaction({
271
+ ...unsignedTx,
272
+ gasLimit: nativeGasCost, // prevents additional gas estimation call
273
+ });
274
+ // Concurrently estimate the gas cost on L1 and L2 instead of calling
275
+ // `provider.estimateTotalGasCost` to improve performance.
276
+ const [l1GasCost, l2GasCost] = await Promise.all([
277
+ provider.estimateL1GasCost(populatedTransaction),
278
+ provider.estimateL2GasCost(populatedTransaction),
279
+ ]);
280
+ tokenGasCost = l1GasCost.add(l2GasCost);
272
281
  } else {
273
282
  if (!gasPrice) {
274
- const gasPriceEstimate = await getGasPriceEstimate(provider);
283
+ const gasPriceEstimate = await getGasPriceEstimate(provider, chainId);
275
284
  gasPrice = gasPriceEstimate.maxFeePerGas;
276
285
  }
277
286
  tokenGasCost = nativeGasCost.mul(gasPrice);