/** * 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, type Codec, type Decoder, type Encoder, } from '@solana/kit'; import { getFactionDecoder, getFactionEncoder, type Faction, type FactionArgs, } from '@staratlas/dev-profile-faction'; import { getBuildingTagDecoder, getBuildingTagEncoder, getLocationTagDecoder, getLocationTagEncoder, getStarbaseLevelDecoder, getStarbaseLevelEncoder, getStarbaseMaxLevelSetDecoder, getStarbaseMaxLevelSetEncoder, type BuildingTag, type BuildingTagArgs, type LocationTag, type LocationTagArgs, type StarbaseLevel, type StarbaseLevelArgs, type StarbaseMaxLevelSet, type StarbaseMaxLevelSetArgs, } from '.'; /** Struct for data input to Register `Starbase` */ export type RegisterStarbaseArgs = { /** The index representing the level of the `Starbase` in the game variables. */ starbaseLevel: StarbaseLevel; localMarketEnableLevel: StarbaseLevel; repairEnableLevel: StarbaseLevel; starbaseMaxLevel: StarbaseMaxLevelSet; locationTags: Array; buildingTags: Array; /** The `Starbase` faction */ faction: Faction; }; export type RegisterStarbaseArgsArgs = { /** The index representing the level of the `Starbase` in the game variables. */ starbaseLevel: StarbaseLevelArgs; localMarketEnableLevel: StarbaseLevelArgs; repairEnableLevel: StarbaseLevelArgs; starbaseMaxLevel: StarbaseMaxLevelSetArgs; locationTags: Array; buildingTags: Array; /** The `Starbase` faction */ faction: FactionArgs; }; export function getRegisterStarbaseArgsEncoder(): Encoder { return getStructEncoder([ ['starbaseLevel', getStarbaseLevelEncoder()], ['localMarketEnableLevel', getStarbaseLevelEncoder()], ['repairEnableLevel', getStarbaseLevelEncoder()], ['starbaseMaxLevel', getStarbaseMaxLevelSetEncoder()], ['locationTags', getArrayEncoder(getLocationTagEncoder())], ['buildingTags', getArrayEncoder(getBuildingTagEncoder())], ['faction', getFactionEncoder()], ]); } export function getRegisterStarbaseArgsDecoder(): Decoder { return getStructDecoder([ ['starbaseLevel', getStarbaseLevelDecoder()], ['localMarketEnableLevel', getStarbaseLevelDecoder()], ['repairEnableLevel', getStarbaseLevelDecoder()], ['starbaseMaxLevel', getStarbaseMaxLevelSetDecoder()], ['locationTags', getArrayDecoder(getLocationTagDecoder())], ['buildingTags', getArrayDecoder(getBuildingTagDecoder())], ['faction', getFactionDecoder()], ]); } export function getRegisterStarbaseArgsCodec(): Codec< RegisterStarbaseArgsArgs, RegisterStarbaseArgs > { return combineCodec( getRegisterStarbaseArgsEncoder(), getRegisterStarbaseArgsDecoder(), ); }