{"version":3,"sources":["../../../../src/raydium/clmm/utils/util.ts"],"sourcesContent":["import BN from \"bn.js\";\nexport function u16ToBytes(num: number): Uint8Array {\n  const arr = new ArrayBuffer(2);\n  const view = new DataView(arr);\n  view.setUint16(0, num, false);\n  return new Uint8Array(arr);\n}\n\nexport function i16ToBytes(num: number): Uint8Array {\n  const arr = new ArrayBuffer(2);\n  const view = new DataView(arr);\n  view.setInt16(0, num, false);\n  return new Uint8Array(arr);\n}\n\nexport function u32ToBytes(num: number): Uint8Array {\n  const arr = new ArrayBuffer(4);\n  const view = new DataView(arr);\n  view.setUint32(0, num, false);\n  return new Uint8Array(arr);\n}\n\nexport function i32ToBytes(num: number): Uint8Array {\n  const arr = new ArrayBuffer(4);\n  const view = new DataView(arr);\n  view.setInt32(0, num, false);\n  return new Uint8Array(arr);\n}\n\nexport function leadingZeros(bitNum: number, data: BN): number {\n  let i = 0;\n  for (let j = bitNum - 1; j >= 0; j--) {\n    if (!data.testn(j)) {\n      i++;\n    } else {\n      break;\n    }\n  }\n  return i;\n}\n\nexport function trailingZeros(bitNum: number, data: BN) {\n  let i = 0;\n  for (let j = 0; j < bitNum; j++) {\n    if (!data.testn(j)) {\n      i++;\n    } else {\n      break;\n    }\n  }\n  return i;\n}\n\nexport function isZero(bitNum: number, data: BN): boolean {\n  for (let i = 0; i < bitNum; i++) {\n    if (data.testn(i)) return false;\n  }\n  return true;\n}\n\nexport function mostSignificantBit(bitNum: number, data: BN): number | null {\n  if (isZero(bitNum, data)) return null;\n  else return leadingZeros(bitNum, data);\n}\n\nexport function leastSignificantBit(bitNum: number, data: BN): number | null {\n  if (isZero(bitNum, data)) return null;\n  else return trailingZeros(bitNum, data);\n}\n"],"mappings":";AACO,oBAAoB,KAAyB;AAClD,QAAM,MAAM,IAAI,YAAY,CAAC;AAC7B,QAAM,OAAO,IAAI,SAAS,GAAG;AAC7B,OAAK,UAAU,GAAG,KAAK,KAAK;AAC5B,SAAO,IAAI,WAAW,GAAG;AAC3B;AAEO,oBAAoB,KAAyB;AAClD,QAAM,MAAM,IAAI,YAAY,CAAC;AAC7B,QAAM,OAAO,IAAI,SAAS,GAAG;AAC7B,OAAK,SAAS,GAAG,KAAK,KAAK;AAC3B,SAAO,IAAI,WAAW,GAAG;AAC3B;AAEO,oBAAoB,KAAyB;AAClD,QAAM,MAAM,IAAI,YAAY,CAAC;AAC7B,QAAM,OAAO,IAAI,SAAS,GAAG;AAC7B,OAAK,UAAU,GAAG,KAAK,KAAK;AAC5B,SAAO,IAAI,WAAW,GAAG;AAC3B;AAEO,oBAAoB,KAAyB;AAClD,QAAM,MAAM,IAAI,YAAY,CAAC;AAC7B,QAAM,OAAO,IAAI,SAAS,GAAG;AAC7B,OAAK,SAAS,GAAG,KAAK,KAAK;AAC3B,SAAO,IAAI,WAAW,GAAG;AAC3B;AAEO,sBAAsB,QAAgB,MAAkB;AAC7D,MAAI,IAAI;AACR,WAAS,IAAI,SAAS,GAAG,KAAK,GAAG,KAAK;AACpC,QAAI,CAAC,KAAK,MAAM,CAAC,GAAG;AAClB;AAAA,IACF,OAAO;AACL;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEO,uBAAuB,QAAgB,MAAU;AACtD,MAAI,IAAI;AACR,WAAS,IAAI,GAAG,IAAI,QAAQ,KAAK;AAC/B,QAAI,CAAC,KAAK,MAAM,CAAC,GAAG;AAClB;AAAA,IACF,OAAO;AACL;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEO,gBAAgB,QAAgB,MAAmB;AACxD,WAAS,IAAI,GAAG,IAAI,QAAQ,KAAK;AAC/B,QAAI,KAAK,MAAM,CAAC;AAAG,aAAO;AAAA,EAC5B;AACA,SAAO;AACT;AAEO,4BAA4B,QAAgB,MAAyB;AAC1E,MAAI,OAAO,QAAQ,IAAI;AAAG,WAAO;AAAA;AAC5B,WAAO,aAAa,QAAQ,IAAI;AACvC;AAEO,6BAA6B,QAAgB,MAAyB;AAC3E,MAAI,OAAO,QAAQ,IAAI;AAAG,WAAO;AAAA;AAC5B,WAAO,cAAc,QAAQ,IAAI;AACxC;","names":[]}