@bsv/wallet-toolbox 1.4.3 → 1.4.5
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/docs/client.md +225 -79
- package/docs/monitor.md +32 -1
- package/docs/wallet.md +225 -79
- package/mobile/out/src/WalletPermissionsManager.d.ts +60 -1
- package/mobile/out/src/WalletPermissionsManager.d.ts.map +1 -1
- package/mobile/out/src/WalletPermissionsManager.js +223 -15
- package/mobile/out/src/WalletPermissionsManager.js.map +1 -1
- package/mobile/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
- package/mobile/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
- package/mobile/package-lock.json +2 -2
- package/mobile/package.json +1 -1
- package/out/src/CWIStyleWalletManager.js +1 -1
- package/out/src/CWIStyleWalletManager.js.map +1 -1
- package/out/src/WalletPermissionsManager.d.ts +60 -1
- package/out/src/WalletPermissionsManager.d.ts.map +1 -1
- package/out/src/WalletPermissionsManager.js +222 -15
- package/out/src/WalletPermissionsManager.js.map +1 -1
- package/out/src/__tests/WalletPermissionsManager.initialization.test.js.map +1 -1
- package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
- package/out/src/sdk/CertOps.d.ts +66 -0
- package/out/src/sdk/CertOps.d.ts.map +1 -0
- package/out/src/sdk/CertOps.js +198 -0
- package/out/src/sdk/CertOps.js.map +1 -0
- package/out/src/sdk/StorageSyncReader.d.ts +121 -0
- package/out/src/sdk/StorageSyncReader.d.ts.map +1 -0
- package/out/src/sdk/StorageSyncReader.js +3 -0
- package/out/src/sdk/StorageSyncReader.js.map +1 -0
- package/out/src/sdk/StorageSyncReaderWriter.d.ts +89 -0
- package/out/src/sdk/StorageSyncReaderWriter.d.ts.map +1 -0
- package/out/src/sdk/StorageSyncReaderWriter.js +3 -0
- package/out/src/sdk/StorageSyncReaderWriter.js.map +1 -0
- package/out/src/services/__tests/ARC.test.d.ts +2 -0
- package/out/src/services/__tests/ARC.test.d.ts.map +1 -0
- package/out/src/services/__tests/ARC.test.js +104 -0
- package/out/src/services/__tests/ARC.test.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts +98 -0
- package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js +38 -0
- package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js.map +1 -0
- package/out/src/storage/methods/listActions.d.ts +5 -0
- package/out/src/storage/methods/listActions.d.ts.map +1 -0
- package/out/src/storage/methods/listActions.js +228 -0
- package/out/src/storage/methods/listActions.js.map +1 -0
- package/out/src/storage/methods/listOutputs.d.ts +5 -0
- package/out/src/storage/methods/listOutputs.d.ts.map +1 -0
- package/out/src/storage/methods/listOutputs.js +295 -0
- package/out/src/storage/methods/listOutputs.js.map +1 -0
- package/out/src/storage/schema/entities/Certificate.d.ts +43 -0
- package/out/src/storage/schema/entities/Certificate.d.ts.map +1 -0
- package/out/src/storage/schema/entities/Certificate.js +162 -0
- package/out/src/storage/schema/entities/Certificate.js.map +1 -0
- package/out/src/storage/schema/entities/CertificateField.d.ts +32 -0
- package/out/src/storage/schema/entities/CertificateField.d.ts.map +1 -0
- package/out/src/storage/schema/entities/CertificateField.js +114 -0
- package/out/src/storage/schema/entities/CertificateField.js.map +1 -0
- package/out/src/storage/schema/entities/Commission.d.ts +37 -0
- package/out/src/storage/schema/entities/Commission.d.ts.map +1 -0
- package/out/src/storage/schema/entities/Commission.js +130 -0
- package/out/src/storage/schema/entities/Commission.js.map +1 -0
- package/out/src/storage/schema/entities/Output.d.ts +67 -0
- package/out/src/storage/schema/entities/Output.d.ts.map +1 -0
- package/out/src/storage/schema/entities/Output.js +281 -0
- package/out/src/storage/schema/entities/Output.js.map +1 -0
- package/out/src/storage/schema/entities/OutputBasket.d.ts +35 -0
- package/out/src/storage/schema/entities/OutputBasket.d.ts.map +1 -0
- package/out/src/storage/schema/entities/OutputBasket.js +133 -0
- package/out/src/storage/schema/entities/OutputBasket.js.map +1 -0
- package/out/src/storage/schema/entities/OutputTag.d.ts +31 -0
- package/out/src/storage/schema/entities/OutputTag.d.ts.map +1 -0
- package/out/src/storage/schema/entities/OutputTag.js +104 -0
- package/out/src/storage/schema/entities/OutputTag.js.map +1 -0
- package/out/src/storage/schema/entities/OutputTagMap.d.ts +28 -0
- package/out/src/storage/schema/entities/OutputTagMap.d.ts.map +1 -0
- package/out/src/storage/schema/entities/OutputTagMap.js +101 -0
- package/out/src/storage/schema/entities/OutputTagMap.js.map +1 -0
- package/out/src/storage/schema/entities/ProvenTx.d.ts +84 -0
- package/out/src/storage/schema/entities/ProvenTx.d.ts.map +1 -0
- package/out/src/storage/schema/entities/ProvenTx.js +286 -0
- package/out/src/storage/schema/entities/ProvenTx.js.map +1 -0
- package/out/src/storage/schema/entities/ProvenTxReq.d.ts +135 -0
- package/out/src/storage/schema/entities/ProvenTxReq.d.ts.map +1 -0
- package/out/src/storage/schema/entities/ProvenTxReq.js +532 -0
- package/out/src/storage/schema/entities/ProvenTxReq.js.map +1 -0
- package/out/src/storage/schema/entities/SyncState.d.ts +66 -0
- package/out/src/storage/schema/entities/SyncState.d.ts.map +1 -0
- package/out/src/storage/schema/entities/SyncState.js +284 -0
- package/out/src/storage/schema/entities/SyncState.js.map +1 -0
- package/out/src/storage/schema/entities/Transaction.d.ts +67 -0
- package/out/src/storage/schema/entities/Transaction.d.ts.map +1 -0
- package/out/src/storage/schema/entities/Transaction.js +264 -0
- package/out/src/storage/schema/entities/Transaction.js.map +1 -0
- package/out/src/storage/schema/entities/TxLabel.d.ts +31 -0
- package/out/src/storage/schema/entities/TxLabel.d.ts.map +1 -0
- package/out/src/storage/schema/entities/TxLabel.js +104 -0
- package/out/src/storage/schema/entities/TxLabel.js.map +1 -0
- package/out/src/storage/schema/entities/TxLabelMap.d.ts +28 -0
- package/out/src/storage/schema/entities/TxLabelMap.d.ts.map +1 -0
- package/out/src/storage/schema/entities/TxLabelMap.js +103 -0
- package/out/src/storage/schema/entities/TxLabelMap.js.map +1 -0
- package/out/src/storage/schema/entities/User.d.ts +29 -0
- package/out/src/storage/schema/entities/User.d.ts.map +1 -0
- package/out/src/storage/schema/entities/User.js +100 -0
- package/out/src/storage/schema/entities/User.js.map +1 -0
- package/out/src/storage/schema/tables/Certificate.d.ts +20 -0
- package/out/src/storage/schema/tables/Certificate.d.ts.map +1 -0
- package/out/src/storage/schema/tables/Certificate.js +3 -0
- package/out/src/storage/schema/tables/Certificate.js.map +1 -0
- package/out/src/storage/schema/tables/CertificateField.d.ts +12 -0
- package/out/src/storage/schema/tables/CertificateField.d.ts.map +1 -0
- package/out/src/storage/schema/tables/CertificateField.js +3 -0
- package/out/src/storage/schema/tables/CertificateField.js.map +1 -0
- package/out/src/storage/schema/tables/Commission.d.ts +13 -0
- package/out/src/storage/schema/tables/Commission.d.ts.map +1 -0
- package/out/src/storage/schema/tables/Commission.js +3 -0
- package/out/src/storage/schema/tables/Commission.js.map +1 -0
- package/out/src/storage/schema/tables/MonitorEvent.d.ts +9 -0
- package/out/src/storage/schema/tables/MonitorEvent.d.ts.map +1 -0
- package/out/src/storage/schema/tables/MonitorEvent.js +3 -0
- package/out/src/storage/schema/tables/MonitorEvent.js.map +1 -0
- package/out/src/storage/schema/tables/Output.d.ts +36 -0
- package/out/src/storage/schema/tables/Output.d.ts.map +1 -0
- package/out/src/storage/schema/tables/Output.js +31 -0
- package/out/src/storage/schema/tables/Output.js.map +1 -0
- package/out/src/storage/schema/tables/OutputBasket.d.ts +12 -0
- package/out/src/storage/schema/tables/OutputBasket.d.ts.map +1 -0
- package/out/src/storage/schema/tables/OutputBasket.js +3 -0
- package/out/src/storage/schema/tables/OutputBasket.js.map +1 -0
- package/out/src/storage/schema/tables/OutputTag.d.ts +10 -0
- package/out/src/storage/schema/tables/OutputTag.d.ts.map +1 -0
- package/out/src/storage/schema/tables/OutputTag.js +3 -0
- package/out/src/storage/schema/tables/OutputTag.js.map +1 -0
- package/out/src/storage/schema/tables/OutputTagMap.d.ts +9 -0
- package/out/src/storage/schema/tables/OutputTagMap.d.ts.map +1 -0
- package/out/src/storage/schema/tables/OutputTagMap.js +3 -0
- package/out/src/storage/schema/tables/OutputTagMap.js.map +1 -0
- package/out/src/storage/schema/tables/ProvenTx.d.ts +14 -0
- package/out/src/storage/schema/tables/ProvenTx.d.ts.map +1 -0
- package/out/src/storage/schema/tables/ProvenTx.js +3 -0
- package/out/src/storage/schema/tables/ProvenTx.js.map +1 -0
- package/out/src/storage/schema/tables/ProvenTxReq.d.ts +64 -0
- package/out/src/storage/schema/tables/ProvenTxReq.d.ts.map +1 -0
- package/out/src/storage/schema/tables/ProvenTxReq.js +3 -0
- package/out/src/storage/schema/tables/ProvenTxReq.js.map +1 -0
- package/out/src/storage/schema/tables/SyncState.d.ts +18 -0
- package/out/src/storage/schema/tables/SyncState.d.ts.map +1 -0
- package/out/src/storage/schema/tables/SyncState.js +3 -0
- package/out/src/storage/schema/tables/SyncState.js.map +1 -0
- package/out/src/storage/schema/tables/Transaction.d.ts +37 -0
- package/out/src/storage/schema/tables/Transaction.d.ts.map +1 -0
- package/out/src/storage/schema/tables/Transaction.js +21 -0
- package/out/src/storage/schema/tables/Transaction.js.map +1 -0
- package/out/src/storage/schema/tables/TxLabel.d.ts +10 -0
- package/out/src/storage/schema/tables/TxLabel.d.ts.map +1 -0
- package/out/src/storage/schema/tables/TxLabel.js +3 -0
- package/out/src/storage/schema/tables/TxLabel.js.map +1 -0
- package/out/src/storage/schema/tables/TxLabelMap.d.ts +9 -0
- package/out/src/storage/schema/tables/TxLabelMap.d.ts.map +1 -0
- package/out/src/storage/schema/tables/TxLabelMap.js +3 -0
- package/out/src/storage/schema/tables/TxLabelMap.js.map +1 -0
- package/out/src/storage/schema/tables/User.d.ts +16 -0
- package/out/src/storage/schema/tables/User.d.ts.map +1 -0
- package/out/src/storage/schema/tables/User.js +3 -0
- package/out/src/storage/schema/tables/User.js.map +1 -0
- package/out/test/Wallet/action/abortAction.test.d.ts.map +1 -0
- package/out/test/{wallet → Wallet}/action/abortAction.test.js.map +1 -1
- package/out/test/Wallet/action/createAction.test.d.ts.map +1 -0
- package/out/test/{wallet → Wallet}/action/createAction.test.js.map +1 -1
- package/out/test/{wallet → Wallet}/action/createAction2.test.d.ts.map +1 -1
- package/out/test/{wallet → Wallet}/action/createAction2.test.js.map +1 -1
- package/out/test/Wallet/action/createActionToGenerateBeefs.man.test.d.ts.map +1 -0
- package/out/test/{wallet → Wallet}/action/createActionToGenerateBeefs.man.test.js.map +1 -1
- package/out/test/Wallet/action/internalizeAction.test.d.ts.map +1 -0
- package/out/test/{wallet → Wallet}/action/internalizeAction.test.js.map +1 -1
- package/out/test/Wallet/action/relinquishOutput.test.d.ts.map +1 -0
- package/out/test/{wallet → Wallet}/action/relinquishOutput.test.js.map +1 -1
- package/out/test/Wallet/construct/Wallet.constructor.test.d.ts.map +1 -0
- package/out/test/{wallet → Wallet}/construct/Wallet.constructor.test.js.map +1 -1
- package/out/test/Wallet/list/listActions.test.d.ts.map +1 -0
- package/out/test/{wallet → Wallet}/list/listActions.test.js.map +1 -1
- package/out/test/Wallet/list/listActions2.test.d.ts.map +1 -0
- package/out/test/{wallet → Wallet}/list/listActions2.test.js.map +1 -1
- package/out/test/Wallet/list/listCertificates.test.d.ts.map +1 -0
- package/out/test/{wallet → Wallet}/list/listCertificates.test.js.map +1 -1
- package/out/test/Wallet/list/listOutputs.test.d.ts.map +1 -0
- package/out/test/{wallet → Wallet}/list/listOutputs.test.js.map +1 -1
- package/out/test/Wallet/local/localWalletMethods.d.ts +28 -0
- package/out/test/Wallet/local/localWalletMethods.d.ts.map +1 -0
- package/out/test/Wallet/local/localWalletMethods.js +281 -0
- package/out/test/Wallet/local/localWalletMethods.js.map +1 -0
- package/out/test/Wallet/support/opers1.man.test.d.ts +2 -0
- package/out/test/Wallet/support/opers1.man.test.d.ts.map +1 -0
- package/out/test/Wallet/support/opers1.man.test.js +202 -0
- package/out/test/Wallet/support/opers1.man.test.js.map +1 -0
- package/out/test/Wallet/sync/Wallet.sync.test.d.ts.map +1 -0
- package/out/test/{wallet → Wallet}/sync/Wallet.sync.test.js.map +1 -1
- package/out/tsconfig.all.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/CWIStyleWalletManager.ts +1 -1
- package/src/WalletPermissionsManager.ts +317 -26
- package/src/__tests/WalletPermissionsManager.initialization.test.ts +1 -1
- package/src/monitor/tasks/TaskCheckNoSends.ts +0 -1
- package/src/monitor/tasks/TaskNewHeader.ts +1 -1
- package/out/test/wallet/action/abortAction.test.d.ts.map +0 -1
- package/out/test/wallet/action/createAction.test.d.ts.map +0 -1
- package/out/test/wallet/action/createActionToGenerateBeefs.man.test.d.ts.map +0 -1
- package/out/test/wallet/action/internalizeAction.test.d.ts.map +0 -1
- package/out/test/wallet/action/relinquishOutput.test.d.ts.map +0 -1
- package/out/test/wallet/construct/Wallet.constructor.test.d.ts.map +0 -1
- package/out/test/wallet/list/listActions.test.d.ts.map +0 -1
- package/out/test/wallet/list/listActions2.test.d.ts.map +0 -1
- package/out/test/wallet/list/listCertificates.test.d.ts.map +0 -1
- package/out/test/wallet/list/listOutputs.test.d.ts.map +0 -1
- package/out/test/wallet/sync/Wallet.sync.test.d.ts.map +0 -1
- /package/out/test/{wallet → Wallet}/action/abortAction.test.d.ts +0 -0
- /package/out/test/{wallet → Wallet}/action/abortAction.test.js +0 -0
- /package/out/test/{wallet → Wallet}/action/createAction.test.d.ts +0 -0
- /package/out/test/{wallet → Wallet}/action/createAction.test.js +0 -0
- /package/out/test/{wallet → Wallet}/action/createAction2.test.d.ts +0 -0
- /package/out/test/{wallet → Wallet}/action/createAction2.test.js +0 -0
- /package/out/test/{wallet → Wallet}/action/createActionToGenerateBeefs.man.test.d.ts +0 -0
- /package/out/test/{wallet → Wallet}/action/createActionToGenerateBeefs.man.test.js +0 -0
- /package/out/test/{wallet → Wallet}/action/internalizeAction.test.d.ts +0 -0
- /package/out/test/{wallet → Wallet}/action/internalizeAction.test.js +0 -0
- /package/out/test/{wallet → Wallet}/action/relinquishOutput.test.d.ts +0 -0
- /package/out/test/{wallet → Wallet}/action/relinquishOutput.test.js +0 -0
- /package/out/test/{wallet → Wallet}/construct/Wallet.constructor.test.d.ts +0 -0
- /package/out/test/{wallet → Wallet}/construct/Wallet.constructor.test.js +0 -0
- /package/out/test/{wallet → Wallet}/list/listActions.test.d.ts +0 -0
- /package/out/test/{wallet → Wallet}/list/listActions.test.js +0 -0
- /package/out/test/{wallet → Wallet}/list/listActions2.test.d.ts +0 -0
- /package/out/test/{wallet → Wallet}/list/listActions2.test.js +0 -0
- /package/out/test/{wallet → Wallet}/list/listCertificates.test.d.ts +0 -0
- /package/out/test/{wallet → Wallet}/list/listCertificates.test.js +0 -0
- /package/out/test/{wallet → Wallet}/list/listOutputs.test.d.ts +0 -0
- /package/out/test/{wallet → Wallet}/list/listOutputs.test.js +0 -0
- /package/out/test/{wallet → Wallet}/sync/Wallet.sync.test.d.ts +0 -0
- /package/out/test/{wallet → Wallet}/sync/Wallet.sync.test.js +0 -0
- /package/test/{wallet → Wallet}/action/abortAction.test.ts +0 -0
- /package/test/{wallet → Wallet}/action/createAction.test.ts +0 -0
- /package/test/{wallet → Wallet}/action/createAction2.test.ts +0 -0
- /package/test/{wallet → Wallet}/action/createActionToGenerateBeefs.man.test.ts +0 -0
- /package/test/{wallet → Wallet}/action/internalizeAction.test.ts +0 -0
- /package/test/{wallet → Wallet}/action/relinquishOutput.test.ts +0 -0
- /package/test/{wallet → Wallet}/construct/Wallet.constructor.test.ts +0 -0
- /package/test/{wallet → Wallet}/list/listActions.test.ts +0 -0
- /package/test/{wallet → Wallet}/list/listActions2.test.ts +0 -0
- /package/test/{wallet → Wallet}/list/listCertificates.test.ts +0 -0
- /package/test/{wallet → Wallet}/list/listOutputs.test.ts +0 -0
- /package/test/{wallet → Wallet}/sync/Wallet.sync.test.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CertOps.js","sourceRoot":"","sources":["../../../src/sdk/CertOps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { sdk, TableCertificate, TableCertificateField, TableCertificateX, TableCommission, TableOutput, TableOutputBasket, TableOutputTag, TableOutputTagMap, TableProvenTx, TableProvenTxReq, TableSettings, TableSyncState, TableTransaction, TableTxLabel, TableTxLabelMap, TableUser } from '../index.client';
|
|
2
|
+
/**
|
|
3
|
+
* This is the minimal interface required for a WalletStorageProvider to export data to another provider.
|
|
4
|
+
*/
|
|
5
|
+
export interface StorageSyncReader {
|
|
6
|
+
isAvailable(): boolean;
|
|
7
|
+
makeAvailable(): Promise<TableSettings>;
|
|
8
|
+
destroy(): Promise<void>;
|
|
9
|
+
getSettings(): TableSettings;
|
|
10
|
+
findUserByIdentityKey(key: string): Promise<TableUser | undefined>;
|
|
11
|
+
findSyncStates(args: sdk.FindSyncStatesArgs): Promise<TableSyncState[]>;
|
|
12
|
+
findCertificateFields(args: sdk.FindCertificateFieldsArgs): Promise<TableCertificateField[]>;
|
|
13
|
+
findCertificates(args: sdk.FindCertificatesArgs): Promise<TableCertificateX[]>;
|
|
14
|
+
findCommissions(args: sdk.FindCommissionsArgs): Promise<TableCommission[]>;
|
|
15
|
+
findOutputBaskets(args: sdk.FindOutputBasketsArgs): Promise<TableOutputBasket[]>;
|
|
16
|
+
findOutputs(args: sdk.FindOutputsArgs): Promise<TableOutput[]>;
|
|
17
|
+
findOutputTags(args: sdk.FindOutputTagsArgs): Promise<TableOutputTag[]>;
|
|
18
|
+
findTransactions(args: sdk.FindTransactionsArgs): Promise<TableTransaction[]>;
|
|
19
|
+
findTxLabels(args: sdk.FindTxLabelsArgs): Promise<TableTxLabel[]>;
|
|
20
|
+
getProvenTxsForUser(args: sdk.FindForUserSincePagedArgs): Promise<TableProvenTx[]>;
|
|
21
|
+
getProvenTxReqsForUser(args: sdk.FindForUserSincePagedArgs): Promise<TableProvenTxReq[]>;
|
|
22
|
+
getTxLabelMapsForUser(args: sdk.FindForUserSincePagedArgs): Promise<TableTxLabelMap[]>;
|
|
23
|
+
getOutputTagMapsForUser(args: sdk.FindForUserSincePagedArgs): Promise<TableOutputTagMap[]>;
|
|
24
|
+
getSyncChunk(args: RequestSyncChunkArgs): Promise<SyncChunk>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* success: Last sync of this user from this storage was successful.
|
|
28
|
+
*
|
|
29
|
+
* error: Last sync protocol operation for this user to this storage threw and error.
|
|
30
|
+
*
|
|
31
|
+
* identified: Configured sync storage has been identified but not sync'ed.
|
|
32
|
+
*
|
|
33
|
+
* unknown: Sync protocol state is unknown.
|
|
34
|
+
*/
|
|
35
|
+
export type SyncStatus = 'success' | 'error' | 'identified' | 'updated' | 'unknown';
|
|
36
|
+
export type SyncProtocolVersion = '0.1.0';
|
|
37
|
+
export interface RequestSyncChunkArgs {
|
|
38
|
+
/**
|
|
39
|
+
* The storageIdentityKey of the storage supplying the update SyncChunk data.
|
|
40
|
+
*/
|
|
41
|
+
fromStorageIdentityKey: string;
|
|
42
|
+
/**
|
|
43
|
+
* The storageIdentityKey of the storage consuming the update SyncChunk data.
|
|
44
|
+
*/
|
|
45
|
+
toStorageIdentityKey: string;
|
|
46
|
+
/**
|
|
47
|
+
* The identity of whose data is being requested
|
|
48
|
+
*/
|
|
49
|
+
identityKey: string;
|
|
50
|
+
/**
|
|
51
|
+
* The max updated_at time received from the storage service receiving the request.
|
|
52
|
+
* Will be undefiend if this is the first request or if no data was previously sync'ed.
|
|
53
|
+
*
|
|
54
|
+
* `since` must include items if 'updated_at' is greater or equal. Thus, when not undefined, a sync request should always return at least one item already seen.
|
|
55
|
+
*/
|
|
56
|
+
since?: Date;
|
|
57
|
+
/**
|
|
58
|
+
* A rough limit on how large the response should be.
|
|
59
|
+
* The item that exceeds the limit is included and ends adding more items.
|
|
60
|
+
*/
|
|
61
|
+
maxRoughSize: number;
|
|
62
|
+
/**
|
|
63
|
+
* The maximum number of items (records) to be returned.
|
|
64
|
+
*/
|
|
65
|
+
maxItems: number;
|
|
66
|
+
/**
|
|
67
|
+
* For each entity in dependency order, the offset at which to start returning items
|
|
68
|
+
* from `since`.
|
|
69
|
+
*
|
|
70
|
+
* The entity order is:
|
|
71
|
+
* 0 ProvenTxs
|
|
72
|
+
* 1 ProvenTxReqs
|
|
73
|
+
* 2 OutputBaskets
|
|
74
|
+
* 3 TxLabels
|
|
75
|
+
* 4 OutputTags
|
|
76
|
+
* 5 Transactions
|
|
77
|
+
* 6 TxLabelMaps
|
|
78
|
+
* 7 Commissions
|
|
79
|
+
* 8 Outputs
|
|
80
|
+
* 9 OutputTagMaps
|
|
81
|
+
* 10 Certificates
|
|
82
|
+
* 11 CertificateFields
|
|
83
|
+
*/
|
|
84
|
+
offsets: {
|
|
85
|
+
name: string;
|
|
86
|
+
offset: number;
|
|
87
|
+
}[];
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Result received from remote `WalletStorage` in response to a `RequestSyncChunkArgs` request.
|
|
91
|
+
*
|
|
92
|
+
* Each property is undefined if there was no attempt to update it. Typically this is caused by size and count limits on this result.
|
|
93
|
+
*
|
|
94
|
+
* If all properties are empty arrays the sync process has received all available new and updated items.
|
|
95
|
+
*/
|
|
96
|
+
export interface SyncChunk {
|
|
97
|
+
fromStorageIdentityKey: string;
|
|
98
|
+
toStorageIdentityKey: string;
|
|
99
|
+
userIdentityKey: string;
|
|
100
|
+
user?: TableUser;
|
|
101
|
+
provenTxs?: TableProvenTx[];
|
|
102
|
+
provenTxReqs?: TableProvenTxReq[];
|
|
103
|
+
outputBaskets?: TableOutputBasket[];
|
|
104
|
+
txLabels?: TableTxLabel[];
|
|
105
|
+
outputTags?: TableOutputTag[];
|
|
106
|
+
transactions?: TableTransaction[];
|
|
107
|
+
txLabelMaps?: TableTxLabelMap[];
|
|
108
|
+
commissions?: TableCommission[];
|
|
109
|
+
outputs?: TableOutput[];
|
|
110
|
+
outputTagMaps?: TableOutputTagMap[];
|
|
111
|
+
certificates?: TableCertificate[];
|
|
112
|
+
certificateFields?: TableCertificateField[];
|
|
113
|
+
}
|
|
114
|
+
export interface ProcessSyncChunkResult {
|
|
115
|
+
done: boolean;
|
|
116
|
+
maxUpdated_at: Date | undefined;
|
|
117
|
+
updates: number;
|
|
118
|
+
inserts: number;
|
|
119
|
+
error?: sdk.WalletError;
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=StorageSyncReader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageSyncReader.d.ts","sourceRoot":"","sources":["../../../src/sdk/StorageSyncReader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageSyncReader.js","sourceRoot":"","sources":["../../../src/sdk/StorageSyncReader.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { sdk, TableCertificate, TableCertificateField, TableCommission, TableOutput, TableOutputBasket, TableOutputTag, TableOutputTagMap, TableProvenTx, TableProvenTxReq, TableProvenTxReqDynamics, TableSyncState, TableTransaction, TableTxLabel, TableTxLabelMap, TableUser } from '../index.client';
|
|
2
|
+
/**
|
|
3
|
+
* This is the minimal interface required for a WalletStorageProvider to import and export data to another provider.
|
|
4
|
+
*/
|
|
5
|
+
export interface StorageSyncReaderWriter extends sdk.StorageSyncReader {
|
|
6
|
+
getProvenOrRawTx(txid: string, trx?: sdk.TrxToken): Promise<sdk.ProvenOrRawTx>;
|
|
7
|
+
purgeData(params: sdk.PurgeParams, trx?: sdk.TrxToken): Promise<sdk.PurgeResults>;
|
|
8
|
+
transaction<T>(scope: (trx: sdk.TrxToken) => Promise<T>, trx?: sdk.TrxToken): Promise<T>;
|
|
9
|
+
findOutputTagMaps(args: sdk.FindOutputTagMapsArgs): Promise<TableOutputTagMap[]>;
|
|
10
|
+
findProvenTxReqs(args: sdk.FindProvenTxReqsArgs): Promise<TableProvenTxReq[]>;
|
|
11
|
+
findProvenTxs(args: sdk.FindProvenTxsArgs): Promise<TableProvenTx[]>;
|
|
12
|
+
findTxLabelMaps(args: sdk.FindTxLabelMapsArgs): Promise<TableTxLabelMap[]>;
|
|
13
|
+
countOutputTagMaps(args: sdk.FindOutputTagMapsArgs): Promise<number>;
|
|
14
|
+
countProvenTxReqs(args: sdk.FindProvenTxReqsArgs): Promise<number>;
|
|
15
|
+
countProvenTxs(args: sdk.FindProvenTxsArgs): Promise<number>;
|
|
16
|
+
countTxLabelMaps(args: sdk.FindTxLabelMapsArgs): Promise<number>;
|
|
17
|
+
insertProvenTx(tx: TableProvenTx, trx?: sdk.TrxToken): Promise<number>;
|
|
18
|
+
insertProvenTxReq(tx: TableProvenTxReq, trx?: sdk.TrxToken): Promise<number>;
|
|
19
|
+
insertUser(user: TableUser, trx?: sdk.TrxToken): Promise<number>;
|
|
20
|
+
insertCertificate(certificate: TableCertificate, trx?: sdk.TrxToken): Promise<number>;
|
|
21
|
+
insertCertificateField(certificateField: TableCertificateField, trx?: sdk.TrxToken): Promise<void>;
|
|
22
|
+
insertOutputBasket(basket: TableOutputBasket, trx?: sdk.TrxToken): Promise<number>;
|
|
23
|
+
insertTransaction(tx: TableTransaction, trx?: sdk.TrxToken): Promise<number>;
|
|
24
|
+
insertCommission(commission: TableCommission, trx?: sdk.TrxToken): Promise<number>;
|
|
25
|
+
insertOutput(output: TableOutput, trx?: sdk.TrxToken): Promise<number>;
|
|
26
|
+
insertOutputTag(tag: TableOutputTag, trx?: sdk.TrxToken): Promise<number>;
|
|
27
|
+
insertOutputTagMap(tagMap: TableOutputTagMap, trx?: sdk.TrxToken): Promise<void>;
|
|
28
|
+
insertTxLabel(label: TableTxLabel, trx?: sdk.TrxToken): Promise<number>;
|
|
29
|
+
insertTxLabelMap(labelMap: TableTxLabelMap, trx?: sdk.TrxToken): Promise<void>;
|
|
30
|
+
insertSyncState(syncState: TableSyncState, trx?: sdk.TrxToken): Promise<number>;
|
|
31
|
+
updateCertificateField(certificateId: number, fieldName: string, update: Partial<TableCertificateField>, trx?: sdk.TrxToken): Promise<number>;
|
|
32
|
+
updateCertificate(id: number, update: Partial<TableCertificate>, trx?: sdk.TrxToken): Promise<number>;
|
|
33
|
+
updateCommission(id: number, update: Partial<TableCommission>, trx?: sdk.TrxToken): Promise<number>;
|
|
34
|
+
updateOutputBasket(id: number, update: Partial<TableOutputBasket>, trx?: sdk.TrxToken): Promise<number>;
|
|
35
|
+
updateOutput(id: number, update: Partial<TableOutput>, trx?: sdk.TrxToken): Promise<number>;
|
|
36
|
+
updateOutputTagMap(outputId: number, tagId: number, update: Partial<TableOutputTagMap>, trx?: sdk.TrxToken): Promise<number>;
|
|
37
|
+
updateOutputTag(id: number, update: Partial<TableOutputTag>, trx?: sdk.TrxToken): Promise<number>;
|
|
38
|
+
updateProvenTxReq(id: number | number[], update: Partial<TableProvenTxReq>, trx?: sdk.TrxToken): Promise<number>;
|
|
39
|
+
updateProvenTxReqDynamics(id: number, update: Partial<TableProvenTxReqDynamics>, trx?: sdk.TrxToken): Promise<number>;
|
|
40
|
+
updateProvenTxReqWithNewProvenTx(args: sdk.UpdateProvenTxReqWithNewProvenTxArgs): Promise<sdk.UpdateProvenTxReqWithNewProvenTxResult>;
|
|
41
|
+
updateProvenTx(id: number, update: Partial<TableProvenTx>, trx?: sdk.TrxToken): Promise<number>;
|
|
42
|
+
updateSyncState(id: number, update: Partial<TableSyncState>, trx?: sdk.TrxToken): Promise<number>;
|
|
43
|
+
updateTransaction(id: number | number[], update: Partial<TableTransaction>, trx?: sdk.TrxToken): Promise<number>;
|
|
44
|
+
updateTransactionStatus(status: sdk.TransactionStatus, transactionId?: number, userId?: number, reference?: string, trx?: sdk.TrxToken): Promise<void>;
|
|
45
|
+
updateTransactionsStatus(transactionIds: number[], status: sdk.TransactionStatus): Promise<void>;
|
|
46
|
+
updateTxLabelMap(transactionId: number, txLabelId: number, update: Partial<TableTxLabelMap>, trx?: sdk.TrxToken): Promise<number>;
|
|
47
|
+
updateTxLabel(id: number, update: Partial<TableTxLabel>, trx?: sdk.TrxToken): Promise<number>;
|
|
48
|
+
updateUser(id: number, update: Partial<TableUser>, trx?: sdk.TrxToken): Promise<number>;
|
|
49
|
+
findCertificateById(id: number, trx?: sdk.TrxToken): Promise<TableCertificate | undefined>;
|
|
50
|
+
findCommissionById(id: number, trx?: sdk.TrxToken): Promise<TableCommission | undefined>;
|
|
51
|
+
findOutputById(id: number, trx?: sdk.TrxToken, noScript?: boolean): Promise<TableOutput | undefined>;
|
|
52
|
+
findOutputBasketById(id: number, trx?: sdk.TrxToken): Promise<TableOutputBasket | undefined>;
|
|
53
|
+
findProvenTxById(id: number, trx?: sdk.TrxToken | undefined): Promise<TableProvenTx | undefined>;
|
|
54
|
+
findProvenTxReqById(id: number, trx?: sdk.TrxToken | undefined): Promise<TableProvenTxReq | undefined>;
|
|
55
|
+
findSyncStateById(id: number, trx?: sdk.TrxToken): Promise<TableSyncState | undefined>;
|
|
56
|
+
findTransactionById(id: number, trx?: sdk.TrxToken, noRawTx?: boolean): Promise<TableTransaction | undefined>;
|
|
57
|
+
findTxLabelById(id: number, trx?: sdk.TrxToken): Promise<TableTxLabel | undefined>;
|
|
58
|
+
findOutputTagById(id: number, trx?: sdk.TrxToken): Promise<TableOutputTag | undefined>;
|
|
59
|
+
findUserById(id: number, trx?: sdk.TrxToken): Promise<TableUser | undefined>;
|
|
60
|
+
findOrInsertUser(identityKey: string, trx?: sdk.TrxToken): Promise<{
|
|
61
|
+
user: TableUser;
|
|
62
|
+
isNew: boolean;
|
|
63
|
+
}>;
|
|
64
|
+
findOrInsertTransaction(newTx: TableTransaction, trx?: sdk.TrxToken): Promise<{
|
|
65
|
+
tx: TableTransaction;
|
|
66
|
+
isNew: boolean;
|
|
67
|
+
}>;
|
|
68
|
+
findOrInsertOutputBasket(userId: number, name: string, trx?: sdk.TrxToken): Promise<TableOutputBasket>;
|
|
69
|
+
findOrInsertTxLabel(userId: number, label: string, trx?: sdk.TrxToken): Promise<TableTxLabel>;
|
|
70
|
+
findOrInsertTxLabelMap(transactionId: number, txLabelId: number, trx?: sdk.TrxToken): Promise<TableTxLabelMap>;
|
|
71
|
+
findOrInsertOutputTag(userId: number, tag: string, trx?: sdk.TrxToken): Promise<TableOutputTag>;
|
|
72
|
+
findOrInsertOutputTagMap(outputId: number, outputTagId: number, trx?: sdk.TrxToken): Promise<TableOutputTagMap>;
|
|
73
|
+
findOrInsertSyncStateAuth(auth: sdk.AuthId, storageIdentityKey: string, storageName: string): Promise<{
|
|
74
|
+
syncState: TableSyncState;
|
|
75
|
+
isNew: boolean;
|
|
76
|
+
}>;
|
|
77
|
+
findOrInsertProvenTxReq(newReq: TableProvenTxReq, trx?: sdk.TrxToken): Promise<{
|
|
78
|
+
req: TableProvenTxReq;
|
|
79
|
+
isNew: boolean;
|
|
80
|
+
}>;
|
|
81
|
+
findOrInsertProvenTx(newProven: TableProvenTx, trx?: sdk.TrxToken): Promise<{
|
|
82
|
+
proven: TableProvenTx;
|
|
83
|
+
isNew: boolean;
|
|
84
|
+
}>;
|
|
85
|
+
findUsers(args: sdk.FindUsersArgs): Promise<TableUser[]>;
|
|
86
|
+
tagOutput(partial: Partial<TableOutput>, tag: string, trx?: sdk.TrxToken): Promise<void>;
|
|
87
|
+
processSyncChunk(args: sdk.RequestSyncChunkArgs, chunk: sdk.SyncChunk): Promise<sdk.ProcessSyncChunkResult>;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=StorageSyncReaderWriter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageSyncReaderWriter.d.ts","sourceRoot":"","sources":["../../../src/sdk/StorageSyncReaderWriter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageSyncReaderWriter.js","sourceRoot":"","sources":["../../../src/sdk/StorageSyncReaderWriter.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ARC.test.d.ts","sourceRoot":"","sources":["../../../../src/services/__tests/ARC.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const TestUtilsWalletStorage_1 = require("../../../test/utils/TestUtilsWalletStorage");
|
|
4
|
+
const index_client_1 = require("../../index.client");
|
|
5
|
+
const ARC_1 = require("../providers/ARC");
|
|
6
|
+
const sdk_1 = require("@bsv/sdk");
|
|
7
|
+
const createDefaultWalletServicesOptions_1 = require("../createDefaultWalletServicesOptions");
|
|
8
|
+
const index_all_1 = require("../../index.all");
|
|
9
|
+
describe('ARC tests', () => {
|
|
10
|
+
jest.setTimeout(99999999);
|
|
11
|
+
const envTest = TestUtilsWalletStorage_1._tu.getEnv('test');
|
|
12
|
+
const arcTest = new ARC_1.ARC((0, createDefaultWalletServicesOptions_1.arcDefaultUrl)(envTest.chain), {
|
|
13
|
+
apiKey: envTest.taalApiKey
|
|
14
|
+
});
|
|
15
|
+
const envMain = TestUtilsWalletStorage_1._tu.getEnv('main');
|
|
16
|
+
const arcMain = new ARC_1.ARC((0, createDefaultWalletServicesOptions_1.arcDefaultUrl)(envMain.chain), {
|
|
17
|
+
apiKey: envMain.taalApiKey
|
|
18
|
+
});
|
|
19
|
+
test.skip('0 double spend', async () => {
|
|
20
|
+
const arc = arcTest;
|
|
21
|
+
const beef = sdk_1.Beef.fromString(testnetDoubleSpendBeef);
|
|
22
|
+
const txids = [beef.txs.slice(-1)[0].txid];
|
|
23
|
+
const r = await arc.postBeef(beef, txids);
|
|
24
|
+
expect(r.status === 'error').toBe(true);
|
|
25
|
+
expect(r.txidResults[0].doubleSpend).toBe(true);
|
|
26
|
+
});
|
|
27
|
+
test.skip('7 postRawTx testnet', async () => {
|
|
28
|
+
await postRawTxTest('test', arcTest);
|
|
29
|
+
});
|
|
30
|
+
test.skip('8 postRawTx mainnet', async () => {
|
|
31
|
+
await postRawTxTest('main', arcMain);
|
|
32
|
+
});
|
|
33
|
+
test.skip('9 postBeef testnet', async () => {
|
|
34
|
+
const r = await postBeefTest('test', arcTest);
|
|
35
|
+
console.log(`9 postBeef testnet done ${r}`);
|
|
36
|
+
});
|
|
37
|
+
test.skip('10 postBeef mainnet', async () => {
|
|
38
|
+
const r = await postBeefTest('main', arcMain);
|
|
39
|
+
console.log(`10 postBeef mainnet done ${r}`);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
async function postBeefTest(chain, arc) {
|
|
43
|
+
if (index_all_1.Setup.noEnv(chain))
|
|
44
|
+
return 'skipped';
|
|
45
|
+
const c = await TestUtilsWalletStorage_1._tu.createNoSendTxPair(chain);
|
|
46
|
+
const txids = [c.txidDo, c.txidUndo];
|
|
47
|
+
const r = await arc.postBeef(c.beef, txids);
|
|
48
|
+
expect(r.status).toBe('success');
|
|
49
|
+
for (const txid of txids) {
|
|
50
|
+
const tr = r.txidResults.find(tx => tx.txid === txid);
|
|
51
|
+
expect(tr).not.toBeUndefined();
|
|
52
|
+
expect(tr.status).toBe('success');
|
|
53
|
+
}
|
|
54
|
+
// replace Undo transaction with double spend transaction and send again.
|
|
55
|
+
const beef2 = c.beef.clone();
|
|
56
|
+
beef2.txs[beef2.txs.length - 1] = sdk_1.BeefTx.fromTx(c.doubleSpendTx);
|
|
57
|
+
const txids2 = [c.txidDo, c.doubleSpendTx.id('hex')];
|
|
58
|
+
const r2 = await arc.postBeef(beef2, txids2);
|
|
59
|
+
expect(r2.status).toBe('error');
|
|
60
|
+
for (const txid of txids2) {
|
|
61
|
+
const tr = r2.txidResults.find(tx => tx.txid === txid);
|
|
62
|
+
expect(tr).not.toBeUndefined();
|
|
63
|
+
if (txid === c.txidDo) {
|
|
64
|
+
expect(tr.status).toBe('success');
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
expect(tr.status).toBe('error');
|
|
68
|
+
expect(tr.doubleSpend).toBe(true);
|
|
69
|
+
expect(tr.competingTxs).toEqual([c.txidUndo]);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return 'passed';
|
|
73
|
+
}
|
|
74
|
+
async function postRawTxTest(chain, arc) {
|
|
75
|
+
if (index_all_1.Setup.noEnv(chain))
|
|
76
|
+
return;
|
|
77
|
+
const c = await TestUtilsWalletStorage_1._tu.createNoSendTxPair(chain);
|
|
78
|
+
const rawTxDo = c.beef.findTxid(c.txidDo).tx.toHex();
|
|
79
|
+
const rawTxUndo = c.beef.findTxid(c.txidUndo).tx.toHex();
|
|
80
|
+
const rDo = await arc.postRawTx(rawTxDo);
|
|
81
|
+
expect(rDo.status).toBe('success');
|
|
82
|
+
expect(rDo.txid).toBe(c.txidDo);
|
|
83
|
+
await (0, index_client_1.wait)(1000);
|
|
84
|
+
const rUndo = await arc.postRawTx(rawTxUndo);
|
|
85
|
+
expect(rUndo.status).toBe('success');
|
|
86
|
+
expect(rUndo.txid).toBe(c.txidUndo);
|
|
87
|
+
expect(rUndo.doubleSpend).not.toBe(true);
|
|
88
|
+
await (0, index_client_1.wait)(1000);
|
|
89
|
+
{
|
|
90
|
+
// Send same transaction again...
|
|
91
|
+
const rUndo = await arc.postRawTx(rawTxUndo);
|
|
92
|
+
expect(rUndo.status).toBe('success');
|
|
93
|
+
expect(rUndo.txid).toBe(c.txidUndo);
|
|
94
|
+
expect(rUndo.doubleSpend).not.toBe(true);
|
|
95
|
+
}
|
|
96
|
+
await (0, index_client_1.wait)(1000);
|
|
97
|
+
// Confirm double spend detection.
|
|
98
|
+
const rDouble = await arc.postRawTx(c.doubleSpendTx.toHex());
|
|
99
|
+
expect(rDouble.status).toBe('error');
|
|
100
|
+
expect(rDouble.doubleSpend).toBe(true);
|
|
101
|
+
expect(rDouble.competingTxs[0]).toBe(c.txidUndo);
|
|
102
|
+
}
|
|
103
|
+
const testnetDoubleSpendBeef = '0100beef01fe65631900020200009df812619ae232d2363d91516ab3e811211192933526bbc2aee71b54ccb236d10102462876eec65d9aa26d957421c5cc8dd9119b61177242b9dd814fb190fd0a361801010076a3297928f6841bcb656e91225540e87c65f67d8ec12bc768d7656eb7561b3d02010000000159617a9d17562f7c9765e5dfa6a9a393aa2809ca6166a3d7a31c09efcc5070141f0000006a47304402200a528145a67ba1879b88a093cb711f79f04413a81d5678f314302e36a7f59e43022010bc4bb3c2574052c50bbdc8a05c31fb39e69280656b34f5dc22e2ceadc3bb4a412102fd4200bf389d16479b3d06f97fee0752f2c3b9dc29fb3ddce2b327d851b8902bffffffff0204000000000000001976a9140df1a69c834bb7d9bb5b2b7d6a34e5a401db3e1688ac01000000000000001976a91423f2562a8092ed24eddc77c74387b44c561692a188ac0000000001000100000001462876eec65d9aa26d957421c5cc8dd9119b61177242b9dd814fb190fd0a3618000000006a47304402204183bbfdcf11d50907b91f5e70ea8f81228501ce84e24af75c8d984682d094dc022029caa8f7e5acb4990bbeafee523a3c4a99b78e98b9e5c41349147b099679d4ae412103b76389eea6494c2c30443cba9d59b9dba05fb04e467bc94272629615b87a429fffffffff0202000000000000001976a91476d851e59fcb4ee0ebe6947496db3a393b08e49c88ac01000000000000001976a91423f2562a8092ed24eddc77c74387b44c561692a188ac0000000000';
|
|
104
|
+
//# sourceMappingURL=ARC.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ARC.test.js","sourceRoot":"","sources":["../../../../src/services/__tests/ARC.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* These are fields of 80 byte serialized header in order whose double sha256 hash is a block's hash value
|
|
3
|
+
* and the next block's previousHash value.
|
|
4
|
+
*
|
|
5
|
+
* All block hash values and merkleRoot values are 32 byte hex string values with the byte order reversed from the serialized byte order.
|
|
6
|
+
*/
|
|
7
|
+
export interface BaseBlockHeader {
|
|
8
|
+
/**
|
|
9
|
+
* Block header version value. Serialized length is 4 bytes.
|
|
10
|
+
*/
|
|
11
|
+
version: number;
|
|
12
|
+
/**
|
|
13
|
+
* Hash of previous block's block header. Serialized length is 32 bytes.
|
|
14
|
+
*/
|
|
15
|
+
previousHash: string;
|
|
16
|
+
/**
|
|
17
|
+
* Root hash of the merkle tree of all transactions in this block. Serialized length is 32 bytes.
|
|
18
|
+
*/
|
|
19
|
+
merkleRoot: string;
|
|
20
|
+
/**
|
|
21
|
+
* Block header time value. Serialized length is 4 bytes.
|
|
22
|
+
*/
|
|
23
|
+
time: number;
|
|
24
|
+
/**
|
|
25
|
+
* Block header bits value. Serialized length is 4 bytes.
|
|
26
|
+
*/
|
|
27
|
+
bits: number;
|
|
28
|
+
/**
|
|
29
|
+
* Block header nonce value. Serialized length is 4 bytes.
|
|
30
|
+
*/
|
|
31
|
+
nonce: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* A `BaseBlockHeader` extended with its computed hash and height in its chain.
|
|
35
|
+
*/
|
|
36
|
+
export interface BlockHeader extends BaseBlockHeader {
|
|
37
|
+
/**
|
|
38
|
+
* Height of the header, starting from zero.
|
|
39
|
+
*/
|
|
40
|
+
height: number;
|
|
41
|
+
/**
|
|
42
|
+
* The double sha256 hash of the serialized `BaseBlockHeader` fields.
|
|
43
|
+
*/
|
|
44
|
+
hash: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* The "live" portion of the block chain is recent history that can conceivably be subject to reorganizations.
|
|
48
|
+
* The additional fields support tracking orphan blocks, chain forks, and chain reorgs.
|
|
49
|
+
*/
|
|
50
|
+
export interface LiveBlockHeader extends BlockHeader {
|
|
51
|
+
/**
|
|
52
|
+
* The cummulative chainwork achieved by the addition of this block to the chain.
|
|
53
|
+
* Chainwork only matters in selecting the active chain.
|
|
54
|
+
*/
|
|
55
|
+
chainWork: string;
|
|
56
|
+
/**
|
|
57
|
+
* True only if this header is currently a chain tip. e.g. There is no header that follows it by previousHash or previousHeaderId.
|
|
58
|
+
*/
|
|
59
|
+
isChainTip: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* True only if this header is currently on the active chain.
|
|
62
|
+
*/
|
|
63
|
+
isActive: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* As there may be more than one header with identical height values due to orphan tracking,
|
|
66
|
+
* headers are assigned a unique headerId while part of the "live" portion of the block chain.
|
|
67
|
+
*/
|
|
68
|
+
headerId: number;
|
|
69
|
+
/**
|
|
70
|
+
* Every header in the "live" portion of the block chain is linked to an ancestor header through
|
|
71
|
+
* both its previousHash and previousHeaderId properties.
|
|
72
|
+
*
|
|
73
|
+
* Due to forks, there may be multiple headers with identical `previousHash` and `previousHeaderId` values.
|
|
74
|
+
* Of these, only one (the header on the active chain) will have `isActive` === true.
|
|
75
|
+
*/
|
|
76
|
+
previousHeaderId: number | null;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Type guard function.
|
|
80
|
+
* @publicbody
|
|
81
|
+
*/
|
|
82
|
+
export declare function isLive(header: BlockHeader | LiveBlockHeader): header is LiveBlockHeader;
|
|
83
|
+
/**
|
|
84
|
+
* Type guard function.
|
|
85
|
+
* @publicbody
|
|
86
|
+
*/
|
|
87
|
+
export declare function isBaseBlockHeader(header: BaseBlockHeader | BlockHeader | LiveBlockHeader): header is BaseBlockHeader;
|
|
88
|
+
/**
|
|
89
|
+
* Type guard function.
|
|
90
|
+
* @publicbody
|
|
91
|
+
*/
|
|
92
|
+
export declare function isBlockHeader(header: BaseBlockHeader | BlockHeader | LiveBlockHeader): header is LiveBlockHeader;
|
|
93
|
+
/**
|
|
94
|
+
* Type guard function.
|
|
95
|
+
* @publicbody
|
|
96
|
+
*/
|
|
97
|
+
export declare function isLiveBlockHeader(header: BaseBlockHeader | BlockHeader | LiveBlockHeader): header is LiveBlockHeader;
|
|
98
|
+
//# sourceMappingURL=BlockHeaderApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlockHeaderApi.d.ts","sourceRoot":"","sources":["../../../../../src/services/chaintracker/chaintracks/BlockHeaderApi.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,UAAU,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAA;IACjB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;;;OAMG;IACH,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC;AAMD;;;GAGG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,eAAe,GAAG,MAAM,IAAI,eAAe,CAEvF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,GAAG,eAAe,GAAG,MAAM,IAAI,eAAe,CAEpH;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,GAAG,eAAe,GAAG,MAAM,IAAI,eAAe,CAEhH;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,GAAG,eAAe,GAAG,MAAM,IAAI,eAAe,CAEpH"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isLive = isLive;
|
|
4
|
+
exports.isBaseBlockHeader = isBaseBlockHeader;
|
|
5
|
+
exports.isBlockHeader = isBlockHeader;
|
|
6
|
+
exports.isLiveBlockHeader = isLiveBlockHeader;
|
|
7
|
+
//
|
|
8
|
+
// TYPE GUARDS
|
|
9
|
+
//
|
|
10
|
+
/**
|
|
11
|
+
* Type guard function.
|
|
12
|
+
* @publicbody
|
|
13
|
+
*/
|
|
14
|
+
function isLive(header) {
|
|
15
|
+
return header.headerId !== undefined;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Type guard function.
|
|
19
|
+
* @publicbody
|
|
20
|
+
*/
|
|
21
|
+
function isBaseBlockHeader(header) {
|
|
22
|
+
return typeof header.previousHash === 'string';
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Type guard function.
|
|
26
|
+
* @publicbody
|
|
27
|
+
*/
|
|
28
|
+
function isBlockHeader(header) {
|
|
29
|
+
return 'height' in header && typeof header.previousHash === 'string';
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Type guard function.
|
|
33
|
+
* @publicbody
|
|
34
|
+
*/
|
|
35
|
+
function isLiveBlockHeader(header) {
|
|
36
|
+
return 'chainwork' in header && typeof header.previousHash === 'string';
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=BlockHeaderApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlockHeaderApi.js","sourceRoot":"","sources":["../../../../../src/services/chaintracker/chaintracks/BlockHeaderApi.ts"],"names":[],"mappings":";;AAwFA,wBAEC;AAMD,8CAEC;AAMD,sCAEC;AAMD,8CAEC;AAlCD,EAAE;AACF,cAAc;AACd,EAAE;AAEF;;;GAGG;AACH,SAAgB,MAAM,CAAC,MAAqC;IAC1D,OAAQ,MAA0B,CAAC,QAAQ,KAAK,SAAS,CAAA;AAC3D,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,MAAuD;IACvF,OAAO,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAA;AAChD,CAAC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAAC,MAAuD;IACnF,OAAO,QAAQ,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAA;AACtE,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,MAAuD;IACvF,OAAO,WAAW,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAA;AACzE,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ListActionsResult } from '@bsv/sdk';
|
|
2
|
+
import { sdk } from '../../index.client';
|
|
3
|
+
import { StorageKnex } from '../StorageKnex';
|
|
4
|
+
export declare function listActions(storage: StorageKnex, auth: sdk.AuthId, vargs: sdk.ValidListActionsArgs): Promise<ListActionsResult>;
|
|
5
|
+
//# sourceMappingURL=listActions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listActions.d.ts","sourceRoot":"","sources":["../../../../src/storage/methods/listActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,iBAAiB,EAIlB,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAY,GAAG,EAAa,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAkE5C,wBAAsB,WAAW,CAC/B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,GAAG,CAAC,MAAM,EAChB,KAAK,EAAE,GAAG,CAAC,oBAAoB,GAC9B,OAAO,CAAC,iBAAiB,CAAC,CA0M5B"}
|