@otoplo/wallet-common 0.1.14 → 0.2.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.
Files changed (56) hide show
  1. package/dist/index.js +555 -579
  2. package/dist/index.js.map +1 -1
  3. package/dist/types/persistence/datastore/db.d.ts +5 -3
  4. package/dist/types/persistence/datastore/db.d.ts.map +1 -1
  5. package/dist/types/persistence/wallet-db.d.ts +10 -18
  6. package/dist/types/persistence/wallet-db.d.ts.map +1 -1
  7. package/dist/types/services/asset.d.ts +5 -9
  8. package/dist/types/services/asset.d.ts.map +1 -1
  9. package/dist/types/services/cache.d.ts +4 -2
  10. package/dist/types/services/cache.d.ts.map +1 -1
  11. package/dist/types/services/wallet.d.ts +2 -1
  12. package/dist/types/services/wallet.d.ts.map +1 -1
  13. package/dist/types/state/hooks.d.ts +2 -1
  14. package/dist/types/state/hooks.d.ts.map +1 -1
  15. package/dist/types/state/slices/market.d.ts +54 -0
  16. package/dist/types/state/slices/market.d.ts.map +1 -0
  17. package/dist/types/state/slices/status.d.ts +0 -27
  18. package/dist/types/state/slices/status.d.ts.map +1 -1
  19. package/dist/types/state/slices/wallet.d.ts +21 -220
  20. package/dist/types/state/slices/wallet.d.ts.map +1 -1
  21. package/dist/types/state/store.d.ts +3 -0
  22. package/dist/types/state/store.d.ts.map +1 -1
  23. package/dist/types/types/db.types.d.ts +16 -11
  24. package/dist/types/types/db.types.d.ts.map +1 -1
  25. package/dist/types/types/wallet.types.d.ts +39 -14
  26. package/dist/types/types/wallet.types.d.ts.map +1 -1
  27. package/dist/types/utils/asset.d.ts +3 -6
  28. package/dist/types/utils/asset.d.ts.map +1 -1
  29. package/dist/types/utils/common.d.ts +0 -1
  30. package/dist/types/utils/common.d.ts.map +1 -1
  31. package/dist/types/utils/enums.d.ts +0 -4
  32. package/dist/types/utils/enums.d.ts.map +1 -1
  33. package/dist/types/utils/index.d.ts +1 -1
  34. package/dist/types/utils/index.d.ts.map +1 -1
  35. package/dist/types/utils/{price.d.ts → market.d.ts} +19 -13
  36. package/dist/types/utils/market.d.ts.map +1 -0
  37. package/package.json +5 -6
  38. package/src/persistence/datastore/db.ts +5 -3
  39. package/src/persistence/wallet-db.ts +28 -28
  40. package/src/services/asset.ts +69 -162
  41. package/src/services/cache.ts +12 -2
  42. package/src/services/wallet.ts +23 -21
  43. package/src/state/hooks.ts +3 -1
  44. package/src/state/slices/market.ts +47 -0
  45. package/src/state/slices/status.ts +2 -31
  46. package/src/state/slices/wallet.ts +8 -13
  47. package/src/state/store.ts +3 -0
  48. package/src/types/db.types.ts +17 -12
  49. package/src/types/wallet.types.ts +40 -16
  50. package/src/utils/asset.ts +12 -52
  51. package/src/utils/common.ts +0 -6
  52. package/src/utils/enums.ts +0 -5
  53. package/src/utils/index.ts +1 -1
  54. package/src/utils/market.ts +97 -0
  55. package/dist/types/utils/price.d.ts.map +0 -1
  56. package/src/utils/price.ts +0 -46
@@ -1,4 +1,5 @@
1
1
  import { AccountEntity, AssetEntity, AssetTransactionEntity, NftEntity, SessionEntity, TokenEntity, TransactionEntity, AddressEntity, VaultEntity } from '../../types/db.types';
2
+ import { AssetType } from '../../types/wallet.types';
2
3
  export interface DBStore {
3
4
  clearData(): Promise<void>;
4
5
  initSchema(): Promise<boolean>;
@@ -8,20 +9,21 @@ export interface DBStore {
8
9
  getPageTransactions(account: number, pageNum: number, pageSize: number, tokenId?: string): Promise<TransactionEntity[]>;
9
10
  countTransactions(account: number, tokenId?: string): Promise<number>;
10
11
  clearTransactions(account: number): Promise<void>;
12
+ countTokens(account: number): Promise<number>;
11
13
  upsertToken(token: TokenEntity): Promise<void>;
12
- getTokens(account: number): Promise<AssetEntity[]>;
14
+ getTokens(account: number, pageNum: number, pageSize: number): Promise<TokenEntity[]>;
13
15
  getToken(id: string): Promise<TokenEntity | undefined>;
14
16
  deleteToken(id: string): Promise<void>;
15
17
  countNfts(account: number): Promise<number>;
16
18
  upsertNft(nft: NftEntity): Promise<void>;
17
- getNfts(account: number, pageNum: number, pageSize: number): Promise<AssetEntity[]>;
19
+ getNfts(account: number, pageNum: number, pageSize: number): Promise<NftEntity[]>;
18
20
  getNft(id: string): Promise<NftEntity | undefined>;
19
21
  deleteNft(id: string): Promise<void>;
20
22
  isNftExist(id: string): Promise<boolean>;
21
23
  upsertAsset(asset: AssetEntity): Promise<void>;
24
+ getAssets(account: number, type: AssetType): Promise<AssetEntity[]>;
22
25
  deleteAsset(account: number, id: string): Promise<void>;
23
26
  countAssetsById(id: string): Promise<number>;
24
- isAssetExistForAccount(account: number, id: string): Promise<boolean>;
25
27
  upsertAccount(account: AccountEntity): Promise<void>;
26
28
  getAccounts(): Promise<AccountEntity[]>;
27
29
  countAccounts(): Promise<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../../src/persistence/datastore/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../../src/persistence/datastore/db.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,12 @@
1
1
  import { DBStore } from './datastore/db';
2
2
  import { AccountDTO, AddressDTO, AssetEntity, AssetTransactionEntity, NftEntity, SessionEntity, TokenEntity, TransactionEntity, VaultDTO } from '../types/db.types';
3
+ import { AssetType } from '../types/wallet.types';
3
4
  export type DBEvent = {
4
5
  type: 'tx_refresh';
5
6
  } | {
6
7
  type: 'nft_refresh';
7
8
  } | {
8
- type: 'token_added';
9
- accountId: number;
10
- token: AssetEntity;
11
- } | {
12
- type: 'token_removed';
13
- accountId: number;
14
- tokenId: string;
15
- } | {
16
- type: 'nft_deleted';
17
- id: string;
9
+ type: 'token_refresh';
18
10
  };
19
11
  export type DBUpdateCallback = (event: DBEvent) => void;
20
12
  export declare class WalletDB {
@@ -27,23 +19,23 @@ export declare class WalletDB {
27
19
  clearData(): Promise<void>;
28
20
  addLocalTransaction(tx: TransactionEntity): Promise<void>;
29
21
  addAssetTransaction(assetTx: AssetTransactionEntity): Promise<void>;
30
- getLocalTransactions(account: number, tokenId?: string): Promise<TransactionEntity[] | undefined>;
31
- getPageLocalTransactions(account: number, pageNum: number, pageSize: number, tokenId?: string): Promise<TransactionEntity[] | undefined>;
22
+ getLocalTransactions(account: number, tokenId?: string): Promise<TransactionEntity[]>;
23
+ getPageLocalTransactions(account: number, pageNum: number, pageSize: number, tokenId?: string): Promise<TransactionEntity[]>;
32
24
  countLocalTransactions(account: number, tokenId?: string): Promise<number>;
33
25
  clearLocalTransactions(account: number): Promise<void>;
34
26
  saveToken(account: number, token: TokenEntity): Promise<void>;
35
- getLocalTokens(account: number): Promise<AssetEntity[] | undefined>;
27
+ getLocalTokens(account: number, pageNum: number, pageSize: number): Promise<TokenEntity[]>;
36
28
  getToken(id: string): Promise<TokenEntity | undefined>;
37
29
  deleteToken(account: number, tokenId: string): Promise<void>;
38
- saveNft(asset: AssetEntity, nft: NftEntity): Promise<void>;
39
- getLocalNfts(account: number, pageNum: number, pageSize: number): Promise<AssetEntity[] | undefined>;
30
+ saveNft(account: number, nft: NftEntity, time: number): Promise<void>;
31
+ getLocalNfts(account: number, pageNum: number, pageSize: number): Promise<NftEntity[]>;
40
32
  getLocalNft(id: string): Promise<NftEntity | undefined>;
41
- deleteNft(account: number, tokenId: string, notify?: boolean): Promise<void>;
33
+ deleteNft(account: number, tokenId: string): Promise<void>;
42
34
  countLocalNfts(account: number): Promise<number>;
43
35
  isNftExist(id: string): Promise<boolean>;
44
- saveAsset(asset: AssetEntity, notifyNft?: boolean): Promise<void>;
36
+ getAssets(account: number, type: AssetType): Promise<AssetEntity[]>;
37
+ saveAsset(asset: AssetEntity): Promise<void>;
45
38
  removeAsset(account: number, id: string): Promise<void>;
46
- isAssetExistForAccount(account: number, id: string): Promise<boolean>;
47
39
  saveAccount(account: AccountDTO): Promise<void>;
48
40
  getAccounts(): Promise<AccountDTO[]>;
49
41
  countAccounts(): Promise<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"wallet-db.d.ts","sourceRoot":"","sources":["../../../src/persistence/wallet-db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet-db.d.ts","sourceRoot":"","sources":["../../../src/persistence/wallet-db.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,15 @@
1
- import { TokenEntity } from '../types/db.types';
2
1
  import { WalletDB } from '../persistence/wallet-db';
3
- import { RostrumService } from './rostrum';
4
2
  import { WalletCache } from './cache';
5
3
  import { AssetInfo, Balance } from '../types/wallet.types';
6
4
  export declare class AssetService {
7
5
  private readonly walletDb;
8
- private readonly rostrumService;
9
6
  private readonly walletCache;
10
- constructor(walletDb: WalletDB, rostrumService: RostrumService, walletCache: WalletCache);
11
- getTokenInfo(token: string, checkCache?: boolean): Promise<TokenEntity | undefined>;
12
- isNftToken(token: string): Promise<boolean>;
13
- getAssetInfo(token: string): Promise<AssetInfo | undefined>;
7
+ constructor(walletDb: WalletDB, walletCache: WalletCache);
8
+ getAssetInfo(assetId: string): Promise<AssetInfo | undefined>;
14
9
  handleNftReceive(accountId: number, tokenIdHex: string, time: number): Promise<void>;
15
- private saveNft;
16
- fetchAndSaveTokens(accountId: number, tokenBalances: Record<string, Balance>): Promise<void>;
10
+ syncTokens(accountId: number, tokenBalances: Record<string, Balance>): Promise<void>;
17
11
  syncNfts(accountId: number, tokensBalance: Record<string, Balance>): Promise<void>;
12
+ deleteToken(accountId: number, tokenId: string): Promise<void>;
13
+ deleteNft(accountId: number, tokenId: string): Promise<void>;
18
14
  }
19
15
  //# sourceMappingURL=asset.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../../src/services/asset.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA0B,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAI7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhE,qBAAa,YAAY;IAEvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;gBAE9B,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW;IAM3E,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,UAAO,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IA2DhF,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAsB3C,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAe3D,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YA+BnF,OAAO;IA0BR,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAS5F,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAkChG"}
1
+ {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../../src/services/asset.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhE,qBAAa,YAAY;IAEvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;gBAE9B,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW;IAK3C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IA4C7D,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAapF,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBpF,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBlF,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9D,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAI1E"}
@@ -6,8 +6,10 @@ export declare class WalletCache {
6
6
  private readonly nfts;
7
7
  constructor(walletDb: WalletDB);
8
8
  clear(): void;
9
- getTokenById(id: string): Promise<TokenEntity | undefined>;
10
- getNftById(id: string): Promise<NftEntity | undefined>;
9
+ hasToken(id: string): boolean;
10
+ hasNft(id: string): boolean;
11
+ getToken(id: string): Promise<TokenEntity | undefined>;
12
+ getNft(id: string): Promise<NftEntity | undefined>;
11
13
  removeToken(id: string): void;
12
14
  removeNft(id: string): void;
13
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/services/cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,qBAAa,WAAW;IAEtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IAEpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IACzD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgC;gBAElC,QAAQ,EAAE,QAAQ;IAI9B,KAAK,IAAI,IAAI;IAKP,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAa1D,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAa5D,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI7B,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;CAGnC"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/services/cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,qBAAa,WAAW;IAEtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IAEpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IACzD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgC;gBAElC,QAAQ,EAAE,QAAQ;IAI9B,KAAK,IAAI,IAAI;IAKb,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAK7B,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAKrB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAatD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAaxD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI7B,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;CAGnC"}
@@ -82,7 +82,8 @@ export declare class WalletManager {
82
82
  private registerUpdate;
83
83
  private processPendingUpdates;
84
84
  private postProcessWalletUpdate;
85
- private postProcessAccountUpdate;
85
+ private postProcessAccountsUpdate;
86
+ private postProcessActivity;
86
87
  private fetchAndUpdateAddress;
87
88
  private fetchAndUpdateAccount;
88
89
  private fetchAndUpdateVault;
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../src/services/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAc,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErI,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAcxD,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;CAAE,GACjC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;CAAE,GAC1C;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,SAAS,CAAC;CAAE,GACxC;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;CAAE,GAC9C;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;CAAE,GAC1C;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;CAAE,GAC1C;IAAE,IAAI,EAAE,yBAAyB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAAE,GACjH;IAAE,IAAI,EAAE,uBAAuB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;CAAE,GACrE;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;CAAE,CAAC;AAEvD,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAEhE,qBAAa,aAAa;IAuBtB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc;IA3BjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAM;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAQ;IAE3C,OAAO,CAAC,gBAAgB,CAA0B;IAE3C,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzC,gBAAgB,EAAE,UAAU,EAAE,CAAC;IAC/B,eAAe,EAAE,UAAU,EAAE,CAAC;IAE9B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAErC,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,WAAW,CAAC,CAAS;IAE7B,OAAO,CAAC,cAAc,CAAC,CAAuB;IAE9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;gBAGvC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,kBAAkB,EACtC,cAAc,EAAE,cAAc;IAY1C,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI;IAIrD,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,eAAe;IAIhB,gBAAgB,IAAI,UAAU,EAAE;IAIhC,iBAAiB,IAAI,MAAM;IAI3B,gBAAgB,CAAC,SAAS,SAAiB,GAAG,MAAM;IAOpD,kBAAkB,CAAC,SAAS,SAAiB,GAAG,UAAU,EAAE;IAmBtD,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnD,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAW1B,cAAc;YA4Bd,UAAU;YAkBV,WAAW;IAYZ,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3C,OAAO,CAAC,SAAS;IA4CjB,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,cAAc;YAwBR,aAAa;YAMb,YAAY;YAMZ,kBAAkB;IAwBhC,OAAO,CAAC,gBAAgB,CAYvB;IAED,OAAO,CAAC,cAAc;YASR,qBAAqB;YAkDrB,uBAAuB;YA6BvB,wBAAwB;YAkBxB,qBAAqB;YAgBrB,qBAAqB;YAarB,mBAAmB;YAanB,aAAa;IA2Bd,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCtD,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWhE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAc/B,iBAAiB,IAAI,MAAM;IAOrB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAcxE,QAAQ;IAgBT,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAc7C,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,aAAa;CAGtB"}
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../src/services/wallet.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { AuthState } from './slices';
2
- import { Account, AppNotification, Balance, SessionInfo, VaultInfo } from '../types';
2
+ import { Account, AppNotification, Balance, MarketData, SessionInfo, VaultInfo } from '../types';
3
3
  export declare const useAuth: () => AuthState;
4
+ export declare const useMarketData: (tokenId: string) => MarketData;
4
5
  export declare const useBlockHeight: () => number;
5
6
  export declare const useAccount: (id: number) => Account;
6
7
  export declare const useSelectedAccount: () => number;
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/state/hooks.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI1F,eAAO,MAAM,OAAO,QAAO,SAAmD,CAAC;AAE/E,eAAO,MAAM,cAAc,QAAO,MAAyD,CAAC;AAE5F,eAAO,MAAM,UAAU,GAAI,IAAI,MAAM,KAAG,OAAgE,CAAC;AACzG,eAAO,MAAM,kBAAkB,QAAO,MAAkE,CAAC;AACzG,eAAO,MAAM,gBAAgB,QAAO,MAAiG,CAAC;AAEtI,eAAO,MAAM,qBAAqB,GAAI,SAAS,MAAM,KAAG,MAA4E,CAAC;AAErI,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,KAAG,OAA6E,CAAC;AACjI,eAAO,MAAM,eAAe,GAAI,SAAS,MAAM,EAAE,YAAY,MAAM,KAAG,OACgB,CAAC;AAEvF,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,EAAE,SAAS,MAAM,KAAG,WACY,CAAC;AAE/E,eAAO,MAAM,SAAS,QAAO,MAAM,CAAC,MAAM,EAAE,SAAS,CAAoD,CAAC;AAiB1G,eAAO,MAAM,sBAAsB,QAAO,eAAe,EAAuD,CAAC;AACjH,eAAO,MAAM,oBAAoB,QAAO,eAAe,EAAqD,CAAC;AAC7G,eAAO,MAAM,mBAAmB,QAAO,eAAe,EAAoD,CAAC"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/state/hooks.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAItG,eAAO,MAAM,OAAO,QAAO,SAAmD,CAAC;AAE/E,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,KAAG,UAAoE,CAAC;AAErH,eAAO,MAAM,cAAc,QAAO,MAAyD,CAAC;AAE5F,eAAO,MAAM,UAAU,GAAI,IAAI,MAAM,KAAG,OAAgE,CAAC;AACzG,eAAO,MAAM,kBAAkB,QAAO,MAAkE,CAAC;AACzG,eAAO,MAAM,gBAAgB,QAAO,MAAiG,CAAC;AAEtI,eAAO,MAAM,qBAAqB,GAAI,SAAS,MAAM,KAAG,MAA4E,CAAC;AAErI,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,KAAG,OAA6E,CAAC;AACjI,eAAO,MAAM,eAAe,GAAI,SAAS,MAAM,EAAE,YAAY,MAAM,KAAG,OACgB,CAAC;AAEvF,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,EAAE,SAAS,MAAM,KAAG,WACY,CAAC;AAE/E,eAAO,MAAM,SAAS,QAAO,MAAM,CAAC,MAAM,EAAE,SAAS,CAAoD,CAAC;AAiB1G,eAAO,MAAM,sBAAsB,QAAO,eAAe,EAAuD,CAAC;AACjH,eAAO,MAAM,oBAAoB,QAAO,eAAe,EAAqD,CAAC;AAC7G,eAAO,MAAM,mBAAmB,QAAO,eAAe,EAAoD,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { PayloadAction } from '@reduxjs/toolkit';
2
+ import { MarketData } from '../../types';
3
+ import { CurrencyCode } from '../../utils';
4
+ export interface MarketState {
5
+ currency: CurrencyCode;
6
+ data: Record<string, MarketData>;
7
+ }
8
+ export declare const marketThunks: {
9
+ updateMarketData: import('@reduxjs/toolkit').AsyncThunk<Record<string, MarketData>, void, import('@reduxjs/toolkit').AsyncThunkConfig>;
10
+ };
11
+ export declare const marketActions: import('@reduxjs/toolkit').CaseReducerActions<{
12
+ setCurrency: (state: {
13
+ currency: CurrencyCode;
14
+ data: {
15
+ [x: string]: {
16
+ id: string;
17
+ name: string;
18
+ symbol: string;
19
+ image: string;
20
+ price: number;
21
+ priceChange?: number | null | undefined;
22
+ priceChangePercentage?: number | null | undefined;
23
+ marketCap?: number | null | undefined;
24
+ fdv?: number | null | undefined;
25
+ circSupply?: number | null | undefined;
26
+ totalSupply?: number | null | undefined;
27
+ maxSupply?: number | null | undefined;
28
+ totalVolume?: number | null | undefined;
29
+ };
30
+ };
31
+ }, action: PayloadAction<CurrencyCode>) => void;
32
+ setMarketData: (state: {
33
+ currency: CurrencyCode;
34
+ data: {
35
+ [x: string]: {
36
+ id: string;
37
+ name: string;
38
+ symbol: string;
39
+ image: string;
40
+ price: number;
41
+ priceChange?: number | null | undefined;
42
+ priceChangePercentage?: number | null | undefined;
43
+ marketCap?: number | null | undefined;
44
+ fdv?: number | null | undefined;
45
+ circSupply?: number | null | undefined;
46
+ totalSupply?: number | null | undefined;
47
+ maxSupply?: number | null | undefined;
48
+ totalVolume?: number | null | undefined;
49
+ };
50
+ };
51
+ }, action: PayloadAction<Record<string, MarketData>>) => void;
52
+ }, "market">;
53
+ export declare const marketReducer: import('redux').Reducer<MarketState>;
54
+ //# sourceMappingURL=market.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../../../../src/state/slices/market.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAC,MAAM,aAAa,CAAC;AAI/C,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CAClC;AAkCD,eAAO,MAAM,YAAY;;CAAuB,CAAC;AACjD,eAAO,MAAM,aAAa;;kBArCd,YAAY;;;;;;;;;;;;;;;;;;eAkBS,aAAa,CAAC,YAAY,CAAC;;kBAlBhD,YAAY;;;;;;;;;;;;;;;;;;eAqBW,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAgB5B,CAAC;AACjD,eAAO,MAAM,aAAa,sCAAsB,CAAC"}
@@ -1,59 +1,32 @@
1
1
  import { PayloadAction } from '@reduxjs/toolkit';
2
- import { Price } from '../../types';
3
2
  export interface StatusState {
4
3
  status: "Online" | "Offline";
5
4
  height: number;
6
- price: Record<string, Price>;
7
5
  hasNetwork: boolean;
8
6
  isSuspended: boolean;
9
7
  }
10
- export declare const fetchPrice: import('@reduxjs/toolkit').AsyncThunk<Record<string, Price>, void, import('@reduxjs/toolkit').AsyncThunkConfig>;
11
8
  export declare const statusActions: import('@reduxjs/toolkit').CaseReducerActions<{
12
9
  setHeight: (state: {
13
10
  status: "Online" | "Offline";
14
11
  height: number;
15
- price: {
16
- [x: string]: {
17
- value: number;
18
- change: number;
19
- };
20
- };
21
12
  hasNetwork: boolean;
22
13
  isSuspended: boolean;
23
14
  }, action: PayloadAction<number>) => void;
24
15
  setOffline: (state: {
25
16
  status: "Online" | "Offline";
26
17
  height: number;
27
- price: {
28
- [x: string]: {
29
- value: number;
30
- change: number;
31
- };
32
- };
33
18
  hasNetwork: boolean;
34
19
  isSuspended: boolean;
35
20
  }) => void;
36
21
  setHasNetwork: (state: {
37
22
  status: "Online" | "Offline";
38
23
  height: number;
39
- price: {
40
- [x: string]: {
41
- value: number;
42
- change: number;
43
- };
44
- };
45
24
  hasNetwork: boolean;
46
25
  isSuspended: boolean;
47
26
  }, action: PayloadAction<boolean>) => void;
48
27
  setIsSuspended: (state: {
49
28
  status: "Online" | "Offline";
50
29
  height: number;
51
- price: {
52
- [x: string]: {
53
- value: number;
54
- change: number;
55
- };
56
- };
57
30
  hasNetwork: boolean;
58
31
  isSuspended: boolean;
59
32
  }, action: PayloadAction<boolean>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../src/state/slices/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;CACtB;AAUD,eAAO,MAAM,UAAU,iHAcrB,CAAC;AAiCH,eAAO,MAAM,aAAa;;gBA9DhB,QAAQ,GAAG,SAAS;gBACpB,MAAM;;;;;;;oBAEF,OAAO;qBACN,OAAO;eA+BS,aAAa,CAAC,MAAM,CAAC;;gBAnC1C,QAAQ,GAAG,SAAS;gBACpB,MAAM;;;;;;;oBAEF,OAAO;qBACN,OAAO;;;gBAJZ,QAAQ,GAAG,SAAS;gBACpB,MAAM;;;;;;;oBAEF,OAAO;qBACN,OAAO;eAwCa,aAAa,CAAC,OAAO,CAAC;;gBA5C/C,QAAQ,GAAG,SAAS;gBACpB,MAAM;;;;;;;oBAEF,OAAO;qBACN,OAAO;eA2Cc,aAAa,CAAC,OAAO,CAAC;YAeV,CAAC;AACjD,eAAO,MAAM,aAAa,sCAAsB,CAAC"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../src/state/slices/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;CACtB;AA+BD,eAAO,MAAM,aAAa;;gBAnChB,QAAQ,GAAG,SAAS;gBACpB,MAAM;oBACF,OAAO;qBACN,OAAO;eAcS,aAAa,CAAC,MAAM,CAAC;;gBAjB1C,QAAQ,GAAG,SAAS;gBACpB,MAAM;oBACF,OAAO;qBACN,OAAO;;;gBAHZ,QAAQ,GAAG,SAAS;gBACpB,MAAM;oBACF,OAAO;qBACN,OAAO;eAuBa,aAAa,CAAC,OAAO,CAAC;;gBA1B/C,QAAQ,GAAG,SAAS;gBACpB,MAAM;oBACF,OAAO;qBACN,OAAO;eA0Bc,aAAa,CAAC,OAAO,CAAC;YAMV,CAAC;AACjD,eAAO,MAAM,aAAa,sCAAsB,CAAC"}