@otoplo/wallet-common 0.1.13 → 0.1.14

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 (86) hide show
  1. package/dist/index.js +315 -300
  2. package/dist/index.js.map +1 -1
  3. package/dist/types/index.d.ts +6 -0
  4. package/dist/types/index.d.ts.map +1 -0
  5. package/dist/types/persistence/datastore/db.d.ts +39 -0
  6. package/dist/types/persistence/datastore/db.d.ts.map +1 -0
  7. package/dist/types/persistence/datastore/index.d.ts +3 -0
  8. package/dist/types/persistence/datastore/index.d.ts.map +1 -0
  9. package/dist/types/persistence/datastore/kv.d.ts +34 -0
  10. package/dist/types/persistence/datastore/kv.d.ts.map +1 -0
  11. package/dist/types/persistence/index.d.ts +3 -0
  12. package/dist/types/persistence/index.d.ts.map +1 -0
  13. package/dist/types/persistence/wallet-db.d.ts +61 -0
  14. package/dist/types/persistence/wallet-db.d.ts.map +1 -0
  15. package/dist/types/services/asset.d.ts +19 -0
  16. package/dist/types/services/asset.d.ts.map +1 -0
  17. package/dist/types/services/cache.d.ts +14 -0
  18. package/dist/types/services/cache.d.ts.map +1 -0
  19. package/dist/types/services/discovery.d.ts +14 -0
  20. package/dist/types/services/discovery.d.ts.map +1 -0
  21. package/dist/types/services/index.d.ts +9 -0
  22. package/dist/types/services/index.d.ts.map +1 -0
  23. package/dist/types/services/key.d.ts +13 -0
  24. package/dist/types/services/key.d.ts.map +1 -0
  25. package/dist/types/services/rostrum.d.ts +32 -0
  26. package/dist/types/services/rostrum.d.ts.map +1 -0
  27. package/dist/types/services/session.d.ts +48 -0
  28. package/dist/types/services/session.d.ts.map +1 -0
  29. package/dist/types/services/transaction.d.ts +41 -0
  30. package/dist/types/services/transaction.d.ts.map +1 -0
  31. package/dist/types/services/tx-transformer.d.ts +22 -0
  32. package/dist/types/services/tx-transformer.d.ts.map +1 -0
  33. package/dist/types/services/wallet.d.ts +101 -0
  34. package/dist/types/services/wallet.d.ts.map +1 -0
  35. package/dist/types/state/hooks.d.ts +16 -0
  36. package/dist/types/state/hooks.d.ts.map +1 -0
  37. package/dist/types/state/index.d.ts +4 -0
  38. package/dist/types/state/index.d.ts.map +1 -0
  39. package/dist/types/state/slices/auth.d.ts +17 -0
  40. package/dist/types/state/slices/auth.d.ts.map +1 -0
  41. package/dist/types/state/slices/dapp.d.ts +29 -0
  42. package/dist/types/state/slices/dapp.d.ts.map +1 -0
  43. package/dist/types/state/slices/index.d.ts +7 -0
  44. package/dist/types/state/slices/index.d.ts.map +1 -0
  45. package/dist/types/state/slices/loader.d.ts +15 -0
  46. package/dist/types/state/slices/loader.d.ts.map +1 -0
  47. package/dist/types/state/slices/notifications.d.ts +142 -0
  48. package/dist/types/state/slices/notifications.d.ts.map +1 -0
  49. package/dist/types/state/slices/status.d.ts +62 -0
  50. package/dist/types/state/slices/status.d.ts.map +1 -0
  51. package/dist/types/state/slices/wallet.d.ts +1032 -0
  52. package/dist/types/state/slices/wallet.d.ts.map +1 -0
  53. package/dist/types/state/store.d.ts +23 -0
  54. package/dist/types/state/store.d.ts.map +1 -0
  55. package/dist/types/types/dapp.types.d.ts +19 -0
  56. package/dist/types/types/dapp.types.d.ts.map +1 -0
  57. package/dist/types/types/db.types.d.ts +128 -0
  58. package/dist/types/types/db.types.d.ts.map +1 -0
  59. package/dist/types/types/index.d.ts +6 -0
  60. package/dist/types/types/index.d.ts.map +1 -0
  61. package/dist/types/types/notification.types.d.ts +21 -0
  62. package/dist/types/types/notification.types.d.ts.map +1 -0
  63. package/dist/types/types/rostrum.types.d.ts +145 -0
  64. package/dist/types/types/rostrum.types.d.ts.map +1 -0
  65. package/dist/types/types/wallet.types.d.ts +54 -0
  66. package/dist/types/types/wallet.types.d.ts.map +1 -0
  67. package/dist/types/utils/asset.d.ts +9 -0
  68. package/dist/types/utils/asset.d.ts.map +1 -0
  69. package/dist/types/utils/common.d.ts +27 -0
  70. package/dist/types/utils/common.d.ts.map +1 -0
  71. package/dist/types/utils/enums.d.ts +20 -0
  72. package/dist/types/utils/enums.d.ts.map +1 -0
  73. package/dist/types/utils/index.d.ts +8 -0
  74. package/dist/types/utils/index.d.ts.map +1 -0
  75. package/dist/types/utils/keypath.d.ts +5 -0
  76. package/dist/types/utils/keypath.d.ts.map +1 -0
  77. package/dist/types/utils/price.d.ts +42 -0
  78. package/dist/types/utils/price.d.ts.map +1 -0
  79. package/dist/types/utils/seed.d.ts +5 -0
  80. package/dist/types/utils/seed.d.ts.map +1 -0
  81. package/dist/types/utils/vault.d.ts +8 -0
  82. package/dist/types/utils/vault.d.ts.map +1 -0
  83. package/package.json +7 -6
  84. package/src/index.ts +1 -1
  85. package/src/utils/common.ts +20 -1
  86. package/dist/index.d.ts +0 -2305
@@ -0,0 +1,6 @@
1
+ export * from './persistence';
2
+ export * from './services';
3
+ export * from './utils';
4
+ export * from './types';
5
+ export * from './state';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,39 @@
1
+ import { AccountEntity, AssetEntity, AssetTransactionEntity, NftEntity, SessionEntity, TokenEntity, TransactionEntity, AddressEntity, VaultEntity } from '../../types/db.types';
2
+ export interface DBStore {
3
+ clearData(): Promise<void>;
4
+ initSchema(): Promise<boolean>;
5
+ upsertTransaction(txEntry: TransactionEntity): Promise<void>;
6
+ upsertAssetTransaction(assetTx: AssetTransactionEntity): Promise<void>;
7
+ getTransactions(account: number, tokenId?: string): Promise<TransactionEntity[]>;
8
+ getPageTransactions(account: number, pageNum: number, pageSize: number, tokenId?: string): Promise<TransactionEntity[]>;
9
+ countTransactions(account: number, tokenId?: string): Promise<number>;
10
+ clearTransactions(account: number): Promise<void>;
11
+ upsertToken(token: TokenEntity): Promise<void>;
12
+ getTokens(account: number): Promise<AssetEntity[]>;
13
+ getToken(id: string): Promise<TokenEntity | undefined>;
14
+ deleteToken(id: string): Promise<void>;
15
+ countNfts(account: number): Promise<number>;
16
+ upsertNft(nft: NftEntity): Promise<void>;
17
+ getNfts(account: number, pageNum: number, pageSize: number): Promise<AssetEntity[]>;
18
+ getNft(id: string): Promise<NftEntity | undefined>;
19
+ deleteNft(id: string): Promise<void>;
20
+ isNftExist(id: string): Promise<boolean>;
21
+ upsertAsset(asset: AssetEntity): Promise<void>;
22
+ deleteAsset(account: number, id: string): Promise<void>;
23
+ countAssetsById(id: string): Promise<number>;
24
+ isAssetExistForAccount(account: number, id: string): Promise<boolean>;
25
+ upsertAccount(account: AccountEntity): Promise<void>;
26
+ getAccounts(): Promise<AccountEntity[]>;
27
+ countAccounts(): Promise<number>;
28
+ updateAccountName(account: number, name: string): Promise<void>;
29
+ upsertSession(session: SessionEntity): Promise<void>;
30
+ getSessionsByAccount(accountId: number): Promise<SessionEntity[]>;
31
+ deleteSession(sessionId: string): Promise<void>;
32
+ upsertAddress(address: AddressEntity): Promise<void>;
33
+ getReceiveAddresses(): Promise<AddressEntity[]>;
34
+ getChangeAddresses(): Promise<AddressEntity[]>;
35
+ countAddresses(): Promise<number>;
36
+ getVaults(): Promise<VaultEntity[]>;
37
+ upsertVault(vault: VaultEntity): Promise<void>;
38
+ }
39
+ //# sourceMappingURL=db.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../../src/persistence/datastore/db.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './db';
2
+ export * from './kv';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/persistence/datastore/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAC;AACrB,cAAc,MAAM,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { RostrumParams } from '../../types/rostrum.types';
2
+ export declare abstract class KVStore {
3
+ abstract getValue(key: string): Promise<string | null>;
4
+ abstract setValue(key: string, value: string): Promise<void>;
5
+ abstract removeValue(key: string): Promise<void>;
6
+ abstract clearData(): Promise<void>;
7
+ protected getPrefix(): string;
8
+ getEncryptedSeed(): Promise<string | null>;
9
+ saveEncryptedSeed(seed: string): Promise<void>;
10
+ getVersionCode(): Promise<string | null>;
11
+ setVersionCode(code: string): Promise<void>;
12
+ getReleaseNumber(): Promise<string | null>;
13
+ setReleaseNumber(release: string): Promise<void>;
14
+ getRostrumParams(): Promise<RostrumParams | undefined>;
15
+ saveRostrumParams(params: RostrumParams): Promise<void>;
16
+ removeRostrumParams(): Promise<void>;
17
+ setHideZeroTokenConfig(hide: boolean): Promise<void>;
18
+ getHideZeroTokenConfig(): Promise<boolean>;
19
+ setHideZeroVaultsConfig(hide: boolean): Promise<void>;
20
+ getHideZeroVaultsConfig(): Promise<boolean>;
21
+ getSelectedCurrency(): Promise<string>;
22
+ setSelectedCurrency(currency: string): Promise<void>;
23
+ getUseBiometric(): Promise<boolean>;
24
+ setUseBiometric(useBiometric: boolean): Promise<void>;
25
+ getRequireAuth(): Promise<boolean>;
26
+ setRequireAuth(requireAuth: boolean): Promise<void>;
27
+ getReleaseNotesTime(): Promise<number | undefined>;
28
+ setReleaseNotesTime(time: string): Promise<void>;
29
+ getIsTestnet(): Promise<boolean>;
30
+ setIsTestnet(isTestnet: boolean): Promise<void>;
31
+ getAutoLockSeconds(): Promise<number>;
32
+ setAutoLockSeconds(autoLock: number): Promise<void>;
33
+ }
34
+ //# sourceMappingURL=kv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kv.d.ts","sourceRoot":"","sources":["../../../../src/persistence/datastore/kv.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG/D,8BAAsB,OAAO;aAEX,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;aAC7C,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;aACnD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;aACvC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAE1C,SAAS,CAAC,SAAS,IAAI,MAAM;IAIhB,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI1C,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIxC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI1C,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,gBAAgB,IAAI,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAOtD,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC,sBAAsB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC;IAK1C,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC;IAK3C,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKtC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAKnC,eAAe,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAKlC,cAAc,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAKlD,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhD,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAKhC,YAAY,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKrC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGjE"}
@@ -0,0 +1,3 @@
1
+ export * from './datastore';
2
+ export * from './wallet-db';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/persistence/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,61 @@
1
+ import { DBStore } from './datastore/db';
2
+ import { AccountDTO, AddressDTO, AssetEntity, AssetTransactionEntity, NftEntity, SessionEntity, TokenEntity, TransactionEntity, VaultDTO } from '../types/db.types';
3
+ export type DBEvent = {
4
+ type: 'tx_refresh';
5
+ } | {
6
+ type: 'nft_refresh';
7
+ } | {
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;
18
+ };
19
+ export type DBUpdateCallback = (event: DBEvent) => void;
20
+ export declare class WalletDB {
21
+ private readonly store;
22
+ private updateCallback?;
23
+ constructor(store: DBStore);
24
+ onUpdate(callback: DBUpdateCallback): void;
25
+ private notify;
26
+ initSchema(): Promise<boolean>;
27
+ clearData(): Promise<void>;
28
+ addLocalTransaction(tx: TransactionEntity): Promise<void>;
29
+ 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>;
32
+ countLocalTransactions(account: number, tokenId?: string): Promise<number>;
33
+ clearLocalTransactions(account: number): Promise<void>;
34
+ saveToken(account: number, token: TokenEntity): Promise<void>;
35
+ getLocalTokens(account: number): Promise<AssetEntity[] | undefined>;
36
+ getToken(id: string): Promise<TokenEntity | undefined>;
37
+ 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>;
40
+ getLocalNft(id: string): Promise<NftEntity | undefined>;
41
+ deleteNft(account: number, tokenId: string, notify?: boolean): Promise<void>;
42
+ countLocalNfts(account: number): Promise<number>;
43
+ isNftExist(id: string): Promise<boolean>;
44
+ saveAsset(asset: AssetEntity, notifyNft?: boolean): Promise<void>;
45
+ removeAsset(account: number, id: string): Promise<void>;
46
+ isAssetExistForAccount(account: number, id: string): Promise<boolean>;
47
+ saveAccount(account: AccountDTO): Promise<void>;
48
+ getAccounts(): Promise<AccountDTO[]>;
49
+ countAccounts(): Promise<number>;
50
+ updateAccountName(account: number, name: string): Promise<void>;
51
+ saveSession(session: SessionEntity): Promise<void>;
52
+ getAccountSessions(accountId: number): Promise<SessionEntity[]>;
53
+ removeSession(sessionId: string): Promise<void>;
54
+ saveAddress(address: AddressDTO): Promise<void>;
55
+ getReceiveAddresses(): Promise<AddressDTO[]>;
56
+ getChangeAddresses(): Promise<AddressDTO[]>;
57
+ countAddresses(): Promise<number>;
58
+ getVaults(): Promise<VaultDTO[]>;
59
+ saveVault(vault: VaultDTO): Promise<void>;
60
+ }
61
+ //# sourceMappingURL=wallet-db.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-db.d.ts","sourceRoot":"","sources":["../../../src/persistence/wallet-db.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { TokenEntity } from '../types/db.types';
2
+ import { WalletDB } from '../persistence/wallet-db';
3
+ import { RostrumService } from './rostrum';
4
+ import { WalletCache } from './cache';
5
+ import { AssetInfo, Balance } from '../types/wallet.types';
6
+ export declare class AssetService {
7
+ private readonly walletDb;
8
+ private readonly rostrumService;
9
+ 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>;
14
+ handleNftReceive(accountId: number, tokenIdHex: string, time: number): Promise<void>;
15
+ private saveNft;
16
+ fetchAndSaveTokens(accountId: number, tokenBalances: Record<string, Balance>): Promise<void>;
17
+ syncNfts(accountId: number, tokensBalance: Record<string, Balance>): Promise<void>;
18
+ }
19
+ //# sourceMappingURL=asset.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,14 @@
1
+ import { NftEntity, TokenEntity } from '../types/db.types';
2
+ import { WalletDB } from '../persistence/wallet-db';
3
+ export declare class WalletCache {
4
+ private readonly walletDb;
5
+ private readonly tokens;
6
+ private readonly nfts;
7
+ constructor(walletDb: WalletDB);
8
+ clear(): void;
9
+ getTokenById(id: string): Promise<TokenEntity | undefined>;
10
+ getNftById(id: string): Promise<NftEntity | undefined>;
11
+ removeToken(id: string): void;
12
+ removeNft(id: string): void;
13
+ }
14
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,14 @@
1
+ import { VaultDTO } from '../types';
2
+ import { AccountType, KeySpace } from '../utils';
3
+ import { KeyManager } from './key';
4
+ import { RostrumService } from './rostrum';
5
+ export declare class WalletDiscoveryService {
6
+ private readonly rostrumService;
7
+ private readonly keyManager;
8
+ constructor(rostrumService: RostrumService, keyManager: KeyManager);
9
+ discoverWalletIndex(type: AccountType, keySpace: KeySpace): Promise<number>;
10
+ discoverVaults(addresses: string[]): Promise<Map<string, VaultDTO>>;
11
+ private checkVaultsForAddress;
12
+ private parseVaultDetails;
13
+ }
14
+ //# sourceMappingURL=discovery.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,9 @@
1
+ export * from './cache';
2
+ export * from './rostrum';
3
+ export * from './key';
4
+ export * from './asset';
5
+ export * from './transaction';
6
+ export * from './session';
7
+ export * from './tx-transformer';
8
+ export * from './wallet';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,13 @@
1
+ import { HDPrivateKey } from 'libnexa-ts';
2
+ import { KeyPath } from '../types/wallet.types';
3
+ export declare class KeyManager {
4
+ private seed;
5
+ private masterKey;
6
+ private accountKeys;
7
+ private walletKeys;
8
+ init(mnemonic: string | Uint8Array): void;
9
+ reset(): void;
10
+ private getAccountKey;
11
+ getKey(keyPath: string | KeyPath): HDPrivateKey;
12
+ }
13
+ //# sourceMappingURL=key.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,32 @@
1
+ import { RequestResponse } from '@otoplo/electrum-client';
2
+ import { BlockTip, IFirstUse, IListUnspentRecord, ITokenGenesis, ITokenUtxo, ITransaction, ITXHistory, IUtxo, RostrumParams, ServerFeatures } from '../types/rostrum.types';
3
+ import { Balance } from '../types/wallet.types';
4
+ import { KVStore } from '../persistence/datastore/kv';
5
+ export declare class RostrumService {
6
+ private readonly kvStore;
7
+ private client?;
8
+ constructor(kvStore: KVStore);
9
+ getFeatures(): Promise<ServerFeatures>;
10
+ getBlockTip(): Promise<BlockTip>;
11
+ getBalance(address: string): Promise<Balance>;
12
+ getTransactionsHistory(address: string, fromHeight?: number): Promise<ITXHistory[]>;
13
+ getFirstUse(address: string): Promise<IFirstUse>;
14
+ isAddressUsed(address: string): Promise<boolean>;
15
+ getTransaction(id: string, verbose?: boolean): Promise<ITransaction>;
16
+ getUtxo(outpoint: string): Promise<IUtxo>;
17
+ getNexaUtxos(address: string): Promise<IListUnspentRecord[]>;
18
+ getTokenUtxos(address: string, token: string): Promise<ITokenUtxo[]>;
19
+ getTokensBalance(address: string): Promise<Record<string, Balance>>;
20
+ getTokenGenesis(token: string): Promise<ITokenGenesis>;
21
+ broadcast(txHex: string): Promise<string>;
22
+ subscribeHeaders(handler: (block: number) => void): Promise<Error | RequestResponse>;
23
+ subscribeAddress(address: string, handler: (data: unknown) => void): Promise<Error | RequestResponse>;
24
+ getLatency(): Promise<number>;
25
+ connect(params?: RostrumParams): Promise<void>;
26
+ disconnect(force?: boolean): Promise<boolean>;
27
+ private execute;
28
+ private waitForConnection;
29
+ getCurrentInstance(): Promise<RostrumParams>;
30
+ static getPredefinedInstances(): RostrumParams[];
31
+ }
32
+ //# sourceMappingURL=rostrum.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,48 @@
1
+ import { DAppProvider } from 'wallet-comms-sdk';
2
+ import { SessionInfo, AccountDTO, AppNotification, DappRpcRequest } from '../types';
3
+ import { WalletDB } from '../persistence';
4
+ import { KeyManager } from './key';
5
+ type MethodHandler = {
6
+ resolve: (value: any) => void;
7
+ reject: (value: any) => void;
8
+ };
9
+ export type SessionEvent = {
10
+ type: 'session_added';
11
+ accountId: number;
12
+ sessionInfo: SessionInfo;
13
+ } | {
14
+ type: 'session_removed';
15
+ accountId: number;
16
+ sessionId: string;
17
+ } | {
18
+ type: 'sessions_cleared';
19
+ accountId: number;
20
+ } | {
21
+ type: 'new_notification';
22
+ notification: AppNotification;
23
+ } | {
24
+ type: 'new_request';
25
+ request: DappRpcRequest;
26
+ };
27
+ export type SessionUpdateCallback = (event: SessionEvent) => void;
28
+ export declare class SessionManager {
29
+ private readonly walletDb;
30
+ private readonly keyManager;
31
+ private readonly providers;
32
+ private readonly handlers;
33
+ private removeOnClose;
34
+ private updateCallback?;
35
+ constructor(walletDb: WalletDB, keyManager: KeyManager);
36
+ onUpdate(callback: SessionUpdateCallback): void;
37
+ private notify;
38
+ getHandler(request: string): MethodHandler | undefined;
39
+ add(account: AccountDTO, provider: DAppProvider, sessionInfo: SessionInfo): void;
40
+ remove(accountId: number, sessionId: string): void;
41
+ reload(accounts: Map<number, AccountDTO>): Promise<void>;
42
+ clear(): void;
43
+ revoke(accountId: number, sessionId: string): Promise<void>;
44
+ replayMessage(accountId: number, sessionId: string, payload: string): Promise<void>;
45
+ private registerHandlers;
46
+ }
47
+ export {};
48
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/services/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAW,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAClG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAExC,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9B,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAC9B,CAAA;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,WAAW,CAAA;CAAE,GACtE;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,YAAY,EAAE,eAAe,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE,CAAC;AAErD,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;AAElE,qBAAa,cAAc;IAEzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IAExC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;IACnE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IAEtD,OAAO,CAAC,aAAa,CAAU;IAE/B,OAAO,CAAC,cAAc,CAAC,CAAwB;gBAE5B,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU;IAQtD,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAItD,OAAO,CAAC,MAAM;IAIP,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAItD,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI;IAahF,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAe5C,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAwD9D,KAAK,IAAI,IAAI;IAgBP,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUhG,OAAO,CAAC,gBAAgB;CAmDzB"}
@@ -0,0 +1,41 @@
1
+ import { PublicKey, Script, Transaction } from 'libnexa-ts';
2
+ import { KeyManager } from './key';
3
+ import { RostrumService } from './rostrum';
4
+ import { TransactionDTO } from '../types/db.types';
5
+ import { WalletDB } from '../persistence/wallet-db';
6
+ import { ITXHistory } from '../types/rostrum.types';
7
+ import { AddressKey } from '../types/wallet.types';
8
+ export interface TxTemplateData {
9
+ templateScript: Script;
10
+ constraintScript: Script;
11
+ visibleArgs: any[];
12
+ publicKey: PublicKey;
13
+ }
14
+ export interface TxOptions {
15
+ isConsolidate?: boolean;
16
+ templateData?: TxTemplateData;
17
+ feeFromAmount?: boolean;
18
+ }
19
+ export declare class TransactionService {
20
+ private readonly rostrumService;
21
+ private readonly keyManager;
22
+ private readonly walletDb;
23
+ private readonly MAX_INPUTS_OUTPUTS;
24
+ constructor(rostrumService: RostrumService, keysManager: KeyManager, walletDb: WalletDB);
25
+ broadcastTransaction(txHex: string): Promise<string>;
26
+ fetchTransactionsHistory(address: string, fromHeight: number): Promise<{
27
+ txs: ITXHistory[];
28
+ lastHeight: number;
29
+ }>;
30
+ fetchVaultTransactions(address: string): Promise<TransactionDTO[]>;
31
+ classifyAndSaveTransaction(accountId: number, txHash: string, myAddresses: string[]): Promise<void>;
32
+ private classifyTransaction;
33
+ buildAndSignTransferTransaction(from: AddressKey[], toAddr: string, toChange: string, amount: string, feeFromAmount?: boolean, token?: string, feePerByte?: number, data?: string): Promise<Transaction>;
34
+ buildAndSignConsolidateTransaction(from: AddressKey[], toChange: string, templateData?: TxTemplateData): Promise<Transaction>;
35
+ private prepareTransaction;
36
+ private populateNexaInputsAndChange;
37
+ private populateTokenInputsAndChange;
38
+ private finalizeTransaction;
39
+ printTransactionJson(tx?: Transaction | null): string;
40
+ }
41
+ //# sourceMappingURL=transaction.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,22 @@
1
+ import { KeyManager } from './key';
2
+ import { RostrumService } from './rostrum';
3
+ import { AddressKey, TransactionDetails } from '../types';
4
+ import { AssetService } from './asset';
5
+ export declare class TransactionTransformer {
6
+ private readonly rostrumService;
7
+ private readonly keyManager;
8
+ private readonly assetService;
9
+ constructor(rostrumService: RostrumService, keyManager: KeyManager, assetService: AssetService);
10
+ transformRawTransaction(hex: string, addressKey: AddressKey): Promise<TransactionDetails>;
11
+ private createContext;
12
+ private processInputs;
13
+ private processInput;
14
+ private processOutputs;
15
+ private signInputs;
16
+ private validateAndGetSubscript;
17
+ private processSignatureCoverage;
18
+ private checkSignatureCoverage;
19
+ private processAssetMovements;
20
+ private processAssetMovement;
21
+ }
22
+ //# sourceMappingURL=tx-transformer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx-transformer.d.ts","sourceRoot":"","sources":["../../../src/services/tx-transformer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAkC,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE/F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAc5C,qBAAa,sBAAsB;IAEjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;gBAEzB,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY;IAMxF,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAWtG,OAAO,CAAC,aAAa;YAsBP,aAAa;YASb,YAAY;IA4B1B,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,UAAU;IA+BlB,OAAO,CAAC,uBAAuB;IAyB/B,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,sBAAsB;YAahB,qBAAqB;YAYrB,oBAAoB;CAoBnC"}
@@ -0,0 +1,101 @@
1
+ import { KVStore, WalletDB } from '../persistence';
2
+ import { Account, AccountDTO, AddressDTO, AddressKey, Balance, RostrumParams, VaultDTO, VaultInfo } from '../types';
3
+ import { AssetService } from './asset';
4
+ import { KeyManager } from './key';
5
+ import { RostrumService } from './rostrum';
6
+ import { SessionManager } from './session';
7
+ import { TransactionService } from './transaction';
8
+ export type WalletEvent = {
9
+ type: 'new_tip';
10
+ tip: number;
11
+ } | {
12
+ type: 'new_account';
13
+ account: Account;
14
+ } | {
15
+ type: 'new_vault';
16
+ vault: VaultInfo;
17
+ } | {
18
+ type: 'discover_wallet';
19
+ loading: boolean;
20
+ } | {
21
+ type: 'load_wallet';
22
+ loading: boolean;
23
+ } | {
24
+ type: 'sync_wallet';
25
+ loading: boolean;
26
+ } | {
27
+ type: 'account_balance_updated';
28
+ accountId: number;
29
+ balance: Balance;
30
+ tokensBalance: Record<string, Balance>;
31
+ } | {
32
+ type: 'vault_balance_updated';
33
+ address: string;
34
+ balance: Balance;
35
+ } | {
36
+ type: 'main_address_updated';
37
+ address: string;
38
+ };
39
+ export type WalletUpdateCallback = (event: WalletEvent) => void;
40
+ export declare class WalletManager {
41
+ private readonly keyManager;
42
+ private readonly kvStore;
43
+ private readonly walletDb;
44
+ private readonly rostrumService;
45
+ private readonly assetService;
46
+ private readonly transactionService;
47
+ private readonly sessionManager;
48
+ private static readonly GAP_LIMIT;
49
+ private static readonly DEBOUNCE_MS;
50
+ private addressResolvers;
51
+ accounts: Map<number, AccountDTO>;
52
+ accountsAddressToId: Map<string, number>;
53
+ receiveAddresses: AddressDTO[];
54
+ changeAddresses: AddressDTO[];
55
+ vaults: Map<string, VaultDTO>;
56
+ private pendingUpdates;
57
+ private updateTimer?;
58
+ private updateCallback?;
59
+ private readonly discoveryService;
60
+ constructor(keyManager: KeyManager, kvStore: KVStore, walletDb: WalletDB, rostrumService: RostrumService, assetService: AssetService, transactionService: TransactionService, sessionManager: SessionManager);
61
+ onUpdate(callback: WalletUpdateCallback): void;
62
+ private notify;
63
+ private getAllAddresses;
64
+ getMainAddresses(): AddressDTO[];
65
+ getReceiveAddress(): string;
66
+ getChangeAddress(accountId?: number): string;
67
+ getUsedAddressKeys(accountId?: number): AddressKey[];
68
+ reloadRostrum(params: RostrumParams): Promise<void>;
69
+ initRostrum(): Promise<void>;
70
+ initialize(): Promise<void>;
71
+ private discoverWallet;
72
+ private loadWallet;
73
+ private initialSync;
74
+ reconnectSync(): Promise<void>;
75
+ private initState;
76
+ private deriveAddresses;
77
+ private deriveAccounts;
78
+ private saveAddresses;
79
+ private saveAccounts;
80
+ private subscribeAddresses;
81
+ private onSubscribeEvent;
82
+ private registerUpdate;
83
+ private processPendingUpdates;
84
+ private postProcessWalletUpdate;
85
+ private postProcessAccountUpdate;
86
+ private fetchAndUpdateAddress;
87
+ private fetchAndUpdateAccount;
88
+ private fetchAndUpdateVault;
89
+ private checkGapLimit;
90
+ addNewAccount(id: number, name: string): Promise<void>;
91
+ updateAccountName(id: number, name: string): Promise<void>;
92
+ rescanAccount(id: number): void;
93
+ getVaultNextIndex(): number;
94
+ addNewVault(address: string, block: number, index: number): Promise<void>;
95
+ private addVault;
96
+ rescanVaults(): Promise<boolean>;
97
+ private isVaultAddress;
98
+ private isAccountAddress;
99
+ private isMainAddress;
100
+ }
101
+ //# sourceMappingURL=wallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../src/services/wallet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { AuthState } from './slices';
2
+ import { Account, AppNotification, Balance, SessionInfo, VaultInfo } from '../types';
3
+ export declare const useAuth: () => AuthState;
4
+ export declare const useBlockHeight: () => number;
5
+ export declare const useAccount: (id: number) => Account;
6
+ export declare const useSelectedAccount: () => number;
7
+ export declare const useLastAccountId: () => number;
8
+ export declare const useMainReceiveAddress: (account: number) => string;
9
+ export declare const useWalletBalance: (account: number) => Balance;
10
+ export declare const useTokenBalance: (account: number, tokenIdHex: string) => Balance;
11
+ export declare const useDAppSession: (account: number, session: string) => SessionInfo;
12
+ export declare const useVaults: () => Record<string, VaultInfo>;
13
+ export declare const useWalletNotifications: () => AppNotification[];
14
+ export declare const useWeb3Notifications: () => AppNotification[];
15
+ export declare const useAllNotifications: () => AppNotification[];
16
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,4 @@
1
+ export * from './store';
2
+ export * from './hooks';
3
+ export * from './slices';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/state/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { PayloadAction } from '@reduxjs/toolkit';
2
+ export interface AuthState {
3
+ isWalletExist: boolean;
4
+ isAuthorized: boolean;
5
+ }
6
+ export declare const authActions: import('@reduxjs/toolkit').CaseReducerActions<{
7
+ setWalletExist: (state: {
8
+ isWalletExist: boolean;
9
+ isAuthorized: boolean;
10
+ }, action: PayloadAction<boolean>) => void;
11
+ setAuthorized: (state: {
12
+ isWalletExist: boolean;
13
+ isAuthorized: boolean;
14
+ }, action: PayloadAction<boolean>) => void;
15
+ }, "auth">;
16
+ export declare const authReducer: import('redux').Reducer<AuthState>;
17
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/state/slices/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,MAAM,WAAW,SAAS;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;CACvB;AAoBD,eAAO,MAAM,WAAW;;uBAtBP,OAAO;sBACR,OAAO;eAYa,aAAa,CAAC,OAAO,CAAC;;uBAbzC,OAAO;sBACR,OAAO;eAeY,aAAa,CAAC,OAAO,CAAC;UAMb,CAAC;AAC7C,eAAO,MAAM,WAAW,oCAAoB,CAAC"}