@bsv/wallet-toolbox 1.1.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/.env.template +22 -0
- package/.github/ISSUE_TEMPLATE/bug_report.md +40 -0
- package/.github/ISSUE_TEMPLATE/discussion.md +24 -0
- package/.github/pull_request_template.md +24 -0
- package/.github/workflows/push.yaml +66 -0
- package/.prettierrc +10 -0
- package/CONTRIBUTING.md +89 -0
- package/LICENSE.txt +28 -0
- package/README.md +124 -0
- package/dev.sqlite3 +0 -0
- package/docs/README.md +15 -0
- package/docs/client.md +6812 -0
- package/docs/monitor.md +648 -0
- package/docs/services.md +496 -0
- package/docs/storage.md +1884 -0
- package/docs/wallet.md +6812 -0
- package/jest.config.ts +29 -0
- package/knexfile.js +9 -0
- package/license.md +1 -0
- package/out/src/Wallet.d.ts +83 -0
- package/out/src/Wallet.d.ts.map +1 -0
- package/out/src/Wallet.js +415 -0
- package/out/src/Wallet.js.map +1 -0
- package/out/src/index.all.d.ts +9 -0
- package/out/src/index.all.d.ts.map +1 -0
- package/out/src/index.all.js +48 -0
- package/out/src/index.all.js.map +1 -0
- package/out/src/index.client.d.ts +8 -0
- package/out/src/index.client.d.ts.map +1 -0
- package/out/src/index.client.js +47 -0
- package/out/src/index.client.js.map +1 -0
- package/out/src/index.d.ts +3 -0
- package/out/src/index.d.ts.map +1 -0
- package/out/src/index.js +42 -0
- package/out/src/index.js.map +1 -0
- package/out/src/monitor/Monitor.d.ts +89 -0
- package/out/src/monitor/Monitor.d.ts.map +1 -0
- package/out/src/monitor/Monitor.js +253 -0
- package/out/src/monitor/Monitor.js.map +1 -0
- package/out/src/monitor/MonitorDaemon.d.ts +30 -0
- package/out/src/monitor/MonitorDaemon.d.ts.map +1 -0
- package/out/src/monitor/MonitorDaemon.js +135 -0
- package/out/src/monitor/MonitorDaemon.js.map +1 -0
- package/out/src/monitor/__test/MonitorDaemon.man.test.d.ts +2 -0
- package/out/src/monitor/__test/MonitorDaemon.man.test.d.ts.map +1 -0
- package/out/src/monitor/__test/MonitorDaemon.man.test.js +50 -0
- package/out/src/monitor/__test/MonitorDaemon.man.test.js.map +1 -0
- package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +53 -0
- package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -0
- package/out/src/monitor/tasks/TaskCheckForProofs.js +197 -0
- package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -0
- package/out/src/monitor/tasks/TaskClock.d.ts +14 -0
- package/out/src/monitor/tasks/TaskClock.d.ts.map +1 -0
- package/out/src/monitor/tasks/TaskClock.js +27 -0
- package/out/src/monitor/tasks/TaskClock.js.map +1 -0
- package/out/src/monitor/tasks/TaskFailAbandoned.d.ts +20 -0
- package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -0
- package/out/src/monitor/tasks/TaskFailAbandoned.js +52 -0
- package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -0
- package/out/src/monitor/tasks/TaskNewHeader.d.ts +15 -0
- package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -0
- package/out/src/monitor/tasks/TaskNewHeader.js +45 -0
- package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -0
- package/out/src/monitor/tasks/TaskPurge.d.ts +45 -0
- package/out/src/monitor/tasks/TaskPurge.d.ts.map +1 -0
- package/out/src/monitor/tasks/TaskPurge.js +35 -0
- package/out/src/monitor/tasks/TaskPurge.js.map +1 -0
- package/out/src/monitor/tasks/TaskReviewStatus.d.ts +26 -0
- package/out/src/monitor/tasks/TaskReviewStatus.d.ts.map +1 -0
- package/out/src/monitor/tasks/TaskReviewStatus.js +44 -0
- package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -0
- package/out/src/monitor/tasks/TaskSendWaiting.d.ts +32 -0
- package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -0
- package/out/src/monitor/tasks/TaskSendWaiting.js +99 -0
- package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -0
- package/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts +12 -0
- package/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts.map +1 -0
- package/out/src/monitor/tasks/TaskSyncWhenIdle.js +22 -0
- package/out/src/monitor/tasks/TaskSyncWhenIdle.js.map +1 -0
- package/out/src/monitor/tasks/WalletMonitorTask.d.ts +40 -0
- package/out/src/monitor/tasks/WalletMonitorTask.d.ts.map +1 -0
- package/out/src/monitor/tasks/WalletMonitorTask.js +37 -0
- package/out/src/monitor/tasks/WalletMonitorTask.js.map +1 -0
- 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/PrivilegedKeyManager.d.ts +125 -0
- package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -0
- package/out/src/sdk/PrivilegedKeyManager.js +293 -0
- package/out/src/sdk/PrivilegedKeyManager.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/sdk/WERR_errors.d.ts +90 -0
- package/out/src/sdk/WERR_errors.d.ts.map +1 -0
- package/out/src/sdk/WERR_errors.js +128 -0
- package/out/src/sdk/WERR_errors.js.map +1 -0
- package/out/src/sdk/WalletError.d.ts +45 -0
- package/out/src/sdk/WalletError.d.ts.map +1 -0
- package/out/src/sdk/WalletError.js +122 -0
- package/out/src/sdk/WalletError.js.map +1 -0
- package/out/src/sdk/WalletServices.interfaces.d.ts +325 -0
- package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -0
- package/out/src/sdk/WalletServices.interfaces.js +3 -0
- package/out/src/sdk/WalletServices.interfaces.js.map +1 -0
- package/out/src/sdk/WalletSigner.interfaces.d.ts +10 -0
- package/out/src/sdk/WalletSigner.interfaces.d.ts.map +1 -0
- package/out/src/sdk/WalletSigner.interfaces.js +3 -0
- package/out/src/sdk/WalletSigner.interfaces.js.map +1 -0
- package/out/src/sdk/WalletStorage.interfaces.d.ts +299 -0
- package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -0
- package/out/src/sdk/WalletStorage.interfaces.js +3 -0
- package/out/src/sdk/WalletStorage.interfaces.js.map +1 -0
- package/out/src/sdk/__test/CertificateLifeCycle.test.d.ts +2 -0
- package/out/src/sdk/__test/CertificateLifeCycle.test.d.ts.map +1 -0
- package/out/src/sdk/__test/CertificateLifeCycle.test.js +125 -0
- package/out/src/sdk/__test/CertificateLifeCycle.test.js.map +1 -0
- package/out/src/sdk/__test/PrivilegedKeyManager.test.d.ts +2 -0
- package/out/src/sdk/__test/PrivilegedKeyManager.test.d.ts.map +1 -0
- package/out/src/sdk/__test/PrivilegedKeyManager.test.js +660 -0
- package/out/src/sdk/__test/PrivilegedKeyManager.test.js.map +1 -0
- package/out/src/sdk/index.d.ts +12 -0
- package/out/src/sdk/index.d.ts.map +1 -0
- package/out/src/sdk/index.js +28 -0
- package/out/src/sdk/index.js.map +1 -0
- package/out/src/sdk/types.d.ts +74 -0
- package/out/src/sdk/types.d.ts.map +1 -0
- package/out/src/sdk/types.js +20 -0
- package/out/src/sdk/types.js.map +1 -0
- package/out/src/sdk/validationHelpers.d.ts +288 -0
- package/out/src/sdk/validationHelpers.d.ts.map +1 -0
- package/out/src/sdk/validationHelpers.js +630 -0
- package/out/src/sdk/validationHelpers.js.map +1 -0
- package/out/src/services/ServiceCollection.d.ts +25 -0
- package/out/src/services/ServiceCollection.d.ts.map +1 -0
- package/out/src/services/ServiceCollection.js +43 -0
- package/out/src/services/ServiceCollection.js.map +1 -0
- package/out/src/services/Services.d.ts +60 -0
- package/out/src/services/Services.d.ts.map +1 -0
- package/out/src/services/Services.js +342 -0
- package/out/src/services/Services.js.map +1 -0
- package/out/src/services/__tests/getMerklePath.test.d.ts +2 -0
- package/out/src/services/__tests/getMerklePath.test.d.ts.map +1 -0
- package/out/src/services/__tests/getMerklePath.test.js +16 -0
- package/out/src/services/__tests/getMerklePath.test.js.map +1 -0
- package/out/src/services/__tests/getRawTx.test.d.ts +2 -0
- package/out/src/services/__tests/getRawTx.test.d.ts.map +1 -0
- package/out/src/services/__tests/getRawTx.test.js +13 -0
- package/out/src/services/__tests/getRawTx.test.js.map +1 -0
- package/out/src/services/__tests/postBeef.test.d.ts +2 -0
- package/out/src/services/__tests/postBeef.test.d.ts.map +1 -0
- package/out/src/services/__tests/postBeef.test.js +18 -0
- package/out/src/services/__tests/postBeef.test.js.map +1 -0
- package/out/src/services/__tests/postBeefToArcTaal.test.d.ts +2 -0
- package/out/src/services/__tests/postBeefToArcTaal.test.d.ts.map +1 -0
- package/out/src/services/__tests/postBeefToArcTaal.test.js +479 -0
- package/out/src/services/__tests/postBeefToArcTaal.test.js.map +1 -0
- package/out/src/services/__tests/postTxs.test.d.ts +2 -0
- package/out/src/services/__tests/postTxs.test.d.ts.map +1 -0
- package/out/src/services/__tests/postTxs.test.js +19 -0
- package/out/src/services/__tests/postTxs.test.js.map +1 -0
- package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +15 -0
- package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -0
- package/out/src/services/chaintracker/ChaintracksChainTracker.js +51 -0
- package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -0
- package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.d.ts +2 -0
- package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.d.ts.map +1 -0
- package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.js +19 -0
- package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.js.map +1 -0
- package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.d.ts +2 -0
- package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.d.ts.map +1 -0
- package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.js +29 -0
- package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.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/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +36 -0
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +130 -0
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/index.d.ts +3 -0
- package/out/src/services/chaintracker/chaintracks/index.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/index.js +19 -0
- package/out/src/services/chaintracker/chaintracks/index.js.map +1 -0
- package/out/src/services/chaintracker/index.d.ts +3 -0
- package/out/src/services/chaintracker/index.d.ts.map +1 -0
- package/out/src/services/chaintracker/index.js +19 -0
- package/out/src/services/chaintracker/index.js.map +1 -0
- package/out/src/services/createDefaultWalletServicesOptions.d.ts +3 -0
- package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -0
- package/out/src/services/createDefaultWalletServicesOptions.js +34 -0
- package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -0
- package/out/src/services/index.d.ts +2 -0
- package/out/src/services/index.d.ts.map +1 -0
- package/out/src/services/index.js +18 -0
- package/out/src/services/index.js.map +1 -0
- package/out/src/services/providers/arcServices.d.ts +62 -0
- package/out/src/services/providers/arcServices.d.ts.map +1 -0
- package/out/src/services/providers/arcServices.js +368 -0
- package/out/src/services/providers/arcServices.js.map +1 -0
- package/out/src/services/providers/echangeRates.d.ts +12 -0
- package/out/src/services/providers/echangeRates.d.ts.map +1 -0
- package/out/src/services/providers/echangeRates.js +237 -0
- package/out/src/services/providers/echangeRates.js.map +1 -0
- package/out/src/services/providers/whatsonchain.d.ts +17 -0
- package/out/src/services/providers/whatsonchain.d.ts.map +1 -0
- package/out/src/services/providers/whatsonchain.js +130 -0
- package/out/src/services/providers/whatsonchain.js.map +1 -0
- package/out/src/signer/WalletSigner.d.ts +11 -0
- package/out/src/signer/WalletSigner.d.ts.map +1 -0
- package/out/src/signer/WalletSigner.js +13 -0
- package/out/src/signer/WalletSigner.js.map +1 -0
- package/out/src/signer/methods/acquireDirectCertificate.d.ts +4 -0
- package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -0
- package/out/src/signer/methods/acquireDirectCertificate.js +47 -0
- package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -0
- package/out/src/signer/methods/createAction.d.ts +7 -0
- package/out/src/signer/methods/createAction.d.ts.map +1 -0
- package/out/src/signer/methods/createAction.js +250 -0
- package/out/src/signer/methods/createAction.js.map +1 -0
- package/out/src/signer/methods/internalizeAction.d.ts +31 -0
- package/out/src/signer/methods/internalizeAction.d.ts.map +1 -0
- package/out/src/signer/methods/internalizeAction.js +95 -0
- package/out/src/signer/methods/internalizeAction.js.map +1 -0
- package/out/src/signer/methods/proveCertificate.d.ts +4 -0
- package/out/src/signer/methods/proveCertificate.d.ts.map +1 -0
- package/out/src/signer/methods/proveCertificate.js +45 -0
- package/out/src/signer/methods/proveCertificate.js.map +1 -0
- package/out/src/signer/methods/signAction.d.ts +6 -0
- package/out/src/signer/methods/signAction.d.ts.map +1 -0
- package/out/src/signer/methods/signAction.js +79 -0
- package/out/src/signer/methods/signAction.js.map +1 -0
- package/out/src/storage/StorageKnex.d.ts +176 -0
- package/out/src/storage/StorageKnex.d.ts.map +1 -0
- package/out/src/storage/StorageKnex.js +1035 -0
- package/out/src/storage/StorageKnex.js.map +1 -0
- package/out/src/storage/StorageProvider.d.ts +140 -0
- package/out/src/storage/StorageProvider.d.ts.map +1 -0
- package/out/src/storage/StorageProvider.js +539 -0
- package/out/src/storage/StorageProvider.js.map +1 -0
- package/out/src/storage/StorageReader.d.ts +76 -0
- package/out/src/storage/StorageReader.d.ts.map +1 -0
- package/out/src/storage/StorageReader.js +124 -0
- package/out/src/storage/StorageReader.js.map +1 -0
- package/out/src/storage/StorageReaderWriter.d.ts +87 -0
- package/out/src/storage/StorageReaderWriter.d.ts.map +1 -0
- package/out/src/storage/StorageReaderWriter.js +337 -0
- package/out/src/storage/StorageReaderWriter.js.map +1 -0
- package/out/src/storage/StorageSyncReader.d.ts +33 -0
- package/out/src/storage/StorageSyncReader.d.ts.map +1 -0
- package/out/src/storage/StorageSyncReader.js +142 -0
- package/out/src/storage/StorageSyncReader.js.map +1 -0
- package/out/src/storage/WalletStorageManager.d.ts +103 -0
- package/out/src/storage/WalletStorageManager.d.ts.map +1 -0
- package/out/src/storage/WalletStorageManager.js +408 -0
- package/out/src/storage/WalletStorageManager.js.map +1 -0
- package/out/src/storage/__test/WalletStorageManager.test.d.ts +2 -0
- package/out/src/storage/__test/WalletStorageManager.test.d.ts.map +1 -0
- package/out/src/storage/__test/WalletStorageManager.test.js +260 -0
- package/out/src/storage/__test/WalletStorageManager.test.js.map +1 -0
- package/out/src/storage/index.all.d.ts +11 -0
- package/out/src/storage/index.all.d.ts.map +1 -0
- package/out/src/storage/index.all.js +50 -0
- package/out/src/storage/index.all.js.map +1 -0
- package/out/src/storage/index.client.d.ts +7 -0
- package/out/src/storage/index.client.d.ts.map +1 -0
- package/out/src/storage/index.client.js +46 -0
- package/out/src/storage/index.client.js.map +1 -0
- package/out/src/storage/index.db.d.ts +1 -0
- package/out/src/storage/index.db.d.ts.map +1 -0
- package/out/src/storage/index.db.js +2 -0
- package/out/src/storage/index.db.js.map +1 -0
- package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.d.ts +2 -0
- package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.d.ts.map +1 -0
- package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.js +948 -0
- package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.js.map +1 -0
- package/out/src/storage/methods/__test/GenerateChange/randomValsUsed1.d.ts +2 -0
- package/out/src/storage/methods/__test/GenerateChange/randomValsUsed1.d.ts.map +1 -0
- package/out/src/storage/methods/__test/GenerateChange/randomValsUsed1.js +35 -0
- package/out/src/storage/methods/__test/GenerateChange/randomValsUsed1.js.map +1 -0
- package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +27 -0
- package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -0
- package/out/src/storage/methods/attemptToPostReqsToNetwork.js +148 -0
- package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -0
- package/out/src/storage/methods/createAction.d.ts +23 -0
- package/out/src/storage/methods/createAction.d.ts.map +1 -0
- package/out/src/storage/methods/createAction.js +663 -0
- package/out/src/storage/methods/createAction.js.map +1 -0
- package/out/src/storage/methods/generateChange.d.ts +108 -0
- package/out/src/storage/methods/generateChange.d.ts.map +1 -0
- package/out/src/storage/methods/generateChange.js +422 -0
- package/out/src/storage/methods/generateChange.js.map +1 -0
- package/out/src/storage/methods/getBeefForTransaction.d.ts +22 -0
- package/out/src/storage/methods/getBeefForTransaction.d.ts.map +1 -0
- package/out/src/storage/methods/getBeefForTransaction.js +94 -0
- package/out/src/storage/methods/getBeefForTransaction.js.map +1 -0
- package/out/src/storage/methods/getSyncChunk.d.ts +10 -0
- package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -0
- package/out/src/storage/methods/getSyncChunk.js +271 -0
- package/out/src/storage/methods/getSyncChunk.js.map +1 -0
- package/out/src/storage/methods/internalizeAction.d.ts +38 -0
- package/out/src/storage/methods/internalizeAction.d.ts.map +1 -0
- package/out/src/storage/methods/internalizeAction.js +378 -0
- package/out/src/storage/methods/internalizeAction.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 +174 -0
- package/out/src/storage/methods/listActions.js.map +1 -0
- package/out/src/storage/methods/listCertificates.d.ts +5 -0
- package/out/src/storage/methods/listCertificates.d.ts.map +1 -0
- package/out/src/storage/methods/listCertificates.js +68 -0
- package/out/src/storage/methods/listCertificates.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 +189 -0
- package/out/src/storage/methods/listOutputs.js.map +1 -0
- package/out/src/storage/methods/processAction.d.ts +35 -0
- package/out/src/storage/methods/processAction.d.ts.map +1 -0
- package/out/src/storage/methods/processAction.js +271 -0
- package/out/src/storage/methods/processAction.js.map +1 -0
- package/out/src/storage/methods/purgeData.d.ts +4 -0
- package/out/src/storage/methods/purgeData.d.ts.map +1 -0
- package/out/src/storage/methods/purgeData.js +229 -0
- package/out/src/storage/methods/purgeData.js.map +1 -0
- package/out/src/storage/methods/reviewStatus.d.ts +9 -0
- package/out/src/storage/methods/reviewStatus.d.ts.map +1 -0
- package/out/src/storage/methods/reviewStatus.js +75 -0
- package/out/src/storage/methods/reviewStatus.js.map +1 -0
- package/out/src/storage/remoting/StorageClient.d.ts +56 -0
- package/out/src/storage/remoting/StorageClient.d.ts.map +1 -0
- package/out/src/storage/remoting/StorageClient.js +181 -0
- package/out/src/storage/remoting/StorageClient.js.map +1 -0
- package/out/src/storage/remoting/StorageServer.d.ts +26 -0
- package/out/src/storage/remoting/StorageServer.d.ts.map +1 -0
- package/out/src/storage/remoting/StorageServer.js +144 -0
- package/out/src/storage/remoting/StorageServer.js.map +1 -0
- package/out/src/storage/schema/KnexMigrations.d.ts +39 -0
- package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -0
- package/out/src/storage/schema/KnexMigrations.js +442 -0
- package/out/src/storage/schema/KnexMigrations.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/EntityBase.d.ts +105 -0
- package/out/src/storage/schema/entities/EntityBase.d.ts.map +1 -0
- package/out/src/storage/schema/entities/EntityBase.js +100 -0
- package/out/src/storage/schema/entities/EntityBase.js.map +1 -0
- package/out/src/storage/schema/entities/MergeEntity.d.ts +34 -0
- package/out/src/storage/schema/entities/MergeEntity.d.ts.map +1 -0
- package/out/src/storage/schema/entities/MergeEntity.js +57 -0
- package/out/src/storage/schema/entities/MergeEntity.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 +283 -0
- package/out/src/storage/schema/entities/ProvenTx.js.map +1 -0
- package/out/src/storage/schema/entities/ProvenTxReq.d.ts +130 -0
- package/out/src/storage/schema/entities/ProvenTxReq.d.ts.map +1 -0
- package/out/src/storage/schema/entities/ProvenTxReq.js +521 -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/entities/__tests/CertificateFieldTests.test.d.ts +2 -0
- package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.d.ts.map +1 -0
- package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.js +588 -0
- package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.js.map +1 -0
- package/out/src/storage/schema/entities/__tests/CertificateTests.test.d.ts +2 -0
- package/out/src/storage/schema/entities/__tests/CertificateTests.test.d.ts.map +1 -0
- package/out/src/storage/schema/entities/__tests/CertificateTests.test.js +449 -0
- package/out/src/storage/schema/entities/__tests/CertificateTests.test.js.map +1 -0
- package/out/src/storage/schema/entities/__tests/CommissionTests.test.d.ts +2 -0
- package/out/src/storage/schema/entities/__tests/CommissionTests.test.d.ts.map +1 -0
- package/out/src/storage/schema/entities/__tests/CommissionTests.test.js +602 -0
- package/out/src/storage/schema/entities/__tests/CommissionTests.test.js.map +1 -0
- package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.d.ts +2 -0
- package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.d.ts.map +1 -0
- package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.js +515 -0
- package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.js.map +1 -0
- package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.d.ts +2 -0
- package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.d.ts.map +1 -0
- package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.js +478 -0
- package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.js.map +1 -0
- package/out/src/storage/schema/entities/__tests/OutputTagTests.test.d.ts +2 -0
- package/out/src/storage/schema/entities/__tests/OutputTagTests.test.d.ts.map +1 -0
- package/out/src/storage/schema/entities/__tests/OutputTagTests.test.js +440 -0
- package/out/src/storage/schema/entities/__tests/OutputTagTests.test.js.map +1 -0
- package/out/src/storage/schema/entities/__tests/OutputTests.test.d.ts +2 -0
- package/out/src/storage/schema/entities/__tests/OutputTests.test.d.ts.map +1 -0
- package/out/src/storage/schema/entities/__tests/OutputTests.test.js +626 -0
- package/out/src/storage/schema/entities/__tests/OutputTests.test.js.map +1 -0
- package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.d.ts +2 -0
- package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.d.ts.map +1 -0
- package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.js +585 -0
- package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.js.map +1 -0
- package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.d.ts +2 -0
- package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.d.ts.map +1 -0
- package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js +628 -0
- package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js.map +1 -0
- package/out/src/storage/schema/entities/__tests/SyncStateTests.test.d.ts +2 -0
- package/out/src/storage/schema/entities/__tests/SyncStateTests.test.d.ts.map +1 -0
- package/out/src/storage/schema/entities/__tests/SyncStateTests.test.js +307 -0
- package/out/src/storage/schema/entities/__tests/SyncStateTests.test.js.map +1 -0
- package/out/src/storage/schema/entities/__tests/TransactionTests.test.d.ts +2 -0
- package/out/src/storage/schema/entities/__tests/TransactionTests.test.d.ts.map +1 -0
- package/out/src/storage/schema/entities/__tests/TransactionTests.test.js +823 -0
- package/out/src/storage/schema/entities/__tests/TransactionTests.test.js.map +1 -0
- package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.d.ts +2 -0
- package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.d.ts.map +1 -0
- package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.js +442 -0
- package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.js.map +1 -0
- package/out/src/storage/schema/entities/__tests/TxLabelTests.test.d.ts +2 -0
- package/out/src/storage/schema/entities/__tests/TxLabelTests.test.d.ts.map +1 -0
- package/out/src/storage/schema/entities/__tests/TxLabelTests.test.js +313 -0
- package/out/src/storage/schema/entities/__tests/TxLabelTests.test.js.map +1 -0
- package/out/src/storage/schema/entities/__tests/stampLogTests.test.d.ts +2 -0
- package/out/src/storage/schema/entities/__tests/stampLogTests.test.d.ts.map +1 -0
- package/out/src/storage/schema/entities/__tests/stampLogTests.test.js +81 -0
- package/out/src/storage/schema/entities/__tests/stampLogTests.test.js.map +1 -0
- package/out/src/storage/schema/entities/__tests/usersTests.test.d.ts +2 -0
- package/out/src/storage/schema/entities/__tests/usersTests.test.d.ts.map +1 -0
- package/out/src/storage/schema/entities/__tests/usersTests.test.js +418 -0
- package/out/src/storage/schema/entities/__tests/usersTests.test.js.map +1 -0
- package/out/src/storage/schema/entities/index.d.ts +17 -0
- package/out/src/storage/schema/entities/index.d.ts.map +1 -0
- package/out/src/storage/schema/entities/index.js +33 -0
- package/out/src/storage/schema/entities/index.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/Settings.d.ts +17 -0
- package/out/src/storage/schema/tables/Settings.d.ts.map +1 -0
- package/out/src/storage/schema/tables/Settings.js +3 -0
- package/out/src/storage/schema/tables/Settings.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/src/storage/schema/tables/index.d.ts +17 -0
- package/out/src/storage/schema/tables/index.d.ts.map +1 -0
- package/out/src/storage/schema/tables/index.js +33 -0
- package/out/src/storage/schema/tables/index.js.map +1 -0
- package/out/src/storage/sync/StorageMySQLDojoReader.d.ts +71 -0
- package/out/src/storage/sync/StorageMySQLDojoReader.d.ts.map +1 -0
- package/out/src/storage/sync/StorageMySQLDojoReader.js +612 -0
- package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -0
- package/out/src/storage/sync/index.d.ts +2 -0
- package/out/src/storage/sync/index.d.ts.map +1 -0
- package/out/src/storage/sync/index.js +18 -0
- package/out/src/storage/sync/index.js.map +1 -0
- package/out/src/utility/ScriptTemplateSABPPP.d.ts +25 -0
- package/out/src/utility/ScriptTemplateSABPPP.d.ts.map +1 -0
- package/out/src/utility/ScriptTemplateSABPPP.js +46 -0
- package/out/src/utility/ScriptTemplateSABPPP.js.map +1 -0
- package/out/src/utility/index.all.d.ts +7 -0
- package/out/src/utility/index.all.d.ts.map +1 -0
- package/out/src/utility/index.all.js +23 -0
- package/out/src/utility/index.all.js.map +1 -0
- package/out/src/utility/index.client.d.ts +7 -0
- package/out/src/utility/index.client.d.ts.map +1 -0
- package/out/src/utility/index.client.js +23 -0
- package/out/src/utility/index.client.js.map +1 -0
- package/out/src/utility/parseTxScriptOffsets.d.ts +14 -0
- package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -0
- package/out/src/utility/parseTxScriptOffsets.js +26 -0
- package/out/src/utility/parseTxScriptOffsets.js.map +1 -0
- package/out/src/utility/stampLog.d.ts +18 -0
- package/out/src/utility/stampLog.d.ts.map +1 -0
- package/out/src/utility/stampLog.js +72 -0
- package/out/src/utility/stampLog.js.map +1 -0
- package/out/src/utility/tscProofToMerklePath.d.ts +8 -0
- package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -0
- package/out/src/utility/tscProofToMerklePath.js +41 -0
- package/out/src/utility/tscProofToMerklePath.js.map +1 -0
- package/out/src/utility/utilityHelpers.buffer.d.ts +18 -0
- package/out/src/utility/utilityHelpers.buffer.d.ts.map +1 -0
- package/out/src/utility/utilityHelpers.buffer.js +45 -0
- package/out/src/utility/utilityHelpers.buffer.js.map +1 -0
- package/out/src/utility/utilityHelpers.d.ts +129 -0
- package/out/src/utility/utilityHelpers.d.ts.map +1 -0
- package/out/src/utility/utilityHelpers.js +268 -0
- package/out/src/utility/utilityHelpers.js.map +1 -0
- package/out/src/utility/utilityHelpers.noBuffer.d.ts +9 -0
- package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -0
- package/out/src/utility/utilityHelpers.noBuffer.js +23 -0
- package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -0
- package/out/test/Wallet/StorageClient/storageClient.man.test.d.ts +2 -0
- package/out/test/Wallet/StorageClient/storageClient.man.test.d.ts.map +1 -0
- package/out/test/Wallet/StorageClient/storageClient.man.test.js +45 -0
- package/out/test/Wallet/StorageClient/storageClient.man.test.js.map +1 -0
- package/out/test/Wallet/action/internalizeAction.a.test.d.ts +2 -0
- package/out/test/Wallet/action/internalizeAction.a.test.d.ts.map +1 -0
- package/out/test/Wallet/action/internalizeAction.a.test.js +243 -0
- package/out/test/Wallet/action/internalizeAction.a.test.js.map +1 -0
- package/out/test/Wallet/certificate/acquireCertificate.test.d.ts +2 -0
- package/out/test/Wallet/certificate/acquireCertificate.test.d.ts.map +1 -0
- package/out/test/Wallet/certificate/acquireCertificate.test.js +213 -0
- package/out/test/Wallet/certificate/acquireCertificate.test.js.map +1 -0
- package/out/test/Wallet/certificate/listCertificates.test.d.ts +2 -0
- package/out/test/Wallet/certificate/listCertificates.test.d.ts.map +1 -0
- package/out/test/Wallet/certificate/listCertificates.test.js +305 -0
- package/out/test/Wallet/certificate/listCertificates.test.js.map +1 -0
- package/out/test/Wallet/get/getHeaderForHeight.test.d.ts +2 -0
- package/out/test/Wallet/get/getHeaderForHeight.test.d.ts.map +1 -0
- package/out/test/Wallet/get/getHeaderForHeight.test.js +68 -0
- package/out/test/Wallet/get/getHeaderForHeight.test.js.map +1 -0
- package/out/test/Wallet/get/getHeight.test.d.ts +2 -0
- package/out/test/Wallet/get/getHeight.test.d.ts.map +1 -0
- package/out/test/Wallet/get/getHeight.test.js +45 -0
- package/out/test/Wallet/get/getHeight.test.js.map +1 -0
- package/out/test/Wallet/get/getKnownTxids.test.d.ts +2 -0
- package/out/test/Wallet/get/getKnownTxids.test.d.ts.map +1 -0
- package/out/test/Wallet/get/getKnownTxids.test.js +73 -0
- package/out/test/Wallet/get/getKnownTxids.test.js.map +1 -0
- package/out/test/Wallet/get/getNetwork.test.d.ts +2 -0
- package/out/test/Wallet/get/getNetwork.test.d.ts.map +1 -0
- package/out/test/Wallet/get/getNetwork.test.js +26 -0
- package/out/test/Wallet/get/getNetwork.test.js.map +1 -0
- package/out/test/Wallet/get/getVersion.test.d.ts +2 -0
- package/out/test/Wallet/get/getVersion.test.d.ts.map +1 -0
- package/out/test/Wallet/get/getVersion.test.js +25 -0
- package/out/test/Wallet/get/getVersion.test.js.map +1 -0
- package/out/test/Wallet/live/walletLive.man.test.d.ts +26 -0
- package/out/test/Wallet/live/walletLive.man.test.d.ts.map +1 -0
- package/out/test/Wallet/live/walletLive.man.test.js +389 -0
- package/out/test/Wallet/live/walletLive.man.test.js.map +1 -0
- package/out/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.d.ts +2 -0
- package/out/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.d.ts.map +1 -0
- package/out/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.js +153 -0
- package/out/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.js.map +1 -0
- package/out/test/checkDB.d.ts +4 -0
- package/out/test/checkDB.d.ts.map +1 -0
- package/out/test/checkDB.js +55 -0
- package/out/test/checkDB.js.map +1 -0
- package/out/test/examples/README.man.test.d.ts +2 -0
- package/out/test/examples/README.man.test.d.ts.map +1 -0
- package/out/test/examples/README.man.test.js +46 -0
- package/out/test/examples/README.man.test.js.map +1 -0
- package/out/test/monitor/Monitor.test.d.ts +2 -0
- package/out/test/monitor/Monitor.test.d.ts.map +1 -0
- package/out/test/monitor/Monitor.test.js +446 -0
- package/out/test/monitor/Monitor.test.js.map +1 -0
- package/out/test/services/Services.test.d.ts +2 -0
- package/out/test/services/Services.test.d.ts.map +1 -0
- package/out/test/services/Services.test.js +128 -0
- package/out/test/services/Services.test.js.map +1 -0
- package/out/test/storage/KnexMigrations.test.d.ts +2 -0
- package/out/test/storage/KnexMigrations.test.d.ts.map +1 -0
- package/out/test/storage/KnexMigrations.test.js +81 -0
- package/out/test/storage/KnexMigrations.test.js.map +1 -0
- package/out/test/storage/StorageMySQLDojoReader.man.test.d.ts +2 -0
- package/out/test/storage/StorageMySQLDojoReader.man.test.d.ts.map +1 -0
- package/out/test/storage/StorageMySQLDojoReader.man.test.js +88 -0
- package/out/test/storage/StorageMySQLDojoReader.man.test.js.map +1 -0
- package/out/test/storage/count.test.d.ts +2 -0
- package/out/test/storage/count.test.d.ts.map +1 -0
- package/out/test/storage/count.test.js +141 -0
- package/out/test/storage/count.test.js.map +1 -0
- package/out/test/storage/find.test.d.ts +2 -0
- package/out/test/storage/find.test.d.ts.map +1 -0
- package/out/test/storage/find.test.js +148 -0
- package/out/test/storage/find.test.js.map +1 -0
- package/out/test/storage/findLegacy.test.d.ts +2 -0
- package/out/test/storage/findLegacy.test.d.ts.map +1 -0
- package/out/test/storage/findLegacy.test.js +52 -0
- package/out/test/storage/findLegacy.test.js.map +1 -0
- package/out/test/storage/insert.test.d.ts +2 -0
- package/out/test/storage/insert.test.d.ts.map +1 -0
- package/out/test/storage/insert.test.js +256 -0
- package/out/test/storage/insert.test.js.map +1 -0
- package/out/test/storage/update.test.d.ts +2 -0
- package/out/test/storage/update.test.d.ts.map +1 -0
- package/out/test/storage/update.test.js +926 -0
- package/out/test/storage/update.test.js.map +1 -0
- package/out/test/storage/update2.test.d.ts +2 -0
- package/out/test/storage/update2.test.d.ts.map +1 -0
- package/out/test/storage/update2.test.js +766 -0
- package/out/test/storage/update2.test.js.map +1 -0
- package/out/test/utils/TestUtilsWalletStorage.d.ts +399 -0
- package/out/test/utils/TestUtilsWalletStorage.d.ts.map +1 -0
- package/out/test/utils/TestUtilsWalletStorage.js +1337 -0
- package/out/test/utils/TestUtilsWalletStorage.js.map +1 -0
- package/out/test/wallet/action/abortAction.test.d.ts +2 -0
- package/out/test/wallet/action/abortAction.test.d.ts.map +1 -0
- package/out/test/wallet/action/abortAction.test.js +44 -0
- package/out/test/wallet/action/abortAction.test.js.map +1 -0
- package/out/test/wallet/action/createAction.test.d.ts +2 -0
- package/out/test/wallet/action/createAction.test.d.ts.map +1 -0
- package/out/test/wallet/action/createAction.test.js +230 -0
- package/out/test/wallet/action/createAction.test.js.map +1 -0
- package/out/test/wallet/action/createActionToGenerateBeefs.man.test.d.ts +2 -0
- package/out/test/wallet/action/createActionToGenerateBeefs.man.test.d.ts.map +1 -0
- package/out/test/wallet/action/createActionToGenerateBeefs.man.test.js +273 -0
- package/out/test/wallet/action/createActionToGenerateBeefs.man.test.js.map +1 -0
- package/out/test/wallet/action/internalizeAction.test.d.ts +2 -0
- package/out/test/wallet/action/internalizeAction.test.d.ts.map +1 -0
- package/out/test/wallet/action/internalizeAction.test.js +603 -0
- package/out/test/wallet/action/internalizeAction.test.js.map +1 -0
- package/out/test/wallet/action/relinquishOutput.test.d.ts +2 -0
- package/out/test/wallet/action/relinquishOutput.test.d.ts.map +1 -0
- package/out/test/wallet/action/relinquishOutput.test.js +31 -0
- package/out/test/wallet/action/relinquishOutput.test.js.map +1 -0
- package/out/test/wallet/construct/Wallet.constructor.test.d.ts +2 -0
- package/out/test/wallet/construct/Wallet.constructor.test.d.ts.map +1 -0
- package/out/test/wallet/construct/Wallet.constructor.test.js +49 -0
- package/out/test/wallet/construct/Wallet.constructor.test.js.map +1 -0
- package/out/test/wallet/list/listActions.test.d.ts +2 -0
- package/out/test/wallet/list/listActions.test.d.ts.map +1 -0
- package/out/test/wallet/list/listActions.test.js +265 -0
- package/out/test/wallet/list/listActions.test.js.map +1 -0
- package/out/test/wallet/list/listActions2.test.d.ts +2 -0
- package/out/test/wallet/list/listActions2.test.d.ts.map +1 -0
- package/out/test/wallet/list/listActions2.test.js +423 -0
- package/out/test/wallet/list/listActions2.test.js.map +1 -0
- package/out/test/wallet/list/listCertificates.test.d.ts +2 -0
- package/out/test/wallet/list/listCertificates.test.d.ts.map +1 -0
- package/out/test/wallet/list/listCertificates.test.js +115 -0
- package/out/test/wallet/list/listCertificates.test.js.map +1 -0
- package/out/test/wallet/list/listOutputs.test.d.ts +2 -0
- package/out/test/wallet/list/listOutputs.test.d.ts.map +1 -0
- package/out/test/wallet/list/listOutputs.test.js +521 -0
- package/out/test/wallet/list/listOutputs.test.js.map +1 -0
- package/out/test/wallet/sync/Wallet.sync.test.d.ts +2 -0
- package/out/test/wallet/sync/Wallet.sync.test.d.ts.map +1 -0
- package/out/test/wallet/sync/Wallet.sync.test.js +142 -0
- package/out/test/wallet/sync/Wallet.sync.test.js.map +1 -0
- package/out/tsconfig.all.tsbuildinfo +1 -0
- package/package.json +63 -0
- package/src/Wallet.ts +771 -0
- package/src/index.all.ts +8 -0
- package/src/index.client.ts +7 -0
- package/src/index.ts +2 -0
- package/src/monitor/Monitor.ts +317 -0
- package/src/monitor/MonitorDaemon.ts +197 -0
- package/src/monitor/README.md +3 -0
- package/src/monitor/__test/MonitorDaemon.man.test.ts +17 -0
- package/src/monitor/tasks/TaskCheckForProofs.ts +235 -0
- package/src/monitor/tasks/TaskClock.ts +35 -0
- package/src/monitor/tasks/TaskFailAbandoned.ts +56 -0
- package/src/monitor/tasks/TaskNewHeader.ts +48 -0
- package/src/monitor/tasks/TaskPurge.ts +69 -0
- package/src/monitor/tasks/TaskReviewStatus.ts +51 -0
- package/src/monitor/tasks/TaskSendWaiting.ts +107 -0
- package/src/monitor/tasks/TaskSyncWhenIdle.ts +26 -0
- package/src/monitor/tasks/WalletMonitorTask.ts +47 -0
- package/src/sdk/CertOps.ts +346 -0
- package/src/sdk/PrivilegedKeyManager.ts +402 -0
- package/src/sdk/README.md +13 -0
- package/src/sdk/StorageSyncReader.ts +155 -0
- package/src/sdk/StorageSyncReaderWriter.ts +263 -0
- package/src/sdk/WERR_errors.ts +152 -0
- package/src/sdk/WalletError.ts +136 -0
- package/src/sdk/WalletServices.interfaces.ts +399 -0
- package/src/sdk/WalletSigner.interfaces.ts +38 -0
- package/src/sdk/WalletStorage.interfaces.ts +416 -0
- package/src/sdk/__test/CertificateLifeCycle.test.ts +194 -0
- package/src/sdk/__test/PrivilegedKeyManager.test.ts +775 -0
- package/src/sdk/index.ts +11 -0
- package/src/sdk/types.ts +115 -0
- package/src/sdk/validationHelpers.ts +1248 -0
- package/src/services/README.md +11 -0
- package/src/services/ServiceCollection.ts +50 -0
- package/src/services/Services.ts +461 -0
- package/src/services/__tests/getMerklePath.test.ts +16 -0
- package/src/services/__tests/getRawTx.test.ts +15 -0
- package/src/services/__tests/postBeef.test.ts +19 -0
- package/src/services/__tests/postBeefToArcTaal.test.ts +487 -0
- package/src/services/__tests/postTxs.test.ts +20 -0
- package/src/services/chaintracker/ChaintracksChainTracker.ts +78 -0
- package/src/services/chaintracker/__tests/ChaintracksChainTracker.test.ts +25 -0
- package/src/services/chaintracker/__tests/ChaintracksServiceClient.test.ts +32 -0
- package/src/services/chaintracker/chaintracks/BlockHeaderApi.ts +123 -0
- package/src/services/chaintracker/chaintracks/ChaintracksServiceClient.ts +160 -0
- package/src/services/chaintracker/chaintracks/index.ts +2 -0
- package/src/services/chaintracker/index.ts +2 -0
- package/src/services/createDefaultWalletServicesOptions.ts +38 -0
- package/src/services/index.ts +1 -0
- package/src/services/providers/arcServices.ts +570 -0
- package/src/services/providers/echangeRates.ts +276 -0
- package/src/services/providers/whatsonchain.ts +170 -0
- package/src/signer/README.md +5 -0
- package/src/signer/WalletSigner.ts +21 -0
- package/src/signer/methods/acquireDirectCertificate.ts +53 -0
- package/src/signer/methods/createAction.ts +364 -0
- package/src/signer/methods/internalizeAction.ts +142 -0
- package/src/signer/methods/proveCertificate.ts +51 -0
- package/src/signer/methods/signAction.ts +121 -0
- package/src/storage/README.md +14 -0
- package/src/storage/StorageKnex.ts +1449 -0
- package/src/storage/StorageProvider.ts +853 -0
- package/src/storage/StorageReader.ts +222 -0
- package/src/storage/StorageReaderWriter.ts +623 -0
- package/src/storage/StorageSyncReader.ts +143 -0
- package/src/storage/WalletStorageManager.ts +532 -0
- package/src/storage/__test/WalletStorageManager.test.ts +292 -0
- package/src/storage/index.all.ts +10 -0
- package/src/storage/index.client.ts +6 -0
- package/src/storage/index.db.ts +0 -0
- package/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.ts +1143 -0
- package/src/storage/methods/__test/GenerateChange/randomValsUsed1.ts +31 -0
- package/src/storage/methods/attemptToPostReqsToNetwork.ts +185 -0
- package/src/storage/methods/createAction.ts +997 -0
- package/src/storage/methods/generateChange.ts +629 -0
- package/src/storage/methods/getBeefForTransaction.ts +143 -0
- package/src/storage/methods/getSyncChunk.ts +330 -0
- package/src/storage/methods/internalizeAction.ts +538 -0
- package/src/storage/methods/listActions.ts +203 -0
- package/src/storage/methods/listCertificates.ts +81 -0
- package/src/storage/methods/listOutputs.ts +219 -0
- package/src/storage/methods/processAction.ts +477 -0
- package/src/storage/methods/purgeData.ts +276 -0
- package/src/storage/methods/reviewStatus.ts +95 -0
- package/src/storage/remoting/StorageClient.ts +306 -0
- package/src/storage/remoting/StorageServer.ts +179 -0
- package/src/storage/schema/KnexMigrations.ts +488 -0
- package/src/storage/schema/entities/Certificate.ts +199 -0
- package/src/storage/schema/entities/CertificateField.ts +157 -0
- package/src/storage/schema/entities/Commission.ts +169 -0
- package/src/storage/schema/entities/EntityBase.ts +214 -0
- package/src/storage/schema/entities/MergeEntity.ts +79 -0
- package/src/storage/schema/entities/Output.ts +323 -0
- package/src/storage/schema/entities/OutputBasket.ts +165 -0
- package/src/storage/schema/entities/OutputTag.ts +138 -0
- package/src/storage/schema/entities/OutputTagMap.ts +146 -0
- package/src/storage/schema/entities/ProvenTx.ts +349 -0
- package/src/storage/schema/entities/ProvenTxReq.ts +646 -0
- package/src/storage/schema/entities/SyncState.ts +429 -0
- package/src/storage/schema/entities/Transaction.ts +334 -0
- package/src/storage/schema/entities/TxLabel.ts +135 -0
- package/src/storage/schema/entities/TxLabelMap.ts +148 -0
- package/src/storage/schema/entities/User.ts +138 -0
- package/src/storage/schema/entities/__tests/CertificateFieldTests.test.ts +663 -0
- package/src/storage/schema/entities/__tests/CertificateTests.test.ts +527 -0
- package/src/storage/schema/entities/__tests/CommissionTests.test.ts +658 -0
- package/src/storage/schema/entities/__tests/OutputBasketTests.test.ts +567 -0
- package/src/storage/schema/entities/__tests/OutputTagMapTests.test.ts +530 -0
- package/src/storage/schema/entities/__tests/OutputTagTests.test.ts +504 -0
- package/src/storage/schema/entities/__tests/OutputTests.test.ts +689 -0
- package/src/storage/schema/entities/__tests/ProvenTxReqTests.test.ts +669 -0
- package/src/storage/schema/entities/__tests/ProvenTxTests.test.ts +700 -0
- package/src/storage/schema/entities/__tests/SyncStateTests.test.ts +376 -0
- package/src/storage/schema/entities/__tests/TransactionTests.test.ts +920 -0
- package/src/storage/schema/entities/__tests/TxLabelMapTests.test.ts +512 -0
- package/src/storage/schema/entities/__tests/TxLabelTests.test.ts +350 -0
- package/src/storage/schema/entities/__tests/stampLogTests.test.ts +97 -0
- package/src/storage/schema/entities/__tests/usersTests.test.ts +485 -0
- package/src/storage/schema/entities/index.ts +16 -0
- package/src/storage/schema/tables/Certificate.ts +21 -0
- package/src/storage/schema/tables/CertificateField.ts +12 -0
- package/src/storage/schema/tables/Commission.ts +13 -0
- package/src/storage/schema/tables/MonitorEvent.ts +9 -0
- package/src/storage/schema/tables/Output.ts +64 -0
- package/src/storage/schema/tables/OutputBasket.ts +12 -0
- package/src/storage/schema/tables/OutputTag.ts +10 -0
- package/src/storage/schema/tables/OutputTagMap.ts +9 -0
- package/src/storage/schema/tables/ProvenTx.ts +14 -0
- package/src/storage/schema/tables/ProvenTxReq.ts +65 -0
- package/src/storage/schema/tables/Settings.ts +17 -0
- package/src/storage/schema/tables/SyncState.ts +18 -0
- package/src/storage/schema/tables/Transaction.ts +54 -0
- package/src/storage/schema/tables/TxLabel.ts +10 -0
- package/src/storage/schema/tables/TxLabelMap.ts +9 -0
- package/src/storage/schema/tables/User.ts +16 -0
- package/src/storage/schema/tables/index.ts +16 -0
- package/src/storage/sync/StorageMySQLDojoReader.ts +771 -0
- package/src/storage/sync/index.ts +1 -0
- package/src/utility/README.md +3 -0
- package/src/utility/ScriptTemplateSABPPP.ts +79 -0
- package/src/utility/index.all.ts +7 -0
- package/src/utility/index.client.ts +7 -0
- package/src/utility/parseTxScriptOffsets.ts +29 -0
- package/src/utility/stampLog.ts +73 -0
- package/src/utility/tscProofToMerklePath.ts +51 -0
- package/src/utility/utilityHelpers.buffer.ts +43 -0
- package/src/utility/utilityHelpers.noBuffer.ts +18 -0
- package/src/utility/utilityHelpers.ts +283 -0
- package/test/Wallet/StorageClient/storageClient.man.test.ts +55 -0
- package/test/Wallet/action/internalizeAction.a.test.ts +301 -0
- package/test/Wallet/certificate/acquireCertificate.test.ts +253 -0
- package/test/Wallet/certificate/listCertificates.test.ts +352 -0
- package/test/Wallet/get/getHeaderForHeight.test.ts +79 -0
- package/test/Wallet/get/getHeight.test.ts +52 -0
- package/test/Wallet/get/getKnownTxids.test.ts +90 -0
- package/test/Wallet/get/getNetwork.test.ts +28 -0
- package/test/Wallet/get/getVersion.test.ts +28 -0
- package/test/Wallet/live/walletLive.man.test.ts +510 -0
- package/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.ts +155 -0
- package/test/checkDB.ts +63 -0
- package/test/checkdb +0 -0
- package/test/examples/README.man.test.ts +53 -0
- package/test/monitor/Monitor.test.ts +536 -0
- package/test/services/Services.test.ts +149 -0
- package/test/storage/KnexMigrations.test.ts +100 -0
- package/test/storage/StorageMySQLDojoReader.man.test.ts +71 -0
- package/test/storage/count.test.ts +193 -0
- package/test/storage/find.test.ts +216 -0
- package/test/storage/findLegacy.test.ts +70 -0
- package/test/storage/insert.test.ts +294 -0
- package/test/storage/update.test.ts +1146 -0
- package/test/storage/update2.test.ts +1017 -0
- package/test/utils/TestUtilsWalletStorage.ts +1923 -0
- package/test/utils/removeFailedFromDatabase.sql +17 -0
- package/test/wallet/action/abortAction.test.ts +55 -0
- package/test/wallet/action/createAction.test.ts +266 -0
- package/test/wallet/action/createActionToGenerateBeefs.man.test.ts +297 -0
- package/test/wallet/action/internalizeAction.test.ts +729 -0
- package/test/wallet/action/relinquishOutput.test.ts +43 -0
- package/test/wallet/construct/Wallet.constructor.test.ts +57 -0
- package/test/wallet/list/listActions.test.ts +282 -0
- package/test/wallet/list/listActions2.test.ts +570 -0
- package/test/wallet/list/listCertificates.test.ts +129 -0
- package/test/wallet/list/listOutputs.test.ts +573 -0
- package/test/wallet/sync/Wallet.sync.test.ts +226 -0
- package/ts2md.json +32 -0
- package/tsconfig.all.json +29 -0
- package/tsconfig.client.json +22 -0
- package/tsconfig.json +14 -0
- package/unlock-migrations.sh +41 -0
package/docs/storage.md
ADDED
|
@@ -0,0 +1,1884 @@
|
|
|
1
|
+
# API
|
|
2
|
+
|
|
3
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
4
|
+
|
|
5
|
+
## Interfaces
|
|
6
|
+
|
|
7
|
+
| | |
|
|
8
|
+
| --- | --- |
|
|
9
|
+
| [CommitNewTxResults](#interface-commitnewtxresults) | [PostBeefResultForTxidApi](#interface-postbeefresultfortxidapi) |
|
|
10
|
+
| [GenerateChangeSdkChangeInput](#interface-generatechangesdkchangeinput) | [PostReqsToNetworkDetails](#interface-postreqstonetworkdetails) |
|
|
11
|
+
| [GenerateChangeSdkChangeOutput](#interface-generatechangesdkchangeoutput) | [PostReqsToNetworkResult](#interface-postreqstonetworkresult) |
|
|
12
|
+
| [GenerateChangeSdkInput](#interface-generatechangesdkinput) | [StorageInternalizeActionResult](#interface-storageinternalizeactionresult) |
|
|
13
|
+
| [GenerateChangeSdkOutput](#interface-generatechangesdkoutput) | [StorageKnexOptions](#interface-storageknexoptions) |
|
|
14
|
+
| [GenerateChangeSdkParams](#interface-generatechangesdkparams) | [StorageProviderOptions](#interface-storageprovideroptions) |
|
|
15
|
+
| [GenerateChangeSdkResult](#interface-generatechangesdkresult) | [StorageReaderOptions](#interface-storagereaderoptions) |
|
|
16
|
+
| [GenerateChangeSdkStorageChange](#interface-generatechangesdkstoragechange) | [StorageReaderWriterOptions](#interface-storagereaderwriteroptions) |
|
|
17
|
+
| [GetReqsAndBeefDetail](#interface-getreqsandbeefdetail) | [WalletStorageServerOptions](#interface-walletstorageserveroptions) |
|
|
18
|
+
| [GetReqsAndBeefResult](#interface-getreqsandbeefresult) | [XValidCreateActionOutput](#interface-xvalidcreateactionoutput) |
|
|
19
|
+
|
|
20
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
### Interface: CommitNewTxResults
|
|
25
|
+
|
|
26
|
+
```ts
|
|
27
|
+
export interface CommitNewTxResults {
|
|
28
|
+
req: entity.ProvenTxReq;
|
|
29
|
+
log?: string;
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
See also: [log](#variable-log)
|
|
34
|
+
|
|
35
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
### Interface: GenerateChangeSdkChangeInput
|
|
39
|
+
|
|
40
|
+
```ts
|
|
41
|
+
export interface GenerateChangeSdkChangeInput {
|
|
42
|
+
outputId: number;
|
|
43
|
+
satoshis: number;
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
### Interface: GenerateChangeSdkChangeOutput
|
|
51
|
+
|
|
52
|
+
```ts
|
|
53
|
+
export interface GenerateChangeSdkChangeOutput {
|
|
54
|
+
satoshis: number;
|
|
55
|
+
lockingScriptLength: number;
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
### Interface: GenerateChangeSdkInput
|
|
63
|
+
|
|
64
|
+
```ts
|
|
65
|
+
export interface GenerateChangeSdkInput {
|
|
66
|
+
satoshis: number;
|
|
67
|
+
unlockingScriptLength: number;
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
### Interface: GenerateChangeSdkOutput
|
|
75
|
+
|
|
76
|
+
```ts
|
|
77
|
+
export interface GenerateChangeSdkOutput {
|
|
78
|
+
satoshis: number;
|
|
79
|
+
lockingScriptLength: number;
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
### Interface: GenerateChangeSdkParams
|
|
87
|
+
|
|
88
|
+
```ts
|
|
89
|
+
export interface GenerateChangeSdkParams {
|
|
90
|
+
fixedInputs: GenerateChangeSdkInput[];
|
|
91
|
+
fixedOutputs: GenerateChangeSdkOutput[];
|
|
92
|
+
feeModel: sdk.StorageFeeModel;
|
|
93
|
+
targetNetCount?: number;
|
|
94
|
+
changeInitialSatoshis: number;
|
|
95
|
+
changeFirstSatoshis: number;
|
|
96
|
+
changeLockingScriptLength: number;
|
|
97
|
+
changeUnlockingScriptLength: number;
|
|
98
|
+
randomVals?: number[];
|
|
99
|
+
noLogging?: boolean;
|
|
100
|
+
log?: string;
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
See also: [GenerateChangeSdkInput](#interface-generatechangesdkinput), [GenerateChangeSdkOutput](#interface-generatechangesdkoutput), [StorageFeeModel](#interface-storagefeemodel), [log](#variable-log)
|
|
105
|
+
|
|
106
|
+
<details>
|
|
107
|
+
|
|
108
|
+
<summary>Interface GenerateChangeSdkParams Details</summary>
|
|
109
|
+
|
|
110
|
+
#### Property changeFirstSatoshis
|
|
111
|
+
|
|
112
|
+
Lowest amount value to assign to a change output.
|
|
113
|
+
Drop the output if unable to satisfy.
|
|
114
|
+
default 285
|
|
115
|
+
|
|
116
|
+
```ts
|
|
117
|
+
changeFirstSatoshis: number
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
#### Property changeInitialSatoshis
|
|
121
|
+
|
|
122
|
+
Satoshi amount to initialize optional new change outputs.
|
|
123
|
+
|
|
124
|
+
```ts
|
|
125
|
+
changeInitialSatoshis: number
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
#### Property changeLockingScriptLength
|
|
129
|
+
|
|
130
|
+
Fixed change locking script length.
|
|
131
|
+
|
|
132
|
+
For P2PKH template, 25 bytes
|
|
133
|
+
|
|
134
|
+
```ts
|
|
135
|
+
changeLockingScriptLength: number
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
#### Property changeUnlockingScriptLength
|
|
139
|
+
|
|
140
|
+
Fixed change unlocking script length.
|
|
141
|
+
|
|
142
|
+
For P2PKH template, 107 bytes
|
|
143
|
+
|
|
144
|
+
```ts
|
|
145
|
+
changeUnlockingScriptLength: number
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
#### Property targetNetCount
|
|
149
|
+
|
|
150
|
+
Target for number of new change outputs added minus number of funding change outputs consumed.
|
|
151
|
+
If undefined, only a single change output will be added if excess fees must be recaptured.
|
|
152
|
+
|
|
153
|
+
```ts
|
|
154
|
+
targetNetCount?: number
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
</details>
|
|
158
|
+
|
|
159
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
### Interface: GenerateChangeSdkResult
|
|
163
|
+
|
|
164
|
+
```ts
|
|
165
|
+
export interface GenerateChangeSdkResult {
|
|
166
|
+
allocatedChangeInputs: GenerateChangeSdkChangeInput[];
|
|
167
|
+
changeOutputs: GenerateChangeSdkChangeOutput[];
|
|
168
|
+
size: number;
|
|
169
|
+
fee: number;
|
|
170
|
+
satsPerKb: number;
|
|
171
|
+
}
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
See also: [GenerateChangeSdkChangeInput](#interface-generatechangesdkchangeinput), [GenerateChangeSdkChangeOutput](#interface-generatechangesdkchangeoutput)
|
|
175
|
+
|
|
176
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
### Interface: GenerateChangeSdkStorageChange
|
|
180
|
+
|
|
181
|
+
```ts
|
|
182
|
+
export interface GenerateChangeSdkStorageChange extends GenerateChangeSdkChangeInput {
|
|
183
|
+
spendable: boolean;
|
|
184
|
+
}
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
See also: [GenerateChangeSdkChangeInput](#interface-generatechangesdkchangeinput)
|
|
188
|
+
|
|
189
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
### Interface: GetReqsAndBeefDetail
|
|
193
|
+
|
|
194
|
+
```ts
|
|
195
|
+
export interface GetReqsAndBeefDetail {
|
|
196
|
+
txid: string;
|
|
197
|
+
req?: table.ProvenTxReq;
|
|
198
|
+
proven?: table.ProvenTx;
|
|
199
|
+
status: "readyToSend" | "alreadySent" | "error" | "unknown";
|
|
200
|
+
error?: string;
|
|
201
|
+
}
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
### Interface: GetReqsAndBeefResult
|
|
208
|
+
|
|
209
|
+
```ts
|
|
210
|
+
export interface GetReqsAndBeefResult {
|
|
211
|
+
beef: Beef;
|
|
212
|
+
details: GetReqsAndBeefDetail[];
|
|
213
|
+
}
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
See also: [GetReqsAndBeefDetail](#interface-getreqsandbeefdetail)
|
|
217
|
+
|
|
218
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
### Interface: PostBeefResultForTxidApi
|
|
222
|
+
|
|
223
|
+
```ts
|
|
224
|
+
export interface PostBeefResultForTxidApi {
|
|
225
|
+
txid: string;
|
|
226
|
+
status: "success" | "error";
|
|
227
|
+
alreadyKnown?: boolean;
|
|
228
|
+
blockHash?: string;
|
|
229
|
+
blockHeight?: number;
|
|
230
|
+
merklePath?: string;
|
|
231
|
+
}
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
<details>
|
|
235
|
+
|
|
236
|
+
<summary>Interface PostBeefResultForTxidApi Details</summary>
|
|
237
|
+
|
|
238
|
+
#### Property alreadyKnown
|
|
239
|
+
|
|
240
|
+
if true, the transaction was already known to this service. Usually treat as a success.
|
|
241
|
+
|
|
242
|
+
Potentially stop posting to additional transaction processors.
|
|
243
|
+
|
|
244
|
+
```ts
|
|
245
|
+
alreadyKnown?: boolean
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
#### Property status
|
|
249
|
+
|
|
250
|
+
'success' - The transaction was accepted for processing
|
|
251
|
+
|
|
252
|
+
```ts
|
|
253
|
+
status: "success" | "error"
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
</details>
|
|
257
|
+
|
|
258
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
### Interface: PostReqsToNetworkDetails
|
|
262
|
+
|
|
263
|
+
```ts
|
|
264
|
+
export interface PostReqsToNetworkDetails {
|
|
265
|
+
txid: string;
|
|
266
|
+
req: entity.ProvenTxReq;
|
|
267
|
+
status: PostReqsToNetworkDetailsStatus;
|
|
268
|
+
pbrft: sdk.PostTxResultForTxid;
|
|
269
|
+
data?: string;
|
|
270
|
+
error?: string;
|
|
271
|
+
}
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
See also: [PostReqsToNetworkDetailsStatus](#type-postreqstonetworkdetailsstatus), [PostTxResultForTxid](#interface-posttxresultfortxid)
|
|
275
|
+
|
|
276
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
### Interface: PostReqsToNetworkResult
|
|
280
|
+
|
|
281
|
+
```ts
|
|
282
|
+
export interface PostReqsToNetworkResult {
|
|
283
|
+
status: "success" | "error";
|
|
284
|
+
beef: Beef;
|
|
285
|
+
details: PostReqsToNetworkDetails[];
|
|
286
|
+
pbr?: sdk.PostBeefResult;
|
|
287
|
+
log: string;
|
|
288
|
+
}
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
See also: [PostBeefResult](#interface-postbeefresult), [PostReqsToNetworkDetails](#interface-postreqstonetworkdetails), [log](#variable-log)
|
|
292
|
+
|
|
293
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
### Interface: StorageInternalizeActionResult
|
|
297
|
+
|
|
298
|
+
```ts
|
|
299
|
+
export interface StorageInternalizeActionResult extends InternalizeActionResult {
|
|
300
|
+
isMerge: boolean;
|
|
301
|
+
txid: string;
|
|
302
|
+
satoshis: number;
|
|
303
|
+
}
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
<details>
|
|
307
|
+
|
|
308
|
+
<summary>Interface StorageInternalizeActionResult Details</summary>
|
|
309
|
+
|
|
310
|
+
#### Property isMerge
|
|
311
|
+
|
|
312
|
+
true if internalizing outputs on an existing storage transaction
|
|
313
|
+
|
|
314
|
+
```ts
|
|
315
|
+
isMerge: boolean
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
#### Property satoshis
|
|
319
|
+
|
|
320
|
+
net change in change balance for user due to this internalization
|
|
321
|
+
|
|
322
|
+
```ts
|
|
323
|
+
satoshis: number
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
#### Property txid
|
|
327
|
+
|
|
328
|
+
txid of transaction being internalized
|
|
329
|
+
|
|
330
|
+
```ts
|
|
331
|
+
txid: string
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
</details>
|
|
335
|
+
|
|
336
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
337
|
+
|
|
338
|
+
---
|
|
339
|
+
### Interface: StorageKnexOptions
|
|
340
|
+
|
|
341
|
+
```ts
|
|
342
|
+
export interface StorageKnexOptions extends StorageProviderOptions {
|
|
343
|
+
knex: Knex;
|
|
344
|
+
}
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
See also: [StorageProviderOptions](#interface-storageprovideroptions)
|
|
348
|
+
|
|
349
|
+
<details>
|
|
350
|
+
|
|
351
|
+
<summary>Interface StorageKnexOptions Details</summary>
|
|
352
|
+
|
|
353
|
+
#### Property knex
|
|
354
|
+
|
|
355
|
+
Knex database interface initialized with valid connection configuration.
|
|
356
|
+
|
|
357
|
+
```ts
|
|
358
|
+
knex: Knex
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
</details>
|
|
362
|
+
|
|
363
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
364
|
+
|
|
365
|
+
---
|
|
366
|
+
### Interface: StorageProviderOptions
|
|
367
|
+
|
|
368
|
+
```ts
|
|
369
|
+
export interface StorageProviderOptions extends StorageReaderWriterOptions {
|
|
370
|
+
chain: sdk.Chain;
|
|
371
|
+
feeModel: sdk.StorageFeeModel;
|
|
372
|
+
commissionSatoshis: number;
|
|
373
|
+
commissionPubKeyHex?: PubKeyHex;
|
|
374
|
+
}
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
See also: [Chain](#type-chain), [StorageFeeModel](#interface-storagefeemodel), [StorageReaderWriterOptions](#interface-storagereaderwriteroptions)
|
|
378
|
+
|
|
379
|
+
<details>
|
|
380
|
+
|
|
381
|
+
<summary>Interface StorageProviderOptions Details</summary>
|
|
382
|
+
|
|
383
|
+
#### Property commissionPubKeyHex
|
|
384
|
+
|
|
385
|
+
If commissionSatoshis is greater than zero, must be a valid public key hex string.
|
|
386
|
+
The actual locking script for each commission will use a public key derived
|
|
387
|
+
from this key by information stored in the commissions table.
|
|
388
|
+
|
|
389
|
+
```ts
|
|
390
|
+
commissionPubKeyHex?: PubKeyHex
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
#### Property commissionSatoshis
|
|
394
|
+
|
|
395
|
+
Transactions created by this Storage can charge a fee per transaction.
|
|
396
|
+
A value of zero disables commission fees.
|
|
397
|
+
|
|
398
|
+
```ts
|
|
399
|
+
commissionSatoshis: number
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
</details>
|
|
403
|
+
|
|
404
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
405
|
+
|
|
406
|
+
---
|
|
407
|
+
### Interface: StorageReaderOptions
|
|
408
|
+
|
|
409
|
+
```ts
|
|
410
|
+
export interface StorageReaderOptions {
|
|
411
|
+
chain: sdk.Chain;
|
|
412
|
+
}
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
See also: [Chain](#type-chain)
|
|
416
|
+
|
|
417
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
418
|
+
|
|
419
|
+
---
|
|
420
|
+
### Interface: StorageReaderWriterOptions
|
|
421
|
+
|
|
422
|
+
```ts
|
|
423
|
+
export interface StorageReaderWriterOptions extends StorageReaderOptions {
|
|
424
|
+
}
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
See also: [StorageReaderOptions](#interface-storagereaderoptions)
|
|
428
|
+
|
|
429
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
430
|
+
|
|
431
|
+
---
|
|
432
|
+
### Interface: WalletStorageServerOptions
|
|
433
|
+
|
|
434
|
+
```ts
|
|
435
|
+
export interface WalletStorageServerOptions {
|
|
436
|
+
port: number;
|
|
437
|
+
wallet: Wallet;
|
|
438
|
+
monetize: boolean;
|
|
439
|
+
calculateRequestPrice?: (req: Request) => number | Promise<number>;
|
|
440
|
+
}
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
See also: [Wallet](#class-wallet)
|
|
444
|
+
|
|
445
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
446
|
+
|
|
447
|
+
---
|
|
448
|
+
### Interface: XValidCreateActionOutput
|
|
449
|
+
|
|
450
|
+
```ts
|
|
451
|
+
export interface XValidCreateActionOutput extends sdk.ValidCreateActionOutput {
|
|
452
|
+
vout: number;
|
|
453
|
+
providedBy: sdk.StorageProvidedBy;
|
|
454
|
+
purpose?: string;
|
|
455
|
+
derivationSuffix?: string;
|
|
456
|
+
keyOffset?: string;
|
|
457
|
+
}
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
See also: [StorageProvidedBy](#type-storageprovidedby), [ValidCreateActionOutput](#interface-validcreateactionoutput)
|
|
461
|
+
|
|
462
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
463
|
+
|
|
464
|
+
---
|
|
465
|
+
## Classes
|
|
466
|
+
|
|
467
|
+
| |
|
|
468
|
+
| --- |
|
|
469
|
+
| [KnexMigrations](#class-knexmigrations) |
|
|
470
|
+
| [StorageClient](#class-storageclient) |
|
|
471
|
+
| [StorageKnex](#class-storageknex) |
|
|
472
|
+
| [StorageProvider](#class-storageprovider) |
|
|
473
|
+
| [StorageReader](#class-storagereader) |
|
|
474
|
+
| [StorageReaderWriter](#class-storagereaderwriter) |
|
|
475
|
+
| [StorageServer](#class-storageserver) |
|
|
476
|
+
| [StorageSyncReader](#class-storagesyncreader) |
|
|
477
|
+
| [WalletStorageManager](#class-walletstoragemanager) |
|
|
478
|
+
|
|
479
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
480
|
+
|
|
481
|
+
---
|
|
482
|
+
|
|
483
|
+
### Class: KnexMigrations
|
|
484
|
+
|
|
485
|
+
```ts
|
|
486
|
+
export class KnexMigrations implements MigrationSource<string> {
|
|
487
|
+
migrations: Record<string, Migration> = {};
|
|
488
|
+
constructor(public chain: sdk.Chain, public storageName: string, public storageIdentityKey: string, public maxOutputScriptLength: number)
|
|
489
|
+
async getMigrations(): Promise<string[]>
|
|
490
|
+
getMigrationName(migration: string)
|
|
491
|
+
async getMigration(migration: string): Promise<Migration>
|
|
492
|
+
async getLatestMigration(): Promise<string>
|
|
493
|
+
static async latestMigration(): Promise<string>
|
|
494
|
+
setupMigrations(chain: string, storageName: string, storageIdentityKey: string, maxOutputScriptLength: number): Record<string, Migration>
|
|
495
|
+
static async dbtype(knex: Knex<any, any[]>): Promise<DBType> {
|
|
496
|
+
try {
|
|
497
|
+
const q = `SELECT
|
|
498
|
+
CASE
|
|
499
|
+
WHEN (SELECT VERSION() LIKE '%MariaDB%') = 1 THEN 'Unknown'
|
|
500
|
+
WHEN (SELECT VERSION()) IS NOT NULL THEN 'MySQL'
|
|
501
|
+
ELSE 'Unknown'
|
|
502
|
+
END AS database_type;`;
|
|
503
|
+
let r = await knex.raw(q);
|
|
504
|
+
if (!r[0]["database_type"])
|
|
505
|
+
r = r[0];
|
|
506
|
+
if (r["rows"])
|
|
507
|
+
r = r.rows;
|
|
508
|
+
const dbtype: "SQLite" | "MySQL" | "Unknown" = r[0].database_type;
|
|
509
|
+
if (dbtype === "Unknown")
|
|
510
|
+
throw new sdk.WERR_NOT_IMPLEMENTED(`Attempting to create database on unsuported engine.`);
|
|
511
|
+
return dbtype;
|
|
512
|
+
}
|
|
513
|
+
catch (eu: unknown) {
|
|
514
|
+
const e = sdk.WalletError.fromUnknown(eu);
|
|
515
|
+
if (e.code === "SQLITE_ERROR")
|
|
516
|
+
return "SQLite";
|
|
517
|
+
throw new sdk.WERR_NOT_IMPLEMENTED(`Attempting to create database on unsuported engine.`);
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
See also: [Chain](#type-chain), [DBType](#type-dbtype), [WERR_NOT_IMPLEMENTED](#class-werr_not_implemented), [WalletError](#class-walleterror)
|
|
524
|
+
|
|
525
|
+
<details>
|
|
526
|
+
|
|
527
|
+
<summary>Class KnexMigrations Details</summary>
|
|
528
|
+
|
|
529
|
+
#### Constructor
|
|
530
|
+
|
|
531
|
+
```ts
|
|
532
|
+
constructor(public chain: sdk.Chain, public storageName: string, public storageIdentityKey: string, public maxOutputScriptLength: number)
|
|
533
|
+
```
|
|
534
|
+
See also: [Chain](#type-chain)
|
|
535
|
+
|
|
536
|
+
Argument Details
|
|
537
|
+
|
|
538
|
+
+ **storageName**
|
|
539
|
+
+ human readable name for this storage instance
|
|
540
|
+
+ **maxOutputScriptLength**
|
|
541
|
+
+ limit for scripts kept in outputs table, longer scripts will be pulled from rawTx
|
|
542
|
+
|
|
543
|
+
#### Method dbtype
|
|
544
|
+
|
|
545
|
+
```ts
|
|
546
|
+
static async dbtype(knex: Knex<any, any[]>): Promise<DBType>
|
|
547
|
+
```
|
|
548
|
+
See also: [DBType](#type-dbtype)
|
|
549
|
+
|
|
550
|
+
Returns
|
|
551
|
+
|
|
552
|
+
connected database engine variant
|
|
553
|
+
|
|
554
|
+
</details>
|
|
555
|
+
|
|
556
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
557
|
+
|
|
558
|
+
---
|
|
559
|
+
### Class: StorageClient
|
|
560
|
+
|
|
561
|
+
```ts
|
|
562
|
+
export class StorageClient implements sdk.WalletStorageProvider {
|
|
563
|
+
public settings?: table.Settings;
|
|
564
|
+
constructor(wallet: WalletInterface, endpointUrl: string)
|
|
565
|
+
isStorageProvider(): boolean
|
|
566
|
+
isAvailable(): boolean
|
|
567
|
+
getSettings(): table.Settings
|
|
568
|
+
async makeAvailable(): Promise<table.Settings>
|
|
569
|
+
async destroy(): Promise<void>
|
|
570
|
+
async migrate(storageName: string, storageIdentityKey: string): Promise<string>
|
|
571
|
+
getServices(): sdk.WalletServices
|
|
572
|
+
setServices(v: sdk.WalletServices): void
|
|
573
|
+
async internalizeAction(auth: sdk.AuthId, args: InternalizeActionArgs): Promise<InternalizeActionResult>
|
|
574
|
+
async createAction(auth: sdk.AuthId, args: sdk.ValidCreateActionArgs): Promise<sdk.StorageCreateActionResult>
|
|
575
|
+
async processAction(auth: sdk.AuthId, args: sdk.StorageProcessActionArgs): Promise<sdk.StorageProcessActionResults>
|
|
576
|
+
async abortAction(auth: sdk.AuthId, args: AbortActionArgs): Promise<AbortActionResult>
|
|
577
|
+
async findOrInsertUser(identityKey): Promise<{
|
|
578
|
+
user: table.User;
|
|
579
|
+
isNew: boolean;
|
|
580
|
+
}>
|
|
581
|
+
async findOrInsertSyncStateAuth(auth: sdk.AuthId, storageIdentityKey: string, storageName: string): Promise<{
|
|
582
|
+
syncState: table.SyncState;
|
|
583
|
+
isNew: boolean;
|
|
584
|
+
}>
|
|
585
|
+
async insertCertificateAuth(auth: sdk.AuthId, certificate: table.CertificateX): Promise<number>
|
|
586
|
+
async listActions(auth: sdk.AuthId, vargs: sdk.ValidListActionsArgs): Promise<ListActionsResult>
|
|
587
|
+
async listOutputs(auth: sdk.AuthId, vargs: sdk.ValidListOutputsArgs): Promise<ListOutputsResult>
|
|
588
|
+
async listCertificates(auth: sdk.AuthId, vargs: sdk.ValidListCertificatesArgs): Promise<ListCertificatesResult>
|
|
589
|
+
async findCertificatesAuth(auth: sdk.AuthId, args: sdk.FindCertificatesArgs): Promise<table.Certificate[]>
|
|
590
|
+
async findOutputBasketsAuth(auth: sdk.AuthId, args: sdk.FindOutputBasketsArgs): Promise<table.OutputBasket[]>
|
|
591
|
+
async findOutputsAuth(auth: sdk.AuthId, args: sdk.FindOutputsArgs): Promise<table.Output[]>
|
|
592
|
+
findProvenTxReqs(args: sdk.FindProvenTxReqsArgs): Promise<table.ProvenTxReq[]>
|
|
593
|
+
async relinquishCertificate(auth: sdk.AuthId, args: RelinquishCertificateArgs): Promise<number>
|
|
594
|
+
async relinquishOutput(auth: sdk.AuthId, args: RelinquishOutputArgs): Promise<number>
|
|
595
|
+
async processSyncChunk(args: sdk.RequestSyncChunkArgs, chunk: sdk.SyncChunk): Promise<sdk.ProcessSyncChunkResult>
|
|
596
|
+
async getSyncChunk(args: sdk.RequestSyncChunkArgs): Promise<sdk.SyncChunk>
|
|
597
|
+
async updateProvenTxReqWithNewProvenTx(args: sdk.UpdateProvenTxReqWithNewProvenTxArgs): Promise<sdk.UpdateProvenTxReqWithNewProvenTxResult>
|
|
598
|
+
async setActive(auth: sdk.AuthId, newActiveStorageIdentityKey: string): Promise<number>
|
|
599
|
+
}
|
|
600
|
+
```
|
|
601
|
+
|
|
602
|
+
See also: [AuthId](#interface-authid), [FindCertificatesArgs](#interface-findcertificatesargs), [FindOutputBasketsArgs](#interface-findoutputbasketsargs), [FindOutputsArgs](#interface-findoutputsargs), [FindProvenTxReqsArgs](#interface-findproventxreqsargs), [ProcessSyncChunkResult](#interface-processsyncchunkresult), [RequestSyncChunkArgs](#interface-requestsyncchunkargs), [StorageCreateActionResult](#interface-storagecreateactionresult), [StorageProcessActionArgs](#interface-storageprocessactionargs), [StorageProcessActionResults](#interface-storageprocessactionresults), [SyncChunk](#interface-syncchunk), [UpdateProvenTxReqWithNewProvenTxArgs](#interface-updateproventxreqwithnewproventxargs), [UpdateProvenTxReqWithNewProvenTxResult](#interface-updateproventxreqwithnewproventxresult), [ValidCreateActionArgs](#interface-validcreateactionargs), [ValidListActionsArgs](#interface-validlistactionsargs), [ValidListCertificatesArgs](#interface-validlistcertificatesargs), [ValidListOutputsArgs](#interface-validlistoutputsargs), [WalletServices](#interface-walletservices), [WalletStorageProvider](#interface-walletstorageprovider), [createAction](#function-createaction), [getSyncChunk](#function-getsyncchunk), [internalizeAction](#function-internalizeaction), [listActions](#function-listactions), [listCertificates](#function-listcertificates), [listOutputs](#function-listoutputs), [processAction](#function-processaction)
|
|
603
|
+
|
|
604
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
605
|
+
|
|
606
|
+
---
|
|
607
|
+
### Class: StorageKnex
|
|
608
|
+
|
|
609
|
+
```ts
|
|
610
|
+
export class StorageKnex extends StorageProvider implements sdk.WalletStorageProvider {
|
|
611
|
+
knex: Knex;
|
|
612
|
+
constructor(options: StorageKnexOptions)
|
|
613
|
+
async readSettings(): Promise<table.Settings>
|
|
614
|
+
override async getProvenOrRawTx(txid: string, trx?: sdk.TrxToken): Promise<sdk.ProvenOrRawTx>
|
|
615
|
+
dbTypeSubstring(source: string, fromOffset: number, forLength?: number)
|
|
616
|
+
override async getRawTxOfKnownValidTransaction(txid?: string, offset?: number, length?: number, trx?: sdk.TrxToken): Promise<number[] | undefined>
|
|
617
|
+
getProvenTxsForUserQuery(args: sdk.FindForUserSincePagedArgs): Knex.QueryBuilder
|
|
618
|
+
override async getProvenTxsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.ProvenTx[]>
|
|
619
|
+
getProvenTxReqsForUserQuery(args: sdk.FindForUserSincePagedArgs): Knex.QueryBuilder
|
|
620
|
+
override async getProvenTxReqsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.ProvenTxReq[]>
|
|
621
|
+
getTxLabelMapsForUserQuery(args: sdk.FindForUserSincePagedArgs): Knex.QueryBuilder
|
|
622
|
+
override async getTxLabelMapsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.TxLabelMap[]>
|
|
623
|
+
getOutputTagMapsForUserQuery(args: sdk.FindForUserSincePagedArgs): Knex.QueryBuilder
|
|
624
|
+
override async getOutputTagMapsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.OutputTagMap[]>
|
|
625
|
+
override async listActions(auth: sdk.AuthId, vargs: sdk.ValidListActionsArgs): Promise<ListActionsResult>
|
|
626
|
+
override async listOutputs(auth: sdk.AuthId, vargs: sdk.ValidListOutputsArgs): Promise<ListOutputsResult>
|
|
627
|
+
override async insertProvenTx(tx: table.ProvenTx, trx?: sdk.TrxToken): Promise<number>
|
|
628
|
+
override async insertProvenTxReq(tx: table.ProvenTxReq, trx?: sdk.TrxToken): Promise<number>
|
|
629
|
+
override async insertUser(user: table.User, trx?: sdk.TrxToken): Promise<number>
|
|
630
|
+
override async insertCertificateAuth(auth: sdk.AuthId, certificate: table.CertificateX): Promise<number>
|
|
631
|
+
override async insertCertificate(certificate: table.CertificateX, trx?: sdk.TrxToken): Promise<number>
|
|
632
|
+
override async insertCertificateField(certificateField: table.CertificateField, trx?: sdk.TrxToken): Promise<void>
|
|
633
|
+
override async insertOutputBasket(basket: table.OutputBasket, trx?: sdk.TrxToken): Promise<number>
|
|
634
|
+
override async insertTransaction(tx: table.Transaction, trx?: sdk.TrxToken): Promise<number>
|
|
635
|
+
override async insertCommission(commission: table.Commission, trx?: sdk.TrxToken): Promise<number>
|
|
636
|
+
override async insertOutput(output: table.Output, trx?: sdk.TrxToken): Promise<number>
|
|
637
|
+
override async insertOutputTag(tag: table.OutputTag, trx?: sdk.TrxToken): Promise<number>
|
|
638
|
+
override async insertOutputTagMap(tagMap: table.OutputTagMap, trx?: sdk.TrxToken): Promise<void>
|
|
639
|
+
override async insertTxLabel(label: table.TxLabel, trx?: sdk.TrxToken): Promise<number>
|
|
640
|
+
override async insertTxLabelMap(labelMap: table.TxLabelMap, trx?: sdk.TrxToken): Promise<void>
|
|
641
|
+
override async insertMonitorEvent(event: table.MonitorEvent, trx?: sdk.TrxToken): Promise<number>
|
|
642
|
+
override async insertSyncState(syncState: table.SyncState, trx?: sdk.TrxToken): Promise<number>
|
|
643
|
+
override async updateCertificateField(certificateId: number, fieldName: string, update: Partial<table.CertificateField>, trx?: sdk.TrxToken): Promise<number>
|
|
644
|
+
override async updateCertificate(id: number, update: Partial<table.Certificate>, trx?: sdk.TrxToken): Promise<number>
|
|
645
|
+
override async updateCommission(id: number, update: Partial<table.Commission>, trx?: sdk.TrxToken): Promise<number>
|
|
646
|
+
override async updateOutputBasket(id: number, update: Partial<table.OutputBasket>, trx?: sdk.TrxToken): Promise<number>
|
|
647
|
+
override async updateOutput(id: number, update: Partial<table.Output>, trx?: sdk.TrxToken): Promise<number>
|
|
648
|
+
override async updateOutputTagMap(outputId: number, tagId: number, update: Partial<table.OutputTagMap>, trx?: sdk.TrxToken): Promise<number>
|
|
649
|
+
override async updateOutputTag(id: number, update: Partial<table.OutputTag>, trx?: sdk.TrxToken): Promise<number>
|
|
650
|
+
override async updateProvenTxReq(id: number | number[], update: Partial<table.ProvenTxReq>, trx?: sdk.TrxToken): Promise<number>
|
|
651
|
+
override async updateProvenTx(id: number, update: Partial<table.ProvenTx>, trx?: sdk.TrxToken): Promise<number>
|
|
652
|
+
override async updateSyncState(id: number, update: Partial<table.SyncState>, trx?: sdk.TrxToken): Promise<number>
|
|
653
|
+
override async updateTransaction(id: number | number[], update: Partial<table.Transaction>, trx?: sdk.TrxToken): Promise<number>
|
|
654
|
+
override async updateTxLabelMap(transactionId: number, txLabelId: number, update: Partial<table.TxLabelMap>, trx?: sdk.TrxToken): Promise<number>
|
|
655
|
+
override async updateTxLabel(id: number, update: Partial<table.TxLabel>, trx?: sdk.TrxToken): Promise<number>
|
|
656
|
+
override async updateUser(id: number, update: Partial<table.User>, trx?: sdk.TrxToken): Promise<number>
|
|
657
|
+
override async updateMonitorEvent(id: number, update: Partial<table.MonitorEvent>, trx?: sdk.TrxToken): Promise<number>
|
|
658
|
+
setupQuery<T extends object>(table: string, args: sdk.FindPartialSincePagedArgs<T>): Knex.QueryBuilder
|
|
659
|
+
findCertificateFieldsQuery(args: sdk.FindCertificateFieldsArgs): Knex.QueryBuilder
|
|
660
|
+
findCertificatesQuery(args: sdk.FindCertificatesArgs): Knex.QueryBuilder
|
|
661
|
+
findCommissionsQuery(args: sdk.FindCommissionsArgs): Knex.QueryBuilder
|
|
662
|
+
findOutputBasketsQuery(args: sdk.FindOutputBasketsArgs): Knex.QueryBuilder
|
|
663
|
+
findOutputsQuery(args: sdk.FindOutputsArgs, count?: boolean): Knex.QueryBuilder
|
|
664
|
+
findOutputTagMapsQuery(args: sdk.FindOutputTagMapsArgs): Knex.QueryBuilder
|
|
665
|
+
findOutputTagsQuery(args: sdk.FindOutputTagsArgs): Knex.QueryBuilder
|
|
666
|
+
findProvenTxReqsQuery(args: sdk.FindProvenTxReqsArgs): Knex.QueryBuilder
|
|
667
|
+
findProvenTxsQuery(args: sdk.FindProvenTxsArgs): Knex.QueryBuilder
|
|
668
|
+
findSyncStatesQuery(args: sdk.FindSyncStatesArgs): Knex.QueryBuilder
|
|
669
|
+
findTransactionsQuery(args: sdk.FindTransactionsArgs, count?: boolean): Knex.QueryBuilder
|
|
670
|
+
findTxLabelMapsQuery(args: sdk.FindTxLabelMapsArgs): Knex.QueryBuilder
|
|
671
|
+
findTxLabelsQuery(args: sdk.FindTxLabelsArgs): Knex.QueryBuilder
|
|
672
|
+
findUsersQuery(args: sdk.FindUsersArgs): Knex.QueryBuilder
|
|
673
|
+
findMonitorEventsQuery(args: sdk.FindMonitorEventsArgs): Knex.QueryBuilder
|
|
674
|
+
override async findCertificatesAuth(auth: sdk.AuthId, args: sdk.FindCertificatesArgs): Promise<table.Certificate[]>
|
|
675
|
+
override async findOutputBasketsAuth(auth: sdk.AuthId, args: sdk.FindOutputBasketsArgs): Promise<table.OutputBasket[]>
|
|
676
|
+
override async findOutputsAuth(auth: sdk.AuthId, args: sdk.FindOutputsArgs): Promise<table.Output[]>
|
|
677
|
+
override async findCertificateFields(args: sdk.FindCertificateFieldsArgs): Promise<table.CertificateField[]>
|
|
678
|
+
override async findCertificates(args: sdk.FindCertificatesArgs): Promise<table.Certificate[]>
|
|
679
|
+
override async findCommissions(args: sdk.FindCommissionsArgs): Promise<table.Commission[]>
|
|
680
|
+
override async findOutputBaskets(args: sdk.FindOutputBasketsArgs): Promise<table.OutputBasket[]>
|
|
681
|
+
override async findOutputs(args: sdk.FindOutputsArgs): Promise<table.Output[]>
|
|
682
|
+
override async findOutputTagMaps(args: sdk.FindOutputTagMapsArgs): Promise<table.OutputTagMap[]>
|
|
683
|
+
override async findOutputTags(args: sdk.FindOutputTagsArgs): Promise<table.OutputTag[]>
|
|
684
|
+
override async findProvenTxReqs(args: sdk.FindProvenTxReqsArgs): Promise<table.ProvenTxReq[]>
|
|
685
|
+
override async findProvenTxs(args: sdk.FindProvenTxsArgs): Promise<table.ProvenTx[]>
|
|
686
|
+
override async findSyncStates(args: sdk.FindSyncStatesArgs): Promise<table.SyncState[]>
|
|
687
|
+
override async findTransactions(args: sdk.FindTransactionsArgs): Promise<table.Transaction[]>
|
|
688
|
+
override async findTxLabelMaps(args: sdk.FindTxLabelMapsArgs): Promise<table.TxLabelMap[]>
|
|
689
|
+
override async findTxLabels(args: sdk.FindTxLabelsArgs): Promise<table.TxLabel[]>
|
|
690
|
+
override async findUsers(args: sdk.FindUsersArgs): Promise<table.User[]>
|
|
691
|
+
override async findMonitorEvents(args: sdk.FindMonitorEventsArgs): Promise<table.MonitorEvent[]>
|
|
692
|
+
async getCount<T extends object>(q: Knex.QueryBuilder<T, T[]>): Promise<number>
|
|
693
|
+
override async countCertificateFields(args: sdk.FindCertificateFieldsArgs): Promise<number>
|
|
694
|
+
override async countCertificates(args: sdk.FindCertificatesArgs): Promise<number>
|
|
695
|
+
override async countCommissions(args: sdk.FindCommissionsArgs): Promise<number>
|
|
696
|
+
override async countOutputBaskets(args: sdk.FindOutputBasketsArgs): Promise<number>
|
|
697
|
+
override async countOutputs(args: sdk.FindOutputsArgs): Promise<number>
|
|
698
|
+
override async countOutputTagMaps(args: sdk.FindOutputTagMapsArgs): Promise<number>
|
|
699
|
+
override async countOutputTags(args: sdk.FindOutputTagsArgs): Promise<number>
|
|
700
|
+
override async countProvenTxReqs(args: sdk.FindProvenTxReqsArgs): Promise<number>
|
|
701
|
+
override async countProvenTxs(args: sdk.FindProvenTxsArgs): Promise<number>
|
|
702
|
+
override async countSyncStates(args: sdk.FindSyncStatesArgs): Promise<number>
|
|
703
|
+
override async countTransactions(args: sdk.FindTransactionsArgs): Promise<number>
|
|
704
|
+
override async countTxLabelMaps(args: sdk.FindTxLabelMapsArgs): Promise<number>
|
|
705
|
+
override async countTxLabels(args: sdk.FindTxLabelsArgs): Promise<number>
|
|
706
|
+
override async countUsers(args: sdk.FindUsersArgs): Promise<number>
|
|
707
|
+
override async countMonitorEvents(args: sdk.FindMonitorEventsArgs): Promise<number>
|
|
708
|
+
override async destroy(): Promise<void>
|
|
709
|
+
override async migrate(storageName: string, storageIdentityKey: string): Promise<string>
|
|
710
|
+
override async dropAllData(): Promise<void>
|
|
711
|
+
override async transaction<T>(scope: (trx: sdk.TrxToken) => Promise<T>, trx?: sdk.TrxToken): Promise<T>
|
|
712
|
+
toDb(trx?: sdk.TrxToken)
|
|
713
|
+
async validateRawTransaction(t: table.Transaction, trx?: sdk.TrxToken): Promise<void>
|
|
714
|
+
async validateOutputScript(o: table.Output, trx?: sdk.TrxToken): Promise<void>
|
|
715
|
+
_verifiedReadyForDatabaseAccess: boolean = false;
|
|
716
|
+
async verifyReadyForDatabaseAccess(trx?: sdk.TrxToken): Promise<DBType>
|
|
717
|
+
validatePartialForUpdate<T extends sdk.EntityTimeStamp>(update: Partial<T>, dateFields?: string[], booleanFields?: string[]): Partial<T>
|
|
718
|
+
async validateEntityForInsert<T extends sdk.EntityTimeStamp>(entity: T, trx?: sdk.TrxToken, dateFields?: string[], booleanFields?: string[]): Promise<any>
|
|
719
|
+
override async getLabelsForTransactionId(transactionId?: number, trx?: sdk.TrxToken): Promise<table.TxLabel[]>
|
|
720
|
+
async extendOutput(o: table.Output, includeBasket = false, includeTags = false, trx?: sdk.TrxToken): Promise<table.OutputX>
|
|
721
|
+
override async getTagsForOutputId(outputId: number, trx?: sdk.TrxToken): Promise<table.OutputTag[]>
|
|
722
|
+
override async purgeData(params: sdk.PurgeParams, trx?: sdk.TrxToken): Promise<sdk.PurgeResults>
|
|
723
|
+
override async reviewStatus(args: {
|
|
724
|
+
agedLimit: Date;
|
|
725
|
+
trx?: sdk.TrxToken;
|
|
726
|
+
}): Promise<{
|
|
727
|
+
log: string;
|
|
728
|
+
}>
|
|
729
|
+
async countChangeInputs(userId: number, basketId: number, excludeSending: boolean): Promise<number>
|
|
730
|
+
async allocateChangeInput(userId: number, basketId: number, targetSatoshis: number, exactSatoshis: number | undefined, excludeSending: boolean, transactionId: number): Promise<table.Output | undefined> {
|
|
731
|
+
const status: sdk.TransactionStatus[] = ["completed", "unproven"];
|
|
732
|
+
if (!excludeSending)
|
|
733
|
+
status.push("sending");
|
|
734
|
+
const statusText = status.map(s => `'${s}'`).join(",");
|
|
735
|
+
const r: table.Output | undefined = await this.knex.transaction(async (trx) => {
|
|
736
|
+
const txStatusCondition = `AND (SELECT status FROM transactions WHERE outputs.transactionId = transactions.transactionId) in (${statusText})`;
|
|
737
|
+
let outputId: number | undefined;
|
|
738
|
+
const setOutputId = async (rawQuery: string): Promise<void> => {
|
|
739
|
+
let oidr = await trx.raw(rawQuery);
|
|
740
|
+
outputId = undefined;
|
|
741
|
+
if (!oidr["outputId"] && oidr.length > 0)
|
|
742
|
+
oidr = oidr[0];
|
|
743
|
+
if (!oidr["outputId"] && oidr.length > 0)
|
|
744
|
+
oidr = oidr[0];
|
|
745
|
+
if (oidr["outputId"])
|
|
746
|
+
outputId = Number(oidr["outputId"]);
|
|
747
|
+
};
|
|
748
|
+
if (exactSatoshis !== undefined) {
|
|
749
|
+
await setOutputId(`
|
|
750
|
+
SELECT outputId
|
|
751
|
+
FROM outputs
|
|
752
|
+
WHERE userId = ${userId}
|
|
753
|
+
AND spendable = 1
|
|
754
|
+
AND basketId = ${basketId}
|
|
755
|
+
${txStatusCondition}
|
|
756
|
+
AND satoshis = ${exactSatoshis}
|
|
757
|
+
LIMIT 1;
|
|
758
|
+
`);
|
|
759
|
+
}
|
|
760
|
+
if (outputId === undefined) {
|
|
761
|
+
await setOutputId(`
|
|
762
|
+
SELECT outputId
|
|
763
|
+
FROM outputs
|
|
764
|
+
WHERE userId = ${userId}
|
|
765
|
+
AND spendable = 1
|
|
766
|
+
AND basketId = ${basketId}
|
|
767
|
+
${txStatusCondition}
|
|
768
|
+
AND satoshis - ${targetSatoshis} = (
|
|
769
|
+
SELECT MIN(satoshis - ${targetSatoshis})
|
|
770
|
+
FROM outputs
|
|
771
|
+
WHERE userId = ${userId}
|
|
772
|
+
AND spendable = 1
|
|
773
|
+
AND basketId = ${basketId}
|
|
774
|
+
${txStatusCondition}
|
|
775
|
+
AND satoshis - ${targetSatoshis} >= 0
|
|
776
|
+
)
|
|
777
|
+
LIMIT 1;
|
|
778
|
+
`);
|
|
779
|
+
}
|
|
780
|
+
if (outputId === undefined) {
|
|
781
|
+
await setOutputId(`
|
|
782
|
+
SELECT outputId
|
|
783
|
+
FROM outputs
|
|
784
|
+
WHERE userId = ${userId}
|
|
785
|
+
AND spendable = 1
|
|
786
|
+
AND basketId = ${basketId}
|
|
787
|
+
${txStatusCondition}
|
|
788
|
+
AND satoshis - ${targetSatoshis} = (
|
|
789
|
+
SELECT MAX(satoshis - ${targetSatoshis})
|
|
790
|
+
FROM outputs
|
|
791
|
+
WHERE userId = ${userId}
|
|
792
|
+
AND spendable = 1
|
|
793
|
+
AND basketId = ${basketId}
|
|
794
|
+
${txStatusCondition}
|
|
795
|
+
AND satoshis - ${targetSatoshis} < 0
|
|
796
|
+
)
|
|
797
|
+
LIMIT 1;
|
|
798
|
+
`);
|
|
799
|
+
}
|
|
800
|
+
if (outputId === undefined)
|
|
801
|
+
return undefined;
|
|
802
|
+
await this.updateOutput(outputId, {
|
|
803
|
+
spendable: false,
|
|
804
|
+
spentBy: transactionId
|
|
805
|
+
}, trx);
|
|
806
|
+
const r = verifyTruthy(await this.findOutputById(outputId, trx));
|
|
807
|
+
return r;
|
|
808
|
+
});
|
|
809
|
+
return r;
|
|
810
|
+
}
|
|
811
|
+
validateEntity<T extends sdk.EntityTimeStamp>(entity: T, dateFields?: string[], booleanFields?: string[]): T
|
|
812
|
+
validateEntities<T extends sdk.EntityTimeStamp>(entities: T[], dateFields?: string[], booleanFields?: string[]): T[]
|
|
813
|
+
}
|
|
814
|
+
```
|
|
815
|
+
|
|
816
|
+
See also: [AuthId](#interface-authid), [DBType](#type-dbtype), [EntityTimeStamp](#interface-entitytimestamp), [FindCertificateFieldsArgs](#interface-findcertificatefieldsargs), [FindCertificatesArgs](#interface-findcertificatesargs), [FindCommissionsArgs](#interface-findcommissionsargs), [FindForUserSincePagedArgs](#interface-findforusersincepagedargs), [FindMonitorEventsArgs](#interface-findmonitoreventsargs), [FindOutputBasketsArgs](#interface-findoutputbasketsargs), [FindOutputTagMapsArgs](#interface-findoutputtagmapsargs), [FindOutputTagsArgs](#interface-findoutputtagsargs), [FindOutputsArgs](#interface-findoutputsargs), [FindPartialSincePagedArgs](#interface-findpartialsincepagedargs), [FindProvenTxReqsArgs](#interface-findproventxreqsargs), [FindProvenTxsArgs](#interface-findproventxsargs), [FindSyncStatesArgs](#interface-findsyncstatesargs), [FindTransactionsArgs](#interface-findtransactionsargs), [FindTxLabelMapsArgs](#interface-findtxlabelmapsargs), [FindTxLabelsArgs](#interface-findtxlabelsargs), [FindUsersArgs](#interface-findusersargs), [ProvenOrRawTx](#interface-provenorrawtx), [PurgeParams](#interface-purgeparams), [PurgeResults](#interface-purgeresults), [StorageKnexOptions](#interface-storageknexoptions), [StorageProvider](#class-storageprovider), [TransactionStatus](#type-transactionstatus), [TrxToken](#interface-trxtoken), [ValidListActionsArgs](#interface-validlistactionsargs), [ValidListOutputsArgs](#interface-validlistoutputsargs), [WalletStorageProvider](#interface-walletstorageprovider), [listActions](#function-listactions), [listOutputs](#function-listoutputs), [log](#variable-log), [purgeData](#function-purgedata), [reviewStatus](#function-reviewstatus), [verifyTruthy](#function-verifytruthy)
|
|
817
|
+
|
|
818
|
+
<details>
|
|
819
|
+
|
|
820
|
+
<summary>Class StorageKnex Details</summary>
|
|
821
|
+
|
|
822
|
+
#### Method allocateChangeInput
|
|
823
|
+
|
|
824
|
+
Finds closest matching available change output to use as input for new transaction.
|
|
825
|
+
|
|
826
|
+
Transactionally allocate the output such that
|
|
827
|
+
|
|
828
|
+
```ts
|
|
829
|
+
async allocateChangeInput(userId: number, basketId: number, targetSatoshis: number, exactSatoshis: number | undefined, excludeSending: boolean, transactionId: number): Promise<table.Output | undefined>
|
|
830
|
+
```
|
|
831
|
+
|
|
832
|
+
#### Method countChangeInputs
|
|
833
|
+
|
|
834
|
+
Finds closest matching available change output to use as input for new transaction.
|
|
835
|
+
|
|
836
|
+
Transactionally allocate the output such that
|
|
837
|
+
|
|
838
|
+
```ts
|
|
839
|
+
async countChangeInputs(userId: number, basketId: number, excludeSending: boolean): Promise<number>
|
|
840
|
+
```
|
|
841
|
+
|
|
842
|
+
#### Method toDb
|
|
843
|
+
|
|
844
|
+
Convert the standard optional `TrxToken` parameter into either a direct knex database instance,
|
|
845
|
+
or a Knex.Transaction as appropriate.
|
|
846
|
+
|
|
847
|
+
```ts
|
|
848
|
+
toDb(trx?: sdk.TrxToken)
|
|
849
|
+
```
|
|
850
|
+
See also: [TrxToken](#interface-trxtoken)
|
|
851
|
+
|
|
852
|
+
#### Method validateEntities
|
|
853
|
+
|
|
854
|
+
Helper to force uniform behavior across database engines.
|
|
855
|
+
Use to process all arrays of records with time stamps retreived from database.
|
|
856
|
+
|
|
857
|
+
```ts
|
|
858
|
+
validateEntities<T extends sdk.EntityTimeStamp>(entities: T[], dateFields?: string[], booleanFields?: string[]): T[]
|
|
859
|
+
```
|
|
860
|
+
See also: [EntityTimeStamp](#interface-entitytimestamp)
|
|
861
|
+
|
|
862
|
+
Returns
|
|
863
|
+
|
|
864
|
+
input `entities` array with contained values validated.
|
|
865
|
+
|
|
866
|
+
#### Method validateEntity
|
|
867
|
+
|
|
868
|
+
Helper to force uniform behavior across database engines.
|
|
869
|
+
Use to process all individual records with time stamps retreived from database.
|
|
870
|
+
|
|
871
|
+
```ts
|
|
872
|
+
validateEntity<T extends sdk.EntityTimeStamp>(entity: T, dateFields?: string[], booleanFields?: string[]): T
|
|
873
|
+
```
|
|
874
|
+
See also: [EntityTimeStamp](#interface-entitytimestamp)
|
|
875
|
+
|
|
876
|
+
#### Method validateEntityForInsert
|
|
877
|
+
|
|
878
|
+
Helper to force uniform behavior across database engines.
|
|
879
|
+
Use to process new entities being inserted into the database.
|
|
880
|
+
|
|
881
|
+
```ts
|
|
882
|
+
async validateEntityForInsert<T extends sdk.EntityTimeStamp>(entity: T, trx?: sdk.TrxToken, dateFields?: string[], booleanFields?: string[]): Promise<any>
|
|
883
|
+
```
|
|
884
|
+
See also: [EntityTimeStamp](#interface-entitytimestamp), [TrxToken](#interface-trxtoken)
|
|
885
|
+
|
|
886
|
+
#### Method validatePartialForUpdate
|
|
887
|
+
|
|
888
|
+
Helper to force uniform behavior across database engines.
|
|
889
|
+
Use to process the update template for entities being updated.
|
|
890
|
+
|
|
891
|
+
```ts
|
|
892
|
+
validatePartialForUpdate<T extends sdk.EntityTimeStamp>(update: Partial<T>, dateFields?: string[], booleanFields?: string[]): Partial<T>
|
|
893
|
+
```
|
|
894
|
+
See also: [EntityTimeStamp](#interface-entitytimestamp)
|
|
895
|
+
|
|
896
|
+
#### Method verifyReadyForDatabaseAccess
|
|
897
|
+
|
|
898
|
+
Make sure database is ready for access:
|
|
899
|
+
|
|
900
|
+
- dateScheme is known
|
|
901
|
+
- foreign key constraints are enabled
|
|
902
|
+
|
|
903
|
+
```ts
|
|
904
|
+
async verifyReadyForDatabaseAccess(trx?: sdk.TrxToken): Promise<DBType>
|
|
905
|
+
```
|
|
906
|
+
See also: [DBType](#type-dbtype), [TrxToken](#interface-trxtoken)
|
|
907
|
+
|
|
908
|
+
</details>
|
|
909
|
+
|
|
910
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
911
|
+
|
|
912
|
+
---
|
|
913
|
+
### Class: StorageProvider
|
|
914
|
+
|
|
915
|
+
```ts
|
|
916
|
+
export abstract class StorageProvider extends StorageReaderWriter implements sdk.WalletStorageProvider {
|
|
917
|
+
isDirty = false;
|
|
918
|
+
_services?: sdk.WalletServices;
|
|
919
|
+
feeModel: sdk.StorageFeeModel;
|
|
920
|
+
commissionSatoshis: number;
|
|
921
|
+
commissionPubKeyHex?: PubKeyHex;
|
|
922
|
+
maxRecursionDepth?: number;
|
|
923
|
+
static defaultOptions()
|
|
924
|
+
static createStorageBaseOptions(chain: sdk.Chain): StorageProviderOptions
|
|
925
|
+
constructor(options: StorageProviderOptions)
|
|
926
|
+
abstract reviewStatus(args: {
|
|
927
|
+
agedLimit: Date;
|
|
928
|
+
trx?: sdk.TrxToken;
|
|
929
|
+
}): Promise<{
|
|
930
|
+
log: string;
|
|
931
|
+
}>;
|
|
932
|
+
abstract purgeData(params: sdk.PurgeParams, trx?: sdk.TrxToken): Promise<sdk.PurgeResults>;
|
|
933
|
+
abstract allocateChangeInput(userId: number, basketId: number, targetSatoshis: number, exactSatoshis: number | undefined, excludeSending: boolean, transactionId: number): Promise<table.Output | undefined>;
|
|
934
|
+
abstract getProvenOrRawTx(txid: string, trx?: sdk.TrxToken): Promise<sdk.ProvenOrRawTx>;
|
|
935
|
+
abstract getRawTxOfKnownValidTransaction(txid?: string, offset?: number, length?: number, trx?: sdk.TrxToken): Promise<number[] | undefined>;
|
|
936
|
+
abstract getLabelsForTransactionId(transactionId?: number, trx?: sdk.TrxToken): Promise<table.TxLabel[]>;
|
|
937
|
+
abstract getTagsForOutputId(outputId: number, trx?: sdk.TrxToken): Promise<table.OutputTag[]>;
|
|
938
|
+
abstract listActions(auth: sdk.AuthId, args: sdk.ValidListActionsArgs): Promise<ListActionsResult>;
|
|
939
|
+
abstract listOutputs(auth: sdk.AuthId, args: sdk.ValidListOutputsArgs): Promise<ListOutputsResult>;
|
|
940
|
+
abstract countChangeInputs(userId: number, basketId: number, excludeSending: boolean): Promise<number>;
|
|
941
|
+
abstract findCertificatesAuth(auth: sdk.AuthId, args: sdk.FindCertificatesArgs): Promise<table.Certificate[]>;
|
|
942
|
+
abstract findOutputBasketsAuth(auth: sdk.AuthId, args: sdk.FindOutputBasketsArgs): Promise<table.OutputBasket[]>;
|
|
943
|
+
abstract findOutputsAuth(auth: sdk.AuthId, args: sdk.FindOutputsArgs): Promise<table.Output[]>;
|
|
944
|
+
abstract insertCertificateAuth(auth: sdk.AuthId, certificate: table.CertificateX): Promise<number>;
|
|
945
|
+
override isStorageProvider(): boolean
|
|
946
|
+
setServices(v: sdk.WalletServices)
|
|
947
|
+
getServices(): sdk.WalletServices
|
|
948
|
+
async abortAction(auth: sdk.AuthId, args: Partial<table.Transaction>): Promise<AbortActionResult>
|
|
949
|
+
async internalizeAction(auth: sdk.AuthId, args: InternalizeActionArgs): Promise<InternalizeActionResult>
|
|
950
|
+
async getReqsAndBeefToShareWithWorld(txids: string[], knownTxids: string[], trx?: sdk.TrxToken): Promise<GetReqsAndBeefResult>
|
|
951
|
+
async mergeReqToBeefToShareExternally(req: table.ProvenTxReq, mergeToBeef: Beef, knownTxids: string[], trx?: sdk.TrxToken): Promise<void>
|
|
952
|
+
async getProvenOrReq(txid: string, newReq?: table.ProvenTxReq, trx?: sdk.TrxToken): Promise<sdk.StorageProvenOrReq>
|
|
953
|
+
async updateTransactionsStatus(transactionIds: number[], status: sdk.TransactionStatus): Promise<void>
|
|
954
|
+
async updateTransactionStatus(status: sdk.TransactionStatus, transactionId?: number, userId?: number, reference?: string, trx?: sdk.TrxToken): Promise<void>
|
|
955
|
+
async createAction(auth: sdk.AuthId, args: sdk.ValidCreateActionArgs): Promise<sdk.StorageCreateActionResult>
|
|
956
|
+
async processAction(auth: sdk.AuthId, args: sdk.StorageProcessActionArgs): Promise<sdk.StorageProcessActionResults>
|
|
957
|
+
async attemptToPostReqsToNetwork(reqs: entity.ProvenTxReq[], trx?: sdk.TrxToken): Promise<PostReqsToNetworkResult>
|
|
958
|
+
async listCertificates(auth: sdk.AuthId, args: sdk.ValidListCertificatesArgs): Promise<ListCertificatesResult>
|
|
959
|
+
async verifyKnownValidTransaction(txid: string, trx?: sdk.TrxToken): Promise<boolean>
|
|
960
|
+
async getValidBeefForKnownTxid(txid: string, mergeToBeef?: Beef, trustSelf?: TrustSelf, knownTxids?: string[], trx?: sdk.TrxToken): Promise<Beef>
|
|
961
|
+
async getValidBeefForTxid(txid: string, mergeToBeef?: Beef, trustSelf?: TrustSelf, knownTxids?: string[], trx?: sdk.TrxToken): Promise<Beef | undefined>
|
|
962
|
+
async getBeefForTransaction(txid: string, options: sdk.StorageGetBeefOptions): Promise<Beef>
|
|
963
|
+
async findMonitorEventById(id: number, trx?: sdk.TrxToken): Promise<table.MonitorEvent | undefined>
|
|
964
|
+
async relinquishCertificate(auth: sdk.AuthId, args: RelinquishCertificateArgs): Promise<number>
|
|
965
|
+
async relinquishOutput(auth: sdk.AuthId, args: RelinquishOutputArgs): Promise<number>
|
|
966
|
+
async processSyncChunk(args: sdk.RequestSyncChunkArgs, chunk: sdk.SyncChunk): Promise<sdk.ProcessSyncChunkResult>
|
|
967
|
+
async updateProvenTxReqWithNewProvenTx(args: sdk.UpdateProvenTxReqWithNewProvenTxArgs): Promise<sdk.UpdateProvenTxReqWithNewProvenTxResult>
|
|
968
|
+
async confirmSpendableOutputs(): Promise<{
|
|
969
|
+
invalidSpendableOutputs: table.Output[];
|
|
970
|
+
}>
|
|
971
|
+
async updateProvenTxReqDynamics(id: number, update: Partial<table.ProvenTxReqDynamics>, trx?: sdk.TrxToken): Promise<number>
|
|
972
|
+
}
|
|
973
|
+
```
|
|
974
|
+
|
|
975
|
+
See also: [AuthId](#interface-authid), [Chain](#type-chain), [FindCertificatesArgs](#interface-findcertificatesargs), [FindOutputBasketsArgs](#interface-findoutputbasketsargs), [FindOutputsArgs](#interface-findoutputsargs), [GetReqsAndBeefResult](#interface-getreqsandbeefresult), [PostReqsToNetworkResult](#interface-postreqstonetworkresult), [ProcessSyncChunkResult](#interface-processsyncchunkresult), [ProvenOrRawTx](#interface-provenorrawtx), [PurgeParams](#interface-purgeparams), [PurgeResults](#interface-purgeresults), [RequestSyncChunkArgs](#interface-requestsyncchunkargs), [StorageCreateActionResult](#interface-storagecreateactionresult), [StorageFeeModel](#interface-storagefeemodel), [StorageGetBeefOptions](#interface-storagegetbeefoptions), [StorageProcessActionArgs](#interface-storageprocessactionargs), [StorageProcessActionResults](#interface-storageprocessactionresults), [StorageProvenOrReq](#interface-storageprovenorreq), [StorageProviderOptions](#interface-storageprovideroptions), [StorageReaderWriter](#class-storagereaderwriter), [SyncChunk](#interface-syncchunk), [TransactionStatus](#type-transactionstatus), [TrxToken](#interface-trxtoken), [UpdateProvenTxReqWithNewProvenTxArgs](#interface-updateproventxreqwithnewproventxargs), [UpdateProvenTxReqWithNewProvenTxResult](#interface-updateproventxreqwithnewproventxresult), [ValidCreateActionArgs](#interface-validcreateactionargs), [ValidListActionsArgs](#interface-validlistactionsargs), [ValidListCertificatesArgs](#interface-validlistcertificatesargs), [ValidListOutputsArgs](#interface-validlistoutputsargs), [WalletServices](#interface-walletservices), [WalletStorageProvider](#interface-walletstorageprovider), [attemptToPostReqsToNetwork](#function-attempttopostreqstonetwork), [createAction](#function-createaction), [getBeefForTransaction](#function-getbeeffortransaction), [internalizeAction](#function-internalizeaction), [listActions](#function-listactions), [listCertificates](#function-listcertificates), [listOutputs](#function-listoutputs), [log](#variable-log), [processAction](#function-processaction), [purgeData](#function-purgedata), [reviewStatus](#function-reviewstatus)
|
|
976
|
+
|
|
977
|
+
<details>
|
|
978
|
+
|
|
979
|
+
<summary>Class StorageProvider Details</summary>
|
|
980
|
+
|
|
981
|
+
#### Method confirmSpendableOutputs
|
|
982
|
+
|
|
983
|
+
For each spendable output in the 'default' basket of the authenticated user,
|
|
984
|
+
verify that the output script, satoshis, vout and txid match that of an output
|
|
985
|
+
still in the mempool of at least one service provider.
|
|
986
|
+
|
|
987
|
+
```ts
|
|
988
|
+
async confirmSpendableOutputs(): Promise<{
|
|
989
|
+
invalidSpendableOutputs: table.Output[];
|
|
990
|
+
}>
|
|
991
|
+
```
|
|
992
|
+
|
|
993
|
+
Returns
|
|
994
|
+
|
|
995
|
+
object with invalidSpendableOutputs array. A good result is an empty array.
|
|
996
|
+
|
|
997
|
+
#### Method getProvenOrReq
|
|
998
|
+
|
|
999
|
+
Checks if txid is a known valid ProvenTx and returns it if found.
|
|
1000
|
+
Next checks if txid is a current ProvenTxReq and returns that if found.
|
|
1001
|
+
If `newReq` is provided and an existing ProvenTxReq isn't found,
|
|
1002
|
+
use `newReq` to create a new ProvenTxReq.
|
|
1003
|
+
|
|
1004
|
+
This is safe "findOrInsert" operation using retry if unique index constraint
|
|
1005
|
+
is violated by a race condition insert.
|
|
1006
|
+
|
|
1007
|
+
```ts
|
|
1008
|
+
async getProvenOrReq(txid: string, newReq?: table.ProvenTxReq, trx?: sdk.TrxToken): Promise<sdk.StorageProvenOrReq>
|
|
1009
|
+
```
|
|
1010
|
+
See also: [StorageProvenOrReq](#interface-storageprovenorreq), [TrxToken](#interface-trxtoken)
|
|
1011
|
+
|
|
1012
|
+
#### Method getReqsAndBeefToShareWithWorld
|
|
1013
|
+
|
|
1014
|
+
Given an array of transaction txids with current ProvenTxReq ready-to-share status,
|
|
1015
|
+
lookup their DojoProvenTxReqApi req records.
|
|
1016
|
+
For the txids with reqs and status still ready to send construct a single merged beef.
|
|
1017
|
+
|
|
1018
|
+
```ts
|
|
1019
|
+
async getReqsAndBeefToShareWithWorld(txids: string[], knownTxids: string[], trx?: sdk.TrxToken): Promise<GetReqsAndBeefResult>
|
|
1020
|
+
```
|
|
1021
|
+
See also: [GetReqsAndBeefResult](#interface-getreqsandbeefresult), [TrxToken](#interface-trxtoken)
|
|
1022
|
+
|
|
1023
|
+
#### Method updateProvenTxReqWithNewProvenTx
|
|
1024
|
+
|
|
1025
|
+
Handles storage changes when a valid MerklePath and mined block header are found for a ProvenTxReq txid.
|
|
1026
|
+
|
|
1027
|
+
Performs the following storage updates (typically):
|
|
1028
|
+
1. Lookup the exising `ProvenTxReq` record for its rawTx
|
|
1029
|
+
2. Insert a new ProvenTx record using properties from `args` and rawTx, yielding a new provenTxId
|
|
1030
|
+
3. Update ProvenTxReq record with status 'completed' and new provenTxId value (and history of status changed)
|
|
1031
|
+
4. Unpack notify transactionIds from req and update each transaction's status to 'completed', provenTxId value.
|
|
1032
|
+
5. Update ProvenTxReq history again to record that transactions have been notified.
|
|
1033
|
+
6. Return results...
|
|
1034
|
+
|
|
1035
|
+
Alterations of "typically" to handle:
|
|
1036
|
+
|
|
1037
|
+
```ts
|
|
1038
|
+
async updateProvenTxReqWithNewProvenTx(args: sdk.UpdateProvenTxReqWithNewProvenTxArgs): Promise<sdk.UpdateProvenTxReqWithNewProvenTxResult>
|
|
1039
|
+
```
|
|
1040
|
+
See also: [UpdateProvenTxReqWithNewProvenTxArgs](#interface-updateproventxreqwithnewproventxargs), [UpdateProvenTxReqWithNewProvenTxResult](#interface-updateproventxreqwithnewproventxresult)
|
|
1041
|
+
|
|
1042
|
+
#### Method updateTransactionStatus
|
|
1043
|
+
|
|
1044
|
+
For all `status` values besides 'failed', just updates the transaction records status property.
|
|
1045
|
+
|
|
1046
|
+
For 'status' of 'failed', attempts to make outputs previously allocated as inputs to this transaction usable again.
|
|
1047
|
+
|
|
1048
|
+
```ts
|
|
1049
|
+
async updateTransactionStatus(status: sdk.TransactionStatus, transactionId?: number, userId?: number, reference?: string, trx?: sdk.TrxToken): Promise<void>
|
|
1050
|
+
```
|
|
1051
|
+
See also: [TransactionStatus](#type-transactionstatus), [TrxToken](#interface-trxtoken)
|
|
1052
|
+
|
|
1053
|
+
Throws
|
|
1054
|
+
|
|
1055
|
+
ERR_DOJO_COMPLETED_TX if current status is 'completed' and new status is not 'completed.
|
|
1056
|
+
|
|
1057
|
+
ERR_DOJO_PROVEN_TX if transaction has proof or provenTxId and new status is not 'completed'.
|
|
1058
|
+
|
|
1059
|
+
</details>
|
|
1060
|
+
|
|
1061
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1062
|
+
|
|
1063
|
+
---
|
|
1064
|
+
### Class: StorageReader
|
|
1065
|
+
|
|
1066
|
+
The `StorageReader` abstract class is the base of the concrete wallet storage provider classes.
|
|
1067
|
+
|
|
1068
|
+
It is the minimal interface required to read all wallet state records and is the base class for sync readers.
|
|
1069
|
+
|
|
1070
|
+
The next class in the heirarchy is the `StorageReaderWriter` which supports sync readers and writers.
|
|
1071
|
+
|
|
1072
|
+
The last class in the heirarchy is the `Storage` class which supports all active wallet operations.
|
|
1073
|
+
|
|
1074
|
+
The ability to construct a properly configured instance of this class implies authentication.
|
|
1075
|
+
As such there are no user specific authenticated access checks implied in the implementation of any of these methods.
|
|
1076
|
+
|
|
1077
|
+
```ts
|
|
1078
|
+
export abstract class StorageReader implements sdk.StorageSyncReader {
|
|
1079
|
+
chain: sdk.Chain;
|
|
1080
|
+
_settings?: table.Settings;
|
|
1081
|
+
whenLastAccess?: Date;
|
|
1082
|
+
get dbtype(): DBType | undefined
|
|
1083
|
+
constructor(options: StorageReaderOptions)
|
|
1084
|
+
isAvailable(): boolean
|
|
1085
|
+
async makeAvailable(): Promise<table.Settings>
|
|
1086
|
+
getSettings(): table.Settings
|
|
1087
|
+
isStorageProvider(): boolean
|
|
1088
|
+
abstract destroy(): Promise<void>;
|
|
1089
|
+
abstract transaction<T>(scope: (trx: sdk.TrxToken) => Promise<T>, trx?: sdk.TrxToken): Promise<T>;
|
|
1090
|
+
abstract readSettings(trx?: sdk.TrxToken): Promise<table.Settings>;
|
|
1091
|
+
abstract findCertificateFields(args: sdk.FindCertificateFieldsArgs): Promise<table.CertificateField[]>;
|
|
1092
|
+
abstract findCertificates(args: sdk.FindCertificatesArgs): Promise<table.Certificate[]>;
|
|
1093
|
+
abstract findCommissions(args: sdk.FindCommissionsArgs): Promise<table.Commission[]>;
|
|
1094
|
+
abstract findMonitorEvents(args: sdk.FindMonitorEventsArgs): Promise<table.MonitorEvent[]>;
|
|
1095
|
+
abstract findOutputBaskets(args: sdk.FindOutputBasketsArgs): Promise<table.OutputBasket[]>;
|
|
1096
|
+
abstract findOutputs(args: sdk.FindOutputsArgs): Promise<table.Output[]>;
|
|
1097
|
+
abstract findOutputTags(args: sdk.FindOutputTagsArgs): Promise<table.OutputTag[]>;
|
|
1098
|
+
abstract findSyncStates(args: sdk.FindSyncStatesArgs): Promise<table.SyncState[]>;
|
|
1099
|
+
abstract findTransactions(args: sdk.FindTransactionsArgs): Promise<table.Transaction[]>;
|
|
1100
|
+
abstract findTxLabels(args: sdk.FindTxLabelsArgs): Promise<table.TxLabel[]>;
|
|
1101
|
+
abstract findUsers(args: sdk.FindUsersArgs): Promise<table.User[]>;
|
|
1102
|
+
abstract countCertificateFields(args: sdk.FindCertificateFieldsArgs): Promise<number>;
|
|
1103
|
+
abstract countCertificates(args: sdk.FindCertificatesArgs): Promise<number>;
|
|
1104
|
+
abstract countCommissions(args: sdk.FindCommissionsArgs): Promise<number>;
|
|
1105
|
+
abstract countMonitorEvents(args: sdk.FindMonitorEventsArgs): Promise<number>;
|
|
1106
|
+
abstract countOutputBaskets(args: sdk.FindOutputBasketsArgs): Promise<number>;
|
|
1107
|
+
abstract countOutputs(args: sdk.FindOutputsArgs): Promise<number>;
|
|
1108
|
+
abstract countOutputTags(args: sdk.FindOutputTagsArgs): Promise<number>;
|
|
1109
|
+
abstract countSyncStates(args: sdk.FindSyncStatesArgs): Promise<number>;
|
|
1110
|
+
abstract countTransactions(args: sdk.FindTransactionsArgs): Promise<number>;
|
|
1111
|
+
abstract countTxLabels(args: sdk.FindTxLabelsArgs): Promise<number>;
|
|
1112
|
+
abstract countUsers(args: sdk.FindUsersArgs): Promise<number>;
|
|
1113
|
+
abstract getProvenTxsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.ProvenTx[]>;
|
|
1114
|
+
abstract getProvenTxReqsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.ProvenTxReq[]>;
|
|
1115
|
+
abstract getTxLabelMapsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.TxLabelMap[]>;
|
|
1116
|
+
abstract getOutputTagMapsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.OutputTagMap[]>;
|
|
1117
|
+
async findUserByIdentityKey(key: string): Promise<table.User | undefined>
|
|
1118
|
+
async getSyncChunk(args: sdk.RequestSyncChunkArgs): Promise<sdk.SyncChunk>
|
|
1119
|
+
validateEntityDate(date: Date | string | number): Date | string
|
|
1120
|
+
validateOptionalEntityDate(date: Date | string | number | null | undefined, useNowAsDefault?: boolean): Date | string | undefined
|
|
1121
|
+
validateDate(date: Date | string | number): Date
|
|
1122
|
+
validateOptionalDate(date: Date | string | number | null | undefined): Date | undefined
|
|
1123
|
+
validateDateForWhere(date: Date | string | number): Date | string | number
|
|
1124
|
+
}
|
|
1125
|
+
```
|
|
1126
|
+
|
|
1127
|
+
See also: [Chain](#type-chain), [DBType](#type-dbtype), [FindCertificateFieldsArgs](#interface-findcertificatefieldsargs), [FindCertificatesArgs](#interface-findcertificatesargs), [FindCommissionsArgs](#interface-findcommissionsargs), [FindForUserSincePagedArgs](#interface-findforusersincepagedargs), [FindMonitorEventsArgs](#interface-findmonitoreventsargs), [FindOutputBasketsArgs](#interface-findoutputbasketsargs), [FindOutputTagsArgs](#interface-findoutputtagsargs), [FindOutputsArgs](#interface-findoutputsargs), [FindSyncStatesArgs](#interface-findsyncstatesargs), [FindTransactionsArgs](#interface-findtransactionsargs), [FindTxLabelsArgs](#interface-findtxlabelsargs), [FindUsersArgs](#interface-findusersargs), [RequestSyncChunkArgs](#interface-requestsyncchunkargs), [StorageReaderOptions](#interface-storagereaderoptions), [StorageSyncReader](#class-storagesyncreader), [SyncChunk](#interface-syncchunk), [TrxToken](#interface-trxtoken), [getSyncChunk](#function-getsyncchunk)
|
|
1128
|
+
|
|
1129
|
+
<details>
|
|
1130
|
+
|
|
1131
|
+
<summary>Class StorageReader Details</summary>
|
|
1132
|
+
|
|
1133
|
+
#### Method validateEntityDate
|
|
1134
|
+
|
|
1135
|
+
Force dates to strings on SQLite and Date objects on MySQL
|
|
1136
|
+
|
|
1137
|
+
```ts
|
|
1138
|
+
validateEntityDate(date: Date | string | number): Date | string
|
|
1139
|
+
```
|
|
1140
|
+
|
|
1141
|
+
#### Method validateOptionalEntityDate
|
|
1142
|
+
|
|
1143
|
+
```ts
|
|
1144
|
+
validateOptionalEntityDate(date: Date | string | number | null | undefined, useNowAsDefault?: boolean): Date | string | undefined
|
|
1145
|
+
```
|
|
1146
|
+
|
|
1147
|
+
Argument Details
|
|
1148
|
+
|
|
1149
|
+
+ **useNowAsDefault**
|
|
1150
|
+
+ if true and date is null or undefiend, set to current time.
|
|
1151
|
+
|
|
1152
|
+
</details>
|
|
1153
|
+
|
|
1154
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1155
|
+
|
|
1156
|
+
---
|
|
1157
|
+
### Class: StorageReaderWriter
|
|
1158
|
+
|
|
1159
|
+
```ts
|
|
1160
|
+
export abstract class StorageReaderWriter extends StorageReader {
|
|
1161
|
+
constructor(options: StorageReaderWriterOptions)
|
|
1162
|
+
abstract dropAllData(): Promise<void>;
|
|
1163
|
+
abstract migrate(storageName: string, storageIdentityKey: string): Promise<string>;
|
|
1164
|
+
abstract findOutputTagMaps(args: sdk.FindOutputTagMapsArgs): Promise<table.OutputTagMap[]>;
|
|
1165
|
+
abstract findProvenTxReqs(args: sdk.FindProvenTxReqsArgs): Promise<table.ProvenTxReq[]>;
|
|
1166
|
+
abstract findProvenTxs(args: sdk.FindProvenTxsArgs): Promise<table.ProvenTx[]>;
|
|
1167
|
+
abstract findTxLabelMaps(args: sdk.FindTxLabelMapsArgs): Promise<table.TxLabelMap[]>;
|
|
1168
|
+
abstract countOutputTagMaps(args: sdk.FindOutputTagMapsArgs): Promise<number>;
|
|
1169
|
+
abstract countProvenTxReqs(args: sdk.FindProvenTxReqsArgs): Promise<number>;
|
|
1170
|
+
abstract countProvenTxs(args: sdk.FindProvenTxsArgs): Promise<number>;
|
|
1171
|
+
abstract countTxLabelMaps(args: sdk.FindTxLabelMapsArgs): Promise<number>;
|
|
1172
|
+
abstract insertCertificate(certificate: table.Certificate, trx?: sdk.TrxToken): Promise<number>;
|
|
1173
|
+
abstract insertCertificateField(certificateField: table.CertificateField, trx?: sdk.TrxToken): Promise<void>;
|
|
1174
|
+
abstract insertCommission(commission: table.Commission, trx?: sdk.TrxToken): Promise<number>;
|
|
1175
|
+
abstract insertMonitorEvent(event: table.MonitorEvent, trx?: sdk.TrxToken): Promise<number>;
|
|
1176
|
+
abstract insertOutput(output: table.Output, trx?: sdk.TrxToken): Promise<number>;
|
|
1177
|
+
abstract insertOutputBasket(basket: table.OutputBasket, trx?: sdk.TrxToken): Promise<number>;
|
|
1178
|
+
abstract insertOutputTag(tag: table.OutputTag, trx?: sdk.TrxToken): Promise<number>;
|
|
1179
|
+
abstract insertOutputTagMap(tagMap: table.OutputTagMap, trx?: sdk.TrxToken): Promise<void>;
|
|
1180
|
+
abstract insertProvenTx(tx: table.ProvenTx, trx?: sdk.TrxToken): Promise<number>;
|
|
1181
|
+
abstract insertProvenTxReq(tx: table.ProvenTxReq, trx?: sdk.TrxToken): Promise<number>;
|
|
1182
|
+
abstract insertSyncState(syncState: table.SyncState, trx?: sdk.TrxToken): Promise<number>;
|
|
1183
|
+
abstract insertTransaction(tx: table.Transaction, trx?: sdk.TrxToken): Promise<number>;
|
|
1184
|
+
abstract insertTxLabel(label: table.TxLabel, trx?: sdk.TrxToken): Promise<number>;
|
|
1185
|
+
abstract insertTxLabelMap(labelMap: table.TxLabelMap, trx?: sdk.TrxToken): Promise<void>;
|
|
1186
|
+
abstract insertUser(user: table.User, trx?: sdk.TrxToken): Promise<number>;
|
|
1187
|
+
abstract updateCertificate(id: number, update: Partial<table.Certificate>, trx?: sdk.TrxToken): Promise<number>;
|
|
1188
|
+
abstract updateCertificateField(certificateId: number, fieldName: string, update: Partial<table.CertificateField>, trx?: sdk.TrxToken): Promise<number>;
|
|
1189
|
+
abstract updateCommission(id: number, update: Partial<table.Commission>, trx?: sdk.TrxToken): Promise<number>;
|
|
1190
|
+
abstract updateMonitorEvent(id: number, update: Partial<table.MonitorEvent>, trx?: sdk.TrxToken): Promise<number>;
|
|
1191
|
+
abstract updateOutput(id: number, update: Partial<table.Output>, trx?: sdk.TrxToken): Promise<number>;
|
|
1192
|
+
abstract updateOutputBasket(id: number, update: Partial<table.OutputBasket>, trx?: sdk.TrxToken): Promise<number>;
|
|
1193
|
+
abstract updateOutputTag(id: number, update: Partial<table.OutputTag>, trx?: sdk.TrxToken): Promise<number>;
|
|
1194
|
+
abstract updateOutputTagMap(outputId: number, tagId: number, update: Partial<table.OutputTagMap>, trx?: sdk.TrxToken): Promise<number>;
|
|
1195
|
+
abstract updateProvenTx(id: number, update: Partial<table.ProvenTx>, trx?: sdk.TrxToken): Promise<number>;
|
|
1196
|
+
abstract updateProvenTxReq(id: number | number[], update: Partial<table.ProvenTxReq>, trx?: sdk.TrxToken): Promise<number>;
|
|
1197
|
+
abstract updateSyncState(id: number, update: Partial<table.SyncState>, trx?: sdk.TrxToken): Promise<number>;
|
|
1198
|
+
abstract updateTransaction(id: number | number[], update: Partial<table.Transaction>, trx?: sdk.TrxToken): Promise<number>;
|
|
1199
|
+
abstract updateTxLabel(id: number, update: Partial<table.TxLabel>, trx?: sdk.TrxToken): Promise<number>;
|
|
1200
|
+
abstract updateTxLabelMap(transactionId: number, txLabelId: number, update: Partial<table.TxLabelMap>, trx?: sdk.TrxToken): Promise<number>;
|
|
1201
|
+
abstract updateUser(id: number, update: Partial<table.User>, trx?: sdk.TrxToken): Promise<number>;
|
|
1202
|
+
async setActive(auth: sdk.AuthId, newActiveStorageIdentityKey: string): Promise<number>
|
|
1203
|
+
async findCertificateById(id: number, trx?: sdk.TrxToken): Promise<table.Certificate | undefined>
|
|
1204
|
+
async findCommissionById(id: number, trx?: sdk.TrxToken): Promise<table.Commission | undefined>
|
|
1205
|
+
async findOutputById(id: number, trx?: sdk.TrxToken, noScript?: boolean): Promise<table.Output | undefined>
|
|
1206
|
+
async findOutputBasketById(id: number, trx?: sdk.TrxToken): Promise<table.OutputBasket | undefined>
|
|
1207
|
+
async findProvenTxById(id: number, trx?: sdk.TrxToken | undefined): Promise<table.ProvenTx | undefined>
|
|
1208
|
+
async findProvenTxReqById(id: number, trx?: sdk.TrxToken | undefined): Promise<table.ProvenTxReq | undefined>
|
|
1209
|
+
async findSyncStateById(id: number, trx?: sdk.TrxToken): Promise<table.SyncState | undefined>
|
|
1210
|
+
async findTransactionById(id: number, trx?: sdk.TrxToken, noRawTx?: boolean): Promise<table.Transaction | undefined>
|
|
1211
|
+
async findTxLabelById(id: number, trx?: sdk.TrxToken): Promise<table.TxLabel | undefined>
|
|
1212
|
+
async findOutputTagById(id: number, trx?: sdk.TrxToken): Promise<table.OutputTag | undefined>
|
|
1213
|
+
async findUserById(id: number, trx?: sdk.TrxToken): Promise<table.User | undefined>
|
|
1214
|
+
async findOrInsertUser(identityKey: string, trx?: sdk.TrxToken): Promise<{
|
|
1215
|
+
user: table.User;
|
|
1216
|
+
isNew: boolean;
|
|
1217
|
+
}>
|
|
1218
|
+
async findOrInsertTransaction(newTx: table.Transaction, trx?: sdk.TrxToken): Promise<{
|
|
1219
|
+
tx: table.Transaction;
|
|
1220
|
+
isNew: boolean;
|
|
1221
|
+
}>
|
|
1222
|
+
async findOrInsertOutputBasket(userId: number, name: string, trx?: sdk.TrxToken): Promise<table.OutputBasket>
|
|
1223
|
+
async findOrInsertTxLabel(userId: number, label: string, trx?: sdk.TrxToken): Promise<table.TxLabel>
|
|
1224
|
+
async findOrInsertTxLabelMap(transactionId: number, txLabelId: number, trx?: sdk.TrxToken): Promise<table.TxLabelMap>
|
|
1225
|
+
async findOrInsertOutputTag(userId: number, tag: string, trx?: sdk.TrxToken): Promise<table.OutputTag>
|
|
1226
|
+
async findOrInsertOutputTagMap(outputId: number, outputTagId: number, trx?: sdk.TrxToken): Promise<table.OutputTagMap>
|
|
1227
|
+
async findOrInsertSyncStateAuth(auth: sdk.AuthId, storageIdentityKey: string, storageName: string): Promise<{
|
|
1228
|
+
syncState: table.SyncState;
|
|
1229
|
+
isNew: boolean;
|
|
1230
|
+
}>
|
|
1231
|
+
async findOrInsertProvenTxReq(newReq: table.ProvenTxReq, trx?: sdk.TrxToken): Promise<{
|
|
1232
|
+
req: table.ProvenTxReq;
|
|
1233
|
+
isNew: boolean;
|
|
1234
|
+
}>
|
|
1235
|
+
async findOrInsertProvenTx(newProven: table.ProvenTx, trx?: sdk.TrxToken): Promise<{
|
|
1236
|
+
proven: table.ProvenTx;
|
|
1237
|
+
isNew: boolean;
|
|
1238
|
+
}>
|
|
1239
|
+
abstract processSyncChunk(args: sdk.RequestSyncChunkArgs, chunk: sdk.SyncChunk): Promise<sdk.ProcessSyncChunkResult>;
|
|
1240
|
+
async tagOutput(partial: Partial<table.Output>, tag: string, trx?: sdk.TrxToken): Promise<void>
|
|
1241
|
+
}
|
|
1242
|
+
```
|
|
1243
|
+
|
|
1244
|
+
See also: [AuthId](#interface-authid), [FindOutputTagMapsArgs](#interface-findoutputtagmapsargs), [FindProvenTxReqsArgs](#interface-findproventxreqsargs), [FindProvenTxsArgs](#interface-findproventxsargs), [FindTxLabelMapsArgs](#interface-findtxlabelmapsargs), [ProcessSyncChunkResult](#interface-processsyncchunkresult), [RequestSyncChunkArgs](#interface-requestsyncchunkargs), [StorageReader](#class-storagereader), [StorageReaderWriterOptions](#interface-storagereaderwriteroptions), [SyncChunk](#interface-syncchunk), [TrxToken](#interface-trxtoken)
|
|
1245
|
+
|
|
1246
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1247
|
+
|
|
1248
|
+
---
|
|
1249
|
+
### Class: StorageServer
|
|
1250
|
+
|
|
1251
|
+
```ts
|
|
1252
|
+
export class StorageServer {
|
|
1253
|
+
constructor(storage: StorageProvider, options: WalletStorageServerOptions)
|
|
1254
|
+
public start(): void
|
|
1255
|
+
}
|
|
1256
|
+
```
|
|
1257
|
+
|
|
1258
|
+
See also: [StorageProvider](#class-storageprovider), [WalletStorageServerOptions](#interface-walletstorageserveroptions)
|
|
1259
|
+
|
|
1260
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1261
|
+
|
|
1262
|
+
---
|
|
1263
|
+
### Class: StorageSyncReader
|
|
1264
|
+
|
|
1265
|
+
The `StorageSyncReader` non-abstract class must be used when authentication checking access to the methods of a `StorageBaseReader` is required.
|
|
1266
|
+
|
|
1267
|
+
Constructed from an `auth` object that must minimally include the authenticated user's identityKey,
|
|
1268
|
+
and the `StorageBaseReader` to be protected.
|
|
1269
|
+
|
|
1270
|
+
```ts
|
|
1271
|
+
export class StorageSyncReader implements sdk.StorageSyncReader {
|
|
1272
|
+
constructor(public auth: sdk.AuthId, public storage: StorageReader)
|
|
1273
|
+
isAvailable(): boolean
|
|
1274
|
+
async makeAvailable(): Promise<table.Settings>
|
|
1275
|
+
destroy(): Promise<void>
|
|
1276
|
+
getSettings(): table.Settings
|
|
1277
|
+
async getSyncChunk(args: sdk.RequestSyncChunkArgs): Promise<sdk.SyncChunk>
|
|
1278
|
+
async findUserByIdentityKey(key: string): Promise<table.User | undefined>
|
|
1279
|
+
async findSyncStates(args: sdk.FindSyncStatesArgs): Promise<table.SyncState[]>
|
|
1280
|
+
async findCertificateFields(args: sdk.FindCertificateFieldsArgs): Promise<table.CertificateField[]>
|
|
1281
|
+
async findCertificates(args: sdk.FindCertificatesArgs): Promise<table.Certificate[]>
|
|
1282
|
+
async findCommissions(args: sdk.FindCommissionsArgs): Promise<table.Commission[]>
|
|
1283
|
+
async findOutputBaskets(args: sdk.FindOutputBasketsArgs): Promise<table.OutputBasket[]>
|
|
1284
|
+
async findOutputs(args: sdk.FindOutputsArgs): Promise<table.Output[]>
|
|
1285
|
+
async findOutputTags(args: sdk.FindOutputTagsArgs): Promise<table.OutputTag[]>
|
|
1286
|
+
async findTransactions(args: sdk.FindTransactionsArgs): Promise<table.Transaction[]>
|
|
1287
|
+
async findTxLabels(args: sdk.FindTxLabelsArgs): Promise<table.TxLabel[]>
|
|
1288
|
+
async getProvenTxsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.ProvenTx[]>
|
|
1289
|
+
async getProvenTxReqsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.ProvenTxReq[]>
|
|
1290
|
+
async getTxLabelMapsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.TxLabelMap[]>
|
|
1291
|
+
async getOutputTagMapsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.OutputTagMap[]>
|
|
1292
|
+
}
|
|
1293
|
+
```
|
|
1294
|
+
|
|
1295
|
+
See also: [AuthId](#interface-authid), [FindCertificateFieldsArgs](#interface-findcertificatefieldsargs), [FindCertificatesArgs](#interface-findcertificatesargs), [FindCommissionsArgs](#interface-findcommissionsargs), [FindForUserSincePagedArgs](#interface-findforusersincepagedargs), [FindOutputBasketsArgs](#interface-findoutputbasketsargs), [FindOutputTagsArgs](#interface-findoutputtagsargs), [FindOutputsArgs](#interface-findoutputsargs), [FindSyncStatesArgs](#interface-findsyncstatesargs), [FindTransactionsArgs](#interface-findtransactionsargs), [FindTxLabelsArgs](#interface-findtxlabelsargs), [RequestSyncChunkArgs](#interface-requestsyncchunkargs), [StorageReader](#class-storagereader), [SyncChunk](#interface-syncchunk), [getSyncChunk](#function-getsyncchunk)
|
|
1296
|
+
|
|
1297
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1298
|
+
|
|
1299
|
+
---
|
|
1300
|
+
### Class: WalletStorageManager
|
|
1301
|
+
|
|
1302
|
+
The `SignerStorage` class delivers authentication checking storage access to the wallet.
|
|
1303
|
+
|
|
1304
|
+
If manages multiple `StorageBase` derived storage services: one actice, the rest as backups.
|
|
1305
|
+
|
|
1306
|
+
Of the storage services, one is 'active' at any one time.
|
|
1307
|
+
On startup, and whenever triggered by the wallet, `SignerStorage` runs a syncrhonization sequence:
|
|
1308
|
+
|
|
1309
|
+
1. While synchronizing, all other access to storage is blocked waiting.
|
|
1310
|
+
2. The active service is confirmed, potentially triggering a resolution process if there is disagreement.
|
|
1311
|
+
3. Changes are pushed from the active storage service to each inactive, backup service.
|
|
1312
|
+
|
|
1313
|
+
Some storage services do not support multiple writers. `SignerStorage` manages wait-blocking write requests
|
|
1314
|
+
for these services.
|
|
1315
|
+
|
|
1316
|
+
```ts
|
|
1317
|
+
export class WalletStorageManager implements sdk.WalletStorage {
|
|
1318
|
+
stores: sdk.WalletStorageProvider[] = [];
|
|
1319
|
+
_authId: sdk.AuthId;
|
|
1320
|
+
_services?: sdk.WalletServices;
|
|
1321
|
+
_userIdentityKeyToId: Record<string, number> = {};
|
|
1322
|
+
_readerCount: number = 0;
|
|
1323
|
+
_writerCount: number = 0;
|
|
1324
|
+
_isSingleWriter: boolean = true;
|
|
1325
|
+
_syncLocked: boolean = false;
|
|
1326
|
+
_storageProviderLocked: boolean = false;
|
|
1327
|
+
constructor(identityKey: string, active?: sdk.WalletStorageProvider, backups?: sdk.WalletStorageProvider[])
|
|
1328
|
+
isStorageProvider(): boolean
|
|
1329
|
+
async getUserId(): Promise<number>
|
|
1330
|
+
async getAuth(mustBeActive?: boolean): Promise<sdk.AuthId>
|
|
1331
|
+
getActive(): sdk.WalletStorageProvider
|
|
1332
|
+
async getActiveForWriter(): Promise<sdk.WalletStorageWriter>
|
|
1333
|
+
async getActiveForReader(): Promise<sdk.WalletStorageReader>
|
|
1334
|
+
async getActiveForSync(): Promise<sdk.WalletStorageSync>
|
|
1335
|
+
async getActiveForStorageProvider(): Promise<StorageProvider>
|
|
1336
|
+
async runAsWriter<R>(writer: (active: sdk.WalletStorageWriter) => Promise<R>): Promise<R>
|
|
1337
|
+
async runAsReader<R>(reader: (active: sdk.WalletStorageReader) => Promise<R>): Promise<R>
|
|
1338
|
+
async runAsSync<R>(sync: (active: sdk.WalletStorageSync) => Promise<R>, activeSync?: sdk.WalletStorageSync): Promise<R>
|
|
1339
|
+
async runAsStorageProvider<R>(sync: (active: StorageProvider) => Promise<R>): Promise<R>
|
|
1340
|
+
isActiveStorageProvider(): boolean
|
|
1341
|
+
isAvailable(): boolean
|
|
1342
|
+
async addWalletStorageProvider(provider: sdk.WalletStorageProvider): Promise<void>
|
|
1343
|
+
setServices(v: sdk.WalletServices)
|
|
1344
|
+
getServices(): sdk.WalletServices
|
|
1345
|
+
getSettings(): table.Settings
|
|
1346
|
+
async makeAvailable(): Promise<table.Settings>
|
|
1347
|
+
async migrate(storageName: string, storageIdentityKey: string): Promise<string>
|
|
1348
|
+
async destroy(): Promise<void>
|
|
1349
|
+
async findOrInsertUser(identityKey: string): Promise<{
|
|
1350
|
+
user: table.User;
|
|
1351
|
+
isNew: boolean;
|
|
1352
|
+
}>
|
|
1353
|
+
async abortAction(args: AbortActionArgs): Promise<AbortActionResult>
|
|
1354
|
+
async createAction(vargs: sdk.ValidCreateActionArgs): Promise<sdk.StorageCreateActionResult>
|
|
1355
|
+
async internalizeAction(args: InternalizeActionArgs): Promise<InternalizeActionResult>
|
|
1356
|
+
async relinquishCertificate(args: RelinquishCertificateArgs): Promise<number>
|
|
1357
|
+
async relinquishOutput(args: RelinquishOutputArgs): Promise<number>
|
|
1358
|
+
async processAction(args: sdk.StorageProcessActionArgs): Promise<sdk.StorageProcessActionResults>
|
|
1359
|
+
async insertCertificate(certificate: table.Certificate): Promise<number>
|
|
1360
|
+
async listActions(vargs: sdk.ValidListActionsArgs): Promise<ListActionsResult>
|
|
1361
|
+
async listCertificates(args: sdk.ValidListCertificatesArgs): Promise<ListCertificatesResult>
|
|
1362
|
+
async listOutputs(vargs: sdk.ValidListOutputsArgs): Promise<ListOutputsResult>
|
|
1363
|
+
async findCertificates(args: sdk.FindCertificatesArgs): Promise<table.Certificate[]>
|
|
1364
|
+
async findOutputBaskets(args: sdk.FindOutputBasketsArgs): Promise<table.OutputBasket[]>
|
|
1365
|
+
async findOutputs(args: sdk.FindOutputsArgs): Promise<table.Output[]>
|
|
1366
|
+
async findProvenTxReqs(args: sdk.FindProvenTxReqsArgs): Promise<table.ProvenTxReq[]>
|
|
1367
|
+
async syncFromReader(identityKey: string, reader: StorageSyncReader): Promise<void>
|
|
1368
|
+
async updateBackups(activeSync?: sdk.WalletStorageSync)
|
|
1369
|
+
async syncToWriter(auth: sdk.AuthId, writer: sdk.WalletStorageProvider, activeSync?: sdk.WalletStorageSync): Promise<{
|
|
1370
|
+
inserts: number;
|
|
1371
|
+
updates: number;
|
|
1372
|
+
}>
|
|
1373
|
+
async setActive(storageIdentityKey: string): Promise<void>
|
|
1374
|
+
}
|
|
1375
|
+
```
|
|
1376
|
+
|
|
1377
|
+
See also: [AuthId](#interface-authid), [FindCertificatesArgs](#interface-findcertificatesargs), [FindOutputBasketsArgs](#interface-findoutputbasketsargs), [FindOutputsArgs](#interface-findoutputsargs), [FindProvenTxReqsArgs](#interface-findproventxreqsargs), [StorageCreateActionResult](#interface-storagecreateactionresult), [StorageProcessActionArgs](#interface-storageprocessactionargs), [StorageProcessActionResults](#interface-storageprocessactionresults), [StorageProvider](#class-storageprovider), [StorageSyncReader](#class-storagesyncreader), [ValidCreateActionArgs](#interface-validcreateactionargs), [ValidListActionsArgs](#interface-validlistactionsargs), [ValidListCertificatesArgs](#interface-validlistcertificatesargs), [ValidListOutputsArgs](#interface-validlistoutputsargs), [WalletServices](#interface-walletservices), [WalletStorage](#interface-walletstorage), [WalletStorageProvider](#interface-walletstorageprovider), [WalletStorageReader](#interface-walletstoragereader), [WalletStorageSync](#interface-walletstoragesync), [WalletStorageWriter](#interface-walletstoragewriter), [createAction](#function-createaction), [internalizeAction](#function-internalizeaction), [listActions](#function-listactions), [listCertificates](#function-listcertificates), [listOutputs](#function-listoutputs), [processAction](#function-processaction)
|
|
1378
|
+
|
|
1379
|
+
<details>
|
|
1380
|
+
|
|
1381
|
+
<summary>Class WalletStorageManager Details</summary>
|
|
1382
|
+
|
|
1383
|
+
#### Property _isSingleWriter
|
|
1384
|
+
|
|
1385
|
+
if true, allow only a single writer to proceed at a time.
|
|
1386
|
+
queue the blocked requests so they get executed in order when released.
|
|
1387
|
+
|
|
1388
|
+
```ts
|
|
1389
|
+
_isSingleWriter: boolean = true
|
|
1390
|
+
```
|
|
1391
|
+
|
|
1392
|
+
#### Property _storageProviderLocked
|
|
1393
|
+
|
|
1394
|
+
if true, allow no new reader or writers or sync to proceed.
|
|
1395
|
+
queue the blocked requests so they get executed in order when released.
|
|
1396
|
+
|
|
1397
|
+
```ts
|
|
1398
|
+
_storageProviderLocked: boolean = false
|
|
1399
|
+
```
|
|
1400
|
+
|
|
1401
|
+
#### Property _syncLocked
|
|
1402
|
+
|
|
1403
|
+
if true, allow no new reader or writers to proceed.
|
|
1404
|
+
queue the blocked requests so they get executed in order when released.
|
|
1405
|
+
|
|
1406
|
+
```ts
|
|
1407
|
+
_syncLocked: boolean = false
|
|
1408
|
+
```
|
|
1409
|
+
|
|
1410
|
+
#### Method isActiveStorageProvider
|
|
1411
|
+
|
|
1412
|
+
```ts
|
|
1413
|
+
isActiveStorageProvider(): boolean
|
|
1414
|
+
```
|
|
1415
|
+
|
|
1416
|
+
Returns
|
|
1417
|
+
|
|
1418
|
+
true if the active `WalletStorageProvider` also implements `StorageProvider`
|
|
1419
|
+
|
|
1420
|
+
#### Method runAsSync
|
|
1421
|
+
|
|
1422
|
+
```ts
|
|
1423
|
+
async runAsSync<R>(sync: (active: sdk.WalletStorageSync) => Promise<R>, activeSync?: sdk.WalletStorageSync): Promise<R>
|
|
1424
|
+
```
|
|
1425
|
+
See also: [WalletStorageSync](#interface-walletstoragesync)
|
|
1426
|
+
|
|
1427
|
+
Argument Details
|
|
1428
|
+
|
|
1429
|
+
+ **sync**
|
|
1430
|
+
+ the function to run with sync access lock
|
|
1431
|
+
+ **activeSync**
|
|
1432
|
+
+ from chained sync functions, active storage already held under sync access lock.
|
|
1433
|
+
|
|
1434
|
+
#### Method setActive
|
|
1435
|
+
|
|
1436
|
+
Updates backups and switches to new active storage provider from among current backup providers.
|
|
1437
|
+
|
|
1438
|
+
```ts
|
|
1439
|
+
async setActive(storageIdentityKey: string): Promise<void>
|
|
1440
|
+
```
|
|
1441
|
+
|
|
1442
|
+
Argument Details
|
|
1443
|
+
|
|
1444
|
+
+ **storageIdentityKey**
|
|
1445
|
+
+ of current backup storage provider that is to become the new active provider.
|
|
1446
|
+
|
|
1447
|
+
</details>
|
|
1448
|
+
|
|
1449
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1450
|
+
|
|
1451
|
+
---
|
|
1452
|
+
## Functions
|
|
1453
|
+
|
|
1454
|
+
| | |
|
|
1455
|
+
| --- | --- |
|
|
1456
|
+
| [attemptToPostReqsToNetwork](#function-attempttopostreqstonetwork) | [offsetPubKey](#function-offsetpubkey) |
|
|
1457
|
+
| [createAction](#function-createaction) | [processAction](#function-processaction) |
|
|
1458
|
+
| [createStorageServiceChargeScript](#function-createstorageservicechargescript) | [purgeData](#function-purgedata) |
|
|
1459
|
+
| [generateChangeSdk](#function-generatechangesdk) | [reviewStatus](#function-reviewstatus) |
|
|
1460
|
+
| [generateChangeSdkMakeStorage](#function-generatechangesdkmakestorage) | [transactionInputSize](#function-transactioninputsize) |
|
|
1461
|
+
| [getBeefForTransaction](#function-getbeeffortransaction) | [transactionOutputSize](#function-transactionoutputsize) |
|
|
1462
|
+
| [getSyncChunk](#function-getsyncchunk) | [transactionSize](#function-transactionsize) |
|
|
1463
|
+
| [internalizeAction](#function-internalizeaction) | [validateGenerateChangeSdkParams](#function-validategeneratechangesdkparams) |
|
|
1464
|
+
| [listActions](#function-listactions) | [validateGenerateChangeSdkResult](#function-validategeneratechangesdkresult) |
|
|
1465
|
+
| [listCertificates](#function-listcertificates) | [validateStorageFeeModel](#function-validatestoragefeemodel) |
|
|
1466
|
+
| [listOutputs](#function-listoutputs) | [varUintSize](#function-varuintsize) |
|
|
1467
|
+
| [lockScriptWithKeyOffsetFromPubKey](#function-lockscriptwithkeyoffsetfrompubkey) | |
|
|
1468
|
+
|
|
1469
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1470
|
+
|
|
1471
|
+
---
|
|
1472
|
+
|
|
1473
|
+
### Function: attemptToPostReqsToNetwork
|
|
1474
|
+
|
|
1475
|
+
Attempt to post one or more `ProvenTxReq` with status 'unsent'
|
|
1476
|
+
to the bitcoin network.
|
|
1477
|
+
|
|
1478
|
+
```ts
|
|
1479
|
+
export async function attemptToPostReqsToNetwork(storage: StorageProvider, reqs: entity.ProvenTxReq[], trx?: sdk.TrxToken): Promise<PostReqsToNetworkResult>
|
|
1480
|
+
```
|
|
1481
|
+
|
|
1482
|
+
See also: [PostReqsToNetworkResult](#interface-postreqstonetworkresult), [StorageProvider](#class-storageprovider), [TrxToken](#interface-trxtoken)
|
|
1483
|
+
|
|
1484
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1485
|
+
|
|
1486
|
+
---
|
|
1487
|
+
### Function: createAction
|
|
1488
|
+
|
|
1489
|
+
```ts
|
|
1490
|
+
export async function createAction(storage: StorageProvider, auth: sdk.AuthId, vargs: sdk.ValidCreateActionArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<sdk.StorageCreateActionResult>
|
|
1491
|
+
```
|
|
1492
|
+
|
|
1493
|
+
See also: [AuthId](#interface-authid), [StorageCreateActionResult](#interface-storagecreateactionresult), [StorageProvider](#class-storageprovider), [ValidCreateActionArgs](#interface-validcreateactionargs)
|
|
1494
|
+
|
|
1495
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1496
|
+
|
|
1497
|
+
---
|
|
1498
|
+
### Function: createStorageServiceChargeScript
|
|
1499
|
+
|
|
1500
|
+
```ts
|
|
1501
|
+
export function createStorageServiceChargeScript(pubKeyHex: PubKeyHex): {
|
|
1502
|
+
script: string;
|
|
1503
|
+
keyOffset: string;
|
|
1504
|
+
}
|
|
1505
|
+
```
|
|
1506
|
+
|
|
1507
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1508
|
+
|
|
1509
|
+
---
|
|
1510
|
+
### Function: generateChangeSdk
|
|
1511
|
+
|
|
1512
|
+
Simplifications:
|
|
1513
|
+
- only support one change type with fixed length scripts.
|
|
1514
|
+
- only support satsPerKb fee model.
|
|
1515
|
+
|
|
1516
|
+
Confirms for each availbleChange output that it remains available as they are allocated and selects alternate if not.
|
|
1517
|
+
|
|
1518
|
+
```ts
|
|
1519
|
+
export async function generateChangeSdk(params: GenerateChangeSdkParams, allocateChangeInput: (targetSatoshis: number, exactSatoshis?: number) => Promise<GenerateChangeSdkChangeInput | undefined>, releaseChangeInput: (outputId: number) => Promise<void>): Promise<GenerateChangeSdkResult>
|
|
1520
|
+
```
|
|
1521
|
+
|
|
1522
|
+
See also: [GenerateChangeSdkChangeInput](#interface-generatechangesdkchangeinput), [GenerateChangeSdkParams](#interface-generatechangesdkparams), [GenerateChangeSdkResult](#interface-generatechangesdkresult)
|
|
1523
|
+
|
|
1524
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1525
|
+
|
|
1526
|
+
---
|
|
1527
|
+
### Function: generateChangeSdkMakeStorage
|
|
1528
|
+
|
|
1529
|
+
```ts
|
|
1530
|
+
export function generateChangeSdkMakeStorage(availableChange: GenerateChangeSdkChangeInput[]): {
|
|
1531
|
+
allocateChangeInput: (targetSatoshis: number, exactSatoshis?: number) => Promise<GenerateChangeSdkChangeInput | undefined>;
|
|
1532
|
+
releaseChangeInput: (outputId: number) => Promise<void>;
|
|
1533
|
+
getLog: () => string;
|
|
1534
|
+
}
|
|
1535
|
+
```
|
|
1536
|
+
|
|
1537
|
+
See also: [GenerateChangeSdkChangeInput](#interface-generatechangesdkchangeinput)
|
|
1538
|
+
|
|
1539
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1540
|
+
|
|
1541
|
+
---
|
|
1542
|
+
### Function: getBeefForTransaction
|
|
1543
|
+
|
|
1544
|
+
Creates a `Beef` to support the validity of a transaction identified by its `txid`.
|
|
1545
|
+
|
|
1546
|
+
`storage` is used to retrieve proven transactions and their merkle paths,
|
|
1547
|
+
or proven_tx_req record with beef of external inputs (internal inputs meged by recursion).
|
|
1548
|
+
Otherwise external services are used.
|
|
1549
|
+
|
|
1550
|
+
`options.maxRecursionDepth` can be set to prevent overly deep chained dependencies. Will throw ERR_EXTSVS_ENVELOPE_DEPTH if exceeded.
|
|
1551
|
+
|
|
1552
|
+
If `trustSelf` is true, a partial `Beef` will be returned where transactions known by `storage` to
|
|
1553
|
+
be valid by verified proof are represented solely by 'txid'.
|
|
1554
|
+
|
|
1555
|
+
If `knownTxids` is defined, any 'txid' required by the `Beef` that appears in the array is represented solely as a 'known' txid.
|
|
1556
|
+
|
|
1557
|
+
```ts
|
|
1558
|
+
export async function getBeefForTransaction(storage: StorageProvider, txid: string, options: sdk.StorageGetBeefOptions): Promise<Beef>
|
|
1559
|
+
```
|
|
1560
|
+
|
|
1561
|
+
See also: [StorageGetBeefOptions](#interface-storagegetbeefoptions), [StorageProvider](#class-storageprovider)
|
|
1562
|
+
|
|
1563
|
+
<details>
|
|
1564
|
+
|
|
1565
|
+
<summary>Function getBeefForTransaction Details</summary>
|
|
1566
|
+
|
|
1567
|
+
Argument Details
|
|
1568
|
+
|
|
1569
|
+
+ **storage**
|
|
1570
|
+
+ the chain on which txid exists.
|
|
1571
|
+
+ **txid**
|
|
1572
|
+
+ the transaction hash for which an envelope is requested.
|
|
1573
|
+
|
|
1574
|
+
</details>
|
|
1575
|
+
|
|
1576
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1577
|
+
|
|
1578
|
+
---
|
|
1579
|
+
### Function: getSyncChunk
|
|
1580
|
+
|
|
1581
|
+
Gets the next sync chunk of updated data from un-remoted storage (could be using a remote DB connection).
|
|
1582
|
+
|
|
1583
|
+
```ts
|
|
1584
|
+
export async function getSyncChunk(storage: StorageReader, args: sdk.RequestSyncChunkArgs): Promise<sdk.SyncChunk>
|
|
1585
|
+
```
|
|
1586
|
+
|
|
1587
|
+
See also: [RequestSyncChunkArgs](#interface-requestsyncchunkargs), [StorageReader](#class-storagereader), [SyncChunk](#interface-syncchunk)
|
|
1588
|
+
|
|
1589
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1590
|
+
|
|
1591
|
+
---
|
|
1592
|
+
### Function: internalizeAction
|
|
1593
|
+
|
|
1594
|
+
Internalize Action allows a wallet to take ownership of outputs in a pre-existing transaction.
|
|
1595
|
+
The transaction may, or may not already be known to both the storage and user.
|
|
1596
|
+
|
|
1597
|
+
Two types of outputs are handled: "wallet payments" and "basket insertions".
|
|
1598
|
+
|
|
1599
|
+
A "basket insertion" output is considered a custom output and has no effect on the wallet's "balance".
|
|
1600
|
+
|
|
1601
|
+
A "wallet payment" adds an outputs value to the wallet's change "balance". These outputs are assigned to the "default" basket.
|
|
1602
|
+
|
|
1603
|
+
Processing starts with simple validation and then checks for a pre-existing transaction.
|
|
1604
|
+
If the transaction is already known to the user, then the outputs are reviewed against the existing outputs treatment,
|
|
1605
|
+
and merge rules are added to the arguments passed to the storage layer.
|
|
1606
|
+
The existing transaction must be in the 'unproven' or 'completed' status. Any other status is an error.
|
|
1607
|
+
|
|
1608
|
+
When the transaction already exists, the description is updated. The isOutgoing sense is not changed.
|
|
1609
|
+
|
|
1610
|
+
"basket insertion" Merge Rules:
|
|
1611
|
+
1. The "default" basket may not be specified as the insertion basket.
|
|
1612
|
+
2. A change output in the "default" basket may not be target of an insertion into a different basket.
|
|
1613
|
+
3. These baskets do not affect the wallet's balance and are typed "custom".
|
|
1614
|
+
|
|
1615
|
+
"wallet payment" Merge Rules:
|
|
1616
|
+
1. Targetting an existing change "default" basket output results in a no-op. No error. No alterations made.
|
|
1617
|
+
2. Targetting a previously "custom" non-change output converts it into a change output. This alters the transaction's `satoshis`, and the wallet balance.
|
|
1618
|
+
|
|
1619
|
+
```ts
|
|
1620
|
+
export async function internalizeAction(storage: StorageProvider, auth: sdk.AuthId, args: InternalizeActionArgs): Promise<InternalizeActionResult>
|
|
1621
|
+
```
|
|
1622
|
+
|
|
1623
|
+
See also: [AuthId](#interface-authid), [StorageProvider](#class-storageprovider)
|
|
1624
|
+
|
|
1625
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1626
|
+
|
|
1627
|
+
---
|
|
1628
|
+
### Function: listActions
|
|
1629
|
+
|
|
1630
|
+
```ts
|
|
1631
|
+
export async function listActions(storage: StorageKnex, auth: sdk.AuthId, vargs: sdk.ValidListActionsArgs): Promise<ListActionsResult>
|
|
1632
|
+
```
|
|
1633
|
+
|
|
1634
|
+
See also: [AuthId](#interface-authid), [StorageKnex](#class-storageknex), [ValidListActionsArgs](#interface-validlistactionsargs)
|
|
1635
|
+
|
|
1636
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1637
|
+
|
|
1638
|
+
---
|
|
1639
|
+
### Function: listCertificates
|
|
1640
|
+
|
|
1641
|
+
```ts
|
|
1642
|
+
export async function listCertificates(storage: StorageProvider, auth: sdk.AuthId, vargs: sdk.ValidListCertificatesArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<ListCertificatesResult>
|
|
1643
|
+
```
|
|
1644
|
+
|
|
1645
|
+
See also: [AuthId](#interface-authid), [StorageProvider](#class-storageprovider), [ValidListCertificatesArgs](#interface-validlistcertificatesargs)
|
|
1646
|
+
|
|
1647
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1648
|
+
|
|
1649
|
+
---
|
|
1650
|
+
### Function: listOutputs
|
|
1651
|
+
|
|
1652
|
+
```ts
|
|
1653
|
+
export async function listOutputs(dsk: StorageKnex, auth: sdk.AuthId, vargs: sdk.ValidListOutputsArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<ListOutputsResult>
|
|
1654
|
+
```
|
|
1655
|
+
|
|
1656
|
+
See also: [AuthId](#interface-authid), [StorageKnex](#class-storageknex), [ValidListOutputsArgs](#interface-validlistoutputsargs)
|
|
1657
|
+
|
|
1658
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1659
|
+
|
|
1660
|
+
---
|
|
1661
|
+
### Function: lockScriptWithKeyOffsetFromPubKey
|
|
1662
|
+
|
|
1663
|
+
```ts
|
|
1664
|
+
export function lockScriptWithKeyOffsetFromPubKey(pubKey: string, keyOffset?: string): {
|
|
1665
|
+
script: string;
|
|
1666
|
+
keyOffset: string;
|
|
1667
|
+
}
|
|
1668
|
+
```
|
|
1669
|
+
|
|
1670
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1671
|
+
|
|
1672
|
+
---
|
|
1673
|
+
### Function: offsetPubKey
|
|
1674
|
+
|
|
1675
|
+
```ts
|
|
1676
|
+
export function offsetPubKey(pubKey: string, keyOffset?: string): {
|
|
1677
|
+
offsetPubKey: string;
|
|
1678
|
+
keyOffset: string;
|
|
1679
|
+
}
|
|
1680
|
+
```
|
|
1681
|
+
|
|
1682
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1683
|
+
|
|
1684
|
+
---
|
|
1685
|
+
### Function: processAction
|
|
1686
|
+
|
|
1687
|
+
```ts
|
|
1688
|
+
export async function processAction(storage: StorageProvider, auth: sdk.AuthId, args: sdk.StorageProcessActionArgs): Promise<sdk.StorageProcessActionResults>
|
|
1689
|
+
```
|
|
1690
|
+
|
|
1691
|
+
See also: [AuthId](#interface-authid), [StorageProcessActionArgs](#interface-storageprocessactionargs), [StorageProcessActionResults](#interface-storageprocessactionresults), [StorageProvider](#class-storageprovider)
|
|
1692
|
+
|
|
1693
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1694
|
+
|
|
1695
|
+
---
|
|
1696
|
+
### Function: purgeData
|
|
1697
|
+
|
|
1698
|
+
```ts
|
|
1699
|
+
export async function purgeData(storage: StorageKnex, params: sdk.PurgeParams, trx?: sdk.TrxToken): Promise<sdk.PurgeResults>
|
|
1700
|
+
```
|
|
1701
|
+
|
|
1702
|
+
See also: [PurgeParams](#interface-purgeparams), [PurgeResults](#interface-purgeresults), [StorageKnex](#class-storageknex), [TrxToken](#interface-trxtoken)
|
|
1703
|
+
|
|
1704
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1705
|
+
|
|
1706
|
+
---
|
|
1707
|
+
### Function: reviewStatus
|
|
1708
|
+
|
|
1709
|
+
```ts
|
|
1710
|
+
export async function reviewStatus(storage: StorageKnex, args: {
|
|
1711
|
+
agedLimit: Date;
|
|
1712
|
+
trx?: sdk.TrxToken;
|
|
1713
|
+
}): Promise<{
|
|
1714
|
+
log: string;
|
|
1715
|
+
}>
|
|
1716
|
+
```
|
|
1717
|
+
|
|
1718
|
+
See also: [StorageKnex](#class-storageknex), [TrxToken](#interface-trxtoken), [log](#variable-log)
|
|
1719
|
+
|
|
1720
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1721
|
+
|
|
1722
|
+
---
|
|
1723
|
+
### Function: transactionInputSize
|
|
1724
|
+
|
|
1725
|
+
```ts
|
|
1726
|
+
export function transactionInputSize(scriptSize: number): number
|
|
1727
|
+
```
|
|
1728
|
+
|
|
1729
|
+
<details>
|
|
1730
|
+
|
|
1731
|
+
<summary>Function transactionInputSize Details</summary>
|
|
1732
|
+
|
|
1733
|
+
Returns
|
|
1734
|
+
|
|
1735
|
+
serialized byte length a transaction input
|
|
1736
|
+
|
|
1737
|
+
Argument Details
|
|
1738
|
+
|
|
1739
|
+
+ **scriptSize**
|
|
1740
|
+
+ byte length of input script
|
|
1741
|
+
|
|
1742
|
+
</details>
|
|
1743
|
+
|
|
1744
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1745
|
+
|
|
1746
|
+
---
|
|
1747
|
+
### Function: transactionOutputSize
|
|
1748
|
+
|
|
1749
|
+
```ts
|
|
1750
|
+
export function transactionOutputSize(scriptSize: number): number
|
|
1751
|
+
```
|
|
1752
|
+
|
|
1753
|
+
<details>
|
|
1754
|
+
|
|
1755
|
+
<summary>Function transactionOutputSize Details</summary>
|
|
1756
|
+
|
|
1757
|
+
Returns
|
|
1758
|
+
|
|
1759
|
+
serialized byte length a transaction output
|
|
1760
|
+
|
|
1761
|
+
Argument Details
|
|
1762
|
+
|
|
1763
|
+
+ **scriptSize**
|
|
1764
|
+
+ byte length of output script
|
|
1765
|
+
|
|
1766
|
+
</details>
|
|
1767
|
+
|
|
1768
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1769
|
+
|
|
1770
|
+
---
|
|
1771
|
+
### Function: transactionSize
|
|
1772
|
+
|
|
1773
|
+
Compute the serialized binary transaction size in bytes
|
|
1774
|
+
given the number of inputs and outputs,
|
|
1775
|
+
and the size of each script.
|
|
1776
|
+
|
|
1777
|
+
```ts
|
|
1778
|
+
export function transactionSize(inputs: number[], outputs: number[]): number
|
|
1779
|
+
```
|
|
1780
|
+
|
|
1781
|
+
<details>
|
|
1782
|
+
|
|
1783
|
+
<summary>Function transactionSize Details</summary>
|
|
1784
|
+
|
|
1785
|
+
Returns
|
|
1786
|
+
|
|
1787
|
+
total transaction size in bytes
|
|
1788
|
+
|
|
1789
|
+
Argument Details
|
|
1790
|
+
|
|
1791
|
+
+ **inputs**
|
|
1792
|
+
+ array of input script lengths, in bytes
|
|
1793
|
+
+ **outputs**
|
|
1794
|
+
+ array of output script lengths, in bytes
|
|
1795
|
+
|
|
1796
|
+
</details>
|
|
1797
|
+
|
|
1798
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1799
|
+
|
|
1800
|
+
---
|
|
1801
|
+
### Function: validateGenerateChangeSdkParams
|
|
1802
|
+
|
|
1803
|
+
```ts
|
|
1804
|
+
export function validateGenerateChangeSdkParams(params: GenerateChangeSdkParams)
|
|
1805
|
+
```
|
|
1806
|
+
|
|
1807
|
+
See also: [GenerateChangeSdkParams](#interface-generatechangesdkparams)
|
|
1808
|
+
|
|
1809
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1810
|
+
|
|
1811
|
+
---
|
|
1812
|
+
### Function: validateGenerateChangeSdkResult
|
|
1813
|
+
|
|
1814
|
+
```ts
|
|
1815
|
+
export function validateGenerateChangeSdkResult(params: GenerateChangeSdkParams, r: GenerateChangeSdkResult): {
|
|
1816
|
+
ok: boolean;
|
|
1817
|
+
log: string;
|
|
1818
|
+
}
|
|
1819
|
+
```
|
|
1820
|
+
|
|
1821
|
+
See also: [GenerateChangeSdkParams](#interface-generatechangesdkparams), [GenerateChangeSdkResult](#interface-generatechangesdkresult), [log](#variable-log)
|
|
1822
|
+
|
|
1823
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1824
|
+
|
|
1825
|
+
---
|
|
1826
|
+
### Function: validateStorageFeeModel
|
|
1827
|
+
|
|
1828
|
+
```ts
|
|
1829
|
+
export function validateStorageFeeModel(v?: sdk.StorageFeeModel): sdk.StorageFeeModel
|
|
1830
|
+
```
|
|
1831
|
+
|
|
1832
|
+
See also: [StorageFeeModel](#interface-storagefeemodel)
|
|
1833
|
+
|
|
1834
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1835
|
+
|
|
1836
|
+
---
|
|
1837
|
+
### Function: varUintSize
|
|
1838
|
+
|
|
1839
|
+
Returns the byte size required to encode number as Bitcoin VarUint
|
|
1840
|
+
|
|
1841
|
+
```ts
|
|
1842
|
+
export function varUintSize(val: number): 1 | 3 | 5 | 9 {
|
|
1843
|
+
if (val < 0)
|
|
1844
|
+
throw new sdk.WERR_INVALID_PARAMETER("varUint", "non-negative");
|
|
1845
|
+
return val <= 252 ? 1 : val <= 65535 ? 3 : val <= 4294967295 ? 5 : 9;
|
|
1846
|
+
}
|
|
1847
|
+
```
|
|
1848
|
+
|
|
1849
|
+
See also: [WERR_INVALID_PARAMETER](#class-werr_invalid_parameter)
|
|
1850
|
+
|
|
1851
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1852
|
+
|
|
1853
|
+
---
|
|
1854
|
+
## Types
|
|
1855
|
+
|
|
1856
|
+
| |
|
|
1857
|
+
| --- |
|
|
1858
|
+
| [DBType](#type-dbtype) |
|
|
1859
|
+
| [PostReqsToNetworkDetailsStatus](#type-postreqstonetworkdetailsstatus) |
|
|
1860
|
+
|
|
1861
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1862
|
+
|
|
1863
|
+
---
|
|
1864
|
+
|
|
1865
|
+
### Type: DBType
|
|
1866
|
+
|
|
1867
|
+
```ts
|
|
1868
|
+
export type DBType = "SQLite" | "MySQL"
|
|
1869
|
+
```
|
|
1870
|
+
|
|
1871
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1872
|
+
|
|
1873
|
+
---
|
|
1874
|
+
### Type: PostReqsToNetworkDetailsStatus
|
|
1875
|
+
|
|
1876
|
+
```ts
|
|
1877
|
+
export type PostReqsToNetworkDetailsStatus = "success" | "doubleSpend" | "unknown"
|
|
1878
|
+
```
|
|
1879
|
+
|
|
1880
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1881
|
+
|
|
1882
|
+
---
|
|
1883
|
+
## Variables
|
|
1884
|
+
|