extern crate self as light_instruction_decoder;
use light_instruction_decoder_derive::InstructionDecoder;
#[derive(InstructionDecoder)]
#[instruction_decoder(
program_id = "compr6CUsB5m2jS4Y3831ztGSTnDpnKJTKS95d64XVq",
program_name = "Account Compression",
discriminator_size = 8
)]
pub enum AccountCompressionInstruction {
#[instruction_decoder(account_names = ["authority", "seed", "group_authority", "system_program"])]
InitializeGroupAuthority,
#[instruction_decoder(account_names = ["authority", "group_authority"])]
UpdateGroupAuthority,
#[instruction_decoder(account_names = ["authority", "program_to_be_registered", "registered_program_pda", "group_authority_pda", "system_program"])]
RegisterProgramToGroup,
#[instruction_decoder(account_names = ["authority", "registered_program_pda", "group_authority_pda", "close_recipient"])]
DeregisterProgram,
#[instruction_decoder(account_names = ["authority", "registered_program_pda", "system_program"])]
ResizeRegisteredProgramPda,
#[instruction_decoder(account_names = ["authority", "merkle_tree", "nullifier_queue", "registered_program_pda"])]
InitializeStateMerkleTreeAndNullifierQueue,
#[instruction_decoder(account_names = ["authority", "registered_program_pda", "log_wrapper", "merkle_tree", "nullifier_queue"])]
NullifyLeaves,
#[instruction_decoder(account_names = ["fee_payer", "authority", "registered_program_pda", "new_state_merkle_tree", "new_nullifier_queue", "old_state_merkle_tree", "old_nullifier_queue"])]
RolloverStateMerkleTreeAndNullifierQueue,
#[instruction_decoder(account_names = ["authority", "merkle_tree", "queue", "registered_program_pda"])]
InitializeAddressMerkleTreeAndQueue,
#[instruction_decoder(account_names = ["authority", "registered_program_pda", "queue", "merkle_tree", "log_wrapper"])]
UpdateAddressMerkleTree,
#[instruction_decoder(account_names = ["fee_payer", "authority", "registered_program_pda", "new_address_merkle_tree", "new_queue", "old_address_merkle_tree", "old_queue"])]
RolloverAddressMerkleTreeAndQueue,
#[instruction_decoder(account_names = ["authority"])]
InsertIntoQueues,
#[instruction_decoder(account_names = ["authority", "merkle_tree", "queue", "registered_program_pda"])]
InitializeBatchedStateMerkleTree,
#[instruction_decoder(account_names = ["authority", "merkle_tree", "registered_program_pda"])]
InitializeBatchedAddressMerkleTree,
#[instruction_decoder(account_names = ["authority", "registered_program_pda", "log_wrapper", "merkle_tree"])]
BatchNullify,
#[instruction_decoder(account_names = ["authority", "registered_program_pda", "log_wrapper", "merkle_tree", "output_queue"])]
BatchAppend,
#[instruction_decoder(account_names = ["authority", "registered_program_pda", "log_wrapper", "merkle_tree"])]
BatchUpdateAddressTree,
#[instruction_decoder(account_names = ["fee_payer", "authority", "registered_program_pda", "new_address_merkle_tree", "old_address_merkle_tree"])]
RolloverBatchedAddressMerkleTree,
#[instruction_decoder(account_names = ["fee_payer", "authority", "registered_program_pda", "new_state_merkle_tree", "old_state_merkle_tree", "new_output_queue", "old_output_queue"])]
RolloverBatchedStateMerkleTree,
#[instruction_decoder(account_names = ["authority", "registered_program_pda", "log_wrapper", "merkle_tree", "output_queue"])]
MigrateState,
}