@toruslabs/ethereum-controllers 4.2.0 → 4.4.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.cjs.js +22 -24
- package/dist/ethereumControllers.cjs.js.map +1 -1
- package/dist/ethereumControllers.esm.js +22 -25
- 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/Message/AbstractMessageController.d.ts +1 -1
- package/dist/types/Nfts/NftsController.d.ts +1 -4
- package/dist/types/Preferences/PreferencesController.d.ts +1 -1
- package/dist/types/Tokens/TokensController.d.ts +1 -3
- package/dist/types/utils/constants.d.ts +3 -0
- package/package.json +3 -3
- package/src/Message/AbstractMessageController.ts +2 -2
- package/src/Message/DecryptMessageController.ts +3 -5
- package/src/Message/EncryptionPublicKeyController.ts +3 -5
- package/src/Message/MessageController.ts +3 -3
- package/src/Message/PersonalMessageController.ts +4 -4
- package/src/Message/TypedMessageController.ts +3 -3
- package/src/Nfts/NftsController.ts +3 -17
- package/src/Preferences/PreferencesController.ts +1 -1
- package/src/Tokens/TokensController.ts +2 -7
- package/src/Transaction/TransactionStateManager.ts +1 -1
- package/src/utils/constants.ts +4 -0
|
@@ -794,6 +794,9 @@ const MessageStatus = {
|
|
|
794
794
|
REJECTED: "rejected",
|
|
795
795
|
FAILED: "failed"
|
|
796
796
|
};
|
|
797
|
+
const MESSAGE_EVENTS = {
|
|
798
|
+
UNAPPROVED_MESSAGE: "unapprovedMessage"
|
|
799
|
+
};
|
|
797
800
|
|
|
798
801
|
const SINGLE_CALL_BALANCES_ADDRESSES = {
|
|
799
802
|
[MAINNET_CHAIN_ID]: "0xb1f8e55c7f64d203c1400b9d8555d050f94adf39",
|
|
@@ -1876,8 +1879,8 @@ class AbstractMessageController extends BaseController {
|
|
|
1876
1879
|
this.messages.push(message);
|
|
1877
1880
|
this.saveMessageList();
|
|
1878
1881
|
}
|
|
1879
|
-
approveMessage(messageParams) {
|
|
1880
|
-
this.setMessageStatus(
|
|
1882
|
+
approveMessage(messageId, messageParams) {
|
|
1883
|
+
this.setMessageStatus(messageId, MessageStatus.APPROVED);
|
|
1881
1884
|
return this.prepMessageForSigning(messageParams);
|
|
1882
1885
|
}
|
|
1883
1886
|
setMessageStatus(messageId, status) {
|
|
@@ -2040,7 +2043,7 @@ class DecryptMessageController extends AbstractMessageController {
|
|
|
2040
2043
|
async processDecryptMessage(messageId) {
|
|
2041
2044
|
try {
|
|
2042
2045
|
const msgObject = this.getMessage(messageId);
|
|
2043
|
-
const cleanMsgParams = await this.approveMessage(msgObject.messageParams);
|
|
2046
|
+
const cleanMsgParams = await this.approveMessage(messageId, msgObject.messageParams);
|
|
2044
2047
|
const parsedData = parseDecryptMessageData(cleanMsgParams.data);
|
|
2045
2048
|
const rawSig = this.decryptMessage(parsedData, cleanMsgParams.from);
|
|
2046
2049
|
this.updateMessage(_objectSpread(_objectSpread({}, msgObject), {}, {
|
|
@@ -2072,7 +2075,7 @@ class DecryptMessageController extends AbstractMessageController {
|
|
|
2072
2075
|
type: METHOD_TYPES.ETH_DECRYPT
|
|
2073
2076
|
};
|
|
2074
2077
|
await this.addMessage(messageData);
|
|
2075
|
-
this.emit(
|
|
2078
|
+
this.emit(MESSAGE_EVENTS.UNAPPROVED_MESSAGE, messageData);
|
|
2076
2079
|
return messageId;
|
|
2077
2080
|
}
|
|
2078
2081
|
prepMessageForSigning(messageParams) {
|
|
@@ -2101,7 +2104,7 @@ class EncryptionPublicKeyController extends AbstractMessageController {
|
|
|
2101
2104
|
async processGetEncryptionPublicKey(messageId) {
|
|
2102
2105
|
try {
|
|
2103
2106
|
const msgObject = this.getMessage(messageId);
|
|
2104
|
-
const cleanMsgParams = await this.approveMessage(msgObject.messageParams);
|
|
2107
|
+
const cleanMsgParams = await this.approveMessage(messageId, msgObject.messageParams);
|
|
2105
2108
|
const publicKey = this.signEncryptionPublicKey(cleanMsgParams.from);
|
|
2106
2109
|
this.updateMessage(_objectSpread(_objectSpread({}, msgObject), {}, {
|
|
2107
2110
|
rawSig: publicKey
|
|
@@ -2131,7 +2134,7 @@ class EncryptionPublicKeyController extends AbstractMessageController {
|
|
|
2131
2134
|
type: METHOD_TYPES.ETH_GET_ENCRYPTION_PUBLIC_KEY
|
|
2132
2135
|
};
|
|
2133
2136
|
await this.addMessage(messageData);
|
|
2134
|
-
this.emit(
|
|
2137
|
+
this.emit(MESSAGE_EVENTS.UNAPPROVED_MESSAGE, messageData);
|
|
2135
2138
|
return messageId;
|
|
2136
2139
|
}
|
|
2137
2140
|
prepMessageForSigning(messageParams) {
|
|
@@ -2163,7 +2166,7 @@ class MessageController extends AbstractMessageController {
|
|
|
2163
2166
|
async processSignMessage(messageId) {
|
|
2164
2167
|
try {
|
|
2165
2168
|
const msgObject = this.getMessage(messageId);
|
|
2166
|
-
const cleanMsgParams = await this.approveMessage(msgObject.messageParams);
|
|
2169
|
+
const cleanMsgParams = await this.approveMessage(messageId, msgObject.messageParams);
|
|
2167
2170
|
const rawSig = this.signMessage(cleanMsgParams.data, cleanMsgParams.from);
|
|
2168
2171
|
this.updateMessage(_objectSpread(_objectSpread({}, msgObject), {}, {
|
|
2169
2172
|
rawSig
|
|
@@ -2194,7 +2197,7 @@ class MessageController extends AbstractMessageController {
|
|
|
2194
2197
|
type: METHOD_TYPES.ETH_SIGN
|
|
2195
2198
|
};
|
|
2196
2199
|
await this.addMessage(messageData);
|
|
2197
|
-
this.emit(
|
|
2200
|
+
this.emit(MESSAGE_EVENTS.UNAPPROVED_MESSAGE, messageData);
|
|
2198
2201
|
return messageId;
|
|
2199
2202
|
}
|
|
2200
2203
|
prepMessageForSigning(messageParams) {
|
|
@@ -2223,7 +2226,7 @@ class PersonalMessageController extends AbstractMessageController {
|
|
|
2223
2226
|
async processPersonalSignMessage(messageId) {
|
|
2224
2227
|
try {
|
|
2225
2228
|
const msgObject = this.getMessage(messageId);
|
|
2226
|
-
const cleanMsgParams = await this.approveMessage(msgObject.messageParams);
|
|
2229
|
+
const cleanMsgParams = await this.approveMessage(messageId, msgObject.messageParams);
|
|
2227
2230
|
const rawSig = await this.signPersonalMessage(cleanMsgParams.data, cleanMsgParams.from);
|
|
2228
2231
|
this.updateMessage(_objectSpread(_objectSpread({}, msgObject), {}, {
|
|
2229
2232
|
rawSig
|
|
@@ -2245,7 +2248,7 @@ class PersonalMessageController extends AbstractMessageController {
|
|
|
2245
2248
|
messageParams.origin = req.origin;
|
|
2246
2249
|
}
|
|
2247
2250
|
messageParams.data = normalizeMessageData(messageParams.data);
|
|
2248
|
-
const messageId = randomId();
|
|
2251
|
+
const messageId = messageParams.id || randomId();
|
|
2249
2252
|
const messageData = {
|
|
2250
2253
|
id: messageId,
|
|
2251
2254
|
messageParams,
|
|
@@ -2254,7 +2257,7 @@ class PersonalMessageController extends AbstractMessageController {
|
|
|
2254
2257
|
type: METHOD_TYPES.PERSONAL_SIGN
|
|
2255
2258
|
};
|
|
2256
2259
|
await this.addMessage(messageData);
|
|
2257
|
-
this.emit(
|
|
2260
|
+
this.emit(MESSAGE_EVENTS.UNAPPROVED_MESSAGE, messageData);
|
|
2258
2261
|
return messageId;
|
|
2259
2262
|
}
|
|
2260
2263
|
prepMessageForSigning(messageParams) {
|
|
@@ -2295,7 +2298,7 @@ class TypedMessageController extends AbstractMessageController {
|
|
|
2295
2298
|
async processPersonalSignMessage(messageId) {
|
|
2296
2299
|
try {
|
|
2297
2300
|
const msgObject = this.getMessage(messageId);
|
|
2298
|
-
const cleanMsgParams = await this.approveMessage(msgObject.messageParams);
|
|
2301
|
+
const cleanMsgParams = await this.approveMessage(messageId, msgObject.messageParams);
|
|
2299
2302
|
const rawSig = await this.signTypedData(cleanMsgParams.data, cleanMsgParams.from, cleanMsgParams.version);
|
|
2300
2303
|
this.updateMessage(_objectSpread(_objectSpread({}, msgObject), {}, {
|
|
2301
2304
|
rawSig
|
|
@@ -2335,7 +2338,7 @@ class TypedMessageController extends AbstractMessageController {
|
|
|
2335
2338
|
type: getMessageType(version)
|
|
2336
2339
|
};
|
|
2337
2340
|
await this.addMessage(messageData);
|
|
2338
|
-
this.emit(
|
|
2341
|
+
this.emit(MESSAGE_EVENTS.UNAPPROVED_MESSAGE, messageData);
|
|
2339
2342
|
return messageId;
|
|
2340
2343
|
}
|
|
2341
2344
|
prepMessageForSigning(messageParams) {
|
|
@@ -3028,7 +3031,6 @@ class NftsController extends BaseController {
|
|
|
3028
3031
|
config,
|
|
3029
3032
|
state,
|
|
3030
3033
|
provider,
|
|
3031
|
-
getNetworkIdentifier,
|
|
3032
3034
|
getCustomNfts,
|
|
3033
3035
|
getSimpleHashNfts,
|
|
3034
3036
|
onPreferencesStateChange,
|
|
@@ -3042,12 +3044,10 @@ class NftsController extends BaseController {
|
|
|
3042
3044
|
_defineProperty(this, "provider", void 0);
|
|
3043
3045
|
_defineProperty(this, "ethersProvider", void 0);
|
|
3044
3046
|
_defineProperty(this, "_timer", void 0);
|
|
3045
|
-
_defineProperty(this, "getNetworkIdentifier", void 0);
|
|
3046
3047
|
_defineProperty(this, "getCustomNfts", void 0);
|
|
3047
3048
|
_defineProperty(this, "getSimpleHashNfts", void 0);
|
|
3048
3049
|
this.provider = provider;
|
|
3049
3050
|
this.ethersProvider = new BrowserProvider(this.provider, "any");
|
|
3050
|
-
this.getNetworkIdentifier = getNetworkIdentifier;
|
|
3051
3051
|
this.getCustomNfts = getCustomNfts;
|
|
3052
3052
|
this.getSimpleHashNfts = getSimpleHashNfts;
|
|
3053
3053
|
this.defaultConfig = {
|
|
@@ -3125,7 +3125,7 @@ class NftsController extends BaseController {
|
|
|
3125
3125
|
detectNewNfts() {
|
|
3126
3126
|
const userAddress = this.userSelectedAddress;
|
|
3127
3127
|
if (!userAddress) return;
|
|
3128
|
-
const currentChainId = this.
|
|
3128
|
+
const currentChainId = this.config.chainId;
|
|
3129
3129
|
const nftsToDetect = []; // object[]
|
|
3130
3130
|
if (!currentChainId) {
|
|
3131
3131
|
this.update({
|
|
@@ -3180,7 +3180,7 @@ class NftsController extends BaseController {
|
|
|
3180
3180
|
const oldNfts = [...this.userNfts];
|
|
3181
3181
|
const nonZeroNfts = [];
|
|
3182
3182
|
try {
|
|
3183
|
-
const currentChainId = this.
|
|
3183
|
+
const currentChainId = this.config.chainId;
|
|
3184
3184
|
if (SIMPLEHASH_SUPPORTED_CHAINS.includes(currentChainId)) {
|
|
3185
3185
|
const simpleHashBalances = await this.getSimpleHashNfts(userAddress, currentChainId);
|
|
3186
3186
|
nonZeroNfts.push(...simpleHashBalances);
|
|
@@ -3785,7 +3785,6 @@ class TokensController extends BaseController {
|
|
|
3785
3785
|
config,
|
|
3786
3786
|
state,
|
|
3787
3787
|
provider,
|
|
3788
|
-
getNetworkIdentifier,
|
|
3789
3788
|
getCustomTokens,
|
|
3790
3789
|
getEtherScanTokens,
|
|
3791
3790
|
getProviderConfig,
|
|
@@ -3800,13 +3799,11 @@ class TokensController extends BaseController {
|
|
|
3800
3799
|
_defineProperty(this, "provider", void 0);
|
|
3801
3800
|
_defineProperty(this, "ethersProvider", void 0);
|
|
3802
3801
|
_defineProperty(this, "_timer", void 0);
|
|
3803
|
-
_defineProperty(this, "getNetworkIdentifier", void 0);
|
|
3804
3802
|
_defineProperty(this, "getProviderConfig", void 0);
|
|
3805
3803
|
_defineProperty(this, "getCustomTokens", void 0);
|
|
3806
3804
|
_defineProperty(this, "getEtherScanTokens", void 0);
|
|
3807
3805
|
this.provider = provider;
|
|
3808
3806
|
this.ethersProvider = new BrowserProvider(this.provider, "any");
|
|
3809
|
-
this.getNetworkIdentifier = getNetworkIdentifier;
|
|
3810
3807
|
this.getCustomTokens = getCustomTokens;
|
|
3811
3808
|
this.getEtherScanTokens = getEtherScanTokens;
|
|
3812
3809
|
this.getProviderConfig = getProviderConfig;
|
|
@@ -3885,7 +3882,7 @@ class TokensController extends BaseController {
|
|
|
3885
3882
|
detectNewTokens() {
|
|
3886
3883
|
const userAddress = this.userSelectedAddress;
|
|
3887
3884
|
if (!userAddress) return;
|
|
3888
|
-
const currentChainId = this.
|
|
3885
|
+
const currentChainId = this.config.chainId;
|
|
3889
3886
|
const tokens = []; // object[]
|
|
3890
3887
|
if (!currentChainId) {
|
|
3891
3888
|
this.update({
|
|
@@ -3937,7 +3934,7 @@ class TokensController extends BaseController {
|
|
|
3937
3934
|
const tokenAddresses = oldTokens.map(x => x.tokenAddress);
|
|
3938
3935
|
const nonZeroTokens = [];
|
|
3939
3936
|
try {
|
|
3940
|
-
const currentChainId = this.
|
|
3937
|
+
const currentChainId = this.config.chainId;
|
|
3941
3938
|
if (ETHERSCAN_SUPPORTED_CHAINS.includes(currentChainId)) {
|
|
3942
3939
|
const etherscanBalances = await this.getEtherScanTokens(userAddress, currentChainId);
|
|
3943
3940
|
nonZeroTokens.push(...etherscanBalances);
|
|
@@ -4842,7 +4839,7 @@ class TransactionStateManager extends BaseTransactionStateManager {
|
|
|
4842
4839
|
}
|
|
4843
4840
|
}
|
|
4844
4841
|
return _objectSpread({
|
|
4845
|
-
id: randomId(),
|
|
4842
|
+
id: opts.transaction.id || randomId(),
|
|
4846
4843
|
time: Date.now(),
|
|
4847
4844
|
status: TransactionStatus.unapproved,
|
|
4848
4845
|
loadingDefaults: true,
|
|
@@ -5581,5 +5578,5 @@ class TransactionController extends TransactionStateManager {
|
|
|
5581
5578
|
}
|
|
5582
5579
|
}
|
|
5583
5580
|
|
|
5584
|
-
export { ARBITRUM_MAINNET_CHAIN_ID, ARBITRUM_TESTNET_CHAIN_ID, AVALANCHE_MAINNET_CHAIN_ID, AVALANCHE_TESTNET_CHAIN_ID, AccountTrackerController, 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, GOERLI_CHAIN_ID, GasFeeController, KeyringController, LOCALHOST, MAINNET_CHAIN_ID, 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, TEST_CHAINS, TRANSACTION_ENVELOPE_TYPES, TokenHandler, TokenRatesController, TokensController, TransactionController, TransactionGasUtil, TransactionStateManager, TypedMessageController, XDAI_CHAIN_ID, bnLessThan, createChainIdMiddleware, createEthereumMiddleware, createGetAccountsMiddleware, createJsonRpcClient, createPendingNonceMiddleware, createPendingTxMiddleware, createProcessDecryptMessageMiddleware, createProcessEncryptionPublicKeyMiddleware, createProcessEthSignMessage, createProcessPersonalMessage, createProcessTransactionMiddleware, createProcessTypedMessage, createProcessTypedMessageV3, createProcessTypedMessageV4, createProviderConfigMiddleware, createRequestAccountsMiddleware, determineTransactionType, ensureFieldIsString, ensureMutuallyExclusiveFieldsNotProvided, formatDate, formatPastTx, formatTime, formatTxMetaForRpcResult, generateHistoryEntry, getChainType, getEthTxStatus, getEtherScanHashLink, getFinalStates, getIpfsEndpoint, idleTimeTracker, isAddressByChainId, isEIP1559Transaction, isLegacyTransaction, normalizeAndValidateTxParams, normalizeMessageData, normalizeTxParameters, parseDecryptMessageData, parseStandardTokenTransactionData, readAddressAsContract, replayHistory, sanitizeNftMetdataUrl, snapshotFromTxMeta, toChecksumAddressByChainId, transactionMatchesNetwork, validateAddress, validateDecryptedMessageData, validateEncryptionPublicKeyMessageData, validateFrom, validateRecipient, validateSignMessageData, validateTxParameters, validateTypedSignMessageDataV1, validateTypedSignMessageDataV3V4 };
|
|
5581
|
+
export { ARBITRUM_MAINNET_CHAIN_ID, ARBITRUM_TESTNET_CHAIN_ID, AVALANCHE_MAINNET_CHAIN_ID, AVALANCHE_TESTNET_CHAIN_ID, AccountTrackerController, 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, GOERLI_CHAIN_ID, 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, TEST_CHAINS, TRANSACTION_ENVELOPE_TYPES, TokenHandler, TokenRatesController, TokensController, TransactionController, TransactionGasUtil, TransactionStateManager, TypedMessageController, XDAI_CHAIN_ID, bnLessThan, createChainIdMiddleware, createEthereumMiddleware, createGetAccountsMiddleware, createJsonRpcClient, createPendingNonceMiddleware, createPendingTxMiddleware, createProcessDecryptMessageMiddleware, createProcessEncryptionPublicKeyMiddleware, createProcessEthSignMessage, createProcessPersonalMessage, createProcessTransactionMiddleware, createProcessTypedMessage, createProcessTypedMessageV3, createProcessTypedMessageV4, createProviderConfigMiddleware, createRequestAccountsMiddleware, determineTransactionType, ensureFieldIsString, ensureMutuallyExclusiveFieldsNotProvided, formatDate, formatPastTx, formatTime, formatTxMetaForRpcResult, generateHistoryEntry, getChainType, getEthTxStatus, getEtherScanHashLink, getFinalStates, getIpfsEndpoint, idleTimeTracker, isAddressByChainId, isEIP1559Transaction, isLegacyTransaction, normalizeAndValidateTxParams, normalizeMessageData, normalizeTxParameters, parseDecryptMessageData, parseStandardTokenTransactionData, readAddressAsContract, replayHistory, sanitizeNftMetdataUrl, snapshotFromTxMeta, toChecksumAddressByChainId, transactionMatchesNetwork, validateAddress, validateDecryptedMessageData, validateEncryptionPublicKeyMessageData, validateFrom, validateRecipient, validateSignMessageData, validateTxParameters, validateTypedSignMessageDataV1, validateTypedSignMessageDataV3V4 };
|
|
5585
5582
|
//# sourceMappingURL=ethereumControllers.esm.js.map
|