@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
40 lines (33 loc) • 909 B
text/typescript
import BN from "bn.js";
export function u16ToBytes(num: number): Buffer {
const buf = Buffer.alloc(2);
buf.writeUInt16LE(num);
return buf;
}
export function u16ToBytesBE(num: number): Buffer {
const buf = Buffer.alloc(2);
buf.writeUInt16BE(num);
return buf;
}
export function i32ToBytes(num: number): Buffer {
const buf = Buffer.alloc(4);
buf.writeInt32LE(num);
return buf;
}
export function i32ToBytesBE(num: number): Buffer {
const buf = Buffer.alloc(4);
buf.writeInt32BE(num);
return buf;
}
export function u64ToBytes(num: BN | number | bigint): Buffer {
if (typeof num === "number" || typeof num === "bigint") {
num = new BN(num.toString());
}
return num.toArrayLike(Buffer, "be", 8);
}
export function u8ToBytes(num: number): Uint8Array {
const arr = new ArrayBuffer(1);
const view = new DataView(arr);
view.setUint8(0, num);
return new Uint8Array(arr);
}