@bsv/wallet-toolbox 1.1.59 → 1.1.61
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/.prettierrc +1 -1
- package/docs/client.md +39 -5
- package/docs/services.md +1 -0
- package/docs/setup.md +9 -26
- package/docs/storage.md +35 -0
- package/docs/wallet.md +39 -5
- package/out/src/Setup.d.ts.map +1 -1
- package/out/src/Setup.js +6 -16
- package/out/src/Setup.js.map +1 -1
- package/out/src/Wallet.d.ts.map +1 -1
- package/out/src/Wallet.js +4 -11
- package/out/src/Wallet.js.map +1 -1
- package/out/src/monitor/Monitor.d.ts.map +1 -1
- package/out/src/monitor/Monitor.js.map +1 -1
- package/out/src/monitor/MonitorDaemon.d.ts.map +1 -1
- package/out/src/monitor/MonitorDaemon.js +1 -3
- package/out/src/monitor/MonitorDaemon.js.map +1 -1
- package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskCheckForProofs.js +2 -10
- package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
- package/out/src/monitor/tasks/TaskClock.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskClock.js +1 -1
- package/out/src/monitor/tasks/TaskClock.js.map +1 -1
- package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
- package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskNewHeader.js +1 -2
- package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
- package/out/src/monitor/tasks/TaskPurge.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskPurge.js +1 -2
- package/out/src/monitor/tasks/TaskPurge.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewStatus.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskReviewStatus.js +1 -2
- package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -1
- package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
- package/out/src/sdk/CertOps.d.ts.map +1 -1
- package/out/src/sdk/CertOps.js +4 -12
- package/out/src/sdk/CertOps.js.map +1 -1
- package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -1
- package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
- package/out/src/sdk/WERR_errors.d.ts.map +1 -1
- package/out/src/sdk/WERR_errors.js.map +1 -1
- package/out/src/sdk/WalletError.d.ts.map +1 -1
- package/out/src/sdk/WalletError.js +1 -4
- package/out/src/sdk/WalletError.js.map +1 -1
- package/out/src/sdk/WalletServices.interfaces.d.ts +2 -0
- package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
- package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
- package/out/src/sdk/__test/CertificateLifeCycle.test.js +1 -3
- package/out/src/sdk/__test/CertificateLifeCycle.test.js.map +1 -1
- package/out/src/sdk/__test/PrivilegedKeyManager.test.js +13 -26
- package/out/src/sdk/__test/PrivilegedKeyManager.test.js.map +1 -1
- package/out/src/sdk/types.d.ts.map +1 -1
- package/out/src/sdk/types.js +2 -10
- package/out/src/sdk/types.js.map +1 -1
- package/out/src/sdk/validationHelpers.d.ts.map +1 -1
- package/out/src/sdk/validationHelpers.js +5 -12
- package/out/src/sdk/validationHelpers.js.map +1 -1
- package/out/src/services/Services.d.ts +1 -0
- package/out/src/services/Services.d.ts.map +1 -1
- package/out/src/services/Services.js +29 -38
- package/out/src/services/Services.js.map +1 -1
- package/out/src/services/__tests/bitrails.test.js.map +1 -1
- package/out/src/services/__tests/getMerklePath.test.js.map +1 -1
- package/out/src/services/__tests/getRawTx.test.js.map +1 -1
- package/out/src/services/__tests/verifyBeef.test.js +2 -1
- package/out/src/services/__tests/verifyBeef.test.js.map +1 -1
- package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
- package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +1 -3
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
- package/out/src/services/providers/ARC.d.ts.map +1 -1
- package/out/src/services/providers/ARC.js +1 -2
- package/out/src/services/providers/ARC.js.map +1 -1
- package/out/src/services/providers/Bitails.d.ts.map +1 -1
- package/out/src/services/providers/Bitails.js +62 -134
- package/out/src/services/providers/Bitails.js.map +1 -1
- package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -1
- package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
- package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
- package/out/src/services/providers/WhatsOnChain.js +6 -21
- package/out/src/services/providers/WhatsOnChain.js.map +1 -1
- package/out/src/services/providers/__tests/WhatsOnChain.test.js +1 -2
- package/out/src/services/providers/__tests/WhatsOnChain.test.js.map +1 -1
- package/out/src/services/providers/echangeRates.d.ts.map +1 -1
- package/out/src/services/providers/echangeRates.js.map +1 -1
- package/out/src/signer/WalletSigner.d.ts.map +1 -1
- package/out/src/signer/WalletSigner.js.map +1 -1
- package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -1
- package/out/src/signer/methods/acquireDirectCertificate.js +1 -3
- package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
- package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
- package/out/src/signer/methods/buildSignableTransaction.js +3 -11
- package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
- package/out/src/signer/methods/createAction.d.ts.map +1 -1
- package/out/src/signer/methods/createAction.js +3 -10
- package/out/src/signer/methods/createAction.js.map +1 -1
- package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
- package/out/src/signer/methods/internalizeAction.js.map +1 -1
- package/out/src/signer/methods/proveCertificate.d.ts.map +1 -1
- package/out/src/signer/methods/proveCertificate.js.map +1 -1
- package/out/src/signer/methods/signAction.d.ts.map +1 -1
- package/out/src/signer/methods/signAction.js +2 -7
- package/out/src/signer/methods/signAction.js.map +1 -1
- package/out/src/storage/StorageKnex.d.ts.map +1 -1
- package/out/src/storage/StorageKnex.js +15 -44
- package/out/src/storage/StorageKnex.js.map +1 -1
- package/out/src/storage/StorageProvider.d.ts.map +1 -1
- package/out/src/storage/StorageProvider.js +9 -34
- package/out/src/storage/StorageProvider.js.map +1 -1
- package/out/src/storage/StorageReader.d.ts.map +1 -1
- package/out/src/storage/StorageReader.js.map +1 -1
- package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
- package/out/src/storage/StorageReaderWriter.js.map +1 -1
- package/out/src/storage/StorageSyncReader.d.ts.map +1 -1
- package/out/src/storage/StorageSyncReader.js.map +1 -1
- package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
- package/out/src/storage/WalletStorageManager.js +5 -10
- package/out/src/storage/WalletStorageManager.js.map +1 -1
- package/out/src/storage/__test/WalletStorageManager.test.js +2 -8
- package/out/src/storage/__test/WalletStorageManager.test.js.map +1 -1
- package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.js +10 -30
- package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.js.map +1 -1
- package/out/src/storage/methods/__test/GenerateChange/randomValsUsed1.d.ts.map +1 -1
- package/out/src/storage/methods/__test/GenerateChange/randomValsUsed1.js +17 -28
- package/out/src/storage/methods/__test/GenerateChange/randomValsUsed1.js.map +1 -1
- package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
- package/out/src/storage/methods/attemptToPostReqsToNetwork.js +6 -20
- package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
- package/out/src/storage/methods/createAction.d.ts.map +1 -1
- package/out/src/storage/methods/createAction.js +4 -9
- package/out/src/storage/methods/createAction.js.map +1 -1
- package/out/src/storage/methods/generateChange.d.ts.map +1 -1
- package/out/src/storage/methods/generateChange.js +7 -18
- package/out/src/storage/methods/generateChange.js.map +1 -1
- package/out/src/storage/methods/getBeefForTransaction.d.ts.map +1 -1
- package/out/src/storage/methods/getBeefForTransaction.js +1 -3
- package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
- package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -1
- package/out/src/storage/methods/getSyncChunk.js.map +1 -1
- package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
- package/out/src/storage/methods/internalizeAction.js +2 -9
- package/out/src/storage/methods/internalizeAction.js.map +1 -1
- package/out/src/storage/methods/listActions.d.ts.map +1 -1
- package/out/src/storage/methods/listActions.js +3 -15
- package/out/src/storage/methods/listActions.js.map +1 -1
- package/out/src/storage/methods/listCertificates.d.ts.map +1 -1
- package/out/src/storage/methods/listCertificates.js.map +1 -1
- package/out/src/storage/methods/listOutputs.d.ts.map +1 -1
- package/out/src/storage/methods/listOutputs.js +4 -11
- package/out/src/storage/methods/listOutputs.js.map +1 -1
- package/out/src/storage/methods/processAction.d.ts.map +1 -1
- package/out/src/storage/methods/processAction.js +4 -10
- package/out/src/storage/methods/processAction.js.map +1 -1
- package/out/src/storage/methods/purgeData.d.ts.map +1 -1
- package/out/src/storage/methods/purgeData.js +8 -32
- package/out/src/storage/methods/purgeData.js.map +1 -1
- package/out/src/storage/methods/reviewStatus.d.ts.map +1 -1
- package/out/src/storage/methods/reviewStatus.js +1 -3
- package/out/src/storage/methods/reviewStatus.js.map +1 -1
- package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageClient.js +15 -41
- package/out/src/storage/remoting/StorageClient.js.map +1 -1
- package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageServer.js +2 -5
- package/out/src/storage/remoting/StorageServer.js.map +1 -1
- package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
- package/out/src/storage/schema/KnexMigrations.js +24 -130
- package/out/src/storage/schema/KnexMigrations.js.map +1 -1
- package/out/src/storage/schema/entities/Certificate.d.ts.map +1 -1
- package/out/src/storage/schema/entities/Certificate.js +1 -1
- package/out/src/storage/schema/entities/Certificate.js.map +1 -1
- package/out/src/storage/schema/entities/CertificateField.d.ts.map +1 -1
- package/out/src/storage/schema/entities/CertificateField.js +2 -5
- package/out/src/storage/schema/entities/CertificateField.js.map +1 -1
- package/out/src/storage/schema/entities/Commission.d.ts.map +1 -1
- package/out/src/storage/schema/entities/Commission.js +2 -5
- package/out/src/storage/schema/entities/Commission.js.map +1 -1
- package/out/src/storage/schema/entities/EntityBase.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityBase.js.map +1 -1
- package/out/src/storage/schema/entities/MergeEntity.d.ts.map +1 -1
- package/out/src/storage/schema/entities/MergeEntity.js +14 -9
- package/out/src/storage/schema/entities/MergeEntity.js.map +1 -1
- package/out/src/storage/schema/entities/Output.d.ts.map +1 -1
- package/out/src/storage/schema/entities/Output.js +8 -25
- package/out/src/storage/schema/entities/Output.js.map +1 -1
- package/out/src/storage/schema/entities/OutputBasket.d.ts.map +1 -1
- package/out/src/storage/schema/entities/OutputBasket.js +1 -1
- package/out/src/storage/schema/entities/OutputBasket.js.map +1 -1
- package/out/src/storage/schema/entities/OutputTag.d.ts.map +1 -1
- package/out/src/storage/schema/entities/OutputTag.js +1 -1
- package/out/src/storage/schema/entities/OutputTag.js.map +1 -1
- package/out/src/storage/schema/entities/OutputTagMap.d.ts.map +1 -1
- package/out/src/storage/schema/entities/OutputTagMap.js +3 -7
- package/out/src/storage/schema/entities/OutputTagMap.js.map +1 -1
- package/out/src/storage/schema/entities/ProvenTx.d.ts.map +1 -1
- package/out/src/storage/schema/entities/ProvenTx.js +10 -20
- package/out/src/storage/schema/entities/ProvenTx.js.map +1 -1
- package/out/src/storage/schema/entities/ProvenTxReq.d.ts.map +1 -1
- package/out/src/storage/schema/entities/ProvenTxReq.js +8 -18
- package/out/src/storage/schema/entities/ProvenTxReq.js.map +1 -1
- package/out/src/storage/schema/entities/SyncState.d.ts +1 -0
- package/out/src/storage/schema/entities/SyncState.d.ts.map +1 -1
- package/out/src/storage/schema/entities/SyncState.js +41 -6
- package/out/src/storage/schema/entities/SyncState.js.map +1 -1
- package/out/src/storage/schema/entities/Transaction.d.ts.map +1 -1
- package/out/src/storage/schema/entities/Transaction.js +4 -13
- package/out/src/storage/schema/entities/Transaction.js.map +1 -1
- package/out/src/storage/schema/entities/TxLabel.d.ts.map +1 -1
- package/out/src/storage/schema/entities/TxLabel.js +1 -1
- package/out/src/storage/schema/entities/TxLabel.js.map +1 -1
- package/out/src/storage/schema/entities/TxLabelMap.d.ts.map +1 -1
- package/out/src/storage/schema/entities/TxLabelMap.js +3 -9
- package/out/src/storage/schema/entities/TxLabelMap.js.map +1 -1
- package/out/src/storage/schema/entities/User.d.ts.map +1 -1
- package/out/src/storage/schema/entities/User.js +3 -5
- package/out/src/storage/schema/entities/User.js.map +1 -1
- package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.js.map +1 -1
- package/out/src/storage/schema/entities/__tests/CertificateTests.test.js.map +1 -1
- package/out/src/storage/schema/entities/__tests/CommissionTests.test.js.map +1 -1
- package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.js.map +1 -1
- package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.js.map +1 -1
- package/out/src/storage/schema/entities/__tests/OutputTagTests.test.js.map +1 -1
- package/out/src/storage/schema/entities/__tests/OutputTests.test.js.map +1 -1
- package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.js.map +1 -1
- package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js +1 -2
- package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js.map +1 -1
- package/out/src/storage/schema/entities/__tests/SyncStateTests.test.js.map +1 -1
- package/out/src/storage/schema/entities/__tests/TransactionTests.test.js +2 -2
- package/out/src/storage/schema/entities/__tests/TransactionTests.test.js.map +1 -1
- package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.js.map +1 -1
- package/out/src/storage/schema/entities/__tests/TxLabelTests.test.js.map +1 -1
- package/out/src/storage/schema/entities/__tests/stampLogTests.test.js.map +1 -1
- package/out/src/storage/schema/entities/__tests/usersTests.test.js.map +1 -1
- package/out/src/storage/schema/tables/TableSettings.d.ts.map +1 -1
- package/out/src/storage/sync/StorageMySQLDojoReader.d.ts.map +1 -1
- package/out/src/storage/sync/StorageMySQLDojoReader.js +1 -3
- package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -1
- package/out/src/utility/ScriptTemplateBRC29.d.ts.map +1 -1
- package/out/src/utility/ScriptTemplateBRC29.js +1 -2
- package/out/src/utility/ScriptTemplateBRC29.js.map +1 -1
- package/out/src/utility/stampLog.d.ts.map +1 -1
- package/out/src/utility/stampLog.js.map +1 -1
- package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -1
- package/out/src/utility/tscProofToMerklePath.js.map +1 -1
- package/out/src/utility/utilityHelpers.buffer.d.ts.map +1 -1
- package/out/src/utility/utilityHelpers.buffer.js.map +1 -1
- package/out/src/utility/utilityHelpers.d.ts.map +1 -1
- package/out/src/utility/utilityHelpers.js +1 -3
- package/out/src/utility/utilityHelpers.js.map +1 -1
- package/out/test/Wallet/StorageClient/storageClient.man.test.js.map +1 -1
- package/out/test/Wallet/action/internalizeAction.a.test.js.map +1 -1
- package/out/test/Wallet/certificate/acquireCertificate.test.js.map +1 -1
- package/out/test/Wallet/certificate/listCertificates.test.js.map +1 -1
- package/out/test/Wallet/get/getHeaderForHeight.test.js +2 -6
- package/out/test/Wallet/get/getHeaderForHeight.test.js.map +1 -1
- package/out/test/Wallet/get/getHeight.test.js.map +1 -1
- package/out/test/Wallet/get/getKnownTxids.test.js.map +1 -1
- package/out/test/Wallet/get/getNetwork.test.js.map +1 -1
- package/out/test/Wallet/get/getVersion.test.js.map +1 -1
- package/out/test/Wallet/live/walletLive.man.test.d.ts.map +1 -1
- package/out/test/Wallet/live/walletLive.man.test.js +3 -9
- package/out/test/Wallet/live/walletLive.man.test.js.map +1 -1
- package/out/test/Wallet/local/localWallet.man.test.d.ts.map +1 -1
- package/out/test/Wallet/local/localWallet.man.test.js +15 -22
- package/out/test/Wallet/local/localWallet.man.test.js.map +1 -1
- package/out/test/Wallet/specOps/specOps.man.test.js +1 -4
- package/out/test/Wallet/specOps/specOps.man.test.js.map +1 -1
- package/out/test/Wallet/support/janitor.man.test.js.map +1 -1
- package/out/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.js.map +1 -1
- package/out/test/Wallet/sync/setActive.test.js +73 -50
- package/out/test/Wallet/sync/setActive.test.js.map +1 -1
- package/out/test/checkDB.d.ts.map +1 -1
- package/out/test/checkDB.js.map +1 -1
- package/out/test/examples/backup.man.test.d.ts.map +1 -1
- package/out/test/examples/backup.man.test.js.map +1 -1
- package/out/test/examples/pushdrop.test.d.ts.map +1 -1
- package/out/test/examples/pushdrop.test.js +5 -4
- package/out/test/examples/pushdrop.test.js.map +1 -1
- package/out/test/monitor/Monitor.test.js.map +1 -1
- package/out/test/services/Services.test.js.map +1 -1
- package/out/test/storage/KnexMigrations.test.js.map +1 -1
- package/out/test/storage/StorageMySQLDojoReader.man.test.js +1 -3
- package/out/test/storage/StorageMySQLDojoReader.man.test.js.map +1 -1
- package/out/test/storage/count.test.js.map +1 -1
- package/out/test/storage/find.test.js +5 -10
- package/out/test/storage/find.test.js.map +1 -1
- package/out/test/storage/findLegacy.test.js.map +1 -1
- package/out/test/storage/insert.test.js.map +1 -1
- package/out/test/storage/update.test.js +7 -19
- package/out/test/storage/update.test.js.map +1 -1
- package/out/test/storage/update2.test.js +22 -24
- package/out/test/storage/update2.test.js.map +1 -1
- package/out/test/utils/TestUtilsWalletStorage.d.ts +3 -1
- package/out/test/utils/TestUtilsWalletStorage.d.ts.map +1 -1
- package/out/test/utils/TestUtilsWalletStorage.js +52 -76
- package/out/test/utils/TestUtilsWalletStorage.js.map +1 -1
- package/out/test/wallet/action/abortAction.test.d.ts.map +1 -0
- package/out/test/wallet/action/abortAction.test.js.map +1 -0
- package/out/test/wallet/action/createAction.test.d.ts.map +1 -0
- package/out/test/{Wallet → wallet}/action/createAction.test.js +1 -2
- package/out/test/wallet/action/createAction.test.js.map +1 -0
- package/out/test/{Wallet → wallet}/action/createAction2.test.d.ts.map +1 -1
- package/out/test/{Wallet → wallet}/action/createAction2.test.js +6 -16
- package/out/test/wallet/action/createAction2.test.js.map +1 -0
- package/out/test/wallet/action/createActionToGenerateBeefs.man.test.d.ts.map +1 -0
- package/out/test/{Wallet → wallet}/action/createActionToGenerateBeefs.man.test.js.map +1 -1
- package/out/test/wallet/action/internalizeAction.test.d.ts.map +1 -0
- package/out/test/wallet/action/internalizeAction.test.js.map +1 -0
- package/out/test/wallet/action/relinquishOutput.test.d.ts.map +1 -0
- package/out/test/{Wallet → wallet}/action/relinquishOutput.test.js.map +1 -1
- package/out/test/wallet/construct/Wallet.constructor.test.d.ts.map +1 -0
- package/out/test/{Wallet → wallet}/construct/Wallet.constructor.test.js.map +1 -1
- package/out/test/wallet/list/listActions.test.d.ts.map +1 -0
- package/out/test/wallet/list/listActions.test.js.map +1 -0
- package/out/test/wallet/list/listActions2.test.d.ts.map +1 -0
- package/out/test/wallet/list/listActions2.test.js.map +1 -0
- package/out/test/wallet/list/listCertificates.test.d.ts.map +1 -0
- package/out/test/{Wallet → wallet}/list/listCertificates.test.js +2 -6
- package/out/test/wallet/list/listCertificates.test.js.map +1 -0
- package/out/test/wallet/list/listOutputs.test.d.ts.map +1 -0
- package/out/test/{Wallet → wallet}/list/listOutputs.test.js +2 -10
- package/out/test/wallet/list/listOutputs.test.js.map +1 -0
- package/out/test/wallet/sync/Wallet.sync.test.d.ts.map +1 -0
- package/out/test/{Wallet → wallet}/sync/Wallet.sync.test.js +4 -6
- package/out/test/wallet/sync/Wallet.sync.test.js.map +1 -0
- package/out/tsconfig.all.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/Setup.ts +15 -52
- package/src/Wallet.ts +58 -161
- package/src/monitor/Monitor.ts +7 -22
- package/src/monitor/MonitorDaemon.ts +6 -23
- package/src/monitor/tasks/TaskCheckForProofs.ts +4 -23
- package/src/monitor/tasks/TaskClock.ts +1 -3
- package/src/monitor/tasks/TaskFailAbandoned.ts +1 -3
- package/src/monitor/tasks/TaskNewHeader.ts +1 -4
- package/src/monitor/tasks/TaskPurge.ts +1 -2
- package/src/monitor/tasks/TaskReviewStatus.ts +1 -3
- package/src/monitor/tasks/TaskSendWaiting.ts +3 -10
- package/src/sdk/CertOps.ts +31 -103
- package/src/sdk/PrivilegedKeyManager.ts +18 -48
- package/src/sdk/WERR_errors.ts +6 -25
- package/src/sdk/WalletError.ts +5 -21
- package/src/sdk/WalletServices.interfaces.ts +11 -33
- package/src/sdk/WalletStorage.interfaces.ts +25 -91
- package/src/sdk/__test/CertificateLifeCycle.test.ts +9 -27
- package/src/sdk/__test/PrivilegedKeyManager.test.ts +29 -66
- package/src/sdk/types.ts +6 -26
- package/src/sdk/validationHelpers.ts +111 -402
- package/src/services/Services.ts +51 -114
- package/src/services/__tests/bitrails.test.ts +4 -15
- package/src/services/__tests/getMerklePath.test.ts +1 -2
- package/src/services/__tests/getRawTx.test.ts +1 -3
- package/src/services/__tests/verifyBeef.test.ts +2 -1
- package/src/services/chaintracker/ChaintracksChainTracker.ts +3 -13
- package/src/services/chaintracker/chaintracks/BlockHeaderApi.ts +4 -12
- package/src/services/chaintracker/chaintracks/ChaintracksServiceClient.ts +9 -27
- package/src/services/createDefaultWalletServicesOptions.ts +2 -5
- package/src/services/providers/ARC.ts +5 -24
- package/src/services/providers/Bitails.ts +61 -159
- package/src/services/providers/SdkWhatsOnChain.ts +4 -17
- package/src/services/providers/WhatsOnChain.ts +31 -100
- package/src/services/providers/__tests/WhatsOnChain.test.ts +5 -15
- package/src/services/providers/echangeRates.ts +7 -22
- package/src/signer/WalletSigner.ts +1 -5
- package/src/signer/methods/acquireDirectCertificate.ts +1 -4
- package/src/signer/methods/buildSignableTransaction.ts +5 -20
- package/src/signer/methods/createAction.ts +15 -54
- package/src/signer/methods/internalizeAction.ts +10 -39
- package/src/signer/methods/proveCertificate.ts +2 -5
- package/src/signer/methods/signAction.ts +9 -39
- package/src/storage/StorageKnex.ts +166 -499
- package/src/storage/StorageProvider.ts +75 -291
- package/src/storage/StorageReader.ts +20 -65
- package/src/storage/StorageReaderWriter.ts +67 -264
- package/src/storage/StorageSyncReader.ts +2 -5
- package/src/storage/WalletStorageManager.ts +33 -108
- package/src/storage/__test/WalletStorageManager.test.ts +6 -23
- package/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.ts +53 -171
- package/src/storage/methods/__test/GenerateChange/randomValsUsed1.ts +17 -28
- package/src/storage/methods/attemptToPostReqsToNetwork.ts +9 -37
- package/src/storage/methods/createAction.ts +45 -181
- package/src/storage/methods/generateChange.ts +33 -114
- package/src/storage/methods/getBeefForTransaction.ts +7 -37
- package/src/storage/methods/getSyncChunk.ts +18 -69
- package/src/storage/methods/internalizeAction.ts +18 -70
- package/src/storage/methods/listActions.ts +6 -23
- package/src/storage/methods/listCertificates.ts +5 -14
- package/src/storage/methods/listOutputs.ts +14 -68
- package/src/storage/methods/processAction.ts +29 -104
- package/src/storage/methods/purgeData.ts +11 -45
- package/src/storage/methods/reviewStatus.ts +3 -9
- package/src/storage/remoting/StorageClient.ts +43 -146
- package/src/storage/remoting/StorageServer.ts +21 -59
- package/src/storage/schema/KnexMigrations.ts +34 -165
- package/src/storage/schema/entities/Certificate.ts +3 -14
- package/src/storage/schema/entities/CertificateField.ts +6 -28
- package/src/storage/schema/entities/Commission.ts +6 -23
- package/src/storage/schema/entities/EntityBase.ts +1 -6
- package/src/storage/schema/entities/MergeEntity.ts +14 -21
- package/src/storage/schema/entities/Output.ts +10 -39
- package/src/storage/schema/entities/OutputBasket.ts +4 -16
- package/src/storage/schema/entities/OutputTag.ts +4 -17
- package/src/storage/schema/entities/OutputTagMap.ts +7 -30
- package/src/storage/schema/entities/ProvenTx.ts +16 -57
- package/src/storage/schema/entities/ProvenTxReq.ts +29 -93
- package/src/storage/schema/entities/SyncState.ts +64 -116
- package/src/storage/schema/entities/Transaction.ts +10 -35
- package/src/storage/schema/entities/TxLabel.ts +4 -17
- package/src/storage/schema/entities/TxLabelMap.ts +6 -28
- package/src/storage/schema/entities/User.ts +8 -31
- package/src/storage/schema/entities/__tests/CertificateFieldTests.test.ts +23 -54
- package/src/storage/schema/entities/__tests/CertificateTests.test.ts +26 -59
- package/src/storage/schema/entities/__tests/CommissionTests.test.ts +2 -11
- package/src/storage/schema/entities/__tests/OutputBasketTests.test.ts +2 -10
- package/src/storage/schema/entities/__tests/OutputTagMapTests.test.ts +2 -10
- package/src/storage/schema/entities/__tests/OutputTagTests.test.ts +1 -4
- package/src/storage/schema/entities/__tests/OutputTests.test.ts +3 -14
- package/src/storage/schema/entities/__tests/ProvenTxReqTests.test.ts +4 -16
- package/src/storage/schema/entities/__tests/ProvenTxTests.test.ts +5 -18
- package/src/storage/schema/entities/__tests/SyncStateTests.test.ts +5 -26
- package/src/storage/schema/entities/__tests/TransactionTests.test.ts +12 -48
- package/src/storage/schema/entities/__tests/TxLabelMapTests.test.ts +4 -22
- package/src/storage/schema/entities/__tests/TxLabelTests.test.ts +2 -10
- package/src/storage/schema/entities/__tests/stampLogTests.test.ts +3 -10
- package/src/storage/schema/entities/__tests/usersTests.test.ts +4 -7
- package/src/storage/schema/tables/TableSettings.ts +1 -3
- package/src/storage/sync/StorageMySQLDojoReader.ts +47 -148
- package/src/utility/ScriptTemplateBRC29.ts +2 -11
- package/src/utility/stampLog.ts +2 -6
- package/src/utility/tscProofToMerklePath.ts +1 -4
- package/src/utility/utilityHelpers.buffer.ts +3 -12
- package/src/utility/utilityHelpers.ts +14 -49
- package/test/Wallet/StorageClient/storageClient.man.test.ts +2 -8
- package/test/Wallet/action/internalizeAction.a.test.ts +8 -23
- package/test/Wallet/certificate/acquireCertificate.test.ts +10 -24
- package/test/Wallet/certificate/listCertificates.test.ts +8 -18
- package/test/Wallet/get/getHeaderForHeight.test.ts +4 -15
- package/test/Wallet/get/getHeight.test.ts +2 -6
- package/test/Wallet/get/getKnownTxids.test.ts +1 -5
- package/test/Wallet/get/getNetwork.test.ts +1 -2
- package/test/Wallet/get/getVersion.test.ts +1 -2
- package/test/Wallet/live/walletLive.man.test.ts +14 -41
- package/test/Wallet/local/localWallet.man.test.ts +26 -99
- package/test/Wallet/specOps/specOps.man.test.ts +4 -13
- package/test/Wallet/support/janitor.man.test.ts +2 -7
- package/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.ts +11 -34
- package/test/Wallet/sync/setActive.test.ts +75 -61
- package/test/checkDB.ts +2 -8
- package/test/examples/backup.man.test.ts +2 -9
- package/test/examples/pushdrop.test.ts +7 -20
- package/test/monitor/Monitor.test.ts +33 -87
- package/test/services/Services.test.ts +8 -19
- package/test/storage/KnexMigrations.test.ts +3 -18
- package/test/storage/StorageMySQLDojoReader.man.test.ts +4 -15
- package/test/storage/count.test.ts +7 -24
- package/test/storage/find.test.ts +7 -29
- package/test/storage/findLegacy.test.ts +2 -5
- package/test/storage/insert.test.ts +3 -19
- package/test/storage/update.test.ts +47 -179
- package/test/storage/update2.test.ts +54 -176
- package/test/utils/TestUtilsWalletStorage.ts +139 -372
- package/test/{Wallet → wallet}/action/abortAction.test.ts +4 -12
- package/test/{Wallet → wallet}/action/createAction.test.ts +4 -14
- package/test/{Wallet → wallet}/action/createAction2.test.ts +74 -208
- package/test/{Wallet → wallet}/action/createActionToGenerateBeefs.man.test.ts +8 -11
- package/test/{Wallet → wallet}/action/internalizeAction.test.ts +20 -72
- package/test/{Wallet → wallet}/action/relinquishOutput.test.ts +3 -9
- package/test/{Wallet → wallet}/list/listActions.test.ts +2 -9
- package/test/{Wallet → wallet}/list/listActions2.test.ts +8 -34
- package/test/{Wallet → wallet}/list/listCertificates.test.ts +5 -16
- package/test/{Wallet → wallet}/list/listOutputs.test.ts +15 -54
- package/test/{Wallet → wallet}/sync/Wallet.sync.test.ts +18 -49
- package/out/src/sdk/StorageSyncReader.d.ts +0 -121
- package/out/src/sdk/StorageSyncReader.d.ts.map +0 -1
- package/out/src/sdk/StorageSyncReader.js +0 -3
- package/out/src/sdk/StorageSyncReader.js.map +0 -1
- package/out/src/sdk/StorageSyncReaderWriter.d.ts +0 -89
- package/out/src/sdk/StorageSyncReaderWriter.d.ts.map +0 -1
- package/out/src/sdk/StorageSyncReaderWriter.js +0 -3
- package/out/src/sdk/StorageSyncReaderWriter.js.map +0 -1
- package/out/test/Wallet/action/abortAction.test.d.ts.map +0 -1
- package/out/test/Wallet/action/abortAction.test.js.map +0 -1
- package/out/test/Wallet/action/createAction.test.d.ts.map +0 -1
- package/out/test/Wallet/action/createAction.test.js.map +0 -1
- package/out/test/Wallet/action/createAction2.test.js.map +0 -1
- package/out/test/Wallet/action/createActionToGenerateBeefs.man.test.d.ts.map +0 -1
- package/out/test/Wallet/action/internalizeAction.test.d.ts.map +0 -1
- package/out/test/Wallet/action/internalizeAction.test.js.map +0 -1
- package/out/test/Wallet/action/relinquishOutput.test.d.ts.map +0 -1
- package/out/test/Wallet/construct/Wallet.constructor.test.d.ts.map +0 -1
- package/out/test/Wallet/list/listActions.test.d.ts.map +0 -1
- package/out/test/Wallet/list/listActions.test.js.map +0 -1
- package/out/test/Wallet/list/listActions2.test.d.ts.map +0 -1
- package/out/test/Wallet/list/listActions2.test.js.map +0 -1
- package/out/test/Wallet/list/listCertificates.test.d.ts.map +0 -1
- package/out/test/Wallet/list/listCertificates.test.js.map +0 -1
- package/out/test/Wallet/list/listOutputs.test.d.ts.map +0 -1
- package/out/test/Wallet/list/listOutputs.test.js.map +0 -1
- package/out/test/Wallet/sync/Wallet.sync.test.d.ts.map +0 -1
- package/out/test/Wallet/sync/Wallet.sync.test.js.map +0 -1
- /package/out/test/{Wallet → wallet}/action/abortAction.test.d.ts +0 -0
- /package/out/test/{Wallet → wallet}/action/abortAction.test.js +0 -0
- /package/out/test/{Wallet → wallet}/action/createAction.test.d.ts +0 -0
- /package/out/test/{Wallet → wallet}/action/createAction2.test.d.ts +0 -0
- /package/out/test/{Wallet → wallet}/action/createActionToGenerateBeefs.man.test.d.ts +0 -0
- /package/out/test/{Wallet → wallet}/action/createActionToGenerateBeefs.man.test.js +0 -0
- /package/out/test/{Wallet → wallet}/action/internalizeAction.test.d.ts +0 -0
- /package/out/test/{Wallet → wallet}/action/internalizeAction.test.js +0 -0
- /package/out/test/{Wallet → wallet}/action/relinquishOutput.test.d.ts +0 -0
- /package/out/test/{Wallet → wallet}/action/relinquishOutput.test.js +0 -0
- /package/out/test/{Wallet → wallet}/construct/Wallet.constructor.test.d.ts +0 -0
- /package/out/test/{Wallet → wallet}/construct/Wallet.constructor.test.js +0 -0
- /package/out/test/{Wallet → wallet}/list/listActions.test.d.ts +0 -0
- /package/out/test/{Wallet → wallet}/list/listActions.test.js +0 -0
- /package/out/test/{Wallet → wallet}/list/listActions2.test.d.ts +0 -0
- /package/out/test/{Wallet → wallet}/list/listActions2.test.js +0 -0
- /package/out/test/{Wallet → wallet}/list/listCertificates.test.d.ts +0 -0
- /package/out/test/{Wallet → wallet}/list/listOutputs.test.d.ts +0 -0
- /package/out/test/{Wallet → wallet}/sync/Wallet.sync.test.d.ts +0 -0
- /package/test/{Wallet → wallet}/construct/Wallet.constructor.test.ts +0 -0
|
@@ -91,9 +91,7 @@ export class StorageClient implements sdk.WalletStorageProvider {
|
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
if (!response.ok) {
|
|
94
|
-
throw new Error(
|
|
95
|
-
`WalletStorageClient rpcCall: network error ${response.status} ${response.statusText}`
|
|
96
|
-
)
|
|
94
|
+
throw new Error(`WalletStorageClient rpcCall: network error ${response.status} ${response.statusText}`)
|
|
97
95
|
}
|
|
98
96
|
|
|
99
97
|
const json = await response.json()
|
|
@@ -132,9 +130,7 @@ export class StorageClient implements sdk.WalletStorageProvider {
|
|
|
132
130
|
*/
|
|
133
131
|
getSettings(): TableSettings {
|
|
134
132
|
if (!this.settings) {
|
|
135
|
-
throw new sdk.WERR_INVALID_OPERATION(
|
|
136
|
-
'call makeAvailable at least once before getSettings'
|
|
137
|
-
)
|
|
133
|
+
throw new sdk.WERR_INVALID_OPERATION('call makeAvailable at least once before getSettings')
|
|
138
134
|
}
|
|
139
135
|
return this.settings
|
|
140
136
|
}
|
|
@@ -173,10 +169,7 @@ export class StorageClient implements sdk.WalletStorageProvider {
|
|
|
173
169
|
* @param storageIdentityKey Unique identity key for remote storage if it does not yet exist.
|
|
174
170
|
* @returns current schema migration identifier
|
|
175
171
|
*/
|
|
176
|
-
async migrate(
|
|
177
|
-
storageName: string,
|
|
178
|
-
storageIdentityKey: string
|
|
179
|
-
): Promise<string> {
|
|
172
|
+
async migrate(storageName: string, storageIdentityKey: string): Promise<string> {
|
|
180
173
|
return this.rpcCall<string>('migrate', [storageName])
|
|
181
174
|
}
|
|
182
175
|
|
|
@@ -209,14 +202,8 @@ export class StorageClient implements sdk.WalletStorageProvider {
|
|
|
209
202
|
* @param args Original wallet `internalizeAction` arguments.
|
|
210
203
|
* @returns `internalizeAction` results
|
|
211
204
|
*/
|
|
212
|
-
async internalizeAction(
|
|
213
|
-
|
|
214
|
-
args: InternalizeActionArgs
|
|
215
|
-
): Promise<InternalizeActionResult> {
|
|
216
|
-
return this.rpcCall<InternalizeActionResult>('internalizeAction', [
|
|
217
|
-
auth,
|
|
218
|
-
args
|
|
219
|
-
])
|
|
205
|
+
async internalizeAction(auth: sdk.AuthId, args: InternalizeActionArgs): Promise<InternalizeActionResult> {
|
|
206
|
+
return this.rpcCall<InternalizeActionResult>('internalizeAction', [auth, args])
|
|
220
207
|
}
|
|
221
208
|
|
|
222
209
|
/**
|
|
@@ -226,14 +213,8 @@ export class StorageClient implements sdk.WalletStorageProvider {
|
|
|
226
213
|
* @param args Validated extension of original wallet `createAction` arguments.
|
|
227
214
|
* @returns `StorageCreateActionResults` supporting additional wallet processing to yield `createAction` results.
|
|
228
215
|
*/
|
|
229
|
-
async createAction(
|
|
230
|
-
|
|
231
|
-
args: sdk.ValidCreateActionArgs
|
|
232
|
-
): Promise<sdk.StorageCreateActionResult> {
|
|
233
|
-
return this.rpcCall<sdk.StorageCreateActionResult>('createAction', [
|
|
234
|
-
auth,
|
|
235
|
-
args
|
|
236
|
-
])
|
|
216
|
+
async createAction(auth: sdk.AuthId, args: sdk.ValidCreateActionArgs): Promise<sdk.StorageCreateActionResult> {
|
|
217
|
+
return this.rpcCall<sdk.StorageCreateActionResult>('createAction', [auth, args])
|
|
237
218
|
}
|
|
238
219
|
|
|
239
220
|
/**
|
|
@@ -246,14 +227,8 @@ export class StorageClient implements sdk.WalletStorageProvider {
|
|
|
246
227
|
* @param args `StorageProcessActionArgs` convey completed signed transaction to storage.
|
|
247
228
|
* @returns `StorageProcessActionResults` supporting final wallet processing to yield `createAction` or `signAction` results.
|
|
248
229
|
*/
|
|
249
|
-
async processAction(
|
|
250
|
-
|
|
251
|
-
args: sdk.StorageProcessActionArgs
|
|
252
|
-
): Promise<sdk.StorageProcessActionResults> {
|
|
253
|
-
return this.rpcCall<sdk.StorageProcessActionResults>('processAction', [
|
|
254
|
-
auth,
|
|
255
|
-
args
|
|
256
|
-
])
|
|
230
|
+
async processAction(auth: sdk.AuthId, args: sdk.StorageProcessActionArgs): Promise<sdk.StorageProcessActionResults> {
|
|
231
|
+
return this.rpcCall<sdk.StorageProcessActionResults>('processAction', [auth, args])
|
|
257
232
|
}
|
|
258
233
|
|
|
259
234
|
/**
|
|
@@ -263,10 +238,7 @@ export class StorageClient implements sdk.WalletStorageProvider {
|
|
|
263
238
|
* @param args original wallet `abortAction` args.
|
|
264
239
|
* @returns `abortAction` result.
|
|
265
240
|
*/
|
|
266
|
-
async abortAction(
|
|
267
|
-
auth: sdk.AuthId,
|
|
268
|
-
args: AbortActionArgs
|
|
269
|
-
): Promise<AbortActionResult> {
|
|
241
|
+
async abortAction(auth: sdk.AuthId, args: AbortActionArgs): Promise<AbortActionResult> {
|
|
270
242
|
return this.rpcCall<AbortActionResult>('abortAction', [auth, args])
|
|
271
243
|
}
|
|
272
244
|
|
|
@@ -276,13 +248,8 @@ export class StorageClient implements sdk.WalletStorageProvider {
|
|
|
276
248
|
* @param identityKey of the user.
|
|
277
249
|
* @returns `TableUser` for the user and whether a new user was created.
|
|
278
250
|
*/
|
|
279
|
-
async findOrInsertUser(
|
|
280
|
-
identityKey
|
|
281
|
-
): Promise<{ user: TableUser; isNew: boolean }> {
|
|
282
|
-
return this.rpcCall<{ user: TableUser; isNew: boolean }>(
|
|
283
|
-
'findOrInsertUser',
|
|
284
|
-
[identityKey]
|
|
285
|
-
)
|
|
251
|
+
async findOrInsertUser(identityKey): Promise<{ user: TableUser; isNew: boolean }> {
|
|
252
|
+
return this.rpcCall<{ user: TableUser; isNew: boolean }>('findOrInsertUser', [identityKey])
|
|
286
253
|
}
|
|
287
254
|
|
|
288
255
|
/**
|
|
@@ -298,10 +265,11 @@ export class StorageClient implements sdk.WalletStorageProvider {
|
|
|
298
265
|
storageIdentityKey: string,
|
|
299
266
|
storageName: string
|
|
300
267
|
): Promise<{ syncState: TableSyncState; isNew: boolean }> {
|
|
301
|
-
const r = await this.rpcCall<{ syncState: TableSyncState; isNew: boolean }>(
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
268
|
+
const r = await this.rpcCall<{ syncState: TableSyncState; isNew: boolean }>('findOrInsertSyncStateAuth', [
|
|
269
|
+
auth,
|
|
270
|
+
storageIdentityKey,
|
|
271
|
+
storageName
|
|
272
|
+
])
|
|
305
273
|
r.syncState = this.validateEntity(r.syncState, ['when'])
|
|
306
274
|
return r
|
|
307
275
|
}
|
|
@@ -313,14 +281,8 @@ export class StorageClient implements sdk.WalletStorageProvider {
|
|
|
313
281
|
* @param certificate the certificate to insert.
|
|
314
282
|
* @returns record Id of the inserted `TableCertificate` record.
|
|
315
283
|
*/
|
|
316
|
-
async insertCertificateAuth(
|
|
317
|
-
|
|
318
|
-
certificate: TableCertificateX
|
|
319
|
-
): Promise<number> {
|
|
320
|
-
const r = await this.rpcCall<number>('insertCertificateAuth', [
|
|
321
|
-
auth,
|
|
322
|
-
certificate
|
|
323
|
-
])
|
|
284
|
+
async insertCertificateAuth(auth: sdk.AuthId, certificate: TableCertificateX): Promise<number> {
|
|
285
|
+
const r = await this.rpcCall<number>('insertCertificateAuth', [auth, certificate])
|
|
324
286
|
return r
|
|
325
287
|
}
|
|
326
288
|
|
|
@@ -331,14 +293,8 @@ export class StorageClient implements sdk.WalletStorageProvider {
|
|
|
331
293
|
* @param args Validated extension of original wallet `listActions` arguments.
|
|
332
294
|
* @returns `listActions` results.
|
|
333
295
|
*/
|
|
334
|
-
async listActions(
|
|
335
|
-
|
|
336
|
-
vargs: sdk.ValidListActionsArgs
|
|
337
|
-
): Promise<ListActionsResult> {
|
|
338
|
-
const r = await this.rpcCall<ListActionsResult>('listActions', [
|
|
339
|
-
auth,
|
|
340
|
-
vargs
|
|
341
|
-
])
|
|
296
|
+
async listActions(auth: sdk.AuthId, vargs: sdk.ValidListActionsArgs): Promise<ListActionsResult> {
|
|
297
|
+
const r = await this.rpcCall<ListActionsResult>('listActions', [auth, vargs])
|
|
342
298
|
return r
|
|
343
299
|
}
|
|
344
300
|
|
|
@@ -349,14 +305,8 @@ export class StorageClient implements sdk.WalletStorageProvider {
|
|
|
349
305
|
* @param args Validated extension of original wallet `listOutputs` arguments.
|
|
350
306
|
* @returns `listOutputs` results.
|
|
351
307
|
*/
|
|
352
|
-
async listOutputs(
|
|
353
|
-
|
|
354
|
-
vargs: sdk.ValidListOutputsArgs
|
|
355
|
-
): Promise<ListOutputsResult> {
|
|
356
|
-
const r = await this.rpcCall<ListOutputsResult>('listOutputs', [
|
|
357
|
-
auth,
|
|
358
|
-
vargs
|
|
359
|
-
])
|
|
308
|
+
async listOutputs(auth: sdk.AuthId, vargs: sdk.ValidListOutputsArgs): Promise<ListOutputsResult> {
|
|
309
|
+
const r = await this.rpcCall<ListOutputsResult>('listOutputs', [auth, vargs])
|
|
360
310
|
return r
|
|
361
311
|
}
|
|
362
312
|
|
|
@@ -367,14 +317,8 @@ export class StorageClient implements sdk.WalletStorageProvider {
|
|
|
367
317
|
* @param args Validated extension of original wallet `listCertificates` arguments.
|
|
368
318
|
* @returns `listCertificates` results.
|
|
369
319
|
*/
|
|
370
|
-
async listCertificates(
|
|
371
|
-
|
|
372
|
-
vargs: sdk.ValidListCertificatesArgs
|
|
373
|
-
): Promise<ListCertificatesResult> {
|
|
374
|
-
const r = await this.rpcCall<ListCertificatesResult>('listCertificates', [
|
|
375
|
-
auth,
|
|
376
|
-
vargs
|
|
377
|
-
])
|
|
320
|
+
async listCertificates(auth: sdk.AuthId, vargs: sdk.ValidListCertificatesArgs): Promise<ListCertificatesResult> {
|
|
321
|
+
const r = await this.rpcCall<ListCertificatesResult>('listCertificates', [auth, vargs])
|
|
378
322
|
return r
|
|
379
323
|
}
|
|
380
324
|
|
|
@@ -389,14 +333,8 @@ export class StorageClient implements sdk.WalletStorageProvider {
|
|
|
389
333
|
* @param args `FindCertificatesArgs` determines which certificates to retrieve and whether to include fields.
|
|
390
334
|
* @returns array of certificates matching args.
|
|
391
335
|
*/
|
|
392
|
-
async findCertificatesAuth(
|
|
393
|
-
|
|
394
|
-
args: sdk.FindCertificatesArgs
|
|
395
|
-
): Promise<TableCertificateX[]> {
|
|
396
|
-
const r = await this.rpcCall<TableCertificateX[]>('findCertificatesAuth', [
|
|
397
|
-
auth,
|
|
398
|
-
args
|
|
399
|
-
])
|
|
336
|
+
async findCertificatesAuth(auth: sdk.AuthId, args: sdk.FindCertificatesArgs): Promise<TableCertificateX[]> {
|
|
337
|
+
const r = await this.rpcCall<TableCertificateX[]>('findCertificatesAuth', [auth, args])
|
|
400
338
|
this.validateEntities(r)
|
|
401
339
|
if (args.includeFields) {
|
|
402
340
|
for (const c of r) {
|
|
@@ -416,14 +354,8 @@ export class StorageClient implements sdk.WalletStorageProvider {
|
|
|
416
354
|
* @param args `FindOutputBasketsArgs` determines which baskets to retrieve.
|
|
417
355
|
* @returns array of output baskets matching args.
|
|
418
356
|
*/
|
|
419
|
-
async findOutputBasketsAuth(
|
|
420
|
-
|
|
421
|
-
args: sdk.FindOutputBasketsArgs
|
|
422
|
-
): Promise<TableOutputBasket[]> {
|
|
423
|
-
const r = await this.rpcCall<TableOutputBasket[]>('findOutputBaskets', [
|
|
424
|
-
auth,
|
|
425
|
-
args
|
|
426
|
-
])
|
|
357
|
+
async findOutputBasketsAuth(auth: sdk.AuthId, args: sdk.FindOutputBasketsArgs): Promise<TableOutputBasket[]> {
|
|
358
|
+
const r = await this.rpcCall<TableOutputBasket[]>('findOutputBaskets', [auth, args])
|
|
427
359
|
this.validateEntities(r)
|
|
428
360
|
return r
|
|
429
361
|
}
|
|
@@ -438,10 +370,7 @@ export class StorageClient implements sdk.WalletStorageProvider {
|
|
|
438
370
|
* @param args `FindOutputsArgs` determines which outputs to retrieve.
|
|
439
371
|
* @returns array of outputs matching args.
|
|
440
372
|
*/
|
|
441
|
-
async findOutputsAuth(
|
|
442
|
-
auth: sdk.AuthId,
|
|
443
|
-
args: sdk.FindOutputsArgs
|
|
444
|
-
): Promise<TableOutput[]> {
|
|
373
|
+
async findOutputsAuth(auth: sdk.AuthId, args: sdk.FindOutputsArgs): Promise<TableOutput[]> {
|
|
445
374
|
const r = await this.rpcCall<TableOutput[]>('findOutputsAuth', [auth, args])
|
|
446
375
|
this.validateEntities(r)
|
|
447
376
|
return r
|
|
@@ -457,9 +386,7 @@ export class StorageClient implements sdk.WalletStorageProvider {
|
|
|
457
386
|
* @param args `FindProvenTxReqsArgs` determines which proof requests to retrieve.
|
|
458
387
|
* @returns array of proof requests matching args.
|
|
459
388
|
*/
|
|
460
|
-
async findProvenTxReqs(
|
|
461
|
-
args: sdk.FindProvenTxReqsArgs
|
|
462
|
-
): Promise<TableProvenTxReq[]> {
|
|
389
|
+
async findProvenTxReqs(args: sdk.FindProvenTxReqsArgs): Promise<TableProvenTxReq[]> {
|
|
463
390
|
const r = await this.rpcCall<TableProvenTxReq[]>('findProvenTxReqs', [args])
|
|
464
391
|
this.validateEntities(r)
|
|
465
392
|
return r
|
|
@@ -475,10 +402,7 @@ export class StorageClient implements sdk.WalletStorageProvider {
|
|
|
475
402
|
* This must match the `AuthFetch` identity securing the remote conneciton.
|
|
476
403
|
* @param args original wallet `relinquishCertificate` args.
|
|
477
404
|
*/
|
|
478
|
-
async relinquishCertificate(
|
|
479
|
-
auth: sdk.AuthId,
|
|
480
|
-
args: RelinquishCertificateArgs
|
|
481
|
-
): Promise<number> {
|
|
405
|
+
async relinquishCertificate(auth: sdk.AuthId, args: RelinquishCertificateArgs): Promise<number> {
|
|
482
406
|
return this.rpcCall<number>('relinquishCertificate', [auth, args])
|
|
483
407
|
}
|
|
484
408
|
|
|
@@ -491,10 +415,7 @@ export class StorageClient implements sdk.WalletStorageProvider {
|
|
|
491
415
|
* This must match the `AuthFetch` identity securing the remote conneciton.
|
|
492
416
|
* @param args original wallet `relinquishOutput` args.
|
|
493
417
|
*/
|
|
494
|
-
async relinquishOutput(
|
|
495
|
-
auth: sdk.AuthId,
|
|
496
|
-
args: RelinquishOutputArgs
|
|
497
|
-
): Promise<number> {
|
|
418
|
+
async relinquishOutput(auth: sdk.AuthId, args: RelinquishOutputArgs): Promise<number> {
|
|
498
419
|
return this.rpcCall<number>('relinquishOutput', [auth, args])
|
|
499
420
|
}
|
|
500
421
|
|
|
@@ -507,14 +428,8 @@ export class StorageClient implements sdk.WalletStorageProvider {
|
|
|
507
428
|
* @param chunk the current data chunk to process.
|
|
508
429
|
* @returns whether processing is done, counts of inserts and udpates, and related progress tracking properties.
|
|
509
430
|
*/
|
|
510
|
-
async processSyncChunk(
|
|
511
|
-
|
|
512
|
-
chunk: sdk.SyncChunk
|
|
513
|
-
): Promise<sdk.ProcessSyncChunkResult> {
|
|
514
|
-
const r = await this.rpcCall<sdk.ProcessSyncChunkResult>(
|
|
515
|
-
'processSyncChunk',
|
|
516
|
-
[args, chunk]
|
|
517
|
-
)
|
|
431
|
+
async processSyncChunk(args: sdk.RequestSyncChunkArgs, chunk: sdk.SyncChunk): Promise<sdk.ProcessSyncChunkResult> {
|
|
432
|
+
const r = await this.rpcCall<sdk.ProcessSyncChunkResult>('processSyncChunk', [args, chunk])
|
|
518
433
|
return r
|
|
519
434
|
}
|
|
520
435
|
|
|
@@ -529,14 +444,11 @@ export class StorageClient implements sdk.WalletStorageProvider {
|
|
|
529
444
|
*/
|
|
530
445
|
async getSyncChunk(args: sdk.RequestSyncChunkArgs): Promise<sdk.SyncChunk> {
|
|
531
446
|
const r = await this.rpcCall<sdk.SyncChunk>('getSyncChunk', [args])
|
|
532
|
-
if (r.certificateFields)
|
|
533
|
-
r.certificateFields = this.validateEntities(r.certificateFields)
|
|
447
|
+
if (r.certificateFields) r.certificateFields = this.validateEntities(r.certificateFields)
|
|
534
448
|
if (r.certificates) r.certificates = this.validateEntities(r.certificates)
|
|
535
449
|
if (r.commissions) r.commissions = this.validateEntities(r.commissions)
|
|
536
|
-
if (r.outputBaskets)
|
|
537
|
-
|
|
538
|
-
if (r.outputTagMaps)
|
|
539
|
-
r.outputTagMaps = this.validateEntities(r.outputTagMaps)
|
|
450
|
+
if (r.outputBaskets) r.outputBaskets = this.validateEntities(r.outputBaskets)
|
|
451
|
+
if (r.outputTagMaps) r.outputTagMaps = this.validateEntities(r.outputTagMaps)
|
|
540
452
|
if (r.outputTags) r.outputTags = this.validateEntities(r.outputTags)
|
|
541
453
|
if (r.outputs) r.outputs = this.validateEntities(r.outputs)
|
|
542
454
|
if (r.provenTxReqs) r.provenTxReqs = this.validateEntities(r.provenTxReqs)
|
|
@@ -561,10 +473,7 @@ export class StorageClient implements sdk.WalletStorageProvider {
|
|
|
561
473
|
async updateProvenTxReqWithNewProvenTx(
|
|
562
474
|
args: sdk.UpdateProvenTxReqWithNewProvenTxArgs
|
|
563
475
|
): Promise<sdk.UpdateProvenTxReqWithNewProvenTxResult> {
|
|
564
|
-
const r = await this.rpcCall<sdk.UpdateProvenTxReqWithNewProvenTxResult>(
|
|
565
|
-
'updateProvenTxReqWithNewProvenTx',
|
|
566
|
-
[args]
|
|
567
|
-
)
|
|
476
|
+
const r = await this.rpcCall<sdk.UpdateProvenTxReqWithNewProvenTxResult>('updateProvenTxReqWithNewProvenTx', [args])
|
|
568
477
|
return r
|
|
569
478
|
}
|
|
570
479
|
|
|
@@ -577,14 +486,8 @@ export class StorageClient implements sdk.WalletStorageProvider {
|
|
|
577
486
|
* This must match the `AuthFetch` identity securing the remote conneciton.
|
|
578
487
|
* @param newActiveStorageIdentityKey which must be a currently configured backup storage provider.
|
|
579
488
|
*/
|
|
580
|
-
async setActive(
|
|
581
|
-
|
|
582
|
-
newActiveStorageIdentityKey: string
|
|
583
|
-
): Promise<number> {
|
|
584
|
-
return this.rpcCall<number>('setActive', [
|
|
585
|
-
auth,
|
|
586
|
-
newActiveStorageIdentityKey
|
|
587
|
-
])
|
|
489
|
+
async setActive(auth: sdk.AuthId, newActiveStorageIdentityKey: string): Promise<number> {
|
|
490
|
+
return this.rpcCall<number>('setActive', [auth, newActiveStorageIdentityKey])
|
|
588
491
|
}
|
|
589
492
|
|
|
590
493
|
validateDate(date: Date | string | number): Date {
|
|
@@ -598,10 +501,7 @@ export class StorageClient implements sdk.WalletStorageProvider {
|
|
|
598
501
|
* Helper to force uniform behavior across database engines.
|
|
599
502
|
* Use to process all individual records with time stamps retreived from database.
|
|
600
503
|
*/
|
|
601
|
-
validateEntity<T extends sdk.EntityTimeStamp>(
|
|
602
|
-
entity: T,
|
|
603
|
-
dateFields?: string[]
|
|
604
|
-
): T {
|
|
504
|
+
validateEntity<T extends sdk.EntityTimeStamp>(entity: T, dateFields?: string[]): T {
|
|
605
505
|
entity.created_at = this.validateDate(entity.created_at)
|
|
606
506
|
entity.updated_at = this.validateDate(entity.updated_at)
|
|
607
507
|
if (dateFields) {
|
|
@@ -625,10 +525,7 @@ export class StorageClient implements sdk.WalletStorageProvider {
|
|
|
625
525
|
* Use to process all arrays of records with time stamps retreived from database.
|
|
626
526
|
* @returns input `entities` array with contained values validated.
|
|
627
527
|
*/
|
|
628
|
-
validateEntities<T extends sdk.EntityTimeStamp>(
|
|
629
|
-
entities: T[],
|
|
630
|
-
dateFields?: string[]
|
|
631
|
-
): T[] {
|
|
528
|
+
validateEntities<T extends sdk.EntityTimeStamp>(entities: T[], dateFields?: string[]): T[] {
|
|
632
529
|
for (let i = 0; i < entities.length; i++) {
|
|
633
530
|
entities[i] = this.validateEntity(entities[i], dateFields)
|
|
634
531
|
}
|
|
@@ -7,10 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import { WalletInterface } from '@bsv/sdk'
|
|
9
9
|
import express, { Request, Response } from 'express'
|
|
10
|
-
import {
|
|
11
|
-
AuthMiddlewareOptions,
|
|
12
|
-
createAuthMiddleware
|
|
13
|
-
} from '@bsv/auth-express-middleware'
|
|
10
|
+
import { AuthMiddlewareOptions, createAuthMiddleware } from '@bsv/auth-express-middleware'
|
|
14
11
|
import { createPaymentMiddleware } from '@bsv/payment-express-middleware'
|
|
15
12
|
import { sdk, Wallet, StorageProvider } from '../../index.all'
|
|
16
13
|
|
|
@@ -78,9 +75,7 @@ export class StorageServer {
|
|
|
78
75
|
|
|
79
76
|
// Basic JSON-RPC protocol checks:
|
|
80
77
|
if (jsonrpc !== '2.0' || !method || typeof method !== 'string') {
|
|
81
|
-
return res
|
|
82
|
-
.status(400)
|
|
83
|
-
.json({ error: { code: -32600, message: 'Invalid Request' } })
|
|
78
|
+
return res.status(400).json({ error: { code: -32600, message: 'Invalid Request' } })
|
|
84
79
|
}
|
|
85
80
|
|
|
86
81
|
try {
|
|
@@ -105,9 +100,7 @@ export class StorageServer {
|
|
|
105
100
|
case 'findOrInsertUser':
|
|
106
101
|
{
|
|
107
102
|
if (params[0] !== req.auth.identityKey)
|
|
108
|
-
throw new sdk.WERR_UNAUTHORIZED(
|
|
109
|
-
'function may only access authenticated user.'
|
|
110
|
-
)
|
|
103
|
+
throw new sdk.WERR_UNAUTHORIZED('function may only access authenticated user.')
|
|
111
104
|
}
|
|
112
105
|
break
|
|
113
106
|
case 'processSyncChunk':
|
|
@@ -115,29 +108,17 @@ export class StorageServer {
|
|
|
115
108
|
await this.validateParam0(params, req)
|
|
116
109
|
//const args: sdk.RequestSyncChunkArgs = params[0]
|
|
117
110
|
const r: sdk.SyncChunk = params[1]
|
|
118
|
-
if (r.certificateFields)
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
if (r.
|
|
123
|
-
|
|
124
|
-
if (r.commissions)
|
|
125
|
-
r.commissions = this.validateEntities(r.commissions)
|
|
126
|
-
if (r.outputBaskets)
|
|
127
|
-
r.outputBaskets = this.validateEntities(r.outputBaskets)
|
|
128
|
-
if (r.outputTagMaps)
|
|
129
|
-
r.outputTagMaps = this.validateEntities(r.outputTagMaps)
|
|
130
|
-
if (r.outputTags)
|
|
131
|
-
r.outputTags = this.validateEntities(r.outputTags)
|
|
111
|
+
if (r.certificateFields) r.certificateFields = this.validateEntities(r.certificateFields)
|
|
112
|
+
if (r.certificates) r.certificates = this.validateEntities(r.certificates)
|
|
113
|
+
if (r.commissions) r.commissions = this.validateEntities(r.commissions)
|
|
114
|
+
if (r.outputBaskets) r.outputBaskets = this.validateEntities(r.outputBaskets)
|
|
115
|
+
if (r.outputTagMaps) r.outputTagMaps = this.validateEntities(r.outputTagMaps)
|
|
116
|
+
if (r.outputTags) r.outputTags = this.validateEntities(r.outputTags)
|
|
132
117
|
if (r.outputs) r.outputs = this.validateEntities(r.outputs)
|
|
133
|
-
if (r.provenTxReqs)
|
|
134
|
-
|
|
135
|
-
if (r.
|
|
136
|
-
|
|
137
|
-
if (r.transactions)
|
|
138
|
-
r.transactions = this.validateEntities(r.transactions)
|
|
139
|
-
if (r.txLabelMaps)
|
|
140
|
-
r.txLabelMaps = this.validateEntities(r.txLabelMaps)
|
|
118
|
+
if (r.provenTxReqs) r.provenTxReqs = this.validateEntities(r.provenTxReqs)
|
|
119
|
+
if (r.provenTxs) r.provenTxs = this.validateEntities(r.provenTxs)
|
|
120
|
+
if (r.transactions) r.transactions = this.validateEntities(r.transactions)
|
|
121
|
+
if (r.txLabelMaps) r.txLabelMaps = this.validateEntities(r.txLabelMaps)
|
|
141
122
|
if (r.txLabels) r.txLabels = this.validateEntities(r.txLabels)
|
|
142
123
|
if (r.user) r.user = this.validateEntity(r.user)
|
|
143
124
|
}
|
|
@@ -148,13 +129,9 @@ export class StorageServer {
|
|
|
148
129
|
}
|
|
149
130
|
break
|
|
150
131
|
}
|
|
151
|
-
console.log(
|
|
152
|
-
`StorageServer: method=${method} params=${JSON.stringify(params).slice(0, 512)}`
|
|
153
|
-
)
|
|
132
|
+
console.log(`StorageServer: method=${method} params=${JSON.stringify(params).slice(0, 512)}`)
|
|
154
133
|
const result = await (this.storage as any)[method](...(params || []))
|
|
155
|
-
console.log(
|
|
156
|
-
`StorageServer: method=${method} result=${JSON.stringify(result || 'void').slice(0, 512)}`
|
|
157
|
-
)
|
|
134
|
+
console.log(`StorageServer: method=${method} result=${JSON.stringify(result || 'void').slice(0, 512)}`)
|
|
158
135
|
return res.json({ jsonrpc: '2.0', result, id })
|
|
159
136
|
} else {
|
|
160
137
|
// Unknown method
|
|
@@ -187,26 +164,17 @@ export class StorageServer {
|
|
|
187
164
|
if (typeof params[0] !== 'object' || !params[0]) {
|
|
188
165
|
params = [{}]
|
|
189
166
|
}
|
|
190
|
-
if (
|
|
191
|
-
|
|
192
|
-
params[0]['identityKey'] !== req.auth.identityKey
|
|
193
|
-
)
|
|
194
|
-
throw new sdk.WERR_UNAUTHORIZED(
|
|
195
|
-
'identityKey does not match authentiation'
|
|
196
|
-
)
|
|
167
|
+
if (params[0]['identityKey'] && params[0]['identityKey'] !== req.auth.identityKey)
|
|
168
|
+
throw new sdk.WERR_UNAUTHORIZED('identityKey does not match authentiation')
|
|
197
169
|
console.log('looking up user with identityKey:', req.auth.identityKey)
|
|
198
|
-
const { user, isNew } = await this.storage.findOrInsertUser(
|
|
199
|
-
req.auth.identityKey
|
|
200
|
-
)
|
|
170
|
+
const { user, isNew } = await this.storage.findOrInsertUser(req.auth.identityKey)
|
|
201
171
|
params[0].reqAuthUserId = user.userId
|
|
202
172
|
if (params[0]['identityKey']) params[0].userId = user.userId
|
|
203
173
|
}
|
|
204
174
|
|
|
205
175
|
public start(): void {
|
|
206
176
|
this.app.listen(this.port, () => {
|
|
207
|
-
console.log(
|
|
208
|
-
`WalletStorageServer listening at http://localhost:${this.port}`
|
|
209
|
-
)
|
|
177
|
+
console.log(`WalletStorageServer listening at http://localhost:${this.port}`)
|
|
210
178
|
})
|
|
211
179
|
}
|
|
212
180
|
|
|
@@ -221,10 +189,7 @@ export class StorageServer {
|
|
|
221
189
|
* Helper to force uniform behavior across database engines.
|
|
222
190
|
* Use to process all individual records with time stamps retreived from database.
|
|
223
191
|
*/
|
|
224
|
-
validateEntity<T extends sdk.EntityTimeStamp>(
|
|
225
|
-
entity: T,
|
|
226
|
-
dateFields?: string[]
|
|
227
|
-
): T {
|
|
192
|
+
validateEntity<T extends sdk.EntityTimeStamp>(entity: T, dateFields?: string[]): T {
|
|
228
193
|
entity.created_at = this.validateDate(entity.created_at)
|
|
229
194
|
entity.updated_at = this.validateDate(entity.updated_at)
|
|
230
195
|
if (dateFields) {
|
|
@@ -248,10 +213,7 @@ export class StorageServer {
|
|
|
248
213
|
* Use to process all arrays of records with time stamps retreived from database.
|
|
249
214
|
* @returns input `entities` array with contained values validated.
|
|
250
215
|
*/
|
|
251
|
-
validateEntities<T extends sdk.EntityTimeStamp>(
|
|
252
|
-
entities: T[],
|
|
253
|
-
dateFields?: string[]
|
|
254
|
-
): T[] {
|
|
216
|
+
validateEntities<T extends sdk.EntityTimeStamp>(entities: T[], dateFields?: string[]): T[] {
|
|
255
217
|
for (let i = 0; i < entities.length; i++) {
|
|
256
218
|
entities[i] = this.validateEntity(entities[i], dateFields)
|
|
257
219
|
}
|