@metamask/assets-controllers 48.0.0 → 49.0.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 +21 -1
- package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.cjs +205 -0
- package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.cjs.map +1 -0
- package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.d.cts +124 -0
- package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.d.cts.map +1 -0
- package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.d.mts +124 -0
- package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.d.mts.map +1 -0
- package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.mjs +200 -0
- package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.mjs.map +1 -0
- package/dist/MultichainAssetsRatesController/constant.cjs +83 -0
- package/dist/MultichainAssetsRatesController/constant.cjs.map +1 -0
- package/dist/MultichainAssetsRatesController/constant.d.cts +9 -0
- package/dist/MultichainAssetsRatesController/constant.d.cts.map +1 -0
- package/dist/MultichainAssetsRatesController/constant.d.mts +9 -0
- package/dist/MultichainAssetsRatesController/constant.d.mts.map +1 -0
- package/dist/MultichainAssetsRatesController/constant.mjs +80 -0
- package/dist/MultichainAssetsRatesController/constant.mjs.map +1 -0
- package/dist/MultichainAssetsRatesController/index.cjs +7 -0
- package/dist/MultichainAssetsRatesController/index.cjs.map +1 -0
- package/dist/MultichainAssetsRatesController/index.d.cts +3 -0
- package/dist/MultichainAssetsRatesController/index.d.cts.map +1 -0
- package/dist/MultichainAssetsRatesController/index.d.mts +3 -0
- package/dist/MultichainAssetsRatesController/index.d.mts.map +1 -0
- package/dist/MultichainAssetsRatesController/index.mjs +2 -0
- package/dist/MultichainAssetsRatesController/index.mjs.map +1 -0
- package/dist/MultichainBalancesController/MultichainBalancesController.cjs +42 -33
- package/dist/MultichainBalancesController/MultichainBalancesController.cjs.map +1 -1
- package/dist/MultichainBalancesController/MultichainBalancesController.d.cts +3 -2
- package/dist/MultichainBalancesController/MultichainBalancesController.d.cts.map +1 -1
- package/dist/MultichainBalancesController/MultichainBalancesController.d.mts +3 -2
- package/dist/MultichainBalancesController/MultichainBalancesController.d.mts.map +1 -1
- package/dist/MultichainBalancesController/MultichainBalancesController.mjs +42 -33
- package/dist/MultichainBalancesController/MultichainBalancesController.mjs.map +1 -1
- package/dist/MultichainBalancesController/index.cjs +1 -5
- package/dist/MultichainBalancesController/index.cjs.map +1 -1
- package/dist/MultichainBalancesController/index.d.cts +0 -1
- package/dist/MultichainBalancesController/index.d.cts.map +1 -1
- package/dist/MultichainBalancesController/index.d.mts +0 -1
- package/dist/MultichainBalancesController/index.d.mts.map +1 -1
- package/dist/MultichainBalancesController/index.mjs +0 -1
- package/dist/MultichainBalancesController/index.mjs.map +1 -1
- package/dist/index.cjs +4 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +3 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +2 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +10 -10
- package/dist/MultichainBalancesController/constants.cjs +0 -36
- package/dist/MultichainBalancesController/constants.cjs.map +0 -1
- package/dist/MultichainBalancesController/constants.d.cts +0 -25
- package/dist/MultichainBalancesController/constants.d.cts.map +0 -1
- package/dist/MultichainBalancesController/constants.d.mts +0 -25
- package/dist/MultichainBalancesController/constants.d.mts.map +0 -1
- package/dist/MultichainBalancesController/constants.mjs +0 -33
- package/dist/MultichainBalancesController/constants.mjs.map +0 -1
- package/dist/MultichainBalancesController/error.cjs +0 -18
- package/dist/MultichainBalancesController/error.cjs.map +0 -1
- package/dist/MultichainBalancesController/error.d.cts +0 -7
- package/dist/MultichainBalancesController/error.d.cts.map +0 -1
- package/dist/MultichainBalancesController/error.d.mts +0 -7
- package/dist/MultichainBalancesController/error.d.mts.map +0 -1
- package/dist/MultichainBalancesController/error.mjs +0 -13
- package/dist/MultichainBalancesController/error.mjs.map +0 -1
- package/dist/MultichainBalancesController/utils.cjs +0 -60
- package/dist/MultichainBalancesController/utils.cjs.map +0 -1
- package/dist/MultichainBalancesController/utils.d.cts +0 -29
- package/dist/MultichainBalancesController/utils.d.cts.map +0 -1
- package/dist/MultichainBalancesController/utils.d.mts +0 -29
- package/dist/MultichainBalancesController/utils.d.mts.map +0 -1
- package/dist/MultichainBalancesController/utils.mjs +0 -54
- package/dist/MultichainBalancesController/utils.mjs.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metamask/assets-controllers",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "49.0.0",
|
|
4
4
|
"description": "Controllers which manage interactions involving ERC-20, ERC-721, and ERC-1155 tokens (including NFTs)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"MetaMask",
|
|
@@ -54,13 +54,13 @@
|
|
|
54
54
|
"@ethersproject/contracts": "^5.7.0",
|
|
55
55
|
"@ethersproject/providers": "^5.7.0",
|
|
56
56
|
"@metamask/abi-utils": "^2.0.3",
|
|
57
|
-
"@metamask/base-controller": "^
|
|
57
|
+
"@metamask/base-controller": "^8.0.0",
|
|
58
58
|
"@metamask/contract-metadata": "^2.4.0",
|
|
59
59
|
"@metamask/controller-utils": "^11.5.0",
|
|
60
60
|
"@metamask/eth-query": "^4.0.0",
|
|
61
61
|
"@metamask/keyring-api": "^17.0.0",
|
|
62
62
|
"@metamask/metamask-eth-abis": "^3.1.1",
|
|
63
|
-
"@metamask/polling-controller": "^12.0.
|
|
63
|
+
"@metamask/polling-controller": "^12.0.3",
|
|
64
64
|
"@metamask/rpc-errors": "^7.0.2",
|
|
65
65
|
"@metamask/snaps-utils": "^8.10.0",
|
|
66
66
|
"@metamask/utils": "^11.1.0",
|
|
@@ -77,16 +77,16 @@
|
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
79
|
"@babel/runtime": "^7.23.9",
|
|
80
|
-
"@metamask/accounts-controller": "^23.0.
|
|
81
|
-
"@metamask/approval-controller": "^7.1.
|
|
80
|
+
"@metamask/accounts-controller": "^23.0.1",
|
|
81
|
+
"@metamask/approval-controller": "^7.1.3",
|
|
82
82
|
"@metamask/auto-changelog": "^3.4.4",
|
|
83
83
|
"@metamask/ethjs-provider-http": "^0.3.0",
|
|
84
|
-
"@metamask/keyring-controller": "^19.0.
|
|
84
|
+
"@metamask/keyring-controller": "^19.0.7",
|
|
85
85
|
"@metamask/keyring-internal-api": "^4.0.1",
|
|
86
86
|
"@metamask/keyring-snap-client": "^3.0.3",
|
|
87
|
-
"@metamask/network-controller": "^22.2.
|
|
88
|
-
"@metamask/permission-controller": "^11.0.
|
|
89
|
-
"@metamask/preferences-controller": "^15.0.
|
|
87
|
+
"@metamask/network-controller": "^22.2.1",
|
|
88
|
+
"@metamask/permission-controller": "^11.0.6",
|
|
89
|
+
"@metamask/preferences-controller": "^15.0.2",
|
|
90
90
|
"@metamask/providers": "^18.1.1",
|
|
91
91
|
"@metamask/snaps-controllers": "^9.19.0",
|
|
92
92
|
"@metamask/snaps-sdk": "^6.17.1",
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
"webextension-polyfill": "^0.12.0"
|
|
106
106
|
},
|
|
107
107
|
"peerDependencies": {
|
|
108
|
-
"@metamask/accounts-controller": "^23.0.
|
|
108
|
+
"@metamask/accounts-controller": "^23.0.1",
|
|
109
109
|
"@metamask/approval-controller": "^7.0.0",
|
|
110
110
|
"@metamask/keyring-controller": "^19.0.0",
|
|
111
111
|
"@metamask/network-controller": "^22.0.0",
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NETWORK_ASSETS_MAP = exports.MultichainNativeAssets = exports.MultichainNetworks = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* The network identifiers for supported networks in CAIP-2 format.
|
|
6
|
-
* Note: This is a temporary workaround until we have a more robust
|
|
7
|
-
* solution for network identifiers.
|
|
8
|
-
*/
|
|
9
|
-
var MultichainNetworks;
|
|
10
|
-
(function (MultichainNetworks) {
|
|
11
|
-
MultichainNetworks["Bitcoin"] = "bip122:000000000019d6689c085ae165831e93";
|
|
12
|
-
MultichainNetworks["BitcoinTestnet"] = "bip122:000000000933ea01ad0ee984209779ba";
|
|
13
|
-
MultichainNetworks["Solana"] = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp";
|
|
14
|
-
MultichainNetworks["SolanaDevnet"] = "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1";
|
|
15
|
-
MultichainNetworks["SolanaTestnet"] = "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z";
|
|
16
|
-
})(MultichainNetworks || (exports.MultichainNetworks = MultichainNetworks = {}));
|
|
17
|
-
var MultichainNativeAssets;
|
|
18
|
-
(function (MultichainNativeAssets) {
|
|
19
|
-
MultichainNativeAssets["Bitcoin"] = "bip122:000000000019d6689c085ae165831e93/slip44:0";
|
|
20
|
-
MultichainNativeAssets["BitcoinTestnet"] = "bip122:000000000933ea01ad0ee984209779ba/slip44:0";
|
|
21
|
-
MultichainNativeAssets["Solana"] = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501";
|
|
22
|
-
MultichainNativeAssets["SolanaDevnet"] = "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1/slip44:501";
|
|
23
|
-
MultichainNativeAssets["SolanaTestnet"] = "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z/slip44:501";
|
|
24
|
-
})(MultichainNativeAssets || (exports.MultichainNativeAssets = MultichainNativeAssets = {}));
|
|
25
|
-
/**
|
|
26
|
-
* Maps network identifiers to their corresponding native asset types.
|
|
27
|
-
* Each network is mapped to an array containing its native asset for consistency.
|
|
28
|
-
*/
|
|
29
|
-
exports.NETWORK_ASSETS_MAP = {
|
|
30
|
-
[MultichainNetworks.Solana]: [MultichainNativeAssets.Solana],
|
|
31
|
-
[MultichainNetworks.SolanaTestnet]: [MultichainNativeAssets.SolanaTestnet],
|
|
32
|
-
[MultichainNetworks.SolanaDevnet]: [MultichainNativeAssets.SolanaDevnet],
|
|
33
|
-
[MultichainNetworks.Bitcoin]: [MultichainNativeAssets.Bitcoin],
|
|
34
|
-
[MultichainNetworks.BitcoinTestnet]: [MultichainNativeAssets.BitcoinTestnet],
|
|
35
|
-
};
|
|
36
|
-
//# sourceMappingURL=constants.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.cjs","sourceRoot":"","sources":["../../src/MultichainBalancesController/constants.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC5B,yEAAmD,CAAA;IACnD,gFAA0D,CAAA;IAC1D,wEAAkD,CAAA;IAClD,8EAAwD,CAAA;IACxD,+EAAyD,CAAA;AAC3D,CAAC,EANW,kBAAkB,kCAAlB,kBAAkB,QAM7B;AAED,IAAY,sBAMX;AAND,WAAY,sBAAsB;IAChC,sFAAkD,CAAA;IAClD,6FAAgE,CAAA;IAChE,uFAAkD,CAAA;IAClD,6FAA8D,CAAA;IAC9D,8FAAgE,CAAA;AAClE,CAAC,EANW,sBAAsB,sCAAtB,sBAAsB,QAMjC;AAED;;;GAGG;AACU,QAAA,kBAAkB,GAA6C;IAC1E,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,sBAAsB,CAAC,MAAM,CAAC;IAC5D,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE,CAAC,sBAAsB,CAAC,aAAa,CAAC;IAC1E,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC,sBAAsB,CAAC,YAAY,CAAC;IACxE,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,sBAAsB,CAAC,OAAO,CAAC;IAC9D,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAAE,CAAC,sBAAsB,CAAC,cAAc,CAAC;CAC7E,CAAC","sourcesContent":["/**\n * The network identifiers for supported networks in CAIP-2 format.\n * Note: This is a temporary workaround until we have a more robust\n * solution for network identifiers.\n */\nexport enum MultichainNetworks {\n Bitcoin = 'bip122:000000000019d6689c085ae165831e93',\n BitcoinTestnet = 'bip122:000000000933ea01ad0ee984209779ba',\n Solana = 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',\n SolanaDevnet = 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1',\n SolanaTestnet = 'solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z',\n}\n\nexport enum MultichainNativeAssets {\n Bitcoin = `${MultichainNetworks.Bitcoin}/slip44:0`,\n BitcoinTestnet = `${MultichainNetworks.BitcoinTestnet}/slip44:0`,\n Solana = `${MultichainNetworks.Solana}/slip44:501`,\n SolanaDevnet = `${MultichainNetworks.SolanaDevnet}/slip44:501`,\n SolanaTestnet = `${MultichainNetworks.SolanaTestnet}/slip44:501`,\n}\n\n/**\n * Maps network identifiers to their corresponding native asset types.\n * Each network is mapped to an array containing its native asset for consistency.\n */\nexport const NETWORK_ASSETS_MAP: Record<string, MultichainNativeAssets[]> = {\n [MultichainNetworks.Solana]: [MultichainNativeAssets.Solana],\n [MultichainNetworks.SolanaTestnet]: [MultichainNativeAssets.SolanaTestnet],\n [MultichainNetworks.SolanaDevnet]: [MultichainNativeAssets.SolanaDevnet],\n [MultichainNetworks.Bitcoin]: [MultichainNativeAssets.Bitcoin],\n [MultichainNetworks.BitcoinTestnet]: [MultichainNativeAssets.BitcoinTestnet],\n};\n"]}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The network identifiers for supported networks in CAIP-2 format.
|
|
3
|
-
* Note: This is a temporary workaround until we have a more robust
|
|
4
|
-
* solution for network identifiers.
|
|
5
|
-
*/
|
|
6
|
-
export declare enum MultichainNetworks {
|
|
7
|
-
Bitcoin = "bip122:000000000019d6689c085ae165831e93",
|
|
8
|
-
BitcoinTestnet = "bip122:000000000933ea01ad0ee984209779ba",
|
|
9
|
-
Solana = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
|
|
10
|
-
SolanaDevnet = "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1",
|
|
11
|
-
SolanaTestnet = "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z"
|
|
12
|
-
}
|
|
13
|
-
export declare enum MultichainNativeAssets {
|
|
14
|
-
Bitcoin = "bip122:000000000019d6689c085ae165831e93/slip44:0",
|
|
15
|
-
BitcoinTestnet = "bip122:000000000933ea01ad0ee984209779ba/slip44:0",
|
|
16
|
-
Solana = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501",
|
|
17
|
-
SolanaDevnet = "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1/slip44:501",
|
|
18
|
-
SolanaTestnet = "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z/slip44:501"
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Maps network identifiers to their corresponding native asset types.
|
|
22
|
-
* Each network is mapped to an array containing its native asset for consistency.
|
|
23
|
-
*/
|
|
24
|
-
export declare const NETWORK_ASSETS_MAP: Record<string, MultichainNativeAssets[]>;
|
|
25
|
-
//# sourceMappingURL=constants.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.cts","sourceRoot":"","sources":["../../src/MultichainBalancesController/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,oBAAY,kBAAkB;IAC5B,OAAO,4CAA4C;IACnD,cAAc,4CAA4C;IAC1D,MAAM,4CAA4C;IAClD,YAAY,4CAA4C;IACxD,aAAa,4CAA4C;CAC1D;AAED,oBAAY,sBAAsB;IAChC,OAAO,qDAA2C;IAClD,cAAc,qDAAkD;IAChE,MAAM,uDAA4C;IAClD,YAAY,uDAAkD;IAC9D,aAAa,uDAAmD;CACjE;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,EAAE,CAMvE,CAAC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The network identifiers for supported networks in CAIP-2 format.
|
|
3
|
-
* Note: This is a temporary workaround until we have a more robust
|
|
4
|
-
* solution for network identifiers.
|
|
5
|
-
*/
|
|
6
|
-
export declare enum MultichainNetworks {
|
|
7
|
-
Bitcoin = "bip122:000000000019d6689c085ae165831e93",
|
|
8
|
-
BitcoinTestnet = "bip122:000000000933ea01ad0ee984209779ba",
|
|
9
|
-
Solana = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
|
|
10
|
-
SolanaDevnet = "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1",
|
|
11
|
-
SolanaTestnet = "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z"
|
|
12
|
-
}
|
|
13
|
-
export declare enum MultichainNativeAssets {
|
|
14
|
-
Bitcoin = "bip122:000000000019d6689c085ae165831e93/slip44:0",
|
|
15
|
-
BitcoinTestnet = "bip122:000000000933ea01ad0ee984209779ba/slip44:0",
|
|
16
|
-
Solana = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501",
|
|
17
|
-
SolanaDevnet = "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1/slip44:501",
|
|
18
|
-
SolanaTestnet = "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z/slip44:501"
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Maps network identifiers to their corresponding native asset types.
|
|
22
|
-
* Each network is mapped to an array containing its native asset for consistency.
|
|
23
|
-
*/
|
|
24
|
-
export declare const NETWORK_ASSETS_MAP: Record<string, MultichainNativeAssets[]>;
|
|
25
|
-
//# sourceMappingURL=constants.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../../src/MultichainBalancesController/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,oBAAY,kBAAkB;IAC5B,OAAO,4CAA4C;IACnD,cAAc,4CAA4C;IAC1D,MAAM,4CAA4C;IAClD,YAAY,4CAA4C;IACxD,aAAa,4CAA4C;CAC1D;AAED,oBAAY,sBAAsB;IAChC,OAAO,qDAA2C;IAClD,cAAc,qDAAkD;IAChE,MAAM,uDAA4C;IAClD,YAAY,uDAAkD;IAC9D,aAAa,uDAAmD;CACjE;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,EAAE,CAMvE,CAAC"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The network identifiers for supported networks in CAIP-2 format.
|
|
3
|
-
* Note: This is a temporary workaround until we have a more robust
|
|
4
|
-
* solution for network identifiers.
|
|
5
|
-
*/
|
|
6
|
-
export var MultichainNetworks;
|
|
7
|
-
(function (MultichainNetworks) {
|
|
8
|
-
MultichainNetworks["Bitcoin"] = "bip122:000000000019d6689c085ae165831e93";
|
|
9
|
-
MultichainNetworks["BitcoinTestnet"] = "bip122:000000000933ea01ad0ee984209779ba";
|
|
10
|
-
MultichainNetworks["Solana"] = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp";
|
|
11
|
-
MultichainNetworks["SolanaDevnet"] = "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1";
|
|
12
|
-
MultichainNetworks["SolanaTestnet"] = "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z";
|
|
13
|
-
})(MultichainNetworks || (MultichainNetworks = {}));
|
|
14
|
-
export var MultichainNativeAssets;
|
|
15
|
-
(function (MultichainNativeAssets) {
|
|
16
|
-
MultichainNativeAssets["Bitcoin"] = "bip122:000000000019d6689c085ae165831e93/slip44:0";
|
|
17
|
-
MultichainNativeAssets["BitcoinTestnet"] = "bip122:000000000933ea01ad0ee984209779ba/slip44:0";
|
|
18
|
-
MultichainNativeAssets["Solana"] = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501";
|
|
19
|
-
MultichainNativeAssets["SolanaDevnet"] = "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1/slip44:501";
|
|
20
|
-
MultichainNativeAssets["SolanaTestnet"] = "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z/slip44:501";
|
|
21
|
-
})(MultichainNativeAssets || (MultichainNativeAssets = {}));
|
|
22
|
-
/**
|
|
23
|
-
* Maps network identifiers to their corresponding native asset types.
|
|
24
|
-
* Each network is mapped to an array containing its native asset for consistency.
|
|
25
|
-
*/
|
|
26
|
-
export const NETWORK_ASSETS_MAP = {
|
|
27
|
-
[MultichainNetworks.Solana]: [MultichainNativeAssets.Solana],
|
|
28
|
-
[MultichainNetworks.SolanaTestnet]: [MultichainNativeAssets.SolanaTestnet],
|
|
29
|
-
[MultichainNetworks.SolanaDevnet]: [MultichainNativeAssets.SolanaDevnet],
|
|
30
|
-
[MultichainNetworks.Bitcoin]: [MultichainNativeAssets.Bitcoin],
|
|
31
|
-
[MultichainNetworks.BitcoinTestnet]: [MultichainNativeAssets.BitcoinTestnet],
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=constants.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","sourceRoot":"","sources":["../../src/MultichainBalancesController/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAN,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC5B,yEAAmD,CAAA;IACnD,gFAA0D,CAAA;IAC1D,wEAAkD,CAAA;IAClD,8EAAwD,CAAA;IACxD,+EAAyD,CAAA;AAC3D,CAAC,EANW,kBAAkB,KAAlB,kBAAkB,QAM7B;AAED,MAAM,CAAN,IAAY,sBAMX;AAND,WAAY,sBAAsB;IAChC,sFAAkD,CAAA;IAClD,6FAAgE,CAAA;IAChE,uFAAkD,CAAA;IAClD,6FAA8D,CAAA;IAC9D,8FAAgE,CAAA;AAClE,CAAC,EANW,sBAAsB,KAAtB,sBAAsB,QAMjC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA6C;IAC1E,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,sBAAsB,CAAC,MAAM,CAAC;IAC5D,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE,CAAC,sBAAsB,CAAC,aAAa,CAAC;IAC1E,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC,sBAAsB,CAAC,YAAY,CAAC;IACxE,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,sBAAsB,CAAC,OAAO,CAAC;IAC9D,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAAE,CAAC,sBAAsB,CAAC,cAAc,CAAC;CAC7E,CAAC","sourcesContent":["/**\n * The network identifiers for supported networks in CAIP-2 format.\n * Note: This is a temporary workaround until we have a more robust\n * solution for network identifiers.\n */\nexport enum MultichainNetworks {\n Bitcoin = 'bip122:000000000019d6689c085ae165831e93',\n BitcoinTestnet = 'bip122:000000000933ea01ad0ee984209779ba',\n Solana = 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',\n SolanaDevnet = 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1',\n SolanaTestnet = 'solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z',\n}\n\nexport enum MultichainNativeAssets {\n Bitcoin = `${MultichainNetworks.Bitcoin}/slip44:0`,\n BitcoinTestnet = `${MultichainNetworks.BitcoinTestnet}/slip44:0`,\n Solana = `${MultichainNetworks.Solana}/slip44:501`,\n SolanaDevnet = `${MultichainNetworks.SolanaDevnet}/slip44:501`,\n SolanaTestnet = `${MultichainNetworks.SolanaTestnet}/slip44:501`,\n}\n\n/**\n * Maps network identifiers to their corresponding native asset types.\n * Each network is mapped to an array containing its native asset for consistency.\n */\nexport const NETWORK_ASSETS_MAP: Record<string, MultichainNativeAssets[]> = {\n [MultichainNetworks.Solana]: [MultichainNativeAssets.Solana],\n [MultichainNetworks.SolanaTestnet]: [MultichainNativeAssets.SolanaTestnet],\n [MultichainNetworks.SolanaDevnet]: [MultichainNativeAssets.SolanaDevnet],\n [MultichainNetworks.Bitcoin]: [MultichainNativeAssets.Bitcoin],\n [MultichainNetworks.BitcoinTestnet]: [MultichainNativeAssets.BitcoinTestnet],\n};\n"]}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PollerError = exports.BalancesTrackerError = void 0;
|
|
4
|
-
class BalancesTrackerError extends Error {
|
|
5
|
-
constructor(message) {
|
|
6
|
-
super(message);
|
|
7
|
-
this.name = 'BalancesTrackerError';
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
exports.BalancesTrackerError = BalancesTrackerError;
|
|
11
|
-
class PollerError extends Error {
|
|
12
|
-
constructor(message) {
|
|
13
|
-
super(message);
|
|
14
|
-
this.name = 'PollerError';
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
exports.PollerError = PollerError;
|
|
18
|
-
//# sourceMappingURL=error.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error.cjs","sourceRoot":"","sources":["../../src/MultichainBalancesController/error.ts"],"names":[],"mappings":";;;AAAA,MAAa,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AALD,oDAKC;AAED,MAAa,WAAY,SAAQ,KAAK;IACpC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AALD,kCAKC","sourcesContent":["export class BalancesTrackerError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'BalancesTrackerError';\n }\n}\n\nexport class PollerError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'PollerError';\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.cts","sourceRoot":"","sources":["../../src/MultichainBalancesController/error.ts"],"names":[],"mappings":"AAAA,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,WAAY,SAAQ,KAAK;gBACxB,OAAO,EAAE,MAAM;CAI5B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.mts","sourceRoot":"","sources":["../../src/MultichainBalancesController/error.ts"],"names":[],"mappings":"AAAA,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,WAAY,SAAQ,KAAK;gBACxB,OAAO,EAAE,MAAM;CAI5B"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export class BalancesTrackerError extends Error {
|
|
2
|
-
constructor(message) {
|
|
3
|
-
super(message);
|
|
4
|
-
this.name = 'BalancesTrackerError';
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
export class PollerError extends Error {
|
|
8
|
-
constructor(message) {
|
|
9
|
-
super(message);
|
|
10
|
-
this.name = 'PollerError';
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=error.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error.mjs","sourceRoot":"","sources":["../../src/MultichainBalancesController/error.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF","sourcesContent":["export class BalancesTrackerError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'BalancesTrackerError';\n }\n}\n\nexport class PollerError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'PollerError';\n }\n}\n"]}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getScopeForAccount = exports.getScopeForSolAddress = exports.getScopeForBtcAddress = void 0;
|
|
4
|
-
const keyring_api_1 = require("@metamask/keyring-api");
|
|
5
|
-
const bitcoin_address_validation_1 = require("bitcoin-address-validation");
|
|
6
|
-
const constants_1 = require("./constants.cjs");
|
|
7
|
-
/**
|
|
8
|
-
* Gets the scope for a specific and supported Bitcoin account.
|
|
9
|
-
* Note: This is a temporary method and will be replaced by a more robust solution
|
|
10
|
-
* once the new `account.scopes` is available in the `@metamask/keyring-api` module.
|
|
11
|
-
*
|
|
12
|
-
* @param account - Bitcoin account
|
|
13
|
-
* @returns The scope for the given account.
|
|
14
|
-
*/
|
|
15
|
-
const getScopeForBtcAddress = (account) => {
|
|
16
|
-
if ((0, bitcoin_address_validation_1.validate)(account.address, bitcoin_address_validation_1.Network.mainnet)) {
|
|
17
|
-
return constants_1.MultichainNetworks.Bitcoin;
|
|
18
|
-
}
|
|
19
|
-
if ((0, bitcoin_address_validation_1.validate)(account.address, bitcoin_address_validation_1.Network.testnet)) {
|
|
20
|
-
return constants_1.MultichainNetworks.BitcoinTestnet;
|
|
21
|
-
}
|
|
22
|
-
throw new Error(`Invalid Bitcoin address: ${account.address}`);
|
|
23
|
-
};
|
|
24
|
-
exports.getScopeForBtcAddress = getScopeForBtcAddress;
|
|
25
|
-
/**
|
|
26
|
-
* Gets the scope for a specific and supported Solana account.
|
|
27
|
-
* Note: This is a temporary method and will be replaced by a more robust solution
|
|
28
|
-
* once the new `account.scopes` is available in the `keyring-api`.
|
|
29
|
-
*
|
|
30
|
-
* @param account - Solana account
|
|
31
|
-
* @returns The scope for the given account.
|
|
32
|
-
*/
|
|
33
|
-
const getScopeForSolAddress = (account) => {
|
|
34
|
-
// For Solana accounts, we know we have a `scope` on the account's `options` bag.
|
|
35
|
-
if (!account.options.scope) {
|
|
36
|
-
throw new Error('Solana account scope is undefined');
|
|
37
|
-
}
|
|
38
|
-
return account.options.scope;
|
|
39
|
-
};
|
|
40
|
-
exports.getScopeForSolAddress = getScopeForSolAddress;
|
|
41
|
-
/**
|
|
42
|
-
* Get the scope for a given address.
|
|
43
|
-
* Note: This is a temporary method and will be replaced by a more robust solution
|
|
44
|
-
* once the new `account.scopes` is available in the `keyring-api`.
|
|
45
|
-
*
|
|
46
|
-
* @param account - The account to get the scope for.
|
|
47
|
-
* @returns The scope for the given account.
|
|
48
|
-
*/
|
|
49
|
-
const getScopeForAccount = (account) => {
|
|
50
|
-
switch (account.type) {
|
|
51
|
-
case keyring_api_1.BtcAccountType.P2wpkh:
|
|
52
|
-
return (0, exports.getScopeForBtcAddress)(account);
|
|
53
|
-
case keyring_api_1.SolAccountType.DataAccount:
|
|
54
|
-
return (0, exports.getScopeForSolAddress)(account);
|
|
55
|
-
default:
|
|
56
|
-
throw new Error(`Unsupported non-EVM account type: ${account.type}`);
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
exports.getScopeForAccount = getScopeForAccount;
|
|
60
|
-
//# sourceMappingURL=utils.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.cjs","sourceRoot":"","sources":["../../src/MultichainBalancesController/utils.ts"],"names":[],"mappings":";;;AAAA,uDAAuE;AAEvE,2EAA+D;AAE/D,+CAAiD;AAEjD;;;;;;;GAOG;AACI,MAAM,qBAAqB,GAAG,CAAC,OAAwB,EAAU,EAAE;IACxE,IAAI,IAAA,qCAAQ,EAAC,OAAO,CAAC,OAAO,EAAE,oCAAO,CAAC,OAAO,CAAC,EAAE;QAC9C,OAAO,8BAAkB,CAAC,OAAO,CAAC;KACnC;IAED,IAAI,IAAA,qCAAQ,EAAC,OAAO,CAAC,OAAO,EAAE,oCAAO,CAAC,OAAO,CAAC,EAAE;QAC9C,OAAO,8BAAkB,CAAC,cAAc,CAAC;KAC1C;IAED,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AACjE,CAAC,CAAC;AAVW,QAAA,qBAAqB,yBAUhC;AAEF;;;;;;;GAOG;AACI,MAAM,qBAAqB,GAAG,CAAC,OAAwB,EAAU,EAAE;IACxE,iFAAiF;IACjF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;KACtD;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAe,CAAC;AACzC,CAAC,CAAC;AANW,QAAA,qBAAqB,yBAMhC;AAEF;;;;;;;GAOG;AACI,MAAM,kBAAkB,GAAG,CAAC,OAAwB,EAAU,EAAE;IACrE,QAAQ,OAAO,CAAC,IAAI,EAAE;QACpB,KAAK,4BAAc,CAAC,MAAM;YACxB,OAAO,IAAA,6BAAqB,EAAC,OAAO,CAAC,CAAC;QACxC,KAAK,4BAAc,CAAC,WAAW;YAC7B,OAAO,IAAA,6BAAqB,EAAC,OAAO,CAAC,CAAC;QACxC;YACE,MAAM,IAAI,KAAK,CAAC,qCAAqC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;KACxE;AACH,CAAC,CAAC;AATW,QAAA,kBAAkB,sBAS7B","sourcesContent":["import { BtcAccountType, SolAccountType } from '@metamask/keyring-api';\nimport type { InternalAccount } from '@metamask/keyring-internal-api';\nimport { validate, Network } from 'bitcoin-address-validation';\n\nimport { MultichainNetworks } from './constants';\n\n/**\n * Gets the scope for a specific and supported Bitcoin account.\n * Note: This is a temporary method and will be replaced by a more robust solution\n * once the new `account.scopes` is available in the `@metamask/keyring-api` module.\n *\n * @param account - Bitcoin account\n * @returns The scope for the given account.\n */\nexport const getScopeForBtcAddress = (account: InternalAccount): string => {\n if (validate(account.address, Network.mainnet)) {\n return MultichainNetworks.Bitcoin;\n }\n\n if (validate(account.address, Network.testnet)) {\n return MultichainNetworks.BitcoinTestnet;\n }\n\n throw new Error(`Invalid Bitcoin address: ${account.address}`);\n};\n\n/**\n * Gets the scope for a specific and supported Solana account.\n * Note: This is a temporary method and will be replaced by a more robust solution\n * once the new `account.scopes` is available in the `keyring-api`.\n *\n * @param account - Solana account\n * @returns The scope for the given account.\n */\nexport const getScopeForSolAddress = (account: InternalAccount): string => {\n // For Solana accounts, we know we have a `scope` on the account's `options` bag.\n if (!account.options.scope) {\n throw new Error('Solana account scope is undefined');\n }\n return account.options.scope as string;\n};\n\n/**\n * Get the scope for a given address.\n * Note: This is a temporary method and will be replaced by a more robust solution\n * once the new `account.scopes` is available in the `keyring-api`.\n *\n * @param account - The account to get the scope for.\n * @returns The scope for the given account.\n */\nexport const getScopeForAccount = (account: InternalAccount): string => {\n switch (account.type) {\n case BtcAccountType.P2wpkh:\n return getScopeForBtcAddress(account);\n case SolAccountType.DataAccount:\n return getScopeForSolAddress(account);\n default:\n throw new Error(`Unsupported non-EVM account type: ${account.type}`);\n }\n};\n"]}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { InternalAccount } from "@metamask/keyring-internal-api";
|
|
2
|
-
/**
|
|
3
|
-
* Gets the scope for a specific and supported Bitcoin account.
|
|
4
|
-
* Note: This is a temporary method and will be replaced by a more robust solution
|
|
5
|
-
* once the new `account.scopes` is available in the `@metamask/keyring-api` module.
|
|
6
|
-
*
|
|
7
|
-
* @param account - Bitcoin account
|
|
8
|
-
* @returns The scope for the given account.
|
|
9
|
-
*/
|
|
10
|
-
export declare const getScopeForBtcAddress: (account: InternalAccount) => string;
|
|
11
|
-
/**
|
|
12
|
-
* Gets the scope for a specific and supported Solana account.
|
|
13
|
-
* Note: This is a temporary method and will be replaced by a more robust solution
|
|
14
|
-
* once the new `account.scopes` is available in the `keyring-api`.
|
|
15
|
-
*
|
|
16
|
-
* @param account - Solana account
|
|
17
|
-
* @returns The scope for the given account.
|
|
18
|
-
*/
|
|
19
|
-
export declare const getScopeForSolAddress: (account: InternalAccount) => string;
|
|
20
|
-
/**
|
|
21
|
-
* Get the scope for a given address.
|
|
22
|
-
* Note: This is a temporary method and will be replaced by a more robust solution
|
|
23
|
-
* once the new `account.scopes` is available in the `keyring-api`.
|
|
24
|
-
*
|
|
25
|
-
* @param account - The account to get the scope for.
|
|
26
|
-
* @returns The scope for the given account.
|
|
27
|
-
*/
|
|
28
|
-
export declare const getScopeForAccount: (account: InternalAccount) => string;
|
|
29
|
-
//# sourceMappingURL=utils.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.cts","sourceRoot":"","sources":["../../src/MultichainBalancesController/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,uCAAuC;AAKtE;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,YAAa,eAAe,KAAG,MAUhE,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,YAAa,eAAe,KAAG,MAMhE,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,YAAa,eAAe,KAAG,MAS7D,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { InternalAccount } from "@metamask/keyring-internal-api";
|
|
2
|
-
/**
|
|
3
|
-
* Gets the scope for a specific and supported Bitcoin account.
|
|
4
|
-
* Note: This is a temporary method and will be replaced by a more robust solution
|
|
5
|
-
* once the new `account.scopes` is available in the `@metamask/keyring-api` module.
|
|
6
|
-
*
|
|
7
|
-
* @param account - Bitcoin account
|
|
8
|
-
* @returns The scope for the given account.
|
|
9
|
-
*/
|
|
10
|
-
export declare const getScopeForBtcAddress: (account: InternalAccount) => string;
|
|
11
|
-
/**
|
|
12
|
-
* Gets the scope for a specific and supported Solana account.
|
|
13
|
-
* Note: This is a temporary method and will be replaced by a more robust solution
|
|
14
|
-
* once the new `account.scopes` is available in the `keyring-api`.
|
|
15
|
-
*
|
|
16
|
-
* @param account - Solana account
|
|
17
|
-
* @returns The scope for the given account.
|
|
18
|
-
*/
|
|
19
|
-
export declare const getScopeForSolAddress: (account: InternalAccount) => string;
|
|
20
|
-
/**
|
|
21
|
-
* Get the scope for a given address.
|
|
22
|
-
* Note: This is a temporary method and will be replaced by a more robust solution
|
|
23
|
-
* once the new `account.scopes` is available in the `keyring-api`.
|
|
24
|
-
*
|
|
25
|
-
* @param account - The account to get the scope for.
|
|
26
|
-
* @returns The scope for the given account.
|
|
27
|
-
*/
|
|
28
|
-
export declare const getScopeForAccount: (account: InternalAccount) => string;
|
|
29
|
-
//# sourceMappingURL=utils.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.mts","sourceRoot":"","sources":["../../src/MultichainBalancesController/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,uCAAuC;AAKtE;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,YAAa,eAAe,KAAG,MAUhE,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,YAAa,eAAe,KAAG,MAMhE,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,YAAa,eAAe,KAAG,MAS7D,CAAC"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { BtcAccountType, SolAccountType } from "@metamask/keyring-api";
|
|
2
|
-
import { validate, Network } from "bitcoin-address-validation";
|
|
3
|
-
import { MultichainNetworks } from "./constants.mjs";
|
|
4
|
-
/**
|
|
5
|
-
* Gets the scope for a specific and supported Bitcoin account.
|
|
6
|
-
* Note: This is a temporary method and will be replaced by a more robust solution
|
|
7
|
-
* once the new `account.scopes` is available in the `@metamask/keyring-api` module.
|
|
8
|
-
*
|
|
9
|
-
* @param account - Bitcoin account
|
|
10
|
-
* @returns The scope for the given account.
|
|
11
|
-
*/
|
|
12
|
-
export const getScopeForBtcAddress = (account) => {
|
|
13
|
-
if (validate(account.address, Network.mainnet)) {
|
|
14
|
-
return MultichainNetworks.Bitcoin;
|
|
15
|
-
}
|
|
16
|
-
if (validate(account.address, Network.testnet)) {
|
|
17
|
-
return MultichainNetworks.BitcoinTestnet;
|
|
18
|
-
}
|
|
19
|
-
throw new Error(`Invalid Bitcoin address: ${account.address}`);
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* Gets the scope for a specific and supported Solana account.
|
|
23
|
-
* Note: This is a temporary method and will be replaced by a more robust solution
|
|
24
|
-
* once the new `account.scopes` is available in the `keyring-api`.
|
|
25
|
-
*
|
|
26
|
-
* @param account - Solana account
|
|
27
|
-
* @returns The scope for the given account.
|
|
28
|
-
*/
|
|
29
|
-
export const getScopeForSolAddress = (account) => {
|
|
30
|
-
// For Solana accounts, we know we have a `scope` on the account's `options` bag.
|
|
31
|
-
if (!account.options.scope) {
|
|
32
|
-
throw new Error('Solana account scope is undefined');
|
|
33
|
-
}
|
|
34
|
-
return account.options.scope;
|
|
35
|
-
};
|
|
36
|
-
/**
|
|
37
|
-
* Get the scope for a given address.
|
|
38
|
-
* Note: This is a temporary method and will be replaced by a more robust solution
|
|
39
|
-
* once the new `account.scopes` is available in the `keyring-api`.
|
|
40
|
-
*
|
|
41
|
-
* @param account - The account to get the scope for.
|
|
42
|
-
* @returns The scope for the given account.
|
|
43
|
-
*/
|
|
44
|
-
export const getScopeForAccount = (account) => {
|
|
45
|
-
switch (account.type) {
|
|
46
|
-
case BtcAccountType.P2wpkh:
|
|
47
|
-
return getScopeForBtcAddress(account);
|
|
48
|
-
case SolAccountType.DataAccount:
|
|
49
|
-
return getScopeForSolAddress(account);
|
|
50
|
-
default:
|
|
51
|
-
throw new Error(`Unsupported non-EVM account type: ${account.type}`);
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
//# sourceMappingURL=utils.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","sourceRoot":"","sources":["../../src/MultichainBalancesController/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,8BAA8B;AAEvE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,mCAAmC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,wBAAoB;AAEjD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAwB,EAAU,EAAE;IACxE,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;QAC9C,OAAO,kBAAkB,CAAC,OAAO,CAAC;KACnC;IAED,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;QAC9C,OAAO,kBAAkB,CAAC,cAAc,CAAC;KAC1C;IAED,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AACjE,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAwB,EAAU,EAAE;IACxE,iFAAiF;IACjF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;KACtD;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAe,CAAC;AACzC,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAwB,EAAU,EAAE;IACrE,QAAQ,OAAO,CAAC,IAAI,EAAE;QACpB,KAAK,cAAc,CAAC,MAAM;YACxB,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACxC,KAAK,cAAc,CAAC,WAAW;YAC7B,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACxC;YACE,MAAM,IAAI,KAAK,CAAC,qCAAqC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;KACxE;AACH,CAAC,CAAC","sourcesContent":["import { BtcAccountType, SolAccountType } from '@metamask/keyring-api';\nimport type { InternalAccount } from '@metamask/keyring-internal-api';\nimport { validate, Network } from 'bitcoin-address-validation';\n\nimport { MultichainNetworks } from './constants';\n\n/**\n * Gets the scope for a specific and supported Bitcoin account.\n * Note: This is a temporary method and will be replaced by a more robust solution\n * once the new `account.scopes` is available in the `@metamask/keyring-api` module.\n *\n * @param account - Bitcoin account\n * @returns The scope for the given account.\n */\nexport const getScopeForBtcAddress = (account: InternalAccount): string => {\n if (validate(account.address, Network.mainnet)) {\n return MultichainNetworks.Bitcoin;\n }\n\n if (validate(account.address, Network.testnet)) {\n return MultichainNetworks.BitcoinTestnet;\n }\n\n throw new Error(`Invalid Bitcoin address: ${account.address}`);\n};\n\n/**\n * Gets the scope for a specific and supported Solana account.\n * Note: This is a temporary method and will be replaced by a more robust solution\n * once the new `account.scopes` is available in the `keyring-api`.\n *\n * @param account - Solana account\n * @returns The scope for the given account.\n */\nexport const getScopeForSolAddress = (account: InternalAccount): string => {\n // For Solana accounts, we know we have a `scope` on the account's `options` bag.\n if (!account.options.scope) {\n throw new Error('Solana account scope is undefined');\n }\n return account.options.scope as string;\n};\n\n/**\n * Get the scope for a given address.\n * Note: This is a temporary method and will be replaced by a more robust solution\n * once the new `account.scopes` is available in the `keyring-api`.\n *\n * @param account - The account to get the scope for.\n * @returns The scope for the given account.\n */\nexport const getScopeForAccount = (account: InternalAccount): string => {\n switch (account.type) {\n case BtcAccountType.P2wpkh:\n return getScopeForBtcAddress(account);\n case SolAccountType.DataAccount:\n return getScopeForSolAddress(account);\n default:\n throw new Error(`Unsupported non-EVM account type: ${account.type}`);\n }\n};\n"]}
|