2024-03-07 05:59:05 -08:00
|
|
|
use anchor_lang::prelude::*;
|
|
|
|
|
|
|
|
use crate::accounts_ix::*;
|
|
|
|
use crate::error::MangoError;
|
|
|
|
use crate::state::*;
|
|
|
|
|
2024-03-11 02:45:53 -07:00
|
|
|
pub fn sequence_check(ctx: Context<SequenceCheck>, expected_sequence_number: u8) -> Result<()> {
|
2024-03-07 05:59:05 -08:00
|
|
|
let mut account = ctx.accounts.account.load_full_mut()?;
|
|
|
|
|
|
|
|
require_eq!(
|
|
|
|
expected_sequence_number,
|
|
|
|
account.fixed.sequence_number,
|
|
|
|
MangoError::InvalidSequenceNumber
|
|
|
|
);
|
|
|
|
|
|
|
|
account.fixed.sequence_number = account.fixed.sequence_number.wrapping_add(1);
|
|
|
|
Ok(())
|
|
|
|
}
|