light_sdk/
event.rs

1use anchor_lang::{AnchorDeserialize, AnchorSerialize};
2use solana_program::pubkey::Pubkey;
3
4use crate::compressed_account::OutputCompressedAccountWithPackedContext;
5
6#[derive(Debug, Clone, AnchorDeserialize, AnchorSerialize, Default, PartialEq)]
7pub struct MerkleTreeSequenceNumber {
8    pub pubkey: Pubkey,
9    pub seq: u64,
10}
11
12#[derive(Debug, Clone, AnchorDeserialize, AnchorSerialize, Default, PartialEq)]
13pub struct PublicTransactionEvent {
14    pub input_compressed_account_hashes: Vec<[u8; 32]>,
15    pub output_compressed_account_hashes: Vec<[u8; 32]>,
16    pub output_compressed_accounts: Vec<OutputCompressedAccountWithPackedContext>,
17    pub output_leaf_indices: Vec<u32>,
18    pub sequence_numbers: Vec<MerkleTreeSequenceNumber>,
19    pub relay_fee: Option<u64>,
20    pub is_compress: bool,
21    pub compress_or_decompress_lamports: Option<u64>,
22    pub pubkey_array: Vec<Pubkey>,
23    pub message: Option<Vec<u8>>,
24}