@metamask-previews/transaction-controller 25.3.0-preview-eec1f90 → 26.0.0-preview-e24bcd2e
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/CHANGELOG.md +23 -1
- package/dist/TransactionController.js +17 -16
- package/dist/TransactionController.mjs +16 -15
- package/dist/{chunk-K7UC23EG.mjs → chunk-2XFBWPHD.mjs} +3 -3
- package/dist/{chunk-VAOKN3J4.mjs → chunk-35MG26Y3.mjs} +13 -12
- package/dist/chunk-35MG26Y3.mjs.map +1 -0
- package/dist/{chunk-F3CMU2DM.js → chunk-3JEUO765.js} +6 -6
- package/dist/{chunk-V5X6MZHN.js → chunk-3VF7ZGRV.js} +126 -63
- package/dist/chunk-3VF7ZGRV.js.map +1 -0
- package/dist/{chunk-Z3HHSD5I.mjs → chunk-4VLQV2GA.mjs} +50 -3
- package/dist/chunk-4VLQV2GA.mjs.map +1 -0
- package/dist/chunk-53IYIDVS.mjs +132 -0
- package/dist/chunk-53IYIDVS.mjs.map +1 -0
- package/dist/{chunk-LOWIVTMF.js → chunk-5SKCGFUC.js} +64 -33
- package/dist/chunk-5SKCGFUC.js.map +1 -0
- package/dist/{chunk-R7NJVDWN.js → chunk-5WFLNKCL.js} +7 -6
- package/dist/chunk-5WFLNKCL.js.map +1 -0
- package/dist/{chunk-RQKICZYP.js → chunk-AO3AE3L7.js} +3 -3
- package/dist/{chunk-NRWEI43Q.js → chunk-CPYXP2OC.js} +40 -25
- package/dist/chunk-CPYXP2OC.js.map +1 -0
- package/dist/{chunk-OLIA2HD4.mjs → chunk-CWWZQZVR.mjs} +3 -3
- package/dist/{chunk-VEREDMI2.mjs → chunk-DOX6H5UJ.mjs} +2 -2
- package/dist/{chunk-XKNFL657.mjs → chunk-DRSMLO7B.mjs} +2 -2
- package/dist/chunk-ETMW527M.js +132 -0
- package/dist/chunk-ETMW527M.js.map +1 -0
- package/dist/{chunk-CXXGL43K.js → chunk-F247MMTE.js} +3 -3
- package/dist/{chunk-HBNQEJEM.js → chunk-FK7AP6SH.js} +1 -1
- package/dist/chunk-FK7AP6SH.js.map +1 -0
- package/dist/{chunk-SOSF65FI.js → chunk-HUVOOFOM.js} +15 -14
- package/dist/chunk-HUVOOFOM.js.map +1 -0
- package/dist/{chunk-IW2J56QK.mjs → chunk-JDLNCMGI.mjs} +50 -19
- package/dist/chunk-JDLNCMGI.mjs.map +1 -0
- package/dist/{chunk-2JERLB6M.js → chunk-L337FYVS.js} +5 -5
- package/dist/{chunk-A4P4B3OF.mjs → chunk-L7ZKSKEI.mjs} +125 -62
- package/dist/chunk-L7ZKSKEI.mjs.map +1 -0
- package/dist/{chunk-ITDY6AIZ.js → chunk-LQS2M5QR.js} +50 -3
- package/dist/chunk-LQS2M5QR.js.map +1 -0
- package/dist/{chunk-2AYEGKAN.js → chunk-LYD4TEKH.js} +7 -7
- package/dist/{chunk-ZWKHTNLF.mjs → chunk-P74YLPJO.mjs} +3 -3
- package/dist/{chunk-3D3SA6PY.mjs → chunk-RBF6CW7D.mjs} +2 -2
- package/dist/{chunk-ZQFMTLZJ.mjs → chunk-RXRJSBSF.mjs} +39 -24
- package/dist/chunk-RXRJSBSF.mjs.map +1 -0
- package/dist/{chunk-IZI7FQIN.mjs → chunk-TKWTUPCQ.mjs} +3 -3
- package/dist/{chunk-AMDQXP37.mjs → chunk-TWND5SFD.mjs} +2 -2
- package/dist/{chunk-UCY5PFZI.js → chunk-UBXRAA6G.js} +6 -6
- package/dist/{chunk-L4S5SEV3.js → chunk-UH7FNVKS.js} +4 -4
- package/dist/{chunk-KFL2GGZC.mjs → chunk-W3CS5GRD.mjs} +7 -6
- package/dist/chunk-W3CS5GRD.mjs.map +1 -0
- package/dist/{chunk-5OQ373JS.js → chunk-WLCFETHR.js} +10 -10
- package/dist/{chunk-UADPSS35.mjs → chunk-YEJJKWT2.mjs} +1 -1
- package/dist/chunk-YEJJKWT2.mjs.map +1 -0
- package/dist/constants.js +6 -2
- package/dist/constants.mjs +5 -1
- package/dist/errors.js +1 -1
- package/dist/errors.mjs +1 -1
- package/dist/gas-flows/DefaultGasFeeFlow.js +7 -7
- package/dist/gas-flows/DefaultGasFeeFlow.mjs +6 -6
- package/dist/gas-flows/LineaGasFeeFlow.js +8 -8
- package/dist/gas-flows/LineaGasFeeFlow.mjs +7 -7
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.js +10 -0
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.js.map +1 -0
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.mjs +10 -0
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.mjs.map +1 -0
- package/dist/helpers/EtherscanRemoteTransactionSource.js +5 -5
- package/dist/helpers/EtherscanRemoteTransactionSource.mjs +4 -4
- package/dist/helpers/GasFeePoller.js +5 -5
- package/dist/helpers/GasFeePoller.mjs +4 -4
- package/dist/helpers/MultichainTrackingHelper.js +6 -6
- package/dist/helpers/MultichainTrackingHelper.mjs +5 -5
- package/dist/helpers/PendingTransactionTracker.js +1 -1
- package/dist/helpers/PendingTransactionTracker.mjs +1 -1
- package/dist/index.js +17 -16
- package/dist/index.mjs +16 -15
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/TransactionController.d.ts +8 -0
- package/dist/types/TransactionController.d.ts.map +1 -1
- package/dist/types/constants.d.ts +23 -0
- package/dist/types/constants.d.ts.map +1 -1
- package/dist/types/gas-flows/OptimismLayer1GasFeeFlow.d.ts +10 -0
- package/dist/types/gas-flows/OptimismLayer1GasFeeFlow.d.ts.map +1 -0
- package/dist/types/helpers/GasFeePoller.d.ts +4 -5
- package/dist/types/helpers/GasFeePoller.d.ts.map +1 -1
- package/dist/types/helpers/MultichainTrackingHelper.d.ts +4 -0
- package/dist/types/helpers/MultichainTrackingHelper.d.ts.map +1 -1
- package/dist/types/types.d.ts +3 -3
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/utils/layer1-gas-fee-flow.d.ts +11 -2
- package/dist/types/utils/layer1-gas-fee-flow.d.ts.map +1 -1
- package/dist/types/utils/simulation.d.ts +7 -0
- package/dist/types/utils/simulation.d.ts.map +1 -1
- package/dist/types.js +2 -2
- package/dist/types.mjs +1 -1
- package/dist/utils/etherscan.js +3 -3
- package/dist/utils/etherscan.mjs +2 -2
- package/dist/utils/external-transactions.js +1 -1
- package/dist/utils/external-transactions.mjs +1 -1
- package/dist/utils/gas-fees.js +6 -6
- package/dist/utils/gas-fees.mjs +5 -5
- package/dist/utils/gas-flow.js +3 -3
- package/dist/utils/gas-flow.mjs +2 -2
- package/dist/utils/gas.js +3 -3
- package/dist/utils/gas.mjs +2 -2
- package/dist/utils/layer1-gas-fee-flow.js +4 -2
- package/dist/utils/layer1-gas-fee-flow.mjs +3 -1
- package/dist/utils/simulation-api.js +1 -1
- package/dist/utils/simulation-api.mjs +1 -1
- package/dist/utils/simulation.js +6 -3
- package/dist/utils/simulation.mjs +5 -2
- package/dist/utils/swaps.js +4 -4
- package/dist/utils/swaps.mjs +3 -3
- package/dist/utils/transaction-type.js +1 -1
- package/dist/utils/transaction-type.mjs +1 -1
- package/dist/utils/utils.js +1 -1
- package/dist/utils/utils.mjs +1 -1
- package/dist/utils/validation.js +1 -1
- package/dist/utils/validation.mjs +1 -1
- package/package.json +6 -4
- package/dist/chunk-A4P4B3OF.mjs.map +0 -1
- package/dist/chunk-HBNQEJEM.js.map +0 -1
- package/dist/chunk-ITDY6AIZ.js.map +0 -1
- package/dist/chunk-IW2J56QK.mjs.map +0 -1
- package/dist/chunk-KFL2GGZC.mjs.map +0 -1
- package/dist/chunk-LOWIVTMF.js.map +0 -1
- package/dist/chunk-NRWEI43Q.js.map +0 -1
- package/dist/chunk-R7NJVDWN.js.map +0 -1
- package/dist/chunk-SOSF65FI.js.map +0 -1
- package/dist/chunk-UADPSS35.mjs.map +0 -1
- package/dist/chunk-V5X6MZHN.js.map +0 -1
- package/dist/chunk-VAOKN3J4.mjs.map +0 -1
- package/dist/chunk-Z3HHSD5I.mjs.map +0 -1
- package/dist/chunk-ZQFMTLZJ.mjs.map +0 -1
- /package/dist/{chunk-K7UC23EG.mjs.map → chunk-2XFBWPHD.mjs.map} +0 -0
- /package/dist/{chunk-F3CMU2DM.js.map → chunk-3JEUO765.js.map} +0 -0
- /package/dist/{chunk-RQKICZYP.js.map → chunk-AO3AE3L7.js.map} +0 -0
- /package/dist/{chunk-OLIA2HD4.mjs.map → chunk-CWWZQZVR.mjs.map} +0 -0
- /package/dist/{chunk-VEREDMI2.mjs.map → chunk-DOX6H5UJ.mjs.map} +0 -0
- /package/dist/{chunk-XKNFL657.mjs.map → chunk-DRSMLO7B.mjs.map} +0 -0
- /package/dist/{chunk-CXXGL43K.js.map → chunk-F247MMTE.js.map} +0 -0
- /package/dist/{chunk-2JERLB6M.js.map → chunk-L337FYVS.js.map} +0 -0
- /package/dist/{chunk-2AYEGKAN.js.map → chunk-LYD4TEKH.js.map} +0 -0
- /package/dist/{chunk-ZWKHTNLF.mjs.map → chunk-P74YLPJO.mjs.map} +0 -0
- /package/dist/{chunk-3D3SA6PY.mjs.map → chunk-RBF6CW7D.mjs.map} +0 -0
- /package/dist/{chunk-IZI7FQIN.mjs.map → chunk-TKWTUPCQ.mjs.map} +0 -0
- /package/dist/{chunk-AMDQXP37.mjs.map → chunk-TWND5SFD.mjs.map} +0 -0
- /package/dist/{chunk-UCY5PFZI.js.map → chunk-UBXRAA6G.js.map} +0 -0
- /package/dist/{chunk-L4S5SEV3.js.map → chunk-UH7FNVKS.js.map} +0 -0
- /package/dist/{chunk-5OQ373JS.js.map → chunk-WLCFETHR.js.map} +0 -0
|
@@ -26,7 +26,8 @@ var CHAIN_IDS = {
|
|
|
26
26
|
MOONRIVER: "0x505",
|
|
27
27
|
GNOSIS: "0x64",
|
|
28
28
|
ARBITRUM: "0xa4b1",
|
|
29
|
-
ZKSYNC_ERA: "0x144"
|
|
29
|
+
ZKSYNC_ERA: "0x144",
|
|
30
|
+
ZORA: "0x76adf1"
|
|
30
31
|
};
|
|
31
32
|
var DEFAULT_ETHERSCAN_DOMAIN = "etherscan.io";
|
|
32
33
|
var DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX = "api";
|
|
@@ -116,12 +117,58 @@ var GAS_BUFFER_CHAIN_OVERRIDES = {
|
|
|
116
117
|
[CHAIN_IDS.OPTIMISM]: 1,
|
|
117
118
|
[CHAIN_IDS.OPTIMISM_SEPOLIA]: 1
|
|
118
119
|
};
|
|
120
|
+
var ABI_SIMULATION_ERC20_WRAPPED = [
|
|
121
|
+
{
|
|
122
|
+
anonymous: false,
|
|
123
|
+
inputs: [
|
|
124
|
+
{ indexed: true, name: "to", type: "address" },
|
|
125
|
+
{ indexed: false, name: "wad", type: "uint256" }
|
|
126
|
+
],
|
|
127
|
+
name: "Deposit",
|
|
128
|
+
type: "event"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
anonymous: false,
|
|
132
|
+
inputs: [
|
|
133
|
+
{ indexed: true, name: "from", type: "address" },
|
|
134
|
+
{ indexed: false, name: "wad", type: "uint256" }
|
|
135
|
+
],
|
|
136
|
+
name: "Withdrawal",
|
|
137
|
+
type: "event"
|
|
138
|
+
}
|
|
139
|
+
];
|
|
140
|
+
var ABI_SIMULATION_ERC721_LEGACY = [
|
|
141
|
+
{
|
|
142
|
+
anonymous: false,
|
|
143
|
+
inputs: [
|
|
144
|
+
{
|
|
145
|
+
indexed: false,
|
|
146
|
+
name: "_from",
|
|
147
|
+
type: "address"
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
indexed: false,
|
|
151
|
+
name: "_to",
|
|
152
|
+
type: "address"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
indexed: false,
|
|
156
|
+
name: "_tokenId",
|
|
157
|
+
type: "uint256"
|
|
158
|
+
}
|
|
159
|
+
],
|
|
160
|
+
name: "Transfer",
|
|
161
|
+
type: "event"
|
|
162
|
+
}
|
|
163
|
+
];
|
|
119
164
|
|
|
120
165
|
export {
|
|
121
166
|
CHAIN_IDS,
|
|
122
167
|
DEFAULT_ETHERSCAN_DOMAIN,
|
|
123
168
|
DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX,
|
|
124
169
|
ETHERSCAN_SUPPORTED_NETWORKS,
|
|
125
|
-
GAS_BUFFER_CHAIN_OVERRIDES
|
|
170
|
+
GAS_BUFFER_CHAIN_OVERRIDES,
|
|
171
|
+
ABI_SIMULATION_ERC20_WRAPPED,
|
|
172
|
+
ABI_SIMULATION_ERC721_LEGACY
|
|
126
173
|
};
|
|
127
|
-
//# sourceMappingURL=chunk-
|
|
174
|
+
//# sourceMappingURL=chunk-4VLQV2GA.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/constants.ts"],"sourcesContent":["export const CHAIN_IDS = {\n MAINNET: '0x1',\n GOERLI: '0x5',\n BASE: '0x2105',\n BASE_TESTNET: '0x14a33',\n BSC: '0x38',\n BSC_TESTNET: '0x61',\n OPTIMISM: '0xa',\n OPTIMISM_TESTNET: '0x1a4',\n OPBNB: '0xcc',\n OPBNB_TESTNET: '0x15eb',\n OPTIMISM_SEPOLIA: '0xaa37dc',\n POLYGON: '0x89',\n POLYGON_TESTNET: '0x13881',\n AVALANCHE: '0xa86a',\n AVALANCHE_TESTNET: '0xa869',\n FANTOM: '0xfa',\n FANTOM_TESTNET: '0xfa2',\n SEPOLIA: '0xaa36a7',\n LINEA_GOERLI: '0xe704',\n LINEA_SEPOLIA: '0xe705',\n LINEA_MAINNET: '0xe708',\n MOONBEAM: '0x504',\n MOONBEAM_TESTNET: '0x507',\n MOONRIVER: '0x505',\n GNOSIS: '0x64',\n ARBITRUM: '0xa4b1',\n ZKSYNC_ERA: '0x144',\n ZORA: '0x76adf1',\n} as const;\n\nexport const DEFAULT_ETHERSCAN_DOMAIN = 'etherscan.io';\nexport const DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX = 'api';\n\nexport const ETHERSCAN_SUPPORTED_NETWORKS = {\n [CHAIN_IDS.GOERLI]: {\n domain: DEFAULT_ETHERSCAN_DOMAIN,\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-goerli`,\n },\n [CHAIN_IDS.MAINNET]: {\n domain: DEFAULT_ETHERSCAN_DOMAIN,\n subdomain: DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX,\n },\n [CHAIN_IDS.SEPOLIA]: {\n domain: DEFAULT_ETHERSCAN_DOMAIN,\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-sepolia`,\n },\n [CHAIN_IDS.LINEA_GOERLI]: {\n domain: 'lineascan.build',\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-goerli`,\n },\n [CHAIN_IDS.LINEA_SEPOLIA]: {\n domain: 'lineascan.build',\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-sepolia`,\n },\n [CHAIN_IDS.LINEA_MAINNET]: {\n domain: 'lineascan.build',\n subdomain: DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX,\n },\n [CHAIN_IDS.BSC]: {\n domain: 'bscscan.com',\n subdomain: DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX,\n },\n [CHAIN_IDS.BSC_TESTNET]: {\n domain: 'bscscan.com',\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-testnet`,\n },\n [CHAIN_IDS.OPTIMISM]: {\n domain: DEFAULT_ETHERSCAN_DOMAIN,\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-optimistic`,\n },\n [CHAIN_IDS.OPTIMISM_SEPOLIA]: {\n domain: DEFAULT_ETHERSCAN_DOMAIN,\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-sepolia-optimistic`,\n },\n [CHAIN_IDS.POLYGON]: {\n domain: 'polygonscan.com',\n subdomain: DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX,\n },\n [CHAIN_IDS.POLYGON_TESTNET]: {\n domain: 'polygonscan.com',\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-mumbai`,\n },\n [CHAIN_IDS.AVALANCHE]: {\n domain: 'snowtrace.io',\n subdomain: DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX,\n },\n [CHAIN_IDS.AVALANCHE_TESTNET]: {\n domain: 'snowtrace.io',\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-testnet`,\n },\n [CHAIN_IDS.FANTOM]: {\n domain: 'ftmscan.com',\n subdomain: DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX,\n },\n [CHAIN_IDS.FANTOM_TESTNET]: {\n domain: 'ftmscan.com',\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-testnet`,\n },\n [CHAIN_IDS.MOONBEAM]: {\n domain: 'moonscan.io',\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-moonbeam`,\n },\n [CHAIN_IDS.MOONBEAM_TESTNET]: {\n domain: 'moonscan.io',\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-moonbase`,\n },\n [CHAIN_IDS.MOONRIVER]: {\n domain: 'moonscan.io',\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-moonriver`,\n },\n [CHAIN_IDS.GNOSIS]: {\n domain: 'gnosisscan.io',\n subdomain: `${DEFAULT_ETHERSCAN_SUBDOMAIN_PREFIX}-gnosis`,\n },\n};\n\nexport const GAS_BUFFER_CHAIN_OVERRIDES = {\n [CHAIN_IDS.OPTIMISM]: 1,\n [CHAIN_IDS.OPTIMISM_SEPOLIA]: 1,\n};\n\n/** Extract of the Wrapped ERC-20 ABI required for simulation. */\nexport const ABI_SIMULATION_ERC20_WRAPPED = [\n {\n anonymous: false,\n inputs: [\n { indexed: true, name: 'to', type: 'address' },\n { indexed: false, name: 'wad', type: 'uint256' },\n ],\n name: 'Deposit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, name: 'from', type: 'address' },\n { indexed: false, name: 'wad', type: 'uint256' },\n ],\n name: 'Withdrawal',\n type: 'event',\n },\n];\n\n/** Extract of the legacy ERC-721 ABI required for simulation. */\nexport const ABI_SIMULATION_ERC721_LEGACY = [\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n name: '_from',\n type: 'address',\n },\n {\n indexed: false,\n name: '_to',\n type: 'address',\n },\n {\n indexed: false,\n name: '_tokenId',\n type: 'uint256',\n },\n ],\n name: 'Transfer',\n type: 'event',\n },\n];\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CHAIN_IDS
|
|
3
|
+
} from "./chunk-4VLQV2GA.mjs";
|
|
4
|
+
import {
|
|
5
|
+
projectLogger
|
|
6
|
+
} from "./chunk-UQQWZT6C.mjs";
|
|
7
|
+
import {
|
|
8
|
+
__privateAdd,
|
|
9
|
+
__privateMethod
|
|
10
|
+
} from "./chunk-XUI43LEZ.mjs";
|
|
11
|
+
|
|
12
|
+
// src/gas-flows/OptimismLayer1GasFeeFlow.ts
|
|
13
|
+
import { Common, Hardfork } from "@ethereumjs/common";
|
|
14
|
+
import { TransactionFactory } from "@ethereumjs/tx";
|
|
15
|
+
import { Contract } from "@ethersproject/contracts";
|
|
16
|
+
import { Web3Provider } from "@ethersproject/providers";
|
|
17
|
+
import { createModuleLogger, remove0x } from "@metamask/utils";
|
|
18
|
+
import BN from "bn.js";
|
|
19
|
+
import { omit } from "lodash";
|
|
20
|
+
var OPTIMISM_STACK_CHAIN_IDS = [
|
|
21
|
+
CHAIN_IDS.OPTIMISM,
|
|
22
|
+
CHAIN_IDS.OPTIMISM_TESTNET,
|
|
23
|
+
CHAIN_IDS.BASE,
|
|
24
|
+
CHAIN_IDS.BASE_TESTNET,
|
|
25
|
+
CHAIN_IDS.OPBNB,
|
|
26
|
+
CHAIN_IDS.OPBNB_TESTNET,
|
|
27
|
+
CHAIN_IDS.ZORA
|
|
28
|
+
];
|
|
29
|
+
var log = createModuleLogger(projectLogger, "optimisim-layer1-gas-fee-flow");
|
|
30
|
+
var OPTIMISM_GAS_PRICE_ORACLE_ABI = [
|
|
31
|
+
{
|
|
32
|
+
inputs: [{ internalType: "bytes", name: "_data", type: "bytes" }],
|
|
33
|
+
name: "getL1Fee",
|
|
34
|
+
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
|
|
35
|
+
stateMutability: "view",
|
|
36
|
+
type: "function"
|
|
37
|
+
}
|
|
38
|
+
];
|
|
39
|
+
var OPTIMISM_GAS_PRICE_ORACLE_ADDRESS = "0x420000000000000000000000000000000000000F";
|
|
40
|
+
var _getOptimisimLayer1GasFee, getOptimisimLayer1GasFee_fn, _buildUnserializedTransaction, buildUnserializedTransaction_fn, _buildTransactionParams, buildTransactionParams_fn, _buildTransactionCommon, buildTransactionCommon_fn;
|
|
41
|
+
var OptimismLayer1GasFeeFlow = class {
|
|
42
|
+
constructor() {
|
|
43
|
+
__privateAdd(this, _getOptimisimLayer1GasFee);
|
|
44
|
+
/**
|
|
45
|
+
* Build an unserialized transaction for a transaction.
|
|
46
|
+
*
|
|
47
|
+
* @param transactionMeta - The transaction to build an unserialized transaction for.
|
|
48
|
+
* @returns The unserialized transaction.
|
|
49
|
+
*/
|
|
50
|
+
__privateAdd(this, _buildUnserializedTransaction);
|
|
51
|
+
/**
|
|
52
|
+
* Build transactionParams to be used in the unserialized transaction.
|
|
53
|
+
*
|
|
54
|
+
* @param transactionMeta - The transaction to build transactionParams.
|
|
55
|
+
* @returns The transactionParams for the unserialized transaction.
|
|
56
|
+
*/
|
|
57
|
+
__privateAdd(this, _buildTransactionParams);
|
|
58
|
+
/**
|
|
59
|
+
* This produces a transaction whose information does not completely match an
|
|
60
|
+
* Optimism transaction — for instance, DEFAULT_CHAIN is still 'mainnet' and
|
|
61
|
+
* genesis points to the mainnet genesis, not the Optimism genesis — but
|
|
62
|
+
* considering that all we want to do is serialize a transaction, this works
|
|
63
|
+
* fine for our use case.
|
|
64
|
+
*
|
|
65
|
+
* @param transactionMeta - The transaction to build an unserialized transaction for.
|
|
66
|
+
* @returns The unserialized transaction.
|
|
67
|
+
*/
|
|
68
|
+
__privateAdd(this, _buildTransactionCommon);
|
|
69
|
+
}
|
|
70
|
+
matchesTransaction(transactionMeta) {
|
|
71
|
+
return OPTIMISM_STACK_CHAIN_IDS.includes(transactionMeta.chainId);
|
|
72
|
+
}
|
|
73
|
+
async getLayer1Fee(request) {
|
|
74
|
+
try {
|
|
75
|
+
return await __privateMethod(this, _getOptimisimLayer1GasFee, getOptimisimLayer1GasFee_fn).call(this, request);
|
|
76
|
+
} catch (error) {
|
|
77
|
+
log("Failed to get Optimism layer 1 gas fee due to error", error);
|
|
78
|
+
throw new Error(`Failed to get Optimism layer 1 gas fee`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
_getOptimisimLayer1GasFee = new WeakSet();
|
|
83
|
+
getOptimisimLayer1GasFee_fn = async function(request) {
|
|
84
|
+
const { provider, transactionMeta } = request;
|
|
85
|
+
const contract = new Contract(
|
|
86
|
+
OPTIMISM_GAS_PRICE_ORACLE_ADDRESS,
|
|
87
|
+
OPTIMISM_GAS_PRICE_ORACLE_ABI,
|
|
88
|
+
// Network controller provider type is uncompatible with ethers provider
|
|
89
|
+
new Web3Provider(provider)
|
|
90
|
+
);
|
|
91
|
+
const serializedTransaction = __privateMethod(this, _buildUnserializedTransaction, buildUnserializedTransaction_fn).call(this, transactionMeta).serialize();
|
|
92
|
+
const result = await contract.getL1Fee(serializedTransaction);
|
|
93
|
+
if (result === void 0) {
|
|
94
|
+
throw new Error(
|
|
95
|
+
"Failed to retrieve layer 1 gas fee from Optimism Gas Price Oracle."
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
return {
|
|
99
|
+
layer1Fee: result.toHexString()
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
_buildUnserializedTransaction = new WeakSet();
|
|
103
|
+
buildUnserializedTransaction_fn = function(transactionMeta) {
|
|
104
|
+
const txParams = __privateMethod(this, _buildTransactionParams, buildTransactionParams_fn).call(this, transactionMeta);
|
|
105
|
+
const common = __privateMethod(this, _buildTransactionCommon, buildTransactionCommon_fn).call(this, transactionMeta);
|
|
106
|
+
return TransactionFactory.fromTxData(txParams, { common });
|
|
107
|
+
};
|
|
108
|
+
_buildTransactionParams = new WeakSet();
|
|
109
|
+
buildTransactionParams_fn = function(transactionMeta) {
|
|
110
|
+
return {
|
|
111
|
+
...omit(transactionMeta.txParams, "gas"),
|
|
112
|
+
gasLimit: transactionMeta.txParams.gas
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
_buildTransactionCommon = new WeakSet();
|
|
116
|
+
buildTransactionCommon_fn = function(transactionMeta) {
|
|
117
|
+
return Common.custom({
|
|
118
|
+
chainId: new BN(
|
|
119
|
+
remove0x(transactionMeta.chainId),
|
|
120
|
+
16
|
|
121
|
+
),
|
|
122
|
+
// Optimism only supports type-0 transactions; it does not support any of
|
|
123
|
+
// the newer EIPs since EIP-155. Source:
|
|
124
|
+
// <https://github.com/ethereum-optimism/optimism/blob/develop/specs/l2geth/transaction-types.md>
|
|
125
|
+
defaultHardfork: Hardfork.London
|
|
126
|
+
});
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
export {
|
|
130
|
+
OptimismLayer1GasFeeFlow
|
|
131
|
+
};
|
|
132
|
+
//# sourceMappingURL=chunk-53IYIDVS.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/gas-flows/OptimismLayer1GasFeeFlow.ts"],"sourcesContent":["import { Common, Hardfork } from '@ethereumjs/common';\nimport { TransactionFactory } from '@ethereumjs/tx';\nimport { Contract } from '@ethersproject/contracts';\nimport { Web3Provider, type ExternalProvider } from '@ethersproject/providers';\nimport { createModuleLogger, type Hex, remove0x } from '@metamask/utils';\nimport BN from 'bn.js';\nimport { omit } from 'lodash';\n\nimport { CHAIN_IDS } from '../constants';\nimport { projectLogger } from '../logger';\nimport type {\n Layer1GasFeeFlow,\n Layer1GasFeeFlowRequest,\n Layer1GasFeeFlowResponse,\n TransactionMeta,\n} from '../types';\n\n// This gas flow to be used for the following OP stack chains\nconst OPTIMISM_STACK_CHAIN_IDS: Hex[] = [\n CHAIN_IDS.OPTIMISM,\n CHAIN_IDS.OPTIMISM_TESTNET,\n CHAIN_IDS.BASE,\n CHAIN_IDS.BASE_TESTNET,\n CHAIN_IDS.OPBNB,\n CHAIN_IDS.OPBNB_TESTNET,\n CHAIN_IDS.ZORA,\n];\n\nconst log = createModuleLogger(projectLogger, 'optimisim-layer1-gas-fee-flow');\n\n// Snippet of the ABI that we need\n// Should we need more of it at some point, the full ABI can be found here:\n// https://github.com/ethereum-optimism/optimism/blob/develop/gas-oracle/abis/OVM_GasPriceOracle.json\nconst OPTIMISM_GAS_PRICE_ORACLE_ABI = [\n {\n inputs: [{ internalType: 'bytes', name: '_data', type: 'bytes' }],\n name: 'getL1Fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n];\n\n// BlockExplorer link: https://optimistic.etherscan.io/address/0x420000000000000000000000000000000000000f#code\nconst OPTIMISM_GAS_PRICE_ORACLE_ADDRESS =\n '0x420000000000000000000000000000000000000F';\n\n/**\n * Optimism layer 1 gas fee flow that obtains gas fee estimate using Optimisim oracle contract.\n */\nexport class OptimismLayer1GasFeeFlow implements Layer1GasFeeFlow {\n matchesTransaction(transactionMeta: TransactionMeta): boolean {\n return OPTIMISM_STACK_CHAIN_IDS.includes(transactionMeta.chainId);\n }\n\n async getLayer1Fee(\n request: Layer1GasFeeFlowRequest,\n ): Promise<Layer1GasFeeFlowResponse> {\n try {\n return await this.#getOptimisimLayer1GasFee(request);\n } catch (error) {\n log('Failed to get Optimism layer 1 gas fee due to error', error);\n throw new Error(`Failed to get Optimism layer 1 gas fee`);\n }\n }\n\n async #getOptimisimLayer1GasFee(\n request: Layer1GasFeeFlowRequest,\n ): Promise<Layer1GasFeeFlowResponse> {\n const { provider, transactionMeta } = request;\n\n const contract = new Contract(\n OPTIMISM_GAS_PRICE_ORACLE_ADDRESS,\n OPTIMISM_GAS_PRICE_ORACLE_ABI,\n // Network controller provider type is uncompatible with ethers provider\n new Web3Provider(provider as unknown as ExternalProvider),\n );\n\n const serializedTransaction =\n this.#buildUnserializedTransaction(transactionMeta).serialize();\n\n const result = await contract.getL1Fee(serializedTransaction);\n\n if (result === undefined) {\n throw new Error(\n 'Failed to retrieve layer 1 gas fee from Optimism Gas Price Oracle.',\n );\n }\n\n return {\n layer1Fee: result.toHexString(),\n };\n }\n\n /**\n * Build an unserialized transaction for a transaction.\n *\n * @param transactionMeta - The transaction to build an unserialized transaction for.\n * @returns The unserialized transaction.\n */\n #buildUnserializedTransaction(transactionMeta: TransactionMeta) {\n const txParams = this.#buildTransactionParams(transactionMeta);\n const common = this.#buildTransactionCommon(transactionMeta);\n return TransactionFactory.fromTxData(txParams, { common });\n }\n\n /**\n * Build transactionParams to be used in the unserialized transaction.\n *\n * @param transactionMeta - The transaction to build transactionParams.\n * @returns The transactionParams for the unserialized transaction.\n */\n #buildTransactionParams(\n transactionMeta: TransactionMeta,\n ): TransactionMeta['txParams'] {\n return {\n ...omit(transactionMeta.txParams, 'gas'),\n gasLimit: transactionMeta.txParams.gas,\n };\n }\n\n /**\n * This produces a transaction whose information does not completely match an\n * Optimism transaction — for instance, DEFAULT_CHAIN is still 'mainnet' and\n * genesis points to the mainnet genesis, not the Optimism genesis — but\n * considering that all we want to do is serialize a transaction, this works\n * fine for our use case.\n *\n * @param transactionMeta - The transaction to build an unserialized transaction for.\n * @returns The unserialized transaction.\n */\n #buildTransactionCommon(transactionMeta: TransactionMeta) {\n return Common.custom({\n chainId: new BN(\n remove0x(transactionMeta.chainId),\n 16,\n ) as unknown as number,\n // Optimism only supports type-0 transactions; it does not support any of\n // the newer EIPs since EIP-155. Source:\n // <https://github.com/ethereum-optimism/optimism/blob/develop/specs/l2geth/transaction-types.md>\n defaultHardfork: Hardfork.London,\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;AAAA,SAAS,QAAQ,gBAAgB;AACjC,SAAS,0BAA0B;AACnC,SAAS,gBAAgB;AACzB,SAAS,oBAA2C;AACpD,SAAS,oBAA8B,gBAAgB;AACvD,OAAO,QAAQ;AACf,SAAS,YAAY;AAYrB,IAAM,2BAAkC;AAAA,EACtC,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AACZ;AAEA,IAAM,MAAM,mBAAmB,eAAe,+BAA+B;AAK7E,IAAM,gCAAgC;AAAA,EACpC;AAAA,IACE,QAAQ,CAAC,EAAE,cAAc,SAAS,MAAM,SAAS,MAAM,QAAQ,CAAC;AAAA,IAChE,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,cAAc,WAAW,MAAM,IAAI,MAAM,UAAU,CAAC;AAAA,IAChE,iBAAiB;AAAA,IACjB,MAAM;AAAA,EACR;AACF;AAGA,IAAM,oCACJ;AA7CF;AAkDO,IAAM,2BAAN,MAA2D;AAAA,EAA3D;AAgBL,uBAAM;AAkCN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAhFA,mBAAmB,iBAA2C;AAC5D,WAAO,yBAAyB,SAAS,gBAAgB,OAAO;AAAA,EAClE;AAAA,EAEA,MAAM,aACJ,SACmC;AACnC,QAAI;AACF,aAAO,MAAM,sBAAK,wDAAL,WAA+B;AAAA,IAC9C,SAAS,OAAO;AACd,UAAI,uDAAuD,KAAK;AAChE,YAAM,IAAI,MAAM,wCAAwC;AAAA,IAC1D;AAAA,EACF;AA+EF;AA7EQ;AAAA,8BAAyB,eAC7B,SACmC;AACnC,QAAM,EAAE,UAAU,gBAAgB,IAAI;AAEtC,QAAM,WAAW,IAAI;AAAA,IACnB;AAAA,IACA;AAAA;AAAA,IAEA,IAAI,aAAa,QAAuC;AAAA,EAC1D;AAEA,QAAM,wBACJ,sBAAK,gEAAL,WAAmC,iBAAiB,UAAU;AAEhE,QAAM,SAAS,MAAM,SAAS,SAAS,qBAAqB;AAE5D,MAAI,WAAW,QAAW;AACxB,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AAAA,IACL,WAAW,OAAO,YAAY;AAAA,EAChC;AACF;AAQA;AAAA,kCAA6B,SAAC,iBAAkC;AAC9D,QAAM,WAAW,sBAAK,oDAAL,WAA6B;AAC9C,QAAM,SAAS,sBAAK,oDAAL,WAA6B;AAC5C,SAAO,mBAAmB,WAAW,UAAU,EAAE,OAAO,CAAC;AAC3D;AAQA;AAAA,4BAAuB,SACrB,iBAC6B;AAC7B,SAAO;AAAA,IACL,GAAG,KAAK,gBAAgB,UAAU,KAAK;AAAA,IACvC,UAAU,gBAAgB,SAAS;AAAA,EACrC;AACF;AAYA;AAAA,4BAAuB,SAAC,iBAAkC;AACxD,SAAO,OAAO,OAAO;AAAA,IACnB,SAAS,IAAI;AAAA,MACX,SAAS,gBAAgB,OAAO;AAAA,MAChC;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAIA,iBAAiB,SAAS;AAAA,EAC5B,CAAC;AACH;","names":[]}
|
|
@@ -9,7 +9,7 @@ var _chunkVH47Q6TSjs = require('./chunk-VH47Q6TS.js');
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _chunkAO3AE3L7js = require('./chunk-AO3AE3L7.js');
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
@@ -20,22 +20,26 @@ var _chunkQP75SWIQjs = require('./chunk-QP75SWIQ.js');
|
|
|
20
20
|
var _chunkZNZEJDOEjs = require('./chunk-ZNZEJDOE.js');
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
var
|
|
23
|
+
var _chunk3VF7ZGRVjs = require('./chunk-3VF7ZGRV.js');
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
var
|
|
26
|
+
var _chunkETMW527Mjs = require('./chunk-ETMW527M.js');
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
var
|
|
29
|
+
var _chunkHUVOOFOMjs = require('./chunk-HUVOOFOM.js');
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
var _chunk5WFLNKCLjs = require('./chunk-5WFLNKCL.js');
|
|
30
34
|
|
|
31
35
|
|
|
32
36
|
var _chunkDTDTOMTBjs = require('./chunk-DTDTOMTB.js');
|
|
33
37
|
|
|
34
38
|
|
|
35
|
-
var
|
|
39
|
+
var _chunkCPYXP2OCjs = require('./chunk-CPYXP2OC.js');
|
|
36
40
|
|
|
37
41
|
|
|
38
|
-
var
|
|
42
|
+
var _chunk3JEUO765js = require('./chunk-3JEUO765.js');
|
|
39
43
|
|
|
40
44
|
|
|
41
45
|
var _chunk5KMU2IATjs = require('./chunk-5KMU2IAT.js');
|
|
@@ -44,17 +48,17 @@ var _chunk5KMU2IATjs = require('./chunk-5KMU2IAT.js');
|
|
|
44
48
|
var _chunk7LXE4KHVjs = require('./chunk-7LXE4KHV.js');
|
|
45
49
|
|
|
46
50
|
|
|
47
|
-
var
|
|
51
|
+
var _chunkUBXRAA6Gjs = require('./chunk-UBXRAA6G.js');
|
|
48
52
|
|
|
49
53
|
|
|
50
|
-
var
|
|
54
|
+
var _chunkLYD4TEKHjs = require('./chunk-LYD4TEKH.js');
|
|
51
55
|
|
|
52
56
|
|
|
53
|
-
var
|
|
57
|
+
var _chunkL337FYVSjs = require('./chunk-L337FYVS.js');
|
|
54
58
|
|
|
55
59
|
|
|
56
60
|
|
|
57
|
-
var
|
|
61
|
+
var _chunkWLCFETHRjs = require('./chunk-WLCFETHR.js');
|
|
58
62
|
|
|
59
63
|
|
|
60
64
|
|
|
@@ -256,7 +260,7 @@ var TransactionController = class extends _basecontroller.BaseController {
|
|
|
256
260
|
provider,
|
|
257
261
|
blockTracker
|
|
258
262
|
});
|
|
259
|
-
_chunkZ4BLTVTBjs.__privateSet.call(void 0, this, _multichainTrackingHelper, new (0,
|
|
263
|
+
_chunkZ4BLTVTBjs.__privateSet.call(void 0, this, _multichainTrackingHelper, new (0, _chunkCPYXP2OCjs.MultichainTrackingHelper)({
|
|
260
264
|
isMultichainEnabled,
|
|
261
265
|
provider,
|
|
262
266
|
nonceTracker: this.nonceTracker,
|
|
@@ -287,7 +291,7 @@ var TransactionController = class extends _basecontroller.BaseController {
|
|
|
287
291
|
}
|
|
288
292
|
}));
|
|
289
293
|
_chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _multichainTrackingHelper).initialize();
|
|
290
|
-
const etherscanRemoteTransactionSource = new (0,
|
|
294
|
+
const etherscanRemoteTransactionSource = new (0, _chunk3JEUO765js.EtherscanRemoteTransactionSource)({
|
|
291
295
|
includeTokenTransfers: incomingTransactions.includeTokenTransfers
|
|
292
296
|
});
|
|
293
297
|
this.incomingTransactionHelper = _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _createIncomingTransactionHelper, createIncomingTransactionHelper_fn).call(this, {
|
|
@@ -300,14 +304,14 @@ var TransactionController = class extends _basecontroller.BaseController {
|
|
|
300
304
|
});
|
|
301
305
|
this.gasFeeFlows = _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _getGasFeeFlows, getGasFeeFlows_fn).call(this);
|
|
302
306
|
this.layer1GasFeeFlows = _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _getLayer1GasFeeFlows, getLayer1GasFeeFlows_fn).call(this);
|
|
303
|
-
const gasFeePoller = new (0,
|
|
307
|
+
const gasFeePoller = new (0, _chunkHUVOOFOMjs.GasFeePoller)({
|
|
304
308
|
// Default gas fee polling is not yet supported by the clients
|
|
305
309
|
gasFeeFlows: this.gasFeeFlows.slice(0, -1),
|
|
306
|
-
|
|
310
|
+
getGasFeeControllerEstimates: this.getGasFeeEstimates,
|
|
311
|
+
getProvider: (chainId, networkClientId) => _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _multichainTrackingHelper).getProvider({
|
|
307
312
|
networkClientId,
|
|
308
313
|
chainId
|
|
309
314
|
}),
|
|
310
|
-
getGasFeeControllerEstimates: this.getGasFeeEstimates,
|
|
311
315
|
getTransactions: () => this.state.transactions,
|
|
312
316
|
layer1GasFeeFlows: this.layer1GasFeeFlows,
|
|
313
317
|
onStateChange: (listener) => {
|
|
@@ -494,7 +498,7 @@ var TransactionController = class extends _basecontroller.BaseController {
|
|
|
494
498
|
if (!this.isHistoryDisabled) {
|
|
495
499
|
addedTransactionMeta = _chunkQP75SWIQjs.addInitialHistorySnapshot.call(void 0, addedTransactionMeta);
|
|
496
500
|
}
|
|
497
|
-
addedTransactionMeta =
|
|
501
|
+
addedTransactionMeta = _chunkWLCFETHRjs.updateSwapsTransaction.call(void 0,
|
|
498
502
|
addedTransactionMeta,
|
|
499
503
|
transactionType,
|
|
500
504
|
swaps,
|
|
@@ -819,7 +823,7 @@ var TransactionController = class extends _basecontroller.BaseController {
|
|
|
819
823
|
const ethQuery = _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _multichainTrackingHelper).getEthQuery({
|
|
820
824
|
networkClientId
|
|
821
825
|
});
|
|
822
|
-
const { estimatedGas, simulationFails } = await
|
|
826
|
+
const { estimatedGas, simulationFails } = await _chunkAO3AE3L7js.estimateGas.call(void 0,
|
|
823
827
|
transaction,
|
|
824
828
|
ethQuery
|
|
825
829
|
);
|
|
@@ -836,11 +840,11 @@ var TransactionController = class extends _basecontroller.BaseController {
|
|
|
836
840
|
const ethQuery = _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _multichainTrackingHelper).getEthQuery({
|
|
837
841
|
networkClientId
|
|
838
842
|
});
|
|
839
|
-
const { blockGasLimit, estimatedGas, simulationFails } = await
|
|
843
|
+
const { blockGasLimit, estimatedGas, simulationFails } = await _chunkAO3AE3L7js.estimateGas.call(void 0,
|
|
840
844
|
transaction,
|
|
841
845
|
ethQuery
|
|
842
846
|
);
|
|
843
|
-
const gas =
|
|
847
|
+
const gas = _chunkAO3AE3L7js.addGasBuffer.call(void 0, estimatedGas, blockGasLimit, multiplier);
|
|
844
848
|
return {
|
|
845
849
|
gas,
|
|
846
850
|
simulationFails
|
|
@@ -1142,18 +1146,19 @@ var TransactionController = class extends _basecontroller.BaseController {
|
|
|
1142
1146
|
editableParams.txParams
|
|
1143
1147
|
);
|
|
1144
1148
|
const updatedTransaction = _lodash.merge.call(void 0, {}, transactionMeta, editableParams);
|
|
1145
|
-
const
|
|
1146
|
-
|
|
1147
|
-
|
|
1149
|
+
const provider = _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _multichainTrackingHelper).getProvider({
|
|
1150
|
+
chainId: transactionMeta.chainId,
|
|
1151
|
+
networkClientId: transactionMeta.networkClientId
|
|
1148
1152
|
});
|
|
1153
|
+
const ethQuery = new (0, _ethquery2.default)(provider);
|
|
1149
1154
|
const { type } = await _chunkSD6CWFDFjs.determineTransactionType.call(void 0,
|
|
1150
1155
|
updatedTransaction.txParams,
|
|
1151
1156
|
ethQuery
|
|
1152
1157
|
);
|
|
1153
1158
|
updatedTransaction.type = type;
|
|
1154
|
-
await
|
|
1155
|
-
ethQuery,
|
|
1159
|
+
await _chunk5WFLNKCLjs.updateTransactionLayer1GasFee.call(void 0, {
|
|
1156
1160
|
layer1GasFeeFlows: this.layer1GasFeeFlows,
|
|
1161
|
+
provider,
|
|
1157
1162
|
transactionMeta: updatedTransaction
|
|
1158
1163
|
});
|
|
1159
1164
|
this.updateTransaction(
|
|
@@ -1361,6 +1366,28 @@ var TransactionController = class extends _basecontroller.BaseController {
|
|
|
1361
1366
|
}
|
|
1362
1367
|
return filteredTransactions;
|
|
1363
1368
|
}
|
|
1369
|
+
/**
|
|
1370
|
+
* Utility method to get the layer 1 gas fee for given transaction params.
|
|
1371
|
+
*
|
|
1372
|
+
* @param chainId - Estimated transaction chainId.
|
|
1373
|
+
* @param networkClientId - Estimated transaction networkClientId.
|
|
1374
|
+
* @param transactionParams - The transaction params to estimate layer 1 gas fee for.
|
|
1375
|
+
*/
|
|
1376
|
+
async getLayer1GasFee(chainId, networkClientId, transactionParams) {
|
|
1377
|
+
const provider = _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _multichainTrackingHelper).getProvider({
|
|
1378
|
+
networkClientId,
|
|
1379
|
+
chainId
|
|
1380
|
+
});
|
|
1381
|
+
const layer1GasFee = await _chunk5WFLNKCLjs.getTransactionLayer1GasFee.call(void 0, {
|
|
1382
|
+
layer1GasFeeFlows: this.layer1GasFeeFlows,
|
|
1383
|
+
provider,
|
|
1384
|
+
transactionMeta: {
|
|
1385
|
+
txParams: transactionParams,
|
|
1386
|
+
chainId
|
|
1387
|
+
}
|
|
1388
|
+
});
|
|
1389
|
+
return layer1GasFee;
|
|
1390
|
+
}
|
|
1364
1391
|
async signExternalTransaction(chainId, transactionParams) {
|
|
1365
1392
|
if (!this.sign) {
|
|
1366
1393
|
throw new Error("No sign method defined.");
|
|
@@ -1432,13 +1459,17 @@ var TransactionController = class extends _basecontroller.BaseController {
|
|
|
1432
1459
|
networkClientId,
|
|
1433
1460
|
chainId
|
|
1434
1461
|
});
|
|
1435
|
-
|
|
1462
|
+
const provider = _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _multichainTrackingHelper).getProvider({
|
|
1463
|
+
networkClientId,
|
|
1464
|
+
chainId
|
|
1465
|
+
});
|
|
1466
|
+
await _chunkAO3AE3L7js.updateGas.call(void 0, {
|
|
1436
1467
|
ethQuery,
|
|
1437
1468
|
chainId,
|
|
1438
1469
|
isCustomNetwork,
|
|
1439
1470
|
txMeta: transactionMeta
|
|
1440
1471
|
});
|
|
1441
|
-
await
|
|
1472
|
+
await _chunkL337FYVSjs.updateGasFees.call(void 0, {
|
|
1442
1473
|
eip1559: isEIP1559Compatible,
|
|
1443
1474
|
ethQuery,
|
|
1444
1475
|
gasFeeFlows: this.gasFeeFlows,
|
|
@@ -1446,9 +1477,9 @@ var TransactionController = class extends _basecontroller.BaseController {
|
|
|
1446
1477
|
getSavedGasFees: this.getSavedGasFees.bind(this),
|
|
1447
1478
|
txMeta: transactionMeta
|
|
1448
1479
|
});
|
|
1449
|
-
await
|
|
1450
|
-
ethQuery,
|
|
1480
|
+
await _chunk5WFLNKCLjs.updateTransactionLayer1GasFee.call(void 0, {
|
|
1451
1481
|
layer1GasFeeFlows: this.layer1GasFeeFlows,
|
|
1482
|
+
provider,
|
|
1452
1483
|
transactionMeta
|
|
1453
1484
|
});
|
|
1454
1485
|
}
|
|
@@ -2102,7 +2133,7 @@ var TransactionController = class extends _basecontroller.BaseController {
|
|
|
2102
2133
|
networkClientId: transactionMeta.networkClientId,
|
|
2103
2134
|
chainId: transactionMeta.chainId
|
|
2104
2135
|
});
|
|
2105
|
-
const { updatedTransactionMeta, approvalTransactionMeta } = await
|
|
2136
|
+
const { updatedTransactionMeta, approvalTransactionMeta } = await _chunkWLCFETHRjs.updatePostTransactionBalance.call(void 0, transactionMeta, {
|
|
2106
2137
|
ethQuery,
|
|
2107
2138
|
getTransaction: this.getTransaction.bind(this),
|
|
2108
2139
|
updateTransaction: this.updateTransaction.bind(this)
|
|
@@ -2289,11 +2320,11 @@ getNonceTrackerPendingTransactions_fn = function(chainId, address) {
|
|
|
2289
2320
|
};
|
|
2290
2321
|
_getGasFeeFlows = new WeakSet();
|
|
2291
2322
|
getGasFeeFlows_fn = function() {
|
|
2292
|
-
return [new (0,
|
|
2323
|
+
return [new (0, _chunkUBXRAA6Gjs.LineaGasFeeFlow)(), new (0, _chunkLYD4TEKHjs.DefaultGasFeeFlow)()];
|
|
2293
2324
|
};
|
|
2294
2325
|
_getLayer1GasFeeFlows = new WeakSet();
|
|
2295
2326
|
getLayer1GasFeeFlows_fn = function() {
|
|
2296
|
-
return [];
|
|
2327
|
+
return [new (0, _chunkETMW527Mjs.OptimismLayer1GasFeeFlow)()];
|
|
2297
2328
|
};
|
|
2298
2329
|
_updateTransactionInternal = new WeakSet();
|
|
2299
2330
|
updateTransactionInternal_fn = function(transactionMeta, { note, skipHistory }) {
|
|
@@ -2359,7 +2390,7 @@ updateSimulationData_fn = async function(transactionMeta) {
|
|
|
2359
2390
|
};
|
|
2360
2391
|
if (_chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _isSimulationEnabled).call(this)) {
|
|
2361
2392
|
_chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _updateTransactionInternal, updateTransactionInternal_fn).call(this, { ...transactionMeta, simulationData: void 0 }, { skipHistory: true });
|
|
2362
|
-
simulationData = await
|
|
2393
|
+
simulationData = await _chunk3VF7ZGRVjs.getSimulationData.call(void 0, {
|
|
2363
2394
|
chainId,
|
|
2364
2395
|
from,
|
|
2365
2396
|
to,
|
|
@@ -2390,4 +2421,4 @@ updateSimulationData_fn = async function(transactionMeta) {
|
|
|
2390
2421
|
|
|
2391
2422
|
|
|
2392
2423
|
exports.HARDFORK = HARDFORK; exports.CANCEL_RATE = CANCEL_RATE; exports.SPEED_UP_RATE = SPEED_UP_RATE; exports.ApprovalState = ApprovalState; exports.TransactionController = TransactionController;
|
|
2393
|
-
//# sourceMappingURL=chunk-
|
|
2424
|
+
//# sourceMappingURL=chunk-5SKCGFUC.js.map
|