UNPKG

@node-dlc/wire

Version:
103 lines (95 loc) 4.46 kB
import { expect } from 'chai'; import { QueryChannelRangeMessage } from '../../lib/messages/QueryChannelRangeMessage'; describe('QueryChannelRangeMessage', () => { describe('.deserialize', () => { it('standard message', () => { const payload = Buffer.from("010743497fd7f826957108f4a30fd9cec3aeba79972084e90ead01ea3309000000000018df30000007d0", "hex"); // prettier-ignore // query_channel_range // 0107 - type 263 // 43497fd7f826957108f4a30fd9cec3aeba79972084e90ead01ea330900000000 - chain_hash // 0018df30 - first_blocknum 1630000 // 000007d0 - number_of_blocks 2000 const msg = QueryChannelRangeMessage.deserialize(payload); expect(msg.type).to.equal(263); expect(msg.chainHash.toString("hex")).to.equal("43497fd7f826957108f4a30fd9cec3aeba79972084e90ead01ea330900000000"); // prettier-ignore expect(msg.firstBlocknum).to.equal(1630000); expect(msg.numberOfBlocks).to.equal(2000); }); it('message with timestamp option', () => { const payload = Buffer.from("010743497fd7f826957108f4a30fd9cec3aeba79972084e90ead01ea3309000000000018df30000007d0010101", "hex"); // prettier-ignore // query_channel_range // 0107 - type 263 // 43497fd7f826957108f4a30fd9cec3aeba79972084e90ead01ea330900000000 - chain_hash // 0018df30 - first_blocknum 1630000 // 000007d0 - number_of_blocks 2000 // 01 - TLV type 1 // 01 - TLV length 1 byte // 01 - query option bitmask enable timestamp const msg = QueryChannelRangeMessage.deserialize(payload); expect(msg.type).to.equal(263); expect(msg.chainHash.toString("hex")).to.equal("43497fd7f826957108f4a30fd9cec3aeba79972084e90ead01ea330900000000"); // prettier-ignore expect(msg.firstBlocknum).to.equal(1630000); expect(msg.numberOfBlocks).to.equal(2000); expect(msg.timestamps).to.equal(true); }); it('message with timestamp and checksum options', () => { const payload = Buffer.from("010743497fd7f826957108f4a30fd9cec3aeba79972084e90ead01ea3309000000000018df30000007d0010103", "hex"); // prettier-ignore // query_channel_range // 0107 - type 263 // 43497fd7f826957108f4a30fd9cec3aeba79972084e90ead01ea330900000000 - chain_hash // 0018df30 - first_blocknum 1630000 // 000007d0 - number_of_blocks 2000 // 01 - TLV type 1 // 01 - TLV length 1 byte // 03 - query option bitmask enable timestamp and checksum const msg = QueryChannelRangeMessage.deserialize(payload); expect(msg.type).to.equal(263); expect(msg.chainHash.toString("hex")).to.equal("43497fd7f826957108f4a30fd9cec3aeba79972084e90ead01ea330900000000"); // prettier-ignore expect(msg.firstBlocknum).to.equal(1630000); expect(msg.numberOfBlocks).to.equal(2000); expect(msg.timestamps).to.equal(true); expect(msg.checksums).to.equal(true); }); }); describe('.serialize', () => { it('standard message', () => { const msg = new QueryChannelRangeMessage(); msg.chainHash = Buffer.from( '43497fd7f826957108f4a30fd9cec3aeba79972084e90ead01ea330900000000', 'hex', ); msg.firstBlocknum = 1630000; msg.numberOfBlocks = 2000; expect(msg.serialize().toString('hex')).to.equal( '010743497fd7f826957108f4a30fd9cec3aeba79972084e90ead01ea3309000000000018df30000007d0', ); }); it('message with timestamp option', () => { const msg = new QueryChannelRangeMessage(); msg.chainHash = Buffer.from( '43497fd7f826957108f4a30fd9cec3aeba79972084e90ead01ea330900000000', 'hex', ); msg.firstBlocknum = 1630000; msg.numberOfBlocks = 2000; msg.checksums = true; expect(msg.serialize().toString('hex')).to.equal( '010743497fd7f826957108f4a30fd9cec3aeba79972084e90ead01ea3309000000000018df30000007d0010102', ); }); it('message with timestamp and checksum option', () => { const msg = new QueryChannelRangeMessage(); msg.chainHash = Buffer.from( '43497fd7f826957108f4a30fd9cec3aeba79972084e90ead01ea330900000000', 'hex', ); msg.firstBlocknum = 1630000; msg.numberOfBlocks = 2000; msg.checksums = true; msg.timestamps = true; expect(msg.serialize().toString('hex')).to.equal( '010743497fd7f826957108f4a30fd9cec3aeba79972084e90ead01ea3309000000000018df30000007d0010103', ); }); }); });