@toruslabs/ethereum-controllers 5.11.0 → 6.0.1
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 +80 -431
- package/dist/ethereumControllers.esm.js +30 -349
- package/dist/ethereumControllers.umd.min.js +1 -1
- package/dist/ethereumControllers.umd.min.js.LICENSE.txt +7 -2
- package/dist/lib.cjs/Account/AccountTrackerController.js +160 -0
- package/dist/lib.cjs/Block/PollingBlockTracker.js +85 -0
- package/dist/lib.cjs/Currency/CurrencyController.js +111 -0
- package/dist/lib.cjs/Gas/GasFeeController.js +214 -0
- package/dist/lib.cjs/Gas/gasUtil.js +148 -0
- package/dist/lib.cjs/Keyring/KeyringController.js +93 -0
- package/dist/lib.cjs/Message/AbstractMessageController.js +107 -0
- package/dist/lib.cjs/Message/AddChainController.js +78 -0
- package/dist/lib.cjs/Message/MessageController.js +77 -0
- package/dist/lib.cjs/Message/PersonalMessageController.js +77 -0
- package/dist/lib.cjs/Message/SwitchChainController.js +78 -0
- package/dist/lib.cjs/Message/TypedMessageController.js +81 -0
- package/dist/lib.cjs/Message/utils.js +112 -0
- package/dist/lib.cjs/Network/NetworkController.js +201 -0
- package/dist/lib.cjs/Network/cacheIdentifier.js +112 -0
- package/dist/lib.cjs/Network/createEthereumMiddleware.js +302 -0
- package/dist/lib.cjs/Network/createJsonRpcClient.js +64 -0
- package/dist/lib.cjs/Nfts/NftHandler.js +180 -0
- package/dist/lib.cjs/Nfts/NftsController.js +213 -0
- package/dist/lib.cjs/Preferences/PreferencesController.js +476 -0
- package/dist/lib.cjs/Tokens/TokenHandler.js +51 -0
- package/dist/lib.cjs/Tokens/TokenRatesController.js +112 -0
- package/dist/lib.cjs/Tokens/TokensController.js +259 -0
- package/dist/lib.cjs/Transaction/NonceTracker.js +150 -0
- package/dist/lib.cjs/Transaction/PendingTransactionTracker.js +222 -0
- package/dist/lib.cjs/Transaction/TransactionController.js +515 -0
- package/dist/lib.cjs/Transaction/TransactionGasUtil.js +81 -0
- package/dist/lib.cjs/Transaction/TransactionStateHistoryHelper.js +42 -0
- package/dist/lib.cjs/Transaction/TransactionStateManager.js +296 -0
- package/dist/lib.cjs/Transaction/TransactionUtils.js +341 -0
- package/dist/lib.cjs/index.js +171 -0
- package/dist/lib.cjs/utils/abis.js +510 -0
- package/dist/lib.cjs/utils/constants.js +362 -0
- package/dist/lib.cjs/utils/contractAddresses.js +16 -0
- package/dist/lib.cjs/utils/conversionUtils.js +232 -0
- package/dist/lib.cjs/utils/helpers.js +244 -0
- package/dist/lib.cjs/utils/lodashUtils.js +25 -0
- package/dist/lib.esm/Account/AccountTrackerController.js +158 -0
- package/dist/lib.esm/Block/PollingBlockTracker.js +83 -0
- package/dist/lib.esm/Currency/CurrencyController.js +109 -0
- package/dist/lib.esm/Gas/GasFeeController.js +212 -0
- package/dist/lib.esm/Gas/gasUtil.js +141 -0
- package/dist/lib.esm/Keyring/KeyringController.js +91 -0
- package/dist/lib.esm/Message/AbstractMessageController.js +105 -0
- package/dist/lib.esm/Message/AddChainController.js +76 -0
- package/dist/lib.esm/Message/MessageController.js +75 -0
- package/dist/lib.esm/Message/PersonalMessageController.js +75 -0
- package/dist/lib.esm/Message/SwitchChainController.js +76 -0
- package/dist/lib.esm/Message/TypedMessageController.js +79 -0
- package/dist/lib.esm/Message/utils.js +105 -0
- package/dist/lib.esm/Network/NetworkController.js +199 -0
- package/dist/lib.esm/Network/cacheIdentifier.js +107 -0
- package/dist/lib.esm/Network/createEthereumMiddleware.js +289 -0
- package/dist/lib.esm/Network/createJsonRpcClient.js +60 -0
- package/dist/lib.esm/Nfts/NftHandler.js +178 -0
- package/dist/lib.esm/Nfts/NftsController.js +211 -0
- package/dist/lib.esm/Preferences/PreferencesController.js +474 -0
- package/dist/lib.esm/Tokens/TokenHandler.js +49 -0
- package/dist/lib.esm/Tokens/TokenRatesController.js +109 -0
- package/dist/lib.esm/Tokens/TokensController.js +257 -0
- package/dist/lib.esm/Transaction/NonceTracker.js +148 -0
- package/dist/lib.esm/Transaction/PendingTransactionTracker.js +220 -0
- package/dist/lib.esm/Transaction/TransactionController.js +513 -0
- package/dist/lib.esm/Transaction/TransactionGasUtil.js +79 -0
- package/dist/lib.esm/Transaction/TransactionStateHistoryHelper.js +38 -0
- package/dist/lib.esm/Transaction/TransactionStateManager.js +294 -0
- package/dist/lib.esm/Transaction/TransactionUtils.js +326 -0
- package/dist/lib.esm/index.js +33 -0
- package/dist/lib.esm/utils/abis.js +505 -0
- package/dist/lib.esm/utils/constants.js +323 -0
- package/dist/lib.esm/utils/contractAddresses.js +14 -0
- package/dist/lib.esm/utils/conversionUtils.js +218 -0
- package/dist/lib.esm/utils/helpers.js +227 -0
- package/dist/lib.esm/utils/lodashUtils.js +21 -0
- package/dist/types/Account/AccountTrackerController.d.ts +5 -5
- package/dist/types/Block/PollingBlockTracker.d.ts +1 -2
- package/dist/types/Currency/CurrencyController.d.ts +1 -1
- package/dist/types/Gas/GasFeeController.d.ts +3 -3
- package/dist/types/Gas/gasUtil.d.ts +1 -1
- package/dist/types/Keyring/KeyringController.d.ts +3 -5
- package/dist/types/Message/AbstractMessageController.d.ts +5 -6
- package/dist/types/Message/AddChainController.d.ts +4 -4
- package/dist/types/Message/MessageController.d.ts +4 -4
- package/dist/types/Message/PersonalMessageController.d.ts +4 -4
- package/dist/types/Message/SwitchChainController.d.ts +4 -4
- package/dist/types/Message/TypedMessageController.d.ts +6 -7
- package/dist/types/Message/utils.d.ts +2 -7
- package/dist/types/Network/NetworkController.d.ts +4 -4
- package/dist/types/Network/cacheIdentifier.d.ts +1 -1
- package/dist/types/Network/createEthereumMiddleware.d.ts +2 -18
- package/dist/types/Network/createJsonRpcClient.d.ts +2 -2
- package/dist/types/Nfts/NftsController.d.ts +2 -2
- package/dist/types/Preferences/PreferencesController.d.ts +4 -4
- package/dist/types/Tokens/TokensController.d.ts +3 -3
- package/dist/types/Transaction/NonceTracker.d.ts +5 -5
- package/dist/types/Transaction/PendingTransactionTracker.d.ts +5 -5
- package/dist/types/Transaction/TransactionController.d.ts +12 -12
- package/dist/types/Transaction/TransactionGasUtil.d.ts +4 -4
- package/dist/types/Transaction/TransactionStateManager.d.ts +3 -3
- package/dist/types/Transaction/TransactionUtils.d.ts +1 -1
- package/dist/types/index.d.ts +12 -14
- package/dist/types/utils/constants.d.ts +1 -5
- package/dist/types/utils/helpers.d.ts +4 -4
- package/dist/types/utils/interfaces.d.ts +43 -23
- package/package.json +10 -9
- package/dist/types/Message/DecryptMessageController.d.ts +0 -20
- package/dist/types/Message/EncryptionPublicKeyController.d.ts +0 -20
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ITransactionController } from "@toruslabs/base-controllers";
|
|
2
|
-
import { SafeEventEmitter, SafeEventEmitterProvider } from "@
|
|
3
|
-
import { EthereumBlock, EthereumTransactionMeta } from "../utils/interfaces";
|
|
4
|
-
import NonceTracker from "./NonceTracker";
|
|
5
|
-
import TransactionStateManager from "./TransactionStateManager";
|
|
6
|
-
export
|
|
2
|
+
import { SafeEventEmitter, SafeEventEmitterProvider } from "@web3auth/auth";
|
|
3
|
+
import { EthereumBlock, EthereumTransactionMeta, PendingTransactionTrackerEvents } from "../utils/interfaces";
|
|
4
|
+
import { NonceTracker } from "./NonceTracker";
|
|
5
|
+
import { TransactionStateManager } from "./TransactionStateManager";
|
|
6
|
+
export declare class PendingTransactionTracker<S> extends SafeEventEmitter<PendingTransactionTrackerEvents<S>> {
|
|
7
7
|
DROPPED_BUFFER_COUNT: number;
|
|
8
8
|
private nonceTracker;
|
|
9
9
|
private provider;
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { ITransactionController, TransactionConfig, TransactionState, TX_CONFIRMED_EVENT_TYPE } from "@toruslabs/base-controllers";
|
|
2
|
-
import { JRPCRequest, SafeEventEmitterProvider } from "@
|
|
3
|
-
import PollingBlockTracker from "../Block/PollingBlockTracker";
|
|
4
|
-
import GasFeeController from "../Gas/GasFeeController";
|
|
5
|
-
import KeyringController from "../Keyring/KeyringController";
|
|
6
|
-
import NetworkController from "../Network/NetworkController";
|
|
7
|
-
import PreferencesController from "../Preferences/PreferencesController";
|
|
2
|
+
import { JRPCRequest, SafeEventEmitterProvider } from "@web3auth/auth";
|
|
3
|
+
import { PollingBlockTracker } from "../Block/PollingBlockTracker";
|
|
4
|
+
import { GasFeeController } from "../Gas/GasFeeController";
|
|
5
|
+
import { KeyringController } from "../Keyring/KeyringController";
|
|
6
|
+
import { NetworkController } from "../Network/NetworkController";
|
|
7
|
+
import { PreferencesController } from "../Preferences/PreferencesController";
|
|
8
8
|
import { EthereumTransactionMeta, TransactionParams, UserRequestApprovalParams } from "../utils/interfaces";
|
|
9
|
-
import NonceTracker from "./NonceTracker";
|
|
10
|
-
import PendingTransactionTracker from "./PendingTransactionTracker";
|
|
11
|
-
import TransactionGasUtil from "./TransactionGasUtil";
|
|
12
|
-
import TransactionStateManager from "./TransactionStateManager";
|
|
13
|
-
export
|
|
9
|
+
import { NonceTracker } from "./NonceTracker";
|
|
10
|
+
import { PendingTransactionTracker } from "./PendingTransactionTracker";
|
|
11
|
+
import { TransactionGasUtil } from "./TransactionGasUtil";
|
|
12
|
+
import { TransactionStateManager } from "./TransactionStateManager";
|
|
13
|
+
export declare class TransactionController extends TransactionStateManager implements ITransactionController<TransactionParams> {
|
|
14
14
|
getSelectedAddress: PreferencesController["getSelectedAddress"];
|
|
15
15
|
getEIP1559GasFeeEstimates: GasFeeController["fetchGasFeeEstimates"];
|
|
16
16
|
nonceTracker: NonceTracker;
|
|
17
|
-
pendingTxTracker: PendingTransactionTracker
|
|
17
|
+
pendingTxTracker: PendingTransactionTracker<TransactionState<TransactionParams, EthereumTransactionMeta>>;
|
|
18
18
|
txGasUtil: TransactionGasUtil;
|
|
19
19
|
private _getCurrentNetworkEIP1559Compatibility;
|
|
20
20
|
private _getCurrentAccountEIP1559Compatibility;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { SafeEventEmitterProvider } from "@
|
|
2
|
-
import PollingBlockTracker from "../Block/PollingBlockTracker";
|
|
1
|
+
import { SafeEventEmitterProvider } from "@web3auth/auth";
|
|
2
|
+
import { PollingBlockTracker } from "../Block/PollingBlockTracker";
|
|
3
3
|
import { EthereumTransactionMeta } from "../utils/interfaces";
|
|
4
|
-
export
|
|
4
|
+
export declare class TransactionGasUtil {
|
|
5
5
|
provider: SafeEventEmitterProvider;
|
|
6
6
|
blockTracker: PollingBlockTracker;
|
|
7
7
|
constructor(provider: SafeEventEmitterProvider, blockTracker: PollingBlockTracker);
|
|
8
8
|
analyzeGasUsage(txMeta: EthereumTransactionMeta): Promise<{
|
|
9
9
|
blockGasLimit: string;
|
|
10
|
-
estimatedGasHex: string
|
|
10
|
+
estimatedGasHex: `0x${string}`;
|
|
11
11
|
simulationFails: Record<string, unknown>;
|
|
12
12
|
}>;
|
|
13
13
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BaseTransactionStateManager, ITransactionStateManager, TransactionConfig, TransactionState, TransactionStatus } from "@toruslabs/base-controllers";
|
|
2
|
-
import NetworkController from "../Network/NetworkController";
|
|
3
|
-
import { EthereumTransactionMeta, TransactionParams } from "../utils/interfaces";
|
|
4
|
-
export
|
|
2
|
+
import { NetworkController } from "../Network/NetworkController";
|
|
3
|
+
import { EthereumTransactionEvents, EthereumTransactionMeta, TransactionParams } from "../utils/interfaces";
|
|
4
|
+
export declare class TransactionStateManager extends BaseTransactionStateManager<TransactionParams, EthereumTransactionMeta, EthereumTransactionEvents<TransactionParams, EthereumTransactionMeta>> implements ITransactionStateManager<TransactionParams> {
|
|
5
5
|
constructor({ config, state, getCurrentChainId, }: {
|
|
6
6
|
config?: Partial<TransactionConfig>;
|
|
7
7
|
state?: Partial<TransactionState<TransactionParams, EthereumTransactionMeta>>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TransactionStatus } from "@toruslabs/base-controllers";
|
|
2
|
-
import { SafeEventEmitterProvider } from "@
|
|
2
|
+
import { SafeEventEmitterProvider } from "@web3auth/auth";
|
|
3
3
|
import { EthereumTransactionMeta, TransactionParams } from "../utils/interfaces";
|
|
4
4
|
type NormalizableTransactionParams = keyof Omit<TransactionParams, "accessList">;
|
|
5
5
|
/**
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
1
|
+
export { AccountTrackerController } from "./Account/AccountTrackerController";
|
|
2
|
+
export { PollingBlockTracker } from "./Block/PollingBlockTracker";
|
|
3
|
+
export { CurrencyController } from "./Currency/CurrencyController";
|
|
4
|
+
export { GasFeeController } from "./Gas/GasFeeController";
|
|
5
5
|
export * from "./Gas/IGasFeeController";
|
|
6
|
-
export {
|
|
6
|
+
export { KeyringController } from "./Keyring/KeyringController";
|
|
7
7
|
export * from "./Message/AbstractMessageController";
|
|
8
8
|
export * from "./Message/AddChainController";
|
|
9
|
-
export * from "./Message/DecryptMessageController";
|
|
10
|
-
export * from "./Message/EncryptionPublicKeyController";
|
|
11
9
|
export * from "./Message/MessageController";
|
|
12
10
|
export * from "./Message/PersonalMessageController";
|
|
13
11
|
export * from "./Message/SwitchChainController";
|
|
@@ -15,21 +13,21 @@ export * from "./Message/TypedMessageController";
|
|
|
15
13
|
export * from "./Message/utils";
|
|
16
14
|
export * from "./Network/createEthereumMiddleware";
|
|
17
15
|
export * from "./Network/createJsonRpcClient";
|
|
18
|
-
export {
|
|
16
|
+
export { NetworkController } from "./Network/NetworkController";
|
|
19
17
|
export * from "./Nfts/INftsController";
|
|
20
18
|
export * from "./Nfts/NftHandler";
|
|
21
19
|
export * from "./Nfts/NftsController";
|
|
22
|
-
export {
|
|
20
|
+
export { PreferencesController } from "./Preferences/PreferencesController";
|
|
23
21
|
export * from "./Tokens/ITokensController";
|
|
24
22
|
export * from "./Tokens/TokenHandler";
|
|
25
23
|
export * from "./Tokens/TokenRatesController";
|
|
26
24
|
export * from "./Tokens/TokensController";
|
|
27
|
-
export {
|
|
28
|
-
export {
|
|
29
|
-
export {
|
|
30
|
-
export {
|
|
25
|
+
export { NonceTracker } from "./Transaction/NonceTracker";
|
|
26
|
+
export { PendingTransactionTracker } from "./Transaction/PendingTransactionTracker";
|
|
27
|
+
export { TransactionController } from "./Transaction/TransactionController";
|
|
28
|
+
export { TransactionGasUtil } from "./Transaction/TransactionGasUtil";
|
|
31
29
|
export * from "./Transaction/TransactionStateHistoryHelper";
|
|
32
|
-
export {
|
|
30
|
+
export { TransactionStateManager } from "./Transaction/TransactionStateManager";
|
|
33
31
|
export * from "./Transaction/TransactionUtils";
|
|
34
32
|
export * from "./utils/abis";
|
|
35
33
|
export * from "./utils/constants";
|
|
@@ -31,14 +31,10 @@ export declare const METHOD_TYPES: {
|
|
|
31
31
|
readonly ETH_REQUEST_ACCOUNTS: "eth_requestAccounts";
|
|
32
32
|
readonly ETH_SEND_RAW_TRANSACTION: "eth_sendRawTransaction";
|
|
33
33
|
readonly ETH_SIGN: "eth_sign";
|
|
34
|
-
readonly ETH_SIGN_TYPED_DATA: "eth_signTypedData";
|
|
35
|
-
readonly ETH_SIGN_TYPED_DATA_V3: "eth_signTypedData_v3";
|
|
36
34
|
readonly ETH_SIGN_TYPED_DATA_V4: "eth_signTypedData_v4";
|
|
37
35
|
readonly PERSONAL_SIGN: "personal_sign";
|
|
38
36
|
readonly ETH_GET_TRANSACTION_COUNT: "eth_getTransactionCount";
|
|
39
37
|
readonly ETH_GET_TRANSACTION_BY_HASH: "eth_getTransactionByHash";
|
|
40
|
-
readonly ETH_GET_ENCRYPTION_PUBLIC_KEY: "eth_getEncryptionPublicKey";
|
|
41
|
-
readonly ETH_DECRYPT: "eth_decrypt";
|
|
42
38
|
readonly ETH_GET_TRANSACTION_RECEIPT: "eth_getTransactionReceipt";
|
|
43
39
|
readonly WATCH_ASSET: "wallet_watchAsset";
|
|
44
40
|
readonly ETH_GET_BLOCK_BY_HASH: "eth_getBlockByHash";
|
|
@@ -83,5 +79,5 @@ export declare const MessageStatus: {
|
|
|
83
79
|
readonly FAILED: "failed";
|
|
84
80
|
};
|
|
85
81
|
export declare const MESSAGE_EVENTS: {
|
|
86
|
-
UNAPPROVED_MESSAGE:
|
|
82
|
+
readonly UNAPPROVED_MESSAGE: "unapprovedMessage";
|
|
87
83
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TransactionStatus } from "@toruslabs/base-controllers";
|
|
2
|
-
import { SafeEventEmitterProvider } from "@
|
|
2
|
+
import { SafeEventEmitterProvider } from "@web3auth/auth";
|
|
3
3
|
import BigNumber from "bignumber.js";
|
|
4
4
|
import { EtherscanTransaction, FormattedTransactionActivity, TransactionPayload } from "./interfaces";
|
|
5
5
|
export declare function hexToBn(hex: string): BigNumber;
|
|
@@ -19,11 +19,11 @@ export declare function formatTime(time: number): string;
|
|
|
19
19
|
export declare const idleTimeTracker: {
|
|
20
20
|
checkIfIdle: () => boolean;
|
|
21
21
|
};
|
|
22
|
-
export declare function isAddressByChainId(address: string, _chainId: string):
|
|
22
|
+
export declare function isAddressByChainId(address: string, _chainId: string): address is `0x${string}`;
|
|
23
23
|
export declare function toChecksumAddressByChainId(address: string, chainId: string): string;
|
|
24
24
|
export declare const GAS_LIMITS: {
|
|
25
|
-
SIMPLE: string
|
|
26
|
-
BASE_TOKEN_ESTIMATE: string
|
|
25
|
+
SIMPLE: `0x${string}`;
|
|
26
|
+
BASE_TOKEN_ESTIMATE: `0x${string}`;
|
|
27
27
|
};
|
|
28
28
|
export declare function bnLessThan(a: string | number, b: string | number): boolean;
|
|
29
29
|
export declare const getIpfsEndpoint: (path: string) => string;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type AccessList } from "@ethereumjs/common";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { Json } from "@toruslabs/openlogin-jrpc";
|
|
2
|
+
import { AddressPreferences, BASE_TX_EVENT_TYPE, BaseBlockTrackerState, BaseControllerEvents, BaseTransactionEvents, NetworkConfig, NetworkState, PaymentTransaction, PollingBlockTrackerConfig, PopupWhitelabelData, ProviderConfig, TRANSACTION_TYPE, TransactionMeta, TransactionState, TransactionStatus, TX_CONFIRMED_EVENT_TYPE, TX_DROPPED_EVENT_TYPE, TX_EVENTS, TX_FAILED_EVENT_TYPE, TX_WARNING_EVENT_TYPE, User } from "@toruslabs/base-controllers";
|
|
3
|
+
import { JRPCRequest, Json } from "@web3auth/auth";
|
|
5
4
|
import { MutexInterface } from "async-mutex";
|
|
6
|
-
import {
|
|
5
|
+
import { TypedDataDomain, TypedDataField } from "ethers";
|
|
6
|
+
import { MESSAGE_EVENTS, MessageStatus, METHOD_TYPES, TRANSACTION_ENVELOPE_TYPES } from "./constants";
|
|
7
7
|
export type CustomTokenInfo = {
|
|
8
8
|
tokenAddress: string;
|
|
9
9
|
name: string;
|
|
@@ -83,11 +83,10 @@ export interface AbstractMessage {
|
|
|
83
83
|
export interface Message extends AbstractMessage {
|
|
84
84
|
messageParams: MessageParams;
|
|
85
85
|
}
|
|
86
|
-
export type
|
|
87
|
-
types: Record<string,
|
|
88
|
-
domain:
|
|
89
|
-
|
|
90
|
-
message: unknown;
|
|
86
|
+
export type SignTypedDataMessageV4 = {
|
|
87
|
+
types: Record<string, TypedDataField[]>;
|
|
88
|
+
domain: TypedDataDomain;
|
|
89
|
+
message: Record<string, unknown>;
|
|
91
90
|
};
|
|
92
91
|
export interface SwitchChainMessageParams extends BaseRequestParams {
|
|
93
92
|
chainId: string;
|
|
@@ -111,8 +110,7 @@ export interface AddChainMessage extends AbstractMessage {
|
|
|
111
110
|
messageParams: AddChainMessageParams;
|
|
112
111
|
}
|
|
113
112
|
export interface TypedMessageParams extends BaseRequestParams {
|
|
114
|
-
data:
|
|
115
|
-
version?: SignTypedDataVersion;
|
|
113
|
+
data: string | SignTypedDataMessageV4;
|
|
116
114
|
}
|
|
117
115
|
export interface TypedMessage extends AbstractMessage {
|
|
118
116
|
messageParams: TypedMessageParams;
|
|
@@ -397,18 +395,6 @@ export interface NonceLockRes {
|
|
|
397
395
|
releaseLock: MutexInterface.Releaser;
|
|
398
396
|
}
|
|
399
397
|
export type METHOD_TYPES_TYPE = (typeof METHOD_TYPES)[keyof typeof METHOD_TYPES];
|
|
400
|
-
export interface EncryptionPublicKeyParams extends BaseRequestParams {
|
|
401
|
-
data: string;
|
|
402
|
-
}
|
|
403
|
-
export interface EncryptionPublicKey extends AbstractMessage {
|
|
404
|
-
messageParams: EncryptionPublicKeyParams;
|
|
405
|
-
}
|
|
406
|
-
export interface DecryptMessageParams extends BaseRequestParams {
|
|
407
|
-
data: string;
|
|
408
|
-
}
|
|
409
|
-
export interface DecryptMessage extends AbstractMessage {
|
|
410
|
-
messageParams: DecryptMessageParams;
|
|
411
|
-
}
|
|
412
398
|
export interface EtherscanTransaction {
|
|
413
399
|
blockNumber: string;
|
|
414
400
|
timeStamp: string;
|
|
@@ -441,3 +427,37 @@ export interface EtherscanTransaction {
|
|
|
441
427
|
tokenValue: string;
|
|
442
428
|
tokenDecimal: string;
|
|
443
429
|
}
|
|
430
|
+
export interface NetworkControllerEvents<S> extends BaseControllerEvents<S> {
|
|
431
|
+
networkDidChange: () => void;
|
|
432
|
+
}
|
|
433
|
+
export interface AbstractMessageControllerEvents<S, M> extends BaseControllerEvents<S> {
|
|
434
|
+
[event: `${string}:${MessageStatusType}`]: (message: M) => void;
|
|
435
|
+
[event: `${string}:finished`]: (message: M) => void;
|
|
436
|
+
[MESSAGE_EVENTS.UNAPPROVED_MESSAGE]: (args: {
|
|
437
|
+
messageData: M;
|
|
438
|
+
req: JRPCRequest<unknown> & UserRequestApprovalParams;
|
|
439
|
+
}) => void;
|
|
440
|
+
}
|
|
441
|
+
export type TX_BLOCK_EVENT_TYPE = {
|
|
442
|
+
txMeta: EthereumTransactionMeta;
|
|
443
|
+
latestBlockNumber?: string;
|
|
444
|
+
} & BASE_TX_EVENT_TYPE;
|
|
445
|
+
export type PendingTransactionTrackerEvents<S> = BaseControllerEvents<S> & {
|
|
446
|
+
[TX_EVENTS.TX_WARNING]: (args: TX_WARNING_EVENT_TYPE<TransactionParams, EthereumTransactionMeta>) => void;
|
|
447
|
+
[TX_EVENTS.TX_BLOCK_UPDATE]: (args: TX_BLOCK_EVENT_TYPE) => void;
|
|
448
|
+
[TX_EVENTS.TX_RETRY]: (args: {
|
|
449
|
+
txMeta: EthereumTransactionMeta;
|
|
450
|
+
} & BASE_TX_EVENT_TYPE) => void;
|
|
451
|
+
[TX_EVENTS.TX_FAILED]: (args: TX_FAILED_EVENT_TYPE) => void;
|
|
452
|
+
[TX_EVENTS.TX_DROPPED]: (args: TX_DROPPED_EVENT_TYPE) => void;
|
|
453
|
+
[TX_EVENTS.TX_CONFIRMED]: (args: TX_CONFIRMED_EVENT_TYPE) => void;
|
|
454
|
+
};
|
|
455
|
+
export type EthereumTransactionEvents<T, U> = BaseTransactionEvents<TransactionState<T, TransactionMeta<T>>, U> & {
|
|
456
|
+
[TX_EVENTS.TX_UNAPPROVED]: (data: {
|
|
457
|
+
txMeta: U;
|
|
458
|
+
req: JRPCRequest<TransactionParams> & UserRequestApprovalParams;
|
|
459
|
+
}) => void;
|
|
460
|
+
} & {
|
|
461
|
+
[event: `${string}:unapproved`]: (txMeta: U) => void;
|
|
462
|
+
[event: `${string}:${Exclude<TransactionStatus, "unapproved">}`]: (txId: string) => void;
|
|
463
|
+
};
|
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toruslabs/ethereum-controllers",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.1",
|
|
4
4
|
"homepage": "https://github.com/torusresearch/controllers#readme",
|
|
5
5
|
"license": "ISC",
|
|
6
|
-
"
|
|
7
|
-
"
|
|
6
|
+
"sidEffects": false,
|
|
7
|
+
"main": "dist/lib.cjs/index.js",
|
|
8
|
+
"module": "dist/lib.esm/index.js",
|
|
8
9
|
"unpkg": "dist/ethereumControllers.umd.min.js",
|
|
9
10
|
"jsdelivr": "dist/ethereumControllers.umd.min.js",
|
|
10
11
|
"types": "dist/types/index.d.ts",
|
|
@@ -14,19 +15,19 @@
|
|
|
14
15
|
"test-debugger": "TS_NODE_PROJECT=./tsconfig.test.json mocha --config ../../.mocharc.json --inspect-brk test/**/*.ts",
|
|
15
16
|
"dev": "rimraf dist/ && cross-env NODE_ENV=development torus-scripts start",
|
|
16
17
|
"build": "rimraf dist/ && cross-env NODE_ENV=production torus-scripts build",
|
|
17
|
-
"lint": "eslint --fix 'src/**/*.ts'",
|
|
18
|
+
"lint": "eslint --fix 'src/**/*.ts' 'test/**/*.ts'",
|
|
18
19
|
"prepack": "npm run build",
|
|
19
20
|
"pre-commit": "lint-staged --cwd ."
|
|
20
21
|
},
|
|
21
22
|
"dependencies": {
|
|
22
23
|
"@ethereumjs/common": "^4.3.0",
|
|
23
|
-
"@ethereumjs/tx": "^5.
|
|
24
|
+
"@ethereumjs/tx": "^5.4.0",
|
|
24
25
|
"@ethereumjs/util": "^9.0.3",
|
|
25
26
|
"@metamask/abi-utils": "2.0.2",
|
|
26
27
|
"@metamask/eth-sig-util": "7.0.2",
|
|
27
|
-
"@toruslabs/base-controllers": "^
|
|
28
|
-
"@toruslabs/http-helpers": "^
|
|
29
|
-
"@
|
|
28
|
+
"@toruslabs/base-controllers": "^6.0.1",
|
|
29
|
+
"@toruslabs/http-helpers": "^7.0.0",
|
|
30
|
+
"@web3auth/auth": "^9.1.2",
|
|
30
31
|
"async-mutex": "^0.5.0",
|
|
31
32
|
"bignumber.js": "^9.1.2",
|
|
32
33
|
"bn.js": "^5.2.1",
|
|
@@ -64,7 +65,7 @@
|
|
|
64
65
|
"publishConfig": {
|
|
65
66
|
"access": "public"
|
|
66
67
|
},
|
|
67
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "a8477ca972d2782dc3f15ea0f5d880975290e751",
|
|
68
69
|
"devDependencies": {
|
|
69
70
|
"@nomicfoundation/hardhat-chai-matchers": "^2.0.7",
|
|
70
71
|
"@nomicfoundation/hardhat-ethers": "^3.0.6",
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { BaseConfig } from "@toruslabs/base-controllers";
|
|
2
|
-
import { JRPCRequest } from "@toruslabs/openlogin-jrpc";
|
|
3
|
-
import KeyringController from "../Keyring/KeyringController";
|
|
4
|
-
import NetworkController from "../Network/NetworkController";
|
|
5
|
-
import { DecryptMessage, DecryptMessageParams, UserRequestApprovalParams } from "../utils/interfaces";
|
|
6
|
-
import AbstractMessageController, { MessageControllerState } from "./AbstractMessageController";
|
|
7
|
-
export declare class DecryptMessageController extends AbstractMessageController<DecryptMessage, DecryptMessageParams> {
|
|
8
|
-
name: string;
|
|
9
|
-
protected decryptMessage: KeyringController["decryptMessage"];
|
|
10
|
-
constructor({ config, state, decryptMessage, getNetworkIdentifier, }: {
|
|
11
|
-
config: Partial<BaseConfig>;
|
|
12
|
-
state: Partial<MessageControllerState<DecryptMessage>>;
|
|
13
|
-
decryptMessage: KeyringController["decryptMessage"];
|
|
14
|
-
getNetworkIdentifier: NetworkController["getNetworkIdentifier"];
|
|
15
|
-
});
|
|
16
|
-
processDecryptMessage(messageId: string): Promise<string>;
|
|
17
|
-
addNewUnapprovedMessage(messageParams: DecryptMessageParams, req: JRPCRequest<unknown> & UserRequestApprovalParams): Promise<string>;
|
|
18
|
-
addUnapprovedMessage(messageParams: DecryptMessageParams, req?: JRPCRequest<unknown> & UserRequestApprovalParams): Promise<string>;
|
|
19
|
-
prepMessageForSigning(messageParams: DecryptMessageParams): Promise<DecryptMessageParams>;
|
|
20
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { BaseConfig } from "@toruslabs/base-controllers";
|
|
2
|
-
import { JRPCRequest } from "@toruslabs/openlogin-jrpc";
|
|
3
|
-
import KeyringController from "../Keyring/KeyringController";
|
|
4
|
-
import NetworkController from "../Network/NetworkController";
|
|
5
|
-
import { EncryptionPublicKey, EncryptionPublicKeyParams, UserRequestApprovalParams } from "../utils/interfaces";
|
|
6
|
-
import AbstractMessageController, { MessageControllerState } from "./AbstractMessageController";
|
|
7
|
-
export declare class EncryptionPublicKeyController extends AbstractMessageController<EncryptionPublicKey, EncryptionPublicKeyParams> {
|
|
8
|
-
name: string;
|
|
9
|
-
protected signEncryptionPublicKey: KeyringController["signEncryptionPublicKey"];
|
|
10
|
-
constructor({ config, state, signEncryptionPublicKey, getNetworkIdentifier, }: {
|
|
11
|
-
config: Partial<BaseConfig>;
|
|
12
|
-
state: Partial<MessageControllerState<EncryptionPublicKey>>;
|
|
13
|
-
signEncryptionPublicKey: KeyringController["signEncryptionPublicKey"];
|
|
14
|
-
getNetworkIdentifier: NetworkController["getNetworkIdentifier"];
|
|
15
|
-
});
|
|
16
|
-
processGetEncryptionPublicKey(messageId: string): Promise<string>;
|
|
17
|
-
addNewUnapprovedMessage(messageParams: EncryptionPublicKeyParams, req: JRPCRequest<unknown> & UserRequestApprovalParams): Promise<string>;
|
|
18
|
-
addUnapprovedMessage(messageParams: EncryptionPublicKeyParams, req?: JRPCRequest<unknown> & UserRequestApprovalParams): Promise<string>;
|
|
19
|
-
prepMessageForSigning(messageParams: EncryptionPublicKeyParams): Promise<EncryptionPublicKeyParams>;
|
|
20
|
-
}
|