@talismn/balances 0.0.0-pr2075-20250703111149 → 0.0.0-pr2075-20250707042608

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.
Files changed (106) hide show
  1. package/dist/declarations/src/NewBalanceModules.d.ts +99 -0
  2. package/dist/declarations/src/index.d.ts +2 -0
  3. package/dist/declarations/src/modules/EvmErc20Module.d.ts +1 -1
  4. package/dist/declarations/src/modules/IBalanceModule.d.ts +100 -0
  5. package/dist/declarations/src/modules/abis/index.d.ts +2 -0
  6. package/dist/declarations/src/modules/evm-erc20/config.d.ts +16 -0
  7. package/dist/declarations/src/modules/evm-erc20/fetchBalances.d.ts +3 -0
  8. package/dist/declarations/src/modules/evm-erc20/fetchTokens.d.ts +3 -0
  9. package/dist/declarations/src/modules/evm-erc20/getMiniMetadata.d.ts +3 -0
  10. package/dist/declarations/src/modules/evm-erc20/getTransferCallData.d.ts +3 -0
  11. package/dist/declarations/src/modules/evm-erc20/index.d.ts +1 -0
  12. package/dist/declarations/src/modules/evm-erc20/module.d.ts +3 -0
  13. package/dist/declarations/src/modules/evm-erc20/subscribeBalances.d.ts +3 -0
  14. package/dist/declarations/src/modules/evm-erc20/utils.d.ts +6 -0
  15. package/dist/declarations/src/modules/evm-native/config.d.ts +15 -0
  16. package/dist/declarations/src/modules/evm-native/fetchBalances.d.ts +3 -0
  17. package/dist/declarations/src/modules/evm-native/fetchTokens.d.ts +3 -0
  18. package/dist/declarations/src/modules/evm-native/getMiniMetadata.d.ts +3 -0
  19. package/dist/declarations/src/modules/evm-native/getTransferCallData.d.ts +3 -0
  20. package/dist/declarations/src/modules/evm-native/index.d.ts +1 -0
  21. package/dist/declarations/src/modules/evm-native/module.d.ts +3 -0
  22. package/dist/declarations/src/modules/evm-native/subscribeBalances.d.ts +3 -0
  23. package/dist/declarations/src/modules/evm-uniswapv2/config.d.ts +16 -0
  24. package/dist/declarations/src/modules/evm-uniswapv2/fetchBalances.d.ts +3 -0
  25. package/dist/declarations/src/modules/evm-uniswapv2/fetchTokens.d.ts +3 -0
  26. package/dist/declarations/src/modules/evm-uniswapv2/getMiniMetadata.d.ts +3 -0
  27. package/dist/declarations/src/modules/evm-uniswapv2/getTransferCallData.d.ts +3 -0
  28. package/dist/declarations/src/modules/evm-uniswapv2/index.d.ts +1 -0
  29. package/dist/declarations/src/modules/evm-uniswapv2/module.d.ts +3 -0
  30. package/dist/declarations/src/modules/evm-uniswapv2/subscribeBalances.d.ts +3 -0
  31. package/dist/declarations/src/modules/evm-uniswapv2/utils.d.ts +12 -0
  32. package/dist/declarations/src/modules/index.d.ts +2 -1
  33. package/dist/declarations/src/modules/shared/errors.d.ts +11 -0
  34. package/dist/declarations/src/modules/shared/fetchRuntimeCallResult.d.ts +2 -0
  35. package/dist/declarations/src/modules/shared/getContantValue.d.ts +1 -0
  36. package/dist/declarations/src/modules/shared/hasConstantValue.d.ts +427 -0
  37. package/dist/declarations/src/modules/shared/index.d.ts +7 -0
  38. package/dist/declarations/src/modules/shared/tryGetConstantValue.d.ts +1 -0
  39. package/dist/declarations/src/modules/shared/types.d.ts +10 -0
  40. package/dist/declarations/src/modules/shared/utils.d.ts +4 -0
  41. package/dist/declarations/src/modules/substrate-assets/config.d.ts +16 -0
  42. package/dist/declarations/src/modules/substrate-assets/fetchBalances.d.ts +3 -0
  43. package/dist/declarations/src/modules/substrate-assets/fetchTokens.d.ts +3 -0
  44. package/dist/declarations/src/modules/substrate-assets/getMiniMetadata.d.ts +3 -0
  45. package/dist/declarations/src/modules/substrate-assets/getTransferCallData.d.ts +3 -0
  46. package/dist/declarations/src/modules/substrate-assets/index.d.ts +1 -0
  47. package/dist/declarations/src/modules/substrate-assets/module.d.ts +3 -0
  48. package/dist/declarations/src/modules/substrate-assets/subscribeBalances.d.ts +3 -0
  49. package/dist/declarations/src/modules/substrate-foreignassets/config.d.ts +16 -0
  50. package/dist/declarations/src/modules/substrate-foreignassets/fetchBalances.d.ts +3 -0
  51. package/dist/declarations/src/modules/substrate-foreignassets/fetchTokens.d.ts +3 -0
  52. package/dist/declarations/src/modules/substrate-foreignassets/getMiniMetadata.d.ts +3 -0
  53. package/dist/declarations/src/modules/substrate-foreignassets/getTransferCallData.d.ts +3 -0
  54. package/dist/declarations/src/modules/substrate-foreignassets/index.d.ts +1 -0
  55. package/dist/declarations/src/modules/substrate-foreignassets/module.d.ts +3 -0
  56. package/dist/declarations/src/modules/substrate-foreignassets/subscribeBalances.d.ts +3 -0
  57. package/dist/declarations/src/modules/substrate-hydration/config.d.ts +2 -0
  58. package/dist/declarations/src/modules/substrate-hydration/fetchBalances.d.ts +3 -0
  59. package/dist/declarations/src/modules/substrate-hydration/fetchTokens.d.ts +4 -0
  60. package/dist/declarations/src/modules/substrate-hydration/getMiniMetadata.d.ts +3 -0
  61. package/dist/declarations/src/modules/substrate-hydration/getTransferCallData.d.ts +3 -0
  62. package/dist/declarations/src/modules/substrate-hydration/index.d.ts +2 -0
  63. package/dist/declarations/src/modules/substrate-hydration/module.d.ts +4 -0
  64. package/dist/declarations/src/modules/substrate-hydration/subscribeBalances.d.ts +3 -0
  65. package/dist/declarations/src/modules/substrate-hydration/types.d.ts +14 -0
  66. package/dist/declarations/src/modules/substrate-native/bittensor/getSubtensorStakingBalances.d.ts +9 -0
  67. package/dist/declarations/src/modules/substrate-native/bittensor/subtensor.d.ts +20 -0
  68. package/dist/declarations/src/modules/substrate-native/config.d.ts +25 -0
  69. package/dist/declarations/src/modules/substrate-native/fetchBalances.d.ts +3 -0
  70. package/dist/declarations/src/modules/substrate-native/fetchTokens.d.ts +8 -0
  71. package/dist/declarations/src/modules/substrate-native/getMiniMetadata.d.ts +3 -0
  72. package/dist/declarations/src/modules/substrate-native/getTransferCallData.d.ts +3 -0
  73. package/dist/declarations/src/modules/substrate-native/index.d.ts +1 -0
  74. package/dist/declarations/src/modules/substrate-native/module.d.ts +3 -0
  75. package/dist/declarations/src/modules/substrate-native/queries/buildBaseQueries.d.ts +20 -0
  76. package/dist/declarations/src/modules/substrate-native/queries/buildNomPoolQueries.d.ts +8 -0
  77. package/dist/declarations/src/modules/substrate-native/subscribeBalances.d.ts +3 -0
  78. package/dist/declarations/src/modules/substrate-native/util/lockTypes.d.ts +15 -0
  79. package/dist/declarations/src/modules/substrate-native/util/nompoolAccountId.d.ts +5 -0
  80. package/dist/declarations/src/modules/substrate-psp22/config.d.ts +16 -0
  81. package/dist/declarations/src/modules/substrate-psp22/fetchBalances.d.ts +3 -0
  82. package/dist/declarations/src/modules/substrate-psp22/fetchTokens.d.ts +3 -0
  83. package/dist/declarations/src/modules/substrate-psp22/getMiniMetadata.d.ts +3 -0
  84. package/dist/declarations/src/modules/substrate-psp22/getTransferCallData.d.ts +3 -0
  85. package/dist/declarations/src/modules/substrate-psp22/index.d.ts +1 -0
  86. package/dist/declarations/src/modules/substrate-psp22/module.d.ts +3 -0
  87. package/dist/declarations/src/modules/substrate-psp22/subscribeBalances.d.ts +3 -0
  88. package/dist/declarations/src/modules/substrate-tokens/config.d.ts +23 -0
  89. package/dist/declarations/src/modules/substrate-tokens/fetchBalances.d.ts +3 -0
  90. package/dist/declarations/src/modules/substrate-tokens/fetchTokens.d.ts +3 -0
  91. package/dist/declarations/src/modules/substrate-tokens/getMiniMetadata.d.ts +3 -0
  92. package/dist/declarations/src/modules/substrate-tokens/getTransferCallData.d.ts +3 -0
  93. package/dist/declarations/src/modules/substrate-tokens/index.d.ts +1 -0
  94. package/dist/declarations/src/modules/substrate-tokens/module.d.ts +3 -0
  95. package/dist/declarations/src/modules/substrate-tokens/subscribeBalances.d.ts +3 -0
  96. package/dist/declarations/src/modules/util/RpcStateQueriesHelper.d.ts +12 -0
  97. package/dist/declarations/src/modules/util/buildStorageCoders.d.ts +2 -2
  98. package/dist/declarations/src/types/balances.d.ts +2 -1
  99. package/dist/declarations/src/types/minimetadatas.d.ts +1 -1
  100. package/dist/declarations/src/version.d.ts +1 -0
  101. package/dist/talismn-balances.cjs.dev.js +3901 -331
  102. package/dist/talismn-balances.cjs.prod.js +3901 -331
  103. package/dist/talismn-balances.esm.js +3887 -323
  104. package/package.json +8 -8
  105. package/dist/declarations/src/libVersion.d.ts +0 -1
  106. package/dist/declarations/src/modules/abis/erc20.d.ts +0 -227
@@ -0,0 +1,99 @@
1
+ export declare const NEW_BALANCE_MODULES: (import("./modules/IBalanceModule").IBalanceModule<"substrate-native", {
2
+ symbol?: string | undefined;
3
+ networkId?: string | undefined;
4
+ isDefault?: boolean | undefined;
5
+ decimals?: number | undefined;
6
+ name?: string | undefined;
7
+ logo?: string | undefined;
8
+ coingeckoId?: string | undefined;
9
+ noDiscovery?: boolean | undefined;
10
+ mirrorOf?: string | undefined;
11
+ }, import("./modules/substrate-native/config").ModuleConfig, import("./modules/substrate-native/config").MiniMetadataExtra> | import("./modules/IBalanceModule").IBalanceModule<"substrate-assets", {
12
+ assetId: string;
13
+ symbol?: string | undefined;
14
+ networkId?: string | undefined;
15
+ isDefault?: boolean | undefined;
16
+ decimals?: number | undefined;
17
+ name?: string | undefined;
18
+ logo?: string | undefined;
19
+ coingeckoId?: string | undefined;
20
+ noDiscovery?: boolean | undefined;
21
+ mirrorOf?: string | undefined;
22
+ }, unknown, unknown> | import("./modules/IBalanceModule").IBalanceModule<"substrate-hydration", {
23
+ onChainId: number;
24
+ symbol?: string | undefined;
25
+ networkId?: string | undefined;
26
+ isDefault?: boolean | undefined;
27
+ decimals?: number | undefined;
28
+ name?: string | undefined;
29
+ logo?: string | undefined;
30
+ coingeckoId?: string | undefined;
31
+ noDiscovery?: boolean | undefined;
32
+ mirrorOf?: string | undefined;
33
+ }, unknown, unknown> | import("./modules/IBalanceModule").IBalanceModule<"substrate-foreignassets", {
34
+ onChainId: string;
35
+ symbol?: string | undefined;
36
+ networkId?: string | undefined;
37
+ isDefault?: boolean | undefined;
38
+ decimals?: number | undefined;
39
+ name?: string | undefined;
40
+ logo?: string | undefined;
41
+ coingeckoId?: string | undefined;
42
+ noDiscovery?: boolean | undefined;
43
+ mirrorOf?: string | undefined;
44
+ }, unknown, unknown> | import("./modules/IBalanceModule").IBalanceModule<"substrate-psp22", {
45
+ contractAddress: string;
46
+ symbol?: string | undefined;
47
+ networkId?: string | undefined;
48
+ isDefault?: boolean | undefined;
49
+ decimals?: number | undefined;
50
+ name?: string | undefined;
51
+ logo?: string | undefined;
52
+ coingeckoId?: string | undefined;
53
+ noDiscovery?: boolean | undefined;
54
+ mirrorOf?: string | undefined;
55
+ }, unknown, unknown> | import("./modules/IBalanceModule").IBalanceModule<"substrate-tokens", {
56
+ symbol: string;
57
+ decimals: number;
58
+ existentialDeposit: string;
59
+ onChainId: string | number;
60
+ networkId?: string | undefined;
61
+ isDefault?: boolean | undefined;
62
+ name?: string | undefined;
63
+ logo?: string | undefined;
64
+ coingeckoId?: string | undefined;
65
+ noDiscovery?: boolean | undefined;
66
+ mirrorOf?: string | undefined;
67
+ }, import("./modules/substrate-tokens/config").ModuleConfig, import("./modules/substrate-tokens/config").MiniMetadataExtra> | import("./modules/IBalanceModule").IBalanceModule<"evm-erc20", {
68
+ contractAddress: `0x${string}`;
69
+ symbol?: string | undefined;
70
+ networkId?: string | undefined;
71
+ isDefault?: boolean | undefined;
72
+ decimals?: number | undefined;
73
+ name?: string | undefined;
74
+ logo?: string | undefined;
75
+ coingeckoId?: string | undefined;
76
+ noDiscovery?: boolean | undefined;
77
+ mirrorOf?: string | undefined;
78
+ }, unknown, unknown> | import("./modules/IBalanceModule").IBalanceModule<"evm-uniswapv2", {
79
+ contractAddress: `0x${string}`;
80
+ symbol?: string | undefined;
81
+ networkId?: string | undefined;
82
+ isDefault?: boolean | undefined;
83
+ decimals?: number | undefined;
84
+ name?: string | undefined;
85
+ logo?: string | undefined;
86
+ coingeckoId?: string | undefined;
87
+ noDiscovery?: boolean | undefined;
88
+ mirrorOf?: string | undefined;
89
+ }, unknown, unknown> | import("./modules/IBalanceModule").IBalanceModule<"evm-native", {
90
+ symbol?: string | undefined;
91
+ networkId?: string | undefined;
92
+ isDefault?: boolean | undefined;
93
+ decimals?: number | undefined;
94
+ name?: string | undefined;
95
+ logo?: string | undefined;
96
+ coingeckoId?: string | undefined;
97
+ noDiscovery?: boolean | undefined;
98
+ mirrorOf?: string | undefined;
99
+ }, unknown, unknown>)[];
@@ -2,3 +2,5 @@ export * from "./BalanceModule";
2
2
  export * from "./TalismanBalancesDatabase";
3
3
  export * from "./modules";
4
4
  export * from "./types";
5
+ export * from "./NewBalanceModules";
6
+ export * from "./version";
@@ -1,8 +1,8 @@
1
1
  import { EvmErc20Token } from "@talismn/chaindata-provider";
2
+ import { erc20Abi } from "viem";
2
3
  import z from "zod/v4";
3
4
  import { DefaultChainMeta, DefaultModuleConfig, NewBalanceModule } from "../BalanceModule";
4
5
  import { NewBalanceType } from "../types";
5
- import { erc20Abi } from "./abis/erc20";
6
6
  import { erc20BalancesAggregatorAbi } from "./abis/erc20BalancesAggregator";
7
7
  export { erc20Abi, erc20BalancesAggregatorAbi };
8
8
  type ModuleType = "evm-erc20";
@@ -0,0 +1,100 @@
1
+ import type { Address, IBalance } from "@talismn/balances";
2
+ import type { ChainConnector } from "@talismn/chain-connector";
3
+ import type { ChainConnectorEvm } from "@talismn/chain-connector-evm";
4
+ import { AnyMiniMetadata, DotNetworkId, EthNetworkId, Token, TokenId, TokenOfType, TokenType } from "@talismn/chaindata-provider";
5
+ import { Observable } from "rxjs";
6
+ /**
7
+ * Changes:
8
+ * - each method is standalone
9
+ * - decoupled from chaindataProvider (which uses indexedDB so cant be used in node)
10
+ * - all methods are network specific: this way they can return without waiting on other networks, while still being able to group multiple fetchs in one query
11
+ * - connector is passed as a parameter on every method that needs one, so that an evm module doesnt need a substrate connector, and also to allow using a module without connector
12
+ * - miniMetadatas are be fully typed
13
+ * - TokenConfig would be made much simpler
14
+ * - the logic about what data to fetch and cache (ex: erc20 symbols/decimals) would be here, where it belongs
15
+ */
16
+ export type PlatformOf<T extends TokenType> = TokenOfType<T>["platform"];
17
+ export type ConnectorOf<P extends PlatformOf<TokenType>> = P extends "ethereum" ? ChainConnectorEvm : P extends "polkadot" ? ChainConnector : never;
18
+ type DotTransferCallData = {
19
+ address: string;
20
+ method: `0x${string}`;
21
+ };
22
+ type EthTransferCallData = {
23
+ from: string;
24
+ to: string;
25
+ data: `0x${string}`;
26
+ value?: string;
27
+ };
28
+ export type BalanceTransferType = "keep-alive" | "all" | "allow-death";
29
+ type CallDataOf<P extends PlatformOf<TokenType>> = P extends "ethereum" ? EthTransferCallData : P extends "polkadot" ? DotTransferCallData : never;
30
+ export type TokensWithAddresses = Array<[Token, Address[]]>;
31
+ export type FetchBalanceErrors = Array<{
32
+ tokenId: TokenId;
33
+ address: Address;
34
+ error: Error;
35
+ }>;
36
+ export type FetchBalanceResults = {
37
+ success: IBalance[];
38
+ errors: FetchBalanceErrors;
39
+ };
40
+ type MiniMetadata<Extra = null> = Omit<AnyMiniMetadata, "extra"> & {
41
+ extra: Extra;
42
+ };
43
+ export interface IBalanceModule<Type extends TokenType, TokenConfig = unknown, ModuleConfig = unknown, MiniMetadataExtra = unknown> {
44
+ type: Type;
45
+ platform: PlatformOf<Type>;
46
+ getMiniMetadata: (arg: PlatformOf<Type> extends "polkadot" ? {
47
+ networkId: string;
48
+ specVersion: number;
49
+ metadataRpc: `0x${string}`;
50
+ config?: ModuleConfig;
51
+ } : never) => PlatformOf<Type> extends "polkadot" ? MiniMetadata<MiniMetadataExtra> : never;
52
+ fetchTokens: (arg: PlatformOf<Type> extends "polkadot" ? {
53
+ networkId: DotNetworkId;
54
+ tokens: TokenConfig[];
55
+ connector: ChainConnector;
56
+ miniMetadata: MiniMetadata<MiniMetadataExtra>;
57
+ cache: Record<TokenId, unknown>;
58
+ } : PlatformOf<Type> extends "ethereum" ? {
59
+ networkId: EthNetworkId;
60
+ tokens: TokenConfig[];
61
+ connector: ChainConnectorEvm;
62
+ cache: Record<TokenId, unknown>;
63
+ } : never) => Promise<TokenOfType<Type>[]>;
64
+ fetchBalances: (arg: PlatformOf<Type> extends "polkadot" ? {
65
+ networkId: DotNetworkId;
66
+ addressesByToken: TokensWithAddresses;
67
+ connector: ChainConnector;
68
+ miniMetadata: MiniMetadata<MiniMetadataExtra>;
69
+ } : PlatformOf<Type> extends "ethereum" ? {
70
+ networkId: EthNetworkId;
71
+ addressesByToken: TokensWithAddresses;
72
+ connector: ChainConnectorEvm;
73
+ } : never) => Promise<FetchBalanceResults>;
74
+ subscribeBalances: (arg: PlatformOf<Type> extends "polkadot" ? {
75
+ networkId: DotNetworkId;
76
+ addressesByToken: TokensWithAddresses;
77
+ connector: ChainConnector;
78
+ miniMetadata: MiniMetadata<MiniMetadataExtra>;
79
+ } : PlatformOf<Type> extends "ethereum" ? {
80
+ networkId: EthNetworkId;
81
+ addressesByToken: TokensWithAddresses;
82
+ connector: ChainConnectorEvm;
83
+ } : never) => Observable<FetchBalanceResults>;
84
+ getTransferCallData: (arg: PlatformOf<Type> extends "polkadot" ? {
85
+ from: string;
86
+ to: string;
87
+ value: string;
88
+ token: Token;
89
+ metadataRpc: `0x${string}`;
90
+ type: BalanceTransferType;
91
+ connector: ChainConnector;
92
+ config?: ModuleConfig;
93
+ } : PlatformOf<Type> extends "ethereum" ? {
94
+ from: string;
95
+ to: string;
96
+ value: string;
97
+ token: Token;
98
+ } : never) => CallDataOf<PlatformOf<Type>> | Promise<CallDataOf<PlatformOf<Type>>>;
99
+ }
100
+ export {};
@@ -1 +1,3 @@
1
1
  export * from "./multicall";
2
+ export * from "./erc20BalancesAggregator";
3
+ export * from "./uniswapV2Pair";
@@ -0,0 +1,16 @@
1
+ import z from "zod/v4";
2
+ export declare const MODULE_TYPE: "evm-erc20";
3
+ export declare const PLATFORM: "ethereum";
4
+ export declare const EvmErc20TokenConfigSchema: z.ZodObject<{
5
+ symbol: z.ZodOptional<z.ZodString>;
6
+ networkId: z.ZodOptional<z.ZodString>;
7
+ isDefault: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
8
+ decimals: z.ZodOptional<z.ZodInt>;
9
+ name: z.ZodOptional<z.ZodOptional<z.ZodString>>;
10
+ logo: z.ZodOptional<z.ZodOptional<z.ZodString>>;
11
+ coingeckoId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
12
+ noDiscovery: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
13
+ mirrorOf: z.ZodOptional<z.ZodOptional<z.ZodString>>;
14
+ contractAddress: z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>;
15
+ }, z.core.$strict>;
16
+ export type EvmErc20TokenConfig = z.infer<typeof EvmErc20TokenConfigSchema>;
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../IBalanceModule";
2
+ import { MODULE_TYPE } from "./config";
3
+ export declare const fetchBalances: IBalanceModule<typeof MODULE_TYPE>["fetchBalances"];
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../IBalanceModule";
2
+ import { EvmErc20TokenConfig, MODULE_TYPE } from "./config";
3
+ export declare const fetchTokens: IBalanceModule<typeof MODULE_TYPE, EvmErc20TokenConfig>["fetchTokens"];
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../IBalanceModule";
2
+ import { MODULE_TYPE } from "./config";
3
+ export declare const getMiniMetadata: IBalanceModule<typeof MODULE_TYPE>["getMiniMetadata"];
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../IBalanceModule";
2
+ import { MODULE_TYPE } from "./config";
3
+ export declare const getTransferCallData: IBalanceModule<typeof MODULE_TYPE>["getTransferCallData"];
@@ -0,0 +1 @@
1
+ export * from "./module";
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../IBalanceModule";
2
+ import { EvmErc20TokenConfig, MODULE_TYPE } from "./config";
3
+ export declare const EvmErc20BalanceModule: IBalanceModule<typeof MODULE_TYPE, EvmErc20TokenConfig>;
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../IBalanceModule";
2
+ import { MODULE_TYPE } from "./config";
3
+ export declare const subscribeBalances: IBalanceModule<typeof MODULE_TYPE>["subscribeBalances"];
@@ -0,0 +1,6 @@
1
+ import { Client } from "viem";
2
+ export declare const getErc20ContractData: (client: Client, contractAddress: `0x${string}`) => Promise<{
3
+ symbol: string;
4
+ decimals: number;
5
+ name: string;
6
+ }>;
@@ -0,0 +1,15 @@
1
+ import z from "zod/v4";
2
+ export declare const MODULE_TYPE: "evm-native";
3
+ export declare const PLATFORM: "ethereum";
4
+ export declare const EvmNativeTokenConfigSchema: z.ZodObject<{
5
+ symbol: z.ZodOptional<z.ZodString>;
6
+ networkId: z.ZodOptional<z.ZodString>;
7
+ isDefault: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
8
+ decimals: z.ZodOptional<z.ZodInt>;
9
+ name: z.ZodOptional<z.ZodOptional<z.ZodString>>;
10
+ logo: z.ZodOptional<z.ZodOptional<z.ZodString>>;
11
+ coingeckoId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
12
+ noDiscovery: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
13
+ mirrorOf: z.ZodOptional<z.ZodOptional<z.ZodString>>;
14
+ }, z.core.$strict>;
15
+ export type EvmNativeTokenConfig = z.infer<typeof EvmNativeTokenConfigSchema>;
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../IBalanceModule";
2
+ import { MODULE_TYPE } from "./config";
3
+ export declare const fetchBalances: IBalanceModule<typeof MODULE_TYPE>["fetchBalances"];
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../IBalanceModule";
2
+ import { EvmNativeTokenConfig, MODULE_TYPE } from "./config";
3
+ export declare const fetchTokens: IBalanceModule<typeof MODULE_TYPE, EvmNativeTokenConfig>["fetchTokens"];
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../IBalanceModule";
2
+ import { MODULE_TYPE } from "./config";
3
+ export declare const getMiniMetadata: IBalanceModule<typeof MODULE_TYPE>["getMiniMetadata"];
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../IBalanceModule";
2
+ import { MODULE_TYPE } from "./config";
3
+ export declare const getTransferCallData: IBalanceModule<typeof MODULE_TYPE>["getTransferCallData"];
@@ -0,0 +1 @@
1
+ export * from "./module";
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../IBalanceModule";
2
+ import { EvmNativeTokenConfig, MODULE_TYPE } from "./config";
3
+ export declare const EvmNativeBalanceModule: IBalanceModule<typeof MODULE_TYPE, EvmNativeTokenConfig>;
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../IBalanceModule";
2
+ import { MODULE_TYPE } from "./config";
3
+ export declare const subscribeBalances: IBalanceModule<typeof MODULE_TYPE>["subscribeBalances"];
@@ -0,0 +1,16 @@
1
+ import z from "zod/v4";
2
+ export declare const MODULE_TYPE: "evm-uniswapv2";
3
+ export declare const PLATFORM: "ethereum";
4
+ export declare const EvmUniswapV2TokenConfigSchema: z.ZodObject<{
5
+ symbol: z.ZodOptional<z.ZodString>;
6
+ networkId: z.ZodOptional<z.ZodString>;
7
+ isDefault: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
8
+ decimals: z.ZodOptional<z.ZodInt>;
9
+ name: z.ZodOptional<z.ZodOptional<z.ZodString>>;
10
+ logo: z.ZodOptional<z.ZodOptional<z.ZodString>>;
11
+ coingeckoId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
12
+ noDiscovery: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
13
+ mirrorOf: z.ZodOptional<z.ZodOptional<z.ZodString>>;
14
+ contractAddress: z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>;
15
+ }, z.core.$strict>;
16
+ export type EvmUniswapV2TokenConfig = z.infer<typeof EvmUniswapV2TokenConfigSchema>;
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../IBalanceModule";
2
+ import { MODULE_TYPE } from "./config";
3
+ export declare const fetchBalances: IBalanceModule<typeof MODULE_TYPE>["fetchBalances"];
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../IBalanceModule";
2
+ import { EvmUniswapV2TokenConfig, MODULE_TYPE } from "./config";
3
+ export declare const fetchTokens: IBalanceModule<typeof MODULE_TYPE, EvmUniswapV2TokenConfig>["fetchTokens"];
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../IBalanceModule";
2
+ import { MODULE_TYPE } from "./config";
3
+ export declare const getMiniMetadata: IBalanceModule<typeof MODULE_TYPE>["getMiniMetadata"];
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../IBalanceModule";
2
+ import { MODULE_TYPE } from "./config";
3
+ export declare const getTransferCallData: IBalanceModule<typeof MODULE_TYPE>["getTransferCallData"];
@@ -0,0 +1 @@
1
+ export * from "./module";
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../IBalanceModule";
2
+ import { EvmUniswapV2TokenConfig, MODULE_TYPE } from "./config";
3
+ export declare const EvmUniswapV2BalanceModule: IBalanceModule<typeof MODULE_TYPE, EvmUniswapV2TokenConfig>;
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../IBalanceModule";
2
+ import { MODULE_TYPE } from "./config";
3
+ export declare const subscribeBalances: IBalanceModule<typeof MODULE_TYPE>["subscribeBalances"];
@@ -0,0 +1,12 @@
1
+ import { Client } from "viem";
2
+ export declare const getErc20ContractData: (client: Client, contractAddress: `0x${string}`) => Promise<{
3
+ symbol: string;
4
+ decimals: number;
5
+ name: string;
6
+ }>;
7
+ export declare const getUniswapV2PairContractData: (client: Client, contractAddress: `0x${string}`) => Promise<{
8
+ token0: `0x${string}`;
9
+ token1: `0x${string}`;
10
+ decimals: number;
11
+ name: string;
12
+ }>;
@@ -12,7 +12,6 @@ export declare const defaultBalanceModules: (import("..").NewBalanceModule<"evm-
12
12
  coingeckoId?: string | undefined;
13
13
  noDiscovery?: boolean | undefined;
14
14
  mirrorOf?: string | undefined;
15
- isCustom?: boolean | undefined;
16
15
  }, import("..").DefaultChainMeta, undefined, {
17
16
  contractAddress: `0x${string}`;
18
17
  symbol?: string | undefined;
@@ -97,6 +96,7 @@ export declare const defaultBalanceModules: (import("..").NewBalanceModule<"evm-
97
96
  type: "substrate-assets";
98
97
  platform: "polkadot";
99
98
  assetId: string;
99
+ isSufficient: boolean;
100
100
  existentialDeposit: string;
101
101
  isDefault?: boolean | undefined;
102
102
  name?: string | undefined;
@@ -124,6 +124,7 @@ export declare const defaultBalanceModules: (import("..").NewBalanceModule<"evm-
124
124
  type: "substrate-foreignassets";
125
125
  platform: "polkadot";
126
126
  onChainId: string;
127
+ isSufficient: boolean;
127
128
  existentialDeposit: string;
128
129
  isDefault?: boolean | undefined;
129
130
  name?: string | undefined;
@@ -0,0 +1,11 @@
1
+ import { TokenId } from "@talismn/chaindata-provider";
2
+ import { Address } from "viem";
3
+ export declare class BalanceFetchError extends Error {
4
+ tokenId: TokenId;
5
+ address: Address;
6
+ constructor(message: string, tokenId: TokenId, address: Address, cause?: Error);
7
+ }
8
+ export declare class BalanceFetchNetworkError extends Error {
9
+ evmNetworkId: string | undefined;
10
+ constructor(message: string, evmNetworkId?: string, cause?: Error);
11
+ }
@@ -0,0 +1,2 @@
1
+ import { ChainConnector } from "@talismn/chain-connector";
2
+ export declare const fetchRuntimeCallResult: <T>(connector: ChainConnector, networkId: string, metadataRpc: `0x${string}`, apiName: string, method: string, args: unknown[]) => Promise<T>;
@@ -0,0 +1 @@
1
+ export declare const getConstantValue: <T>(metadataRpc: `0x${string}`, pallet: string, constant: string) => T;