@talismn/balances 0.0.0-pr2029-20250610024205 → 0.0.0-pr2032-20250610081842

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.
@@ -2,11 +2,10 @@
2
2
 
3
3
  var PromisePool = require('@supercharge/promise-pool');
4
4
  var chaindataProvider = require('@talismn/chaindata-provider');
5
- var scale = require('@talismn/scale');
5
+ var sapi = require('@talismn/sapi');
6
6
  var dexie = require('dexie');
7
7
  var isEqual = require('lodash/isEqual');
8
8
  var rxjs = require('rxjs');
9
- var scaleTs = require('scale-ts');
10
9
  var anylogger = require('anylogger');
11
10
  var tokenRates = require('@talismn/token-rates');
12
11
  var util = require('@talismn/util');
@@ -16,13 +15,14 @@ var utilCrypto = require('@polkadot/util-crypto');
16
15
  var pako = require('pako');
17
16
  var viem = require('viem');
18
17
  var txwrapperCore = require('@substrate/txwrapper-core');
18
+ var scale = require('@talismn/scale');
19
19
  var camelCase = require('lodash/camelCase');
20
20
  var types = require('@polkadot/types');
21
21
  var groupBy = require('lodash/groupBy');
22
22
  var utils = require('@polkadot-api/utils');
23
23
  var polkadotApi = require('polkadot-api');
24
24
  var chainConnector = require('@talismn/chain-connector');
25
- var sapi = require('@talismn/sapi');
25
+ var scaleTs = require('scale-ts');
26
26
  var upperFirst = require('lodash/upperFirst');
27
27
  var apiContract = require('@polkadot/api-contract');
28
28
  var lzString = require('lz-string');
@@ -1184,28 +1184,8 @@ class MiniMetadataUpdater {
1184
1184
  } = chain;
1185
1185
  if (specName === null) return;
1186
1186
  if (specVersion === null) return;
1187
- const fetchMetadata = async () => {
1188
- const errors = {
1189
- v15: null,
1190
- v14: null
1191
- };
1192
- try {
1193
- const response = await this.#chainConnectors.substrate?.send(chainId, "state_call", ["Metadata_metadata_at_version", scale.toHex(scaleTs.u32.enc(15))]);
1194
- const result = response ? scaleTs.Option(scaleTs.Bytes()).dec(response) : null;
1195
- if (result) return result;
1196
- } catch (v15Cause) {
1197
- errors.v15 = v15Cause;
1198
- }
1199
- try {
1200
- const response = await this.#chainConnectors.substrate?.send(chainId, "state_getMetadata", []);
1201
- if (response) return response;
1202
- } catch (v14Cause) {
1203
- errors.v14 = v14Cause;
1204
- }
1205
- log.warn(`Failed to fetch both metadata v15 and v14 for chain ${chainId}`, errors.v15, errors.v14);
1206
- return null;
1207
- };
1208
- const [metadataRpc, systemProperties] = await Promise.all([fetchMetadata(), this.#chainConnectors.substrate?.send(chainId, "system_properties", [])]);
1187
+ if (!this.#chainConnectors.substrate) return;
1188
+ const [metadataRpc, systemProperties] = await Promise.all([sapi.fetchBestMetadata((method, params, isCacheable) => this.#chainConnectors.substrate.send(chainId, method, params, isCacheable)), this.#chainConnectors.substrate.send(chainId, "system_properties", [])]);
1209
1189
  for (const mod of this.#balanceModules.filter(m => m.type.startsWith("substrate-"))) {
1210
1190
  const balancesConfig = (chain.balancesConfig ?? []).find(({
1211
1191
  moduleType
@@ -2,11 +2,10 @@
2
2
 
3
3
  var PromisePool = require('@supercharge/promise-pool');
4
4
  var chaindataProvider = require('@talismn/chaindata-provider');
5
- var scale = require('@talismn/scale');
5
+ var sapi = require('@talismn/sapi');
6
6
  var dexie = require('dexie');
7
7
  var isEqual = require('lodash/isEqual');
8
8
  var rxjs = require('rxjs');
9
- var scaleTs = require('scale-ts');
10
9
  var anylogger = require('anylogger');
11
10
  var tokenRates = require('@talismn/token-rates');
12
11
  var util = require('@talismn/util');
@@ -16,13 +15,14 @@ var utilCrypto = require('@polkadot/util-crypto');
16
15
  var pako = require('pako');
17
16
  var viem = require('viem');
18
17
  var txwrapperCore = require('@substrate/txwrapper-core');
18
+ var scale = require('@talismn/scale');
19
19
  var camelCase = require('lodash/camelCase');
20
20
  var types = require('@polkadot/types');
21
21
  var groupBy = require('lodash/groupBy');
22
22
  var utils = require('@polkadot-api/utils');
23
23
  var polkadotApi = require('polkadot-api');
24
24
  var chainConnector = require('@talismn/chain-connector');
25
- var sapi = require('@talismn/sapi');
25
+ var scaleTs = require('scale-ts');
26
26
  var upperFirst = require('lodash/upperFirst');
27
27
  var apiContract = require('@polkadot/api-contract');
28
28
  var lzString = require('lz-string');
@@ -1184,28 +1184,8 @@ class MiniMetadataUpdater {
1184
1184
  } = chain;
1185
1185
  if (specName === null) return;
1186
1186
  if (specVersion === null) return;
1187
- const fetchMetadata = async () => {
1188
- const errors = {
1189
- v15: null,
1190
- v14: null
1191
- };
1192
- try {
1193
- const response = await this.#chainConnectors.substrate?.send(chainId, "state_call", ["Metadata_metadata_at_version", scale.toHex(scaleTs.u32.enc(15))]);
1194
- const result = response ? scaleTs.Option(scaleTs.Bytes()).dec(response) : null;
1195
- if (result) return result;
1196
- } catch (v15Cause) {
1197
- errors.v15 = v15Cause;
1198
- }
1199
- try {
1200
- const response = await this.#chainConnectors.substrate?.send(chainId, "state_getMetadata", []);
1201
- if (response) return response;
1202
- } catch (v14Cause) {
1203
- errors.v14 = v14Cause;
1204
- }
1205
- log.warn(`Failed to fetch both metadata v15 and v14 for chain ${chainId}`, errors.v15, errors.v14);
1206
- return null;
1207
- };
1208
- const [metadataRpc, systemProperties] = await Promise.all([fetchMetadata(), this.#chainConnectors.substrate?.send(chainId, "system_properties", [])]);
1187
+ if (!this.#chainConnectors.substrate) return;
1188
+ const [metadataRpc, systemProperties] = await Promise.all([sapi.fetchBestMetadata((method, params, isCacheable) => this.#chainConnectors.substrate.send(chainId, method, params, isCacheable)), this.#chainConnectors.substrate.send(chainId, "system_properties", [])]);
1209
1189
  for (const mod of this.#balanceModules.filter(m => m.type.startsWith("substrate-"))) {
1210
1190
  const balancesConfig = (chain.balancesConfig ?? []).find(({
1211
1191
  moduleType
@@ -1,10 +1,9 @@
1
1
  import PromisePool$1, { PromisePool } from '@supercharge/promise-pool';
2
2
  import { fetchMiniMetadatas, fetchInitMiniMetadatas, availableTokenLogoFilenames, githubTokenLogoUrl } from '@talismn/chaindata-provider';
3
- import { toHex, unifyMetadata, decAnyMetadata, getDynamicBuilder, getLookupFn, getMetadataVersion, compactMetadata, encodeMetadata, decodeScale, encodeStateKey, papiParse } from '@talismn/scale';
3
+ import { fetchBestMetadata, getScaleApi } from '@talismn/sapi';
4
4
  import { Dexie, liveQuery } from 'dexie';
5
5
  import isEqual from 'lodash/isEqual';
6
6
  import { from, Observable, scan, share, map, switchAll, combineLatest, mergeMap, toArray, interval, startWith, exhaustMap, pipe, filter, shareReplay, combineLatestWith, distinctUntilChanged, firstValueFrom, BehaviorSubject, debounceTime, takeUntil, switchMap, withLatestFrom, concatMap } from 'rxjs';
7
- import { u32, Option, Bytes, u128, Struct } from 'scale-ts';
8
7
  import anylogger from 'anylogger';
9
8
  import { newTokenRates } from '@talismn/token-rates';
10
9
  import { isBigInt, BigMath, planckToTokens, isTruthy, isArrayOf, isEthereumAddress, hasOwnProperty, decodeAnyAddress, isNotNil, blake2Concat, firstThenDebounce, Deferred } from '@talismn/util';
@@ -14,13 +13,14 @@ import { xxhashAsU8a, blake2AsU8a } from '@polkadot/util-crypto';
14
13
  import pako from 'pako';
15
14
  import { parseAbi, isHex, hexToBigInt } from 'viem';
16
15
  import { defineMethod } from '@substrate/txwrapper-core';
16
+ import { unifyMetadata, decAnyMetadata, getDynamicBuilder, getLookupFn, getMetadataVersion, compactMetadata, encodeMetadata, decodeScale, encodeStateKey, papiParse } from '@talismn/scale';
17
17
  import camelCase from 'lodash/camelCase';
18
18
  import { Metadata, TypeRegistry } from '@polkadot/types';
19
19
  import groupBy from 'lodash/groupBy';
20
- import { mergeUint8, toHex as toHex$1 } from '@polkadot-api/utils';
20
+ import { mergeUint8, toHex } from '@polkadot-api/utils';
21
21
  import { Binary, AccountId } from 'polkadot-api';
22
22
  import { ChainConnectionError } from '@talismn/chain-connector';
23
- import { getScaleApi } from '@talismn/sapi';
23
+ import { u32, u128, Struct } from 'scale-ts';
24
24
  import upperFirst from 'lodash/upperFirst';
25
25
  import { Abi } from '@polkadot/api-contract';
26
26
  import { compressToEncodedURIComponent } from 'lz-string';
@@ -1171,28 +1171,8 @@ class MiniMetadataUpdater {
1171
1171
  } = chain;
1172
1172
  if (specName === null) return;
1173
1173
  if (specVersion === null) return;
1174
- const fetchMetadata = async () => {
1175
- const errors = {
1176
- v15: null,
1177
- v14: null
1178
- };
1179
- try {
1180
- const response = await this.#chainConnectors.substrate?.send(chainId, "state_call", ["Metadata_metadata_at_version", toHex(u32.enc(15))]);
1181
- const result = response ? Option(Bytes()).dec(response) : null;
1182
- if (result) return result;
1183
- } catch (v15Cause) {
1184
- errors.v15 = v15Cause;
1185
- }
1186
- try {
1187
- const response = await this.#chainConnectors.substrate?.send(chainId, "state_getMetadata", []);
1188
- if (response) return response;
1189
- } catch (v14Cause) {
1190
- errors.v14 = v14Cause;
1191
- }
1192
- log.warn(`Failed to fetch both metadata v15 and v14 for chain ${chainId}`, errors.v15, errors.v14);
1193
- return null;
1194
- };
1195
- const [metadataRpc, systemProperties] = await Promise.all([fetchMetadata(), this.#chainConnectors.substrate?.send(chainId, "system_properties", [])]);
1174
+ if (!this.#chainConnectors.substrate) return;
1175
+ const [metadataRpc, systemProperties] = await Promise.all([fetchBestMetadata((method, params, isCacheable) => this.#chainConnectors.substrate.send(chainId, method, params, isCacheable)), this.#chainConnectors.substrate.send(chainId, "system_properties", [])]);
1196
1176
  for (const mod of this.#balanceModules.filter(m => m.type.startsWith("substrate-"))) {
1197
1177
  const balancesConfig = (chain.balancesConfig ?? []).find(({
1198
1178
  moduleType
@@ -3847,7 +3827,7 @@ const SubForeignAssetsModule = hydrate => {
3847
3827
  const callData = Binary.fromBytes(mergeUint8([new Uint8Array(location), codec.enc(args)]));
3848
3828
  return {
3849
3829
  type: "substrate",
3850
- callData: toHex$1(callData.asBytes())
3830
+ callData: toHex(callData.asBytes())
3851
3831
  };
3852
3832
  } catch (cause) {
3853
3833
  throw new Error(`Failed to build ${moduleType$3} transfer tx`, {
@@ -7368,7 +7348,7 @@ const SubTokensModule = hydrate => {
7368
7348
  }
7369
7349
  return {
7370
7350
  type: "substrate",
7371
- callData: toHex$1(callData.asBytes())
7351
+ callData: toHex(callData.asBytes())
7372
7352
  };
7373
7353
  }
7374
7354
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talismn/balances",
3
- "version": "0.0.0-pr2029-20250610024205",
3
+ "version": "0.0.0-pr2032-20250610081842",
4
4
  "author": "Talisman",
5
5
  "homepage": "https://talisman.xyz",
6
6
  "license": "GPL-3.0-or-later",
@@ -34,13 +34,13 @@
34
34
  "rxjs": "^7.8.1",
35
35
  "scale-ts": "^1.6.1",
36
36
  "viem": "^2.27.3",
37
- "@talismn/chain-connector": "0.0.0-pr2029-20250610024205",
38
- "@talismn/sapi": "0.0.0-pr2029-20250610024205",
39
- "@talismn/chain-connector-evm": "0.0.0-pr2029-20250610024205",
40
- "@talismn/chaindata-provider": "0.0.0-pr2029-20250610024205",
41
- "@talismn/scale": "0.0.0-pr2029-20250610024205",
42
- "@talismn/token-rates": "0.0.0-pr2029-20250610024205",
43
- "@talismn/util": "0.0.0-pr2029-20250610024205"
37
+ "@talismn/chain-connector": "0.0.0-pr2032-20250610081842",
38
+ "@talismn/chain-connector-evm": "0.0.0-pr2032-20250610081842",
39
+ "@talismn/chaindata-provider": "0.0.0-pr2032-20250610081842",
40
+ "@talismn/sapi": "0.0.0-pr2032-20250610081842",
41
+ "@talismn/scale": "0.1.2",
42
+ "@talismn/token-rates": "0.0.0-pr2032-20250610081842",
43
+ "@talismn/util": "0.4.2"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@polkadot/api-contract": "16.1.2",