@talismn/chaindata-provider 0.7.0 → 0.8.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/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # @talismn/chaindata-provider
2
2
 
3
+ ## 0.8.0
4
+
5
+ ### Patch Changes
6
+
7
+ - 03939d5: fix: added githubUnknownChainLogoUrl
8
+ - ade2908: feat: added chainType to `Chain` type definition
9
+ - c4d5967: bump typescript version
10
+ - 620b7eb: Dependency updates
11
+ - 5aadf99: feat: native token balances on custom networks
12
+ - 4cace80: add: dcentName property on tokens
13
+
3
14
  ## 0.7.0
4
15
 
5
16
  ### Minor Changes
@@ -0,0 +1,27 @@
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
+ export declare const githubApi = "https://api.github.com";
14
+ export declare const githubChaindataOrg = "TalismanSociety";
15
+ export declare const githubChaindataRepo = "chaindata";
16
+ export declare const githubChaindataBranch = "main";
17
+ export declare const githubChaindataBaseUrl = "https://raw.githubusercontent.com/TalismanSociety/chaindata/main";
18
+ export declare const githubChainsUrl = "https://raw.githubusercontent.com/TalismanSociety/chaindata/main/data/chaindata.json";
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";
21
+ export declare const githubChaindataChainsAssetsDir = "assets/chains";
22
+ export declare const githubChaindataTokensAssetsDir = "assets/tokens";
23
+ export declare const githubChainLogoUrl: (chainId: ChainId) => string;
24
+ export declare const githubEvmNetworkLogoUrl: (networkId: EvmNetworkId) => string;
25
+ export declare const githubTokenLogoUrl: (tokenId: TokenId) => string;
26
+ export declare const githubUnknownChainLogoUrl: string;
27
+ export declare const githubUnknownTokenLogoUrl: string;
@@ -0,0 +1,3 @@
1
+ import { Chain, CustomChain, CustomEvmNetwork, EvmNetwork } from "@talismn/chaindata-provider";
2
+ export declare const isCustomChain: (chain: Chain | CustomChain) => chain is CustomChain;
3
+ export declare const isCustomEvmNetwork: (evmNetwork: EvmNetwork | CustomEvmNetwork) => evmNetwork is CustomEvmNetwork;
@@ -1,3 +1,4 @@
1
1
  export * from "./ChaindataProvider";
2
2
  export * from "./types";
3
- export * from "./github";
3
+ export * from "./constants";
4
+ export * from "./helpers";
@@ -5,6 +5,7 @@ export type ChainId = string;
5
5
  export type Chain = {
6
6
  id: ChainId;
7
7
  isTestnet: boolean;
8
+ isDefault: boolean;
8
9
  sortIndex: number | null;
9
10
  genesisHash: `0x${string}` | null;
10
11
  prefix: number | null;
@@ -12,6 +13,9 @@ export type Chain = {
12
13
  themeColor: string | null;
13
14
  logo: string | null;
14
15
  chainName: string | null;
16
+ chainType: "Development" | "Local" | "Live" | {
17
+ Custom: string;
18
+ } | string | null;
15
19
  implName: string | null;
16
20
  specName: string | null;
17
21
  specVersion: string | null;
@@ -26,24 +30,29 @@ export type Chain = {
26
30
  chainspecQrUrl: string | null;
27
31
  latestMetadataQrUrl: string | null;
28
32
  isUnknownFeeToken: boolean;
33
+ feeToken: string | null;
29
34
  rpcs: Array<SubstrateRpc> | null;
30
- isHealthy: boolean;
31
35
  evmNetworks: Array<{
32
36
  id: EvmNetworkId;
33
37
  }>;
34
38
  parathreads: Array<Pick<Chain, "id" | "paraId" | "name">> | null;
35
39
  paraId: number | null;
36
40
  relay: Pick<Chain, "id"> | null;
37
- balanceMetadata: Array<BalanceMetadata>;
41
+ balancesConfig: Array<BalancesConfig>;
42
+ /** @deprecated has its own store now */
43
+ balancesMetadata: Array<BalancesMetadata>;
38
44
  };
39
45
  export type CustomChain = Chain & {
40
46
  isCustom: true;
41
47
  };
42
48
  export type SubstrateRpc = {
43
49
  url: string;
44
- isHealthy: boolean;
45
50
  };
46
- export type BalanceMetadata = {
51
+ export type BalancesConfig = {
52
+ moduleType: string;
53
+ moduleConfig: unknown;
54
+ };
55
+ export type BalancesMetadata = {
47
56
  moduleType: string;
48
57
  metadata: unknown;
49
58
  };
@@ -1,10 +1,11 @@
1
- import { ChainId } from "./Chain";
1
+ import { BalancesConfig, BalancesMetadata, ChainId } from "./Chain";
2
2
  import { TokenId } from "./Token";
3
3
  export type EvmNetworkList = Record<EvmNetworkId, EvmNetwork | CustomEvmNetwork>;
4
4
  export type EvmNetworkId = string;
5
5
  export type EvmNetwork = {
6
6
  id: EvmNetworkId;
7
7
  isTestnet: boolean;
8
+ isDefault: boolean;
8
9
  sortIndex: number | null;
9
10
  name: string | null;
10
11
  themeColor: string | null;
@@ -12,15 +13,18 @@ export type EvmNetwork = {
12
13
  nativeToken: {
13
14
  id: TokenId;
14
15
  } | null;
16
+ /** @deprecated tokens already reference their network */
15
17
  tokens: Array<{
16
18
  id: TokenId;
17
19
  }> | null;
18
20
  explorerUrl: string | null;
19
21
  rpcs: Array<EthereumRpc> | null;
20
- isHealthy: boolean;
21
22
  substrateChain: {
22
23
  id: ChainId;
23
24
  } | null;
25
+ balancesConfig: Array<BalancesConfig>;
26
+ /** @deprecated has its own store now */
27
+ balancesMetadata: Array<BalancesMetadata>;
24
28
  };
25
29
  export type CustomEvmNetwork = EvmNetwork & {
26
30
  isCustom: true;
@@ -29,5 +33,4 @@ export type CustomEvmNetwork = EvmNetwork & {
29
33
  };
30
34
  export type EthereumRpc = {
31
35
  url: string;
32
- isHealthy: boolean;
33
36
  };
@@ -14,9 +14,9 @@ export type TokenTypes = {
14
14
  *
15
15
  * Each variant comes from a plugin in use by the consuming app.
16
16
  *
17
- * For example, in an app with the `substrate-native`, `evm-native`, `substrate-orml` and `evm-erc20` plugins:
17
+ * For example, in an app with the `substrate-native`, `evm-native`, `substrate-tokens` and `evm-erc20` plugins:
18
18
  *
19
- * type Token = SubNativeToken | EvmNativeToken | SubOrmlToken | EvmErc20Token
19
+ * type Token = SubNativeToken | EvmNativeToken | SubTokensToken | EvmErc20Token
20
20
  *
21
21
  * If `TokenTypes` is empty then `Token` will fall back to the common `IToken` interface, which every token must implement.
22
22
  */
@@ -29,11 +29,12 @@ export type IToken = {
29
29
  id: TokenId;
30
30
  type: string;
31
31
  isTestnet: boolean;
32
+ isDefault?: boolean;
32
33
  symbol: string;
33
- themeColor?: string;
34
34
  decimals: number;
35
35
  logo: string;
36
36
  coingeckoId?: string;
37
+ dcentName?: string;
37
38
  mirrorOf?: string;
38
39
  chain?: {
39
40
  id: ChainId;
@@ -42,6 +43,15 @@ export type IToken = {
42
43
  id: EvmNetworkId;
43
44
  } | null;
44
45
  };
46
+ /**
47
+ * A selection of fields which can be set as part of the `BalancesConfig` section on chaindata for any module type.
48
+ *
49
+ * Generally speaking, these fields will override any defaults set by the module itself.
50
+ *
51
+ * E.g. if the module determines a native token to have the symbol `IBTC`, but we want to show it
52
+ * as `iBTC`, we can set the `symbol` field in chaindata at: `chains.interlay.balancesConfig.substrate-native.symbol`.
53
+ */
54
+ export type BalancesConfigTokenParams = Pick<Partial<IToken>, "symbol" | "coingeckoId" | "dcentName" | "mirrorOf" | "logo" | "isDefault">;
45
55
  /** Used by plugins to help define their custom `TokenType` */
46
56
  export type NewTokenType<ModuleType extends string, TokenParams extends Record<string, unknown>> = IToken & {
47
57
  type: ModuleType;
@@ -2,24 +2,77 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const githubChaindataBranch = "v3";
6
- const githubChaindataBaseUrl = `https://raw.githubusercontent.com/TalismanSociety/chaindata/${githubChaindataBranch}`;
7
- const githubChainsUrl = `${githubChaindataBaseUrl}/chaindata.json`;
8
- const githubTestnetChainsUrl = `${githubChaindataBaseUrl}/testnets-chaindata.json`;
9
- const githubEvmNetworksUrl = `${githubChaindataBaseUrl}/evm-networks.json`;
10
- const githubTokensUrl = `${githubChaindataBaseUrl}/tokens.json`;
11
- const githubChainLogoUrl = chainId => `${githubChaindataBaseUrl}/assets/chains/${chainId}.svg`;
12
- const githubEvmNetworkLogoUrl = networkId => `${githubChaindataBaseUrl}/assets/chains/${networkId}.svg`;
13
- const githubTokenLogoUrl = tokenId => `${githubChaindataBaseUrl}/assets/tokens/${tokenId}.svg`;
5
+ // @dev : temporarily change branch here when testing changes in chaindata
6
+ const CHAINDATA_BRANCH = "main";
7
+
8
+ //
9
+ // Chaindata published files (dist folder)
10
+ //
11
+
12
+ const chaindataUrl = `https://raw.githubusercontent.com/TalismanSociety/chaindata/${CHAINDATA_BRANCH}/dist`;
13
+ const chaindataChainsAllUrl = `${chaindataUrl}/chains/all.json`;
14
+ const chaindataChainsSummaryUrl = `${chaindataUrl}/chains/summary.json`;
15
+ const chaindataChainByIdUrl = chainId => `${chaindataUrl}/chains/byId/${chainId}.json`;
16
+ const chaindataChainByGenesisHashUrl = genesisHash => `${chaindataUrl}/chains/byGenesisHash/${genesisHash}.json`;
17
+ const chaindataEvmNetworksAllUrl = `${chaindataUrl}/evmNetworks/all.json`;
18
+ const chaindataEvmNetworksSummaryUrl = `${chaindataUrl}/evmNetworks/summary.json`;
19
+ const chaindataEvmNetworkByIdUrl = evmNetworkId => `${chaindataUrl}/evmNetworks/byId/${evmNetworkId}.json`;
20
+ const chaindataTokensAllUrl = `${chaindataUrl}/tokens/all.json`;
21
+ const chaindataTokenByIdUrl = tokenId => `${chaindataUrl}/tokens/byId/${tokenId}.json`;
22
+ const chaindataMiniMetadatasAllUrl = `${chaindataUrl}/miniMetadatas/all.json`;
23
+
24
+ //
25
+ // GitHub Repo Constants
26
+ //
27
+
28
+ const githubApi = "https://api.github.com";
29
+ const githubChaindataOrg = "TalismanSociety";
30
+ const githubChaindataRepo = "chaindata";
31
+ const githubChaindataBranch = CHAINDATA_BRANCH;
32
+ const githubChaindataBaseUrl = `https://raw.githubusercontent.com/${githubChaindataOrg}/${githubChaindataRepo}/${githubChaindataBranch}`;
33
+ const githubChainsUrl = `${githubChaindataBaseUrl}/data/chaindata.json`;
34
+ const githubTestnetChainsUrl = `${githubChaindataBaseUrl}/data/testnets-chaindata.json`;
35
+ const githubEvmNetworksUrl = `${githubChaindataBaseUrl}/data/evm-networks.json`;
36
+ const githubChaindataChainsAssetsDir = "assets/chains";
37
+ const githubChaindataTokensAssetsDir = "assets/tokens";
38
+ const githubChainLogoUrl = chainId => `${githubChaindataBaseUrl}/${githubChaindataChainsAssetsDir}/${chainId}.svg`;
39
+ const githubEvmNetworkLogoUrl = networkId => `${githubChaindataBaseUrl}/${githubChaindataChainsAssetsDir}/${networkId}.svg`;
40
+ const githubTokenLogoUrl = tokenId => `${githubChaindataBaseUrl}/${githubChaindataTokensAssetsDir}/${tokenId}.svg`;
41
+ const githubUnknownChainLogoUrl = githubChainLogoUrl("unknown");
14
42
  const githubUnknownTokenLogoUrl = githubTokenLogoUrl("unknown");
15
43
 
44
+ const isCustomChain = chain => {
45
+ return "isCustom" in chain && chain.isCustom === true;
46
+ };
47
+ const isCustomEvmNetwork = evmNetwork => {
48
+ return "isCustom" in evmNetwork && evmNetwork.isCustom === true;
49
+ };
50
+
51
+ exports.chaindataChainByGenesisHashUrl = chaindataChainByGenesisHashUrl;
52
+ exports.chaindataChainByIdUrl = chaindataChainByIdUrl;
53
+ exports.chaindataChainsAllUrl = chaindataChainsAllUrl;
54
+ exports.chaindataChainsSummaryUrl = chaindataChainsSummaryUrl;
55
+ exports.chaindataEvmNetworkByIdUrl = chaindataEvmNetworkByIdUrl;
56
+ exports.chaindataEvmNetworksAllUrl = chaindataEvmNetworksAllUrl;
57
+ exports.chaindataEvmNetworksSummaryUrl = chaindataEvmNetworksSummaryUrl;
58
+ exports.chaindataMiniMetadatasAllUrl = chaindataMiniMetadatasAllUrl;
59
+ exports.chaindataTokenByIdUrl = chaindataTokenByIdUrl;
60
+ exports.chaindataTokensAllUrl = chaindataTokensAllUrl;
61
+ exports.chaindataUrl = chaindataUrl;
62
+ exports.githubApi = githubApi;
16
63
  exports.githubChainLogoUrl = githubChainLogoUrl;
17
64
  exports.githubChaindataBaseUrl = githubChaindataBaseUrl;
18
65
  exports.githubChaindataBranch = githubChaindataBranch;
66
+ exports.githubChaindataChainsAssetsDir = githubChaindataChainsAssetsDir;
67
+ exports.githubChaindataOrg = githubChaindataOrg;
68
+ exports.githubChaindataRepo = githubChaindataRepo;
69
+ exports.githubChaindataTokensAssetsDir = githubChaindataTokensAssetsDir;
19
70
  exports.githubChainsUrl = githubChainsUrl;
20
71
  exports.githubEvmNetworkLogoUrl = githubEvmNetworkLogoUrl;
21
72
  exports.githubEvmNetworksUrl = githubEvmNetworksUrl;
22
73
  exports.githubTestnetChainsUrl = githubTestnetChainsUrl;
23
74
  exports.githubTokenLogoUrl = githubTokenLogoUrl;
24
- exports.githubTokensUrl = githubTokensUrl;
75
+ exports.githubUnknownChainLogoUrl = githubUnknownChainLogoUrl;
25
76
  exports.githubUnknownTokenLogoUrl = githubUnknownTokenLogoUrl;
77
+ exports.isCustomChain = isCustomChain;
78
+ exports.isCustomEvmNetwork = isCustomEvmNetwork;
@@ -2,24 +2,77 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const githubChaindataBranch = "v3";
6
- const githubChaindataBaseUrl = `https://raw.githubusercontent.com/TalismanSociety/chaindata/${githubChaindataBranch}`;
7
- const githubChainsUrl = `${githubChaindataBaseUrl}/chaindata.json`;
8
- const githubTestnetChainsUrl = `${githubChaindataBaseUrl}/testnets-chaindata.json`;
9
- const githubEvmNetworksUrl = `${githubChaindataBaseUrl}/evm-networks.json`;
10
- const githubTokensUrl = `${githubChaindataBaseUrl}/tokens.json`;
11
- const githubChainLogoUrl = chainId => `${githubChaindataBaseUrl}/assets/chains/${chainId}.svg`;
12
- const githubEvmNetworkLogoUrl = networkId => `${githubChaindataBaseUrl}/assets/chains/${networkId}.svg`;
13
- const githubTokenLogoUrl = tokenId => `${githubChaindataBaseUrl}/assets/tokens/${tokenId}.svg`;
5
+ // @dev : temporarily change branch here when testing changes in chaindata
6
+ const CHAINDATA_BRANCH = "main";
7
+
8
+ //
9
+ // Chaindata published files (dist folder)
10
+ //
11
+
12
+ const chaindataUrl = `https://raw.githubusercontent.com/TalismanSociety/chaindata/${CHAINDATA_BRANCH}/dist`;
13
+ const chaindataChainsAllUrl = `${chaindataUrl}/chains/all.json`;
14
+ const chaindataChainsSummaryUrl = `${chaindataUrl}/chains/summary.json`;
15
+ const chaindataChainByIdUrl = chainId => `${chaindataUrl}/chains/byId/${chainId}.json`;
16
+ const chaindataChainByGenesisHashUrl = genesisHash => `${chaindataUrl}/chains/byGenesisHash/${genesisHash}.json`;
17
+ const chaindataEvmNetworksAllUrl = `${chaindataUrl}/evmNetworks/all.json`;
18
+ const chaindataEvmNetworksSummaryUrl = `${chaindataUrl}/evmNetworks/summary.json`;
19
+ const chaindataEvmNetworkByIdUrl = evmNetworkId => `${chaindataUrl}/evmNetworks/byId/${evmNetworkId}.json`;
20
+ const chaindataTokensAllUrl = `${chaindataUrl}/tokens/all.json`;
21
+ const chaindataTokenByIdUrl = tokenId => `${chaindataUrl}/tokens/byId/${tokenId}.json`;
22
+ const chaindataMiniMetadatasAllUrl = `${chaindataUrl}/miniMetadatas/all.json`;
23
+
24
+ //
25
+ // GitHub Repo Constants
26
+ //
27
+
28
+ const githubApi = "https://api.github.com";
29
+ const githubChaindataOrg = "TalismanSociety";
30
+ const githubChaindataRepo = "chaindata";
31
+ const githubChaindataBranch = CHAINDATA_BRANCH;
32
+ const githubChaindataBaseUrl = `https://raw.githubusercontent.com/${githubChaindataOrg}/${githubChaindataRepo}/${githubChaindataBranch}`;
33
+ const githubChainsUrl = `${githubChaindataBaseUrl}/data/chaindata.json`;
34
+ const githubTestnetChainsUrl = `${githubChaindataBaseUrl}/data/testnets-chaindata.json`;
35
+ const githubEvmNetworksUrl = `${githubChaindataBaseUrl}/data/evm-networks.json`;
36
+ const githubChaindataChainsAssetsDir = "assets/chains";
37
+ const githubChaindataTokensAssetsDir = "assets/tokens";
38
+ const githubChainLogoUrl = chainId => `${githubChaindataBaseUrl}/${githubChaindataChainsAssetsDir}/${chainId}.svg`;
39
+ const githubEvmNetworkLogoUrl = networkId => `${githubChaindataBaseUrl}/${githubChaindataChainsAssetsDir}/${networkId}.svg`;
40
+ const githubTokenLogoUrl = tokenId => `${githubChaindataBaseUrl}/${githubChaindataTokensAssetsDir}/${tokenId}.svg`;
41
+ const githubUnknownChainLogoUrl = githubChainLogoUrl("unknown");
14
42
  const githubUnknownTokenLogoUrl = githubTokenLogoUrl("unknown");
15
43
 
44
+ const isCustomChain = chain => {
45
+ return "isCustom" in chain && chain.isCustom === true;
46
+ };
47
+ const isCustomEvmNetwork = evmNetwork => {
48
+ return "isCustom" in evmNetwork && evmNetwork.isCustom === true;
49
+ };
50
+
51
+ exports.chaindataChainByGenesisHashUrl = chaindataChainByGenesisHashUrl;
52
+ exports.chaindataChainByIdUrl = chaindataChainByIdUrl;
53
+ exports.chaindataChainsAllUrl = chaindataChainsAllUrl;
54
+ exports.chaindataChainsSummaryUrl = chaindataChainsSummaryUrl;
55
+ exports.chaindataEvmNetworkByIdUrl = chaindataEvmNetworkByIdUrl;
56
+ exports.chaindataEvmNetworksAllUrl = chaindataEvmNetworksAllUrl;
57
+ exports.chaindataEvmNetworksSummaryUrl = chaindataEvmNetworksSummaryUrl;
58
+ exports.chaindataMiniMetadatasAllUrl = chaindataMiniMetadatasAllUrl;
59
+ exports.chaindataTokenByIdUrl = chaindataTokenByIdUrl;
60
+ exports.chaindataTokensAllUrl = chaindataTokensAllUrl;
61
+ exports.chaindataUrl = chaindataUrl;
62
+ exports.githubApi = githubApi;
16
63
  exports.githubChainLogoUrl = githubChainLogoUrl;
17
64
  exports.githubChaindataBaseUrl = githubChaindataBaseUrl;
18
65
  exports.githubChaindataBranch = githubChaindataBranch;
66
+ exports.githubChaindataChainsAssetsDir = githubChaindataChainsAssetsDir;
67
+ exports.githubChaindataOrg = githubChaindataOrg;
68
+ exports.githubChaindataRepo = githubChaindataRepo;
69
+ exports.githubChaindataTokensAssetsDir = githubChaindataTokensAssetsDir;
19
70
  exports.githubChainsUrl = githubChainsUrl;
20
71
  exports.githubEvmNetworkLogoUrl = githubEvmNetworkLogoUrl;
21
72
  exports.githubEvmNetworksUrl = githubEvmNetworksUrl;
22
73
  exports.githubTestnetChainsUrl = githubTestnetChainsUrl;
23
74
  exports.githubTokenLogoUrl = githubTokenLogoUrl;
24
- exports.githubTokensUrl = githubTokensUrl;
75
+ exports.githubUnknownChainLogoUrl = githubUnknownChainLogoUrl;
25
76
  exports.githubUnknownTokenLogoUrl = githubUnknownTokenLogoUrl;
77
+ exports.isCustomChain = isCustomChain;
78
+ exports.isCustomEvmNetwork = isCustomEvmNetwork;
@@ -1,12 +1,47 @@
1
- const githubChaindataBranch = "v3";
2
- const githubChaindataBaseUrl = `https://raw.githubusercontent.com/TalismanSociety/chaindata/${githubChaindataBranch}`;
3
- const githubChainsUrl = `${githubChaindataBaseUrl}/chaindata.json`;
4
- const githubTestnetChainsUrl = `${githubChaindataBaseUrl}/testnets-chaindata.json`;
5
- const githubEvmNetworksUrl = `${githubChaindataBaseUrl}/evm-networks.json`;
6
- const githubTokensUrl = `${githubChaindataBaseUrl}/tokens.json`;
7
- const githubChainLogoUrl = chainId => `${githubChaindataBaseUrl}/assets/chains/${chainId}.svg`;
8
- const githubEvmNetworkLogoUrl = networkId => `${githubChaindataBaseUrl}/assets/chains/${networkId}.svg`;
9
- const githubTokenLogoUrl = tokenId => `${githubChaindataBaseUrl}/assets/tokens/${tokenId}.svg`;
1
+ // @dev : temporarily change branch here when testing changes in chaindata
2
+ const CHAINDATA_BRANCH = "main";
3
+
4
+ //
5
+ // Chaindata published files (dist folder)
6
+ //
7
+
8
+ const chaindataUrl = `https://raw.githubusercontent.com/TalismanSociety/chaindata/${CHAINDATA_BRANCH}/dist`;
9
+ const chaindataChainsAllUrl = `${chaindataUrl}/chains/all.json`;
10
+ const chaindataChainsSummaryUrl = `${chaindataUrl}/chains/summary.json`;
11
+ const chaindataChainByIdUrl = chainId => `${chaindataUrl}/chains/byId/${chainId}.json`;
12
+ const chaindataChainByGenesisHashUrl = genesisHash => `${chaindataUrl}/chains/byGenesisHash/${genesisHash}.json`;
13
+ const chaindataEvmNetworksAllUrl = `${chaindataUrl}/evmNetworks/all.json`;
14
+ const chaindataEvmNetworksSummaryUrl = `${chaindataUrl}/evmNetworks/summary.json`;
15
+ const chaindataEvmNetworkByIdUrl = evmNetworkId => `${chaindataUrl}/evmNetworks/byId/${evmNetworkId}.json`;
16
+ const chaindataTokensAllUrl = `${chaindataUrl}/tokens/all.json`;
17
+ const chaindataTokenByIdUrl = tokenId => `${chaindataUrl}/tokens/byId/${tokenId}.json`;
18
+ const chaindataMiniMetadatasAllUrl = `${chaindataUrl}/miniMetadatas/all.json`;
19
+
20
+ //
21
+ // GitHub Repo Constants
22
+ //
23
+
24
+ const githubApi = "https://api.github.com";
25
+ const githubChaindataOrg = "TalismanSociety";
26
+ const githubChaindataRepo = "chaindata";
27
+ const githubChaindataBranch = CHAINDATA_BRANCH;
28
+ const githubChaindataBaseUrl = `https://raw.githubusercontent.com/${githubChaindataOrg}/${githubChaindataRepo}/${githubChaindataBranch}`;
29
+ const githubChainsUrl = `${githubChaindataBaseUrl}/data/chaindata.json`;
30
+ const githubTestnetChainsUrl = `${githubChaindataBaseUrl}/data/testnets-chaindata.json`;
31
+ const githubEvmNetworksUrl = `${githubChaindataBaseUrl}/data/evm-networks.json`;
32
+ const githubChaindataChainsAssetsDir = "assets/chains";
33
+ const githubChaindataTokensAssetsDir = "assets/tokens";
34
+ const githubChainLogoUrl = chainId => `${githubChaindataBaseUrl}/${githubChaindataChainsAssetsDir}/${chainId}.svg`;
35
+ const githubEvmNetworkLogoUrl = networkId => `${githubChaindataBaseUrl}/${githubChaindataChainsAssetsDir}/${networkId}.svg`;
36
+ const githubTokenLogoUrl = tokenId => `${githubChaindataBaseUrl}/${githubChaindataTokensAssetsDir}/${tokenId}.svg`;
37
+ const githubUnknownChainLogoUrl = githubChainLogoUrl("unknown");
10
38
  const githubUnknownTokenLogoUrl = githubTokenLogoUrl("unknown");
11
39
 
12
- export { githubChainLogoUrl, githubChaindataBaseUrl, githubChaindataBranch, githubChainsUrl, githubEvmNetworkLogoUrl, githubEvmNetworksUrl, githubTestnetChainsUrl, githubTokenLogoUrl, githubTokensUrl, githubUnknownTokenLogoUrl };
40
+ const isCustomChain = chain => {
41
+ return "isCustom" in chain && chain.isCustom === true;
42
+ };
43
+ const isCustomEvmNetwork = evmNetwork => {
44
+ return "isCustom" in evmNetwork && evmNetwork.isCustom === true;
45
+ };
46
+
47
+ export { chaindataChainByGenesisHashUrl, chaindataChainByIdUrl, chaindataChainsAllUrl, chaindataChainsSummaryUrl, chaindataEvmNetworkByIdUrl, chaindataEvmNetworksAllUrl, chaindataEvmNetworksSummaryUrl, chaindataMiniMetadatasAllUrl, chaindataTokenByIdUrl, chaindataTokensAllUrl, chaindataUrl, githubApi, githubChainLogoUrl, githubChaindataBaseUrl, githubChaindataBranch, githubChaindataChainsAssetsDir, githubChaindataOrg, githubChaindataRepo, githubChaindataTokensAssetsDir, githubChainsUrl, githubEvmNetworkLogoUrl, githubEvmNetworksUrl, githubTestnetChainsUrl, githubTokenLogoUrl, githubUnknownChainLogoUrl, githubUnknownTokenLogoUrl, isCustomChain, isCustomEvmNetwork };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talismn/chaindata-provider",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "author": "Talisman",
5
5
  "homepage": "https://talisman.xyz",
6
6
  "license": "GPL-3.0-or-later",
@@ -27,13 +27,13 @@
27
27
  "clean": "rm -rf dist && rm -rf .turbo rm -rf node_modules"
28
28
  },
29
29
  "devDependencies": {
30
- "@talismn/eslint-config": "0.0.2",
30
+ "@talismn/eslint-config": "0.0.3",
31
31
  "@talismn/tsconfig": "0.0.2",
32
32
  "@types/jest": "^27.5.1",
33
- "eslint": "^8.4.0",
34
- "jest": "^28.1.0",
35
- "ts-jest": "^28.0.2",
36
- "typescript": "^4.6.4"
33
+ "eslint": "^8.52.0",
34
+ "jest": "^29.7.0",
35
+ "ts-jest": "^29.1.1",
36
+ "typescript": "^5.2.2"
37
37
  },
38
38
  "preconstruct": {
39
39
  "entrypoints": [
@@ -1,11 +0,0 @@
1
- import { ChainId, EvmNetworkId, TokenId } from "./types";
2
- export declare const githubChaindataBranch = "v3";
3
- export declare const githubChaindataBaseUrl: string;
4
- export declare const githubChainsUrl: string;
5
- export declare const githubTestnetChainsUrl: string;
6
- export declare const githubEvmNetworksUrl: string;
7
- export declare const githubTokensUrl: string;
8
- export declare const githubChainLogoUrl: (chainId: ChainId) => string;
9
- export declare const githubEvmNetworkLogoUrl: (networkId: EvmNetworkId) => string;
10
- export declare const githubTokenLogoUrl: (tokenId: TokenId) => string;
11
- export declare const githubUnknownTokenLogoUrl: string;