From c4a3302d96d290e899db677917f0e785bf96fed5 Mon Sep 17 00:00:00 2001 From: Hardhat Chad Date: Fri, 1 Aug 2025 16:12:35 -0700 Subject: [PATCH] shared block reward --- program/src/reset.rs | 15 ++++++++++++++- program/src/swap.rs | 4 ++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/program/src/reset.rs b/program/src/reset.rs index bef86d1..d4ac554 100644 --- a/program/src/reset.rs +++ b/program/src/reset.rs @@ -62,10 +62,23 @@ pub fn process_reset(accounts: &[AccountInfo<'_>], _data: &[u8]) -> ProgramResul block_reward, &[TREASURY], )?; + + // Transfer any remaining ORE in market liquidity vault to the treasury as additional block reward. + let liq_amount = vault.amount(); + block_prev.reward += liq_amount; + transfer_signed( + market_info, + vault_info, + treasury_tokens_info, + token_program, + liq_amount, + &[MARKET], + )?; } } - // Burn all ORE in market liquidity vault. + // Burn any remaining ORE in market liquidity vault. + let vault = vault_info.as_associated_token_account(&market_info.key, &mint_info.key)?; let burn_amount = vault.amount(); burn_signed( vault_info, diff --git a/program/src/swap.rs b/program/src/swap.rs index 35c3fa0..1c711b1 100644 --- a/program/src/swap.rs +++ b/program/src/swap.rs @@ -143,6 +143,10 @@ pub fn process_swap(accounts: &[AccountInfo<'_>], data: &[u8]) -> ProgramResult let vault = vault_info.as_token_account()?; market.check_quote_vault(&vault)?; + // Update block reward. + let block_reward = vault.amount(); + block.reward = block_reward; + // Update swap event hashpower. swap_event.miner_hashpower = miner.hashpower; swap_event.block_hashpower = block.total_hashpower;