@talismn/balances 0.0.0-pr2131-20250807071252 → 0.0.0-pr2134-20250813091030

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 (37) hide show
  1. package/dist/declarations/src/BalancesProvider.d.ts +1 -0
  2. package/dist/declarations/src/getMiniMetadatas/getMetadataRpc.d.ts +2 -2
  3. package/dist/declarations/src/getMiniMetadatas/getSpecVersion.d.ts +2 -2
  4. package/dist/declarations/src/getMiniMetadatas/index.d.ts +2 -2
  5. package/dist/declarations/src/modules/index.d.ts +23 -0
  6. package/dist/declarations/src/modules/shared/errors.d.ts +1 -1
  7. package/dist/declarations/src/modules/shared/fetchRuntimeCallResult.d.ts +2 -2
  8. package/dist/declarations/src/modules/shared/rpcQueryPack.d.ts +3 -3
  9. package/dist/declarations/src/modules/sol-native/config.d.ts +3 -0
  10. package/dist/declarations/src/modules/sol-native/fetchBalances.d.ts +3 -0
  11. package/dist/declarations/src/modules/sol-native/fetchTokens.d.ts +3 -0
  12. package/dist/declarations/src/modules/sol-native/getMiniMetadata.d.ts +3 -0
  13. package/dist/declarations/src/modules/sol-native/getTransferCallData.d.ts +3 -0
  14. package/dist/declarations/src/modules/sol-native/index.d.ts +2 -0
  15. package/dist/declarations/src/modules/sol-native/module.d.ts +3 -0
  16. package/dist/declarations/src/modules/sol-native/subscribeBalances.d.ts +3 -0
  17. package/dist/declarations/src/modules/sol-native/types.d.ts +13 -0
  18. package/dist/declarations/src/modules/sol-spl/config.d.ts +3 -0
  19. package/dist/declarations/src/modules/sol-spl/fetchBalances.d.ts +3 -0
  20. package/dist/declarations/src/modules/sol-spl/fetchTokens.d.ts +3 -0
  21. package/dist/declarations/src/modules/sol-spl/getMiniMetadata.d.ts +3 -0
  22. package/dist/declarations/src/modules/sol-spl/getTransferCallData.d.ts +3 -0
  23. package/dist/declarations/src/modules/sol-spl/index.d.ts +2 -0
  24. package/dist/declarations/src/modules/sol-spl/module.d.ts +3 -0
  25. package/dist/declarations/src/modules/sol-spl/subscribeBalances.d.ts +3 -0
  26. package/dist/declarations/src/modules/sol-spl/types.d.ts +14 -0
  27. package/dist/declarations/src/modules/substrate-native/bittensor/getSubtensorStakingBalances.d.ts +2 -2
  28. package/dist/declarations/src/modules/substrate-native/fetchTokens.d.ts +2 -2
  29. package/dist/declarations/src/modules/substrate-psp22/util.d.ts +2 -2
  30. package/dist/declarations/src/types/IBalanceModule.d.ts +26 -19
  31. package/dist/declarations/src/types/balances.d.ts +52 -4
  32. package/dist/declarations/src/types/balancetypes.d.ts +0 -4
  33. package/dist/declarations/src/types/chainConnectors.d.ts +4 -4
  34. package/dist/talismn-balances.cjs.dev.js +750 -245
  35. package/dist/talismn-balances.cjs.prod.js +750 -245
  36. package/dist/talismn-balances.esm.js +740 -239
  37. package/package.json +13 -8
@@ -21,6 +21,7 @@ export declare class BalancesProvider {
21
21
  private getNetworkBalances$;
22
22
  private getPolkadotNetworkModuleBalances$;
23
23
  private getEthereumNetworkModuleBalances$;
24
+ private getSolanaNetworkModuleBalances$;
24
25
  private updateStorage$;
25
26
  private getNetworkMiniMetadatas$;
26
27
  private getNetworkSpecVersion$;
@@ -1,3 +1,3 @@
1
- import { ChainConnector } from "@talismn/chain-connector";
1
+ import { IChainConnectorDot } from "@talismn/chain-connectors";
2
2
  import { DotNetworkId } from "@talismn/chaindata-provider";
3
- export declare const getMetadataRpc: (chainConnector: ChainConnector, networkId: DotNetworkId) => Promise<`0x${string}`>;
3
+ export declare const getMetadataRpc: (chainConnector: IChainConnectorDot, networkId: DotNetworkId) => Promise<`0x${string}`>;
@@ -1,6 +1,6 @@
1
- import { ChainConnector } from "@talismn/chain-connector";
1
+ import { IChainConnectorDot } from "@talismn/chain-connectors";
2
2
  import { DotNetworkId } from "@talismn/chaindata-provider";
3
3
  /**
4
4
  * fetches the spec version of a network. current request is cached in case of multiple calls (all balance modules will kick in at once)
5
5
  */
6
- export declare const getSpecVersion: (chainConnector: ChainConnector, networkId: DotNetworkId) => Promise<number>;
6
+ export declare const getSpecVersion: (chainConnector: IChainConnectorDot, networkId: DotNetworkId) => Promise<number>;
@@ -1,5 +1,5 @@
1
- import { ChainConnector } from "@talismn/chain-connector";
1
+ import { IChainConnectorDot } from "@talismn/chain-connectors";
2
2
  import { ChaindataProvider, DotNetworkId } from "@talismn/chaindata-provider";
3
3
  import { MiniMetadata } from "../types";
4
4
  export { getSpecVersion } from "./getSpecVersion";
5
- export declare const getMiniMetadatas: (chainConnector: ChainConnector, chaindataProvider: ChaindataProvider, networkId: DotNetworkId, specVersion?: number) => Promise<MiniMetadata[]>;
5
+ export declare const getMiniMetadatas: (chainConnector: IChainConnectorDot, chaindataProvider: ChaindataProvider, networkId: DotNetworkId, specVersion?: number) => Promise<MiniMetadata[]>;
@@ -108,6 +108,27 @@ export declare const BALANCE_MODULES: (import("../types/IBalanceModule").IBalanc
108
108
  coingeckoId?: string | undefined;
109
109
  noDiscovery?: boolean | undefined;
110
110
  mirrorOf?: string | undefined;
111
+ }, unknown, unknown> | import("../types/IBalanceModule").IBalanceModule<"sol-native", {
112
+ symbol?: string | undefined;
113
+ networkId?: string | undefined;
114
+ isDefault?: boolean | undefined;
115
+ decimals?: number | undefined;
116
+ name?: string | undefined;
117
+ logo?: string | undefined;
118
+ coingeckoId?: string | undefined;
119
+ noDiscovery?: boolean | undefined;
120
+ mirrorOf?: string | undefined;
121
+ }, unknown, unknown> | import("../types/IBalanceModule").IBalanceModule<"sol-spl", {
122
+ mintAddress: string;
123
+ symbol?: string | undefined;
124
+ networkId?: string | undefined;
125
+ isDefault?: boolean | undefined;
126
+ decimals?: number | undefined;
127
+ name?: string | undefined;
128
+ logo?: string | undefined;
129
+ coingeckoId?: string | undefined;
130
+ noDiscovery?: boolean | undefined;
131
+ mirrorOf?: string | undefined;
111
132
  }, unknown, unknown>)[];
112
133
  export type AnyBalanceModule = (typeof BALANCE_MODULES)[number];
113
134
  export * from "./evm-native";
@@ -119,5 +140,7 @@ export * from "./substrate-foreignassets";
119
140
  export * from "./substrate-hydration";
120
141
  export * from "./substrate-psp22";
121
142
  export * from "./substrate-tokens";
143
+ export * from "./sol-native";
144
+ export * from "./sol-spl";
122
145
  export * from "./abis";
123
146
  export * from "../types/IBalanceModule";
@@ -1,5 +1,5 @@
1
1
  import { TokenId } from "@talismn/chaindata-provider";
2
- import { Address } from "viem";
2
+ import { Address } from "../../types";
3
3
  export declare class BalanceFetchError extends Error {
4
4
  tokenId: TokenId;
5
5
  address: Address;
@@ -1,2 +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>;
1
+ import { IChainConnectorDot } from "@talismn/chain-connectors";
2
+ export declare const fetchRuntimeCallResult: <T>(connector: IChainConnectorDot, networkId: string, metadataRpc: `0x${string}`, apiName: string, method: string, args: unknown[]) => Promise<T>;
@@ -1,4 +1,4 @@
1
- import { ChainConnector } from "@talismn/chain-connector";
1
+ import { IChainConnectorDot } from "@talismn/chain-connectors";
2
2
  import { DotNetworkId } from "@talismn/chaindata-provider";
3
3
  import { Observable } from "rxjs";
4
4
  export type MaybeStateKey = `0x${string}` | null;
@@ -6,5 +6,5 @@ export type RpcQueryPack<T> = {
6
6
  stateKeys: MaybeStateKey[];
7
7
  decodeResult: (changes: MaybeStateKey[]) => T;
8
8
  };
9
- export declare const fetchRpcQueryPack: <T>(connector: ChainConnector, networkId: DotNetworkId, queries: RpcQueryPack<T>[]) => Promise<T[]>;
10
- export declare const getRpcQueryPack$: <T>(connector: ChainConnector, networkId: DotNetworkId, queries: RpcQueryPack<T>[], timeout?: number | false) => Observable<T[]>;
9
+ export declare const fetchRpcQueryPack: <T>(connector: IChainConnectorDot, networkId: DotNetworkId, queries: RpcQueryPack<T>[]) => Promise<T[]>;
10
+ export declare const getRpcQueryPack$: <T>(connector: IChainConnectorDot, networkId: DotNetworkId, queries: RpcQueryPack<T>[], timeout?: number | false) => Observable<T[]>;
@@ -0,0 +1,3 @@
1
+ export { type SolNativeTokenConfig as TokenConfig } from "./types";
2
+ export declare const MODULE_TYPE: "sol-native";
3
+ export declare const PLATFORM: "solana";
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../../types/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 "../../types/IBalanceModule";
2
+ import { MODULE_TYPE, TokenConfig } from "./config";
3
+ export declare const fetchTokens: IBalanceModule<typeof MODULE_TYPE, TokenConfig>["fetchTokens"];
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../../types/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 "../../types/IBalanceModule";
2
+ import { MODULE_TYPE } from "./config";
3
+ export declare const getTransferCallData: IBalanceModule<typeof MODULE_TYPE>["getTransferCallData"];
@@ -0,0 +1,2 @@
1
+ export * from "./module";
2
+ export * from "./types";
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../../types/IBalanceModule";
2
+ import { MODULE_TYPE, TokenConfig } from "./config";
3
+ export declare const SolNativeBalanceModule: IBalanceModule<typeof MODULE_TYPE, TokenConfig>;
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../../types/IBalanceModule";
2
+ import { MODULE_TYPE } from "./config";
3
+ export declare const subscribeBalances: IBalanceModule<typeof MODULE_TYPE>["subscribeBalances"];
@@ -0,0 +1,13 @@
1
+ import z from "zod/v4";
2
+ export declare const SolNativeTokenConfigSchema: z.ZodObject<{
3
+ symbol: z.ZodOptional<z.ZodString>;
4
+ networkId: z.ZodOptional<z.ZodString>;
5
+ isDefault: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
6
+ decimals: z.ZodOptional<z.ZodInt>;
7
+ name: z.ZodOptional<z.ZodOptional<z.ZodString>>;
8
+ logo: z.ZodOptional<z.ZodOptional<z.ZodString>>;
9
+ coingeckoId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
10
+ noDiscovery: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
11
+ mirrorOf: z.ZodOptional<z.ZodOptional<z.ZodString>>;
12
+ }, z.core.$strict>;
13
+ export type SolNativeTokenConfig = z.infer<typeof SolNativeTokenConfigSchema>;
@@ -0,0 +1,3 @@
1
+ export declare const MODULE_TYPE: "sol-spl";
2
+ export declare const PLATFORM: "solana";
3
+ export { type SolSplTokenConfig as TokenConfig } from "./types";
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../../types/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 "../../types/IBalanceModule";
2
+ import { MODULE_TYPE, TokenConfig } from "./config";
3
+ export declare const fetchTokens: IBalanceModule<typeof MODULE_TYPE, TokenConfig>["fetchTokens"];
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../../types/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 "../../types/IBalanceModule";
2
+ import { MODULE_TYPE } from "./config";
3
+ export declare const getTransferCallData: IBalanceModule<typeof MODULE_TYPE>["getTransferCallData"];
@@ -0,0 +1,2 @@
1
+ export * from "./module";
2
+ export * from "./types";
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../../types/IBalanceModule";
2
+ import { MODULE_TYPE, TokenConfig } from "./config";
3
+ export declare const SolSplBalanceModule: IBalanceModule<typeof MODULE_TYPE, TokenConfig>;
@@ -0,0 +1,3 @@
1
+ import { IBalanceModule } from "../../types/IBalanceModule";
2
+ import { MODULE_TYPE } from "./config";
3
+ export declare const subscribeBalances: IBalanceModule<typeof MODULE_TYPE>["subscribeBalances"];
@@ -0,0 +1,14 @@
1
+ import z from "zod/v4";
2
+ export declare const SolSplTokenConfigSchema: z.ZodObject<{
3
+ symbol: z.ZodOptional<z.ZodString>;
4
+ networkId: z.ZodOptional<z.ZodString>;
5
+ isDefault: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
6
+ decimals: z.ZodOptional<z.ZodInt>;
7
+ name: z.ZodOptional<z.ZodOptional<z.ZodString>>;
8
+ logo: z.ZodOptional<z.ZodOptional<z.ZodString>>;
9
+ coingeckoId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
10
+ noDiscovery: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
11
+ mirrorOf: z.ZodOptional<z.ZodOptional<z.ZodString>>;
12
+ mintAddress: z.ZodString;
13
+ }, z.core.$strict>;
14
+ export type SolSplTokenConfig = z.infer<typeof SolSplTokenConfigSchema>;
@@ -1,9 +1,9 @@
1
- import { ChainConnector } from "@talismn/chain-connector";
1
+ import { IChainConnectorDot } from "@talismn/chain-connectors";
2
2
  import { DotNetworkId } from "@talismn/chaindata-provider";
3
3
  import { Observable } from "rxjs";
4
4
  import { AmountWithLabel, MiniMetadata } from "../../../types";
5
5
  import { BalanceDef } from "../../shared";
6
6
  import { MiniMetadataExtra } from "../config";
7
7
  type StakingValuesByAddress = Record<string, Array<AmountWithLabel<string>>>;
8
- export declare const getSubtensorStakingBalances$: (connector: ChainConnector, networkId: DotNetworkId, balanceDefs: BalanceDef<"substrate-native">[], miniMetadata: MiniMetadata<MiniMetadataExtra>) => Observable<StakingValuesByAddress>;
8
+ export declare const getSubtensorStakingBalances$: (connector: IChainConnectorDot, networkId: DotNetworkId, balanceDefs: BalanceDef<"substrate-native">[], miniMetadata: MiniMetadata<MiniMetadataExtra>) => Observable<StakingValuesByAddress>;
9
9
  export {};
@@ -1,8 +1,8 @@
1
- import { ChainConnector } from "@talismn/chain-connector";
1
+ import { IChainConnectorDot } from "@talismn/chain-connectors";
2
2
  import { IBalanceModule } from "../../types/IBalanceModule";
3
3
  import { MiniMetadataExtra, MODULE_TYPE, ModuleConfig, TokenConfig } from "./config";
4
4
  export declare const fetchTokens: IBalanceModule<typeof MODULE_TYPE, TokenConfig, ModuleConfig, MiniMetadataExtra>["fetchTokens"];
5
- export declare const getChainProperties: (connector: ChainConnector, networkId: string) => Promise<{
5
+ export declare const getChainProperties: (connector: IChainConnectorDot, networkId: string) => Promise<{
6
6
  tokenDecimals: number;
7
7
  tokenSymbol: string;
8
8
  }>;
@@ -1,8 +1,8 @@
1
1
  import { TypeRegistry } from "@polkadot/types";
2
2
  import { ContractExecResult } from "@polkadot/types/interfaces";
3
- import { ChainConnector } from "@talismn/chain-connector";
3
+ import { IChainConnectorDot } from "@talismn/chain-connectors";
4
4
  export declare const makeContractCaller: ({ chainConnector, chainId, registry, }: {
5
- chainConnector: ChainConnector;
5
+ chainConnector: IChainConnectorDot;
6
6
  chainId: string;
7
7
  registry: TypeRegistry;
8
8
  }) => <T extends Uint8Array | {
@@ -1,10 +1,10 @@
1
- import type { ChainConnector } from "@talismn/chain-connector";
2
- import type { ChainConnectorEvm } from "@talismn/chain-connector-evm";
3
- import { DotNetworkId, EthNetworkId, Token, TokenId, TokenOfType, TokenType } from "@talismn/chaindata-provider";
1
+ import type { IChainConnectorDot, IChainConnectorEth, IChainConnectorSol } from "@talismn/chain-connectors";
2
+ import { TransactionInstruction } from "@solana/web3.js";
3
+ import { DotNetworkId, EthNetworkId, SolNetworkId, Token, TokenId, TokenOfType, TokenType } from "@talismn/chaindata-provider";
4
4
  import { Observable } from "rxjs";
5
5
  import type { Address, IBalance, MiniMetadata } from ".";
6
6
  export type TokenPlatform<T extends TokenType> = TokenOfType<T>["platform"];
7
- export type PlatformConnector<P extends TokenPlatform<TokenType>> = P extends "ethereum" ? ChainConnectorEvm : P extends "polkadot" ? ChainConnector : never;
7
+ export type PlatformConnector<P extends TokenPlatform<TokenType>> = P extends "ethereum" ? IChainConnectorEth : P extends "polkadot" ? IChainConnectorDot : P extends "solana" ? IChainConnectorSol : never;
8
8
  type DotTransferCallData = {
9
9
  address: string;
10
10
  method: `0x${string}`;
@@ -15,8 +15,9 @@ type EthTransferCallData = {
15
15
  data: `0x${string}`;
16
16
  value?: string;
17
17
  };
18
+ type SolTransferCallData = TransactionInstruction[];
18
19
  export type BalanceTransferType = "keep-alive" | "all" | "allow-death";
19
- type CallDataOf<P extends TokenPlatform<TokenType>> = P extends "ethereum" ? EthTransferCallData : P extends "polkadot" ? DotTransferCallData : never;
20
+ type CallDataOf<P extends TokenPlatform<TokenType>> = P extends "ethereum" ? EthTransferCallData : P extends "polkadot" ? DotTransferCallData : P extends "solana" ? SolTransferCallData : never;
20
21
  export type TokensWithAddresses = Array<[Token, Address[]]>;
21
22
  export type FetchBalanceErrors = Array<{
22
23
  tokenId: TokenId;
@@ -39,35 +40,35 @@ export interface IBalanceModule<Type extends TokenType, TokenConfig = unknown, M
39
40
  fetchTokens: (arg: TokenPlatform<Type> extends "polkadot" ? {
40
41
  networkId: DotNetworkId;
41
42
  tokens: TokenConfig[];
42
- connector: ChainConnector;
43
+ connector: PlatformConnector<TokenPlatform<Type>>;
43
44
  miniMetadata: MiniMetadata<MiniMetadataExtra>;
44
45
  cache: Record<TokenId, unknown>;
45
- } : TokenPlatform<Type> extends "ethereum" ? {
46
- networkId: EthNetworkId;
46
+ } : {
47
+ networkId: SolNetworkId;
47
48
  tokens: TokenConfig[];
48
- connector: ChainConnectorEvm;
49
+ connector: PlatformConnector<TokenPlatform<Type>>;
49
50
  cache: Record<TokenId, unknown>;
50
- } : never) => Promise<TokenOfType<Type>[]>;
51
+ }) => Promise<TokenOfType<Type>[]>;
51
52
  fetchBalances: (arg: TokenPlatform<Type> extends "polkadot" ? {
52
53
  networkId: DotNetworkId;
53
54
  tokensWithAddresses: TokensWithAddresses;
54
- connector: ChainConnector;
55
+ connector: PlatformConnector<TokenPlatform<Type>>;
55
56
  miniMetadata: MiniMetadata<MiniMetadataExtra>;
56
- } : TokenPlatform<Type> extends "ethereum" ? {
57
+ } : {
57
58
  networkId: EthNetworkId;
58
59
  tokensWithAddresses: TokensWithAddresses;
59
- connector: ChainConnectorEvm;
60
- } : never) => Promise<FetchBalanceResults>;
60
+ connector: PlatformConnector<TokenPlatform<Type>>;
61
+ }) => Promise<FetchBalanceResults>;
61
62
  subscribeBalances: (arg: TokenPlatform<Type> extends "polkadot" ? {
62
63
  networkId: DotNetworkId;
63
64
  tokensWithAddresses: TokensWithAddresses;
64
- connector: ChainConnector;
65
+ connector: PlatformConnector<TokenPlatform<Type>>;
65
66
  miniMetadata: MiniMetadata<MiniMetadataExtra>;
66
- } : TokenPlatform<Type> extends "ethereum" ? {
67
+ } : {
67
68
  networkId: EthNetworkId;
68
69
  tokensWithAddresses: TokensWithAddresses;
69
- connector: ChainConnectorEvm;
70
- } : never) => Observable<FetchBalanceResults>;
70
+ connector: PlatformConnector<TokenPlatform<Type>>;
71
+ }) => Observable<FetchBalanceResults>;
71
72
  getTransferCallData: (arg: TokenPlatform<Type> extends "polkadot" ? {
72
73
  from: string;
73
74
  to: string;
@@ -75,13 +76,19 @@ export interface IBalanceModule<Type extends TokenType, TokenConfig = unknown, M
75
76
  token: Token;
76
77
  metadataRpc: `0x${string}`;
77
78
  type: BalanceTransferType;
78
- connector: ChainConnector;
79
+ connector: PlatformConnector<TokenPlatform<Type>>;
79
80
  config?: ModuleConfig;
80
81
  } : TokenPlatform<Type> extends "ethereum" ? {
81
82
  from: string;
82
83
  to: string;
83
84
  value: string;
84
85
  token: Token;
86
+ } : TokenPlatform<Type> extends "solana" ? {
87
+ from: string;
88
+ to: string;
89
+ value: string;
90
+ token: Token;
91
+ connector: PlatformConnector<TokenPlatform<Type>>;
85
92
  } : never) => CallDataOf<TokenPlatform<Type>> | Promise<CallDataOf<TokenPlatform<Type>>>;
86
93
  }
87
94
  export {};
@@ -8,10 +8,6 @@ type FormattedAmount<GenericAmount extends AmountWithLabel<TLabel>, TLabel exten
8
8
  export declare function excludeFromTransferableAmount(locks: Amount | FormattedAmount<LockedAmount<string>, string> | Array<FormattedAmount<LockedAmount<string>, string>>): bigint;
9
9
  export declare function excludeFromFeePayableLocks(locks: Amount | LockedAmount<string> | Array<LockedAmount<string>>): Array<LockedAmount<string>>;
10
10
  export declare function includeInTotalExtraAmount(extra?: FormattedAmount<ExtraAmount<string>, string> | Array<FormattedAmount<ExtraAmount<string>, string>>): bigint;
11
- /**
12
- * Have the importing library define its Token and BalanceJson enums (as a sum type of all plugins) and pass them into some
13
- * internal global typescript context, which is then picked up on by this module.
14
- */
15
11
  /** A utility type used to extract the underlying `BalanceType` of a specific source from a generalised `BalanceJson` */
16
12
  export type NarrowBalanceType<S extends IBalance, P> = S extends {
17
13
  source: P;
@@ -221,6 +217,31 @@ export declare class Balance {
221
217
  "evm-erc20"?: undefined;
222
218
  "evm-uniswapv2"?: undefined;
223
219
  } | undefined;
220
+ } | {
221
+ id: string;
222
+ name: string;
223
+ nativeTokenId: string;
224
+ nativeCurrency: {
225
+ decimals: number;
226
+ symbol: string;
227
+ name: string;
228
+ coingeckoId?: string | undefined;
229
+ mirrorOf?: string | undefined;
230
+ logo?: string | undefined;
231
+ };
232
+ blockExplorerUrls: string[];
233
+ platform: "solana";
234
+ genesisHash: string;
235
+ rpcs: string[];
236
+ isTestnet?: boolean | undefined;
237
+ isDefault?: boolean | undefined;
238
+ forceScan?: boolean | undefined;
239
+ logo?: string | undefined;
240
+ themeColor?: string | undefined;
241
+ balancesConfig?: {
242
+ "sol-native"?: undefined;
243
+ "sol-spl"?: undefined;
244
+ } | undefined;
224
245
  } | null;
225
246
  get tokenId(): string;
226
247
  get token(): {
@@ -367,6 +388,33 @@ export declare class Balance {
367
388
  coingeckoId?: string | undefined;
368
389
  noDiscovery?: boolean | undefined;
369
390
  mirrorOf?: string | undefined;
391
+ } | {
392
+ id: string;
393
+ networkId: string;
394
+ decimals: number;
395
+ symbol: string;
396
+ type: "sol-native";
397
+ platform: "solana";
398
+ isDefault?: boolean | undefined;
399
+ name?: string | undefined;
400
+ logo?: string | undefined;
401
+ coingeckoId?: string | undefined;
402
+ noDiscovery?: boolean | undefined;
403
+ mirrorOf?: string | undefined;
404
+ } | {
405
+ id: string;
406
+ networkId: string;
407
+ decimals: number;
408
+ symbol: string;
409
+ type: "sol-spl";
410
+ platform: "solana";
411
+ mintAddress: string;
412
+ isDefault?: boolean | undefined;
413
+ name?: string | undefined;
414
+ logo?: string | undefined;
415
+ coingeckoId?: string | undefined;
416
+ noDiscovery?: boolean | undefined;
417
+ mirrorOf?: string | undefined;
370
418
  } | null;
371
419
  get decimals(): number | null;
372
420
  get rates(): TokenRates | null;
@@ -68,8 +68,4 @@ export type ExtraAmount<TLabel extends string> = BaseAmountWithLabel<TLabel> & {
68
68
  /** If set to true, this extra amount will be included in the calculation of the total amount of this balance. */
69
69
  includeInTotal?: boolean;
70
70
  };
71
- /** Used by plugins to help define their custom `BalanceType` */
72
- export type NewBalanceType<TModuleType extends string, TBalanceValueType extends "simple" | "complex"> = IBalanceBase & (TBalanceValueType extends "simple" ? IBalanceSimpleValues : IBalanceComplexValues) & {
73
- source: TModuleType;
74
- };
75
71
  export {};
@@ -1,6 +1,6 @@
1
- import { ChainConnector } from "@talismn/chain-connector";
2
- import { ChainConnectorEvm } from "@talismn/chain-connector-evm";
1
+ import { IChainConnectorDot, IChainConnectorEth, IChainConnectorSol } from "@talismn/chain-connectors";
3
2
  export type ChainConnectors = {
4
- substrate?: ChainConnector;
5
- evm?: ChainConnectorEvm;
3
+ substrate?: IChainConnectorDot;
4
+ evm?: IChainConnectorEth;
5
+ solana?: IChainConnectorSol;
6
6
  };