@otoplo/wallet-common 0.2.1 → 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.
- package/dist/index.js +1798 -1985
- package/dist/index.js.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/persistence/index.d.ts +1 -1
- package/dist/types/persistence/index.d.ts.map +1 -1
- package/dist/types/persistence/{datastore/db.d.ts → repository.d.ts} +8 -5
- package/dist/types/persistence/repository.d.ts.map +1 -0
- package/dist/types/persistence/wallet-db.d.ts +17 -25
- package/dist/types/persistence/wallet-db.d.ts.map +1 -1
- package/dist/types/services/asset.d.ts +6 -0
- package/dist/types/services/asset.d.ts.map +1 -1
- package/dist/types/services/cache.d.ts +0 -2
- package/dist/types/services/cache.d.ts.map +1 -1
- package/dist/types/services/discovery.d.ts +3 -3
- package/dist/types/services/discovery.d.ts.map +1 -1
- package/dist/types/services/index.d.ts +1 -0
- package/dist/types/services/index.d.ts.map +1 -1
- package/dist/types/services/key.d.ts +3 -0
- package/dist/types/services/key.d.ts.map +1 -1
- package/dist/types/services/market.d.ts +33 -0
- package/dist/types/services/market.d.ts.map +1 -0
- package/dist/types/services/rostrum.d.ts +5 -3
- package/dist/types/services/rostrum.d.ts.map +1 -1
- package/dist/types/services/transaction.d.ts.map +1 -1
- package/dist/types/services/wallet.d.ts +13 -6
- package/dist/types/services/wallet.d.ts.map +1 -1
- package/dist/types/types/db.types.d.ts +4 -0
- package/dist/types/types/db.types.d.ts.map +1 -1
- package/dist/types/utils/asset.d.ts +1 -2
- package/dist/types/utils/asset.d.ts.map +1 -1
- package/dist/types/utils/market.d.ts +0 -3
- package/dist/types/utils/market.d.ts.map +1 -1
- package/package.json +13 -17
- package/src/index.ts +0 -1
- package/src/persistence/index.ts +1 -1
- package/src/persistence/{datastore/db.ts → repository.ts} +9 -5
- package/src/persistence/wallet-db.ts +95 -91
- package/src/services/asset.ts +60 -26
- package/src/services/cache.ts +4 -14
- package/src/services/discovery.ts +54 -42
- package/src/services/index.ts +2 -1
- package/src/services/key.ts +8 -2
- package/src/services/market.ts +143 -0
- package/src/services/rostrum.ts +14 -6
- package/src/services/transaction.ts +3 -10
- package/src/services/wallet.ts +66 -42
- package/src/types/db.types.ts +6 -1
- package/src/utils/asset.ts +2 -21
- package/src/utils/market.ts +0 -54
- package/dist/types/persistence/datastore/db.d.ts.map +0 -1
- package/dist/types/persistence/datastore/index.d.ts +0 -3
- package/dist/types/persistence/datastore/index.d.ts.map +0 -1
- package/dist/types/persistence/datastore/kv.d.ts +0 -34
- package/dist/types/persistence/datastore/kv.d.ts.map +0 -1
- package/dist/types/state/hooks.d.ts +0 -17
- package/dist/types/state/hooks.d.ts.map +0 -1
- package/dist/types/state/index.d.ts +0 -4
- package/dist/types/state/index.d.ts.map +0 -1
- package/dist/types/state/slices/auth.d.ts +0 -17
- package/dist/types/state/slices/auth.d.ts.map +0 -1
- package/dist/types/state/slices/dapp.d.ts +0 -29
- package/dist/types/state/slices/dapp.d.ts.map +0 -1
- package/dist/types/state/slices/index.d.ts +0 -7
- package/dist/types/state/slices/index.d.ts.map +0 -1
- package/dist/types/state/slices/loader.d.ts +0 -15
- package/dist/types/state/slices/loader.d.ts.map +0 -1
- package/dist/types/state/slices/market.d.ts +0 -54
- package/dist/types/state/slices/market.d.ts.map +0 -1
- package/dist/types/state/slices/notifications.d.ts +0 -142
- package/dist/types/state/slices/notifications.d.ts.map +0 -1
- package/dist/types/state/slices/status.d.ts +0 -35
- package/dist/types/state/slices/status.d.ts.map +0 -1
- package/dist/types/state/slices/wallet.d.ts +0 -833
- package/dist/types/state/slices/wallet.d.ts.map +0 -1
- package/dist/types/state/store.d.ts +0 -26
- package/dist/types/state/store.d.ts.map +0 -1
- package/src/persistence/datastore/index.ts +0 -2
- package/src/persistence/datastore/kv.ts +0 -129
- package/src/state/hooks.ts +0 -47
- package/src/state/index.ts +0 -3
- package/src/state/slices/auth.ts +0 -28
- package/src/state/slices/dapp.ts +0 -32
- package/src/state/slices/index.ts +0 -6
- package/src/state/slices/loader.ts +0 -31
- package/src/state/slices/market.ts +0 -47
- package/src/state/slices/notifications.ts +0 -44
- package/src/state/slices/status.ts +0 -41
- package/src/state/slices/wallet.ts +0 -107
- package/src/state/store.ts +0 -27
package/dist/types/index.d.ts
CHANGED
|
@@ -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
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/persistence/index.ts"],"names":[],"mappings":"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 '
|
|
2
|
-
import { AssetType } from '
|
|
3
|
-
export interface
|
|
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=
|
|
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 {
|
|
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
|
|
14
|
-
|
|
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
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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
|
-
|
|
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
|
-
|
|
32
|
-
|
|
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
|
-
|
|
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":"AAAA,OAAO,KAAK,EAAE,
|
|
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":"
|
|
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;
|
|
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(
|
|
11
|
-
private
|
|
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;
|
|
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"}
|
|
@@ -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;
|
|
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 {
|
|
4
|
+
import { WalletDB } from '../persistence';
|
|
5
5
|
export declare class RostrumService {
|
|
6
|
-
private readonly
|
|
6
|
+
private readonly walletDb;
|
|
7
7
|
private client?;
|
|
8
|
-
constructor(
|
|
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,
|
|
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,
|
|
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 {
|
|
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,
|
|
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
|
-
|
|
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":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../src/services/wallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"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"}
|
|
@@ -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
|
|
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":"
|
|
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":"
|
|
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.
|
|
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.
|
|
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": "
|
|
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
|
-
"@
|
|
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
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"typescript": "^
|
|
40
|
-
"
|
|
41
|
-
"vite": "^
|
|
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
|
-
"
|
|
46
|
-
"
|
|
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
package/src/persistence/index.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './
|
|
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 "
|
|
2
|
-
import type { AssetType } from "
|
|
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
|
|
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
|
+
}
|