goosefx-amm-sdk
Version:
SDK for the GooseFx AMM
1 lines • 1.46 kB
Source Map (JSON)
{"version":3,"sources":["../../../../src/gfx/cpmm/curve/common.ts"],"sourcesContent":["import BN from \"bn.js\";\n\nexport const ZERO = new BN(0);\n\nexport function checkedRem(dividend: BN, divisor: BN): BN {\n if (divisor.isZero()) throw Error(\"divisor is zero\");\n\n const result = dividend.mod(divisor);\n return result;\n}\n\nexport function checkedCeilDiv(dividend: BN, rhs: BN): BN[] {\n if (rhs.isZero()) throw Error(\"rhs is zero\");\n const quotient = dividend.div(rhs);\n if (quotient.isZero()) return [quotient, rhs];\n const remainder = dividend.sub(quotient.mul(rhs));\n if (remainder.isZero()) return [quotient, rhs];\n return [quotient.add(new BN(1)), rhs];\n}\n\nexport function saturatingSub(a: BN, b: BN): BN {\n return a.gt(b) ? a.sub(b) : new BN(0);\n}\n"],"mappings":"AAAA,OAAOA,MAAQ,QAER,IAAMC,EAAO,IAAID,EAAG,CAAC,EAErB,SAASE,EAAWC,EAAcC,EAAiB,CACxD,GAAIA,EAAQ,OAAO,EAAG,MAAM,MAAM,iBAAiB,EAGnD,OADeD,EAAS,IAAIC,CAAO,CAErC,CAEO,SAASC,EAAeF,EAAcG,EAAe,CAC1D,GAAIA,EAAI,OAAO,EAAG,MAAM,MAAM,aAAa,EAC3C,IAAMC,EAAWJ,EAAS,IAAIG,CAAG,EACjC,OAAIC,EAAS,OAAO,EAAU,CAACA,EAAUD,CAAG,EAC1BH,EAAS,IAAII,EAAS,IAAID,CAAG,CAAC,EAClC,OAAO,EAAU,CAACC,EAAUD,CAAG,EACtC,CAACC,EAAS,IAAI,IAAIP,EAAG,CAAC,CAAC,EAAGM,CAAG,CACtC,CAEO,SAASE,EAAcC,EAAOC,EAAW,CAC9C,OAAOD,EAAE,GAAGC,CAAC,EAAID,EAAE,IAAIC,CAAC,EAAI,IAAIV,EAAG,CAAC,CACtC","names":["BN","ZERO","checkedRem","dividend","divisor","checkedCeilDiv","rhs","quotient","saturatingSub","a","b"]}