/** * 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, getStructDecoder, getStructEncoder, type Codec, type Decoder, type Encoder, } from '@solana/kit'; import { getCargoIdDecoder, getCargoIdEncoder, getStarbaseLevelInfoDecoder, getStarbaseLevelInfoEncoder, getUpgradeStateDecoder, getUpgradeStateEncoder, type CargoId, type CargoIdArgs, type StarbaseLevelInfo, type StarbaseLevelInfoArgs, type UpgradeState, type UpgradeStateArgs, } from '.'; export type StarbaseIntermediateLevel = { info: StarbaseLevelInfo; /** * If all `deposited >= needed`, then the starbase should change level. * Will need to set deposited to 0 when the level is changed. */ upgradeState: Map; }; export type StarbaseIntermediateLevelArgs = { info: StarbaseLevelInfoArgs; /** * If all `deposited >= needed`, then the starbase should change level. * Will need to set deposited to 0 when the level is changed. */ upgradeState: Map; }; export function getStarbaseIntermediateLevelEncoder(): Encoder { return getStructEncoder([ ['info', getStarbaseLevelInfoEncoder()], [ 'upgradeState', getMapEncoder(getCargoIdEncoder(), getUpgradeStateEncoder()), ], ]); } export function getStarbaseIntermediateLevelDecoder(): Decoder { return getStructDecoder([ ['info', getStarbaseLevelInfoDecoder()], [ 'upgradeState', getMapDecoder(getCargoIdDecoder(), getUpgradeStateDecoder()), ], ]); } export function getStarbaseIntermediateLevelCodec(): Codec< StarbaseIntermediateLevelArgs, StarbaseIntermediateLevel > { return combineCodec( getStarbaseIntermediateLevelEncoder(), getStarbaseIntermediateLevelDecoder(), ); }