@node-dlc/wire
Version:
Lightning Network Wire Protocol
1 lines • 700 kB
JSON
{"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/deserializeAddress.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/deserializeAddress.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":36}},"2":{"start":{"line":4,"column":22},"end":{"line":4,"column":57}},"3":{"start":{"line":5,"column":26},"end":{"line":5,"column":54}},"4":{"start":{"line":6,"column":26},"end":{"line":6,"column":54}},"5":{"start":{"line":7,"column":26},"end":{"line":7,"column":54}},"6":{"start":{"line":8,"column":26},"end":{"line":8,"column":54}},"7":{"start":{"line":14,"column":4},"end":{"line":23,"column":5}},"8":{"start":{"line":16,"column":12},"end":{"line":16,"column":66}},"9":{"start":{"line":18,"column":12},"end":{"line":18,"column":66}},"10":{"start":{"line":20,"column":12},"end":{"line":20,"column":66}},"11":{"start":{"line":22,"column":12},"end":{"line":22,"column":66}},"12":{"start":{"line":25,"column":0},"end":{"line":25,"column":48}}},"fnMap":{"0":{"name":"deserializeAddress","decl":{"start":{"line":13,"column":9},"end":{"line":13,"column":27}},"loc":{"start":{"line":13,"column":42},"end":{"line":24,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":4},"end":{"line":23,"column":5}},"type":"switch","locations":[{"start":{"line":15,"column":8},"end":{"line":16,"column":66}},{"start":{"line":17,"column":8},"end":{"line":18,"column":66}},{"start":{"line":19,"column":8},"end":{"line":20,"column":66}},{"start":{"line":21,"column":8},"end":{"line":22,"column":66}}],"line":14}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":501,"8":497,"9":2,"10":1,"11":1,"12":1},"f":{"0":501},"b":{"0":[497,2,1,1]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/deserializeAddress.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/deserializeAddress.ts"],"names":[],"mappings":";;;AAGA,0DAAuD;AACvD,uDAAoD;AACpD,uDAAoD;AACpD,uDAAoD;AACpD,uDAAoD;AAEpD;;;GAGG;AACH,SAAgB,kBAAkB,CAChC,IAAiB,EACjB,MAAoB;IAEpB,QAAQ,IAAI,EAAE;QACZ,KAAK,yBAAW,CAAC,IAAI;YACnB,OAAO,IAAA,iCAAe,EAAC,MAAM,CAAC,CAAC;QACjC,KAAK,yBAAW,CAAC,IAAI;YACnB,OAAO,IAAA,iCAAe,EAAC,MAAM,CAAC,CAAC;QACjC,KAAK,yBAAW,CAAC,IAAI;YACnB,OAAO,IAAA,iCAAe,EAAC,MAAM,CAAC,CAAC;QACjC,KAAK,yBAAW,CAAC,IAAI;YACnB,OAAO,IAAA,iCAAe,EAAC,MAAM,CAAC,CAAC;KAClC;AACH,CAAC;AAdD,gDAcC","sourcesContent":["import { BufferReader } from '@node-dlc/bufio';\n\nimport { Address } from '../../domain/Address';\nimport { AddressType } from '../../domain/AddressType';\nimport { deserializeIPv4 } from './deserializeIPv4';\nimport { deserializeIPv6 } from './deserializeIPv6';\nimport { deserializeTor2 } from './deserializeTor2';\nimport { deserializeTor3 } from './deserializeTor3';\n\n/**\n * Deserializes an address based on the type and returns\n * an instance of Address as a polymorphic type.\n */\nexport function deserializeAddress(\n type: AddressType,\n reader: BufferReader,\n): Address {\n switch (type) {\n case AddressType.IPv4:\n return deserializeIPv4(reader);\n case AddressType.IPv6:\n return deserializeIPv6(reader);\n case AddressType.TOR2:\n return deserializeTor2(reader);\n case AddressType.TOR3:\n return deserializeTor3(reader);\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"acb9775686f7d6861a6bff9e7c33b8d42344c770","contentHash":"88d4b97c860b4f5b075a2d352f3cf1eb42e78ebe29d99d258f02e611754e7b49"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/AddressType.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/AddressType.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":29}},"2":{"start":{"line":5,"column":0},"end":{"line":10,"column":68}},"3":{"start":{"line":6,"column":4},"end":{"line":6,"column":50}},"4":{"start":{"line":7,"column":4},"end":{"line":7,"column":50}},"5":{"start":{"line":8,"column":4},"end":{"line":8,"column":50}},"6":{"start":{"line":9,"column":4},"end":{"line":9,"column":50}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":1},"end":{"line":5,"column":2}},"loc":{"start":{"line":5,"column":24},"end":{"line":10,"column":1}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":17},"end":{"line":10,"column":66}},"type":"binary-expr","locations":[{"start":{"line":10,"column":17},"end":{"line":10,"column":36}},{"start":{"line":10,"column":41},"end":{"line":10,"column":65}}],"line":10}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1},"f":{"0":1},"b":{"0":[1,1]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/AddressType.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/AddressType.ts"],"names":[],"mappings":";;;AAAA,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,6CAAQ,CAAA;IACR,6CAAQ,CAAA;IACR,6CAAQ,CAAA;IACR,6CAAQ,CAAA;AACV,CAAC,EALW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAKtB","sourcesContent":["export enum AddressType {\n IPv4 = 1,\n IPv6 = 2,\n TOR2 = 3,\n TOR3 = 4,\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"9092392cdb8a1cc76e75f21591ee042b58ed6d15","contentHash":"88491237cb66ba7f9a1e7bcdbf56eea96d66500b708559776a5048e3109595c9"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/deserializeIPv4.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/deserializeIPv4.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":33}},"2":{"start":{"line":4,"column":22},"end":{"line":4,"column":57}},"3":{"start":{"line":5,"column":31},"end":{"line":5,"column":64}},"4":{"start":{"line":11,"column":22},"end":{"line":11,"column":41}},"5":{"start":{"line":12,"column":17},"end":{"line":12,"column":38}},"6":{"start":{"line":13,"column":17},"end":{"line":13,"column":76}},"7":{"start":{"line":14,"column":4},"end":{"line":14,"column":53}},"8":{"start":{"line":16,"column":0},"end":{"line":16,"column":42}}},"fnMap":{"0":{"name":"deserializeIPv4","decl":{"start":{"line":10,"column":9},"end":{"line":10,"column":24}},"loc":{"start":{"line":10,"column":33},"end":{"line":15,"column":1}},"line":10}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":497,"5":497,"6":497,"7":497,"8":1},"f":{"0":497},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/deserializeIPv4.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/deserializeIPv4.ts"],"names":[],"mappings":";;;AAEA,0DAAuD;AACvD,iEAA8D;AAE9D;;;GAGG;AACH,SAAgB,eAAe,CAAC,MAAoB;IAClD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,IAAA,2CAAoB,EAAC,SAAS,CAAC,CAAC;IAC7C,OAAO,IAAI,yBAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AALD,0CAKC","sourcesContent":["import { BufferReader } from '@node-dlc/bufio';\n\nimport { AddressIPv4 } from '../../domain/AddressIPv4';\nimport { ipv4StringFromBuffer } from './ipv4StringFromBuffer';\n\n/**\n * Deserializes an IPv4 address from a reader and\n * returns an instance of an IPv4 Address.\n */\nexport function deserializeIPv4(reader: BufferReader): AddressIPv4 {\n const hostBytes = reader.readBytes(4);\n const port = reader.readUInt16BE();\n const host = ipv4StringFromBuffer(hostBytes);\n return new AddressIPv4(host, port);\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"e11f4efc14167af34dba86b75a66d920f2e5d38c","contentHash":"6dfc38d8ae9766f6dac6f570289fe52ae0c58e7e1573646b11924ff5e38ecf9e"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/AddressIPv4.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/AddressIPv4.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":29}},"2":{"start":{"line":4,"column":18},"end":{"line":4,"column":38}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":46}},"4":{"start":{"line":11,"column":8},"end":{"line":11,"column":26}},"5":{"start":{"line":14,"column":8},"end":{"line":14,"column":46}},"6":{"start":{"line":17,"column":8},"end":{"line":17,"column":43}},"7":{"start":{"line":20,"column":0},"end":{"line":20,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":4},"end":{"line":10,"column":5}},"loc":{"start":{"line":10,"column":28},"end":{"line":12,"column":5}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":4},"end":{"line":13,"column":5}},"loc":{"start":{"line":13,"column":15},"end":{"line":15,"column":5}},"line":13},"2":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":4},"end":{"line":16,"column":5}},"loc":{"start":{"line":16,"column":15},"end":{"line":18,"column":5}},"line":16}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":503,"5":514,"6":2,"7":1},"f":{"0":503,"1":514,"2":2},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/AddressIPv4.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/AddressIPv4.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AACpC,+CAA4C;AAE5C,MAAa,WAAY,SAAQ,iBAAO;IACtC;;OAEG;IACH,YAAY,IAAY,EAAE,IAAY;QACpC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,yBAAW,CAAC,IAAI,CAAC;IAC1B,CAAC;IAEM,QAAQ;QACb,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;CACF;AAfD,kCAeC","sourcesContent":["import { Address } from './Address';\nimport { AddressType } from './AddressType';\n\nexport class AddressIPv4 extends Address {\n /**\n * Represents an IPv4 address with the host and port.\n */\n constructor(host: string, port: number) {\n super(host, port);\n }\n\n public get type(): AddressType {\n return AddressType.IPv4;\n }\n\n public toString(): string {\n return `${this.host}:${this.port}`;\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"e36659df696e2d0c229c63851478fdad3adbd6d1","contentHash":"4981fe5fca63691d91fef47a8d1161ea2d0e155ec62dcc9c92294759c4e4edd1"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/Address.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/Address.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":25}},"2":{"start":{"line":4,"column":22},"end":{"line":4,"column":46}},"3":{"start":{"line":10,"column":8},"end":{"line":10,"column":25}},"4":{"start":{"line":11,"column":8},"end":{"line":11,"column":25}},"5":{"start":{"line":17,"column":8},"end":{"line":17,"column":43}},"6":{"start":{"line":20,"column":8},"end":{"line":20,"column":43}},"7":{"start":{"line":23,"column":8},"end":{"line":26,"column":10}},"8":{"start":{"line":29,"column":0},"end":{"line":29,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":4},"end":{"line":9,"column":5}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":5}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":4},"end":{"line":16,"column":5}},"loc":{"start":{"line":16,"column":15},"end":{"line":18,"column":5}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":19,"column":4},"end":{"line":19,"column":5}},"loc":{"start":{"line":19,"column":15},"end":{"line":21,"column":5}},"line":19},"3":{"name":"(anonymous_3)","decl":{"start":{"line":22,"column":4},"end":{"line":22,"column":5}},"loc":{"start":{"line":22,"column":13},"end":{"line":27,"column":5}},"line":22}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":518,"4":518,"5":0,"6":4,"7":4,"8":1},"f":{"0":518,"1":0,"2":4,"3":4},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/Address.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/Address.ts"],"names":[],"mappings":";;;AAEA,+CAA4C;AAE5C,MAAsB,OAAO;IAW3B;;OAEG;IACH,YAAY,IAAY,EAAE,IAAY;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,IAAW,IAAI;QACb,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAEM,QAAQ;QACb,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAEM,MAAM;QACX,OAAO;YACL,OAAO,EAAE,yBAAW,CAAC,GAAG;YACxB,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE;SACzB,CAAC;IACJ,CAAC;CACF;AApCD,0BAoCC","sourcesContent":["import { AddressJson } from './AddressJson';\nimport { AddressType } from './AddressType';\nimport { NetworkType } from './NetworkType';\n\nexport abstract class Address {\n /**\n * String notation representation of the host\n */\n public host: string;\n\n /**\n * Port number\n */\n public port: number;\n\n /**\n * Base class representing a network address\n */\n constructor(host: string, port: number) {\n this.host = host;\n this.port = port;\n }\n\n /**\n * Type of connection\n */\n public get type(): AddressType {\n throw new Error('Not implemented');\n }\n\n public toString(): string {\n return `${this.host}:${this.port}`;\n }\n\n public toJSON(): AddressJson {\n return {\n network: NetworkType.TCP,\n address: this.toString(),\n };\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"4da1478ebe1cf0d99db6df6a4474a7b6b52619dd","contentHash":"2d4a9a41024dfe113aa1923b2ddda77d97c98403ecb02f501dad39137d09bcbf"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/NetworkType.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/NetworkType.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":29}},"2":{"start":{"line":5,"column":0},"end":{"line":7,"column":68}},"3":{"start":{"line":6,"column":4},"end":{"line":6,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":1},"end":{"line":5,"column":2}},"loc":{"start":{"line":5,"column":24},"end":{"line":7,"column":1}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":17},"end":{"line":7,"column":66}},"type":"binary-expr","locations":[{"start":{"line":7,"column":17},"end":{"line":7,"column":36}},{"start":{"line":7,"column":41},"end":{"line":7,"column":65}}],"line":7}},"s":{"0":1,"1":1,"2":1,"3":1},"f":{"0":1},"b":{"0":[1,1]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/NetworkType.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/NetworkType.ts"],"names":[],"mappings":";;;AAAA,IAAY,WAEX;AAFD,WAAY,WAAW;IACrB,0BAAW,CAAA;AACb,CAAC,EAFW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAEtB","sourcesContent":["export enum NetworkType {\n TCP = 'tcp',\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"3d11487423c74461fb98091a5dee77c269ea376a","contentHash":"75b0f9631d741191e43dbb0c1cf1d3515da530696d7f91f587641423061a59d4"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/ipv4StringFromBuffer.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/ipv4StringFromBuffer.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":38}},"2":{"start":{"line":9,"column":4},"end":{"line":9,"column":27}},"3":{"start":{"line":11,"column":0},"end":{"line":11,"column":52}}},"fnMap":{"0":{"name":"ipv4StringFromBuffer","decl":{"start":{"line":8,"column":9},"end":{"line":8,"column":29}},"loc":{"start":{"line":8,"column":37},"end":{"line":10,"column":1}},"line":8}},"branchMap":{},"s":{"0":1,"1":1,"2":500,"3":1},"f":{"0":500},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/ipv4StringFromBuffer.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/ipv4StringFromBuffer.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,KAAa;IAChD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAFD,oDAEC","sourcesContent":["/**\n * Converts an IPv4 address into string notation\n * of the format x.x.x.x where each x is an 8-bit integer.\n */\nexport function ipv4StringFromBuffer(bytes: Buffer): string {\n return bytes.join('.');\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"4a3c4dab2d3e270c1b748f1d25beed1e7dde07b0","contentHash":"d54ba98d2e16a459241c70c9d3d5dd76af2737b2d1e6d1209f6895ec646f0892"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/deserializeIPv6.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/deserializeIPv6.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":33}},"2":{"start":{"line":4,"column":22},"end":{"line":4,"column":57}},"3":{"start":{"line":5,"column":31},"end":{"line":5,"column":64}},"4":{"start":{"line":11,"column":22},"end":{"line":11,"column":42}},"5":{"start":{"line":12,"column":17},"end":{"line":12,"column":38}},"6":{"start":{"line":13,"column":17},"end":{"line":13,"column":76}},"7":{"start":{"line":14,"column":4},"end":{"line":14,"column":53}},"8":{"start":{"line":16,"column":0},"end":{"line":16,"column":42}}},"fnMap":{"0":{"name":"deserializeIPv6","decl":{"start":{"line":10,"column":9},"end":{"line":10,"column":24}},"loc":{"start":{"line":10,"column":33},"end":{"line":15,"column":1}},"line":10}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":2,"5":2,"6":2,"7":2,"8":1},"f":{"0":2},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/deserializeIPv6.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/deserializeIPv6.ts"],"names":[],"mappings":";;;AAEA,0DAAuD;AACvD,iEAA8D;AAE9D;;;GAGG;AACH,SAAgB,eAAe,CAAC,MAAoB;IAClD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,IAAA,2CAAoB,EAAC,SAAS,CAAC,CAAC;IAC7C,OAAO,IAAI,yBAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AALD,0CAKC","sourcesContent":["import { BufferReader } from '@node-dlc/bufio';\n\nimport { AddressIPv6 } from '../../domain/AddressIPv6';\nimport { ipv6StringFromBuffer } from './ipv6StringFromBuffer';\n\n/**\n * Deserializes an IPv6 address from a reader and\n * returns an instance of an IPv6 Address.\n */\nexport function deserializeIPv6(reader: BufferReader): AddressIPv6 {\n const hostBytes = reader.readBytes(16);\n const port = reader.readUInt16BE();\n const host = ipv6StringFromBuffer(hostBytes);\n return new AddressIPv6(host, port);\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"957b4f2831c7b90621a59f853d2deb519e391fbf","contentHash":"2394d3898df664a00423443fbb5fb8cf391ed47e9656571c6f2a7990565de631"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/AddressIPv6.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/AddressIPv6.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":29}},"2":{"start":{"line":4,"column":18},"end":{"line":4,"column":38}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":46}},"4":{"start":{"line":11,"column":8},"end":{"line":11,"column":26}},"5":{"start":{"line":14,"column":8},"end":{"line":14,"column":46}},"6":{"start":{"line":17,"column":8},"end":{"line":17,"column":45}},"7":{"start":{"line":20,"column":0},"end":{"line":20,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":4},"end":{"line":10,"column":5}},"loc":{"start":{"line":10,"column":28},"end":{"line":12,"column":5}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":4},"end":{"line":13,"column":5}},"loc":{"start":{"line":13,"column":15},"end":{"line":15,"column":5}},"line":13},"2":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":4},"end":{"line":16,"column":5}},"loc":{"start":{"line":16,"column":15},"end":{"line":18,"column":5}},"line":16}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":7,"5":5,"6":2,"7":1},"f":{"0":7,"1":5,"2":2},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/AddressIPv6.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/AddressIPv6.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AACpC,+CAA4C;AAE5C,MAAa,WAAY,SAAQ,iBAAO;IACtC;;OAEG;IACH,YAAY,IAAY,EAAE,IAAY;QACpC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,yBAAW,CAAC,IAAI,CAAC;IAC1B,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;CACF;AAfD,kCAeC","sourcesContent":["import { Address } from './Address';\nimport { AddressType } from './AddressType';\n\nexport class AddressIPv6 extends Address {\n /**\n * Represents an IPv6 address with the host and port.\n */\n constructor(host: string, port: number) {\n super(host, port);\n }\n\n public get type(): AddressType {\n return AddressType.IPv6;\n }\n\n public toString(): string {\n return `[${this.host}]:${this.port}`;\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"66d6961e9229f197db98333efd4a88c60e40beaf","contentHash":"4ad9635399158bcb0cf42af296b682a6c0bba26df4a39aa524231b760d23fd70"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/ipv6StringFromBuffer.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/ipv6StringFromBuffer.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":38}},"2":{"start":{"line":19,"column":21},"end":{"line":19,"column":43}},"3":{"start":{"line":20,"column":19},"end":{"line":20,"column":45}},"4":{"start":{"line":21,"column":4},"end":{"line":21,"column":18}},"5":{"start":{"line":23,"column":0},"end":{"line":23,"column":52}},"6":{"start":{"line":25,"column":28},"end":{"line":25,"column":29}},"7":{"start":{"line":26,"column":21},"end":{"line":26,"column":23}},"8":{"start":{"line":27,"column":4},"end":{"line":31,"column":5}},"9":{"start":{"line":27,"column":17},"end":{"line":27,"column":18}},"10":{"start":{"line":28,"column":22},"end":{"line":28,"column":74}},"11":{"start":{"line":29,"column":8},"end":{"line":29,"column":47}},"12":{"start":{"line":30,"column":8},"end":{"line":30,"column":31}},"13":{"start":{"line":32,"column":4},"end":{"line":32,"column":20}},"14":{"start":{"line":35,"column":4},"end":{"line":35,"column":39}},"15":{"start":{"line":38,"column":17},"end":{"line":38,"column":19}},"16":{"start":{"line":39,"column":23},"end":{"line":39,"column":28}},"17":{"start":{"line":40,"column":4},"end":{"line":60,"column":5}},"18":{"start":{"line":42,"column":8},"end":{"line":43,"column":21}},"19":{"start":{"line":43,"column":12},"end":{"line":43,"column":21}},"20":{"start":{"line":45,"column":8},"end":{"line":52,"column":9}},"21":{"start":{"line":46,"column":12},"end":{"line":46,"column":32}},"22":{"start":{"line":47,"column":12},"end":{"line":50,"column":30}},"23":{"start":{"line":48,"column":16},"end":{"line":48,"column":31}},"24":{"start":{"line":50,"column":16},"end":{"line":50,"column":30}},"25":{"start":{"line":51,"column":12},"end":{"line":51,"column":21}},"26":{"start":{"line":54,"column":8},"end":{"line":57,"column":9}},"27":{"start":{"line":55,"column":12},"end":{"line":55,"column":27}},"28":{"start":{"line":56,"column":12},"end":{"line":56,"column":21}},"29":{"start":{"line":59,"column":8},"end":{"line":59,"column":26}},"30":{"start":{"line":62,"column":4},"end":{"line":63,"column":37}},"31":{"start":{"line":63,"column":8},"end":{"line":63,"column":37}},"32":{"start":{"line":64,"column":4},"end":{"line":64,"column":18}}},"fnMap":{"0":{"name":"ipv6StringFromBuffer","decl":{"start":{"line":18,"column":9},"end":{"line":18,"column":29}},"loc":{"start":{"line":18,"column":38},"end":{"line":22,"column":1}},"line":18},"1":{"name":"getHexSections","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":23}},"loc":{"start":{"line":24,"column":32},"end":{"line":33,"column":1}},"line":24},"2":{"name":"discardLeadingZeros","decl":{"start":{"line":34,"column":9},"end":{"line":34,"column":28}},"loc":{"start":{"line":34,"column":38},"end":{"line":36,"column":1}},"line":34},"3":{"name":"sectionsToString","decl":{"start":{"line":37,"column":9},"end":{"line":37,"column":25}},"loc":{"start":{"line":37,"column":36},"end":{"line":65,"column":1}},"line":37}},"branchMap":{"0":{"loc":{"start":{"line":42,"column":8},"end":{"line":43,"column":21}},"type":"if","locations":[{"start":{"line":42,"column":8},"end":{"line":43,"column":21}},{"start":{},"end":{}}],"line":42},"1":{"loc":{"start":{"line":42,"column":12},"end":{"line":42,"column":45}},"type":"binary-expr","locations":[{"start":{"line":42,"column":12},"end":{"line":42,"column":33}},{"start":{"line":42,"column":37},"end":{"line":42,"column":45}}],"line":42},"2":{"loc":{"start":{"line":45,"column":8},"end":{"line":52,"column":9}},"type":"if","locations":[{"start":{"line":45,"column":8},"end":{"line":52,"column":9}},{"start":{},"end":{}}],"line":45},"3":{"loc":{"start":{"line":45,"column":12},"end":{"line":45,"column":37}},"type":"binary-expr","locations":[{"start":{"line":45,"column":12},"end":{"line":45,"column":20}},{"start":{"line":45,"column":24},"end":{"line":45,"column":37}}],"line":45},"4":{"loc":{"start":{"line":47,"column":12},"end":{"line":50,"column":30}},"type":"if","locations":[{"start":{"line":47,"column":12},"end":{"line":50,"column":30}},{"start":{"line":50,"column":16},"end":{"line":50,"column":30}}],"line":47},"5":{"loc":{"start":{"line":54,"column":8},"end":{"line":57,"column":9}},"type":"if","locations":[{"start":{"line":54,"column":8},"end":{"line":57,"column":9}},{"start":{},"end":{}}],"line":54},"6":{"loc":{"start":{"line":54,"column":12},"end":{"line":54,"column":36}},"type":"binary-expr","locations":[{"start":{"line":54,"column":12},"end":{"line":54,"column":24}},{"start":{"line":54,"column":28},"end":{"line":54,"column":36}}],"line":54},"7":{"loc":{"start":{"line":62,"column":4},"end":{"line":63,"column":37}},"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":63,"column":37}},{"start":{},"end":{}}],"line":62}},"s":{"0":1,"1":1,"2":15,"3":15,"4":15,"5":1,"6":15,"7":15,"8":15,"9":15,"10":120,"11":120,"12":120,"13":15,"14":120,"15":15,"16":15,"17":15,"18":120,"19":24,"20":96,"21":12,"22":12,"23":6,"24":6,"25":12,"26":84,"27":7,"28":7,"29":77,"30":15,"31":12,"32":15},"f":{"0":15,"1":15,"2":120,"3":15},"b":{"0":[24,96],"1":[120,33],"2":[12,84],"3":[96,19],"4":[6,6],"5":[7,77],"6":[84,38],"7":[12,3]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/ipv6StringFromBuffer.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/ipv6StringFromBuffer.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;GAaG;AACH,SAAgB,oBAAoB,CAAC,MAAc;IACjD,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE1C,OAAO,MAAM,CAAC;AAChB,CAAC;AALD,oDAKC;AAED,SAAS,cAAc,CAAC,MAAc;IACpC,MAAM,eAAe,GAAG,CAAC,CAAC;IAC1B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,eAAe,EAAE;QACvD,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnE,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACvC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACxB;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAkB;IAC1C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE;QACxB,oCAAoC;QACpC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAAE,SAAS;QAEhD,wBAAwB;QACxB,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE;YAC7B,YAAY,GAAG,IAAI,CAAC;YACpB,IAAI,MAAM,KAAK,EAAE;gBAAE,MAAM,IAAI,IAAI,CAAC;;gBAC7B,MAAM,IAAI,GAAG,CAAC;YACnB,SAAS;SACV;QAED,mEAAmE;QACnE,IAAI,YAAY,IAAI,CAAC,KAAK,EAAE,EAAE;YAC5B,MAAM,IAAI,IAAI,CAAC;YACf,SAAS;SACV;QAED,mBAAmB;QACnB,MAAM,IAAI,CAAC,GAAG,GAAG,CAAC;KACnB;IAED,8CAA8C;IAC9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEzD,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["/**\n * Converts a buffer containing an IPv6 address into string notation.\n * String notation consists of 8 sets of 16-bits each. Each group is\n * written as four hexadecimal values separated by colons (:). This method\n * follows RFC 5952 shortening.\n *\n * @remarks\n * RFC 5952 https://tools.ietf.org/html/rfc5952\n *\n * The following shortening rules are applied:\n * 1. Leading zeros are shorted as much as possible\n * 2. Zero compression is from left to right and\n * 3. Addresses are returned in lowercase.\n */\nexport function ipv6StringFromBuffer(buffer: Buffer): string {\n const sections = getHexSections(buffer);\n const result = sectionsToString(sections);\n\n return result;\n}\n\nfunction getHexSections(buffer: Buffer): string[] {\n const bytesPerSection = 2;\n const sections: string[] = [];\n for (let i = 0; i < buffer.length; i += bytesPerSection) {\n let section = buffer.slice(i, i + bytesPerSection).toString('hex');\n section = discardLeadingZeros(section);\n sections.push(section);\n }\n return sections;\n}\n\nfunction discardLeadingZeros(section: string): string {\n return section.replace(/^0+/g, '');\n}\n\nfunction sectionsToString(sections: string[]): string {\n let result = '';\n let hasCollapsed = false;\n for (const s of sections) {\n // alrerady in collapse state, no-op\n if (result.endsWith('::') && s === '') continue;\n\n // collapse zero section\n if (s === '' && !hasCollapsed) {\n hasCollapsed = true;\n if (result === '') result += '::';\n else result += ':';\n continue;\n }\n\n // we have a zero, but already collapsed so we need to mark as zero\n if (hasCollapsed && s === '') {\n result += '0:';\n continue;\n }\n\n // normal condition\n result += s + ':';\n }\n\n // remove trailing except with ending with ::;\n if (!result.endsWith('::')) result = result.slice(0, -1);\n\n return result;\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"85c7a359b4c0facc2cbd3dbd7b9a4629847fb78b","contentHash":"85150894a90469273d7a567deca997eb0e2417e7c80d5bd39d288126992be316"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/deserializeTor2.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/deserializeTor2.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":33}},"2":{"start":{"line":4,"column":22},"end":{"line":4,"column":57}},"3":{"start":{"line":5,"column":30},"end":{"line":5,"column":62}},"4":{"start":{"line":11,"column":22},"end":{"line":11,"column":42}},"5":{"start":{"line":12,"column":17},"end":{"line":12,"column":38}},"6":{"start":{"line":13,"column":17},"end":{"line":13,"column":74}},"7":{"start":{"line":14,"column":4},"end":{"line":14,"column":53}},"8":{"start":{"line":16,"column":0},"end":{"line":16,"column":42}}},"fnMap":{"0":{"name":"deserializeTor2","decl":{"start":{"line":10,"column":9},"end":{"line":10,"column":24}},"loc":{"start":{"line":10,"column":33},"end":{"line":15,"column":1}},"line":10}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1},"f":{"0":1},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/deserializeTor2.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/deserializeTor2.ts"],"names":[],"mappings":";;;AAEA,0DAAuD;AACvD,+DAA4D;AAE5D;;;GAGG;AACH,SAAgB,eAAe,CAAC,MAAoB;IAClD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,IAAA,yCAAmB,EAAC,SAAS,CAAC,CAAC;IAC5C,OAAO,IAAI,yBAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AALD,0CAKC","sourcesContent":["import { BufferReader } from '@node-dlc/bufio';\n\nimport { AddressTor2 } from '../../domain/AddressTor2';\nimport { torStringFromBuffer } from './torStringFromBuffer';\n\n/**\n * Deserializes a TOR v2 address from a reader and\n * returns an instance of a AddressTor2.\n */\nexport function deserializeTor2(reader: BufferReader): AddressTor2 {\n const hostBytes = reader.readBytes(10);\n const port = reader.readUInt16BE();\n const host = torStringFromBuffer(hostBytes);\n return new AddressTor2(host, port);\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c597a6e6beb35e70cc610614fb727cca4a97abc9","contentHash":"f55be232bff3634b9ff91f7093062ebcb0741d7761f6da420d26b8fbb34a461b"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/AddressTor2.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/AddressTor2.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":29}},"2":{"start":{"line":4,"column":18},"end":{"line":4,"column":38}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":46}},"4":{"start":{"line":13,"column":8},"end":{"line":13,"column":26}},"5":{"start":{"line":16,"column":8},"end":{"line":16,"column":46}},"6":{"start":{"line":19,"column":0},"end":{"line":19,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":4},"end":{"line":12,"column":5}},"loc":{"start":{"line":12,"column":28},"end":{"line":14,"column":5}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":4},"end":{"line":15,"column":5}},"loc":{"start":{"line":15,"column":15},"end":{"line":17,"column":5}},"line":15}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":4,"5":3,"6":1},"f":{"0":4,"1":3},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/AddressTor2.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/AddressTor2.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AACpC,+CAA4C;AAE5C,MAAa,WAAY,SAAQ,iBAAO;IACtC;;;;OAIG;IACH,YAAY,IAAY,EAAE,IAAY;QACpC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,yBAAW,CAAC,IAAI,CAAC;IAC1B,CAAC;CACF;AAbD,kCAaC","sourcesContent":["import { Address } from './Address';\nimport { AddressType } from './AddressType';\n\nexport class AddressTor2 extends Address {\n /**\n * Represents an TOR v2 address with the host and port. TOR v2\n * addresses are an 80-bit hash represented as base32 encoding\n * that is 16 characters in length\n */\n constructor(host: string, port: number) {\n super(host, port);\n }\n\n public get type(): AddressType {\n return AddressType.TOR2;\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"7c726e7591be0108412f6d1111901e0b3ad771d2","contentHash":"470b09191ae50b9124d25f05a5e44e5df29cbefe8e8b00fb4b01fa261fc607a0"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/torStringFromBuffer.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/torStringFromBuffer.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":37}},"2":{"start":{"line":4,"column":17},"end":{"line":4,"column":44}},"3":{"start":{"line":9,"column":4},"end":{"line":9,"column":67}},"4":{"start":{"line":11,"column":0},"end":{"line":11,"column":50}}},"fnMap":{"0":{"name":"torStringFromBuffer","decl":{"start":{"line":8,"column":9},"end":{"line":8,"column":28}},"loc":{"start":{"line":8,"column":37},"end":{"line":10,"column":1}},"line":8}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":4,"4":1},"f":{"0":4},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/torStringFromBuffer.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/torStringFromBuffer.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAE1C;;GAEG;AACH,SAAgB,mBAAmB,CAAC,MAAc;IAChD,OAAO,eAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC;AACxD,CAAC;AAFD,kDAEC","sourcesContent":["import { Base32 } from '@node-dlc/common';\n\n/**\n * Converts a Buffer into a TOR address including the .onion suffix\n */\nexport function torStringFromBuffer(buffer: Buffer): string {\n return Base32.encode(buffer).toLowerCase() + '.onion';\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"be0c443fb77b10678f7c1dfc79952ee5a3b8a734","contentHash":"7fec516994d8200300ccfbf0440f81f91d939ba4eda362a77c79ff9b4b070006"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/deserializeTor3.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/deserializeTor3.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":33}},"2":{"start":{"line":4,"column":22},"end":{"line":4,"column":57}},"3":{"start":{"line":5,"column":30},"end":{"line":5,"column":62}},"4":{"start":{"line":11,"column":22},"end":{"line":11,"column":42}},"5":{"start":{"line":12,"column":17},"end":{"line":12,"column":38}},"6":{"start":{"line":13,"column":17},"end":{"line":13,"column":74}},"7":{"start":{"line":14,"column":4},"end":{"line":14,"column":53}},"8":{"start":{"line":16,"column":0},"end":{"line":16,"column":42}}},"fnMap":{"0":{"name":"deserializeTor3","decl":{"start":{"line":10,"column":9},"end":{"line":10,"column":24}},"loc":{"start":{"line":10,"column":33},"end":{"line":15,"column":1}},"line":10}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1},"f":{"0":1},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/deserializeTor3.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/deserialize/address/deserializeTor3.ts"],"names":[],"mappings":";;;AAEA,0DAAuD;AACvD,+DAA4D;AAE5D;;;GAGG;AACH,SAAgB,eAAe,CAAC,MAAoB;IAClD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,IAAA,yCAAmB,EAAC,SAAS,CAAC,CAAC;IAC5C,OAAO,IAAI,yBAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AALD,0CAKC","sourcesContent":["import { BufferReader } from '@node-dlc/bufio';\n\nimport { AddressTor3 } from '../../domain/AddressTor3';\nimport { torStringFromBuffer } from './torStringFromBuffer';\n\n/**\n * Deserializes a TOR v3 address from a reader and\n * returns an instance of a AddressTor2.\n */\nexport function deserializeTor3(reader: BufferReader): AddressTor3 {\n const hostBytes = reader.readBytes(35);\n const port = reader.readUInt16BE();\n const host = torStringFromBuffer(hostBytes);\n return new AddressTor3(host, port);\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"3e9205032b8e5150df0f863de16fe7efacf28a2e","contentHash":"6da999547ed7cb9583d752ea633ee686b2a8ae60c97aeb642d964a1e2c16e8b7"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/AddressTor3.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/AddressTor3.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":29}},"2":{"start":{"line":4,"column":18},"end":{"line":4,"column":38}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":46}},"4":{"start":{"line":13,"column":8},"end":{"line":13,"column":26}},"5":{"start":{"line":16,"column":8},"end":{"line":16,"column":46}},"6":{"start":{"line":19,"column":0},"end":{"line":19,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":4},"end":{"line":12,"column":5}},"loc":{"start":{"line":12,"column":28},"end":{"line":14,"column":5}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":4},"end":{"line":15,"column":5}},"loc":{"start":{"line":15,"column":15},"end":{"line":17,"column":5}},"line":15}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":4,"5":3,"6":1},"f":{"0":4,"1":3},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/AddressTor3.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/AddressTor3.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AACpC,+CAA4C;AAE5C,MAAa,WAAY,SAAQ,iBAAO;IACtC;;;;OAIG;IACH,YAAY,IAAY,EAAE,IAAY;QACpC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,yBAAW,CAAC,IAAI,CAAC;IAC1B,CAAC;CACF;AAbD,kCAaC","sourcesContent":["import { Address } from './Address';\nimport { AddressType } from './AddressType';\n\nexport class AddressTor3 extends Address {\n /**\n * Represents an Tor v3 address with the host and port. Tor v3\n * addresses are base32 encoded ed25519 public key and are\n * 56-characters in length.\n */\n constructor(host: string, port: number) {\n super(host, port);\n }\n\n public get type(): AddressType {\n return AddressType.TOR3;\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c0eec0818af6e38b6c234fac80ccf11c8e68eee9","contentHash":"d577671549b04597d497b599e9ad41f2ee0d043d8f269e3bb22cdbab1459ffcf"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/Checksum.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/Checksum.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":26}},"2":{"start":{"line":4,"column":19},"end":{"line":4,"column":48}},"3":{"start":{"line":10,"column":8},"end":{"line":10,"column":57}},"4":{"start":{"line":13,"column":8},"end":{"line":13,"column":31}},"5":{"start":{"line":16,"column":8},"end":{"line":16,"column":34}},"6":{"start":{"line":19,"column":8},"end":{"line":19,"column":50}},"7":{"start":{"line":22,"column":8},"end":{"line":22,"column":30}},"8":{"start":{"line":25,"column":20},"end":{"line":25,"column":35}},"9":{"start":{"line":26,"column":8},"end":{"line":26,"column":45}},"10":{"start":{"line":27,"column":8},"end":{"line":27,"column":19}},"11":{"start":{"line":30,"column":8},"end":{"line":30,"column":43}},"12":{"start":{"line":33,"column":0},"end":{"line":33,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":4},"end":{"line":9,"column":5}},"loc":{"start":{"line":9,"column":27},"end":{"line":11,"column":5}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":4},"end":{"line":12,"column":5}},"loc":{"start":{"line":12,"column":19},"end":{"line":14,"column":5}},"line":12},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":4},"end":{"line":15,"column":5}},"loc":{"start":{"line":15,"column":26},"end":{"line":17,"column":5}},"line":15},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":4},"end":{"line":18,"column":5}},"loc":{"start":{"line":18,"column":18},"end":{"line":20,"column":5}},"line":18},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":4},"end":{"line":21,"column":5}},"loc":{"start":{"line":21,"column":15},"end":{"line":23,"column":5}},"line":21},"5":{"name":"(anonymous_5)","decl":{"start":{"line":24,"column":4},"end":{"line":24,"column":5}},"loc":{"start":{"line":24,"column":15},"end":{"line":28,"column":5}},"line":24},"6":{"name":"(anonymous_6)","decl":{"start":{"line":29,"column":4},"end":{"line":29,"column":5}},"loc":{"start":{"line":29,"column":15},"end":{"line":31,"column":5}},"line":29}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":7,"4":1,"5":8,"6":2,"7":1,"8":2,"9":2,"10":2,"11":1,"12":1},"f":{"0":7,"1":1,"2":8,"3":2,"4":1,"5":2,"6":1},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/Checksum.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/domain/Checksum.ts"],"names":[],"mappings":";;;AAAA,iDAA4C;AAE5C;;GAEG;AACH,MAAa,QAAQ;IACZ,MAAM,CAAC,UAAU,CAAC,GAAW;QAClC,OAAO,IAAI,QAAQ,CAAC,IAAA,iBAAM,EAAC,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC;IAEM,MAAM,CAAC,KAAK;QACjB,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAID,YAAoB,QAAgB;QAClC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAEM,MAAM,CAAC,KAAe;QAC3B,OAAO,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC;IAC5C,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEM,QAAQ;QACb,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACrC,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;CACF;AAhCD,4BAgCC","sourcesContent":["import { crc32c } from '@node-dlc/checksum';\n\n/**\n * CRC32C checksum for the provided value\n */\nexport class Checksum {\n public static fromBuffer(buf: Buffer): Checksum {\n return new Checksum(crc32c(buf));\n }\n\n public static empty(): Checksum {\n return new Checksum(0);\n }\n\n private _checksum: number;\n\n private constructor(checksum: number) {\n this._checksum = checksum;\n }\n\n public equals(other: Checksum): boolean {\n return this._checksum === other._checksum;\n }\n\n public toNumber(): number {\n return this._checksum;\n }\n\n public toBuffer(): Buffer {\n const buf = Buffer.alloc(4);\n buf.writeUInt32BE(this._checksum, 0);\n return buf;\n }\n\n public toString(): string {\n return this._checksum.toString(16);\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c44fd0f7e57c37f861be6299b33dff06211301e7","contentHash":"6214f6a8eb5ccea0a7e9084212bff47343441bdec5cccd6f5a2225284f24a622"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/gossip/ChannelRangeQuery.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/wire/lib/gossip/ChannelRangeQuery.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":68}},"2":{"start":{"line":4,"column":35},"end":{"line":4,"column":82}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":46}},"4":{"start":{"line":7,"column":0},"end":{"line":12,"column":101}},"5":{"start":{"line":8,"column":4},"end":{"line":8,"column":72}},"6":{"start":{"line":9,"column":4},"end":{"line":9,"column":76}},"7":{"start":{"line":10,"column":4},"end":{"line":10,"column":80}},"8":{"start":{"line":11,"column":4},"end":{"line":11,"column":76}},"9":{"start":{"line":53,"column":8},"end":{"line":53,"column":35}},"10":{"start":{"line":54,"column":8},"end":{"line":54,"column":43}},"11":{"start":{"line":55,"column":8},"end":{"line":55,"column":29}},"12":{"start":{"line":56,"column":8},"end":{"line":56,"column":31}},"13":{"start":{"line":57,"column":8},"end":{"line":57,"column":27}},"14":{"start":{"line":58,"column":8},"end":{"line":58,"column":50}},"15":{"start":{"line":59,"column":8},"end":{"line":59,"column":34}},"16":{"start":{"line":67,"column":8},"end":{"line":67,"column":30}},"17":{"start":{"line":73,"column":8},"end":{"line":73,"column":27}},"18":{"start":{"line":79,"column":8},"end":{"line":79,"column":29}},"19":{"start":{"line":85,"column":8},"end":{"line":85,"column":27}},"20":{"start":{"line":95,"column":8},"end":{"line":98,"column":9}},"21":{"start":{"line":96,"column":12},"end":{"line":96,"column":34}},"22":{"start":{"line":97,"column":12},"end":{"line":97,"column":79}},"23":{"start":{"line":100,"column":8},"end":{"line":105,"column":9}},"24":{"start":{"line":101,"column":12},"end":{"line":101,"column":41}},"25":{"start":{"line":104,"column":12},"end":{"line":104,"column":35}},"26":{"start":{"line":118,"column":8},"end":{"line":127,"column":11}},"27":{"start":{"line":120,"column":12},"end":{"line":120,"column":56}},"28":{"start":{"line":122,"column":12},"end":{"line":122,"column":51}},"29":{"start":{"line":125,"column":12},"end":{"line":125,"column":36}},"30":{"start":{"line":126,"column":12},"end":{"line":126,"column":34}},"31":{"start":{"line":134,"column":8},"end":{"line":135,"colu