Function process

Source
pub fn process<'a, 'b, 'c: 'info, 'info, A: InvokeAccounts<'info> + SignerAccounts<'info> + Bumps>(
    inputs: InstructionDataInvoke,
    invoking_program: Option<Pubkey>,
    ctx: Context<'a, 'b, 'c, 'info, A>,
    cpi_context_inputs: usize,
) -> Result<()>
Expand description

Steps:

  1. Sum check
  2. Compression lamports
  3. Verify state inclusion & address non-inclusion proof
  4. Insert nullifiers
  5. Insert output compressed accounts into state Merkle tree
  6. Emit state transition event