@node-dlc/messaging
Version:
DLC Messaging Protocol
1 lines • 1.03 MB
JSON
{"/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":5,"column":18},"end":{"line":5,"column":46}},"3":{"start":{"line":6,"column":24},"end":{"line":6,"column":48}},"4":{"start":{"line":7,"column":17},"end":{"line":7,"column":34}},"5":{"start":{"line":8,"column":26},"end":{"line":8,"column":64}},"6":{"start":{"line":9,"column":15},"end":{"line":9,"column":33}},"7":{"start":{"line":11,"column":0},"end":{"line":15,"column":62}},"8":{"start":{"line":12,"column":4},"end":{"line":12,"column":54}},"9":{"start":{"line":13,"column":4},"end":{"line":13,"column":52}},"10":{"start":{"line":14,"column":4},"end":{"line":14,"column":50}},"11":{"start":{"line":22,"column":8},"end":{"line":22,"column":16}},"12":{"start":{"line":23,"column":8},"end":{"line":23,"column":29}},"13":{"start":{"line":24,"column":8},"end":{"line":24,"column":43}},"14":{"start":{"line":25,"column":8},"end":{"line":25,"column":33}},"15":{"start":{"line":26,"column":8},"end":{"line":26,"column":39}},"16":{"start":{"line":34,"column":8},"end":{"line":34,"column":55}},"17":{"start":{"line":36,"column":8},"end":{"line":40,"column":9}},"18":{"start":{"line":37,"column":12},"end":{"line":37,"column":55}},"19":{"start":{"line":38,"column":12},"end":{"line":38,"column":49}},"20":{"start":{"line":39,"column":12},"end":{"line":39,"column":52}},"21":{"start":{"line":41,"column":8},"end":{"line":41,"column":46}},"22":{"start":{"line":42,"column":8},"end":{"line":42,"column":42}},"23":{"start":{"line":44,"column":8},"end":{"line":44,"column":28}},"24":{"start":{"line":47,"column":21},"end":{"line":47,"column":63}},"25":{"start":{"line":48,"column":22},"end":{"line":48,"column":73}},"26":{"start":{"line":49,"column":8},"end":{"line":49,"column":50}},"27":{"start":{"line":50,"column":8},"end":{"line":50,"column":56}},"28":{"start":{"line":53,"column":21},"end":{"line":53,"column":63}},"29":{"start":{"line":54,"column":22},"end":{"line":54,"column":73}},"30":{"start":{"line":55,"column":8},"end":{"line":55,"column":51}},"31":{"start":{"line":56,"column":8},"end":{"line":56,"column":56}},"32":{"start":{"line":59,"column":8},"end":{"line":59,"column":92}},"33":{"start":{"line":60,"column":8},"end":{"line":60,"column":63}},"34":{"start":{"line":61,"column":8},"end":{"line":61,"column":47}},"35":{"start":{"line":62,"column":8},"end":{"line":64,"column":9}},"36":{"start":{"line":63,"column":12},"end":{"line":63,"column":58}},"37":{"start":{"line":65,"column":8},"end":{"line":65,"column":56}},"38":{"start":{"line":66,"column":8},"end":{"line":66,"column":91}},"39":{"start":{"line":69,"column":8},"end":{"line":69,"column":93}},"40":{"start":{"line":70,"column":8},"end":{"line":70,"column":64}},"41":{"start":{"line":71,"column":8},"end":{"line":71,"column":56}},"42":{"start":{"line":72,"column":8},"end":{"line":72,"column":68}},"43":{"start":{"line":73,"column":8},"end":{"line":73,"column":29}},"44":{"start":{"line":74,"column":24},"end":{"line":74,"column":82}},"45":{"start":{"line":76,"column":8},"end":{"line":83,"column":9}},"46":{"start":{"line":77,"column":12},"end":{"line":77,"column":33}},"47":{"start":{"line":80,"column":29},"end":{"line":80,"column":104}},"48":{"start":{"line":80,"column":61},"end":{"line":80,"column":103}},"49":{"start":{"line":81,"column":12},"end":{"line":82,"column":37}},"50":{"start":{"line":82,"column":16},"end":{"line":82,"column":37}},"51":{"start":{"line":84,"column":8},"end":{"line":86,"column":9}},"52":{"start":{"line":85,"column":12},"end":{"line":85,"column":59}},"53":{"start":{"line":87,"column":8},"end":{"line":87,"column":56}},"54":{"start":{"line":88,"column":8},"end":{"line":88,"column":92}},"55":{"start":{"line":91,"column":8},"end":{"line":91,"column":60}},"56":{"start":{"line":92,"column":8},"end":{"line":92,"column":39}},"57":{"start":{"line":93,"column":8},"end":{"line":93,"column":43}},"58":{"start":{"line":94,"column":8},"end":{"line":94,"column":72}},"59":{"start":{"line":95,"column":8},"end":{"line":95,"column":66}},"60":{"start":{"line":96,"column":8},"end":{"line":101,"column":9}},"61":{"start":{"line":98,"column":12},"end":{"line":100,"column":13}},"62":{"start":{"line":99,"column":16},"end":{"line":99,"column":123}},"63":{"start":{"line":102,"column":8},"end":{"line":102,"column":106}},"64":{"start":{"line":104,"column":8},"end":{"line":104,"column":51}},"65":{"start":{"line":107,"column":8},"end":{"line":110,"column":9}},"66":{"start":{"line":108,"column":12},"end":{"line":108,"column":85}},"67":{"start":{"line":109,"column":12},"end":{"line":109,"column":19}},"68":{"start":{"line":111,"column":27},"end":{"line":111,"column":89}},"69":{"start":{"line":111,"column":58},"end":{"line":111,"column":88}},"70":{"start":{"line":112,"column":28},"end":{"line":112,"column":128}},"71":{"start":{"line":112,"column":60},"end":{"line":112,"column":124}},"72":{"start":{"line":113,"column":8},"end":{"line":113,"column":69}},"73":{"start":{"line":114,"column":8},"end":{"line":115,"column":19}},"74":{"start":{"line":115,"column":12},"end":{"line":115,"column":19}},"75":{"start":{"line":116,"column":31},"end":{"line":116,"column":33}},"76":{"start":{"line":117,"column":20},"end":{"line":117,"column":48}},"77":{"start":{"line":118,"column":8},"end":{"line":145,"column":9}},"78":{"start":{"line":118,"column":21},"end":{"line":118,"column":22}},"79":{"start":{"line":119,"column":27},"end":{"line":119,"column":40}},"80":{"start":{"line":120,"column":12},"end":{"line":122,"column":13}},"81":{"start":{"line":121,"column":16},"end":{"line":121,"column":118}},"82":{"start":{"line":123,"column":12},"end":{"line":144,"column":13}},"83":{"start":{"line":124,"column":29},"end":{"line":124,"column":109}},"84":{"start":{"line":125,"column":16},"end":{"line":143,"column":17}},"85":{"start":{"line":126,"column":31},"end":{"line":126,"column":99}},"86":{"start":{"line":127,"column":20},"end":{"line":128,"column":52}},"87":{"start":{"line":128,"column":24},"end":{"line":128,"column":52}},"88":{"start":{"line":129,"column":20},"end":{"line":130,"column":57}},"89":{"start":{"line":130,"column":24},"end":{"line":130,"column":57}},"90":{"start":{"line":131,"column":20},"end":{"line":136,"column":21}},"91":{"start":{"line":134,"column":38},"end":{"line":134,"column":83}},"92":{"start":{"line":135,"column":24},"end":{"line":135,"column":66}},"93":{"start":{"line":146,"column":8},"end":{"line":146,"column":67}},"94":{"start":{"line":147,"column":8},"end":{"line":150,"column":9}},"95":{"start":{"line":148,"column":12},"end":{"line":148,"column":61}},"96":{"start":{"line":149,"column":12},"end":{"line":149,"column":19}},"97":{"start":{"line":151,"column":8},"end":{"line":151,"column":57}},"98":{"start":{"line":154,"column":19},"end":{"line":154,"column":61}},"99":{"start":{"line":155,"column":8},"end":{"line":158,"column":9}},"100":{"start":{"line":156,"column":12},"end":{"line":156,"column":64}},"101":{"start":{"line":157,"column":12},"end":{"line":157,"column":19}},"102":{"start":{"line":159,"column":30},"end":{"line":159,"column":73}},"103":{"start":{"line":160,"column":8},"end":{"line":160,"column":84}},"104":{"start":{"line":161,"column":20},"end":{"line":161,"column":52}},"105":{"start":{"line":162,"column":16},"end":{"line":162,"column":17}},"106":{"start":{"line":163,"column":8},"end":{"line":197,"column":9}},"107":{"start":{"line":164,"column":12},"end":{"line":164,"column":40}},"108":{"start":{"line":165,"column":12},"end":{"line":167,"column":13}},"109":{"start":{"line":166,"column":16},"end":{"line":166,"column":150}},"110":{"start":{"line":169,"column":12},"end":{"line":171,"column":13}},"111":{"start":{"line":170,"column":16},"end":{"line":170,"column":92}},"112":{"start":{"line":172,"column":12},"end":{"line":172,"column":34}},"113":{"start":{"line":173,"column":30},"end":{"line":173,"column":83}},"114":{"start":{"line":174,"column":29},"end":{"line":174,"column":74}},"115":{"start":{"line":175,"column":26},"end":{"line":175,"column":68}},"116":{"start":{"line":176,"column":12},"end":{"line":189,"column":13}},"117":{"start":{"line":177,"column":16},"end":{"line":188,"column":17}},"118":{"start":{"line":178,"column":34},"end":{"line":178,"column":96}},"119":{"start":{"line":179,"column":20},"end":{"line":183,"column":21}},"120":{"start":{"line":181,"column":35},"end":{"line":181,"column":82}},"121":{"start":{"line":182,"column":24},"end":{"line":182,"column":82}},"122":{"start":{"line":186,"column":20},"end":{"line":186,"column":105}},"123":{"start":{"line":187,"column":20},"end":{"line":187,"column":52}},"124":{"start":{"line":190,"column":12},"end":{"line":195,"column":13}},"125":{"start":{"line":191,"column":16},"end":{"line":191,"column":66}},"126":{"start":{"line":192,"column":16},"end":{"line":193,"column":26}},"127":{"start":{"line":193,"column":20},"end":{"line":193,"column":26}},"128":{"start":{"line":194,"column":16},"end":{"line":194,"column":66}},"129":{"start":{"line":196,"column":12},"end":{"line":196,"column":16}},"130":{"start":{"line":198,"column":8},"end":{"line":198,"column":67}},"131":{"start":{"line":201,"column":8},"end":{"line":208,"column":9}},"132":{"start":{"line":202,"column":12},"end":{"line":207,"column":13}},"133":{"start":{"line":203,"column":16},"end":{"line":206,"column":17}},"134":{"start":{"line":204,"column":34},"end":{"line":204,"column":76}},"135":{"start":{"line":205,"column":20},"end":{"line":205,"column":67}},"136":{"start":{"line":211,"column":0},"end":{"line":211,"column":36}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":1},"end":{"line":11,"column":2}},"loc":{"start":{"line":11,"column":22},"end":{"line":15,"column":1}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":4},"end":{"line":21,"column":5}},"loc":{"start":{"line":21,"column":47},"end":{"line":27,"column":5}},"line":21},"2":{"name":"(anonymous_2)","decl":{"start":{"line":33,"column":4},"end":{"line":33,"column":5}},"loc":{"start":{"line":33,"column":33},"end":{"line":45,"column":5}},"line":33},"3":{"name":"(anonymous_3)","decl":{"start":{"line":46,"column":4},"end":{"line":46,"column":5}},"loc":{"start":{"line":46,"column":38},"end":{"line":51,"column":5}},"line":46},"4":{"name":"(anonymous_4)","decl":{"start":{"line":52,"column":4},"end":{"line":52,"column":5}},"loc":{"start":{"line":52,"column":39},"end":{"line":57,"column":5}},"line":52},"5":{"name":"(anonymous_5)","decl":{"start":{"line":58,"column":4},"end":{"line":58,"column":5}},"loc":{"start":{"line":58,"column":41},"end":{"line":67,"column":5}},"line":58},"6":{"name":"(anonymous_6)","decl":{"start":{"line":68,"column":4},"end":{"line":68,"column":5}},"loc":{"start":{"line":68,"column":46},"end":{"line":89,"column":5}},"line":68},"7":{"name":"(anonymous_7)","decl":{"start":{"line":80,"column":52},"end":{"line":80,"column":53}},"loc":{"start":{"line":80,"column":61},"end":{"line":80,"column":103}},"line":80},"8":{"name":"(anonymous_8)","decl":{"start":{"line":90,"column":4},"end":{"line":90,"column":5}},"loc":{"start":{"line":90,"column":41},"end":{"line":105,"column":5}},"line":90},"9":{"name":"(anonymous_9)","decl":{"start":{"line":106,"column":4},"end":{"line":106,"column":5}},"loc":{"start":{"line":106,"column":38},"end":{"line":152,"column":5}},"line":106},"10":{"name":"(anonymous_10)","decl":{"start":{"line":111,"column":46},"end":{"line":111,"column":47}},"loc":{"start":{"line":111,"column":58},"end":{"line":111,"column":88}},"line":111},"11":{"name":"(anonymous_11)","decl":{"start":{"line":112,"column":46},"end":{"line":112,"column":47}},"loc":{"start":{"line":112,"column":60},"end":{"line":112,"column":124}},"line":112},"12":{"name":"(anonymous_12)","decl":{"start":{"line":153,"column":4},"end":{"line":153,"column":5}},"loc":{"start":{"line":153,"column":44},"end":{"line":199,"column":5}},"line":153},"13":{"name":"(anonymous_13)","decl":{"start":{"line":200,"column":4},"end":{"line":200,"column":5}},"loc":{"start":{"line":200,"column":53},"end":{"line":209,"column":5}},"line":200}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":15},"end":{"line":15,"column":60}},"type":"binary-expr","locations":[{"start":{"line":15,"column":15},"end":{"line":15,"column":32}},{"start":{"line":15,"column":37},"end":{"line":15,"column":59}}],"line":15},"1":{"loc":{"start":{"line":33,"column":16},"end":{"line":33,"column":31}},"type":"default-arg","locations":[{"start":{"line":33,"column":30},"end":{"line":33,"column":31}}],"line":33},"2":{"loc":{"start":{"line":36,"column":8},"end":{"line":40,"column":9}},"type":"if","locations":[{"start":{"line":36,"column":8},"end":{"line":40,"column":9}},{"start":{},"end":{}}],"line":36},"3":{"loc":{"start":{"line":62,"column":8},"end":{"line":64,"column":9}},"type":"if","locations":[{"start":{"line":62,"column":8},"end":{"line":64,"column":9}},{"start":{},"end":{}}],"line":62},"4":{"loc":{"start":{"line":76,"column":8},"end":{"line":83,"column":9}},"type":"if","locations":[{"start":{"line":76,"column":8},"end":{"line":83,"column":9}},{"start":{"line":79,"column":13},"end":{"line":83,"column":9}}],"line":76},"5":{"loc":{"start":{"line":81,"column":12},"end":{"line":82,"column":37}},"type":"if","locations":[{"start":{"line":81,"column":12},"end":{"line":82,"column":37}},{"start":{},"end":{}}],"line":81},"6":{"loc":{"start":{"line":84,"column":8},"end":{"line":86,"column":9}},"type":"if","locations":[{"start":{"line":84,"column":8},"end":{"line":86,"column":9}},{"start":{},"end":{}}],"line":84},"7":{"loc":{"start":{"line":90,"column":24},"end":{"line":90,"column":39}},"type":"default-arg","locations":[{"start":{"line":90,"column":38},"end":{"line":90,"column":39}}],"line":90},"8":{"loc":{"start":{"line":96,"column":8},"end":{"line":101,"column":9}},"type":"if","locations":[{"start":{"line":96,"column":8},"end":{"line":101,"column":9}},{"start":{},"end":{}}],"line":96},"9":{"loc":{"start":{"line":107,"column":8},"end":{"line":110,"column":9}},"type":"if","locations":[{"start":{"line":107,"column":8},"end":{"line":110,"column":9}},{"start":{},"end":{}}],"line":107},"10":{"loc":{"start":{"line":112,"column":67},"end":{"line":112,"column":123}},"type":"cond-expr","locations":[{"start":{"line":112,"column":118},"end":{"line":112,"column":119}},{"start":{"line":112,"column":122},"end":{"line":112,"column":123}}],"line":112},"11":{"loc":{"start":{"line":114,"column":8},"end":{"line":115,"column":19}},"type":"if","locations":[{"start":{"line":114,"column":8},"end":{"line":115,"column":19}},{"start":{},"end":{}}],"line":114},"12":{"loc":{"start":{"line":120,"column":12},"end":{"line":122,"column":13}},"type":"if","locations":[{"start":{"line":120,"column":12},"end":{"line":122,"column":13}},{"start":{},"end":{}}],"line":120},"13":{"loc":{"start":{"line":123,"column":12},"end":{"line":144,"column":13}},"type":"if","locations":[{"start":{"line":123,"column":12},"end":{"line":144,"column":13}},{"start":{},"end":{}}],"line":123},"14":{"loc":{"start":{"line":127,"column":20},"end":{"line":128,"column":52}},"type":"if","locations":[{"start":{"line":127,"column":20},"end":{"line":128,"column":52}},{"start":{},"end":{}}],"line":127},"15":{"loc":{"start":{"line":129,"column":20},"end":{"line":130,"column":57}},"type":"if","locations":[{"start":{"line":129,"column":20},"end":{"line":130,"column":57}},{"start":{},"end":{}}],"line":129},"16":{"loc":{"start":{"line":129,"column":24},"end":{"line":129,"column":64}},"type":"binary-expr","locations":[{"start":{"line":129,"column":24},"end":{"line":129,"column":28}},{"start":{"line":129,"column":32},"end":{"line":129,"column":64}}],"line":129},"17":{"loc":{"start":{"line":131,"column":20},"end":{"line":136,"column":21}},"type":"if","locations":[{"start":{"line":131,"column":20},"end":{"line":136,"column":21}},{"start":{},"end":{}}],"line":131},"18":{"loc":{"start":{"line":131,"column":24},"end":{"line":133,"column":53}},"type":"binary-expr","locations":[{"start":{"line":131,"column":24},"end":{"line":131,"column":28}},{"start":{"line":132,"column":24},"end":{"line":132,"column":54}},{"start":{"line":133,"column":24},"end":{"line":133,"column":53}}],"line":131},"19":{"loc":{"start":{"line":147,"column":8},"end":{"line":150,"column":9}},"type":"if","locations":[{"start":{"line":147,"column":8},"end":{"line":150,"column":9}},{"start":{},"end":{}}],"line":147},"20":{"loc":{"start":{"line":155,"column":8},"end":{"line":158,"column":9}},"type":"if","locations":[{"start":{"line":155,"column":8},"end":{"line":158,"column":9}},{"start":{},"end":{}}],"line":155},"21":{"loc":{"start":{"line":165,"column":12},"end":{"line":167,"column":13}},"type":"if","locations":[{"start":{"line":165,"column":12},"end":{"line":167,"column":13}},{"start":{},"end":{}}],"line":165},"22":{"loc":{"start":{"line":169,"column":12},"end":{"line":171,"column":13}},"type":"if","locations":[{"start":{"line":169,"column":12},"end":{"line":171,"column":13}},{"start":{},"end":{}}],"line":169},"23":{"loc":{"start":{"line":179,"column":20},"end":{"line":183,"column":21}},"type":"if","locations":[{"start":{"line":179,"column":20},"end":{"line":183,"column":21}},{"start":{},"end":{}}],"line":179},"24":{"loc":{"start":{"line":190,"column":12},"end":{"line":195,"column":13}},"type":"if","locations":[{"start":{"line":190,"column":12},"end":{"line":195,"column":13}},{"start":{},"end":{}}],"line":190},"25":{"loc":{"start":{"line":192,"column":16},"end":{"line":193,"column":26}},"type":"if","locations":[{"start":{"line":192,"column":16},"end":{"line":193,"column":26}},{"start":{},"end":{}}],"line":192},"26":{"loc":{"start":{"line":203,"column":16},"end":{"line":206,"column":17}},"type":"if","locations":[{"start":{"line":203,"column":16},"end":{"line":206,"column":17}},{"start":{},"end":{}}],"line":203}},"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":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Tx } from '@node-dlc/bitcoin';\nimport { Block, Transaction } from 'bitcoinjs-lib';\nimport { EventEmitter } from 'events';\n\nimport { DlcTransactions } 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: DlcTransactions[];\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: DlcTransactions): 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: DlcTransactions): 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: DlcTransactions,\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: DlcTransactions,\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: DlcTransactions[]) {\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 DlcTransactions ? 1 : 0),\n 0,\n );\n this.logger.info('validating %d funding utxos', dlcTxsCount);\n\n if (!dlcTxsCount) return;\n\n const dlcTxsToVerify: DlcTransactions[] = [];\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 DlcTransactions) {\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: DlcTransactions[]) {\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: DlcTransactions[],\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":"c1840c8d6d537463686999b16c590a200f594ed8","contentHash":"8f9b8cb7b761a673f07fb0e6755e419fcb44c894775f4a4a0f04f7b2150930fe"},"/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":16,"column":8},"end":{"line":16,"column":41}},"6":{"start":{"line":17,"column":8},"end":{"line":20,"column":10}},"7":{"start":{"line":21,"column":8},"end":{"line":21,"column":37}},"8":{"start":{"line":22,"column":8},"end":{"line":22,"column":23}},"9":{"start":{"line":23,"column":8},"end":{"line":26,"column":10}},"10":{"start":{"line":27,"column":8},"end":{"line":27,"column":44}},"11":{"start":{"line":28,"column":8},"end":{"line":28,"column":27}},"12":{"start":{"line":29,"column":8},"end":{"line":29,"column":38}},"13":{"start":{"line":36,"column":25},"end":{"line":36,"column":46}},"14":{"start":{"line":37,"column":23},"end":{"line":37,"column":52}},"15":{"start":{"line":38,"column":8},"end":{"line":38,"column":30}},"16":{"start":{"line":39,"column":8},"end":{"line":39,"column":51}},"17":{"start":{"line":40,"column":26},"end":{"line":40,"column":47}},"18":{"start":{"line":41,"column":8},"end":{"line":41,"column":108}},"19":{"start":{"line":42,"column":8},"end":{"line":42,"column":52}},"20":{"start":{"line":43,"column":25},"end":{"line":43,"column":45}},"21":{"start":{"line":44,"column":27},"end":{"line":44,"column":48}},"22":{"start":{"line":45,"column":8},"end":{"line":48,"column":10}},"23":{"start":{"line":49,"column":8},"end":{"line":49,"column":61}},"24":{"start":{"line":50,"column":28},"end":{"line":50,"column":49}},"25":{"start":{"line":51,"column":8},"end":{"line":51,"column":112}},"26":{"start":{"line":52,"column":24},"end":{"line":52,"column":44}},"27":{"start":{"line":53,"column":8},"end":{"line":61,"column":9}},"28":{"start":{"line":53,"column":21},"end":{"line":53,"column":22}},"29":{"start":{"line":54,"column":27},"end":{"line":54,"column":48}},"30":{"start":{"line":55,"column":12},"end":{"line":60,"column":13}},"31":{"start":{"line":56,"column":16},"end":{"line":56,"column":115}},"32":{"start":{"line":59,"column":16},"end":{"line":59,"column":41}},"33":{"start":{"line":62,"column":26},"end":{"line":62,"column":46}},"34":{"start":{"line":63,"column":28},"end":{"line":63,"column":49}},"35":{"start":{"line":64,"column":8},"end":{"line":67,"column":10}},"36":{"start":{"line":68,"column":8},"end":{"line":68,"column":52}},"37":{"start":{"line":69,"column":8},"end":{"line":69,"column":48}},"38":{"start":{"line":70,"column":8},"end":{"line":70,"column":62}},"39":{"start":{"line":71,"column":8},"end":{"line":71,"column":24}},"40":{"start":{"line":77,"column":8},"end":{"line":96,"column":10}},"41":{"start":{"line":88,"column":41},"end":{"line":88,"column":72}},"42":{"start":{"line":102,"column":23},"end":{"line":102,"column":49}},"43":{"start":{"line":103,"column":8},"end":{"line":103,"column":40}},"44":{"start":{"line":104,"column":8},"end":{"line":104,"column":43}},"45":{"start":{"line":105,"column":8},"end":{"line":105,"column":61}},"46":{"start":{"line":106,"column":8},"end":{"line":106,"column":51}},"47":{"start":{"line":107,"column":8},"end":{"line":107,"column":46}},"48":{"start":{"line":108,"column":8},"end":{"line":108,"column":47}},"49":{"start":{"line":109,"column":8},"end":{"line":109,"column":52}},"50":{"start":{"line":110,"column":8},"end":{"line":110,"column":55}},"51":{"start":{"line":111,"column":8},"end":{"line":111,"column":63}},"52":{"start":{"line":112,"column":8},"end":{"line":112,"column":53}},"53":{"start":{"line":113,"column":8},"end":{"line":113,"column":46}},"54":{"start":{"line":114,"column":8},"end":{"line":117,"column":9}},"55":{"start":{"line":115,"column":12},"end":{"line":115,"column":57}},"56":{"start":{"line":116,"column":12},"end":{"line":116,"column":47}},"57":{"start":{"line":118,"column":8},"end":{"line":118,"column":48}},"58":{"start":{"line":119,"column":8},"end":{"line":119,"column":53}},"59":{"start":{"line":120,"column":8},"end":{"line":120,"column":44}},"60":{"start":{"line":121,"column":8},"end":{"line":121,"column":42}},"61":{"start":{"line":122,"column":8},"end":{"line":122,"column":56}},"62":{"start":{"line":123,"column":8},"end":{"line":123,"column":33}},"63":{"start":{"line":126,"column":0},"end":{"line":126,"column":42}},"64":{"start":{"line":127,"column":0},"end":{"line":127,"column":65}},"65":{"start":{"line":128,"column":23},"end":{"line":139,"column":1}},"66":{"start":{"line":129,"column":4},"end":{"line":138,"column":5}},"67":{"start":{"line":131,"column":12},"end":{"line":131,"column":34}},"68":{"start":{"line":133,"column":12},"end":{"line":133,"column":33}},"69":{"start":{"line":135,"column":12},"end":{"line":135,"column":38}},"70":{"start":{"line":137,"column":12},"end":{"line":137,"column":31}},"71":{"start":{"line":141,"column":0},"end":{"line":146,"column":62}},"72":{"start":{"line":142,"column":4},"end":{"line":142,"column":56}},"73":{"start":{"line":143,"column":4},"end":{"line":143,"column":62}},"74":{"start":{"line":144,"column":4},"end":{"line":144,"column":60}},"75":{"start":{"line":145,"column":4},"end":{"line":145,"column":70}},"76":{"start":{"line":148,"column":0},"end":{"line":148,"column":44}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":4},"end":{"line":12,"column":5}},"loc":{"start":{"line":12,"column":18},"end":{"line":30,"column":5}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":35,"column":4},"end":{"line":35,"column":5}},"loc":{"start":{"line":35,"column":46},"end":{"line":72,"column":5}},"line":35},"2":{"name":"(anonymous_2)","decl":{"start":{"line":76,"column":4},"end":{"line":76,"column":5}},"loc":{"start":{"line":76,"column":13},"end":{"line":97,"column":5}},"line":76},"3":{"name":"(anonymous_3)","decl":{"start":{"line":88,"column":32},"end":{"line":88,"column":33}},"loc":{"start":{"line":88,"column":41},"end":{"line":88,"column":72}},"line":88},"4":{"name":"(anonymous_4)","decl":{"start":{"line":101,"column":4},"end":{"line":101,"column":5}},"loc":{"start":{"line":101,"column":16},"end":{"line":124,"column":5}},"line":101},"5":{"name":"(anonymous_5)","decl":{"start":{"line":128,"column":23},"end":{"line":128,"column":24}},"loc":{"start":{"line":128,"column":38},"end":{"line":139,"column":1}},"line":128},"6":{"name":"(anonymous_6)","decl":{"start":{"line":141,"column":1},"end":{"line":141,"column":2}},"loc":{"start":{"line":141,"column":22},"end":{"line":146,"column":1}},"line":141}},"branchMap":{"0":{"loc":{"start":{"line":35,"column":28},"end":{"line":35,"column":44}},"type":"default-arg","locations":[{"start":{"line":35,"column":40},"end":{"line":35,"column":44}}],"line":35},"1":{"loc":{"start":{"line":55,"column":12},"end":{"line":60,"column":13}},"type":"if","locations":[{"start":{"line":55,"column":12},"end":{"line":60,"column":13}},{"start":{"line":58,"column":17},"end":{"line":60,"column":13}}],"line":55},"2":{"loc":{"start":{"line":55,"column":16},"end":{"line":55,"column":36}},"type":"binary-expr","locations":[{"start":{"line":55,"column":16},"end":{"line":55,"column":25}},{"start":{"line":55,"column":29},"end":{"line":55,"column":36}}],"line":55},"3":{"loc":{"start":{"line":129,"column":4},"end":{"line":138,"column":5}},"type":"switch","locations":[{"start":{"line":130,"column":8},"end":{"line":131,"column":34}},{"start":{"line":132,"column":8},"end":{"line":133,"column":33}},{"start":{"line":134,"column":8},"end":{"line":135,"column":38}},{"start":{"line":136,"column":8},"end":{"line":137,"column":31}}],"line":129},"4":{"loc":{"start":{"line":146,"column":15},"end":{"line":146,"column":60}},"type":"binary-expr","locations":[{"start":{"line":146,"column":15},"end":{"line":146,"column":32}},{"start":{"line":146,"column":37},"end":{"line":146,"column":59}}],"line":146}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":8,"6":8,"7":8,"8":8,"9":8,"10":8,"11":8,"12":8,"13":6,"14":6,"15":6,"16":6,"17":6,"18":6,"19":6,"20":6,"21":6,"22":6,"23":6,"24":6,"25":6,"26":6,"27":6,"28":6,"29":8,"30":8,"31":7,"32":1,"33":6,"34":6,"35":6,"36":6,"37":6,"38":6,"39":6,"40":1,"41":2,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":2,"56":2,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":0,"68":0,"69":0,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1},"f":{"0":8,"1":6,"2":1,"3":2,"4":1,"5":1,"6":1},"b":{"0":[5],"1":[7,1],"2":[8,2],"3":[0,0,0,1],"4":[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":"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