@metamask-previews/multichain-account-service 4.0.0-preview-7334bbce → 4.0.0-preview-e540d3bf
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/CHANGELOG.md +0 -21
- package/dist/MultichainAccountGroup.cjs +45 -84
- package/dist/MultichainAccountGroup.cjs.map +1 -1
- package/dist/MultichainAccountGroup.d.cts +5 -18
- package/dist/MultichainAccountGroup.d.cts.map +1 -1
- package/dist/MultichainAccountGroup.d.mts +5 -18
- package/dist/MultichainAccountGroup.d.mts.map +1 -1
- package/dist/MultichainAccountGroup.mjs +45 -84
- package/dist/MultichainAccountGroup.mjs.map +1 -1
- package/dist/MultichainAccountService.cjs +113 -126
- package/dist/MultichainAccountService.cjs.map +1 -1
- package/dist/MultichainAccountService.d.cts +20 -36
- package/dist/MultichainAccountService.d.cts.map +1 -1
- package/dist/MultichainAccountService.d.mts +20 -36
- package/dist/MultichainAccountService.d.mts.map +1 -1
- package/dist/MultichainAccountService.mjs +114 -127
- package/dist/MultichainAccountService.mjs.map +1 -1
- package/dist/MultichainAccountWallet.cjs +123 -107
- package/dist/MultichainAccountWallet.cjs.map +1 -1
- package/dist/MultichainAccountWallet.d.cts +4 -5
- package/dist/MultichainAccountWallet.d.cts.map +1 -1
- package/dist/MultichainAccountWallet.d.mts +4 -5
- package/dist/MultichainAccountWallet.d.mts.map +1 -1
- package/dist/MultichainAccountWallet.mjs +124 -108
- package/dist/MultichainAccountWallet.mjs.map +1 -1
- package/dist/providers/AccountProviderWrapper.cjs +0 -18
- package/dist/providers/AccountProviderWrapper.cjs.map +1 -1
- package/dist/providers/AccountProviderWrapper.d.cts +0 -12
- package/dist/providers/AccountProviderWrapper.d.cts.map +1 -1
- package/dist/providers/AccountProviderWrapper.d.mts +0 -12
- package/dist/providers/AccountProviderWrapper.d.mts.map +1 -1
- package/dist/providers/AccountProviderWrapper.mjs +0 -18
- package/dist/providers/AccountProviderWrapper.mjs.map +1 -1
- package/dist/providers/BaseBip44AccountProvider.cjs +20 -45
- package/dist/providers/BaseBip44AccountProvider.cjs.map +1 -1
- package/dist/providers/BaseBip44AccountProvider.d.cts +6 -58
- package/dist/providers/BaseBip44AccountProvider.d.cts.map +1 -1
- package/dist/providers/BaseBip44AccountProvider.d.mts +6 -58
- package/dist/providers/BaseBip44AccountProvider.d.mts.map +1 -1
- package/dist/providers/BaseBip44AccountProvider.mjs +20 -45
- package/dist/providers/BaseBip44AccountProvider.mjs.map +1 -1
- package/dist/providers/BtcAccountProvider.cjs +0 -1
- package/dist/providers/BtcAccountProvider.cjs.map +1 -1
- package/dist/providers/BtcAccountProvider.d.cts.map +1 -1
- package/dist/providers/BtcAccountProvider.d.mts.map +1 -1
- package/dist/providers/BtcAccountProvider.mjs +0 -1
- package/dist/providers/BtcAccountProvider.mjs.map +1 -1
- package/dist/providers/EvmAccountProvider.cjs +5 -39
- package/dist/providers/EvmAccountProvider.cjs.map +1 -1
- package/dist/providers/EvmAccountProvider.d.cts +0 -8
- package/dist/providers/EvmAccountProvider.d.cts.map +1 -1
- package/dist/providers/EvmAccountProvider.d.mts +0 -8
- package/dist/providers/EvmAccountProvider.d.mts.map +1 -1
- package/dist/providers/EvmAccountProvider.mjs +5 -39
- package/dist/providers/EvmAccountProvider.mjs.map +1 -1
- package/dist/providers/SolAccountProvider.cjs +0 -4
- package/dist/providers/SolAccountProvider.cjs.map +1 -1
- package/dist/providers/SolAccountProvider.d.cts.map +1 -1
- package/dist/providers/SolAccountProvider.d.mts.map +1 -1
- package/dist/providers/SolAccountProvider.mjs +0 -4
- package/dist/providers/SolAccountProvider.mjs.map +1 -1
- package/dist/providers/TrxAccountProvider.cjs +0 -1
- package/dist/providers/TrxAccountProvider.cjs.map +1 -1
- package/dist/providers/TrxAccountProvider.d.cts.map +1 -1
- package/dist/providers/TrxAccountProvider.d.mts.map +1 -1
- package/dist/providers/TrxAccountProvider.mjs +0 -1
- package/dist/providers/TrxAccountProvider.mjs.map +1 -1
- package/dist/tests/messenger.cjs +0 -3
- package/dist/tests/messenger.cjs.map +1 -1
- package/dist/tests/messenger.d.cts.map +1 -1
- package/dist/tests/messenger.d.mts.map +1 -1
- package/dist/tests/messenger.mjs +0 -3
- package/dist/tests/messenger.mjs.map +1 -1
- package/dist/tests/providers.cjs +7 -62
- package/dist/tests/providers.cjs.map +1 -1
- package/dist/tests/providers.d.cts +3 -17
- package/dist/tests/providers.d.cts.map +1 -1
- package/dist/tests/providers.d.mts +3 -17
- package/dist/tests/providers.d.mts.map +1 -1
- package/dist/tests/providers.mjs +6 -60
- package/dist/tests/providers.mjs.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +3 -3
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +3 -3
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/dist/utils.cjs +11 -1
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +1 -0
- package/dist/utils.d.cts.map +1 -1
- package/dist/utils.d.mts +1 -0
- package/dist/utils.d.mts.map +1 -1
- package/dist/utils.mjs +9 -0
- package/dist/utils.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -19,34 +19,10 @@ export type MultichainAccountServiceOptions = {
|
|
|
19
19
|
};
|
|
20
20
|
config?: MultichainAccountServiceConfig;
|
|
21
21
|
};
|
|
22
|
-
/**
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
entropySource: EntropySourceId;
|
|
27
|
-
groupIndex: number;
|
|
28
|
-
providerName: string;
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* The service state.
|
|
32
|
-
*/
|
|
33
|
-
export type ServiceState = {
|
|
34
|
-
[entropySource: StateKeys['entropySource']]: {
|
|
35
|
-
[groupIndex: string]: {
|
|
36
|
-
[providerName: StateKeys['providerName']]: Bip44Account<KeyringAccount>['id'][];
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
};
|
|
40
|
-
export type CreateWalletParams = {
|
|
41
|
-
type: 'restore';
|
|
42
|
-
password: string;
|
|
43
|
-
mnemonic: Uint8Array;
|
|
44
|
-
} | {
|
|
45
|
-
type: 'import';
|
|
46
|
-
mnemonic: Uint8Array;
|
|
47
|
-
} | {
|
|
48
|
-
type: 'create';
|
|
49
|
-
password: string;
|
|
22
|
+
/** Reverse mapping object used to map account IDs and their wallet/multichain account. */
|
|
23
|
+
type AccountContext<Account extends Bip44Account<KeyringAccount>> = {
|
|
24
|
+
wallet: MultichainAccountWallet<Account>;
|
|
25
|
+
group: MultichainAccountGroup<Account>;
|
|
50
26
|
};
|
|
51
27
|
/**
|
|
52
28
|
* Service to expose multichain accounts capabilities.
|
|
@@ -89,6 +65,14 @@ export declare class MultichainAccountService {
|
|
|
89
65
|
* ----------------------------------------------------------------------------------
|
|
90
66
|
*/
|
|
91
67
|
resyncAccounts(): Promise<void>;
|
|
68
|
+
/**
|
|
69
|
+
* Gets the account's context which contains its multichain wallet and
|
|
70
|
+
* multichain account group references.
|
|
71
|
+
*
|
|
72
|
+
* @param id - Account ID.
|
|
73
|
+
* @returns The account context if any, undefined otherwise.
|
|
74
|
+
*/
|
|
75
|
+
getAccountContext(id: KeyringAccount['id']): AccountContext<Bip44Account<KeyringAccount>> | undefined;
|
|
92
76
|
/**
|
|
93
77
|
* Gets a reference to the multichain account wallet matching this entropy source.
|
|
94
78
|
*
|
|
@@ -107,20 +91,19 @@ export declare class MultichainAccountService {
|
|
|
107
91
|
*/
|
|
108
92
|
getMultichainAccountWallets(): MultichainAccountWallet<Bip44Account<KeyringAccount>>[];
|
|
109
93
|
/**
|
|
110
|
-
* Creates a new multichain account wallet
|
|
111
|
-
* creating a new vault and keychain, or restoring a vault and keyring.
|
|
94
|
+
* Creates a new multichain account wallet with the given mnemonic.
|
|
112
95
|
*
|
|
113
96
|
* NOTE: This method should only be called in client code where a mutex lock is acquired.
|
|
114
|
-
* `
|
|
97
|
+
* `discoverAndCreateAccounts` should be called after this method to discover and create accounts.
|
|
115
98
|
*
|
|
116
|
-
* @param
|
|
117
|
-
* @param
|
|
118
|
-
* @param params.password - The password to encrypt the vault with.
|
|
119
|
-
* @param params.type - The flow type to use to create the new wallet.
|
|
99
|
+
* @param options - Options.
|
|
100
|
+
* @param options.mnemonic - The mnemonic to use to create the new wallet.
|
|
120
101
|
* @throws If the mnemonic has already been imported.
|
|
121
102
|
* @returns The new multichain account wallet.
|
|
122
103
|
*/
|
|
123
|
-
createMultichainAccountWallet(
|
|
104
|
+
createMultichainAccountWallet({ mnemonic, }: {
|
|
105
|
+
mnemonic: string;
|
|
106
|
+
}): Promise<MultichainAccountWallet<Bip44Account<KeyringAccount>>>;
|
|
124
107
|
/**
|
|
125
108
|
* Gets a reference to the multichain account group matching this entropy source
|
|
126
109
|
* and a group index.
|
|
@@ -188,4 +171,5 @@ export declare class MultichainAccountService {
|
|
|
188
171
|
*/
|
|
189
172
|
alignWallet(entropySource: EntropySourceId): Promise<void>;
|
|
190
173
|
}
|
|
174
|
+
export {};
|
|
191
175
|
//# sourceMappingURL=MultichainAccountService.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultichainAccountService.d.cts","sourceRoot":"","sources":["../src/MultichainAccountService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,YAAY,EACb,8BAA8B;
|
|
1
|
+
{"version":3,"file":"MultichainAccountService.d.cts","sourceRoot":"","sources":["../src/MultichainAccountService.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,34 +19,10 @@ export type MultichainAccountServiceOptions = {
|
|
|
19
19
|
};
|
|
20
20
|
config?: MultichainAccountServiceConfig;
|
|
21
21
|
};
|
|
22
|
-
/**
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
entropySource: EntropySourceId;
|
|
27
|
-
groupIndex: number;
|
|
28
|
-
providerName: string;
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* The service state.
|
|
32
|
-
*/
|
|
33
|
-
export type ServiceState = {
|
|
34
|
-
[entropySource: StateKeys['entropySource']]: {
|
|
35
|
-
[groupIndex: string]: {
|
|
36
|
-
[providerName: StateKeys['providerName']]: Bip44Account<KeyringAccount>['id'][];
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
};
|
|
40
|
-
export type CreateWalletParams = {
|
|
41
|
-
type: 'restore';
|
|
42
|
-
password: string;
|
|
43
|
-
mnemonic: Uint8Array;
|
|
44
|
-
} | {
|
|
45
|
-
type: 'import';
|
|
46
|
-
mnemonic: Uint8Array;
|
|
47
|
-
} | {
|
|
48
|
-
type: 'create';
|
|
49
|
-
password: string;
|
|
22
|
+
/** Reverse mapping object used to map account IDs and their wallet/multichain account. */
|
|
23
|
+
type AccountContext<Account extends Bip44Account<KeyringAccount>> = {
|
|
24
|
+
wallet: MultichainAccountWallet<Account>;
|
|
25
|
+
group: MultichainAccountGroup<Account>;
|
|
50
26
|
};
|
|
51
27
|
/**
|
|
52
28
|
* Service to expose multichain accounts capabilities.
|
|
@@ -89,6 +65,14 @@ export declare class MultichainAccountService {
|
|
|
89
65
|
* ----------------------------------------------------------------------------------
|
|
90
66
|
*/
|
|
91
67
|
resyncAccounts(): Promise<void>;
|
|
68
|
+
/**
|
|
69
|
+
* Gets the account's context which contains its multichain wallet and
|
|
70
|
+
* multichain account group references.
|
|
71
|
+
*
|
|
72
|
+
* @param id - Account ID.
|
|
73
|
+
* @returns The account context if any, undefined otherwise.
|
|
74
|
+
*/
|
|
75
|
+
getAccountContext(id: KeyringAccount['id']): AccountContext<Bip44Account<KeyringAccount>> | undefined;
|
|
92
76
|
/**
|
|
93
77
|
* Gets a reference to the multichain account wallet matching this entropy source.
|
|
94
78
|
*
|
|
@@ -107,20 +91,19 @@ export declare class MultichainAccountService {
|
|
|
107
91
|
*/
|
|
108
92
|
getMultichainAccountWallets(): MultichainAccountWallet<Bip44Account<KeyringAccount>>[];
|
|
109
93
|
/**
|
|
110
|
-
* Creates a new multichain account wallet
|
|
111
|
-
* creating a new vault and keychain, or restoring a vault and keyring.
|
|
94
|
+
* Creates a new multichain account wallet with the given mnemonic.
|
|
112
95
|
*
|
|
113
96
|
* NOTE: This method should only be called in client code where a mutex lock is acquired.
|
|
114
|
-
* `
|
|
97
|
+
* `discoverAndCreateAccounts` should be called after this method to discover and create accounts.
|
|
115
98
|
*
|
|
116
|
-
* @param
|
|
117
|
-
* @param
|
|
118
|
-
* @param params.password - The password to encrypt the vault with.
|
|
119
|
-
* @param params.type - The flow type to use to create the new wallet.
|
|
99
|
+
* @param options - Options.
|
|
100
|
+
* @param options.mnemonic - The mnemonic to use to create the new wallet.
|
|
120
101
|
* @throws If the mnemonic has already been imported.
|
|
121
102
|
* @returns The new multichain account wallet.
|
|
122
103
|
*/
|
|
123
|
-
createMultichainAccountWallet(
|
|
104
|
+
createMultichainAccountWallet({ mnemonic, }: {
|
|
105
|
+
mnemonic: string;
|
|
106
|
+
}): Promise<MultichainAccountWallet<Bip44Account<KeyringAccount>>>;
|
|
124
107
|
/**
|
|
125
108
|
* Gets a reference to the multichain account group matching this entropy source
|
|
126
109
|
* and a group index.
|
|
@@ -188,4 +171,5 @@ export declare class MultichainAccountService {
|
|
|
188
171
|
*/
|
|
189
172
|
alignWallet(entropySource: EntropySourceId): Promise<void>;
|
|
190
173
|
}
|
|
174
|
+
export {};
|
|
191
175
|
//# sourceMappingURL=MultichainAccountService.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultichainAccountService.d.mts","sourceRoot":"","sources":["../src/MultichainAccountService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,YAAY,EACb,8BAA8B;
|
|
1
|
+
{"version":3,"file":"MultichainAccountService.d.mts","sourceRoot":"","sources":["../src/MultichainAccountService.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,10 +9,11 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
9
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var _MultichainAccountService_instances, _MultichainAccountService_messenger, _MultichainAccountService_providers, _MultichainAccountService_wallets,
|
|
12
|
+
var _MultichainAccountService_instances, _MultichainAccountService_messenger, _MultichainAccountService_providers, _MultichainAccountService_wallets, _MultichainAccountService_accountIdToContext, _MultichainAccountService_handleOnAccountAdded, _MultichainAccountService_handleOnAccountRemoved, _MultichainAccountService_getWallet;
|
|
13
13
|
import { isBip44Account, toMultichainAccountWalletId } from "@metamask/account-api";
|
|
14
|
+
import { mnemonicPhraseToBytes } from "@metamask/key-tree";
|
|
14
15
|
import { KeyringTypes } from "@metamask/keyring-controller";
|
|
15
|
-
import { areUint8ArraysEqual
|
|
16
|
+
import { areUint8ArraysEqual } from "@metamask/utils";
|
|
16
17
|
import { traceFallback } from "./analytics/index.mjs";
|
|
17
18
|
import { projectLogger as log } from "./logger.mjs";
|
|
18
19
|
import { MultichainAccountWallet } from "./MultichainAccountWallet.mjs";
|
|
@@ -40,12 +41,14 @@ export class MultichainAccountService {
|
|
|
40
41
|
_MultichainAccountService_messenger.set(this, void 0);
|
|
41
42
|
_MultichainAccountService_providers.set(this, void 0);
|
|
42
43
|
_MultichainAccountService_wallets.set(this, void 0);
|
|
44
|
+
_MultichainAccountService_accountIdToContext.set(this, void 0);
|
|
43
45
|
/**
|
|
44
46
|
* The name of the service.
|
|
45
47
|
*/
|
|
46
48
|
this.name = serviceName;
|
|
47
49
|
__classPrivateFieldSet(this, _MultichainAccountService_messenger, messenger, "f");
|
|
48
50
|
__classPrivateFieldSet(this, _MultichainAccountService_wallets, new Map(), "f");
|
|
51
|
+
__classPrivateFieldSet(this, _MultichainAccountService_accountIdToContext, new Map(), "f");
|
|
49
52
|
// Pass trace callback directly to preserve original 'this' context
|
|
50
53
|
// This avoids binding the callback to the MultichainAccountService instance
|
|
51
54
|
const traceCallback = config?.trace ?? traceFallback;
|
|
@@ -67,6 +70,8 @@ export class MultichainAccountService {
|
|
|
67
70
|
__classPrivateFieldGet(this, _MultichainAccountService_messenger, "f").registerActionHandler('MultichainAccountService:alignWallet', (...args) => this.alignWallet(...args));
|
|
68
71
|
__classPrivateFieldGet(this, _MultichainAccountService_messenger, "f").registerActionHandler('MultichainAccountService:createMultichainAccountWallet', (...args) => this.createMultichainAccountWallet(...args));
|
|
69
72
|
__classPrivateFieldGet(this, _MultichainAccountService_messenger, "f").registerActionHandler('MultichainAccountService:resyncAccounts', (...args) => this.resyncAccounts(...args));
|
|
73
|
+
__classPrivateFieldGet(this, _MultichainAccountService_messenger, "f").subscribe('AccountsController:accountAdded', (account) => __classPrivateFieldGet(this, _MultichainAccountService_instances, "m", _MultichainAccountService_handleOnAccountAdded).call(this, account));
|
|
74
|
+
__classPrivateFieldGet(this, _MultichainAccountService_messenger, "f").subscribe('AccountsController:accountRemoved', (id) => __classPrivateFieldGet(this, _MultichainAccountService_instances, "m", _MultichainAccountService_handleOnAccountRemoved).call(this, id));
|
|
70
75
|
}
|
|
71
76
|
/**
|
|
72
77
|
* Initialize the service and constructs the internal reprensentation of
|
|
@@ -75,22 +80,32 @@ export class MultichainAccountService {
|
|
|
75
80
|
async init() {
|
|
76
81
|
log('Initializing...');
|
|
77
82
|
__classPrivateFieldGet(this, _MultichainAccountService_wallets, "f").clear();
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
83
|
+
__classPrivateFieldGet(this, _MultichainAccountService_accountIdToContext, "f").clear();
|
|
84
|
+
// Create initial wallets.
|
|
85
|
+
const { keyrings } = __classPrivateFieldGet(this, _MultichainAccountService_messenger, "f").call('KeyringController:getState');
|
|
86
|
+
for (const keyring of keyrings) {
|
|
87
|
+
if (keyring.type === KeyringTypes.hd) {
|
|
88
|
+
// Only HD keyrings have an entropy source/SRP.
|
|
89
|
+
const entropySource = keyring.metadata.id;
|
|
90
|
+
log(`Adding new wallet for entropy: "${entropySource}"`);
|
|
91
|
+
// This will automatically "associate" all multichain accounts for that wallet
|
|
92
|
+
// (based on the accounts owned by each account providers).
|
|
93
|
+
const wallet = new MultichainAccountWallet({
|
|
94
|
+
entropySource,
|
|
95
|
+
providers: __classPrivateFieldGet(this, _MultichainAccountService_providers, "f"),
|
|
96
|
+
messenger: __classPrivateFieldGet(this, _MultichainAccountService_messenger, "f"),
|
|
97
|
+
});
|
|
98
|
+
__classPrivateFieldGet(this, _MultichainAccountService_wallets, "f").set(wallet.id, wallet);
|
|
99
|
+
// Reverse mapping between account ID and their multichain wallet/account:
|
|
100
|
+
for (const group of wallet.getMultichainAccountGroups()) {
|
|
101
|
+
for (const account of group.getAccounts()) {
|
|
102
|
+
__classPrivateFieldGet(this, _MultichainAccountService_accountIdToContext, "f").set(account.id, {
|
|
103
|
+
wallet,
|
|
104
|
+
group,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
94
109
|
}
|
|
95
110
|
log('Initialized');
|
|
96
111
|
}
|
|
@@ -132,6 +147,16 @@ export class MultichainAccountService {
|
|
|
132
147
|
}));
|
|
133
148
|
log('Providers got re-synced!');
|
|
134
149
|
}
|
|
150
|
+
/**
|
|
151
|
+
* Gets the account's context which contains its multichain wallet and
|
|
152
|
+
* multichain account group references.
|
|
153
|
+
*
|
|
154
|
+
* @param id - Account ID.
|
|
155
|
+
* @returns The account context if any, undefined otherwise.
|
|
156
|
+
*/
|
|
157
|
+
getAccountContext(id) {
|
|
158
|
+
return __classPrivateFieldGet(this, _MultichainAccountService_accountIdToContext, "f").get(id);
|
|
159
|
+
}
|
|
135
160
|
/**
|
|
136
161
|
* Gets a reference to the multichain account wallet matching this entropy source.
|
|
137
162
|
*
|
|
@@ -152,31 +177,35 @@ export class MultichainAccountService {
|
|
|
152
177
|
return Array.from(__classPrivateFieldGet(this, _MultichainAccountService_wallets, "f").values());
|
|
153
178
|
}
|
|
154
179
|
/**
|
|
155
|
-
* Creates a new multichain account wallet
|
|
156
|
-
* creating a new vault and keychain, or restoring a vault and keyring.
|
|
180
|
+
* Creates a new multichain account wallet with the given mnemonic.
|
|
157
181
|
*
|
|
158
182
|
* NOTE: This method should only be called in client code where a mutex lock is acquired.
|
|
159
|
-
* `
|
|
183
|
+
* `discoverAndCreateAccounts` should be called after this method to discover and create accounts.
|
|
160
184
|
*
|
|
161
|
-
* @param
|
|
162
|
-
* @param
|
|
163
|
-
* @param params.password - The password to encrypt the vault with.
|
|
164
|
-
* @param params.type - The flow type to use to create the new wallet.
|
|
185
|
+
* @param options - Options.
|
|
186
|
+
* @param options.mnemonic - The mnemonic to use to create the new wallet.
|
|
165
187
|
* @throws If the mnemonic has already been imported.
|
|
166
188
|
* @returns The new multichain account wallet.
|
|
167
189
|
*/
|
|
168
|
-
async createMultichainAccountWallet(
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
190
|
+
async createMultichainAccountWallet({ mnemonic, }) {
|
|
191
|
+
const existingKeyrings = __classPrivateFieldGet(this, _MultichainAccountService_messenger, "f").call('KeyringController:getKeyringsByType', KeyringTypes.hd);
|
|
192
|
+
const mnemonicAsBytes = mnemonicPhraseToBytes(mnemonic);
|
|
193
|
+
const alreadyHasImportedSrp = existingKeyrings.some((keyring) => {
|
|
194
|
+
if (!keyring.mnemonic) {
|
|
195
|
+
return false;
|
|
196
|
+
}
|
|
197
|
+
return areUint8ArraysEqual(keyring.mnemonic, mnemonicAsBytes);
|
|
198
|
+
});
|
|
199
|
+
if (alreadyHasImportedSrp) {
|
|
200
|
+
throw new Error('This Secret Recovery Phrase has already been imported.');
|
|
178
201
|
}
|
|
179
|
-
|
|
202
|
+
log(`Creating new wallet...`);
|
|
203
|
+
const result = await __classPrivateFieldGet(this, _MultichainAccountService_messenger, "f").call('KeyringController:addNewKeyring', KeyringTypes.hd, { mnemonic });
|
|
204
|
+
const wallet = new MultichainAccountWallet({
|
|
205
|
+
providers: __classPrivateFieldGet(this, _MultichainAccountService_providers, "f"),
|
|
206
|
+
entropySource: result.id,
|
|
207
|
+
messenger: __classPrivateFieldGet(this, _MultichainAccountService_messenger, "f"),
|
|
208
|
+
});
|
|
180
209
|
__classPrivateFieldGet(this, _MultichainAccountService_wallets, "f").set(wallet.id, wallet);
|
|
181
210
|
log(`Wallet created: [${wallet.id}]`);
|
|
182
211
|
return wallet;
|
|
@@ -274,106 +303,64 @@ export class MultichainAccountService {
|
|
|
274
303
|
log(`Wallet [${wallet.id}] aligned`);
|
|
275
304
|
}
|
|
276
305
|
}
|
|
277
|
-
_MultichainAccountService_messenger = new WeakMap(), _MultichainAccountService_providers = new WeakMap(), _MultichainAccountService_wallets = new WeakMap(), _MultichainAccountService_instances = new WeakSet(),
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
306
|
+
_MultichainAccountService_messenger = new WeakMap(), _MultichainAccountService_providers = new WeakMap(), _MultichainAccountService_wallets = new WeakMap(), _MultichainAccountService_accountIdToContext = new WeakMap(), _MultichainAccountService_instances = new WeakSet(), _MultichainAccountService_handleOnAccountAdded = function _MultichainAccountService_handleOnAccountAdded(account) {
|
|
307
|
+
// We completely omit non-BIP-44 accounts!
|
|
308
|
+
if (!isBip44Account(account)) {
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
311
|
+
let sync = true;
|
|
312
|
+
let wallet = __classPrivateFieldGet(this, _MultichainAccountService_wallets, "f").get(toMultichainAccountWalletId(account.options.entropy.id));
|
|
313
|
+
if (!wallet) {
|
|
314
|
+
log(`Adding new wallet for entropy: "${account.options.entropy.id}" (for account: "${account.id}")`);
|
|
315
|
+
// That's a new wallet.
|
|
316
|
+
wallet = new MultichainAccountWallet({
|
|
317
|
+
entropySource: account.options.entropy.id,
|
|
318
|
+
providers: __classPrivateFieldGet(this, _MultichainAccountService_providers, "f"),
|
|
319
|
+
messenger: __classPrivateFieldGet(this, _MultichainAccountService_messenger, "f"),
|
|
320
|
+
});
|
|
321
|
+
__classPrivateFieldGet(this, _MultichainAccountService_wallets, "f").set(wallet.id, wallet);
|
|
322
|
+
// If that's a new wallet wallet. There's nothing to "force-sync".
|
|
323
|
+
sync = false;
|
|
324
|
+
}
|
|
325
|
+
let group = wallet.getMultichainAccountGroup(account.options.entropy.groupIndex);
|
|
326
|
+
if (!group) {
|
|
327
|
+
// This new account is a new multichain account, let the wallet know
|
|
328
|
+
// it has to re-sync with its providers.
|
|
329
|
+
if (sync) {
|
|
330
|
+
wallet.sync();
|
|
285
331
|
}
|
|
332
|
+
group = wallet.getMultichainAccountGroup(account.options.entropy.groupIndex);
|
|
333
|
+
// If that's a new multichain account. There's nothing to "force-sync".
|
|
334
|
+
sync = false;
|
|
286
335
|
}
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
const providerState = {};
|
|
293
|
-
for (const account of accounts) {
|
|
294
|
-
const keys = __classPrivateFieldGet(this, _MultichainAccountService_instances, "m", _MultichainAccountService_getStateKeys).call(this, account);
|
|
295
|
-
if (keys) {
|
|
296
|
-
const { entropySource, groupIndex, providerName } = keys;
|
|
297
|
-
serviceState[entropySource] ?? (serviceState[entropySource] = {});
|
|
298
|
-
(_a = serviceState[entropySource])[groupIndex] ?? (_a[groupIndex] = {});
|
|
299
|
-
(_b = serviceState[entropySource][groupIndex])[providerName] ?? (_b[providerName] = []);
|
|
300
|
-
serviceState[entropySource][groupIndex][providerName].push(account.id);
|
|
301
|
-
providerState[providerName] ?? (providerState[providerName] = []);
|
|
302
|
-
providerState[providerName].push(account.id);
|
|
336
|
+
// We have to check against `undefined` in case `getMultichainAccount` is
|
|
337
|
+
// not able to find this multichain account (which should not be possible...)
|
|
338
|
+
if (group) {
|
|
339
|
+
if (sync) {
|
|
340
|
+
group.sync();
|
|
303
341
|
}
|
|
342
|
+
// Same here, this account should have been already grouped in that
|
|
343
|
+
// multichain account.
|
|
344
|
+
__classPrivateFieldGet(this, _MultichainAccountService_accountIdToContext, "f").set(account.id, {
|
|
345
|
+
wallet,
|
|
346
|
+
group,
|
|
347
|
+
});
|
|
304
348
|
}
|
|
305
|
-
|
|
349
|
+
}, _MultichainAccountService_handleOnAccountRemoved = function _MultichainAccountService_handleOnAccountRemoved(id) {
|
|
350
|
+
// Force sync of the appropriate wallet if an account got removed.
|
|
351
|
+
const found = __classPrivateFieldGet(this, _MultichainAccountService_accountIdToContext, "f").get(id);
|
|
352
|
+
if (found) {
|
|
353
|
+
const { wallet } = found;
|
|
354
|
+
log(`Re-synchronize wallet [${wallet.id}] since account "${id}" got removed`);
|
|
355
|
+
wallet.sync();
|
|
356
|
+
}
|
|
357
|
+
// Safe to call delete even if the `id` was not referencing a BIP-44 account.
|
|
358
|
+
__classPrivateFieldGet(this, _MultichainAccountService_accountIdToContext, "f").delete(id);
|
|
306
359
|
}, _MultichainAccountService_getWallet = function _MultichainAccountService_getWallet(entropySource) {
|
|
307
360
|
const wallet = __classPrivateFieldGet(this, _MultichainAccountService_wallets, "f").get(toMultichainAccountWalletId(entropySource));
|
|
308
361
|
if (!wallet) {
|
|
309
362
|
throw new Error('Unknown wallet, no wallet matching this entropy source');
|
|
310
363
|
}
|
|
311
364
|
return wallet;
|
|
312
|
-
}, _MultichainAccountService_getPrimaryEntropySourceId = function _MultichainAccountService_getPrimaryEntropySourceId() {
|
|
313
|
-
const { keyrings } = __classPrivateFieldGet(this, _MultichainAccountService_messenger, "f").call('KeyringController:getState');
|
|
314
|
-
const primaryKeyring = keyrings.find((keyring) => keyring.type === 'HD Key Tree');
|
|
315
|
-
assert(primaryKeyring, 'Primary keyring not found');
|
|
316
|
-
return primaryKeyring.metadata.id;
|
|
317
|
-
}, _MultichainAccountService_createWalletByImport =
|
|
318
|
-
/**
|
|
319
|
-
* Creates a new multichain account wallet by importing an existing mnemonic.
|
|
320
|
-
*
|
|
321
|
-
* @param mnemonic - The mnemonic to use to create the new wallet.
|
|
322
|
-
* @returns The new multichain account wallet.
|
|
323
|
-
*/
|
|
324
|
-
async function _MultichainAccountService_createWalletByImport(mnemonic) {
|
|
325
|
-
log(`Creating new wallet by importing an existing mnemonic...`);
|
|
326
|
-
const existingKeyrings = __classPrivateFieldGet(this, _MultichainAccountService_messenger, "f").call('KeyringController:getKeyringsByType', KeyringTypes.hd);
|
|
327
|
-
const alreadyHasImportedSrp = existingKeyrings.some((keyring) => {
|
|
328
|
-
if (!keyring.mnemonic) {
|
|
329
|
-
return false;
|
|
330
|
-
}
|
|
331
|
-
return areUint8ArraysEqual(keyring.mnemonic, mnemonic);
|
|
332
|
-
});
|
|
333
|
-
if (alreadyHasImportedSrp) {
|
|
334
|
-
throw new Error('This Secret Recovery Phrase has already been imported.');
|
|
335
|
-
}
|
|
336
|
-
const result = await __classPrivateFieldGet(this, _MultichainAccountService_messenger, "f").call('KeyringController:addNewKeyring', KeyringTypes.hd, { mnemonic });
|
|
337
|
-
// The wallet is ripe for discovery
|
|
338
|
-
return new MultichainAccountWallet({
|
|
339
|
-
providers: __classPrivateFieldGet(this, _MultichainAccountService_providers, "f"),
|
|
340
|
-
entropySource: result.id,
|
|
341
|
-
messenger: __classPrivateFieldGet(this, _MultichainAccountService_messenger, "f"),
|
|
342
|
-
});
|
|
343
|
-
}, _MultichainAccountService_createWalletByNewVault =
|
|
344
|
-
/**
|
|
345
|
-
* Creates a new multichain account wallet by creating a new vault and keychain.
|
|
346
|
-
*
|
|
347
|
-
* @param password - The password to encrypt the vault with.
|
|
348
|
-
* @returns The new multichain account wallet.
|
|
349
|
-
*/
|
|
350
|
-
async function _MultichainAccountService_createWalletByNewVault(password) {
|
|
351
|
-
log(`Creating new wallet by creating a new vault and keychain...`);
|
|
352
|
-
await __classPrivateFieldGet(this, _MultichainAccountService_messenger, "f").call('KeyringController:createNewVaultAndKeychain', password);
|
|
353
|
-
const entropySourceId = __classPrivateFieldGet(this, _MultichainAccountService_instances, "m", _MultichainAccountService_getPrimaryEntropySourceId).call(this);
|
|
354
|
-
// The wallet is ripe for discovery
|
|
355
|
-
return new MultichainAccountWallet({
|
|
356
|
-
providers: __classPrivateFieldGet(this, _MultichainAccountService_providers, "f"),
|
|
357
|
-
entropySource: entropySourceId,
|
|
358
|
-
messenger: __classPrivateFieldGet(this, _MultichainAccountService_messenger, "f"),
|
|
359
|
-
});
|
|
360
|
-
}, _MultichainAccountService_createWalletByRestore =
|
|
361
|
-
/**
|
|
362
|
-
* Creates a new multichain account wallet by restoring a vault and keyring.
|
|
363
|
-
*
|
|
364
|
-
* @param password - The password to encrypt the vault with.
|
|
365
|
-
* @param mnemonic - The mnemonic to use to restore the new wallet.
|
|
366
|
-
* @returns The new multichain account wallet.
|
|
367
|
-
*/
|
|
368
|
-
async function _MultichainAccountService_createWalletByRestore(password, mnemonic) {
|
|
369
|
-
log(`Creating new wallet by restoring vault and keyring...`);
|
|
370
|
-
await __classPrivateFieldGet(this, _MultichainAccountService_messenger, "f").call('KeyringController:createNewVaultAndRestore', password, mnemonic);
|
|
371
|
-
const entropySourceId = __classPrivateFieldGet(this, _MultichainAccountService_instances, "m", _MultichainAccountService_getPrimaryEntropySourceId).call(this);
|
|
372
|
-
// The wallet is ripe for discovery
|
|
373
|
-
return new MultichainAccountWallet({
|
|
374
|
-
providers: __classPrivateFieldGet(this, _MultichainAccountService_providers, "f"),
|
|
375
|
-
entropySource: entropySourceId,
|
|
376
|
-
messenger: __classPrivateFieldGet(this, _MultichainAccountService_messenger, "f"),
|
|
377
|
-
});
|
|
378
365
|
};
|
|
379
366
|
//# sourceMappingURL=MultichainAccountService.mjs.map
|