@toruslabs/ethereum-controllers 7.1.3 → 7.2.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 -48
- package/dist/ethereumControllers.esm.js +40 -9
- package/dist/ethereumControllers.umd.min.js +1 -1
- package/dist/lib.cjs/Gas/gasUtil.js +15 -15
- package/dist/lib.cjs/Message/utils.js +11 -4
- package/dist/lib.cjs/Network/createEthereumMiddleware.js +23 -0
- package/dist/lib.cjs/Preferences/PreferencesController.js +5 -2
- package/dist/lib.cjs/Tokens/TokensController.js +1 -2
- package/dist/lib.cjs/Transaction/TransactionController.js +5 -5
- package/dist/lib.cjs/index.js +1 -0
- package/dist/lib.cjs/utils/conversionUtils.js +17 -17
- package/dist/lib.cjs/utils/helpers.js +6 -6
- package/dist/lib.esm/Gas/gasUtil.js +1 -1
- package/dist/lib.esm/Message/utils.js +11 -4
- package/dist/lib.esm/Network/createEthereumMiddleware.js +23 -1
- package/dist/lib.esm/Preferences/PreferencesController.js +6 -3
- package/dist/lib.esm/Tokens/TokensController.js +1 -2
- package/dist/lib.esm/Transaction/TransactionController.js +1 -1
- package/dist/lib.esm/index.js +1 -1
- package/dist/lib.esm/utils/conversionUtils.js +1 -1
- package/dist/lib.esm/utils/helpers.js +1 -1
- package/dist/types/Account/AccountTrackerController.d.ts +2 -1
- package/dist/types/Gas/gasUtil.d.ts +1 -1
- package/dist/types/Message/SwitchChainController.d.ts +1 -2
- package/dist/types/Message/utils.d.ts +2 -2
- package/dist/types/Network/createEthereumMiddleware.d.ts +6 -2
- package/dist/types/Nfts/INftsController.d.ts +8 -8
- package/dist/types/Nfts/NftHandler.d.ts +2 -1
- package/dist/types/Nfts/NftsController.d.ts +6 -5
- package/dist/types/Preferences/IPreferencesController.d.ts +10 -0
- package/dist/types/Preferences/PreferencesController.d.ts +5 -1
- package/dist/types/Tokens/TokenRatesController.d.ts +2 -1
- package/dist/types/Tokens/TokensController.d.ts +2 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/utils/conversionUtils.d.ts +1 -1
- package/dist/types/utils/helpers.d.ts +1 -1
- package/dist/types/utils/interfaces.d.ts +3 -74
- package/package.json +4 -4
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { CustomNftItemInfo } from "@toruslabs/base-controllers";
|
|
1
2
|
import { Provider } from "ethers";
|
|
2
|
-
import { CustomNftInfo
|
|
3
|
+
import { EthereumNftInfo as CustomNftInfo } from "../Nfts/INftsController";
|
|
3
4
|
export interface INftOptions {
|
|
4
5
|
contractAddress: string;
|
|
5
6
|
contractName?: string;
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { BaseController, INftsController, PreferencesState } from "@toruslabs/base-controllers";
|
|
2
2
|
import { SafeEventEmitterProvider } from "@web3auth/auth";
|
|
3
|
+
import { ExtendedAddressPreferences } from "../Preferences/IPreferencesController";
|
|
3
4
|
import { PreferencesController } from "../Preferences/PreferencesController";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
5
|
+
import { EthereumNetworkState } from "../utils/interfaces";
|
|
6
|
+
import { EthereumNftInfo as CustomNftInfo, EthereumNftsControllerConfig, EthereumNftsControllerState } from "./INftsController";
|
|
6
7
|
export interface INftsControllerOptions {
|
|
7
|
-
config?: Partial<
|
|
8
|
-
state?: Partial<
|
|
8
|
+
config?: Partial<EthereumNftsControllerConfig>;
|
|
9
|
+
state?: Partial<EthereumNftsControllerState>;
|
|
9
10
|
provider: SafeEventEmitterProvider;
|
|
10
11
|
getCustomNfts?: PreferencesController["getCustomNfts"];
|
|
11
12
|
getSimpleHashNfts: PreferencesController["getSimpleHashNfts"];
|
|
12
13
|
onPreferencesStateChange: (listener: (preferencesState: PreferencesState<ExtendedAddressPreferences>) => void) => void;
|
|
13
14
|
onNetworkStateChange: (listener: (networkState: EthereumNetworkState) => void) => void;
|
|
14
15
|
}
|
|
15
|
-
export declare class NftsController extends BaseController<
|
|
16
|
+
export declare class NftsController extends BaseController<EthereumNftsControllerConfig, EthereumNftsControllerState> implements INftsController<EthereumNftsControllerConfig, EthereumNftsControllerState> {
|
|
16
17
|
name: string;
|
|
17
18
|
private provider;
|
|
18
19
|
private ethersProvider;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AddressPreferences } from "@toruslabs/base-controllers";
|
|
2
|
+
import { CustomNetworks, FetchCommonTransaction, FetchedTransaction, FormattedTransactionActivity } from "../utils/interfaces";
|
|
3
|
+
export interface ExtendedAddressPreferences extends AddressPreferences {
|
|
4
|
+
eoaAddress?: string;
|
|
5
|
+
fetchedPastTx?: FetchedTransaction[];
|
|
6
|
+
formattedPastTransactions?: FormattedTransactionActivity[];
|
|
7
|
+
paymentTx: FetchCommonTransaction[];
|
|
8
|
+
customNetworks: CustomNetworks[];
|
|
9
|
+
etherscanTransactions?: FormattedTransactionActivity[];
|
|
10
|
+
}
|
|
@@ -2,7 +2,9 @@ import { BasePreferencesController, CustomNft, CustomToken, InitPreferencesParam
|
|
|
2
2
|
import { SafeEventEmitterProvider } from "@web3auth/auth";
|
|
3
3
|
import { KeyringController } from "../Keyring/KeyringController";
|
|
4
4
|
import { NetworkController } from "../Network/NetworkController";
|
|
5
|
-
import
|
|
5
|
+
import { EthereumNftInfo as CustomNftInfo } from "../Nfts/INftsController";
|
|
6
|
+
import type { AddChainMessageParams, CustomNetworkPayload, CustomTokenInfo, EtherscanTransaction, TransactionPayload } from "../utils/interfaces";
|
|
7
|
+
import { ExtendedAddressPreferences } from "./IPreferencesController";
|
|
6
8
|
export interface IPreferencesControllerOptions {
|
|
7
9
|
config?: Partial<PreferencesConfig> & Pick<PreferencesConfig, "api" | "commonApiHost">;
|
|
8
10
|
state?: Partial<PreferencesState<ExtendedAddressPreferences>>;
|
|
@@ -13,6 +15,7 @@ export interface IPreferencesControllerOptions {
|
|
|
13
15
|
validateSignMessage: (message: string) => Promise<void>;
|
|
14
16
|
}
|
|
15
17
|
export declare class PreferencesController extends BasePreferencesController<ExtendedAddressPreferences, PreferencesConfig, PreferencesState<ExtendedAddressPreferences>> implements IPreferencesController<ExtendedAddressPreferences, PreferencesConfig, PreferencesState<ExtendedAddressPreferences>> {
|
|
18
|
+
protected chainNamespace: "eip155";
|
|
16
19
|
private _handle?;
|
|
17
20
|
private _mutex;
|
|
18
21
|
private getProviderConfig;
|
|
@@ -23,6 +26,7 @@ export declare class PreferencesController extends BasePreferencesController<Ext
|
|
|
23
26
|
initPreferences(params: InitPreferencesParams & {
|
|
24
27
|
eoaAddress?: string;
|
|
25
28
|
aaProvider?: string;
|
|
29
|
+
mainAddress?: string;
|
|
26
30
|
}): Promise<void>;
|
|
27
31
|
getSelectedAddress(): string;
|
|
28
32
|
sync(address: string): Promise<boolean>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BaseController, BaseTokenRatesControllerConfig, BaseTokenRatesControllerState, ITokenRatesController, PreferencesState } from "@toruslabs/base-controllers";
|
|
2
|
-
import {
|
|
2
|
+
import { ExtendedAddressPreferences } from "../Preferences/IPreferencesController";
|
|
3
|
+
import { CustomTokenInfo, EthereumNetworkState } from "../utils/interfaces";
|
|
3
4
|
import { EthereumTokensControllerState } from "./ITokensController";
|
|
4
5
|
export interface CoinGeckoResponse {
|
|
5
6
|
[address: string]: {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { BaseController, ITokensController, PreferencesState, UserAddress } from "@toruslabs/base-controllers";
|
|
2
2
|
import { SafeEventEmitterProvider } from "@web3auth/auth";
|
|
3
3
|
import { NetworkController } from "../Network/NetworkController";
|
|
4
|
+
import { ExtendedAddressPreferences } from "../Preferences/IPreferencesController";
|
|
4
5
|
import { PreferencesController } from "../Preferences/PreferencesController";
|
|
5
|
-
import { CustomTokenInfo, EthereumNetworkState
|
|
6
|
+
import { CustomTokenInfo, EthereumNetworkState } from "../utils/interfaces";
|
|
6
7
|
import { EthereumTokensControllerConfig, EthereumTokensControllerState } from "./ITokensController";
|
|
7
8
|
export interface ITokensControllerOptions {
|
|
8
9
|
config?: Partial<EthereumTokensControllerConfig>;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ export { NetworkController } from "./Network/NetworkController";
|
|
|
19
19
|
export * from "./Nfts/INftsController";
|
|
20
20
|
export * from "./Nfts/NftHandler";
|
|
21
21
|
export * from "./Nfts/NftsController";
|
|
22
|
+
export * from "./Preferences/IPreferencesController";
|
|
22
23
|
export { PreferencesController } from "./Preferences/PreferencesController";
|
|
23
24
|
export * from "./Tokens/ITokensController";
|
|
24
25
|
export * from "./Tokens/TokenHandler";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TransactionStatus } from "@toruslabs/base-controllers";
|
|
2
2
|
import { SafeEventEmitterProvider } from "@web3auth/auth";
|
|
3
|
-
import BigNumber from "bignumber.js";
|
|
3
|
+
import { BigNumber } from "bignumber.js";
|
|
4
4
|
import { EtherscanTransaction, FormattedTransactionActivity, TransactionPayload } from "./interfaces";
|
|
5
5
|
export declare function hexToBn(hex: string): BigNumber;
|
|
6
6
|
export declare function BNToHex(bn: BigNumber): string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BASE_TX_EVENT_TYPE, BaseBlockTrackerState, BaseControllerEvents, BaseFormattedTransactionActivity, BaseTokenInfo, BaseTransactionEvents, MESSAGE_EVENTS, MessageStatus, 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";
|
|
2
2
|
import { JRPCRequest, Json } from "@web3auth/auth";
|
|
3
3
|
import { MutexInterface } from "async-mutex";
|
|
4
4
|
import { AccessList, TypedDataDomain, TypedDataField } from "ethers";
|
|
@@ -6,40 +6,10 @@ import { ToBiconomySmartAccountParameters, toEcdsaKernelSmartAccount, ToLightSma
|
|
|
6
6
|
import { Client, EIP1193Provider } from "viem";
|
|
7
7
|
import { createBundlerClient, createPaymasterClient, SmartAccount, UserOperationReceipt } from "viem/account-abstraction";
|
|
8
8
|
import { METHOD_TYPES, SMART_ACCOUNT, TRANSACTION_ENVELOPE_TYPES } from "./constants";
|
|
9
|
-
export type CustomTokenInfo = {
|
|
10
|
-
tokenAddress: string;
|
|
11
|
-
name: string;
|
|
12
|
-
chainId: string;
|
|
9
|
+
export type CustomTokenInfo = BaseTokenInfo & {
|
|
13
10
|
erc20: boolean;
|
|
14
|
-
symbol: string;
|
|
15
|
-
decimals: string;
|
|
16
|
-
balance?: string;
|
|
17
11
|
customTokenId?: string;
|
|
18
12
|
isEtherScan?: boolean;
|
|
19
|
-
logo?: string;
|
|
20
|
-
};
|
|
21
|
-
export type CustomNftItemInfo = {
|
|
22
|
-
image: string;
|
|
23
|
-
name: string;
|
|
24
|
-
tokenBalance: string;
|
|
25
|
-
description: string;
|
|
26
|
-
tokenId: string;
|
|
27
|
-
video?: string;
|
|
28
|
-
decimals?: string;
|
|
29
|
-
customNftId?: string;
|
|
30
|
-
};
|
|
31
|
-
export type NftStandardType = "erc721" | "erc1155";
|
|
32
|
-
export type CustomNftInfo = {
|
|
33
|
-
contractAddress: string;
|
|
34
|
-
contractName: string;
|
|
35
|
-
contractSymbol: string;
|
|
36
|
-
contractImage?: string;
|
|
37
|
-
contractSupply?: string;
|
|
38
|
-
contractFallbackLogo?: string;
|
|
39
|
-
nftStandard: NftStandardType;
|
|
40
|
-
contractDescription?: string;
|
|
41
|
-
chainId: string;
|
|
42
|
-
assets: CustomNftItemInfo[];
|
|
43
13
|
};
|
|
44
14
|
export interface EthereumBlock {
|
|
45
15
|
blockHash: string;
|
|
@@ -90,13 +60,6 @@ export type SignTypedDataMessageV4 = {
|
|
|
90
60
|
domain: TypedDataDomain;
|
|
91
61
|
message: Record<string, unknown>;
|
|
92
62
|
};
|
|
93
|
-
export interface SwitchChainMessageParams extends BaseRequestParams {
|
|
94
|
-
chainId: string;
|
|
95
|
-
displayName?: string;
|
|
96
|
-
}
|
|
97
|
-
export interface SwitchChainMessage extends AbstractMessage {
|
|
98
|
-
messageParams: SwitchChainMessageParams;
|
|
99
|
-
}
|
|
100
63
|
export interface AddChainMessageParams extends BaseRequestParams {
|
|
101
64
|
chainId: string;
|
|
102
65
|
chainName: string;
|
|
@@ -364,51 +327,17 @@ export interface FetchedTransaction extends TransactionPayload {
|
|
|
364
327
|
export interface FetchCommonTransaction extends PaymentTransaction {
|
|
365
328
|
etherscanLink?: string | null;
|
|
366
329
|
}
|
|
367
|
-
export interface FormattedTransactionActivity {
|
|
368
|
-
id: string;
|
|
369
|
-
date: string;
|
|
370
|
-
from: string;
|
|
330
|
+
export interface FormattedTransactionActivity extends BaseFormattedTransactionActivity {
|
|
371
331
|
from_aa_address?: string;
|
|
372
|
-
slicedFrom: string;
|
|
373
|
-
to: string;
|
|
374
|
-
slicedTo: string;
|
|
375
|
-
action: string;
|
|
376
|
-
totalAmount: string;
|
|
377
|
-
totalAmountString: string;
|
|
378
|
-
currencyAmount: string;
|
|
379
|
-
currencyAmountString: string;
|
|
380
|
-
amount: string;
|
|
381
|
-
status: TransactionStatus;
|
|
382
332
|
etherscanLink: string;
|
|
383
333
|
ethRate: string;
|
|
384
|
-
currencyUsed: string;
|
|
385
|
-
chainId: string;
|
|
386
|
-
type: string;
|
|
387
|
-
type_name: string;
|
|
388
|
-
type_image_link: string;
|
|
389
|
-
transaction_hash: string;
|
|
390
334
|
isEtherscan?: boolean;
|
|
391
|
-
transaction_category: string;
|
|
392
|
-
input?: string;
|
|
393
|
-
contract_address?: string;
|
|
394
|
-
token_id?: string;
|
|
395
335
|
nonce: string;
|
|
396
|
-
is_cancel: boolean;
|
|
397
336
|
gas: string;
|
|
398
337
|
gasPrice: string;
|
|
399
|
-
hasCancel?: boolean;
|
|
400
|
-
cancelDateInitiated?: string;
|
|
401
338
|
cancelGas?: string;
|
|
402
339
|
cancelGasPrice?: string;
|
|
403
340
|
}
|
|
404
|
-
export interface ExtendedAddressPreferences extends AddressPreferences {
|
|
405
|
-
eoaAddress?: string;
|
|
406
|
-
fetchedPastTx?: FetchedTransaction[];
|
|
407
|
-
formattedPastTransactions?: FormattedTransactionActivity[];
|
|
408
|
-
paymentTx: FetchCommonTransaction[];
|
|
409
|
-
customNetworks: CustomNetworks[];
|
|
410
|
-
etherscanTransactions?: FormattedTransactionActivity[];
|
|
411
|
-
}
|
|
412
341
|
export interface ProviderChangeChannelEventData {
|
|
413
342
|
newNetwork: EthereumProviderConfig;
|
|
414
343
|
whitelabelData: PopupWhitelabelData;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toruslabs/ethereum-controllers",
|
|
3
|
-
"version": "7.1
|
|
3
|
+
"version": "7.2.1",
|
|
4
4
|
"homepage": "https://github.com/torusresearch/controllers#readme",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@ethereumjs/util": "^9.1.0",
|
|
24
|
-
"@toruslabs/base-controllers": "^7.
|
|
24
|
+
"@toruslabs/base-controllers": "^7.2.1",
|
|
25
25
|
"@toruslabs/http-helpers": "^7.0.0",
|
|
26
|
-
"@web3auth/auth": "^9.6.
|
|
26
|
+
"@web3auth/auth": "^9.6.4",
|
|
27
27
|
"async-mutex": "^0.5.0",
|
|
28
28
|
"bignumber.js": "^9.1.2",
|
|
29
29
|
"bn.js": "^5.2.1",
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"publishConfig": {
|
|
64
64
|
"access": "public"
|
|
65
65
|
},
|
|
66
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "2f3e1955a917f7c3c70218da523bcf12af692f96",
|
|
67
67
|
"devDependencies": {
|
|
68
68
|
"@nomicfoundation/hardhat-chai-matchers": "^2.0.8",
|
|
69
69
|
"@nomicfoundation/hardhat-ethers": "^3.0.8",
|