Spaces:
Sleeping
Sleeping
File size: 636 Bytes
6655e35 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import { Layout, u8 } from '@solana/buffer-layout';
import { encodeDecode } from './base';
export const bool = (property?: string): Layout<boolean> => {
const layout = u8(property);
const { encode, decode } = encodeDecode(layout);
const boolLayout = layout as Layout<unknown> as Layout<boolean>;
boolLayout.decode = (buffer: Buffer, offset: number) => {
const src = decode(buffer, offset);
return !!src;
};
boolLayout.encode = (bool: boolean, buffer: Buffer, offset: number) => {
const src = Number(bool);
return encode(src, buffer, offset);
};
return boolLayout;
};
|