1234567891011121314151617181920212223 |
- use borsh::{BorshDeserialize, BorshSerialize};
- use solana_program::{account_info::AccountInfo, entrypoint::ProgramResult, pubkey::Pubkey};
- use crate::instructions::{close_user::close_user, create_user::create_user};
- use crate::state::user::User;
- #[derive(BorshSerialize, BorshDeserialize)]
- pub enum MyInstruction {
- CreateUser(User),
- CloseUser,
- }
- pub fn process_instruction(
- program_id: &Pubkey,
- accounts: &[AccountInfo],
- input: &[u8],
- ) -> ProgramResult {
- let instruction = MyInstruction::try_from_slice(input)?;
- match instruction {
- MyInstruction::CreateUser(data) => create_user(program_id, accounts, data),
- MyInstruction::CloseUser => close_user(accounts),
- }
- }
|