/** * 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 { addDecoderSizePrefix, addEncoderSizePrefix, combineCodec, getDiscriminatedUnionDecoder, getDiscriminatedUnionEncoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, getUtf8Decoder, getUtf8Encoder, type Codec, type Decoder, type Encoder, type GetDiscriminatedUnionVariant, type GetDiscriminatedUnionVariantContent, } from "@solana/kit"; /** Versioned arguments for the `puffRuleSet` instruction. */ export type PuffRuleSetArgs = { __kind: "V1"; /** The name of the RuleSet to grow. */ ruleSetName: string; }; export type PuffRuleSetArgsArgs = PuffRuleSetArgs; export function getPuffRuleSetArgsEncoder(): Encoder { return getDiscriminatedUnionEncoder([ [ "V1", getStructEncoder([ [ "ruleSetName", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()), ], ]), ], ]); } export function getPuffRuleSetArgsDecoder(): Decoder { return getDiscriminatedUnionDecoder([ [ "V1", getStructDecoder([ [ "ruleSetName", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()), ], ]), ], ]); } export function getPuffRuleSetArgsCodec(): Codec< PuffRuleSetArgsArgs, PuffRuleSetArgs > { return combineCodec(getPuffRuleSetArgsEncoder(), getPuffRuleSetArgsDecoder()); } // Data Enum Helpers. export function puffRuleSetArgs( kind: "V1", data: GetDiscriminatedUnionVariantContent< PuffRuleSetArgsArgs, "__kind", "V1" >, ): GetDiscriminatedUnionVariant; export function puffRuleSetArgs( kind: K, data?: Data, ) { return Array.isArray(data) ? { __kind: kind, fields: data } : { __kind: kind, ...(data ?? {}) }; } export function isPuffRuleSetArgs( kind: K, value: PuffRuleSetArgs, ): value is PuffRuleSetArgs & { __kind: K } { return value.__kind === kind; }