@talismn/chaindata-provider 2.0.4 → 2.2.0

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/dist/index.mjs CHANGED
@@ -1,10 +1,10 @@
1
1
  import z, { z as z$1 } from "zod/v4";
2
2
  import LZString from "lz-string";
3
3
  import { assign, isEqual, keyBy, uniq, values } from "lodash-es";
4
- import { Dexie } from "dexie";
5
- import { arrayItemsEqualWithYield, createTimeSlicer, forEachWithYield, isNotNil, isPromise, keyByWithYield, mapWithYield, replaySubjectFrom, switchMapChunked, validateArrayWithYield } from "@talismn/util";
6
- import { Observable, combineLatest, distinctUntilChanged, distinctUntilKeyChanged, firstValueFrom, isObservable, map, of, shareReplay } from "rxjs";
7
4
  import anylogger from "anylogger";
5
+ import { Dexie } from "dexie";
6
+ import { arrayItemsEqualWithYield, createTimeSlicer, forEachWithYield, isAbortError, isNotNil, isPromise, keyByWithYield, mapWithYield, replaySubjectFrom, switchMapChunked, validateArrayWithYield } from "@talismn/util";
7
+ import { Observable, combineLatest, distinctUntilChanged, distinctUntilKeyChanged, filter, firstValueFrom, isObservable, map, of, retry, shareReplay, tap, timer } from "rxjs";
8
8
  //#region src/chaindata/shared/EthereumAddress.ts
9
9
  const EthereumAddressSchema = z.string().regex(/^0x[a-fA-F0-9]{40}$/, { message: "Invalid Ethereum address" }).transform((val) => val);
10
10
  //#endregion
@@ -601,13 +601,14 @@ const githubChaindataRepo = "chaindata";
601
601
  const githubChaindataBranch = CHAINDATA_BRANCH;
602
602
  const githubChaindataDistDir = CHAINDATA_PUB_FOLDER;
603
603
  const githubChaindataBaseUrl = `${githubCdn}/${githubChaindataOrg}/${githubChaindataRepo}/${githubChaindataBranch}`;
604
- const githubChaindataDistUrl = `${githubChaindataBaseUrl}/${githubChaindataDistDir}`;
604
+ const DEFAULT_CHAINDATA_URL = `${`${githubChaindataBaseUrl}/${githubChaindataDistDir}`}/chaindata.min.json`;
605
605
  const githubChaindataTokensAssetsDir = "assets/tokens";
606
606
  //#endregion
607
607
  //#region src/getBlockExplorerUrls.ts
608
608
  const getBlockExplorerUrls = (network, query) => {
609
609
  return uniq(network.blockExplorerUrls.map((explorerUrl) => getExplorerUrl(explorerUrl, query, network.rpcs?.[0])).filter(Boolean));
610
610
  };
611
+ const getBlockExplorerUrl = (network, query) => network ? getBlockExplorerUrls(network, query)[0] ?? null : null;
611
612
  const getExplorerUrl = (explorerUrl, query, rpcUrl) => {
612
613
  if (explorerUrl.includes("{RPC_URL}")) {
613
614
  if (!rpcUrl) return null;
@@ -719,6 +720,25 @@ const getBlockExplorerLabel = (blockExplorerUrl) => {
719
720
  return EXPLORER_BRANDS[host] ?? "Explorer";
720
721
  };
721
722
  //#endregion
723
+ //#region src/log.ts
724
+ var log_default = anylogger("@talismn/chaindata-provider");
725
+ //#endregion
726
+ //#region src/isAccountPlatformCompatibleWithNetwork.ts
727
+ const isAccountPlatformCompatibleWithNetwork = (network, platform) => {
728
+ switch (network.platform) {
729
+ case "ethereum": return platform === "ethereum";
730
+ case "solana": return platform === "solana";
731
+ case "polkadot": switch (network.account) {
732
+ case "secp256k1": return platform === "ethereum";
733
+ case "*25519": return platform === "polkadot";
734
+ default: throw new Error(`Unsupported polkadot network account type ${network.account}`);
735
+ }
736
+ default:
737
+ log_default.warn("Unsupported network platform", network);
738
+ throw new Error("Unsupported network platform");
739
+ }
740
+ };
741
+ //#endregion
722
742
  //#region src/upgrades/2024-01-25-upgradeAddIsDefaultToExistingChains.ts
723
743
  const upgradeAddIsDefaultToExistingChains = async (tx) => {
724
744
  const chainsTable = tx.table("chains");
@@ -796,9 +816,6 @@ var TalismanChaindataDatabase = class extends Dexie {
796
816
  /** @deprecated */
797
817
  const getChaindataDbV3 = () => new TalismanChaindataDatabase();
798
818
  //#endregion
799
- //#region src/log.ts
800
- var log_default = anylogger("@talismn/chaindata-provider");
801
- //#endregion
802
819
  //#region src/state/chunkedValidation.ts
803
820
  const getSlicer = (options) => options?.slicer ?? createTimeSlicer({
804
821
  budgetMs: options?.budgetMs,
@@ -1039,94 +1056,6 @@ const getCleanToken = (token) => {
1039
1056
  return rest;
1040
1057
  };
1041
1058
  //#endregion
1042
- //#region src/state/validatedCache.ts
1043
- /**
1044
- * Tracks objects that have already passed chaindata schema validation, so the expensive
1045
- * validation (thousands of tokens) runs at most ONCE per object instead of on every
1046
- * emission through the pipeline.
1047
- *
1048
- * Safe because parse output is immutable-by-convention in this package, and re-parsing
1049
- * already-parsed data is idempotent (defaults filled, token key order already applied).
1050
- */
1051
- const validated = /* @__PURE__ */ new WeakSet();
1052
- const markChaindataValidated = (data) => {
1053
- validated.add(data);
1054
- return data;
1055
- };
1056
- const isChaindataValidated = (data) => typeof data === "object" && data !== null && validated.has(data);
1057
- //#endregion
1058
- //#region src/state/net.ts
1059
- const CHAINDATA_CONSOLIDATED_URL = `${githubChaindataDistUrl}/chaindata.min.json`;
1060
- const getFallbackUrl = (url) => {
1061
- if (url.startsWith("https://raw.githubusercontent.com/")) {
1062
- const fallbackUrl = url.replace(/^https:\/\/raw\.githubusercontent\.com\/([^/]+)\/([^/]+)\//i, "https://cdn.jsdelivr.net/gh/$1/$2@");
1063
- return fallbackUrl !== url ? fallbackUrl : null;
1064
- }
1065
- return null;
1066
- };
1067
- const fetchJsonFromGithubUrl = async (url, { signal, validate } = {}) => {
1068
- const req = await fetch(url, { signal });
1069
- if (!req.ok) {
1070
- const fallbackUrl = getFallbackUrl(url);
1071
- if (fallbackUrl) return fetchJsonFromGithubUrl(fallbackUrl, {
1072
- validate,
1073
- signal
1074
- });
1075
- throw new Error(`Failed to fetch from ${url}: ${req.status} ${req.statusText}`);
1076
- }
1077
- const data = await req.json();
1078
- if (validate) {
1079
- const start = performance.now();
1080
- const result = await validate(data, signal);
1081
- log_default.debug(`[ChaindataProvider] Validating downloaded ${url?.split("/").pop()} took ${performance.now() - start} ms`);
1082
- if (!result.success) {
1083
- log_default.error("Failed to parse data from", url, { error: result.error });
1084
- throw new Error(`Schema validation failed for ${url}`);
1085
- }
1086
- return result.data;
1087
- }
1088
- return data;
1089
- };
1090
- const fetchChaindata = (signal) => fetchJsonFromGithubUrl(CHAINDATA_CONSOLIDATED_URL, {
1091
- validate: async (data, signal) => {
1092
- const result = await parseChaindataFileChunked(data, { signal });
1093
- if (result.success) markChaindataValidated(result.data);
1094
- return result;
1095
- },
1096
- signal
1097
- });
1098
- //#endregion
1099
- //#region src/state/githubChaindata.ts
1100
- const REFRESH_INTERVAL = 3e5;
1101
- let lastUpdatedAt = 0;
1102
- const githubChaindata$ = new Observable((subscriber) => {
1103
- const controller = new AbortController();
1104
- subscriber.add(() => controller.abort());
1105
- let timeout = null;
1106
- subscriber.add(() => timeout && clearTimeout(timeout));
1107
- const refresh = async () => {
1108
- try {
1109
- const delay = Math.max(0, lastUpdatedAt + 6e4 - Date.now());
1110
- if (delay > 0) await new Promise((resolve) => setTimeout(resolve, delay));
1111
- if (controller.signal.aborted) return;
1112
- log_default.debug("[defaultChaindata$] Refreshing chaindata from GitHub");
1113
- const data = await fetchChaindata(controller.signal);
1114
- lastUpdatedAt = Date.now();
1115
- subscriber.next(data);
1116
- } catch (error) {
1117
- if (error instanceof Error && error.name === "AbortError") return;
1118
- log_default.error("Failed to fetch chaindata", error);
1119
- if (!subscriber.closed) subscriber.error(error);
1120
- } finally {
1121
- if (!controller.signal.aborted) timeout = setTimeout(refresh, REFRESH_INTERVAL);
1122
- }
1123
- };
1124
- refresh();
1125
- }).pipe(shareReplay({
1126
- bufferSize: 1,
1127
- refCount: true
1128
- }));
1129
- //#endregion
1130
1059
  //#region src/state/initChaindata.json
1131
1060
  var initChaindata_default = {
1132
1061
  networks: [
@@ -1147,11 +1076,11 @@ var initChaindata_default = {
1147
1076
  "blockExplorerUrls": ["https://etherscan.io"],
1148
1077
  "platform": "ethereum",
1149
1078
  "rpcs": [
1150
- "https://ethereum-rpc.publicnode.com",
1151
- "https://eth.merkle.io",
1152
1079
  "https://mempool.merkle.io/rpc/eth/pk_mbs_1412a7392bd47753ca2b4bb3d123f6a1",
1080
+ "https://ethereum-rpc.publicnode.com",
1081
+ "https://xrpc.cl/eth",
1153
1082
  "https://one.valve.city/rpc/vk_demo/evm/1",
1154
- "https://rpc.mevblocker.io"
1083
+ "https://public.1rpc.io/eth"
1155
1084
  ],
1156
1085
  "feeType": "eip-1559",
1157
1086
  "contracts": {
@@ -1210,7 +1139,7 @@ var initChaindata_default = {
1210
1139
  "https://bsc-dataseed2.binance.org",
1211
1140
  "https://bsc-dataseed3.binance.org",
1212
1141
  "https://bsc-dataseed4.binance.org",
1213
- "https://public.1rpc.io/bnb"
1142
+ "https://xrpc.cl/bsc"
1214
1143
  ],
1215
1144
  "contracts": {
1216
1145
  "Erc20Aggregator": "0x21741D68121db79Fd1e9eA34028D3B2e87056DBd",
@@ -1235,10 +1164,10 @@ var initChaindata_default = {
1235
1164
  "platform": "ethereum",
1236
1165
  "rpcs": [
1237
1166
  "https://mempool.merkle.io/rpc/polygon/pk_mbs_1412a7392bd47753ca2b4bb3d123f6a1",
1167
+ "https://xrpc.cl/polygon",
1238
1168
  "https://public.1rpc.io/matic",
1239
1169
  "https://polygon-bor-rpc.publicnode.com",
1240
- "https://polygon.drpc.org",
1241
- "https://poly.api.pocket.network"
1170
+ "https://polygon.drpc.org"
1242
1171
  ],
1243
1172
  "contracts": {
1244
1173
  "Erc20Aggregator": "0xb1EFd1407104Cf00F7b9983C1Fa474A2702B5874",
@@ -1266,8 +1195,8 @@ var initChaindata_default = {
1266
1195
  "https://moonbeam.api.onfinality.io/public",
1267
1196
  "https://rpc.api.moonbeam.network",
1268
1197
  "https://moonbeam-rpc.publicnode.com",
1269
- "https://public.1rpc.io/glmr",
1270
- "https://moonbeam.drpc.org"
1198
+ "https://moonbeam.drpc.org",
1199
+ "https://moonbeam.api.pocket.network"
1271
1200
  ],
1272
1201
  "contracts": {
1273
1202
  "Erc20Aggregator": "0x294063B3727d6eE918100693e76fdADee90c8B51",
@@ -1294,8 +1223,8 @@ var initChaindata_default = {
1294
1223
  "https://mempool.merkle.io/rpc/base/pk_mbs_1412a7392bd47753ca2b4bb3d123f6a1",
1295
1224
  "https://base.publicnode.com",
1296
1225
  "https://developer-access-mainnet.base.org/",
1297
- "https://public.1rpc.io/base",
1298
- "https://base.meowrpc.com"
1226
+ "https://xrpc.cl/base",
1227
+ "https://public.1rpc.io/base"
1299
1228
  ],
1300
1229
  "feeType": "eip-1559",
1301
1230
  "l2FeeType": { "type": "op-stack" },
@@ -1321,11 +1250,11 @@ var initChaindata_default = {
1321
1250
  "blockExplorerUrls": ["https://arbiscan.io/"],
1322
1251
  "platform": "ethereum",
1323
1252
  "rpcs": [
1324
- "https://mempool.merkle.io/rpc/arbitrum/pk_mbs_1412a7392bd47753ca2b4bb3d123f6a1",
1325
1253
  "https://arb1.arbitrum.io/rpc",
1254
+ "https://mempool.merkle.io/rpc/arbitrum/pk_mbs_1412a7392bd47753ca2b4bb3d123f6a1",
1255
+ "https://xrpc.cl/arbitrum",
1326
1256
  "https://public.1rpc.io/arb",
1327
- "https://arbitrum-one-rpc.publicnode.com",
1328
- "https://arbitrum.meowrpc.com"
1257
+ "https://arbitrum-one-rpc.publicnode.com"
1329
1258
  ],
1330
1259
  "contracts": {
1331
1260
  "Erc20Aggregator": "0x180c2f0A65788258524Ab1e5c3c398EC46211b89",
@@ -1384,7 +1313,7 @@ var initChaindata_default = {
1384
1313
  "platform": "polkadot",
1385
1314
  "chainName": "Bittensor",
1386
1315
  "specName": "node-subtensor",
1387
- "specVersion": 468,
1316
+ "specVersion": 475,
1388
1317
  "account": "*25519",
1389
1318
  "chainspecQrUrl": "https://metadata.novasama.io/qr/node-subtensor_specs.png",
1390
1319
  "latestMetadataQrUrl": "https://metadata.novasama.io/qr/node-subtensor_metadata_latest.apng",
@@ -1417,7 +1346,7 @@ var initChaindata_default = {
1417
1346
  "platform": "polkadot",
1418
1347
  "chainName": "Hydration",
1419
1348
  "specName": "hydradx",
1420
- "specVersion": 443,
1349
+ "specVersion": 447,
1421
1350
  "account": "*25519",
1422
1351
  "chainspecQrUrl": "https://metadata.novasama.io/qr/polkadot-hydradx_specs.png",
1423
1352
  "latestMetadataQrUrl": "https://metadata.novasama.io/qr/polkadot-hydradx_metadata_latest.apng",
@@ -2875,12 +2804,12 @@ var initChaindata_default = {
2875
2804
  "type": "substrate-dtao",
2876
2805
  "symbol": "Ա",
2877
2806
  "decimals": 9,
2878
- "name": "SN103 | Capcomp Ա",
2807
+ "name": "SN103 | Deprecated Ա",
2879
2808
  "coingeckoId": "happyai-2",
2880
- "logo": "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/assets/tokens/dtao/bittensor-sn103-06662e38.webp",
2809
+ "logo": "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/assets/tokens/coingecko/happyai-2.webp",
2881
2810
  "isDefault": true,
2882
2811
  "netuid": 103,
2883
- "subnetName": "Capcomp",
2812
+ "subnetName": "Deprecated",
2884
2813
  "isTransferable": true
2885
2814
  },
2886
2815
  {
@@ -2948,14 +2877,14 @@ var initChaindata_default = {
2948
2877
  "platform": "polkadot",
2949
2878
  "networkId": "bittensor",
2950
2879
  "type": "substrate-dtao",
2951
- "symbol": "Զ",
2880
+ "symbol": "モ",
2952
2881
  "decimals": 9,
2953
- "name": "SN108 | Subnet 108 Զ",
2882
+ "name": "SN108 | ChipForge モ",
2954
2883
  "coingeckoId": "internet-of-intelligence",
2955
- "logo": "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/assets/tokens/coingecko/internet-of-intelligence.webp",
2884
+ "logo": "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/assets/tokens/dtao/bittensor-sn108-2d3efb90.webp",
2956
2885
  "isDefault": true,
2957
2886
  "netuid": 108,
2958
- "subnetName": "Subnet 108",
2887
+ "subnetName": "ChipForge",
2959
2888
  "isTransferable": true
2960
2889
  },
2961
2890
  {
@@ -3085,12 +3014,12 @@ var initChaindata_default = {
3085
3014
  "type": "substrate-dtao",
3086
3015
  "symbol": "ъ",
3087
3016
  "decimals": 9,
3088
- "name": "SN116 | Memo ъ",
3017
+ "name": "SN116 | Carbon ъ",
3089
3018
  "coingeckoId": "solmev",
3090
- "logo": "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/assets/tokens/coingecko/solmev.webp",
3019
+ "logo": "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/assets/tokens/dtao/bittensor-sn116-665ce7b0.webp",
3091
3020
  "isDefault": true,
3092
3021
  "netuid": 116,
3093
- "subnetName": "Memo",
3022
+ "subnetName": "Carbon",
3094
3023
  "isTransferable": true
3095
3024
  },
3096
3025
  {
@@ -3837,7 +3766,7 @@ var initChaindata_default = {
3837
3766
  "decimals": 9,
3838
3767
  "name": "SN46 | Instant ץ",
3839
3768
  "coingeckoId": "neural3d",
3840
- "logo": "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/assets/tokens/dtao/bittensor-sn46-f9bf66b8.webp",
3769
+ "logo": "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/assets/tokens/dtao/bittensor-sn46-7b42deae.webp",
3841
3770
  "isDefault": true,
3842
3771
  "netuid": 46,
3843
3772
  "subnetName": "Instant",
@@ -4030,12 +3959,12 @@ var initChaindata_default = {
4030
3959
  "type": "substrate-dtao",
4031
3960
  "symbol": "خ",
4032
3961
  "decimals": 9,
4033
- "name": "SN58 | خ",
3962
+ "name": "SN58 | Attune خ",
4034
3963
  "coingeckoId": "dippy-speech",
4035
- "logo": "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/assets/tokens/coingecko/dippy-speech.webp",
3964
+ "logo": "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/assets/tokens/dtao/bittensor-sn58-72a691bd.webp",
4036
3965
  "isDefault": true,
4037
3966
  "netuid": 58,
4038
- "subnetName": "",
3967
+ "subnetName": "Attune",
4039
3968
  "isTransferable": true
4040
3969
  },
4041
3970
  {
@@ -4316,7 +4245,7 @@ var initChaindata_default = {
4316
4245
  "decimals": 9,
4317
4246
  "name": "SN75 | Hippius م",
4318
4247
  "coingeckoId": "hippius",
4319
- "logo": "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/assets/tokens/dtao/bittensor-sn75-de9d371a.webp",
4248
+ "logo": "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/assets/tokens/dtao/bittensor-sn75-9613c7e6.webp",
4320
4249
  "isDefault": true,
4321
4250
  "netuid": 75,
4322
4251
  "subnetName": "Hippius",
@@ -4331,7 +4260,7 @@ var initChaindata_default = {
4331
4260
  "decimals": 9,
4332
4261
  "name": "SN76 | Ormas ن",
4333
4262
  "coingeckoId": "safe-scan",
4334
- "logo": "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/assets/tokens/dtao/bittensor-sn76-288800a1.webp",
4263
+ "logo": "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/assets/tokens/dtao/bittensor-sn76-b912954f.webp",
4335
4264
  "isDefault": true,
4336
4265
  "netuid": 76,
4337
4266
  "subnetName": "Ormas",
@@ -4434,12 +4363,12 @@ var initChaindata_default = {
4434
4363
  "type": "substrate-dtao",
4435
4364
  "symbol": "ᚢ",
4436
4365
  "decimals": 9,
4437
- "name": "SN82 | Compelle ᚢ",
4366
+ "name": "SN82 | Subnet 82 ᚢ",
4438
4367
  "coingeckoId": "hermes-3",
4439
- "logo": "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/assets/tokens/dtao/bittensor-sn82-311e5dc2.webp",
4368
+ "logo": "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/assets/tokens/coingecko/hermes-3.webp",
4440
4369
  "isDefault": true,
4441
4370
  "netuid": 82,
4442
- "subnetName": "Compelle",
4371
+ "subnetName": "Subnet 82",
4443
4372
  "isTransferable": true
4444
4373
  },
4445
4374
  {
@@ -4628,12 +4557,12 @@ var initChaindata_default = {
4628
4557
  "type": "substrate-dtao",
4629
4558
  "symbol": "ᚄ",
4630
4559
  "decimals": 9,
4631
- "name": "SN94 | pending... ᚄ",
4560
+ "name": "SN94 | Cathedral ᚄ",
4632
4561
  "coingeckoId": "eastworld",
4633
- "logo": "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/assets/tokens/coingecko/eastworld.webp",
4562
+ "logo": "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/assets/tokens/dtao/bittensor-sn94-a225b676.webp",
4634
4563
  "isDefault": true,
4635
4564
  "netuid": 94,
4636
- "subnetName": "pending...",
4565
+ "subnetName": "Cathedral",
4637
4566
  "isTransferable": true
4638
4567
  },
4639
4568
  {
@@ -5239,6 +5168,62 @@ var initChaindata_default = {
5239
5168
  "isSufficient": true,
5240
5169
  "existentialDeposit": "10000000000000"
5241
5170
  },
5171
+ {
5172
+ "id": "hydradx:substrate-hydration:1001355",
5173
+ "platform": "polkadot",
5174
+ "networkId": "hydradx",
5175
+ "type": "substrate-hydration",
5176
+ "symbol": "HYPE",
5177
+ "decimals": 18,
5178
+ "name": "Hyperliquid",
5179
+ "isDefault": true,
5180
+ "onChainId": 1001355,
5181
+ "assetType": "Token",
5182
+ "isSufficient": true,
5183
+ "existentialDeposit": "114285714285714"
5184
+ },
5185
+ {
5186
+ "id": "hydradx:substrate-hydration:1001356",
5187
+ "platform": "polkadot",
5188
+ "networkId": "hydradx",
5189
+ "type": "substrate-hydration",
5190
+ "symbol": "SPY",
5191
+ "decimals": 18,
5192
+ "name": "SPY",
5193
+ "isDefault": true,
5194
+ "onChainId": 1001356,
5195
+ "assetType": "Token",
5196
+ "isSufficient": true,
5197
+ "existentialDeposit": "13061480386097"
5198
+ },
5199
+ {
5200
+ "id": "hydradx:substrate-hydration:1001357",
5201
+ "platform": "polkadot",
5202
+ "networkId": "hydradx",
5203
+ "type": "substrate-hydration",
5204
+ "symbol": "ZEC",
5205
+ "decimals": 8,
5206
+ "name": "Zcash (Wormhole)",
5207
+ "isDefault": true,
5208
+ "onChainId": 1001357,
5209
+ "assetType": "Token",
5210
+ "isSufficient": true,
5211
+ "existentialDeposit": "674"
5212
+ },
5213
+ {
5214
+ "id": "hydradx:substrate-hydration:1001358",
5215
+ "platform": "polkadot",
5216
+ "networkId": "hydradx",
5217
+ "type": "substrate-hydration",
5218
+ "symbol": "NEAR",
5219
+ "decimals": 24,
5220
+ "name": "NEAR (Wormhole)",
5221
+ "isDefault": true,
5222
+ "onChainId": 1001358,
5223
+ "assetType": "Token",
5224
+ "isSufficient": true,
5225
+ "existentialDeposit": "2074688796680497925311"
5226
+ },
5242
5227
  {
5243
5228
  "id": "hydradx:substrate-hydration:1002",
5244
5229
  "platform": "polkadot",
@@ -6734,6 +6719,22 @@ var initChaindata_default = {
6734
6719
  "isSufficient": false,
6735
6720
  "existentialDeposit": "1"
6736
6721
  },
6722
+ {
6723
+ "id": "polkadot-asset-hub:substrate-assets:7873",
6724
+ "platform": "polkadot",
6725
+ "networkId": "polkadot-asset-hub",
6726
+ "type": "substrate-assets",
6727
+ "symbol": "dotUSD",
6728
+ "decimals": 6,
6729
+ "name": "dotUSD",
6730
+ "coingeckoId": "dotusd",
6731
+ "logo": "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/assets/tokens/dotusd.svg",
6732
+ "isDefault": true,
6733
+ "assetId": "7873",
6734
+ "isFrozen": false,
6735
+ "isSufficient": true,
6736
+ "existentialDeposit": "10000"
6737
+ },
6737
6738
  {
6738
6739
  "id": "polkadot-asset-hub:substrate-foreignassets:N4IgDghgTgpgdgFwM4gFwCYA0ICWiZQ4D2UaoCAnmDGiABoCMI2AbhADYCuNq5VPIAOLsiAIw4BhInCTwknFKw7cyIStVoBpBRAC2EEAF9jhoA",
6739
6740
  "platform": "polkadot",
@@ -6923,6 +6924,22 @@ var initChaindata_default = {
6923
6924
  "isSufficient": false,
6924
6925
  "existentialDeposit": "1"
6925
6926
  },
6927
+ {
6928
+ "id": "polkadot-asset-hub:substrate-foreignassets:N4IgDghgTgpgdgFwM4gFwCYA0ICWiZQ4D2UaoCAnmDGiABrojYBuEANgK42oDa5V3EAHE2RAEbsAwkThJ4SDihbsuZEJWq0AoggAWBGBwC2TEK07dQAY10Q8AfRwATWmJwBzPAlQBGEAF9AzH5NVBAAQSsrIg5EAGkYCnQABlNzVVRQAGtE2mSADx8ICRgIHwAzAHYrAA4AZmSxJxqATggogDZKmCsAFghygFYfDvQa3rEfMSs6uqsA-wBdQKA",
6929
+ "platform": "polkadot",
6930
+ "networkId": "polkadot-asset-hub",
6931
+ "type": "substrate-foreignassets",
6932
+ "symbol": "EURC.e",
6933
+ "decimals": 6,
6934
+ "name": "Euro Coin",
6935
+ "coingeckoId": "euro-coin",
6936
+ "logo": "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/assets/tokens/coingecko/euro-coin.webp",
6937
+ "isDefault": true,
6938
+ "onChainId": "{\"parents\":2,\"interior\":{\"type\":\"X2\",\"value\":[{\"type\":\"GlobalConsensus\",\"value\":{\"type\":\"Ethereum\",\"value\":{\"chain_id\":\"bigint:1\"}}},{\"type\":\"AccountKey20\",\"value\":{\"key\":\"0x1abaea1f7c830bd89acc67ec4af516284b1bc33c\"}}]}}",
6939
+ "isFrozen": false,
6940
+ "isSufficient": false,
6941
+ "existentialDeposit": "1"
6942
+ },
6926
6943
  {
6927
6944
  "id": "polkadot-asset-hub:substrate-foreignassets:N4IgDghgTgpgdgFwM4gFwCYA0ICWiZQ4D2UaoCAnmDGiABrojYBuEANgK42oDa5V3EAHE2RAEbsAwkThJ4SDihbsuZEJWq0AoggAWBGBwC2TEK07dQAY10Q8AfRwATWmJwBzPAlQBGEAF9AzH5NVBAAQSsrIg5EAGkYCnQABlNzVVRQAGtE2mSADycIKx8AdgAzAE4AVgAOJ3QYGGr0AGYIdBSANm7KyoAWasrSktanWtafGCtSgP8AXUCgA",
6928
6945
  "platform": "polkadot",
@@ -7953,15 +7970,6 @@ var initChaindata_default = {
7953
7970
  }
7954
7971
  ],
7955
7972
  miniMetadatas: [
7956
- {
7957
- "id": "01b1edb9acbd7f7aed619cf0328aeb66",
7958
- "source": "substrate-dtao",
7959
- "chainId": "hydradx",
7960
- "specVersion": 443,
7961
- "version": "v14",
7962
- "data": null,
7963
- "extra": null
7964
- },
7965
7973
  {
7966
7974
  "id": "04bc73de99c93d14ddcfe3dce06eafa0",
7967
7975
  "source": "substrate-tokens",
@@ -7980,33 +7988,6 @@ var initChaindata_default = {
7980
7988
  "data": "0x6d6574610f40000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c00000400001000000208001400000505001800000507001c0000050000200c3470616c6c65745f61737365747314747970657330417373657444657461696c730c1c42616c616e63650118244163636f756e7449640100384465706f73697442616c616e63650118003001146f776e65720001244163636f756e7449640001186973737565720001244163636f756e74496400011461646d696e0001244163636f756e74496400011c667265657a65720001244163636f756e744964000118737570706c7918011c42616c616e636500011c6465706f7369741801384465706f73697442616c616e636500012c6d696e5f62616c616e636518011c42616c616e636500013469735f73756666696369656e741c0110626f6f6c0001206163636f756e747314010c75333200012c73756666696369656e747314010c753332000124617070726f76616c7314010c75333200011873746174757324012c41737365745374617475730000240c3470616c6c65745f6173736574731474797065732c417373657453746174757300010c104c6976650000001846726f7a656e0001002844657374726f79696e670002000028000004081400002c0c3470616c6c65745f6173736574731474797065733041737365744163636f756e74101c42616c616e63650118384465706f73697442616c616e63650118144578747261010c244163636f756e74496401000010011c62616c616e636518011c42616c616e63650001187374617475733001344163636f756e74537461747573000118726561736f6e3401a84578697374656e6365526561736f6e3c4465706f73697442616c616e63652c204163636f756e7449643e00011465787472610c011445787472610000300c3470616c6c65745f617373657473147479706573344163636f756e7453746174757300010c184c69717569640000001846726f7a656e0001001c426c6f636b656400020000340c3470616c6c65745f6173736574731474797065733c4578697374656e6365526561736f6e081c42616c616e63650118244163636f756e7449640100011420436f6e73756d65720000002853756666696369656e740001002c4465706f73697448656c64040018011c42616c616e63650002003c4465706f736974526566756e6465640003002c4465706f73697446726f6d08000001244163636f756e744964000018011c42616c616e636500040000380c3470616c6c65745f6173736574731474797065733441737365744d6574616461746108384465706f73697442616c616e6365011834426f756e646564537472696e67013c0014011c6465706f7369741801384465706f73697442616c616e63650001106e616d653c0134426f756e646564537472696e6700011873796d626f6c3c0134426f756e646564537472696e67000120646563696d616c73080108753800012469735f66726f7a656e1c0110626f6f6c00003c0c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004001001185665633c543e0000041841737365747301184173736574730c144173736574000104021420040004542044657461696c73206f6620616e2061737365742e1c4163636f756e740001080202282c040004e42054686520686f6c64696e6773206f662061207370656369666963206163636f756e7420666f7220612073706563696669632061737365742e204d657461646174610101040214385000000000000000000000000000000000000000000458204d65746164617461206f6620616e2061737365742e00000000320004000000000011040000000000",
7981
7989
  "extra": null
7982
7990
  },
7983
- {
7984
- "id": "0a0bdc70680c0730386b11b24f4e08fc",
7985
- "source": "substrate-psp22",
7986
- "chainId": "hydradx",
7987
- "specVersion": 443,
7988
- "version": "v14",
7989
- "data": null,
7990
- "extra": null
7991
- },
7992
- {
7993
- "id": "0acc3fbdafb783795db768b071b1718a",
7994
- "source": "substrate-tokens",
7995
- "chainId": "bittensor",
7996
- "specVersion": 468,
7997
- "version": "v14",
7998
- "data": null,
7999
- "extra": { "palletId": "Tokens" }
8000
- },
8001
- {
8002
- "id": "1062e1ad5a3bfa10a7452cfb7cef81ac",
8003
- "source": "substrate-tokens",
8004
- "chainId": "hydradx",
8005
- "specVersion": 443,
8006
- "version": "v14",
8007
- "data": "0x6d6574610f1c000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c00000505001000000507001400000408000c0018082c6f726d6c5f746f6b656e732c4163636f756e7444617461041c42616c616e63650110000c01106672656510011c42616c616e6365000120726573657276656410011c42616c616e636500011866726f7a656e10011c42616c616e636500000418546f6b656e730118546f6b656e7304204163636f756e747301010802051418c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018b8205468652062616c616e6365206f66206120746f6b656e207479706520756e64657220616e206163636f756e742e00fc204e4f54453a2049662074686520746f74616c2069732065766572207a65726f2c206465637265617365206163636f756e7420726566206163636f756e742e001901204e4f54453a2054686973206973206f6e6c79207573656420696e20746865206361736520746861742074686973206d6f64756c65206973207573656420746f2073746f7265282062616c616e6365732e000000004d000400000000007d0f0000000000",
8008
- "extra": { "palletId": "Tokens" }
8009
- },
8010
7991
  {
8011
7992
  "id": "118f77fb10d76093f750a3f54c3b38a3",
8012
7993
  "source": "substrate-psp22",
@@ -8016,15 +7997,6 @@ var initChaindata_default = {
8016
7997
  "data": null,
8017
7998
  "extra": null
8018
7999
  },
8019
- {
8020
- "id": "16d6d64cf6e41b0fa53253cdcea2641d",
8021
- "source": "substrate-dtao",
8022
- "chainId": "bittensor",
8023
- "specVersion": 468,
8024
- "version": "v14",
8025
- "data": "0x6d6574610fc8000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c0000050500100c6073756274656e736f725f72756e74696d655f636f6d6d6f6e2063757272656e63792854616f42616c616e63650000040014010c75363400001400000506001800000507001c000005000020000006140024000002080028086073756274656e736f725f72756e74696d655f636f6d6d6f6e184e6574556964000004002c010c75313600002c0000050400300c6073756274656e736f725f72756e74696d655f636f6d6d6f6e2063757272656e637930416c70686142616c616e63650000040014010c753634000034000006280038083c7375627374726174655f666978656424466978656455313238041046726163013c00040110626974731801107531323800003c0c447375627374726174655f747970656e756d1075696e741055496e740804550140044201600008010c6d73624001045500010c6c7362600104420000400c447375627374726174655f747970656e756d1075696e741055496e740804550144044201600008010c6d73624401045500010c6c7362600104420000440c447375627374726174655f747970656e756d1075696e741055496e740804550148044201600008010c6d73624801045500010c6c7362600104420000480c447375627374726174655f747970656e756d1075696e741055496e74080455014c044201600008010c6d73624c01045500010c6c73626001044200004c0c447375627374726174655f747970656e756d1075696e741055496e740804550150044201600008010c6d73625001045500010c6c7362600104420000500c447375627374726174655f747970656e756d1075696e741055496e740804550154044201600008010c6d73625401045500010c6c7362600104420000540c447375627374726174655f747970656e756d1075696e741055496e7408045501580442015c0008010c6d73625801045500010c6c73625c0104420000580c447375627374726174655f747970656e756d1075696e7414555465726d000000005c0c447375627374726174655f747970656e756d0c62697408423100000000600c447375627374726174655f747970656e756d0c626974084230000000006404184f7074696f6e04045401680108104e6f6e6500000010536f6d650400680000010000680c4070616c6c65745f73756274656e736f721870616c6c6574405375626e65744964656e746974795633000020012c7375626e65745f6e616d6524011c5665633c75383e00012c6769746875625f7265706f24011c5665633c75383e0001387375626e65745f636f6e7461637424011c5665633c75383e0001287375626e65745f75726c24011c5665633c75383e00011c646973636f726424011c5665633c75383e00012c6465736372697074696f6e24011c5665633c75383e0001206c6f676f5f75726c24011c5665633c75383e0001286164646974696f6e616c24011c5665633c75383e00006c0000061000700000020000740000040800280078083c7375627374726174655f666978656424466978656449313238041046726163014000040110626974737c01106931323800007c0000050d00800000040c0028000084104070616c6c65745f73756274656e736f721c7374616b696e67106c6f636b244c6f636b537461746500000c012c6c6f636b65645f6d617373300130416c70686142616c616e6365000128636f6e76696374696f6e38011855363446363400012c6c6173745f75706461746514010c753634000088000004080000008c0000062c009000000630009400000298009804184f7074696f6e040454019c0108104e6f6e6500000010536f6d6504009c00000100009c104070616c6c65745f73756274656e736f72207270635f696e666f3064796e616d69635f696e666f2c44796e616d6963496e666f04244163636f756e7449640100005401186e657475696434013c436f6d706163743c4e65745569643e0001306f776e65725f686f746b65790001244163636f756e7449640001346f776e65725f636f6c646b65790001244163636f756e74496400012c7375626e65745f6e616d65a001405665633c436f6d706163743c75383e3e000130746f6b656e5f73796d626f6ca001405665633c436f6d706163743c75383e3e00011474656d706f8c0130436f6d706163743c7531363e0001246c6173745f73746570200130436f6d706163743c7536343e000158626c6f636b735f73696e63655f6c6173745f73746570200130436f6d706163743c7536343e000120656d697373696f6e200130436f6d706163743c7536343e000120616c7068615f696e900154436f6d706163743c416c70686142616c616e63653e000124616c7068615f6f7574900154436f6d706163743c416c70686142616c616e63653e00011874616f5f696e6c014c436f6d706163743c54616f42616c616e63653e000148616c7068615f6f75745f656d697373696f6e900154436f6d706163743c416c70686142616c616e63653e000144616c7068615f696e5f656d697373696f6e900154436f6d706163743c416c70686142616c616e63653e00013c74616f5f696e5f656d697373696f6e6c014c436f6d706163743c54616f42616c616e63653e00015870656e64696e675f616c7068615f656d697373696f6e900154436f6d706163743c416c70686142616c616e63653e00015470656e64696e675f726f6f745f656d697373696f6e6c014c436f6d706163743c54616f42616c616e63653e0001347375626e65745f766f6c756d65a80134436f6d706163743c753132383e0001546e6574776f726b5f726567697374657265645f6174200130436f6d706163743c7536343e00013c7375626e65745f6964656e746974796401604f7074696f6e3c5375626e65744964656e7469747956333e0001306d6f76696e675f70726963657801184939364633320000a0000002a400a40000060800a80000061800ac000002b000b0104070616c6c65745f73756274656e736f72207270635f696e666f287374616b655f696e666f245374616b65496e666f04244163636f756e744964010000240118686f746b65790001244163636f756e74496400011c636f6c646b65790001244163636f756e7449640001186e657475696434013c436f6d706163743c4e65745569643e0001147374616b65900154436f6d706163743c416c70686142616c616e63653e0001186c6f636b6564200130436f6d706163743c7536343e000120656d697373696f6e900154436f6d706163743c416c70686142616c616e63653e00013074616f5f656d697373696f6e6c014c436f6d706163743c54616f42616c616e63653e000114647261696e200130436f6d706163743c7536343e00013469735f726567697374657265641c0110626f6f6c0000b4000002b800b80000040800ac00bc04184f7074696f6e04045401840108104e6f6e6500000010536f6d650400840000010000c0104070616c6c65745f73756274656e736f72207270635f696e666f2c6261736b65745f696e666f484261736b6574436c61696d5072657669657704244163636f756e744964010000280118686f746b65790001244163636f756e74496400012c6f7765645f73686172657314010c75363400012c616363727565645f74616f10012854616f42616c616e636500013872656465656d61626c655f74616f10012854616f42616c616e6365000144666f726665697465645f74616f5f65737410012854616f42616c616e6365000110726f77730c010c753332000130726f77735f746f5f73656c6c0c010c753332000124647573745f726f77730c010c75333200011473776570740c010c75333200013c666c75736865645f637265646974730c010c7533320000c4000002c000081853797374656d011853797374656d04184e756d62657201000c1000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e0000000000003c53756274656e736f724d6f64756c65013c53756274656e736f724d6f64756c6514104c6f636b00010c0206028084040004690120444d4150202820636f6c646b65792c206e65747569642c20686f746b65792029202d2d3e204c6f636b5374617465207c204578706f6e656e7469616c206c6f636b2070657220636f6c646b657920706572207375626e65742e304465636179696e674c6f636b0001080206741c0400087d0120444d4150202820636f6c646b65792c206e65747569642029202d2d3e2066616c7365207c205768656e2070726573656e7420616e642066616c73652c207468697320636f6c646b65792773206c6f636b2069732070657270657475616c2ec4204d697373696e6720656e7472696573206d65616e20746865206c6f636b206465636179732062792064656661756c742e385472616e73666572546f67676c6501010406281c0401048c204d41502028206e65747569642029202d2d3e207472616e736665725f746f67676c656c4c617374436f6c646b6579486f746b65795374616b65426c6f636b0001080505881404000c2501204d61702028636f6c646b65792c20686f746b657929202d2d3e2075363420746865206c61737420626c6f636b206174207768696368202a2a726f6f742a2a207374616b652077617319012061646465642f72656d6f7665642f636c61696d656420666f72207468617420706169722e205573656420736f6c656c79206173207468652061676520626173697320666f721d012060526f6f745374616b65556e6c6f636b496e74657276616c602e204e6f6e2d726f6f74207374616b65206f7073206d757374206e6f742077726974652074686973206d61702e5c526f6f745374616b65556e6c6f636b496e74657276616c0100142000000000000000001c3501204d696e696d756d206e756d626572206f6620626c6f636b7320726f6f7420286e6574756964203029207374616b65206d7573742062652068656c64206265666f72652069742063616e2062652d012072656d6f7665642066726f6d20726f6f742028766961206072656d6f76655f7374616b65602c206d6f76652f737761702f7472616e73666572206f666620726f6f742c206574632e292c2901206b65796564206f666620604c617374436f6c646b6579486f746b65795374616b65426c6f636b602e206030602064697361626c65732074686520686f6c64202864656661756c74292c45012070726573657276696e67206c6567616379206265686176696f75722e205768656e20736574203e3d206f6e652074656d706f206974206e65757472616c697365732065706f63682d626f756e64617279410120226a7573742d696e2d74696d6522206469766964656e6420736e6970696e673a20726f6f74207374616b6520697320313a312054414f2077697468206e6f20414d4d20736c6970706167652c20736f450120776974686f75742074686973206672696374696f6e206120736e697065722063616e207374616b65207269676874206265666f7265206120626f756e646172792c206361707475726520612066756c6c35012074656d706f277320726f6f74206469766964656e642070726f2d7261746120746f20696e7374616e74616e656f7573207374616b652c20616e64206578697420696d6d6564696174656c792e000000000700040000000000c1010c505375626e6574496e666f52756e74696d6541706904506765745f616c6c5f64796e616d69635f696e666f009400004c5374616b65496e666f52756e74696d65417069086c6765745f7374616b655f696e666f5f666f725f636f6c646b6579730440636f6c646b65795f6163636f756e747370b400406765745f636f6c646b65795f6c6f636b081c636f6c646b657900186e657475696428bc000050426574614261736b657452756e74696d6541706904786765745f726f6f745f6261736b65745f636c61696d5f7072657669657773041c636f6c646b657900c4041901205468652073616d6520666f722065766572792076616c696461746f72206120636f6c646b65792d776964652060636c61696d5f726f6f746020776f756c6420746f7563682e0000000000",
8026
- "extra": null
8027
- },
8028
8000
  {
8029
8001
  "id": "1b5b9aafea2a504fa0ccdafe980ab595",
8030
8002
  "source": "substrate-hydration",
@@ -8034,6 +8006,15 @@ var initChaindata_default = {
8034
8006
  "data": null,
8035
8007
  "extra": null
8036
8008
  },
8009
+ {
8010
+ "id": "1f2fdda5a53e0abbfade7f61c63b384c",
8011
+ "source": "substrate-assets",
8012
+ "chainId": "bittensor",
8013
+ "specVersion": 475,
8014
+ "version": "v14",
8015
+ "data": null,
8016
+ "extra": null
8017
+ },
8037
8018
  {
8038
8019
  "id": "20b1af28278f38789396bcda50779df9",
8039
8020
  "source": "substrate-hydration",
@@ -8052,24 +8033,6 @@ var initChaindata_default = {
8052
8033
  "data": null,
8053
8034
  "extra": null
8054
8035
  },
8055
- {
8056
- "id": "262f0e5caac2141655f337e73da6df25",
8057
- "source": "substrate-foreignassets",
8058
- "chainId": "bittensor",
8059
- "specVersion": 468,
8060
- "version": "v14",
8061
- "data": null,
8062
- "extra": null
8063
- },
8064
- {
8065
- "id": "2859deda73e654bb4f1803e0673c6ef9",
8066
- "source": "substrate-foreignassets",
8067
- "chainId": "hydradx",
8068
- "specVersion": 443,
8069
- "version": "v14",
8070
- "data": null,
8071
- "extra": null
8072
- },
8073
8036
  {
8074
8037
  "id": "2b22f92b6207f7181f546cebe12cf3bc",
8075
8038
  "source": "substrate-assets",
@@ -8097,18 +8060,6 @@ var initChaindata_default = {
8097
8060
  "data": null,
8098
8061
  "extra": null
8099
8062
  },
8100
- {
8101
- "id": "3ce7da0d77134ddabac6904f9ef259c4",
8102
- "source": "substrate-native",
8103
- "chainId": "bittensor",
8104
- "specVersion": 468,
8105
- "version": "v14",
8106
- "data": "0x6d6574610f90000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c08306672616d655f73797374656d2c4163636f756e74496e666f08144e6f6e636501102c4163636f756e74446174610114001401146e6f6e63651001144e6f6e6365000124636f6e73756d657273100120526566436f756e7400012470726f766964657273100120526566436f756e7400012c73756666696369656e7473100120526566436f756e740001106461746114012c4163636f756e74446174610000100000050500140c3c70616c6c65745f62616c616e6365731474797065732c4163636f756e7444617461041c42616c616e63650118001001106672656518011c42616c616e6365000120726573657276656418011c42616c616e636500011866726f7a656e18011c42616c616e6365000114666c6167732001284578747261466c6167730000180c6073756274656e736f725f72756e74696d655f636f6d6d6f6e2063757272656e63792854616f42616c616e6365000004001c010c75363400001c0000050600200c3c70616c6c65745f62616c616e636573147479706573284578747261466c616773000004002401107531323800002400000507002800000504002c040c436f7704045401300004003000000030000005020034082873705f76657273696f6e3852756e74696d6556657273696f6e0000200124737065635f6e616d652c0144436f773c277374617469632c207374723e000124696d706c5f6e616d652c0144436f773c277374617469632c207374723e000144617574686f72696e675f76657273696f6e10010c753332000130737065635f76657273696f6e10010c753332000130696d706c5f76657273696f6e10010c7533320001106170697338011c4170697356656300014c7472616e73616374696f6e5f76657273696f6e10010c75333200013873797374656d5f76657273696f6e0801087538000038040c436f77040454013c0004003c0000003c0000024000400000040844100044000003080000000800480c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e646564566563080454014c0453000004005401185665633c543e00004c0c3c70616c6c65745f62616c616e6365731474797065732c42616c616e63654c6f636b041c42616c616e63650118000c010869644401384c6f636b4964656e746966696572000118616d6f756e7418011c42616c616e636500011c726561736f6e7350011c526561736f6e730000500c3c70616c6c65745f62616c616e6365731474797065731c526561736f6e7300010c0c466565000000104d6973630001000c416c6c00020000540000024c00580c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454015c0453000004006001185665633c543e00005c0c3c70616c6c65745f62616c616e6365731474797065732c52657365727665446174610844526573657276654964656e74696669657201441c42616c616e63650118000801086964440144526573657276654964656e746966696572000118616d6f756e7418011c42616c616e63650000600000025c00640c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401680453000004007c01185665633c543e00006814346672616d655f737570706f72741874726169747318746f6b656e73106d697363204964416d6f756e7408084964016c1c42616c616e636501180008010869646c01084964000118616d6f756e7418011c42616c616e636500006c08586e6f64655f73756274656e736f725f72756e74696d654452756e74696d65486f6c64526561736f6e00010c20507265696d616765040070016c70616c6c65745f707265696d6167653a3a486f6c64526561736f6e000e0020536166654d6f6465040074017070616c6c65745f736166655f6d6f64653a3a486f6c64526561736f6e00140024436f6e747261637473040078017070616c6c65745f636f6e7472616374733a3a486f6c64526561736f6e001d0000700c3c70616c6c65745f707265696d6167651870616c6c657428486f6c64526561736f6e00010420507265696d61676500000000740c4070616c6c65745f736166655f6d6f64651870616c6c657428486f6c64526561736f6e00010434456e7465724f72457874656e6400000000780c4070616c6c65745f636f6e7472616374731870616c6c657428486f6c64526561736f6e00010860436f646555706c6f61644465706f736974526573657276650000005453746f726167654465706f73697452657365727665000100007c0000026800800c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401840453000004008c01185665633c543e00008414346672616d655f737570706f72741874726169747318746f6b656e73106d697363204964416d6f756e740808496401881c42616c616e636501180008010869648801084964000118616d6f756e7418011c42616c616e636500008808586e6f64655f73756274656e736f725f72756e74696d654c52756e74696d65467265657a65526561736f6e000100008c0000028400081853797374656d011853797374656d041c4163636f756e7401010402000ce0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008004e8205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e0000081c56657273696f6e347105386e6f64652d73756274656e736f72386e6f64652d73756274656e736f7201000000d40100000100000064df6acb689907609b0500000037e397fc7c91f5e40200000040fe3ad401f8959a06000000fbc577b9d747efd601000000d2bc9897eed08f1503000000f78b278be53f454c02000000dd718d5cc53262d401000000ab3c0572291feb8b01000000ed99c5acb25eedf503000000bc9d89904f5b923f0100000037c8bb1350a9a2a804000000f3ff14d5ab52705903000000582211f65bb14b8906000000e65b00e46cedd0aa0200000068b66ba122c93fa70200000042e62be4a39e5b6001000000806df4ccaa9ed485010000008375104b299b74c5020000005d1fbfbe852f280701000000c6886e2f8e598b0a0100000043580abff6baab4505000000c0de4984d112f3b401000000cbca25e39f14238702000000a8b093e6508d9e9c010000001c4585bd5c7072020100000001000000010484204765742074686520636861696e277320696e2d636f64652076657273696f6e2e285353353850726566697828082a0014a8205468652064657369676e61746564205353353820707265666978206f66207468697320636861696e2e0039012054686973207265706c6163657320746865202273733538466f726d6174222070726f7065727479206465636c6172656420696e2074686520636861696e20737065632e20526561736f6e20697331012074686174207468652072756e74696d652073686f756c64206b6e6f772061626f7574207468652070726566697820696e206f7264657220746f206d616b6520757365206f662069742061737020616e206964656e746966696572206f662074686520636861696e2e0000002042616c616e636573012042616c616e63657310144c6f636b73010104020048040010b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e2501204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e00ad0120557365206f66206c6f636b73206973206465707265636174656420696e206661766f7572206f6620667265657a65732e20536565206068747470733a2f2f6769746875622e636f6d2f706172697479746563682f7375627374726174652f70756c6c2f31323935312f6020526573657276657301010402005804000ca4204e616d6564207265736572766573206f6e20736f6d65206163636f756e742062616c616e6365732e00b10120557365206f66207265736572766573206973206465707265636174656420696e206661766f7572206f6620686f6c64732e20536565206068747470733a2f2f6769746875622e636f6d2f706172697479746563682f7375627374726174652f70756c6c2f31323935312f6014486f6c64730101040200640400046c20486f6c6473206f6e206163636f756e742062616c616e6365732e1c467265657a65730101040200800400048820467265657a65206c6f636b73206f6e206163636f756e742062616c616e6365732e000000000500040000000000c1010000000000",
8107
- "extra": {
8108
- "useLegacyTransferableCalculation": false,
8109
- "existentialDeposit": "500"
8110
- }
8111
- },
8112
8063
  {
8113
8064
  "id": "40158b619621ccaa521070ab55110cf4",
8114
8065
  "source": "substrate-native",
@@ -8123,10 +8074,10 @@ var initChaindata_default = {
8123
8074
  }
8124
8075
  },
8125
8076
  {
8126
- "id": "4486ba50ab7cffa7663183cbff2ca825",
8127
- "source": "substrate-hydration",
8128
- "chainId": "bittensor",
8129
- "specVersion": 468,
8077
+ "id": "4557713b7f1e39c83afe9ae80a5cc766",
8078
+ "source": "substrate-foreignassets",
8079
+ "chainId": "hydradx",
8080
+ "specVersion": 447,
8130
8081
  "version": "v14",
8131
8082
  "data": null,
8132
8083
  "extra": null
@@ -8140,6 +8091,15 @@ var initChaindata_default = {
8140
8091
  "data": null,
8141
8092
  "extra": null
8142
8093
  },
8094
+ {
8095
+ "id": "49a60fe3d3c18de9b2c2664f334de104",
8096
+ "source": "substrate-psp22",
8097
+ "chainId": "hydradx",
8098
+ "specVersion": 447,
8099
+ "version": "v14",
8100
+ "data": null,
8101
+ "extra": null
8102
+ },
8143
8103
  {
8144
8104
  "id": "4bad4093dc0bb5210f0234145707e422",
8145
8105
  "source": "substrate-native",
@@ -8189,6 +8149,15 @@ var initChaindata_default = {
8189
8149
  "data": null,
8190
8150
  "extra": null
8191
8151
  },
8152
+ {
8153
+ "id": "66c18e81e4ac52c8acd526f847a4a4da",
8154
+ "source": "substrate-hydration",
8155
+ "chainId": "hydradx",
8156
+ "specVersion": 447,
8157
+ "version": "v14",
8158
+ "data": "0x6d6574610f48000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c00000208001000000505001400000507001800000500001c04184f7074696f6e04045401140108104e6f6e6500000010536f6d6504001400000100002004184f7074696f6e04045401240108104e6f6e6500000010536f6d650400240000010000240c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004000c01185665633c543e0000280c5470616c6c65745f61737365745f72656769737472791474797065732441737365745479706500011814546f6b656e0000000c58594b00010028537461626c655377617000020010426f6e640003002045787465726e616c000400144572633230000500002c04184f7074696f6e04045401080108104e6f6e6500000010536f6d650400080000010000300c5470616c6c65745f61737365745f726567697374727914747970657330417373657444657461696c73042c537472696e674c696d697400001c01106e616d652001644f7074696f6e3c4e616d653c537472696e674c696d69743e3e00012861737365745f7479706528012441737365745479706500014c6578697374656e7469616c5f6465706f73697414011c42616c616e636500011873796d626f6c20016c4f7074696f6e3c53796d626f6c3c537472696e674c696d69743e3e000120646563696d616c732c01284f7074696f6e3c75383e00013878636d5f726174655f6c696d69741c013c4f7074696f6e3c42616c616e63653e00013469735f73756666696369656e74180110626f6f6c0000340000040800100038082c6f726d6c5f746f6b656e732c4163636f756e7444617461041c42616c616e63650114000c01106672656514011c42616c616e6365000120726573657276656414011c42616c616e636500011866726f7a656e14011c42616c616e636500003c088470616c6c65745f63757272656e636965735f7270635f72756e74696d655f6170692c4163636f756e7444617461041c42616c616e63650114000c01106672656514011c42616c616e6365000120726573657276656414011c42616c616e636500011866726f7a656e14011c42616c616e636500004000000244004400000408103c000834417373657452656769737472790134417373657452656769737472790418417373657473000104021030040004542044657461696c73206f6620616e2061737365742e00000000330018546f6b656e730118546f6b656e7304204163636f756e747301010802053438c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018b8205468652062616c616e6365206f66206120746f6b656e207479706520756e64657220616e206163636f756e742e00fc204e4f54453a2049662074686520746f74616c2069732065766572207a65726f2c206465637265617365206163636f756e7420726566206163636f756e742e001901204e4f54453a2054686973206973206f6e6c79207573656420696e20746865206361736520746861742074686973206d6f64756c65206973207573656420746f2073746f7265282062616c616e6365732e000000004d000400000000009d0f043443757272656e6369657341706904206163636f756e7473040c77686f0040000000000000",
8159
+ "extra": null
8160
+ },
8192
8161
  {
8193
8162
  "id": "67f905d9e8fe69fbee590d6903e4f26a",
8194
8163
  "source": "substrate-native",
@@ -8201,6 +8170,15 @@ var initChaindata_default = {
8201
8170
  "existentialDeposit": "10000000000"
8202
8171
  }
8203
8172
  },
8173
+ {
8174
+ "id": "68e6c54992162c647ecd761c58d35c79",
8175
+ "source": "substrate-tokens",
8176
+ "chainId": "hydradx",
8177
+ "specVersion": 447,
8178
+ "version": "v14",
8179
+ "data": "0x6d6574610f1c000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c00000505001000000507001400000408000c0018082c6f726d6c5f746f6b656e732c4163636f756e7444617461041c42616c616e63650110000c01106672656510011c42616c616e6365000120726573657276656410011c42616c616e636500011866726f7a656e10011c42616c616e636500000418546f6b656e730118546f6b656e7304204163636f756e747301010802051418c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018b8205468652062616c616e6365206f66206120746f6b656e207479706520756e64657220616e206163636f756e742e00fc204e4f54453a2049662074686520746f74616c2069732065766572207a65726f2c206465637265617365206163636f756e7420726566206163636f756e742e001901204e4f54453a2054686973206973206f6e6c79207573656420696e20746865206361736520746861742074686973206d6f64756c65206973207573656420746f2073746f7265282062616c616e6365732e000000004d000400000000009d0f0000000000",
8180
+ "extra": { "palletId": "Tokens" }
8181
+ },
8204
8182
  {
8205
8183
  "id": "6cb6de2c1cc17ea38662d9cce42e1ab5",
8206
8184
  "source": "substrate-tokens",
@@ -8211,10 +8189,31 @@ var initChaindata_default = {
8211
8189
  "extra": { "palletId": "Tokens" }
8212
8190
  },
8213
8191
  {
8214
- "id": "8771ef51c1034a1f3df26435e8e63220",
8192
+ "id": "6cdb727091f4d4ebeb32c5068eee65f3",
8193
+ "source": "substrate-native",
8194
+ "chainId": "hydradx",
8195
+ "specVersion": 447,
8196
+ "version": "v14",
8197
+ "data": "0x6d6574610f8c000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c00000505001000000507001400000400001800000504001c0000030800000008002008306672616d655f73797374656d2c4163636f756e74496e666f08144e6f6e6365010c2c4163636f756e74446174610124001401146e6f6e63650c01144e6f6e6365000124636f6e73756d6572730c0120526566436f756e7400012470726f7669646572730c0120526566436f756e7400012c73756666696369656e74730c0120526566436f756e740001106461746124012c4163636f756e74446174610000240c3c70616c6c65745f62616c616e6365731474797065732c4163636f756e7444617461041c42616c616e63650110001001106672656510011c42616c616e6365000120726573657276656410011c42616c616e636500011866726f7a656e10011c42616c616e6365000114666c6167732801284578747261466c6167730000280c3c70616c6c65745f62616c616e636573147479706573284578747261466c616773000004001001107531323800002c040c436f7704045401300004003000000030000005020034082873705f76657273696f6e3852756e74696d6556657273696f6e0000200124737065635f6e616d652c0144436f773c277374617469632c207374723e000124696d706c5f6e616d652c0144436f773c277374617469632c207374723e000144617574686f72696e675f76657273696f6e0c010c753332000130737065635f76657273696f6e0c010c753332000130696d706c5f76657273696f6e0c010c7533320001106170697338011c4170697356656300014c7472616e73616374696f6e5f76657273696f6e0c010c75333200013873797374656d5f76657273696f6e0801087538000038040c436f77040454013c0004003c0000003c000002400040000004081c0c00440c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401480453000004005001185665633c543e0000480c3c70616c6c65745f62616c616e6365731474797065732c42616c616e63654c6f636b041c42616c616e63650110000c010869641c01384c6f636b4964656e746966696572000118616d6f756e7410011c42616c616e636500011c726561736f6e734c011c526561736f6e7300004c0c3c70616c6c65745f62616c616e6365731474797065731c526561736f6e7300010c0c466565000000104d6973630001000c416c6c00020000500000024800540c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401580453000004005c01185665633c543e0000580c3c70616c6c65745f62616c616e6365731474797065732c52657365727665446174610844526573657276654964656e746966696572011c1c42616c616e636501100008010869641c0144526573657276654964656e746966696572000118616d6f756e7410011c42616c616e636500005c0000025800600c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401640453000004007c01185665633c543e00006414346672616d655f737570706f72741874726169747318746f6b656e73106d697363204964416d6f756e740808496401681c42616c616e636501100008010869646801084964000118616d6f756e7410011c42616c616e6365000068083c687964726164785f72756e74696d654452756e74696d65486f6c64526561736f6e00011020507265696d61676504006c016c70616c6c65745f707265696d6167653a3a486f6c64526561736f6e000f0048546563686e6963616c436f6d6d697474656504007001ec70616c6c65745f636f6c6c6563746976653a3a486f6c64526561736f6e3c70616c6c65745f636f6c6c6563746976653a3a496e7374616e6365323e001900485374617465547269654d6967726174696f6e040074019c70616c6c65745f73746174655f747269655f6d6967726174696f6e3a3a486f6c64526561736f6e0023002c506f6c6b61646f7458636d040078015870616c6c65745f78636d3a3a486f6c64526561736f6e006b00006c0c3c70616c6c65745f707265696d6167651870616c6c657428486f6c64526561736f6e00010420507265696d61676500000000700c4470616c6c65745f636f6c6c6563746976651870616c6c657428486f6c64526561736f6e0404490001044850726f706f73616c5375626d697373696f6e00000000740c6c70616c6c65745f73746174655f747269655f6d6967726174696f6e1870616c6c657428486f6c64526561736f6e0001043c536c617368466f724d69677261746500000000780c2870616c6c65745f78636d1870616c6c657428486f6c64526561736f6e00010438417574686f72697a65416c696173000000007c0000026400800c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401840453000004008801185665633c543e00008414346672616d655f737570706f72741874726169747318746f6b656e73106d697363204964416d6f756e740808496401141c42616c616e636501100008010869641401084964000118616d6f756e7410011c42616c616e636500008800000284000c1853797374656d011853797374656d041c4163636f756e740101040200204101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008004e8205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e0000081c56657273696f6e3499051c687964726164781c6879647261647801000000bf010000000000006cdf6acb689907609b0500000037e397fc7c91f5e40200000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000dd718d5cc53262d401000000ea93e3f16f3d696203000000695c80446b8b3d4e010000009af86751b70c112d01000000bc9d89904f5b923f0100000037c8bb1350a9a2a804000000582211f65bb14b8906000000e65b00e46cedd0aa020000000bb67a52fcd040ff0100000034a3d488166b5a5501000000542334fe4fd7cada010000006ff52ee858e6c5bd01000000d7bdd8a272ca0d650200000004e70521a0d3d2f80100000091b1c8b16328eb92020000009ffb505aa738d69c010000002b5f5bcd2460e4f001000000a2b2b484fcb869430100000075fc5fbf0e9c71bc010000006aa673a4e69ae9a501000000fbc577b9d747efd60100000001000000010484204765742074686520636861696e277320696e2d636f64652076657273696f6e2e28535335385072656669781808000014a8205468652064657369676e61746564205353353820707265666978206f66207468697320636861696e2e0039012054686973207265706c6163657320746865202273733538466f726d6174222070726f7065727479206465636c6172656420696e2074686520636861696e20737065632e20526561736f6e20697331012074686174207468652072756e74696d652073686f756c64206b6e6f772061626f7574207468652070726566697820696e206f7264657220746f206d616b6520757365206f662069742061737020616e206964656e746966696572206f662074686520636861696e2e0001002042616c616e636573012042616c616e63657310144c6f636b73010104020044040010b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e2501204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e00ad0120557365206f66206c6f636b73206973206465707265636174656420696e206661766f7572206f6620667265657a65732e20536565206068747470733a2f2f6769746875622e636f6d2f706172697479746563682f7375627374726174652f70756c6c2f31323935312f6020526573657276657301010402005404000ca4204e616d6564207265736572766573206f6e20736f6d65206163636f756e742062616c616e6365732e00b10120557365206f66207265736572766573206973206465707265636174656420696e206661766f7572206f6620686f6c64732e20536565206068747470733a2f2f6769746875622e636f6d2f706172697479746563682f7375627374726174652f70756c6c2f31323935312f6014486f6c64730101040200600400046c20486f6c6473206f6e206163636f756e742062616c616e6365732e1c467265657a65730101040200800400048820467265657a65206c6f636b73206f6e206163636f756e742062616c616e6365732e0000000007001c5374616b696e67011c5374616b696e67000000000045000400000000009d0f0000000000",
8198
+ "extra": {
8199
+ "useLegacyTransferableCalculation": false,
8200
+ "existentialDeposit": "1000000000000"
8201
+ }
8202
+ },
8203
+ {
8204
+ "id": "7c338f58aafd9be3207e75eae087a08e",
8215
8205
  "source": "substrate-psp22",
8216
8206
  "chainId": "bittensor",
8217
- "specVersion": 468,
8207
+ "specVersion": 475,
8208
+ "version": "v14",
8209
+ "data": null,
8210
+ "extra": null
8211
+ },
8212
+ {
8213
+ "id": "83ec68365fc9b7555fbe768d061b9eec",
8214
+ "source": "substrate-assets",
8215
+ "chainId": "hydradx",
8216
+ "specVersion": 447,
8218
8217
  "version": "v14",
8219
8218
  "data": null,
8220
8219
  "extra": null
@@ -8237,6 +8236,24 @@ var initChaindata_default = {
8237
8236
  "data": null,
8238
8237
  "extra": null
8239
8238
  },
8239
+ {
8240
+ "id": "99f8c18b0187944c80d4eb71595b2d03",
8241
+ "source": "substrate-hydration",
8242
+ "chainId": "bittensor",
8243
+ "specVersion": 475,
8244
+ "version": "v14",
8245
+ "data": null,
8246
+ "extra": null
8247
+ },
8248
+ {
8249
+ "id": "9b0f5d80c01f441df50e81e2060a675c",
8250
+ "source": "substrate-tokens",
8251
+ "chainId": "bittensor",
8252
+ "specVersion": 475,
8253
+ "version": "v14",
8254
+ "data": null,
8255
+ "extra": { "palletId": "Tokens" }
8256
+ },
8240
8257
  {
8241
8258
  "id": "9cc83ef0f02af9d2f7adac07f29db115",
8242
8259
  "source": "substrate-assets",
@@ -8246,6 +8263,15 @@ var initChaindata_default = {
8246
8263
  "data": null,
8247
8264
  "extra": null
8248
8265
  },
8266
+ {
8267
+ "id": "9f4b5cfec1977ed9102bfb087eadb8c6",
8268
+ "source": "substrate-dtao",
8269
+ "chainId": "bittensor",
8270
+ "specVersion": 475,
8271
+ "version": "v14",
8272
+ "data": "0x6d6574610fc8000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c0000050500100c6073756274656e736f725f72756e74696d655f636f6d6d6f6e2063757272656e63792854616f42616c616e63650000040014010c75363400001400000506001800000507001c000005000020000006140024000002080028086073756274656e736f725f72756e74696d655f636f6d6d6f6e184e6574556964000004002c010c75313600002c0000050400300c6073756274656e736f725f72756e74696d655f636f6d6d6f6e2063757272656e637930416c70686142616c616e63650000040014010c753634000034000006280038083c7375627374726174655f666978656424466978656455313238041046726163013c00040110626974731801107531323800003c0c447375627374726174655f747970656e756d1075696e741055496e740804550140044201600008010c6d73624001045500010c6c7362600104420000400c447375627374726174655f747970656e756d1075696e741055496e740804550144044201600008010c6d73624401045500010c6c7362600104420000440c447375627374726174655f747970656e756d1075696e741055496e740804550148044201600008010c6d73624801045500010c6c7362600104420000480c447375627374726174655f747970656e756d1075696e741055496e74080455014c044201600008010c6d73624c01045500010c6c73626001044200004c0c447375627374726174655f747970656e756d1075696e741055496e740804550150044201600008010c6d73625001045500010c6c7362600104420000500c447375627374726174655f747970656e756d1075696e741055496e740804550154044201600008010c6d73625401045500010c6c7362600104420000540c447375627374726174655f747970656e756d1075696e741055496e7408045501580442015c0008010c6d73625801045500010c6c73625c0104420000580c447375627374726174655f747970656e756d1075696e7414555465726d000000005c0c447375627374726174655f747970656e756d0c62697408423100000000600c447375627374726174655f747970656e756d0c626974084230000000006404184f7074696f6e04045401680108104e6f6e6500000010536f6d650400680000010000680c4070616c6c65745f73756274656e736f721870616c6c6574405375626e65744964656e746974795633000020012c7375626e65745f6e616d6524011c5665633c75383e00012c6769746875625f7265706f24011c5665633c75383e0001387375626e65745f636f6e7461637424011c5665633c75383e0001287375626e65745f75726c24011c5665633c75383e00011c646973636f726424011c5665633c75383e00012c6465736372697074696f6e24011c5665633c75383e0001206c6f676f5f75726c24011c5665633c75383e0001286164646974696f6e616c24011c5665633c75383e00006c0000061000700000020000740000040800280078083c7375627374726174655f666978656424466978656449313238041046726163014000040110626974737c01106931323800007c0000050d00800000040c0028000084104070616c6c65745f73756274656e736f721c7374616b696e67106c6f636b244c6f636b537461746500000c012c6c6f636b65645f6d617373300130416c70686142616c616e6365000128636f6e76696374696f6e38011855363446363400012c6c6173745f75706461746514010c753634000088000004080000008c0000062c009000000630009400000298009804184f7074696f6e040454019c0108104e6f6e6500000010536f6d6504009c00000100009c104070616c6c65745f73756274656e736f72207270635f696e666f3064796e616d69635f696e666f2c44796e616d6963496e666f04244163636f756e7449640100005401186e657475696434013c436f6d706163743c4e65745569643e0001306f776e65725f686f746b65790001244163636f756e7449640001346f776e65725f636f6c646b65790001244163636f756e74496400012c7375626e65745f6e616d65a001405665633c436f6d706163743c75383e3e000130746f6b656e5f73796d626f6ca001405665633c436f6d706163743c75383e3e00011474656d706f8c0130436f6d706163743c7531363e0001246c6173745f73746570200130436f6d706163743c7536343e000158626c6f636b735f73696e63655f6c6173745f73746570200130436f6d706163743c7536343e000120656d697373696f6e200130436f6d706163743c7536343e000120616c7068615f696e900154436f6d706163743c416c70686142616c616e63653e000124616c7068615f6f7574900154436f6d706163743c416c70686142616c616e63653e00011874616f5f696e6c014c436f6d706163743c54616f42616c616e63653e000148616c7068615f6f75745f656d697373696f6e900154436f6d706163743c416c70686142616c616e63653e000144616c7068615f696e5f656d697373696f6e900154436f6d706163743c416c70686142616c616e63653e00013c74616f5f696e5f656d697373696f6e6c014c436f6d706163743c54616f42616c616e63653e00015870656e64696e675f616c7068615f656d697373696f6e900154436f6d706163743c416c70686142616c616e63653e00015470656e64696e675f726f6f745f656d697373696f6e6c014c436f6d706163743c54616f42616c616e63653e0001347375626e65745f766f6c756d65a80134436f6d706163743c753132383e0001546e6574776f726b5f726567697374657265645f6174200130436f6d706163743c7536343e00013c7375626e65745f6964656e746974796401604f7074696f6e3c5375626e65744964656e7469747956333e0001306d6f76696e675f70726963657801184939364633320000a0000002a400a40000060800a80000061800ac000002b000b0104070616c6c65745f73756274656e736f72207270635f696e666f287374616b655f696e666f245374616b65496e666f04244163636f756e744964010000240118686f746b65790001244163636f756e74496400011c636f6c646b65790001244163636f756e7449640001186e657475696434013c436f6d706163743c4e65745569643e0001147374616b65900154436f6d706163743c416c70686142616c616e63653e0001186c6f636b6564200130436f6d706163743c7536343e000120656d697373696f6e900154436f6d706163743c416c70686142616c616e63653e00013074616f5f656d697373696f6e6c014c436f6d706163743c54616f42616c616e63653e000114647261696e200130436f6d706163743c7536343e00013469735f726567697374657265641c0110626f6f6c0000b4000002b800b80000040800ac00bc04184f7074696f6e04045401840108104e6f6e6500000010536f6d650400840000010000c0104070616c6c65745f73756274656e736f72207270635f696e666f2c6261736b65745f696e666f484261736b6574436c61696d5072657669657704244163636f756e744964010000280118686f746b65790001244163636f756e74496400012c6f7765645f73686172657314010c75363400012c616363727565645f74616f10012854616f42616c616e636500013872656465656d61626c655f74616f10012854616f42616c616e6365000144666f726665697465645f74616f5f65737410012854616f42616c616e6365000110726f77730c010c753332000130726f77735f746f5f73656c6c0c010c753332000124647573745f726f77730c010c75333200011473776570740c010c75333200013c666c75736865645f637265646974730c010c7533320000c4000002c000081853797374656d011853797374656d04184e756d62657201000c1000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e0000000000003c53756274656e736f724d6f64756c65013c53756274656e736f724d6f64756c6514104c6f636b00010c0206028084040004690120444d4150202820636f6c646b65792c206e65747569642c20686f746b65792029202d2d3e204c6f636b5374617465207c204578706f6e656e7469616c206c6f636b2070657220636f6c646b657920706572207375626e65742e304465636179696e674c6f636b0001080206741c0400087d0120444d4150202820636f6c646b65792c206e65747569642029202d2d3e2066616c7365207c205768656e2070726573656e7420616e642066616c73652c207468697320636f6c646b65792773206c6f636b2069732070657270657475616c2ec4204d697373696e6720656e7472696573206d65616e20746865206c6f636b206465636179732062792064656661756c742e385472616e73666572546f67676c6501010406281c0401048c204d41502028206e65747569642029202d2d3e207472616e736665725f746f67676c656c4c617374436f6c646b6579486f746b65795374616b65426c6f636b0001080505881404000c2501204d61702028636f6c646b65792c20686f746b657929202d2d3e2075363420746865206c61737420626c6f636b206174207768696368202a2a726f6f742a2a207374616b652077617319012061646465642f72656d6f7665642f636c61696d656420666f72207468617420706169722e205573656420736f6c656c79206173207468652061676520626173697320666f721d012060526f6f745374616b65556e6c6f636b496e74657276616c602e204e6f6e2d726f6f74207374616b65206f7073206d757374206e6f742077726974652074686973206d61702e5c526f6f745374616b65556e6c6f636b496e74657276616c0100142000000000000000001c3501204d696e696d756d206e756d626572206f6620626c6f636b7320726f6f7420286e6574756964203029207374616b65206d7573742062652068656c64206265666f72652069742063616e2062652d012072656d6f7665642066726f6d20726f6f742028766961206072656d6f76655f7374616b65602c206d6f76652f737761702f7472616e73666572206f666620726f6f742c206574632e292c2901206b65796564206f666620604c617374436f6c646b6579486f746b65795374616b65426c6f636b602e206030602064697361626c65732074686520686f6c64202864656661756c74292c45012070726573657276696e67206c6567616379206265686176696f75722e205768656e20736574203e3d206f6e652074656d706f206974206e65757472616c697365732065706f63682d626f756e64617279410120226a7573742d696e2d74696d6522206469766964656e6420736e6970696e673a20726f6f74207374616b6520697320313a312054414f2077697468206e6f20414d4d20736c6970706167652c20736f450120776974686f75742074686973206672696374696f6e206120736e697065722063616e207374616b65207269676874206265666f7265206120626f756e646172792c206361707475726520612066756c6c35012074656d706f277320726f6f74206469766964656e642070726f2d7261746120746f20696e7374616e74616e656f7573207374616b652c20616e64206578697420696d6d6564696174656c792e000000000700040000000000c5010c505375626e6574496e666f52756e74696d6541706904506765745f616c6c5f64796e616d69635f696e666f009400004c5374616b65496e666f52756e74696d65417069086c6765745f7374616b655f696e666f5f666f725f636f6c646b6579730440636f6c646b65795f6163636f756e747370b400406765745f636f6c646b65795f6c6f636b081c636f6c646b657900186e657475696428bc000050426574614261736b657452756e74696d6541706904786765745f726f6f745f6261736b65745f636c61696d5f7072657669657773041c636f6c646b657900c4041901205468652073616d6520666f722065766572792076616c696461746f72206120636f6c646b65792d776964652060636c61696d5f726f6f746020776f756c6420746f7563682e0000000000",
8273
+ "extra": null
8274
+ },
8249
8275
  {
8250
8276
  "id": "a179ac50b24314e959bbb01b3e807d29",
8251
8277
  "source": "substrate-native",
@@ -8260,30 +8286,21 @@ var initChaindata_default = {
8260
8286
  }
8261
8287
  },
8262
8288
  {
8263
- "id": "b7591a561f49aa39cf0049da03b45cf2",
8264
- "source": "substrate-foreignassets",
8265
- "chainId": "kusama-asset-hub",
8266
- "specVersion": 2003002,
8267
- "version": "v14",
8268
- "data": "0x6d6574610f94000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c0000040000100000020800140000031400000008001800000506001c0000050500200000061c00240000030400000008002800000618002c000006300030000005070034000005000038100c78636d087633206a756e6374696f6e18426f6479496400012810556e69740000001c4d6f6e696b6572040024011c5b75383b20345d00010014496e646578040020010c7533320002002445786563757469766500030024546563686e6963616c0004002c4c656769736c6174697665000500204a7564696369616c0006001c446566656e73650007003841646d696e697374726174696f6e000800205472656173757279000900003c100c78636d087633206a756e6374696f6e20426f64795061727400011414566f6963650000001c4d656d62657273040114636f756e7420010c753332000100204672616374696f6e08010c6e6f6d20010c75333200011464656e6f6d20010c7533320002004441744c6561737450726f706f7274696f6e08010c6e6f6d20010c75333200011464656e6f6d20010c753332000300484d6f72655468616e50726f706f7274696f6e08010c6e6f6d20010c75333200011464656e6f6d20010c7533320004000040102c73746167696e675f78636d087635206c6f636174696f6e204c6f636174696f6e000008011c706172656e74730801087538000120696e746572696f724401244a756e6374696f6e73000044102c73746167696e675f78636d087635246a756e6374696f6e73244a756e6374696f6e73000124104865726500000008583104004801484172633c5b4a756e6374696f6e3b20315d3e00010008583204005801484172633c5b4a756e6374696f6e3b20325d3e00020008583304005c01484172633c5b4a756e6374696f6e3b20335d3e00030008583404006001484172633c5b4a756e6374696f6e3b20345d3e00040008583504006401484172633c5b4a756e6374696f6e3b20355d3e00050008583604006801484172633c5b4a756e6374696f6e3b20365d3e00060008583704006c01484172633c5b4a756e6374696f6e3b20375d3e00070008583804007001484172633c5b4a756e6374696f6e3b20385d3e0008000048000003010000004c004c102c73746167696e675f78636d087635206a756e6374696f6e204a756e6374696f6e0001282450617261636861696e040020010c7533320000002c4163636f756e744964333208011c6e6574776f726b5001444f7074696f6e3c4e6574776f726b49643e00010869640401205b75383b2033325d000100384163636f756e74496e646578363408011c6e6574776f726b5001444f7074696f6e3c4e6574776f726b49643e000114696e64657828010c753634000200304163636f756e744b6579323008011c6e6574776f726b5001444f7074696f6e3c4e6574776f726b49643e00010c6b65791401205b75383b2032305d0003003850616c6c6574496e7374616e6365040008010875380004003047656e6572616c496e64657804002c0110753132380005002847656e6572616c4b65790801186c656e6774680801087538000110646174610401205b75383b2033325d000600244f6e6c794368696c6400070024506c7572616c6974790801086964380118426f64794964000110706172743c0120426f6479506172740008003c476c6f62616c436f6e73656e73757304005401244e6574776f726b4964000900005004184f7074696f6e04045401540108104e6f6e6500000010536f6d65040054000001000054102c73746167696e675f78636d087635206a756e6374696f6e244e6574776f726b496400012024427947656e6573697304000401205b75383b2033325d000000184279466f726b080130626c6f636b5f6e756d62657218010c753634000128626c6f636b5f686173680401205b75383b2033325d00010020506f6c6b61646f74000200184b7573616d6100030020457468657265756d040120636861696e5f696428010c7536340007002c426974636f696e436f72650008002c426974636f696e4361736800090040506f6c6b61646f7442756c6c6574696e000a000058000003020000004c005c000003030000004c0060000003040000004c0064000003050000004c0068000003060000004c006c000003070000004c0070000003080000004c00740c3470616c6c65745f61737365747314747970657330417373657444657461696c730c1c42616c616e63650130244163636f756e7449640100384465706f73697442616c616e63650130003001146f776e65720001244163636f756e7449640001186973737565720001244163636f756e74496400011461646d696e0001244163636f756e74496400011c667265657a65720001244163636f756e744964000118737570706c7930011c42616c616e636500011c6465706f7369743001384465706f73697442616c616e636500012c6d696e5f62616c616e636530011c42616c616e636500013469735f73756666696369656e74340110626f6f6c0001206163636f756e74731c010c75333200012c73756666696369656e74731c010c753332000124617070726f76616c731c010c75333200011873746174757378012c41737365745374617475730000780c3470616c6c65745f6173736574731474797065732c417373657453746174757300010c104c6976650000001846726f7a656e0001002844657374726f79696e67000200007c0c3470616c6c65745f6173736574731474797065733041737365744163636f756e74101c42616c616e63650130384465706f73697442616c616e63650130144578747261010c244163636f756e74496401000010011c62616c616e636530011c42616c616e63650001187374617475738001344163636f756e74537461747573000118726561736f6e8401a84578697374656e6365526561736f6e3c4465706f73697442616c616e63652c204163636f756e7449643e00011465787472610c011445787472610000800c3470616c6c65745f617373657473147479706573344163636f756e7453746174757300010c184c69717569640000001846726f7a656e0001001c426c6f636b656400020000840c3470616c6c65745f6173736574731474797065733c4578697374656e6365526561736f6e081c42616c616e63650130244163636f756e7449640100011420436f6e73756d65720000002853756666696369656e740001002c4465706f73697448656c64040030011c42616c616e63650002003c4465706f736974526566756e6465640003002c4465706f73697446726f6d08000001244163636f756e744964000030011c42616c616e63650004000088000004084000008c0c3470616c6c65745f6173736574731474797065733441737365744d6574616461746108384465706f73697442616c616e6365013034426f756e646564537472696e6701900014011c6465706f7369743001384465706f73697442616c616e63650001106e616d65900134426f756e646564537472696e6700011873796d626f6c900134426f756e646564537472696e67000120646563696d616c73080108753800012469735f66726f7a656e340110626f6f6c0000900c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004001001185665633c543e00000434466f726569676e4173736574730134466f726569676e4173736574730c144173736574000104024074040004542044657461696c73206f6620616e2061737365742e1c4163636f756e740001080202887c040004e42054686520686f6c64696e6773206f662061207370656369666963206163636f756e7420666f7220612073706563696669632061737365742e204d6574616461746101010402408c5000000000000000000000000000000000000000000458204d65746164617461206f6620616e2061737365742e00000000350004000000000011040000000000",
8269
- "extra": null
8270
- },
8271
- {
8272
- "id": "bba061c59e7446e52d1791386229e695",
8273
- "source": "substrate-hydration",
8289
+ "id": "aba753075756636b607d2e2042dc4223",
8290
+ "source": "substrate-dtao",
8274
8291
  "chainId": "hydradx",
8275
- "specVersion": 443,
8292
+ "specVersion": 447,
8276
8293
  "version": "v14",
8277
- "data": "0x6d6574610f48000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c00000208001000000505001400000507001800000500001c04184f7074696f6e04045401140108104e6f6e6500000010536f6d6504001400000100002004184f7074696f6e04045401240108104e6f6e6500000010536f6d650400240000010000240c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004000c01185665633c543e0000280c5470616c6c65745f61737365745f72656769737472791474797065732441737365745479706500011814546f6b656e0000000c58594b00010028537461626c655377617000020010426f6e640003002045787465726e616c000400144572633230000500002c04184f7074696f6e04045401080108104e6f6e6500000010536f6d650400080000010000300c5470616c6c65745f61737365745f726567697374727914747970657330417373657444657461696c73042c537472696e674c696d697400001c01106e616d652001644f7074696f6e3c4e616d653c537472696e674c696d69743e3e00012861737365745f7479706528012441737365745479706500014c6578697374656e7469616c5f6465706f73697414011c42616c616e636500011873796d626f6c20016c4f7074696f6e3c53796d626f6c3c537472696e674c696d69743e3e000120646563696d616c732c01284f7074696f6e3c75383e00013878636d5f726174655f6c696d69741c013c4f7074696f6e3c42616c616e63653e00013469735f73756666696369656e74180110626f6f6c0000340000040800100038082c6f726d6c5f746f6b656e732c4163636f756e7444617461041c42616c616e63650114000c01106672656514011c42616c616e6365000120726573657276656414011c42616c616e636500011866726f7a656e14011c42616c616e636500003c088470616c6c65745f63757272656e636965735f7270635f72756e74696d655f6170692c4163636f756e7444617461041c42616c616e63650114000c01106672656514011c42616c616e6365000120726573657276656414011c42616c616e636500011866726f7a656e14011c42616c616e636500004000000244004400000408103c000834417373657452656769737472790134417373657452656769737472790418417373657473000104021030040004542044657461696c73206f6620616e2061737365742e00000000330018546f6b656e730118546f6b656e7304204163636f756e747301010802053438c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018b8205468652062616c616e6365206f66206120746f6b656e207479706520756e64657220616e206163636f756e742e00fc204e4f54453a2049662074686520746f74616c2069732065766572207a65726f2c206465637265617365206163636f756e7420726566206163636f756e742e001901204e4f54453a2054686973206973206f6e6c79207573656420696e20746865206361736520746861742074686973206d6f64756c65206973207573656420746f2073746f7265282062616c616e6365732e000000004d000400000000007d0f043443757272656e6369657341706904206163636f756e7473040c77686f0040000000000000",
8294
+ "data": null,
8278
8295
  "extra": null
8279
8296
  },
8280
8297
  {
8281
- "id": "bbdd0f74464f9539f7e88a50c1347d14",
8282
- "source": "substrate-assets",
8283
- "chainId": "bittensor",
8284
- "specVersion": 468,
8298
+ "id": "b7591a561f49aa39cf0049da03b45cf2",
8299
+ "source": "substrate-foreignassets",
8300
+ "chainId": "kusama-asset-hub",
8301
+ "specVersion": 2003002,
8285
8302
  "version": "v14",
8286
- "data": null,
8303
+ "data": "0x6d6574610f94000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c0000040000100000020800140000031400000008001800000506001c0000050500200000061c00240000030400000008002800000618002c000006300030000005070034000005000038100c78636d087633206a756e6374696f6e18426f6479496400012810556e69740000001c4d6f6e696b6572040024011c5b75383b20345d00010014496e646578040020010c7533320002002445786563757469766500030024546563686e6963616c0004002c4c656769736c6174697665000500204a7564696369616c0006001c446566656e73650007003841646d696e697374726174696f6e000800205472656173757279000900003c100c78636d087633206a756e6374696f6e20426f64795061727400011414566f6963650000001c4d656d62657273040114636f756e7420010c753332000100204672616374696f6e08010c6e6f6d20010c75333200011464656e6f6d20010c7533320002004441744c6561737450726f706f7274696f6e08010c6e6f6d20010c75333200011464656e6f6d20010c753332000300484d6f72655468616e50726f706f7274696f6e08010c6e6f6d20010c75333200011464656e6f6d20010c7533320004000040102c73746167696e675f78636d087635206c6f636174696f6e204c6f636174696f6e000008011c706172656e74730801087538000120696e746572696f724401244a756e6374696f6e73000044102c73746167696e675f78636d087635246a756e6374696f6e73244a756e6374696f6e73000124104865726500000008583104004801484172633c5b4a756e6374696f6e3b20315d3e00010008583204005801484172633c5b4a756e6374696f6e3b20325d3e00020008583304005c01484172633c5b4a756e6374696f6e3b20335d3e00030008583404006001484172633c5b4a756e6374696f6e3b20345d3e00040008583504006401484172633c5b4a756e6374696f6e3b20355d3e00050008583604006801484172633c5b4a756e6374696f6e3b20365d3e00060008583704006c01484172633c5b4a756e6374696f6e3b20375d3e00070008583804007001484172633c5b4a756e6374696f6e3b20385d3e0008000048000003010000004c004c102c73746167696e675f78636d087635206a756e6374696f6e204a756e6374696f6e0001282450617261636861696e040020010c7533320000002c4163636f756e744964333208011c6e6574776f726b5001444f7074696f6e3c4e6574776f726b49643e00010869640401205b75383b2033325d000100384163636f756e74496e646578363408011c6e6574776f726b5001444f7074696f6e3c4e6574776f726b49643e000114696e64657828010c753634000200304163636f756e744b6579323008011c6e6574776f726b5001444f7074696f6e3c4e6574776f726b49643e00010c6b65791401205b75383b2032305d0003003850616c6c6574496e7374616e6365040008010875380004003047656e6572616c496e64657804002c0110753132380005002847656e6572616c4b65790801186c656e6774680801087538000110646174610401205b75383b2033325d000600244f6e6c794368696c6400070024506c7572616c6974790801086964380118426f64794964000110706172743c0120426f6479506172740008003c476c6f62616c436f6e73656e73757304005401244e6574776f726b4964000900005004184f7074696f6e04045401540108104e6f6e6500000010536f6d65040054000001000054102c73746167696e675f78636d087635206a756e6374696f6e244e6574776f726b496400012024427947656e6573697304000401205b75383b2033325d000000184279466f726b080130626c6f636b5f6e756d62657218010c753634000128626c6f636b5f686173680401205b75383b2033325d00010020506f6c6b61646f74000200184b7573616d6100030020457468657265756d040120636861696e5f696428010c7536340007002c426974636f696e436f72650008002c426974636f696e4361736800090040506f6c6b61646f7442756c6c6574696e000a000058000003020000004c005c000003030000004c0060000003040000004c0064000003050000004c0068000003060000004c006c000003070000004c0070000003080000004c00740c3470616c6c65745f61737365747314747970657330417373657444657461696c730c1c42616c616e63650130244163636f756e7449640100384465706f73697442616c616e63650130003001146f776e65720001244163636f756e7449640001186973737565720001244163636f756e74496400011461646d696e0001244163636f756e74496400011c667265657a65720001244163636f756e744964000118737570706c7930011c42616c616e636500011c6465706f7369743001384465706f73697442616c616e636500012c6d696e5f62616c616e636530011c42616c616e636500013469735f73756666696369656e74340110626f6f6c0001206163636f756e74731c010c75333200012c73756666696369656e74731c010c753332000124617070726f76616c731c010c75333200011873746174757378012c41737365745374617475730000780c3470616c6c65745f6173736574731474797065732c417373657453746174757300010c104c6976650000001846726f7a656e0001002844657374726f79696e67000200007c0c3470616c6c65745f6173736574731474797065733041737365744163636f756e74101c42616c616e63650130384465706f73697442616c616e63650130144578747261010c244163636f756e74496401000010011c62616c616e636530011c42616c616e63650001187374617475738001344163636f756e74537461747573000118726561736f6e8401a84578697374656e6365526561736f6e3c4465706f73697442616c616e63652c204163636f756e7449643e00011465787472610c011445787472610000800c3470616c6c65745f617373657473147479706573344163636f756e7453746174757300010c184c69717569640000001846726f7a656e0001001c426c6f636b656400020000840c3470616c6c65745f6173736574731474797065733c4578697374656e6365526561736f6e081c42616c616e63650130244163636f756e7449640100011420436f6e73756d65720000002853756666696369656e740001002c4465706f73697448656c64040030011c42616c616e63650002003c4465706f736974526566756e6465640003002c4465706f73697446726f6d08000001244163636f756e744964000030011c42616c616e63650004000088000004084000008c0c3470616c6c65745f6173736574731474797065733441737365744d6574616461746108384465706f73697442616c616e6365013034426f756e646564537472696e6701900014011c6465706f7369743001384465706f73697442616c616e63650001106e616d65900134426f756e646564537472696e6700011873796d626f6c900134426f756e646564537472696e67000120646563696d616c73080108753800012469735f66726f7a656e340110626f6f6c0000900c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004001001185665633c543e00000434466f726569676e4173736574730134466f726569676e4173736574730c144173736574000104024074040004542044657461696c73206f6620616e2061737365742e1c4163636f756e740001080202887c040004e42054686520686f6c64696e6773206f662061207370656369666963206163636f756e7420666f7220612073706563696669632061737365742e204d6574616461746101010402408c5000000000000000000000000000000000000000000458204d65746164617461206f6620616e2061737365742e00000000350004000000000011040000000000",
8287
8304
  "extra": null
8288
8305
  },
8289
8306
  {
@@ -8295,18 +8312,6 @@ var initChaindata_default = {
8295
8312
  "data": null,
8296
8313
  "extra": null
8297
8314
  },
8298
- {
8299
- "id": "ca5f280698a21b509acfca9916de9542",
8300
- "source": "substrate-native",
8301
- "chainId": "hydradx",
8302
- "specVersion": 443,
8303
- "version": "v14",
8304
- "data": "0x6d6574610f8c000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c00000505001000000507001400000400001800000504001c0000030800000008002008306672616d655f73797374656d2c4163636f756e74496e666f08144e6f6e6365010c2c4163636f756e74446174610124001401146e6f6e63650c01144e6f6e6365000124636f6e73756d6572730c0120526566436f756e7400012470726f7669646572730c0120526566436f756e7400012c73756666696369656e74730c0120526566436f756e740001106461746124012c4163636f756e74446174610000240c3c70616c6c65745f62616c616e6365731474797065732c4163636f756e7444617461041c42616c616e63650110001001106672656510011c42616c616e6365000120726573657276656410011c42616c616e636500011866726f7a656e10011c42616c616e6365000114666c6167732801284578747261466c6167730000280c3c70616c6c65745f62616c616e636573147479706573284578747261466c616773000004001001107531323800002c040c436f7704045401300004003000000030000005020034082873705f76657273696f6e3852756e74696d6556657273696f6e0000200124737065635f6e616d652c0144436f773c277374617469632c207374723e000124696d706c5f6e616d652c0144436f773c277374617469632c207374723e000144617574686f72696e675f76657273696f6e0c010c753332000130737065635f76657273696f6e0c010c753332000130696d706c5f76657273696f6e0c010c7533320001106170697338011c4170697356656300014c7472616e73616374696f6e5f76657273696f6e0c010c75333200013873797374656d5f76657273696f6e0801087538000038040c436f77040454013c0004003c0000003c000002400040000004081c0c00440c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401480453000004005001185665633c543e0000480c3c70616c6c65745f62616c616e6365731474797065732c42616c616e63654c6f636b041c42616c616e63650110000c010869641c01384c6f636b4964656e746966696572000118616d6f756e7410011c42616c616e636500011c726561736f6e734c011c526561736f6e7300004c0c3c70616c6c65745f62616c616e6365731474797065731c526561736f6e7300010c0c466565000000104d6973630001000c416c6c00020000500000024800540c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401580453000004005c01185665633c543e0000580c3c70616c6c65745f62616c616e6365731474797065732c52657365727665446174610844526573657276654964656e746966696572011c1c42616c616e636501100008010869641c0144526573657276654964656e746966696572000118616d6f756e7410011c42616c616e636500005c0000025800600c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401640453000004007c01185665633c543e00006414346672616d655f737570706f72741874726169747318746f6b656e73106d697363204964416d6f756e740808496401681c42616c616e636501100008010869646801084964000118616d6f756e7410011c42616c616e6365000068083c687964726164785f72756e74696d654452756e74696d65486f6c64526561736f6e00011020507265696d61676504006c016c70616c6c65745f707265696d6167653a3a486f6c64526561736f6e000f0048546563686e6963616c436f6d6d697474656504007001ec70616c6c65745f636f6c6c6563746976653a3a486f6c64526561736f6e3c70616c6c65745f636f6c6c6563746976653a3a496e7374616e6365323e001900485374617465547269654d6967726174696f6e040074019c70616c6c65745f73746174655f747269655f6d6967726174696f6e3a3a486f6c64526561736f6e0023002c506f6c6b61646f7458636d040078015870616c6c65745f78636d3a3a486f6c64526561736f6e006b00006c0c3c70616c6c65745f707265696d6167651870616c6c657428486f6c64526561736f6e00010420507265696d61676500000000700c4470616c6c65745f636f6c6c6563746976651870616c6c657428486f6c64526561736f6e0404490001044850726f706f73616c5375626d697373696f6e00000000740c6c70616c6c65745f73746174655f747269655f6d6967726174696f6e1870616c6c657428486f6c64526561736f6e0001043c536c617368466f724d69677261746500000000780c2870616c6c65745f78636d1870616c6c657428486f6c64526561736f6e00010438417574686f72697a65416c696173000000007c0000026400800c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401840453000004008801185665633c543e00008414346672616d655f737570706f72741874726169747318746f6b656e73106d697363204964416d6f756e740808496401141c42616c616e636501100008010869641401084964000118616d6f756e7410011c42616c616e636500008800000284000c1853797374656d011853797374656d041c4163636f756e740101040200204101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008004e8205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e0000081c56657273696f6e3499051c687964726164781c6879647261647801000000bb010000000000006cdf6acb689907609b0500000037e397fc7c91f5e40200000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000dd718d5cc53262d401000000ea93e3f16f3d696203000000695c80446b8b3d4e010000009af86751b70c112d01000000bc9d89904f5b923f0100000037c8bb1350a9a2a804000000582211f65bb14b8906000000e65b00e46cedd0aa020000000bb67a52fcd040ff0100000034a3d488166b5a5501000000542334fe4fd7cada010000006ff52ee858e6c5bd01000000d7bdd8a272ca0d650200000004e70521a0d3d2f80100000091b1c8b16328eb92020000009ffb505aa738d69c010000002b5f5bcd2460e4f001000000a2b2b484fcb869430100000075fc5fbf0e9c71bc010000006aa673a4e69ae9a501000000fbc577b9d747efd60100000001000000010484204765742074686520636861696e277320696e2d636f64652076657273696f6e2e28535335385072656669781808000014a8205468652064657369676e61746564205353353820707265666978206f66207468697320636861696e2e0039012054686973207265706c6163657320746865202273733538466f726d6174222070726f7065727479206465636c6172656420696e2074686520636861696e20737065632e20526561736f6e20697331012074686174207468652072756e74696d652073686f756c64206b6e6f772061626f7574207468652070726566697820696e206f7264657220746f206d616b6520757365206f662069742061737020616e206964656e746966696572206f662074686520636861696e2e0001002042616c616e636573012042616c616e63657310144c6f636b73010104020044040010b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e2501204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e00ad0120557365206f66206c6f636b73206973206465707265636174656420696e206661766f7572206f6620667265657a65732e20536565206068747470733a2f2f6769746875622e636f6d2f706172697479746563682f7375627374726174652f70756c6c2f31323935312f6020526573657276657301010402005404000ca4204e616d6564207265736572766573206f6e20736f6d65206163636f756e742062616c616e6365732e00b10120557365206f66207265736572766573206973206465707265636174656420696e206661766f7572206f6620686f6c64732e20536565206068747470733a2f2f6769746875622e636f6d2f706172697479746563682f7375627374726174652f70756c6c2f31323935312f6014486f6c64730101040200600400046c20486f6c6473206f6e206163636f756e742062616c616e6365732e1c467265657a65730101040200800400048820467265657a65206c6f636b73206f6e206163636f756e742062616c616e6365732e0000000007001c5374616b696e67011c5374616b696e67000000000045000400000000007d0f0000000000",
8305
- "extra": {
8306
- "useLegacyTransferableCalculation": false,
8307
- "existentialDeposit": "1000000000000"
8308
- }
8309
- },
8310
8315
  {
8311
8316
  "id": "cc81f1e31a7951a03ce97f134a601f97",
8312
8317
  "source": "substrate-dtao",
@@ -8393,19 +8398,31 @@ var initChaindata_default = {
8393
8398
  "extra": null
8394
8399
  },
8395
8400
  {
8396
- "id": "f6968d187460262f60f1cf67a3fdc971",
8397
- "source": "substrate-assets",
8398
- "chainId": "polkadot",
8399
- "specVersion": 2005e3,
8401
+ "id": "f225e4b874f64c73cdfd47e6d4a5aacb",
8402
+ "source": "substrate-foreignassets",
8403
+ "chainId": "bittensor",
8404
+ "specVersion": 475,
8400
8405
  "version": "v14",
8401
8406
  "data": null,
8402
8407
  "extra": null
8403
8408
  },
8404
8409
  {
8405
- "id": "f81d7b72243f2294d537ca2ceecab0b1",
8410
+ "id": "f5211aa4fa5aba940e8b289bbbfb4d8a",
8411
+ "source": "substrate-native",
8412
+ "chainId": "bittensor",
8413
+ "specVersion": 475,
8414
+ "version": "v14",
8415
+ "data": "0x6d6574610f90000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c08306672616d655f73797374656d2c4163636f756e74496e666f08144e6f6e636501102c4163636f756e74446174610114001401146e6f6e63651001144e6f6e6365000124636f6e73756d657273100120526566436f756e7400012470726f766964657273100120526566436f756e7400012c73756666696369656e7473100120526566436f756e740001106461746114012c4163636f756e74446174610000100000050500140c3c70616c6c65745f62616c616e6365731474797065732c4163636f756e7444617461041c42616c616e63650118001001106672656518011c42616c616e6365000120726573657276656418011c42616c616e636500011866726f7a656e18011c42616c616e6365000114666c6167732001284578747261466c6167730000180c6073756274656e736f725f72756e74696d655f636f6d6d6f6e2063757272656e63792854616f42616c616e6365000004001c010c75363400001c0000050600200c3c70616c6c65745f62616c616e636573147479706573284578747261466c616773000004002401107531323800002400000507002800000504002c040c436f7704045401300004003000000030000005020034082873705f76657273696f6e3852756e74696d6556657273696f6e0000200124737065635f6e616d652c0144436f773c277374617469632c207374723e000124696d706c5f6e616d652c0144436f773c277374617469632c207374723e000144617574686f72696e675f76657273696f6e10010c753332000130737065635f76657273696f6e10010c753332000130696d706c5f76657273696f6e10010c7533320001106170697338011c4170697356656300014c7472616e73616374696f6e5f76657273696f6e10010c75333200013873797374656d5f76657273696f6e0801087538000038040c436f77040454013c0004003c0000003c0000024000400000040844100044000003080000000800480c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e646564566563080454014c0453000004005401185665633c543e00004c0c3c70616c6c65745f62616c616e6365731474797065732c42616c616e63654c6f636b041c42616c616e63650118000c010869644401384c6f636b4964656e746966696572000118616d6f756e7418011c42616c616e636500011c726561736f6e7350011c526561736f6e730000500c3c70616c6c65745f62616c616e6365731474797065731c526561736f6e7300010c0c466565000000104d6973630001000c416c6c00020000540000024c00580c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454015c0453000004006001185665633c543e00005c0c3c70616c6c65745f62616c616e6365731474797065732c52657365727665446174610844526573657276654964656e74696669657201441c42616c616e63650118000801086964440144526573657276654964656e746966696572000118616d6f756e7418011c42616c616e63650000600000025c00640c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401680453000004007c01185665633c543e00006814346672616d655f737570706f72741874726169747318746f6b656e73106d697363204964416d6f756e7408084964016c1c42616c616e636501180008010869646c01084964000118616d6f756e7418011c42616c616e636500006c08586e6f64655f73756274656e736f725f72756e74696d654452756e74696d65486f6c64526561736f6e00010c20507265696d616765040070016c70616c6c65745f707265696d6167653a3a486f6c64526561736f6e000e0020536166654d6f6465040074017070616c6c65745f736166655f6d6f64653a3a486f6c64526561736f6e00140024436f6e747261637473040078017070616c6c65745f636f6e7472616374733a3a486f6c64526561736f6e001d0000700c3c70616c6c65745f707265696d6167651870616c6c657428486f6c64526561736f6e00010420507265696d61676500000000740c4070616c6c65745f736166655f6d6f64651870616c6c657428486f6c64526561736f6e00010434456e7465724f72457874656e6400000000780c4070616c6c65745f636f6e7472616374731870616c6c657428486f6c64526561736f6e00010860436f646555706c6f61644465706f736974526573657276650000005453746f726167654465706f73697452657365727665000100007c0000026800800c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401840453000004008c01185665633c543e00008414346672616d655f737570706f72741874726169747318746f6b656e73106d697363204964416d6f756e740808496401881c42616c616e636501180008010869648801084964000118616d6f756e7418011c42616c616e636500008808586e6f64655f73756274656e736f725f72756e74696d654c52756e74696d65467265657a65526561736f6e000100008c0000028400081853797374656d011853797374656d041c4163636f756e7401010402000ce0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008004e8205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e0000081c56657273696f6e347105386e6f64652d73756274656e736f72386e6f64652d73756274656e736f7201000000db0100000100000064df6acb689907609b0500000037e397fc7c91f5e40200000040fe3ad401f8959a06000000fbc577b9d747efd601000000d2bc9897eed08f1503000000f78b278be53f454c02000000dd718d5cc53262d401000000ab3c0572291feb8b01000000ed99c5acb25eedf503000000bc9d89904f5b923f0100000037c8bb1350a9a2a804000000f3ff14d5ab52705903000000582211f65bb14b8906000000e65b00e46cedd0aa0200000068b66ba122c93fa70200000042e62be4a39e5b6001000000806df4ccaa9ed485010000008375104b299b74c5020000005d1fbfbe852f280701000000c6886e2f8e598b0a0100000043580abff6baab4505000000c0de4984d112f3b401000000cbca25e39f14238702000000a8b093e6508d9e9c010000001c4585bd5c7072020100000001000000010484204765742074686520636861696e277320696e2d636f64652076657273696f6e2e285353353850726566697828082a0014a8205468652064657369676e61746564205353353820707265666978206f66207468697320636861696e2e0039012054686973207265706c6163657320746865202273733538466f726d6174222070726f7065727479206465636c6172656420696e2074686520636861696e20737065632e20526561736f6e20697331012074686174207468652072756e74696d652073686f756c64206b6e6f772061626f7574207468652070726566697820696e206f7264657220746f206d616b6520757365206f662069742061737020616e206964656e746966696572206f662074686520636861696e2e0000002042616c616e636573012042616c616e63657310144c6f636b73010104020048040010b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e2501204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e00ad0120557365206f66206c6f636b73206973206465707265636174656420696e206661766f7572206f6620667265657a65732e20536565206068747470733a2f2f6769746875622e636f6d2f706172697479746563682f7375627374726174652f70756c6c2f31323935312f6020526573657276657301010402005804000ca4204e616d6564207265736572766573206f6e20736f6d65206163636f756e742062616c616e6365732e00b10120557365206f66207265736572766573206973206465707265636174656420696e206661766f7572206f6620686f6c64732e20536565206068747470733a2f2f6769746875622e636f6d2f706172697479746563682f7375627374726174652f70756c6c2f31323935312f6014486f6c64730101040200640400046c20486f6c6473206f6e206163636f756e742062616c616e6365732e1c467265657a65730101040200800400048820467265657a65206c6f636b73206f6e206163636f756e742062616c616e6365732e000000000500040000000000c5010000000000",
8416
+ "extra": {
8417
+ "useLegacyTransferableCalculation": false,
8418
+ "existentialDeposit": "500"
8419
+ }
8420
+ },
8421
+ {
8422
+ "id": "f6968d187460262f60f1cf67a3fdc971",
8406
8423
  "source": "substrate-assets",
8407
- "chainId": "hydradx",
8408
- "specVersion": 443,
8424
+ "chainId": "polkadot",
8425
+ "specVersion": 2005e3,
8409
8426
  "version": "v14",
8410
8427
  "data": null,
8411
8428
  "extra": null
@@ -8422,62 +8439,193 @@ var initChaindata_default = {
8422
8439
  ]
8423
8440
  };
8424
8441
  //#endregion
8442
+ //#region src/state/validatedCache.ts
8443
+ /**
8444
+ * Validation results by input object, so the expensive validation (thousands of tokens)
8445
+ * runs at most ONCE per object instead of on every emission or resubscription.
8446
+ *
8447
+ * Safe because chaindata objects are immutable by convention in this package, and a valid
8448
+ * output maps to its own result: re-parsing already-parsed data is idempotent (defaults
8449
+ * filled, token key order already applied).
8450
+ */
8451
+ const results = /* @__PURE__ */ new WeakMap();
8452
+ const validateChaindata = async (data, options) => {
8453
+ if (typeof data !== "object" || data === null) return parseChaindataFileChunked(data, options);
8454
+ const cached = results.get(data);
8455
+ if (cached) return cached;
8456
+ const result = await parseChaindataFileChunked(data, options);
8457
+ results.set(data, result);
8458
+ if (result.success) results.set(result.data, result);
8459
+ return result;
8460
+ };
8461
+ //#endregion
8462
+ //#region src/state/net.ts
8463
+ const getFallbackUrl = (url) => {
8464
+ if (url.startsWith("https://raw.githubusercontent.com/")) {
8465
+ const fallbackUrl = url.replace(/^https:\/\/raw\.githubusercontent\.com\/([^/]+)\/([^/]+)\//i, "https://cdn.jsdelivr.net/gh/$1/$2@");
8466
+ return fallbackUrl !== url ? fallbackUrl : null;
8467
+ }
8468
+ return null;
8469
+ };
8470
+ const fetchJson = async (url, { signal, validate, fallbackUrl } = {}) => {
8471
+ const req = await fetch(url, { signal });
8472
+ if (!req.ok) {
8473
+ if (fallbackUrl) return fetchJson(fallbackUrl, {
8474
+ validate,
8475
+ signal
8476
+ });
8477
+ throw new Error(`Failed to fetch from ${url}: ${req.status} ${req.statusText}`);
8478
+ }
8479
+ const data = await req.json();
8480
+ if (validate) {
8481
+ const start = performance.now();
8482
+ const result = await validate(data, signal);
8483
+ log_default.debug(`[ChaindataProvider] Validating downloaded ${url?.split("/").pop()} took ${performance.now() - start} ms`);
8484
+ if (!result.success) {
8485
+ log_default.error("Failed to parse data from", url, { error: result.error });
8486
+ throw new Error(`Schema validation failed for ${url}`);
8487
+ }
8488
+ return result.data;
8489
+ }
8490
+ return data;
8491
+ };
8492
+ const fetchChaindata = (url = DEFAULT_CHAINDATA_URL, signal) => fetchJson(url, {
8493
+ validate: (data, signal) => validateChaindata(data, { signal }),
8494
+ signal,
8495
+ fallbackUrl: url === DEFAULT_CHAINDATA_URL ? getFallbackUrl(url) : null
8496
+ });
8497
+ //#endregion
8498
+ //#region src/state/remoteChaindata.ts
8499
+ const REFRESH_INTERVAL = 3e5;
8500
+ const MIN_REFRESH_INTERVAL = 6e4;
8501
+ const remoteChaindataByUrl = /* @__PURE__ */ new Map();
8502
+ /**
8503
+ * Downloads the chaindata file at `url` and refreshes it every 5 minutes. Equivalent spellings
8504
+ * of a url share one observable. Throws if `url` is not a valid url.
8505
+ *
8506
+ * Emitted objects are shared and already validated: treat them as immutable, and filter them
8507
+ * by returning new objects.
8508
+ */
8509
+ const getRemoteChaindata$ = (url) => {
8510
+ const href = parseChaindataUrl(url);
8511
+ const existing = remoteChaindataByUrl.get(href);
8512
+ if (existing) return existing;
8513
+ const remoteChaindata$ = createRemoteChaindata$(href);
8514
+ remoteChaindataByUrl.set(href, remoteChaindata$);
8515
+ return remoteChaindata$;
8516
+ };
8517
+ const parseChaindataUrl = (url) => {
8518
+ try {
8519
+ return new URL(url).href;
8520
+ } catch (cause) {
8521
+ throw new Error(`Invalid chaindata url: "${url}"`, { cause });
8522
+ }
8523
+ };
8524
+ const createRemoteChaindata$ = (url) => {
8525
+ let lastUpdatedAt = 0;
8526
+ let lastData = null;
8527
+ return new Observable((subscriber) => {
8528
+ const controller = new AbortController();
8529
+ subscriber.add(() => controller.abort());
8530
+ let timeout = null;
8531
+ subscriber.add(() => timeout && clearTimeout(timeout));
8532
+ if (lastData && Date.now() < lastUpdatedAt + MIN_REFRESH_INTERVAL) subscriber.next(lastData);
8533
+ else lastData = null;
8534
+ const refresh = async () => {
8535
+ try {
8536
+ const delay = Math.max(0, lastUpdatedAt + MIN_REFRESH_INTERVAL - Date.now());
8537
+ if (delay > 0) await new Promise((resolve) => setTimeout(resolve, delay));
8538
+ if (controller.signal.aborted) return;
8539
+ log_default.debug("[remoteChaindata$] Refreshing chaindata from", url);
8540
+ const data = await fetchChaindata(url, controller.signal);
8541
+ lastUpdatedAt = Date.now();
8542
+ lastData = data;
8543
+ subscriber.next(data);
8544
+ } catch (error) {
8545
+ if (isAbortError(error)) return;
8546
+ log_default.error("Failed to fetch chaindata", error);
8547
+ if (!subscriber.closed) subscriber.error(error);
8548
+ } finally {
8549
+ if (!controller.signal.aborted) timeout = setTimeout(refresh, REFRESH_INTERVAL);
8550
+ }
8551
+ };
8552
+ refresh();
8553
+ }).pipe(shareReplay({
8554
+ bufferSize: 1,
8555
+ refCount: true
8556
+ }));
8557
+ };
8558
+ //#endregion
8425
8559
  //#region src/state/defaultChaindata.ts
8426
8560
  const EMPTY_DATA = {
8427
8561
  networks: [],
8428
8562
  tokens: [],
8429
8563
  miniMetadatas: []
8430
8564
  };
8431
- const getDefaultChaindata$ = (storage$) => {
8432
- let lastInput = null;
8433
- let lastOutput = EMPTY_DATA;
8565
+ const RETRY_BASE_DELAY = 3e4;
8566
+ const RETRY_MAX_DELAY = 3e5;
8567
+ const getRetryDelay = (retryCount) => Math.min(RETRY_BASE_DELAY * 2 ** (retryCount - 1), RETRY_MAX_DELAY);
8568
+ const validateProvidedChaindata = (providedChaindata$) => providedChaindata$.pipe(switchMapChunked(async (data, { slicer }) => {
8569
+ const validation = await validateChaindata(data, { slicer });
8570
+ if (!validation.success) {
8571
+ log_default.error("[defaultChaindata$] Invalid chaindata provided", { error: validation.error });
8572
+ return null;
8573
+ }
8574
+ return validation.data;
8575
+ }), filter(isNotNil), tap({ error: (cause) => log_default.error("[defaultChaindata$] Provided chaindata failed", { cause }) }));
8576
+ const getDefaultChaindata$ = (storage$, providedChaindata$) => {
8434
8577
  const storageValidated$ = storage$.pipe(switchMapChunked(async (data, { slicer }) => {
8435
- if (isChaindataValidated(data)) return data;
8436
- if (data === lastInput) return lastOutput;
8437
8578
  const start = performance.now();
8438
- const validation = await parseChaindataFileChunked(data, { slicer });
8579
+ const validation = await validateChaindata(data, { slicer });
8439
8580
  log_default.debug("[storageValidated$] Chaindata schema validation: %sms", (performance.now() - start).toFixed(2));
8440
- if (!validation.success) log_default.warn("[storageValidated$] Chaindata schema validation failed", { error: validation.error });
8441
- lastInput = data;
8442
- lastOutput = validation.success ? markChaindataValidated(validation.data) : EMPTY_DATA;
8443
- return lastOutput;
8581
+ if (validation.success) return validation.data;
8582
+ log_default.warn("[storageValidated$] Chaindata schema validation failed", { error: validation.error });
8583
+ return EMPTY_DATA;
8444
8584
  }), shareReplay({
8445
8585
  bufferSize: 1,
8446
8586
  refCount: true
8447
8587
  }));
8448
8588
  return new Observable((subscriber) => {
8449
- const githubToStorageSubscription = githubChaindata$.subscribe({
8450
- error: async () => {
8451
- const storageData = await firstValueFrom(storageValidated$);
8452
- if (storageData.networks.length || storageData.tokens.length || storageData.miniMetadatas.length) return log_default.info("[defaultChaindata$] DB is not empty, skipping initial data provision", storageData);
8453
- try {
8454
- log_default.info("[defaultChaindata$] Importing initial chaindata file");
8455
- const validation = await parseChaindataFileChunked(initChaindata_default);
8456
- if (!validation.success) {
8457
- log_default.error("[defaultChaindata$] initChaindata failed schema validation", { error: validation.error });
8458
- return;
8459
- }
8460
- storage$.next(markChaindataValidated(validation.data));
8461
- log_default.info("[defaultChaindata$] Initial chaindata file imported successfully");
8462
- } catch (cause) {
8463
- log_default.error("[defaultChaindata$] Failed to import initial chaindata file", { cause });
8589
+ const provisionInitialChaindata = async () => {
8590
+ const storageData = await firstValueFrom(storageValidated$);
8591
+ if (storageData.networks.length || storageData.tokens.length || storageData.miniMetadatas.length) return log_default.info("[defaultChaindata$] DB is not empty, skipping initial data provision", storageData);
8592
+ try {
8593
+ log_default.info("[defaultChaindata$] Importing initial chaindata file");
8594
+ const validation = await validateChaindata(initChaindata_default);
8595
+ if (!validation.success) {
8596
+ log_default.error("[defaultChaindata$] initChaindata failed schema validation", { error: validation.error });
8464
8597
  return;
8465
8598
  }
8466
- },
8467
- next: async (githubData) => {
8468
- const now = performance.now();
8469
- try {
8470
- const storageData = await firstValueFrom(storageValidated$);
8471
- if (!!await chaindataEqualWithYield(storageData, githubData)) return log_default.debug(`[defaultChaindata$] No db updates needed: ${performance.now() - now}ms`);
8472
- log_default.debug(`[defaultChaindata$] Updating chaindata in DB (networks:${githubData.networks.length}, tokens:${githubData.tokens.length}, meta:${githubData.miniMetadatas.length})`);
8473
- storage$.next(githubData);
8474
- log_default.info(`[defaultChaindata$] Db synchronized with GitHub :${performance.now() - now}ms`);
8475
- } catch (cause) {
8476
- log_default.error("[defaultChaindata$] Failed to sync chaindata", { cause });
8477
- }
8599
+ storage$.next(validation.data);
8600
+ log_default.info("[defaultChaindata$] Initial chaindata file imported successfully");
8601
+ } catch (cause) {
8602
+ log_default.error("[defaultChaindata$] Failed to import initial chaindata file", { cause });
8603
+ return;
8478
8604
  }
8479
- });
8480
- subscriber.add(githubToStorageSubscription);
8605
+ };
8606
+ const getStorageUpdate = async (sourceData, { slicer }) => {
8607
+ const now = performance.now();
8608
+ try {
8609
+ const storageData = await firstValueFrom(storageValidated$);
8610
+ if (!await chaindataEqualWithYield(storageData, sourceData, { slicer })) return sourceData;
8611
+ log_default.debug(`[defaultChaindata$] No db updates needed: ${performance.now() - now}ms`);
8612
+ return null;
8613
+ } catch (cause) {
8614
+ if (isAbortError(cause)) throw cause;
8615
+ log_default.error("[defaultChaindata$] Failed to sync chaindata", { cause });
8616
+ return null;
8617
+ }
8618
+ };
8619
+ const writeToStorage = (sourceData) => {
8620
+ log_default.debug(`[defaultChaindata$] Updating chaindata in DB (networks:${sourceData.networks.length}, tokens:${sourceData.tokens.length}, meta:${sourceData.miniMetadatas.length})`);
8621
+ storage$.next(sourceData);
8622
+ log_default.info("[defaultChaindata$] Db synchronized with chaindata source");
8623
+ };
8624
+ const sourceToStorageSubscription = (providedChaindata$ ? validateProvidedChaindata(providedChaindata$) : getRemoteChaindata$(DEFAULT_CHAINDATA_URL).pipe(tap({ error: provisionInitialChaindata }))).pipe(retry({
8625
+ delay: (_, retryCount) => timer(getRetryDelay(retryCount)),
8626
+ resetOnSuccess: true
8627
+ }), switchMapChunked(getStorageUpdate), filter(isNotNil)).subscribe(writeToStorage);
8628
+ subscriber.add(sourceToStorageSubscription);
8481
8629
  const outputFromStorageSubscription = storageValidated$.subscribe(subscriber);
8482
8630
  subscriber.add(outputFromStorageSubscription);
8483
8631
  }).pipe(shareReplay({
@@ -8505,7 +8653,7 @@ var ChaindataProvider = class {
8505
8653
  #chaindata$;
8506
8654
  #dynamicTokens$;
8507
8655
  #dynamicTokensWriteQueue = Promise.resolve();
8508
- constructor({ persistedStorage, customChaindata$, dynamicTokens$ } = {}) {
8656
+ constructor({ persistedStorage, customChaindata$, dynamicTokens$, chaindata$ } = {}) {
8509
8657
  tryToDeleteOldChaindataDb();
8510
8658
  const mergedStorage = isPromise(persistedStorage) ? persistedStorage.then((storage) => ({
8511
8659
  ...DEFAULT_STORAGE,
@@ -8515,7 +8663,8 @@ var ChaindataProvider = class {
8515
8663
  ...persistedStorage
8516
8664
  };
8517
8665
  this.#storage$ = replaySubjectFrom(mergedStorage);
8518
- const defaultChaindata$ = getDefaultChaindata$(this.#storage$);
8666
+ const providedChaindata$ = chaindata$ && (isObservable(chaindata$) ? chaindata$ : of(chaindata$));
8667
+ const defaultChaindata$ = getDefaultChaindata$(this.#storage$, providedChaindata$);
8519
8668
  this.#dynamicTokens$ = replaySubjectFrom(dynamicTokens$ ?? []);
8520
8669
  this.#chaindata$ = getCombinedChaindata$(defaultChaindata$, customChaindata$, this.#dynamicTokens$);
8521
8670
  }
@@ -8782,6 +8931,6 @@ const getGithubBittensorHotkeyAssetUrl = (fileName) => {
8782
8931
  return `${githubChaindataBaseUrl}/assets/bittensor/hotkeys/${fileName}`;
8783
8932
  };
8784
8933
  //#endregion
8785
- export { AnyMiniMetadataSchema, ChaindataFileSchema, ChaindataProvider, CustomChaindataSchema, DotNetworkBalancesConfigSchema, DotNetworkSchema, DotNetworkTopologySchema, EthNetworkBalancesConfigSchema, EthNetworkSchema, EthereumAddressSchema, EvmErc20BalancesConfigSchema, EvmErc20TokenSchema, EvmNativeBalancesConfigSchema, EvmNativeTokenSchema, EvmUniswapV2BalancesConfigSchema, EvmUniswapV2TokenSchema, HexStringSchema, MINIMETADATA_VERSION, NetworkBaseSchema, NetworkSchema, SolNativeBalancesConfigSchema, SolNativeTokenSchema, SolNetworkBalancesConfigSchema, SolNetworkSchema, SolSplBalancesConfigSchema, SolSplTokenSchema, SolToken2022BalancesConfigSchema, SolToken2022TokenSchema, SolanaAddressSchema, SubAssetsBalancesConfigSchema, SubAssetsTokenSchema, SubDTaoBalancesConfigSchema, SubDTaoTokenSchema, SubForeignAssetsBalancesConfigSchema, SubForeignAssetsTokenSchema, SubHydrationBalancesConfigSchema, SubHydrationTokenSchema, SubNativeBalancesConfigSchema, SubNativeTokenSchema, SubPsp22BalancesConfigSchema, SubPsp22TokenSchema, SubTokensBalancesConfigSchema, SubTokensTokenSchema, TOKEN_TYPE, TokenBaseSchema, TokenSchema, TokenSchemaBase, TokenTypeSchema, evmErc20TokenId, evmNativeTokenId, evmUniswapV2TokenId, getBlockExplorerLabel, getBlockExplorerUrls, getChaindataDbV3, getCleanNetwork, getCleanToken, getGithubBittensorHotkeyAssetUrl, getGithubTokenLogoUrl, getGithubTokenLogoUrlByCoingeckoId, getNetworkGenesisHash, isNativeToken, isNativeTokenType, isNetworkCustom, isNetworkDot, isNetworkEth, isNetworkInPlatforms, isNetworkKnown, isNetworkOfPlatform, isNetworkSol, isTokenCustom, isTokenDot, isTokenEth, isTokenEvmErc20, isTokenEvmNative, isTokenEvmUniswapV2, isTokenIdInTypes, isTokenIdOfType, isTokenInTypes, isTokenKnown, isTokenNeedExistentialDeposit, isTokenOfPlatform, isTokenOfType, isTokenSol, isTokenSolSpl, isTokenSolToken2022, isTokenSubAssets, isTokenSubDTao, isTokenSubForeignAssets, isTokenSubHydration, isTokenSubNative, isTokenSubPsp22, isTokenSubTokens, isTokenTestnet, networkIdFromTokenId, parseEvmErc20TokenId, parseEvmNativeTokenId, parseEvmUniswapV2TokenId, parseSolNativeTokenId, parseSolSplTokenId, parseSolToken2022TokenId, parseSubAssetTokenId, parseSubDTaoTokenId, parseSubForeignAssetTokenId, parseSubHydrationTokenId, parseSubNativeTokenId, parseSubPsp22TokenId, parseSubTokensTokenId, parseTokenId, solNativeTokenId, solSplTokenId, solToken2022TokenId, subAssetTokenId, subDTaoTokenId, subForeignAssetTokenId, subHydrationTokenId, subNativeTokenId, subPsp22TokenId, subTokensTokenId };
8934
+ export { AnyMiniMetadataSchema, ChaindataFileSchema, ChaindataProvider, CustomChaindataSchema, DEFAULT_CHAINDATA_URL, DotNetworkBalancesConfigSchema, DotNetworkSchema, DotNetworkTopologySchema, EthNetworkBalancesConfigSchema, EthNetworkSchema, EthereumAddressSchema, EvmErc20BalancesConfigSchema, EvmErc20TokenSchema, EvmNativeBalancesConfigSchema, EvmNativeTokenSchema, EvmUniswapV2BalancesConfigSchema, EvmUniswapV2TokenSchema, HexStringSchema, MINIMETADATA_VERSION, NetworkBaseSchema, NetworkSchema, SolNativeBalancesConfigSchema, SolNativeTokenSchema, SolNetworkBalancesConfigSchema, SolNetworkSchema, SolSplBalancesConfigSchema, SolSplTokenSchema, SolToken2022BalancesConfigSchema, SolToken2022TokenSchema, SolanaAddressSchema, SubAssetsBalancesConfigSchema, SubAssetsTokenSchema, SubDTaoBalancesConfigSchema, SubDTaoTokenSchema, SubForeignAssetsBalancesConfigSchema, SubForeignAssetsTokenSchema, SubHydrationBalancesConfigSchema, SubHydrationTokenSchema, SubNativeBalancesConfigSchema, SubNativeTokenSchema, SubPsp22BalancesConfigSchema, SubPsp22TokenSchema, SubTokensBalancesConfigSchema, SubTokensTokenSchema, TOKEN_TYPE, TokenBaseSchema, TokenSchema, TokenSchemaBase, TokenTypeSchema, evmErc20TokenId, evmNativeTokenId, evmUniswapV2TokenId, getBlockExplorerLabel, getBlockExplorerUrl, getBlockExplorerUrls, getChaindataDbV3, getCleanNetwork, getCleanToken, getGithubBittensorHotkeyAssetUrl, getGithubTokenLogoUrl, getGithubTokenLogoUrlByCoingeckoId, getNetworkGenesisHash, getRemoteChaindata$, isAccountPlatformCompatibleWithNetwork, isNativeToken, isNativeTokenType, isNetworkCustom, isNetworkDot, isNetworkEth, isNetworkInPlatforms, isNetworkKnown, isNetworkOfPlatform, isNetworkSol, isTokenCustom, isTokenDot, isTokenEth, isTokenEvmErc20, isTokenEvmNative, isTokenEvmUniswapV2, isTokenIdInTypes, isTokenIdOfType, isTokenInTypes, isTokenKnown, isTokenNeedExistentialDeposit, isTokenOfPlatform, isTokenOfType, isTokenSol, isTokenSolSpl, isTokenSolToken2022, isTokenSubAssets, isTokenSubDTao, isTokenSubForeignAssets, isTokenSubHydration, isTokenSubNative, isTokenSubPsp22, isTokenSubTokens, isTokenTestnet, networkIdFromTokenId, parseEvmErc20TokenId, parseEvmNativeTokenId, parseEvmUniswapV2TokenId, parseSolNativeTokenId, parseSolSplTokenId, parseSolToken2022TokenId, parseSubAssetTokenId, parseSubDTaoTokenId, parseSubForeignAssetTokenId, parseSubHydrationTokenId, parseSubNativeTokenId, parseSubPsp22TokenId, parseSubTokensTokenId, parseTokenId, solNativeTokenId, solSplTokenId, solToken2022TokenId, subAssetTokenId, subDTaoTokenId, subForeignAssetTokenId, subHydrationTokenId, subNativeTokenId, subPsp22TokenId, subTokensTokenId };
8786
8935
 
8787
8936
  //# sourceMappingURL=index.mjs.map