From 740f71e9d12cb14e83a84cd76ebc26e8015f01ad Mon Sep 17 00:00:00 2001 From: Hardhat Chad Date: Fri, 12 Jul 2024 03:53:36 +0000 Subject: [PATCH] crown instruction builder --- api/src/instruction.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/api/src/instruction.rs b/api/src/instruction.rs index b3827ec..840f277 100644 --- a/api/src/instruction.rs +++ b/api/src/instruction.rs @@ -231,6 +231,21 @@ pub fn close(signer: Pubkey) -> Instruction { } } +/// Builds a crown instruction. +pub fn crown(signer: Pubkey, current_top_staker: Pubkey) -> Instruction { + let proof_pda = Pubkey::find_program_address(&[PROOF, signer.as_ref()], &crate::id()); + Instruction { + program_id: crate::id(), + accounts: vec![ + AccountMeta::new(signer, true), + AccountMeta::new(CONFIG_ADDRESS, false), + AccountMeta::new_readonly(current_top_staker, false), + AccountMeta::new_readonly(proof_pda.0, false), + ], + data: OreInstruction::Crown.to_vec(), + } +} + /// Builds a mine instruction. pub fn mine(signer: Pubkey, bus: Pubkey, solution: Solution) -> Instruction { let proof = Pubkey::find_program_address(&[PROOF, signer.as_ref()], &crate::id()).0;