UNPKG

@node-dlc/core

Version:
1 lines 498 kB
{"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/core/lib/dlc/CETCalculator.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/core/lib/dlc/CETCalculator.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":4,"column":1}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":62}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":62}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":273}},"4":{"start":{"line":7,"column":23},"end":{"line":7,"column":63}},"5":{"start":{"line":8,"column":22},"end":{"line":8,"column":53}},"6":{"start":{"line":10,"column":4},"end":{"line":10,"column":37}},"7":{"start":{"line":10,"column":29},"end":{"line":10,"column":35}},"8":{"start":{"line":12,"column":0},"end":{"line":12,"column":36}},"9":{"start":{"line":14,"column":4},"end":{"line":18,"column":5}},"10":{"start":{"line":14,"column":17},"end":{"line":14,"column":18}},"11":{"start":{"line":15,"column":8},"end":{"line":17,"column":9}},"12":{"start":{"line":16,"column":12},"end":{"line":16,"column":33}},"13":{"start":{"line":19,"column":4},"end":{"line":19,"column":14}},"14":{"start":{"line":21,"column":0},"end":{"line":21,"column":30}},"15":{"start":{"line":23,"column":24},"end":{"line":23,"column":27}},"16":{"start":{"line":24,"column":19},"end":{"line":24,"column":21}},"17":{"start":{"line":25,"column":4},"end":{"line":29,"column":5}},"18":{"start":{"line":26,"column":8},"end":{"line":26,"column":58}},"19":{"start":{"line":27,"column":8},"end":{"line":27,"column":53}},"20":{"start":{"line":28,"column":8},"end":{"line":28,"column":20}},"21":{"start":{"line":30,"column":4},"end":{"line":30,"column":28}},"22":{"start":{"line":32,"column":0},"end":{"line":32,"column":30}},"23":{"start":{"line":34,"column":24},"end":{"line":34,"column":57}},"24":{"start":{"line":35,"column":22},"end":{"line":35,"column":53}},"25":{"start":{"line":36,"column":25},"end":{"line":36,"column":27}},"26":{"start":{"line":37,"column":4},"end":{"line":43,"column":5}},"27":{"start":{"line":37,"column":17},"end":{"line":37,"column":18}},"28":{"start":{"line":38,"column":8},"end":{"line":42,"column":18}},"29":{"start":{"line":39,"column":12},"end":{"line":39,"column":46}},"30":{"start":{"line":42,"column":12},"end":{"line":42,"column":18}},"31":{"start":{"line":44,"column":4},"end":{"line":48,"column":6}},"32":{"start":{"line":50,"column":0},"end":{"line":50,"column":40}},"33":{"start":{"line":52,"column":27},"end":{"line":52,"column":55}},"34":{"start":{"line":53,"column":26},"end":{"line":53,"column":84}},"35":{"start":{"line":53,"column":73},"end":{"line":53,"column":83}},"36":{"start":{"line":54,"column":4},"end":{"line":56,"column":5}},"37":{"start":{"line":55,"column":8},"end":{"line":55,"column":21}},"38":{"start":{"line":57,"column":22},"end":{"line":67,"column":6}},"39":{"start":{"line":58,"column":26},"end":{"line":58,"column":56}},"40":{"start":{"line":60,"column":28},"end":{"line":60,"column":46}},"41":{"start":{"line":61,"column":8},"end":{"line":61,"column":58}},"42":{"start":{"line":62,"column":23},"end":{"line":62,"column":25}},"43":{"start":{"line":63,"column":8},"end":{"line":65,"column":9}},"44":{"start":{"line":63,"column":21},"end":{"line":63,"column":26}},"45":{"start":{"line":64,"column":12},"end":{"line":64,"column":57}},"46":{"start":{"line":66,"column":8},"end":{"line":66,"column":22}},"47":{"start":{"line":68,"column":4},"end":{"line":68,"column":68}},"48":{"start":{"line":68,"column":37},"end":{"line":68,"column":41}},"49":{"start":{"line":70,"column":0},"end":{"line":70,"column":40}},"50":{"start":{"line":72,"column":27},"end":{"line":72,"column":55}},"51":{"start":{"line":73,"column":25},"end":{"line":73,"column":90}},"52":{"start":{"line":73,"column":72},"end":{"line":73,"column":89}},"53":{"start":{"line":74,"column":4},"end":{"line":76,"column":5}},"54":{"start":{"line":75,"column":8},"end":{"line":75,"column":28}},"55":{"start":{"line":77,"column":21},"end":{"line":87,"column":6}},"56":{"start":{"line":78,"column":26},"end":{"line":78,"column":55}},"57":{"start":{"line":80,"column":28},"end":{"line":80,"column":46}},"58":{"start":{"line":81,"column":8},"end":{"line":81,"column":58}},"59":{"start":{"line":82,"column":23},"end":{"line":82,"column":25}},"60":{"start":{"line":83,"column":8},"end":{"line":85,"column":9}},"61":{"start":{"line":83,"column":21},"end":{"line":83,"column":26}},"62":{"start":{"line":84,"column":12},"end":{"line":84,"column":57}},"63":{"start":{"line":86,"column":8},"end":{"line":86,"column":22}},"64":{"start":{"line":88,"column":4},"end":{"line":88,"column":76}},"65":{"start":{"line":88,"column":59},"end":{"line":88,"column":63}},"66":{"start":{"line":90,"column":0},"end":{"line":90,"column":38}},"67":{"start":{"line":92,"column":19},"end":{"line":92,"column":21}},"68":{"start":{"line":93,"column":4},"end":{"line":95,"column":5}},"69":{"start":{"line":94,"column":8},"end":{"line":94,"column":39}},"70":{"start":{"line":96,"column":4},"end":{"line":96,"column":18}},"71":{"start":{"line":98,"column":0},"end":{"line":98,"column":42}},"72":{"start":{"line":100,"column":53},"end":{"line":100,"column":96}},"73":{"start":{"line":101,"column":4},"end":{"line":120,"column":5}},"74":{"start":{"line":102,"column":34},"end":{"line":102,"column":41}},"75":{"start":{"line":103,"column":35},"end":{"line":103,"column":49}},"76":{"start":{"line":105,"column":8},"end":{"line":105,"column":30}},"77":{"start":{"line":107,"column":9},"end":{"line":120,"column":5}},"78":{"start":{"line":108,"column":23},"end":{"line":108,"column":25}},"79":{"start":{"line":109,"column":8},"end":{"line":111,"column":9}},"80":{"start":{"line":109,"column":21},"end":{"line":109,"column":56}},"81":{"start":{"line":110,"column":12},"end":{"line":110,"column":46}},"82":{"start":{"line":112,"column":8},"end":{"line":112,"column":22}},"83":{"start":{"line":115,"column":22},"end":{"line":115,"column":55}},"84":{"start":{"line":116,"column":23},"end":{"line":116,"column":68}},"85":{"start":{"line":117,"column":21},"end":{"line":117,"column":51}},"86":{"start":{"line":118,"column":26},"end":{"line":118,"column":56}},"87":{"start":{"line":119,"column":8},"end":{"line":119,"column":61}},"88":{"start":{"line":119,"column":36},"end":{"line":119,"column":59}},"89":{"start":{"line":122,"column":0},"end":{"line":122,"column":54}},"90":{"start":{"line":147,"column":4},"end":{"line":149,"column":5}},"91":{"start":{"line":148,"column":8},"end":{"line":148,"column":69}},"92":{"start":{"line":150,"column":30},"end":{"line":150,"column":62}},"93":{"start":{"line":151,"column":34},"end":{"line":159,"column":5}},"94":{"start":{"line":152,"column":30},"end":{"line":152,"column":106}},"95":{"start":{"line":152,"column":72},"end":{"line":152,"column":105}},"96":{"start":{"line":153,"column":8},"end":{"line":158,"column":10}},"97":{"start":{"line":160,"column":18},"end":{"line":160,"column":90}},"98":{"start":{"line":160,"column":27},"end":{"line":160,"column":90}},"99":{"start":{"line":161,"column":30},"end":{"line":161,"column":84}},"100":{"start":{"line":162,"column":20},"end":{"line":162,"column":110}},"101":{"start":{"line":162,"column":29},"end":{"line":162,"column":110}},"102":{"start":{"line":163,"column":19},"end":{"line":163,"column":21}},"103":{"start":{"line":165,"column":4},"end":{"line":169,"column":7}},"104":{"start":{"line":171,"column":4},"end":{"line":185,"column":5}},"105":{"start":{"line":172,"column":8},"end":{"line":176,"column":11}},"106":{"start":{"line":178,"column":8},"end":{"line":182,"column":11}},"107":{"start":{"line":184,"column":8},"end":{"line":184,"column":49}},"108":{"start":{"line":186,"column":25},"end":{"line":186,"column":41}},"109":{"start":{"line":188,"column":4},"end":{"line":295,"column":5}},"110":{"start":{"line":189,"column":42},"end":{"line":189,"column":79}},"111":{"start":{"line":191,"column":41},"end":{"line":191,"column":98}},"112":{"start":{"line":193,"column":28},"end":{"line":193,"column":130}},"113":{"start":{"line":194,"column":39},"end":{"line":194,"column":53}},"114":{"start":{"line":195,"column":28},"end":{"line":197,"column":30}},"115":{"start":{"line":199,"column":26},"end":{"line":199,"column":27}},"116":{"start":{"line":200,"column":30},"end":{"line":200,"column":54}},"117":{"start":{"line":201,"column":8},"end":{"line":294,"column":9}},"118":{"start":{"line":203,"column":12},"end":{"line":212,"column":13}},"119":{"start":{"line":205,"column":16},"end":{"line":209,"column":19}},"120":{"start":{"line":210,"column":16},"end":{"line":210,"column":36}},"121":{"start":{"line":211,"column":16},"end":{"line":211,"column":22}},"122":{"start":{"line":213,"column":38},"end":{"line":215,"column":73}},"123":{"start":{"line":216,"column":44},"end":{"line":216,"column":90}},"124":{"start":{"line":217,"column":41},"end":{"line":217,"column":119}},"125":{"start":{"line":218,"column":40},"end":{"line":218,"column":87}},"126":{"start":{"line":220,"column":12},"end":{"line":223,"column":13}},"127":{"start":{"line":222,"column":16},"end":{"line":222,"column":77}},"128":{"start":{"line":224,"column":12},"end":{"line":235,"column":13}},"129":{"start":{"line":230,"column":16},"end":{"line":230,"column":74}},"130":{"start":{"line":232,"column":16},"end":{"line":234,"column":17}},"131":{"start":{"line":233,"column":20},"end":{"line":233,"column":69}},"132":{"start":{"line":236,"column":32},"end":{"line":236,"column":76}},"133":{"start":{"line":237,"column":12},"end":{"line":245,"column":13}},"134":{"start":{"line":238,"column":16},"end":{"line":242,"column":19}},"135":{"start":{"line":243,"column":16},"end":{"line":243,"column":58}},"136":{"start":{"line":244,"column":16},"end":{"line":244,"column":22}},"137":{"start":{"line":246,"column":12},"end":{"line":271,"column":13}},"138":{"start":{"line":251,"column":16},"end":{"line":268,"column":17}},"139":{"start":{"line":252,"column":20},"end":{"line":256,"column":23}},"140":{"start":{"line":259,"column":20},"end":{"line":267,"column":23}},"141":{"start":{"line":269,"column":16},"end":{"line":269,"column":36}},"142":{"start":{"line":270,"column":16},"end":{"line":270,"column":22}},"143":{"start":{"line":272,"column":12},"end":{"line":276,"column":15}},"144":{"start":{"line":278,"column":12},"end":{"line":284,"column":13}},"145":{"start":{"line":280,"column":16},"end":{"line":280,"column":70}},"146":{"start":{"line":283,"column":16},"end":{"line":283,"column":57}},"147":{"start":{"line":285,"column":12},"end":{"line":285,"column":46}},"148":{"start":{"line":287,"column":46},"end":{"line":287,"column":70}},"149":{"start":{"line":288,"column":12},"end":{"line":288,"column":73}},"150":{"start":{"line":289,"column":12},"end":{"line":293,"column":13}},"151":{"start":{"line":291,"column":16},"end":{"line":291,"column":58}},"152":{"start":{"line":292,"column":16},"end":{"line":292,"column":22}},"153":{"start":{"line":297,"column":4},"end":{"line":301,"column":7}},"154":{"start":{"line":303,"column":4},"end":{"line":303,"column":45}},"155":{"start":{"line":305,"column":0},"end":{"line":305,"column":42}},"156":{"start":{"line":306,"column":21},"end":{"line":319,"column":1}},"157":{"start":{"line":307,"column":4},"end":{"line":318,"column":11}},"158":{"start":{"line":308,"column":21},"end":{"line":308,"column":40}},"159":{"start":{"line":309,"column":8},"end":{"line":316,"column":9}},"160":{"start":{"line":310,"column":12},"end":{"line":315,"column":13}},"161":{"start":{"line":313,"column":16},"end":{"line":313,"column":45}},"162":{"start":{"line":314,"column":16},"end":{"line":314,"column":27}},"163":{"start":{"line":317,"column":8},"end":{"line":317,"column":31}},"164":{"start":{"line":320,"column":0},"end":{"line":320,"column":36}},"165":{"start":{"line":322,"column":23},"end":{"line":322,"column":70}},"166":{"start":{"line":323,"column":16},"end":{"line":325,"column":49}},"167":{"start":{"line":326,"column":26},"end":{"line":328,"column":27}},"168":{"start":{"line":329,"column":4},"end":{"line":329,"column":54}},"169":{"start":{"line":331,"column":0},"end":{"line":331,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":56},"end":{"line":2,"column":57}},"loc":{"start":{"line":2,"column":71},"end":{"line":4,"column":1}},"line":2},"1":{"name":"zipWithIndex","decl":{"start":{"line":9,"column":9},"end":{"line":9,"column":21}},"loc":{"start":{"line":9,"column":27},"end":{"line":11,"column":1}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":19},"end":{"line":10,"column":20}},"loc":{"start":{"line":10,"column":29},"end":{"line":10,"column":35}},"line":10},"3":{"name":"dropUntil","decl":{"start":{"line":13,"column":9},"end":{"line":13,"column":18}},"loc":{"start":{"line":13,"column":32},"end":{"line":20,"column":1}},"line":13},"4":{"name":"decompose","decl":{"start":{"line":22,"column":9},"end":{"line":22,"column":18}},"loc":{"start":{"line":22,"column":41},"end":{"line":31,"column":1}},"line":22},"5":{"name":"separatePrefix","decl":{"start":{"line":33,"column":9},"end":{"line":33,"column":23}},"loc":{"start":{"line":33,"column":53},"end":{"line":49,"column":1}},"line":33},"6":{"name":"frontGroupings","decl":{"start":{"line":51,"column":9},"end":{"line":51,"column":23}},"loc":{"start":{"line":51,"column":38},"end":{"line":69,"column":1}},"line":51},"7":{"name":"(anonymous_7)","decl":{"start":{"line":53,"column":66},"end":{"line":53,"column":67}},"loc":{"start":{"line":53,"column":73},"end":{"line":53,"column":83}},"line":53},"8":{"name":"(anonymous_8)","decl":{"start":{"line":58,"column":16},"end":{"line":58,"column":17}},"loc":{"start":{"line":58,"column":26},"end":{"line":58,"column":56}},"line":58},"9":{"name":"(anonymous_9)","decl":{"start":{"line":59,"column":17},"end":{"line":59,"column":18}},"loc":{"start":{"line":59,"column":29},"end":{"line":67,"column":5}},"line":59},"10":{"name":"(anonymous_10)","decl":{"start":{"line":68,"column":30},"end":{"line":68,"column":31}},"loc":{"start":{"line":68,"column":37},"end":{"line":68,"column":41}},"line":68},"11":{"name":"backGroupings","decl":{"start":{"line":71,"column":9},"end":{"line":71,"column":22}},"loc":{"start":{"line":71,"column":37},"end":{"line":89,"column":1}},"line":71},"12":{"name":"(anonymous_12)","decl":{"start":{"line":73,"column":65},"end":{"line":73,"column":66}},"loc":{"start":{"line":73,"column":72},"end":{"line":73,"column":89}},"line":73},"13":{"name":"(anonymous_13)","decl":{"start":{"line":78,"column":16},"end":{"line":78,"column":17}},"loc":{"start":{"line":78,"column":26},"end":{"line":78,"column":55}},"line":78},"14":{"name":"(anonymous_14)","decl":{"start":{"line":79,"column":17},"end":{"line":79,"column":18}},"loc":{"start":{"line":79,"column":29},"end":{"line":87,"column":5}},"line":79},"15":{"name":"(anonymous_15)","decl":{"start":{"line":88,"column":52},"end":{"line":88,"column":53}},"loc":{"start":{"line":88,"column":59},"end":{"line":88,"column":63}},"line":88},"16":{"name":"middleGroupings","decl":{"start":{"line":91,"column":9},"end":{"line":91,"column":24}},"loc":{"start":{"line":91,"column":57},"end":{"line":97,"column":1}},"line":91},"17":{"name":"groupByIgnoringDigits","decl":{"start":{"line":99,"column":9},"end":{"line":99,"column":30}},"loc":{"start":{"line":99,"column":60},"end":{"line":121,"column":1}},"line":99},"18":{"name":"(anonymous_18)","decl":{"start":{"line":102,"column":27},"end":{"line":102,"column":28}},"loc":{"start":{"line":102,"column":34},"end":{"line":102,"column":41}},"line":102},"19":{"name":"(anonymous_19)","decl":{"start":{"line":103,"column":28},"end":{"line":103,"column":29}},"loc":{"start":{"line":103,"column":35},"end":{"line":103,"column":49}},"line":103},"20":{"name":"(anonymous_20)","decl":{"start":{"line":119,"column":29},"end":{"line":119,"column":30}},"loc":{"start":{"line":119,"column":36},"end":{"line":119,"column":59}},"line":119},"21":{"name":"splitIntoRanges","decl":{"start":{"line":144,"column":9},"end":{"line":144,"column":24}},"loc":{"start":{"line":146,"column":43},"end":{"line":304,"column":1}},"line":146},"22":{"name":"(anonymous_22)","decl":{"start":{"line":151,"column":34},"end":{"line":151,"column":35}},"loc":{"start":{"line":151,"column":47},"end":{"line":159,"column":5}},"line":151},"23":{"name":"(anonymous_23)","decl":{"start":{"line":152,"column":58},"end":{"line":152,"column":59}},"loc":{"start":{"line":152,"column":72},"end":{"line":152,"column":105}},"line":152},"24":{"name":"(anonymous_24)","decl":{"start":{"line":160,"column":18},"end":{"line":160,"column":19}},"loc":{"start":{"line":160,"column":27},"end":{"line":160,"column":90}},"line":160},"25":{"name":"(anonymous_25)","decl":{"start":{"line":162,"column":20},"end":{"line":162,"column":21}},"loc":{"start":{"line":162,"column":29},"end":{"line":162,"column":110}},"line":162},"26":{"name":"(anonymous_26)","decl":{"start":{"line":306,"column":21},"end":{"line":306,"column":22}},"loc":{"start":{"line":306,"column":34},"end":{"line":319,"column":1}},"line":306},"27":{"name":"(anonymous_27)","decl":{"start":{"line":307,"column":26},"end":{"line":307,"column":27}},"loc":{"start":{"line":307,"column":42},"end":{"line":318,"column":5}},"line":307},"28":{"name":"roundPayout","decl":{"start":{"line":321,"column":9},"end":{"line":321,"column":20}},"loc":{"start":{"line":321,"column":39},"end":{"line":330,"column":1}},"line":321}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":4,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":56},"end":{"line":4,"column":1}}],"line":2},"1":{"loc":{"start":{"line":3,"column":11},"end":{"line":3,"column":61}},"type":"cond-expr","locations":[{"start":{"line":3,"column":37},"end":{"line":3,"column":40}},{"start":{"line":3,"column":43},"end":{"line":3,"column":61}}],"line":3},"2":{"loc":{"start":{"line":3,"column":12},"end":{"line":3,"column":33}},"type":"binary-expr","locations":[{"start":{"line":3,"column":12},"end":{"line":3,"column":15}},{"start":{"line":3,"column":19},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":15,"column":8},"end":{"line":17,"column":9}},"type":"if","locations":[{"start":{"line":15,"column":8},"end":{"line":17,"column":9}},{"start":{"line":15,"column":8},"end":{"line":17,"column":9}}],"line":15},"4":{"loc":{"start":{"line":38,"column":8},"end":{"line":42,"column":18}},"type":"if","locations":[{"start":{"line":38,"column":8},"end":{"line":42,"column":18}},{"start":{"line":38,"column":8},"end":{"line":42,"column":18}}],"line":38},"5":{"loc":{"start":{"line":54,"column":4},"end":{"line":56,"column":5}},"type":"if","locations":[{"start":{"line":54,"column":4},"end":{"line":56,"column":5}},{"start":{"line":54,"column":4},"end":{"line":56,"column":5}}],"line":54},"6":{"loc":{"start":{"line":74,"column":4},"end":{"line":76,"column":5}},"type":"if","locations":[{"start":{"line":74,"column":4},"end":{"line":76,"column":5}},{"start":{"line":74,"column":4},"end":{"line":76,"column":5}}],"line":74},"7":{"loc":{"start":{"line":101,"column":4},"end":{"line":120,"column":5}},"type":"if","locations":[{"start":{"line":101,"column":4},"end":{"line":120,"column":5}},{"start":{"line":101,"column":4},"end":{"line":120,"column":5}}],"line":101},"8":{"loc":{"start":{"line":101,"column":8},"end":{"line":104,"column":38}},"type":"binary-expr","locations":[{"start":{"line":101,"column":8},"end":{"line":101,"column":21}},{"start":{"line":102,"column":9},"end":{"line":102,"column":42}},{"start":{"line":103,"column":12},"end":{"line":103,"column":50}},{"start":{"line":104,"column":12},"end":{"line":104,"column":37}}],"line":101},"9":{"loc":{"start":{"line":107,"column":9},"end":{"line":120,"column":5}},"type":"if","locations":[{"start":{"line":107,"column":9},"end":{"line":120,"column":5}},{"start":{"line":107,"column":9},"end":{"line":120,"column":5}}],"line":107},"10":{"loc":{"start":{"line":147,"column":4},"end":{"line":149,"column":5}},"type":"if","locations":[{"start":{"line":147,"column":4},"end":{"line":149,"column":5}},{"start":{"line":147,"column":4},"end":{"line":149,"column":5}}],"line":147},"11":{"loc":{"start":{"line":154,"column":12},"end":{"line":156,"column":27}},"type":"cond-expr","locations":[{"start":{"line":155,"column":18},"end":{"line":155,"column":62}},{"start":{"line":156,"column":18},"end":{"line":156,"column":27}}],"line":154},"12":{"loc":{"start":{"line":171,"column":4},"end":{"line":185,"column":5}},"type":"if","locations":[{"start":{"line":171,"column":4},"end":{"line":185,"column":5}},{"start":{"line":171,"column":4},"end":{"line":185,"column":5}}],"line":171},"13":{"loc":{"start":{"line":191,"column":41},"end":{"line":191,"column":98}},"type":"binary-expr","locations":[{"start":{"line":191,"column":41},"end":{"line":191,"column":92}},{"start":{"line":191,"column":96},"end":{"line":191,"column":98}}],"line":191},"14":{"loc":{"start":{"line":203,"column":12},"end":{"line":212,"column":13}},"type":"if","locations":[{"start":{"line":203,"column":12},"end":{"line":212,"column":13}},{"start":{"line":203,"column":12},"end":{"line":212,"column":13}}],"line":203},"15":{"loc":{"start":{"line":215,"column":22},"end":{"line":215,"column":72}},"type":"cond-expr","locations":[{"start":{"line":215,"column":36},"end":{"line":215,"column":52}},{"start":{"line":215,"column":55},"end":{"line":215,"column":72}}],"line":215},"16":{"loc":{"start":{"line":217,"column":60},"end":{"line":217,"column":118}},"type":"cond-expr","locations":[{"start":{"line":217,"column":74},"end":{"line":217,"column":94}},{"start":{"line":217,"column":97},"end":{"line":217,"column":118}}],"line":217},"17":{"loc":{"start":{"line":220,"column":12},"end":{"line":223,"column":13}},"type":"if","locations":[{"start":{"line":220,"column":12},"end":{"line":223,"column":13}},{"start":{"line":220,"column":12},"end":{"line":223,"column":13}}],"line":220},"18":{"loc":{"start":{"line":224,"column":12},"end":{"line":235,"column":13}},"type":"if","locations":[{"start":{"line":224,"column":12},"end":{"line":235,"column":13}},{"start":{"line":224,"column":12},"end":{"line":235,"column":13}}],"line":224},"19":{"loc":{"start":{"line":224,"column":16},"end":{"line":229,"column":85}},"type":"binary-expr","locations":[{"start":{"line":224,"column":17},"end":{"line":224,"column":29}},{"start":{"line":225,"column":16},"end":{"line":225,"column":42}},{"start":{"line":226,"column":16},"end":{"line":226,"column":79}},{"start":{"line":227,"column":17},"end":{"line":227,"column":28}},{"start":{"line":228,"column":20},"end":{"line":228,"column":46}},{"start":{"line":229,"column":20},"end":{"line":229,"column":84}}],"line":224},"20":{"loc":{"start":{"line":232,"column":16},"end":{"line":234,"column":17}},"type":"if","locations":[{"start":{"line":232,"column":16},"end":{"line":234,"column":17}},{"start":{"line":232,"column":16},"end":{"line":234,"column":17}}],"line":232},"21":{"loc":{"start":{"line":237,"column":12},"end":{"line":245,"column":13}},"type":"if","locations":[{"start":{"line":237,"column":12},"end":{"line":245,"column":13}},{"start":{"line":237,"column":12},"end":{"line":245,"column":13}}],"line":237},"22":{"loc":{"start":{"line":246,"column":12},"end":{"line":271,"column":13}},"type":"if","locations":[{"start":{"line":246,"column":12},"end":{"line":271,"column":13}},{"start":{"line":246,"column":12},"end":{"line":271,"column":13}}],"line":246},"23":{"loc":{"start":{"line":246,"column":16},"end":{"line":249,"column":31}},"type":"binary-expr","locations":[{"start":{"line":246,"column":16},"end":{"line":246,"column":57}},{"start":{"line":247,"column":16},"end":{"line":247,"column":43}},{"start":{"line":248,"column":16},"end":{"line":248,"column":33}},{"start":{"line":249,"column":16},"end":{"line":249,"column":31}}],"line":246},"24":{"loc":{"start":{"line":251,"column":16},"end":{"line":268,"column":17}},"type":"if","locations":[{"start":{"line":251,"column":16},"end":{"line":268,"column":17}},{"start":{"line":251,"column":16},"end":{"line":268,"column":17}}],"line":251},"25":{"loc":{"start":{"line":251,"column":20},"end":{"line":251,"column":78}},"type":"binary-expr","locations":[{"start":{"line":251,"column":20},"end":{"line":251,"column":48}},{"start":{"line":251,"column":52},"end":{"line":251,"column":78}}],"line":251},"26":{"loc":{"start":{"line":278,"column":12},"end":{"line":284,"column":13}},"type":"if","locations":[{"start":{"line":278,"column":12},"end":{"line":284,"column":13}},{"start":{"line":278,"column":12},"end":{"line":284,"column":13}}],"line":278},"27":{"loc":{"start":{"line":289,"column":12},"end":{"line":293,"column":13}},"type":"if","locations":[{"start":{"line":289,"column":12},"end":{"line":293,"column":13}},{"start":{"line":289,"column":12},"end":{"line":293,"column":13}}],"line":289},"28":{"loc":{"start":{"line":309,"column":8},"end":{"line":316,"column":9}},"type":"if","locations":[{"start":{"line":309,"column":8},"end":{"line":316,"column":9}},{"start":{"line":309,"column":8},"end":{"line":316,"column":9}}],"line":309},"29":{"loc":{"start":{"line":310,"column":12},"end":{"line":315,"column":13}},"type":"if","locations":[{"start":{"line":310,"column":12},"end":{"line":315,"column":13}},{"start":{"line":310,"column":12},"end":{"line":315,"column":13}}],"line":310},"30":{"loc":{"start":{"line":310,"column":16},"end":{"line":312,"column":44}},"type":"binary-expr","locations":[{"start":{"line":310,"column":17},"end":{"line":310,"column":49}},{"start":{"line":311,"column":16},"end":{"line":311,"column":60}},{"start":{"line":312,"column":16},"end":{"line":312,"column":44}}],"line":310},"31":{"loc":{"start":{"line":323,"column":16},"end":{"line":325,"column":49}},"type":"cond-expr","locations":[{"start":{"line":324,"column":10},"end":{"line":324,"column":32}},{"start":{"line":325,"column":10},"end":{"line":325,"column":49}}],"line":323},"32":{"loc":{"start":{"line":326,"column":26},"end":{"line":328,"column":27}},"type":"cond-expr","locations":[{"start":{"line":327,"column":10},"end":{"line":327,"column":44}},{"start":{"line":328,"column":10},"end":{"line":328,"column":27}}],"line":326}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":18,"7":80,"8":1,"9":18,"10":18,"11":31,"12":16,"13":2,"14":1,"15":29,"16":29,"17":29,"18":141,"19":141,"20":141,"21":29,"22":1,"23":12,"24":12,"25":12,"26":12,"27":12,"28":24,"29":13,"30":11,"31":12,"32":1,"33":9,"34":9,"35":14,"36":9,"37":1,"38":8,"39":34,"40":26,"41":26,"42":26,"43":26,"44":26,"45":58,"46":26,"47":8,"48":34,"49":1,"50":9,"51":9,"52":17,"53":9,"54":1,"55":8,"56":31,"57":23,"58":23,"59":23,"60":23,"61":23,"62":21,"63":23,"64":8,"65":31,"66":1,"67":9,"68":9,"69":17,"70":9,"71":1,"72":12,"73":12,"74":15,"75":4,"76":2,"77":10,"78":1,"79":1,"80":1,"81":8,"82":1,"83":9,"84":9,"85":9,"86":9,"87":9,"88":114,"89":1,"90":18,"91":0,"92":18,"93":18,"94":21,"95":34,"96":21,"97":18,"98":4999,"99":18,"100":18,"101":21,"102":18,"103":18,"104":18,"105":4,"106":4,"107":4,"108":14,"109":14,"110":21,"111":21,"112":21,"113":21,"114":21,"115":21,"116":21,"117":21,"118":4985,"119":0,"120":0,"121":0,"122":4985,"123":4985,"124":4985,"125":4985,"126":4985,"127":0,"128":4985,"129":2472,"130":2472,"131":0,"132":4985,"133":4985,"134":6,"135":6,"136":6,"137":4979,"138":14,"139":0,"140":14,"141":14,"142":14,"143":4965,"144":4965,"145":0,"146":4965,"147":4965,"148":4965,"149":4965,"150":4965,"151":0,"152":0,"153":14,"154":14,"155":1,"156":1,"157":20,"158":5075,"159":5075,"160":5055,"161":39,"162":39,"163":5036,"164":1,"165":9909,"166":9909,"167":9909,"168":9909,"169":1},"f":{"0":1,"1":18,"2":80,"3":18,"4":29,"5":12,"6":9,"7":14,"8":34,"9":26,"10":34,"11":9,"12":17,"13":31,"14":23,"15":31,"16":9,"17":12,"18":15,"19":4,"20":114,"21":18,"22":21,"23":34,"24":4999,"25":21,"26":20,"27":5075,"28":9909},"b":{"0":[1,1,1],"1":[0,1],"2":[1,1],"3":[16,15],"4":[13,11],"5":[1,8],"6":[1,8],"7":[2,10],"8":[12,11,2,2],"9":[1,9],"10":[0,18],"11":[21,0],"12":[4,14],"13":[21,13],"14":[0,4985],"15":[2253,2732],"16":[2253,2732],"17":[0,4985],"18":[2472,2513],"19":[4985,2732,2732,3665,2253,2253],"20":[0,2472],"21":[6,4979],"22":[14,4965],"23":[4979,4975,4975,4969],"24":[0,14],"25":[14,14],"26":[0,4965],"27":[0,4965],"28":[5055,20],"29":[39,5016],"30":[5055,5043,5054],"31":[9909,0],"32":[4949,4960]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/core/lib/dlc/CETCalculator.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/core/lib/dlc/CETCalculator.ts"],"names":[],"mappings":"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","sourcesContent":["import BigNumber from 'bignumber.js';\n\nimport { BigIntMath, toBigInt } from '../utils/BigIntUtils';\nimport { HyperbolaPayoutCurve } from './HyperbolaPayoutCurve';\nimport { PolynomialPayoutCurve } from './PolynomialPayoutCurve';\n\nexport function zipWithIndex<T>(arr: T[]): [T, number][] {\n return arr.map((a, i) => [a, i]);\n}\n\nexport function dropUntil<T>(data: T[], check: (_: T) => boolean): T[] {\n for (let i = 0; i < data.length; i++) {\n if (check(data[i])) {\n return data.slice(i);\n }\n }\n return [];\n}\n\nexport function decompose(\n num: bigint,\n base: number,\n numDigits: number,\n): number[] {\n let currentNumber = num;\n const digits = [];\n while (numDigits > 0) {\n digits.push(Number(currentNumber % BigInt(base)));\n currentNumber = currentNumber / BigInt(base);\n numDigits--;\n }\n return digits.reverse();\n}\n\nexport function separatePrefix(\n start: bigint,\n end: bigint,\n base: number,\n numDigits: number,\n): {\n prefixDigits: number[];\n startDigits: number[];\n endDigits: number[];\n} {\n const startDigits = decompose(start, base, numDigits);\n const endDigits = decompose(end, base, numDigits);\n\n const prefixDigits: number[] = [];\n for (let i = 0; i < startDigits.length; i++) {\n if (startDigits[i] === endDigits[i]) {\n prefixDigits.push(startDigits[i]);\n } else break;\n }\n\n return {\n prefixDigits,\n startDigits: startDigits.splice(prefixDigits.length),\n endDigits: endDigits.splice(prefixDigits.length),\n };\n}\n\nexport function frontGroupings(digits: number[], base: number): number[][] {\n const digitsReversed = Array.from(digits).reverse();\n const nonZeroDigits = dropUntil(\n zipWithIndex(digitsReversed),\n (a) => a[0] !== 0,\n );\n\n if (nonZeroDigits.length === 0) {\n return [[0]];\n }\n const fromFront = nonZeroDigits\n .filter((_, i) => i !== nonZeroDigits.length - 1)\n .flatMap(([d, i]) => {\n const fixedDigits = Array.from(digits);\n fixedDigits.length = fixedDigits.length - (i + 1);\n\n const result: number[][] = [];\n for (let n = d + 1; n < base; n++) {\n result.push([...Array.from(fixedDigits), n]);\n }\n return result;\n });\n\n return [nonZeroDigits.map((a) => a[0]).reverse(), ...fromFront];\n}\n\nexport function backGroupings(digits: number[], base: number): number[][] {\n const digitsReversed = Array.from(digits).reverse();\n const nonMaxDigits = dropUntil(\n zipWithIndex(digitsReversed),\n (a) => a[0] !== base - 1,\n );\n\n if (nonMaxDigits.length === 0) {\n return [[base - 1]];\n }\n\n const fromBack = nonMaxDigits\n .filter((_, i) => i !== nonMaxDigits.length - 1)\n .flatMap(([d, i]) => {\n const fixedDigits = Array.from(digits);\n fixedDigits.length = fixedDigits.length - (i + 1);\n\n const result: number[][] = [];\n for (let n = d - 1; n >= 0; n--) {\n result.push([...Array.from(fixedDigits), n]);\n }\n\n return result;\n });\n\n return [...fromBack.reverse(), nonMaxDigits.map((a) => a[0]).reverse()];\n}\n\nexport function middleGroupings(\n firstDigitStart: number,\n firstDigitEnd: number,\n): number[][] {\n const result = [];\n while (++firstDigitStart < firstDigitEnd) {\n result.push([firstDigitStart]);\n }\n return result;\n}\n\nexport function groupByIgnoringDigits(\n start: bigint,\n end: bigint,\n base: number,\n numDigits: number,\n): number[][] {\n const { prefixDigits, startDigits, endDigits } = separatePrefix(\n start,\n end,\n base,\n numDigits,\n );\n\n if (\n start === end ||\n (startDigits.every((n) => n === 0) &&\n endDigits.every((n) => n === base - 1) &&\n prefixDigits.length !== 0)\n ) {\n return [prefixDigits];\n } else if (prefixDigits.length === numDigits - 1) {\n const result = [];\n for (\n let i = startDigits[startDigits.length - 1];\n i <= endDigits[endDigits.length - 1];\n i++\n ) {\n result.push([...prefixDigits, i]);\n }\n\n return result;\n } else {\n const front = frontGroupings(startDigits, base);\n const middle = middleGroupings(startDigits[0], endDigits[0]);\n const back = backGroupings(endDigits, base);\n\n const groupings = [...front, ...middle, ...back];\n\n return groupings.map((g) => [...prefixDigits, ...g]);\n }\n}\n\nexport interface RoundingInterval {\n beginInterval: bigint;\n roundingMod: bigint;\n}\n\nexport type CETPayout = {\n indexFrom: bigint;\n indexTo: bigint;\n payout: bigint;\n};\n\n/**\n * Performs optimized evaluation and rounding for strictly monotonic hyperbolas on intervals (from, to)\n * e.g. hyperbolas with the form b = c = 0\n *\n * The next start of a payout range is determined by finding the outcome at the next mid-rounding payout.\n * Uses an inverse function of the hyperbola to find the outcome.\n *\n * Optimizes rounding from O(to - from) to O(totalCollateral / rounding)\n *\n *\n * Evaluates and rounds a payout_function equivalent to:\n *\n * payout_function_v0\n * num_pieces: 1\n * endpoint_0: from\n * endpoint_payout_0: fromPayout\n * extra_precision_0: 0\n * payout_curve_piece: HyperbolaPayoutCurve\n * endpoint_1: to\n * endpoint_payout_1: toPayout\n */\nexport function splitIntoRanges(\n from: bigint,\n to: bigint,\n fromPayout: bigint, // endpoint_payout\n toPayout: bigint, // endpoint_payout\n totalCollateral: bigint,\n curve: HyperbolaPayoutCurve | PolynomialPayoutCurve,\n roundingIntervals: RoundingInterval[],\n): CETPayout[] {\n if (to - from <= 0) {\n throw new Error('`to` must be strictly greater than `from`');\n }\n\n const reversedIntervals = [...roundingIntervals].reverse();\n\n const getRoundingForOutcome = (outcome: bigint): [bigint, number] => {\n const roundingIndex = reversedIntervals.findIndex(\n (interval) => interval.beginInterval <= outcome,\n );\n\n return [\n roundingIndex !== -1\n ? reversedIntervals[roundingIndex].roundingMod\n : BigInt(1),\n roundingIndex,\n ];\n };\n\n const clamp = (val: bigint) =>\n BigIntMath.clamp(BigInt(0), val, totalCollateral);\n\n const totalCollateralBN = new BigNumber(totalCollateral.toString());\n const clampBN = (val: BigNumber) =>\n BigNumber.max(0, BigNumber.min(val, totalCollateralBN));\n\n const result: CETPayout[] = [];\n\n // outcome = endpoint_0\n result.push({\n payout: fromPayout,\n indexFrom: from,\n indexTo: from,\n });\n\n // In the case of a constant payout curve (fromPayout === toPayout), we can skip the range evaluation\n if (fromPayout === toPayout) {\n result.push({\n payout: toPayout,\n indexFrom: from,\n indexTo: to,\n });\n // outcome = endpoint_1\n result.push({\n payout: toPayout,\n indexFrom: to,\n indexTo: to,\n });\n // merge neighbouring ranges with same payout\n return mergePayouts(result);\n }\n\n let currentOutcome = from + BigInt(1);\n\n // iterate over entire range of outcomes from [from, to]\n while (currentOutcome < to) {\n const [rounding, roundingIndex] = getRoundingForOutcome(currentOutcome);\n\n // either the next rounding interval, or the end of the range\n const nextFirstRoundingOutcome =\n reversedIntervals[roundingIndex - 1]?.beginInterval || to;\n\n // temporary variable to hold the current payout\n let currentPayout = new BigNumber(\n roundPayout(\n clampBN(curve.getPayout(currentOutcome)),\n rounding,\n ).toString(),\n );\n\n let currentMidRoundedOutcome = currentOutcome;\n\n const isAscending = curve\n .getPayout(nextFirstRoundingOutcome)\n .gt(currentPayout);\n\n // Add loop counter to prevent infinite loops\n let loopCounter = 0;\n const maxIterations = Number(to - from) + 1000; // Allow some extra iterations\n\n while (currentMidRoundedOutcome < nextFirstRoundingOutcome) {\n // Prevent infinite loops\n if (++loopCounter > maxIterations) {\n // Breaking out of potential infinite loop - add remaining range and exit\n result.push({\n payout: clamp(toBigInt(currentPayout)),\n indexFrom: currentMidRoundedOutcome,\n indexTo: to - BigInt(1),\n });\n currentOutcome = to;\n break;\n }\n\n const nextRoundedPayout = currentPayout\n .integerValue()\n .plus(isAscending ? Number(rounding) : -Number(rounding));\n\n const nextRoundedPayoutBigInt = toBigInt(nextRoundedPayout);\n\n const nextMidRoundedPayout = currentPayout.plus(\n isAscending ? Number(rounding) / 2 : -Number(rounding) / 2,\n );\n\n let nextMidRoundedOutcome = curve.getOutcomeForPayout(\n nextMidRoundedPayout,\n );\n\n // Handle invalid outcomes from getOutcomeForPayout\n if (nextMidRoundedOutcome < 0) {\n // If getOutcomeForPayout returns invalid value, advance manually\n nextMidRoundedOutcome = currentMidRoundedOutcome + BigInt(1);\n }\n\n if (\n (!isAscending &&\n nextMidRoundedOutcome >= 0 &&\n curve.getPayout(nextMidRoundedOutcome).lt(nextMidRoundedPayout)) ||\n (isAscending &&\n nextMidRoundedOutcome >= 0 &&\n curve.getPayout(nextMidRoundedOutcome).gte(nextMidRoundedPayout))\n ) {\n nextMidRoundedOutcome = nextMidRoundedOutcome - BigInt(1);\n // Ensure we don't go negative\n if (nextMidRoundedOutcome < 0) {\n nextMidRoundedOutcome = currentMidRoundedOutcome;\n }\n }\n\n const nextOutcome = curve.getOutcomeForPayout(nextRoundedPayout);\n\n if (nextMidRoundedOutcome >= nextFirstRoundingOutcome) {\n result.push({\n payout: clamp(toBigInt(currentPayout)),\n indexFrom: currentMidRoundedOutcome,\n indexTo: nextFirstRoundingOutcome - BigInt(1),\n });\n\n currentOutcome = nextFirstRoundingOutcome;\n break;\n }\n\n if (\n nextRoundedPayoutBigInt > totalCollateral ||\n nextRoundedPayoutBigInt < 0 ||\n nextOutcome >= to ||\n nextOutcome < 0 // undefined on curve\n ) {\n if (nextMidRoundedOutcome < from || nextMidRoundedOutcome > to) {\n result.push({\n payout: clamp(toBigInt(curren