@metamask-previews/multichain-network-controller 3.2.4-preview-4f4c98e → 3.2.4-preview-5b293ee50
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 -4
- package/dist/MultichainNetworkController/MultichainNetworkController-method-action-types.cjs +7 -0
- package/dist/MultichainNetworkController/MultichainNetworkController-method-action-types.cjs.map +1 -0
- package/dist/MultichainNetworkController/{MultichainNetworkController-method-action-types.d.ts → MultichainNetworkController-method-action-types.d.cts} +2 -2
- package/dist/MultichainNetworkController/MultichainNetworkController-method-action-types.d.cts.map +1 -0
- package/dist/MultichainNetworkController/MultichainNetworkController-method-action-types.d.mts +30 -0
- package/dist/MultichainNetworkController/MultichainNetworkController-method-action-types.d.mts.map +1 -0
- package/dist/MultichainNetworkController/{MultichainNetworkController-method-action-types.js → MultichainNetworkController-method-action-types.mjs} +1 -1
- package/dist/MultichainNetworkController/MultichainNetworkController-method-action-types.mjs.map +1 -0
- package/dist/MultichainNetworkController/MultichainNetworkController.cjs +208 -0
- package/dist/MultichainNetworkController/MultichainNetworkController.cjs.map +1 -0
- package/dist/MultichainNetworkController/{MultichainNetworkController.d.ts → MultichainNetworkController.d.cts} +8 -8
- package/dist/MultichainNetworkController/MultichainNetworkController.d.cts.map +1 -0
- package/dist/MultichainNetworkController/MultichainNetworkController.d.mts +42 -0
- package/dist/MultichainNetworkController/MultichainNetworkController.d.mts.map +1 -0
- package/dist/MultichainNetworkController/{MultichainNetworkController.js → MultichainNetworkController.mjs} +8 -8
- 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 +89 -0
- package/dist/MultichainNetworkService/MultichainNetworkService.cjs.map +1 -0
- package/dist/MultichainNetworkService/{MultichainNetworkService.d.ts → MultichainNetworkService.d.cts} +3 -3
- package/dist/MultichainNetworkService/MultichainNetworkService.d.cts.map +1 -0
- package/dist/MultichainNetworkService/MultichainNetworkService.d.mts +22 -0
- package/dist/MultichainNetworkService/MultichainNetworkService.d.mts.map +1 -0
- package/dist/MultichainNetworkService/{MultichainNetworkService.js → MultichainNetworkService.mjs} +5 -4
- package/dist/MultichainNetworkService/MultichainNetworkService.mjs.map +1 -0
- package/dist/api/accounts-api.cjs +90 -0
- package/dist/api/accounts-api.cjs.map +1 -0
- package/dist/api/{accounts-api.d.ts → accounts-api.d.cts} +4 -4
- 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.js → accounts-api.mjs} +4 -4
- package/dist/api/accounts-api.mjs.map +1 -0
- package/dist/constants.cjs +222 -0
- package/dist/constants.cjs.map +1 -0
- package/dist/{constants.d.ts → constants.d.cts} +3 -3
- package/dist/constants.d.cts.map +1 -0
- package/dist/constants.d.mts +79 -0
- package/dist/constants.d.mts.map +1 -0
- package/dist/{constants.js → constants.mjs} +3 -3
- package/dist/constants.mjs.map +1 -0
- package/dist/index.cjs +19 -0
- package/dist/index.cjs.map +1 -0
- package/dist/{index.d.ts → index.d.cts} +8 -8
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +8 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +5 -0
- package/dist/index.mjs.map +1 -0
- package/dist/types.cjs +5 -0
- package/dist/types.cjs.map +1 -0
- package/dist/{types.d.ts → types.d.cts} +9 -9
- package/dist/types.d.cts.map +1 -0
- package/dist/types.d.mts +118 -0
- package/dist/types.d.mts.map +1 -0
- package/dist/{types.js → types.mjs} +1 -1
- package/dist/types.mjs.map +1 -0
- package/dist/utils.cjs +106 -0
- package/dist/utils.cjs.map +1 -0
- package/dist/{utils.d.ts → utils.d.cts} +5 -5
- package/dist/utils.d.cts.map +1 -0
- package/dist/utils.d.mts +63 -0
- package/dist/utils.d.mts.map +1 -0
- package/dist/{utils.js → utils.mjs} +3 -3
- package/dist/utils.mjs.map +1 -0
- package/package.json +18 -14
- package/dist/MultichainNetworkController/MultichainNetworkController-method-action-types.d.ts.map +0 -1
- package/dist/MultichainNetworkController/MultichainNetworkController-method-action-types.js.map +0 -1
- package/dist/MultichainNetworkController/MultichainNetworkController.d.ts.map +0 -1
- package/dist/MultichainNetworkController/MultichainNetworkController.js.map +0 -1
- package/dist/MultichainNetworkService/AbstractMultichainNetworkService.d.ts +0 -7
- package/dist/MultichainNetworkService/AbstractMultichainNetworkService.d.ts.map +0 -1
- package/dist/MultichainNetworkService/AbstractMultichainNetworkService.js +0 -2
- package/dist/MultichainNetworkService/AbstractMultichainNetworkService.js.map +0 -1
- package/dist/MultichainNetworkService/MultichainNetworkService.d.ts.map +0 -1
- package/dist/MultichainNetworkService/MultichainNetworkService.js.map +0 -1
- package/dist/api/accounts-api.d.ts.map +0 -1
- package/dist/api/accounts-api.js.map +0 -1
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -5
- package/dist/index.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.cjs","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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","sourcesContent":["import type { StateMetadata } from '@metamask/base-controller';\nimport { BtcScope, SolScope, TrxScope, XlmScope } from '@metamask/keyring-api';\nimport type { CaipChainId } from '@metamask/keyring-api';\nimport { NetworkStatus } from '@metamask/network-controller';\n\nimport type {\n MultichainNetworkConfiguration,\n MultichainNetworkControllerState,\n MultichainNetworkMetadata,\n SupportedCaipChainId,\n} from './types.js';\n\nexport const BTC_NATIVE_ASSET = `${BtcScope.Mainnet}/slip44:0`;\nexport const BTC_TESTNET_NATIVE_ASSET = `${BtcScope.Testnet}/slip44:0`;\nexport const BTC_TESTNET4_NATIVE_ASSET = `${BtcScope.Testnet4}/slip44:0`;\nexport const BTC_SIGNET_NATIVE_ASSET = `${BtcScope.Signet}/slip44:0`;\nexport const BTC_REGTEST_NATIVE_ASSET = `${BtcScope.Regtest}/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`;\nexport const TRX_NATIVE_ASSET = `${TrxScope.Mainnet}/slip44:195`;\nexport const TRX_NILE_NATIVE_ASSET = `${TrxScope.Nile}/slip44:195`;\nexport const TRX_SHASTA_NATIVE_ASSET = `${TrxScope.Shasta}/slip44:195`;\nexport const XLM_NATIVE_ASSET = `${XlmScope.Pubnet}/slip44:148`;\nexport const XLM_TESTNET_NATIVE_ASSET = `${XlmScope.Testnet}/slip44:148`;\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.Testnet4]: {\n chainId: BtcScope.Testnet4,\n name: 'Bitcoin Testnet4',\n nativeCurrency: BTC_TESTNET4_NATIVE_ASSET,\n isEvm: false,\n },\n [BtcScope.Signet]: {\n chainId: BtcScope.Signet,\n name: 'Bitcoin Mutinynet',\n nativeCurrency: BTC_SIGNET_NATIVE_ASSET,\n isEvm: false,\n },\n [BtcScope.Regtest]: {\n chainId: BtcScope.Regtest,\n name: 'Bitcoin Regtest',\n nativeCurrency: BTC_REGTEST_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 [TrxScope.Mainnet]: {\n chainId: TrxScope.Mainnet,\n name: 'Tron',\n nativeCurrency: TRX_NATIVE_ASSET,\n isEvm: false,\n },\n [TrxScope.Nile]: {\n chainId: TrxScope.Nile,\n name: 'Tron Nile',\n nativeCurrency: TRX_NILE_NATIVE_ASSET,\n isEvm: false,\n },\n [TrxScope.Shasta]: {\n chainId: TrxScope.Shasta,\n name: 'Tron Shasta',\n nativeCurrency: TRX_SHASTA_NATIVE_ASSET,\n isEvm: false,\n },\n [XlmScope.Pubnet]: {\n chainId: XlmScope.Pubnet,\n name: 'Stellar',\n nativeCurrency: XLM_NATIVE_ASSET,\n isEvm: false,\n },\n [XlmScope.Testnet]: {\n chainId: XlmScope.Testnet,\n name: 'Stellar Testnet',\n nativeCurrency: XLM_TESTNET_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.Testnet4,\n BtcScope.Signet,\n BtcScope.Regtest,\n SolScope.Testnet,\n SolScope.Devnet,\n TrxScope.Nile,\n TrxScope.Shasta,\n XlmScope.Testnet,\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 [TrxScope.Mainnet]: {\n features: [],\n status: NetworkStatus.Available,\n },\n [XlmScope.Pubnet]: {\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: {\n includeInStateLogs: true,\n persist: true,\n includeInDebugSnapshot: true,\n usedInUi: true,\n },\n selectedMultichainNetworkChainId: {\n includeInStateLogs: true,\n persist: true,\n includeInDebugSnapshot: true,\n usedInUi: true,\n },\n isEvmSelected: {\n includeInStateLogs: true,\n persist: true,\n includeInDebugSnapshot: true,\n usedInUi: true,\n },\n networksWithTransactionActivity: {\n includeInStateLogs: true,\n persist: true,\n includeInDebugSnapshot: true,\n usedInUi: true,\n },\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.Testnet4]: 'tBTC',\n [BtcScope.Signet]: 'sBTC',\n [BtcScope.Regtest]: 'rBTC',\n [SolScope.Mainnet]: 'SOL',\n [SolScope.Testnet]: 'tSOL',\n [SolScope.Devnet]: 'dSOL',\n [TrxScope.Mainnet]: 'TRX',\n [TrxScope.Nile]: 'tTRX',\n [TrxScope.Shasta]: 'sTRX',\n [XlmScope.Pubnet]: 'XLM',\n [XlmScope.Testnet]: 'tXLM',\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.Testnet4]: 8,\n [BtcScope.Signet]: 8,\n [BtcScope.Regtest]: 8,\n [SolScope.Mainnet]: 5,\n [SolScope.Testnet]: 5,\n [SolScope.Devnet]: 5,\n [TrxScope.Mainnet]: 6,\n [TrxScope.Nile]: 6,\n [TrxScope.Shasta]: 6,\n [XlmScope.Pubnet]: 7,\n [XlmScope.Testnet]: 7,\n} as const;\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { CaipChainId } from
|
|
2
|
-
import type { MultichainNetworkConfiguration, MultichainNetworkControllerState, MultichainNetworkMetadata, SupportedCaipChainId } from
|
|
1
|
+
import type { CaipChainId } from "@metamask/keyring-api";
|
|
2
|
+
import type { MultichainNetworkConfiguration, MultichainNetworkControllerState, MultichainNetworkMetadata, SupportedCaipChainId } from "./types.cjs";
|
|
3
3
|
export declare const BTC_NATIVE_ASSET = "bip122:000000000019d6689c085ae165831e93/slip44:0";
|
|
4
4
|
export declare const BTC_TESTNET_NATIVE_ASSET = "bip122:000000000933ea01ad0ee984209779ba/slip44:0";
|
|
5
5
|
export declare const BTC_TESTNET4_NATIVE_ASSET = "bip122:00000000da84f2bafbbc53dee25a72ae/slip44:0";
|
|
@@ -76,4 +76,4 @@ export declare const MULTICHAIN_NETWORK_TICKER: Record<CaipChainId, string>;
|
|
|
76
76
|
* TODO: This should be part of the assets-controllers or the snap itself.
|
|
77
77
|
*/
|
|
78
78
|
export declare const MULTICHAIN_NETWORK_DECIMAL_PLACES: Record<CaipChainId, number>;
|
|
79
|
-
//# sourceMappingURL=constants.d.
|
|
79
|
+
//# sourceMappingURL=constants.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.cts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,8BAA8B;AAGzD,OAAO,KAAK,EACV,8BAA8B,EAC9B,gCAAgC,EAChC,yBAAyB,EACzB,oBAAoB,EACrB,oBAAmB;AAEpB,eAAO,MAAM,gBAAgB,qDAAiC,CAAC;AAC/D,eAAO,MAAM,wBAAwB,qDAAiC,CAAC;AACvE,eAAO,MAAM,yBAAyB,qDAAkC,CAAC;AACzE,eAAO,MAAM,uBAAuB,qDAAgC,CAAC;AACrE,eAAO,MAAM,wBAAwB,4BAAiC,CAAC;AACvE,eAAO,MAAM,gBAAgB,uDAAmC,CAAC;AACjE,eAAO,MAAM,wBAAwB,uDAAmC,CAAC;AACzE,eAAO,MAAM,uBAAuB,uDAAkC,CAAC;AACvE,eAAO,MAAM,gBAAgB,8BAAmC,CAAC;AACjE,eAAO,MAAM,qBAAqB,+BAAgC,CAAC;AACnE,eAAO,MAAM,uBAAuB,+BAAkC,CAAC;AACvE,eAAO,MAAM,gBAAgB,8BAAkC,CAAC;AAChE,eAAO,MAAM,wBAAwB,+BAAmC,CAAC;AAEzE;;GAEG;AACH,eAAO,MAAM,2CAA2C,EAAE,MAAM,CAC9D,oBAAoB,EACpB,8BAA8B,CAgF/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAAW,EAU5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAiBvE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0CAA0C,QACjD,gCAMF,CAAC;AAEL;;;;;;GAMG;AACH,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;CAyBQ,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAcxD,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAchE,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import type { CaipChainId } from "@metamask/keyring-api";
|
|
2
|
+
import type { MultichainNetworkConfiguration, MultichainNetworkControllerState, MultichainNetworkMetadata, SupportedCaipChainId } from "./types.mjs";
|
|
3
|
+
export declare const BTC_NATIVE_ASSET = "bip122:000000000019d6689c085ae165831e93/slip44:0";
|
|
4
|
+
export declare const BTC_TESTNET_NATIVE_ASSET = "bip122:000000000933ea01ad0ee984209779ba/slip44:0";
|
|
5
|
+
export declare const BTC_TESTNET4_NATIVE_ASSET = "bip122:00000000da84f2bafbbc53dee25a72ae/slip44:0";
|
|
6
|
+
export declare const BTC_SIGNET_NATIVE_ASSET = "bip122:00000008819873e925422c1ff0f99f7c/slip44:0";
|
|
7
|
+
export declare const BTC_REGTEST_NATIVE_ASSET = "bip122:regtest/slip44:0";
|
|
8
|
+
export declare const SOL_NATIVE_ASSET = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501";
|
|
9
|
+
export declare const SOL_TESTNET_NATIVE_ASSET = "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z/slip44:501";
|
|
10
|
+
export declare const SOL_DEVNET_NATIVE_ASSET = "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1/slip44:501";
|
|
11
|
+
export declare const TRX_NATIVE_ASSET = "tron:728126428/slip44:195";
|
|
12
|
+
export declare const TRX_NILE_NATIVE_ASSET = "tron:3448148188/slip44:195";
|
|
13
|
+
export declare const TRX_SHASTA_NATIVE_ASSET = "tron:2494104990/slip44:195";
|
|
14
|
+
export declare const XLM_NATIVE_ASSET = "stellar:pubnet/slip44:148";
|
|
15
|
+
export declare const XLM_TESTNET_NATIVE_ASSET = "stellar:testnet/slip44:148";
|
|
16
|
+
/**
|
|
17
|
+
* Supported networks by the MultichainNetworkController
|
|
18
|
+
*/
|
|
19
|
+
export declare const AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS: Record<SupportedCaipChainId, MultichainNetworkConfiguration>;
|
|
20
|
+
/**
|
|
21
|
+
* Array of all the Non-EVM chain IDs.
|
|
22
|
+
* This is a temporary mention until we develop
|
|
23
|
+
* a more robust solution to identify testnet networks.
|
|
24
|
+
*/
|
|
25
|
+
export declare const NON_EVM_TESTNET_IDS: CaipChainId[];
|
|
26
|
+
/**
|
|
27
|
+
* Metadata for the supported networks.
|
|
28
|
+
*/
|
|
29
|
+
export declare const NETWORKS_METADATA: Record<string, MultichainNetworkMetadata>;
|
|
30
|
+
/**
|
|
31
|
+
* Default state of the {@link MultichainNetworkController}.
|
|
32
|
+
*
|
|
33
|
+
* @returns The default state of the {@link MultichainNetworkController}.
|
|
34
|
+
*/
|
|
35
|
+
export declare const getDefaultMultichainNetworkControllerState: () => MultichainNetworkControllerState;
|
|
36
|
+
/**
|
|
37
|
+
* {@link MultichainNetworkController}'s metadata.
|
|
38
|
+
*
|
|
39
|
+
* This allows us to choose if fields of the state should be persisted or not
|
|
40
|
+
* using the `persist` flag; and if they can be sent to Sentry or not, using
|
|
41
|
+
* the `anonymous` flag.
|
|
42
|
+
*/
|
|
43
|
+
export declare const MULTICHAIN_NETWORK_CONTROLLER_METADATA: {
|
|
44
|
+
multichainNetworkConfigurationsByChainId: {
|
|
45
|
+
includeInStateLogs: true;
|
|
46
|
+
persist: true;
|
|
47
|
+
includeInDebugSnapshot: true;
|
|
48
|
+
usedInUi: true;
|
|
49
|
+
};
|
|
50
|
+
selectedMultichainNetworkChainId: {
|
|
51
|
+
includeInStateLogs: true;
|
|
52
|
+
persist: true;
|
|
53
|
+
includeInDebugSnapshot: true;
|
|
54
|
+
usedInUi: true;
|
|
55
|
+
};
|
|
56
|
+
isEvmSelected: {
|
|
57
|
+
includeInStateLogs: true;
|
|
58
|
+
persist: true;
|
|
59
|
+
includeInDebugSnapshot: true;
|
|
60
|
+
usedInUi: true;
|
|
61
|
+
};
|
|
62
|
+
networksWithTransactionActivity: {
|
|
63
|
+
includeInStateLogs: true;
|
|
64
|
+
persist: true;
|
|
65
|
+
includeInDebugSnapshot: true;
|
|
66
|
+
usedInUi: true;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Multichain network ticker for the supported networks.
|
|
71
|
+
* TODO: This should be part of the assets-controllers or the snap itself.
|
|
72
|
+
*/
|
|
73
|
+
export declare const MULTICHAIN_NETWORK_TICKER: Record<CaipChainId, string>;
|
|
74
|
+
/**
|
|
75
|
+
* Multichain network asset decimals for the supported networks.
|
|
76
|
+
* TODO: This should be part of the assets-controllers or the snap itself.
|
|
77
|
+
*/
|
|
78
|
+
export declare const MULTICHAIN_NETWORK_DECIMAL_PLACES: Record<CaipChainId, number>;
|
|
79
|
+
//# sourceMappingURL=constants.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,8BAA8B;AAGzD,OAAO,KAAK,EACV,8BAA8B,EAC9B,gCAAgC,EAChC,yBAAyB,EACzB,oBAAoB,EACrB,oBAAmB;AAEpB,eAAO,MAAM,gBAAgB,qDAAiC,CAAC;AAC/D,eAAO,MAAM,wBAAwB,qDAAiC,CAAC;AACvE,eAAO,MAAM,yBAAyB,qDAAkC,CAAC;AACzE,eAAO,MAAM,uBAAuB,qDAAgC,CAAC;AACrE,eAAO,MAAM,wBAAwB,4BAAiC,CAAC;AACvE,eAAO,MAAM,gBAAgB,uDAAmC,CAAC;AACjE,eAAO,MAAM,wBAAwB,uDAAmC,CAAC;AACzE,eAAO,MAAM,uBAAuB,uDAAkC,CAAC;AACvE,eAAO,MAAM,gBAAgB,8BAAmC,CAAC;AACjE,eAAO,MAAM,qBAAqB,+BAAgC,CAAC;AACnE,eAAO,MAAM,uBAAuB,+BAAkC,CAAC;AACvE,eAAO,MAAM,gBAAgB,8BAAkC,CAAC;AAChE,eAAO,MAAM,wBAAwB,+BAAmC,CAAC;AAEzE;;GAEG;AACH,eAAO,MAAM,2CAA2C,EAAE,MAAM,CAC9D,oBAAoB,EACpB,8BAA8B,CAgF/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAAW,EAU5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAiBvE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0CAA0C,QACjD,gCAMF,CAAC;AAEL;;;;;;GAMG;AACH,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;CAyBQ,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAcxD,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAchE,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BtcScope, SolScope, TrxScope, XlmScope } from
|
|
2
|
-
import { NetworkStatus } from
|
|
1
|
+
import { BtcScope, SolScope, TrxScope, XlmScope } from "@metamask/keyring-api";
|
|
2
|
+
import { NetworkStatus } from "@metamask/network-controller";
|
|
3
3
|
export const BTC_NATIVE_ASSET = `${BtcScope.Mainnet}/slip44:0`;
|
|
4
4
|
export const BTC_TESTNET_NATIVE_ASSET = `${BtcScope.Testnet}/slip44:0`;
|
|
5
5
|
export const BTC_TESTNET4_NATIVE_ASSET = `${BtcScope.Testnet4}/slip44:0`;
|
|
@@ -215,4 +215,4 @@ export const MULTICHAIN_NETWORK_DECIMAL_PLACES = {
|
|
|
215
215
|
[XlmScope.Pubnet]: 7,
|
|
216
216
|
[XlmScope.Testnet]: 7,
|
|
217
217
|
};
|
|
218
|
-
//# sourceMappingURL=constants.
|
|
218
|
+
//# sourceMappingURL=constants.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
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 { BtcScope, SolScope, TrxScope, XlmScope } from '@metamask/keyring-api';\nimport type { CaipChainId } from '@metamask/keyring-api';\nimport { NetworkStatus } from '@metamask/network-controller';\n\nimport type {\n MultichainNetworkConfiguration,\n MultichainNetworkControllerState,\n MultichainNetworkMetadata,\n SupportedCaipChainId,\n} from './types.js';\n\nexport const BTC_NATIVE_ASSET = `${BtcScope.Mainnet}/slip44:0`;\nexport const BTC_TESTNET_NATIVE_ASSET = `${BtcScope.Testnet}/slip44:0`;\nexport const BTC_TESTNET4_NATIVE_ASSET = `${BtcScope.Testnet4}/slip44:0`;\nexport const BTC_SIGNET_NATIVE_ASSET = `${BtcScope.Signet}/slip44:0`;\nexport const BTC_REGTEST_NATIVE_ASSET = `${BtcScope.Regtest}/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`;\nexport const TRX_NATIVE_ASSET = `${TrxScope.Mainnet}/slip44:195`;\nexport const TRX_NILE_NATIVE_ASSET = `${TrxScope.Nile}/slip44:195`;\nexport const TRX_SHASTA_NATIVE_ASSET = `${TrxScope.Shasta}/slip44:195`;\nexport const XLM_NATIVE_ASSET = `${XlmScope.Pubnet}/slip44:148`;\nexport const XLM_TESTNET_NATIVE_ASSET = `${XlmScope.Testnet}/slip44:148`;\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.Testnet4]: {\n chainId: BtcScope.Testnet4,\n name: 'Bitcoin Testnet4',\n nativeCurrency: BTC_TESTNET4_NATIVE_ASSET,\n isEvm: false,\n },\n [BtcScope.Signet]: {\n chainId: BtcScope.Signet,\n name: 'Bitcoin Mutinynet',\n nativeCurrency: BTC_SIGNET_NATIVE_ASSET,\n isEvm: false,\n },\n [BtcScope.Regtest]: {\n chainId: BtcScope.Regtest,\n name: 'Bitcoin Regtest',\n nativeCurrency: BTC_REGTEST_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 [TrxScope.Mainnet]: {\n chainId: TrxScope.Mainnet,\n name: 'Tron',\n nativeCurrency: TRX_NATIVE_ASSET,\n isEvm: false,\n },\n [TrxScope.Nile]: {\n chainId: TrxScope.Nile,\n name: 'Tron Nile',\n nativeCurrency: TRX_NILE_NATIVE_ASSET,\n isEvm: false,\n },\n [TrxScope.Shasta]: {\n chainId: TrxScope.Shasta,\n name: 'Tron Shasta',\n nativeCurrency: TRX_SHASTA_NATIVE_ASSET,\n isEvm: false,\n },\n [XlmScope.Pubnet]: {\n chainId: XlmScope.Pubnet,\n name: 'Stellar',\n nativeCurrency: XLM_NATIVE_ASSET,\n isEvm: false,\n },\n [XlmScope.Testnet]: {\n chainId: XlmScope.Testnet,\n name: 'Stellar Testnet',\n nativeCurrency: XLM_TESTNET_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.Testnet4,\n BtcScope.Signet,\n BtcScope.Regtest,\n SolScope.Testnet,\n SolScope.Devnet,\n TrxScope.Nile,\n TrxScope.Shasta,\n XlmScope.Testnet,\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 [TrxScope.Mainnet]: {\n features: [],\n status: NetworkStatus.Available,\n },\n [XlmScope.Pubnet]: {\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: {\n includeInStateLogs: true,\n persist: true,\n includeInDebugSnapshot: true,\n usedInUi: true,\n },\n selectedMultichainNetworkChainId: {\n includeInStateLogs: true,\n persist: true,\n includeInDebugSnapshot: true,\n usedInUi: true,\n },\n isEvmSelected: {\n includeInStateLogs: true,\n persist: true,\n includeInDebugSnapshot: true,\n usedInUi: true,\n },\n networksWithTransactionActivity: {\n includeInStateLogs: true,\n persist: true,\n includeInDebugSnapshot: true,\n usedInUi: true,\n },\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.Testnet4]: 'tBTC',\n [BtcScope.Signet]: 'sBTC',\n [BtcScope.Regtest]: 'rBTC',\n [SolScope.Mainnet]: 'SOL',\n [SolScope.Testnet]: 'tSOL',\n [SolScope.Devnet]: 'dSOL',\n [TrxScope.Mainnet]: 'TRX',\n [TrxScope.Nile]: 'tTRX',\n [TrxScope.Shasta]: 'sTRX',\n [XlmScope.Pubnet]: 'XLM',\n [XlmScope.Testnet]: 'tXLM',\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.Testnet4]: 8,\n [BtcScope.Signet]: 8,\n [BtcScope.Regtest]: 8,\n [SolScope.Mainnet]: 5,\n [SolScope.Testnet]: 5,\n [SolScope.Devnet]: 5,\n [TrxScope.Mainnet]: 6,\n [TrxScope.Nile]: 6,\n [TrxScope.Shasta]: 6,\n [XlmScope.Pubnet]: 7,\n [XlmScope.Testnet]: 7,\n} as const;\n"]}
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
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_js_1 = require("./MultichainNetworkController/MultichainNetworkController.cjs");
|
|
5
|
+
Object.defineProperty(exports, "MultichainNetworkController", { enumerable: true, get: function () { return MultichainNetworkController_js_1.MultichainNetworkController; } });
|
|
6
|
+
var MultichainNetworkService_js_1 = require("./MultichainNetworkService/MultichainNetworkService.cjs");
|
|
7
|
+
Object.defineProperty(exports, "MultichainNetworkService", { enumerable: true, get: function () { return MultichainNetworkService_js_1.MultichainNetworkService; } });
|
|
8
|
+
var constants_js_1 = require("./constants.cjs");
|
|
9
|
+
Object.defineProperty(exports, "getDefaultMultichainNetworkControllerState", { enumerable: true, get: function () { return constants_js_1.getDefaultMultichainNetworkControllerState; } });
|
|
10
|
+
Object.defineProperty(exports, "NON_EVM_TESTNET_IDS", { enumerable: true, get: function () { return constants_js_1.NON_EVM_TESTNET_IDS; } });
|
|
11
|
+
Object.defineProperty(exports, "MULTICHAIN_NETWORK_TICKER", { enumerable: true, get: function () { return constants_js_1.MULTICHAIN_NETWORK_TICKER; } });
|
|
12
|
+
Object.defineProperty(exports, "MULTICHAIN_NETWORK_DECIMAL_PLACES", { enumerable: true, get: function () { return constants_js_1.MULTICHAIN_NETWORK_DECIMAL_PLACES; } });
|
|
13
|
+
Object.defineProperty(exports, "AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS", { enumerable: true, get: function () { return constants_js_1.AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS; } });
|
|
14
|
+
var utils_js_1 = require("./utils.cjs");
|
|
15
|
+
Object.defineProperty(exports, "checkIfSupportedCaipChainId", { enumerable: true, get: function () { return utils_js_1.checkIfSupportedCaipChainId; } });
|
|
16
|
+
Object.defineProperty(exports, "toMultichainNetworkConfiguration", { enumerable: true, get: function () { return utils_js_1.toMultichainNetworkConfiguration; } });
|
|
17
|
+
Object.defineProperty(exports, "toMultichainNetworkConfigurationsByChainId", { enumerable: true, get: function () { return utils_js_1.toMultichainNetworkConfigurationsByChainId; } });
|
|
18
|
+
Object.defineProperty(exports, "toEvmCaipChainId", { enumerable: true, get: function () { return utils_js_1.toEvmCaipChainId; } });
|
|
19
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,gHAA2G;AAAlG,6IAAA,2BAA2B,OAAA;AACpC,uGAAkG;AAAzF,uIAAA,wBAAwB,OAAA;AACjC,gDAMwB;AALtB,0IAAA,0CAA0C,OAAA;AAC1C,mHAAA,mBAAmB,OAAA;AACnB,yHAAA,yBAAyB,OAAA;AACzB,iIAAA,iCAAiC,OAAA;AACjC,2IAAA,2CAA2C,OAAA;AAqB7C,wCAKoB;AAJlB,uHAAA,2BAA2B,OAAA;AAC3B,4HAAA,gCAAgC,OAAA;AAChC,sIAAA,0CAA0C,OAAA;AAC1C,4GAAA,gBAAgB,OAAA","sourcesContent":["export { MultichainNetworkController } from './MultichainNetworkController/MultichainNetworkController.js';\nexport { MultichainNetworkService } from './MultichainNetworkService/MultichainNetworkService.js';\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.js';\nexport type {\n MultichainNetworkMetadata,\n SupportedCaipChainId,\n CommonNetworkConfiguration,\n NonEvmNetworkConfiguration,\n EvmNetworkConfiguration,\n MultichainNetworkConfiguration,\n MultichainNetworkControllerState,\n MultichainNetworkControllerGetStateAction,\n MultichainNetworkControllerStateChange,\n MultichainNetworkControllerNetworkDidChangeEvent,\n MultichainNetworkControllerActions,\n MultichainNetworkControllerEvents,\n MultichainNetworkControllerMessenger,\n} from './types.js';\nexport type {\n MultichainNetworkControllerSetActiveNetworkAction,\n MultichainNetworkControllerGetNetworksWithTransactionActivityByAccountsAction,\n} from './MultichainNetworkController/MultichainNetworkController-method-action-types.js';\nexport {\n checkIfSupportedCaipChainId,\n toMultichainNetworkConfiguration,\n toMultichainNetworkConfigurationsByChainId,\n toEvmCaipChainId,\n} from './utils.js';\nexport type { ActiveNetworksByAddress } from './api/accounts-api.js';\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { MultichainNetworkController } from
|
|
2
|
-
export { MultichainNetworkService } from
|
|
3
|
-
export { getDefaultMultichainNetworkControllerState, NON_EVM_TESTNET_IDS, MULTICHAIN_NETWORK_TICKER, MULTICHAIN_NETWORK_DECIMAL_PLACES, AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS, } from
|
|
4
|
-
export type { MultichainNetworkMetadata, SupportedCaipChainId, CommonNetworkConfiguration, NonEvmNetworkConfiguration, EvmNetworkConfiguration, MultichainNetworkConfiguration, MultichainNetworkControllerState, MultichainNetworkControllerGetStateAction, MultichainNetworkControllerStateChange, MultichainNetworkControllerNetworkDidChangeEvent, MultichainNetworkControllerActions, MultichainNetworkControllerEvents, MultichainNetworkControllerMessenger, } from
|
|
5
|
-
export type { MultichainNetworkControllerSetActiveNetworkAction, MultichainNetworkControllerGetNetworksWithTransactionActivityByAccountsAction, } from
|
|
6
|
-
export { checkIfSupportedCaipChainId, toMultichainNetworkConfiguration, toMultichainNetworkConfigurationsByChainId, toEvmCaipChainId, } from
|
|
7
|
-
export type { ActiveNetworksByAddress } from
|
|
8
|
-
//# sourceMappingURL=index.d.
|
|
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";
|
|
4
|
+
export type { MultichainNetworkMetadata, SupportedCaipChainId, CommonNetworkConfiguration, NonEvmNetworkConfiguration, EvmNetworkConfiguration, MultichainNetworkConfiguration, MultichainNetworkControllerState, MultichainNetworkControllerGetStateAction, MultichainNetworkControllerStateChange, MultichainNetworkControllerNetworkDidChangeEvent, MultichainNetworkControllerActions, MultichainNetworkControllerEvents, MultichainNetworkControllerMessenger, } from "./types.cjs";
|
|
5
|
+
export type { MultichainNetworkControllerSetActiveNetworkAction, MultichainNetworkControllerGetNetworksWithTransactionActivityByAccountsAction, } from "./MultichainNetworkController/MultichainNetworkController-method-action-types.cjs";
|
|
6
|
+
export { checkIfSupportedCaipChainId, toMultichainNetworkConfiguration, toMultichainNetworkConfigurationsByChainId, toEvmCaipChainId, } from "./utils.cjs";
|
|
7
|
+
export type { ActiveNetworksByAddress } from "./api/accounts-api.cjs";
|
|
8
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,sEAAqE;AAC3G,OAAO,EAAE,wBAAwB,EAAE,gEAA+D;AAClG,OAAO,EACL,0CAA0C,EAC1C,mBAAmB,EACnB,yBAAyB,EACzB,iCAAiC,EACjC,2CAA2C,GAC5C,wBAAuB;AACxB,YAAY,EACV,yBAAyB,EACzB,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,uBAAuB,EACvB,8BAA8B,EAC9B,gCAAgC,EAChC,yCAAyC,EACzC,sCAAsC,EACtC,gDAAgD,EAChD,kCAAkC,EAClC,iCAAiC,EACjC,oCAAoC,GACrC,oBAAmB;AACpB,YAAY,EACV,iDAAiD,EACjD,6EAA6E,GAC9E,0FAAyF;AAC1F,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,EAChC,0CAA0C,EAC1C,gBAAgB,GACjB,oBAAmB;AACpB,YAAY,EAAE,uBAAuB,EAAE,+BAA8B"}
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
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";
|
|
4
|
+
export type { MultichainNetworkMetadata, SupportedCaipChainId, CommonNetworkConfiguration, NonEvmNetworkConfiguration, EvmNetworkConfiguration, MultichainNetworkConfiguration, MultichainNetworkControllerState, MultichainNetworkControllerGetStateAction, MultichainNetworkControllerStateChange, MultichainNetworkControllerNetworkDidChangeEvent, MultichainNetworkControllerActions, MultichainNetworkControllerEvents, MultichainNetworkControllerMessenger, } from "./types.mjs";
|
|
5
|
+
export type { MultichainNetworkControllerSetActiveNetworkAction, MultichainNetworkControllerGetNetworksWithTransactionActivityByAccountsAction, } from "./MultichainNetworkController/MultichainNetworkController-method-action-types.mjs";
|
|
6
|
+
export { checkIfSupportedCaipChainId, toMultichainNetworkConfiguration, toMultichainNetworkConfigurationsByChainId, toEvmCaipChainId, } from "./utils.mjs";
|
|
7
|
+
export type { ActiveNetworksByAddress } from "./api/accounts-api.mjs";
|
|
8
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,sEAAqE;AAC3G,OAAO,EAAE,wBAAwB,EAAE,gEAA+D;AAClG,OAAO,EACL,0CAA0C,EAC1C,mBAAmB,EACnB,yBAAyB,EACzB,iCAAiC,EACjC,2CAA2C,GAC5C,wBAAuB;AACxB,YAAY,EACV,yBAAyB,EACzB,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,uBAAuB,EACvB,8BAA8B,EAC9B,gCAAgC,EAChC,yCAAyC,EACzC,sCAAsC,EACtC,gDAAgD,EAChD,kCAAkC,EAClC,iCAAiC,EACjC,oCAAoC,GACrC,oBAAmB;AACpB,YAAY,EACV,iDAAiD,EACjD,6EAA6E,GAC9E,0FAAyF;AAC1F,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,EAChC,0CAA0C,EAC1C,gBAAgB,GACjB,oBAAmB;AACpB,YAAY,EAAE,uBAAuB,EAAE,+BAA8B"}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
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";
|
|
4
|
+
export { checkIfSupportedCaipChainId, toMultichainNetworkConfiguration, toMultichainNetworkConfigurationsByChainId, toEvmCaipChainId } from "./utils.mjs";
|
|
5
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,sEAAqE;AAC3G,OAAO,EAAE,wBAAwB,EAAE,gEAA+D;AAClG,OAAO,EACL,0CAA0C,EAC1C,mBAAmB,EACnB,yBAAyB,EACzB,iCAAiC,EACjC,2CAA2C,EAC5C,wBAAuB;AAoBxB,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,EAChC,0CAA0C,EAC1C,gBAAgB,EACjB,oBAAmB","sourcesContent":["export { MultichainNetworkController } from './MultichainNetworkController/MultichainNetworkController.js';\nexport { MultichainNetworkService } from './MultichainNetworkService/MultichainNetworkService.js';\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.js';\nexport type {\n MultichainNetworkMetadata,\n SupportedCaipChainId,\n CommonNetworkConfiguration,\n NonEvmNetworkConfiguration,\n EvmNetworkConfiguration,\n MultichainNetworkConfiguration,\n MultichainNetworkControllerState,\n MultichainNetworkControllerGetStateAction,\n MultichainNetworkControllerStateChange,\n MultichainNetworkControllerNetworkDidChangeEvent,\n MultichainNetworkControllerActions,\n MultichainNetworkControllerEvents,\n MultichainNetworkControllerMessenger,\n} from './types.js';\nexport type {\n MultichainNetworkControllerSetActiveNetworkAction,\n MultichainNetworkControllerGetNetworksWithTransactionActivityByAccountsAction,\n} from './MultichainNetworkController/MultichainNetworkController-method-action-types.js';\nexport {\n checkIfSupportedCaipChainId,\n toMultichainNetworkConfiguration,\n toMultichainNetworkConfigurationsByChainId,\n toEvmCaipChainId,\n} from './utils.js';\nexport type { ActiveNetworksByAddress } from './api/accounts-api.js';\n"]}
|
package/dist/types.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.cjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AA4Ba,QAAA,kCAAkC,GAAG,6BAA6B,CAAC","sourcesContent":["import type { AccountsControllerListMultichainAccountsAction } from '@metamask/accounts-controller';\nimport type {\n ControllerGetStateAction,\n ControllerStateChangeEvent,\n} from '@metamask/base-controller';\nimport type {\n BtcScope,\n CaipAssetType,\n CaipChainId,\n SolScope,\n TrxScope,\n XlmScope,\n} from '@metamask/keyring-api';\nimport type { InternalAccount } from '@metamask/keyring-internal-api';\nimport type { Messenger } from '@metamask/messenger';\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.js';\nimport type { MultichainNetworkControllerMethodActions } from './MultichainNetworkController/MultichainNetworkController-method-action-types.js';\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.Testnet4\n | BtcScope.Signet\n | BtcScope.Regtest\n | SolScope.Mainnet\n | SolScope.Testnet\n | SolScope.Devnet\n | TrxScope.Mainnet\n | TrxScope.Nile\n | TrxScope.Shasta\n | XlmScope.Pubnet\n | XlmScope.Testnet;\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\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 | MultichainNetworkControllerMethodActions;\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 */\ntype 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 */\ntype AllowedEvents = AccountsControllerSelectedAccountChangeEvent;\n\n/**\n * Messenger type for the MultichainNetworkController.\n */\nexport type MultichainNetworkControllerMessenger = Messenger<\n typeof MULTICHAIN_NETWORK_CONTROLLER_NAME,\n MultichainNetworkControllerActions | AllowedActions,\n MultichainNetworkControllerEvents | AllowedEvents\n>;\n"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { AccountsControllerListMultichainAccountsAction } from
|
|
2
|
-
import type { ControllerGetStateAction, ControllerStateChangeEvent } from
|
|
3
|
-
import type { BtcScope, CaipAssetType, CaipChainId, SolScope, TrxScope, XlmScope } from
|
|
4
|
-
import type { InternalAccount } from
|
|
5
|
-
import type { Messenger } from
|
|
6
|
-
import type { NetworkStatus, NetworkControllerSetActiveNetworkAction, NetworkControllerGetStateAction, NetworkControllerRemoveNetworkAction, NetworkControllerGetSelectedChainIdAction, NetworkControllerFindNetworkClientIdByChainIdAction, NetworkClientId } from
|
|
7
|
-
import type { ActiveNetworksByAddress } from
|
|
8
|
-
import type { MultichainNetworkControllerMethodActions } from
|
|
1
|
+
import type { AccountsControllerListMultichainAccountsAction } from "@metamask/accounts-controller";
|
|
2
|
+
import type { ControllerGetStateAction, ControllerStateChangeEvent } from "@metamask/base-controller";
|
|
3
|
+
import type { BtcScope, CaipAssetType, CaipChainId, SolScope, TrxScope, XlmScope } from "@metamask/keyring-api";
|
|
4
|
+
import type { InternalAccount } from "@metamask/keyring-internal-api";
|
|
5
|
+
import type { Messenger } from "@metamask/messenger";
|
|
6
|
+
import type { NetworkStatus, NetworkControllerSetActiveNetworkAction, NetworkControllerGetStateAction, NetworkControllerRemoveNetworkAction, NetworkControllerGetSelectedChainIdAction, NetworkControllerFindNetworkClientIdByChainIdAction, NetworkClientId } from "@metamask/network-controller";
|
|
7
|
+
import type { ActiveNetworksByAddress } from "./api/accounts-api.cjs";
|
|
8
|
+
import type { MultichainNetworkControllerMethodActions } from "./MultichainNetworkController/MultichainNetworkController-method-action-types.cjs";
|
|
9
9
|
export declare const MULTICHAIN_NETWORK_CONTROLLER_NAME = "MultichainNetworkController";
|
|
10
10
|
export type MultichainNetworkMetadata = {
|
|
11
11
|
features: string[];
|
|
@@ -115,4 +115,4 @@ type AllowedEvents = AccountsControllerSelectedAccountChangeEvent;
|
|
|
115
115
|
*/
|
|
116
116
|
export type MultichainNetworkControllerMessenger = Messenger<typeof MULTICHAIN_NETWORK_CONTROLLER_NAME, MultichainNetworkControllerActions | AllowedActions, MultichainNetworkControllerEvents | AllowedEvents>;
|
|
117
117
|
export {};
|
|
118
|
-
//# sourceMappingURL=types.d.
|
|
118
|
+
//# sourceMappingURL=types.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.mts
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import type { AccountsControllerListMultichainAccountsAction } from "@metamask/accounts-controller";
|
|
2
|
+
import type { ControllerGetStateAction, ControllerStateChangeEvent } from "@metamask/base-controller";
|
|
3
|
+
import type { BtcScope, CaipAssetType, CaipChainId, SolScope, TrxScope, XlmScope } from "@metamask/keyring-api";
|
|
4
|
+
import type { InternalAccount } from "@metamask/keyring-internal-api";
|
|
5
|
+
import type { Messenger } from "@metamask/messenger";
|
|
6
|
+
import type { NetworkStatus, NetworkControllerSetActiveNetworkAction, NetworkControllerGetStateAction, NetworkControllerRemoveNetworkAction, NetworkControllerGetSelectedChainIdAction, NetworkControllerFindNetworkClientIdByChainIdAction, NetworkClientId } from "@metamask/network-controller";
|
|
7
|
+
import type { ActiveNetworksByAddress } from "./api/accounts-api.mjs";
|
|
8
|
+
import type { MultichainNetworkControllerMethodActions } from "./MultichainNetworkController/MultichainNetworkController-method-action-types.mjs";
|
|
9
|
+
export declare const MULTICHAIN_NETWORK_CONTROLLER_NAME = "MultichainNetworkController";
|
|
10
|
+
export type MultichainNetworkMetadata = {
|
|
11
|
+
features: string[];
|
|
12
|
+
status: NetworkStatus;
|
|
13
|
+
};
|
|
14
|
+
export type SupportedCaipChainId = BtcScope.Mainnet | BtcScope.Testnet | BtcScope.Testnet4 | BtcScope.Signet | BtcScope.Regtest | SolScope.Mainnet | SolScope.Testnet | SolScope.Devnet | TrxScope.Mainnet | TrxScope.Nile | TrxScope.Shasta | XlmScope.Pubnet | XlmScope.Testnet;
|
|
15
|
+
export type CommonNetworkConfiguration = {
|
|
16
|
+
/**
|
|
17
|
+
* EVM network flag.
|
|
18
|
+
*/
|
|
19
|
+
isEvm: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* The chain ID of the network.
|
|
22
|
+
*/
|
|
23
|
+
chainId: CaipChainId;
|
|
24
|
+
/**
|
|
25
|
+
* The name of the network.
|
|
26
|
+
*/
|
|
27
|
+
name: string;
|
|
28
|
+
};
|
|
29
|
+
export type NonEvmNetworkConfiguration = CommonNetworkConfiguration & {
|
|
30
|
+
/**
|
|
31
|
+
* EVM network flag.
|
|
32
|
+
*/
|
|
33
|
+
isEvm: false;
|
|
34
|
+
/**
|
|
35
|
+
* The native asset type of the network.
|
|
36
|
+
*/
|
|
37
|
+
nativeCurrency: CaipAssetType;
|
|
38
|
+
};
|
|
39
|
+
export type EvmNetworkConfiguration = CommonNetworkConfiguration & {
|
|
40
|
+
/**
|
|
41
|
+
* EVM network flag.
|
|
42
|
+
*/
|
|
43
|
+
isEvm: true;
|
|
44
|
+
/**
|
|
45
|
+
* The native asset type of the network.
|
|
46
|
+
* For EVM, this is the network ticker since there is no standard between
|
|
47
|
+
* tickers and Caip IDs.
|
|
48
|
+
*/
|
|
49
|
+
nativeCurrency: string;
|
|
50
|
+
/**
|
|
51
|
+
* The block explorers of the network.
|
|
52
|
+
*/
|
|
53
|
+
blockExplorerUrls: string[];
|
|
54
|
+
/**
|
|
55
|
+
* The index of the default block explorer URL.
|
|
56
|
+
*/
|
|
57
|
+
defaultBlockExplorerUrlIndex: number;
|
|
58
|
+
};
|
|
59
|
+
export type MultichainNetworkConfiguration = EvmNetworkConfiguration | NonEvmNetworkConfiguration;
|
|
60
|
+
/**
|
|
61
|
+
* State used by the {@link MultichainNetworkController} to cache network configurations.
|
|
62
|
+
*/
|
|
63
|
+
export type MultichainNetworkControllerState = {
|
|
64
|
+
/**
|
|
65
|
+
* The network configurations by chain ID.
|
|
66
|
+
*/
|
|
67
|
+
multichainNetworkConfigurationsByChainId: Record<CaipChainId, MultichainNetworkConfiguration>;
|
|
68
|
+
/**
|
|
69
|
+
* The chain ID of the selected network.
|
|
70
|
+
*/
|
|
71
|
+
selectedMultichainNetworkChainId: SupportedCaipChainId;
|
|
72
|
+
/**
|
|
73
|
+
* Whether EVM or non-EVM network is selected
|
|
74
|
+
*/
|
|
75
|
+
isEvmSelected: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* The active networks for the available EVM addresses (non-EVM networks will be supported in the future).
|
|
78
|
+
*/
|
|
79
|
+
networksWithTransactionActivity: ActiveNetworksByAddress;
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* Returns the state of the {@link MultichainNetworkController}.
|
|
83
|
+
*/
|
|
84
|
+
export type MultichainNetworkControllerGetStateAction = ControllerGetStateAction<typeof MULTICHAIN_NETWORK_CONTROLLER_NAME, MultichainNetworkControllerState>;
|
|
85
|
+
/**
|
|
86
|
+
* Event emitted when the state of the {@link MultichainNetworkController} changes.
|
|
87
|
+
*/
|
|
88
|
+
export type MultichainNetworkControllerStateChange = ControllerStateChangeEvent<typeof MULTICHAIN_NETWORK_CONTROLLER_NAME, MultichainNetworkControllerState>;
|
|
89
|
+
export type MultichainNetworkControllerNetworkDidChangeEvent = {
|
|
90
|
+
type: `${typeof MULTICHAIN_NETWORK_CONTROLLER_NAME}:networkDidChange`;
|
|
91
|
+
payload: [NetworkClientId | SupportedCaipChainId];
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Actions exposed by the {@link MultichainNetworkController}.
|
|
95
|
+
*/
|
|
96
|
+
export type MultichainNetworkControllerActions = MultichainNetworkControllerGetStateAction | MultichainNetworkControllerMethodActions;
|
|
97
|
+
/**
|
|
98
|
+
* Events emitted by {@link MultichainNetworkController}.
|
|
99
|
+
*/
|
|
100
|
+
export type MultichainNetworkControllerEvents = MultichainNetworkControllerStateChange | MultichainNetworkControllerNetworkDidChangeEvent;
|
|
101
|
+
/**
|
|
102
|
+
* Actions that this controller is allowed to call.
|
|
103
|
+
*/
|
|
104
|
+
type AllowedActions = NetworkControllerGetStateAction | NetworkControllerSetActiveNetworkAction | AccountsControllerListMultichainAccountsAction | NetworkControllerRemoveNetworkAction | NetworkControllerGetSelectedChainIdAction | NetworkControllerFindNetworkClientIdByChainIdAction;
|
|
105
|
+
export type AccountsControllerSelectedAccountChangeEvent = {
|
|
106
|
+
type: `AccountsController:selectedAccountChange`;
|
|
107
|
+
payload: [InternalAccount];
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Events that this controller is allowed to subscribe.
|
|
111
|
+
*/
|
|
112
|
+
type AllowedEvents = AccountsControllerSelectedAccountChangeEvent;
|
|
113
|
+
/**
|
|
114
|
+
* Messenger type for the MultichainNetworkController.
|
|
115
|
+
*/
|
|
116
|
+
export type MultichainNetworkControllerMessenger = Messenger<typeof MULTICHAIN_NETWORK_CONTROLLER_NAME, MultichainNetworkControllerActions | AllowedActions, MultichainNetworkControllerEvents | AllowedEvents>;
|
|
117
|
+
export {};
|
|
118
|
+
//# sourceMappingURL=types.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const MULTICHAIN_NETWORK_CONTROLLER_NAME = 'MultichainNetworkController';
|
|
2
|
-
//# sourceMappingURL=types.
|
|
2
|
+
//# sourceMappingURL=types.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.mjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA4BA,MAAM,CAAC,MAAM,kCAAkC,GAAG,6BAA6B,CAAC","sourcesContent":["import type { AccountsControllerListMultichainAccountsAction } from '@metamask/accounts-controller';\nimport type {\n ControllerGetStateAction,\n ControllerStateChangeEvent,\n} from '@metamask/base-controller';\nimport type {\n BtcScope,\n CaipAssetType,\n CaipChainId,\n SolScope,\n TrxScope,\n XlmScope,\n} from '@metamask/keyring-api';\nimport type { InternalAccount } from '@metamask/keyring-internal-api';\nimport type { Messenger } from '@metamask/messenger';\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.js';\nimport type { MultichainNetworkControllerMethodActions } from './MultichainNetworkController/MultichainNetworkController-method-action-types.js';\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.Testnet4\n | BtcScope.Signet\n | BtcScope.Regtest\n | SolScope.Mainnet\n | SolScope.Testnet\n | SolScope.Devnet\n | TrxScope.Mainnet\n | TrxScope.Nile\n | TrxScope.Shasta\n | XlmScope.Pubnet\n | XlmScope.Testnet;\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\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 | MultichainNetworkControllerMethodActions;\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 */\ntype 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 */\ntype AllowedEvents = AccountsControllerSelectedAccountChangeEvent;\n\n/**\n * Messenger type for the MultichainNetworkController.\n */\nexport type MultichainNetworkControllerMessenger = Messenger<\n typeof MULTICHAIN_NETWORK_CONTROLLER_NAME,\n MultichainNetworkControllerActions | AllowedActions,\n MultichainNetworkControllerEvents | AllowedEvents\n>;\n"]}
|
package/dist/utils.cjs
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isKnownCaipNamespace = exports.toMultichainNetworkConfigurationsByChainId = exports.toMultichainNetworkConfiguration = exports.convertEvmCaipToHexChainId = exports.toEvmCaipChainId = exports.checkIfSupportedCaipChainId = exports.getChainIdForNonEvm = exports.isEvmCaipChainId = void 0;
|
|
4
|
+
const utils_1 = require("@metamask/utils");
|
|
5
|
+
const constants_js_1 = require("./constants.cjs");
|
|
6
|
+
/**
|
|
7
|
+
* Checks if the chain ID is EVM.
|
|
8
|
+
*
|
|
9
|
+
* @param chainId - The account type to check.
|
|
10
|
+
* @returns Whether the network is EVM.
|
|
11
|
+
*/
|
|
12
|
+
function isEvmCaipChainId(chainId) {
|
|
13
|
+
const { namespace } = (0, utils_1.parseCaipChainId)(chainId);
|
|
14
|
+
return namespace === utils_1.KnownCaipNamespace.Eip155;
|
|
15
|
+
}
|
|
16
|
+
exports.isEvmCaipChainId = isEvmCaipChainId;
|
|
17
|
+
/**
|
|
18
|
+
* Returns the chain id of the non-EVM network based on the account scopes.
|
|
19
|
+
*
|
|
20
|
+
* @param scopes - The scopes to check.
|
|
21
|
+
* @returns The caip chain id of the non-EVM network.
|
|
22
|
+
*/
|
|
23
|
+
function getChainIdForNonEvm(scopes) {
|
|
24
|
+
const supportedScope = scopes.find((scope) => Object.keys(constants_js_1.AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS).includes(scope));
|
|
25
|
+
if (supportedScope) {
|
|
26
|
+
return supportedScope;
|
|
27
|
+
}
|
|
28
|
+
throw new Error(`Unsupported scope: ${scopes.join(', ')}.`);
|
|
29
|
+
}
|
|
30
|
+
exports.getChainIdForNonEvm = getChainIdForNonEvm;
|
|
31
|
+
/**
|
|
32
|
+
* Checks if the Caip chain ID is supported.
|
|
33
|
+
*
|
|
34
|
+
* @param id - The Caip chain IDto check.
|
|
35
|
+
* @returns Whether the chain ID is supported.
|
|
36
|
+
*/
|
|
37
|
+
function checkIfSupportedCaipChainId(id) {
|
|
38
|
+
// Check if the chain id is supported
|
|
39
|
+
return Object.keys(constants_js_1.AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS).includes(id);
|
|
40
|
+
}
|
|
41
|
+
exports.checkIfSupportedCaipChainId = checkIfSupportedCaipChainId;
|
|
42
|
+
/**
|
|
43
|
+
* Converts a hex chain ID to a Caip chain ID.
|
|
44
|
+
*
|
|
45
|
+
* @param chainId - The hex chain ID to convert.
|
|
46
|
+
* @returns The Caip chain ID.
|
|
47
|
+
*/
|
|
48
|
+
const toEvmCaipChainId = (chainId) => (0, utils_1.toCaipChainId)(utils_1.KnownCaipNamespace.Eip155, (0, utils_1.hexToNumber)(chainId).toString());
|
|
49
|
+
exports.toEvmCaipChainId = toEvmCaipChainId;
|
|
50
|
+
/**
|
|
51
|
+
* Convert an eip155 CAIP chain ID to a hex chain ID.
|
|
52
|
+
*
|
|
53
|
+
* @param chainId - The CAIP chain ID to convert.
|
|
54
|
+
* @returns The hex chain ID.
|
|
55
|
+
*/
|
|
56
|
+
function convertEvmCaipToHexChainId(chainId) {
|
|
57
|
+
const { namespace, reference } = (0, utils_1.parseCaipChainId)(chainId);
|
|
58
|
+
if (namespace === utils_1.KnownCaipNamespace.Eip155) {
|
|
59
|
+
return (0, utils_1.add0x)(parseInt(reference, 10).toString(16));
|
|
60
|
+
}
|
|
61
|
+
throw new Error(`Unsupported CAIP chain ID namespace: ${namespace}. Only eip155 is supported.`);
|
|
62
|
+
}
|
|
63
|
+
exports.convertEvmCaipToHexChainId = convertEvmCaipToHexChainId;
|
|
64
|
+
/**
|
|
65
|
+
* Updates a network configuration to the format used by the MultichainNetworkController.
|
|
66
|
+
* This method is exclusive for EVM networks with hex identifiers from the NetworkController.
|
|
67
|
+
*
|
|
68
|
+
* @param network - The network configuration to update.
|
|
69
|
+
* @returns The updated network configuration.
|
|
70
|
+
*/
|
|
71
|
+
const toMultichainNetworkConfiguration = (network) => {
|
|
72
|
+
const { chainId, name, rpcEndpoints, defaultRpcEndpointIndex, nativeCurrency, blockExplorerUrls, defaultBlockExplorerUrlIndex = 0, } = network;
|
|
73
|
+
return {
|
|
74
|
+
chainId: (0, exports.toEvmCaipChainId)(chainId),
|
|
75
|
+
isEvm: true,
|
|
76
|
+
name: name || rpcEndpoints[defaultRpcEndpointIndex].url,
|
|
77
|
+
nativeCurrency,
|
|
78
|
+
blockExplorerUrls,
|
|
79
|
+
defaultBlockExplorerUrlIndex,
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
exports.toMultichainNetworkConfiguration = toMultichainNetworkConfiguration;
|
|
83
|
+
/**
|
|
84
|
+
* Updates a record of network configurations to the format used by the MultichainNetworkController.
|
|
85
|
+
* This method is exclusive for EVM networks with hex identifiers from the NetworkController.
|
|
86
|
+
*
|
|
87
|
+
* @param networkConfigurationsByChainId - The network configurations to update.
|
|
88
|
+
* @returns The updated network configurations.
|
|
89
|
+
*/
|
|
90
|
+
const toMultichainNetworkConfigurationsByChainId = (networkConfigurationsByChainId) => Object.entries(networkConfigurationsByChainId).reduce((acc, [, network]) => ({
|
|
91
|
+
...acc,
|
|
92
|
+
[(0, exports.toEvmCaipChainId)(network.chainId)]: (0, exports.toMultichainNetworkConfiguration)(network),
|
|
93
|
+
}), {});
|
|
94
|
+
exports.toMultichainNetworkConfigurationsByChainId = toMultichainNetworkConfigurationsByChainId;
|
|
95
|
+
// TODO: This currently isn't being used anymore but could benefit from being moved to @metamask/utils
|
|
96
|
+
/**
|
|
97
|
+
* Type guard to check if a namespace is a known CAIP namespace.
|
|
98
|
+
*
|
|
99
|
+
* @param namespace - The namespace to check
|
|
100
|
+
* @returns Whether the namespace is a known CAIP namespace
|
|
101
|
+
*/
|
|
102
|
+
function isKnownCaipNamespace(namespace) {
|
|
103
|
+
return Object.values(utils_1.KnownCaipNamespace).includes(namespace);
|
|
104
|
+
}
|
|
105
|
+
exports.isKnownCaipNamespace = isKnownCaipNamespace;
|
|
106
|
+
//# sourceMappingURL=utils.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.cjs","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import type { NetworkConfiguration } from '@metamask/network-controller';\nimport {\n KnownCaipNamespace,\n toCaipChainId,\n parseCaipChainId,\n hexToNumber,\n add0x,\n} from '@metamask/utils';\nimport type { Hex, CaipChainId } from '@metamask/utils';\n\nimport { AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS } from './constants.js';\nimport type {\n SupportedCaipChainId,\n MultichainNetworkConfiguration,\n} from './types.js';\n\n/**\n * Checks if the chain ID is EVM.\n *\n * @param chainId - The account type to check.\n * @returns Whether the network is EVM.\n */\nexport function isEvmCaipChainId(chainId: CaipChainId): boolean {\n const { namespace } = parseCaipChainId(chainId);\n return namespace === (KnownCaipNamespace.Eip155 as string);\n}\n\n/**\n * Returns the chain id of the non-EVM network based on the account scopes.\n *\n * @param scopes - The scopes to check.\n * @returns The caip chain id of the non-EVM network.\n */\nexport function getChainIdForNonEvm(\n scopes: CaipChainId[],\n): SupportedCaipChainId {\n const supportedScope = scopes.find((scope) =>\n Object.keys(AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS).includes(scope),\n );\n if (supportedScope) {\n return supportedScope as SupportedCaipChainId;\n }\n\n throw new Error(`Unsupported scope: ${scopes.join(', ')}.`);\n}\n\n/**\n * Checks if the Caip chain ID is supported.\n *\n * @param id - The Caip chain IDto check.\n * @returns Whether the chain ID is supported.\n */\nexport function checkIfSupportedCaipChainId(\n id: CaipChainId,\n): id is SupportedCaipChainId {\n // Check if the chain id is supported\n return Object.keys(AVAILABLE_MULTICHAIN_NETWORK_CONFIGURATIONS).includes(id);\n}\n\n/**\n * Converts a hex chain ID to a Caip chain ID.\n *\n * @param chainId - The hex chain ID to convert.\n * @returns The Caip chain ID.\n */\nexport const toEvmCaipChainId = (chainId: Hex): CaipChainId =>\n toCaipChainId(KnownCaipNamespace.Eip155, hexToNumber(chainId).toString());\n\n/**\n * Convert an eip155 CAIP chain ID to a hex chain ID.\n *\n * @param chainId - The CAIP chain ID to convert.\n * @returns The hex chain ID.\n */\nexport function convertEvmCaipToHexChainId(chainId: CaipChainId): Hex {\n const { namespace, reference } = parseCaipChainId(chainId);\n if (namespace === (KnownCaipNamespace.Eip155 as string)) {\n return add0x(parseInt(reference, 10).toString(16));\n }\n\n throw new Error(\n `Unsupported CAIP chain ID namespace: ${namespace}. Only eip155 is supported.`,\n );\n}\n\n/**\n * Updates a network configuration to the format used by the MultichainNetworkController.\n * This method is exclusive for EVM networks with hex identifiers from the NetworkController.\n *\n * @param network - The network configuration to update.\n * @returns The updated network configuration.\n */\nexport const toMultichainNetworkConfiguration = (\n network: NetworkConfiguration,\n): MultichainNetworkConfiguration => {\n const {\n chainId,\n name,\n rpcEndpoints,\n defaultRpcEndpointIndex,\n nativeCurrency,\n blockExplorerUrls,\n defaultBlockExplorerUrlIndex = 0,\n } = network;\n return {\n chainId: toEvmCaipChainId(chainId),\n isEvm: true,\n name: name || rpcEndpoints[defaultRpcEndpointIndex].url,\n nativeCurrency,\n blockExplorerUrls,\n defaultBlockExplorerUrlIndex,\n };\n};\n\n/**\n * Updates a record of network configurations to the format used by the MultichainNetworkController.\n * This method is exclusive for EVM networks with hex identifiers from the NetworkController.\n *\n * @param networkConfigurationsByChainId - The network configurations to update.\n * @returns The updated network configurations.\n */\nexport const toMultichainNetworkConfigurationsByChainId = (\n networkConfigurationsByChainId: Record<string, NetworkConfiguration>,\n): Record<CaipChainId, MultichainNetworkConfiguration> =>\n Object.entries(networkConfigurationsByChainId).reduce(\n (acc, [, network]) => ({\n ...acc,\n [toEvmCaipChainId(network.chainId)]:\n toMultichainNetworkConfiguration(network),\n }),\n {},\n );\n\n// TODO: This currently isn't being used anymore but could benefit from being moved to @metamask/utils\n/**\n * Type guard to check if a namespace is a known CAIP namespace.\n *\n * @param namespace - The namespace to check\n * @returns Whether the namespace is a known CAIP namespace\n */\nexport function isKnownCaipNamespace(\n namespace: string,\n): namespace is KnownCaipNamespace {\n return Object.values<string>(KnownCaipNamespace).includes(namespace);\n}\n"]}
|