/** * This code was AUTOGENERATED using the Codama library. * Please DO NOT EDIT THIS FILE, instead use visitors * to add features, then rerun Codama to update it. * * @see https://github.com/codama-idl/codama */ import { combineCodec, getAddressDecoder, getAddressEncoder, getArrayDecoder, getArrayEncoder, getMapDecoder, getMapEncoder, getStructDecoder, getStructEncoder, getU64Decoder, getU64Encoder, type Address, type Codec, type Decoder, type Encoder, } from '@solana/kit'; import { getMakerInfoDecoder, getMakerInfoEncoder, getOrderInfoDecoder, getOrderInfoEncoder, type MakerInfo, type MakerInfoArgs, type OrderInfo, type OrderInfoArgs, } from '.'; export type OrderBookSide = { /** An incrememnting counter for each order id. The first bit is set to 1 for asks. */ idCounter: bigint; makers: Map; orders: Array; }; export type OrderBookSideArgs = { /** An incrememnting counter for each order id. The first bit is set to 1 for asks. */ idCounter: number | bigint; makers: Map; orders: Array; }; export function getOrderBookSideEncoder(): Encoder { return getStructEncoder([ ['idCounter', getU64Encoder()], ['makers', getMapEncoder(getAddressEncoder(), getMakerInfoEncoder())], ['orders', getArrayEncoder(getOrderInfoEncoder())], ]); } export function getOrderBookSideDecoder(): Decoder { return getStructDecoder([ ['idCounter', getU64Decoder()], ['makers', getMapDecoder(getAddressDecoder(), getMakerInfoDecoder())], ['orders', getArrayDecoder(getOrderInfoDecoder())], ]); } export function getOrderBookSideCodec(): Codec< OrderBookSideArgs, OrderBookSide > { return combineCodec(getOrderBookSideEncoder(), getOrderBookSideDecoder()); }