UNPKG

@raydium-io/raydium-sdk-v2

Version:

An SDK for building applications on top of Raydium.

1 lines 2.86 kB
{"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,WAAoB,EAAyB,CAClD,GAAM,GAAM,GAAI,aAAY,CAAC,EAE7B,MADa,IAAI,UAAS,CAAG,EACxB,UAAU,EAAG,EAAK,EAAK,EACrB,GAAI,YAAW,CAAG,CAC3B,CAEO,WAAoB,EAAyB,CAClD,GAAM,GAAM,GAAI,aAAY,CAAC,EAE7B,MADa,IAAI,UAAS,CAAG,EACxB,SAAS,EAAG,EAAK,EAAK,EACpB,GAAI,YAAW,CAAG,CAC3B,CAEO,WAAoB,EAAyB,CAClD,GAAM,GAAM,GAAI,aAAY,CAAC,EAE7B,MADa,IAAI,UAAS,CAAG,EACxB,UAAU,EAAG,EAAK,EAAK,EACrB,GAAI,YAAW,CAAG,CAC3B,CAEO,WAAoB,EAAyB,CAClD,GAAM,GAAM,GAAI,aAAY,CAAC,EAE7B,MADa,IAAI,UAAS,CAAG,EACxB,SAAS,EAAG,EAAK,EAAK,EACpB,GAAI,YAAW,CAAG,CAC3B,CAEO,WAAsB,EAAgB,EAAkB,CAC7D,GAAI,GAAI,EACR,OAAS,GAAI,EAAS,EAAG,GAAK,GACxB,CAAC,EAAK,MAAM,CAAC,EADc,IAE7B,IAKJ,MAAO,EACT,CAEO,WAAuB,EAAgB,EAAU,CACtD,GAAI,GAAI,EACR,OAAS,GAAI,EAAG,EAAI,GACd,CAAC,EAAK,MAAM,CAAC,EADS,IAExB,IAKJ,MAAO,EACT,CAEO,WAAgB,EAAgB,EAAmB,CACxD,OAAS,GAAI,EAAG,EAAI,EAAQ,IAC1B,GAAI,EAAK,MAAM,CAAC,EAAG,MAAO,GAE5B,MAAO,EACT,CAEO,WAA4B,EAAgB,EAAyB,CAC1E,MAAI,GAAO,EAAQ,CAAI,EAAU,KACrB,EAAa,EAAQ,CAAI,CACvC,CAEO,WAA6B,EAAgB,EAAyB,CAC3E,MAAI,GAAO,EAAQ,CAAI,EAAU,KACrB,EAAc,EAAQ,CAAI,CACxC","names":[]}