UNPKG

@node-dlc/messaging

Version:
1 lines 661 kB
{"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/chain/ChainManager.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/chain/ChainManager.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":50}},"2":{"start":{"line":4,"column":18},"end":{"line":4,"column":46}},"3":{"start":{"line":5,"column":24},"end":{"line":5,"column":48}},"4":{"start":{"line":6,"column":17},"end":{"line":6,"column":34}},"5":{"start":{"line":7,"column":26},"end":{"line":7,"column":64}},"6":{"start":{"line":8,"column":15},"end":{"line":8,"column":33}},"7":{"start":{"line":10,"column":0},"end":{"line":14,"column":62}},"8":{"start":{"line":11,"column":4},"end":{"line":11,"column":54}},"9":{"start":{"line":12,"column":4},"end":{"line":12,"column":52}},"10":{"start":{"line":13,"column":4},"end":{"line":13,"column":50}},"11":{"start":{"line":21,"column":8},"end":{"line":21,"column":16}},"12":{"start":{"line":22,"column":8},"end":{"line":22,"column":29}},"13":{"start":{"line":23,"column":8},"end":{"line":23,"column":43}},"14":{"start":{"line":24,"column":8},"end":{"line":24,"column":33}},"15":{"start":{"line":25,"column":8},"end":{"line":25,"column":39}},"16":{"start":{"line":33,"column":8},"end":{"line":33,"column":55}},"17":{"start":{"line":35,"column":8},"end":{"line":39,"column":9}},"18":{"start":{"line":36,"column":12},"end":{"line":36,"column":55}},"19":{"start":{"line":37,"column":12},"end":{"line":37,"column":49}},"20":{"start":{"line":38,"column":12},"end":{"line":38,"column":52}},"21":{"start":{"line":40,"column":8},"end":{"line":40,"column":46}},"22":{"start":{"line":41,"column":8},"end":{"line":41,"column":42}},"23":{"start":{"line":43,"column":8},"end":{"line":43,"column":28}},"24":{"start":{"line":46,"column":21},"end":{"line":46,"column":63}},"25":{"start":{"line":47,"column":22},"end":{"line":47,"column":73}},"26":{"start":{"line":48,"column":8},"end":{"line":48,"column":50}},"27":{"start":{"line":49,"column":8},"end":{"line":49,"column":56}},"28":{"start":{"line":52,"column":21},"end":{"line":52,"column":63}},"29":{"start":{"line":53,"column":22},"end":{"line":53,"column":73}},"30":{"start":{"line":54,"column":8},"end":{"line":54,"column":51}},"31":{"start":{"line":55,"column":8},"end":{"line":55,"column":56}},"32":{"start":{"line":58,"column":8},"end":{"line":58,"column":92}},"33":{"start":{"line":59,"column":8},"end":{"line":59,"column":63}},"34":{"start":{"line":60,"column":8},"end":{"line":60,"column":47}},"35":{"start":{"line":61,"column":8},"end":{"line":63,"column":9}},"36":{"start":{"line":62,"column":12},"end":{"line":62,"column":58}},"37":{"start":{"line":64,"column":8},"end":{"line":64,"column":56}},"38":{"start":{"line":65,"column":8},"end":{"line":65,"column":91}},"39":{"start":{"line":68,"column":8},"end":{"line":68,"column":93}},"40":{"start":{"line":69,"column":8},"end":{"line":69,"column":64}},"41":{"start":{"line":70,"column":8},"end":{"line":70,"column":56}},"42":{"start":{"line":71,"column":8},"end":{"line":71,"column":68}},"43":{"start":{"line":72,"column":8},"end":{"line":72,"column":29}},"44":{"start":{"line":73,"column":24},"end":{"line":73,"column":82}},"45":{"start":{"line":75,"column":8},"end":{"line":82,"column":9}},"46":{"start":{"line":76,"column":12},"end":{"line":76,"column":33}},"47":{"start":{"line":79,"column":29},"end":{"line":79,"column":104}},"48":{"start":{"line":79,"column":61},"end":{"line":79,"column":103}},"49":{"start":{"line":80,"column":12},"end":{"line":81,"column":37}},"50":{"start":{"line":81,"column":16},"end":{"line":81,"column":37}},"51":{"start":{"line":83,"column":8},"end":{"line":85,"column":9}},"52":{"start":{"line":84,"column":12},"end":{"line":84,"column":59}},"53":{"start":{"line":86,"column":8},"end":{"line":86,"column":56}},"54":{"start":{"line":87,"column":8},"end":{"line":87,"column":92}},"55":{"start":{"line":90,"column":8},"end":{"line":90,"column":60}},"56":{"start":{"line":91,"column":8},"end":{"line":91,"column":39}},"57":{"start":{"line":92,"column":8},"end":{"line":92,"column":43}},"58":{"start":{"line":93,"column":8},"end":{"line":93,"column":72}},"59":{"start":{"line":94,"column":8},"end":{"line":94,"column":66}},"60":{"start":{"line":95,"column":8},"end":{"line":100,"column":9}},"61":{"start":{"line":97,"column":12},"end":{"line":99,"column":13}},"62":{"start":{"line":98,"column":16},"end":{"line":98,"column":123}},"63":{"start":{"line":101,"column":8},"end":{"line":101,"column":106}},"64":{"start":{"line":103,"column":8},"end":{"line":103,"column":51}},"65":{"start":{"line":106,"column":8},"end":{"line":109,"column":9}},"66":{"start":{"line":107,"column":12},"end":{"line":107,"column":85}},"67":{"start":{"line":108,"column":12},"end":{"line":108,"column":19}},"68":{"start":{"line":110,"column":27},"end":{"line":110,"column":89}},"69":{"start":{"line":110,"column":58},"end":{"line":110,"column":88}},"70":{"start":{"line":111,"column":28},"end":{"line":111,"column":130}},"71":{"start":{"line":111,"column":60},"end":{"line":111,"column":126}},"72":{"start":{"line":112,"column":8},"end":{"line":112,"column":69}},"73":{"start":{"line":113,"column":8},"end":{"line":114,"column":19}},"74":{"start":{"line":114,"column":12},"end":{"line":114,"column":19}},"75":{"start":{"line":115,"column":31},"end":{"line":115,"column":33}},"76":{"start":{"line":116,"column":20},"end":{"line":116,"column":48}},"77":{"start":{"line":117,"column":8},"end":{"line":144,"column":9}},"78":{"start":{"line":117,"column":21},"end":{"line":117,"column":22}},"79":{"start":{"line":118,"column":27},"end":{"line":118,"column":40}},"80":{"start":{"line":119,"column":12},"end":{"line":121,"column":13}},"81":{"start":{"line":120,"column":16},"end":{"line":120,"column":118}},"82":{"start":{"line":122,"column":12},"end":{"line":143,"column":13}},"83":{"start":{"line":123,"column":29},"end":{"line":123,"column":109}},"84":{"start":{"line":124,"column":16},"end":{"line":142,"column":17}},"85":{"start":{"line":125,"column":31},"end":{"line":125,"column":99}},"86":{"start":{"line":126,"column":20},"end":{"line":127,"column":52}},"87":{"start":{"line":127,"column":24},"end":{"line":127,"column":52}},"88":{"start":{"line":128,"column":20},"end":{"line":129,"column":57}},"89":{"start":{"line":129,"column":24},"end":{"line":129,"column":57}},"90":{"start":{"line":130,"column":20},"end":{"line":135,"column":21}},"91":{"start":{"line":133,"column":38},"end":{"line":133,"column":83}},"92":{"start":{"line":134,"column":24},"end":{"line":134,"column":66}},"93":{"start":{"line":145,"column":8},"end":{"line":145,"column":67}},"94":{"start":{"line":146,"column":8},"end":{"line":149,"column":9}},"95":{"start":{"line":147,"column":12},"end":{"line":147,"column":61}},"96":{"start":{"line":148,"column":12},"end":{"line":148,"column":19}},"97":{"start":{"line":150,"column":8},"end":{"line":150,"column":57}},"98":{"start":{"line":153,"column":19},"end":{"line":153,"column":61}},"99":{"start":{"line":154,"column":8},"end":{"line":157,"column":9}},"100":{"start":{"line":155,"column":12},"end":{"line":155,"column":64}},"101":{"start":{"line":156,"column":12},"end":{"line":156,"column":19}},"102":{"start":{"line":158,"column":30},"end":{"line":158,"column":73}},"103":{"start":{"line":159,"column":8},"end":{"line":159,"column":84}},"104":{"start":{"line":160,"column":20},"end":{"line":160,"column":52}},"105":{"start":{"line":161,"column":16},"end":{"line":161,"column":17}},"106":{"start":{"line":162,"column":8},"end":{"line":196,"column":9}},"107":{"start":{"line":163,"column":12},"end":{"line":163,"column":40}},"108":{"start":{"line":164,"column":12},"end":{"line":166,"column":13}},"109":{"start":{"line":165,"column":16},"end":{"line":165,"column":150}},"110":{"start":{"line":168,"column":12},"end":{"line":170,"column":13}},"111":{"start":{"line":169,"column":16},"end":{"line":169,"column":92}},"112":{"start":{"line":171,"column":12},"end":{"line":171,"column":34}},"113":{"start":{"line":172,"column":30},"end":{"line":172,"column":83}},"114":{"start":{"line":173,"column":29},"end":{"line":173,"column":74}},"115":{"start":{"line":174,"column":26},"end":{"line":174,"column":68}},"116":{"start":{"line":175,"column":12},"end":{"line":188,"column":13}},"117":{"start":{"line":176,"column":16},"end":{"line":187,"column":17}},"118":{"start":{"line":177,"column":34},"end":{"line":177,"column":96}},"119":{"start":{"line":178,"column":20},"end":{"line":182,"column":21}},"120":{"start":{"line":180,"column":35},"end":{"line":180,"column":82}},"121":{"start":{"line":181,"column":24},"end":{"line":181,"column":82}},"122":{"start":{"line":185,"column":20},"end":{"line":185,"column":105}},"123":{"start":{"line":186,"column":20},"end":{"line":186,"column":52}},"124":{"start":{"line":189,"column":12},"end":{"line":194,"column":13}},"125":{"start":{"line":190,"column":16},"end":{"line":190,"column":66}},"126":{"start":{"line":191,"column":16},"end":{"line":192,"column":26}},"127":{"start":{"line":192,"column":20},"end":{"line":192,"column":26}},"128":{"start":{"line":193,"column":16},"end":{"line":193,"column":66}},"129":{"start":{"line":195,"column":12},"end":{"line":195,"column":16}},"130":{"start":{"line":197,"column":8},"end":{"line":197,"column":67}},"131":{"start":{"line":200,"column":8},"end":{"line":207,"column":9}},"132":{"start":{"line":201,"column":12},"end":{"line":206,"column":13}},"133":{"start":{"line":202,"column":16},"end":{"line":205,"column":17}},"134":{"start":{"line":203,"column":34},"end":{"line":203,"column":76}},"135":{"start":{"line":204,"column":20},"end":{"line":204,"column":67}},"136":{"start":{"line":210,"column":0},"end":{"line":210,"column":36}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":1},"end":{"line":10,"column":2}},"loc":{"start":{"line":10,"column":22},"end":{"line":14,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":20,"column":4},"end":{"line":20,"column":5}},"loc":{"start":{"line":20,"column":47},"end":{"line":26,"column":5}},"line":20},"2":{"name":"(anonymous_2)","decl":{"start":{"line":32,"column":4},"end":{"line":32,"column":5}},"loc":{"start":{"line":32,"column":33},"end":{"line":44,"column":5}},"line":32},"3":{"name":"(anonymous_3)","decl":{"start":{"line":45,"column":4},"end":{"line":45,"column":5}},"loc":{"start":{"line":45,"column":38},"end":{"line":50,"column":5}},"line":45},"4":{"name":"(anonymous_4)","decl":{"start":{"line":51,"column":4},"end":{"line":51,"column":5}},"loc":{"start":{"line":51,"column":39},"end":{"line":56,"column":5}},"line":51},"5":{"name":"(anonymous_5)","decl":{"start":{"line":57,"column":4},"end":{"line":57,"column":5}},"loc":{"start":{"line":57,"column":41},"end":{"line":66,"column":5}},"line":57},"6":{"name":"(anonymous_6)","decl":{"start":{"line":67,"column":4},"end":{"line":67,"column":5}},"loc":{"start":{"line":67,"column":46},"end":{"line":88,"column":5}},"line":67},"7":{"name":"(anonymous_7)","decl":{"start":{"line":79,"column":52},"end":{"line":79,"column":53}},"loc":{"start":{"line":79,"column":61},"end":{"line":79,"column":103}},"line":79},"8":{"name":"(anonymous_8)","decl":{"start":{"line":89,"column":4},"end":{"line":89,"column":5}},"loc":{"start":{"line":89,"column":41},"end":{"line":104,"column":5}},"line":89},"9":{"name":"(anonymous_9)","decl":{"start":{"line":105,"column":4},"end":{"line":105,"column":5}},"loc":{"start":{"line":105,"column":38},"end":{"line":151,"column":5}},"line":105},"10":{"name":"(anonymous_10)","decl":{"start":{"line":110,"column":46},"end":{"line":110,"column":47}},"loc":{"start":{"line":110,"column":58},"end":{"line":110,"column":88}},"line":110},"11":{"name":"(anonymous_11)","decl":{"start":{"line":111,"column":46},"end":{"line":111,"column":47}},"loc":{"start":{"line":111,"column":60},"end":{"line":111,"column":126}},"line":111},"12":{"name":"(anonymous_12)","decl":{"start":{"line":152,"column":4},"end":{"line":152,"column":5}},"loc":{"start":{"line":152,"column":44},"end":{"line":198,"column":5}},"line":152},"13":{"name":"(anonymous_13)","decl":{"start":{"line":199,"column":4},"end":{"line":199,"column":5}},"loc":{"start":{"line":199,"column":53},"end":{"line":208,"column":5}},"line":199}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":15},"end":{"line":14,"column":60}},"type":"binary-expr","locations":[{"start":{"line":14,"column":15},"end":{"line":14,"column":32}},{"start":{"line":14,"column":37},"end":{"line":14,"column":59}}],"line":14},"1":{"loc":{"start":{"line":32,"column":16},"end":{"line":32,"column":31}},"type":"default-arg","locations":[{"start":{"line":32,"column":30},"end":{"line":32,"column":31}}],"line":32},"2":{"loc":{"start":{"line":35,"column":8},"end":{"line":39,"column":9}},"type":"if","locations":[{"start":{"line":35,"column":8},"end":{"line":39,"column":9}},{"start":{"line":35,"column":8},"end":{"line":39,"column":9}}],"line":35},"3":{"loc":{"start":{"line":61,"column":8},"end":{"line":63,"column":9}},"type":"if","locations":[{"start":{"line":61,"column":8},"end":{"line":63,"column":9}},{"start":{"line":61,"column":8},"end":{"line":63,"column":9}}],"line":61},"4":{"loc":{"start":{"line":75,"column":8},"end":{"line":82,"column":9}},"type":"if","locations":[{"start":{"line":75,"column":8},"end":{"line":82,"column":9}},{"start":{"line":75,"column":8},"end":{"line":82,"column":9}}],"line":75},"5":{"loc":{"start":{"line":80,"column":12},"end":{"line":81,"column":37}},"type":"if","locations":[{"start":{"line":80,"column":12},"end":{"line":81,"column":37}},{"start":{"line":80,"column":12},"end":{"line":81,"column":37}}],"line":80},"6":{"loc":{"start":{"line":83,"column":8},"end":{"line":85,"column":9}},"type":"if","locations":[{"start":{"line":83,"column":8},"end":{"line":85,"column":9}},{"start":{"line":83,"column":8},"end":{"line":85,"column":9}}],"line":83},"7":{"loc":{"start":{"line":89,"column":24},"end":{"line":89,"column":39}},"type":"default-arg","locations":[{"start":{"line":89,"column":38},"end":{"line":89,"column":39}}],"line":89},"8":{"loc":{"start":{"line":95,"column":8},"end":{"line":100,"column":9}},"type":"if","locations":[{"start":{"line":95,"column":8},"end":{"line":100,"column":9}},{"start":{"line":95,"column":8},"end":{"line":100,"column":9}}],"line":95},"9":{"loc":{"start":{"line":106,"column":8},"end":{"line":109,"column":9}},"type":"if","locations":[{"start":{"line":106,"column":8},"end":{"line":109,"column":9}},{"start":{"line":106,"column":8},"end":{"line":109,"column":9}}],"line":106},"10":{"loc":{"start":{"line":111,"column":67},"end":{"line":111,"column":125}},"type":"cond-expr","locations":[{"start":{"line":111,"column":120},"end":{"line":111,"column":121}},{"start":{"line":111,"column":124},"end":{"line":111,"column":125}}],"line":111},"11":{"loc":{"start":{"line":113,"column":8},"end":{"line":114,"column":19}},"type":"if","locations":[{"start":{"line":113,"column":8},"end":{"line":114,"column":19}},{"start":{"line":113,"column":8},"end":{"line":114,"column":19}}],"line":113},"12":{"loc":{"start":{"line":119,"column":12},"end":{"line":121,"column":13}},"type":"if","locations":[{"start":{"line":119,"column":12},"end":{"line":121,"column":13}},{"start":{"line":119,"column":12},"end":{"line":121,"column":13}}],"line":119},"13":{"loc":{"start":{"line":122,"column":12},"end":{"line":143,"column":13}},"type":"if","locations":[{"start":{"line":122,"column":12},"end":{"line":143,"column":13}},{"start":{"line":122,"column":12},"end":{"line":143,"column":13}}],"line":122},"14":{"loc":{"start":{"line":126,"column":20},"end":{"line":127,"column":52}},"type":"if","locations":[{"start":{"line":126,"column":20},"end":{"line":127,"column":52}},{"start":{"line":126,"column":20},"end":{"line":127,"column":52}}],"line":126},"15":{"loc":{"start":{"line":128,"column":20},"end":{"line":129,"column":57}},"type":"if","locations":[{"start":{"line":128,"column":20},"end":{"line":129,"column":57}},{"start":{"line":128,"column":20},"end":{"line":129,"column":57}}],"line":128},"16":{"loc":{"start":{"line":128,"column":24},"end":{"line":128,"column":64}},"type":"binary-expr","locations":[{"start":{"line":128,"column":24},"end":{"line":128,"column":28}},{"start":{"line":128,"column":32},"end":{"line":128,"column":64}}],"line":128},"17":{"loc":{"start":{"line":130,"column":20},"end":{"line":135,"column":21}},"type":"if","locations":[{"start":{"line":130,"column":20},"end":{"line":135,"column":21}},{"start":{"line":130,"column":20},"end":{"line":135,"column":21}}],"line":130},"18":{"loc":{"start":{"line":130,"column":24},"end":{"line":132,"column":53}},"type":"binary-expr","locations":[{"start":{"line":130,"column":24},"end":{"line":130,"column":28}},{"start":{"line":131,"column":24},"end":{"line":131,"column":54}},{"start":{"line":132,"column":24},"end":{"line":132,"column":53}}],"line":130},"19":{"loc":{"start":{"line":146,"column":8},"end":{"line":149,"column":9}},"type":"if","locations":[{"start":{"line":146,"column":8},"end":{"line":149,"column":9}},{"start":{"line":146,"column":8},"end":{"line":149,"column":9}}],"line":146},"20":{"loc":{"start":{"line":154,"column":8},"end":{"line":157,"column":9}},"type":"if","locations":[{"start":{"line":154,"column":8},"end":{"line":157,"column":9}},{"start":{"line":154,"column":8},"end":{"line":157,"column":9}}],"line":154},"21":{"loc":{"start":{"line":164,"column":12},"end":{"line":166,"column":13}},"type":"if","locations":[{"start":{"line":164,"column":12},"end":{"line":166,"column":13}},{"start":{"line":164,"column":12},"end":{"line":166,"column":13}}],"line":164},"22":{"loc":{"start":{"line":168,"column":12},"end":{"line":170,"column":13}},"type":"if","locations":[{"start":{"line":168,"column":12},"end":{"line":170,"column":13}},{"start":{"line":168,"column":12},"end":{"line":170,"column":13}}],"line":168},"23":{"loc":{"start":{"line":178,"column":20},"end":{"line":182,"column":21}},"type":"if","locations":[{"start":{"line":178,"column":20},"end":{"line":182,"column":21}},{"start":{"line":178,"column":20},"end":{"line":182,"column":21}}],"line":178},"24":{"loc":{"start":{"line":189,"column":12},"end":{"line":194,"column":13}},"type":"if","locations":[{"start":{"line":189,"column":12},"end":{"line":194,"column":13}},{"start":{"line":189,"column":12},"end":{"line":194,"column":13}}],"line":189},"25":{"loc":{"start":{"line":191,"column":16},"end":{"line":192,"column":26}},"type":"if","locations":[{"start":{"line":191,"column":16},"end":{"line":192,"column":26}},{"start":{"line":191,"column":16},"end":{"line":192,"column":26}}],"line":191},"26":{"loc":{"start":{"line":202,"column":16},"end":{"line":205,"column":17}},"type":"if","locations":[{"start":{"line":202,"column":16},"end":{"line":205,"column":17}},{"start":{"line":202,"column":16},"end":{"line":205,"column":17}}],"line":202}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":9,"12":9,"13":9,"14":9,"15":9,"16":6,"17":6,"18":6,"19":6,"20":6,"21":6,"22":6,"23":6,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":2,"40":2,"41":2,"42":2,"43":2,"44":2,"45":2,"46":0,"47":2,"48":2,"49":2,"50":2,"51":2,"52":2,"53":2,"54":2,"55":6,"56":6,"57":6,"58":6,"59":6,"60":6,"61":6,"62":4,"63":6,"64":6,"65":6,"66":0,"67":0,"68":6,"69":4,"70":6,"71":4,"72":6,"73":6,"74":2,"75":4,"76":4,"77":4,"78":4,"79":4,"80":4,"81":0,"82":4,"83":4,"84":4,"85":4,"86":4,"87":2,"88":4,"89":0,"90":4,"91":0,"92":0,"93":4,"94":4,"95":2,"96":2,"97":2,"98":2,"99":2,"100":0,"101":0,"102":2,"103":2,"104":2,"105":2,"106":2,"107":2,"108":2,"109":0,"110":2,"111":0,"112":2,"113":2,"114":2,"115":2,"116":2,"117":4,"118":4,"119":4,"120":2,"121":2,"122":0,"123":0,"124":2,"125":2,"126":2,"127":2,"128":0,"129":0,"130":2,"131":2,"132":2,"133":2,"134":2,"135":2,"136":1},"f":{"0":1,"1":9,"2":6,"3":0,"4":0,"5":0,"6":2,"7":2,"8":6,"9":6,"10":4,"11":4,"12":2,"13":2},"b":{"0":[1,1],"1":[6],"2":[6,0],"3":[0,0],"4":[0,2],"5":[2,0],"6":[2,0],"7":[0],"8":[6,0],"9":[0,6],"10":[4,0],"11":[2,4],"12":[0,4],"13":[4,0],"14":[2,2],"15":[0,4],"16":[4,2],"17":[0,4],"18":[4,2,2],"19":[2,2],"20":[0,2],"21":[0,2],"22":[0,2],"23":[2,2],"24":[2,0],"25":[2,0],"26":[2,0]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/chain/ChainManager.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/chain/ChainManager.ts"],"names":[],"mappings":"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","sourcesContent":["import { Tx } from '@node-dlc/bitcoin';\nimport { Block, Transaction } from 'bitcoinjs-lib';\nimport { EventEmitter } from 'events';\n\nimport { DlcTransactionsV0 } from '../messages/DlcTransactions';\nimport { sleep } from '../util';\nimport { IDlcStore } from './DlcStore';\nimport {\n HasHash,\n HasHeight,\n IChainFilterChainClient,\n} from './IChainFilterChainClient';\n\nexport enum SyncState {\n Unsynced,\n Syncing,\n Synced,\n}\n\nexport interface ILogger {\n area: string;\n instance: string;\n trace(...args: any[]): void;\n debug(...args: any[]): void;\n info(...args: any[]): void;\n warn(...args: any[]): void;\n error(...args: any[]): void;\n sub(area: string, instance?: string): ILogger;\n}\n\n/**\n * ChainManager validates and stores dlc txs\n * from chain updates\n */\nexport class ChainManager extends EventEmitter {\n public blockHeight: number;\n public started = false;\n public syncState: SyncState;\n public isSynchronizing: boolean;\n public chainClient: IChainFilterChainClient;\n public logger: ILogger;\n public dlcStore: IDlcStore;\n public dlcTxsList: DlcTransactionsV0[];\n\n constructor(\n logger: ILogger,\n chainClient: IChainFilterChainClient,\n dlcStore: IDlcStore,\n ) {\n super();\n this.logger = logger.sub('dlcmgr');\n this.dlcStore = dlcStore;\n this.chainClient = chainClient;\n }\n\n /**\n * Starts the chain manager. This method will load information\n * from the chain store, determine when the last information\n * was obtained, validate the existing messages\n */\n public async start(blockHeight = 0): Promise<void> {\n this.logger.info('starting dlc state manager');\n\n // wait for chain sync to complete\n if (this.chainClient) {\n this.logger.info('waiting for chain sync');\n await this.chainClient.waitForSync();\n this.logger.info('chain sync complete');\n }\n\n await this._restoreState(blockHeight);\n this.syncState = SyncState.Synced;\n\n // flag that the manager has now started\n this.started = true;\n }\n\n public async updateFundBroadcast(dlcTxs: DlcTransactionsV0): Promise<void> {\n const info = await this.chainClient.getBlockchainInfo();\n const block = await this.chainClient.getBlock(info.bestblockhash);\n\n dlcTxs.fundBroadcastHeight = block.height;\n\n await this.dlcStore.saveDlcTransactions(dlcTxs);\n }\n\n public async updateCloseBroadcast(dlcTxs: DlcTransactionsV0): Promise<void> {\n const info = await this.chainClient.getBlockchainInfo();\n const block = await this.chainClient.getBlock(info.bestblockhash);\n\n dlcTxs.closeBroadcastHeight = block.height;\n\n await this.dlcStore.saveDlcTransactions(dlcTxs);\n }\n\n public async updateFundEpoch(\n dlcTxs: DlcTransactionsV0,\n block: HasHeight & HasHash,\n ): Promise<void> {\n this.logger.info(\n `updating fund epoch on dlc ${dlcTxs.contractId.toString('hex')}`,\n );\n dlcTxs.fundEpoch.hash = Buffer.from(block.hash, 'hex');\n dlcTxs.fundEpoch.height = block.height;\n\n if (dlcTxs.fundBroadcastHeight === 0) {\n dlcTxs.fundBroadcastHeight = block.height - 1;\n }\n\n await this.dlcStore.saveDlcTransactions(dlcTxs);\n\n this.logger.info(\n `fund epoch updated on dlc ${dlcTxs.contractId.toString('hex')}`,\n );\n }\n\n public async updateCloseEpoch(\n dlcTxs: DlcTransactionsV0,\n tx: Tx,\n block: HasHeight & HasHash,\n ): Promise<void> {\n this.logger.info(\n `updating close epoch on dlc ${dlcTxs.contractId.toString('hex')}`,\n );\n dlcTxs.closeEpoch.hash = Buffer.from(block.hash, 'hex');\n dlcTxs.closeEpoch.height = Number(block.height);\n dlcTxs.closeTxHash = Buffer.from(tx.txId.toString(), 'hex');\n dlcTxs.closeType = 3; // Default to cooperative close if txid not refund or cet txid\n\n const _dlcTxs = await this.dlcStore.findDlcTransactions(dlcTxs.contractId);\n\n // figure out if it's execute, refund or mutual close\n if (tx.txId.toString() === dlcTxs.refundTx.txId.toString()) {\n dlcTxs.closeType = 2;\n } else {\n const cetIndex = _dlcTxs.cets.findIndex(\n (cet) => tx.txId.toString() === cet.txId.toString(),\n );\n if (cetIndex >= 0) dlcTxs.closeType = 1;\n }\n\n if (dlcTxs.closeBroadcastHeight === 0) {\n dlcTxs.closeBroadcastHeight = block.height - 1;\n }\n\n await this.dlcStore.saveDlcTransactions(dlcTxs);\n\n this.logger.info(\n `close epoch updated on dlc ${dlcTxs.contractId.toString('hex')}`,\n );\n }\n\n private async _restoreState(blockHeight = 0): Promise<void> {\n this.logger.info('retrieving dlc state from store');\n this.blockHeight = blockHeight;\n this.syncState = SyncState.Syncing;\n this.dlcTxsList = await this.dlcStore.findDlcTransactionsList();\n this.logger.info('found %d dlcs', this.dlcTxsList.length);\n\n if (blockHeight === 0) {\n // find best block height\n for (const dlcTxs of this.dlcTxsList) {\n this.blockHeight = Math.max(\n Math.max(this.blockHeight, dlcTxs.fundEpoch.height),\n dlcTxs.closeEpoch.height,\n );\n }\n }\n\n this.logger.info(\"highest block %d found from %d dlcs\", this.blockHeight, this.dlcTxsList.length); // prettier-ignore\n\n // validate all utxos\n await this._validateUtxos(this.dlcTxsList);\n }\n\n private async _validateUtxos(_dlcTxsList: DlcTransactionsV0[]) {\n if (!this.chainClient) {\n this.logger.info('skipping utxo validation, no chain_client configured');\n return;\n }\n\n const dlcTxsList = _dlcTxsList.filter(\n (dlcTxs) => dlcTxs.closeEpoch.height === 0,\n );\n\n const dlcTxsCount = dlcTxsList.reduce(\n (acc, msg) => acc + (msg instanceof DlcTransactionsV0 ? 1 : 0),\n 0,\n );\n this.logger.info('validating %d funding utxos', dlcTxsCount);\n\n if (!dlcTxsCount) return;\n\n const dlcTxsToVerify: DlcTransactionsV0[] = [];\n\n const oct = Math.trunc(dlcTxsCount / 16);\n for (let i = 0; i < dlcTxsList.length; i++) {\n const dlcTxs = dlcTxsList[i];\n if ((i + 1) % oct === 0) {\n this.logger.info(\n 'validating funding utxos %s% complete',\n (((i + 1) / dlcTxsCount) * 100).toFixed(2),\n );\n }\n if (dlcTxs instanceof DlcTransactionsV0) {\n const utxo = await this.chainClient.getUtxo(\n dlcTxs.fundTx.txId.toString(),\n dlcTxs.fundTxVout,\n );\n\n try {\n const tx = await this.chainClient.getTransaction(\n dlcTxs.fundTx.txId.toString(),\n );\n if (!utxo) dlcTxsToVerify.push(dlcTxs);\n\n if (utxo && Number(utxo.confirmations) === 0)\n this.updateFundBroadcast(dlcTxs);\n\n if (\n utxo &&\n Number(utxo.confirmations) > 0 &&\n dlcTxs.fundEpoch.height === 0\n ) {\n const block = await this.chainClient.getBlock(tx.blockhash);\n await this.updateFundEpoch(dlcTxs, block);\n }\n } catch (e) {\n /**\n * tx doesn't exist\n * fund tx wasn't broadcast in the first place\n */\n }\n }\n }\n this.logger.info('validating funding utxos 100% complete');\n\n if (dlcTxsToVerify.length === 0) {\n this.logger.info('no closing utxos to validate');\n return;\n }\n\n await this._validateClosingUtxos(dlcTxsToVerify);\n }\n\n private async _validateClosingUtxos(dlcTxsList: DlcTransactionsV0[]) {\n let info = await this.chainClient.getBlockchainInfo();\n\n if (this.blockHeight === 0) {\n this.logger.info('cannot sync from block height 0');\n return;\n }\n\n let numBlocksToSync = Math.max(info.blocks - this.blockHeight, 0);\n this.logger.info('validating %d blocks for closing utxos', numBlocksToSync);\n const oct = Math.trunc(numBlocksToSync / 16);\n let i = 0;\n while (info.blocks > this.blockHeight) {\n await sleep(10);\n\n if ((i + 1) % oct === 0) {\n this.logger.info(\n 'validating block %s, closing utxos %s% complete',\n this.blockHeight,\n (((i + 1) / numBlocksToSync) * 100).toFixed(2),\n );\n }\n\n // Log every 10 blocks\n if (this.blockHeight % 10 === 0) {\n this.logger.info(\n 'Validating block %s for closing utxos',\n this.blockHeight,\n );\n }\n\n this.blockHeight += 1;\n\n const blockHash = await this.chainClient.getBlockHash(this.blockHeight);\n const blockBuf = await this.chainClient.getRawBlock(blockHash);\n\n const block = Block.fromBuffer(blockBuf);\n for (const transaction of block.transactions) {\n try {\n const bjsTx = Transaction.fromBuffer(transaction.toBuffer());\n if (!bjsTx.isCoinbase()) {\n // ignore coinbase txs for outpoint check\n const tx = Tx.fromBuffer(transaction.toBuffer());\n await this._checkOutpoints(dlcTxsList, tx, block.getId());\n }\n } catch (e) {\n this.logger.error(\n 'Invalid tx for validating closing utxo: %s',\n transaction.toHex(),\n );\n this.logger.trace('Error: ', e);\n }\n }\n\n if (info.blocks === this.blockHeight) {\n info = await this.chainClient.getBlockchainInfo();\n if (info.blocks === this.blockHeight) break;\n numBlocksToSync += info.blocks - this.blockHeight;\n }\n\n i++;\n }\n\n this.logger.info('validating closing utxos 100% complete');\n }\n\n private async _checkOutpoints(\n dlcTxsList: DlcTransactionsV0[],\n tx: Tx,\n blockHash: string,\n ) {\n for (const dlcTxs of dlcTxsList) {\n for (const input of tx.inputs) {\n if (dlcTxs.fundTx.txId.toString() === input.outpoint.txid.toString()) {\n const block = await this.chainClient.getBlock(blockHash);\n await this.updateCloseEpoch(dlcTxs, tx, block);\n }\n }\n }\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"5987585e1e54fae4f2de41c05cfa747ebfd69ff6","contentHash":"e0b9f59e7b1de7c99699ba62ad8b15b730d1960f706d9c6bbf2b8e5cc19843fb"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcTransactions.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcTransactions.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":81}},"2":{"start":{"line":4,"column":18},"end":{"line":4,"column":46}},"3":{"start":{"line":5,"column":16},"end":{"line":5,"column":42}},"4":{"start":{"line":6,"column":22},"end":{"line":6,"column":47}},"5":{"start":{"line":9,"column":23},"end":{"line":9,"column":52}},"6":{"start":{"line":10,"column":21},"end":{"line":10,"column":50}},"7":{"start":{"line":11,"column":8},"end":{"line":16,"column":9}},"8":{"start":{"line":13,"column":16},"end":{"line":13,"column":69}},"9":{"start":{"line":15,"column":16},"end":{"line":15,"column":83}},"10":{"start":{"line":19,"column":0},"end":{"line":19,"column":42}},"11":{"start":{"line":26,"column":8},"end":{"line":26,"column":28}},"12":{"start":{"line":30,"column":8},"end":{"line":30,"column":43}},"13":{"start":{"line":31,"column":8},"end":{"line":34,"column":10}},"14":{"start":{"line":35,"column":8},"end":{"line":35,"column":37}},"15":{"start":{"line":36,"column":8},"end":{"line":36,"column":23}},"16":{"start":{"line":37,"column":8},"end":{"line":40,"column":10}},"17":{"start":{"line":41,"column":8},"end":{"line":41,"column":44}},"18":{"start":{"line":42,"column":8},"end":{"line":42,"column":27}},"19":{"start":{"line":43,"column":8},"end":{"line":43,"column":38}},"20":{"start":{"line":50,"column":25},"end":{"line":50,"column":48}},"21":{"start":{"line":51,"column":23},"end":{"line":51,"column":52}},"22":{"start":{"line":52,"column":8},"end":{"line":52,"column":30}},"23":{"start":{"line":53,"column":8},"end":{"line":53,"column":51}},"24":{"start":{"line":54,"column":26},"end":{"line":54,"column":47}},"25":{"start":{"line":55,"column":8},"end":{"line":55,"column":108}},"26":{"start":{"line":56,"column":8},"end":{"line":56,"column":52}},"27":{"start":{"line":57,"column":25},"end":{"line":57,"column":45}},"28":{"start":{"line":58,"column":27},"end":{"line":58,"column":48}},"29":{"start":{"line":59,"column":8},"end":{"line":62,"column":10}},"30":{"start":{"line":63,"column":8},"end":{"line":63,"column":61}},"31":{"start":{"line":64,"column":28},"end":{"line":64,"column":49}},"32":{"start":{"line":65,"column":8},"end":{"line":65,"column":112}},"33":{"start":{"line":66,"column":24},"end":{"line":66,"column":44}},"34":{"start":{"line":67,"column":8},"end":{"line":75,"column":9}},"35":{"start":{"line":67,"column":21},"end":{"line":67,"column":22}},"36":{"start":{"line":68,"column":27},"end":{"line":68,"column":48}},"37":{"start":{"line":69,"column":12},"end":{"line":74,"column":13}},"38":{"start":{"line":70,"column":16},"end":{"line":70,"column":115}},"39":{"start":{"line":73,"column":16},"end":{"line":73,"column":41}},"40":{"start":{"line":76,"column":26},"end":{"line":76,"column":46}},"41":{"start":{"line":77,"column":28},"end":{"line":77,"column":49}},"42":{"start":{"line":78,"column":8},"end":{"line":81,"column":10}},"43":{"start":{"line":82,"column":8},"end":{"line":82,"column":52}},"44":{"start":{"line":83,"column":8},"end":{"line":83,"column":48}},"45":{"start":{"line":84,"column":8},"end":{"line":84,"column":62}},"46":{"start":{"line":85,"column":8},"end":{"line":85,"column":24}},"47":{"start":{"line":91,"column":8},"end":{"line":110,"column":10}},"48":{"start":{"line":102,"column":41},"end":{"line":102,"column":72}},"49":{"start":{"line":116,"column":23},"end":{"line":116,"column":49}},"50":{"start":{"line":117,"column":8},"end":{"line":117,"column":40}},"51":{"start":{"line":118,"column":8},"end":{"line":118,"column":43}},"52":{"start":{"line":119,"column":8},"end":{"line":119,"column":61}},"53":{"start":{"line":120,"column":8},"end":{"line":120,"column":51}},"54":{"start":{"line":121,"column":8},"end":{"line":121,"column":46}},"55":{"start":{"line":122,"column":8},"end":{"line":122,"column":47}},"56":{"start":{"line":123,"column":8},"end":{"line":123,"column":52}},"57":{"start":{"line":124,"column":8},"end":{"line":124,"column":55}},"58":{"start":{"line":125,"column":8},"end":{"line":125,"column":63}},"59":{"start":{"line":126,"column":8},"end":{"line":126,"column":53}},"60":{"start":{"line":127,"column":8},"end":{"line":127,"column":46}},"61":{"start":{"line":128,"column":8},"end":{"line":131,"column":9}},"62":{"start":{"line":129,"column":12},"end":{"line":129,"column":57}},"63":{"start":{"line":130,"column":12},"end":{"line":130,"column":47}},"64":{"start":{"line":132,"column":8},"end":{"line":132,"column":48}},"65":{"start":{"line":133,"column":8},"end":{"line":133,"column":53}},"66":{"start":{"line":134,"column":8},"end":{"line":134,"column":44}},"67":{"start":{"line":135,"column":8},"end":{"line":135,"column":42}},"68":{"start":{"line":136,"column":8},"end":{"line":136,"column":56}},"69":{"start":{"line":137,"column":8},"end":{"line":137,"column":33}},"70":{"start":{"line":140,"column":0},"end":{"line":140,"column":46}},"71":{"start":{"line":141,"column":0},"end":{"line":141,"column":69}},"72":{"start":{"line":142,"column":23},"end":{"line":153,"column":1}},"73":{"start":{"line":143,"column":4},"end":{"line":152,"column":5}},"74":{"start":{"line":145,"column":12},"end":{"line":145,"column":34}},"75":{"start":{"line":147,"column":12},"end":{"line":147,"column":33}},"76":{"start":{"line":149,"column":12},"end":{"line":149,"column":38}},"77":{"start":{"line":151,"column":12},"end":{"line":151,"column":31}},"78":{"start":{"line":155,"column":0},"end":{"line":160,"column":62}},"79":{"start":{"line":156,"column":4},"end":{"line":156,"column":56}},"80":{"start":{"line":157,"column":4},"end":{"line":157,"column":62}},"81":{"start":{"line":158,"column":4},"end":{"line":158,"column":60}},"82":{"start":{"line":159,"column":4},"end":{"line":159,"column":70}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":4},"end":{"line":8,"column":5}},"loc":{"start":{"line":8,"column":46},"end":{"line":17,"column":5}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":25,"column":4},"end":{"line":25,"column":5}},"loc":{"start":{"line":25,"column":18},"end":{"line":44,"column":5}},"line":25},"2":{"name":"(anonymous_2)","decl":{"start":{"line":49,"column":4},"end":{"line":49,"column":5}},"loc":{"start":{"line":49,"column":46},"end":{"line":86,"column":5}},"line":49},"3":{"name":"(anonymous_3)","decl":{"start":{"line":90,"column":4},"end":{"line":90,"column":5}},"loc":{"start":{"line":90,"column":13},"end":{"line":111,"column":5}},"line":90},"4":{"name":"(anonymous_4)","decl":{"start":{"line":102,"column":32},"end":{"line":102,"column":33}},"loc":{"start":{"line":102,"column":41},"end":{"line":102,"column":72}},"line":102},"5":{"name":"(anonymous_5)","decl":{"start":{"line":115,"column":4},"end":{"line":115,"column":5}},"loc":{"start":{"line":115,"column":16},"end":{"line":138,"column":5}},"line":115},"6":{"name":"(anonymous_6)","decl":{"start":{"line":142,"column":23},"end":{"line":142,"column":24}},"loc":{"start":{"line":142,"column":38},"end":{"line":153,"column":1}},"line":142},"7":{"name":"(anonymous_7)","decl":{"start":{"line":155,"column":1},"end":{"line":155,"column":2}},"loc":{"start":{"line":155,"column":22},"end":{"line":160,"column":1}},"line":155}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":28},"end":{"line":8,"column":44}},"type":"default-arg","locations":[{"start":{"line":8,"column":40},"end":{"line":8,"column":44}}],"line":8},"1":{"loc":{"start":{"line":11,"column":8},"end":{"line":16,"column":9}},"type":"switch","locations":[{"start":{"line":12,"column":12},"end":{"line":13,"column":69}},{"start":{"line":14,"column":12},"end":{"line":15,"column":83}}],"line":11},"2":{"loc":{"start":{"line":49,"column":28},"end":{"line":49,"column":44}},"type":"default-arg","locations":[{"start":{"line":49,"column":40},"end":{"line":49,"column":44}}],"line":49},"3":{"loc":{"start":{"line":69,"column":12},"end":{"line":74,"column":13}},"type":"if","locations":[{"start":{"line":69,"column":12},"end":{"line":74,"column":13}},{"start":{"line":69,"column":12},"end":{"line":74,"column":13}}],"line":69},"4":{"loc":{"start":{"line":69,"column":16},"end":{"line":69,"column":36}},"type":"binary-expr","locations":[{"start":{"line":69,"column":16},"end":{"line":69,"column":25}},{"start":{"line":69,"column":29},"end":{"line":69,"column":36}}],"line":69},"5":{"loc":{"start":{"line":143,"column":4},"end":{"line":152,"column":5}},"type":"switch","locations":[{"start":{"line":144,"column":8},"end":{"line":145,"column":34}},{"start":{"line":146,"column":8},"end":{"line":147,"column":33}},{"start":{"line":148,"column":8},"end":{"line":149,"column":38}},{"start":{"line":150,"column":8},"end":{"line":151,"column":31}}],"line":143},"6":{"loc":{"start":{"line":160,"column":15},"end":{"line":160,"column":60}},"type":"binary-expr","locations":[{"start":{"line":160,"column":15},"end":{"line":160,"column":32}},{"start":{"line":160,"column":37},"end":{"line":160,"column":59}}],"line":160}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":2,"6":2,"7":2,"8":2,"9":0,"10":1,"11":8,"12":8,"13":8,"14":8,"15":8,"16":8,"17":8,"18":8,"19":8,"20":6,"21":6,"22":6,"23":6,"24":6,"25":6,"26":6,"27":6,"28":6,"29":6,"30":6,"31":6,"32":6,"33":6,"34":6,"35":6,"36":8,"37":8,"38":7,"39":1,"40":6,"41":6,"42":6,"43":6,"44":6,"45":6,"46":6,"47":1,"48":2,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":2,"63":2,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":0,"75":0,"76":0,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1},"f":{"0":2,"1":8,"2":6,"3":1,"4":2,"5":1,"6":1,"7":1},"b":{"0":[1],"1":[2,0],"2":[4],"3":[7,1],"4":[8,2],"5":[0,0,0,1],"6":[1,1]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcTransactions.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcTransactions.ts"],"names":[],"mappings":";;;AAAA,+CAAuC;AACvC,2CAA2E;AAE3E,gDAA6C;AAG7C,MAAsB,eAAe;IAC5B,MAAM,CAAC,WAAW,CAAC,GAAW,EAAE,SAAS,GAAG,IAAI;QACrD,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QAE3C,QAAQ,IAAI,EAAE;YACZ,KAAK,yBAAW,CAAC,iBAAiB;gBAChC,OAAO,iBAAiB,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACvD;gBACE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;SACtE;IACH,CAAC;CAOF;AAnBD,0CAmBC;AAED;;;GAGG;AACH,MAAa,iBAAkB,SAAQ,eAAe;IAAtD;;QAgEE;;WAEG;QACI,SAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;QAQ9B,cAAS,GAAe;YAC7B,IAAI,EAAE,MAA