update sdk

This commit is contained in:
Hardhat Chad
2025-07-15 16:38:23 -07:00
parent d129591638
commit 4bdecbb152
3 changed files with 14 additions and 6 deletions

View File

@@ -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 block_adddress = block_pda(id).0;
let commitment_address = commitment_pda(id).0;
let market_address = market_pda(id).0; let market_address = market_pda(id).0;
let base_mint_address = mint_pda(id).0; let base_mint_address = mint_pda(id).0;
let miner_address = miner_pda(signer).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 sender = get_associated_token_address(&signer, &base_mint_address);
let recipient = get_associated_token_address(&authority, &MINT_ADDRESS);
Instruction { Instruction {
program_id: crate::ID, program_id: crate::ID,
accounts: vec![ accounts: vec![
AccountMeta::new(signer, true), AccountMeta::new(signer, true),
AccountMeta::new(authority, false),
AccountMeta::new(block_adddress, false), AccountMeta::new(block_adddress, false),
AccountMeta::new(commitment_address, false),
AccountMeta::new(market_address, false), AccountMeta::new(market_address, false),
AccountMeta::new(miner_address, false), AccountMeta::new(miner_address, false),
AccountMeta::new(base_mint_address, false),
AccountMeta::new(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(system_program::ID, false),
AccountMeta::new_readonly(spl_token::ID, false), AccountMeta::new_readonly(spl_token::ID, false),
AccountMeta::new_readonly(crate::ID, false), AccountMeta::new_readonly(crate::ID, false),

View File

@@ -1,5 +1,4 @@
use ore_api::prelude::*; use ore_api::prelude::*;
use solana_program::log::sol_log;
use steel::*; use steel::*;
/// No-op, use instruction data for logging w/o truncation. /// 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 // Load data
let block_id_bytes = data[..8].try_into().unwrap(); let block_id_bytes = data[..8].try_into().unwrap();
let block_id = u64::from_le_bytes(block_id_bytes); let block_id = u64::from_le_bytes(block_id_bytes);
sol_log(format!("Block ID: {}", block_id).as_str());
// Load accounts. // Load accounts.
let [signer_info] = accounts else { let [signer_info] = accounts else {

View File

@@ -11,7 +11,7 @@ pub fn process_mine(accounts: &[AccountInfo<'_>], data: &[u8]) -> ProgramResult
// Load accounts. // Load accounts.
let clock = Clock::get()?; 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 accounts
else { else {
return Err(ProgramError::NotEnoughAccountKeys); return Err(ProgramError::NotEnoughAccountKeys);
@@ -45,8 +45,8 @@ pub fn process_mine(accounts: &[AccountInfo<'_>], data: &[u8]) -> ProgramResult
treasury_info.has_address(&TREASURY_ADDRESS)?; treasury_info.has_address(&TREASURY_ADDRESS)?;
system_program.is_program(&system_program::ID)?; system_program.is_program(&system_program::ID)?;
token_program.is_program(&spl_token::ID)?; token_program.is_program(&spl_token::ID)?;
slot_hashes_sysvar.is_sysvar(&sysvar::slot_hashes::ID)?;
ore_program.is_program(&ore_api::ID)?; ore_program.is_program(&ore_api::ID)?;
slot_hashes_sysvar.is_sysvar(&sysvar::slot_hashes::ID)?;
// Reduce permit amount. // Reduce permit amount.
let amount = permit.commitment.min(amount); let amount = permit.commitment.min(amount);