{"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/bitcoin/lib/Amount.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/bitcoin/lib/Amount.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":24}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":34}},"3":{"start":{"line":20,"column":8},"end":{"line":20,"column":54}},"4":{"start":{"line":28,"column":8},"end":{"line":28,"column":54}},"5":{"start":{"line":36,"column":8},"end":{"line":36,"column":43}},"6":{"start":{"line":42,"column":8},"end":{"line":42,"column":39}},"7":{"start":{"line":45,"column":8},"end":{"line":45,"column":24}},"8":{"start":{"line":54,"column":8},"end":{"line":54,"column":38}},"9":{"start":{"line":55,"column":8},"end":{"line":55,"column":20}},"10":{"start":{"line":64,"column":8},"end":{"line":64,"column":56}},"11":{"start":{"line":67,"column":0},"end":{"line":67,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":19,"column":4},"end":{"line":19,"column":5}},"loc":{"start":{"line":19,"column":28},"end":{"line":21,"column":5}},"line":19},"1":{"name":"(anonymous_1)","decl":{"start":{"line":27,"column":4},"end":{"line":27,"column":5}},"loc":{"start":{"line":27,"column":25},"end":{"line":29,"column":5}},"line":27},"2":{"name":"(anonymous_2)","decl":{"start":{"line":35,"column":4},"end":{"line":35,"column":5}},"loc":{"start":{"line":35,"column":28},"end":{"line":37,"column":5}},"line":35},"3":{"name":"(anonymous_3)","decl":{"start":{"line":41,"column":4},"end":{"line":41,"column":5}},"loc":{"start":{"line":41,"column":18},"end":{"line":43,"column":5}},"line":41},"4":{"name":"(anonymous_4)","decl":{"start":{"line":44,"column":4},"end":{"line":44,"column":5}},"loc":{"start":{"line":44,"column":26},"end":{"line":46,"column":5}},"line":44},"5":{"name":"(anonymous_5)","decl":{"start":{"line":53,"column":4},"end":{"line":53,"column":5}},"loc":{"start":{"line":53,"column":15},"end":{"line":56,"column":5}},"line":53},"6":{"name":"(anonymous_6)","decl":{"start":{"line":63,"column":4},"end":{"line":63,"column":5}},"loc":{"start":{"line":63,"column":16},"end":{"line":65,"column":5}},"line":63}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":54,"4":83,"5":0,"6":20,"7":86,"8":3,"9":3,"10":3,"11":1},"f":{"0":54,"1":83,"2":0,"3":20,"4":86,"5":3,"6":3},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/bitcoin/lib/Amount.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/bitcoin/lib/Amount.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC;;;;;;;;GAQG;AACH,MAAa,MAAO,SAAQ,aAAK;IAC/B;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,QAAQ,CAAC,GAAoB;QACzC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,SAAS,CAAC,KAAY;QAClC,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;IACjC,CAAC;IAED,YAAmB,QAAgB;QACjC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACI,GAAG,CAAC,KAAY;QACrB,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,IAAI,CAAC,KAAY;QACtB,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;CACF;AA1DD,wBA0DC","sourcesContent":["import { Value } from './Value';\n\n/**\n * Represents bitcoin amount that can be converted to or from multiple\n * formats.\n *\n * The key difference between Amount and Value, is Amount can be negative\n *\n * Value should be used for Bitcoin transactions, Amount should only be used\n * for UI display, i.e. PnL\n */\nexport class Amount extends Value {\n  /**\n   * Creates a value object from amount in bitcoin, eg: 1.12345678\n   * @param num\n   */\n  public static fromBitcoin(num: number): Amount {\n    return Amount.fromSats(Math.round(num * 1e8));\n  }\n\n  /**\n   * Creates a value instance from value in satoshis where 1 satoshis\n   * equates to 0.00000001 bitcoin.\n   * @param num\n   */\n  public static fromSats(num: bigint | number): Amount {\n    return new Amount(BigInt(num) * BigInt(1e12));\n  }\n\n  /**\n   * Creates a value instance from amount\n   * @param value\n   * @returns\n   */\n  public static fromValue(value: Value): Amount {\n    return Amount.fromSats(value.sats);\n  }\n\n  /**\n   * Gets the value in bitcoin\n   */\n  public get bitcoin(): number {\n    return Number(this.sats) / 1e8;\n  }\n\n  public constructor(picoSats: bigint) {\n    super(picoSats);\n  }\n\n  /**\n   * Modifies the current instance by subtracting the other value\n   * from our existing value. Since Amount is signed, the value can\n   * be less than zero.\n   * @param other\n   */\n  public sub(other: Value): this {\n    this._picoSats -= other.psats;\n    return this;\n  }\n\n  /**\n   * Subtracts supplied value from the current value and returns a new\n   * value instance. Since Amount is signed, the value can\n   * be less than zero.\n   * @param other\n   */\n  public subn(other: Value): Amount {\n    return new Amount(this._picoSats - other.psats);\n  }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"3a3cb7603397c6042520ceaa13435b60f307c28d","contentHash":"2edc1b2ab8e740749b01eb1e22389d508afcb107e42afcb63c98b5d2774e0fae"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/bitcoin/lib/Value.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/bitcoin/lib/Value.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":23}},"2":{"start":{"line":14,"column":8},"end":{"line":14,"column":53}},"3":{"start":{"line":22,"column":8},"end":{"line":22,"column":53}},"4":{"start":{"line":32,"column":8},"end":{"line":32,"column":52}},"5":{"start":{"line":42,"column":8},"end":{"line":42,"column":52}},"6":{"start":{"line":52,"column":8},"end":{"line":52,"column":38}},"7":{"start":{"line":58,"column":8},"end":{"line":58,"column":36}},"8":{"start":{"line":64,"column":8},"end":{"line":64,"column":30}},"9":{"start":{"line":70,"column":8},"end":{"line":70,"column":44}},"10":{"start":{"line":76,"column":8},"end":{"line":76,"column":44}},"11":{"start":{"line":82,"column":8},"end":{"line":82,"column":45}},"12":{"start":{"line":88,"column":8},"end":{"line":88,"column":52}},"13":{"start":{"line":91,"column":8},"end":{"line":91,"column":34}},"14":{"start":{"line":97,"column":8},"end":{"line":97,"column":41}},"15":{"start":{"line":104,"column":8},"end":{"line":104,"column":38}},"16":{"start":{"line":105,"column":8},"end":{"line":105,"column":20}},"17":{"start":{"line":112,"column":8},"end":{"line":112,"column":55}},"18":{"start":{"line":119,"column":8},"end":{"line":121,"column":9}},"19":{"start":{"line":120,"column":12},"end":{"line":120,"column":47}},"20":{"start":{"line":122,"column":8},"end":{"line":122,"column":38}},"21":{"start":{"line":123,"column":8},"end":{"line":123,"column":20}},"22":{"start":{"line":130,"column":8},"end":{"line":132,"column":9}},"23":{"start":{"line":131,"column":12},"end":{"line":131,"column":47}},"24":{"start":{"line":133,"column":8},"end":{"line":133,"column":55}},"25":{"start":{"line":140,"column":8},"end":{"line":140,"column":44}},"26":{"start":{"line":147,"column":8},"end":{"line":147,"column":46}},"27":{"start":{"line":154,"column":8},"end":{"line":154,"column":44}},"28":{"start":{"line":161,"column":8},"end":{"line":161,"column":45}},"29":{"start":{"line":168,"column":8},"end":{"line":168,"column":45}},"30":{"start":{"line":175,"column":20},"end":{"line":175,"column":32}},"31":{"start":{"line":176,"column":8},"end":{"line":176,"column":30}},"32":{"start":{"line":179,"column":0},"end":{"line":179,"column":22}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":4},"end":{"line":13,"column":5}},"loc":{"start":{"line":13,"column":28},"end":{"line":15,"column":5}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":4},"end":{"line":21,"column":5}},"loc":{"start":{"line":21,"column":25},"end":{"line":23,"column":5}},"line":21},"2":{"name":"(anonymous_2)","decl":{"start":{"line":31,"column":4},"end":{"line":31,"column":5}},"loc":{"start":{"line":31,"column":30},"end":{"line":33,"column":5}},"line":31},"3":{"name":"(anonymous_3)","decl":{"start":{"line":41,"column":4},"end":{"line":41,"column":5}},"loc":{"start":{"line":41,"column":30},"end":{"line":43,"column":5}},"line":41},"4":{"name":"(anonymous_4)","decl":{"start":{"line":51,"column":4},"end":{"line":51,"column":5}},"loc":{"start":{"line":51,"column":29},"end":{"line":53,"column":5}},"line":51},"5":{"name":"(anonymous_5)","decl":{"start":{"line":57,"column":4},"end":{"line":57,"column":5}},"loc":{"start":{"line":57,"column":18},"end":{"line":59,"column":5}},"line":57},"6":{"name":"(anonymous_6)","decl":{"start":{"line":63,"column":4},"end":{"line":63,"column":5}},"loc":{"start":{"line":63,"column":16},"end":{"line":65,"column":5}},"line":63},"7":{"name":"(anonymous_7)","decl":{"start":{"line":69,"column":4},"end":{"line":69,"column":5}},"loc":{"start":{"line":69,"column":20},"end":{"line":71,"column":5}},"line":69},"8":{"name":"(anonymous_8)","decl":{"start":{"line":75,"column":4},"end":{"line":75,"column":5}},"loc":{"start":{"line":75,"column":16},"end":{"line":77,"column":5}},"line":75},"9":{"name":"(anonymous_9)","decl":{"start":{"line":81,"column":4},"end":{"line":81,"column":5}},"loc":{"start":{"line":81,"column":15},"end":{"line":83,"column":5}},"line":81},"10":{"name":"(anonymous_10)","decl":{"start":{"line":87,"column":4},"end":{"line":87,"column":5}},"loc":{"start":{"line":87,"column":18},"end":{"line":89,"column":5}},"line":87},"11":{"name":"(anonymous_11)","decl":{"start":{"line":90,"column":4},"end":{"line":90,"column":5}},"loc":{"start":{"line":90,"column":26},"end":{"line":92,"column":5}},"line":90},"12":{"name":"(anonymous_12)","decl":{"start":{"line":96,"column":4},"end":{"line":96,"column":5}},"loc":{"start":{"line":96,"column":12},"end":{"line":98,"column":5}},"line":96},"13":{"name":"(anonymous_13)","decl":{"start":{"line":103,"column":4},"end":{"line":103,"column":5}},"loc":{"start":{"line":103,"column":15},"end":{"line":106,"column":5}},"line":103},"14":{"name":"(anonymous_14)","decl":{"start":{"line":111,"column":4},"end":{"line":111,"column":5}},"loc":{"start":{"line":111,"column":16},"end":{"line":113,"column":5}},"line":111},"15":{"name":"(anonymous_15)","decl":{"start":{"line":118,"column":4},"end":{"line":118,"column":5}},"loc":{"start":{"line":118,"column":15},"end":{"line":124,"column":5}},"line":118},"16":{"name":"(anonymous_16)","decl":{"start":{"line":129,"column":4},"end":{"line":129,"column":5}},"loc":{"start":{"line":129,"column":16},"end":{"line":134,"column":5}},"line":129},"17":{"name":"(anonymous_17)","decl":{"start":{"line":139,"column":4},"end":{"line":139,"column":5}},"loc":{"start":{"line":139,"column":14},"end":{"line":141,"column":5}},"line":139},"18":{"name":"(anonymous_18)","decl":{"start":{"line":146,"column":4},"end":{"line":146,"column":5}},"loc":{"start":{"line":146,"column":14},"end":{"line":148,"column":5}},"line":146},"19":{"name":"(anonymous_19)","decl":{"start":{"line":153,"column":4},"end":{"line":153,"column":5}},"loc":{"start":{"line":153,"column":14},"end":{"line":155,"column":5}},"line":153},"20":{"name":"(anonymous_20)","decl":{"start":{"line":160,"column":4},"end":{"line":160,"column":5}},"loc":{"start":{"line":160,"column":15},"end":{"line":162,"column":5}},"line":160},"21":{"name":"(anonymous_21)","decl":{"start":{"line":167,"column":4},"end":{"line":167,"column":5}},"loc":{"start":{"line":167,"column":15},"end":{"line":169,"column":5}},"line":167},"22":{"name":"(anonymous_22)","decl":{"start":{"line":174,"column":4},"end":{"line":174,"column":5}},"loc":{"start":{"line":174,"column":15},"end":{"line":177,"column":5}},"line":174}},"branchMap":{"0":{"loc":{"start":{"line":119,"column":8},"end":{"line":121,"column":9}},"type":"if","locations":[{"start":{"line":119,"column":8},"end":{"line":121,"column":9}},{"start":{"line":119,"column":8},"end":{"line":121,"column":9}}],"line":119},"1":{"loc":{"start":{"line":130,"column":8},"end":{"line":132,"column":9}},"type":"if","locations":[{"start":{"line":130,"column":8},"end":{"line":132,"column":9}},{"start":{"line":130,"column":8},"end":{"line":132,"column":9}}],"line":130}},"s":{"0":1,"1":1,"2":54,"3":83,"4":30,"5":4,"6":44,"7":4,"8":72,"9":28,"10":28,"11":96,"12":40,"13":261,"14":2,"15":6,"16":6,"17":6,"18":3,"19":1,"20":2,"21":2,"22":3,"23":1,"24":2,"25":6,"26":4,"27":6,"28":6,"29":6,"30":8,"31":8,"32":1},"f":{"0":54,"1":83,"2":30,"3":4,"4":44,"5":4,"6":72,"7":28,"8":28,"9":96,"10":40,"11":261,"12":2,"13":6,"14":6,"15":3,"16":3,"17":6,"18":4,"19":6,"20":6,"21":6,"22":8},"b":{"0":[1,2],"1":[1,2]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/bitcoin/lib/Value.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/bitcoin/lib/Value.ts"],"names":[],"mappings":"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","sourcesContent":["import { ICloneable } from './ICloneable';\n\n/**\n * Represents bitcoin value that can be converted to or from multiple\n * formats.\n */\nexport class Value implements ICloneable<Value> {\n  /**\n   * Creates a value object from value in bitcoin, eg: 1.12345678\n   * @param num\n   */\n  public static fromBitcoin(num: number): Value {\n    return Value.fromSats(Math.round(num * 1e8));\n  }\n\n  /**\n   * Creates a value instance from value in satoshis where 1 satoshis\n   * equates to 0.00000001 bitcoin.\n   * @param num\n   */\n  public static fromSats(num: bigint | number): Value {\n    return new Value(BigInt(num) * BigInt(1e12));\n  }\n\n  /**\n   * Creates a value instance from value in millisatoshis, 1/1000 of a\n   * satoshi.\n   * eg: 123 millisatoshis equates to 0.123 satoshis\n   * eg: 123 millisatoshis equates to 0.00000000123 bitcoin\n   * @param num\n   */\n  public static fromMilliSats(num: bigint | number): Value {\n    return new Value(BigInt(num) * BigInt(1e9));\n  }\n\n  /**\n   * Creates a value instance from value in microsatoshis, 1/1e6 of a\n   * satoshi.\n   * eg: 123 microsatoshis equates to 0.000123 satoshis\n   * eg: 123 microsatoshis equates to 0.00000000000123 bitcoin\n   * @param num\n   */\n  public static fromMicroSats(num: bigint | number): Value {\n    return new Value(BigInt(num) * BigInt(1e6));\n  }\n\n  /**\n   * Creates a value instance from value in picosatoshis, 1/1e12 of a\n   * satoshi.\n   * eg: 123 picosatoshis equates to 0.000000000123 satoshis\n   * eg: 123 picosatoshis equates to 0.00000000000000000123 bitcoin\n   * @param num\n   */\n  public static fromPicoSats(num: bigint | number): Value {\n    return new Value(BigInt(num));\n  }\n\n  /**\n   * Generates a value instance of zero\n   */\n  public static zero(): Value {\n    return new Value(BigInt(0));\n  }\n\n  public _picoSats: bigint;\n\n  /**\n   * Gets the value in picosatoshis (1/1e12 satoshis)\n   */\n  public get psats(): bigint {\n    return this._picoSats;\n  }\n\n  /**\n   * Gets the value in millionth of satoshis (1/1e6 satoshis)\n   */\n  public get microsats(): bigint {\n    return this._picoSats / BigInt(1e6);\n  }\n\n  /**\n   * Gets the value in millisatoshis (1/1000 satoshis)\n   */\n  public get msats(): bigint {\n    return this._picoSats / BigInt(1e9);\n  }\n\n  /**\n   * Gets the value in satoshis (1/1e8 bitcoin)\n   */\n  public get sats(): bigint {\n    return this._picoSats / BigInt(1e12);\n  }\n\n  /**\n   * Gets the value in bitcoin\n   */\n  public get bitcoin(): number {\n    return Math.max(0, Number(this.sats) / 1e8);\n  }\n\n  public constructor(picoSats: bigint) {\n    this._picoSats = picoSats;\n  }\n\n  /**\n   * Clone via deep copy\n   */\n  public clone(): Value {\n    return new Value(this._picoSats);\n  }\n\n  /**\n   * Adds another value to this instance and returns this instance\n   * @param other\n   */\n  public add(other: Value): this {\n    this._picoSats += other.psats;\n    return this;\n  }\n\n  /**\n   * Adds another value to the current value and returns a new Value instance\n   * @param other\n   */\n  public addn(other: Value): Value {\n    return new Value(this._picoSats + other.psats);\n  }\n\n  /**\n   * Subtracts another value from this instance and returns this instance\n   * @param other\n   */\n  public sub(other: Value): this {\n    if (this._picoSats < other.psats) {\n      throw new Error('Value underflow');\n    }\n    this._picoSats -= other.psats;\n    return this;\n  }\n\n  /**\n   * Subtracts another value from the current value and returns a new Value instance\n   * @param other\n   */\n  public subn(other: Value): Value {\n    if (this._picoSats < other.psats) {\n      throw new Error('Value underflow');\n    }\n    return new Value(this._picoSats - other.psats);\n  }\n\n  /**\n   * Returns true if this value is less than the other value\n   * @param other\n   */\n  public lt(other: Value): boolean {\n    return this._picoSats < other.psats;\n  }\n\n  /**\n   * Returns true if this value is equal to the other value\n   * @param other\n   */\n  public eq(other: Value): boolean {\n    return this._picoSats === other.psats;\n  }\n\n  /**\n   * Returns true if this value is greater than the other value\n   * @param other\n   */\n  public gt(other: Value): boolean {\n    return this._picoSats > other.psats;\n  }\n\n  /**\n   * Returns true if this value is greater than or equal to the other value\n   * @param other\n   */\n  public gte(other: Value): boolean {\n    return this._picoSats >= other.psats;\n  }\n\n  /**\n   * Returns true if this value is less than or equal to the other value\n   * @param other\n   */\n  public lte(other: Value): boolean {\n    return this._picoSats <= other.psats;\n  }\n\n  /**\n   * Returns a string representation of the value in bitcoin format\n   * with 8 decimal places\n   */\n  public toString(): string {\n    const btc = this.bitcoin;\n    return btc.toFixed(8);\n  }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"eea180f162682e066686b760353097396681c0d6","contentHash":"8139c79467ec6ca51347bdf571620e8a56568ee2673bc02684d8f0f16516b048"}}