@metamask/multichain-network-controller 0.3.0 → 0.5.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/CHANGELOG.md +33 -2
- package/dist/{MultichainNetworkController.cjs → MultichainNetworkController/MultichainNetworkController.cjs} +82 -11
- package/dist/MultichainNetworkController/MultichainNetworkController.cjs.map +1 -0
- package/dist/MultichainNetworkController/MultichainNetworkController.d.cts +41 -0
- package/dist/MultichainNetworkController/MultichainNetworkController.d.cts.map +1 -0
- package/dist/MultichainNetworkController/MultichainNetworkController.d.mts +41 -0
- package/dist/MultichainNetworkController/MultichainNetworkController.d.mts.map +1 -0
- package/dist/{MultichainNetworkController.mjs → MultichainNetworkController/MultichainNetworkController.mjs} +82 -11
- package/dist/MultichainNetworkController/MultichainNetworkController.mjs.map +1 -0
- package/dist/MultichainNetworkService/AbstractMultichainNetworkService.cjs +3 -0
- package/dist/MultichainNetworkService/AbstractMultichainNetworkService.cjs.map +1 -0
- package/dist/MultichainNetworkService/AbstractMultichainNetworkService.d.cts +7 -0
- package/dist/MultichainNetworkService/AbstractMultichainNetworkService.d.cts.map +1 -0
- package/dist/MultichainNetworkService/AbstractMultichainNetworkService.d.mts +7 -0
- package/dist/MultichainNetworkService/AbstractMultichainNetworkService.d.mts.map +1 -0
- package/dist/MultichainNetworkService/AbstractMultichainNetworkService.mjs +2 -0
- package/dist/MultichainNetworkService/AbstractMultichainNetworkService.mjs.map +1 -0
- package/dist/MultichainNetworkService/MultichainNetworkService.cjs +63 -0
- package/dist/MultichainNetworkService/MultichainNetworkService.cjs.map +1 -0
- package/dist/MultichainNetworkService/MultichainNetworkService.d.cts +20 -0
- package/dist/MultichainNetworkService/MultichainNetworkService.d.cts.map +1 -0
- package/dist/MultichainNetworkService/MultichainNetworkService.d.mts +20 -0
- package/dist/MultichainNetworkService/MultichainNetworkService.d.mts.map +1 -0
- package/dist/MultichainNetworkService/MultichainNetworkService.mjs +59 -0
- package/dist/MultichainNetworkService/MultichainNetworkService.mjs.map +1 -0
- package/dist/api/accounts-api.cjs +82 -0
- package/dist/api/accounts-api.cjs.map +1 -0
- package/dist/api/accounts-api.d.cts +55 -0
- package/dist/api/accounts-api.d.cts.map +1 -0
- package/dist/api/accounts-api.d.mts +55 -0
- package/dist/api/accounts-api.d.mts.map +1 -0
- package/dist/api/accounts-api.mjs +76 -0
- package/dist/api/accounts-api.mjs.map +1 -0
- package/dist/constants.cjs +69 -4
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.cts +26 -1
- package/dist/constants.d.cts.map +1 -1
- package/dist/constants.d.mts +26 -1
- package/dist/constants.d.mts.map +1 -1
- package/dist/constants.mjs +68 -3
- package/dist/constants.mjs.map +1 -1
- package/dist/index.cjs +8 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -2
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +4 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +3 -2
- package/dist/index.mjs.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +16 -6
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +16 -6
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/dist/utils.cjs +43 -6
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +22 -1
- package/dist/utils.d.cts.map +1 -1
- package/dist/utils.d.mts +22 -1
- package/dist/utils.d.mts.map +1 -1
- package/dist/utils.mjs +40 -6
- package/dist/utils.mjs.map +1 -1
- package/package.json +7 -4
- package/dist/MultichainNetworkController.cjs.map +0 -1
- package/dist/MultichainNetworkController.d.cts +0 -22
- package/dist/MultichainNetworkController.d.cts.map +0 -1
- package/dist/MultichainNetworkController.d.mts +0 -22
- package/dist/MultichainNetworkController.d.mts.map +0 -1
- package/dist/MultichainNetworkController.mjs.map +0 -1
package/dist/constants.d.cts
CHANGED
|
@@ -1,10 +1,21 @@
|
|
|
1
|
+
import { type CaipChainId } from "@metamask/keyring-api";
|
|
1
2
|
import type { MultichainNetworkConfiguration, MultichainNetworkControllerState, MultichainNetworkMetadata, SupportedCaipChainId } from "./types.cjs";
|
|
2
3
|
export declare const BTC_NATIVE_ASSET = "bip122:000000000019d6689c085ae165831e93/slip44:0";
|
|
3
|
-
export declare const
|
|
4
|
+
export declare const BTC_TESTNET_NATIVE_ASSET = "bip122:000000000933ea01ad0ee984209779ba/slip44:0";
|
|
5
|
+
export declare const BTC_SIGNET_NATIVE_ASSET = "bip122:00000008819873e925422c1ff0f99f7c/slip44:0";
|
|
6
|
+
export declare const SOL_NATIVE_ASSET = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501";
|
|
7
|
+
export declare const SOL_TESTNET_NATIVE_ASSET = "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z/slip44:501";
|
|
8
|
+
export declare const SOL_DEVNET_NATIVE_ASSET = "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1/slip44:501";
|
|
4
9
|
/**
|
|
5
10
|
* Supported networks by the MultichainNetworkController
|
|
6
11
|
*/
|
|
7
12
|
export declare const AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS: Record<SupportedCaipChainId, MultichainNetworkConfiguration>;
|
|
13
|
+
/**
|
|
14
|
+
* Array of all the Non-EVM chain IDs.
|
|
15
|
+
* This is a temporary mention until we develop
|
|
16
|
+
* a more robust solution to identify testnet networks.
|
|
17
|
+
*/
|
|
18
|
+
export declare const NON_EVM_TESTNET_IDS: CaipChainId[];
|
|
8
19
|
/**
|
|
9
20
|
* Metadata for the supported networks.
|
|
10
21
|
*/
|
|
@@ -35,5 +46,19 @@ export declare const MULTICHAIN_NETWORK_CONTROLLER_METADATA: {
|
|
|
35
46
|
persist: true;
|
|
36
47
|
anonymous: true;
|
|
37
48
|
};
|
|
49
|
+
networksWithTransactionActivity: {
|
|
50
|
+
persist: true;
|
|
51
|
+
anonymous: true;
|
|
52
|
+
};
|
|
38
53
|
};
|
|
54
|
+
/**
|
|
55
|
+
* Multichain network ticker for the supported networks.
|
|
56
|
+
* TODO: This should be part of the assets-controllers or the snap itself.
|
|
57
|
+
*/
|
|
58
|
+
export declare const MULTICHAIN_NETWORK_TICKER: Record<CaipChainId, string>;
|
|
59
|
+
/**
|
|
60
|
+
* Multichain network asset decimals for the supported networks.
|
|
61
|
+
* TODO: This should be part of the assets-controllers or the snap itself.
|
|
62
|
+
*/
|
|
63
|
+
export declare const MULTICHAIN_NETWORK_DECIMAL_PLACES: Record<CaipChainId, number>;
|
|
39
64
|
//# sourceMappingURL=constants.d.cts.map
|
package/dist/constants.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.cts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.d.cts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAsB,8BAA8B;AAG7E,OAAO,KAAK,EACV,8BAA8B,EAC9B,gCAAgC,EAChC,yBAAyB,EACzB,oBAAoB,EACrB,oBAAgB;AAEjB,eAAO,MAAM,gBAAgB,qDAAiC,CAAC;AAC/D,eAAO,MAAM,wBAAwB,qDAAiC,CAAC;AACvE,eAAO,MAAM,uBAAuB,qDAAgC,CAAC;AACrE,eAAO,MAAM,gBAAgB,uDAAmC,CAAC;AACjE,eAAO,MAAM,wBAAwB,uDAAmC,CAAC;AACzE,eAAO,MAAM,uBAAuB,uDAAkC,CAAC;AAEvE;;GAEG;AACH,eAAO,MAAM,2CAA2C,EAAE,MAAM,CAC9D,oBAAoB,EACpB,8BAA8B,CAsC/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAAW,EAK5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CASvE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0CAA0C,QACjD,gCAMF,CAAC;AAEL;;;;;;GAMG;AACH,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;CAKQ,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAOxD,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAOhE,CAAC"}
|
package/dist/constants.d.mts
CHANGED
|
@@ -1,10 +1,21 @@
|
|
|
1
|
+
import { type CaipChainId } from "@metamask/keyring-api";
|
|
1
2
|
import type { MultichainNetworkConfiguration, MultichainNetworkControllerState, MultichainNetworkMetadata, SupportedCaipChainId } from "./types.mjs";
|
|
2
3
|
export declare const BTC_NATIVE_ASSET = "bip122:000000000019d6689c085ae165831e93/slip44:0";
|
|
3
|
-
export declare const
|
|
4
|
+
export declare const BTC_TESTNET_NATIVE_ASSET = "bip122:000000000933ea01ad0ee984209779ba/slip44:0";
|
|
5
|
+
export declare const BTC_SIGNET_NATIVE_ASSET = "bip122:00000008819873e925422c1ff0f99f7c/slip44:0";
|
|
6
|
+
export declare const SOL_NATIVE_ASSET = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501";
|
|
7
|
+
export declare const SOL_TESTNET_NATIVE_ASSET = "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z/slip44:501";
|
|
8
|
+
export declare const SOL_DEVNET_NATIVE_ASSET = "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1/slip44:501";
|
|
4
9
|
/**
|
|
5
10
|
* Supported networks by the MultichainNetworkController
|
|
6
11
|
*/
|
|
7
12
|
export declare const AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS: Record<SupportedCaipChainId, MultichainNetworkConfiguration>;
|
|
13
|
+
/**
|
|
14
|
+
* Array of all the Non-EVM chain IDs.
|
|
15
|
+
* This is a temporary mention until we develop
|
|
16
|
+
* a more robust solution to identify testnet networks.
|
|
17
|
+
*/
|
|
18
|
+
export declare const NON_EVM_TESTNET_IDS: CaipChainId[];
|
|
8
19
|
/**
|
|
9
20
|
* Metadata for the supported networks.
|
|
10
21
|
*/
|
|
@@ -35,5 +46,19 @@ export declare const MULTICHAIN_NETWORK_CONTROLLER_METADATA: {
|
|
|
35
46
|
persist: true;
|
|
36
47
|
anonymous: true;
|
|
37
48
|
};
|
|
49
|
+
networksWithTransactionActivity: {
|
|
50
|
+
persist: true;
|
|
51
|
+
anonymous: true;
|
|
52
|
+
};
|
|
38
53
|
};
|
|
54
|
+
/**
|
|
55
|
+
* Multichain network ticker for the supported networks.
|
|
56
|
+
* TODO: This should be part of the assets-controllers or the snap itself.
|
|
57
|
+
*/
|
|
58
|
+
export declare const MULTICHAIN_NETWORK_TICKER: Record<CaipChainId, string>;
|
|
59
|
+
/**
|
|
60
|
+
* Multichain network asset decimals for the supported networks.
|
|
61
|
+
* TODO: This should be part of the assets-controllers or the snap itself.
|
|
62
|
+
*/
|
|
63
|
+
export declare const MULTICHAIN_NETWORK_DECIMAL_PLACES: Record<CaipChainId, number>;
|
|
39
64
|
//# sourceMappingURL=constants.d.mts.map
|
package/dist/constants.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAsB,8BAA8B;AAG7E,OAAO,KAAK,EACV,8BAA8B,EAC9B,gCAAgC,EAChC,yBAAyB,EACzB,oBAAoB,EACrB,oBAAgB;AAEjB,eAAO,MAAM,gBAAgB,qDAAiC,CAAC;AAC/D,eAAO,MAAM,wBAAwB,qDAAiC,CAAC;AACvE,eAAO,MAAM,uBAAuB,qDAAgC,CAAC;AACrE,eAAO,MAAM,gBAAgB,uDAAmC,CAAC;AACjE,eAAO,MAAM,wBAAwB,uDAAmC,CAAC;AACzE,eAAO,MAAM,uBAAuB,uDAAkC,CAAC;AAEvE;;GAEG;AACH,eAAO,MAAM,2CAA2C,EAAE,MAAM,CAC9D,oBAAoB,EACpB,8BAA8B,CAsC/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAAW,EAK5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CASvE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0CAA0C,QACjD,gCAMF,CAAC;AAEL;;;;;;GAMG;AACH,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;CAKQ,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAOxD,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAOhE,CAAC"}
|
package/dist/constants.mjs
CHANGED
|
@@ -1,24 +1,63 @@
|
|
|
1
1
|
import { BtcScope, SolScope } from "@metamask/keyring-api";
|
|
2
2
|
import { NetworkStatus } from "@metamask/network-controller";
|
|
3
3
|
export const BTC_NATIVE_ASSET = `${BtcScope.Mainnet}/slip44:0`;
|
|
4
|
-
export const
|
|
4
|
+
export const BTC_TESTNET_NATIVE_ASSET = `${BtcScope.Testnet}/slip44:0`;
|
|
5
|
+
export const BTC_SIGNET_NATIVE_ASSET = `${BtcScope.Signet}/slip44:0`;
|
|
6
|
+
export const SOL_NATIVE_ASSET = `${SolScope.Mainnet}/slip44:501`;
|
|
7
|
+
export const SOL_TESTNET_NATIVE_ASSET = `${SolScope.Testnet}/slip44:501`;
|
|
8
|
+
export const SOL_DEVNET_NATIVE_ASSET = `${SolScope.Devnet}/slip44:501`;
|
|
5
9
|
/**
|
|
6
10
|
* Supported networks by the MultichainNetworkController
|
|
7
11
|
*/
|
|
8
12
|
export const AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS = {
|
|
9
13
|
[BtcScope.Mainnet]: {
|
|
10
14
|
chainId: BtcScope.Mainnet,
|
|
11
|
-
name: 'Bitcoin
|
|
15
|
+
name: 'Bitcoin',
|
|
12
16
|
nativeCurrency: BTC_NATIVE_ASSET,
|
|
13
17
|
isEvm: false,
|
|
14
18
|
},
|
|
19
|
+
[BtcScope.Testnet]: {
|
|
20
|
+
chainId: BtcScope.Testnet,
|
|
21
|
+
name: 'Bitcoin Testnet',
|
|
22
|
+
nativeCurrency: BTC_TESTNET_NATIVE_ASSET,
|
|
23
|
+
isEvm: false,
|
|
24
|
+
},
|
|
25
|
+
[BtcScope.Signet]: {
|
|
26
|
+
chainId: BtcScope.Signet,
|
|
27
|
+
name: 'Bitcoin Signet',
|
|
28
|
+
nativeCurrency: BTC_SIGNET_NATIVE_ASSET,
|
|
29
|
+
isEvm: false,
|
|
30
|
+
},
|
|
15
31
|
[SolScope.Mainnet]: {
|
|
16
32
|
chainId: SolScope.Mainnet,
|
|
17
|
-
name: 'Solana
|
|
33
|
+
name: 'Solana',
|
|
18
34
|
nativeCurrency: SOL_NATIVE_ASSET,
|
|
19
35
|
isEvm: false,
|
|
20
36
|
},
|
|
37
|
+
[SolScope.Testnet]: {
|
|
38
|
+
chainId: SolScope.Testnet,
|
|
39
|
+
name: 'Solana Testnet',
|
|
40
|
+
nativeCurrency: SOL_TESTNET_NATIVE_ASSET,
|
|
41
|
+
isEvm: false,
|
|
42
|
+
},
|
|
43
|
+
[SolScope.Devnet]: {
|
|
44
|
+
chainId: SolScope.Devnet,
|
|
45
|
+
name: 'Solana Devnet',
|
|
46
|
+
nativeCurrency: SOL_DEVNET_NATIVE_ASSET,
|
|
47
|
+
isEvm: false,
|
|
48
|
+
},
|
|
21
49
|
};
|
|
50
|
+
/**
|
|
51
|
+
* Array of all the Non-EVM chain IDs.
|
|
52
|
+
* This is a temporary mention until we develop
|
|
53
|
+
* a more robust solution to identify testnet networks.
|
|
54
|
+
*/
|
|
55
|
+
export const NON_EVM_TESTNET_IDS = [
|
|
56
|
+
BtcScope.Testnet,
|
|
57
|
+
BtcScope.Signet,
|
|
58
|
+
SolScope.Testnet,
|
|
59
|
+
SolScope.Devnet,
|
|
60
|
+
];
|
|
22
61
|
/**
|
|
23
62
|
* Metadata for the supported networks.
|
|
24
63
|
*/
|
|
@@ -41,6 +80,7 @@ export const getDefaultMultichainNetworkControllerState = () => ({
|
|
|
41
80
|
multichainNetworkConfigurationsByChainId: AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS,
|
|
42
81
|
selectedMultichainNetworkChainId: SolScope.Mainnet,
|
|
43
82
|
isEvmSelected: true,
|
|
83
|
+
networksWithTransactionActivity: {},
|
|
44
84
|
});
|
|
45
85
|
/**
|
|
46
86
|
* {@link MultichainNetworkController}'s metadata.
|
|
@@ -53,5 +93,30 @@ export const MULTICHAIN_NETWORK_CONTROLLER_METADATA = {
|
|
|
53
93
|
multichainNetworkConfigurationsByChainId: { persist: true, anonymous: true },
|
|
54
94
|
selectedMultichainNetworkChainId: { persist: true, anonymous: true },
|
|
55
95
|
isEvmSelected: { persist: true, anonymous: true },
|
|
96
|
+
networksWithTransactionActivity: { persist: true, anonymous: true },
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Multichain network ticker for the supported networks.
|
|
100
|
+
* TODO: This should be part of the assets-controllers or the snap itself.
|
|
101
|
+
*/
|
|
102
|
+
export const MULTICHAIN_NETWORK_TICKER = {
|
|
103
|
+
[BtcScope.Mainnet]: 'BTC',
|
|
104
|
+
[BtcScope.Testnet]: 'tBTC',
|
|
105
|
+
[BtcScope.Signet]: 'sBTC',
|
|
106
|
+
[SolScope.Mainnet]: 'SOL',
|
|
107
|
+
[SolScope.Testnet]: 'tSOL',
|
|
108
|
+
[SolScope.Devnet]: 'dSOL',
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Multichain network asset decimals for the supported networks.
|
|
112
|
+
* TODO: This should be part of the assets-controllers or the snap itself.
|
|
113
|
+
*/
|
|
114
|
+
export const MULTICHAIN_NETWORK_DECIMAL_PLACES = {
|
|
115
|
+
[BtcScope.Mainnet]: 8,
|
|
116
|
+
[BtcScope.Testnet]: 8,
|
|
117
|
+
[BtcScope.Signet]: 8,
|
|
118
|
+
[SolScope.Mainnet]: 5,
|
|
119
|
+
[SolScope.Testnet]: 5,
|
|
120
|
+
[SolScope.Devnet]: 5,
|
|
56
121
|
};
|
|
57
122
|
//# sourceMappingURL=constants.mjs.map
|
package/dist/constants.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"constants.mjs","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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","sourcesContent":["import { type StateMetadata } from '@metamask/base-controller';\nimport { type CaipChainId, BtcScope, SolScope } from '@metamask/keyring-api';\nimport { NetworkStatus } from '@metamask/network-controller';\n\nimport type {\n MultichainNetworkConfiguration,\n MultichainNetworkControllerState,\n MultichainNetworkMetadata,\n SupportedCaipChainId,\n} from './types';\n\nexport const BTC_NATIVE_ASSET = `${BtcScope.Mainnet}/slip44:0`;\nexport const BTC_TESTNET_NATIVE_ASSET = `${BtcScope.Testnet}/slip44:0`;\nexport const BTC_SIGNET_NATIVE_ASSET = `${BtcScope.Signet}/slip44:0`;\nexport const SOL_NATIVE_ASSET = `${SolScope.Mainnet}/slip44:501`;\nexport const SOL_TESTNET_NATIVE_ASSET = `${SolScope.Testnet}/slip44:501`;\nexport const SOL_DEVNET_NATIVE_ASSET = `${SolScope.Devnet}/slip44:501`;\n\n/**\n * Supported networks by the MultichainNetworkController\n */\nexport const AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS: Record<\n SupportedCaipChainId,\n MultichainNetworkConfiguration\n> = {\n [BtcScope.Mainnet]: {\n chainId: BtcScope.Mainnet,\n name: 'Bitcoin',\n nativeCurrency: BTC_NATIVE_ASSET,\n isEvm: false,\n },\n [BtcScope.Testnet]: {\n chainId: BtcScope.Testnet,\n name: 'Bitcoin Testnet',\n nativeCurrency: BTC_TESTNET_NATIVE_ASSET,\n isEvm: false,\n },\n [BtcScope.Signet]: {\n chainId: BtcScope.Signet,\n name: 'Bitcoin Signet',\n nativeCurrency: BTC_SIGNET_NATIVE_ASSET,\n isEvm: false,\n },\n [SolScope.Mainnet]: {\n chainId: SolScope.Mainnet,\n name: 'Solana',\n nativeCurrency: SOL_NATIVE_ASSET,\n isEvm: false,\n },\n [SolScope.Testnet]: {\n chainId: SolScope.Testnet,\n name: 'Solana Testnet',\n nativeCurrency: SOL_TESTNET_NATIVE_ASSET,\n isEvm: false,\n },\n [SolScope.Devnet]: {\n chainId: SolScope.Devnet,\n name: 'Solana Devnet',\n nativeCurrency: SOL_DEVNET_NATIVE_ASSET,\n isEvm: false,\n },\n};\n\n/**\n * Array of all the Non-EVM chain IDs.\n * This is a temporary mention until we develop\n * a more robust solution to identify testnet networks.\n */\nexport const NON_EVM_TESTNET_IDS: CaipChainId[] = [\n BtcScope.Testnet,\n BtcScope.Signet,\n SolScope.Testnet,\n SolScope.Devnet,\n];\n\n/**\n * Metadata for the supported networks.\n */\nexport const NETWORKS_METADATA: Record<string, MultichainNetworkMetadata> = {\n [BtcScope.Mainnet]: {\n features: [],\n status: NetworkStatus.Available,\n },\n [SolScope.Mainnet]: {\n features: [],\n status: NetworkStatus.Available,\n },\n};\n\n/**\n * Default state of the {@link MultichainNetworkController}.\n *\n * @returns The default state of the {@link MultichainNetworkController}.\n */\nexport const getDefaultMultichainNetworkControllerState =\n (): MultichainNetworkControllerState => ({\n multichainNetworkConfigurationsByChainId:\n AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS,\n selectedMultichainNetworkChainId: SolScope.Mainnet,\n isEvmSelected: true,\n networksWithTransactionActivity: {},\n });\n\n/**\n * {@link MultichainNetworkController}'s metadata.\n *\n * This allows us to choose if fields of the state should be persisted or not\n * using the `persist` flag; and if they can be sent to Sentry or not, using\n * the `anonymous` flag.\n */\nexport const MULTICHAIN_NETWORK_CONTROLLER_METADATA = {\n multichainNetworkConfigurationsByChainId: { persist: true, anonymous: true },\n selectedMultichainNetworkChainId: { persist: true, anonymous: true },\n isEvmSelected: { persist: true, anonymous: true },\n networksWithTransactionActivity: { persist: true, anonymous: true },\n} satisfies StateMetadata<MultichainNetworkControllerState>;\n\n/**\n * Multichain network ticker for the supported networks.\n * TODO: This should be part of the assets-controllers or the snap itself.\n */\nexport const MULTICHAIN_NETWORK_TICKER: Record<CaipChainId, string> = {\n [BtcScope.Mainnet]: 'BTC',\n [BtcScope.Testnet]: 'tBTC',\n [BtcScope.Signet]: 'sBTC',\n [SolScope.Mainnet]: 'SOL',\n [SolScope.Testnet]: 'tSOL',\n [SolScope.Devnet]: 'dSOL',\n} as const;\n\n/**\n * Multichain network asset decimals for the supported networks.\n * TODO: This should be part of the assets-controllers or the snap itself.\n */\nexport const MULTICHAIN_NETWORK_DECIMAL_PLACES: Record<CaipChainId, number> = {\n [BtcScope.Mainnet]: 8,\n [BtcScope.Testnet]: 8,\n [BtcScope.Signet]: 8,\n [SolScope.Mainnet]: 5,\n [SolScope.Testnet]: 5,\n [SolScope.Devnet]: 5,\n} as const;\n"]}
|
package/dist/index.cjs
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.toEvmCaipChainId = exports.toMultichainNetworkConfigurationsByChainId = exports.toMultichainNetworkConfiguration = exports.checkIfSupportedCaipChainId = exports.getDefaultMultichainNetworkControllerState = exports.MultichainNetworkController = void 0;
|
|
4
|
-
var MultichainNetworkController_1 = require("./MultichainNetworkController.cjs");
|
|
3
|
+
exports.toEvmCaipChainId = exports.toMultichainNetworkConfigurationsByChainId = exports.toMultichainNetworkConfiguration = exports.checkIfSupportedCaipChainId = exports.AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS = exports.MULTICHAIN_NETWORK_DECIMAL_PLACES = exports.MULTICHAIN_NETWORK_TICKER = exports.NON_EVM_TESTNET_IDS = exports.getDefaultMultichainNetworkControllerState = exports.MultichainNetworkService = exports.MultichainNetworkController = void 0;
|
|
4
|
+
var MultichainNetworkController_1 = require("./MultichainNetworkController/MultichainNetworkController.cjs");
|
|
5
5
|
Object.defineProperty(exports, "MultichainNetworkController", { enumerable: true, get: function () { return MultichainNetworkController_1.MultichainNetworkController; } });
|
|
6
|
+
var MultichainNetworkService_1 = require("./MultichainNetworkService/MultichainNetworkService.cjs");
|
|
7
|
+
Object.defineProperty(exports, "MultichainNetworkService", { enumerable: true, get: function () { return MultichainNetworkService_1.MultichainNetworkService; } });
|
|
6
8
|
var constants_1 = require("./constants.cjs");
|
|
7
9
|
Object.defineProperty(exports, "getDefaultMultichainNetworkControllerState", { enumerable: true, get: function () { return constants_1.getDefaultMultichainNetworkControllerState; } });
|
|
10
|
+
Object.defineProperty(exports, "NON_EVM_TESTNET_IDS", { enumerable: true, get: function () { return constants_1.NON_EVM_TESTNET_IDS; } });
|
|
11
|
+
Object.defineProperty(exports, "MULTICHAIN_NETWORK_TICKER", { enumerable: true, get: function () { return constants_1.MULTICHAIN_NETWORK_TICKER; } });
|
|
12
|
+
Object.defineProperty(exports, "MULTICHAIN_NETWORK_DECIMAL_PLACES", { enumerable: true, get: function () { return constants_1.MULTICHAIN_NETWORK_DECIMAL_PLACES; } });
|
|
13
|
+
Object.defineProperty(exports, "AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS", { enumerable: true, get: function () { return constants_1.AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS; } });
|
|
8
14
|
var utils_1 = require("./utils.cjs");
|
|
9
15
|
Object.defineProperty(exports, "checkIfSupportedCaipChainId", { enumerable: true, get: function () { return utils_1.checkIfSupportedCaipChainId; } });
|
|
10
16
|
Object.defineProperty(exports, "toMultichainNetworkConfiguration", { enumerable: true, get: function () { return utils_1.toMultichainNetworkConfiguration; } });
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6GAAwG;AAA/F,0IAAA,2BAA2B,OAAA;AACpC,oGAA+F;AAAtF,oIAAA,wBAAwB,OAAA;AACjC,6CAMqB;AALnB,uIAAA,0CAA0C,OAAA;AAC1C,gHAAA,mBAAmB,OAAA;AACnB,sHAAA,yBAAyB,OAAA;AACzB,8HAAA,iCAAiC,OAAA;AACjC,wIAAA,2CAA2C,OAAA;AAkB7C,qCAKiB;AAJf,oHAAA,2BAA2B,OAAA;AAC3B,yHAAA,gCAAgC,OAAA;AAChC,mIAAA,0CAA0C,OAAA;AAC1C,yGAAA,gBAAgB,OAAA","sourcesContent":["export { MultichainNetworkController } from './MultichainNetworkController/MultichainNetworkController';\nexport { MultichainNetworkService } from './MultichainNetworkService/MultichainNetworkService';\nexport {\n getDefaultMultichainNetworkControllerState,\n NON_EVM_TESTNET_IDS,\n MULTICHAIN_NETWORK_TICKER,\n MULTICHAIN_NETWORK_DECIMAL_PLACES,\n AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS,\n} from './constants';\nexport type {\n MultichainNetworkMetadata,\n SupportedCaipChainId,\n CommonNetworkConfiguration,\n NonEvmNetworkConfiguration,\n EvmNetworkConfiguration,\n MultichainNetworkConfiguration,\n MultichainNetworkControllerState,\n MultichainNetworkControllerGetStateAction,\n MultichainNetworkControllerSetActiveNetworkAction,\n MultichainNetworkControllerStateChange,\n MultichainNetworkControllerNetworkDidChangeEvent,\n MultichainNetworkControllerActions,\n MultichainNetworkControllerEvents,\n MultichainNetworkControllerMessenger,\n} from './types';\nexport {\n checkIfSupportedCaipChainId,\n toMultichainNetworkConfiguration,\n toMultichainNetworkConfigurationsByChainId,\n toEvmCaipChainId,\n} from './utils';\nexport type { ActiveNetworksByAddress } from './api/accounts-api';\n"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
export { MultichainNetworkController } from "./MultichainNetworkController.cjs";
|
|
2
|
-
export {
|
|
1
|
+
export { MultichainNetworkController } from "./MultichainNetworkController/MultichainNetworkController.cjs";
|
|
2
|
+
export { MultichainNetworkService } from "./MultichainNetworkService/MultichainNetworkService.cjs";
|
|
3
|
+
export { getDefaultMultichainNetworkControllerState, NON_EVM_TESTNET_IDS, MULTICHAIN_NETWORK_TICKER, MULTICHAIN_NETWORK_DECIMAL_PLACES, AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS, } from "./constants.cjs";
|
|
3
4
|
export type { MultichainNetworkMetadata, SupportedCaipChainId, CommonNetworkConfiguration, NonEvmNetworkConfiguration, EvmNetworkConfiguration, MultichainNetworkConfiguration, MultichainNetworkControllerState, MultichainNetworkControllerGetStateAction, MultichainNetworkControllerSetActiveNetworkAction, MultichainNetworkControllerStateChange, MultichainNetworkControllerNetworkDidChangeEvent, MultichainNetworkControllerActions, MultichainNetworkControllerEvents, MultichainNetworkControllerMessenger, } from "./types.cjs";
|
|
4
5
|
export { checkIfSupportedCaipChainId, toMultichainNetworkConfiguration, toMultichainNetworkConfigurationsByChainId, toEvmCaipChainId, } from "./utils.cjs";
|
|
6
|
+
export type { ActiveNetworksByAddress } from "./api/accounts-api.cjs";
|
|
5
7
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,sEAAkE;AACxG,OAAO,EAAE,wBAAwB,EAAE,gEAA4D;AAC/F,OAAO,EACL,0CAA0C,EAC1C,mBAAmB,EACnB,yBAAyB,EACzB,iCAAiC,EACjC,2CAA2C,GAC5C,wBAAoB;AACrB,YAAY,EACV,yBAAyB,EACzB,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,uBAAuB,EACvB,8BAA8B,EAC9B,gCAAgC,EAChC,yCAAyC,EACzC,iDAAiD,EACjD,sCAAsC,EACtC,gDAAgD,EAChD,kCAAkC,EAClC,iCAAiC,EACjC,oCAAoC,GACrC,oBAAgB;AACjB,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,EAChC,0CAA0C,EAC1C,gBAAgB,GACjB,oBAAgB;AACjB,YAAY,EAAE,uBAAuB,EAAE,+BAA2B"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
export { MultichainNetworkController } from "./MultichainNetworkController.mjs";
|
|
2
|
-
export {
|
|
1
|
+
export { MultichainNetworkController } from "./MultichainNetworkController/MultichainNetworkController.mjs";
|
|
2
|
+
export { MultichainNetworkService } from "./MultichainNetworkService/MultichainNetworkService.mjs";
|
|
3
|
+
export { getDefaultMultichainNetworkControllerState, NON_EVM_TESTNET_IDS, MULTICHAIN_NETWORK_TICKER, MULTICHAIN_NETWORK_DECIMAL_PLACES, AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS, } from "./constants.mjs";
|
|
3
4
|
export type { MultichainNetworkMetadata, SupportedCaipChainId, CommonNetworkConfiguration, NonEvmNetworkConfiguration, EvmNetworkConfiguration, MultichainNetworkConfiguration, MultichainNetworkControllerState, MultichainNetworkControllerGetStateAction, MultichainNetworkControllerSetActiveNetworkAction, MultichainNetworkControllerStateChange, MultichainNetworkControllerNetworkDidChangeEvent, MultichainNetworkControllerActions, MultichainNetworkControllerEvents, MultichainNetworkControllerMessenger, } from "./types.mjs";
|
|
4
5
|
export { checkIfSupportedCaipChainId, toMultichainNetworkConfiguration, toMultichainNetworkConfigurationsByChainId, toEvmCaipChainId, } from "./utils.mjs";
|
|
6
|
+
export type { ActiveNetworksByAddress } from "./api/accounts-api.mjs";
|
|
5
7
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,sEAAkE;AACxG,OAAO,EAAE,wBAAwB,EAAE,gEAA4D;AAC/F,OAAO,EACL,0CAA0C,EAC1C,mBAAmB,EACnB,yBAAyB,EACzB,iCAAiC,EACjC,2CAA2C,GAC5C,wBAAoB;AACrB,YAAY,EACV,yBAAyB,EACzB,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,uBAAuB,EACvB,8BAA8B,EAC9B,gCAAgC,EAChC,yCAAyC,EACzC,iDAAiD,EACjD,sCAAsC,EACtC,gDAAgD,EAChD,kCAAkC,EAClC,iCAAiC,EACjC,oCAAoC,GACrC,oBAAgB;AACjB,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,EAChC,0CAA0C,EAC1C,gBAAgB,GACjB,oBAAgB;AACjB,YAAY,EAAE,uBAAuB,EAAE,+BAA2B"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export { MultichainNetworkController } from "./MultichainNetworkController.mjs";
|
|
2
|
-
export {
|
|
1
|
+
export { MultichainNetworkController } from "./MultichainNetworkController/MultichainNetworkController.mjs";
|
|
2
|
+
export { MultichainNetworkService } from "./MultichainNetworkService/MultichainNetworkService.mjs";
|
|
3
|
+
export { getDefaultMultichainNetworkControllerState, NON_EVM_TESTNET_IDS, MULTICHAIN_NETWORK_TICKER, MULTICHAIN_NETWORK_DECIMAL_PLACES, AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS } from "./constants.mjs";
|
|
3
4
|
export { checkIfSupportedCaipChainId, toMultichainNetworkConfiguration, toMultichainNetworkConfigurationsByChainId, toEvmCaipChainId } from "./utils.mjs";
|
|
4
5
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,sEAAkE;AACxG,OAAO,EAAE,wBAAwB,EAAE,gEAA4D;AAC/F,OAAO,EACL,0CAA0C,EAC1C,mBAAmB,EACnB,yBAAyB,EACzB,iCAAiC,EACjC,2CAA2C,EAC5C,wBAAoB;AAiBrB,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,EAChC,0CAA0C,EAC1C,gBAAgB,EACjB,oBAAgB","sourcesContent":["export { MultichainNetworkController } from './MultichainNetworkController/MultichainNetworkController';\nexport { MultichainNetworkService } from './MultichainNetworkService/MultichainNetworkService';\nexport {\n getDefaultMultichainNetworkControllerState,\n NON_EVM_TESTNET_IDS,\n MULTICHAIN_NETWORK_TICKER,\n MULTICHAIN_NETWORK_DECIMAL_PLACES,\n AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS,\n} from './constants';\nexport type {\n MultichainNetworkMetadata,\n SupportedCaipChainId,\n CommonNetworkConfiguration,\n NonEvmNetworkConfiguration,\n EvmNetworkConfiguration,\n MultichainNetworkConfiguration,\n MultichainNetworkControllerState,\n MultichainNetworkControllerGetStateAction,\n MultichainNetworkControllerSetActiveNetworkAction,\n MultichainNetworkControllerStateChange,\n MultichainNetworkControllerNetworkDidChangeEvent,\n MultichainNetworkControllerActions,\n MultichainNetworkControllerEvents,\n MultichainNetworkControllerMessenger,\n} from './types';\nexport {\n checkIfSupportedCaipChainId,\n toMultichainNetworkConfiguration,\n toMultichainNetworkConfigurationsByChainId,\n toEvmCaipChainId,\n} from './utils';\nexport type { ActiveNetworksByAddress } from './api/accounts-api';\n"]}
|
package/dist/types.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.cjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.cjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AA0Ba,QAAA,kCAAkC,GAAG,6BAA6B,CAAC","sourcesContent":["import type { AccountsControllerListMultichainAccountsAction } from '@metamask/accounts-controller';\nimport {\n type ControllerGetStateAction,\n type ControllerStateChangeEvent,\n type RestrictedMessenger,\n} from '@metamask/base-controller';\nimport type {\n BtcScope,\n CaipAssetType,\n CaipChainId,\n SolScope,\n} from '@metamask/keyring-api';\nimport type { InternalAccount } from '@metamask/keyring-internal-api';\nimport type {\n NetworkStatus,\n NetworkControllerSetActiveNetworkAction,\n NetworkControllerGetStateAction,\n NetworkControllerRemoveNetworkAction,\n NetworkControllerGetSelectedChainIdAction,\n NetworkControllerFindNetworkClientIdByChainIdAction,\n NetworkClientId,\n} from '@metamask/network-controller';\n\nimport type { ActiveNetworksByAddress } from './api/accounts-api';\nimport type { MultichainNetworkController } from './MultichainNetworkController/MultichainNetworkController';\n\nexport const MULTICHAIN_NETWORK_CONTROLLER_NAME = 'MultichainNetworkController';\n\nexport type MultichainNetworkMetadata = {\n features: string[];\n status: NetworkStatus;\n};\n\nexport type SupportedCaipChainId =\n | BtcScope.Mainnet\n | BtcScope.Testnet\n | BtcScope.Signet\n | SolScope.Mainnet\n | SolScope.Testnet\n | SolScope.Devnet;\n\nexport type CommonNetworkConfiguration = {\n /**\n * EVM network flag.\n */\n isEvm: boolean;\n /**\n * The chain ID of the network.\n */\n chainId: CaipChainId;\n /**\n * The name of the network.\n */\n name: string;\n};\n\nexport type NonEvmNetworkConfiguration = CommonNetworkConfiguration & {\n /**\n * EVM network flag.\n */\n isEvm: false;\n /**\n * The native asset type of the network.\n */\n nativeCurrency: CaipAssetType;\n};\n\n// TODO: The controller only supports non-EVM network configurations at the moment\n// Once we support Caip chain IDs for EVM networks, we can re-enable EVM network configurations\nexport type EvmNetworkConfiguration = CommonNetworkConfiguration & {\n /**\n * EVM network flag.\n */\n isEvm: true;\n /**\n * The native asset type of the network.\n * For EVM, this is the network ticker since there is no standard between\n * tickers and Caip IDs.\n */\n nativeCurrency: string;\n /**\n * The block explorers of the network.\n */\n blockExplorerUrls: string[];\n /**\n * The index of the default block explorer URL.\n */\n defaultBlockExplorerUrlIndex: number;\n};\n\nexport type MultichainNetworkConfiguration =\n | EvmNetworkConfiguration\n | NonEvmNetworkConfiguration;\n\n/**\n * State used by the {@link MultichainNetworkController} to cache network configurations.\n */\nexport type MultichainNetworkControllerState = {\n /**\n * The network configurations by chain ID.\n */\n multichainNetworkConfigurationsByChainId: Record<\n CaipChainId,\n MultichainNetworkConfiguration\n >;\n /**\n * The chain ID of the selected network.\n */\n selectedMultichainNetworkChainId: SupportedCaipChainId;\n /**\n * Whether EVM or non-EVM network is selected\n */\n isEvmSelected: boolean;\n /**\n * The active networks for the available EVM addresses (non-EVM networks will be supported in the future).\n */\n networksWithTransactionActivity: ActiveNetworksByAddress;\n};\n\n/**\n * Returns the state of the {@link MultichainNetworkController}.\n */\nexport type MultichainNetworkControllerGetStateAction =\n ControllerGetStateAction<\n typeof MULTICHAIN_NETWORK_CONTROLLER_NAME,\n MultichainNetworkControllerState\n >;\n\nexport type SetActiveNetworkMethod = (\n id: SupportedCaipChainId | NetworkClientId,\n) => Promise<void>;\n\nexport type MultichainNetworkControllerSetActiveNetworkAction = {\n type: `${typeof MULTICHAIN_NETWORK_CONTROLLER_NAME}:setActiveNetwork`;\n handler: SetActiveNetworkMethod;\n};\n\nexport type MultichainNetworkControllerGetNetworksWithTransactionActivityByAccountsAction =\n {\n type: `${typeof MULTICHAIN_NETWORK_CONTROLLER_NAME}:getNetworksWithTransactionActivityByAccounts`;\n handler: MultichainNetworkController['getNetworksWithTransactionActivityByAccounts'];\n };\n\n/**\n * Event emitted when the state of the {@link MultichainNetworkController} changes.\n */\nexport type MultichainNetworkControllerStateChange = ControllerStateChangeEvent<\n typeof MULTICHAIN_NETWORK_CONTROLLER_NAME,\n MultichainNetworkControllerState\n>;\n\nexport type MultichainNetworkControllerNetworkDidChangeEvent = {\n type: `${typeof MULTICHAIN_NETWORK_CONTROLLER_NAME}:networkDidChange`;\n payload: [NetworkClientId | SupportedCaipChainId];\n};\n\n/**\n * Actions exposed by the {@link MultichainNetworkController}.\n */\nexport type MultichainNetworkControllerActions =\n | MultichainNetworkControllerGetStateAction\n | MultichainNetworkControllerSetActiveNetworkAction\n | MultichainNetworkControllerGetNetworksWithTransactionActivityByAccountsAction;\n\n/**\n * Events emitted by {@link MultichainNetworkController}.\n */\nexport type MultichainNetworkControllerEvents =\n | MultichainNetworkControllerStateChange\n | MultichainNetworkControllerNetworkDidChangeEvent;\n\n/**\n * Actions that this controller is allowed to call.\n */\nexport type AllowedActions =\n | NetworkControllerGetStateAction\n | NetworkControllerSetActiveNetworkAction\n | AccountsControllerListMultichainAccountsAction\n | NetworkControllerRemoveNetworkAction\n | NetworkControllerGetSelectedChainIdAction\n | NetworkControllerFindNetworkClientIdByChainIdAction;\n\n// Re-define event here to avoid circular dependency with AccountsController\nexport type AccountsControllerSelectedAccountChangeEvent = {\n type: `AccountsController:selectedAccountChange`;\n payload: [InternalAccount];\n};\n\n/**\n * Events that this controller is allowed to subscribe.\n */\nexport type AllowedEvents = AccountsControllerSelectedAccountChangeEvent;\n\nexport type MultichainNetworkControllerAllowedActions =\n | MultichainNetworkControllerActions\n | AllowedActions;\n\nexport type MultichainNetworkControllerAllowedEvents =\n | MultichainNetworkControllerEvents\n | AllowedEvents;\n\n/**\n * Messenger type for the MultichainNetworkController.\n */\nexport type MultichainNetworkControllerMessenger = RestrictedMessenger<\n typeof MULTICHAIN_NETWORK_CONTROLLER_NAME,\n MultichainNetworkControllerAllowedActions,\n MultichainNetworkControllerAllowedEvents,\n AllowedActions['type'],\n AllowedEvents['type']\n>;\n"]}
|
package/dist/types.d.cts
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
|
+
import type { AccountsControllerListMultichainAccountsAction } from "@metamask/accounts-controller";
|
|
1
2
|
import { type ControllerGetStateAction, type ControllerStateChangeEvent, type RestrictedMessenger } from "@metamask/base-controller";
|
|
2
|
-
import type { BtcScope, CaipChainId, SolScope } from "@metamask/keyring-api";
|
|
3
|
+
import type { BtcScope, CaipAssetType, CaipChainId, SolScope } from "@metamask/keyring-api";
|
|
3
4
|
import type { InternalAccount } from "@metamask/keyring-internal-api";
|
|
4
|
-
import type { NetworkStatus, NetworkControllerSetActiveNetworkAction, NetworkControllerGetStateAction, NetworkClientId } from "@metamask/network-controller";
|
|
5
|
-
import {
|
|
5
|
+
import type { NetworkStatus, NetworkControllerSetActiveNetworkAction, NetworkControllerGetStateAction, NetworkControllerRemoveNetworkAction, NetworkControllerGetSelectedChainIdAction, NetworkControllerFindNetworkClientIdByChainIdAction, NetworkClientId } from "@metamask/network-controller";
|
|
6
|
+
import type { ActiveNetworksByAddress } from "./api/accounts-api.cjs";
|
|
7
|
+
import type { MultichainNetworkController } from "./MultichainNetworkController/MultichainNetworkController.cjs";
|
|
6
8
|
export declare const MULTICHAIN_NETWORK_CONTROLLER_NAME = "MultichainNetworkController";
|
|
7
9
|
export type MultichainNetworkMetadata = {
|
|
8
10
|
features: string[];
|
|
9
11
|
status: NetworkStatus;
|
|
10
12
|
};
|
|
11
|
-
export type SupportedCaipChainId =
|
|
13
|
+
export type SupportedCaipChainId = BtcScope.Mainnet | BtcScope.Testnet | BtcScope.Signet | SolScope.Mainnet | SolScope.Testnet | SolScope.Devnet;
|
|
12
14
|
export type CommonNetworkConfiguration = {
|
|
13
15
|
/**
|
|
14
16
|
* EVM network flag.
|
|
@@ -70,6 +72,10 @@ export type MultichainNetworkControllerState = {
|
|
|
70
72
|
* Whether EVM or non-EVM network is selected
|
|
71
73
|
*/
|
|
72
74
|
isEvmSelected: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* The active networks for the available EVM addresses (non-EVM networks will be supported in the future).
|
|
77
|
+
*/
|
|
78
|
+
networksWithTransactionActivity: ActiveNetworksByAddress;
|
|
73
79
|
};
|
|
74
80
|
/**
|
|
75
81
|
* Returns the state of the {@link MultichainNetworkController}.
|
|
@@ -80,6 +86,10 @@ export type MultichainNetworkControllerSetActiveNetworkAction = {
|
|
|
80
86
|
type: `${typeof MULTICHAIN_NETWORK_CONTROLLER_NAME}:setActiveNetwork`;
|
|
81
87
|
handler: SetActiveNetworkMethod;
|
|
82
88
|
};
|
|
89
|
+
export type MultichainNetworkControllerGetNetworksWithTransactionActivityByAccountsAction = {
|
|
90
|
+
type: `${typeof MULTICHAIN_NETWORK_CONTROLLER_NAME}:getNetworksWithTransactionActivityByAccounts`;
|
|
91
|
+
handler: MultichainNetworkController['getNetworksWithTransactionActivityByAccounts'];
|
|
92
|
+
};
|
|
83
93
|
/**
|
|
84
94
|
* Event emitted when the state of the {@link MultichainNetworkController} changes.
|
|
85
95
|
*/
|
|
@@ -91,7 +101,7 @@ export type MultichainNetworkControllerNetworkDidChangeEvent = {
|
|
|
91
101
|
/**
|
|
92
102
|
* Actions exposed by the {@link MultichainNetworkController}.
|
|
93
103
|
*/
|
|
94
|
-
export type MultichainNetworkControllerActions = MultichainNetworkControllerGetStateAction | MultichainNetworkControllerSetActiveNetworkAction;
|
|
104
|
+
export type MultichainNetworkControllerActions = MultichainNetworkControllerGetStateAction | MultichainNetworkControllerSetActiveNetworkAction | MultichainNetworkControllerGetNetworksWithTransactionActivityByAccountsAction;
|
|
95
105
|
/**
|
|
96
106
|
* Events emitted by {@link MultichainNetworkController}.
|
|
97
107
|
*/
|
|
@@ -99,7 +109,7 @@ export type MultichainNetworkControllerEvents = MultichainNetworkControllerState
|
|
|
99
109
|
/**
|
|
100
110
|
* Actions that this controller is allowed to call.
|
|
101
111
|
*/
|
|
102
|
-
export type AllowedActions = NetworkControllerGetStateAction | NetworkControllerSetActiveNetworkAction;
|
|
112
|
+
export type AllowedActions = NetworkControllerGetStateAction | NetworkControllerSetActiveNetworkAction | AccountsControllerListMultichainAccountsAction | NetworkControllerRemoveNetworkAction | NetworkControllerGetSelectedChainIdAction | NetworkControllerFindNetworkClientIdByChainIdAction;
|
|
103
113
|
export type AccountsControllerSelectedAccountChangeEvent = {
|
|
104
114
|
type: `AccountsController:selectedAccountChange`;
|
|
105
115
|
payload: [InternalAccount];
|
package/dist/types.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACzB,kCAAkC;AACnC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.mts
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
|
+
import type { AccountsControllerListMultichainAccountsAction } from "@metamask/accounts-controller";
|
|
1
2
|
import { type ControllerGetStateAction, type ControllerStateChangeEvent, type RestrictedMessenger } from "@metamask/base-controller";
|
|
2
|
-
import type { BtcScope, CaipChainId, SolScope } from "@metamask/keyring-api";
|
|
3
|
+
import type { BtcScope, CaipAssetType, CaipChainId, SolScope } from "@metamask/keyring-api";
|
|
3
4
|
import type { InternalAccount } from "@metamask/keyring-internal-api";
|
|
4
|
-
import type { NetworkStatus, NetworkControllerSetActiveNetworkAction, NetworkControllerGetStateAction, NetworkClientId } from "@metamask/network-controller";
|
|
5
|
-
import {
|
|
5
|
+
import type { NetworkStatus, NetworkControllerSetActiveNetworkAction, NetworkControllerGetStateAction, NetworkControllerRemoveNetworkAction, NetworkControllerGetSelectedChainIdAction, NetworkControllerFindNetworkClientIdByChainIdAction, NetworkClientId } from "@metamask/network-controller";
|
|
6
|
+
import type { ActiveNetworksByAddress } from "./api/accounts-api.mjs";
|
|
7
|
+
import type { MultichainNetworkController } from "./MultichainNetworkController/MultichainNetworkController.mjs";
|
|
6
8
|
export declare const MULTICHAIN_NETWORK_CONTROLLER_NAME = "MultichainNetworkController";
|
|
7
9
|
export type MultichainNetworkMetadata = {
|
|
8
10
|
features: string[];
|
|
9
11
|
status: NetworkStatus;
|
|
10
12
|
};
|
|
11
|
-
export type SupportedCaipChainId =
|
|
13
|
+
export type SupportedCaipChainId = BtcScope.Mainnet | BtcScope.Testnet | BtcScope.Signet | SolScope.Mainnet | SolScope.Testnet | SolScope.Devnet;
|
|
12
14
|
export type CommonNetworkConfiguration = {
|
|
13
15
|
/**
|
|
14
16
|
* EVM network flag.
|
|
@@ -70,6 +72,10 @@ export type MultichainNetworkControllerState = {
|
|
|
70
72
|
* Whether EVM or non-EVM network is selected
|
|
71
73
|
*/
|
|
72
74
|
isEvmSelected: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* The active networks for the available EVM addresses (non-EVM networks will be supported in the future).
|
|
77
|
+
*/
|
|
78
|
+
networksWithTransactionActivity: ActiveNetworksByAddress;
|
|
73
79
|
};
|
|
74
80
|
/**
|
|
75
81
|
* Returns the state of the {@link MultichainNetworkController}.
|
|
@@ -80,6 +86,10 @@ export type MultichainNetworkControllerSetActiveNetworkAction = {
|
|
|
80
86
|
type: `${typeof MULTICHAIN_NETWORK_CONTROLLER_NAME}:setActiveNetwork`;
|
|
81
87
|
handler: SetActiveNetworkMethod;
|
|
82
88
|
};
|
|
89
|
+
export type MultichainNetworkControllerGetNetworksWithTransactionActivityByAccountsAction = {
|
|
90
|
+
type: `${typeof MULTICHAIN_NETWORK_CONTROLLER_NAME}:getNetworksWithTransactionActivityByAccounts`;
|
|
91
|
+
handler: MultichainNetworkController['getNetworksWithTransactionActivityByAccounts'];
|
|
92
|
+
};
|
|
83
93
|
/**
|
|
84
94
|
* Event emitted when the state of the {@link MultichainNetworkController} changes.
|
|
85
95
|
*/
|
|
@@ -91,7 +101,7 @@ export type MultichainNetworkControllerNetworkDidChangeEvent = {
|
|
|
91
101
|
/**
|
|
92
102
|
* Actions exposed by the {@link MultichainNetworkController}.
|
|
93
103
|
*/
|
|
94
|
-
export type MultichainNetworkControllerActions = MultichainNetworkControllerGetStateAction | MultichainNetworkControllerSetActiveNetworkAction;
|
|
104
|
+
export type MultichainNetworkControllerActions = MultichainNetworkControllerGetStateAction | MultichainNetworkControllerSetActiveNetworkAction | MultichainNetworkControllerGetNetworksWithTransactionActivityByAccountsAction;
|
|
95
105
|
/**
|
|
96
106
|
* Events emitted by {@link MultichainNetworkController}.
|
|
97
107
|
*/
|
|
@@ -99,7 +109,7 @@ export type MultichainNetworkControllerEvents = MultichainNetworkControllerState
|
|
|
99
109
|
/**
|
|
100
110
|
* Actions that this controller is allowed to call.
|
|
101
111
|
*/
|
|
102
|
-
export type AllowedActions = NetworkControllerGetStateAction | NetworkControllerSetActiveNetworkAction;
|
|
112
|
+
export type AllowedActions = NetworkControllerGetStateAction | NetworkControllerSetActiveNetworkAction | AccountsControllerListMultichainAccountsAction | NetworkControllerRemoveNetworkAction | NetworkControllerGetSelectedChainIdAction | NetworkControllerFindNetworkClientIdByChainIdAction;
|
|
103
113
|
export type AccountsControllerSelectedAccountChangeEvent = {
|
|
104
114
|
type: `AccountsController:selectedAccountChange`;
|
|
105
115
|
payload: [InternalAccount];
|
package/dist/types.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACzB,kCAAkC;AACnC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.mjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.mjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA0BA,MAAM,CAAC,MAAM,kCAAkC,GAAG,6BAA6B,CAAC","sourcesContent":["import type { AccountsControllerListMultichainAccountsAction } from '@metamask/accounts-controller';\nimport {\n type ControllerGetStateAction,\n type ControllerStateChangeEvent,\n type RestrictedMessenger,\n} from '@metamask/base-controller';\nimport type {\n BtcScope,\n CaipAssetType,\n CaipChainId,\n SolScope,\n} from '@metamask/keyring-api';\nimport type { InternalAccount } from '@metamask/keyring-internal-api';\nimport type {\n NetworkStatus,\n NetworkControllerSetActiveNetworkAction,\n NetworkControllerGetStateAction,\n NetworkControllerRemoveNetworkAction,\n NetworkControllerGetSelectedChainIdAction,\n NetworkControllerFindNetworkClientIdByChainIdAction,\n NetworkClientId,\n} from '@metamask/network-controller';\n\nimport type { ActiveNetworksByAddress } from './api/accounts-api';\nimport type { MultichainNetworkController } from './MultichainNetworkController/MultichainNetworkController';\n\nexport const MULTICHAIN_NETWORK_CONTROLLER_NAME = 'MultichainNetworkController';\n\nexport type MultichainNetworkMetadata = {\n features: string[];\n status: NetworkStatus;\n};\n\nexport type SupportedCaipChainId =\n | BtcScope.Mainnet\n | BtcScope.Testnet\n | BtcScope.Signet\n | SolScope.Mainnet\n | SolScope.Testnet\n | SolScope.Devnet;\n\nexport type CommonNetworkConfiguration = {\n /**\n * EVM network flag.\n */\n isEvm: boolean;\n /**\n * The chain ID of the network.\n */\n chainId: CaipChainId;\n /**\n * The name of the network.\n */\n name: string;\n};\n\nexport type NonEvmNetworkConfiguration = CommonNetworkConfiguration & {\n /**\n * EVM network flag.\n */\n isEvm: false;\n /**\n * The native asset type of the network.\n */\n nativeCurrency: CaipAssetType;\n};\n\n// TODO: The controller only supports non-EVM network configurations at the moment\n// Once we support Caip chain IDs for EVM networks, we can re-enable EVM network configurations\nexport type EvmNetworkConfiguration = CommonNetworkConfiguration & {\n /**\n * EVM network flag.\n */\n isEvm: true;\n /**\n * The native asset type of the network.\n * For EVM, this is the network ticker since there is no standard between\n * tickers and Caip IDs.\n */\n nativeCurrency: string;\n /**\n * The block explorers of the network.\n */\n blockExplorerUrls: string[];\n /**\n * The index of the default block explorer URL.\n */\n defaultBlockExplorerUrlIndex: number;\n};\n\nexport type MultichainNetworkConfiguration =\n | EvmNetworkConfiguration\n | NonEvmNetworkConfiguration;\n\n/**\n * State used by the {@link MultichainNetworkController} to cache network configurations.\n */\nexport type MultichainNetworkControllerState = {\n /**\n * The network configurations by chain ID.\n */\n multichainNetworkConfigurationsByChainId: Record<\n CaipChainId,\n MultichainNetworkConfiguration\n >;\n /**\n * The chain ID of the selected network.\n */\n selectedMultichainNetworkChainId: SupportedCaipChainId;\n /**\n * Whether EVM or non-EVM network is selected\n */\n isEvmSelected: boolean;\n /**\n * The active networks for the available EVM addresses (non-EVM networks will be supported in the future).\n */\n networksWithTransactionActivity: ActiveNetworksByAddress;\n};\n\n/**\n * Returns the state of the {@link MultichainNetworkController}.\n */\nexport type MultichainNetworkControllerGetStateAction =\n ControllerGetStateAction<\n typeof MULTICHAIN_NETWORK_CONTROLLER_NAME,\n MultichainNetworkControllerState\n >;\n\nexport type SetActiveNetworkMethod = (\n id: SupportedCaipChainId | NetworkClientId,\n) => Promise<void>;\n\nexport type MultichainNetworkControllerSetActiveNetworkAction = {\n type: `${typeof MULTICHAIN_NETWORK_CONTROLLER_NAME}:setActiveNetwork`;\n handler: SetActiveNetworkMethod;\n};\n\nexport type MultichainNetworkControllerGetNetworksWithTransactionActivityByAccountsAction =\n {\n type: `${typeof MULTICHAIN_NETWORK_CONTROLLER_NAME}:getNetworksWithTransactionActivityByAccounts`;\n handler: MultichainNetworkController['getNetworksWithTransactionActivityByAccounts'];\n };\n\n/**\n * Event emitted when the state of the {@link MultichainNetworkController} changes.\n */\nexport type MultichainNetworkControllerStateChange = ControllerStateChangeEvent<\n typeof MULTICHAIN_NETWORK_CONTROLLER_NAME,\n MultichainNetworkControllerState\n>;\n\nexport type MultichainNetworkControllerNetworkDidChangeEvent = {\n type: `${typeof MULTICHAIN_NETWORK_CONTROLLER_NAME}:networkDidChange`;\n payload: [NetworkClientId | SupportedCaipChainId];\n};\n\n/**\n * Actions exposed by the {@link MultichainNetworkController}.\n */\nexport type MultichainNetworkControllerActions =\n | MultichainNetworkControllerGetStateAction\n | MultichainNetworkControllerSetActiveNetworkAction\n | MultichainNetworkControllerGetNetworksWithTransactionActivityByAccountsAction;\n\n/**\n * Events emitted by {@link MultichainNetworkController}.\n */\nexport type MultichainNetworkControllerEvents =\n | MultichainNetworkControllerStateChange\n | MultichainNetworkControllerNetworkDidChangeEvent;\n\n/**\n * Actions that this controller is allowed to call.\n */\nexport type AllowedActions =\n | NetworkControllerGetStateAction\n | NetworkControllerSetActiveNetworkAction\n | AccountsControllerListMultichainAccountsAction\n | NetworkControllerRemoveNetworkAction\n | NetworkControllerGetSelectedChainIdAction\n | NetworkControllerFindNetworkClientIdByChainIdAction;\n\n// Re-define event here to avoid circular dependency with AccountsController\nexport type AccountsControllerSelectedAccountChangeEvent = {\n type: `AccountsController:selectedAccountChange`;\n payload: [InternalAccount];\n};\n\n/**\n * Events that this controller is allowed to subscribe.\n */\nexport type AllowedEvents = AccountsControllerSelectedAccountChangeEvent;\n\nexport type MultichainNetworkControllerAllowedActions =\n | MultichainNetworkControllerActions\n | AllowedActions;\n\nexport type MultichainNetworkControllerAllowedEvents =\n | MultichainNetworkControllerEvents\n | AllowedEvents;\n\n/**\n * Messenger type for the MultichainNetworkController.\n */\nexport type MultichainNetworkControllerMessenger = RestrictedMessenger<\n typeof MULTICHAIN_NETWORK_CONTROLLER_NAME,\n MultichainNetworkControllerAllowedActions,\n MultichainNetworkControllerAllowedEvents,\n AllowedActions['type'],\n AllowedEvents['type']\n>;\n"]}
|