/** * 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, fixDecoderSize, fixEncoderSize, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, getU64Decoder, getU64Encoder, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type ReadonlyUint8Array, } from "@solana/kit"; import { getPriceDecoder, getPriceEncoder, type Price, type PriceArgs, } from "."; export type DatedPrice = { price: Price; lastUpdatedSlot: bigint; unixTimestamp: bigint; genericData: ReadonlyUint8Array; }; export type DatedPriceArgs = { price: PriceArgs; lastUpdatedSlot: number | bigint; unixTimestamp: number | bigint; genericData: ReadonlyUint8Array; }; export function getDatedPriceEncoder(): FixedSizeEncoder { return getStructEncoder([ ["price", getPriceEncoder()], ["lastUpdatedSlot", getU64Encoder()], ["unixTimestamp", getU64Encoder()], ["genericData", fixEncoderSize(getBytesEncoder(), 24)], ]); } export function getDatedPriceDecoder(): FixedSizeDecoder { return getStructDecoder([ ["price", getPriceDecoder()], ["lastUpdatedSlot", getU64Decoder()], ["unixTimestamp", getU64Decoder()], ["genericData", fixDecoderSize(getBytesDecoder(), 24)], ]); } export function getDatedPriceCodec(): FixedSizeCodec< DatedPriceArgs, DatedPrice > { return combineCodec(getDatedPriceEncoder(), getDatedPriceDecoder()); }