From 67a258ea7431209f40e560c7448177215352ef19 Mon Sep 17 00:00:00 2001 From: Matthew Zipkin Date: Tue, 12 Feb 2019 14:33:02 -0800 Subject: [PATCH] block: get wit-commit as buffer --- lib/primitives/block.js | 2 +- test/block-test.js | 8 ++++++++ test/data/block482683.raw | Bin 0 -> 9288 bytes 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 test/data/block482683.raw diff --git a/lib/primitives/block.js b/lib/primitives/block.js index 6ddef2c1..02dbf015 100644 --- a/lib/primitives/block.js +++ b/lib/primitives/block.js @@ -539,7 +539,7 @@ class Block extends AbstractBlock { */ format(view, height) { - const commitmentHash = this.getCommitmentHash('hex'); + const commitmentHash = this.getCommitmentHash(); return { hash: this.rhash(), height: height != null ? height : -1, diff --git a/test/block-test.js b/test/block-test.js index adef4223..b4ed2d6d 100644 --- a/test/block-test.js +++ b/test/block-test.js @@ -28,6 +28,9 @@ const compact426884 = common.readCompact('compact426884'); const block898352 = common.readBlock('block898352'); const compact898352 = common.readCompact('compact898352'); +// Small SegWit block test vector +const block482683 = common.readBlock('block482683'); + // Sigops counting test vectors // Format: [name, sigops, weight] const sigopsVectors = [ @@ -102,6 +105,11 @@ describe('Block', function() { assert.bufferEqual(block2.merkleRoot, block2.createMerkleRoot()); }); + it('should inspect a block with a witness commitment', () => { + const [block] = block482683.getBlock(); + assert(block.inspect()); + }); + it('should create a merkle block', () => { const filter = BloomFilter.fromRate(1000, 0.01, BloomFilter.flags.NONE); diff --git a/test/data/block482683.raw b/test/data/block482683.raw new file mode 100644 index 0000000000000000000000000000000000000000..52cddffe6476cfb28e417ff006a7fb202357ca00 GIT binary patch literal 9288 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 literal 0 HcmV?d00001