devol-accounts-kit 0.3.4

SDK for interacting with the DeVol Network option trading platform on the Solana blockchain
Documentation
use serde::{Deserialize, Serialize};
use solana_program::pubkey::Pubkey;

pub const WORKER_ADDRESS_OFFSET: usize = 0;
pub const WORKER_POOLS_TRACE_ADDRESS_OFFSET: usize = 32;
pub const WORKER_TASKS_TRACE_ADDRESS_OFFSET: usize = 64;
pub const WORKER_POOLS_LOG_ADDRESS_OFFSET: usize = 96;
pub const WORKER_TASKS_LOG_ADDRESS_OFFSET: usize = 128;
pub const WORKER_SIZE: usize = 160;

#[derive(Copy, Clone, Serialize, Deserialize)]
#[repr(C)]
pub struct Worker {
    pub address: Pubkey,
    pub pools_trace_address: Pubkey,
    pub tasks_trace_address: Pubkey,
    pub pools_log_address: Pubkey,
    pub tasks_log_address: Pubkey,
}

#[cfg(test)]
impl Default for Worker {
    fn default() -> Self {
        Self {
            address: Pubkey::default(),
            pools_trace_address: Pubkey::default(),
            tasks_trace_address: Pubkey::default(),
            pools_log_address: Pubkey::default(),
            tasks_log_address: Pubkey::default(),
        }
    }
}