@talismn/balances 0.0.0-pr2032-20250610083550 → 0.0.0-pr2033-20250610094153
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,10 +2,11 @@
|
|
2
2
|
|
3
3
|
var PromisePool = require('@supercharge/promise-pool');
|
4
4
|
var chaindataProvider = require('@talismn/chaindata-provider');
|
5
|
-
var
|
5
|
+
var scale = require('@talismn/scale');
|
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');
|
9
10
|
var anylogger = require('anylogger');
|
10
11
|
var tokenRates = require('@talismn/token-rates');
|
11
12
|
var util = require('@talismn/util');
|
@@ -15,14 +16,13 @@ var utilCrypto = require('@polkadot/util-crypto');
|
|
15
16
|
var pako = require('pako');
|
16
17
|
var viem = require('viem');
|
17
18
|
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 sapi = require('@talismn/sapi');
|
26
26
|
var upperFirst = require('lodash/upperFirst');
|
27
27
|
var apiContract = require('@polkadot/api-contract');
|
28
28
|
var lzString = require('lz-string');
|
@@ -1185,16 +1185,25 @@ class MiniMetadataUpdater {
|
|
1185
1185
|
if (specName === null) return;
|
1186
1186
|
if (specVersion === null) return;
|
1187
1187
|
const fetchMetadata = async () => {
|
1188
|
+
const errors = {
|
1189
|
+
v15: null,
|
1190
|
+
v14: null
|
1191
|
+
};
|
1188
1192
|
try {
|
1189
|
-
|
1190
|
-
|
1191
|
-
|
1192
|
-
|
1193
|
-
|
1194
|
-
} catch (err) {
|
1195
|
-
log.warn(`Failed to fetch metadata for chain ${chainId}`);
|
1196
|
-
return undefined;
|
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;
|
1197
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;
|
1198
1207
|
};
|
1199
1208
|
const [metadataRpc, systemProperties] = await Promise.all([fetchMetadata(), this.#chainConnectors.substrate?.send(chainId, "system_properties", [])]);
|
1200
1209
|
for (const mod of this.#balanceModules.filter(m => m.type.startsWith("substrate-"))) {
|
@@ -2,10 +2,11 @@
|
|
2
2
|
|
3
3
|
var PromisePool = require('@supercharge/promise-pool');
|
4
4
|
var chaindataProvider = require('@talismn/chaindata-provider');
|
5
|
-
var
|
5
|
+
var scale = require('@talismn/scale');
|
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');
|
9
10
|
var anylogger = require('anylogger');
|
10
11
|
var tokenRates = require('@talismn/token-rates');
|
11
12
|
var util = require('@talismn/util');
|
@@ -15,14 +16,13 @@ var utilCrypto = require('@polkadot/util-crypto');
|
|
15
16
|
var pako = require('pako');
|
16
17
|
var viem = require('viem');
|
17
18
|
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 sapi = require('@talismn/sapi');
|
26
26
|
var upperFirst = require('lodash/upperFirst');
|
27
27
|
var apiContract = require('@polkadot/api-contract');
|
28
28
|
var lzString = require('lz-string');
|
@@ -1185,16 +1185,25 @@ class MiniMetadataUpdater {
|
|
1185
1185
|
if (specName === null) return;
|
1186
1186
|
if (specVersion === null) return;
|
1187
1187
|
const fetchMetadata = async () => {
|
1188
|
+
const errors = {
|
1189
|
+
v15: null,
|
1190
|
+
v14: null
|
1191
|
+
};
|
1188
1192
|
try {
|
1189
|
-
|
1190
|
-
|
1191
|
-
|
1192
|
-
|
1193
|
-
|
1194
|
-
} catch (err) {
|
1195
|
-
log.warn(`Failed to fetch metadata for chain ${chainId}`);
|
1196
|
-
return undefined;
|
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;
|
1197
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;
|
1198
1207
|
};
|
1199
1208
|
const [metadataRpc, systemProperties] = await Promise.all([fetchMetadata(), this.#chainConnectors.substrate?.send(chainId, "system_properties", [])]);
|
1200
1209
|
for (const mod of this.#balanceModules.filter(m => m.type.startsWith("substrate-"))) {
|
@@ -1,9 +1,10 @@
|
|
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 { toHex, unifyMetadata, decAnyMetadata, getDynamicBuilder, getLookupFn, getMetadataVersion, compactMetadata, encodeMetadata, decodeScale, encodeStateKey, papiParse } from '@talismn/scale';
|
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';
|
7
8
|
import anylogger from 'anylogger';
|
8
9
|
import { newTokenRates } from '@talismn/token-rates';
|
9
10
|
import { isBigInt, BigMath, planckToTokens, isTruthy, isArrayOf, isEthereumAddress, hasOwnProperty, decodeAnyAddress, isNotNil, blake2Concat, firstThenDebounce, Deferred } from '@talismn/util';
|
@@ -13,14 +14,13 @@ import { xxhashAsU8a, blake2AsU8a } from '@polkadot/util-crypto';
|
|
13
14
|
import pako from 'pako';
|
14
15
|
import { parseAbi, isHex, hexToBigInt } from 'viem';
|
15
16
|
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 } from '@polkadot-api/utils';
|
20
|
+
import { mergeUint8, toHex as toHex$1 } from '@polkadot-api/utils';
|
21
21
|
import { Binary, AccountId } from 'polkadot-api';
|
22
22
|
import { ChainConnectionError } from '@talismn/chain-connector';
|
23
|
-
import {
|
23
|
+
import { getScaleApi } from '@talismn/sapi';
|
24
24
|
import upperFirst from 'lodash/upperFirst';
|
25
25
|
import { Abi } from '@polkadot/api-contract';
|
26
26
|
import { compressToEncodedURIComponent } from 'lz-string';
|
@@ -1172,16 +1172,25 @@ class MiniMetadataUpdater {
|
|
1172
1172
|
if (specName === null) return;
|
1173
1173
|
if (specVersion === null) return;
|
1174
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
|
+
}
|
1175
1186
|
try {
|
1176
|
-
|
1177
|
-
|
1178
|
-
|
1179
|
-
|
1180
|
-
);
|
1181
|
-
} catch (err) {
|
1182
|
-
log.warn(`Failed to fetch metadata for chain ${chainId}`);
|
1183
|
-
return undefined;
|
1187
|
+
const response = await this.#chainConnectors.substrate?.send(chainId, "state_getMetadata", []);
|
1188
|
+
if (response) return response;
|
1189
|
+
} catch (v14Cause) {
|
1190
|
+
errors.v14 = v14Cause;
|
1184
1191
|
}
|
1192
|
+
log.warn(`Failed to fetch both metadata v15 and v14 for chain ${chainId}`, errors.v15, errors.v14);
|
1193
|
+
return null;
|
1185
1194
|
};
|
1186
1195
|
const [metadataRpc, systemProperties] = await Promise.all([fetchMetadata(), this.#chainConnectors.substrate?.send(chainId, "system_properties", [])]);
|
1187
1196
|
for (const mod of this.#balanceModules.filter(m => m.type.startsWith("substrate-"))) {
|
@@ -3838,7 +3847,7 @@ const SubForeignAssetsModule = hydrate => {
|
|
3838
3847
|
const callData = Binary.fromBytes(mergeUint8([new Uint8Array(location), codec.enc(args)]));
|
3839
3848
|
return {
|
3840
3849
|
type: "substrate",
|
3841
|
-
callData: toHex(callData.asBytes())
|
3850
|
+
callData: toHex$1(callData.asBytes())
|
3842
3851
|
};
|
3843
3852
|
} catch (cause) {
|
3844
3853
|
throw new Error(`Failed to build ${moduleType$3} transfer tx`, {
|
@@ -7359,7 +7368,7 @@ const SubTokensModule = hydrate => {
|
|
7359
7368
|
}
|
7360
7369
|
return {
|
7361
7370
|
type: "substrate",
|
7362
|
-
callData: toHex(callData.asBytes())
|
7371
|
+
callData: toHex$1(callData.asBytes())
|
7363
7372
|
};
|
7364
7373
|
}
|
7365
7374
|
};
|
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-pr2033-20250610094153",
|
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
|
38
|
-
"@talismn/
|
39
|
-
"@talismn/
|
37
|
+
"@talismn/chain-connector": "0.0.0-pr2033-20250610094153",
|
38
|
+
"@talismn/chaindata-provider": "0.0.0-pr2033-20250610094153",
|
39
|
+
"@talismn/chain-connector-evm": "0.0.0-pr2033-20250610094153",
|
40
40
|
"@talismn/scale": "0.1.2",
|
41
|
-
"@talismn/
|
42
|
-
"@talismn/
|
43
|
-
"@talismn/
|
41
|
+
"@talismn/token-rates": "0.0.0-pr2033-20250610094153",
|
42
|
+
"@talismn/util": "0.4.2",
|
43
|
+
"@talismn/sapi": "0.0.4"
|
44
44
|
},
|
45
45
|
"devDependencies": {
|
46
46
|
"@polkadot/api-contract": "16.1.2",
|