@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.
- package/dist/cjs/clients/SpokePoolClient.d.ts +0 -3
- package/dist/cjs/clients/SpokePoolClient.js +8 -25
- package/dist/cjs/clients/SpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockSpokePoolClient.js +0 -1
- package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.d.ts +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +3 -2
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.d.ts +3 -3
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js +4 -4
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/cjs/utils/common.js +17 -13
- package/dist/cjs/utils/common.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient.d.ts +0 -8
- package/dist/esm/clients/SpokePoolClient.js +9 -31
- package/dist/esm/clients/SpokePoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockSpokePoolClient.js +0 -1
- package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.d.ts +2 -1
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +4 -2
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.d.ts +3 -3
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js +4 -4
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/esm/utils/common.js +18 -14
- package/dist/esm/utils/common.js.map +1 -1
- package/dist/types/clients/SpokePoolClient.d.ts +0 -8
- package/dist/types/clients/SpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockSpokePoolClient.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts +2 -1
- package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts +3 -3
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts.map +1 -1
- package/dist/types/utils/common.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/clients/SpokePoolClient.ts +1 -26
- package/src/clients/mocks/MockSpokePoolClient.ts +0 -1
- package/src/relayFeeCalculator/chain-queries/baseQuery.ts +7 -8
- package/src/relayFeeCalculator/relayFeeCalculator.ts +9 -5
- 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
|
|
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":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EACL,YAAY,EAEZ,uBAAuB,EAWxB,MAAM,UAAU,CAAC;AAGlB,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;
|
|
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
|
@@ -37,7 +37,7 @@ import {
|
|
|
37
37
|
V3FundsDepositedEvent,
|
|
38
38
|
} from "../interfaces";
|
|
39
39
|
import { SpokePool } from "../typechain";
|
|
40
|
-
import {
|
|
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;
|
|
@@ -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(
|
|
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(
|
package/src/utils/common.ts
CHANGED
|
@@ -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(
|
|
271
|
-
|
|
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);
|