@metamask-previews/assets-controller 6.2.1-preview-e0eba6dbb → 6.2.1-preview-56dd1249f

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.
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildDefaultAssetsInfo = exports.getDefaultAssetMetadata = exports.getDefaultTrackedAssetsForChain = exports.DEFAULT_ASSET_METADATA = exports.CHAINS_WITH_DEFAULT_TRACKED_ASSETS = exports.DEFAULT_TRACKED_ASSETS_BY_CHAIN = void 0;
4
+ /**
5
+ * Address of MetaMask USD (mUSD) — same canonical contract address
6
+ * across every chain we deploy it to.
7
+ */
8
+ const MUSD_ADDRESS = '0xaca92e438df0b2401ff60da7e4337b687a2435da';
9
+ /**
10
+ * Hardcoded metadata for MetaMask USD. Pre-seeding this in default
11
+ * state makes the token immediately renderable in the UI before any
12
+ * on-chain balance has been fetched.
13
+ */
14
+ const MUSD_METADATA = {
15
+ type: 'erc20',
16
+ symbol: 'mUSD',
17
+ name: 'MetaMask USD',
18
+ decimals: 18,
19
+ };
20
+ /**
21
+ * Build the CAIP-19 asset ID for the mUSD ERC-20 token on a given EVM
22
+ * chain.
23
+ *
24
+ * @param chainId - The CAIP-2 chain identifier (e.g. `eip155:1`).
25
+ * @returns The CAIP-19 asset ID for mUSD on that chain.
26
+ */
27
+ function musdAssetId(chainId) {
28
+ return `${chainId}/erc20:${MUSD_ADDRESS}`;
29
+ }
30
+ /**
31
+ * Default tracked tokens — assets the controller surfaces in state for
32
+ * every account on the listed chain even when the on-chain balance is
33
+ * still zero. Keyed by CAIP-2 chain id.
34
+ *
35
+ * To extend mUSD coverage to a new chain, add an entry here. To add a
36
+ * different default token, append its CAIP-19 asset id to the
37
+ * appropriate chain entry and provide its metadata in
38
+ * {@link DEFAULT_ASSET_METADATA}.
39
+ */
40
+ exports.DEFAULT_TRACKED_ASSETS_BY_CHAIN = new Map([
41
+ ['eip155:1', [musdAssetId('eip155:1')]],
42
+ ['eip155:59144', [musdAssetId('eip155:59144')]],
43
+ ['eip155:143', [musdAssetId('eip155:143')]],
44
+ ]);
45
+ /**
46
+ * Chains that have at least one default tracked asset. Useful for
47
+ * quickly answering "should we seed defaults for this chain?".
48
+ */
49
+ exports.CHAINS_WITH_DEFAULT_TRACKED_ASSETS = new Set(exports.DEFAULT_TRACKED_ASSETS_BY_CHAIN.keys());
50
+ /**
51
+ * Pre-seeded metadata for every default tracked asset, keyed by the
52
+ * lowercase CAIP-19 id so callers can look up without worrying about
53
+ * checksum case.
54
+ */
55
+ exports.DEFAULT_ASSET_METADATA = new Map([
56
+ [musdAssetId('eip155:1').toLowerCase(), MUSD_METADATA],
57
+ [musdAssetId('eip155:59144').toLowerCase(), MUSD_METADATA],
58
+ [musdAssetId('eip155:143').toLowerCase(), MUSD_METADATA],
59
+ ]);
60
+ /**
61
+ * Return the default tracked assets for a CAIP-2 chain id. Empty when
62
+ * the chain has no defaults.
63
+ *
64
+ * @param chainId - CAIP-2 chain id to look up.
65
+ * @returns The default asset ids for that chain.
66
+ */
67
+ function getDefaultTrackedAssetsForChain(chainId) {
68
+ return exports.DEFAULT_TRACKED_ASSETS_BY_CHAIN.get(chainId) ?? [];
69
+ }
70
+ exports.getDefaultTrackedAssetsForChain = getDefaultTrackedAssetsForChain;
71
+ /**
72
+ * Look up pre-seeded metadata for a default tracked asset.
73
+ *
74
+ * @param assetId - CAIP-19 asset id (any case).
75
+ * @returns The metadata if the asset is a default tracked asset,
76
+ * otherwise `undefined`.
77
+ */
78
+ function getDefaultAssetMetadata(assetId) {
79
+ return exports.DEFAULT_ASSET_METADATA.get(assetId.toLowerCase());
80
+ }
81
+ exports.getDefaultAssetMetadata = getDefaultAssetMetadata;
82
+ /**
83
+ * Build the `assetsInfo` map to use in default controller state —
84
+ * pre-populated with metadata for every default tracked asset across
85
+ * every default tracked chain. This is what makes `assetsInfo[mUSD]`
86
+ * exist from the very first render, before any RPC poll completes.
87
+ *
88
+ * @returns A new map keyed by CAIP-19 id (canonical case from the
89
+ * defaults registry) with the corresponding metadata.
90
+ */
91
+ function buildDefaultAssetsInfo() {
92
+ const info = {};
93
+ for (const assetIds of exports.DEFAULT_TRACKED_ASSETS_BY_CHAIN.values()) {
94
+ for (const assetId of assetIds) {
95
+ info[assetId] = MUSD_METADATA;
96
+ }
97
+ }
98
+ return info;
99
+ }
100
+ exports.buildDefaultAssetsInfo = buildDefaultAssetsInfo;
101
+ //# sourceMappingURL=defaults.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.cjs","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":";;;AAOA;;;GAGG;AACH,MAAM,YAAY,GAAG,4CAA4C,CAAC;AAElE;;;;GAIG;AACH,MAAM,aAAa,GAA0B;IAC3C,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,OAAgB;IACnC,OAAO,GAAG,OAAO,UAAU,YAAY,EAAmB,CAAC;AAC7D,CAAC;AAED;;;;;;;;;GASG;AACU,QAAA,+BAA+B,GAGxC,IAAI,GAAG,CAAoC;IAC7C,CAAC,UAAqB,EAAE,CAAC,WAAW,CAAC,UAAqB,CAAC,CAAC,CAAC;IAC7D,CAAC,cAAyB,EAAE,CAAC,WAAW,CAAC,cAAyB,CAAC,CAAC,CAAC;IACrE,CAAC,YAAuB,EAAE,CAAC,WAAW,CAAC,YAAuB,CAAC,CAAC,CAAC;CAClE,CAAC,CAAC;AAEH;;;GAGG;AACU,QAAA,kCAAkC,GAAyB,IAAI,GAAG,CAC7E,uCAA+B,CAAC,IAAI,EAAE,CACvC,CAAC;AAEF;;;;GAIG;AACU,QAAA,sBAAsB,GACjC,IAAI,GAAG,CAAwB;IAC7B,CAAC,WAAW,CAAC,UAAqB,CAAC,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC;IACjE,CAAC,WAAW,CAAC,cAAyB,CAAC,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC;IACrE,CAAC,WAAW,CAAC,YAAuB,CAAC,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC;CACpE,CAAC,CAAC;AAEL;;;;;;GAMG;AACH,SAAgB,+BAA+B,CAC7C,OAAgB;IAEhB,OAAO,uCAA+B,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AAC5D,CAAC;AAJD,0EAIC;AAED;;;;;;GAMG;AACH,SAAgB,uBAAuB,CACrC,OAAsB;IAEtB,OAAO,8BAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3D,CAAC;AAJD,0DAIC;AAED;;;;;;;;GAQG;AACH,SAAgB,sBAAsB;IACpC,MAAM,IAAI,GAAyC,EAAE,CAAC;IACtD,KAAK,MAAM,QAAQ,IAAI,uCAA+B,CAAC,MAAM,EAAE,EAAE,CAAC;QAChE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AARD,wDAQC","sourcesContent":["import type {\n AssetMetadata,\n Caip19AssetId,\n ChainId,\n FungibleAssetMetadata,\n} from './types';\n\n/**\n * Address of MetaMask USD (mUSD) — same canonical contract address\n * across every chain we deploy it to.\n */\nconst MUSD_ADDRESS = '0xaca92e438df0b2401ff60da7e4337b687a2435da';\n\n/**\n * Hardcoded metadata for MetaMask USD. Pre-seeding this in default\n * state makes the token immediately renderable in the UI before any\n * on-chain balance has been fetched.\n */\nconst MUSD_METADATA: FungibleAssetMetadata = {\n type: 'erc20',\n symbol: 'mUSD',\n name: 'MetaMask USD',\n decimals: 18,\n};\n\n/**\n * Build the CAIP-19 asset ID for the mUSD ERC-20 token on a given EVM\n * chain.\n *\n * @param chainId - The CAIP-2 chain identifier (e.g. `eip155:1`).\n * @returns The CAIP-19 asset ID for mUSD on that chain.\n */\nfunction musdAssetId(chainId: ChainId): Caip19AssetId {\n return `${chainId}/erc20:${MUSD_ADDRESS}` as Caip19AssetId;\n}\n\n/**\n * Default tracked tokens — assets the controller surfaces in state for\n * every account on the listed chain even when the on-chain balance is\n * still zero. Keyed by CAIP-2 chain id.\n *\n * To extend mUSD coverage to a new chain, add an entry here. To add a\n * different default token, append its CAIP-19 asset id to the\n * appropriate chain entry and provide its metadata in\n * {@link DEFAULT_ASSET_METADATA}.\n */\nexport const DEFAULT_TRACKED_ASSETS_BY_CHAIN: ReadonlyMap<\n ChainId,\n readonly Caip19AssetId[]\n> = new Map<ChainId, readonly Caip19AssetId[]>([\n ['eip155:1' as ChainId, [musdAssetId('eip155:1' as ChainId)]],\n ['eip155:59144' as ChainId, [musdAssetId('eip155:59144' as ChainId)]],\n ['eip155:143' as ChainId, [musdAssetId('eip155:143' as ChainId)]],\n]);\n\n/**\n * Chains that have at least one default tracked asset. Useful for\n * quickly answering \"should we seed defaults for this chain?\".\n */\nexport const CHAINS_WITH_DEFAULT_TRACKED_ASSETS: ReadonlySet<ChainId> = new Set(\n DEFAULT_TRACKED_ASSETS_BY_CHAIN.keys(),\n);\n\n/**\n * Pre-seeded metadata for every default tracked asset, keyed by the\n * lowercase CAIP-19 id so callers can look up without worrying about\n * checksum case.\n */\nexport const DEFAULT_ASSET_METADATA: ReadonlyMap<string, AssetMetadata> =\n new Map<string, AssetMetadata>([\n [musdAssetId('eip155:1' as ChainId).toLowerCase(), MUSD_METADATA],\n [musdAssetId('eip155:59144' as ChainId).toLowerCase(), MUSD_METADATA],\n [musdAssetId('eip155:143' as ChainId).toLowerCase(), MUSD_METADATA],\n ]);\n\n/**\n * Return the default tracked assets for a CAIP-2 chain id. Empty when\n * the chain has no defaults.\n *\n * @param chainId - CAIP-2 chain id to look up.\n * @returns The default asset ids for that chain.\n */\nexport function getDefaultTrackedAssetsForChain(\n chainId: ChainId,\n): readonly Caip19AssetId[] {\n return DEFAULT_TRACKED_ASSETS_BY_CHAIN.get(chainId) ?? [];\n}\n\n/**\n * Look up pre-seeded metadata for a default tracked asset.\n *\n * @param assetId - CAIP-19 asset id (any case).\n * @returns The metadata if the asset is a default tracked asset,\n * otherwise `undefined`.\n */\nexport function getDefaultAssetMetadata(\n assetId: Caip19AssetId,\n): AssetMetadata | undefined {\n return DEFAULT_ASSET_METADATA.get(assetId.toLowerCase());\n}\n\n/**\n * Build the `assetsInfo` map to use in default controller state —\n * pre-populated with metadata for every default tracked asset across\n * every default tracked chain. This is what makes `assetsInfo[mUSD]`\n * exist from the very first render, before any RPC poll completes.\n *\n * @returns A new map keyed by CAIP-19 id (canonical case from the\n * defaults registry) with the corresponding metadata.\n */\nexport function buildDefaultAssetsInfo(): Record<Caip19AssetId, AssetMetadata> {\n const info: Record<Caip19AssetId, AssetMetadata> = {};\n for (const assetIds of DEFAULT_TRACKED_ASSETS_BY_CHAIN.values()) {\n for (const assetId of assetIds) {\n info[assetId] = MUSD_METADATA;\n }\n }\n return info;\n}\n"]}
@@ -0,0 +1,50 @@
1
+ import type { AssetMetadata, Caip19AssetId, ChainId } from "./types.cjs";
2
+ /**
3
+ * Default tracked tokens — assets the controller surfaces in state for
4
+ * every account on the listed chain even when the on-chain balance is
5
+ * still zero. Keyed by CAIP-2 chain id.
6
+ *
7
+ * To extend mUSD coverage to a new chain, add an entry here. To add a
8
+ * different default token, append its CAIP-19 asset id to the
9
+ * appropriate chain entry and provide its metadata in
10
+ * {@link DEFAULT_ASSET_METADATA}.
11
+ */
12
+ export declare const DEFAULT_TRACKED_ASSETS_BY_CHAIN: ReadonlyMap<ChainId, readonly Caip19AssetId[]>;
13
+ /**
14
+ * Chains that have at least one default tracked asset. Useful for
15
+ * quickly answering "should we seed defaults for this chain?".
16
+ */
17
+ export declare const CHAINS_WITH_DEFAULT_TRACKED_ASSETS: ReadonlySet<ChainId>;
18
+ /**
19
+ * Pre-seeded metadata for every default tracked asset, keyed by the
20
+ * lowercase CAIP-19 id so callers can look up without worrying about
21
+ * checksum case.
22
+ */
23
+ export declare const DEFAULT_ASSET_METADATA: ReadonlyMap<string, AssetMetadata>;
24
+ /**
25
+ * Return the default tracked assets for a CAIP-2 chain id. Empty when
26
+ * the chain has no defaults.
27
+ *
28
+ * @param chainId - CAIP-2 chain id to look up.
29
+ * @returns The default asset ids for that chain.
30
+ */
31
+ export declare function getDefaultTrackedAssetsForChain(chainId: ChainId): readonly Caip19AssetId[];
32
+ /**
33
+ * Look up pre-seeded metadata for a default tracked asset.
34
+ *
35
+ * @param assetId - CAIP-19 asset id (any case).
36
+ * @returns The metadata if the asset is a default tracked asset,
37
+ * otherwise `undefined`.
38
+ */
39
+ export declare function getDefaultAssetMetadata(assetId: Caip19AssetId): AssetMetadata | undefined;
40
+ /**
41
+ * Build the `assetsInfo` map to use in default controller state —
42
+ * pre-populated with metadata for every default tracked asset across
43
+ * every default tracked chain. This is what makes `assetsInfo[mUSD]`
44
+ * exist from the very first render, before any RPC poll completes.
45
+ *
46
+ * @returns A new map keyed by CAIP-19 id (canonical case from the
47
+ * defaults registry) with the corresponding metadata.
48
+ */
49
+ export declare function buildDefaultAssetsInfo(): Record<Caip19AssetId, AssetMetadata>;
50
+ //# sourceMappingURL=defaults.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.d.cts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,OAAO,EAER,oBAAgB;AA+BjB;;;;;;;;;GASG;AACH,eAAO,MAAM,+BAA+B,EAAE,WAAW,CACvD,OAAO,EACP,SAAS,aAAa,EAAE,CAKxB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,kCAAkC,EAAE,WAAW,CAAC,OAAO,CAEnE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAKlE,CAAC;AAEL;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,OAAO,GACf,SAAS,aAAa,EAAE,CAE1B;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,aAAa,GACrB,aAAa,GAAG,SAAS,CAE3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,CAQ7E"}
@@ -0,0 +1,50 @@
1
+ import type { AssetMetadata, Caip19AssetId, ChainId } from "./types.mjs";
2
+ /**
3
+ * Default tracked tokens — assets the controller surfaces in state for
4
+ * every account on the listed chain even when the on-chain balance is
5
+ * still zero. Keyed by CAIP-2 chain id.
6
+ *
7
+ * To extend mUSD coverage to a new chain, add an entry here. To add a
8
+ * different default token, append its CAIP-19 asset id to the
9
+ * appropriate chain entry and provide its metadata in
10
+ * {@link DEFAULT_ASSET_METADATA}.
11
+ */
12
+ export declare const DEFAULT_TRACKED_ASSETS_BY_CHAIN: ReadonlyMap<ChainId, readonly Caip19AssetId[]>;
13
+ /**
14
+ * Chains that have at least one default tracked asset. Useful for
15
+ * quickly answering "should we seed defaults for this chain?".
16
+ */
17
+ export declare const CHAINS_WITH_DEFAULT_TRACKED_ASSETS: ReadonlySet<ChainId>;
18
+ /**
19
+ * Pre-seeded metadata for every default tracked asset, keyed by the
20
+ * lowercase CAIP-19 id so callers can look up without worrying about
21
+ * checksum case.
22
+ */
23
+ export declare const DEFAULT_ASSET_METADATA: ReadonlyMap<string, AssetMetadata>;
24
+ /**
25
+ * Return the default tracked assets for a CAIP-2 chain id. Empty when
26
+ * the chain has no defaults.
27
+ *
28
+ * @param chainId - CAIP-2 chain id to look up.
29
+ * @returns The default asset ids for that chain.
30
+ */
31
+ export declare function getDefaultTrackedAssetsForChain(chainId: ChainId): readonly Caip19AssetId[];
32
+ /**
33
+ * Look up pre-seeded metadata for a default tracked asset.
34
+ *
35
+ * @param assetId - CAIP-19 asset id (any case).
36
+ * @returns The metadata if the asset is a default tracked asset,
37
+ * otherwise `undefined`.
38
+ */
39
+ export declare function getDefaultAssetMetadata(assetId: Caip19AssetId): AssetMetadata | undefined;
40
+ /**
41
+ * Build the `assetsInfo` map to use in default controller state —
42
+ * pre-populated with metadata for every default tracked asset across
43
+ * every default tracked chain. This is what makes `assetsInfo[mUSD]`
44
+ * exist from the very first render, before any RPC poll completes.
45
+ *
46
+ * @returns A new map keyed by CAIP-19 id (canonical case from the
47
+ * defaults registry) with the corresponding metadata.
48
+ */
49
+ export declare function buildDefaultAssetsInfo(): Record<Caip19AssetId, AssetMetadata>;
50
+ //# sourceMappingURL=defaults.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.d.mts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,OAAO,EAER,oBAAgB;AA+BjB;;;;;;;;;GASG;AACH,eAAO,MAAM,+BAA+B,EAAE,WAAW,CACvD,OAAO,EACP,SAAS,aAAa,EAAE,CAKxB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,kCAAkC,EAAE,WAAW,CAAC,OAAO,CAEnE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAKlE,CAAC;AAEL;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,OAAO,GACf,SAAS,aAAa,EAAE,CAE1B;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,aAAa,GACrB,aAAa,GAAG,SAAS,CAE3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,CAQ7E"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Address of MetaMask USD (mUSD) — same canonical contract address
3
+ * across every chain we deploy it to.
4
+ */
5
+ const MUSD_ADDRESS = '0xaca92e438df0b2401ff60da7e4337b687a2435da';
6
+ /**
7
+ * Hardcoded metadata for MetaMask USD. Pre-seeding this in default
8
+ * state makes the token immediately renderable in the UI before any
9
+ * on-chain balance has been fetched.
10
+ */
11
+ const MUSD_METADATA = {
12
+ type: 'erc20',
13
+ symbol: 'mUSD',
14
+ name: 'MetaMask USD',
15
+ decimals: 18,
16
+ };
17
+ /**
18
+ * Build the CAIP-19 asset ID for the mUSD ERC-20 token on a given EVM
19
+ * chain.
20
+ *
21
+ * @param chainId - The CAIP-2 chain identifier (e.g. `eip155:1`).
22
+ * @returns The CAIP-19 asset ID for mUSD on that chain.
23
+ */
24
+ function musdAssetId(chainId) {
25
+ return `${chainId}/erc20:${MUSD_ADDRESS}`;
26
+ }
27
+ /**
28
+ * Default tracked tokens — assets the controller surfaces in state for
29
+ * every account on the listed chain even when the on-chain balance is
30
+ * still zero. Keyed by CAIP-2 chain id.
31
+ *
32
+ * To extend mUSD coverage to a new chain, add an entry here. To add a
33
+ * different default token, append its CAIP-19 asset id to the
34
+ * appropriate chain entry and provide its metadata in
35
+ * {@link DEFAULT_ASSET_METADATA}.
36
+ */
37
+ export const DEFAULT_TRACKED_ASSETS_BY_CHAIN = new Map([
38
+ ['eip155:1', [musdAssetId('eip155:1')]],
39
+ ['eip155:59144', [musdAssetId('eip155:59144')]],
40
+ ['eip155:143', [musdAssetId('eip155:143')]],
41
+ ]);
42
+ /**
43
+ * Chains that have at least one default tracked asset. Useful for
44
+ * quickly answering "should we seed defaults for this chain?".
45
+ */
46
+ export const CHAINS_WITH_DEFAULT_TRACKED_ASSETS = new Set(DEFAULT_TRACKED_ASSETS_BY_CHAIN.keys());
47
+ /**
48
+ * Pre-seeded metadata for every default tracked asset, keyed by the
49
+ * lowercase CAIP-19 id so callers can look up without worrying about
50
+ * checksum case.
51
+ */
52
+ export const DEFAULT_ASSET_METADATA = new Map([
53
+ [musdAssetId('eip155:1').toLowerCase(), MUSD_METADATA],
54
+ [musdAssetId('eip155:59144').toLowerCase(), MUSD_METADATA],
55
+ [musdAssetId('eip155:143').toLowerCase(), MUSD_METADATA],
56
+ ]);
57
+ /**
58
+ * Return the default tracked assets for a CAIP-2 chain id. Empty when
59
+ * the chain has no defaults.
60
+ *
61
+ * @param chainId - CAIP-2 chain id to look up.
62
+ * @returns The default asset ids for that chain.
63
+ */
64
+ export function getDefaultTrackedAssetsForChain(chainId) {
65
+ return DEFAULT_TRACKED_ASSETS_BY_CHAIN.get(chainId) ?? [];
66
+ }
67
+ /**
68
+ * Look up pre-seeded metadata for a default tracked asset.
69
+ *
70
+ * @param assetId - CAIP-19 asset id (any case).
71
+ * @returns The metadata if the asset is a default tracked asset,
72
+ * otherwise `undefined`.
73
+ */
74
+ export function getDefaultAssetMetadata(assetId) {
75
+ return DEFAULT_ASSET_METADATA.get(assetId.toLowerCase());
76
+ }
77
+ /**
78
+ * Build the `assetsInfo` map to use in default controller state —
79
+ * pre-populated with metadata for every default tracked asset across
80
+ * every default tracked chain. This is what makes `assetsInfo[mUSD]`
81
+ * exist from the very first render, before any RPC poll completes.
82
+ *
83
+ * @returns A new map keyed by CAIP-19 id (canonical case from the
84
+ * defaults registry) with the corresponding metadata.
85
+ */
86
+ export function buildDefaultAssetsInfo() {
87
+ const info = {};
88
+ for (const assetIds of DEFAULT_TRACKED_ASSETS_BY_CHAIN.values()) {
89
+ for (const assetId of assetIds) {
90
+ info[assetId] = MUSD_METADATA;
91
+ }
92
+ }
93
+ return info;
94
+ }
95
+ //# sourceMappingURL=defaults.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.mjs","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,YAAY,GAAG,4CAA4C,CAAC;AAElE;;;;GAIG;AACH,MAAM,aAAa,GAA0B;IAC3C,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,OAAgB;IACnC,OAAO,GAAG,OAAO,UAAU,YAAY,EAAmB,CAAC;AAC7D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAGxC,IAAI,GAAG,CAAoC;IAC7C,CAAC,UAAqB,EAAE,CAAC,WAAW,CAAC,UAAqB,CAAC,CAAC,CAAC;IAC7D,CAAC,cAAyB,EAAE,CAAC,WAAW,CAAC,cAAyB,CAAC,CAAC,CAAC;IACrE,CAAC,YAAuB,EAAE,CAAC,WAAW,CAAC,YAAuB,CAAC,CAAC,CAAC;CAClE,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAyB,IAAI,GAAG,CAC7E,+BAA+B,CAAC,IAAI,EAAE,CACvC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GACjC,IAAI,GAAG,CAAwB;IAC7B,CAAC,WAAW,CAAC,UAAqB,CAAC,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC;IACjE,CAAC,WAAW,CAAC,cAAyB,CAAC,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC;IACrE,CAAC,WAAW,CAAC,YAAuB,CAAC,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC;CACpE,CAAC,CAAC;AAEL;;;;;;GAMG;AACH,MAAM,UAAU,+BAA+B,CAC7C,OAAgB;IAEhB,OAAO,+BAA+B,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AAC5D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAsB;IAEtB,OAAO,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,IAAI,GAAyC,EAAE,CAAC;IACtD,KAAK,MAAM,QAAQ,IAAI,+BAA+B,CAAC,MAAM,EAAE,EAAE,CAAC;QAChE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import type {\n AssetMetadata,\n Caip19AssetId,\n ChainId,\n FungibleAssetMetadata,\n} from './types';\n\n/**\n * Address of MetaMask USD (mUSD) — same canonical contract address\n * across every chain we deploy it to.\n */\nconst MUSD_ADDRESS = '0xaca92e438df0b2401ff60da7e4337b687a2435da';\n\n/**\n * Hardcoded metadata for MetaMask USD. Pre-seeding this in default\n * state makes the token immediately renderable in the UI before any\n * on-chain balance has been fetched.\n */\nconst MUSD_METADATA: FungibleAssetMetadata = {\n type: 'erc20',\n symbol: 'mUSD',\n name: 'MetaMask USD',\n decimals: 18,\n};\n\n/**\n * Build the CAIP-19 asset ID for the mUSD ERC-20 token on a given EVM\n * chain.\n *\n * @param chainId - The CAIP-2 chain identifier (e.g. `eip155:1`).\n * @returns The CAIP-19 asset ID for mUSD on that chain.\n */\nfunction musdAssetId(chainId: ChainId): Caip19AssetId {\n return `${chainId}/erc20:${MUSD_ADDRESS}` as Caip19AssetId;\n}\n\n/**\n * Default tracked tokens — assets the controller surfaces in state for\n * every account on the listed chain even when the on-chain balance is\n * still zero. Keyed by CAIP-2 chain id.\n *\n * To extend mUSD coverage to a new chain, add an entry here. To add a\n * different default token, append its CAIP-19 asset id to the\n * appropriate chain entry and provide its metadata in\n * {@link DEFAULT_ASSET_METADATA}.\n */\nexport const DEFAULT_TRACKED_ASSETS_BY_CHAIN: ReadonlyMap<\n ChainId,\n readonly Caip19AssetId[]\n> = new Map<ChainId, readonly Caip19AssetId[]>([\n ['eip155:1' as ChainId, [musdAssetId('eip155:1' as ChainId)]],\n ['eip155:59144' as ChainId, [musdAssetId('eip155:59144' as ChainId)]],\n ['eip155:143' as ChainId, [musdAssetId('eip155:143' as ChainId)]],\n]);\n\n/**\n * Chains that have at least one default tracked asset. Useful for\n * quickly answering \"should we seed defaults for this chain?\".\n */\nexport const CHAINS_WITH_DEFAULT_TRACKED_ASSETS: ReadonlySet<ChainId> = new Set(\n DEFAULT_TRACKED_ASSETS_BY_CHAIN.keys(),\n);\n\n/**\n * Pre-seeded metadata for every default tracked asset, keyed by the\n * lowercase CAIP-19 id so callers can look up without worrying about\n * checksum case.\n */\nexport const DEFAULT_ASSET_METADATA: ReadonlyMap<string, AssetMetadata> =\n new Map<string, AssetMetadata>([\n [musdAssetId('eip155:1' as ChainId).toLowerCase(), MUSD_METADATA],\n [musdAssetId('eip155:59144' as ChainId).toLowerCase(), MUSD_METADATA],\n [musdAssetId('eip155:143' as ChainId).toLowerCase(), MUSD_METADATA],\n ]);\n\n/**\n * Return the default tracked assets for a CAIP-2 chain id. Empty when\n * the chain has no defaults.\n *\n * @param chainId - CAIP-2 chain id to look up.\n * @returns The default asset ids for that chain.\n */\nexport function getDefaultTrackedAssetsForChain(\n chainId: ChainId,\n): readonly Caip19AssetId[] {\n return DEFAULT_TRACKED_ASSETS_BY_CHAIN.get(chainId) ?? [];\n}\n\n/**\n * Look up pre-seeded metadata for a default tracked asset.\n *\n * @param assetId - CAIP-19 asset id (any case).\n * @returns The metadata if the asset is a default tracked asset,\n * otherwise `undefined`.\n */\nexport function getDefaultAssetMetadata(\n assetId: Caip19AssetId,\n): AssetMetadata | undefined {\n return DEFAULT_ASSET_METADATA.get(assetId.toLowerCase());\n}\n\n/**\n * Build the `assetsInfo` map to use in default controller state —\n * pre-populated with metadata for every default tracked asset across\n * every default tracked chain. This is what makes `assetsInfo[mUSD]`\n * exist from the very first render, before any RPC poll completes.\n *\n * @returns A new map keyed by CAIP-19 id (canonical case from the\n * defaults registry) with the corresponding metadata.\n */\nexport function buildDefaultAssetsInfo(): Record<Caip19AssetId, AssetMetadata> {\n const info: Record<Caip19AssetId, AssetMetadata> = {};\n for (const assetIds of DEFAULT_TRACKED_ASSETS_BY_CHAIN.values()) {\n for (const assetId of assetIds) {\n info[assetId] = MUSD_METADATA;\n }\n }\n return info;\n}\n"]}
package/dist/index.cjs CHANGED
@@ -1,12 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getInternalAccountsForGroup = exports.getGroupIdForAccount = exports.getAggregatedBalanceForAccount = exports.formatStateForTransactionPay = exports.formatExchangeRatesForBridge = exports.normalizeAssetId = exports.RpcFallbackMiddleware = exports.DetectionMiddleware = exports.CustomAssetGraduationMiddleware = exports.PriceDataSource = exports.TokenDataSource = exports.extractChainFromAssetId = exports.getChainIdsCaveat = exports.KEYRING_PERMISSION = exports.SNAP_DATA_SOURCE_NAME = exports.createSnapDataSource = exports.SnapDataSource = exports.createRpcDataSource = exports.RpcDataSource = exports.createBackendWebsocketDataSource = exports.BackendWebsocketDataSource = exports.AccountsApiDataSource = exports.AbstractDataSource = exports.AssetsDataSourceError = exports.getDefaultAssetsControllerState = exports.AssetsController = void 0;
3
+ exports.getInternalAccountsForGroup = exports.getGroupIdForAccount = exports.getAggregatedBalanceForAccount = exports.formatStateForTransactionPay = exports.formatExchangeRatesForBridge = exports.normalizeAssetId = exports.RpcFallbackMiddleware = exports.DetectionMiddleware = exports.CustomAssetGraduationMiddleware = exports.PriceDataSource = exports.TokenDataSource = exports.extractChainFromAssetId = exports.getChainIdsCaveat = exports.KEYRING_PERMISSION = exports.SNAP_DATA_SOURCE_NAME = exports.createSnapDataSource = exports.SnapDataSource = exports.createRpcDataSource = exports.RpcDataSource = exports.createBackendWebsocketDataSource = exports.BackendWebsocketDataSource = exports.AccountsApiDataSource = exports.AbstractDataSource = exports.getDefaultAssetMetadata = exports.getDefaultTrackedAssetsForChain = exports.buildDefaultAssetsInfo = exports.DEFAULT_ASSET_METADATA = exports.CHAINS_WITH_DEFAULT_TRACKED_ASSETS = exports.DEFAULT_TRACKED_ASSETS_BY_CHAIN = exports.AssetsDataSourceError = exports.getDefaultAssetsControllerState = exports.AssetsController = void 0;
4
4
  // Main controller export
5
5
  var AssetsController_1 = require("./AssetsController.cjs");
6
6
  Object.defineProperty(exports, "AssetsController", { enumerable: true, get: function () { return AssetsController_1.AssetsController; } });
7
7
  Object.defineProperty(exports, "getDefaultAssetsControllerState", { enumerable: true, get: function () { return AssetsController_1.getDefaultAssetsControllerState; } });
8
8
  var errors_1 = require("./errors.cjs");
9
9
  Object.defineProperty(exports, "AssetsDataSourceError", { enumerable: true, get: function () { return errors_1.AssetsDataSourceError; } });
10
+ var defaults_1 = require("./defaults.cjs");
11
+ Object.defineProperty(exports, "DEFAULT_TRACKED_ASSETS_BY_CHAIN", { enumerable: true, get: function () { return defaults_1.DEFAULT_TRACKED_ASSETS_BY_CHAIN; } });
12
+ Object.defineProperty(exports, "CHAINS_WITH_DEFAULT_TRACKED_ASSETS", { enumerable: true, get: function () { return defaults_1.CHAINS_WITH_DEFAULT_TRACKED_ASSETS; } });
13
+ Object.defineProperty(exports, "DEFAULT_ASSET_METADATA", { enumerable: true, get: function () { return defaults_1.DEFAULT_ASSET_METADATA; } });
14
+ Object.defineProperty(exports, "buildDefaultAssetsInfo", { enumerable: true, get: function () { return defaults_1.buildDefaultAssetsInfo; } });
15
+ Object.defineProperty(exports, "getDefaultTrackedAssetsForChain", { enumerable: true, get: function () { return defaults_1.getDefaultTrackedAssetsForChain; } });
16
+ Object.defineProperty(exports, "getDefaultAssetMetadata", { enumerable: true, get: function () { return defaults_1.getDefaultAssetMetadata; } });
10
17
  // Data sources - base class and types
11
18
  var data_sources_1 = require("./data-sources/index.cjs");
12
19
  Object.defineProperty(exports, "AbstractDataSource", { enumerable: true, get: function () { return data_sources_1.AbstractDataSource; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,2DAG4B;AAF1B,oHAAA,gBAAgB,OAAA;AAChB,mIAAA,+BAA+B,OAAA;AAEjC,uCAAiD;AAAxC,+GAAA,qBAAqB,OAAA;AAoF9B,sCAAsC;AACtC,yDAAoD;AAA3C,kHAAA,kBAAkB,OAAA;AAI3B,6BAA6B;AAC7B,yDAAuD;AAA9C,qHAAA,qBAAqB,OAAA;AAQ9B,kCAAkC;AAClC,yDAGwB;AAFtB,0HAAA,0BAA0B,OAAA;AAC1B,gIAAA,gCAAgC,OAAA;AAQlC,qBAAqB;AACrB,yDAAoE;AAA3D,6GAAA,aAAa,OAAA;AAAE,mHAAA,mBAAmB,OAAA;AAS3C,gFAAgF;AAChF,yDASwB;AARtB,8GAAA,cAAc,OAAA;AACd,oHAAA,oBAAoB,OAAA;AACpB,qHAAA,qBAAqB,OAAA;AACrB,YAAY;AACZ,kHAAA,kBAAkB,OAAA;AAClB,oBAAoB;AACpB,iHAAA,iBAAiB,OAAA;AACjB,uHAAA,uBAAuB,OAAA;AAQzB,0BAA0B;AAC1B,yDAAkE;AAAzD,+GAAA,eAAe,OAAA;AAAE,+GAAA,eAAe,OAAA;AAQzC,cAAc;AACd,uDAIuB;AAHrB,8HAAA,+BAA+B,OAAA;AAC/B,kHAAA,mBAAmB,OAAA;AACnB,oHAAA,qBAAqB,OAAA;AAOvB,YAAY;AACZ,2CAIiB;AAHf,yGAAA,gBAAgB,OAAA;AAChB,qHAAA,4BAA4B,OAAA;AAC5B,qHAAA,4BAA4B,OAAA;AAS9B,YAAY;AACZ,mDAI6B;AAH3B,yHAAA,8BAA8B,OAAA;AAC9B,+GAAA,oBAAoB,OAAA;AACpB,sHAAA,2BAA2B,OAAA","sourcesContent":["// Main controller export\nexport {\n AssetsController,\n getDefaultAssetsControllerState,\n} from './AssetsController';\nexport { AssetsDataSourceError } from './errors';\nexport type { PendingTokenMetadata } from './AssetsController';\n\n// State and messenger types\nexport type {\n AssetsControllerState,\n AssetsControllerMessenger,\n AssetsControllerOptions,\n AssetsControllerGetStateAction,\n AssetsControllerActions,\n AssetsControllerStateChangeEvent,\n AssetsControllerBalanceChangedEvent,\n AssetsControllerPriceChangedEvent,\n AssetsControllerAssetsDetectedEvent,\n AssetsControllerEvents,\n} from './AssetsController';\nexport type {\n AssetsControllerGetAssetsAction,\n AssetsControllerGetAssetsBalanceAction,\n AssetsControllerGetAssetMetadataAction,\n AssetsControllerGetAssetsPriceAction,\n AssetsControllerAddCustomAssetAction,\n AssetsControllerRemoveCustomAssetAction,\n AssetsControllerGetCustomAssetsAction,\n AssetsControllerHideAssetAction,\n AssetsControllerUnhideAssetAction,\n AssetsControllerGetExchangeRatesForBridgeAction,\n AssetsControllerGetStateForTransactionPayAction,\n} from './AssetsController-method-action-types';\n\n// Core types\nexport type {\n // CAIP types\n Caip19AssetId,\n AccountId,\n ChainId,\n // Asset types\n AssetType,\n TokenStandard,\n // Contract data types\n TokenFees,\n HoneypotStatus,\n StorageSlots,\n LocalizedDescription,\n // Metadata types\n BaseAssetMetadata,\n FungibleAssetMetadata,\n ERC721AssetMetadata,\n ERC1155AssetMetadata,\n AssetMetadata,\n // Price types\n BaseAssetPrice,\n FungibleAssetPrice,\n NFTAssetPrice,\n AssetPrice,\n // Balance types\n FungibleAssetBalance,\n ERC721AssetBalance,\n ERC1155AssetBalance,\n AssetBalance,\n // Data source types\n AccountWithSupportedChains,\n DataType,\n DataRequest,\n DataResponse,\n AssetsUpdateMode,\n // Middleware types\n Context,\n NextFunction,\n Middleware,\n AssetsDataSource,\n FetchContext,\n FetchNextFunction,\n FetchMiddleware,\n SubscriptionResponse,\n // Combined asset type\n Asset,\n // Event types\n BalanceChangeEvent,\n PriceChangeEvent,\n MetadataChangeEvent,\n AssetsDetectedEvent,\n} from './types';\n\n// Data sources - base class and types\nexport { AbstractDataSource } from './data-sources';\n\nexport type { DataSourceState, SubscriptionRequest } from './data-sources';\n\n// Data sources - AccountsApi\nexport { AccountsApiDataSource } from './data-sources';\n\nexport type {\n AccountsApiDataSourceConfig,\n AccountsApiDataSourceOptions,\n AccountsApiDataSourceState,\n} from './data-sources';\n\n// Data sources - BackendWebsocket\nexport {\n BackendWebsocketDataSource,\n createBackendWebsocketDataSource,\n} from './data-sources';\n\nexport type {\n BackendWebsocketDataSourceOptions,\n BackendWebsocketDataSourceState,\n} from './data-sources';\n\n// Data sources - RPC\nexport { RpcDataSource, createRpcDataSource } from './data-sources';\n\nexport type {\n RpcDataSourceConfig,\n RpcDataSourceOptions,\n RpcDataSourceState,\n ChainStatus,\n} from './data-sources';\n\n// Data sources - Unified Snap Data Source (dynamically discovers keyring snaps)\nexport {\n SnapDataSource,\n createSnapDataSource,\n SNAP_DATA_SOURCE_NAME,\n // Constants\n KEYRING_PERMISSION,\n // Utility functions\n getChainIdsCaveat,\n extractChainFromAssetId,\n} from './data-sources';\n\nexport type {\n SnapDataSourceState,\n SnapDataSourceOptions,\n} from './data-sources';\n\n// Enrichment data sources\nexport { TokenDataSource, PriceDataSource } from './data-sources';\n\nexport type {\n TokenDataSourceOptions,\n PriceDataSourceConfig,\n PriceDataSourceOptions,\n} from './data-sources';\n\n// Middlewares\nexport {\n CustomAssetGraduationMiddleware,\n DetectionMiddleware,\n RpcFallbackMiddleware,\n} from './middlewares';\nexport type {\n CustomAssetGraduationMiddlewareOptions,\n RpcFallbackMiddlewareOptions,\n} from './middlewares';\n\n// Utilities\nexport {\n normalizeAssetId,\n formatExchangeRatesForBridge,\n formatStateForTransactionPay,\n} from './utils';\nexport type {\n AccountForLegacyFormat,\n BridgeExchangeRatesFormat,\n LegacyToken,\n TransactionPayLegacyFormat,\n} from './utils';\n\n// Selectors\nexport {\n getAggregatedBalanceForAccount,\n getGroupIdForAccount,\n getInternalAccountsForGroup,\n} from './selectors/balance';\n\nexport type {\n AccountsById,\n AggregatedBalanceEntry,\n AggregatedBalanceForAccount,\n EnabledNetworkMap,\n} from './selectors/balance';\n"]}
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,2DAG4B;AAF1B,oHAAA,gBAAgB,OAAA;AAChB,mIAAA,+BAA+B,OAAA;AAEjC,uCAAiD;AAAxC,+GAAA,qBAAqB,OAAA;AAC9B,2CAOoB;AANlB,2HAAA,+BAA+B,OAAA;AAC/B,8HAAA,kCAAkC,OAAA;AAClC,kHAAA,sBAAsB,OAAA;AACtB,kHAAA,sBAAsB,OAAA;AACtB,2HAAA,+BAA+B,OAAA;AAC/B,mHAAA,uBAAuB,OAAA;AAqFzB,sCAAsC;AACtC,yDAAoD;AAA3C,kHAAA,kBAAkB,OAAA;AAI3B,6BAA6B;AAC7B,yDAAuD;AAA9C,qHAAA,qBAAqB,OAAA;AAQ9B,kCAAkC;AAClC,yDAGwB;AAFtB,0HAAA,0BAA0B,OAAA;AAC1B,gIAAA,gCAAgC,OAAA;AAQlC,qBAAqB;AACrB,yDAAoE;AAA3D,6GAAA,aAAa,OAAA;AAAE,mHAAA,mBAAmB,OAAA;AAS3C,gFAAgF;AAChF,yDASwB;AARtB,8GAAA,cAAc,OAAA;AACd,oHAAA,oBAAoB,OAAA;AACpB,qHAAA,qBAAqB,OAAA;AACrB,YAAY;AACZ,kHAAA,kBAAkB,OAAA;AAClB,oBAAoB;AACpB,iHAAA,iBAAiB,OAAA;AACjB,uHAAA,uBAAuB,OAAA;AAQzB,0BAA0B;AAC1B,yDAAkE;AAAzD,+GAAA,eAAe,OAAA;AAAE,+GAAA,eAAe,OAAA;AAQzC,cAAc;AACd,uDAIuB;AAHrB,8HAAA,+BAA+B,OAAA;AAC/B,kHAAA,mBAAmB,OAAA;AACnB,oHAAA,qBAAqB,OAAA;AAOvB,YAAY;AACZ,2CAIiB;AAHf,yGAAA,gBAAgB,OAAA;AAChB,qHAAA,4BAA4B,OAAA;AAC5B,qHAAA,4BAA4B,OAAA;AAS9B,YAAY;AACZ,mDAI6B;AAH3B,yHAAA,8BAA8B,OAAA;AAC9B,+GAAA,oBAAoB,OAAA;AACpB,sHAAA,2BAA2B,OAAA","sourcesContent":["// Main controller export\nexport {\n AssetsController,\n getDefaultAssetsControllerState,\n} from './AssetsController';\nexport { AssetsDataSourceError } from './errors';\nexport {\n DEFAULT_TRACKED_ASSETS_BY_CHAIN,\n CHAINS_WITH_DEFAULT_TRACKED_ASSETS,\n DEFAULT_ASSET_METADATA,\n buildDefaultAssetsInfo,\n getDefaultTrackedAssetsForChain,\n getDefaultAssetMetadata,\n} from './defaults';\nexport type { PendingTokenMetadata } from './AssetsController';\n\n// State and messenger types\nexport type {\n AssetsControllerState,\n AssetsControllerMessenger,\n AssetsControllerOptions,\n AssetsControllerGetStateAction,\n AssetsControllerActions,\n AssetsControllerStateChangeEvent,\n AssetsControllerBalanceChangedEvent,\n AssetsControllerPriceChangedEvent,\n AssetsControllerAssetsDetectedEvent,\n AssetsControllerEvents,\n} from './AssetsController';\nexport type {\n AssetsControllerGetAssetsAction,\n AssetsControllerGetAssetsBalanceAction,\n AssetsControllerGetAssetMetadataAction,\n AssetsControllerGetAssetsPriceAction,\n AssetsControllerAddCustomAssetAction,\n AssetsControllerRemoveCustomAssetAction,\n AssetsControllerGetCustomAssetsAction,\n AssetsControllerHideAssetAction,\n AssetsControllerUnhideAssetAction,\n AssetsControllerGetExchangeRatesForBridgeAction,\n AssetsControllerGetStateForTransactionPayAction,\n} from './AssetsController-method-action-types';\n\n// Core types\nexport type {\n // CAIP types\n Caip19AssetId,\n AccountId,\n ChainId,\n // Asset types\n AssetType,\n TokenStandard,\n // Contract data types\n TokenFees,\n HoneypotStatus,\n StorageSlots,\n LocalizedDescription,\n // Metadata types\n BaseAssetMetadata,\n FungibleAssetMetadata,\n ERC721AssetMetadata,\n ERC1155AssetMetadata,\n AssetMetadata,\n // Price types\n BaseAssetPrice,\n FungibleAssetPrice,\n NFTAssetPrice,\n AssetPrice,\n // Balance types\n FungibleAssetBalance,\n ERC721AssetBalance,\n ERC1155AssetBalance,\n AssetBalance,\n // Data source types\n AccountWithSupportedChains,\n DataType,\n DataRequest,\n DataResponse,\n AssetsUpdateMode,\n // Middleware types\n Context,\n NextFunction,\n Middleware,\n AssetsDataSource,\n FetchContext,\n FetchNextFunction,\n FetchMiddleware,\n SubscriptionResponse,\n // Combined asset type\n Asset,\n // Event types\n BalanceChangeEvent,\n PriceChangeEvent,\n MetadataChangeEvent,\n AssetsDetectedEvent,\n} from './types';\n\n// Data sources - base class and types\nexport { AbstractDataSource } from './data-sources';\n\nexport type { DataSourceState, SubscriptionRequest } from './data-sources';\n\n// Data sources - AccountsApi\nexport { AccountsApiDataSource } from './data-sources';\n\nexport type {\n AccountsApiDataSourceConfig,\n AccountsApiDataSourceOptions,\n AccountsApiDataSourceState,\n} from './data-sources';\n\n// Data sources - BackendWebsocket\nexport {\n BackendWebsocketDataSource,\n createBackendWebsocketDataSource,\n} from './data-sources';\n\nexport type {\n BackendWebsocketDataSourceOptions,\n BackendWebsocketDataSourceState,\n} from './data-sources';\n\n// Data sources - RPC\nexport { RpcDataSource, createRpcDataSource } from './data-sources';\n\nexport type {\n RpcDataSourceConfig,\n RpcDataSourceOptions,\n RpcDataSourceState,\n ChainStatus,\n} from './data-sources';\n\n// Data sources - Unified Snap Data Source (dynamically discovers keyring snaps)\nexport {\n SnapDataSource,\n createSnapDataSource,\n SNAP_DATA_SOURCE_NAME,\n // Constants\n KEYRING_PERMISSION,\n // Utility functions\n getChainIdsCaveat,\n extractChainFromAssetId,\n} from './data-sources';\n\nexport type {\n SnapDataSourceState,\n SnapDataSourceOptions,\n} from './data-sources';\n\n// Enrichment data sources\nexport { TokenDataSource, PriceDataSource } from './data-sources';\n\nexport type {\n TokenDataSourceOptions,\n PriceDataSourceConfig,\n PriceDataSourceOptions,\n} from './data-sources';\n\n// Middlewares\nexport {\n CustomAssetGraduationMiddleware,\n DetectionMiddleware,\n RpcFallbackMiddleware,\n} from './middlewares';\nexport type {\n CustomAssetGraduationMiddlewareOptions,\n RpcFallbackMiddlewareOptions,\n} from './middlewares';\n\n// Utilities\nexport {\n normalizeAssetId,\n formatExchangeRatesForBridge,\n formatStateForTransactionPay,\n} from './utils';\nexport type {\n AccountForLegacyFormat,\n BridgeExchangeRatesFormat,\n LegacyToken,\n TransactionPayLegacyFormat,\n} from './utils';\n\n// Selectors\nexport {\n getAggregatedBalanceForAccount,\n getGroupIdForAccount,\n getInternalAccountsForGroup,\n} from './selectors/balance';\n\nexport type {\n AccountsById,\n AggregatedBalanceEntry,\n AggregatedBalanceForAccount,\n EnabledNetworkMap,\n} from './selectors/balance';\n"]}
package/dist/index.d.cts CHANGED
@@ -1,5 +1,6 @@
1
1
  export { AssetsController, getDefaultAssetsControllerState, } from "./AssetsController.cjs";
2
2
  export { AssetsDataSourceError } from "./errors.cjs";
3
+ export { DEFAULT_TRACKED_ASSETS_BY_CHAIN, CHAINS_WITH_DEFAULT_TRACKED_ASSETS, DEFAULT_ASSET_METADATA, buildDefaultAssetsInfo, getDefaultTrackedAssetsForChain, getDefaultAssetMetadata, } from "./defaults.cjs";
3
4
  export type { PendingTokenMetadata } from "./AssetsController.cjs";
4
5
  export type { AssetsControllerState, AssetsControllerMessenger, AssetsControllerOptions, AssetsControllerGetStateAction, AssetsControllerActions, AssetsControllerStateChangeEvent, AssetsControllerBalanceChangedEvent, AssetsControllerPriceChangedEvent, AssetsControllerAssetsDetectedEvent, AssetsControllerEvents, } from "./AssetsController.cjs";
5
6
  export type { AssetsControllerGetAssetsAction, AssetsControllerGetAssetsBalanceAction, AssetsControllerGetAssetMetadataAction, AssetsControllerGetAssetsPriceAction, AssetsControllerAddCustomAssetAction, AssetsControllerRemoveCustomAssetAction, AssetsControllerGetCustomAssetsAction, AssetsControllerHideAssetAction, AssetsControllerUnhideAssetAction, AssetsControllerGetExchangeRatesForBridgeAction, AssetsControllerGetStateForTransactionPayAction, } from "./AssetsController-method-action-types.cjs";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,+BAA+B,GAChC,+BAA2B;AAC5B,OAAO,EAAE,qBAAqB,EAAE,qBAAiB;AACjD,YAAY,EAAE,oBAAoB,EAAE,+BAA2B;AAG/D,YAAY,EACV,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACvB,gCAAgC,EAChC,mCAAmC,EACnC,iCAAiC,EACjC,mCAAmC,EACnC,sBAAsB,GACvB,+BAA2B;AAC5B,YAAY,EACV,+BAA+B,EAC/B,sCAAsC,EACtC,sCAAsC,EACtC,oCAAoC,EACpC,oCAAoC,EACpC,uCAAuC,EACvC,qCAAqC,EACrC,+BAA+B,EAC/B,iCAAiC,EACjC,+CAA+C,EAC/C,+CAA+C,GAChD,mDAA+C;AAGhD,YAAY,EAEV,aAAa,EACb,SAAS,EACT,OAAO,EAEP,SAAS,EACT,aAAa,EAEb,SAAS,EACT,cAAc,EACd,YAAY,EACZ,oBAAoB,EAEpB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EAEb,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,UAAU,EAEV,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EAEZ,0BAA0B,EAC1B,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,gBAAgB,EAEhB,OAAO,EACP,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EAEpB,KAAK,EAEL,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,oBAAgB;AAGjB,OAAO,EAAE,kBAAkB,EAAE,iCAAuB;AAEpD,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,iCAAuB;AAG3E,OAAO,EAAE,qBAAqB,EAAE,iCAAuB;AAEvD,YAAY,EACV,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,GAC3B,iCAAuB;AAGxB,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,GACjC,iCAAuB;AAExB,YAAY,EACV,iCAAiC,EACjC,+BAA+B,GAChC,iCAAuB;AAGxB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,iCAAuB;AAEpE,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,WAAW,GACZ,iCAAuB;AAGxB,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EAErB,kBAAkB,EAElB,iBAAiB,EACjB,uBAAuB,GACxB,iCAAuB;AAExB,YAAY,EACV,mBAAmB,EACnB,qBAAqB,GACtB,iCAAuB;AAGxB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,iCAAuB;AAElE,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,GACvB,iCAAuB;AAGxB,OAAO,EACL,+BAA+B,EAC/B,mBAAmB,EACnB,qBAAqB,GACtB,gCAAsB;AACvB,YAAY,EACV,sCAAsC,EACtC,4BAA4B,GAC7B,gCAAsB;AAGvB,OAAO,EACL,gBAAgB,EAChB,4BAA4B,EAC5B,4BAA4B,GAC7B,0BAAgB;AACjB,YAAY,EACV,sBAAsB,EACtB,yBAAyB,EACzB,WAAW,EACX,0BAA0B,GAC3B,0BAAgB;AAGjB,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,EACpB,2BAA2B,GAC5B,gCAA4B;AAE7B,YAAY,EACV,YAAY,EACZ,sBAAsB,EACtB,2BAA2B,EAC3B,iBAAiB,GAClB,gCAA4B"}
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.d.mts CHANGED
@@ -1,5 +1,6 @@
1
1
  export { AssetsController, getDefaultAssetsControllerState, } from "./AssetsController.mjs";
2
2
  export { AssetsDataSourceError } from "./errors.mjs";
3
+ export { DEFAULT_TRACKED_ASSETS_BY_CHAIN, CHAINS_WITH_DEFAULT_TRACKED_ASSETS, DEFAULT_ASSET_METADATA, buildDefaultAssetsInfo, getDefaultTrackedAssetsForChain, getDefaultAssetMetadata, } from "./defaults.mjs";
3
4
  export type { PendingTokenMetadata } from "./AssetsController.mjs";
4
5
  export type { AssetsControllerState, AssetsControllerMessenger, AssetsControllerOptions, AssetsControllerGetStateAction, AssetsControllerActions, AssetsControllerStateChangeEvent, AssetsControllerBalanceChangedEvent, AssetsControllerPriceChangedEvent, AssetsControllerAssetsDetectedEvent, AssetsControllerEvents, } from "./AssetsController.mjs";
5
6
  export type { AssetsControllerGetAssetsAction, AssetsControllerGetAssetsBalanceAction, AssetsControllerGetAssetMetadataAction, AssetsControllerGetAssetsPriceAction, AssetsControllerAddCustomAssetAction, AssetsControllerRemoveCustomAssetAction, AssetsControllerGetCustomAssetsAction, AssetsControllerHideAssetAction, AssetsControllerUnhideAssetAction, AssetsControllerGetExchangeRatesForBridgeAction, AssetsControllerGetStateForTransactionPayAction, } from "./AssetsController-method-action-types.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,+BAA+B,GAChC,+BAA2B;AAC5B,OAAO,EAAE,qBAAqB,EAAE,qBAAiB;AACjD,YAAY,EAAE,oBAAoB,EAAE,+BAA2B;AAG/D,YAAY,EACV,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACvB,gCAAgC,EAChC,mCAAmC,EACnC,iCAAiC,EACjC,mCAAmC,EACnC,sBAAsB,GACvB,+BAA2B;AAC5B,YAAY,EACV,+BAA+B,EAC/B,sCAAsC,EACtC,sCAAsC,EACtC,oCAAoC,EACpC,oCAAoC,EACpC,uCAAuC,EACvC,qCAAqC,EACrC,+BAA+B,EAC/B,iCAAiC,EACjC,+CAA+C,EAC/C,+CAA+C,GAChD,mDAA+C;AAGhD,YAAY,EAEV,aAAa,EACb,SAAS,EACT,OAAO,EAEP,SAAS,EACT,aAAa,EAEb,SAAS,EACT,cAAc,EACd,YAAY,EACZ,oBAAoB,EAEpB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EAEb,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,UAAU,EAEV,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EAEZ,0BAA0B,EAC1B,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,gBAAgB,EAEhB,OAAO,EACP,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EAEpB,KAAK,EAEL,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,oBAAgB;AAGjB,OAAO,EAAE,kBAAkB,EAAE,iCAAuB;AAEpD,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,iCAAuB;AAG3E,OAAO,EAAE,qBAAqB,EAAE,iCAAuB;AAEvD,YAAY,EACV,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,GAC3B,iCAAuB;AAGxB,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,GACjC,iCAAuB;AAExB,YAAY,EACV,iCAAiC,EACjC,+BAA+B,GAChC,iCAAuB;AAGxB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,iCAAuB;AAEpE,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,WAAW,GACZ,iCAAuB;AAGxB,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EAErB,kBAAkB,EAElB,iBAAiB,EACjB,uBAAuB,GACxB,iCAAuB;AAExB,YAAY,EACV,mBAAmB,EACnB,qBAAqB,GACtB,iCAAuB;AAGxB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,iCAAuB;AAElE,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,GACvB,iCAAuB;AAGxB,OAAO,EACL,+BAA+B,EAC/B,mBAAmB,EACnB,qBAAqB,GACtB,gCAAsB;AACvB,YAAY,EACV,sCAAsC,EACtC,4BAA4B,GAC7B,gCAAsB;AAGvB,OAAO,EACL,gBAAgB,EAChB,4BAA4B,EAC5B,4BAA4B,GAC7B,0BAAgB;AACjB,YAAY,EACV,sBAAsB,EACtB,yBAAyB,EACzB,WAAW,EACX,0BAA0B,GAC3B,0BAAgB;AAGjB,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,EACpB,2BAA2B,GAC5B,gCAA4B;AAE7B,YAAY,EACV,YAAY,EACZ,sBAAsB,EACtB,2BAA2B,EAC3B,iBAAiB,GAClB,gCAA4B"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1,6 +1,7 @@
1
1
  // Main controller export
2
2
  export { AssetsController, getDefaultAssetsControllerState } from "./AssetsController.mjs";
3
3
  export { AssetsDataSourceError } from "./errors.mjs";
4
+ export { DEFAULT_TRACKED_ASSETS_BY_CHAIN, CHAINS_WITH_DEFAULT_TRACKED_ASSETS, DEFAULT_ASSET_METADATA, buildDefaultAssetsInfo, getDefaultTrackedAssetsForChain, getDefaultAssetMetadata } from "./defaults.mjs";
4
5
  // Data sources - base class and types
5
6
  export { AbstractDataSource } from "./data-sources/index.mjs";
6
7
  // Data sources - AccountsApi
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,OAAO,EACL,gBAAgB,EAChB,+BAA+B,EAChC,+BAA2B;AAC5B,OAAO,EAAE,qBAAqB,EAAE,qBAAiB;AAoFjD,sCAAsC;AACtC,OAAO,EAAE,kBAAkB,EAAE,iCAAuB;AAIpD,6BAA6B;AAC7B,OAAO,EAAE,qBAAqB,EAAE,iCAAuB;AAQvD,kCAAkC;AAClC,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,EACjC,iCAAuB;AAOxB,qBAAqB;AACrB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,iCAAuB;AASpE,gFAAgF;AAChF,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,qBAAqB;AACrB,YAAY;AACZ,kBAAkB;AAClB,oBAAoB;AACpB,iBAAiB,EACjB,uBAAuB,EACxB,iCAAuB;AAOxB,0BAA0B;AAC1B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,iCAAuB;AAQlE,cAAc;AACd,OAAO,EACL,+BAA+B,EAC/B,mBAAmB,EACnB,qBAAqB,EACtB,gCAAsB;AAMvB,YAAY;AACZ,OAAO,EACL,gBAAgB,EAChB,4BAA4B,EAC5B,4BAA4B,EAC7B,0BAAgB;AAQjB,YAAY;AACZ,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,EACpB,2BAA2B,EAC5B,gCAA4B","sourcesContent":["// Main controller export\nexport {\n AssetsController,\n getDefaultAssetsControllerState,\n} from './AssetsController';\nexport { AssetsDataSourceError } from './errors';\nexport type { PendingTokenMetadata } from './AssetsController';\n\n// State and messenger types\nexport type {\n AssetsControllerState,\n AssetsControllerMessenger,\n AssetsControllerOptions,\n AssetsControllerGetStateAction,\n AssetsControllerActions,\n AssetsControllerStateChangeEvent,\n AssetsControllerBalanceChangedEvent,\n AssetsControllerPriceChangedEvent,\n AssetsControllerAssetsDetectedEvent,\n AssetsControllerEvents,\n} from './AssetsController';\nexport type {\n AssetsControllerGetAssetsAction,\n AssetsControllerGetAssetsBalanceAction,\n AssetsControllerGetAssetMetadataAction,\n AssetsControllerGetAssetsPriceAction,\n AssetsControllerAddCustomAssetAction,\n AssetsControllerRemoveCustomAssetAction,\n AssetsControllerGetCustomAssetsAction,\n AssetsControllerHideAssetAction,\n AssetsControllerUnhideAssetAction,\n AssetsControllerGetExchangeRatesForBridgeAction,\n AssetsControllerGetStateForTransactionPayAction,\n} from './AssetsController-method-action-types';\n\n// Core types\nexport type {\n // CAIP types\n Caip19AssetId,\n AccountId,\n ChainId,\n // Asset types\n AssetType,\n TokenStandard,\n // Contract data types\n TokenFees,\n HoneypotStatus,\n StorageSlots,\n LocalizedDescription,\n // Metadata types\n BaseAssetMetadata,\n FungibleAssetMetadata,\n ERC721AssetMetadata,\n ERC1155AssetMetadata,\n AssetMetadata,\n // Price types\n BaseAssetPrice,\n FungibleAssetPrice,\n NFTAssetPrice,\n AssetPrice,\n // Balance types\n FungibleAssetBalance,\n ERC721AssetBalance,\n ERC1155AssetBalance,\n AssetBalance,\n // Data source types\n AccountWithSupportedChains,\n DataType,\n DataRequest,\n DataResponse,\n AssetsUpdateMode,\n // Middleware types\n Context,\n NextFunction,\n Middleware,\n AssetsDataSource,\n FetchContext,\n FetchNextFunction,\n FetchMiddleware,\n SubscriptionResponse,\n // Combined asset type\n Asset,\n // Event types\n BalanceChangeEvent,\n PriceChangeEvent,\n MetadataChangeEvent,\n AssetsDetectedEvent,\n} from './types';\n\n// Data sources - base class and types\nexport { AbstractDataSource } from './data-sources';\n\nexport type { DataSourceState, SubscriptionRequest } from './data-sources';\n\n// Data sources - AccountsApi\nexport { AccountsApiDataSource } from './data-sources';\n\nexport type {\n AccountsApiDataSourceConfig,\n AccountsApiDataSourceOptions,\n AccountsApiDataSourceState,\n} from './data-sources';\n\n// Data sources - BackendWebsocket\nexport {\n BackendWebsocketDataSource,\n createBackendWebsocketDataSource,\n} from './data-sources';\n\nexport type {\n BackendWebsocketDataSourceOptions,\n BackendWebsocketDataSourceState,\n} from './data-sources';\n\n// Data sources - RPC\nexport { RpcDataSource, createRpcDataSource } from './data-sources';\n\nexport type {\n RpcDataSourceConfig,\n RpcDataSourceOptions,\n RpcDataSourceState,\n ChainStatus,\n} from './data-sources';\n\n// Data sources - Unified Snap Data Source (dynamically discovers keyring snaps)\nexport {\n SnapDataSource,\n createSnapDataSource,\n SNAP_DATA_SOURCE_NAME,\n // Constants\n KEYRING_PERMISSION,\n // Utility functions\n getChainIdsCaveat,\n extractChainFromAssetId,\n} from './data-sources';\n\nexport type {\n SnapDataSourceState,\n SnapDataSourceOptions,\n} from './data-sources';\n\n// Enrichment data sources\nexport { TokenDataSource, PriceDataSource } from './data-sources';\n\nexport type {\n TokenDataSourceOptions,\n PriceDataSourceConfig,\n PriceDataSourceOptions,\n} from './data-sources';\n\n// Middlewares\nexport {\n CustomAssetGraduationMiddleware,\n DetectionMiddleware,\n RpcFallbackMiddleware,\n} from './middlewares';\nexport type {\n CustomAssetGraduationMiddlewareOptions,\n RpcFallbackMiddlewareOptions,\n} from './middlewares';\n\n// Utilities\nexport {\n normalizeAssetId,\n formatExchangeRatesForBridge,\n formatStateForTransactionPay,\n} from './utils';\nexport type {\n AccountForLegacyFormat,\n BridgeExchangeRatesFormat,\n LegacyToken,\n TransactionPayLegacyFormat,\n} from './utils';\n\n// Selectors\nexport {\n getAggregatedBalanceForAccount,\n getGroupIdForAccount,\n getInternalAccountsForGroup,\n} from './selectors/balance';\n\nexport type {\n AccountsById,\n AggregatedBalanceEntry,\n AggregatedBalanceForAccount,\n EnabledNetworkMap,\n} from './selectors/balance';\n"]}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,OAAO,EACL,gBAAgB,EAChB,+BAA+B,EAChC,+BAA2B;AAC5B,OAAO,EAAE,qBAAqB,EAAE,qBAAiB;AACjD,OAAO,EACL,+BAA+B,EAC/B,kCAAkC,EAClC,sBAAsB,EACtB,sBAAsB,EACtB,+BAA+B,EAC/B,uBAAuB,EACxB,uBAAmB;AAoFpB,sCAAsC;AACtC,OAAO,EAAE,kBAAkB,EAAE,iCAAuB;AAIpD,6BAA6B;AAC7B,OAAO,EAAE,qBAAqB,EAAE,iCAAuB;AAQvD,kCAAkC;AAClC,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,EACjC,iCAAuB;AAOxB,qBAAqB;AACrB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,iCAAuB;AASpE,gFAAgF;AAChF,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,qBAAqB;AACrB,YAAY;AACZ,kBAAkB;AAClB,oBAAoB;AACpB,iBAAiB,EACjB,uBAAuB,EACxB,iCAAuB;AAOxB,0BAA0B;AAC1B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,iCAAuB;AAQlE,cAAc;AACd,OAAO,EACL,+BAA+B,EAC/B,mBAAmB,EACnB,qBAAqB,EACtB,gCAAsB;AAMvB,YAAY;AACZ,OAAO,EACL,gBAAgB,EAChB,4BAA4B,EAC5B,4BAA4B,EAC7B,0BAAgB;AAQjB,YAAY;AACZ,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,EACpB,2BAA2B,EAC5B,gCAA4B","sourcesContent":["// Main controller export\nexport {\n AssetsController,\n getDefaultAssetsControllerState,\n} from './AssetsController';\nexport { AssetsDataSourceError } from './errors';\nexport {\n DEFAULT_TRACKED_ASSETS_BY_CHAIN,\n CHAINS_WITH_DEFAULT_TRACKED_ASSETS,\n DEFAULT_ASSET_METADATA,\n buildDefaultAssetsInfo,\n getDefaultTrackedAssetsForChain,\n getDefaultAssetMetadata,\n} from './defaults';\nexport type { PendingTokenMetadata } from './AssetsController';\n\n// State and messenger types\nexport type {\n AssetsControllerState,\n AssetsControllerMessenger,\n AssetsControllerOptions,\n AssetsControllerGetStateAction,\n AssetsControllerActions,\n AssetsControllerStateChangeEvent,\n AssetsControllerBalanceChangedEvent,\n AssetsControllerPriceChangedEvent,\n AssetsControllerAssetsDetectedEvent,\n AssetsControllerEvents,\n} from './AssetsController';\nexport type {\n AssetsControllerGetAssetsAction,\n AssetsControllerGetAssetsBalanceAction,\n AssetsControllerGetAssetMetadataAction,\n AssetsControllerGetAssetsPriceAction,\n AssetsControllerAddCustomAssetAction,\n AssetsControllerRemoveCustomAssetAction,\n AssetsControllerGetCustomAssetsAction,\n AssetsControllerHideAssetAction,\n AssetsControllerUnhideAssetAction,\n AssetsControllerGetExchangeRatesForBridgeAction,\n AssetsControllerGetStateForTransactionPayAction,\n} from './AssetsController-method-action-types';\n\n// Core types\nexport type {\n // CAIP types\n Caip19AssetId,\n AccountId,\n ChainId,\n // Asset types\n AssetType,\n TokenStandard,\n // Contract data types\n TokenFees,\n HoneypotStatus,\n StorageSlots,\n LocalizedDescription,\n // Metadata types\n BaseAssetMetadata,\n FungibleAssetMetadata,\n ERC721AssetMetadata,\n ERC1155AssetMetadata,\n AssetMetadata,\n // Price types\n BaseAssetPrice,\n FungibleAssetPrice,\n NFTAssetPrice,\n AssetPrice,\n // Balance types\n FungibleAssetBalance,\n ERC721AssetBalance,\n ERC1155AssetBalance,\n AssetBalance,\n // Data source types\n AccountWithSupportedChains,\n DataType,\n DataRequest,\n DataResponse,\n AssetsUpdateMode,\n // Middleware types\n Context,\n NextFunction,\n Middleware,\n AssetsDataSource,\n FetchContext,\n FetchNextFunction,\n FetchMiddleware,\n SubscriptionResponse,\n // Combined asset type\n Asset,\n // Event types\n BalanceChangeEvent,\n PriceChangeEvent,\n MetadataChangeEvent,\n AssetsDetectedEvent,\n} from './types';\n\n// Data sources - base class and types\nexport { AbstractDataSource } from './data-sources';\n\nexport type { DataSourceState, SubscriptionRequest } from './data-sources';\n\n// Data sources - AccountsApi\nexport { AccountsApiDataSource } from './data-sources';\n\nexport type {\n AccountsApiDataSourceConfig,\n AccountsApiDataSourceOptions,\n AccountsApiDataSourceState,\n} from './data-sources';\n\n// Data sources - BackendWebsocket\nexport {\n BackendWebsocketDataSource,\n createBackendWebsocketDataSource,\n} from './data-sources';\n\nexport type {\n BackendWebsocketDataSourceOptions,\n BackendWebsocketDataSourceState,\n} from './data-sources';\n\n// Data sources - RPC\nexport { RpcDataSource, createRpcDataSource } from './data-sources';\n\nexport type {\n RpcDataSourceConfig,\n RpcDataSourceOptions,\n RpcDataSourceState,\n ChainStatus,\n} from './data-sources';\n\n// Data sources - Unified Snap Data Source (dynamically discovers keyring snaps)\nexport {\n SnapDataSource,\n createSnapDataSource,\n SNAP_DATA_SOURCE_NAME,\n // Constants\n KEYRING_PERMISSION,\n // Utility functions\n getChainIdsCaveat,\n extractChainFromAssetId,\n} from './data-sources';\n\nexport type {\n SnapDataSourceState,\n SnapDataSourceOptions,\n} from './data-sources';\n\n// Enrichment data sources\nexport { TokenDataSource, PriceDataSource } from './data-sources';\n\nexport type {\n TokenDataSourceOptions,\n PriceDataSourceConfig,\n PriceDataSourceOptions,\n} from './data-sources';\n\n// Middlewares\nexport {\n CustomAssetGraduationMiddleware,\n DetectionMiddleware,\n RpcFallbackMiddleware,\n} from './middlewares';\nexport type {\n CustomAssetGraduationMiddlewareOptions,\n RpcFallbackMiddlewareOptions,\n} from './middlewares';\n\n// Utilities\nexport {\n normalizeAssetId,\n formatExchangeRatesForBridge,\n formatStateForTransactionPay,\n} from './utils';\nexport type {\n AccountForLegacyFormat,\n BridgeExchangeRatesFormat,\n LegacyToken,\n TransactionPayLegacyFormat,\n} from './utils';\n\n// Selectors\nexport {\n getAggregatedBalanceForAccount,\n getGroupIdForAccount,\n getInternalAccountsForGroup,\n} from './selectors/balance';\n\nexport type {\n AccountsById,\n AggregatedBalanceEntry,\n AggregatedBalanceForAccount,\n EnabledNetworkMap,\n} from './selectors/balance';\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask-previews/assets-controller",
3
- "version": "6.2.1-preview-e0eba6dbb",
3
+ "version": "6.2.1-preview-56dd1249f",
4
4
  "description": "Tracks assets balances/prices and handles token detection across all digital assets",
5
5
  "keywords": [
6
6
  "Ethereum",
@@ -63,10 +63,10 @@
63
63
  "@metamask/client-controller": "^1.0.1",
64
64
  "@metamask/controller-utils": "^11.20.0",
65
65
  "@metamask/core-backend": "^6.2.1",
66
- "@metamask/keyring-api": "^23.0.1",
66
+ "@metamask/keyring-api": "^23.1.0",
67
67
  "@metamask/keyring-controller": "^25.3.0",
68
- "@metamask/keyring-internal-api": "^11.0.0",
69
- "@metamask/keyring-snap-client": "^9.0.1",
68
+ "@metamask/keyring-internal-api": "^11.0.1",
69
+ "@metamask/keyring-snap-client": "^9.0.2",
70
70
  "@metamask/messenger": "^1.2.0",
71
71
  "@metamask/network-controller": "^30.1.0",
72
72
  "@metamask/network-enablement-controller": "^5.0.2",