import { Layout } from '@solana/buffer-layout'; export interface EncodeDecode { decode(buffer: Buffer, offset?: number): T; encode(src: T, buffer: Buffer, offset?: number): number; } export const encodeDecode = (layout: Layout): EncodeDecode => { const decode = layout.decode.bind(layout); const encode = layout.encode.bind(layout); return { decode, encode }; };