@toruslabs/ethereum-controllers 5.3.2 → 5.3.4
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.cjs.js +47 -32
- package/dist/ethereumControllers.cjs.js.map +1 -1
- package/dist/ethereumControllers.esm.js +105 -3
- package/dist/ethereumControllers.esm.js.map +1 -1
- package/dist/ethereumControllers.umd.min.js +1 -1
- package/dist/ethereumControllers.umd.min.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/utils/interfaces.d.ts +1 -0
- package/package.json +4 -4
- package/src/Transaction/TransactionController.ts +1 -1
- package/src/index.ts +1 -0
- package/src/utils/interfaces.ts +1 -0
|
@@ -8,7 +8,7 @@ import { addHexPrefix, isValidAddress, toChecksumAddress, stripHexPrefix, isHexS
|
|
|
8
8
|
import BigNumber from 'bignumber.js';
|
|
9
9
|
import { get, post, remove, patch } from '@toruslabs/http-helpers';
|
|
10
10
|
import { cloneDeep, merge, omitBy, mapValues, keyBy, sortBy, pickBy } from 'lodash';
|
|
11
|
-
import '@babel/runtime/helpers/objectDestructuringEmpty';
|
|
11
|
+
import _objectDestructuringEmpty from '@babel/runtime/helpers/objectDestructuringEmpty';
|
|
12
12
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
13
13
|
import BN, { BN as BN$1 } from 'bn.js';
|
|
14
14
|
import { concatSig, personalSign, signTypedData, getEncryptionPublicKey, decrypt, typedSignatureHash, TYPED_MESSAGE_SCHEMA, SignTypedDataVersion } from '@metamask/eth-sig-util';
|
|
@@ -1335,6 +1335,10 @@ class CurrencyController extends BaseCurrencyController {
|
|
|
1335
1335
|
}
|
|
1336
1336
|
}
|
|
1337
1337
|
|
|
1338
|
+
const _excluded$1 = ["aBase", "bBase"],
|
|
1339
|
+
_excluded2 = ["aBase", "bBase"],
|
|
1340
|
+
_excluded3 = ["multiplicandBase", "multiplierBase"];
|
|
1341
|
+
|
|
1338
1342
|
// Big Number Constants
|
|
1339
1343
|
const BIG_NUMBER_WEI_MULTIPLIER = new BigNumber("1000000000000000000");
|
|
1340
1344
|
const BIG_NUMBER_GWEI_MULTIPLIER = new BigNumber("1000000000");
|
|
@@ -1361,6 +1365,9 @@ const baseChange = {
|
|
|
1361
1365
|
BN: n => new BN(n.toString(16))
|
|
1362
1366
|
};
|
|
1363
1367
|
|
|
1368
|
+
// Utility function for checking base types
|
|
1369
|
+
const isValidBase = base => Number.isInteger(base) && base > 1;
|
|
1370
|
+
|
|
1364
1371
|
/**
|
|
1365
1372
|
* Utility method to convert a value between denominations, formats and currencies.
|
|
1366
1373
|
*/
|
|
@@ -1434,6 +1441,101 @@ const conversionUtil = (value, _ref2) => {
|
|
|
1434
1441
|
value
|
|
1435
1442
|
});
|
|
1436
1443
|
};
|
|
1444
|
+
const getBigNumber = (value, base) => {
|
|
1445
|
+
if (!isValidBase(base)) {
|
|
1446
|
+
throw new Error("Must specificy valid base");
|
|
1447
|
+
}
|
|
1448
|
+
|
|
1449
|
+
// We don't include 'number' here, because BigNumber will throw if passed
|
|
1450
|
+
// a number primitive it considers unsafe.
|
|
1451
|
+
if (typeof value === "string" || value instanceof BigNumber) {
|
|
1452
|
+
return new BigNumber(value, base);
|
|
1453
|
+
}
|
|
1454
|
+
return new BigNumber(String(value), base);
|
|
1455
|
+
};
|
|
1456
|
+
const addCurrencies = function (a, b) {
|
|
1457
|
+
let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
1458
|
+
const {
|
|
1459
|
+
aBase,
|
|
1460
|
+
bBase
|
|
1461
|
+
} = options,
|
|
1462
|
+
conversionOptions = _objectWithoutProperties(options, _excluded$1);
|
|
1463
|
+
if (!isValidBase(aBase) || !isValidBase(bBase)) {
|
|
1464
|
+
throw new Error("Must specify valid aBase and bBase");
|
|
1465
|
+
}
|
|
1466
|
+
const value = getBigNumber(a, aBase).plus(getBigNumber(b, bBase));
|
|
1467
|
+
return converter(_objectSpread({
|
|
1468
|
+
value
|
|
1469
|
+
}, conversionOptions));
|
|
1470
|
+
};
|
|
1471
|
+
const subtractCurrencies = function (a, b) {
|
|
1472
|
+
let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
1473
|
+
const {
|
|
1474
|
+
aBase,
|
|
1475
|
+
bBase
|
|
1476
|
+
} = options,
|
|
1477
|
+
conversionOptions = _objectWithoutProperties(options, _excluded2);
|
|
1478
|
+
if (!isValidBase(aBase) || !isValidBase(bBase)) {
|
|
1479
|
+
throw new Error("Must specify valid aBase and bBase");
|
|
1480
|
+
}
|
|
1481
|
+
const value = getBigNumber(a, aBase).minus(getBigNumber(b, bBase));
|
|
1482
|
+
return converter(_objectSpread({
|
|
1483
|
+
value
|
|
1484
|
+
}, conversionOptions));
|
|
1485
|
+
};
|
|
1486
|
+
const multiplyCurrencies = function (a, b) {
|
|
1487
|
+
let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
1488
|
+
const {
|
|
1489
|
+
multiplicandBase,
|
|
1490
|
+
multiplierBase
|
|
1491
|
+
} = options,
|
|
1492
|
+
conversionOptions = _objectWithoutProperties(options, _excluded3);
|
|
1493
|
+
if (!isValidBase(multiplicandBase) || !isValidBase(multiplierBase)) {
|
|
1494
|
+
throw new Error("Must specify valid multiplicandBase and multiplierBase");
|
|
1495
|
+
}
|
|
1496
|
+
const value = getBigNumber(a, multiplicandBase).times(getBigNumber(b, multiplierBase));
|
|
1497
|
+
return converter(_objectSpread({
|
|
1498
|
+
value
|
|
1499
|
+
}, conversionOptions));
|
|
1500
|
+
};
|
|
1501
|
+
const conversionGreaterThan = (_ref3, _ref4) => {
|
|
1502
|
+
let secondProps = Object.assign({}, (_objectDestructuringEmpty(_ref4), _ref4));
|
|
1503
|
+
let firstProps = Object.assign({}, (_objectDestructuringEmpty(_ref3), _ref3));
|
|
1504
|
+
const firstValue = converter(_objectSpread({}, firstProps));
|
|
1505
|
+
const secondValue = converter(_objectSpread({}, secondProps));
|
|
1506
|
+
return firstValue.gt(secondValue);
|
|
1507
|
+
};
|
|
1508
|
+
const conversionLessThan = (_ref5, _ref6) => {
|
|
1509
|
+
let secondProps = Object.assign({}, (_objectDestructuringEmpty(_ref6), _ref6));
|
|
1510
|
+
let firstProps = Object.assign({}, (_objectDestructuringEmpty(_ref5), _ref5));
|
|
1511
|
+
const firstValue = converter(_objectSpread({}, firstProps));
|
|
1512
|
+
const secondValue = converter(_objectSpread({}, secondProps));
|
|
1513
|
+
return firstValue.lt(secondValue);
|
|
1514
|
+
};
|
|
1515
|
+
const conversionMax = (_ref7, _ref8) => {
|
|
1516
|
+
let secondProps = Object.assign({}, (_objectDestructuringEmpty(_ref8), _ref8));
|
|
1517
|
+
let firstProps = Object.assign({}, (_objectDestructuringEmpty(_ref7), _ref7));
|
|
1518
|
+
const firstIsGreater = conversionGreaterThan(_objectSpread({}, firstProps), _objectSpread({}, secondProps));
|
|
1519
|
+
return firstIsGreater ? firstProps.value : secondProps.value;
|
|
1520
|
+
};
|
|
1521
|
+
const conversionGTE = (_ref9, _ref10) => {
|
|
1522
|
+
let secondProps = Object.assign({}, (_objectDestructuringEmpty(_ref10), _ref10));
|
|
1523
|
+
let firstProps = Object.assign({}, (_objectDestructuringEmpty(_ref9), _ref9));
|
|
1524
|
+
const firstValue = converter(_objectSpread({}, firstProps));
|
|
1525
|
+
const secondValue = converter(_objectSpread({}, secondProps));
|
|
1526
|
+
return firstValue.isGreaterThanOrEqualTo(secondValue);
|
|
1527
|
+
};
|
|
1528
|
+
const conversionLTE = (_ref11, _ref12) => {
|
|
1529
|
+
let secondProps = Object.assign({}, (_objectDestructuringEmpty(_ref12), _ref12));
|
|
1530
|
+
let firstProps = Object.assign({}, (_objectDestructuringEmpty(_ref11), _ref11));
|
|
1531
|
+
const firstValue = converter(_objectSpread({}, firstProps));
|
|
1532
|
+
const secondValue = converter(_objectSpread({}, secondProps));
|
|
1533
|
+
return firstValue.isLessThanOrEqualTo(secondValue);
|
|
1534
|
+
};
|
|
1535
|
+
const toNegative = function (n) {
|
|
1536
|
+
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1537
|
+
return multiplyCurrencies(n, -1, options);
|
|
1538
|
+
};
|
|
1437
1539
|
const decGWEIToHexWEI = decGWEI => {
|
|
1438
1540
|
return conversionUtil(decGWEI, {
|
|
1439
1541
|
fromNumericBase: "dec",
|
|
@@ -5906,7 +6008,7 @@ class TransactionController extends TransactionStateManager {
|
|
|
5906
6008
|
category,
|
|
5907
6009
|
methodParams
|
|
5908
6010
|
} = await determineTransactionType(txParameters, this.provider);
|
|
5909
|
-
txMeta.
|
|
6011
|
+
txMeta.contractType = type;
|
|
5910
6012
|
txMeta.transactionCategory = category;
|
|
5911
6013
|
txMeta.methodParams = methodParams;
|
|
5912
6014
|
txMeta.transaction.value = txMeta.transaction.value ? addHexPrefix(txMeta.transaction.value) : "0x0";
|
|
@@ -6008,5 +6110,5 @@ class TransactionController extends TransactionStateManager {
|
|
|
6008
6110
|
}
|
|
6009
6111
|
}
|
|
6010
6112
|
|
|
6011
|
-
export { ARBITRUM_MAINNET_CHAIN_ID, ARBITRUM_TESTNET_CHAIN_ID, AVALANCHE_MAINNET_CHAIN_ID, AVALANCHE_TESTNET_CHAIN_ID, AccountTrackerController, AddChainController, 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, CurrencyController, DEFAULT_CURRENCY, DecryptMessageController, ERC1155_INTERFACE_ID, ERC721_ENUMERABLE_INTERFACE_ID, ERC721_INTERFACE_ID, ERC721_METADATA_INTERFACE_ID, ETHERSCAN_SUPPORTED_CHAINS, EncryptionPublicKeyController, GAS_ESTIMATE_TYPES, GAS_LIMITS, GasFeeController, KeyringController, LOCALHOST, MAINNET_CHAIN_ID, MESSAGE_EVENTS, METHOD_TYPES, MessageController, MessageStatus, NetworkController, NftHandler, NftsController, NonceTracker, OLD_ERC721_LIST, OPTIMISM_MAINNET_CHAIN_ID, OPTIMISM_TESTNET_CHAIN_ID, POLYGON_CHAIN_ID, POLYGON_MUMBAI_CHAIN_ID, PendingTransactionTracker, PersonalMessageController, PollingBlockTracker, PreferencesController, SEPOLIA_CHAIN_ID, SIMPLEHASH_SUPPORTED_CHAINS, SUPPORTED_NETWORKS, SwitchChainController, TEST_CHAINS, TRANSACTION_ENVELOPE_TYPES, TokenHandler, TokenRatesController, TokensController, TransactionController, TransactionGasUtil, TransactionStateManager, TypedMessageController, XDAI_CHAIN_ID, bnLessThan, createChainIdMiddleware, createEthereumMiddleware, createGetAccountsMiddleware, createJsonRpcClient, createPendingNonceMiddleware, createPendingTxMiddleware, createProcessAddEthereumChain, createProcessDecryptMessageMiddleware, createProcessEncryptionPublicKeyMiddleware, createProcessEthSignMessage, createProcessPersonalMessage, createProcessSwitchEthereumChain, createProcessTransactionMiddleware, createProcessTypedMessage, createProcessTypedMessageV3, createProcessTypedMessageV4, createProviderConfigMiddleware, createRequestAccountsMiddleware, determineTransactionType, ensureFieldIsString, ensureMutuallyExclusiveFieldsNotProvided, erc1155Abi, erc20Abi, erc721Abi, formatDate, formatPastTx, formatTime, formatTxMetaForRpcResult, generateHistoryEntry, getChainType, getEthTxStatus, getEtherScanHashLink, getFinalStates, getIpfsEndpoint, idleTimeTracker, isAddressByChainId, isEIP1559Transaction, isLegacyTransaction, normalizeAndValidateTxParams, normalizeMessageData, normalizeTxParameters, parseDecryptMessageData, parseStandardTokenTransactionData, readAddressAsContract, replayHistory, sanitizeNftMetdataUrl, singleBalanceCheckerAbi, snapshotFromTxMeta, toChecksumAddressByChainId, transactionMatchesNetwork, validateAddChainData, validateAddress, validateDecryptedMessageData, validateEncryptionPublicKeyMessageData, validateFrom, validateRecipient, validateSignMessageData, validateSwitchChainData, validateTxParameters, validateTypedSignMessageDataV1, validateTypedSignMessageDataV3V4 };
|
|
6113
|
+
export { ARBITRUM_MAINNET_CHAIN_ID, ARBITRUM_TESTNET_CHAIN_ID, AVALANCHE_MAINNET_CHAIN_ID, AVALANCHE_TESTNET_CHAIN_ID, AccountTrackerController, AddChainController, 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, CurrencyController, DEFAULT_CURRENCY, DecryptMessageController, ERC1155_INTERFACE_ID, ERC721_ENUMERABLE_INTERFACE_ID, ERC721_INTERFACE_ID, ERC721_METADATA_INTERFACE_ID, ETHERSCAN_SUPPORTED_CHAINS, EncryptionPublicKeyController, GAS_ESTIMATE_TYPES, GAS_LIMITS, GasFeeController, KeyringController, LOCALHOST, MAINNET_CHAIN_ID, MESSAGE_EVENTS, METHOD_TYPES, MessageController, MessageStatus, NetworkController, NftHandler, NftsController, NonceTracker, OLD_ERC721_LIST, OPTIMISM_MAINNET_CHAIN_ID, OPTIMISM_TESTNET_CHAIN_ID, POLYGON_CHAIN_ID, POLYGON_MUMBAI_CHAIN_ID, PendingTransactionTracker, PersonalMessageController, PollingBlockTracker, PreferencesController, SEPOLIA_CHAIN_ID, SIMPLEHASH_SUPPORTED_CHAINS, SUPPORTED_NETWORKS, SwitchChainController, TEST_CHAINS, TRANSACTION_ENVELOPE_TYPES, TokenHandler, TokenRatesController, TokensController, TransactionController, TransactionGasUtil, TransactionStateManager, TypedMessageController, XDAI_CHAIN_ID, addCurrencies, bnLessThan, conversionGTE, conversionGreaterThan, conversionLTE, conversionLessThan, conversionMax, conversionUtil, createChainIdMiddleware, createEthereumMiddleware, createGetAccountsMiddleware, createJsonRpcClient, createPendingNonceMiddleware, createPendingTxMiddleware, createProcessAddEthereumChain, createProcessDecryptMessageMiddleware, createProcessEncryptionPublicKeyMiddleware, createProcessEthSignMessage, createProcessPersonalMessage, createProcessSwitchEthereumChain, createProcessTransactionMiddleware, createProcessTypedMessage, createProcessTypedMessageV3, createProcessTypedMessageV4, createProviderConfigMiddleware, createRequestAccountsMiddleware, decGWEIToHexWEI, determineTransactionType, ensureFieldIsString, ensureMutuallyExclusiveFieldsNotProvided, erc1155Abi, erc20Abi, erc721Abi, formatDate, formatPastTx, formatTime, formatTxMetaForRpcResult, generateHistoryEntry, getBigNumber, getChainType, getEthTxStatus, getEtherScanHashLink, getFinalStates, getIpfsEndpoint, hexWEIToDecGWEI, idleTimeTracker, isAddressByChainId, isEIP1559Transaction, isLegacyTransaction, multiplyCurrencies, normalizeAndValidateTxParams, normalizeMessageData, normalizeTxParameters, parseDecryptMessageData, parseStandardTokenTransactionData, readAddressAsContract, replayHistory, sanitizeNftMetdataUrl, singleBalanceCheckerAbi, snapshotFromTxMeta, subtractCurrencies, toChecksumAddressByChainId, toNegative, transactionMatchesNetwork, validateAddChainData, validateAddress, validateDecryptedMessageData, validateEncryptionPublicKeyMessageData, validateFrom, validateRecipient, validateSignMessageData, validateSwitchChainData, validateTxParameters, validateTypedSignMessageDataV1, validateTypedSignMessageDataV3V4 };
|
|
6012
6114
|
//# sourceMappingURL=ethereumControllers.esm.js.map
|