diff --git a/programs/zk-token-proof/Cargo.toml b/programs/zk-token-proof/Cargo.toml index 0d2759ad1b..c985ee2b71 100644 --- a/programs/zk-token-proof/Cargo.toml +++ b/programs/zk-token-proof/Cargo.toml @@ -14,4 +14,5 @@ getrandom = { version = "0.1", features = ["dummy"] } num-derive = "0.3" num-traits = "0.2" solana-sdk = "=1.9.0" +solana-program-runtime = "=1.9.0" spl-zk-token-sdk = { path = "../sdk" } diff --git a/programs/zk-token-proof/src/lib.rs b/programs/zk-token-proof/src/lib.rs index 4cf0307561..50d7f64503 100644 --- a/programs/zk-token-proof/src/lib.rs +++ b/programs/zk-token-proof/src/lib.rs @@ -2,16 +2,15 @@ use { bytemuck::Pod, - solana_sdk::{ - ic_msg, instruction::InstructionError, process_instruction::InvokeContext, pubkey::Pubkey, - }, + solana_program_runtime::{ic_msg, invoke_context::InvokeContext}, + solana_sdk::instruction::InstructionError, spl_zk_token_sdk::zk_token_proof_instruction::*, std::result::Result, }; fn verify( input: &[u8], - invoke_context: &mut dyn InvokeContext, + invoke_context: &mut InvokeContext, ) -> Result<(), InstructionError> { let proof = ProofInstruction::decode_data::(input).ok_or_else(|| { ic_msg!(invoke_context, "invalid proof data"); @@ -25,9 +24,9 @@ fn verify( } pub fn process_instruction( - program_id: &Pubkey, + _first_instruction_account: usize, input: &[u8], - invoke_context: &mut dyn InvokeContext, + invoke_context: &mut InvokeContext, ) -> Result<(), InstructionError> { if invoke_context.invoke_depth() != 1 { // Not supported as an inner instruction @@ -40,9 +39,7 @@ pub fn process_instruction( compute_meter.borrow_mut().consume(25_000)?; // TODO: Tune the number of units consumed? } - match ProofInstruction::decode_type(program_id, input) - .ok_or(InstructionError::InvalidInstructionData)? - { + match ProofInstruction::decode_type(input).ok_or(InstructionError::InvalidInstructionData)? { ProofInstruction::VerifyCloseAccount => { ic_msg!(invoke_context, "VerifyCloseAccount"); verify::(input, invoke_context)