@otoplo/wallet-common 0.1.12 → 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.
- package/dist/index.js +337 -319
- package/dist/index.js.map +1 -1
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/persistence/datastore/db.d.ts +39 -0
- package/dist/types/persistence/datastore/db.d.ts.map +1 -0
- package/dist/types/persistence/datastore/index.d.ts +3 -0
- package/dist/types/persistence/datastore/index.d.ts.map +1 -0
- package/dist/types/persistence/datastore/kv.d.ts +34 -0
- package/dist/types/persistence/datastore/kv.d.ts.map +1 -0
- package/dist/types/persistence/index.d.ts +3 -0
- package/dist/types/persistence/index.d.ts.map +1 -0
- package/dist/types/persistence/wallet-db.d.ts +61 -0
- package/dist/types/persistence/wallet-db.d.ts.map +1 -0
- package/dist/types/services/asset.d.ts +19 -0
- package/dist/types/services/asset.d.ts.map +1 -0
- package/dist/types/services/cache.d.ts +14 -0
- package/dist/types/services/cache.d.ts.map +1 -0
- package/dist/types/services/discovery.d.ts +14 -0
- package/dist/types/services/discovery.d.ts.map +1 -0
- package/dist/types/services/index.d.ts +9 -0
- package/dist/types/services/index.d.ts.map +1 -0
- package/dist/types/services/key.d.ts +13 -0
- package/dist/types/services/key.d.ts.map +1 -0
- package/dist/types/services/rostrum.d.ts +32 -0
- package/dist/types/services/rostrum.d.ts.map +1 -0
- package/dist/types/services/session.d.ts +48 -0
- package/dist/types/services/session.d.ts.map +1 -0
- package/dist/types/services/transaction.d.ts +41 -0
- package/dist/types/services/transaction.d.ts.map +1 -0
- package/dist/types/services/tx-transformer.d.ts +22 -0
- package/dist/types/services/tx-transformer.d.ts.map +1 -0
- package/dist/types/services/wallet.d.ts +101 -0
- package/dist/types/services/wallet.d.ts.map +1 -0
- package/dist/types/state/hooks.d.ts +16 -0
- package/dist/types/state/hooks.d.ts.map +1 -0
- package/dist/types/state/index.d.ts +4 -0
- package/dist/types/state/index.d.ts.map +1 -0
- package/dist/types/state/slices/auth.d.ts +17 -0
- package/dist/types/state/slices/auth.d.ts.map +1 -0
- package/dist/types/state/slices/dapp.d.ts +29 -0
- package/dist/types/state/slices/dapp.d.ts.map +1 -0
- package/dist/types/state/slices/index.d.ts +7 -0
- package/dist/types/state/slices/index.d.ts.map +1 -0
- package/dist/types/state/slices/loader.d.ts +15 -0
- package/dist/types/state/slices/loader.d.ts.map +1 -0
- package/dist/types/state/slices/notifications.d.ts +142 -0
- package/dist/types/state/slices/notifications.d.ts.map +1 -0
- package/dist/types/state/slices/status.d.ts +62 -0
- package/dist/types/state/slices/status.d.ts.map +1 -0
- package/dist/types/state/slices/wallet.d.ts +1032 -0
- package/dist/types/state/slices/wallet.d.ts.map +1 -0
- package/dist/types/state/store.d.ts +23 -0
- package/dist/types/state/store.d.ts.map +1 -0
- package/dist/types/types/dapp.types.d.ts +19 -0
- package/dist/types/types/dapp.types.d.ts.map +1 -0
- package/dist/types/types/db.types.d.ts +128 -0
- package/dist/types/types/db.types.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +6 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/notification.types.d.ts +21 -0
- package/dist/types/types/notification.types.d.ts.map +1 -0
- package/dist/types/types/rostrum.types.d.ts +145 -0
- package/dist/types/types/rostrum.types.d.ts.map +1 -0
- package/dist/types/types/wallet.types.d.ts +54 -0
- package/dist/types/types/wallet.types.d.ts.map +1 -0
- package/dist/types/utils/asset.d.ts +9 -0
- package/dist/types/utils/asset.d.ts.map +1 -0
- package/dist/types/utils/common.d.ts +27 -0
- package/dist/types/utils/common.d.ts.map +1 -0
- package/dist/types/utils/enums.d.ts +20 -0
- package/dist/types/utils/enums.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +8 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/keypath.d.ts +5 -0
- package/dist/types/utils/keypath.d.ts.map +1 -0
- package/dist/types/utils/price.d.ts +42 -0
- package/dist/types/utils/price.d.ts.map +1 -0
- package/dist/types/utils/seed.d.ts +5 -0
- package/dist/types/utils/seed.d.ts.map +1 -0
- package/dist/types/utils/vault.d.ts +8 -0
- package/dist/types/utils/vault.d.ts.map +1 -0
- package/package.json +7 -6
- package/src/index.ts +1 -1
- package/src/utils/common.ts +20 -1
- package/dist/index.d.ts +0 -2278
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|