switchboard_solana/oracle_program/accounts/
sliding_window.rs1use crate::prelude::*;
2
3#[zero_copy(unsafe)]
4#[derive(Default)]
5#[repr(packed)]
6pub struct SlidingWindowElement {
7 pub oracle_key: Pubkey,
8 pub value: SwitchboardDecimal,
9 pub slot: u64,
10 pub timestamp: i64,
11}
12
13#[account(zero_copy(unsafe))]
14#[repr(packed)]
15pub struct SlidingResultAccountData {
16 pub data: [SlidingWindowElement; 16],
17 pub bump: u8,
18 pub _ebuf: [u8; 512],
19}
20
21impl SlidingResultAccountData {
22 pub fn size() -> usize {
23 8 + std::mem::size_of::<SlidingResultAccountData>()
24 }
25}