UNPKG

@bsv/wallet-toolbox-client

Version:
31 lines 1.66 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.dirtyHashes = void 0; exports.validateAgainstDirtyHashes = validateAgainstDirtyHashes; /** * These hashes are for blocks that are to known to have violated the Bitcoin * protocol. Regardless of the amount of proof-of-work that chains built on top * of them may have accumulated, they cannot be considered valid Bitcoin blocks. * * In the first instance, segregating witness data from transactions is not * part of the design of Bitcoin. * * In the second instance, adding new opcodes to be used when evaluating * scripts is also not allowed. */ exports.dirtyHashes = { // Block 478,558 with hash of 0000000000000000011865af4122fe3b144e2cbeea86142e8ff2fb4107352d43 was the last block shared by BSV, BCH and BTC // Block 478,559 with hash of 00000000000000000019f112ec0a9982926f1258cdcc558dd7c3b7e5dc7fa148 was the first block of the BTC Segwit chain. // Block 478,559 with hash of 000000000000000000651ef99cb9fcbe0dadde1d424bd9f15ff20136191a5eec was the valid Bitcoin block shared by BSV and BCH. '00000000000000000019f112ec0a9982926f1258cdcc558dd7c3b7e5dc7fa148': 'This is the first header of the invalid SegWit chain.', '0000000000000000004626ff6e3b936941d341c5932ece4357eeccac44e6d56c': 'This is the first header of the invalid ABC chain.' }; /** * Throws Error if blockHash is in the dirtyHashes list. */ function validateAgainstDirtyHashes(blockHash) { if (exports.dirtyHashes[blockHash]) { throw new Error(`Not adding a header with a dirty hash: ${exports.dirtyHashes[blockHash]}`); } } //# sourceMappingURL=dirtyHashes.js.map