@toruslabs/ethereum-controllers 8.1.0 → 8.2.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.
@@ -164,7 +164,7 @@ class NftsController extends baseControllers.BaseController {
164
164
  const nonZeroNfts = [];
165
165
  try {
166
166
  const currentChainId = this.config.chainId;
167
- if (constants.SIMPLEHASH_SUPPORTED_CHAINS.includes(currentChainId)) {
167
+ if (constants.MM_NFT_API_SUPPORTED_CHAINS.includes(currentChainId)) {
168
168
  const simpleHashBalances = await this.getSimpleHashNfts(userAddress, currentChainId, skipCache);
169
169
  nonZeroNfts.push(...simpleHashBalances);
170
170
  this.update({
@@ -235,7 +235,7 @@ class PreferencesController extends baseControllers.BasePreferencesController {
235
235
  const {
236
236
  chainId
237
237
  } = this.getProviderConfig();
238
- if (constants.ETHERSCAN_SUPPORTED_CHAINS.includes(chainId)) {
238
+ if (constants.MM_TOKEN_API_SUPPORTED_CHAINS.includes(chainId)) {
239
239
  const etherscanTxn = await this.fetchEtherscanTx({
240
240
  selectedAddress,
241
241
  chainId: this.getProviderConfig().chainId
@@ -166,7 +166,7 @@ class TokensController extends baseControllers.BaseController {
166
166
  try {
167
167
  const nonZeroTokens = [];
168
168
  const currentChainId = this.config.chainId;
169
- if (constants.ETHERSCAN_SUPPORTED_CHAINS.includes(currentChainId)) {
169
+ if (constants.MM_TOKEN_API_SUPPORTED_CHAINS.includes(currentChainId)) {
170
170
  const etherscanBalances = await this.getEtherScanTokens(userAddress, currentChainId, skipCache);
171
171
  nonZeroTokens.push(...etherscanBalances);
172
172
  }
@@ -135,18 +135,20 @@ exports.ERC1155_INTERFACE_ID = constants.ERC1155_INTERFACE_ID;
135
135
  exports.ERC721_ENUMERABLE_INTERFACE_ID = constants.ERC721_ENUMERABLE_INTERFACE_ID;
136
136
  exports.ERC721_INTERFACE_ID = constants.ERC721_INTERFACE_ID;
137
137
  exports.ERC721_METADATA_INTERFACE_ID = constants.ERC721_METADATA_INTERFACE_ID;
138
- exports.ETHERSCAN_SUPPORTED_CHAINS = constants.ETHERSCAN_SUPPORTED_CHAINS;
139
138
  exports.GAS_ESTIMATE_TYPES = constants.GAS_ESTIMATE_TYPES;
139
+ exports.LINEA_CHAIN_ID = constants.LINEA_CHAIN_ID;
140
+ exports.LINEA_SEPOLIA_CHAIN_ID = constants.LINEA_SEPOLIA_CHAIN_ID;
140
141
  exports.LOCALHOST = constants.LOCALHOST;
141
142
  exports.MAINNET_CHAIN_ID = constants.MAINNET_CHAIN_ID;
142
143
  exports.METHOD_TYPES = constants.METHOD_TYPES;
144
+ exports.MM_NFT_API_SUPPORTED_CHAINS = constants.MM_NFT_API_SUPPORTED_CHAINS;
145
+ exports.MM_TOKEN_API_SUPPORTED_CHAINS = constants.MM_TOKEN_API_SUPPORTED_CHAINS;
143
146
  exports.OLD_ERC721_LIST = constants.OLD_ERC721_LIST;
144
147
  exports.OPTIMISM_MAINNET_CHAIN_ID = constants.OPTIMISM_MAINNET_CHAIN_ID;
145
148
  exports.OPTIMISM_TESTNET_CHAIN_ID = constants.OPTIMISM_TESTNET_CHAIN_ID;
146
149
  exports.POLYGON_AMOY_CHAIN_ID = constants.POLYGON_AMOY_CHAIN_ID;
147
150
  exports.POLYGON_CHAIN_ID = constants.POLYGON_CHAIN_ID;
148
151
  exports.SEPOLIA_CHAIN_ID = constants.SEPOLIA_CHAIN_ID;
149
- exports.SIMPLEHASH_SUPPORTED_CHAINS = constants.SIMPLEHASH_SUPPORTED_CHAINS;
150
152
  exports.SMART_ACCOUNT = constants.SMART_ACCOUNT;
151
153
  exports.SUPPORTED_NETWORKS = constants.SUPPORTED_NETWORKS;
152
154
  exports.TEST_CHAINS = constants.TEST_CHAINS;
@@ -17,6 +17,7 @@ export declare const ARBITRUM_MAINNET_CHAIN_ID = "0xa4b1";
17
17
  export declare const OPTIMISM_MAINNET_CHAIN_ID = "0xa";
18
18
  export declare const CELO_MAINNET_CHAIN_ID = "0xa4ec";
19
19
  export declare const BASE_CHAIN_ID = "0x2105";
20
+ export declare const LINEA_CHAIN_ID = "0xe708";
20
21
  export declare const SEPOLIA_CHAIN_ID = "0xaa36a7";
21
22
  export declare const POLYGON_AMOY_CHAIN_ID = "0x13882";
22
23
  export declare const BSC_TESTNET_CHAIN_ID = "0x61";
@@ -24,6 +25,7 @@ export declare const AVALANCHE_TESTNET_CHAIN_ID = "0xa869";
24
25
  export declare const ARBITRUM_TESTNET_CHAIN_ID = "0x66eee";
25
26
  export declare const OPTIMISM_TESTNET_CHAIN_ID = "0xaa37dc";
26
27
  export declare const BASE_TESTNET_CHAIN_ID = "0x14a34";
28
+ export declare const LINEA_SEPOLIA_CHAIN_ID = "0xe705";
27
29
  export declare const SUPPORTED_NETWORKS: Record<string, EthereumProviderConfig>;
28
30
  export declare const METHOD_TYPES: {
29
31
  readonly GET_ACCOUNTS: "eth_accounts";
@@ -66,8 +68,8 @@ export declare const OLD_ERC721_LIST: Record<string, {
66
68
  decimals?: number;
67
69
  }>;
68
70
  export declare const TEST_CHAINS: string[];
69
- export declare const ETHERSCAN_SUPPORTED_CHAINS: string[];
70
- export declare const SIMPLEHASH_SUPPORTED_CHAINS: string[];
71
+ export declare const MM_TOKEN_API_SUPPORTED_CHAINS: string[];
72
+ export declare const MM_NFT_API_SUPPORTED_CHAINS: string[];
71
73
  export declare const COINGECKO_SUPPORTED_CURRENCIES: Set<string>;
72
74
  export declare const COINGECKO_PLATFORMS_CHAIN_CODE_MAP: Record<string, {
73
75
  platform: string;
@@ -20,6 +20,7 @@ const ARBITRUM_MAINNET_CHAIN_ID = "0xa4b1";
20
20
  const OPTIMISM_MAINNET_CHAIN_ID = "0xa";
21
21
  const CELO_MAINNET_CHAIN_ID = "0xa4ec";
22
22
  const BASE_CHAIN_ID = "0x2105";
23
+ const LINEA_CHAIN_ID = "0xe708";
23
24
  const SEPOLIA_CHAIN_ID = "0xaa36a7";
24
25
  const POLYGON_AMOY_CHAIN_ID = "0x13882";
25
26
  const BSC_TESTNET_CHAIN_ID = "0x61";
@@ -27,6 +28,7 @@ const AVALANCHE_TESTNET_CHAIN_ID = "0xa869";
27
28
  const ARBITRUM_TESTNET_CHAIN_ID = "0x66eee";
28
29
  const OPTIMISM_TESTNET_CHAIN_ID = "0xaa37dc";
29
30
  const BASE_TESTNET_CHAIN_ID = "0x14a34";
31
+ const LINEA_SEPOLIA_CHAIN_ID = "0xe705";
30
32
  const INFURA_KEY = process.env.VITE_APP_INFURA_PROJECT_KEY;
31
33
  const SUPPORTED_NETWORKS = {
32
34
  [MAINNET_CHAIN_ID]: {
@@ -106,17 +108,6 @@ const SUPPORTED_NETWORKS = {
106
108
  ticker: "ETH",
107
109
  tickerName: "Ethereum"
108
110
  },
109
- [XDAI_CHAIN_ID]: {
110
- chainNamespace: baseControllers.CHAIN_NAMESPACES.EIP155,
111
- decimals: 18,
112
- blockExplorerUrl: "https://gnosis.blockscout.com",
113
- chainId: XDAI_CHAIN_ID,
114
- displayName: "xDai",
115
- logo: "xDai.svg",
116
- rpcTarget: `https://rpc.gnosischain.com`,
117
- ticker: "DAI",
118
- tickerName: "xDai Token"
119
- },
120
111
  [BASE_CHAIN_ID]: {
121
112
  chainNamespace: baseControllers.CHAIN_NAMESPACES.EIP155,
122
113
  decimals: 18,
@@ -128,6 +119,17 @@ const SUPPORTED_NETWORKS = {
128
119
  ticker: "ETH",
129
120
  tickerName: "Ethereum"
130
121
  },
122
+ [LINEA_CHAIN_ID]: {
123
+ chainNamespace: baseControllers.CHAIN_NAMESPACES.EIP155,
124
+ decimals: 18,
125
+ blockExplorerUrl: "https://lineascan.build",
126
+ chainId: LINEA_CHAIN_ID,
127
+ displayName: "Linea",
128
+ logo: "linea.svg",
129
+ rpcTarget: `https://linea-mainnet.infura.io/v3/${INFURA_KEY}`,
130
+ ticker: "ETH",
131
+ tickerName: "Ethereum"
132
+ },
131
133
  [SEPOLIA_CHAIN_ID]: {
132
134
  chainNamespace: baseControllers.CHAIN_NAMESPACES.EIP155,
133
135
  decimals: 18,
@@ -140,6 +142,18 @@ const SUPPORTED_NETWORKS = {
140
142
  tickerName: "Ethereum",
141
143
  isTestnet: true
142
144
  },
145
+ [LINEA_SEPOLIA_CHAIN_ID]: {
146
+ chainNamespace: baseControllers.CHAIN_NAMESPACES.EIP155,
147
+ decimals: 18,
148
+ blockExplorerUrl: "https://sepolia.lineascan.build",
149
+ chainId: LINEA_SEPOLIA_CHAIN_ID,
150
+ displayName: "Linea Sepolia Testnet",
151
+ logo: "linea.svg",
152
+ rpcTarget: `https://linea-sepolia.infura.io/v3/${INFURA_KEY}`,
153
+ ticker: "ETH",
154
+ tickerName: "Ethereum",
155
+ isTestnet: true
156
+ },
143
157
  [POLYGON_AMOY_CHAIN_ID]: {
144
158
  chainNamespace: baseControllers.CHAIN_NAMESPACES.EIP155,
145
159
  decimals: 18,
@@ -271,8 +285,8 @@ const OLD_ERC721_LIST = {
271
285
  }
272
286
  };
273
287
  const TEST_CHAINS = [SEPOLIA_CHAIN_ID];
274
- const ETHERSCAN_SUPPORTED_CHAINS = [MAINNET_CHAIN_ID, SEPOLIA_CHAIN_ID, BSC_MAINNET_CHAIN_ID, BSC_TESTNET_CHAIN_ID, OPTIMISM_MAINNET_CHAIN_ID, OPTIMISM_TESTNET_CHAIN_ID, AVALANCHE_MAINNET_CHAIN_ID, AVALANCHE_TESTNET_CHAIN_ID, ARBITRUM_MAINNET_CHAIN_ID, ARBITRUM_TESTNET_CHAIN_ID, POLYGON_CHAIN_ID, POLYGON_AMOY_CHAIN_ID, CELO_MAINNET_CHAIN_ID, BASE_CHAIN_ID, BASE_TESTNET_CHAIN_ID];
275
- const SIMPLEHASH_SUPPORTED_CHAINS = [MAINNET_CHAIN_ID, POLYGON_CHAIN_ID, POLYGON_AMOY_CHAIN_ID, BSC_MAINNET_CHAIN_ID, BSC_TESTNET_CHAIN_ID, ARBITRUM_MAINNET_CHAIN_ID, ARBITRUM_TESTNET_CHAIN_ID, OPTIMISM_MAINNET_CHAIN_ID, OPTIMISM_TESTNET_CHAIN_ID, CELO_MAINNET_CHAIN_ID, AVALANCHE_MAINNET_CHAIN_ID, AVALANCHE_TESTNET_CHAIN_ID, SEPOLIA_CHAIN_ID, BASE_CHAIN_ID, BASE_TESTNET_CHAIN_ID];
288
+ const MM_TOKEN_API_SUPPORTED_CHAINS = [MAINNET_CHAIN_ID, SEPOLIA_CHAIN_ID, BSC_MAINNET_CHAIN_ID, BSC_TESTNET_CHAIN_ID, OPTIMISM_MAINNET_CHAIN_ID, OPTIMISM_TESTNET_CHAIN_ID, AVALANCHE_MAINNET_CHAIN_ID, AVALANCHE_TESTNET_CHAIN_ID, ARBITRUM_MAINNET_CHAIN_ID, ARBITRUM_TESTNET_CHAIN_ID, POLYGON_CHAIN_ID, POLYGON_AMOY_CHAIN_ID, CELO_MAINNET_CHAIN_ID, BASE_CHAIN_ID, BASE_TESTNET_CHAIN_ID, LINEA_CHAIN_ID, LINEA_SEPOLIA_CHAIN_ID];
289
+ const MM_NFT_API_SUPPORTED_CHAINS = [MAINNET_CHAIN_ID, POLYGON_CHAIN_ID, BSC_MAINNET_CHAIN_ID, AVALANCHE_MAINNET_CHAIN_ID, LINEA_CHAIN_ID, BASE_CHAIN_ID];
276
290
  const COINGECKO_SUPPORTED_CURRENCIES = new Set(["btc", "eth", "ltc", "bch", "bnb", "eos", "xrp", "xlm", "link", "dot", "yfi", "usd", "aed", "ars", "aud", "bdt", "bhd", "bmd", "brl", "cad", "chf", "clp", "cny", "czk", "dkk", "eur", "gbp", "hkd", "huf", "idr", "ils", "inr", "jpy", "krw", "kwd", "lkr", "mmk", "mxn", "myr", "ngn", "nok", "nzd", "php", "pkr", "pln", "rub", "sar", "sek", "sgd", "thb", "try", "twd", "uah", "vef", "vnd", "zar", "xdr", "xag", "xau", "bits", "sats"]);
277
291
  const COINGECKO_PLATFORMS_CHAIN_CODE_MAP = {
278
292
  [POLYGON_CHAIN_ID]: {
@@ -343,18 +357,20 @@ exports.ERC1155_INTERFACE_ID = ERC1155_INTERFACE_ID;
343
357
  exports.ERC721_ENUMERABLE_INTERFACE_ID = ERC721_ENUMERABLE_INTERFACE_ID;
344
358
  exports.ERC721_INTERFACE_ID = ERC721_INTERFACE_ID;
345
359
  exports.ERC721_METADATA_INTERFACE_ID = ERC721_METADATA_INTERFACE_ID;
346
- exports.ETHERSCAN_SUPPORTED_CHAINS = ETHERSCAN_SUPPORTED_CHAINS;
347
360
  exports.GAS_ESTIMATE_TYPES = GAS_ESTIMATE_TYPES;
361
+ exports.LINEA_CHAIN_ID = LINEA_CHAIN_ID;
362
+ exports.LINEA_SEPOLIA_CHAIN_ID = LINEA_SEPOLIA_CHAIN_ID;
348
363
  exports.LOCALHOST = LOCALHOST;
349
364
  exports.MAINNET_CHAIN_ID = MAINNET_CHAIN_ID;
350
365
  exports.METHOD_TYPES = METHOD_TYPES;
366
+ exports.MM_NFT_API_SUPPORTED_CHAINS = MM_NFT_API_SUPPORTED_CHAINS;
367
+ exports.MM_TOKEN_API_SUPPORTED_CHAINS = MM_TOKEN_API_SUPPORTED_CHAINS;
351
368
  exports.OLD_ERC721_LIST = OLD_ERC721_LIST;
352
369
  exports.OPTIMISM_MAINNET_CHAIN_ID = OPTIMISM_MAINNET_CHAIN_ID;
353
370
  exports.OPTIMISM_TESTNET_CHAIN_ID = OPTIMISM_TESTNET_CHAIN_ID;
354
371
  exports.POLYGON_AMOY_CHAIN_ID = POLYGON_AMOY_CHAIN_ID;
355
372
  exports.POLYGON_CHAIN_ID = POLYGON_CHAIN_ID;
356
373
  exports.SEPOLIA_CHAIN_ID = SEPOLIA_CHAIN_ID;
357
- exports.SIMPLEHASH_SUPPORTED_CHAINS = SIMPLEHASH_SUPPORTED_CHAINS;
358
374
  exports.SMART_ACCOUNT = SMART_ACCOUNT;
359
375
  exports.SUPPORTED_NETWORKS = SUPPORTED_NETWORKS;
360
376
  exports.TEST_CHAINS = TEST_CHAINS;
@@ -4,7 +4,7 @@ import { BaseController, idleTimeTracker } from '@toruslabs/base-controllers';
4
4
  import deepmerge from 'deepmerge';
5
5
  import { BrowserProvider } from 'ethers';
6
6
  import log from 'loglevel';
7
- import { SIMPLEHASH_SUPPORTED_CHAINS } from '../utils/constants.js';
7
+ import { MM_NFT_API_SUPPORTED_CHAINS } from '../utils/constants.js';
8
8
  import { NftHandler } from './NftHandler.js';
9
9
 
10
10
  const DEFAULT_INTERVAL = 180 * 1000;
@@ -163,7 +163,7 @@ class NftsController extends BaseController {
163
163
  const nonZeroNfts = [];
164
164
  try {
165
165
  const currentChainId = this.config.chainId;
166
- if (SIMPLEHASH_SUPPORTED_CHAINS.includes(currentChainId)) {
166
+ if (MM_NFT_API_SUPPORTED_CHAINS.includes(currentChainId)) {
167
167
  const simpleHashBalances = await this.getSimpleHashNfts(userAddress, currentChainId, skipCache);
168
168
  nonZeroNfts.push(...simpleHashBalances);
169
169
  this.update({
@@ -3,7 +3,7 @@ import { stripHexPrefix } from '@ethereumjs/util';
3
3
  import { BasePreferencesController, CHAIN_NAMESPACES, isUnauthorizedError, TransactionStatus } from '@toruslabs/base-controllers';
4
4
  import { Mutex } from 'async-mutex';
5
5
  import log from 'loglevel';
6
- import { ETHERSCAN_SUPPORTED_CHAINS, SUPPORTED_NETWORKS } from '../utils/constants.js';
6
+ import { MM_TOKEN_API_SUPPORTED_CHAINS, SUPPORTED_NETWORKS } from '../utils/constants.js';
7
7
  import { formatPastTx, addEtherscanTransactions, getEthTxStatus, formatTime, formatDate } from '../utils/helpers.js';
8
8
 
9
9
  class PreferencesController extends BasePreferencesController {
@@ -235,7 +235,7 @@ class PreferencesController extends BasePreferencesController {
235
235
  const {
236
236
  chainId
237
237
  } = this.getProviderConfig();
238
- if (ETHERSCAN_SUPPORTED_CHAINS.includes(chainId)) {
238
+ if (MM_TOKEN_API_SUPPORTED_CHAINS.includes(chainId)) {
239
239
  const etherscanTxn = await this.fetchEtherscanTx({
240
240
  selectedAddress,
241
241
  chainId: this.getProviderConfig().chainId
@@ -4,7 +4,7 @@ import { BaseController, idleTimeTracker } from '@toruslabs/base-controllers';
4
4
  import { BrowserProvider, Contract, toQuantity } from 'ethers';
5
5
  import log from 'loglevel';
6
6
  import { singleBalanceCheckerAbi } from '../utils/abis.js';
7
- import { ETHERSCAN_SUPPORTED_CHAINS } from '../utils/constants.js';
7
+ import { MM_TOKEN_API_SUPPORTED_CHAINS } from '../utils/constants.js';
8
8
  import { SINGLE_CALL_BALANCES_ADDRESSES } from '../utils/contractAddresses.js';
9
9
  import { TokenHandler } from './TokenHandler.js';
10
10
 
@@ -165,7 +165,7 @@ class TokensController extends BaseController {
165
165
  try {
166
166
  const nonZeroTokens = [];
167
167
  const currentChainId = this.config.chainId;
168
- if (ETHERSCAN_SUPPORTED_CHAINS.includes(currentChainId)) {
168
+ if (MM_TOKEN_API_SUPPORTED_CHAINS.includes(currentChainId)) {
169
169
  const etherscanBalances = await this.getEtherScanTokens(userAddress, currentChainId, skipCache);
170
170
  nonZeroTokens.push(...etherscanBalances);
171
171
  }
@@ -27,7 +27,7 @@ export { generateHistoryEntry, replayHistory, snapshotFromTxMeta } from './Trans
27
27
  export { TransactionStateManager } from './Transaction/TransactionStateManager.js';
28
28
  export { determineTransactionType, ensureFieldIsString, ensureMutuallyExclusiveFieldsNotProvided, getFinalStates, isEIP1559Transaction, isLegacyTransaction, normalizeAndValidateTxParams, normalizeTxParameters, parseStandardTokenTransactionData, readAddressAsContract, transactionMatchesNetwork, validateFrom, validateRecipient, validateTxParameters } from './Transaction/TransactionUtils.js';
29
29
  export { erc1155Abi, erc20Abi, erc721Abi, singleBalanceCheckerAbi } from './utils/abis.js';
30
- export { ARBITRUM_MAINNET_CHAIN_ID, ARBITRUM_TESTNET_CHAIN_ID, AVALANCHE_MAINNET_CHAIN_ID, AVALANCHE_TESTNET_CHAIN_ID, BASE_CHAIN_ID, BASE_TESTNET_CHAIN_ID, BSC_MAINNET_CHAIN_ID, BSC_TESTNET_CHAIN_ID, CELO_MAINNET_CHAIN_ID, CHAIN_ID_TO_GAS_LIMIT_BUFFER_MAP, COINGECKO_PLATFORMS_CHAIN_CODE_MAP, COINGECKO_SUPPORTED_CURRENCIES, CONTRACT_TYPE_ERC1155, CONTRACT_TYPE_ERC20, CONTRACT_TYPE_ERC721, CONTRACT_TYPE_ETH, ERC1155_INTERFACE_ID, ERC721_ENUMERABLE_INTERFACE_ID, ERC721_INTERFACE_ID, ERC721_METADATA_INTERFACE_ID, ETHERSCAN_SUPPORTED_CHAINS, GAS_ESTIMATE_TYPES, LOCALHOST, MAINNET_CHAIN_ID, METHOD_TYPES, OLD_ERC721_LIST, OPTIMISM_MAINNET_CHAIN_ID, OPTIMISM_TESTNET_CHAIN_ID, POLYGON_AMOY_CHAIN_ID, POLYGON_CHAIN_ID, SEPOLIA_CHAIN_ID, SIMPLEHASH_SUPPORTED_CHAINS, SMART_ACCOUNT, SUPPORTED_NETWORKS, TEST_CHAINS, TRANSACTION_ENVELOPE_TYPES, XDAI_CHAIN_ID } from './utils/constants.js';
30
+ export { ARBITRUM_MAINNET_CHAIN_ID, ARBITRUM_TESTNET_CHAIN_ID, AVALANCHE_MAINNET_CHAIN_ID, AVALANCHE_TESTNET_CHAIN_ID, BASE_CHAIN_ID, BASE_TESTNET_CHAIN_ID, BSC_MAINNET_CHAIN_ID, BSC_TESTNET_CHAIN_ID, CELO_MAINNET_CHAIN_ID, CHAIN_ID_TO_GAS_LIMIT_BUFFER_MAP, COINGECKO_PLATFORMS_CHAIN_CODE_MAP, COINGECKO_SUPPORTED_CURRENCIES, CONTRACT_TYPE_ERC1155, CONTRACT_TYPE_ERC20, CONTRACT_TYPE_ERC721, CONTRACT_TYPE_ETH, ERC1155_INTERFACE_ID, ERC721_ENUMERABLE_INTERFACE_ID, ERC721_INTERFACE_ID, ERC721_METADATA_INTERFACE_ID, GAS_ESTIMATE_TYPES, LINEA_CHAIN_ID, LINEA_SEPOLIA_CHAIN_ID, LOCALHOST, MAINNET_CHAIN_ID, METHOD_TYPES, MM_NFT_API_SUPPORTED_CHAINS, MM_TOKEN_API_SUPPORTED_CHAINS, OLD_ERC721_LIST, OPTIMISM_MAINNET_CHAIN_ID, OPTIMISM_TESTNET_CHAIN_ID, POLYGON_AMOY_CHAIN_ID, POLYGON_CHAIN_ID, SEPOLIA_CHAIN_ID, SMART_ACCOUNT, SUPPORTED_NETWORKS, TEST_CHAINS, TRANSACTION_ENVELOPE_TYPES, XDAI_CHAIN_ID } from './utils/constants.js';
31
31
  export { addCurrencies, conversionGTE, conversionGreaterThan, conversionLTE, conversionLessThan, conversionMax, conversionUtil, decGWEIToHexWEI, getBigNumber, hexWEIToDecGWEI, multiplyCurrencies, subtractCurrencies, toNegative } from './utils/conversionUtils.js';
32
32
  export { BNToHex, GAS_LIMITS, addEtherscanTransactions, bnLessThan, formatDate, formatPastTx, formatTime, getChainType, getEthTxStatus, getEtherScanHashLink, getIpfsEndpoint, hexToBn, isAddressByChainId, sanitizeNftMetdataUrl, toChecksumAddressByChainId } from './utils/helpers.js';
33
33
  export { BiconomySmartAccount } from './AccountAbstraction/smartAccounts/BiconomySmartAccount.js';
@@ -18,6 +18,7 @@ const ARBITRUM_MAINNET_CHAIN_ID = "0xa4b1";
18
18
  const OPTIMISM_MAINNET_CHAIN_ID = "0xa";
19
19
  const CELO_MAINNET_CHAIN_ID = "0xa4ec";
20
20
  const BASE_CHAIN_ID = "0x2105";
21
+ const LINEA_CHAIN_ID = "0xe708";
21
22
  const SEPOLIA_CHAIN_ID = "0xaa36a7";
22
23
  const POLYGON_AMOY_CHAIN_ID = "0x13882";
23
24
  const BSC_TESTNET_CHAIN_ID = "0x61";
@@ -25,6 +26,7 @@ const AVALANCHE_TESTNET_CHAIN_ID = "0xa869";
25
26
  const ARBITRUM_TESTNET_CHAIN_ID = "0x66eee";
26
27
  const OPTIMISM_TESTNET_CHAIN_ID = "0xaa37dc";
27
28
  const BASE_TESTNET_CHAIN_ID = "0x14a34";
29
+ const LINEA_SEPOLIA_CHAIN_ID = "0xe705";
28
30
  const INFURA_KEY = process.env.VITE_APP_INFURA_PROJECT_KEY;
29
31
  const SUPPORTED_NETWORKS = {
30
32
  [MAINNET_CHAIN_ID]: {
@@ -104,17 +106,6 @@ const SUPPORTED_NETWORKS = {
104
106
  ticker: "ETH",
105
107
  tickerName: "Ethereum"
106
108
  },
107
- [XDAI_CHAIN_ID]: {
108
- chainNamespace: CHAIN_NAMESPACES.EIP155,
109
- decimals: 18,
110
- blockExplorerUrl: "https://gnosis.blockscout.com",
111
- chainId: XDAI_CHAIN_ID,
112
- displayName: "xDai",
113
- logo: "xDai.svg",
114
- rpcTarget: `https://rpc.gnosischain.com`,
115
- ticker: "DAI",
116
- tickerName: "xDai Token"
117
- },
118
109
  [BASE_CHAIN_ID]: {
119
110
  chainNamespace: CHAIN_NAMESPACES.EIP155,
120
111
  decimals: 18,
@@ -126,6 +117,17 @@ const SUPPORTED_NETWORKS = {
126
117
  ticker: "ETH",
127
118
  tickerName: "Ethereum"
128
119
  },
120
+ [LINEA_CHAIN_ID]: {
121
+ chainNamespace: CHAIN_NAMESPACES.EIP155,
122
+ decimals: 18,
123
+ blockExplorerUrl: "https://lineascan.build",
124
+ chainId: LINEA_CHAIN_ID,
125
+ displayName: "Linea",
126
+ logo: "linea.svg",
127
+ rpcTarget: `https://linea-mainnet.infura.io/v3/${INFURA_KEY}`,
128
+ ticker: "ETH",
129
+ tickerName: "Ethereum"
130
+ },
129
131
  [SEPOLIA_CHAIN_ID]: {
130
132
  chainNamespace: CHAIN_NAMESPACES.EIP155,
131
133
  decimals: 18,
@@ -138,6 +140,18 @@ const SUPPORTED_NETWORKS = {
138
140
  tickerName: "Ethereum",
139
141
  isTestnet: true
140
142
  },
143
+ [LINEA_SEPOLIA_CHAIN_ID]: {
144
+ chainNamespace: CHAIN_NAMESPACES.EIP155,
145
+ decimals: 18,
146
+ blockExplorerUrl: "https://sepolia.lineascan.build",
147
+ chainId: LINEA_SEPOLIA_CHAIN_ID,
148
+ displayName: "Linea Sepolia Testnet",
149
+ logo: "linea.svg",
150
+ rpcTarget: `https://linea-sepolia.infura.io/v3/${INFURA_KEY}`,
151
+ ticker: "ETH",
152
+ tickerName: "Ethereum",
153
+ isTestnet: true
154
+ },
141
155
  [POLYGON_AMOY_CHAIN_ID]: {
142
156
  chainNamespace: CHAIN_NAMESPACES.EIP155,
143
157
  decimals: 18,
@@ -270,8 +284,8 @@ const OLD_ERC721_LIST = {
270
284
  }
271
285
  };
272
286
  const TEST_CHAINS = [SEPOLIA_CHAIN_ID];
273
- const ETHERSCAN_SUPPORTED_CHAINS = [MAINNET_CHAIN_ID, SEPOLIA_CHAIN_ID, BSC_MAINNET_CHAIN_ID, BSC_TESTNET_CHAIN_ID, OPTIMISM_MAINNET_CHAIN_ID, OPTIMISM_TESTNET_CHAIN_ID, AVALANCHE_MAINNET_CHAIN_ID, AVALANCHE_TESTNET_CHAIN_ID, ARBITRUM_MAINNET_CHAIN_ID, ARBITRUM_TESTNET_CHAIN_ID, POLYGON_CHAIN_ID, POLYGON_AMOY_CHAIN_ID, CELO_MAINNET_CHAIN_ID, BASE_CHAIN_ID, BASE_TESTNET_CHAIN_ID];
274
- const SIMPLEHASH_SUPPORTED_CHAINS = [MAINNET_CHAIN_ID, POLYGON_CHAIN_ID, POLYGON_AMOY_CHAIN_ID, BSC_MAINNET_CHAIN_ID, BSC_TESTNET_CHAIN_ID, ARBITRUM_MAINNET_CHAIN_ID, ARBITRUM_TESTNET_CHAIN_ID, OPTIMISM_MAINNET_CHAIN_ID, OPTIMISM_TESTNET_CHAIN_ID, CELO_MAINNET_CHAIN_ID, AVALANCHE_MAINNET_CHAIN_ID, AVALANCHE_TESTNET_CHAIN_ID, SEPOLIA_CHAIN_ID, BASE_CHAIN_ID, BASE_TESTNET_CHAIN_ID];
287
+ const MM_TOKEN_API_SUPPORTED_CHAINS = [MAINNET_CHAIN_ID, SEPOLIA_CHAIN_ID, BSC_MAINNET_CHAIN_ID, BSC_TESTNET_CHAIN_ID, OPTIMISM_MAINNET_CHAIN_ID, OPTIMISM_TESTNET_CHAIN_ID, AVALANCHE_MAINNET_CHAIN_ID, AVALANCHE_TESTNET_CHAIN_ID, ARBITRUM_MAINNET_CHAIN_ID, ARBITRUM_TESTNET_CHAIN_ID, POLYGON_CHAIN_ID, POLYGON_AMOY_CHAIN_ID, CELO_MAINNET_CHAIN_ID, BASE_CHAIN_ID, BASE_TESTNET_CHAIN_ID, LINEA_CHAIN_ID, LINEA_SEPOLIA_CHAIN_ID];
288
+ const MM_NFT_API_SUPPORTED_CHAINS = [MAINNET_CHAIN_ID, POLYGON_CHAIN_ID, BSC_MAINNET_CHAIN_ID, AVALANCHE_MAINNET_CHAIN_ID, LINEA_CHAIN_ID, BASE_CHAIN_ID];
275
289
  const COINGECKO_SUPPORTED_CURRENCIES = new Set(["btc", "eth", "ltc", "bch", "bnb", "eos", "xrp", "xlm", "link", "dot", "yfi", "usd", "aed", "ars", "aud", "bdt", "bhd", "bmd", "brl", "cad", "chf", "clp", "cny", "czk", "dkk", "eur", "gbp", "hkd", "huf", "idr", "ils", "inr", "jpy", "krw", "kwd", "lkr", "mmk", "mxn", "myr", "ngn", "nok", "nzd", "php", "pkr", "pln", "rub", "sar", "sek", "sgd", "thb", "try", "twd", "uah", "vef", "vnd", "zar", "xdr", "xag", "xau", "bits", "sats"]);
276
290
  const COINGECKO_PLATFORMS_CHAIN_CODE_MAP = {
277
291
  [POLYGON_CHAIN_ID]: {
@@ -322,4 +336,4 @@ const SMART_ACCOUNT = {
322
336
  NEXUS: "nexus"
323
337
  };
324
338
 
325
- export { ARBITRUM_MAINNET_CHAIN_ID, ARBITRUM_TESTNET_CHAIN_ID, AVALANCHE_MAINNET_CHAIN_ID, AVALANCHE_TESTNET_CHAIN_ID, BASE_CHAIN_ID, BASE_TESTNET_CHAIN_ID, BSC_MAINNET_CHAIN_ID, BSC_TESTNET_CHAIN_ID, CELO_MAINNET_CHAIN_ID, CHAIN_ID_TO_GAS_LIMIT_BUFFER_MAP, COINGECKO_PLATFORMS_CHAIN_CODE_MAP, COINGECKO_SUPPORTED_CURRENCIES, CONTRACT_TYPE_ERC1155, CONTRACT_TYPE_ERC20, CONTRACT_TYPE_ERC721, CONTRACT_TYPE_ETH, ERC1155_INTERFACE_ID, ERC721_ENUMERABLE_INTERFACE_ID, ERC721_INTERFACE_ID, ERC721_METADATA_INTERFACE_ID, ETHERSCAN_SUPPORTED_CHAINS, GAS_ESTIMATE_TYPES, LOCALHOST, MAINNET_CHAIN_ID, METHOD_TYPES, OLD_ERC721_LIST, OPTIMISM_MAINNET_CHAIN_ID, OPTIMISM_TESTNET_CHAIN_ID, POLYGON_AMOY_CHAIN_ID, POLYGON_CHAIN_ID, SEPOLIA_CHAIN_ID, SIMPLEHASH_SUPPORTED_CHAINS, SMART_ACCOUNT, SUPPORTED_NETWORKS, TEST_CHAINS, TRANSACTION_ENVELOPE_TYPES, XDAI_CHAIN_ID };
339
+ export { ARBITRUM_MAINNET_CHAIN_ID, ARBITRUM_TESTNET_CHAIN_ID, AVALANCHE_MAINNET_CHAIN_ID, AVALANCHE_TESTNET_CHAIN_ID, BASE_CHAIN_ID, BASE_TESTNET_CHAIN_ID, BSC_MAINNET_CHAIN_ID, BSC_TESTNET_CHAIN_ID, CELO_MAINNET_CHAIN_ID, CHAIN_ID_TO_GAS_LIMIT_BUFFER_MAP, COINGECKO_PLATFORMS_CHAIN_CODE_MAP, COINGECKO_SUPPORTED_CURRENCIES, CONTRACT_TYPE_ERC1155, CONTRACT_TYPE_ERC20, CONTRACT_TYPE_ERC721, CONTRACT_TYPE_ETH, ERC1155_INTERFACE_ID, ERC721_ENUMERABLE_INTERFACE_ID, ERC721_INTERFACE_ID, ERC721_METADATA_INTERFACE_ID, GAS_ESTIMATE_TYPES, LINEA_CHAIN_ID, LINEA_SEPOLIA_CHAIN_ID, LOCALHOST, MAINNET_CHAIN_ID, METHOD_TYPES, MM_NFT_API_SUPPORTED_CHAINS, MM_TOKEN_API_SUPPORTED_CHAINS, OLD_ERC721_LIST, OPTIMISM_MAINNET_CHAIN_ID, OPTIMISM_TESTNET_CHAIN_ID, POLYGON_AMOY_CHAIN_ID, POLYGON_CHAIN_ID, SEPOLIA_CHAIN_ID, SMART_ACCOUNT, SUPPORTED_NETWORKS, TEST_CHAINS, TRANSACTION_ENVELOPE_TYPES, XDAI_CHAIN_ID };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toruslabs/ethereum-controllers",
3
- "version": "8.1.0",
3
+ "version": "8.2.0",
4
4
  "homepage": "https://github.com/torusresearch/controllers#readme",
5
5
  "license": "ISC",
6
6
  "sideEffects": false,
@@ -62,7 +62,7 @@
62
62
  "publishConfig": {
63
63
  "access": "public"
64
64
  },
65
- "gitHead": "5fc6f8216d59adb194475b0b21a08a38e725aae7",
65
+ "gitHead": "ca2533b18b1b9783d87b76f412d2a9ef0873f8c8",
66
66
  "devDependencies": {
67
67
  "@typechain/ethers-v6": "^0.5.1",
68
68
  "typechain": "^8.3.2"