From 4bdecbb1527f75cc068a603c2e8aafabd42d2576 Mon Sep 17 00:00:00 2001 From: Hardhat Chad Date: Tue, 15 Jul 2025 16:38:23 -0700 Subject: [PATCH] update sdk --- api/src/sdk.rs | 14 ++++++++++++-- program/src/log.rs | 2 -- program/src/mine.rs | 4 ++-- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/api/src/sdk.rs b/api/src/sdk.rs index 85f76f6..0f7ba3b 100644 --- a/api/src/sdk.rs +++ b/api/src/sdk.rs @@ -117,21 +117,31 @@ pub fn program_log( ) } -pub fn mine(signer: Pubkey, id: u64, amount: u64) -> Instruction { +// let [signer_info, authority_info, block_info, commitment_info, market_info, miner_info, mint_hash_info, mint_ore_info, permit_info, recipient_info, treasury_info, system_program, token_program, slot_hashes_sysvar, ore_program] = + +pub fn mine(signer: Pubkey, authority: Pubkey, id: u64, amount: u64) -> Instruction { let block_adddress = block_pda(id).0; + let commitment_address = commitment_pda(id).0; let market_address = market_pda(id).0; let base_mint_address = mint_pda(id).0; let miner_address = miner_pda(signer).0; + let permit_address = permit_pda(signer, id).0; let sender = get_associated_token_address(&signer, &base_mint_address); + let recipient = get_associated_token_address(&authority, &MINT_ADDRESS); Instruction { program_id: crate::ID, accounts: vec![ AccountMeta::new(signer, true), + AccountMeta::new(authority, false), AccountMeta::new(block_adddress, false), + AccountMeta::new(commitment_address, false), AccountMeta::new(market_address, false), AccountMeta::new(miner_address, false), + AccountMeta::new(base_mint_address, false), AccountMeta::new(MINT_ADDRESS, false), - AccountMeta::new(sender, false), + AccountMeta::new(permit_address, false), + AccountMeta::new(recipient, false), + AccountMeta::new(TREASURY_ADDRESS, false), AccountMeta::new_readonly(system_program::ID, false), AccountMeta::new_readonly(spl_token::ID, false), AccountMeta::new_readonly(crate::ID, false), diff --git a/program/src/log.rs b/program/src/log.rs index 9f81c24..ea60d55 100644 --- a/program/src/log.rs +++ b/program/src/log.rs @@ -1,5 +1,4 @@ use ore_api::prelude::*; -use solana_program::log::sol_log; use steel::*; /// No-op, use instruction data for logging w/o truncation. @@ -7,7 +6,6 @@ pub fn process_log(accounts: &[AccountInfo<'_>], data: &[u8]) -> ProgramResult { // Load data let block_id_bytes = data[..8].try_into().unwrap(); let block_id = u64::from_le_bytes(block_id_bytes); - sol_log(format!("Block ID: {}", block_id).as_str()); // Load accounts. let [signer_info] = accounts else { diff --git a/program/src/mine.rs b/program/src/mine.rs index 19322ad..8453167 100644 --- a/program/src/mine.rs +++ b/program/src/mine.rs @@ -11,7 +11,7 @@ pub fn process_mine(accounts: &[AccountInfo<'_>], data: &[u8]) -> ProgramResult // Load accounts. let clock = Clock::get()?; - let [signer_info, authority_info, block_info, commitment_info, market_info, miner_info, mint_hash_info, mint_ore_info, permit_info, recipient_info, treasury_info, system_program, token_program, slot_hashes_sysvar, ore_program] = + let [signer_info, authority_info, block_info, commitment_info, market_info, miner_info, mint_hash_info, mint_ore_info, permit_info, recipient_info, treasury_info, system_program, token_program, ore_program, slot_hashes_sysvar] = accounts else { return Err(ProgramError::NotEnoughAccountKeys); @@ -45,8 +45,8 @@ pub fn process_mine(accounts: &[AccountInfo<'_>], data: &[u8]) -> ProgramResult treasury_info.has_address(&TREASURY_ADDRESS)?; system_program.is_program(&system_program::ID)?; token_program.is_program(&spl_token::ID)?; - slot_hashes_sysvar.is_sysvar(&sysvar::slot_hashes::ID)?; ore_program.is_program(&ore_api::ID)?; + slot_hashes_sysvar.is_sysvar(&sysvar::slot_hashes::ID)?; // Reduce permit amount. let amount = permit.commitment.min(amount);