diff --git a/cli/src/main.rs b/cli/src/main.rs index 2cd9d8e..834b69e 100644 --- a/cli/src/main.rs +++ b/cli/src/main.rs @@ -78,6 +78,9 @@ async fn main() { "set_admin" => { set_admin(&rpc, &payer).await.unwrap(); } + "set_fee_collector" => { + set_fee_collector(&rpc, &payer).await.unwrap(); + } "benchmark" => { benchmark_keccak().await.unwrap(); } @@ -227,6 +230,17 @@ async fn set_admin( Ok(()) } +async fn set_fee_collector( + rpc: &RpcClient, + payer: &solana_sdk::signer::keypair::Keypair, +) -> Result<(), anyhow::Error> { + let fee_collector = std::env::var("FEE_COLLECTOR").expect("Missing FEE_COLLECTOR env var"); + let fee_collector = Pubkey::from_str(&fee_collector).expect("Invalid FEE_COLLECTOR"); + let ix = ore_api::sdk::set_fee_collector(payer.pubkey(), fee_collector); + submit_transaction(rpc, payer, &[ix]).await?; + Ok(()) +} + async fn log_treasury(_rpc: &RpcClient) -> Result<(), anyhow::Error> { let treasury_address = ore_api::state::treasury_pda().0; println!("Treasury");