1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
use crate::*;

use crate::types::Callback;

// We will listen to this event inside of our service
#[event]
#[derive(Clone, Debug)]
pub struct SimpleRandomnessV1RequestedEvent {
    #[index]
    pub callback_pid: Pubkey,
    #[index]
    pub user: Pubkey,
    pub request: Pubkey,
    pub callback: Callback,
    pub num_bytes: u8,
    pub compute_units: u32,
    pub priority_fee_micro_lamports: u64,
}

#[event]
#[derive(Debug, Clone)]
pub struct SimpleRandomnessV1SettledEvent {
    #[index]
    pub callback_pid: Pubkey,
    #[index]
    pub user: Pubkey,
    pub request: Pubkey,
    pub is_success: bool,
    pub randomness: Vec<u8>,
}

#[event]
#[derive(Debug, Clone)]
pub struct SimpleRandomnessV1CallbackErrorEvent {
    #[index]
    pub callback_pid: Pubkey,
    #[index]
    pub user: Pubkey,
    pub request: Pubkey,
    pub error_message: String,
}