lighthouse_sol/types/
hooked.rs1use 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>;