lighthouse_sol/types/
hooked.rs

1use crate::types::DataValueAssertion;
2use crate::types::{
3    AccountInfoAssertion, MintAccountAssertion, StakeAccountAssertion, TokenAccountAssertion,
4    UpgradeableLoaderStateAssertion,
5};
6
7use crate::types::compact_bytes::LEB128Vec;
8use crate::types::compact_u64::CompactU64;
9use borsh::{BorshDeserialize, BorshSerialize};
10
11#[derive(BorshSerialize, BorshDeserialize, Clone, Debug, Eq, PartialEq)]
12#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
13pub struct AccountDataAssertion {
14    pub offset: CompactU64,
15    pub assertion: DataValueAssertion,
16}
17
18pub type AccountInfoAssertions = LEB128Vec<AccountInfoAssertion>;
19pub type AccountDataAssertions = LEB128Vec<AccountDataAssertion>;
20pub type MintAccountAssertions = LEB128Vec<MintAccountAssertion>;
21pub type TokenAccountAssertions = LEB128Vec<TokenAccountAssertion>;
22pub type StakeAccountAssertions = LEB128Vec<StakeAccountAssertion>;
23pub type UpgradeableLoaderStateAssertions = LEB128Vec<UpgradeableLoaderStateAssertion>;
24pub type CompactBytes = LEB128Vec<u8>;