@talismn/balances 0.0.0-pr2075-20250710091134 → 0.0.0-pr2075-20250710094113
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.
@@ -6202,6 +6202,7 @@ const POOL = new PQueue__default.default({
|
|
6202
6202
|
const getMiniMetadatas = async (chainConnector, chaindataProvider, networkId, specVersion) => {
|
6203
6203
|
if (specVersion === undefined) specVersion = await getSpecVersion(chainConnector, networkId);
|
6204
6204
|
const cacheKey = getCacheKey(networkId, specVersion);
|
6205
|
+
if (CACHE.has(cacheKey)) return CACHE.get(cacheKey);
|
6205
6206
|
const pResult = POOL.add(() => fetchMiniMetadatas(chainConnector, chaindataProvider, networkId, specVersion));
|
6206
6207
|
|
6207
6208
|
// keep the results in cache (unless call fails) as observables call this function a lot of times
|
@@ -6215,15 +6216,13 @@ const getMiniMetadatas = async (chainConnector, chaindataProvider, networkId, sp
|
|
6215
6216
|
});
|
6216
6217
|
}
|
6217
6218
|
};
|
6218
|
-
const fetchMiniMetadatas = async (chainConnector, chaindataProvider, chainId, specVersion
|
6219
|
+
const fetchMiniMetadatas = async (chainConnector, chaindataProvider, chainId, specVersion) => {
|
6219
6220
|
const start = performance.now();
|
6220
6221
|
log.info("[miniMetadata] fetching minimetadatas for %s", chainId);
|
6221
6222
|
try {
|
6222
6223
|
const network = await chaindataProvider.getNetworkById(chainId, "polkadot");
|
6223
6224
|
if (!network) throw new Error(`Network ${chainId} not found in chaindataProvider`);
|
6224
|
-
signal?.throwIfAborted();
|
6225
6225
|
const metadataRpc = await getMetadataRpc(chainConnector, chainId);
|
6226
|
-
signal?.throwIfAborted();
|
6227
6226
|
return Promise.all(BALANCE_MODULES.filter(m => m.platform === "polkadot").map(mod => mod.getMiniMetadata({
|
6228
6227
|
networkId: chainId,
|
6229
6228
|
metadataRpc,
|
@@ -6421,13 +6420,17 @@ class BalancesProvider {
|
|
6421
6420
|
miniMetadatas
|
6422
6421
|
}));
|
6423
6422
|
}));
|
6424
|
-
})
|
6423
|
+
}),
|
6424
|
+
// emit only when mini metadata changes, as a change here would restart all subscriptions for the network
|
6425
|
+
rxjs.distinctUntilChanged(lodashEs.isEqual));
|
6425
6426
|
}
|
6426
6427
|
getStoredMiniMetadatas$(miniMetadataIds) {
|
6427
6428
|
return this.storedMiniMetadataMapById$.pipe(rxjs.map(mapById => {
|
6428
6429
|
const miniMetadatas = miniMetadataIds.map(id => mapById[id]);
|
6429
6430
|
return miniMetadatas.length && miniMetadatas.every(util.isTruthy) ? miniMetadatas : null;
|
6430
|
-
})
|
6431
|
+
}),
|
6432
|
+
// source changes very often
|
6433
|
+
rxjs.distinctUntilChanged(lodashEs.isEqual));
|
6431
6434
|
}
|
6432
6435
|
getDefaultMiniMetadatas$(miniMetadataIds) {
|
6433
6436
|
return this.#chaindataProvider.miniMetadatasMapById$.pipe(rxjs.map(mapById => {
|
@@ -6202,6 +6202,7 @@ const POOL = new PQueue__default.default({
|
|
6202
6202
|
const getMiniMetadatas = async (chainConnector, chaindataProvider, networkId, specVersion) => {
|
6203
6203
|
if (specVersion === undefined) specVersion = await getSpecVersion(chainConnector, networkId);
|
6204
6204
|
const cacheKey = getCacheKey(networkId, specVersion);
|
6205
|
+
if (CACHE.has(cacheKey)) return CACHE.get(cacheKey);
|
6205
6206
|
const pResult = POOL.add(() => fetchMiniMetadatas(chainConnector, chaindataProvider, networkId, specVersion));
|
6206
6207
|
|
6207
6208
|
// keep the results in cache (unless call fails) as observables call this function a lot of times
|
@@ -6215,15 +6216,13 @@ const getMiniMetadatas = async (chainConnector, chaindataProvider, networkId, sp
|
|
6215
6216
|
});
|
6216
6217
|
}
|
6217
6218
|
};
|
6218
|
-
const fetchMiniMetadatas = async (chainConnector, chaindataProvider, chainId, specVersion
|
6219
|
+
const fetchMiniMetadatas = async (chainConnector, chaindataProvider, chainId, specVersion) => {
|
6219
6220
|
const start = performance.now();
|
6220
6221
|
log.info("[miniMetadata] fetching minimetadatas for %s", chainId);
|
6221
6222
|
try {
|
6222
6223
|
const network = await chaindataProvider.getNetworkById(chainId, "polkadot");
|
6223
6224
|
if (!network) throw new Error(`Network ${chainId} not found in chaindataProvider`);
|
6224
|
-
signal?.throwIfAborted();
|
6225
6225
|
const metadataRpc = await getMetadataRpc(chainConnector, chainId);
|
6226
|
-
signal?.throwIfAborted();
|
6227
6226
|
return Promise.all(BALANCE_MODULES.filter(m => m.platform === "polkadot").map(mod => mod.getMiniMetadata({
|
6228
6227
|
networkId: chainId,
|
6229
6228
|
metadataRpc,
|
@@ -6421,13 +6420,17 @@ class BalancesProvider {
|
|
6421
6420
|
miniMetadatas
|
6422
6421
|
}));
|
6423
6422
|
}));
|
6424
|
-
})
|
6423
|
+
}),
|
6424
|
+
// emit only when mini metadata changes, as a change here would restart all subscriptions for the network
|
6425
|
+
rxjs.distinctUntilChanged(lodashEs.isEqual));
|
6425
6426
|
}
|
6426
6427
|
getStoredMiniMetadatas$(miniMetadataIds) {
|
6427
6428
|
return this.storedMiniMetadataMapById$.pipe(rxjs.map(mapById => {
|
6428
6429
|
const miniMetadatas = miniMetadataIds.map(id => mapById[id]);
|
6429
6430
|
return miniMetadatas.length && miniMetadatas.every(util.isTruthy) ? miniMetadatas : null;
|
6430
|
-
})
|
6431
|
+
}),
|
6432
|
+
// source changes very often
|
6433
|
+
rxjs.distinctUntilChanged(lodashEs.isEqual));
|
6431
6434
|
}
|
6432
6435
|
getDefaultMiniMetadatas$(miniMetadataIds) {
|
6433
6436
|
return this.#chaindataProvider.miniMetadatasMapById$.pipe(rxjs.map(mapById => {
|
@@ -6193,6 +6193,7 @@ const POOL = new PQueue({
|
|
6193
6193
|
const getMiniMetadatas = async (chainConnector, chaindataProvider, networkId, specVersion) => {
|
6194
6194
|
if (specVersion === undefined) specVersion = await getSpecVersion(chainConnector, networkId);
|
6195
6195
|
const cacheKey = getCacheKey(networkId, specVersion);
|
6196
|
+
if (CACHE.has(cacheKey)) return CACHE.get(cacheKey);
|
6196
6197
|
const pResult = POOL.add(() => fetchMiniMetadatas(chainConnector, chaindataProvider, networkId, specVersion));
|
6197
6198
|
|
6198
6199
|
// keep the results in cache (unless call fails) as observables call this function a lot of times
|
@@ -6206,15 +6207,13 @@ const getMiniMetadatas = async (chainConnector, chaindataProvider, networkId, sp
|
|
6206
6207
|
});
|
6207
6208
|
}
|
6208
6209
|
};
|
6209
|
-
const fetchMiniMetadatas = async (chainConnector, chaindataProvider, chainId, specVersion
|
6210
|
+
const fetchMiniMetadatas = async (chainConnector, chaindataProvider, chainId, specVersion) => {
|
6210
6211
|
const start = performance.now();
|
6211
6212
|
log.info("[miniMetadata] fetching minimetadatas for %s", chainId);
|
6212
6213
|
try {
|
6213
6214
|
const network = await chaindataProvider.getNetworkById(chainId, "polkadot");
|
6214
6215
|
if (!network) throw new Error(`Network ${chainId} not found in chaindataProvider`);
|
6215
|
-
signal?.throwIfAborted();
|
6216
6216
|
const metadataRpc = await getMetadataRpc(chainConnector, chainId);
|
6217
|
-
signal?.throwIfAborted();
|
6218
6217
|
return Promise.all(BALANCE_MODULES.filter(m => m.platform === "polkadot").map(mod => mod.getMiniMetadata({
|
6219
6218
|
networkId: chainId,
|
6220
6219
|
metadataRpc,
|
@@ -6412,13 +6411,17 @@ class BalancesProvider {
|
|
6412
6411
|
miniMetadatas
|
6413
6412
|
}));
|
6414
6413
|
}));
|
6415
|
-
})
|
6414
|
+
}),
|
6415
|
+
// emit only when mini metadata changes, as a change here would restart all subscriptions for the network
|
6416
|
+
distinctUntilChanged(isEqual));
|
6416
6417
|
}
|
6417
6418
|
getStoredMiniMetadatas$(miniMetadataIds) {
|
6418
6419
|
return this.storedMiniMetadataMapById$.pipe(map(mapById => {
|
6419
6420
|
const miniMetadatas = miniMetadataIds.map(id => mapById[id]);
|
6420
6421
|
return miniMetadatas.length && miniMetadatas.every(isTruthy) ? miniMetadatas : null;
|
6421
|
-
})
|
6422
|
+
}),
|
6423
|
+
// source changes very often
|
6424
|
+
distinctUntilChanged(isEqual));
|
6422
6425
|
}
|
6423
6426
|
getDefaultMiniMetadatas$(miniMetadataIds) {
|
6424
6427
|
return this.#chaindataProvider.miniMetadatasMapById$.pipe(map(mapById => {
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@talismn/balances",
|
3
|
-
"version": "0.0.0-pr2075-
|
3
|
+
"version": "0.0.0-pr2075-20250710094113",
|
4
4
|
"author": "Talisman",
|
5
5
|
"homepage": "https://talisman.xyz",
|
6
6
|
"license": "GPL-3.0-or-later",
|
@@ -34,13 +34,13 @@
|
|
34
34
|
"scale-ts": "^1.6.1",
|
35
35
|
"viem": "^2.27.3",
|
36
36
|
"zod": "^3.25.62",
|
37
|
-
"@talismn/chain-connector": "0.0.0-pr2075-
|
38
|
-
"@talismn/chain-connector
|
39
|
-
"@talismn/chaindata-provider": "0.0.0-pr2075-
|
40
|
-
"@talismn/sapi": "0.0.0-pr2075-
|
41
|
-
"@talismn/
|
42
|
-
"@talismn/util": "0.0.0-pr2075-
|
43
|
-
"@talismn/
|
37
|
+
"@talismn/chain-connector-evm": "0.0.0-pr2075-20250710094113",
|
38
|
+
"@talismn/chain-connector": "0.0.0-pr2075-20250710094113",
|
39
|
+
"@talismn/chaindata-provider": "0.0.0-pr2075-20250710094113",
|
40
|
+
"@talismn/sapi": "0.0.0-pr2075-20250710094113",
|
41
|
+
"@talismn/scale": "0.0.0-pr2075-20250710094113",
|
42
|
+
"@talismn/util": "0.0.0-pr2075-20250710094113",
|
43
|
+
"@talismn/token-rates": "0.0.0-pr2075-20250710094113"
|
44
44
|
},
|
45
45
|
"devDependencies": {
|
46
46
|
"@polkadot/api-contract": "16.1.2",
|