switchboard_solana/attestation_program/
events.rs1use crate::*;
2
3#[event]
4pub struct FunctionFundEvent {
5 pub function: Pubkey,
6 pub amount: u64,
7}
8
9#[event]
10pub struct FunctionRequestInitEvent {
11 pub attestation_queue: Pubkey,
12 pub function: Pubkey,
13 pub request: Pubkey,
14}
15
16#[event]
17#[derive(Default, Debug, Clone)]
18pub struct FunctionRequestTriggerEvent {
19 pub attestation_queue: Pubkey,
20 pub request: Pubkey,
21 pub function: Pubkey,
22 pub container_registry: Vec<u8>,
23 pub container: Vec<u8>,
24 pub bounty: u64,
25 pub request_slot: u64,
26 pub expiration_slot: u64,
27 pub container_params_hash: Vec<u8>,
28}
29
30#[event]
31pub struct FunctionRequestVerifyEvent {
32 pub request: Pubkey,
33 pub function: Pubkey,
34 pub verifier: Pubkey,
35 pub container_registry: Vec<u8>,
36 pub container: Vec<u8>,
37 pub params: Vec<u8>,
38}
39
40#[event]
41pub struct FunctionRequestVerifyErrorEvent {
42 pub request: Pubkey,
43 pub function: Pubkey,
44 pub verifier: Pubkey,
45 pub container_registry: Vec<u8>,
46 pub container: Vec<u8>,
47 pub params: Vec<u8>,
48 pub error_code: u8,
49}
50
51#[event]
52pub struct FunctionRequestCloseEvent {
53 pub request: Pubkey,
54 pub slot: u64,
55}
56
57#[event]
58pub struct FunctionRoutineInitEvent {
59 pub attestation_queue: Pubkey,
60 pub function: Pubkey,
61 pub routine: Pubkey,
62 pub schedule: [u8; 64],
63}
64
65#[event]
66pub struct FunctionRoutineVerifyEvent {
67 pub routine: Pubkey,
68 pub function: Pubkey,
69 pub verifier: Pubkey,
70 pub mr_enclave: Vec<u8>,
71 pub container_registry: Vec<u8>,
72 pub container: Vec<u8>,
73 pub params: Vec<u8>,
74}
75
76#[event]
77pub struct FunctionRoutineVerifyErrorEvent {
78 pub routine: Pubkey,
79 pub function: Pubkey,
80 pub verifier: Pubkey,
81 pub mr_enclave: Vec<u8>,
82 pub container_registry: Vec<u8>,
83 pub container: Vec<u8>,
84 pub params: Vec<u8>,
85 pub error_code: u8,
86}
87
88#[event]
90pub struct FunctionTriggerEvent {
91 pub function: Pubkey,
92}
93
94#[event]
95pub struct FunctionInitEvent {
96 pub function: Pubkey,
97 pub container_registry: Vec<u8>,
98 pub container: Vec<u8>,
99 pub version: Vec<u8>,
100 pub schedule: Vec<u8>,
101 pub mr_enclave: Vec<u8>,
102}
103
104#[event]
105#[derive(Default, Debug, Clone)]
106pub struct FunctionSetConfigEvent {
107 pub function: Pubkey,
108 pub container_registry: Vec<u8>,
109 pub container: Vec<u8>,
110 pub version: Vec<u8>,
111 pub schedule: Vec<u8>,
112 pub mr_enclaves: Vec<Vec<u8>>,
113}
114
115#[event]
116pub struct FunctionBootedEvent {
117 pub function: Pubkey,
118}
119
120#[event]
122pub struct FunctionVerifyEvent {
123 pub function: Pubkey,
124}
125
126#[event]
127pub struct FunctionWithdrawEvent {
128 pub function: Pubkey,
129 pub amount: u64,
130}
131
132#[event]
133pub struct PermissionInitEvent {
134 pub permission: Pubkey,
135}
136
137#[event]
138pub struct PermissionSetEvent {
139 pub permission: Pubkey,
140}
141
142#[event]
143pub struct QueueAddMrEnclaveEvent {
144 pub queue: Pubkey,
145 pub mr_enclave: [u8; 32],
146}
147
148#[event]
149pub struct QueueInitEvent {
150 pub queue: Pubkey,
151}
152
153#[event]
154pub struct QueueRemoveMrEnclaveEvent {
155 pub queue: Pubkey,
156 pub mr_enclave: [u8; 32],
157}
158
159#[event]
160pub struct VerifierHeartbeatEvent {
161 pub verifier: Pubkey,
162 pub queue: Pubkey,
163}
164
165#[event]
166pub struct VerifierInitEvent {
167 pub verifier: Pubkey,
168}
169
170#[event]
171pub struct VerifierQuoteRotateEvent {
172 pub verifier: Pubkey,
173}
174
175#[event]
176pub struct VerifierQuoteOverrideEvent {
177 pub verifier: Pubkey,
178 pub queue: Pubkey,
179}
180
181#[event]
182pub struct GarbageCollectionEvent {
183 pub verifier: Pubkey,
184 pub queue: Pubkey,
185}
186
187#[event]
188pub struct VerifierQuoteVerifyEvent {
189 pub quote: Pubkey,
190 pub queue: Pubkey,
191 pub verifier: Pubkey,
192}
193
194#[event]
195pub struct VerifierQuoteVerifyRequestEvent {
196 pub quote: Pubkey,
197 pub verifier: Pubkey,
198}