@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,463 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sha256HashOfBinaryFile = sha256HashOfBinaryFile;
|
|
4
|
+
exports.validateBufferOfHeaders = validateBufferOfHeaders;
|
|
5
|
+
exports.workBNtoBuffer = workBNtoBuffer;
|
|
6
|
+
exports.isMoreWork = isMoreWork;
|
|
7
|
+
exports.addWork = addWork;
|
|
8
|
+
exports.subWork = subWork;
|
|
9
|
+
exports.convertBitsToTarget = convertBitsToTarget;
|
|
10
|
+
exports.convertBitsToWork = convertBitsToWork;
|
|
11
|
+
exports.deserializeBaseBlockHeaders = deserializeBaseBlockHeaders;
|
|
12
|
+
exports.deserializeBlockHeaders = deserializeBlockHeaders;
|
|
13
|
+
exports.extractHashesAndRoots = extractHashesAndRoots;
|
|
14
|
+
exports.validateHeaderFormat = validateHeaderFormat;
|
|
15
|
+
exports.validateHeaderDifficulty = validateHeaderDifficulty;
|
|
16
|
+
exports.blockHash = blockHash;
|
|
17
|
+
exports.serializeBlockHeader = serializeBlockHeader;
|
|
18
|
+
exports.deserializeBlockHeader = deserializeBlockHeader;
|
|
19
|
+
exports.genesisHeader = genesisHeader;
|
|
20
|
+
exports.genesisBuffer = genesisBuffer;
|
|
21
|
+
exports.swapByteOrder = swapByteOrder;
|
|
22
|
+
exports.convertUint32ToBuffer = convertUint32ToBuffer;
|
|
23
|
+
exports.writeUInt32LE = writeUInt32LE;
|
|
24
|
+
exports.writeUInt32BE = writeUInt32BE;
|
|
25
|
+
exports.readUInt32LE = readUInt32LE;
|
|
26
|
+
exports.readUInt32BE = readUInt32BE;
|
|
27
|
+
exports.convertBufferToUint32 = convertBufferToUint32;
|
|
28
|
+
const dirtyHashes_1 = require("./dirtyHashes");
|
|
29
|
+
const sdk_1 = require("@bsv/sdk");
|
|
30
|
+
const fs_1 = require("fs");
|
|
31
|
+
const utilityHelpers_buffer_1 = require("../../../../utility/utilityHelpers.buffer");
|
|
32
|
+
const utilityHelpers_1 = require("../../../../utility/utilityHelpers");
|
|
33
|
+
/**
|
|
34
|
+
* Computes sha256 hash of file contents read as bytes with no encoding.
|
|
35
|
+
* @param filepath Full filepath to file.
|
|
36
|
+
* @param bufferSize Optional read buffer size to use. Defaults to 80,000 bytes.
|
|
37
|
+
* @returns `{hash, length}` where `hash` is base64 string form of file hash and `length` is file length in bytes.
|
|
38
|
+
*/
|
|
39
|
+
async function sha256HashOfBinaryFile(filepath, bufferSize = 80000) {
|
|
40
|
+
const file = await fs_1.promises.open(filepath, 'r');
|
|
41
|
+
try {
|
|
42
|
+
let length = 0;
|
|
43
|
+
const sha256 = new sdk_1.Hash.SHA256();
|
|
44
|
+
const readBuf = Buffer.alloc(bufferSize);
|
|
45
|
+
// eslint-disable-next-line no-constant-condition
|
|
46
|
+
while (true) {
|
|
47
|
+
const rr = await file.read(readBuf, 0, readBuf.length);
|
|
48
|
+
if (!rr.bytesRead)
|
|
49
|
+
break;
|
|
50
|
+
length += rr.bytesRead;
|
|
51
|
+
sha256.update((0, utilityHelpers_buffer_1.asArray)(rr.buffer));
|
|
52
|
+
}
|
|
53
|
+
return { hash: sdk_1.Utils.toBase64(sha256.digest()), length };
|
|
54
|
+
}
|
|
55
|
+
finally {
|
|
56
|
+
await file.close();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Validate headers contained in an array of bytes. The headers must be consecutive block headers, 80 bytes long,
|
|
61
|
+
* where the hash of each header equals the previousHash of the following header.
|
|
62
|
+
* @param buffer Buffer of headers to be validated.
|
|
63
|
+
* @param previousHash Expected previousHash of first header.
|
|
64
|
+
* @param offset Optional starting offset within `buffer`.
|
|
65
|
+
* @param count Optional number of headers to validate. Validates to end of buffer if missing.
|
|
66
|
+
* @returns Header hash of last header validated or previousHash if there where none.
|
|
67
|
+
*/
|
|
68
|
+
function validateBufferOfHeaders(buffer, previousHash, offset = 0, count = -1) {
|
|
69
|
+
if (count < 0)
|
|
70
|
+
count = Math.floor((buffer.length - offset) / 80);
|
|
71
|
+
count = Math.max(0, count);
|
|
72
|
+
let lastHeaderHash = previousHash;
|
|
73
|
+
for (let i = 0; i < count; i++) {
|
|
74
|
+
const headerStart = offset + i * 80;
|
|
75
|
+
const headerEnd = headerStart + 80;
|
|
76
|
+
if (headerEnd > buffer.length) {
|
|
77
|
+
throw {
|
|
78
|
+
message: `header ${i} missing bytes for header at offset ${headerStart} in buffer of length ${buffer.length}`
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
const header = buffer.slice(headerStart, headerEnd);
|
|
82
|
+
const hashPrev = (0, utilityHelpers_buffer_1.asString)(header.slice(4, 36).reverse());
|
|
83
|
+
if (lastHeaderHash !== hashPrev)
|
|
84
|
+
throw { message: `header ${i} invalid previousHash ${lastHeaderHash} vs ${hashPrev}` };
|
|
85
|
+
lastHeaderHash = (0, utilityHelpers_buffer_1.asString)((0, utilityHelpers_1.doubleSha256BE)(header));
|
|
86
|
+
(0, dirtyHashes_1.validateAgainstDirtyHashes)(lastHeaderHash);
|
|
87
|
+
}
|
|
88
|
+
return lastHeaderHash;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* @param work chainWork as a BigNumber
|
|
92
|
+
* @returns Converted chainWork value from BN to hex string of 32 bytes.
|
|
93
|
+
*/
|
|
94
|
+
function workBNtoBuffer(work) {
|
|
95
|
+
return work.toString(16).padStart(64, '0');
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Returns true if work1 is more work (greater than) work2
|
|
99
|
+
*/
|
|
100
|
+
function isMoreWork(work1, work2) {
|
|
101
|
+
return new sdk_1.BigNumber((0, utilityHelpers_buffer_1.asArray)(work1), 16).gt(new sdk_1.BigNumber((0, utilityHelpers_buffer_1.asArray)(work2), 16));
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Add two Buffer encoded chainwork values
|
|
105
|
+
* @returns Sum of work1 + work2 as Buffer encoded chainWork value
|
|
106
|
+
*/
|
|
107
|
+
function addWork(work1, work2) {
|
|
108
|
+
const sum = new sdk_1.BigNumber((0, utilityHelpers_buffer_1.asArray)(work1), 16).add(new sdk_1.BigNumber((0, utilityHelpers_buffer_1.asArray)(work2), 16));
|
|
109
|
+
return workBNtoBuffer(sum);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Subtract Buffer encoded chainwork values
|
|
113
|
+
* @returns work1 - work2 as Buffer encoded chainWork value
|
|
114
|
+
*/
|
|
115
|
+
function subWork(work1, work2) {
|
|
116
|
+
const sum = new sdk_1.BigNumber((0, utilityHelpers_buffer_1.asArray)(work1), 16).sub(new sdk_1.BigNumber((0, utilityHelpers_buffer_1.asArray)(work2), 16));
|
|
117
|
+
return workBNtoBuffer(sum);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Computes "target" value for 4 byte Bitcoin block header "bits" value.
|
|
121
|
+
* @param bits number or converted from Buffer using `readUint32LE`
|
|
122
|
+
* @returns 32 byte Buffer with "target" value
|
|
123
|
+
*/
|
|
124
|
+
function convertBitsToTarget(bits) {
|
|
125
|
+
if (Array.isArray(bits))
|
|
126
|
+
bits = readUInt32LE(bits, 0);
|
|
127
|
+
const shift = (bits >> 24) & 0xff;
|
|
128
|
+
const data = bits & 0x007fffff;
|
|
129
|
+
const target = new sdk_1.BigNumber(data);
|
|
130
|
+
if (shift <= 3) {
|
|
131
|
+
target.iushrn(8 * (3 - shift));
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
target.iushln(8 * (shift - 3));
|
|
135
|
+
}
|
|
136
|
+
return target;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Computes "chainWork" value for 4 byte Bitcoin block header "bits" value.
|
|
140
|
+
* @param bits number or converted from Buffer using `readUint32LE`
|
|
141
|
+
* @returns 32 byte Buffer with "chainWork" value
|
|
142
|
+
*/
|
|
143
|
+
function convertBitsToWork(bits) {
|
|
144
|
+
const target = convertBitsToTarget(bits);
|
|
145
|
+
// convert target to work
|
|
146
|
+
const work = target.notn(256).div(target.addn(1)).addn(1);
|
|
147
|
+
return work.toString(16).padStart(64, '0');
|
|
148
|
+
}
|
|
149
|
+
function deserializeBaseBlockHeaders(buffer, offset = 0, count) {
|
|
150
|
+
const headers = [];
|
|
151
|
+
while ((!count || headers.length < count) && offset + 80 <= buffer.length && offset >= 0) {
|
|
152
|
+
headers.push(deserializeBlockHeader(buffer, offset));
|
|
153
|
+
offset += 80;
|
|
154
|
+
}
|
|
155
|
+
return headers;
|
|
156
|
+
}
|
|
157
|
+
function deserializeBlockHeaders(firstHeight, buffer, offset = 0, count) {
|
|
158
|
+
const headers = [];
|
|
159
|
+
let nextHeight = firstHeight;
|
|
160
|
+
while ((!count || headers.length < count) && offset + 80 <= buffer.length && offset >= 0) {
|
|
161
|
+
const baseBuffer = buffer.slice(offset, offset + 80);
|
|
162
|
+
const base = deserializeBlockHeader(baseBuffer);
|
|
163
|
+
const header = {
|
|
164
|
+
...base,
|
|
165
|
+
height: nextHeight++,
|
|
166
|
+
hash: (0, utilityHelpers_buffer_1.asString)(blockHash(baseBuffer))
|
|
167
|
+
};
|
|
168
|
+
headers.push(header);
|
|
169
|
+
offset += 80;
|
|
170
|
+
}
|
|
171
|
+
return headers;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Extract an array of block hashes and of merkleRoots from a buffer of serialized block headers.
|
|
175
|
+
* @param buffer
|
|
176
|
+
*/
|
|
177
|
+
function extractHashesAndRoots(buffer) {
|
|
178
|
+
const hashes = [];
|
|
179
|
+
const merkleRoots = [];
|
|
180
|
+
for (let i = 0; i < buffer.length / 80; i++) {
|
|
181
|
+
const offset = i * 80;
|
|
182
|
+
const hash = (0, utilityHelpers_buffer_1.asBuffer)((0, utilityHelpers_1.doubleSha256LE)((0, utilityHelpers_buffer_1.asArray)(buffer.subarray(offset, 80 + offset))).reverse());
|
|
183
|
+
const merkleRoot = buffer.subarray(36 + offset, 68 + offset).reverse();
|
|
184
|
+
hashes.push(hash);
|
|
185
|
+
merkleRoots.push(merkleRoot);
|
|
186
|
+
}
|
|
187
|
+
return { hashes, merkleRoots };
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Given a block header, ensures that its format is correct. This does not
|
|
191
|
+
* check its difficulty or validity relative to the chain of headers.
|
|
192
|
+
*
|
|
193
|
+
* Throws on format errors.
|
|
194
|
+
*
|
|
195
|
+
* @param The header to validate
|
|
196
|
+
*
|
|
197
|
+
* @returns true if the header is correctly formatted
|
|
198
|
+
*/
|
|
199
|
+
function validateHeaderFormat(header) {
|
|
200
|
+
const ALLOWED_KEYS = {
|
|
201
|
+
version: true,
|
|
202
|
+
previousHash: true,
|
|
203
|
+
merkleRoot: true,
|
|
204
|
+
time: true,
|
|
205
|
+
bits: true,
|
|
206
|
+
nonce: true,
|
|
207
|
+
height: true,
|
|
208
|
+
hash: true
|
|
209
|
+
};
|
|
210
|
+
const UINT_MAX = 0xffffffff;
|
|
211
|
+
/**
|
|
212
|
+
* Root object checks
|
|
213
|
+
*/
|
|
214
|
+
if (typeof header === 'undefined') {
|
|
215
|
+
throw new Error('Missing header.');
|
|
216
|
+
}
|
|
217
|
+
if (typeof header !== 'object') {
|
|
218
|
+
throw new Error('Header must be an object.');
|
|
219
|
+
}
|
|
220
|
+
if (!Object.keys(header).every(key => ALLOWED_KEYS[key])) {
|
|
221
|
+
throw new Error('Header contains extra properties.');
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Version
|
|
225
|
+
*/
|
|
226
|
+
if (typeof header.version !== 'number') {
|
|
227
|
+
throw new Error('Header version must be a number.');
|
|
228
|
+
}
|
|
229
|
+
if (!Number.isInteger(header.version)) {
|
|
230
|
+
throw new Error('Header version must be an integer.');
|
|
231
|
+
}
|
|
232
|
+
if (header.version < 0 || header.version > UINT_MAX) {
|
|
233
|
+
throw new Error(`Header version must be between 0 and ${UINT_MAX}.`);
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Height
|
|
237
|
+
*/
|
|
238
|
+
if (typeof header.height !== 'number') {
|
|
239
|
+
throw new Error('Header height must be a number.');
|
|
240
|
+
}
|
|
241
|
+
if (!Number.isInteger(header.height)) {
|
|
242
|
+
throw new Error('Header height must be an integer.');
|
|
243
|
+
}
|
|
244
|
+
if (header.height < 0 || header.height > UINT_MAX / 2) {
|
|
245
|
+
throw new Error(`Header version must be between 0 and ${UINT_MAX / 2}.`);
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Previous hash
|
|
249
|
+
*/
|
|
250
|
+
if (header.previousHash.length !== 64) {
|
|
251
|
+
throw new Error('Header previousHash must be 32 hex bytes.');
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Merkle root
|
|
255
|
+
*/
|
|
256
|
+
if (header.merkleRoot.length !== 64) {
|
|
257
|
+
throw new Error('Header merkleRoot must be 32 hex bytes.');
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Time
|
|
261
|
+
*/
|
|
262
|
+
if (typeof header.time !== 'number') {
|
|
263
|
+
throw new Error('Header time must be a number.');
|
|
264
|
+
}
|
|
265
|
+
if (!Number.isInteger(header.time)) {
|
|
266
|
+
throw new Error('Header time must be an integer.');
|
|
267
|
+
}
|
|
268
|
+
if (header.time < 0 || header.time > UINT_MAX) {
|
|
269
|
+
throw new Error(`Header time must be between 0 and ${UINT_MAX}.`);
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Bits
|
|
273
|
+
*/
|
|
274
|
+
if (typeof header.bits !== 'number') {
|
|
275
|
+
throw new Error('Header bits must be a number.');
|
|
276
|
+
}
|
|
277
|
+
if (!Number.isInteger(header.bits)) {
|
|
278
|
+
throw new Error('Header bits must be an integer.');
|
|
279
|
+
}
|
|
280
|
+
if (header.bits < 0 || header.bits > UINT_MAX) {
|
|
281
|
+
throw new Error(`Header bits must be between 0 and ${UINT_MAX}.`);
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Nonce
|
|
285
|
+
*/
|
|
286
|
+
if (typeof header.nonce !== 'number') {
|
|
287
|
+
throw new Error('Header nonce must be a number.');
|
|
288
|
+
}
|
|
289
|
+
if (!Number.isInteger(header.nonce)) {
|
|
290
|
+
throw new Error('Header nonce must be an integer.');
|
|
291
|
+
}
|
|
292
|
+
if (header.nonce < 0 || header.nonce > UINT_MAX) {
|
|
293
|
+
throw new Error(`Header nonce must be between 0 and ${UINT_MAX}.`);
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Hash
|
|
297
|
+
*/
|
|
298
|
+
if (header.hash.length !== 64) {
|
|
299
|
+
throw new Error('Header hash must be 32 hex bytes.');
|
|
300
|
+
}
|
|
301
|
+
if (header.hash !== (0, utilityHelpers_buffer_1.asString)(blockHash(header))) {
|
|
302
|
+
throw new Error('Header hash is invalid.');
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Ensures that a header has a valid proof-of-work
|
|
307
|
+
* Requires chain is 'main'
|
|
308
|
+
*
|
|
309
|
+
* @param header The header to validate
|
|
310
|
+
*
|
|
311
|
+
* @returns true if the header is valid
|
|
312
|
+
*/
|
|
313
|
+
function validateHeaderDifficulty(hash, bits) {
|
|
314
|
+
const hashBN = new sdk_1.BigNumber((0, utilityHelpers_buffer_1.asArray)(hash));
|
|
315
|
+
const target = convertBitsToTarget(bits);
|
|
316
|
+
if (hashBN.lte(target))
|
|
317
|
+
return true;
|
|
318
|
+
throw new Error('Block hash is not less than specified target.');
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Computes double sha256 hash of bitcoin block header
|
|
322
|
+
* bytes are reversed to bigendian order
|
|
323
|
+
*
|
|
324
|
+
* If header is a Buffer, it is required to 80 bytes long
|
|
325
|
+
* and in standard block header serialized encoding.
|
|
326
|
+
*
|
|
327
|
+
* @returns doule sha256 hash of header bytes reversed
|
|
328
|
+
* @publicbody
|
|
329
|
+
*/
|
|
330
|
+
function blockHash(header) {
|
|
331
|
+
const a = !Array.isArray(header) ? serializeBlockHeader(header) : header;
|
|
332
|
+
if (a.length !== 80)
|
|
333
|
+
throw new Error('Block header must be 80 bytes long.');
|
|
334
|
+
return (0, utilityHelpers_buffer_1.asString)((0, utilityHelpers_1.doubleSha256BE)(a));
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Serializes a block header as an 80 byte Buffer.
|
|
338
|
+
* The exact serialized format is defined in the Bitcoin White Paper
|
|
339
|
+
* such that computing a double sha256 hash of the buffer computes
|
|
340
|
+
* the block hash for the header.
|
|
341
|
+
* @returns 80 byte Buffer
|
|
342
|
+
* @publicbody
|
|
343
|
+
*/
|
|
344
|
+
function serializeBlockHeader(header, buffer, offset) {
|
|
345
|
+
const writer = new sdk_1.Utils.Writer();
|
|
346
|
+
writer.writeUInt32LE(header.version);
|
|
347
|
+
writer.write((0, utilityHelpers_buffer_1.asArray)(header.previousHash).reverse());
|
|
348
|
+
writer.write((0, utilityHelpers_buffer_1.asArray)(header.merkleRoot).reverse());
|
|
349
|
+
writer.writeUInt32LE(header.time);
|
|
350
|
+
writer.writeUInt32LE(header.bits);
|
|
351
|
+
writer.writeUInt32LE(header.nonce);
|
|
352
|
+
const data = writer.toArray();
|
|
353
|
+
if (buffer) {
|
|
354
|
+
offset || (offset = 0);
|
|
355
|
+
buffer.splice(offset, buffer.length, ...data);
|
|
356
|
+
}
|
|
357
|
+
return data;
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* Deserialize a block header from an 80 byte buffer
|
|
361
|
+
* @publicbody
|
|
362
|
+
*/
|
|
363
|
+
function deserializeBlockHeader(buffer, offset = 0) {
|
|
364
|
+
const reader = new sdk_1.Utils.Reader(buffer, offset);
|
|
365
|
+
const header = {
|
|
366
|
+
version: reader.readUInt32LE(),
|
|
367
|
+
previousHash: (0, utilityHelpers_buffer_1.asString)(reader.read(32).reverse()),
|
|
368
|
+
merkleRoot: (0, utilityHelpers_buffer_1.asString)(reader.read(32).reverse()),
|
|
369
|
+
time: reader.readUInt32LE(),
|
|
370
|
+
bits: reader.readUInt32LE(),
|
|
371
|
+
nonce: reader.readUInt32LE()
|
|
372
|
+
};
|
|
373
|
+
return header;
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* Returns the genesis block for the specified chain.
|
|
377
|
+
* @publicbody
|
|
378
|
+
*/
|
|
379
|
+
function genesisHeader(chain) {
|
|
380
|
+
return chain === 'main'
|
|
381
|
+
? {
|
|
382
|
+
version: 1,
|
|
383
|
+
previousHash: '0000000000000000000000000000000000000000000000000000000000000000',
|
|
384
|
+
merkleRoot: '4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b',
|
|
385
|
+
time: 1231006505,
|
|
386
|
+
bits: 486604799,
|
|
387
|
+
nonce: 2083236893,
|
|
388
|
+
height: 0,
|
|
389
|
+
hash: '000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f'
|
|
390
|
+
}
|
|
391
|
+
: {
|
|
392
|
+
version: 1,
|
|
393
|
+
previousHash: '0000000000000000000000000000000000000000000000000000000000000000',
|
|
394
|
+
merkleRoot: '4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b',
|
|
395
|
+
time: 1296688602,
|
|
396
|
+
bits: 486604799,
|
|
397
|
+
nonce: 414098458,
|
|
398
|
+
height: 0,
|
|
399
|
+
hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943'
|
|
400
|
+
};
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* Returns the genesis block for the specified chain.
|
|
404
|
+
* @publicbody
|
|
405
|
+
*/
|
|
406
|
+
function genesisBuffer(chain) {
|
|
407
|
+
return serializeBlockHeader(genesisHeader(chain));
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* Returns a copy of a Buffer with byte order reversed.
|
|
411
|
+
* @returns new buffer with byte order reversed.
|
|
412
|
+
* @publicbody
|
|
413
|
+
*/
|
|
414
|
+
function swapByteOrder(buffer) {
|
|
415
|
+
return buffer.slice().reverse();
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* @param num a number value in the Uint32 value range
|
|
419
|
+
* @param littleEndian true for little-endian byte order in Buffer
|
|
420
|
+
* @returns four byte buffer with Uint32 number encoded
|
|
421
|
+
* @publicbody
|
|
422
|
+
*/
|
|
423
|
+
function convertUint32ToBuffer(n, littleEndian = true) {
|
|
424
|
+
const a = [
|
|
425
|
+
n & 0xff, // lowest byte
|
|
426
|
+
(n >> 8) & 0xff,
|
|
427
|
+
(n >> 16) & 0xff,
|
|
428
|
+
(n >> 24) & 0xff // highest byte
|
|
429
|
+
];
|
|
430
|
+
return littleEndian ? a : a.reverse();
|
|
431
|
+
}
|
|
432
|
+
function writeUInt32LE(n, a, offset) {
|
|
433
|
+
a[offset++] = n & 0xff; // lowest byte
|
|
434
|
+
a[offset++] = (n >> 8) & 0xff;
|
|
435
|
+
a[offset++] = (n >> 16) & 0xff;
|
|
436
|
+
a[offset++] = (n >> 24) & 0xff; // highest byte
|
|
437
|
+
return offset;
|
|
438
|
+
}
|
|
439
|
+
function writeUInt32BE(n, a, offset) {
|
|
440
|
+
a[offset++] = (n >> 24) & 0xff; // highest byte
|
|
441
|
+
a[offset++] = (n >> 16) & 0xff;
|
|
442
|
+
a[offset++] = (n >> 8) & 0xff;
|
|
443
|
+
a[offset++] = n & 0xff; // lowest byte
|
|
444
|
+
return offset;
|
|
445
|
+
}
|
|
446
|
+
function readUInt32LE(a, offset) {
|
|
447
|
+
return a[offset++] | (a[offset++] << 8) | (a[offset++] << 16) | (a[offset++] << 24);
|
|
448
|
+
}
|
|
449
|
+
function readUInt32BE(a, offset) {
|
|
450
|
+
return (a[offset++] << 24) | (a[offset++] << 16) | (a[offset++] << 8) | a[offset++];
|
|
451
|
+
}
|
|
452
|
+
/**
|
|
453
|
+
* @param buffer four byte buffer with Uint32 number encoded
|
|
454
|
+
* @param littleEndian true for little-endian byte order in Buffer
|
|
455
|
+
* @returns a number value in the Uint32 value range
|
|
456
|
+
* @publicbody
|
|
457
|
+
*/
|
|
458
|
+
function convertBufferToUint32(buffer, littleEndian = true) {
|
|
459
|
+
const a = littleEndian ? buffer : buffer.slice().reverse();
|
|
460
|
+
const n = a[0] | (a[1] << 8) | (a[2] << 16) | (a[3] << 24);
|
|
461
|
+
return n;
|
|
462
|
+
}
|
|
463
|
+
//# sourceMappingURL=blockHeaderUtilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockHeaderUtilities.js","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/util/blockHeaderUtilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* These hashes are for blocks that are to known to have violated the Bitcoin
|
|
3
|
+
* protocol. Regardless of the amount of proof-of-work that chains built on top
|
|
4
|
+
* of them may have accumulated, they cannot be considered valid Bitcoin blocks.
|
|
5
|
+
*
|
|
6
|
+
* In the first instance, segregating witness data from transactions is not
|
|
7
|
+
* part of the design of Bitcoin.
|
|
8
|
+
*
|
|
9
|
+
* In the second instance, adding new opcodes to be used when evaluating
|
|
10
|
+
* scripts is also not allowed.
|
|
11
|
+
*/
|
|
12
|
+
export declare const dirtyHashes: {
|
|
13
|
+
'00000000000000000019f112ec0a9982926f1258cdcc558dd7c3b7e5dc7fa148': string;
|
|
14
|
+
'0000000000000000004626ff6e3b936941d341c5932ece4357eeccac44e6d56c': string;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Throws Error if blockHash is in the dirtyHashes list.
|
|
18
|
+
*/
|
|
19
|
+
export declare function validateAgainstDirtyHashes(blockHash: string): void;
|
|
20
|
+
//# sourceMappingURL=dirtyHashes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dirtyHashes.d.ts","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/util/dirtyHashes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW;;;CAQvB,CAAA;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAIlE"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dirtyHashes = void 0;
|
|
4
|
+
exports.validateAgainstDirtyHashes = validateAgainstDirtyHashes;
|
|
5
|
+
/**
|
|
6
|
+
* These hashes are for blocks that are to known to have violated the Bitcoin
|
|
7
|
+
* protocol. Regardless of the amount of proof-of-work that chains built on top
|
|
8
|
+
* of them may have accumulated, they cannot be considered valid Bitcoin blocks.
|
|
9
|
+
*
|
|
10
|
+
* In the first instance, segregating witness data from transactions is not
|
|
11
|
+
* part of the design of Bitcoin.
|
|
12
|
+
*
|
|
13
|
+
* In the second instance, adding new opcodes to be used when evaluating
|
|
14
|
+
* scripts is also not allowed.
|
|
15
|
+
*/
|
|
16
|
+
exports.dirtyHashes = {
|
|
17
|
+
// Block 478,558 with hash of 0000000000000000011865af4122fe3b144e2cbeea86142e8ff2fb4107352d43 was the last block shared by BSV, BCH and BTC
|
|
18
|
+
// Block 478,559 with hash of 00000000000000000019f112ec0a9982926f1258cdcc558dd7c3b7e5dc7fa148 was the first block of the BTC Segwit chain.
|
|
19
|
+
// Block 478,559 with hash of 000000000000000000651ef99cb9fcbe0dadde1d424bd9f15ff20136191a5eec was the valid Bitcoin block shared by BSV and BCH.
|
|
20
|
+
'00000000000000000019f112ec0a9982926f1258cdcc558dd7c3b7e5dc7fa148': 'This is the first header of the invalid SegWit chain.',
|
|
21
|
+
'0000000000000000004626ff6e3b936941d341c5932ece4357eeccac44e6d56c': 'This is the first header of the invalid ABC chain.'
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Throws Error if blockHash is in the dirtyHashes list.
|
|
25
|
+
*/
|
|
26
|
+
function validateAgainstDirtyHashes(blockHash) {
|
|
27
|
+
if (exports.dirtyHashes[blockHash]) {
|
|
28
|
+
throw new Error(`Not adding a header with a dirty hash: ${exports.dirtyHashes[blockHash]}`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=dirtyHashes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dirtyHashes.js","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/util/dirtyHashes.ts"],"names":[],"mappings":";;;AAwBA,gEAIC;AA5BD;;;;;;;;;;GAUG;AACU,QAAA,WAAW,GAAG;IACzB,4IAA4I;IAC5I,2IAA2I;IAC3I,iJAAiJ;IACjJ,kEAAkE,EAChE,uDAAuD;IACzD,kEAAkE,EAChE,oDAAoD;CACvD,CAAA;AAED;;GAEG;AACH,SAAgB,0BAA0B,CAAC,SAAiB;IAC1D,IAAI,mBAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,0CAA0C,mBAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IACrF,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/chaintracker/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,2BAA2B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/chaintracker/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,2BAA2B,CAAA;AACzC,cAAc,mBAAmB,CAAA"}
|
|
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./chaintracks"), exports);
|
|
18
18
|
__exportStar(require("./ChaintracksChainTracker"), exports);
|
|
19
|
+
__exportStar(require("./BHServiceClient"), exports);
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/chaintracker/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA6B;AAC7B,4DAAyC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/chaintracker/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA6B;AAC7B,4DAAyC;AACzC,oDAAiC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { sdk } from '../index.client';
|
|
2
|
-
export declare function createDefaultWalletServicesOptions(chain: sdk.Chain): sdk.WalletServicesOptions;
|
|
2
|
+
export declare function createDefaultWalletServicesOptions(chain: sdk.Chain, arcCallbackUrl?: string, arcCallbackToken?: string, arcApiKey?: string): sdk.WalletServicesOptions;
|
|
3
3
|
export declare function arcDefaultUrl(chain: sdk.Chain): string;
|
|
4
4
|
export declare function arcGorillaPoolUrl(chain: sdk.Chain): string | undefined;
|
|
5
5
|
//# sourceMappingURL=createDefaultWalletServicesOptions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createDefaultWalletServicesOptions.d.ts","sourceRoot":"","sources":["../../../../src/services/createDefaultWalletServicesOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAGrD,wBAAgB,kCAAkC,
|
|
1
|
+
{"version":3,"file":"createDefaultWalletServicesOptions.d.ts","sourceRoot":"","sources":["../../../../src/services/createDefaultWalletServicesOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAGrD,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,cAAc,CAAC,EAAE,MAAM,EACvB,gBAAgB,CAAC,EAAE,MAAM,EACzB,SAAS,CAAC,EAAE,MAAM,GACjB,GAAG,CAAC,qBAAqB,CAiD3B;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,MAAM,CAGtD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,MAAM,GAAG,SAAS,CAGtE"}
|
|
@@ -5,12 +5,11 @@ exports.arcDefaultUrl = arcDefaultUrl;
|
|
|
5
5
|
exports.arcGorillaPoolUrl = arcGorillaPoolUrl;
|
|
6
6
|
const index_client_1 = require("../index.client");
|
|
7
7
|
const chaintracker_1 = require("./chaintracker");
|
|
8
|
-
function createDefaultWalletServicesOptions(chain) {
|
|
8
|
+
function createDefaultWalletServicesOptions(chain, arcCallbackUrl, arcCallbackToken, arcApiKey) {
|
|
9
9
|
const deploymentId = `wallet-toolbox-${(0, index_client_1.randomBytesHex)(16)}`;
|
|
10
|
-
const taalApiKey = chain === 'main'
|
|
10
|
+
const taalApiKey = arcApiKey || chain === 'main'
|
|
11
11
|
? 'mainnet_9596de07e92300c6287e4393594ae39c' // no plan
|
|
12
12
|
: 'testnet_0e6cf72133b43ea2d7861da2a38684e3'; // personal "starter" key
|
|
13
|
-
const gorillaPoolApiKey = chain === 'main' ? '' : '';
|
|
14
13
|
const o = {
|
|
15
14
|
chain,
|
|
16
15
|
taalApiKey,
|
|
@@ -36,13 +35,17 @@ function createDefaultWalletServicesOptions(chain) {
|
|
|
36
35
|
chaintracks: new chaintracker_1.ChaintracksServiceClient(chain, `https://npm-registry.babbage.systems:${chain === 'main' ? 8084 : 8083}`),
|
|
37
36
|
arcUrl: arcDefaultUrl(chain),
|
|
38
37
|
arcConfig: {
|
|
39
|
-
apiKey:
|
|
40
|
-
deploymentId
|
|
38
|
+
apiKey: arcApiKey !== null && arcApiKey !== void 0 ? arcApiKey : undefined,
|
|
39
|
+
deploymentId,
|
|
40
|
+
callbackUrl: arcCallbackUrl !== null && arcCallbackUrl !== void 0 ? arcCallbackUrl : undefined,
|
|
41
|
+
callbackToken: arcCallbackToken !== null && arcCallbackToken !== void 0 ? arcCallbackToken : undefined
|
|
41
42
|
},
|
|
42
43
|
arcGorillaPoolUrl: arcGorillaPoolUrl(chain),
|
|
43
44
|
arcGorillaPoolConfig: {
|
|
44
|
-
apiKey:
|
|
45
|
-
deploymentId
|
|
45
|
+
apiKey: arcApiKey !== null && arcApiKey !== void 0 ? arcApiKey : undefined,
|
|
46
|
+
deploymentId,
|
|
47
|
+
callbackUrl: arcCallbackUrl !== null && arcCallbackUrl !== void 0 ? arcCallbackUrl : undefined,
|
|
48
|
+
callbackToken: arcCallbackToken !== null && arcCallbackToken !== void 0 ? arcCallbackToken : undefined
|
|
46
49
|
}
|
|
47
50
|
};
|
|
48
51
|
return o;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createDefaultWalletServicesOptions.js","sourceRoot":"","sources":["../../../../src/services/createDefaultWalletServicesOptions.ts"],"names":[],"mappings":";;AAGA,
|
|
1
|
+
{"version":3,"file":"createDefaultWalletServicesOptions.js","sourceRoot":"","sources":["../../../../src/services/createDefaultWalletServicesOptions.ts"],"names":[],"mappings":";;AAGA,gFAsDC;AAED,sCAGC;AAED,8CAGC;AAnED,kDAAqD;AACrD,iDAAyD;AAEzD,SAAgB,kCAAkC,CAChD,KAAgB,EAChB,cAAuB,EACvB,gBAAyB,EACzB,SAAkB;IAElB,MAAM,YAAY,GAAG,kBAAkB,IAAA,6BAAc,EAAC,EAAE,CAAC,EAAE,CAAA;IAC3D,MAAM,UAAU,GACd,SAAS,IAAI,KAAK,KAAK,MAAM;QAC3B,CAAC,CAAC,0CAA0C,CAAC,UAAU;QACvD,CAAC,CAAC,0CAA0C,CAAA,CAAC,yBAAyB;IAE1E,MAAM,CAAC,GAA8B;QACnC,KAAK;QACL,UAAU;QACV,eAAe,EAAE;YACf,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;YACjC,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;SACZ;QACD,cAAc,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,aAAa;QAC7C,iBAAiB,EAAE;YACjB,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;YACjC,IAAI,EAAE,KAAK;YACX,KAAK,EAAE;gBACL,GAAG,EAAE,CAAC;gBACN,GAAG,EAAE,GAAG;gBACR,GAAG,EAAE,IAAI;aACV;SACF;QACD,eAAe,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,WAAW;QACjD,mBAAmB,EAAE,IAAI,EAAE,oCAAoC;QAC/D,mBAAmB,EAAE,kCAAkC;QACvD,+BAA+B,EAAE,wCAAwC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,uBAAuB;QAC9H,WAAW,EAAE,IAAI,uCAAwB,CACvC,KAAK,EACL,wCAAwC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CACzE;QACD,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC;QAC5B,SAAS,EAAE;YACT,MAAM,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,SAAS;YAC9B,YAAY;YACZ,WAAW,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,SAAS;YACxC,aAAa,EAAE,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,SAAS;SAC7C;QACD,iBAAiB,EAAE,iBAAiB,CAAC,KAAK,CAAC;QAC3C,oBAAoB,EAAE;YACpB,MAAM,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,SAAS;YAC9B,YAAY;YACZ,WAAW,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,SAAS;YACxC,aAAa,EAAE,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,SAAS;SAC7C;KACF,CAAA;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAgB,aAAa,CAAC,KAAgB;IAC5C,MAAM,GAAG,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,2BAA2B,CAAA;IACnF,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAgB,iBAAiB,CAAC,KAAgB;IAChD,MAAM,GAAG,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,SAAS,CAAA;IACvE,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Coerce a value to Buffer if currently encoded as a string or
|
|
3
|
+
* @param val Buffer or string or number[]. If string, encoding param applies. If number[], Buffer.from constructor is used.
|
|
4
|
+
* @param encoding defaults to 'hex'. Only applies to val of type string
|
|
5
|
+
* @returns input val if it is a Buffer or new Buffer from string val
|
|
6
|
+
* @publicbody
|
|
7
|
+
*/
|
|
8
|
+
export declare function asBuffer(val: Buffer | string | number[], encoding?: BufferEncoding): Buffer;
|
|
9
|
+
/**
|
|
10
|
+
* Coerce a value to an encoded string if currently a Buffer or number[]
|
|
11
|
+
* @param val Buffer or string or number[]. If string, encoding param applies. If number[], Buffer.from constructor is used.
|
|
12
|
+
* @param encoding defaults to 'hex'
|
|
13
|
+
* @returns input val if it is a string; or if number[], first converted to Buffer then as Buffer; if Buffer encoded using `encoding`
|
|
14
|
+
* @publicbody
|
|
15
|
+
*/
|
|
16
|
+
export declare function asString(val: Buffer | string | number[], encoding?: BufferEncoding): string;
|
|
17
|
+
export declare function asArray(val: Buffer | string | number[], encoding?: BufferEncoding): number[];
|
|
18
|
+
//# sourceMappingURL=utilityHelpers.buffer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utilityHelpers.buffer.d.ts","sourceRoot":"","sources":["../../../../src/utility/utilityHelpers.buffer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,CAM3F;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,CAG3F;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,EAAE,CAM5F"}
|