@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.
- package/dist/ethereumControllers.umd.min.js +1 -1
- package/dist/lib.cjs/Nfts/NftsController.js +1 -1
- package/dist/lib.cjs/Preferences/PreferencesController.js +1 -1
- package/dist/lib.cjs/Tokens/TokensController.js +1 -1
- package/dist/lib.cjs/index.js +4 -2
- package/dist/lib.cjs/types/utils/constants.d.ts +4 -2
- package/dist/lib.cjs/utils/constants.js +31 -15
- package/dist/lib.esm/Nfts/NftsController.js +2 -2
- package/dist/lib.esm/Preferences/PreferencesController.js +2 -2
- package/dist/lib.esm/Tokens/TokensController.js +2 -2
- package/dist/lib.esm/index.js +1 -1
- package/dist/lib.esm/utils/constants.js +28 -14
- package/package.json +2 -2
|
@@ -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.
|
|
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.
|
|
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.
|
|
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
|
}
|
package/dist/lib.cjs/index.js
CHANGED
|
@@ -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
|
|
70
|
-
export declare const
|
|
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
|
|
275
|
-
const
|
|
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 {
|
|
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 (
|
|
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 {
|
|
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 (
|
|
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 {
|
|
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 (
|
|
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
|
}
|
package/dist/lib.esm/index.js
CHANGED
|
@@ -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,
|
|
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
|
|
274
|
-
const
|
|
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,
|
|
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.
|
|
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": "
|
|
65
|
+
"gitHead": "ca2533b18b1b9783d87b76f412d2a9ef0873f8c8",
|
|
66
66
|
"devDependencies": {
|
|
67
67
|
"@typechain/ethers-v6": "^0.5.1",
|
|
68
68
|
"typechain": "^8.3.2"
|