From af04a265dd308ac3448e4ff7396d2a2018797e3d Mon Sep 17 00:00:00 2001 From: Tyera Eulberg Date: Fri, 29 Jan 2021 15:52:26 -0700 Subject: [PATCH] Manually camelCase solana program json (#14907) (#14936) --- cli/src/cli.rs | 2 +- cli/src/program.rs | 37 ++++++++++++++++++------------------- cli/tests/program.rs | 38 +++++++++++++++++++------------------- 3 files changed, 38 insertions(+), 39 deletions(-) diff --git a/cli/src/cli.rs b/cli/src/cli.rs index 35507f301..76cc5a6c5 100644 --- a/cli/src/cli.rs +++ b/cli/src/cli.rs @@ -2729,7 +2729,7 @@ mod tests { let program_id = json .as_object() .unwrap() - .get("ProgramId") + .get("programId") .unwrap() .as_str() .unwrap(); diff --git a/cli/src/program.rs b/cli/src/program.rs index 5e6ef467c..2c654f41e 100644 --- a/cli/src/program.rs +++ b/cli/src/program.rs @@ -10,7 +10,7 @@ use bincode::serialize; use bip39::{Language, Mnemonic, MnemonicType, Seed}; use clap::{App, AppSettings, Arg, ArgMatches, SubCommand}; use log::*; -use serde_json::{self, json}; +use serde_json::{self, json, Value}; use solana_bpf_loader_program::{bpf_verifier, BPFError, ThisInstructionMeter}; use solana_clap_utils::{self, input_parsers::*, input_validators::*, keypair::*}; use solana_cli_output::display::new_spinner_progress_bar; @@ -863,7 +863,7 @@ fn process_set_authority( ) .map_err(|e| format!("Setting authority failed: {}", e))?; - Ok(option_pubkey_to_string("Authority", new_authority)) + Ok(option_pubkey_to_string("authority", new_authority).to_string()) } fn process_get_authority( @@ -889,10 +889,11 @@ fn process_get_authority( .. }) = account.state() { - Ok(option_pubkey_to_string( - "Program upgrade authority", - upgrade_authority_address, - )) + let mut value = + option_pubkey_to_string("authority", upgrade_authority_address); + let map = value.as_object_mut().unwrap(); + map.insert("accountType".to_string(), json!("program".to_string())); + Ok(value.to_string()) } else { Err("Invalid associated ProgramData account found for the program".into()) } @@ -904,10 +905,10 @@ fn process_get_authority( } } else if let Ok(UpgradeableLoaderState::Buffer { authority_address }) = account.state() { - Ok(option_pubkey_to_string( - "Buffer authority", - authority_address, - )) + let mut value = option_pubkey_to_string("authority", authority_address); + let map = value.as_object_mut().unwrap(); + map.insert("accountType".to_string(), json!("buffer".to_string())); + Ok(value.to_string()) } else { Err("Not a buffer or program account".into()) } @@ -1117,12 +1118,12 @@ fn do_process_program_write_and_deploy( if let Some(program_signers) = program_signers { Ok(json!({ - "ProgramId": format!("{}", program_signers[0].pubkey()), + "programId": format!("{}", program_signers[0].pubkey()), }) .to_string()) } else { Ok(json!({ - "Buffer": format!("{}", buffer_pubkey), + "buffer": format!("{}", buffer_pubkey), }) .to_string()) } @@ -1441,16 +1442,14 @@ fn report_ephemeral_mnemonic(words: usize, mnemonic: bip39::Mnemonic) { ); } -fn option_pubkey_to_string(tag: &str, option: Option) -> String { +fn option_pubkey_to_string(tag: &str, option: Option) -> Value { match option { Some(pubkey) => json!({ tag: format!("{:?}", pubkey), - }) - .to_string(), + }), None => json!({ - tag: "None", - }) - .to_string(), + tag: "none", + }), } } @@ -2249,7 +2248,7 @@ mod tests { let program_id = json .as_object() .unwrap() - .get("ProgramId") + .get("programId") .unwrap() .as_str() .unwrap(); diff --git a/cli/tests/program.rs b/cli/tests/program.rs index 43ef8d5d6..64c136ffe 100644 --- a/cli/tests/program.rs +++ b/cli/tests/program.rs @@ -63,7 +63,7 @@ fn test_cli_program_deploy_non_upgradeable() { let program_id_str = json .as_object() .unwrap() - .get("ProgramId") + .get("programId") .unwrap() .as_str() .unwrap(); @@ -195,7 +195,7 @@ fn test_cli_program_deploy_no_authority() { let program_id_str = json .as_object() .unwrap() - .get("ProgramId") + .get("programId") .unwrap() .as_str() .unwrap(); @@ -279,7 +279,7 @@ fn test_cli_program_deploy_with_authority() { let program_pubkey_str = json .as_object() .unwrap() - .get("ProgramId") + .get("programId") .unwrap() .as_str() .unwrap(); @@ -325,7 +325,7 @@ fn test_cli_program_deploy_with_authority() { let program_pubkey_str = json .as_object() .unwrap() - .get("ProgramId") + .get("programId") .unwrap() .as_str() .unwrap(); @@ -393,7 +393,7 @@ fn test_cli_program_deploy_with_authority() { let new_upgrade_authority_str = json .as_object() .unwrap() - .get("Authority") + .get("authority") .unwrap() .as_str() .unwrap(); @@ -444,7 +444,7 @@ fn test_cli_program_deploy_with_authority() { let authority_pubkey_str = json .as_object() .unwrap() - .get("Program upgrade authority") + .get("authority") .unwrap() .as_str() .unwrap(); @@ -465,11 +465,11 @@ fn test_cli_program_deploy_with_authority() { let new_upgrade_authority_str = json .as_object() .unwrap() - .get("Authority") + .get("authority") .unwrap() .as_str() .unwrap(); - assert_eq!(new_upgrade_authority_str, "None"); + assert_eq!(new_upgrade_authority_str, "none"); // Upgrade with no authority config.signers = vec![&keypair, &new_upgrade_authority]; @@ -504,7 +504,7 @@ fn test_cli_program_deploy_with_authority() { let program_pubkey_str = json .as_object() .unwrap() - .get("ProgramId") + .get("programId") .unwrap() .as_str() .unwrap(); @@ -532,11 +532,11 @@ fn test_cli_program_deploy_with_authority() { let authority_pubkey_str = json .as_object() .unwrap() - .get("Program upgrade authority") + .get("authority") .unwrap() .as_str() .unwrap(); - assert_eq!("None", authority_pubkey_str); + assert_eq!("none", authority_pubkey_str); } #[test] @@ -597,7 +597,7 @@ fn test_cli_program_write_buffer() { let buffer_pubkey_str = json .as_object() .unwrap() - .get("Buffer") + .get("buffer") .unwrap() .as_str() .unwrap(); @@ -630,7 +630,7 @@ fn test_cli_program_write_buffer() { let buffer_pubkey_str = json .as_object() .unwrap() - .get("Buffer") + .get("buffer") .unwrap() .as_str() .unwrap(); @@ -661,7 +661,7 @@ fn test_cli_program_write_buffer() { let authority_pubkey_str = json .as_object() .unwrap() - .get("Buffer authority") + .get("authority") .unwrap() .as_str() .unwrap(); @@ -686,7 +686,7 @@ fn test_cli_program_write_buffer() { let buffer_pubkey_str = json .as_object() .unwrap() - .get("Buffer") + .get("buffer") .unwrap() .as_str() .unwrap(); @@ -723,7 +723,7 @@ fn test_cli_program_write_buffer() { let buffer_pubkey_str = json .as_object() .unwrap() - .get("Buffer") + .get("buffer") .unwrap() .as_str() .unwrap(); @@ -751,7 +751,7 @@ fn test_cli_program_write_buffer() { let authority_pubkey_str = json .as_object() .unwrap() - .get("Buffer authority") + .get("authority") .unwrap() .as_str() .unwrap(); @@ -831,7 +831,7 @@ fn test_cli_program_set_buffer_authority() { let new_buffer_authority_str = json .as_object() .unwrap() - .get("Authority") + .get("authority") .unwrap() .as_str() .unwrap(); @@ -858,7 +858,7 @@ fn test_cli_program_set_buffer_authority() { let buffer_authority_str = json .as_object() .unwrap() - .get("Authority") + .get("authority") .unwrap() .as_str() .unwrap();