@metamask-previews/assets-controller 0.0.0-preview-903db2da → 0.0.0-preview-3ec2a74
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 +10 -0
- package/dist/AssetsController.cjs +1028 -61
- package/dist/AssetsController.cjs.map +1 -1
- package/dist/AssetsController.d.cts +229 -83
- package/dist/AssetsController.d.cts.map +1 -1
- package/dist/AssetsController.d.mts +229 -83
- package/dist/AssetsController.d.mts.map +1 -1
- package/dist/AssetsController.mjs +1024 -59
- package/dist/AssetsController.mjs.map +1 -1
- package/dist/data-sources/AbstractDataSource.cjs +103 -0
- package/dist/data-sources/AbstractDataSource.cjs.map +1 -0
- package/dist/data-sources/AbstractDataSource.d.cts +92 -0
- package/dist/data-sources/AbstractDataSource.d.cts.map +1 -0
- package/dist/data-sources/AbstractDataSource.d.mts +92 -0
- package/dist/data-sources/AbstractDataSource.d.mts.map +1 -0
- package/dist/data-sources/AbstractDataSource.mjs +99 -0
- package/dist/data-sources/AbstractDataSource.mjs.map +1 -0
- package/dist/data-sources/AccountsApiDataSource.cjs +421 -0
- package/dist/data-sources/AccountsApiDataSource.cjs.map +1 -0
- package/dist/data-sources/AccountsApiDataSource.d.cts +103 -0
- package/dist/data-sources/AccountsApiDataSource.d.cts.map +1 -0
- package/dist/data-sources/AccountsApiDataSource.d.mts +103 -0
- package/dist/data-sources/AccountsApiDataSource.d.mts.map +1 -0
- package/dist/data-sources/AccountsApiDataSource.mjs +416 -0
- package/dist/data-sources/AccountsApiDataSource.mjs.map +1 -0
- package/dist/data-sources/BackendWebsocketDataSource.cjs +388 -0
- package/dist/data-sources/BackendWebsocketDataSource.cjs.map +1 -0
- package/dist/data-sources/BackendWebsocketDataSource.d.cts +95 -0
- package/dist/data-sources/BackendWebsocketDataSource.d.cts.map +1 -0
- package/dist/data-sources/BackendWebsocketDataSource.d.mts +95 -0
- package/dist/data-sources/BackendWebsocketDataSource.d.mts.map +1 -0
- package/dist/data-sources/BackendWebsocketDataSource.mjs +383 -0
- package/dist/data-sources/BackendWebsocketDataSource.mjs.map +1 -0
- package/dist/data-sources/PriceDataSource.cjs +350 -0
- package/dist/data-sources/PriceDataSource.cjs.map +1 -0
- package/dist/data-sources/PriceDataSource.d.cts +153 -0
- package/dist/data-sources/PriceDataSource.d.cts.map +1 -0
- package/dist/data-sources/PriceDataSource.d.mts +153 -0
- package/dist/data-sources/PriceDataSource.d.mts.map +1 -0
- package/dist/data-sources/PriceDataSource.mjs +346 -0
- package/dist/data-sources/PriceDataSource.mjs.map +1 -0
- package/dist/data-sources/RpcDataSource.cjs +410 -0
- package/dist/data-sources/RpcDataSource.cjs.map +1 -0
- package/dist/data-sources/RpcDataSource.d.cts +154 -0
- package/dist/data-sources/RpcDataSource.d.cts.map +1 -0
- package/dist/data-sources/RpcDataSource.d.mts +154 -0
- package/dist/data-sources/RpcDataSource.d.mts.map +1 -0
- package/dist/data-sources/RpcDataSource.mjs +405 -0
- package/dist/data-sources/RpcDataSource.mjs.map +1 -0
- package/dist/data-sources/SnapDataSource.cjs +734 -0
- package/dist/data-sources/SnapDataSource.cjs.map +1 -0
- package/dist/data-sources/SnapDataSource.d.cts +217 -0
- package/dist/data-sources/SnapDataSource.d.cts.map +1 -0
- package/dist/data-sources/SnapDataSource.d.mts +217 -0
- package/dist/data-sources/SnapDataSource.d.mts.map +1 -0
- package/dist/data-sources/SnapDataSource.mjs +723 -0
- package/dist/data-sources/SnapDataSource.mjs.map +1 -0
- package/dist/data-sources/TokenDataSource.cjs +179 -0
- package/dist/data-sources/TokenDataSource.cjs.map +1 -0
- package/dist/data-sources/TokenDataSource.d.cts +62 -0
- package/dist/data-sources/TokenDataSource.d.cts.map +1 -0
- package/dist/data-sources/TokenDataSource.d.mts +62 -0
- package/dist/data-sources/TokenDataSource.d.mts.map +1 -0
- package/dist/data-sources/TokenDataSource.mjs +175 -0
- package/dist/data-sources/TokenDataSource.mjs.map +1 -0
- package/dist/data-sources/index.cjs +62 -0
- package/dist/data-sources/index.cjs.map +1 -0
- package/dist/data-sources/index.d.cts +9 -0
- package/dist/data-sources/index.d.cts.map +1 -0
- package/dist/data-sources/index.d.mts +9 -0
- package/dist/data-sources/index.d.mts.map +1 -0
- package/dist/data-sources/index.mjs +23 -0
- package/dist/data-sources/index.mjs.map +1 -0
- package/dist/data-sources/initDataSources.cjs +199 -0
- package/dist/data-sources/initDataSources.cjs.map +1 -0
- package/dist/data-sources/initDataSources.d.cts +123 -0
- package/dist/data-sources/initDataSources.d.cts.map +1 -0
- package/dist/data-sources/initDataSources.d.mts +123 -0
- package/dist/data-sources/initDataSources.d.mts.map +1 -0
- package/dist/data-sources/initDataSources.mjs +194 -0
- package/dist/data-sources/initDataSources.mjs.map +1 -0
- package/dist/data-sources/rpc-datasource/clients/MulticallClient.cjs +638 -0
- package/dist/data-sources/rpc-datasource/clients/MulticallClient.cjs.map +1 -0
- package/dist/data-sources/rpc-datasource/clients/MulticallClient.d.cts +47 -0
- package/dist/data-sources/rpc-datasource/clients/MulticallClient.d.cts.map +1 -0
- package/dist/data-sources/rpc-datasource/clients/MulticallClient.d.mts +47 -0
- package/dist/data-sources/rpc-datasource/clients/MulticallClient.d.mts.map +1 -0
- package/dist/data-sources/rpc-datasource/clients/MulticallClient.mjs +632 -0
- package/dist/data-sources/rpc-datasource/clients/MulticallClient.mjs.map +1 -0
- package/dist/data-sources/rpc-datasource/clients/index.cjs +8 -0
- package/dist/data-sources/rpc-datasource/clients/index.cjs.map +1 -0
- package/dist/data-sources/rpc-datasource/clients/index.d.cts +3 -0
- package/dist/data-sources/rpc-datasource/clients/index.d.cts.map +1 -0
- package/dist/data-sources/rpc-datasource/clients/index.d.mts +3 -0
- package/dist/data-sources/rpc-datasource/clients/index.d.mts.map +1 -0
- package/dist/data-sources/rpc-datasource/clients/index.mjs +2 -0
- package/dist/data-sources/rpc-datasource/clients/index.mjs.map +1 -0
- package/dist/data-sources/rpc-datasource/index.cjs +9 -0
- package/dist/data-sources/rpc-datasource/index.cjs.map +1 -0
- package/dist/data-sources/rpc-datasource/index.d.cts +4 -0
- package/dist/data-sources/rpc-datasource/index.d.cts.map +1 -0
- package/dist/data-sources/rpc-datasource/index.d.mts +4 -0
- package/dist/data-sources/rpc-datasource/index.d.mts.map +1 -0
- package/dist/data-sources/rpc-datasource/index.mjs +3 -0
- package/dist/data-sources/rpc-datasource/index.mjs.map +1 -0
- package/dist/data-sources/rpc-datasource/services/BalanceFetcher.cjs +167 -0
- package/dist/data-sources/rpc-datasource/services/BalanceFetcher.cjs.map +1 -0
- package/dist/data-sources/rpc-datasource/services/BalanceFetcher.d.cts +16 -0
- package/dist/data-sources/rpc-datasource/services/BalanceFetcher.d.cts.map +1 -0
- package/dist/data-sources/rpc-datasource/services/BalanceFetcher.d.mts +16 -0
- package/dist/data-sources/rpc-datasource/services/BalanceFetcher.d.mts.map +1 -0
- package/dist/data-sources/rpc-datasource/services/BalanceFetcher.mjs +163 -0
- package/dist/data-sources/rpc-datasource/services/BalanceFetcher.mjs.map +1 -0
- package/dist/data-sources/rpc-datasource/services/TokenDetector.cjs +173 -0
- package/dist/data-sources/rpc-datasource/services/TokenDetector.cjs.map +1 -0
- package/dist/data-sources/rpc-datasource/services/TokenDetector.d.cts +14 -0
- package/dist/data-sources/rpc-datasource/services/TokenDetector.d.cts.map +1 -0
- package/dist/data-sources/rpc-datasource/services/TokenDetector.d.mts +14 -0
- package/dist/data-sources/rpc-datasource/services/TokenDetector.d.mts.map +1 -0
- package/dist/data-sources/rpc-datasource/services/TokenDetector.mjs +169 -0
- package/dist/data-sources/rpc-datasource/services/TokenDetector.mjs.map +1 -0
- package/dist/data-sources/rpc-datasource/services/index.cjs +8 -0
- package/dist/data-sources/rpc-datasource/services/index.cjs.map +1 -0
- package/dist/data-sources/rpc-datasource/services/index.d.cts +3 -0
- package/dist/data-sources/rpc-datasource/services/index.d.cts.map +1 -0
- package/dist/data-sources/rpc-datasource/services/index.d.mts +3 -0
- package/dist/data-sources/rpc-datasource/services/index.d.mts.map +1 -0
- package/dist/data-sources/rpc-datasource/services/index.mjs +3 -0
- package/dist/data-sources/rpc-datasource/services/index.mjs.map +1 -0
- package/dist/data-sources/rpc-datasource/types/assets.cjs +3 -0
- package/dist/data-sources/rpc-datasource/types/assets.cjs.map +1 -0
- package/dist/data-sources/rpc-datasource/types/assets.d.cts +53 -0
- package/dist/data-sources/rpc-datasource/types/assets.d.cts.map +1 -0
- package/dist/data-sources/rpc-datasource/types/assets.d.mts +53 -0
- package/dist/data-sources/rpc-datasource/types/assets.d.mts.map +1 -0
- package/dist/data-sources/rpc-datasource/types/assets.mjs +2 -0
- package/dist/data-sources/rpc-datasource/types/assets.mjs.map +1 -0
- package/dist/data-sources/rpc-datasource/types/config.cjs +3 -0
- package/dist/data-sources/rpc-datasource/types/config.cjs.map +1 -0
- package/dist/data-sources/rpc-datasource/types/config.d.cts +18 -0
- package/dist/data-sources/rpc-datasource/types/config.d.cts.map +1 -0
- package/dist/data-sources/rpc-datasource/types/config.d.mts +18 -0
- package/dist/data-sources/rpc-datasource/types/config.d.mts.map +1 -0
- package/dist/data-sources/rpc-datasource/types/config.mjs +2 -0
- package/dist/data-sources/rpc-datasource/types/config.mjs.map +1 -0
- package/dist/data-sources/rpc-datasource/types/core.cjs +3 -0
- package/dist/data-sources/rpc-datasource/types/core.cjs.map +1 -0
- package/dist/data-sources/rpc-datasource/types/core.d.cts +19 -0
- package/dist/data-sources/rpc-datasource/types/core.d.cts.map +1 -0
- package/dist/data-sources/rpc-datasource/types/core.d.mts +19 -0
- package/dist/data-sources/rpc-datasource/types/core.d.mts.map +1 -0
- package/dist/data-sources/rpc-datasource/types/core.mjs +2 -0
- package/dist/data-sources/rpc-datasource/types/core.mjs.map +1 -0
- package/dist/data-sources/rpc-datasource/types/index.cjs +3 -0
- package/dist/data-sources/rpc-datasource/types/index.cjs.map +1 -0
- package/dist/data-sources/rpc-datasource/types/index.d.cts +7 -0
- package/dist/data-sources/rpc-datasource/types/index.d.cts.map +1 -0
- package/dist/data-sources/rpc-datasource/types/index.d.mts +7 -0
- package/dist/data-sources/rpc-datasource/types/index.d.mts.map +1 -0
- package/dist/data-sources/rpc-datasource/types/index.mjs +2 -0
- package/dist/data-sources/rpc-datasource/types/index.mjs.map +1 -0
- package/dist/data-sources/rpc-datasource/types/multicall.cjs +3 -0
- package/dist/data-sources/rpc-datasource/types/multicall.cjs.map +1 -0
- package/dist/data-sources/rpc-datasource/types/multicall.d.cts +24 -0
- package/dist/data-sources/rpc-datasource/types/multicall.d.cts.map +1 -0
- package/dist/data-sources/rpc-datasource/types/multicall.d.mts +24 -0
- package/dist/data-sources/rpc-datasource/types/multicall.d.mts.map +1 -0
- package/dist/data-sources/rpc-datasource/types/multicall.mjs +2 -0
- package/dist/data-sources/rpc-datasource/types/multicall.mjs.map +1 -0
- package/dist/data-sources/rpc-datasource/types/services.cjs +3 -0
- package/dist/data-sources/rpc-datasource/types/services.cjs.map +1 -0
- package/dist/data-sources/rpc-datasource/types/services.d.cts +74 -0
- package/dist/data-sources/rpc-datasource/types/services.d.cts.map +1 -0
- package/dist/data-sources/rpc-datasource/types/services.d.mts +74 -0
- package/dist/data-sources/rpc-datasource/types/services.d.mts.map +1 -0
- package/dist/data-sources/rpc-datasource/types/services.mjs +2 -0
- package/dist/data-sources/rpc-datasource/types/services.mjs.map +1 -0
- package/dist/data-sources/rpc-datasource/types/state.cjs +3 -0
- package/dist/data-sources/rpc-datasource/types/state.cjs.map +1 -0
- package/dist/data-sources/rpc-datasource/types/state.d.cts +67 -0
- package/dist/data-sources/rpc-datasource/types/state.d.cts.map +1 -0
- package/dist/data-sources/rpc-datasource/types/state.d.mts +67 -0
- package/dist/data-sources/rpc-datasource/types/state.d.mts.map +1 -0
- package/dist/data-sources/rpc-datasource/types/state.mjs +2 -0
- package/dist/data-sources/rpc-datasource/types/state.mjs.map +1 -0
- package/dist/data-sources/rpc-datasource/utils/batch.cjs +45 -0
- package/dist/data-sources/rpc-datasource/utils/batch.cjs.map +1 -0
- package/dist/data-sources/rpc-datasource/utils/batch.d.cts +28 -0
- package/dist/data-sources/rpc-datasource/utils/batch.d.cts.map +1 -0
- package/dist/data-sources/rpc-datasource/utils/batch.d.mts +28 -0
- package/dist/data-sources/rpc-datasource/utils/batch.d.mts.map +1 -0
- package/dist/data-sources/rpc-datasource/utils/batch.mjs +40 -0
- package/dist/data-sources/rpc-datasource/utils/batch.mjs.map +1 -0
- package/dist/data-sources/rpc-datasource/utils/index.cjs +7 -0
- package/dist/data-sources/rpc-datasource/utils/index.cjs.map +1 -0
- package/dist/data-sources/rpc-datasource/utils/index.d.cts +2 -0
- package/dist/data-sources/rpc-datasource/utils/index.d.cts.map +1 -0
- package/dist/data-sources/rpc-datasource/utils/index.d.mts +2 -0
- package/dist/data-sources/rpc-datasource/utils/index.d.mts.map +1 -0
- package/dist/data-sources/rpc-datasource/utils/index.mjs +2 -0
- package/dist/data-sources/rpc-datasource/utils/index.mjs.map +1 -0
- package/dist/index.cjs +70 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +19 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +19 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +31 -0
- package/dist/index.mjs.map +1 -1
- package/dist/logger.cjs +7 -0
- package/dist/logger.cjs.map +1 -0
- package/dist/logger.d.cts +5 -0
- package/dist/logger.d.cts.map +1 -0
- package/dist/logger.d.mts +5 -0
- package/dist/logger.d.mts.map +1 -0
- package/dist/logger.mjs +4 -0
- package/dist/logger.mjs.map +1 -0
- package/dist/middlewares/DetectionMiddleware.cjs +101 -0
- package/dist/middlewares/DetectionMiddleware.cjs.map +1 -0
- package/dist/middlewares/DetectionMiddleware.d.cts +54 -0
- package/dist/middlewares/DetectionMiddleware.d.cts.map +1 -0
- package/dist/middlewares/DetectionMiddleware.d.mts +54 -0
- package/dist/middlewares/DetectionMiddleware.d.mts.map +1 -0
- package/dist/middlewares/DetectionMiddleware.mjs +97 -0
- package/dist/middlewares/DetectionMiddleware.mjs.map +1 -0
- package/dist/middlewares/index.cjs +6 -0
- package/dist/middlewares/index.cjs.map +1 -0
- package/dist/middlewares/index.d.cts +2 -0
- package/dist/middlewares/index.d.cts.map +1 -0
- package/dist/middlewares/index.d.mts +2 -0
- package/dist/middlewares/index.d.mts.map +1 -0
- package/dist/middlewares/index.mjs +2 -0
- package/dist/middlewares/index.mjs.map +1 -0
- package/dist/types.cjs +39 -0
- package/dist/types.cjs.map +1 -0
- package/dist/types.d.cts +360 -0
- package/dist/types.d.cts.map +1 -0
- package/dist/types.d.mts +360 -0
- package/dist/types.d.mts.map +1 -0
- package/dist/types.mjs +35 -0
- package/dist/types.mjs.map +1 -0
- package/dist/utils.cjs +28 -0
- package/dist/utils.cjs.map +1 -0
- package/dist/utils.d.cts +13 -0
- package/dist/utils.d.cts.map +1 -0
- package/dist/utils.d.mts +13 -0
- package/dist/utils.d.mts.map +1 -0
- package/dist/utils.mjs +24 -0
- package/dist/utils.mjs.map +1 -0
- package/package.json +15 -2
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.reduceInBatchesSerially = exports.divideIntoBatches = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Divides an array into batches of specified size.
|
|
6
|
+
*
|
|
7
|
+
* @param values - Array of values to divide.
|
|
8
|
+
* @param options - Options containing batchSize.
|
|
9
|
+
* @param options.batchSize - The size of each batch.
|
|
10
|
+
* @returns Array of batches.
|
|
11
|
+
*/
|
|
12
|
+
function divideIntoBatches(values, { batchSize }) {
|
|
13
|
+
if (batchSize <= 0) {
|
|
14
|
+
throw new Error('batchSize must be greater than 0');
|
|
15
|
+
}
|
|
16
|
+
const batches = [];
|
|
17
|
+
for (let i = 0; i < values.length; i += batchSize) {
|
|
18
|
+
batches.push(values.slice(i, i + batchSize));
|
|
19
|
+
}
|
|
20
|
+
return batches;
|
|
21
|
+
}
|
|
22
|
+
exports.divideIntoBatches = divideIntoBatches;
|
|
23
|
+
/**
|
|
24
|
+
* Reduces an array in serial batches, applying an async function to each batch.
|
|
25
|
+
*
|
|
26
|
+
* @param options - The options for batch reduction.
|
|
27
|
+
* @param options.values - Array of values to process.
|
|
28
|
+
* @param options.batchSize - Size of each batch.
|
|
29
|
+
* @param options.eachBatch - Async function to apply to each batch.
|
|
30
|
+
* @param options.initialResult - Initial result value.
|
|
31
|
+
* @returns The final reduced result.
|
|
32
|
+
*/
|
|
33
|
+
async function reduceInBatchesSerially({ values, batchSize, eachBatch, initialResult, }) {
|
|
34
|
+
const batches = divideIntoBatches(values, { batchSize });
|
|
35
|
+
let workingResult = initialResult;
|
|
36
|
+
for (const [index, batch] of batches.entries()) {
|
|
37
|
+
workingResult = await eachBatch(workingResult, batch, index);
|
|
38
|
+
}
|
|
39
|
+
// There's no way around this — we have to assume that in the end, the result
|
|
40
|
+
// matches the intended type.
|
|
41
|
+
const finalResult = workingResult;
|
|
42
|
+
return finalResult;
|
|
43
|
+
}
|
|
44
|
+
exports.reduceInBatchesSerially = reduceInBatchesSerially;
|
|
45
|
+
//# sourceMappingURL=batch.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch.cjs","sourceRoot":"","sources":["../../../../src/data-sources/rpc-datasource/utils/batch.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAC/B,MAAsB,EACtB,EAAE,SAAS,EAAyB;IAEpC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAbD,8CAaC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,uBAAuB,CAAgB,EAC3D,MAAM,EACN,SAAS,EACT,SAAS,EACT,aAAa,GAUd;IACC,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IACzD,IAAI,aAAa,GAAG,aAAa,CAAC;IAClC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/C,aAAa,GAAG,MAAM,SAAS,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IACD,6EAA6E;IAC7E,6BAA6B;IAC7B,MAAM,WAAW,GAAG,aAAuB,CAAC;IAC5C,OAAO,WAAW,CAAC;AACrB,CAAC;AAxBD,0DAwBC","sourcesContent":["/**\n * Divides an array into batches of specified size.\n *\n * @param values - Array of values to divide.\n * @param options - Options containing batchSize.\n * @param options.batchSize - The size of each batch.\n * @returns Array of batches.\n */\nexport function divideIntoBatches<ArrayElement>(\n values: ArrayElement[],\n { batchSize }: { batchSize: number },\n): ArrayElement[][] {\n if (batchSize <= 0) {\n throw new Error('batchSize must be greater than 0');\n }\n\n const batches: ArrayElement[][] = [];\n for (let i = 0; i < values.length; i += batchSize) {\n batches.push(values.slice(i, i + batchSize));\n }\n return batches;\n}\n\n/**\n * Reduces an array in serial batches, applying an async function to each batch.\n *\n * @param options - The options for batch reduction.\n * @param options.values - Array of values to process.\n * @param options.batchSize - Size of each batch.\n * @param options.eachBatch - Async function to apply to each batch.\n * @param options.initialResult - Initial result value.\n * @returns The final reduced result.\n */\nexport async function reduceInBatchesSerially<Value, Result>({\n values,\n batchSize,\n eachBatch,\n initialResult,\n}: {\n values: Value[];\n batchSize: number;\n eachBatch: (\n workingResult: Partial<Result>,\n batch: Value[],\n index: number,\n ) => Partial<Result> | Promise<Partial<Result>>;\n initialResult: Partial<Result>;\n}): Promise<Result> {\n const batches = divideIntoBatches(values, { batchSize });\n let workingResult = initialResult;\n for (const [index, batch] of batches.entries()) {\n workingResult = await eachBatch(workingResult, batch, index);\n }\n // There's no way around this — we have to assume that in the end, the result\n // matches the intended type.\n const finalResult = workingResult as Result;\n return finalResult;\n}\n"]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Divides an array into batches of specified size.
|
|
3
|
+
*
|
|
4
|
+
* @param values - Array of values to divide.
|
|
5
|
+
* @param options - Options containing batchSize.
|
|
6
|
+
* @param options.batchSize - The size of each batch.
|
|
7
|
+
* @returns Array of batches.
|
|
8
|
+
*/
|
|
9
|
+
export declare function divideIntoBatches<ArrayElement>(values: ArrayElement[], { batchSize }: {
|
|
10
|
+
batchSize: number;
|
|
11
|
+
}): ArrayElement[][];
|
|
12
|
+
/**
|
|
13
|
+
* Reduces an array in serial batches, applying an async function to each batch.
|
|
14
|
+
*
|
|
15
|
+
* @param options - The options for batch reduction.
|
|
16
|
+
* @param options.values - Array of values to process.
|
|
17
|
+
* @param options.batchSize - Size of each batch.
|
|
18
|
+
* @param options.eachBatch - Async function to apply to each batch.
|
|
19
|
+
* @param options.initialResult - Initial result value.
|
|
20
|
+
* @returns The final reduced result.
|
|
21
|
+
*/
|
|
22
|
+
export declare function reduceInBatchesSerially<Value, Result>({ values, batchSize, eachBatch, initialResult, }: {
|
|
23
|
+
values: Value[];
|
|
24
|
+
batchSize: number;
|
|
25
|
+
eachBatch: (workingResult: Partial<Result>, batch: Value[], index: number) => Partial<Result> | Promise<Partial<Result>>;
|
|
26
|
+
initialResult: Partial<Result>;
|
|
27
|
+
}): Promise<Result>;
|
|
28
|
+
//# sourceMappingURL=batch.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch.d.cts","sourceRoot":"","sources":["../../../../src/data-sources/rpc-datasource/utils/batch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAC5C,MAAM,EAAE,YAAY,EAAE,EACtB,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GACnC,YAAY,EAAE,EAAE,CAUlB;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,EAC3D,MAAM,EACN,SAAS,EACT,SAAS,EACT,aAAa,GACd,EAAE;IACD,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,CACT,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,EAC9B,KAAK,EAAE,KAAK,EAAE,EACd,KAAK,EAAE,MAAM,KACV,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CAChC,GAAG,OAAO,CAAC,MAAM,CAAC,CAUlB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Divides an array into batches of specified size.
|
|
3
|
+
*
|
|
4
|
+
* @param values - Array of values to divide.
|
|
5
|
+
* @param options - Options containing batchSize.
|
|
6
|
+
* @param options.batchSize - The size of each batch.
|
|
7
|
+
* @returns Array of batches.
|
|
8
|
+
*/
|
|
9
|
+
export declare function divideIntoBatches<ArrayElement>(values: ArrayElement[], { batchSize }: {
|
|
10
|
+
batchSize: number;
|
|
11
|
+
}): ArrayElement[][];
|
|
12
|
+
/**
|
|
13
|
+
* Reduces an array in serial batches, applying an async function to each batch.
|
|
14
|
+
*
|
|
15
|
+
* @param options - The options for batch reduction.
|
|
16
|
+
* @param options.values - Array of values to process.
|
|
17
|
+
* @param options.batchSize - Size of each batch.
|
|
18
|
+
* @param options.eachBatch - Async function to apply to each batch.
|
|
19
|
+
* @param options.initialResult - Initial result value.
|
|
20
|
+
* @returns The final reduced result.
|
|
21
|
+
*/
|
|
22
|
+
export declare function reduceInBatchesSerially<Value, Result>({ values, batchSize, eachBatch, initialResult, }: {
|
|
23
|
+
values: Value[];
|
|
24
|
+
batchSize: number;
|
|
25
|
+
eachBatch: (workingResult: Partial<Result>, batch: Value[], index: number) => Partial<Result> | Promise<Partial<Result>>;
|
|
26
|
+
initialResult: Partial<Result>;
|
|
27
|
+
}): Promise<Result>;
|
|
28
|
+
//# sourceMappingURL=batch.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch.d.mts","sourceRoot":"","sources":["../../../../src/data-sources/rpc-datasource/utils/batch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAC5C,MAAM,EAAE,YAAY,EAAE,EACtB,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GACnC,YAAY,EAAE,EAAE,CAUlB;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,EAC3D,MAAM,EACN,SAAS,EACT,SAAS,EACT,aAAa,GACd,EAAE;IACD,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,CACT,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,EAC9B,KAAK,EAAE,KAAK,EAAE,EACd,KAAK,EAAE,MAAM,KACV,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CAChC,GAAG,OAAO,CAAC,MAAM,CAAC,CAUlB"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Divides an array into batches of specified size.
|
|
3
|
+
*
|
|
4
|
+
* @param values - Array of values to divide.
|
|
5
|
+
* @param options - Options containing batchSize.
|
|
6
|
+
* @param options.batchSize - The size of each batch.
|
|
7
|
+
* @returns Array of batches.
|
|
8
|
+
*/
|
|
9
|
+
export function divideIntoBatches(values, { batchSize }) {
|
|
10
|
+
if (batchSize <= 0) {
|
|
11
|
+
throw new Error('batchSize must be greater than 0');
|
|
12
|
+
}
|
|
13
|
+
const batches = [];
|
|
14
|
+
for (let i = 0; i < values.length; i += batchSize) {
|
|
15
|
+
batches.push(values.slice(i, i + batchSize));
|
|
16
|
+
}
|
|
17
|
+
return batches;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Reduces an array in serial batches, applying an async function to each batch.
|
|
21
|
+
*
|
|
22
|
+
* @param options - The options for batch reduction.
|
|
23
|
+
* @param options.values - Array of values to process.
|
|
24
|
+
* @param options.batchSize - Size of each batch.
|
|
25
|
+
* @param options.eachBatch - Async function to apply to each batch.
|
|
26
|
+
* @param options.initialResult - Initial result value.
|
|
27
|
+
* @returns The final reduced result.
|
|
28
|
+
*/
|
|
29
|
+
export async function reduceInBatchesSerially({ values, batchSize, eachBatch, initialResult, }) {
|
|
30
|
+
const batches = divideIntoBatches(values, { batchSize });
|
|
31
|
+
let workingResult = initialResult;
|
|
32
|
+
for (const [index, batch] of batches.entries()) {
|
|
33
|
+
workingResult = await eachBatch(workingResult, batch, index);
|
|
34
|
+
}
|
|
35
|
+
// There's no way around this — we have to assume that in the end, the result
|
|
36
|
+
// matches the intended type.
|
|
37
|
+
const finalResult = workingResult;
|
|
38
|
+
return finalResult;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=batch.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch.mjs","sourceRoot":"","sources":["../../../../src/data-sources/rpc-datasource/utils/batch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAsB,EACtB,EAAE,SAAS,EAAyB;IAEpC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAgB,EAC3D,MAAM,EACN,SAAS,EACT,SAAS,EACT,aAAa,GAUd;IACC,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IACzD,IAAI,aAAa,GAAG,aAAa,CAAC;IAClC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/C,aAAa,GAAG,MAAM,SAAS,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IACD,6EAA6E;IAC7E,6BAA6B;IAC7B,MAAM,WAAW,GAAG,aAAuB,CAAC;IAC5C,OAAO,WAAW,CAAC;AACrB,CAAC","sourcesContent":["/**\n * Divides an array into batches of specified size.\n *\n * @param values - Array of values to divide.\n * @param options - Options containing batchSize.\n * @param options.batchSize - The size of each batch.\n * @returns Array of batches.\n */\nexport function divideIntoBatches<ArrayElement>(\n values: ArrayElement[],\n { batchSize }: { batchSize: number },\n): ArrayElement[][] {\n if (batchSize <= 0) {\n throw new Error('batchSize must be greater than 0');\n }\n\n const batches: ArrayElement[][] = [];\n for (let i = 0; i < values.length; i += batchSize) {\n batches.push(values.slice(i, i + batchSize));\n }\n return batches;\n}\n\n/**\n * Reduces an array in serial batches, applying an async function to each batch.\n *\n * @param options - The options for batch reduction.\n * @param options.values - Array of values to process.\n * @param options.batchSize - Size of each batch.\n * @param options.eachBatch - Async function to apply to each batch.\n * @param options.initialResult - Initial result value.\n * @returns The final reduced result.\n */\nexport async function reduceInBatchesSerially<Value, Result>({\n values,\n batchSize,\n eachBatch,\n initialResult,\n}: {\n values: Value[];\n batchSize: number;\n eachBatch: (\n workingResult: Partial<Result>,\n batch: Value[],\n index: number,\n ) => Partial<Result> | Promise<Partial<Result>>;\n initialResult: Partial<Result>;\n}): Promise<Result> {\n const batches = divideIntoBatches(values, { batchSize });\n let workingResult = initialResult;\n for (const [index, batch] of batches.entries()) {\n workingResult = await eachBatch(workingResult, batch, index);\n }\n // There's no way around this — we have to assume that in the end, the result\n // matches the intended type.\n const finalResult = workingResult as Result;\n return finalResult;\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.reduceInBatchesSerially = exports.divideIntoBatches = void 0;
|
|
4
|
+
var batch_1 = require("./batch.cjs");
|
|
5
|
+
Object.defineProperty(exports, "divideIntoBatches", { enumerable: true, get: function () { return batch_1.divideIntoBatches; } });
|
|
6
|
+
Object.defineProperty(exports, "reduceInBatchesSerially", { enumerable: true, get: function () { return batch_1.reduceInBatchesSerially; } });
|
|
7
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../../../src/data-sources/rpc-datasource/utils/index.ts"],"names":[],"mappings":";;;AAAA,qCAAqE;AAA5D,0GAAA,iBAAiB,OAAA;AAAE,gHAAA,uBAAuB,OAAA","sourcesContent":["export { divideIntoBatches, reduceInBatchesSerially } from './batch';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../../src/data-sources/rpc-datasource/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,oBAAgB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../../src/data-sources/rpc-datasource/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,oBAAgB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../../src/data-sources/rpc-datasource/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,oBAAgB","sourcesContent":["export { divideIntoBatches, reduceInBatchesSerially } from './batch';\n"]}
|
package/dist/index.cjs
CHANGED
|
@@ -1,7 +1,76 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getDefaultAssetsControllerState = exports.AssetsController = void 0;
|
|
3
|
+
exports.normalizeAssetId = exports.initDataSources = exports.initMessengers = exports.DetectionMiddleware = exports.PriceDataSource = exports.TokenDataSource = exports.isTronChain = exports.isBitcoinChain = exports.isSolanaChain = exports.isSnapSupportedChain = exports.getSnapTypeForChain = exports.SNAP_REGISTRY = exports.DEFAULT_SNAP_POLL_INTERVAL = exports.DEFAULT_TRON_POLL_INTERVAL = exports.DEFAULT_BITCOIN_POLL_INTERVAL = exports.DEFAULT_SOLANA_POLL_INTERVAL = exports.ALL_DEFAULT_NETWORKS = exports.TRON_NILE_HEX = exports.TRON_SHASTA_HEX = exports.TRON_MAINNET_HEX = exports.TRON_NILE = exports.TRON_SHASTA = exports.TRON_MAINNET = exports.BITCOIN_TESTNET = exports.BITCOIN_MAINNET = exports.SOLANA_TESTNET = exports.SOLANA_DEVNET = exports.SOLANA_MAINNET = exports.TRON_CHAIN_PREFIX = exports.BITCOIN_CHAIN_PREFIX = exports.SOLANA_CHAIN_PREFIX = exports.TRON_SNAP_ID = exports.BITCOIN_SNAP_ID = exports.SOLANA_SNAP_ID = exports.SNAP_DATA_SOURCE_NAME = exports.createSnapDataSource = exports.SnapDataSource = exports.createRpcDataSource = exports.RpcDataSource = exports.createBackendWebsocketDataSource = exports.BackendWebsocketDataSource = exports.createAccountsApiDataSource = exports.AccountsApiDataSource = exports.AbstractDataSource = exports.getDefaultAssetsControllerState = exports.AssetsController = void 0;
|
|
4
|
+
// Main controller export
|
|
4
5
|
var AssetsController_1 = require("./AssetsController.cjs");
|
|
5
6
|
Object.defineProperty(exports, "AssetsController", { enumerable: true, get: function () { return AssetsController_1.AssetsController; } });
|
|
6
7
|
Object.defineProperty(exports, "getDefaultAssetsControllerState", { enumerable: true, get: function () { return AssetsController_1.getDefaultAssetsControllerState; } });
|
|
8
|
+
// Data sources - base class and types
|
|
9
|
+
var data_sources_1 = require("./data-sources/index.cjs");
|
|
10
|
+
Object.defineProperty(exports, "AbstractDataSource", { enumerable: true, get: function () { return data_sources_1.AbstractDataSource; } });
|
|
11
|
+
// Data sources - AccountsApi
|
|
12
|
+
var data_sources_2 = require("./data-sources/index.cjs");
|
|
13
|
+
Object.defineProperty(exports, "AccountsApiDataSource", { enumerable: true, get: function () { return data_sources_2.AccountsApiDataSource; } });
|
|
14
|
+
Object.defineProperty(exports, "createAccountsApiDataSource", { enumerable: true, get: function () { return data_sources_2.createAccountsApiDataSource; } });
|
|
15
|
+
// Data sources - BackendWebsocket
|
|
16
|
+
var data_sources_3 = require("./data-sources/index.cjs");
|
|
17
|
+
Object.defineProperty(exports, "BackendWebsocketDataSource", { enumerable: true, get: function () { return data_sources_3.BackendWebsocketDataSource; } });
|
|
18
|
+
Object.defineProperty(exports, "createBackendWebsocketDataSource", { enumerable: true, get: function () { return data_sources_3.createBackendWebsocketDataSource; } });
|
|
19
|
+
// Data sources - RPC
|
|
20
|
+
var data_sources_4 = require("./data-sources/index.cjs");
|
|
21
|
+
Object.defineProperty(exports, "RpcDataSource", { enumerable: true, get: function () { return data_sources_4.RpcDataSource; } });
|
|
22
|
+
Object.defineProperty(exports, "createRpcDataSource", { enumerable: true, get: function () { return data_sources_4.createRpcDataSource; } });
|
|
23
|
+
// Data sources - Unified Snap Data Source (handles Solana, Bitcoin, Tron)
|
|
24
|
+
var data_sources_5 = require("./data-sources/index.cjs");
|
|
25
|
+
Object.defineProperty(exports, "SnapDataSource", { enumerable: true, get: function () { return data_sources_5.SnapDataSource; } });
|
|
26
|
+
Object.defineProperty(exports, "createSnapDataSource", { enumerable: true, get: function () { return data_sources_5.createSnapDataSource; } });
|
|
27
|
+
Object.defineProperty(exports, "SNAP_DATA_SOURCE_NAME", { enumerable: true, get: function () { return data_sources_5.SNAP_DATA_SOURCE_NAME; } });
|
|
28
|
+
// Snap IDs
|
|
29
|
+
Object.defineProperty(exports, "SOLANA_SNAP_ID", { enumerable: true, get: function () { return data_sources_5.SOLANA_SNAP_ID; } });
|
|
30
|
+
Object.defineProperty(exports, "BITCOIN_SNAP_ID", { enumerable: true, get: function () { return data_sources_5.BITCOIN_SNAP_ID; } });
|
|
31
|
+
Object.defineProperty(exports, "TRON_SNAP_ID", { enumerable: true, get: function () { return data_sources_5.TRON_SNAP_ID; } });
|
|
32
|
+
// Chain prefixes
|
|
33
|
+
Object.defineProperty(exports, "SOLANA_CHAIN_PREFIX", { enumerable: true, get: function () { return data_sources_5.SOLANA_CHAIN_PREFIX; } });
|
|
34
|
+
Object.defineProperty(exports, "BITCOIN_CHAIN_PREFIX", { enumerable: true, get: function () { return data_sources_5.BITCOIN_CHAIN_PREFIX; } });
|
|
35
|
+
Object.defineProperty(exports, "TRON_CHAIN_PREFIX", { enumerable: true, get: function () { return data_sources_5.TRON_CHAIN_PREFIX; } });
|
|
36
|
+
// Networks
|
|
37
|
+
Object.defineProperty(exports, "SOLANA_MAINNET", { enumerable: true, get: function () { return data_sources_5.SOLANA_MAINNET; } });
|
|
38
|
+
Object.defineProperty(exports, "SOLANA_DEVNET", { enumerable: true, get: function () { return data_sources_5.SOLANA_DEVNET; } });
|
|
39
|
+
Object.defineProperty(exports, "SOLANA_TESTNET", { enumerable: true, get: function () { return data_sources_5.SOLANA_TESTNET; } });
|
|
40
|
+
Object.defineProperty(exports, "BITCOIN_MAINNET", { enumerable: true, get: function () { return data_sources_5.BITCOIN_MAINNET; } });
|
|
41
|
+
Object.defineProperty(exports, "BITCOIN_TESTNET", { enumerable: true, get: function () { return data_sources_5.BITCOIN_TESTNET; } });
|
|
42
|
+
Object.defineProperty(exports, "TRON_MAINNET", { enumerable: true, get: function () { return data_sources_5.TRON_MAINNET; } });
|
|
43
|
+
Object.defineProperty(exports, "TRON_SHASTA", { enumerable: true, get: function () { return data_sources_5.TRON_SHASTA; } });
|
|
44
|
+
Object.defineProperty(exports, "TRON_NILE", { enumerable: true, get: function () { return data_sources_5.TRON_NILE; } });
|
|
45
|
+
Object.defineProperty(exports, "TRON_MAINNET_HEX", { enumerable: true, get: function () { return data_sources_5.TRON_MAINNET_HEX; } });
|
|
46
|
+
Object.defineProperty(exports, "TRON_SHASTA_HEX", { enumerable: true, get: function () { return data_sources_5.TRON_SHASTA_HEX; } });
|
|
47
|
+
Object.defineProperty(exports, "TRON_NILE_HEX", { enumerable: true, get: function () { return data_sources_5.TRON_NILE_HEX; } });
|
|
48
|
+
Object.defineProperty(exports, "ALL_DEFAULT_NETWORKS", { enumerable: true, get: function () { return data_sources_5.ALL_DEFAULT_NETWORKS; } });
|
|
49
|
+
// Poll intervals
|
|
50
|
+
Object.defineProperty(exports, "DEFAULT_SOLANA_POLL_INTERVAL", { enumerable: true, get: function () { return data_sources_5.DEFAULT_SOLANA_POLL_INTERVAL; } });
|
|
51
|
+
Object.defineProperty(exports, "DEFAULT_BITCOIN_POLL_INTERVAL", { enumerable: true, get: function () { return data_sources_5.DEFAULT_BITCOIN_POLL_INTERVAL; } });
|
|
52
|
+
Object.defineProperty(exports, "DEFAULT_TRON_POLL_INTERVAL", { enumerable: true, get: function () { return data_sources_5.DEFAULT_TRON_POLL_INTERVAL; } });
|
|
53
|
+
Object.defineProperty(exports, "DEFAULT_SNAP_POLL_INTERVAL", { enumerable: true, get: function () { return data_sources_5.DEFAULT_SNAP_POLL_INTERVAL; } });
|
|
54
|
+
// Snap registry
|
|
55
|
+
Object.defineProperty(exports, "SNAP_REGISTRY", { enumerable: true, get: function () { return data_sources_5.SNAP_REGISTRY; } });
|
|
56
|
+
// Helper functions
|
|
57
|
+
Object.defineProperty(exports, "getSnapTypeForChain", { enumerable: true, get: function () { return data_sources_5.getSnapTypeForChain; } });
|
|
58
|
+
Object.defineProperty(exports, "isSnapSupportedChain", { enumerable: true, get: function () { return data_sources_5.isSnapSupportedChain; } });
|
|
59
|
+
Object.defineProperty(exports, "isSolanaChain", { enumerable: true, get: function () { return data_sources_5.isSolanaChain; } });
|
|
60
|
+
Object.defineProperty(exports, "isBitcoinChain", { enumerable: true, get: function () { return data_sources_5.isBitcoinChain; } });
|
|
61
|
+
Object.defineProperty(exports, "isTronChain", { enumerable: true, get: function () { return data_sources_5.isTronChain; } });
|
|
62
|
+
// Enrichment data sources
|
|
63
|
+
var data_sources_6 = require("./data-sources/index.cjs");
|
|
64
|
+
Object.defineProperty(exports, "TokenDataSource", { enumerable: true, get: function () { return data_sources_6.TokenDataSource; } });
|
|
65
|
+
Object.defineProperty(exports, "PriceDataSource", { enumerable: true, get: function () { return data_sources_6.PriceDataSource; } });
|
|
66
|
+
// Middlewares
|
|
67
|
+
var middlewares_1 = require("./middlewares/index.cjs");
|
|
68
|
+
Object.defineProperty(exports, "DetectionMiddleware", { enumerable: true, get: function () { return middlewares_1.DetectionMiddleware; } });
|
|
69
|
+
// Data source initialization
|
|
70
|
+
var data_sources_7 = require("./data-sources/index.cjs");
|
|
71
|
+
Object.defineProperty(exports, "initMessengers", { enumerable: true, get: function () { return data_sources_7.initMessengers; } });
|
|
72
|
+
Object.defineProperty(exports, "initDataSources", { enumerable: true, get: function () { return data_sources_7.initDataSources; } });
|
|
73
|
+
// Utilities
|
|
74
|
+
var utils_1 = require("./utils.cjs");
|
|
75
|
+
Object.defineProperty(exports, "normalizeAssetId", { enumerable: true, get: function () { return utils_1.normalizeAssetId; } });
|
|
7
76
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;
|
|
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;AA2EjC,sCAAsC;AACtC,yDAAoD;AAA3C,kHAAA,kBAAkB,OAAA;AAI3B,6BAA6B;AAC7B,yDAGwB;AAFtB,qHAAA,qBAAqB,OAAA;AACrB,2HAAA,2BAA2B,OAAA;AAW7B,kCAAkC;AAClC,yDAGwB;AAFtB,0HAAA,0BAA0B,OAAA;AAC1B,gIAAA,gCAAgC,OAAA;AAalC,qBAAqB;AACrB,yDAAoE;AAA3D,6GAAA,aAAa,OAAA;AAAE,mHAAA,mBAAmB,OAAA;AAU3C,0EAA0E;AAC1E,yDAsCwB;AArCtB,8GAAA,cAAc,OAAA;AACd,oHAAA,oBAAoB,OAAA;AACpB,qHAAA,qBAAqB,OAAA;AACrB,WAAW;AACX,8GAAA,cAAc,OAAA;AACd,+GAAA,eAAe,OAAA;AACf,4GAAA,YAAY,OAAA;AACZ,iBAAiB;AACjB,mHAAA,mBAAmB,OAAA;AACnB,oHAAA,oBAAoB,OAAA;AACpB,iHAAA,iBAAiB,OAAA;AACjB,WAAW;AACX,8GAAA,cAAc,OAAA;AACd,6GAAA,aAAa,OAAA;AACb,8GAAA,cAAc,OAAA;AACd,+GAAA,eAAe,OAAA;AACf,+GAAA,eAAe,OAAA;AACf,4GAAA,YAAY,OAAA;AACZ,2GAAA,WAAW,OAAA;AACX,yGAAA,SAAS,OAAA;AACT,gHAAA,gBAAgB,OAAA;AAChB,+GAAA,eAAe,OAAA;AACf,6GAAA,aAAa,OAAA;AACb,oHAAA,oBAAoB,OAAA;AACpB,iBAAiB;AACjB,4HAAA,4BAA4B,OAAA;AAC5B,6HAAA,6BAA6B,OAAA;AAC7B,0HAAA,0BAA0B,OAAA;AAC1B,0HAAA,0BAA0B,OAAA;AAC1B,gBAAgB;AAChB,6GAAA,aAAa,OAAA;AACb,mBAAmB;AACnB,mHAAA,mBAAmB,OAAA;AACnB,oHAAA,oBAAoB,OAAA;AACpB,6GAAA,aAAa,OAAA;AACb,8GAAA,cAAc,OAAA;AACd,2GAAA,WAAW,OAAA;AAcb,0BAA0B;AAC1B,yDAAkE;AAAzD,+GAAA,eAAe,OAAA;AAAE,+GAAA,eAAe,OAAA;AAUzC,cAAc;AACd,uDAAoD;AAA3C,kHAAA,mBAAmB,OAAA;AAO5B,6BAA6B;AAC7B,yDAAiE;AAAxD,8GAAA,cAAc,OAAA;AAAE,+GAAA,eAAe,OAAA;AAcxC,YAAY;AACZ,qCAA2C;AAAlC,yGAAA,gBAAgB,OAAA","sourcesContent":["// Main controller export\nexport {\n AssetsController,\n getDefaultAssetsControllerState,\n} from './AssetsController';\n\n// State and messenger types\nexport type {\n AssetsControllerState,\n AssetsControllerMessenger,\n AssetsControllerOptions,\n AssetsControllerGetStateAction,\n AssetsControllerGetAssetsAction,\n AssetsControllerGetAssetsBalanceAction,\n AssetsControllerGetAssetMetadataAction,\n AssetsControllerGetAssetsPriceAction,\n AssetsControllerActiveChainsUpdateAction,\n AssetsControllerAssetsUpdateAction,\n AssetsControllerAddCustomAssetAction,\n AssetsControllerRemoveCustomAssetAction,\n AssetsControllerGetCustomAssetsAction,\n AssetsControllerActions,\n AssetsControllerStateChangeEvent,\n AssetsControllerBalanceChangedEvent,\n AssetsControllerPriceChangedEvent,\n AssetsControllerAssetsDetectedEvent,\n AssetsControllerEvents,\n} from './AssetsController';\n\n// Core types\nexport type {\n // CAIP types\n Caip19AssetId,\n AccountId,\n ChainId,\n // Asset types\n AssetType,\n TokenStandard,\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 DataType,\n DataRequest,\n DataResponse,\n // Middleware types\n Context,\n NextFunction,\n Middleware,\n FetchContext,\n FetchNextFunction,\n FetchMiddleware,\n // Data source registration\n DataSourceDefinition,\n RegisteredDataSource,\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 {\n AccountsApiDataSource,\n createAccountsApiDataSource,\n} from './data-sources';\n\nexport type {\n AccountsApiDataSourceOptions,\n AccountsApiDataSourceState,\n AccountsApiDataSourceActions,\n AccountsApiDataSourceEvents,\n AccountsApiDataSourceMessenger,\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 BackendWebsocketDataSourceActions,\n BackendWebsocketDataSourceEvents,\n BackendWebsocketDataSourceMessenger,\n BackendWebsocketDataSourceAllowedActions,\n BackendWebsocketDataSourceAllowedEvents,\n} from './data-sources';\n\n// Data sources - RPC\nexport { RpcDataSource, createRpcDataSource } from './data-sources';\n\nexport type {\n RpcDataSourceOptions,\n RpcDataSourceState,\n RpcDataSourceActions,\n RpcDataSourceEvents,\n RpcDataSourceMessenger,\n} from './data-sources';\n\n// Data sources - Unified Snap Data Source (handles Solana, Bitcoin, Tron)\nexport {\n SnapDataSource,\n createSnapDataSource,\n SNAP_DATA_SOURCE_NAME,\n // Snap IDs\n SOLANA_SNAP_ID,\n BITCOIN_SNAP_ID,\n TRON_SNAP_ID,\n // Chain prefixes\n SOLANA_CHAIN_PREFIX,\n BITCOIN_CHAIN_PREFIX,\n TRON_CHAIN_PREFIX,\n // Networks\n SOLANA_MAINNET,\n SOLANA_DEVNET,\n SOLANA_TESTNET,\n BITCOIN_MAINNET,\n BITCOIN_TESTNET,\n TRON_MAINNET,\n TRON_SHASTA,\n TRON_NILE,\n TRON_MAINNET_HEX,\n TRON_SHASTA_HEX,\n TRON_NILE_HEX,\n ALL_DEFAULT_NETWORKS,\n // Poll intervals\n DEFAULT_SOLANA_POLL_INTERVAL,\n DEFAULT_BITCOIN_POLL_INTERVAL,\n DEFAULT_TRON_POLL_INTERVAL,\n DEFAULT_SNAP_POLL_INTERVAL,\n // Snap registry\n SNAP_REGISTRY,\n // Helper functions\n getSnapTypeForChain,\n isSnapSupportedChain,\n isSolanaChain,\n isBitcoinChain,\n isTronChain,\n} from './data-sources';\n\nexport type {\n SnapType,\n SnapInfo,\n SnapDataSourceState,\n SnapDataSourceOptions,\n SnapProvider,\n SnapDataSourceActions,\n SnapDataSourceEvents,\n SnapDataSourceMessenger,\n} from './data-sources';\n\n// Enrichment data sources\nexport { TokenDataSource, PriceDataSource } from './data-sources';\n\nexport type {\n TokenDataSourceActions,\n TokenDataSourceMessenger,\n PriceDataSourceActions,\n PriceDataSourceEvents,\n PriceDataSourceMessenger,\n} from './data-sources';\n\n// Middlewares\nexport { DetectionMiddleware } from './middlewares';\n\nexport type {\n DetectionMiddlewareActions,\n DetectionMiddlewareMessenger,\n} from './middlewares';\n\n// Data source initialization\nexport { initMessengers, initDataSources } from './data-sources';\n\nexport type {\n DataSourceMessengers,\n DataSources,\n InitMessengersOptions,\n InitDataSourcesOptions,\n DataSourceActions,\n DataSourceEvents,\n DataSourceAllowedActions,\n DataSourceAllowedEvents,\n RootMessenger,\n} from './data-sources';\n\n// Utilities\nexport { normalizeAssetId } from './utils';\n"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
|
-
export type { AssetsControllerState, AssetsControllerGetStateAction, AssetsControllerActions, AssetsControllerStateChangeEvent, AssetsControllerEvents, AssetsControllerMessenger, } from "./AssetsController.cjs";
|
|
2
1
|
export { AssetsController, getDefaultAssetsControllerState, } from "./AssetsController.cjs";
|
|
2
|
+
export type { AssetsControllerState, AssetsControllerMessenger, AssetsControllerOptions, AssetsControllerGetStateAction, AssetsControllerGetAssetsAction, AssetsControllerGetAssetsBalanceAction, AssetsControllerGetAssetMetadataAction, AssetsControllerGetAssetsPriceAction, AssetsControllerActiveChainsUpdateAction, AssetsControllerAssetsUpdateAction, AssetsControllerAddCustomAssetAction, AssetsControllerRemoveCustomAssetAction, AssetsControllerGetCustomAssetsAction, AssetsControllerActions, AssetsControllerStateChangeEvent, AssetsControllerBalanceChangedEvent, AssetsControllerPriceChangedEvent, AssetsControllerAssetsDetectedEvent, AssetsControllerEvents, } from "./AssetsController.cjs";
|
|
3
|
+
export type { Caip19AssetId, AccountId, ChainId, AssetType, TokenStandard, BaseAssetMetadata, FungibleAssetMetadata, ERC721AssetMetadata, ERC1155AssetMetadata, AssetMetadata, BaseAssetPrice, FungibleAssetPrice, NFTAssetPrice, AssetPrice, FungibleAssetBalance, ERC721AssetBalance, ERC1155AssetBalance, AssetBalance, DataType, DataRequest, DataResponse, Context, NextFunction, Middleware, FetchContext, FetchNextFunction, FetchMiddleware, DataSourceDefinition, RegisteredDataSource, SubscriptionResponse, Asset, BalanceChangeEvent, PriceChangeEvent, MetadataChangeEvent, AssetsDetectedEvent, } from "./types.cjs";
|
|
4
|
+
export { AbstractDataSource } from "./data-sources/index.cjs";
|
|
5
|
+
export type { DataSourceState, SubscriptionRequest } from "./data-sources/index.cjs";
|
|
6
|
+
export { AccountsApiDataSource, createAccountsApiDataSource, } from "./data-sources/index.cjs";
|
|
7
|
+
export type { AccountsApiDataSourceOptions, AccountsApiDataSourceState, AccountsApiDataSourceActions, AccountsApiDataSourceEvents, AccountsApiDataSourceMessenger, } from "./data-sources/index.cjs";
|
|
8
|
+
export { BackendWebsocketDataSource, createBackendWebsocketDataSource, } from "./data-sources/index.cjs";
|
|
9
|
+
export type { BackendWebsocketDataSourceOptions, BackendWebsocketDataSourceState, BackendWebsocketDataSourceActions, BackendWebsocketDataSourceEvents, BackendWebsocketDataSourceMessenger, BackendWebsocketDataSourceAllowedActions, BackendWebsocketDataSourceAllowedEvents, } from "./data-sources/index.cjs";
|
|
10
|
+
export { RpcDataSource, createRpcDataSource } from "./data-sources/index.cjs";
|
|
11
|
+
export type { RpcDataSourceOptions, RpcDataSourceState, RpcDataSourceActions, RpcDataSourceEvents, RpcDataSourceMessenger, } from "./data-sources/index.cjs";
|
|
12
|
+
export { SnapDataSource, createSnapDataSource, SNAP_DATA_SOURCE_NAME, SOLANA_SNAP_ID, BITCOIN_SNAP_ID, TRON_SNAP_ID, SOLANA_CHAIN_PREFIX, BITCOIN_CHAIN_PREFIX, TRON_CHAIN_PREFIX, SOLANA_MAINNET, SOLANA_DEVNET, SOLANA_TESTNET, BITCOIN_MAINNET, BITCOIN_TESTNET, TRON_MAINNET, TRON_SHASTA, TRON_NILE, TRON_MAINNET_HEX, TRON_SHASTA_HEX, TRON_NILE_HEX, ALL_DEFAULT_NETWORKS, DEFAULT_SOLANA_POLL_INTERVAL, DEFAULT_BITCOIN_POLL_INTERVAL, DEFAULT_TRON_POLL_INTERVAL, DEFAULT_SNAP_POLL_INTERVAL, SNAP_REGISTRY, getSnapTypeForChain, isSnapSupportedChain, isSolanaChain, isBitcoinChain, isTronChain, } from "./data-sources/index.cjs";
|
|
13
|
+
export type { SnapType, SnapInfo, SnapDataSourceState, SnapDataSourceOptions, SnapProvider, SnapDataSourceActions, SnapDataSourceEvents, SnapDataSourceMessenger, } from "./data-sources/index.cjs";
|
|
14
|
+
export { TokenDataSource, PriceDataSource } from "./data-sources/index.cjs";
|
|
15
|
+
export type { TokenDataSourceActions, TokenDataSourceMessenger, PriceDataSourceActions, PriceDataSourceEvents, PriceDataSourceMessenger, } from "./data-sources/index.cjs";
|
|
16
|
+
export { DetectionMiddleware } from "./middlewares/index.cjs";
|
|
17
|
+
export type { DetectionMiddlewareActions, DetectionMiddlewareMessenger, } from "./middlewares/index.cjs";
|
|
18
|
+
export { initMessengers, initDataSources } from "./data-sources/index.cjs";
|
|
19
|
+
export type { DataSourceMessengers, DataSources, InitMessengersOptions, InitDataSourcesOptions, DataSourceActions, DataSourceEvents, DataSourceAllowedActions, DataSourceAllowedEvents, RootMessenger, } from "./data-sources/index.cjs";
|
|
20
|
+
export { normalizeAssetId } from "./utils.cjs";
|
|
3
21
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
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,3 +1,21 @@
|
|
|
1
|
-
export type { AssetsControllerState, AssetsControllerGetStateAction, AssetsControllerActions, AssetsControllerStateChangeEvent, AssetsControllerEvents, AssetsControllerMessenger, } from "./AssetsController.mjs";
|
|
2
1
|
export { AssetsController, getDefaultAssetsControllerState, } from "./AssetsController.mjs";
|
|
2
|
+
export type { AssetsControllerState, AssetsControllerMessenger, AssetsControllerOptions, AssetsControllerGetStateAction, AssetsControllerGetAssetsAction, AssetsControllerGetAssetsBalanceAction, AssetsControllerGetAssetMetadataAction, AssetsControllerGetAssetsPriceAction, AssetsControllerActiveChainsUpdateAction, AssetsControllerAssetsUpdateAction, AssetsControllerAddCustomAssetAction, AssetsControllerRemoveCustomAssetAction, AssetsControllerGetCustomAssetsAction, AssetsControllerActions, AssetsControllerStateChangeEvent, AssetsControllerBalanceChangedEvent, AssetsControllerPriceChangedEvent, AssetsControllerAssetsDetectedEvent, AssetsControllerEvents, } from "./AssetsController.mjs";
|
|
3
|
+
export type { Caip19AssetId, AccountId, ChainId, AssetType, TokenStandard, BaseAssetMetadata, FungibleAssetMetadata, ERC721AssetMetadata, ERC1155AssetMetadata, AssetMetadata, BaseAssetPrice, FungibleAssetPrice, NFTAssetPrice, AssetPrice, FungibleAssetBalance, ERC721AssetBalance, ERC1155AssetBalance, AssetBalance, DataType, DataRequest, DataResponse, Context, NextFunction, Middleware, FetchContext, FetchNextFunction, FetchMiddleware, DataSourceDefinition, RegisteredDataSource, SubscriptionResponse, Asset, BalanceChangeEvent, PriceChangeEvent, MetadataChangeEvent, AssetsDetectedEvent, } from "./types.mjs";
|
|
4
|
+
export { AbstractDataSource } from "./data-sources/index.mjs";
|
|
5
|
+
export type { DataSourceState, SubscriptionRequest } from "./data-sources/index.mjs";
|
|
6
|
+
export { AccountsApiDataSource, createAccountsApiDataSource, } from "./data-sources/index.mjs";
|
|
7
|
+
export type { AccountsApiDataSourceOptions, AccountsApiDataSourceState, AccountsApiDataSourceActions, AccountsApiDataSourceEvents, AccountsApiDataSourceMessenger, } from "./data-sources/index.mjs";
|
|
8
|
+
export { BackendWebsocketDataSource, createBackendWebsocketDataSource, } from "./data-sources/index.mjs";
|
|
9
|
+
export type { BackendWebsocketDataSourceOptions, BackendWebsocketDataSourceState, BackendWebsocketDataSourceActions, BackendWebsocketDataSourceEvents, BackendWebsocketDataSourceMessenger, BackendWebsocketDataSourceAllowedActions, BackendWebsocketDataSourceAllowedEvents, } from "./data-sources/index.mjs";
|
|
10
|
+
export { RpcDataSource, createRpcDataSource } from "./data-sources/index.mjs";
|
|
11
|
+
export type { RpcDataSourceOptions, RpcDataSourceState, RpcDataSourceActions, RpcDataSourceEvents, RpcDataSourceMessenger, } from "./data-sources/index.mjs";
|
|
12
|
+
export { SnapDataSource, createSnapDataSource, SNAP_DATA_SOURCE_NAME, SOLANA_SNAP_ID, BITCOIN_SNAP_ID, TRON_SNAP_ID, SOLANA_CHAIN_PREFIX, BITCOIN_CHAIN_PREFIX, TRON_CHAIN_PREFIX, SOLANA_MAINNET, SOLANA_DEVNET, SOLANA_TESTNET, BITCOIN_MAINNET, BITCOIN_TESTNET, TRON_MAINNET, TRON_SHASTA, TRON_NILE, TRON_MAINNET_HEX, TRON_SHASTA_HEX, TRON_NILE_HEX, ALL_DEFAULT_NETWORKS, DEFAULT_SOLANA_POLL_INTERVAL, DEFAULT_BITCOIN_POLL_INTERVAL, DEFAULT_TRON_POLL_INTERVAL, DEFAULT_SNAP_POLL_INTERVAL, SNAP_REGISTRY, getSnapTypeForChain, isSnapSupportedChain, isSolanaChain, isBitcoinChain, isTronChain, } from "./data-sources/index.mjs";
|
|
13
|
+
export type { SnapType, SnapInfo, SnapDataSourceState, SnapDataSourceOptions, SnapProvider, SnapDataSourceActions, SnapDataSourceEvents, SnapDataSourceMessenger, } from "./data-sources/index.mjs";
|
|
14
|
+
export { TokenDataSource, PriceDataSource } from "./data-sources/index.mjs";
|
|
15
|
+
export type { TokenDataSourceActions, TokenDataSourceMessenger, PriceDataSourceActions, PriceDataSourceEvents, PriceDataSourceMessenger, } from "./data-sources/index.mjs";
|
|
16
|
+
export { DetectionMiddleware } from "./middlewares/index.mjs";
|
|
17
|
+
export type { DetectionMiddlewareActions, DetectionMiddlewareMessenger, } from "./middlewares/index.mjs";
|
|
18
|
+
export { initMessengers, initDataSources } from "./data-sources/index.mjs";
|
|
19
|
+
export type { DataSourceMessengers, DataSources, InitMessengersOptions, InitDataSourcesOptions, DataSourceActions, DataSourceEvents, DataSourceAllowedActions, DataSourceAllowedEvents, RootMessenger, } from "./data-sources/index.mjs";
|
|
20
|
+
export { normalizeAssetId } from "./utils.mjs";
|
|
3
21
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,33 @@
|
|
|
1
|
+
// Main controller export
|
|
1
2
|
export { AssetsController, getDefaultAssetsControllerState } from "./AssetsController.mjs";
|
|
3
|
+
// Data sources - base class and types
|
|
4
|
+
export { AbstractDataSource } from "./data-sources/index.mjs";
|
|
5
|
+
// Data sources - AccountsApi
|
|
6
|
+
export { AccountsApiDataSource, createAccountsApiDataSource } from "./data-sources/index.mjs";
|
|
7
|
+
// Data sources - BackendWebsocket
|
|
8
|
+
export { BackendWebsocketDataSource, createBackendWebsocketDataSource } from "./data-sources/index.mjs";
|
|
9
|
+
// Data sources - RPC
|
|
10
|
+
export { RpcDataSource, createRpcDataSource } from "./data-sources/index.mjs";
|
|
11
|
+
// Data sources - Unified Snap Data Source (handles Solana, Bitcoin, Tron)
|
|
12
|
+
export { SnapDataSource, createSnapDataSource, SNAP_DATA_SOURCE_NAME,
|
|
13
|
+
// Snap IDs
|
|
14
|
+
SOLANA_SNAP_ID, BITCOIN_SNAP_ID, TRON_SNAP_ID,
|
|
15
|
+
// Chain prefixes
|
|
16
|
+
SOLANA_CHAIN_PREFIX, BITCOIN_CHAIN_PREFIX, TRON_CHAIN_PREFIX,
|
|
17
|
+
// Networks
|
|
18
|
+
SOLANA_MAINNET, SOLANA_DEVNET, SOLANA_TESTNET, BITCOIN_MAINNET, BITCOIN_TESTNET, TRON_MAINNET, TRON_SHASTA, TRON_NILE, TRON_MAINNET_HEX, TRON_SHASTA_HEX, TRON_NILE_HEX, ALL_DEFAULT_NETWORKS,
|
|
19
|
+
// Poll intervals
|
|
20
|
+
DEFAULT_SOLANA_POLL_INTERVAL, DEFAULT_BITCOIN_POLL_INTERVAL, DEFAULT_TRON_POLL_INTERVAL, DEFAULT_SNAP_POLL_INTERVAL,
|
|
21
|
+
// Snap registry
|
|
22
|
+
SNAP_REGISTRY,
|
|
23
|
+
// Helper functions
|
|
24
|
+
getSnapTypeForChain, isSnapSupportedChain, isSolanaChain, isBitcoinChain, isTronChain } from "./data-sources/index.mjs";
|
|
25
|
+
// Enrichment data sources
|
|
26
|
+
export { TokenDataSource, PriceDataSource } from "./data-sources/index.mjs";
|
|
27
|
+
// Middlewares
|
|
28
|
+
export { DetectionMiddleware } from "./middlewares/index.mjs";
|
|
29
|
+
// Data source initialization
|
|
30
|
+
export { initMessengers, initDataSources } from "./data-sources/index.mjs";
|
|
31
|
+
// Utilities
|
|
32
|
+
export { normalizeAssetId } from "./utils.mjs";
|
|
2
33
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,OAAO,EACL,gBAAgB,EAChB,+BAA+B,EAChC,+BAA2B;AA0E5B,sCAAsC;AACtC,OAAO,EAAE,kBAAkB,EAAE,iCAAuB;AAIpD,6BAA6B;AAC7B,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC5B,iCAAuB;AAUxB,kCAAkC;AAClC,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,EACjC,iCAAuB;AAYxB,qBAAqB;AACrB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,iCAAuB;AAUpE,0EAA0E;AAC1E,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,qBAAqB;AACrB,WAAW;AACX,cAAc,EACd,eAAe,EACf,YAAY;AACZ,iBAAiB;AACjB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB;AACjB,WAAW;AACX,cAAc,EACd,aAAa,EACb,cAAc,EACd,eAAe,EACf,eAAe,EACf,YAAY,EACZ,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,oBAAoB;AACpB,iBAAiB;AACjB,4BAA4B,EAC5B,6BAA6B,EAC7B,0BAA0B,EAC1B,0BAA0B;AAC1B,gBAAgB;AAChB,aAAa;AACb,mBAAmB;AACnB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,WAAW,EACZ,iCAAuB;AAaxB,0BAA0B;AAC1B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,iCAAuB;AAUlE,cAAc;AACd,OAAO,EAAE,mBAAmB,EAAE,gCAAsB;AAOpD,6BAA6B;AAC7B,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,iCAAuB;AAcjE,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAAE,oBAAgB","sourcesContent":["// Main controller export\nexport {\n AssetsController,\n getDefaultAssetsControllerState,\n} from './AssetsController';\n\n// State and messenger types\nexport type {\n AssetsControllerState,\n AssetsControllerMessenger,\n AssetsControllerOptions,\n AssetsControllerGetStateAction,\n AssetsControllerGetAssetsAction,\n AssetsControllerGetAssetsBalanceAction,\n AssetsControllerGetAssetMetadataAction,\n AssetsControllerGetAssetsPriceAction,\n AssetsControllerActiveChainsUpdateAction,\n AssetsControllerAssetsUpdateAction,\n AssetsControllerAddCustomAssetAction,\n AssetsControllerRemoveCustomAssetAction,\n AssetsControllerGetCustomAssetsAction,\n AssetsControllerActions,\n AssetsControllerStateChangeEvent,\n AssetsControllerBalanceChangedEvent,\n AssetsControllerPriceChangedEvent,\n AssetsControllerAssetsDetectedEvent,\n AssetsControllerEvents,\n} from './AssetsController';\n\n// Core types\nexport type {\n // CAIP types\n Caip19AssetId,\n AccountId,\n ChainId,\n // Asset types\n AssetType,\n TokenStandard,\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 DataType,\n DataRequest,\n DataResponse,\n // Middleware types\n Context,\n NextFunction,\n Middleware,\n FetchContext,\n FetchNextFunction,\n FetchMiddleware,\n // Data source registration\n DataSourceDefinition,\n RegisteredDataSource,\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 {\n AccountsApiDataSource,\n createAccountsApiDataSource,\n} from './data-sources';\n\nexport type {\n AccountsApiDataSourceOptions,\n AccountsApiDataSourceState,\n AccountsApiDataSourceActions,\n AccountsApiDataSourceEvents,\n AccountsApiDataSourceMessenger,\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 BackendWebsocketDataSourceActions,\n BackendWebsocketDataSourceEvents,\n BackendWebsocketDataSourceMessenger,\n BackendWebsocketDataSourceAllowedActions,\n BackendWebsocketDataSourceAllowedEvents,\n} from './data-sources';\n\n// Data sources - RPC\nexport { RpcDataSource, createRpcDataSource } from './data-sources';\n\nexport type {\n RpcDataSourceOptions,\n RpcDataSourceState,\n RpcDataSourceActions,\n RpcDataSourceEvents,\n RpcDataSourceMessenger,\n} from './data-sources';\n\n// Data sources - Unified Snap Data Source (handles Solana, Bitcoin, Tron)\nexport {\n SnapDataSource,\n createSnapDataSource,\n SNAP_DATA_SOURCE_NAME,\n // Snap IDs\n SOLANA_SNAP_ID,\n BITCOIN_SNAP_ID,\n TRON_SNAP_ID,\n // Chain prefixes\n SOLANA_CHAIN_PREFIX,\n BITCOIN_CHAIN_PREFIX,\n TRON_CHAIN_PREFIX,\n // Networks\n SOLANA_MAINNET,\n SOLANA_DEVNET,\n SOLANA_TESTNET,\n BITCOIN_MAINNET,\n BITCOIN_TESTNET,\n TRON_MAINNET,\n TRON_SHASTA,\n TRON_NILE,\n TRON_MAINNET_HEX,\n TRON_SHASTA_HEX,\n TRON_NILE_HEX,\n ALL_DEFAULT_NETWORKS,\n // Poll intervals\n DEFAULT_SOLANA_POLL_INTERVAL,\n DEFAULT_BITCOIN_POLL_INTERVAL,\n DEFAULT_TRON_POLL_INTERVAL,\n DEFAULT_SNAP_POLL_INTERVAL,\n // Snap registry\n SNAP_REGISTRY,\n // Helper functions\n getSnapTypeForChain,\n isSnapSupportedChain,\n isSolanaChain,\n isBitcoinChain,\n isTronChain,\n} from './data-sources';\n\nexport type {\n SnapType,\n SnapInfo,\n SnapDataSourceState,\n SnapDataSourceOptions,\n SnapProvider,\n SnapDataSourceActions,\n SnapDataSourceEvents,\n SnapDataSourceMessenger,\n} from './data-sources';\n\n// Enrichment data sources\nexport { TokenDataSource, PriceDataSource } from './data-sources';\n\nexport type {\n TokenDataSourceActions,\n TokenDataSourceMessenger,\n PriceDataSourceActions,\n PriceDataSourceEvents,\n PriceDataSourceMessenger,\n} from './data-sources';\n\n// Middlewares\nexport { DetectionMiddleware } from './middlewares';\n\nexport type {\n DetectionMiddlewareActions,\n DetectionMiddlewareMessenger,\n} from './middlewares';\n\n// Data source initialization\nexport { initMessengers, initDataSources } from './data-sources';\n\nexport type {\n DataSourceMessengers,\n DataSources,\n InitMessengersOptions,\n InitDataSourcesOptions,\n DataSourceActions,\n DataSourceEvents,\n DataSourceAllowedActions,\n DataSourceAllowedEvents,\n RootMessenger,\n} from './data-sources';\n\n// Utilities\nexport { normalizeAssetId } from './utils';\n"]}
|
package/dist/logger.cjs
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createModuleLogger = exports.projectLogger = void 0;
|
|
4
|
+
const utils_1 = require("@metamask/utils");
|
|
5
|
+
Object.defineProperty(exports, "createModuleLogger", { enumerable: true, get: function () { return utils_1.createModuleLogger; } });
|
|
6
|
+
exports.projectLogger = (0, utils_1.createProjectLogger)('assets-controller');
|
|
7
|
+
//# sourceMappingURL=logger.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.cjs","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;AAAA,2CAA0E;AAIjE,mGAJqB,0BAAkB,OAIrB;AAFd,QAAA,aAAa,GAAG,IAAA,2BAAmB,EAAC,mBAAmB,CAAC,CAAC","sourcesContent":["import { createProjectLogger, createModuleLogger } from '@metamask/utils';\n\nexport const projectLogger = createProjectLogger('assets-controller');\n\nexport { createModuleLogger };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.cts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";AAAA,OAAO,EAAuB,kBAAkB,EAAE,wBAAwB;AAE1E,eAAO,MAAM,aAAa,0BAA2C,CAAC;AAEtE,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.mts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";AAAA,OAAO,EAAuB,kBAAkB,EAAE,wBAAwB;AAE1E,eAAO,MAAM,aAAa,0BAA2C,CAAC;AAEtE,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
package/dist/logger.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.mjs","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,wBAAwB;AAE1E,MAAM,CAAC,MAAM,aAAa,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;AAEtE,OAAO,EAAE,kBAAkB,EAAE,CAAC","sourcesContent":["import { createProjectLogger, createModuleLogger } from '@metamask/utils';\n\nexport const projectLogger = createProjectLogger('assets-controller');\n\nexport { createModuleLogger };\n"]}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
+
};
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
+
};
|
|
13
|
+
var _DetectionMiddleware_instances, _DetectionMiddleware_messenger, _DetectionMiddleware_registerActionHandlers;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.DetectionMiddleware = void 0;
|
|
16
|
+
const logger_1 = require("../logger.cjs");
|
|
17
|
+
const types_1 = require("../types.cjs");
|
|
18
|
+
// ============================================================================
|
|
19
|
+
// CONSTANTS
|
|
20
|
+
// ============================================================================
|
|
21
|
+
const CONTROLLER_NAME = 'DetectionMiddleware';
|
|
22
|
+
// Logger for debugging
|
|
23
|
+
(0, logger_1.createModuleLogger)(logger_1.projectLogger, CONTROLLER_NAME);
|
|
24
|
+
// ============================================================================
|
|
25
|
+
// DETECTION MIDDLEWARE
|
|
26
|
+
// ============================================================================
|
|
27
|
+
/**
|
|
28
|
+
* DetectionMiddleware identifies assets that do not have metadata.
|
|
29
|
+
*
|
|
30
|
+
* This middleware:
|
|
31
|
+
* - Checks assets in the response for metadata in state
|
|
32
|
+
* - Assets in response but without metadata are considered "detected"
|
|
33
|
+
* - Fills response.detectedAssets with asset IDs per account that lack metadata
|
|
34
|
+
*
|
|
35
|
+
* Usage:
|
|
36
|
+
* ```typescript
|
|
37
|
+
* // Create and initialize (registers messenger actions)
|
|
38
|
+
* const detectionMiddleware = new DetectionMiddleware({ messenger });
|
|
39
|
+
*
|
|
40
|
+
* // Later, get middleware via messenger
|
|
41
|
+
* const middleware = messenger.call('DetectionMiddleware:getAssetsMiddleware');
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
class DetectionMiddleware {
|
|
45
|
+
constructor(options) {
|
|
46
|
+
_DetectionMiddleware_instances.add(this);
|
|
47
|
+
this.name = CONTROLLER_NAME;
|
|
48
|
+
_DetectionMiddleware_messenger.set(this, void 0);
|
|
49
|
+
__classPrivateFieldSet(this, _DetectionMiddleware_messenger, options.messenger, "f");
|
|
50
|
+
__classPrivateFieldGet(this, _DetectionMiddleware_instances, "m", _DetectionMiddleware_registerActionHandlers).call(this);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Get the middleware for detecting assets without metadata.
|
|
54
|
+
*
|
|
55
|
+
* This middleware:
|
|
56
|
+
* 1. Extracts the response from context
|
|
57
|
+
* 2. Detects assets from the response that don't have metadata
|
|
58
|
+
* 3. Fills response.detectedAssets with detected asset IDs per account
|
|
59
|
+
* 4. Calls next() to continue the middleware chain
|
|
60
|
+
*
|
|
61
|
+
* @returns The middleware function for the assets pipeline.
|
|
62
|
+
*/
|
|
63
|
+
get assetsMiddleware() {
|
|
64
|
+
return (0, types_1.forDataTypes)(['balance'], async (ctx, next) => {
|
|
65
|
+
// Extract response from context
|
|
66
|
+
const { response } = ctx;
|
|
67
|
+
// If no balances in response, nothing to detect - pass through
|
|
68
|
+
if (!response.assetsBalance) {
|
|
69
|
+
return next(ctx);
|
|
70
|
+
}
|
|
71
|
+
// Get metadata from state
|
|
72
|
+
const { assetsMetadata: stateMetadata } = ctx.getAssetsState();
|
|
73
|
+
const detectedAssets = {};
|
|
74
|
+
// Detect assets from the response that don't have metadata
|
|
75
|
+
for (const [accountId, accountBalances] of Object.entries(response.assetsBalance)) {
|
|
76
|
+
const detected = [];
|
|
77
|
+
for (const assetId of Object.keys(accountBalances)) {
|
|
78
|
+
// Asset is detected if it does not have metadata in state
|
|
79
|
+
if (!stateMetadata[assetId]) {
|
|
80
|
+
detected.push(assetId);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (detected.length > 0) {
|
|
84
|
+
detectedAssets[accountId] = detected;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Fill detectedAssets in the response
|
|
88
|
+
if (Object.keys(detectedAssets).length > 0) {
|
|
89
|
+
response.detectedAssets = detectedAssets;
|
|
90
|
+
}
|
|
91
|
+
// Call next() to continue the middleware chain
|
|
92
|
+
return next(ctx);
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
exports.DetectionMiddleware = DetectionMiddleware;
|
|
97
|
+
_DetectionMiddleware_messenger = new WeakMap(), _DetectionMiddleware_instances = new WeakSet(), _DetectionMiddleware_registerActionHandlers = function _DetectionMiddleware_registerActionHandlers() {
|
|
98
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
99
|
+
__classPrivateFieldGet(this, _DetectionMiddleware_messenger, "f").registerActionHandler('DetectionMiddleware:getAssetsMiddleware', () => this.assetsMiddleware);
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=DetectionMiddleware.cjs.map
|