acta_maker_sdk/chain/vault/
error.rs1use thiserror::Error;
2
3use super::manager::VAULT_CAPITAL_BATCH_USERS;
4
5#[derive(Debug, Clone, PartialEq, Eq, Error)]
6#[non_exhaustive]
7pub enum VaultChainError {
8 #[error("vault has an open staging slot")]
9 Staged,
10 #[error("caller is not the current vault governance authority")]
11 GovernanceAuthorityRequired,
12 #[error("HWM reset cancellation requires protocol cold authority")]
13 ColdAuthorityRequired,
14 #[error("price section is required")]
15 MissingPriceSection,
16 #[error("account owner mismatch: expected {expected}, got {actual}")]
17 Owner {
18 expected: solana_sdk::pubkey::Pubkey,
19 actual: solana_sdk::pubkey::Pubkey,
20 },
21 #[error("account data is {actual} bytes, expected at least {expected}")]
22 AccountTooShort { expected: usize, actual: usize },
23 #[error("account data is {actual} bytes, expected {expected}")]
24 AccountLength { expected: usize, actual: usize },
25 #[error("account discriminator mismatch: expected {expected}, got {actual}")]
26 Discriminator { expected: u8, actual: u8 },
27 #[error("unsupported account version {0}")]
28 Version(u8),
29 #[error("unknown vault phase {0}")]
30 UnknownPhase(u8),
31 #[error("unknown vault safety mode {0}")]
32 UnknownSafety(u8),
33 #[error("unknown token program kind {0}")]
34 UnknownTokenProgramKind(u8),
35 #[error("unknown vault accounting flags {0:#x}")]
36 UnknownAccountingFlags(u32),
37 #[error("unknown vault staged kind {0}")]
38 UnknownStagedKind(u8),
39 #[error("unknown vault staged leg {0}")]
40 UnknownStagedLeg(u8),
41 #[error("invalid price route: {0}")]
42 PriceRoute(&'static str),
43 #[error("vault second leg rolled since the manager was built; refresh it")]
44 SecondLegRolled,
45 #[error("vault batch exceeds {VAULT_CAPITAL_BATCH_USERS} users")]
46 BatchTooLarge,
47 #[error("invalid vault input: {0}")]
48 InvalidInput(&'static str),
49}