use crate::define_enum;
use crate::string::CustomString;
use crate::time::UnixTimestampMicros;
mod args;
pub use args::*;
define_enum! {
enum VaultAction<Address> {
UpdateVaultConfig {
vault_address: Address,
args: UpdateVaultConfigArgs,
} = 0,
ProcessWithdrawalQueue { vault_address: Address } = 1,
WhitelistDepositor {
vault_address: Address,
user_address: Address,
} = 2,
UnwhitelistDepositor {
vault_address: Address,
user_address: Address,
} = 3,
DelegateVaultUser {
vault_address: Address,
delegate: Address,
name: CustomString,
} = 4,
RevokeVaultDelegation {
vault_address: Address,
delegate: Address,
} = 5,
DelegateVaultUserV1 {
vault_address: Address,
delegate: Address,
name: CustomString,
expires_at: Option<UnixTimestampMicros>,
flags: u32,
} = 6,
}
}