@talismn/balances 0.0.0-pr2030-20250610054533 → 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
|
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
|
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
|
-
|
1188
|
-
|
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
|
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
|
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
|
-
|
1188
|
-
|
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 {
|
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
|
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 {
|
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
|
-
|
1175
|
-
|
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
|
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
|
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-
|
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-
|
38
|
-
"@talismn/chain-connector-evm": "0.0.0-
|
39
|
-
"@talismn/chaindata-provider": "0.0.0-
|
40
|
-
"@talismn/sapi": "0.0.
|
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
41
|
"@talismn/scale": "0.1.2",
|
42
|
-
"@talismn/
|
43
|
-
"@talismn/
|
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",
|