#[repr(u32)]pub enum DojosError {
Show 50 variants
InsufficientPayment = 0,
DojoAlreadyInitialized = 1,
InvalidSlot = 2,
SlotOccupied = 3,
InsufficientChakra = 4,
InsufficientOre = 5,
InsufficientShards = 6,
BarracksUpgradeCooldown = 7,
ForgeUpgradeCooldown = 8,
InvalidMerge = 9,
InvalidMergeRarity = 10,
InvalidPrestigeUpgrade = 11,
InvalidLevelUp = 12,
EmissionCapReached = 13,
InsufficientTreasuryBalance = 14,
UnauthorizedKeeper = 15,
GenesisNotSet = 16,
GameNotLaunched = 17,
InvalidEntropyVar = 18,
UnauthorizedAdmin = 19,
TaskNotCompleted = 20,
TaskAlreadyClaimed = 21,
ShogunNotAssigned = 22,
NoReferralPending = 23,
FlashSaleDailyLimitReached = 24,
UnassignNotAllowed = 25,
ShogunAlreadySeated = 26,
SlotEmpty = 27,
ShogunAccountFull = 28,
TreasuryNotOwnedByProgram = 29,
NoForgeCooldownToClear = 30,
MergeNotImplemented = 31,
InvalidBattleTarget = 32,
BattleCooldown = 33,
BattleTargetImmune = 34,
BattleDuelLimit = 35,
BattleSelfTarget = 36,
InvalidChampion = 37,
ChampionChangeCooldown = 38,
ChampionChangeLockedAfterBattle = 39,
DineBattleMissing = 40,
NoXpToClaim = 41,
InsufficientXpRewardPool = 42,
InvalidXpTotals = 43,
XpClaimTooSmall = 44,
DojoNotInitialized = 45,
StakeVestingFull = 46,
StakeVestingLocked = 47,
BattleChakraDepleted = 48,
ScenesDisabled = 49,
}Variants§
InsufficientPayment = 0
DojoAlreadyInitialized = 1
InvalidSlot = 2
SlotOccupied = 3
InsufficientChakra = 4
InsufficientOre = 5
InsufficientShards = 6
BarracksUpgradeCooldown = 7
ForgeUpgradeCooldown = 8
InvalidMerge = 9
InvalidMergeRarity = 10
InvalidPrestigeUpgrade = 11
InvalidLevelUp = 12
EmissionCapReached = 13
InsufficientTreasuryBalance = 14
GenesisNotSet = 16
GameNotLaunched = 17
InvalidEntropyVar = 18
TaskNotCompleted = 20
TaskAlreadyClaimed = 21
ShogunNotAssigned = 22
NoReferralPending = 23
FlashSaleDailyLimitReached = 24
UnassignNotAllowed = 25
Unassign only allowed when replacing with another shogun via replace.
ShogunAlreadySeated = 26
Shogun already seated; use replace_shogun to swap.
SlotEmpty = 27
Slot empty; use seat_shogun for empty slots.
ShogunAccountFull = 28
Shogun account is full (MAX_SHOGUN_ACCOUNT_SIZE reached).
TreasuryNotOwnedByProgram = 29
Treasury PDA must be owned by this program (re-initialize if redeployed).
NoForgeCooldownToClear = 30
Forge upgrade cooldown already ended; nothing to clear.
MergeNotImplemented = 31
Merge not yet implemented for compression (TODO).
InvalidBattleTarget = 32
Battle: defender owner / dojo mismatch.
BattleCooldown = 33
Battle: attacker cooldown (30 min).
BattleTargetImmune = 34
Battle: defender targeted within immunity window (1h).
BattleDuelLimit = 35
Battle: max duels per 24h rolling window.
BattleSelfTarget = 36
Battle: cannot attack your own dojo.
InvalidChampion = 37
PvP champion slot empty or out of range.
ChampionChangeCooldown = 38
Champion change on cooldown (12h between changes after first).
ChampionChangeLockedAfterBattle = 39
Cannot change champion until battle-initiation cooldown elapses.
DineBattleMissing = 40
Dine requires Battle PDA (starter pack / init).
NoXpToClaim = 41
No XP to claim (dojo.xp is zero).
InsufficientXpRewardPool = 42
xp_reward_pool is empty.
InvalidXpTotals = 43
Treasury total_xp inconsistent with claim (should not happen).
XpClaimTooSmall = 44
Proportional XP SOL payout rounded to zero; pool too small vs. weight.
DojoNotInitialized = 45
Staking XP requires an initialized Dojo (buy starter pack first).
StakeVestingFull = 46
S2P: all 8 vesting tranche slots are full; withdraw or wait.
StakeVestingLocked = 47
S2P: withdraw amount exceeds unlocked (vested) DOJO.
BattleChakraDepleted = 48
PvP: attacker champion has 0 chakra — dine to restore (Fren: can’t attack while “unfed”).
ScenesDisabled = 49
Scenes disabled in crate::state::Config — admin must enable.
Trait Implementations§
Source§impl Clone for DojosError
impl Clone for DojosError
Source§fn clone(&self) -> DojosError
fn clone(&self) -> DojosError
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DojosError
impl Debug for DojosError
Source§impl From<DojosError> for ProgramError
impl From<DojosError> for ProgramError
Source§fn from(e: DojosError) -> Self
fn from(e: DojosError) -> Self
Source§impl From<DojosError> for u32
impl From<DojosError> for u32
Source§fn from(enum_value: DojosError) -> Self
fn from(enum_value: DojosError) -> Self
Source§impl PartialEq for DojosError
impl PartialEq for DojosError
impl Copy for DojosError
impl Eq for DojosError
impl StructuralPartialEq for DojosError
Auto Trait Implementations§
impl Freeze for DojosError
impl RefUnwindSafe for DojosError
impl Send for DojosError
impl Sync for DojosError
impl Unpin for DojosError
impl UnsafeUnpin for DojosError
impl UnwindSafe for DojosError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more