From 2ee0c4898043d7a2737c501c8b41cba75e80ac1e Mon Sep 17 00:00:00 2001 From: Jack May Date: Tue, 26 May 2020 19:32:19 -0700 Subject: [PATCH] Program address nits (#10261) automerge --- sdk/src/pubkey.rs | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/sdk/src/pubkey.rs b/sdk/src/pubkey.rs index b103cc0894..8a5ac46a6c 100644 --- a/sdk/src/pubkey.rs +++ b/sdk/src/pubkey.rs @@ -1,5 +1,5 @@ use crate::{ - hash::{hashv, Hasher}, + hash::{hash, hashv, Hasher}, program_utils::DecodeError, }; use num_derive::{FromPrimitive, ToPrimitive}; @@ -84,7 +84,10 @@ impl Pubkey { )) } - pub fn create_program_address(seeds: &[&str], owner: &Pubkey) -> Result { + pub fn create_program_address( + seeds: &[&str], + program_id: &Pubkey, + ) -> Result { let mut hasher = Hasher::default(); for seed in seeds.iter() { if seed.len() > MAX_SEED_LEN { @@ -92,9 +95,9 @@ impl Pubkey { } hasher.hash(seed.as_ref()); } - hasher.hashv(&[owner.as_ref(), "ProgramDerivedAddress".as_ref()]); + hasher.hashv(&[program_id.as_ref(), "ProgramDerivedAddress".as_ref()]); - Ok(Pubkey::new(hashv(&[hasher.result().as_ref()]).as_ref())) + Ok(Pubkey::new(hash(hasher.result().as_ref()).as_ref())) } #[cfg(not(feature = "program"))] @@ -242,7 +245,7 @@ mod tests { fn test_create_program_address() { let exceeded_seed = from_utf8(&[127; MAX_SEED_LEN + 1]).unwrap(); let max_seed = from_utf8(&[0; MAX_SEED_LEN]).unwrap(); - let program_id = Pubkey::new(b"BPFLoader11111111111111111111111"); + let program_id = Pubkey::from_str("BPFLoader1111111111111111111111111111111111").unwrap(); assert_eq!( Pubkey::create_program_address(&[exceeded_seed], &program_id), @@ -255,19 +258,19 @@ mod tests { assert!(Pubkey::create_program_address(&[max_seed], &Pubkey::new_rand(),).is_ok()); assert_eq!( Pubkey::create_program_address(&[""], &program_id), - Ok("FXjJsFsMXM8LFXynZvEkED7yECADnaEgAzWD6yyg91QG" + Ok("CsdSsqp6Upkh2qajhZMBM8xT4GAyDNSmcV37g4pN8rsc" .parse() .unwrap()) ); assert_eq!( Pubkey::create_program_address(&["☉"], &program_id), - Ok("MAuKBzPvme5QmCNALp5iAEasZeazkpRyCZbwtJVkJEG" + Ok("A8mYnN8Pfx7Nn6f8RoQgsPNtAGAWmmKSBCDfyDvE6sXF" .parse() .unwrap()) ); assert_eq!( Pubkey::create_program_address(&["Talking", "Squirrels"], &program_id), - Ok("3beXgJ9MfstiGfzav45bicJ7ygiwUEoCfsM4W94EuRii" + Ok("CawYq8Rmj4JRR992wVnGEFUjMEkmtmcFgEL4iS1qPczu" .parse() .unwrap()) );