/** * 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, getArrayDecoder, getArrayEncoder, getStructDecoder, getStructEncoder, getU128Decoder, getU128Encoder, getU64Decoder, getU64Encoder, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, } from "@solana/kit"; export type EmaTwap = { lastUpdateSlot: bigint; lastUpdateUnixTimestamp: bigint; currentEma1h: bigint; /** The sample tracker is a 64 bit number where each bit represents a point in time. */ updatesTracker1h: bigint; updatesTracker7d: bigint; currentEma8h: bigint; currentEma24h: bigint; updatesTracker8h: bigint; updatesTracker24h: bigint; currentEma7d: bigint; padding1: Array; }; export type EmaTwapArgs = { lastUpdateSlot: number | bigint; lastUpdateUnixTimestamp: number | bigint; currentEma1h: number | bigint; /** The sample tracker is a 64 bit number where each bit represents a point in time. */ updatesTracker1h: number | bigint; updatesTracker7d: number | bigint; currentEma8h: number | bigint; currentEma24h: number | bigint; updatesTracker8h: number | bigint; updatesTracker24h: number | bigint; currentEma7d: number | bigint; padding1: Array; }; export function getEmaTwapEncoder(): FixedSizeEncoder { return getStructEncoder([ ["lastUpdateSlot", getU64Encoder()], ["lastUpdateUnixTimestamp", getU64Encoder()], ["currentEma1h", getU128Encoder()], ["updatesTracker1h", getU64Encoder()], ["updatesTracker7d", getU64Encoder()], ["currentEma8h", getU128Encoder()], ["currentEma24h", getU128Encoder()], ["updatesTracker8h", getU64Encoder()], ["updatesTracker24h", getU64Encoder()], ["currentEma7d", getU128Encoder()], ["padding1", getArrayEncoder(getU128Encoder(), { size: 35 })], ]); } export function getEmaTwapDecoder(): FixedSizeDecoder { return getStructDecoder([ ["lastUpdateSlot", getU64Decoder()], ["lastUpdateUnixTimestamp", getU64Decoder()], ["currentEma1h", getU128Decoder()], ["updatesTracker1h", getU64Decoder()], ["updatesTracker7d", getU64Decoder()], ["currentEma8h", getU128Decoder()], ["currentEma24h", getU128Decoder()], ["updatesTracker8h", getU64Decoder()], ["updatesTracker24h", getU64Decoder()], ["currentEma7d", getU128Decoder()], ["padding1", getArrayDecoder(getU128Decoder(), { size: 35 })], ]); } export function getEmaTwapCodec(): FixedSizeCodec { return combineCodec(getEmaTwapEncoder(), getEmaTwapDecoder()); }