@talismn/balances-react 0.6.1 → 0.7.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/atoms/allAddresses.d.ts +4 -0
- package/dist/declarations/src/atoms/balanceModules.d.ts +2 -0
- package/dist/declarations/src/atoms/balances.d.ts +6 -0
- package/dist/declarations/src/atoms/chainConnectors.d.ts +2 -0
- package/dist/declarations/src/atoms/chaindata.d.ts +34 -0
- package/dist/declarations/src/atoms/chaindataProvider.d.ts +5 -0
- package/dist/declarations/src/atoms/config.d.ts +18 -0
- package/dist/declarations/src/atoms/cryptoWaitReady.d.ts +1 -0
- package/dist/declarations/src/atoms/tokenRates.d.ts +3 -0
- package/dist/declarations/src/hooks/useBalances.d.ts +27 -3
- package/dist/declarations/src/hooks/useChainConnectors.d.ts +1 -12
- package/dist/declarations/src/hooks/useChaindata.d.ts +23 -7
- package/dist/declarations/src/hooks/useTokenRates.d.ts +4 -2
- package/dist/declarations/src/index.d.ts +80 -2
- package/dist/declarations/src/util/balancesPersist.d.ts +10 -0
- package/dist/declarations/src/util/dexieToRxjs.d.ts +6 -0
- package/dist/talismn-balances-react.cjs.dev.js +603 -631
- package/dist/talismn-balances-react.cjs.prod.js +603 -631
- package/dist/talismn-balances-react.esm.js +547 -611
- package/package.json +30 -24
- package/CHANGELOG.md +0 -477
- package/dist/declarations/src/hooks/index.d.ts +0 -49
- package/dist/declarations/src/hooks/useAllAddresses.d.ts +0 -4
- package/dist/declarations/src/hooks/useBalanceModules.d.ts +0 -8
- package/dist/declarations/src/hooks/useBalancesHydrate.d.ts +0 -1
- package/dist/declarations/src/hooks/useBalancesStatus.d.ts +0 -17
- package/dist/declarations/src/hooks/useChains.d.ts +0 -3
- package/dist/declarations/src/hooks/useDbCache.d.ts +0 -24
- package/dist/declarations/src/hooks/useDbCacheSubscription.d.ts +0 -13
- package/dist/declarations/src/hooks/useEnabledChains.d.ts +0 -8
- package/dist/declarations/src/hooks/useEvmNetworks.d.ts +0 -3
- package/dist/declarations/src/hooks/useTokens.d.ts +0 -3
- package/dist/declarations/src/hooks/useWithTestnets.d.ts +0 -8
- package/dist/declarations/src/util/index.d.ts +0 -2
- package/dist/declarations/src/util/provideContext.d.ts +0 -9
- package/dist/declarations/src/util/useMulticastSubscription.d.ts +0 -16
- package/dist/declarations/src/util/useSharedSubscription.d.ts +0 -9
@@ -0,0 +1,6 @@
|
|
1
|
+
import { Balances } from "@talismn/balances";
|
2
|
+
import { BalancesPersistBackend } from "../util/balancesPersist";
|
3
|
+
export declare const allBalancesAtom: import("jotai").Atom<Promise<Balances>>;
|
4
|
+
export declare const balancesPersistBackendAtom: import("jotai").PrimitiveAtom<BalancesPersistBackend> & {
|
5
|
+
init: BalancesPersistBackend;
|
6
|
+
};
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import { Token } from "@talismn/chaindata-provider";
|
2
|
+
export declare const chainsAtom: import("jotai").Atom<Promise<(import("@talismn/chaindata-provider").Chain | import("@talismn/chaindata-provider").CustomChain)[]>>;
|
3
|
+
export declare const chainsByIdAtom: import("jotai").Atom<Promise<Record<string, import("@talismn/chaindata-provider").Chain | import("@talismn/chaindata-provider").CustomChain>>>;
|
4
|
+
export declare const chainsByGenesisHashAtom: import("jotai").Atom<Promise<Record<string, import("@talismn/chaindata-provider").Chain | import("@talismn/chaindata-provider").CustomChain>>>;
|
5
|
+
export declare const evmNetworksAtom: import("jotai").Atom<Promise<(import("@talismn/chaindata-provider").EvmNetwork | import("@talismn/chaindata-provider").CustomEvmNetwork)[]>>;
|
6
|
+
export declare const evmNetworksByIdAtom: import("jotai").Atom<Promise<Record<string, import("@talismn/chaindata-provider").EvmNetwork | import("@talismn/chaindata-provider").CustomEvmNetwork>>>;
|
7
|
+
export declare const tokensAtom: import("jotai").Atom<Promise<Token[]>>;
|
8
|
+
export declare const tokensByIdAtom: import("jotai").Atom<Promise<{
|
9
|
+
[k: string]: Token;
|
10
|
+
}>>;
|
11
|
+
export declare const miniMetadatasAtom: import("jotai").Atom<Promise<import("@talismn/balances").MiniMetadata[]>>;
|
12
|
+
export declare const chaindataAtom: import("jotai").Atom<{
|
13
|
+
chains: (import("@talismn/chaindata-provider").Chain | import("@talismn/chaindata-provider").CustomChain)[];
|
14
|
+
chainsById: Record<string, import("@talismn/chaindata-provider").Chain | import("@talismn/chaindata-provider").CustomChain>;
|
15
|
+
chainsByGenesisHash: Record<string, import("@talismn/chaindata-provider").Chain | import("@talismn/chaindata-provider").CustomChain>;
|
16
|
+
evmNetworks: (import("@talismn/chaindata-provider").EvmNetwork | import("@talismn/chaindata-provider").CustomEvmNetwork)[];
|
17
|
+
evmNetworksById: Record<string, import("@talismn/chaindata-provider").EvmNetwork | import("@talismn/chaindata-provider").CustomEvmNetwork>;
|
18
|
+
tokens: Token[];
|
19
|
+
tokensById: {
|
20
|
+
[k: string]: Token;
|
21
|
+
};
|
22
|
+
miniMetadatas: import("@talismn/balances").MiniMetadata[];
|
23
|
+
} | Promise<{
|
24
|
+
chains: (import("@talismn/chaindata-provider").Chain | import("@talismn/chaindata-provider").CustomChain)[];
|
25
|
+
chainsById: Record<string, import("@talismn/chaindata-provider").Chain | import("@talismn/chaindata-provider").CustomChain>;
|
26
|
+
chainsByGenesisHash: Record<string, import("@talismn/chaindata-provider").Chain | import("@talismn/chaindata-provider").CustomChain>;
|
27
|
+
evmNetworks: (import("@talismn/chaindata-provider").EvmNetwork | import("@talismn/chaindata-provider").CustomEvmNetwork)[];
|
28
|
+
evmNetworksById: Record<string, import("@talismn/chaindata-provider").EvmNetwork | import("@talismn/chaindata-provider").CustomEvmNetwork>;
|
29
|
+
tokens: Token[];
|
30
|
+
tokensById: {
|
31
|
+
[k: string]: Token;
|
32
|
+
};
|
33
|
+
miniMetadatas: import("@talismn/balances").MiniMetadata[];
|
34
|
+
}>>;
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { AnyBalanceModule, Hydrate } from "@talismn/balances";
|
2
|
+
import { CoingeckoConfig } from "@talismn/token-rates";
|
3
|
+
export declare const balanceModuleCreatorsAtom: import("jotai").PrimitiveAtom<((hydrate: Hydrate) => AnyBalanceModule)[]> & {
|
4
|
+
init: ((hydrate: Hydrate) => AnyBalanceModule)[];
|
5
|
+
};
|
6
|
+
export declare const onfinalityApiKeyAtom: import("jotai").PrimitiveAtom<string | undefined> & {
|
7
|
+
init: string | undefined;
|
8
|
+
};
|
9
|
+
export declare const coingeckoConfigAtom: import("jotai").WritableAtom<CoingeckoConfig, [Partial<CoingeckoConfig>], void>;
|
10
|
+
export declare const enableTestnetsAtom: import("jotai").PrimitiveAtom<boolean> & {
|
11
|
+
init: boolean;
|
12
|
+
};
|
13
|
+
export declare const enabledChainsAtom: import("jotai").PrimitiveAtom<string[] | undefined> & {
|
14
|
+
init: string[] | undefined;
|
15
|
+
};
|
16
|
+
export declare const enabledTokensAtom: import("jotai").PrimitiveAtom<string[] | undefined> & {
|
17
|
+
init: string[] | undefined;
|
18
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const cryptoWaitReadyAtom: import("jotai").Atom<Promise<boolean>>;
|
@@ -1,3 +1,27 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
export declare
|
1
|
+
import { Balances } from "@talismn/balances";
|
2
|
+
import { BalancesPersistBackend } from "../util/balancesPersist";
|
3
|
+
export declare const useSetBalancesAddresses: (addresses: string[]) => void;
|
4
|
+
/**
|
5
|
+
* @name useBalances
|
6
|
+
* @description Hook to get the current balances state.
|
7
|
+
* @param persistBackend an optional BalancesPersistBackend backend to use for persisting the balances state. By default, indexedDB is used.
|
8
|
+
* @returns a Balances object containing the current balances state.
|
9
|
+
*/
|
10
|
+
export declare const useBalances: (persistBackend?: BalancesPersistBackend) => Balances;
|
11
|
+
export type BalancesStatus = {
|
12
|
+
status: "live";
|
13
|
+
} | {
|
14
|
+
status: "fetching";
|
15
|
+
} | {
|
16
|
+
status: "stale";
|
17
|
+
staleChains: string[];
|
18
|
+
};
|
19
|
+
/**
|
20
|
+
* Given a collection of `Balances`, this hook returns a `BalancesStatus` summary for the collection.
|
21
|
+
*
|
22
|
+
* @param balances The collection of balances to get the status from.
|
23
|
+
* @returns An instance of `BalancesStatus` which represents the status of the balances collection.
|
24
|
+
|
25
|
+
*/
|
26
|
+
export declare const useBalancesStatus: (balances: Balances) => BalancesStatus;
|
27
|
+
export declare const getStaleChains: (balances: Balances) => string[];
|
@@ -1,12 +1 @@
|
|
1
|
-
|
2
|
-
import { ChainConnector } from "@talismn/chain-connector";
|
3
|
-
import { ChainConnectorEvm } from "@talismn/chain-connector-evm";
|
4
|
-
export type ChainConnectorsProviderOptions = {
|
5
|
-
onfinalityApiKey?: string;
|
6
|
-
};
|
7
|
-
export declare const ChainConnectorsProvider: import("react").FC<ChainConnectorsProviderOptions & {
|
8
|
-
children?: import("react").ReactNode;
|
9
|
-
}>, useChainConnectors: () => {
|
10
|
-
substrate: ChainConnector;
|
11
|
-
evm: ChainConnectorEvm;
|
12
|
-
};
|
1
|
+
export declare const useChainConnectors: () => import("@talismn/balances").ChainConnectors;
|
@@ -1,8 +1,24 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
export
|
4
|
-
|
1
|
+
import { ChainId, EvmNetworkId, TokenId } from "@talismn/chaindata-provider";
|
2
|
+
export declare const useChaindataProvider: () => import("@talismn/chaindata-provider").ChaindataProvider;
|
3
|
+
export declare const useChaindata: () => {
|
4
|
+
chains: (import("@talismn/chaindata-provider").Chain | import("@talismn/chaindata-provider").CustomChain)[];
|
5
|
+
chainsById: Record<string, import("@talismn/chaindata-provider").Chain | import("@talismn/chaindata-provider").CustomChain>;
|
6
|
+
chainsByGenesisHash: Record<string, import("@talismn/chaindata-provider").Chain | import("@talismn/chaindata-provider").CustomChain>;
|
7
|
+
evmNetworks: (import("@talismn/chaindata-provider").EvmNetwork | import("@talismn/chaindata-provider").CustomEvmNetwork)[];
|
8
|
+
evmNetworksById: Record<string, import("@talismn/chaindata-provider").EvmNetwork | import("@talismn/chaindata-provider").CustomEvmNetwork>;
|
9
|
+
tokens: import("@talismn/chaindata-provider").Token[];
|
10
|
+
tokensById: {
|
11
|
+
[k: string]: import("@talismn/chaindata-provider").Token;
|
12
|
+
};
|
13
|
+
miniMetadatas: import("@talismn/balances").MiniMetadata[];
|
5
14
|
};
|
6
|
-
export declare const
|
7
|
-
|
8
|
-
|
15
|
+
export declare const useChains: () => Record<string, import("@talismn/chaindata-provider").Chain | import("@talismn/chaindata-provider").CustomChain>;
|
16
|
+
export declare const useChainsByGenesisHash: () => Record<string, import("@talismn/chaindata-provider").Chain | import("@talismn/chaindata-provider").CustomChain>;
|
17
|
+
export declare const useEvmNetworks: () => Record<string, import("@talismn/chaindata-provider").EvmNetwork | import("@talismn/chaindata-provider").CustomEvmNetwork>;
|
18
|
+
export declare const useTokens: () => {
|
19
|
+
[k: string]: import("@talismn/chaindata-provider").Token;
|
20
|
+
};
|
21
|
+
export declare const useMiniMetadatas: () => import("@talismn/balances").MiniMetadata[];
|
22
|
+
export declare const useChain: (chainId?: ChainId) => import("@talismn/chaindata-provider").Chain | import("@talismn/chaindata-provider").CustomChain;
|
23
|
+
export declare const useEvmNetwork: (evmNetworkId?: EvmNetworkId) => import("@talismn/chaindata-provider").EvmNetwork | import("@talismn/chaindata-provider").CustomEvmNetwork;
|
24
|
+
export declare const useToken: (tokenId?: TokenId) => import("@talismn/chaindata-provider").Token;
|
@@ -1,3 +1,5 @@
|
|
1
1
|
import { TokenId } from "@talismn/chaindata-provider";
|
2
|
-
export declare
|
3
|
-
|
2
|
+
export declare const useTokenRates: () => {
|
3
|
+
[k: string]: import("@talismn/token-rates").TokenRates;
|
4
|
+
};
|
5
|
+
export declare const useTokenRate: (tokenId?: TokenId) => import("@talismn/token-rates").TokenRates;
|
@@ -1,2 +1,80 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
import { AnyBalanceModule, Hydrate } from "@talismn/balances";
|
2
|
+
import { ReactNode } from "react";
|
3
|
+
export { evmErc20TokenId, evmNativeTokenId, subNativeTokenId, subEquilibriumTokenId, subAssetTokenId, subPsp22TokenId, subTokensTokenId, } from "@talismn/balances";
|
4
|
+
export * from "./hooks/useBalances";
|
5
|
+
export * from "./hooks/useChainConnectors";
|
6
|
+
export * from "./hooks/useChaindata";
|
7
|
+
export * from "./hooks/useTokenRates";
|
8
|
+
export * from "./atoms/allAddresses";
|
9
|
+
export * from "./atoms/balanceModules";
|
10
|
+
export * from "./atoms/balances";
|
11
|
+
export * from "./atoms/chainConnectors";
|
12
|
+
export * from "./atoms/chaindata";
|
13
|
+
export * from "./atoms/chaindataProvider";
|
14
|
+
export * from "./atoms/config";
|
15
|
+
export * from "./atoms/cryptoWaitReady";
|
16
|
+
export * from "./atoms/tokenRates";
|
17
|
+
export type BalancesConfig = {
|
18
|
+
/**
|
19
|
+
* Optionally provide your own array of BalanceModules, when you don't want to use the defaults.
|
20
|
+
*/
|
21
|
+
balanceModules?: Array<(hydrate: Hydrate) => AnyBalanceModule>;
|
22
|
+
/**
|
23
|
+
* This key will be used in place of any public onfinality RPCs
|
24
|
+
*/
|
25
|
+
onfinalityApiKey?: string;
|
26
|
+
coingeckoApiUrl?: string;
|
27
|
+
coingeckoApiKeyName?: string;
|
28
|
+
coingeckoApiKeyValue?: string;
|
29
|
+
/** Enables balances fetching for tokens on testnet chains. */
|
30
|
+
withTestnets?: boolean;
|
31
|
+
/**
|
32
|
+
* A list of chain genesisHashes to fetch balances for.
|
33
|
+
*
|
34
|
+
* If undefined, balances will be fetched for all chains.
|
35
|
+
*
|
36
|
+
* Only applies to built-in chains, custom chains will always fetch balances.
|
37
|
+
*
|
38
|
+
* NOTE: This is an allowlist to enable the dapp to disable balances for chains it does not care about.
|
39
|
+
* Adding a chain here which is not already supported by the library will not automagically begin to fetch balances.
|
40
|
+
* It will just be ignored.
|
41
|
+
*
|
42
|
+
* In a similar vein, if you add testnets here then make sure you've also set the `useTestnets` prop to `true`.
|
43
|
+
*
|
44
|
+
* @example
|
45
|
+
* enabledChains={[
|
46
|
+
* // polkadot
|
47
|
+
* "0x91b171bb158e2d3848fa23a9f1c25182fb8e20313b2c1eb49219da7a70ce90c3",
|
48
|
+
* // kusama
|
49
|
+
* "0xb0a8d493285c2df73290dfb7e61f870f17b41801197a149ca93654499ea3dafe",
|
50
|
+
* // rococo
|
51
|
+
* "0x6408de7737c59c238890533af25896a2c20608d8b380bb01029acb392781063e",
|
52
|
+
* // westend
|
53
|
+
* "0xe143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e",
|
54
|
+
* ]}
|
55
|
+
*/
|
56
|
+
enabledChains?: string[];
|
57
|
+
/**
|
58
|
+
* A list of token ids to fetch balances for.
|
59
|
+
*
|
60
|
+
* If undefined, balances will be fetched for all tokens.
|
61
|
+
*
|
62
|
+
* If `enabledChains` is also defined, both filters will be applied,
|
63
|
+
* such that only the intersection of enabledChains and enabledTokens will be fetched.
|
64
|
+
*
|
65
|
+
* @example
|
66
|
+
* enabledTokens={[
|
67
|
+
* // DOT (polkadot relay chain)
|
68
|
+
* "polkadot-substrate-native",
|
69
|
+
* // USDC (polkadot asset hub)
|
70
|
+
* "polkadot-asset-hub-substrate-assets-1337-usdc",
|
71
|
+
* // ETH (ethereum mainnet)
|
72
|
+
* "1-evm-native",
|
73
|
+
* // GM (gm chain)
|
74
|
+
* "gm-substrate-tokens-gm",
|
75
|
+
* ]}
|
76
|
+
*/
|
77
|
+
enabledTokens?: string[];
|
78
|
+
children?: ReactNode;
|
79
|
+
};
|
80
|
+
export declare const BalancesProvider: ({ balanceModules, onfinalityApiKey, coingeckoApiUrl, coingeckoApiKeyName, coingeckoApiKeyValue, withTestnets, enabledChains, enabledTokens, children, }: BalancesConfig) => import("react/jsx-runtime").JSX.Element;
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { BalanceJson } from "@talismn/balances";
|
2
|
+
type PersistFn = (balances: BalanceJson[]) => Promise<void>;
|
3
|
+
type RetrieveFn = () => Promise<BalanceJson[]>;
|
4
|
+
export type BalancesPersistBackend = {
|
5
|
+
persist: PersistFn;
|
6
|
+
retrieve: RetrieveFn;
|
7
|
+
};
|
8
|
+
export declare const indexedDbBalancesPersistBackend: BalancesPersistBackend;
|
9
|
+
export declare const localStorageBalancesPersistBackend: BalancesPersistBackend;
|
10
|
+
export {};
|