@talismn/chaindata-provider 0.8.0 → 0.8.1
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/declarations/src/ChaindataProvider.d.ts +90 -17
- package/dist/declarations/src/TalismanChaindataDatabase.d.ts +9 -0
- package/dist/declarations/src/constants.d.ts +13 -14
- package/dist/declarations/src/index.d.ts +5 -3
- package/dist/declarations/src/init/chains.d.ts +243 -0
- package/dist/declarations/src/init/evm-networks.d.ts +61 -0
- package/dist/declarations/src/init/index.d.ts +5 -0
- package/dist/declarations/src/init/mini-metadatas.d.ts +21 -0
- package/dist/declarations/src/init/tokens.d.ts +103 -0
- package/dist/declarations/src/log.d.ts +2 -0
- package/dist/declarations/src/net.d.ts +8 -0
- package/dist/declarations/src/types/Chain.d.ts +29 -1
- package/dist/declarations/src/types/ChaindataProviderInterface.d.ts +42 -0
- package/dist/declarations/src/types/EvmNetwork.d.ts +11 -1
- package/dist/declarations/src/types/Token/EvmErc20Token.d.ts +15 -0
- package/dist/declarations/src/types/Token/EvmNativeToken.d.ts +10 -0
- package/dist/declarations/src/types/Token/EvmUniswapV2Token.d.ts +22 -0
- package/dist/declarations/src/types/Token/SubstrateAssetsToken.d.ts +12 -0
- package/dist/declarations/src/types/Token/SubstrateEquilibriumToken.d.ts +11 -0
- package/dist/declarations/src/types/Token/SubstrateForeignAssetsToken.d.ts +12 -0
- package/dist/declarations/src/types/Token/SubstrateNativeToken.d.ts +13 -0
- package/dist/declarations/src/types/Token/SubstratePsp22Token.d.ts +11 -0
- package/dist/declarations/src/types/Token/SubstrateTokensToken.d.ts +11 -0
- package/dist/declarations/src/types/Token/index.d.ts +26 -0
- package/dist/declarations/src/types/Token/types.d.ts +27 -0
- package/dist/declarations/src/types/index.d.ts +1 -0
- package/dist/declarations/src/upgrades/2024-01-25-upgradeAddIsDefaultToExistingChains.d.ts +2 -0
- package/dist/declarations/src/upgrades/2024-01-25-upgradeRemoveSymbolFromNativeTokenId.d.ts +2 -0
- package/dist/declarations/src/upgrades/index.d.ts +1 -0
- package/dist/declarations/src/util.d.ts +27 -0
- package/dist/net-BE0MfrDv.cjs.dev.js +89 -0
- package/dist/net-BE0MfrDv.cjs.prod.js +89 -0
- package/dist/net-il4EYhJN.esm.js +55 -0
- package/dist/talismn-chaindata-provider.cjs.dev.js +893 -57
- package/dist/talismn-chaindata-provider.cjs.prod.js +893 -57
- package/dist/talismn-chaindata-provider.esm.js +842 -31
- package/init/chains/dist/talismn-chaindata-provider-init-chains.cjs.d.ts +1 -0
- package/init/chains/dist/talismn-chaindata-provider-init-chains.cjs.dev.js +934 -0
- package/init/chains/dist/talismn-chaindata-provider-init-chains.cjs.js +7 -0
- package/init/chains/dist/talismn-chaindata-provider-init-chains.cjs.prod.js +934 -0
- package/init/chains/dist/talismn-chaindata-provider-init-chains.esm.js +932 -0
- package/init/chains/package.json +4 -0
- package/init/evm-networks/dist/talismn-chaindata-provider-init-evm-networks.cjs.d.ts +1 -0
- package/init/evm-networks/dist/talismn-chaindata-provider-init-evm-networks.cjs.dev.js +69 -0
- package/init/evm-networks/dist/talismn-chaindata-provider-init-evm-networks.cjs.js +7 -0
- package/init/evm-networks/dist/talismn-chaindata-provider-init-evm-networks.cjs.prod.js +69 -0
- package/init/evm-networks/dist/talismn-chaindata-provider-init-evm-networks.esm.js +67 -0
- package/init/evm-networks/package.json +4 -0
- package/init/mini-metadatas/dist/talismn-chaindata-provider-init-mini-metadatas.cjs.d.ts +1 -0
- package/init/mini-metadatas/dist/talismn-chaindata-provider-init-mini-metadatas.cjs.dev.js +311 -0
- package/init/mini-metadatas/dist/talismn-chaindata-provider-init-mini-metadatas.cjs.js +7 -0
- package/init/mini-metadatas/dist/talismn-chaindata-provider-init-mini-metadatas.cjs.prod.js +311 -0
- package/init/mini-metadatas/dist/talismn-chaindata-provider-init-mini-metadatas.esm.js +309 -0
- package/init/mini-metadatas/package.json +4 -0
- package/init/tokens/dist/talismn-chaindata-provider-init-tokens.cjs.d.ts +1 -0
- package/init/tokens/dist/talismn-chaindata-provider-init-tokens.cjs.dev.js +406 -0
- package/init/tokens/dist/talismn-chaindata-provider-init-tokens.cjs.js +7 -0
- package/init/tokens/dist/talismn-chaindata-provider-init-tokens.cjs.prod.js +406 -0
- package/init/tokens/dist/talismn-chaindata-provider-init-tokens.esm.js +404 -0
- package/init/tokens/package.json +4 -0
- package/net/dist/talismn-chaindata-provider-net.cjs.d.ts +1 -0
- package/net/dist/talismn-chaindata-provider-net.cjs.dev.js +14 -0
- package/net/dist/talismn-chaindata-provider-net.cjs.js +7 -0
- package/net/dist/talismn-chaindata-provider-net.cjs.prod.js +14 -0
- package/net/dist/talismn-chaindata-provider-net.esm.js +1 -0
- package/net/package.json +4 -0
- package/package.json +26 -13
- package/CHANGELOG.md +0 -115
- package/dist/declarations/src/helpers.d.ts +0 -3
- package/dist/declarations/src/plugins.d.ts +0 -17
- package/dist/declarations/src/types/Token.d.ts +0 -58
- package/plugins/dist/talismn-chaindata-provider-plugins.cjs.d.ts +0 -1
- package/plugins/dist/talismn-chaindata-provider-plugins.cjs.dev.js +0 -2
- package/plugins/dist/talismn-chaindata-provider-plugins.cjs.js +0 -7
- package/plugins/dist/talismn-chaindata-provider-plugins.cjs.prod.js +0 -2
- package/plugins/dist/talismn-chaindata-provider-plugins.esm.js +0 -1
- package/plugins/package.json +0 -4
|
@@ -1,18 +1,91 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
import { Transaction, TransactionMode } from "dexie";
|
|
2
|
+
import { ReplaySubject } from "rxjs";
|
|
3
|
+
import { Chain, ChainId, CustomChain, CustomEvmNetwork, EvmNetwork, EvmNetworkId, IChaindataProvider, Token, TokenId } from "./types";
|
|
4
|
+
export type ChaindataProviderOptions = {
|
|
5
|
+
onfinalityApiKey?: string;
|
|
6
|
+
};
|
|
7
|
+
export declare class ChaindataProvider implements IChaindataProvider {
|
|
8
|
+
#private;
|
|
9
|
+
constructor(options?: ChaindataProviderOptions);
|
|
10
|
+
destroy(): void;
|
|
11
|
+
setOnfinalityApiKey(apiKey: string | undefined): void;
|
|
12
|
+
chainsObservable: ReplaySubject<(Chain | CustomChain)[]>;
|
|
13
|
+
chains(): Promise<(Chain | CustomChain)[]>;
|
|
14
|
+
evmNetworksObservable: ReplaySubject<(EvmNetwork | CustomEvmNetwork)[]>;
|
|
15
|
+
evmNetworks(): Promise<(EvmNetwork | CustomEvmNetwork)[]>;
|
|
16
|
+
tokensObservable: ReplaySubject<Token[]>;
|
|
17
|
+
tokens(): Promise<Token[]>;
|
|
18
|
+
get customChainsObservable(): import("rxjs").Observable<CustomChain[]>;
|
|
19
|
+
customChains(): Promise<CustomChain[]>;
|
|
20
|
+
get customEvmNetworksObservable(): import("rxjs").Observable<CustomEvmNetwork[]>;
|
|
21
|
+
customEvmNetworks(): Promise<CustomEvmNetwork[]>;
|
|
22
|
+
get customTokensObservable(): import("rxjs").Observable<Token[]>;
|
|
23
|
+
customTokens(): Promise<Token[]>;
|
|
24
|
+
get chainIdsObservable(): import("rxjs").Observable<string[]>;
|
|
25
|
+
chainIds(): Promise<string[]>;
|
|
26
|
+
get evmNetworkIdsObservable(): import("rxjs").Observable<string[]>;
|
|
27
|
+
evmNetworkIds(): Promise<string[]>;
|
|
28
|
+
get tokenIdsObservable(): import("rxjs").Observable<string[]>;
|
|
29
|
+
tokenIds(): Promise<string[]>;
|
|
30
|
+
get chainsByIdObservable(): import("rxjs").Observable<Record<string, Chain | CustomChain>>;
|
|
31
|
+
chainsById(): Promise<Record<string, Chain | CustomChain>>;
|
|
32
|
+
get evmNetworksByIdObservable(): import("rxjs").Observable<Record<string, EvmNetwork | CustomEvmNetwork>>;
|
|
33
|
+
evmNetworksById(): Promise<Record<string, EvmNetwork | CustomEvmNetwork>>;
|
|
34
|
+
get tokensByIdObservable(): import("rxjs").Observable<Record<string, Token>>;
|
|
35
|
+
tokensById(): Promise<Record<string, Token>>;
|
|
36
|
+
tokensByIdForType<TokenType extends Token["type"]>(type: TokenType): Promise<Record<string, Token>>;
|
|
37
|
+
get chainsByGenesisHashObservable(): import("rxjs").Observable<Record<string, Chain | CustomChain>>;
|
|
38
|
+
chainsByGenesisHash(): Promise<Record<string, Chain | CustomChain>>;
|
|
39
|
+
chainById(chainId: ChainId): Promise<Chain | null>;
|
|
40
|
+
chainByGenesisHash(genesisHash: `0x${string}`): Promise<Chain | null>;
|
|
41
|
+
evmNetworkById(evmNetworkId: EvmNetworkId): Promise<EvmNetwork | null>;
|
|
42
|
+
tokenById(tokenId: TokenId): Promise<Token | null>;
|
|
43
|
+
addCustomChain(customChain: CustomChain): Promise<string | undefined>;
|
|
44
|
+
removeCustomChain(chainId: ChainId): Promise<number>;
|
|
45
|
+
setCustomChains(chains: CustomChain[]): Promise<void>;
|
|
46
|
+
resetChain(chainId: ChainId): Promise<void>;
|
|
47
|
+
addCustomEvmNetwork(customEvmNetwork: CustomEvmNetwork): Promise<string | void>;
|
|
48
|
+
removeCustomEvmNetwork(evmNetworkId: EvmNetworkId): Promise<void>;
|
|
49
|
+
setCustomEvmNetworks(networks: CustomEvmNetwork[]): Promise<void>;
|
|
50
|
+
resetEvmNetwork(evmNetworkId: EvmNetworkId): Promise<void>;
|
|
51
|
+
addCustomToken(customToken: Token): Promise<string | void>;
|
|
52
|
+
removeCustomToken(tokenId: TokenId): Promise<number>;
|
|
53
|
+
setCustomTokens(tokens: Token[]): Promise<void>;
|
|
54
|
+
removeToken(tokenId: TokenId): Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* Hydrate the db with the latest chaindata from subsquid.
|
|
57
|
+
*
|
|
58
|
+
* @returns A promise which resolves to true if any db table has been hydrated, or false if all hydration has been skipped.
|
|
59
|
+
*/
|
|
60
|
+
hydrate({ tokensArgs, }?: {
|
|
61
|
+
chainsArgs?: Parameters<ChaindataProvider["hydrateChains"]>;
|
|
62
|
+
evmNetworksArgs?: Parameters<ChaindataProvider["hydrateEvmNetworks"]>;
|
|
63
|
+
tokensArgs?: Parameters<ChaindataProvider["hydrateSubstrateTokens"]>;
|
|
64
|
+
}): Promise<boolean>;
|
|
65
|
+
/**
|
|
66
|
+
* Hydrate the db with the latest chains from subsquid.
|
|
67
|
+
* Hydration is skipped when the last successful hydration was less than minimumHydrationInterval ms ago.
|
|
68
|
+
*
|
|
69
|
+
* @returns A promise which resolves to true if the db has been hydrated, or false if the hydration was skipped.
|
|
70
|
+
*/
|
|
71
|
+
hydrateChains(): Promise<boolean>;
|
|
72
|
+
/**
|
|
73
|
+
* Hydrate the db with the latest evmNetworks from subsquid.
|
|
74
|
+
* Hydration is skipped when the last successful hydration was less than minimumHydrationInterval ms ago.
|
|
75
|
+
*
|
|
76
|
+
* @returns A promise which resolves to true if the db has been hydrated, or false if the hydration was skipped.
|
|
77
|
+
*/
|
|
78
|
+
hydrateEvmNetworks(): Promise<boolean>;
|
|
79
|
+
updateChainTokens(chainId: ChainId, source: string, newTokens: Token[], availableTokenLogoFilenames: string[]): Promise<void>;
|
|
80
|
+
updateEvmNetworkTokens(newTokens: Token[]): Promise<void>;
|
|
81
|
+
/**
|
|
82
|
+
* Hydrate the db with the latest tokens from subsquid.
|
|
83
|
+
* Hydration is skipped when the last successful hydration was less than minimumHydrationInterval ms ago.
|
|
84
|
+
*
|
|
85
|
+
* @returns A promise which resolves to true if the db has been hydrated, or false if the hydration was skipped.
|
|
86
|
+
*/
|
|
87
|
+
hydrateSubstrateTokens(chainIdFilter?: ChainId[]): Promise<boolean>;
|
|
88
|
+
getIsBuiltInChain(chainId: ChainId): Promise<boolean>;
|
|
89
|
+
getIsBuiltInEvmNetwork(evmNetworkId: EvmNetworkId): Promise<boolean>;
|
|
90
|
+
transaction<U>(mode: TransactionMode, tables: string[], scope: (trans: Transaction) => PromiseLike<U> | U): Promise<U>;
|
|
18
91
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Dexie } from "dexie";
|
|
2
|
+
import { Chain, ChainId, CustomChain, CustomEvmNetwork, EvmNetwork, EvmNetworkId, Token, TokenId } from "./types";
|
|
3
|
+
export declare class TalismanChaindataDatabase extends Dexie {
|
|
4
|
+
chains: Dexie.Table<Chain | CustomChain, ChainId>;
|
|
5
|
+
evmNetworks: Dexie.Table<EvmNetwork | CustomEvmNetwork, EvmNetworkId>;
|
|
6
|
+
tokens: Dexie.Table<Token, TokenId>;
|
|
7
|
+
constructor();
|
|
8
|
+
}
|
|
9
|
+
export declare const db: TalismanChaindataDatabase;
|
|
@@ -1,23 +1,12 @@
|
|
|
1
1
|
import { ChainId, EvmNetworkId, TokenId } from "./types";
|
|
2
|
-
export declare const chaindataUrl = "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/dist";
|
|
3
|
-
export declare const chaindataChainsAllUrl = "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/dist/chains/all.json";
|
|
4
|
-
export declare const chaindataChainsSummaryUrl = "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/dist/chains/summary.json";
|
|
5
|
-
export declare const chaindataChainByIdUrl: (chainId: string) => string;
|
|
6
|
-
export declare const chaindataChainByGenesisHashUrl: (genesisHash: string) => string;
|
|
7
|
-
export declare const chaindataEvmNetworksAllUrl = "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/dist/evmNetworks/all.json";
|
|
8
|
-
export declare const chaindataEvmNetworksSummaryUrl = "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/dist/evmNetworks/summary.json";
|
|
9
|
-
export declare const chaindataEvmNetworkByIdUrl: (evmNetworkId: string) => string;
|
|
10
|
-
export declare const chaindataTokensAllUrl = "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/dist/tokens/all.json";
|
|
11
|
-
export declare const chaindataTokenByIdUrl: (tokenId: string) => string;
|
|
12
|
-
export declare const chaindataMiniMetadatasAllUrl = "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/dist/miniMetadatas/all.json";
|
|
13
2
|
export declare const githubApi = "https://api.github.com";
|
|
3
|
+
export declare const githubCdn = "https://raw.githubusercontent.com";
|
|
14
4
|
export declare const githubChaindataOrg = "TalismanSociety";
|
|
15
5
|
export declare const githubChaindataRepo = "chaindata";
|
|
16
6
|
export declare const githubChaindataBranch = "main";
|
|
7
|
+
export declare const githubChaindataDistDir = "pub/v2";
|
|
17
8
|
export declare const githubChaindataBaseUrl = "https://raw.githubusercontent.com/TalismanSociety/chaindata/main";
|
|
18
|
-
export declare const
|
|
19
|
-
export declare const githubTestnetChainsUrl = "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/data/testnets-chaindata.json";
|
|
20
|
-
export declare const githubEvmNetworksUrl = "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/data/evm-networks.json";
|
|
9
|
+
export declare const githubChaindataDistUrl = "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/pub/v2";
|
|
21
10
|
export declare const githubChaindataChainsAssetsDir = "assets/chains";
|
|
22
11
|
export declare const githubChaindataTokensAssetsDir = "assets/tokens";
|
|
23
12
|
export declare const githubChainLogoUrl: (chainId: ChainId) => string;
|
|
@@ -25,3 +14,13 @@ export declare const githubEvmNetworkLogoUrl: (networkId: EvmNetworkId) => strin
|
|
|
25
14
|
export declare const githubTokenLogoUrl: (tokenId: TokenId) => string;
|
|
26
15
|
export declare const githubUnknownChainLogoUrl: string;
|
|
27
16
|
export declare const githubUnknownTokenLogoUrl: string;
|
|
17
|
+
export declare const chaindataChainsAllUrl = "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/pub/v2/chains/all.json";
|
|
18
|
+
export declare const chaindataChainsSummaryUrl = "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/pub/v2/chains/summary.json";
|
|
19
|
+
export declare const chaindataChainByIdUrl: (chainId: string) => string;
|
|
20
|
+
export declare const chaindataChainByGenesisHashUrl: (genesisHash: string) => string;
|
|
21
|
+
export declare const chaindataEvmNetworksAllUrl = "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/pub/v2/evmNetworks/all.json";
|
|
22
|
+
export declare const chaindataEvmNetworksSummaryUrl = "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/pub/v2/evmNetworks/summary.json";
|
|
23
|
+
export declare const chaindataEvmNetworkByIdUrl: (evmNetworkId: string) => string;
|
|
24
|
+
export declare const chaindataTokensAllUrl = "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/pub/v2/tokens/all.json";
|
|
25
|
+
export declare const chaindataTokenByIdUrl: (tokenId: string) => string;
|
|
26
|
+
export declare const chaindataMiniMetadatasAllUrl = "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/pub/v2/miniMetadatas/all.json";
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
export * from "./ChaindataProvider";
|
|
2
|
-
export * from "./types";
|
|
3
1
|
export * from "./constants";
|
|
4
|
-
export * from "./
|
|
2
|
+
export * from "./init";
|
|
3
|
+
export * from "./net";
|
|
4
|
+
export * from "./types";
|
|
5
|
+
export * from "./util";
|
|
6
|
+
export * from "./ChaindataProvider";
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
export declare const chains: ({
|
|
2
|
+
id: string;
|
|
3
|
+
isTestnet: boolean;
|
|
4
|
+
isDefault: boolean;
|
|
5
|
+
sortIndex: number;
|
|
6
|
+
genesisHash: string;
|
|
7
|
+
prefix: number;
|
|
8
|
+
name: string;
|
|
9
|
+
themeColor: string;
|
|
10
|
+
logo: string;
|
|
11
|
+
chainName: string;
|
|
12
|
+
chainType: string;
|
|
13
|
+
implName: string;
|
|
14
|
+
specName: string;
|
|
15
|
+
specVersion: string;
|
|
16
|
+
nativeToken: {
|
|
17
|
+
id: string;
|
|
18
|
+
};
|
|
19
|
+
tokens: {
|
|
20
|
+
id: string;
|
|
21
|
+
}[];
|
|
22
|
+
account: string;
|
|
23
|
+
subscanUrl: string;
|
|
24
|
+
chainspecQrUrl: string;
|
|
25
|
+
latestMetadataQrUrl: string;
|
|
26
|
+
isUnknownFeeToken: boolean;
|
|
27
|
+
feeToken: null;
|
|
28
|
+
rpcs: {
|
|
29
|
+
url: string;
|
|
30
|
+
}[];
|
|
31
|
+
evmNetworks: never[];
|
|
32
|
+
parathreads: {
|
|
33
|
+
id: string;
|
|
34
|
+
paraId: number;
|
|
35
|
+
name: string;
|
|
36
|
+
}[];
|
|
37
|
+
paraId: null;
|
|
38
|
+
relay: null;
|
|
39
|
+
balancesConfig: {
|
|
40
|
+
moduleType: string;
|
|
41
|
+
moduleConfig: {
|
|
42
|
+
coingeckoId: string;
|
|
43
|
+
dcentName: string;
|
|
44
|
+
logo: string;
|
|
45
|
+
};
|
|
46
|
+
}[];
|
|
47
|
+
balancesMetadata: never[];
|
|
48
|
+
hasCheckMetadataHash: boolean;
|
|
49
|
+
oldPrefix?: undefined;
|
|
50
|
+
} | {
|
|
51
|
+
id: string;
|
|
52
|
+
isTestnet: boolean;
|
|
53
|
+
isDefault: boolean;
|
|
54
|
+
sortIndex: number;
|
|
55
|
+
genesisHash: string;
|
|
56
|
+
prefix: number;
|
|
57
|
+
name: string;
|
|
58
|
+
themeColor: string;
|
|
59
|
+
logo: string;
|
|
60
|
+
chainName: string;
|
|
61
|
+
chainType: string;
|
|
62
|
+
implName: string;
|
|
63
|
+
specName: string;
|
|
64
|
+
specVersion: string;
|
|
65
|
+
nativeToken: {
|
|
66
|
+
id: string;
|
|
67
|
+
};
|
|
68
|
+
tokens: {
|
|
69
|
+
id: string;
|
|
70
|
+
}[];
|
|
71
|
+
account: string;
|
|
72
|
+
subscanUrl: string;
|
|
73
|
+
chainspecQrUrl: string;
|
|
74
|
+
latestMetadataQrUrl: string;
|
|
75
|
+
isUnknownFeeToken: boolean;
|
|
76
|
+
feeToken: null;
|
|
77
|
+
rpcs: {
|
|
78
|
+
url: string;
|
|
79
|
+
}[];
|
|
80
|
+
evmNetworks: never[];
|
|
81
|
+
parathreads: {
|
|
82
|
+
id: string;
|
|
83
|
+
paraId: number;
|
|
84
|
+
name: string;
|
|
85
|
+
}[];
|
|
86
|
+
paraId: null;
|
|
87
|
+
relay: null;
|
|
88
|
+
balancesConfig: {
|
|
89
|
+
moduleType: string;
|
|
90
|
+
moduleConfig: {
|
|
91
|
+
coingeckoId: string;
|
|
92
|
+
logo: string;
|
|
93
|
+
};
|
|
94
|
+
}[];
|
|
95
|
+
balancesMetadata: never[];
|
|
96
|
+
hasCheckMetadataHash: boolean;
|
|
97
|
+
oldPrefix?: undefined;
|
|
98
|
+
} | {
|
|
99
|
+
id: string;
|
|
100
|
+
isTestnet: boolean;
|
|
101
|
+
isDefault: boolean;
|
|
102
|
+
sortIndex: number;
|
|
103
|
+
genesisHash: string;
|
|
104
|
+
prefix: number;
|
|
105
|
+
name: string;
|
|
106
|
+
themeColor: string;
|
|
107
|
+
logo: string;
|
|
108
|
+
chainName: string;
|
|
109
|
+
chainType: string;
|
|
110
|
+
implName: string;
|
|
111
|
+
specName: string;
|
|
112
|
+
specVersion: string;
|
|
113
|
+
nativeToken: {
|
|
114
|
+
id: string;
|
|
115
|
+
};
|
|
116
|
+
tokens: {
|
|
117
|
+
id: string;
|
|
118
|
+
}[];
|
|
119
|
+
account: string;
|
|
120
|
+
subscanUrl: string;
|
|
121
|
+
chainspecQrUrl: string;
|
|
122
|
+
latestMetadataQrUrl: string;
|
|
123
|
+
isUnknownFeeToken: boolean;
|
|
124
|
+
feeToken: null;
|
|
125
|
+
rpcs: {
|
|
126
|
+
url: string;
|
|
127
|
+
}[];
|
|
128
|
+
evmNetworks: never[];
|
|
129
|
+
parathreads: null;
|
|
130
|
+
paraId: number;
|
|
131
|
+
relay: {
|
|
132
|
+
id: string;
|
|
133
|
+
};
|
|
134
|
+
balancesConfig: ({
|
|
135
|
+
moduleType: string;
|
|
136
|
+
moduleConfig: {
|
|
137
|
+
coingeckoId: string;
|
|
138
|
+
logo: string;
|
|
139
|
+
tokens?: undefined;
|
|
140
|
+
};
|
|
141
|
+
} | {
|
|
142
|
+
moduleType: string;
|
|
143
|
+
moduleConfig: {
|
|
144
|
+
tokens: ({
|
|
145
|
+
assetId: number;
|
|
146
|
+
symbol: string;
|
|
147
|
+
coingeckoId: string;
|
|
148
|
+
logo: string;
|
|
149
|
+
} | {
|
|
150
|
+
assetId: number;
|
|
151
|
+
symbol: string;
|
|
152
|
+
logo: string;
|
|
153
|
+
coingeckoId?: undefined;
|
|
154
|
+
})[];
|
|
155
|
+
coingeckoId?: undefined;
|
|
156
|
+
logo?: undefined;
|
|
157
|
+
};
|
|
158
|
+
})[];
|
|
159
|
+
balancesMetadata: never[];
|
|
160
|
+
hasCheckMetadataHash: boolean;
|
|
161
|
+
oldPrefix?: undefined;
|
|
162
|
+
} | {
|
|
163
|
+
id: string;
|
|
164
|
+
isTestnet: boolean;
|
|
165
|
+
isDefault: boolean;
|
|
166
|
+
sortIndex: number;
|
|
167
|
+
genesisHash: string;
|
|
168
|
+
prefix: number;
|
|
169
|
+
oldPrefix: number;
|
|
170
|
+
name: string;
|
|
171
|
+
themeColor: string;
|
|
172
|
+
logo: string;
|
|
173
|
+
chainName: string;
|
|
174
|
+
chainType: string;
|
|
175
|
+
implName: string;
|
|
176
|
+
specName: string;
|
|
177
|
+
specVersion: string;
|
|
178
|
+
nativeToken: {
|
|
179
|
+
id: string;
|
|
180
|
+
};
|
|
181
|
+
tokens: {
|
|
182
|
+
id: string;
|
|
183
|
+
}[];
|
|
184
|
+
account: string;
|
|
185
|
+
subscanUrl: string;
|
|
186
|
+
chainspecQrUrl: string;
|
|
187
|
+
latestMetadataQrUrl: string;
|
|
188
|
+
isUnknownFeeToken: boolean;
|
|
189
|
+
feeToken: null;
|
|
190
|
+
rpcs: {
|
|
191
|
+
url: string;
|
|
192
|
+
}[];
|
|
193
|
+
evmNetworks: never[];
|
|
194
|
+
parathreads: null;
|
|
195
|
+
paraId: number;
|
|
196
|
+
relay: {
|
|
197
|
+
id: string;
|
|
198
|
+
};
|
|
199
|
+
balancesConfig: ({
|
|
200
|
+
moduleType: string;
|
|
201
|
+
moduleConfig: {
|
|
202
|
+
coingeckoId: string;
|
|
203
|
+
logo: string;
|
|
204
|
+
tokens?: undefined;
|
|
205
|
+
};
|
|
206
|
+
} | {
|
|
207
|
+
moduleType: string;
|
|
208
|
+
moduleConfig: {
|
|
209
|
+
tokens: ({
|
|
210
|
+
assetId: number;
|
|
211
|
+
symbol: string;
|
|
212
|
+
coingeckoId: string;
|
|
213
|
+
logo: string;
|
|
214
|
+
} | {
|
|
215
|
+
assetId: number;
|
|
216
|
+
symbol: string;
|
|
217
|
+
logo: string;
|
|
218
|
+
coingeckoId?: undefined;
|
|
219
|
+
})[];
|
|
220
|
+
coingeckoId?: undefined;
|
|
221
|
+
logo?: undefined;
|
|
222
|
+
};
|
|
223
|
+
} | {
|
|
224
|
+
moduleType: string;
|
|
225
|
+
moduleConfig: {
|
|
226
|
+
tokens: ({
|
|
227
|
+
onChainId: string;
|
|
228
|
+
symbol: string;
|
|
229
|
+
coingeckoId: string;
|
|
230
|
+
logo: string;
|
|
231
|
+
} | {
|
|
232
|
+
onChainId: string;
|
|
233
|
+
symbol: string;
|
|
234
|
+
logo: string;
|
|
235
|
+
coingeckoId?: undefined;
|
|
236
|
+
})[];
|
|
237
|
+
coingeckoId?: undefined;
|
|
238
|
+
logo?: undefined;
|
|
239
|
+
};
|
|
240
|
+
})[];
|
|
241
|
+
balancesMetadata: never[];
|
|
242
|
+
hasCheckMetadataHash: boolean;
|
|
243
|
+
})[];
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export declare const evmNetworks: {
|
|
2
|
+
id: string;
|
|
3
|
+
isTestnet: boolean;
|
|
4
|
+
sortIndex: number;
|
|
5
|
+
name: string;
|
|
6
|
+
themeColor: string;
|
|
7
|
+
logo: string;
|
|
8
|
+
nativeToken: null;
|
|
9
|
+
tokens: never[];
|
|
10
|
+
explorerUrl: string;
|
|
11
|
+
rpcs: {
|
|
12
|
+
url: string;
|
|
13
|
+
}[];
|
|
14
|
+
substrateChain: null;
|
|
15
|
+
feeType: string;
|
|
16
|
+
erc20aggregator: string;
|
|
17
|
+
balancesConfig: ({
|
|
18
|
+
moduleType: string;
|
|
19
|
+
moduleConfig: {
|
|
20
|
+
coingeckoId: string;
|
|
21
|
+
dcentName: string;
|
|
22
|
+
symbol: string;
|
|
23
|
+
decimals: number;
|
|
24
|
+
logo: string;
|
|
25
|
+
tokens?: undefined;
|
|
26
|
+
pools?: undefined;
|
|
27
|
+
};
|
|
28
|
+
} | {
|
|
29
|
+
moduleType: string;
|
|
30
|
+
moduleConfig: {
|
|
31
|
+
tokens: {
|
|
32
|
+
symbol: string;
|
|
33
|
+
contractAddress: string;
|
|
34
|
+
coingeckoId: string;
|
|
35
|
+
isDefault: boolean;
|
|
36
|
+
decimals: number;
|
|
37
|
+
logo: string;
|
|
38
|
+
}[];
|
|
39
|
+
coingeckoId?: undefined;
|
|
40
|
+
dcentName?: undefined;
|
|
41
|
+
symbol?: undefined;
|
|
42
|
+
decimals?: undefined;
|
|
43
|
+
logo?: undefined;
|
|
44
|
+
pools?: undefined;
|
|
45
|
+
};
|
|
46
|
+
} | {
|
|
47
|
+
moduleType: string;
|
|
48
|
+
moduleConfig: {
|
|
49
|
+
pools: never[];
|
|
50
|
+
logo: string;
|
|
51
|
+
coingeckoId?: undefined;
|
|
52
|
+
dcentName?: undefined;
|
|
53
|
+
symbol?: undefined;
|
|
54
|
+
decimals?: undefined;
|
|
55
|
+
tokens?: undefined;
|
|
56
|
+
};
|
|
57
|
+
})[];
|
|
58
|
+
balancesMetadata: never[];
|
|
59
|
+
isDefault: boolean;
|
|
60
|
+
forceScan: boolean;
|
|
61
|
+
}[];
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Chain, EvmNetwork, Token } from "../types";
|
|
2
|
+
export declare const fetchInitChains: () => Promise<Chain[]>;
|
|
3
|
+
export declare const fetchInitEvmNetworks: () => Promise<EvmNetwork[]>;
|
|
4
|
+
export declare const fetchInitSubstrateTokens: () => Promise<Token[]>;
|
|
5
|
+
export declare const fetchInitMiniMetadatas: () => Promise<any[]>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare const miniMetadatas: ({
|
|
2
|
+
id: string;
|
|
3
|
+
source: string;
|
|
4
|
+
chainId: string;
|
|
5
|
+
specName: string;
|
|
6
|
+
specVersion: string;
|
|
7
|
+
balancesConfig: string;
|
|
8
|
+
extra: string;
|
|
9
|
+
version?: undefined;
|
|
10
|
+
data?: undefined;
|
|
11
|
+
} | {
|
|
12
|
+
id: string;
|
|
13
|
+
source: string;
|
|
14
|
+
chainId: string;
|
|
15
|
+
specName: string;
|
|
16
|
+
specVersion: string;
|
|
17
|
+
balancesConfig: string;
|
|
18
|
+
version: number;
|
|
19
|
+
data: string;
|
|
20
|
+
extra: string;
|
|
21
|
+
})[];
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
export declare const tokens: ({
|
|
2
|
+
id: string;
|
|
3
|
+
type: string;
|
|
4
|
+
isTestnet: boolean;
|
|
5
|
+
isDefault: boolean;
|
|
6
|
+
symbol: string;
|
|
7
|
+
decimals: number;
|
|
8
|
+
logo: string;
|
|
9
|
+
existentialDeposit: string;
|
|
10
|
+
assetId: string;
|
|
11
|
+
isFrozen: boolean;
|
|
12
|
+
chain: {
|
|
13
|
+
id: string;
|
|
14
|
+
};
|
|
15
|
+
coingeckoId?: undefined;
|
|
16
|
+
onChainId?: undefined;
|
|
17
|
+
dcentName?: undefined;
|
|
18
|
+
} | {
|
|
19
|
+
id: string;
|
|
20
|
+
type: string;
|
|
21
|
+
isTestnet: boolean;
|
|
22
|
+
isDefault: boolean;
|
|
23
|
+
symbol: string;
|
|
24
|
+
decimals: number;
|
|
25
|
+
logo: string;
|
|
26
|
+
existentialDeposit: string;
|
|
27
|
+
assetId: string;
|
|
28
|
+
isFrozen: boolean;
|
|
29
|
+
chain: {
|
|
30
|
+
id: string;
|
|
31
|
+
};
|
|
32
|
+
coingeckoId: string;
|
|
33
|
+
onChainId?: undefined;
|
|
34
|
+
dcentName?: undefined;
|
|
35
|
+
} | {
|
|
36
|
+
id: string;
|
|
37
|
+
type: string;
|
|
38
|
+
isTestnet: boolean;
|
|
39
|
+
isDefault: boolean;
|
|
40
|
+
symbol: string;
|
|
41
|
+
decimals: number;
|
|
42
|
+
logo: string;
|
|
43
|
+
existentialDeposit: string;
|
|
44
|
+
chain: {
|
|
45
|
+
id: string;
|
|
46
|
+
};
|
|
47
|
+
coingeckoId: string;
|
|
48
|
+
assetId?: undefined;
|
|
49
|
+
isFrozen?: undefined;
|
|
50
|
+
onChainId?: undefined;
|
|
51
|
+
dcentName?: undefined;
|
|
52
|
+
} | {
|
|
53
|
+
id: string;
|
|
54
|
+
type: string;
|
|
55
|
+
isTestnet: boolean;
|
|
56
|
+
isDefault: boolean;
|
|
57
|
+
symbol: string;
|
|
58
|
+
decimals: number;
|
|
59
|
+
logo: string;
|
|
60
|
+
existentialDeposit: string;
|
|
61
|
+
onChainId: string;
|
|
62
|
+
isFrozen: boolean;
|
|
63
|
+
chain: {
|
|
64
|
+
id: string;
|
|
65
|
+
};
|
|
66
|
+
coingeckoId: string;
|
|
67
|
+
assetId?: undefined;
|
|
68
|
+
dcentName?: undefined;
|
|
69
|
+
} | {
|
|
70
|
+
id: string;
|
|
71
|
+
type: string;
|
|
72
|
+
isTestnet: boolean;
|
|
73
|
+
isDefault: boolean;
|
|
74
|
+
symbol: string;
|
|
75
|
+
decimals: number;
|
|
76
|
+
logo: string;
|
|
77
|
+
existentialDeposit: string;
|
|
78
|
+
onChainId: string;
|
|
79
|
+
isFrozen: boolean;
|
|
80
|
+
chain: {
|
|
81
|
+
id: string;
|
|
82
|
+
};
|
|
83
|
+
assetId?: undefined;
|
|
84
|
+
coingeckoId?: undefined;
|
|
85
|
+
dcentName?: undefined;
|
|
86
|
+
} | {
|
|
87
|
+
id: string;
|
|
88
|
+
type: string;
|
|
89
|
+
isTestnet: boolean;
|
|
90
|
+
isDefault: boolean;
|
|
91
|
+
symbol: string;
|
|
92
|
+
decimals: number;
|
|
93
|
+
logo: string;
|
|
94
|
+
existentialDeposit: string;
|
|
95
|
+
chain: {
|
|
96
|
+
id: string;
|
|
97
|
+
};
|
|
98
|
+
coingeckoId: string;
|
|
99
|
+
dcentName: string;
|
|
100
|
+
assetId?: undefined;
|
|
101
|
+
isFrozen?: undefined;
|
|
102
|
+
onChainId?: undefined;
|
|
103
|
+
})[];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const fetchChains: () => Promise<any>;
|
|
2
|
+
export declare const fetchChain: (chainId: string) => Promise<any>;
|
|
3
|
+
export declare const fetchEvmNetworks: () => Promise<any>;
|
|
4
|
+
export declare const fetchEvmNetwork: (evmNetworkId: string) => Promise<any>;
|
|
5
|
+
export declare const fetchSubstrateTokens: () => Promise<any>;
|
|
6
|
+
export declare const fetchSubstrateToken: (tokenId: string) => Promise<any>;
|
|
7
|
+
export declare const fetchMiniMetadatas: () => Promise<any>;
|
|
8
|
+
export declare const availableTokenLogoFilenames: () => Promise<string[]>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EvmNetworkId } from "./EvmNetwork";
|
|
2
2
|
import { TokenId } from "./Token";
|
|
3
|
-
export type ChainList = Record<ChainId, Chain
|
|
3
|
+
export type ChainList = Record<ChainId, Chain>;
|
|
4
4
|
export type ChainId = string;
|
|
5
5
|
export type Chain = {
|
|
6
6
|
id: ChainId;
|
|
@@ -9,6 +9,7 @@ export type Chain = {
|
|
|
9
9
|
sortIndex: number | null;
|
|
10
10
|
genesisHash: `0x${string}` | null;
|
|
11
11
|
prefix: number | null;
|
|
12
|
+
oldPrefix?: number;
|
|
12
13
|
name: string | null;
|
|
13
14
|
themeColor: string | null;
|
|
14
15
|
logo: string | null;
|
|
@@ -41,6 +42,33 @@ export type Chain = {
|
|
|
41
42
|
balancesConfig: Array<BalancesConfig>;
|
|
42
43
|
/** @deprecated has its own store now */
|
|
43
44
|
balancesMetadata: Array<BalancesMetadata>;
|
|
45
|
+
/** Indicates if the chain has the `CheckMetadataHash` extension, enabling signing with the ledger generic app */
|
|
46
|
+
hasCheckMetadataHash?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Some chains require a 1-byte prefix on transaction signatures to indicate the signing algo used:
|
|
49
|
+
*
|
|
50
|
+
* - Ed25519: `0x00`
|
|
51
|
+
* - Sr25519: `0x01`
|
|
52
|
+
* - Ecdsa: `0x02`
|
|
53
|
+
* - Ethereum: `0x03`
|
|
54
|
+
*
|
|
55
|
+
* Polkadot.js tries to auto-detect whether to add this prefix or not,
|
|
56
|
+
* as part of the `GenericExtrinsicPayload.sign` method:
|
|
57
|
+
* - https://github.com/polkadot-js/api/blob/778d79a/packages/types/src/extrinsic/v4/ExtrinsicPayload.ts#L37-L39
|
|
58
|
+
* - https://github.com/polkadot-js/api/blob/778d79a/packages/types/src/extrinsic/v4/ExtrinsicPayload.ts#L122-L129
|
|
59
|
+
*
|
|
60
|
+
* However, on some chains this auto-detection results in either a false-positive or false-negative.
|
|
61
|
+
*
|
|
62
|
+
* By leveraging the generic extrinsic sign function from `@polkadot/types/extrinsic/util`:
|
|
63
|
+
* - https://github.com/polkadot-js/api/blob/778d79a/packages/types/src/extrinsic/util.ts#L9-L15
|
|
64
|
+
*
|
|
65
|
+
* We can specify whether or not to include the signature prefix, based on the value of this `hasExtrinsicSignatureTypePrefix` property.
|
|
66
|
+
*/
|
|
67
|
+
hasExtrinsicSignatureTypePrefix?: boolean;
|
|
68
|
+
/** Custom types to be registered in the TypeRegistry */
|
|
69
|
+
signedExtensions?: any;
|
|
70
|
+
/** Custom signed extensions to be registered in the Metadata object */
|
|
71
|
+
registryTypes?: any;
|
|
44
72
|
};
|
|
45
73
|
export type CustomChain = Chain & {
|
|
46
74
|
isCustom: true;
|