log event

This commit is contained in:
Hardhat Chad
2025-07-18 12:19:35 -07:00
parent 58553c4540
commit 60aad1ea70
2 changed files with 38 additions and 0 deletions

View File

@@ -3,9 +3,32 @@ use steel::*;
use crate::state::SwapDirection;
pub enum OreEvent {
Reset = 0,
Swap = 1,
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Default, PartialEq, Pod, Zeroable)]
pub struct ResetEvent {
/// The event discriminator.
pub disc: u64,
/// The authority of the swap.
pub authority: Pubkey,
/// The block that was opened for trading.
pub block_id: u64,
/// The start slot of the next block.
pub start_slot: u64,
/// The end slot of the next block.
pub end_slot: u64,
/// The timestamp of the event.
pub ts: i64,
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Default, PartialEq, Pod, Zeroable)]
pub struct SwapEvent {
@@ -58,4 +81,5 @@ impl SwapEvent {
}
}
event!(ResetEvent);
event!(SwapEvent);

View File

@@ -97,6 +97,20 @@ pub fn process_reset(accounts: &[AccountInfo<'_>], _data: &[u8]) -> ProgramResul
block_next.start_slot = clock.slot;
block_next.end_slot = clock.slot + config.block_duration;
// Emit event.
program_log(
&[market_info.clone(), ore_program.clone()],
&ResetEvent {
disc: 0,
authority: *signer_info.key,
block_id: block_next.id,
start_slot: block_next.start_slot,
end_slot: block_next.end_slot,
ts: clock.unix_timestamp,
}
.to_bytes(),
)?;
Ok(())
}