@otoplo/wallet-common 0.2.2 → 0.4.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 (90) hide show
  1. package/dist/index.js +1798 -1986
  2. package/dist/index.js.map +1 -1
  3. package/dist/types/index.d.ts +0 -1
  4. package/dist/types/index.d.ts.map +1 -1
  5. package/dist/types/persistence/index.d.ts +1 -1
  6. package/dist/types/persistence/index.d.ts.map +1 -1
  7. package/dist/types/persistence/{datastore/db.d.ts → repository.d.ts} +8 -5
  8. package/dist/types/persistence/repository.d.ts.map +1 -0
  9. package/dist/types/persistence/wallet-db.d.ts +17 -25
  10. package/dist/types/persistence/wallet-db.d.ts.map +1 -1
  11. package/dist/types/services/asset.d.ts +6 -0
  12. package/dist/types/services/asset.d.ts.map +1 -1
  13. package/dist/types/services/cache.d.ts +0 -2
  14. package/dist/types/services/cache.d.ts.map +1 -1
  15. package/dist/types/services/discovery.d.ts +3 -3
  16. package/dist/types/services/discovery.d.ts.map +1 -1
  17. package/dist/types/services/index.d.ts +1 -0
  18. package/dist/types/services/index.d.ts.map +1 -1
  19. package/dist/types/services/key.d.ts +3 -0
  20. package/dist/types/services/key.d.ts.map +1 -1
  21. package/dist/types/services/market.d.ts +33 -0
  22. package/dist/types/services/market.d.ts.map +1 -0
  23. package/dist/types/services/rostrum.d.ts +5 -3
  24. package/dist/types/services/rostrum.d.ts.map +1 -1
  25. package/dist/types/services/transaction.d.ts.map +1 -1
  26. package/dist/types/services/wallet.d.ts +13 -6
  27. package/dist/types/services/wallet.d.ts.map +1 -1
  28. package/dist/types/types/db.types.d.ts +4 -0
  29. package/dist/types/types/db.types.d.ts.map +1 -1
  30. package/dist/types/utils/asset.d.ts +1 -2
  31. package/dist/types/utils/asset.d.ts.map +1 -1
  32. package/dist/types/utils/market.d.ts +0 -3
  33. package/dist/types/utils/market.d.ts.map +1 -1
  34. package/package.json +13 -17
  35. package/src/index.ts +0 -1
  36. package/src/persistence/index.ts +1 -1
  37. package/src/persistence/{datastore/db.ts → repository.ts} +9 -5
  38. package/src/persistence/wallet-db.ts +95 -91
  39. package/src/services/asset.ts +60 -26
  40. package/src/services/cache.ts +4 -14
  41. package/src/services/discovery.ts +54 -42
  42. package/src/services/index.ts +2 -1
  43. package/src/services/key.ts +8 -2
  44. package/src/services/market.ts +143 -0
  45. package/src/services/rostrum.ts +14 -6
  46. package/src/services/transaction.ts +3 -10
  47. package/src/services/wallet.ts +66 -42
  48. package/src/types/db.types.ts +6 -1
  49. package/src/utils/asset.ts +2 -21
  50. package/src/utils/market.ts +0 -54
  51. package/dist/types/persistence/datastore/db.d.ts.map +0 -1
  52. package/dist/types/persistence/datastore/index.d.ts +0 -3
  53. package/dist/types/persistence/datastore/index.d.ts.map +0 -1
  54. package/dist/types/persistence/datastore/kv.d.ts +0 -34
  55. package/dist/types/persistence/datastore/kv.d.ts.map +0 -1
  56. package/dist/types/state/hooks.d.ts +0 -17
  57. package/dist/types/state/hooks.d.ts.map +0 -1
  58. package/dist/types/state/index.d.ts +0 -4
  59. package/dist/types/state/index.d.ts.map +0 -1
  60. package/dist/types/state/slices/auth.d.ts +0 -17
  61. package/dist/types/state/slices/auth.d.ts.map +0 -1
  62. package/dist/types/state/slices/dapp.d.ts +0 -29
  63. package/dist/types/state/slices/dapp.d.ts.map +0 -1
  64. package/dist/types/state/slices/index.d.ts +0 -8
  65. package/dist/types/state/slices/index.d.ts.map +0 -1
  66. package/dist/types/state/slices/loader.d.ts +0 -15
  67. package/dist/types/state/slices/loader.d.ts.map +0 -1
  68. package/dist/types/state/slices/market.d.ts +0 -54
  69. package/dist/types/state/slices/market.d.ts.map +0 -1
  70. package/dist/types/state/slices/notifications.d.ts +0 -142
  71. package/dist/types/state/slices/notifications.d.ts.map +0 -1
  72. package/dist/types/state/slices/status.d.ts +0 -35
  73. package/dist/types/state/slices/status.d.ts.map +0 -1
  74. package/dist/types/state/slices/wallet.d.ts +0 -833
  75. package/dist/types/state/slices/wallet.d.ts.map +0 -1
  76. package/dist/types/state/store.d.ts +0 -26
  77. package/dist/types/state/store.d.ts.map +0 -1
  78. package/src/persistence/datastore/index.ts +0 -2
  79. package/src/persistence/datastore/kv.ts +0 -129
  80. package/src/state/hooks.ts +0 -47
  81. package/src/state/index.ts +0 -3
  82. package/src/state/slices/auth.ts +0 -28
  83. package/src/state/slices/dapp.ts +0 -32
  84. package/src/state/slices/index.ts +0 -7
  85. package/src/state/slices/loader.ts +0 -31
  86. package/src/state/slices/market.ts +0 -47
  87. package/src/state/slices/notifications.ts +0 -44
  88. package/src/state/slices/status.ts +0 -41
  89. package/src/state/slices/wallet.ts +0 -107
  90. package/src/state/store.ts +0 -27
@@ -2,5 +2,4 @@ export * from './persistence';
2
2
  export * from './services';
3
3
  export * from './utils';
4
4
  export * from './types';
5
- export * from './state';
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
@@ -1,3 +1,3 @@
1
- export * from './datastore';
1
+ export * from './repository';
2
2
  export * from './wallet-db';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/persistence/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/persistence/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
@@ -1,6 +1,6 @@
1
- import { AccountEntity, AssetEntity, AssetTransactionEntity, NftEntity, SessionEntity, TokenEntity, TransactionEntity, AddressEntity, VaultEntity } from '../../types/db.types';
2
- import { AssetType } from '../../types/wallet.types';
3
- export interface DBStore {
1
+ import { AccountEntity, AssetEntity, AssetTransactionEntity, NftEntity, SessionEntity, TokenEntity, TransactionEntity, AddressEntity, VaultEntity } from '../types/db.types';
2
+ import { AssetType } from '../types/wallet.types';
3
+ export interface Repository {
4
4
  clearData(): Promise<void>;
5
5
  initSchema(): Promise<boolean>;
6
6
  upsertTransaction(txEntry: TransactionEntity): Promise<void>;
@@ -34,7 +34,10 @@ export interface DBStore {
34
34
  getReceiveAddresses(): Promise<AddressEntity[]>;
35
35
  getChangeAddresses(): Promise<AddressEntity[]>;
36
36
  countAddresses(): Promise<number>;
37
- getVaults(): Promise<VaultEntity[]>;
38
37
  upsertVault(vault: VaultEntity): Promise<void>;
38
+ getVaults(): Promise<VaultEntity[]>;
39
+ getSetting(name: string): Promise<string | undefined>;
40
+ saveSetting(name: string, value: string): Promise<void>;
41
+ deleteSetting(name: string): Promise<void>;
39
42
  }
40
- //# sourceMappingURL=db.d.ts.map
43
+ //# sourceMappingURL=repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../src/persistence/repository.ts"],"names":[],"mappings":"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"}
@@ -1,37 +1,26 @@
1
- import { DBStore } from './datastore/db';
2
- import { AccountDTO, AddressDTO, AssetEntity, AssetTransactionEntity, NftEntity, SessionEntity, TokenEntity, TransactionEntity, VaultDTO } from '../types/db.types';
1
+ import { Repository } from './repository';
2
+ import { AccountDTO, AddressDTO, AssetEntity, AssetTransactionEntity, NftEntity, SessionEntity, TokenEntity, TransactionDTO, TransactionEntity, VaultDTO } from '../types/db.types';
3
3
  import { AssetType } from '../types/wallet.types';
4
- export type DBEvent = {
5
- type: 'tx_refresh';
6
- } | {
7
- type: 'nft_refresh';
8
- } | {
9
- type: 'token_refresh';
10
- };
11
- export type DBUpdateCallback = (event: DBEvent) => void;
12
4
  export declare class WalletDB {
13
- private readonly store;
14
- private updateCallback?;
15
- constructor(store: DBStore);
16
- onUpdate(callback: DBUpdateCallback): void;
17
- private notify;
5
+ private readonly repository;
6
+ constructor(repository: Repository);
18
7
  initSchema(): Promise<boolean>;
19
8
  clearData(): Promise<void>;
20
- addLocalTransaction(tx: TransactionEntity): Promise<void>;
21
- addAssetTransaction(assetTx: AssetTransactionEntity): Promise<void>;
22
- getLocalTransactions(account: number, tokenId?: string): Promise<TransactionEntity[]>;
23
- getPageLocalTransactions(account: number, pageNum: number, pageSize: number, tokenId?: string): Promise<TransactionEntity[]>;
24
- countLocalTransactions(account: number, tokenId?: string): Promise<number>;
25
- clearLocalTransactions(account: number): Promise<void>;
9
+ upsertTransaction(tx: TransactionDTO): Promise<void>;
10
+ upsertAssetTransaction(assetTx: AssetTransactionEntity): Promise<void>;
11
+ getTransactions(account: number, tokenId?: string): Promise<TransactionEntity[]>;
12
+ getPageTransactions(account: number, pageNum: number, pageSize: number, tokenId?: string): Promise<TransactionEntity[]>;
13
+ countTransactions(account: number, tokenId?: string): Promise<number>;
14
+ clearTransactions(account: number): Promise<void>;
26
15
  saveToken(account: number, token: TokenEntity): Promise<void>;
27
- getLocalTokens(account: number, pageNum: number, pageSize: number): Promise<TokenEntity[]>;
16
+ getTokens(account: number, pageNum: number, pageSize: number): Promise<TokenEntity[]>;
28
17
  getToken(id: string): Promise<TokenEntity | undefined>;
29
18
  deleteToken(account: number, tokenId: string): Promise<void>;
30
19
  saveNft(account: number, nft: NftEntity, time: number): Promise<void>;
31
- getLocalNfts(account: number, pageNum: number, pageSize: number): Promise<NftEntity[]>;
32
- getLocalNft(id: string): Promise<NftEntity | undefined>;
20
+ getNfts(account: number, pageNum: number, pageSize: number): Promise<NftEntity[]>;
21
+ getNft(id: string): Promise<NftEntity | undefined>;
33
22
  deleteNft(account: number, tokenId: string): Promise<void>;
34
- countLocalNfts(account: number): Promise<number>;
23
+ countNfts(account: number): Promise<number>;
35
24
  getAssets(account: number, type: AssetType): Promise<AssetEntity[]>;
36
25
  saveAsset(asset: AssetEntity): Promise<void>;
37
26
  removeAsset(account: number, id: string): Promise<void>;
@@ -48,5 +37,8 @@ export declare class WalletDB {
48
37
  countAddresses(): Promise<number>;
49
38
  getVaults(): Promise<VaultDTO[]>;
50
39
  saveVault(vault: VaultDTO): Promise<void>;
40
+ getSetting(name: string): Promise<string | undefined>;
41
+ saveSetting(name: string, value: string): Promise<void>;
42
+ removeSetting(name: string): Promise<void>;
51
43
  }
52
44
  //# sourceMappingURL=wallet-db.d.ts.map
@@ -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,3 +1,4 @@
1
+ import { NftEntity, TokenEntity } from '../types/db.types';
1
2
  import { WalletDB } from '../persistence/wallet-db';
2
3
  import { WalletCache } from './cache';
3
4
  import { AssetInfo, Balance } from '../types/wallet.types';
@@ -9,7 +10,12 @@ export declare class AssetService {
9
10
  handleNftReceive(accountId: number, tokenIdHex: string, time: number): Promise<void>;
10
11
  syncTokens(accountId: number, tokenBalances: Record<string, Balance>): Promise<void>;
11
12
  syncNfts(accountId: number, tokensBalance: Record<string, Balance>): Promise<void>;
13
+ saveToken(accountId: number, token: TokenEntity): Promise<void>;
12
14
  deleteToken(accountId: number, tokenId: string): Promise<void>;
15
+ saveNft(accountId: number, nft: NftEntity, time: number): Promise<void>;
13
16
  deleteNft(accountId: number, tokenId: string): Promise<void>;
17
+ getAssetFile(token: string, asset: string): Promise<Uint8Array>;
18
+ private getAssetMetadata;
19
+ private performGet;
14
20
  }
15
21
  //# sourceMappingURL=asset.d.ts.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../../src/services/asset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhE,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,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9D,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAItE,OAAO,CAAC,gBAAgB;YAIV,UAAU;CAiBzB"}
@@ -6,8 +6,6 @@ export declare class WalletCache {
6
6
  private readonly nfts;
7
7
  constructor(walletDb: WalletDB);
8
8
  clear(): void;
9
- hasToken(id: string): boolean;
10
- hasNft(id: string): boolean;
11
9
  getToken(id: string): Promise<TokenEntity | undefined>;
12
10
  getNft(id: string): Promise<NftEntity | undefined>;
13
11
  removeToken(id: string): void;
@@ -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;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"}
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,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"}
@@ -1,4 +1,4 @@
1
- import { VaultDTO } from '../types';
1
+ import { ITXHistory, VaultDTO } from '../types';
2
2
  import { AccountType, KeySpace } from '../utils';
3
3
  import { KeyManager } from './key';
4
4
  import { RostrumService } from './rostrum';
@@ -7,8 +7,8 @@ export declare class WalletDiscoveryService {
7
7
  private readonly keyManager;
8
8
  constructor(rostrumService: RostrumService, keyManager: KeyManager);
9
9
  discoverWalletIndex(type: AccountType, keySpace: KeySpace): Promise<number>;
10
- discoverVaults(addresses: string[]): Promise<Map<string, VaultDTO>>;
11
- private checkVaultsForAddress;
10
+ discoverVaults(walletTxs: ITXHistory[]): Promise<Map<string, VaultDTO>>;
11
+ private checkForVaults;
12
12
  private parseVaultDetails;
13
13
  }
14
14
  //# sourceMappingURL=discovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../src/services/discovery.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,WAAW,EAAwB,QAAQ,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAKhD,qBAAa,sBAAsB;IAEjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;gBAErB,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU;IAK5D,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAoB3E,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAsBlE,qBAAqB;IAenC,OAAO,CAAC,iBAAiB;CAiC1B"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../src/services/discovery.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,WAAW,EAAwB,QAAQ,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAKhD,qBAAa,sBAAsB;IAEjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;gBAErB,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU;IAK5D,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAkC3E,cAAc,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YActE,cAAc;IAqB5B,OAAO,CAAC,iBAAiB;CAiC1B"}
@@ -6,4 +6,5 @@ export * from './transaction';
6
6
  export * from './session';
7
7
  export * from './tx-transformer';
8
8
  export * from './wallet';
9
+ export * from './market';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { HDPrivateKey } from 'libnexa-ts';
2
+ import { AccountType, KeySpace } from '../utils/enums';
2
3
  import { KeyPath } from '../types/wallet.types';
3
4
  export declare class KeyManager {
5
+ static readonly GAP_LIMIT = 20;
4
6
  private seed;
5
7
  private masterKey;
6
8
  private accountKeys;
@@ -8,6 +10,7 @@ export declare class KeyManager {
8
10
  init(mnemonic: string | Uint8Array): void;
9
11
  reset(): void;
10
12
  private getAccountKey;
13
+ deriveAddress(account: AccountType, space: KeySpace, index: number): string;
11
14
  getKey(keyPath: string | KeyPath): HDPrivateKey;
12
15
  }
13
16
  //# sourceMappingURL=key.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../../src/services/key.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGrD,qBAAa,UAAU;IAErB,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,UAAU,CAAmC;IAE9C,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAKzC,KAAK,IAAI,IAAI;IASpB,OAAO,CAAC,aAAa;IAUd,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY;CAiBvD"}
1
+ {"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../../src/services/key.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGrD,qBAAa,UAAU;IAErB,gBAAuB,SAAS,MAAM;IAEtC,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,UAAU,CAAmC;IAE9C,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAKzC,KAAK,IAAI,IAAI;IASpB,OAAO,CAAC,aAAa;IAUd,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAI3E,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY;CAiBvD"}
@@ -0,0 +1,33 @@
1
+ import { WalletDB } from '../persistence/wallet-db';
2
+ import { MarketData } from '../types/wallet.types';
3
+ import { CurrencyCode } from '../utils/market';
4
+ export type MarketEvent = {
5
+ type: 'market_data_updated';
6
+ currency: CurrencyCode;
7
+ data: Record<string, MarketData>;
8
+ } | {
9
+ type: 'currency_updated';
10
+ currency: CurrencyCode;
11
+ };
12
+ export type MarketUpdateCallback = (event: MarketEvent) => void;
13
+ export declare class MarketService {
14
+ private static readonly POLL_INTERVAL_MS;
15
+ private static readonly CURRENCY_SETTING;
16
+ private static readonly SUPPORTED_TOKENS;
17
+ private readonly walletDb;
18
+ private currency;
19
+ private running;
20
+ private pollTimer?;
21
+ private updateCallback?;
22
+ constructor(walletDb: WalletDB);
23
+ onUpdate(callback: MarketUpdateCallback): void;
24
+ private notify;
25
+ init(): Promise<void>;
26
+ stop(): void;
27
+ getCurrency(): CurrencyCode;
28
+ setCurrency(currency: CurrencyCode): Promise<void>;
29
+ private poll;
30
+ private scheduleNext;
31
+ private fetchMarketData;
32
+ }
33
+ //# sourceMappingURL=market.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../../../src/services/market.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAqBnE,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;CAAE,GACzF;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,CAAC;AAEzD,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAEhE,qBAAa,aAAa;IAExB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAiB;IACzD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;IAC7D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAEtC;IAEF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IAEpC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAC,CAAgC;IAElD,OAAO,CAAC,cAAc,CAAC,CAAuB;gBAE3B,QAAQ,EAAE,QAAQ;IAI9B,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI;IAIrD,OAAO,CAAC,MAAM;IAID,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B,IAAI,IAAI,IAAI;IAMZ,WAAW,IAAI,YAAY;IAIrB,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;YAYjD,IAAI;IAelB,OAAO,CAAC,YAAY;YAQN,eAAe;CA6B9B"}
@@ -1,11 +1,11 @@
1
1
  import { RequestResponse } from '@otoplo/electrum-client';
2
2
  import { BlockTip, IFirstUse, IListUnspentRecord, ITokenGenesis, ITokenUtxo, ITransaction, ITXHistory, IUtxo, RostrumParams, ServerFeatures } from '../types/rostrum.types';
3
3
  import { Balance } from '../types/wallet.types';
4
- import { KVStore } from '../persistence/datastore/kv';
4
+ import { WalletDB } from '../persistence';
5
5
  export declare class RostrumService {
6
- private readonly kvStore;
6
+ private readonly walletDb;
7
7
  private client?;
8
- constructor(kvStore: KVStore);
8
+ constructor(walletDb: WalletDB);
9
9
  getFeatures(): Promise<ServerFeatures>;
10
10
  getBlockTip(): Promise<BlockTip>;
11
11
  getBalance(address: string): Promise<Balance>;
@@ -26,6 +26,8 @@ export declare class RostrumService {
26
26
  disconnect(force?: boolean): Promise<boolean>;
27
27
  private execute;
28
28
  private waitForConnection;
29
+ setCurrentInstance(params: RostrumParams): Promise<void>;
30
+ resetCurrentInstance(): Promise<void>;
29
31
  getCurrentInstance(): Promise<RostrumParams>;
30
32
  static getPredefinedInstances(): RostrumParams[];
31
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rostrum.d.ts","sourceRoot":"","sources":["../../../src/services/rostrum.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAqC,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACpN,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAI3D,qBAAa,cAAc;IAEzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAElC,OAAO,CAAC,MAAM,CAAC,CAAiB;gBAEb,OAAO,EAAE,OAAO;IAI5B,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC;IAItC,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;IAIhC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7C,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAI9E,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAI1C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYtD,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,UAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IAIjE,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAIzC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAItD,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAKpE,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAuBzE,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAItD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,eAAe,CAAC;IAQpF,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,eAAe,CAAC;IAI/F,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAa7B,OAAO,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB9C,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAS5C,OAAO;IASrB,OAAO,CAAC,iBAAiB;IAkBZ,kBAAkB,IAAI,OAAO,CAAC,aAAa,CAAC;WAQ3C,sBAAsB,IAAI,aAAa,EAAE;CA2BxD"}
1
+ {"version":3,"file":"rostrum.d.ts","sourceRoot":"","sources":["../../../src/services/rostrum.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAqC,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACpN,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI/C,qBAAa,cAAc;IAEzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IAEpC,OAAO,CAAC,MAAM,CAAC,CAAiB;gBAEb,QAAQ,EAAE,QAAQ;IAI9B,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC;IAItC,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;IAIhC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7C,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAI9E,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAI1C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYtD,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,UAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IAIjE,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAIzC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAItD,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAKpE,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAuBzE,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAItD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,eAAe,CAAC;IAQpF,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,eAAe,CAAC;IAI/F,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAa7B,OAAO,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB9C,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAS5C,OAAO;IASrB,OAAO,CAAC,iBAAiB;IAkBlB,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,kBAAkB,IAAI,OAAO,CAAC,aAAa,CAAC;WAQ3C,sBAAsB,IAAI,aAAa,EAAE;CA2BxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/services/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,EAAQ,MAAM,YAAY,CAAC;AACtE,OAAO,EAAwB,WAAW,EAAiC,MAAM,YAAY,CAAC;AAC9F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAiB,cAAc,EAAsC,MAAM,mBAAmB,CAAC;AAE3G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,kBAAkB;IAE7B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IAEpC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAO;gBAEvB,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ;IAMjF,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIpD,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,GAAG,EAAE,UAAU,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAC,CAAC;IAa/G,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAYlE,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YA0BlG,mBAAmB;IAqEpB,+BAA+B,CAC1C,IAAI,EAAE,UAAU,EAAE,EAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,OAAO,EACvB,KAAK,CAAC,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,WAAW,CAAC;IAoBV,kCAAkC,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAY1I,OAAO,CAAC,kBAAkB;YA+BZ,2BAA2B;YAuF3B,4BAA4B;YAoD5B,mBAAmB;IAK1B,oBAAoB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,MAAM;CAU7D"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/services/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,EAAQ,MAAM,YAAY,CAAC;AACtE,OAAO,EAAwB,WAAW,EAAiC,MAAM,YAAY,CAAC;AAC9F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAiB,cAAc,EAAmB,MAAM,mBAAmB,CAAC;AAExF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,kBAAkB;IAE7B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IAEpC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAO;gBAEvB,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ;IAMjF,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIpD,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,GAAG,EAAE,UAAU,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAC,CAAC;IAa/G,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAYlE,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAmBlG,mBAAmB;IAqEpB,+BAA+B,CAC1C,IAAI,EAAE,UAAU,EAAE,EAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,OAAO,EACvB,KAAK,CAAC,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,WAAW,CAAC;IAoBV,kCAAkC,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAY1I,OAAO,CAAC,kBAAkB;YA+BZ,2BAA2B;YAuF3B,4BAA4B;YAoD5B,mBAAmB;IAK1B,oBAAoB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,MAAM;CAU7D"}
@@ -1,10 +1,15 @@
1
- import { KVStore, WalletDB } from '../persistence';
2
- import { Account, AccountDTO, AddressDTO, AddressKey, Balance, RostrumParams, VaultDTO, VaultInfo } from '../types';
1
+ import { WalletDB } from '../persistence';
2
+ import { Account, AccountDTO, AddressDTO, AddressKey, Balance, ITXHistory, RostrumParams, VaultDTO, VaultInfo } from '../types';
3
3
  import { AssetService } from './asset';
4
4
  import { KeyManager } from './key';
5
5
  import { RostrumService } from './rostrum';
6
6
  import { SessionManager } from './session';
7
7
  import { TransactionService } from './transaction';
8
+ type WalletAddress = AccountDTO | AddressDTO | VaultDTO;
9
+ export interface AddressHistory {
10
+ address: WalletAddress;
11
+ txs: ITXHistory[];
12
+ }
8
13
  export type WalletEvent = {
9
14
  type: 'new_tip';
10
15
  tip: number;
@@ -39,15 +44,14 @@ export type WalletEvent = {
39
44
  export type WalletUpdateCallback = (event: WalletEvent) => void;
40
45
  export declare class WalletManager {
41
46
  private readonly keyManager;
42
- private readonly kvStore;
43
47
  private readonly walletDb;
44
48
  private readonly rostrumService;
45
49
  private readonly assetService;
46
50
  private readonly transactionService;
47
51
  private readonly sessionManager;
48
- private static readonly GAP_LIMIT;
49
52
  private static readonly DEBOUNCE_MS;
50
53
  private addressResolvers;
54
+ private discoveryResolver?;
51
55
  accounts: Map<number, AccountDTO>;
52
56
  accountsAddressToId: Map<string, number>;
53
57
  receiveAddresses: AddressDTO[];
@@ -57,7 +61,7 @@ export declare class WalletManager {
57
61
  private updateTimer?;
58
62
  private updateCallback?;
59
63
  private readonly discoveryService;
60
- constructor(keyManager: KeyManager, kvStore: KVStore, walletDb: WalletDB, rostrumService: RostrumService, assetService: AssetService, transactionService: TransactionService, sessionManager: SessionManager);
64
+ constructor(keyManager: KeyManager, walletDb: WalletDB, rostrumService: RostrumService, assetService: AssetService, transactionService: TransactionService, sessionManager: SessionManager);
61
65
  onUpdate(callback: WalletUpdateCallback): void;
62
66
  private notify;
63
67
  private getAllAddresses;
@@ -91,12 +95,15 @@ export declare class WalletManager {
91
95
  addNewAccount(id: number, name: string): Promise<void>;
92
96
  updateAccountName(id: number, name: string): Promise<void>;
93
97
  rescanAccount(id: number): void;
98
+ rescanVaults(): Promise<AddressHistory[]>;
94
99
  getVaultNextIndex(): number;
95
100
  addNewVault(address: string, block: number, index: number): Promise<void>;
96
101
  private addVault;
97
- rescanVaults(): Promise<boolean>;
102
+ recoverVaults(txs: ITXHistory[]): Promise<boolean>;
103
+ private recoverTokens;
98
104
  private isVaultAddress;
99
105
  private isAccountAddress;
100
106
  private isMainAddress;
101
107
  }
108
+ export {};
102
109
  //# sourceMappingURL=wallet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../src/services/wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../src/services/wallet.ts"],"names":[],"mappings":"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"}
@@ -130,4 +130,8 @@ export interface VaultEntity {
130
130
  balance: string;
131
131
  tokensBalance: string;
132
132
  }
133
+ export interface SettingEntity {
134
+ name: string;
135
+ value: string;
136
+ }
133
137
  //# sourceMappingURL=db.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"db.types.d.ts","sourceRoot":"","sources":["../../../src/types/db.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.types.d.ts","sourceRoot":"","sources":["../../../src/types/db.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnE,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,eAAe,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,eAAe,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -1,6 +1,5 @@
1
- import { AssetInfo } from '../types';
2
1
  export declare function transformTokenIconUrl(icon: string, documentUrl: string): string;
3
2
  export declare function parseTokenDataUrl(data?: string): string | null;
4
- export declare function getAssetMetadata(token: string): Promise<AssetInfo>;
3
+ export declare function getAssetMetadataUrl(token: string): string;
5
4
  export declare function getAssetFileUrl(token: string, asset: string): string;
6
5
  //# sourceMappingURL=asset.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../../src/utils/asset.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAY/E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK9D;AAYD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAElE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAC,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnE"}
1
+ {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../../src/utils/asset.ts"],"names":[],"mappings":"AAEA,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAY/E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK9D;AAYD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAC,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnE"}
@@ -1,4 +1,3 @@
1
- import { MarketData } from '../types/wallet.types';
2
1
  export declare const CURRENCIES: readonly [{
3
2
  readonly code: "usd";
4
3
  readonly symbol: "$";
@@ -40,8 +39,6 @@ export type CurrencyCode = typeof CURRENCIES[number]['code'];
40
39
  export type CurrencySymbol = typeof CURRENCIES[number]['symbol'];
41
40
  export declare const currencySymbols: Record<CurrencyCode, CurrencySymbol>;
42
41
  export declare const currencyCodes: ("usd" | "eur" | "gbp" | "aud" | "cad" | "chf" | "inr" | "cny" | "jpy")[];
43
- export declare const SUPPORTED_TOKENS: Record<string, string>;
44
- export declare function getMarketData(currency: CurrencyCode): Promise<Record<string, MarketData>>;
45
42
  export declare function getCurrencySymbol(currency: CurrencyCode): string;
46
43
  export declare function calculateFiatValue(amount: string | number, price: number, currency?: CurrencyCode): string;
47
44
  export declare function formatMoney(value: string | number, currency: CurrencyCode, locale?: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../../../src/utils/market.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAqBxD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUb,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,MAAM,MAAM,cAAc,GAAG,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;AAEjE,eAAO,MAAM,eAAe,EAEvB,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;AAE1C,eAAO,MAAM,aAAa,2EAA8B,CAAC;AAEzD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAEnD,CAAC;AAEF,wBAAsB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CA4B/F;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAEhE;AAGD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,YAAY,GAAG,MAAM,CAI1G;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAU,GAAG,MAAM,CAOpG"}
1
+ {"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../../../src/utils/market.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUb,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,MAAM,MAAM,cAAc,GAAG,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;AAEjE,eAAO,MAAM,eAAe,EAEvB,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;AAE1C,eAAO,MAAM,aAAa,2EAA8B,CAAC;AAEzD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAEhE;AAGD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,YAAY,GAAG,MAAM,CAI1G;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAU,GAAG,MAAM,CAOpG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@otoplo/wallet-common",
3
- "version": "0.2.2",
3
+ "version": "0.4.0",
4
4
  "description": "Shared common library for internal use in Otoplo wallet",
5
5
  "license": "MIT",
6
6
  "author": "vgrunner",
@@ -15,7 +15,7 @@
15
15
  }
16
16
  },
17
17
  "engines": {
18
- "node": ">=22.12"
18
+ "node": ">=22.18"
19
19
  },
20
20
  "files": [
21
21
  "src",
@@ -24,31 +24,27 @@
24
24
  "scripts": {
25
25
  "check": "tsc --noEmit",
26
26
  "lint": "eslint .",
27
- "build": "del-cli ./dist && vite build"
27
+ "build": "vite build"
28
28
  },
29
29
  "repository": {
30
30
  "type": "git",
31
31
  "url": "git+https://gitlab.com/nexa/otoplo/otoplo-wallet-common.git"
32
32
  },
33
33
  "dependencies": {
34
- "@scure/bip39": "^2.0.1"
34
+ "@otoplo/electrum-client": "^1.0.0",
35
+ "@scure/bip39": "^2.4.0",
36
+ "js-big-decimal": "^2.2.0"
35
37
  },
36
38
  "devDependencies": {
37
- "del-cli": "^7.0.0",
38
- "eslint": "^9.39.2",
39
- "typescript": "^5.9.3",
40
- "typescript-eslint": "^8.54.0",
41
- "vite": "^7.3.1",
42
- "vite-plugin-dts": "^4.5.4"
39
+ "eslint": "^10.13.0",
40
+ "typescript": "^6.0.3",
41
+ "typescript-eslint": "^8.72.1",
42
+ "unplugin-dts": "^1.1.2",
43
+ "vite": "^8.3.5"
43
44
  },
44
45
  "peerDependencies": {
45
- "@otoplo/electrum-client": "^0.2.1",
46
- "@reduxjs/toolkit": "^2.11.2",
47
- "js-big-decimal": "^2.2.0",
48
- "libnexa-ts": "^3.0.1",
49
- "react": ">=19.1.0",
50
- "react-redux": "^9.2.0",
51
- "wallet-comms-sdk": "^0.9.1"
46
+ "libnexa-ts": "^3.1.0",
47
+ "wallet-comms-sdk": "^0.10.2"
52
48
  },
53
49
  "sideEffects": false
54
50
  }
package/src/index.ts CHANGED
@@ -2,4 +2,3 @@ export * from './persistence';
2
2
  export * from './services';
3
3
  export * from './utils';
4
4
  export * from './types';
5
- export * from './state';
@@ -1,2 +1,2 @@
1
- export * from './datastore';
1
+ export * from './repository';
2
2
  export * from './wallet-db';
@@ -1,7 +1,7 @@
1
- import type { AccountEntity, AssetEntity, AssetTransactionEntity, NftEntity, SessionEntity, TokenEntity, TransactionEntity, AddressEntity, VaultEntity } from "../../types/db.types";
2
- import type { AssetType } from "../../types/wallet.types";
1
+ import type { AccountEntity, AssetEntity, AssetTransactionEntity, NftEntity, SessionEntity, TokenEntity, TransactionEntity, AddressEntity, VaultEntity } from "../types/db.types";
2
+ import type { AssetType } from "../types/wallet.types";
3
3
 
4
- export interface DBStore {
4
+ export interface Repository {
5
5
  clearData(): Promise<void>;
6
6
  initSchema(): Promise<boolean>;
7
7
 
@@ -43,6 +43,10 @@ export interface DBStore {
43
43
  getChangeAddresses(): Promise<AddressEntity[]>;
44
44
  countAddresses(): Promise<number>;
45
45
 
46
- getVaults(): Promise<VaultEntity[]>;
47
46
  upsertVault(vault: VaultEntity): Promise<void>;
48
- }
47
+ getVaults(): Promise<VaultEntity[]>;
48
+
49
+ getSetting(name: string): Promise<string | undefined>;
50
+ saveSetting(name: string, value: string): Promise<void>;
51
+ deleteSetting(name: string): Promise<void>;
52
+ }