/** * 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, getOptionDecoder, getOptionEncoder, getStructDecoder, getStructEncoder, type Codec, type Decoder, type Encoder, type Option, type OptionOrNullable, } from '@solana/kit'; import { getNameDecoder, getNameEncoder, getScanCostDecoder, getScanCostEncoder, getScanLootEntryDecoder, getScanLootEntryEncoder, type Name, type NameArgs, type ScanCost, type ScanCostArgs, type ScanLootEntry, type ScanLootEntryArgs, } from '.'; import { getU16F16Decoder, getU16F16Encoder, type U16F16, type U16F16Args, } from '../../fixed/codecs'; export type UpdateScanPatternArgs = { name: Option; cooldownMultiplier: Option; blankWeight: Option; blankXpValue: Option; scanCost: Option>; lootTable: Option>; }; export type UpdateScanPatternArgsArgs = { name: OptionOrNullable; cooldownMultiplier: OptionOrNullable; blankWeight: OptionOrNullable; blankXpValue: OptionOrNullable; scanCost: OptionOrNullable>; lootTable: OptionOrNullable>; }; export function getUpdateScanPatternArgsEncoder(): Encoder { return getStructEncoder([ ['name', getOptionEncoder(getNameEncoder())], ['cooldownMultiplier', getOptionEncoder(getU16F16Encoder())], ['blankWeight', getOptionEncoder(getU16F16Encoder())], ['blankXpValue', getOptionEncoder(getU16F16Encoder())], ['scanCost', getOptionEncoder(getArrayEncoder(getScanCostEncoder()))], ['lootTable', getOptionEncoder(getArrayEncoder(getScanLootEntryEncoder()))], ]); } export function getUpdateScanPatternArgsDecoder(): Decoder { return getStructDecoder([ ['name', getOptionDecoder(getNameDecoder())], ['cooldownMultiplier', getOptionDecoder(getU16F16Decoder())], ['blankWeight', getOptionDecoder(getU16F16Decoder())], ['blankXpValue', getOptionDecoder(getU16F16Decoder())], ['scanCost', getOptionDecoder(getArrayDecoder(getScanCostDecoder()))], ['lootTable', getOptionDecoder(getArrayDecoder(getScanLootEntryDecoder()))], ]); } export function getUpdateScanPatternArgsCodec(): Codec< UpdateScanPatternArgsArgs, UpdateScanPatternArgs > { return combineCodec( getUpdateScanPatternArgsEncoder(), getUpdateScanPatternArgsDecoder(), ); }