diff --git a/program/src/poseidon_merkle_tree/processor.rs b/program/src/poseidon_merkle_tree/processor.rs index c5cabaf07a..741d4ae0d9 100644 --- a/program/src/poseidon_merkle_tree/processor.rs +++ b/program/src/poseidon_merkle_tree/processor.rs @@ -122,7 +122,7 @@ impl<'a, 'b> MerkleTreeProcessor<'a, 'b> { self.program_id, )?; pubkey_check( - *signer.key, + *_tmp_storage_pda.key, solana_program::pubkey::Pubkey::new(&merkle_tree_pda_data.pubkey_locked), String::from("Merkle tree locked by another account."), )?; @@ -156,7 +156,7 @@ impl<'a, 'b> MerkleTreeProcessor<'a, 'b> { || merkle_tree_pda_data.time_locked + LOCK_DURATION < current_slot { merkle_tree_pda_data.time_locked = ::get()?.slot; - merkle_tree_pda_data.pubkey_locked = signer.key.to_bytes().to_vec(); + merkle_tree_pda_data.pubkey_locked = _tmp_storage_pda.key.to_bytes().to_vec(); msg!("Locked at slot: {}", merkle_tree_pda_data.time_locked); msg!( "Locked by: {:?}", @@ -218,7 +218,7 @@ impl<'a, 'b> MerkleTreeProcessor<'a, 'b> { //checking if signer locked pubkey_check( - *signer.key, + *_tmp_storage_pda.key, solana_program::pubkey::Pubkey::new(&merkle_tree_pda_data.pubkey_locked), String::from("Merkle tree locked by other account."), )?; diff --git a/program/tests/onchain.rs b/program/tests/onchain.rs index dafe7b81eb..9c8ae44323 100644 --- a/program/tests/onchain.rs +++ b/program/tests/onchain.rs @@ -284,7 +284,7 @@ pub async fn update_merkle_tree( ) { let mut i = 0; let mut cache_index = 1267; - + for instruction_id in 0..236 { //checking merkle tree lock if instruction_id != 0 { @@ -298,7 +298,7 @@ pub async fn update_merkle_tree( MerkleTree::unpack(&merkle_tree_pda_account.data.clone()).unwrap(); assert_eq!( Pubkey::new(&merkle_tree_pda_account_data.pubkey_locked[..]), - signer_keypair.pubkey() + *tmp_storage_pda_pubkey ); let tmp_storage_pda_account = program_context .banks_client