@bsv/wallet-toolbox 1.4.5 → 1.4.7
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/CHANGELOG.md +6 -0
- package/docs/client.md +1 -1
- package/docs/services.md +1 -1
- package/docs/wallet.md +1 -1
- package/mobile/out/src/CWIStyleWalletManager.js +1 -1
- package/mobile/out/src/CWIStyleWalletManager.js.map +1 -1
- package/mobile/out/src/WalletPermissionsManager.js +0 -1
- package/mobile/out/src/WalletPermissionsManager.js.map +1 -1
- package/mobile/out/src/services/chaintracker/BHServiceClient.d.ts +34 -0
- package/mobile/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -0
- package/mobile/out/src/services/chaintracker/BHServiceClient.js +163 -0
- package/mobile/out/src/services/chaintracker/BHServiceClient.js.map +1 -0
- package/mobile/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +144 -0
- package/mobile/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -0
- package/mobile/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +463 -0
- package/mobile/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -0
- package/mobile/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts +20 -0
- package/mobile/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts.map +1 -0
- package/mobile/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js +31 -0
- package/mobile/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js.map +1 -0
- package/mobile/out/src/services/chaintracker/index.d.ts +1 -0
- package/mobile/out/src/services/chaintracker/index.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/index.js +1 -0
- package/mobile/out/src/services/chaintracker/index.js.map +1 -1
- package/mobile/out/src/services/createDefaultWalletServicesOptions.d.ts +1 -1
- package/mobile/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
- package/mobile/out/src/services/createDefaultWalletServicesOptions.js +10 -7
- package/mobile/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
- package/mobile/out/src/utility/utilityHelpers.buffer.d.ts +18 -0
- package/mobile/out/src/utility/utilityHelpers.buffer.d.ts.map +1 -0
- package/mobile/out/src/utility/utilityHelpers.buffer.js +45 -0
- package/mobile/out/src/utility/utilityHelpers.buffer.js.map +1 -0
- package/mobile/package-lock.json +2 -2
- package/mobile/package.json +1 -1
- package/out/src/Setup.d.ts.map +1 -1
- package/out/src/Setup.js +4 -0
- package/out/src/Setup.js.map +1 -1
- package/out/src/__tests/CWIStyleWalletManager.test.js +2 -2
- package/out/src/__tests/CWIStyleWalletManager.test.js.map +1 -1
- package/out/src/services/__tests/ArcGorillaPool.man.test.js.map +1 -1
- package/out/src/services/chaintracker/BHServiceClient.d.ts +34 -0
- package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -0
- package/out/src/services/chaintracker/BHServiceClient.js +163 -0
- package/out/src/services/chaintracker/BHServiceClient.js.map +1 -0
- package/out/src/services/chaintracker/index.d.ts +1 -0
- package/out/src/services/chaintracker/index.d.ts.map +1 -1
- package/out/src/services/chaintracker/index.js +1 -0
- package/out/src/services/chaintracker/index.js.map +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.d.ts +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.js +10 -7
- package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
- package/out/src/storage/__test/adminStats.man.test.js +1 -0
- package/out/src/storage/__test/adminStats.man.test.js.map +1 -1
- package/out/test/wallet/action/abortAction.test.d.ts.map +1 -0
- package/out/test/{Wallet → wallet}/action/abortAction.test.js.map +1 -1
- package/out/test/wallet/action/createAction.test.d.ts.map +1 -0
- package/out/test/{Wallet → wallet}/action/createAction.test.js.map +1 -1
- package/out/test/{Wallet → wallet}/action/createAction2.test.d.ts.map +1 -1
- package/out/test/{Wallet → wallet}/action/createAction2.test.js.map +1 -1
- package/out/test/wallet/action/createActionToGenerateBeefs.man.test.d.ts.map +1 -0
- package/out/test/{Wallet → wallet}/action/createActionToGenerateBeefs.man.test.js.map +1 -1
- package/out/test/wallet/action/internalizeAction.test.d.ts.map +1 -0
- package/out/test/{Wallet → wallet}/action/internalizeAction.test.js.map +1 -1
- package/out/test/wallet/action/relinquishOutput.test.d.ts.map +1 -0
- package/out/test/{Wallet → wallet}/action/relinquishOutput.test.js.map +1 -1
- package/out/test/wallet/construct/Wallet.constructor.test.d.ts.map +1 -0
- package/out/test/{Wallet → wallet}/construct/Wallet.constructor.test.js.map +1 -1
- package/out/test/wallet/list/listActions.test.d.ts.map +1 -0
- package/out/test/{Wallet → wallet}/list/listActions.test.js.map +1 -1
- package/out/test/wallet/list/listActions2.test.d.ts.map +1 -0
- package/out/test/{Wallet → wallet}/list/listActions2.test.js.map +1 -1
- package/out/test/wallet/list/listCertificates.test.d.ts.map +1 -0
- package/out/test/{Wallet → wallet}/list/listCertificates.test.js.map +1 -1
- package/out/test/wallet/list/listOutputs.test.d.ts.map +1 -0
- package/out/test/{Wallet → wallet}/list/listOutputs.test.js.map +1 -1
- package/out/test/wallet/sync/Wallet.sync.test.d.ts.map +1 -0
- package/out/test/{Wallet → wallet}/sync/Wallet.sync.test.js.map +1 -1
- package/out/tsconfig.all.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/Setup.ts +6 -0
- package/src/__tests/CWIStyleWalletManager.test.ts +2 -2
- package/src/services/__tests/ArcGorillaPool.man.test.ts +1 -1
- package/src/services/chaintracker/BHServiceClient.ts +199 -0
- package/src/services/chaintracker/index.ts +1 -0
- package/src/services/createDefaultWalletServicesOptions.ts +15 -7
- package/src/storage/__test/adminStats.man.test.ts +1 -0
- package/out/src/sdk/CertOps.d.ts +0 -66
- package/out/src/sdk/CertOps.d.ts.map +0 -1
- package/out/src/sdk/CertOps.js +0 -198
- package/out/src/sdk/CertOps.js.map +0 -1
- 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/src/services/__tests/ARC.test.d.ts +0 -2
- package/out/src/services/__tests/ARC.test.d.ts.map +0 -1
- package/out/src/services/__tests/ARC.test.js +0 -104
- package/out/src/services/__tests/ARC.test.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts +0 -98
- package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js +0 -38
- package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js.map +0 -1
- package/out/src/storage/methods/listActions.d.ts +0 -5
- package/out/src/storage/methods/listActions.d.ts.map +0 -1
- package/out/src/storage/methods/listActions.js +0 -228
- package/out/src/storage/methods/listActions.js.map +0 -1
- package/out/src/storage/methods/listOutputs.d.ts +0 -5
- package/out/src/storage/methods/listOutputs.d.ts.map +0 -1
- package/out/src/storage/methods/listOutputs.js +0 -295
- package/out/src/storage/methods/listOutputs.js.map +0 -1
- package/out/src/storage/schema/entities/Certificate.d.ts +0 -43
- package/out/src/storage/schema/entities/Certificate.d.ts.map +0 -1
- package/out/src/storage/schema/entities/Certificate.js +0 -162
- package/out/src/storage/schema/entities/Certificate.js.map +0 -1
- package/out/src/storage/schema/entities/CertificateField.d.ts +0 -32
- package/out/src/storage/schema/entities/CertificateField.d.ts.map +0 -1
- package/out/src/storage/schema/entities/CertificateField.js +0 -114
- package/out/src/storage/schema/entities/CertificateField.js.map +0 -1
- package/out/src/storage/schema/entities/Commission.d.ts +0 -37
- package/out/src/storage/schema/entities/Commission.d.ts.map +0 -1
- package/out/src/storage/schema/entities/Commission.js +0 -130
- package/out/src/storage/schema/entities/Commission.js.map +0 -1
- package/out/src/storage/schema/entities/Output.d.ts +0 -67
- package/out/src/storage/schema/entities/Output.d.ts.map +0 -1
- package/out/src/storage/schema/entities/Output.js +0 -281
- package/out/src/storage/schema/entities/Output.js.map +0 -1
- package/out/src/storage/schema/entities/OutputBasket.d.ts +0 -35
- package/out/src/storage/schema/entities/OutputBasket.d.ts.map +0 -1
- package/out/src/storage/schema/entities/OutputBasket.js +0 -133
- package/out/src/storage/schema/entities/OutputBasket.js.map +0 -1
- package/out/src/storage/schema/entities/OutputTag.d.ts +0 -31
- package/out/src/storage/schema/entities/OutputTag.d.ts.map +0 -1
- package/out/src/storage/schema/entities/OutputTag.js +0 -104
- package/out/src/storage/schema/entities/OutputTag.js.map +0 -1
- package/out/src/storage/schema/entities/OutputTagMap.d.ts +0 -28
- package/out/src/storage/schema/entities/OutputTagMap.d.ts.map +0 -1
- package/out/src/storage/schema/entities/OutputTagMap.js +0 -101
- package/out/src/storage/schema/entities/OutputTagMap.js.map +0 -1
- package/out/src/storage/schema/entities/ProvenTx.d.ts +0 -84
- package/out/src/storage/schema/entities/ProvenTx.d.ts.map +0 -1
- package/out/src/storage/schema/entities/ProvenTx.js +0 -286
- package/out/src/storage/schema/entities/ProvenTx.js.map +0 -1
- package/out/src/storage/schema/entities/ProvenTxReq.d.ts +0 -135
- package/out/src/storage/schema/entities/ProvenTxReq.d.ts.map +0 -1
- package/out/src/storage/schema/entities/ProvenTxReq.js +0 -532
- package/out/src/storage/schema/entities/ProvenTxReq.js.map +0 -1
- package/out/src/storage/schema/entities/SyncState.d.ts +0 -66
- package/out/src/storage/schema/entities/SyncState.d.ts.map +0 -1
- package/out/src/storage/schema/entities/SyncState.js +0 -284
- package/out/src/storage/schema/entities/SyncState.js.map +0 -1
- package/out/src/storage/schema/entities/Transaction.d.ts +0 -67
- package/out/src/storage/schema/entities/Transaction.d.ts.map +0 -1
- package/out/src/storage/schema/entities/Transaction.js +0 -264
- package/out/src/storage/schema/entities/Transaction.js.map +0 -1
- package/out/src/storage/schema/entities/TxLabel.d.ts +0 -31
- package/out/src/storage/schema/entities/TxLabel.d.ts.map +0 -1
- package/out/src/storage/schema/entities/TxLabel.js +0 -104
- package/out/src/storage/schema/entities/TxLabel.js.map +0 -1
- package/out/src/storage/schema/entities/TxLabelMap.d.ts +0 -28
- package/out/src/storage/schema/entities/TxLabelMap.d.ts.map +0 -1
- package/out/src/storage/schema/entities/TxLabelMap.js +0 -103
- package/out/src/storage/schema/entities/TxLabelMap.js.map +0 -1
- package/out/src/storage/schema/entities/User.d.ts +0 -29
- package/out/src/storage/schema/entities/User.d.ts.map +0 -1
- package/out/src/storage/schema/entities/User.js +0 -100
- package/out/src/storage/schema/entities/User.js.map +0 -1
- package/out/src/storage/schema/tables/Certificate.d.ts +0 -20
- package/out/src/storage/schema/tables/Certificate.d.ts.map +0 -1
- package/out/src/storage/schema/tables/Certificate.js +0 -3
- package/out/src/storage/schema/tables/Certificate.js.map +0 -1
- package/out/src/storage/schema/tables/CertificateField.d.ts +0 -12
- package/out/src/storage/schema/tables/CertificateField.d.ts.map +0 -1
- package/out/src/storage/schema/tables/CertificateField.js +0 -3
- package/out/src/storage/schema/tables/CertificateField.js.map +0 -1
- package/out/src/storage/schema/tables/Commission.d.ts +0 -13
- package/out/src/storage/schema/tables/Commission.d.ts.map +0 -1
- package/out/src/storage/schema/tables/Commission.js +0 -3
- package/out/src/storage/schema/tables/Commission.js.map +0 -1
- package/out/src/storage/schema/tables/MonitorEvent.d.ts +0 -9
- package/out/src/storage/schema/tables/MonitorEvent.d.ts.map +0 -1
- package/out/src/storage/schema/tables/MonitorEvent.js +0 -3
- package/out/src/storage/schema/tables/MonitorEvent.js.map +0 -1
- package/out/src/storage/schema/tables/Output.d.ts +0 -36
- package/out/src/storage/schema/tables/Output.d.ts.map +0 -1
- package/out/src/storage/schema/tables/Output.js +0 -31
- package/out/src/storage/schema/tables/Output.js.map +0 -1
- package/out/src/storage/schema/tables/OutputBasket.d.ts +0 -12
- package/out/src/storage/schema/tables/OutputBasket.d.ts.map +0 -1
- package/out/src/storage/schema/tables/OutputBasket.js +0 -3
- package/out/src/storage/schema/tables/OutputBasket.js.map +0 -1
- package/out/src/storage/schema/tables/OutputTag.d.ts +0 -10
- package/out/src/storage/schema/tables/OutputTag.d.ts.map +0 -1
- package/out/src/storage/schema/tables/OutputTag.js +0 -3
- package/out/src/storage/schema/tables/OutputTag.js.map +0 -1
- package/out/src/storage/schema/tables/OutputTagMap.d.ts +0 -9
- package/out/src/storage/schema/tables/OutputTagMap.d.ts.map +0 -1
- package/out/src/storage/schema/tables/OutputTagMap.js +0 -3
- package/out/src/storage/schema/tables/OutputTagMap.js.map +0 -1
- package/out/src/storage/schema/tables/ProvenTx.d.ts +0 -14
- package/out/src/storage/schema/tables/ProvenTx.d.ts.map +0 -1
- package/out/src/storage/schema/tables/ProvenTx.js +0 -3
- package/out/src/storage/schema/tables/ProvenTx.js.map +0 -1
- package/out/src/storage/schema/tables/ProvenTxReq.d.ts +0 -64
- package/out/src/storage/schema/tables/ProvenTxReq.d.ts.map +0 -1
- package/out/src/storage/schema/tables/ProvenTxReq.js +0 -3
- package/out/src/storage/schema/tables/ProvenTxReq.js.map +0 -1
- package/out/src/storage/schema/tables/SyncState.d.ts +0 -18
- package/out/src/storage/schema/tables/SyncState.d.ts.map +0 -1
- package/out/src/storage/schema/tables/SyncState.js +0 -3
- package/out/src/storage/schema/tables/SyncState.js.map +0 -1
- package/out/src/storage/schema/tables/Transaction.d.ts +0 -37
- package/out/src/storage/schema/tables/Transaction.d.ts.map +0 -1
- package/out/src/storage/schema/tables/Transaction.js +0 -21
- package/out/src/storage/schema/tables/Transaction.js.map +0 -1
- package/out/src/storage/schema/tables/TxLabel.d.ts +0 -10
- package/out/src/storage/schema/tables/TxLabel.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TxLabel.js +0 -3
- package/out/src/storage/schema/tables/TxLabel.js.map +0 -1
- package/out/src/storage/schema/tables/TxLabelMap.d.ts +0 -9
- package/out/src/storage/schema/tables/TxLabelMap.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TxLabelMap.js +0 -3
- package/out/src/storage/schema/tables/TxLabelMap.js.map +0 -1
- package/out/src/storage/schema/tables/User.d.ts +0 -16
- package/out/src/storage/schema/tables/User.d.ts.map +0 -1
- package/out/src/storage/schema/tables/User.js +0 -3
- package/out/src/storage/schema/tables/User.js.map +0 -1
- package/out/test/Wallet/action/abortAction.test.d.ts.map +0 -1
- package/out/test/Wallet/action/createAction.test.d.ts.map +0 -1
- package/out/test/Wallet/action/createActionToGenerateBeefs.man.test.d.ts.map +0 -1
- package/out/test/Wallet/action/internalizeAction.test.d.ts.map +0 -1
- package/out/test/Wallet/action/relinquishOutput.test.d.ts.map +0 -1
- package/out/test/Wallet/construct/Wallet.constructor.test.d.ts.map +0 -1
- package/out/test/Wallet/list/listActions.test.d.ts.map +0 -1
- package/out/test/Wallet/list/listActions2.test.d.ts.map +0 -1
- package/out/test/Wallet/list/listCertificates.test.d.ts.map +0 -1
- package/out/test/Wallet/list/listOutputs.test.d.ts.map +0 -1
- package/out/test/Wallet/local/localWalletMethods.d.ts +0 -28
- package/out/test/Wallet/local/localWalletMethods.d.ts.map +0 -1
- package/out/test/Wallet/local/localWalletMethods.js +0 -281
- package/out/test/Wallet/local/localWalletMethods.js.map +0 -1
- package/out/test/Wallet/support/opers1.man.test.d.ts +0 -2
- package/out/test/Wallet/support/opers1.man.test.d.ts.map +0 -1
- package/out/test/Wallet/support/opers1.man.test.js +0 -202
- package/out/test/Wallet/support/opers1.man.test.js.map +0 -1
- package/out/test/Wallet/sync/Wallet.sync.test.d.ts.map +0 -1
- /package/out/test/{Wallet → wallet}/action/abortAction.test.d.ts +0 -0
- /package/out/test/{Wallet → wallet}/action/abortAction.test.js +0 -0
- /package/out/test/{Wallet → wallet}/action/createAction.test.d.ts +0 -0
- /package/out/test/{Wallet → wallet}/action/createAction.test.js +0 -0
- /package/out/test/{Wallet → wallet}/action/createAction2.test.d.ts +0 -0
- /package/out/test/{Wallet → wallet}/action/createAction2.test.js +0 -0
- /package/out/test/{Wallet → wallet}/action/createActionToGenerateBeefs.man.test.d.ts +0 -0
- /package/out/test/{Wallet → wallet}/action/createActionToGenerateBeefs.man.test.js +0 -0
- /package/out/test/{Wallet → wallet}/action/internalizeAction.test.d.ts +0 -0
- /package/out/test/{Wallet → wallet}/action/internalizeAction.test.js +0 -0
- /package/out/test/{Wallet → wallet}/action/relinquishOutput.test.d.ts +0 -0
- /package/out/test/{Wallet → wallet}/action/relinquishOutput.test.js +0 -0
- /package/out/test/{Wallet → wallet}/construct/Wallet.constructor.test.d.ts +0 -0
- /package/out/test/{Wallet → wallet}/construct/Wallet.constructor.test.js +0 -0
- /package/out/test/{Wallet → wallet}/list/listActions.test.d.ts +0 -0
- /package/out/test/{Wallet → wallet}/list/listActions.test.js +0 -0
- /package/out/test/{Wallet → wallet}/list/listActions2.test.d.ts +0 -0
- /package/out/test/{Wallet → wallet}/list/listActions2.test.js +0 -0
- /package/out/test/{Wallet → wallet}/list/listCertificates.test.d.ts +0 -0
- /package/out/test/{Wallet → wallet}/list/listCertificates.test.js +0 -0
- /package/out/test/{Wallet → wallet}/list/listOutputs.test.d.ts +0 -0
- /package/out/test/{Wallet → wallet}/list/listOutputs.test.js +0 -0
- /package/out/test/{Wallet → wallet}/sync/Wallet.sync.test.d.ts +0 -0
- /package/out/test/{Wallet → wallet}/sync/Wallet.sync.test.js +0 -0
- /package/test/{Wallet → wallet}/action/abortAction.test.ts +0 -0
- /package/test/{Wallet → wallet}/action/createAction.test.ts +0 -0
- /package/test/{Wallet → wallet}/action/createAction2.test.ts +0 -0
- /package/test/{Wallet → wallet}/action/createActionToGenerateBeefs.man.test.ts +0 -0
- /package/test/{Wallet → wallet}/action/internalizeAction.test.ts +0 -0
- /package/test/{Wallet → wallet}/action/relinquishOutput.test.ts +0 -0
- /package/test/{Wallet → wallet}/construct/Wallet.constructor.test.ts +0 -0
- /package/test/{Wallet → wallet}/list/listActions.test.ts +0 -0
- /package/test/{Wallet → wallet}/list/listActions2.test.ts +0 -0
- /package/test/{Wallet → wallet}/list/listCertificates.test.ts +0 -0
- /package/test/{Wallet → wallet}/list/listOutputs.test.ts +0 -0
- /package/test/{Wallet → wallet}/sync/Wallet.sync.test.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BHServiceClient.d.ts","sourceRoot":"","sources":["../../../../../src/services/chaintracker/BHServiceClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAS,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAA;AAClH,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,EAAmB,WAAW,EAAE,MAAM,eAAe,CAAA;AAqB5D,qBAAa,eAAgB,YAAW,wBAAwB;IAC9D,GAAG,EAAE,mBAAmB,CAAA;IACxB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,KAAK,EAAE,GAAG,CAAC,KAAK,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,+BAA+B,CAAA;IACxC,MAAM,EAAE,MAAM,CAAA;gBAEF,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAUnD,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAIhC,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUpE,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAiBrE,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAgBtE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoB1D,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIpE,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC;IAe1C,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAiB3D,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAUpC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAIhF,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1B,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAIlC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;IAI9B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC;IAIzC,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;CAG7C"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BHServiceClient = void 0;
|
|
4
|
+
const sdk_1 = require("@bsv/sdk");
|
|
5
|
+
const ChaintracksServiceClient_1 = require("./chaintracks/ChaintracksServiceClient");
|
|
6
|
+
const blockHeaderUtilities_1 = require("./chaintracks/util/blockHeaderUtilities");
|
|
7
|
+
class BHServiceClient {
|
|
8
|
+
constructor(chain, url, apiKey) {
|
|
9
|
+
this.bhs = new sdk_1.BlockHeadersService(url, { apiKey });
|
|
10
|
+
this.cache = {};
|
|
11
|
+
this.chain = chain;
|
|
12
|
+
this.serviceUrl = url;
|
|
13
|
+
this.options = ChaintracksServiceClient_1.ChaintracksServiceClient.createChaintracksServiceClientOptions();
|
|
14
|
+
this.options.useAuthrite = true;
|
|
15
|
+
this.apiKey = apiKey;
|
|
16
|
+
}
|
|
17
|
+
async currentHeight() {
|
|
18
|
+
return await this.bhs.currentHeight();
|
|
19
|
+
}
|
|
20
|
+
async isValidRootForHeight(root, height) {
|
|
21
|
+
const cachedRoot = this.cache[height];
|
|
22
|
+
if (cachedRoot) {
|
|
23
|
+
return cachedRoot === root;
|
|
24
|
+
}
|
|
25
|
+
const isValid = await this.bhs.isValidRootForHeight(root, height);
|
|
26
|
+
this.cache[height] = root;
|
|
27
|
+
return isValid;
|
|
28
|
+
}
|
|
29
|
+
async getPresentHeight() {
|
|
30
|
+
return await this.bhs.currentHeight();
|
|
31
|
+
}
|
|
32
|
+
async findHeaderForHeight(height) {
|
|
33
|
+
const response = await this.getJsonOrUndefined(`/api/v1/chain/header/byHeight?height=${height}`);
|
|
34
|
+
const header = response === null || response === void 0 ? void 0 : response[0];
|
|
35
|
+
if (!header)
|
|
36
|
+
return undefined;
|
|
37
|
+
const formatted = {
|
|
38
|
+
version: header.version,
|
|
39
|
+
previousHash: header.prevBlockHash,
|
|
40
|
+
merkleRoot: header.merkleRoot,
|
|
41
|
+
time: header.creationTimestamp,
|
|
42
|
+
bits: header.difficultyTarget,
|
|
43
|
+
nonce: header.nonce,
|
|
44
|
+
height,
|
|
45
|
+
hash: header.hash
|
|
46
|
+
};
|
|
47
|
+
return formatted;
|
|
48
|
+
}
|
|
49
|
+
async findHeaderForBlockHash(hash) {
|
|
50
|
+
const response = await this.getJsonOrUndefined(`/api/v1/chain/header/state/${hash}`);
|
|
51
|
+
if (!(response === null || response === void 0 ? void 0 : response.header))
|
|
52
|
+
return undefined;
|
|
53
|
+
const formatted = {
|
|
54
|
+
version: response.header.version,
|
|
55
|
+
previousHash: response.header.prevBlockHash,
|
|
56
|
+
merkleRoot: response.header.merkleRoot,
|
|
57
|
+
time: response.header.creationTimestamp,
|
|
58
|
+
bits: response.header.difficultyTarget,
|
|
59
|
+
nonce: response.header.nonce,
|
|
60
|
+
height: response.height,
|
|
61
|
+
hash: response.header.hash
|
|
62
|
+
};
|
|
63
|
+
return formatted;
|
|
64
|
+
}
|
|
65
|
+
async getHeaders(height, count) {
|
|
66
|
+
const response = await this.getJsonOrUndefined(`/api/v1/chain/header/byHeight?height=${height}&count=${count}`);
|
|
67
|
+
if (!response)
|
|
68
|
+
return '';
|
|
69
|
+
if (response.length < count)
|
|
70
|
+
throw new Error('Cannot retrieve enough headers');
|
|
71
|
+
const headers = response.map(response => {
|
|
72
|
+
const header = {
|
|
73
|
+
version: response.version,
|
|
74
|
+
previousHash: response.prevBlockHash,
|
|
75
|
+
merkleRoot: response.merkleRoot,
|
|
76
|
+
time: response.creationTimestamp,
|
|
77
|
+
bits: response.difficultyTarget,
|
|
78
|
+
nonce: response.nonce
|
|
79
|
+
};
|
|
80
|
+
return (0, blockHeaderUtilities_1.serializeBlockHeader)(header);
|
|
81
|
+
});
|
|
82
|
+
return headers.reduce((str, arr) => str + sdk_1.Utils.toHex(arr), '');
|
|
83
|
+
}
|
|
84
|
+
async findChainWorkForBlockHash(hash) {
|
|
85
|
+
throw new Error('Not implemented');
|
|
86
|
+
}
|
|
87
|
+
async findChainTipHeader() {
|
|
88
|
+
const response = await this.getJson('/api/v1/chain/tip/longest');
|
|
89
|
+
const formatted = {
|
|
90
|
+
version: response.header.version,
|
|
91
|
+
previousHash: response.header.prevBlockHash,
|
|
92
|
+
merkleRoot: response.header.merkleRoot,
|
|
93
|
+
time: response.header.creationTimestamp,
|
|
94
|
+
bits: response.header.difficultyTarget,
|
|
95
|
+
nonce: response.header.nonce,
|
|
96
|
+
height: response.height,
|
|
97
|
+
hash: response.header.hash
|
|
98
|
+
};
|
|
99
|
+
return formatted;
|
|
100
|
+
}
|
|
101
|
+
async getJsonOrUndefined(path) {
|
|
102
|
+
let e = undefined;
|
|
103
|
+
for (let retry = 0; retry < 3; retry++) {
|
|
104
|
+
try {
|
|
105
|
+
const r = await fetch(`${this.serviceUrl}${path}`, { headers: { Authorization: `Bearer ${this.apiKey}` } });
|
|
106
|
+
if (r.status !== 200)
|
|
107
|
+
throw new Error(JSON.stringify(r));
|
|
108
|
+
const v = await r.json();
|
|
109
|
+
if (!v)
|
|
110
|
+
return undefined;
|
|
111
|
+
return v;
|
|
112
|
+
}
|
|
113
|
+
catch (eu) {
|
|
114
|
+
e = eu;
|
|
115
|
+
}
|
|
116
|
+
if (e && e.name !== 'ECONNRESET')
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
if (e)
|
|
120
|
+
throw e;
|
|
121
|
+
}
|
|
122
|
+
async getJson(path) {
|
|
123
|
+
const r = await this.getJsonOrUndefined(path);
|
|
124
|
+
if (r === undefined)
|
|
125
|
+
throw new Error('Value was undefined. Requested object may not exist.');
|
|
126
|
+
return r;
|
|
127
|
+
}
|
|
128
|
+
/*
|
|
129
|
+
Please note that all methods hereafter are included only to match the interface of ChaintracksServiceClient.
|
|
130
|
+
*/
|
|
131
|
+
async postJsonVoid(path, params) {
|
|
132
|
+
throw new Error('Not implemented');
|
|
133
|
+
}
|
|
134
|
+
async addHeader(header) {
|
|
135
|
+
throw new Error('Not implemented');
|
|
136
|
+
}
|
|
137
|
+
async findHeaderForMerkleRoot(merkleRoot, height) {
|
|
138
|
+
throw new Error('Not implemented');
|
|
139
|
+
}
|
|
140
|
+
async startListening() {
|
|
141
|
+
throw new Error('Not implemented');
|
|
142
|
+
}
|
|
143
|
+
async listening() {
|
|
144
|
+
throw new Error('Not implemented');
|
|
145
|
+
}
|
|
146
|
+
async isSynchronized() {
|
|
147
|
+
throw new Error('Not implemented');
|
|
148
|
+
}
|
|
149
|
+
async getChain() {
|
|
150
|
+
return this.chain;
|
|
151
|
+
}
|
|
152
|
+
async isListening() {
|
|
153
|
+
throw new Error('Not implemented');
|
|
154
|
+
}
|
|
155
|
+
async getChainTipHeader() {
|
|
156
|
+
throw new Error('Not implemented');
|
|
157
|
+
}
|
|
158
|
+
async findChainTipHashHex() {
|
|
159
|
+
throw new Error('Not implemented');
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
exports.BHServiceClient = BHServiceClient;
|
|
163
|
+
//# sourceMappingURL=BHServiceClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BHServiceClient.js","sourceRoot":"","sources":["../../../../../src/services/chaintracker/BHServiceClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { BigNumber } from '@bsv/sdk';
|
|
2
|
+
import { BaseBlockHeader, BlockHeader } from '../Api/BlockHeaderApi';
|
|
3
|
+
import { Chain } from '../../../../sdk/types';
|
|
4
|
+
/**
|
|
5
|
+
* Computes sha256 hash of file contents read as bytes with no encoding.
|
|
6
|
+
* @param filepath Full filepath to file.
|
|
7
|
+
* @param bufferSize Optional read buffer size to use. Defaults to 80,000 bytes.
|
|
8
|
+
* @returns `{hash, length}` where `hash` is base64 string form of file hash and `length` is file length in bytes.
|
|
9
|
+
*/
|
|
10
|
+
export declare function sha256HashOfBinaryFile(filepath: string, bufferSize?: number): Promise<{
|
|
11
|
+
hash: string;
|
|
12
|
+
length: number;
|
|
13
|
+
}>;
|
|
14
|
+
/**
|
|
15
|
+
* Validate headers contained in an array of bytes. The headers must be consecutive block headers, 80 bytes long,
|
|
16
|
+
* where the hash of each header equals the previousHash of the following header.
|
|
17
|
+
* @param buffer Buffer of headers to be validated.
|
|
18
|
+
* @param previousHash Expected previousHash of first header.
|
|
19
|
+
* @param offset Optional starting offset within `buffer`.
|
|
20
|
+
* @param count Optional number of headers to validate. Validates to end of buffer if missing.
|
|
21
|
+
* @returns Header hash of last header validated or previousHash if there where none.
|
|
22
|
+
*/
|
|
23
|
+
export declare function validateBufferOfHeaders(buffer: number[], previousHash: string, offset?: number, count?: number): string;
|
|
24
|
+
/**
|
|
25
|
+
* @param work chainWork as a BigNumber
|
|
26
|
+
* @returns Converted chainWork value from BN to hex string of 32 bytes.
|
|
27
|
+
*/
|
|
28
|
+
export declare function workBNtoBuffer(work: BigNumber): string;
|
|
29
|
+
/**
|
|
30
|
+
* Returns true if work1 is more work (greater than) work2
|
|
31
|
+
*/
|
|
32
|
+
export declare function isMoreWork(work1: string, work2: string): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Add two Buffer encoded chainwork values
|
|
35
|
+
* @returns Sum of work1 + work2 as Buffer encoded chainWork value
|
|
36
|
+
*/
|
|
37
|
+
export declare function addWork(work1: string, work2: string): string;
|
|
38
|
+
/**
|
|
39
|
+
* Subtract Buffer encoded chainwork values
|
|
40
|
+
* @returns work1 - work2 as Buffer encoded chainWork value
|
|
41
|
+
*/
|
|
42
|
+
export declare function subWork(work1: string, work2: string): string;
|
|
43
|
+
/**
|
|
44
|
+
* Computes "target" value for 4 byte Bitcoin block header "bits" value.
|
|
45
|
+
* @param bits number or converted from Buffer using `readUint32LE`
|
|
46
|
+
* @returns 32 byte Buffer with "target" value
|
|
47
|
+
*/
|
|
48
|
+
export declare function convertBitsToTarget(bits: number | number[]): BigNumber;
|
|
49
|
+
/**
|
|
50
|
+
* Computes "chainWork" value for 4 byte Bitcoin block header "bits" value.
|
|
51
|
+
* @param bits number or converted from Buffer using `readUint32LE`
|
|
52
|
+
* @returns 32 byte Buffer with "chainWork" value
|
|
53
|
+
*/
|
|
54
|
+
export declare function convertBitsToWork(bits: number | number[]): string;
|
|
55
|
+
export declare function deserializeBaseBlockHeaders(buffer: number[], offset?: number, count?: number | undefined): BaseBlockHeader[];
|
|
56
|
+
export declare function deserializeBlockHeaders(firstHeight: number, buffer: number[], offset?: number, count?: number | undefined): BlockHeader[];
|
|
57
|
+
/**
|
|
58
|
+
* Extract an array of block hashes and of merkleRoots from a buffer of serialized block headers.
|
|
59
|
+
* @param buffer
|
|
60
|
+
*/
|
|
61
|
+
export declare function extractHashesAndRoots(buffer: Buffer): {
|
|
62
|
+
hashes: Buffer[];
|
|
63
|
+
merkleRoots: Buffer[];
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Given a block header, ensures that its format is correct. This does not
|
|
67
|
+
* check its difficulty or validity relative to the chain of headers.
|
|
68
|
+
*
|
|
69
|
+
* Throws on format errors.
|
|
70
|
+
*
|
|
71
|
+
* @param The header to validate
|
|
72
|
+
*
|
|
73
|
+
* @returns true if the header is correctly formatted
|
|
74
|
+
*/
|
|
75
|
+
export declare function validateHeaderFormat(header: BlockHeader): void;
|
|
76
|
+
/**
|
|
77
|
+
* Ensures that a header has a valid proof-of-work
|
|
78
|
+
* Requires chain is 'main'
|
|
79
|
+
*
|
|
80
|
+
* @param header The header to validate
|
|
81
|
+
*
|
|
82
|
+
* @returns true if the header is valid
|
|
83
|
+
*/
|
|
84
|
+
export declare function validateHeaderDifficulty(hash: Buffer, bits: number): boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Computes double sha256 hash of bitcoin block header
|
|
87
|
+
* bytes are reversed to bigendian order
|
|
88
|
+
*
|
|
89
|
+
* If header is a Buffer, it is required to 80 bytes long
|
|
90
|
+
* and in standard block header serialized encoding.
|
|
91
|
+
*
|
|
92
|
+
* @returns doule sha256 hash of header bytes reversed
|
|
93
|
+
* @publicbody
|
|
94
|
+
*/
|
|
95
|
+
export declare function blockHash(header: BaseBlockHeader | number[]): string;
|
|
96
|
+
/**
|
|
97
|
+
* Serializes a block header as an 80 byte Buffer.
|
|
98
|
+
* The exact serialized format is defined in the Bitcoin White Paper
|
|
99
|
+
* such that computing a double sha256 hash of the buffer computes
|
|
100
|
+
* the block hash for the header.
|
|
101
|
+
* @returns 80 byte Buffer
|
|
102
|
+
* @publicbody
|
|
103
|
+
*/
|
|
104
|
+
export declare function serializeBlockHeader(header: BaseBlockHeader, buffer?: number[], offset?: number): number[];
|
|
105
|
+
/**
|
|
106
|
+
* Deserialize a block header from an 80 byte buffer
|
|
107
|
+
* @publicbody
|
|
108
|
+
*/
|
|
109
|
+
export declare function deserializeBlockHeader(buffer: number[], offset?: number): BaseBlockHeader;
|
|
110
|
+
/**
|
|
111
|
+
* Returns the genesis block for the specified chain.
|
|
112
|
+
* @publicbody
|
|
113
|
+
*/
|
|
114
|
+
export declare function genesisHeader(chain: Chain): BlockHeader;
|
|
115
|
+
/**
|
|
116
|
+
* Returns the genesis block for the specified chain.
|
|
117
|
+
* @publicbody
|
|
118
|
+
*/
|
|
119
|
+
export declare function genesisBuffer(chain: Chain): number[];
|
|
120
|
+
/**
|
|
121
|
+
* Returns a copy of a Buffer with byte order reversed.
|
|
122
|
+
* @returns new buffer with byte order reversed.
|
|
123
|
+
* @publicbody
|
|
124
|
+
*/
|
|
125
|
+
export declare function swapByteOrder(buffer: number[]): number[];
|
|
126
|
+
/**
|
|
127
|
+
* @param num a number value in the Uint32 value range
|
|
128
|
+
* @param littleEndian true for little-endian byte order in Buffer
|
|
129
|
+
* @returns four byte buffer with Uint32 number encoded
|
|
130
|
+
* @publicbody
|
|
131
|
+
*/
|
|
132
|
+
export declare function convertUint32ToBuffer(n: number, littleEndian?: boolean): number[];
|
|
133
|
+
export declare function writeUInt32LE(n: number, a: number[], offset: number): number;
|
|
134
|
+
export declare function writeUInt32BE(n: number, a: number[], offset: number): number;
|
|
135
|
+
export declare function readUInt32LE(a: number[], offset: number): number;
|
|
136
|
+
export declare function readUInt32BE(a: number[], offset: number): number;
|
|
137
|
+
/**
|
|
138
|
+
* @param buffer four byte buffer with Uint32 number encoded
|
|
139
|
+
* @param littleEndian true for little-endian byte order in Buffer
|
|
140
|
+
* @returns a number value in the Uint32 value range
|
|
141
|
+
* @publicbody
|
|
142
|
+
*/
|
|
143
|
+
export declare function convertBufferToUint32(buffer: number[], littleEndian?: boolean): number;
|
|
144
|
+
//# sourceMappingURL=blockHeaderUtilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockHeaderUtilities.d.ts","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/util/blockHeaderUtilities.ts"],"names":[],"mappings":"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"}
|