/** * 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, getMapDecoder, getMapEncoder, getSetDecoder, getSetEncoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, type Codec, type Decoder, type Encoder, } from '@solana/kit'; import { getCargoIdDecoder, getCargoIdEncoder, getCharacterModifierInputDecoder, getCharacterModifierInputEncoder, getNameDecoder, getNameEncoder, getResearchNodeIdDecoder, getResearchNodeIdEncoder, getResearchTagDecoder, getResearchTagEncoder, getXpCategoryDecoder, getXpCategoryEncoder, getXpCostDecoder, getXpCostEncoder, type CargoId, type CargoIdArgs, type CharacterModifierInput, type CharacterModifierInputArgs, type Name, type NameArgs, type ResearchNodeId, type ResearchNodeIdArgs, type ResearchTag, type ResearchTagArgs, type XpCategory, type XpCategoryArgs, type XpCost, type XpCostArgs, } from '.'; export type UpdateResearchNodeInput = { id: ResearchNodeId; name: Name; atlasCost: bigint; maxLevel: number; costGrowthBps: number; cargoCost: Map; requiredTags: Set; xpCost: Map; modifier: CharacterModifierInput; }; export type UpdateResearchNodeInputArgs = { id: ResearchNodeIdArgs; name: NameArgs; atlasCost: number | bigint; maxLevel: number; costGrowthBps: number; cargoCost: Map; requiredTags: Set; xpCost: Map; modifier: CharacterModifierInputArgs; }; export function getUpdateResearchNodeInputEncoder(): Encoder { return getStructEncoder([ ['id', getResearchNodeIdEncoder()], ['name', getNameEncoder()], ['atlasCost', getU64Encoder()], ['maxLevel', getU32Encoder()], ['costGrowthBps', getU32Encoder()], ['cargoCost', getMapEncoder(getCargoIdEncoder(), getU64Encoder())], ['requiredTags', getSetEncoder(getResearchTagEncoder())], ['xpCost', getMapEncoder(getXpCategoryEncoder(), getXpCostEncoder())], ['modifier', getCharacterModifierInputEncoder()], ]); } export function getUpdateResearchNodeInputDecoder(): Decoder { return getStructDecoder([ ['id', getResearchNodeIdDecoder()], ['name', getNameDecoder()], ['atlasCost', getU64Decoder()], ['maxLevel', getU32Decoder()], ['costGrowthBps', getU32Decoder()], ['cargoCost', getMapDecoder(getCargoIdDecoder(), getU64Decoder())], ['requiredTags', getSetDecoder(getResearchTagDecoder())], ['xpCost', getMapDecoder(getXpCategoryDecoder(), getXpCostDecoder())], ['modifier', getCharacterModifierInputDecoder()], ]); } export function getUpdateResearchNodeInputCodec(): Codec< UpdateResearchNodeInputArgs, UpdateResearchNodeInput > { return combineCodec( getUpdateResearchNodeInputEncoder(), getUpdateResearchNodeInputDecoder(), ); }