@talismn/balances 0.0.0-pr2068-20250630052217 → 0.0.0-pr2075-20250703111149

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 (46) hide show
  1. package/dist/declarations/src/BalanceModule.d.ts +23 -12
  2. package/dist/declarations/src/getMiniMetadata/getMetadataRpc.d.ts +3 -0
  3. package/dist/declarations/src/getMiniMetadata/getMiniMetadatas.d.ts +4 -0
  4. package/dist/declarations/src/getMiniMetadata/getSpecVersion.d.ts +6 -0
  5. package/dist/declarations/src/getMiniMetadata/getUpdatedMiniMetadatas.d.ts +4 -0
  6. package/dist/declarations/src/getMiniMetadata/index.d.ts +5 -0
  7. package/dist/declarations/src/index.d.ts +0 -3
  8. package/dist/declarations/src/libVersion.d.ts +1 -0
  9. package/dist/declarations/src/modules/EvmErc20Module.d.ts +20 -23
  10. package/dist/declarations/src/modules/EvmNativeModule.d.ts +19 -18
  11. package/dist/declarations/src/modules/EvmUniswapV2Module.d.ts +28 -30
  12. package/dist/declarations/src/modules/SubstrateAssetsModule.d.ts +20 -18
  13. package/dist/declarations/src/modules/SubstrateForeignAssetsModule.d.ts +20 -18
  14. package/dist/declarations/src/modules/SubstrateNativeModule/index.d.ts +17 -4
  15. package/dist/declarations/src/modules/SubstrateNativeModule/subscribeNompoolStaking.d.ts +3 -3
  16. package/dist/declarations/src/modules/SubstrateNativeModule/subscribeSubtensorStaking.d.ts +3 -3
  17. package/dist/declarations/src/modules/SubstrateNativeModule/types.d.ts +6 -23
  18. package/dist/declarations/src/modules/SubstrateNativeModule/util/QueryCache.d.ts +6 -6
  19. package/dist/declarations/src/modules/SubstrateNativeModule/util/buildQueries.d.ts +5 -4
  20. package/dist/declarations/src/modules/SubstrateNativeModule/util/sortChains.d.ts +1 -1
  21. package/dist/declarations/src/modules/SubstrateNativeModule/util/systemProperties.d.ts +5 -0
  22. package/dist/declarations/src/modules/SubstratePsp22Module.d.ts +20 -19
  23. package/dist/declarations/src/modules/SubstrateTokensModule.d.ts +22 -22
  24. package/dist/declarations/src/modules/index.d.ts +213 -38
  25. package/dist/declarations/src/modules/util/InferBalanceModuleTypes.d.ts +5 -3
  26. package/dist/declarations/src/modules/util/buildStorageCoders.d.ts +16 -7
  27. package/dist/declarations/src/modules/util/getAddresssesByTokenByNetwork.d.ts +3 -0
  28. package/dist/declarations/src/modules/util/getUniqueChainIds.d.ts +2 -2
  29. package/dist/declarations/src/modules/util/index.d.ts +0 -1
  30. package/dist/declarations/src/types/balances.d.ts +220 -72
  31. package/dist/declarations/src/types/balancetypes.d.ts +8 -18
  32. package/dist/declarations/src/types/minimetadatas.d.ts +6 -24
  33. package/dist/declarations/src/types/tokens.d.ts +11 -0
  34. package/dist/talismn-balances.cjs.dev.js +1415 -2090
  35. package/dist/talismn-balances.cjs.prod.js +1415 -2090
  36. package/dist/talismn-balances.esm.js +1417 -2086
  37. package/package.json +10 -9
  38. package/dist/declarations/src/EvmTokenFetcher.d.ts +0 -11
  39. package/dist/declarations/src/MiniMetadataUpdater.d.ts +0 -43
  40. package/dist/declarations/src/modules/SubstrateEquilibriumModule.d.ts +0 -39
  41. package/dist/declarations/src/modules/SubstrateNativeModule/subscribeCrowdloans.d.ts +0 -5
  42. package/dist/declarations/src/modules/SubstrateNativeModule/util/crowdloanFundContributionsChildKey.d.ts +0 -4
  43. package/dist/declarations/src/modules/SubstrateNativeModule/util/detectMiniMetadataChanges.d.ts +0 -2
  44. package/dist/declarations/src/modules/util/findChainMeta.d.ts +0 -8
  45. package/dist/declarations/src/util/hydrateChaindata.d.ts +0 -8
  46. package/dist/declarations/src/util/index.d.ts +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talismn/balances",
3
- "version": "0.0.0-pr2068-20250630052217",
3
+ "version": "0.0.0-pr2075-20250703111149",
4
4
  "author": "Talisman",
5
5
  "homepage": "https://talisman.xyz",
6
6
  "license": "GPL-3.0-or-later",
@@ -28,19 +28,20 @@
28
28
  "bignumber.js": "^9.1.2",
29
29
  "dexie": "^4.0.9",
30
30
  "lodash": "4.17.21",
31
- "lz-string": "1.5.0",
31
+ "p-queue": "^8.1.0",
32
32
  "pako": "^2.1.0",
33
33
  "polkadot-api": "1.13.1",
34
34
  "rxjs": "^7.8.1",
35
35
  "scale-ts": "^1.6.1",
36
36
  "viem": "^2.27.3",
37
- "@talismn/chain-connector": "0.0.0-pr2068-20250630052217",
38
- "@talismn/chaindata-provider": "0.0.0-pr2068-20250630052217",
39
- "@talismn/sapi": "0.0.0-pr2068-20250630052217",
40
- "@talismn/token-rates": "0.0.0-pr2068-20250630052217",
41
- "@talismn/util": "0.4.2",
42
- "@talismn/chain-connector-evm": "0.0.0-pr2068-20250630052217",
43
- "@talismn/scale": "0.1.2"
37
+ "zod": "^3.25.62",
38
+ "@talismn/chain-connector": "0.0.0-pr2075-20250703111149",
39
+ "@talismn/chain-connector-evm": "0.0.0-pr2075-20250703111149",
40
+ "@talismn/chaindata-provider": "0.0.0-pr2075-20250703111149",
41
+ "@talismn/sapi": "0.0.6",
42
+ "@talismn/scale": "0.1.2",
43
+ "@talismn/token-rates": "0.0.0-pr2075-20250703111149",
44
+ "@talismn/util": "0.0.0-pr2075-20250703111149"
44
45
  },
45
46
  "devDependencies": {
46
47
  "@polkadot/api-contract": "16.1.2",
@@ -1,11 +0,0 @@
1
- import { ChaindataProvider, EvmNetworkId } from "@talismn/chaindata-provider";
2
- import { AnyBalanceModule } from "./modules/util";
3
- /**
4
- * Fetches tokens for EVM networks.
5
- */
6
- export declare class EvmTokenFetcher {
7
- #private;
8
- constructor(chaindataProvider: ChaindataProvider, balanceModules: Array<AnyBalanceModule>);
9
- update(evmNetworkIds: EvmNetworkId[]): Promise<void>;
10
- private updateEvmNetworks;
11
- }
@@ -1,43 +0,0 @@
1
- import { Chain, ChaindataProvider, ChainId } from "@talismn/chaindata-provider";
2
- import { ChainConnectors } from "./BalanceModule";
3
- import { AnyBalanceModule } from "./modules/util";
4
- import { MiniMetadata, MiniMetadataStatus } from "./types";
5
- /**
6
- * A substrate dapp needs access to a set of types when it wants to communicate with a blockchain node.
7
- *
8
- * These types are used to encode requests & decode responses via the SCALE codec.
9
- * Each chain generally has its own set of types.
10
- *
11
- * Substrate provides a construct to retrieve these types from a blockchain node.
12
- * The chain metadata.
13
- *
14
- * The metadata includes the types required for any communication with the chain,
15
- * including lots of methods which are not relevant to balance fetching.
16
- *
17
- * As such, the metadata can clock in at around 1-2MB per chain, which is a lot of storage
18
- * for browser-based dapps which want to connect to lots of chains.
19
- *
20
- * By utilizing the wonderful [scale-ts](https://github.com/unstoppablejs/unstoppablejs/tree/main/packages/scale-ts#readme) library,
21
- * we can trim the chain metadata down so that it only includes the types we need for balance fetching.
22
- *
23
- * Each balance module has a function to do just that, `BalanceModule::fetchSubstrateChainMeta`.
24
- *
25
- * But, we only want to run this operation when necessary.
26
- *
27
- * The purpose of this class, `MiniMetadataUpdater`, is to maintain a local cache of
28
- * trimmed-down metadatas, which we'll refer to as `MiniMetadatas`.
29
- */
30
- export declare class MiniMetadataUpdater {
31
- #private;
32
- constructor(chainConnectors: ChainConnectors, chaindataProvider: ChaindataProvider, balanceModules: Array<AnyBalanceModule>);
33
- /** Subscribe to the metadata for a chain */
34
- subscribe(chainId: ChainId): import("rxjs").Observable<MiniMetadata>;
35
- update(chainIds: ChainId[]): Promise<void>;
36
- statuses(chains: Array<Pick<Chain, "id" | "specName" | "specVersion" | "balancesConfig">>): Promise<{
37
- wantedIdsByChain: Map<string, string[]>;
38
- statusesByChain: Map<string, MiniMetadataStatus>;
39
- }>;
40
- hydrateFromChaindata(): Promise<boolean>;
41
- hydrateCustomChains(): Promise<boolean>;
42
- private updateSubstrateChains;
43
- }
@@ -1,39 +0,0 @@
1
- import { TypeRegistry } from "@polkadot/types";
2
- import { ExtDef } from "@polkadot/types/extrinsic/signedExtensions/types";
3
- import { BalancesConfigTokenParams, ChainId, Token } from "@talismn/chaindata-provider";
4
- import { NewBalanceModule, NewTransferParamsType } from "../BalanceModule";
5
- import { NewBalanceType } from "../types";
6
- type ModuleType = "substrate-equilibrium";
7
- export type SubEquilibriumToken = Extract<Token, {
8
- type: ModuleType;
9
- }>;
10
- export declare const subEquilibriumTokenId: (chainId: ChainId, tokenSymbol: string) => string;
11
- export type SubEquilibriumChainMeta = {
12
- isTestnet: boolean;
13
- miniMetadata?: string;
14
- metadataVersion?: number;
15
- };
16
- export type SubEquilibriumModuleConfig = {
17
- disable?: boolean;
18
- tokens?: Array<{
19
- assetId?: string;
20
- } & BalancesConfigTokenParams>;
21
- };
22
- export type SubEquilibriumBalance = NewBalanceType<ModuleType, "simple", "substrate">;
23
- declare module "@talismn/balances/plugins" {
24
- interface PluginBalanceTypes {
25
- "substrate-equilibrium": SubEquilibriumBalance;
26
- }
27
- }
28
- export type SubEquilibriumTransferParams = NewTransferParamsType<{
29
- registry: TypeRegistry;
30
- blockHash: string;
31
- blockNumber: number;
32
- nonce: number;
33
- specVersion: number;
34
- transactionVersion: number;
35
- tip?: string;
36
- userExtensions?: ExtDef;
37
- }>;
38
- export declare const SubEquilibriumModule: NewBalanceModule<ModuleType, SubEquilibriumToken, SubEquilibriumChainMeta, SubEquilibriumModuleConfig, SubEquilibriumTransferParams>;
39
- export {};
@@ -1,5 +0,0 @@
1
- import { ChainConnector } from "@talismn/chain-connector";
2
- import { ChaindataProvider } from "@talismn/chaindata-provider";
3
- import { AddressesByToken, SubscriptionCallback } from "../../types";
4
- import { CustomSubNativeToken, SubNativeBalance, SubNativeToken } from "./types";
5
- export declare function subscribeCrowdloans(chaindataProvider: ChaindataProvider, chainConnector: ChainConnector, addressesByToken: AddressesByToken<SubNativeToken | CustomSubNativeToken>, callback: SubscriptionCallback<SubNativeBalance[]>): Promise<() => void>;
@@ -1,4 +0,0 @@
1
- /**
2
- * Crowdloan contributions are stored in the `childstate` key returned by this function.
3
- */
4
- export declare const crowdloanFundContributionsChildKey: (fundIndex: number) => `0x${string}`;
@@ -1,2 +0,0 @@
1
- import { MiniMetadata } from "../../../types";
2
- export declare const detectMiniMetadataChanges: () => import("rxjs").UnaryFunction<import("rxjs").Observable<Map<string, MiniMetadata>>, import("rxjs").Observable<Set<string>>>;
@@ -1,8 +0,0 @@
1
- import { Chain } from "@talismn/chaindata-provider";
2
- import { MiniMetadata } from "../../types";
3
- import { AnyNewBalanceModule, InferChainMeta, InferModuleType } from "./InferBalanceModuleTypes";
4
- /**
5
- * Given a `moduleType` and a `chain` from a chaindataProvider, this function will find the chainMeta
6
- * associated with the given balanceModule for the given chain.
7
- */
8
- export declare const findChainMeta: <TBalanceModule extends AnyNewBalanceModule>(miniMetadatas: Map<string, MiniMetadata>, moduleType: InferModuleType<TBalanceModule>, chain?: Chain) => [InferChainMeta<TBalanceModule> | undefined, MiniMetadata | undefined];
@@ -1,8 +0,0 @@
1
- import { EvmTokenFetcher, MiniMetadataUpdater } from "@talismn/balances";
2
- import { ChaindataProvider } from "@talismn/chaindata-provider";
3
- /** Pulls the latest chaindata from https://github.com/TalismanSociety/chaindata */
4
- export declare const hydrateChaindataAndMiniMetadata: (chaindataProvider: ChaindataProvider, miniMetadataUpdater: MiniMetadataUpdater) => Promise<void>;
5
- /** Builds any missing miniMetadatas (e.g. for the user's custom substrate chains) */
6
- export declare const updateCustomMiniMetadata: (chaindataProvider: ChaindataProvider, miniMetadataUpdater: MiniMetadataUpdater) => Promise<void>;
7
- /** Fetches any missing Evm Tokens */
8
- export declare const updateEvmTokens: (chaindataProvider: ChaindataProvider, evmTokenFetcher: EvmTokenFetcher) => Promise<void>;
@@ -1 +0,0 @@
1
- export * from "./hydrateChaindata";