{"version":3,"file":"BigNumber.cjs","sources":["../../../src/types/BigNumber.ts"],"sourcesContent":["import BN from 'bn.js';\n\nimport { Opaque, Option } from '../utils/types';\nimport { assert } from '../utils/assert';\n\nexport type BigNumber = Opaque<BN, 'BigNumber'>;\nexport type BigNumberValues =\n  | number\n  | string\n  | number[]\n  | Uint8Array\n  | Buffer\n  | BN;\n\nexport const toBigNumber = (\n  value: BigNumberValues,\n  endian?: BN.Endianness\n): BigNumber => {\n  return new BN(value, endian) as BigNumber;\n};\n\nexport const toOptionBigNumber = (\n  value: Option<BigNumberValues>\n): Option<BigNumber> => {\n  return value === null ? null : toBigNumber(value);\n};\n\nexport const isBigNumber = (value: any): value is BigNumber => {\n  return value?.__opaque__ === 'BigNumber';\n};\n\nexport function assertBigNumber(value: any): asserts value is BigNumber {\n  assert(isBigNumber(value), 'Expected BigNumber type');\n}\n\nexport type Fraction = {\n  mantissa: BN;\n  decimals: number;\n};\n\nexport const toFractional = (mantissa: BN | number, decimals = 0): Fraction => {\n  if (typeof mantissa === 'number') {\n    mantissa = new BN(mantissa);\n  }\n\n  return { mantissa: mantissa as BN, decimals };\n};\n"],"names":["toBigNumber","value","endian","BN","toOptionBigNumber","isBigNumber","__opaque__","assertBigNumber","assert","toFractional","mantissa","decimals","arguments","length","undefined"],"mappings":";;;;;;;;;;;AAcO,IAAMA,WAAW,GAAG,SAAdA,WAAWA,CACtBC,KAAsB,EACtBC,MAAsB,EACR;AACd,EAAA,OAAO,IAAIC,sBAAE,CAACF,KAAK,EAAEC,MAAM,CAAC,CAAA;AAC9B,EAAC;IAEYE,iBAAiB,GAAG,SAApBA,iBAAiBA,CAC5BH,KAA8B,EACR;EACtB,OAAOA,KAAK,KAAK,IAAI,GAAG,IAAI,GAAGD,WAAW,CAACC,KAAK,CAAC,CAAA;AACnD,EAAC;IAEYI,WAAW,GAAG,SAAdA,WAAWA,CAAIJ,KAAU,EAAyB;EAC7D,OAAO,CAAAA,KAAK,KAALA,IAAAA,IAAAA,KAAK,uBAALA,KAAK,CAAEK,UAAU,MAAK,WAAW,CAAA;AAC1C,EAAC;AAEM,SAASC,eAAeA,CAACN,KAAU,EAA8B;AACtEO,EAAAA,aAAM,CAACH,WAAW,CAACJ,KAAK,CAAC,EAAE,yBAAyB,CAAC,CAAA;AACvD,CAAA;IAOaQ,YAAY,GAAG,SAAfA,YAAYA,CAAIC,QAAqB,EAA6B;AAAA,EAAA,IAA3BC,QAAQ,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,CAAC,CAAA;AAC9D,EAAA,IAAI,OAAOF,QAAQ,KAAK,QAAQ,EAAE;AAChCA,IAAAA,QAAQ,GAAG,IAAIP,sBAAE,CAACO,QAAQ,CAAC,CAAA;AAC7B,GAAA;EAEA,OAAO;AAAEA,IAAAA,QAAQ,EAAEA,QAAc;AAAEC,IAAAA,QAAQ,EAARA,QAAAA;GAAU,CAAA;AAC/C;;;;;;;;"}