From 2620f2b4847e30651476ed6a0d8e4cc1510b066a Mon Sep 17 00:00:00 2001 From: Guillermo Bescos Date: Fri, 13 Sep 2024 16:28:32 +0100 Subject: [PATCH] go --- staking/cli/src/cli.rs | 4 ++++ staking/cli/src/instructions.rs | 20 ++++++++++++++++++++ staking/cli/src/main.rs | 2 ++ 3 files changed, 26 insertions(+) diff --git a/staking/cli/src/cli.rs b/staking/cli/src/cli.rs index 6ce0c0bd..904c687a 100644 --- a/staking/cli/src/cli.rs +++ b/staking/cli/src/cli.rs @@ -93,4 +93,8 @@ pub enum Action { #[clap(long, help = "Stake account positions")] stake_account_positions: Pubkey, }, + UpdateY { + #[clap(long, help = "New Y")] + y: u64, + }, } diff --git a/staking/cli/src/instructions.rs b/staking/cli/src/instructions.rs index 13edc4f1..a069b62f 100644 --- a/staking/cli/src/instructions.rs +++ b/staking/cli/src/instructions.rs @@ -686,3 +686,23 @@ pub fn slash( process_transaction(rpc_client, &[instruction], &[signer]); } + +pub fn update_y(rpc_client: &RpcClient, signer: &Keypair, y: u64) { + let pool_config = get_pool_config_address(); + + let accounts = integrity_pool::accounts::UpdateY { + reward_program_authority: signer.pubkey(), + pool_config, + system_program: system_program::ID, + }; + + let instruction_data = integrity_pool::instruction::UpdateY { y }; + + let instruction = Instruction { + program_id: integrity_pool::ID, + accounts: accounts.to_account_metas(None), + data: instruction_data.data(), + }; + + process_transaction(rpc_client, &[instruction], &[signer]); +} diff --git a/staking/cli/src/main.rs b/staking/cli/src/main.rs index c153fec2..4f2b50e3 100644 --- a/staking/cli/src/main.rs +++ b/staking/cli/src/main.rs @@ -16,6 +16,7 @@ use { slash, update_delegation_fee, update_reward_program_authority, + update_y, }, solana_client::rpc_client::RpcClient, solana_sdk::commitment_config::CommitmentConfig, @@ -75,5 +76,6 @@ fn main() { publisher, stake_account_positions, } => slash(&rpc_client, &keypair, &publisher, &stake_account_positions), + Action::UpdateY { y } => update_y(&rpc_client, &keypair, y), } }