1use steel::*;
2
3#[repr(C)]
5#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
6pub struct PaymentCreatedWithFundEvent {
7 pub payment_uid: [u8; 32], pub sla_hash: [u8; 32], pub escrow: Pubkey, pub buyer: Pubkey, pub seller: Pubkey, pub mint: Pubkey, pub oracle_authority: Pubkey, pub amount: u64, pub expires_at: i64, pub timestamp: i64, pub state: u8, pub _padding: [u8; 7], }
20
21#[repr(C)]
22#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
23pub struct DeliverySubmittedEvent {
24 pub payment_uid: [u8; 32], pub delivery_hash: [u8; 32], pub timestamp: i64, pub seller: Pubkey, }
29
30#[repr(C)]
31#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
32pub struct PaymentOracleConfirmedEvent {
33 pub payment_uid: [u8; 32], pub oracle_authority: Pubkey, pub delivery_hash: [u8; 32], pub sla_hash: [u8; 32], pub amount: u64, pub timestamp: i64, pub resolution_reason: u16, pub resolution_state: u8, pub _padding: [u8; 5], }
44
45#[repr(C)]
46#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
47pub struct PaymentFundedEvent {
48 pub payment_uid: [u8; 32], pub mint: Pubkey, pub amount: u64, pub timestamp: i64, pub buyer: Pubkey, }
54
55#[repr(C)]
56#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
57pub struct PaymentReleasedEvent {
58 pub payment_uid: [u8; 32], pub mint: Pubkey, pub amount: u64, pub oracle_tip: u64, pub timestamp: i64, pub seller: Pubkey, pub is_expired: u8, pub _padding: [u8; 7], }
67
68#[repr(C)]
69#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
70pub struct PaymentRefundedEvent {
71 pub payment_uid: [u8; 32], pub mint: Pubkey, pub amount: u64, pub oracle_tip: u64, pub timestamp: i64, pub buyer: Pubkey, }
78
79#[repr(C)]
80#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
81pub struct PaymentExpiredEvent {
82 pub payment_uid: [u8; 32], pub mint: Pubkey, pub amount: u64, pub timestamp: i64, pub buyer: Pubkey, pub seller: Pubkey, }
89
90#[repr(C)]
91#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
92pub struct PaymentClosedEvent {
93 pub payment_uid: [u8; 32], pub timestamp: i64, pub closer: Pubkey, }
97
98#[repr(C)]
100#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
101pub struct PaymentTTLExtendedEvent {
102 pub payment_uid: [u8; 32], pub additional_seconds: i64, pub new_expires_at: i64, pub timestamp: i64, pub buyer: Pubkey, }
108
109#[repr(C)]
111#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
112pub struct EscrowCreatedEvent {
113 pub timestamp: i64, pub escrow: Pubkey, pub mint: Pubkey, pub authority: Pubkey, pub min_payment_amount: u64, pub max_payment_amount: u64, pub fee_bps: u16, pub paused: u8, pub _padding: [u8; 5], }
124
125#[repr(C)]
126#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
127pub struct EscrowClosedEvent {
128 pub timestamp: i64, pub escrow: Pubkey, pub mint: Pubkey, pub authority: Pubkey, }
134
135#[repr(C)]
136#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
137pub struct EscrowSettingsUpdatedEvent {
138 pub escrow: Pubkey, pub mint: Pubkey, pub authority: Pubkey, pub min_payment_amount: u64, pub max_payment_amount: u64, pub min_fee_amount: u64, pub timestamp: i64, pub new_fee_bps: u16, pub _padding: [u8; 6], }
149
150#[repr(C)]
151#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
152pub struct EscrowPausedEvent {
153 pub escrow: Pubkey, pub mint: Pubkey, pub authority: Pubkey, pub timestamp: i64, pub paused: u8, pub _padding: [u8; 7], }
161
162#[repr(C)]
164#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
165pub struct BankInitializedEvent {
166 pub timestamp: i64, pub bank: Pubkey, pub authority: Pubkey, pub fee_bps: u16, pub _padding: [u8; 6], }
173
174#[repr(C)]
175#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
176pub struct AuthorityUpdatedEvent {
177 pub timestamp: i64, pub bank: Pubkey, pub old_authority: Pubkey, pub new_authority: Pubkey, }
183
184#[repr(C)]
185#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
186pub struct FeesWithdrawnEvent {
187 pub timestamp: i64, pub amount: u64, pub escrow: Pubkey, pub mint: Pubkey, pub authority: Pubkey, }
194
195#[repr(C)]
196#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
197pub struct ConfigUpdatedEvent {
198 pub timestamp: i64, pub authority: Pubkey, pub closure_delay_seconds: i64, pub refund_cooldown_seconds: i64, pub delivery_cutoff_seconds: i64, }
205
206#[repr(C)]
207#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
208pub struct AuthorityProposedEvent {
209 pub timestamp: i64, pub bank: Pubkey, pub current_authority: Pubkey, pub proposed_authority: Pubkey, }
215
216#[repr(C)]
217#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
218pub struct AuthorityProposalCancelledEvent {
219 pub timestamp: i64, pub bank: Pubkey, pub cancelled_authority: Pubkey, pub cancelled_by: Pubkey, }
225
226event!(PaymentCreatedWithFundEvent);
228event!(PaymentOracleConfirmedEvent);
229event!(PaymentFundedEvent);
230event!(PaymentReleasedEvent);
231event!(PaymentRefundedEvent);
232event!(PaymentExpiredEvent);
233event!(PaymentClosedEvent);
234event!(PaymentTTLExtendedEvent);
235event!(EscrowCreatedEvent);
236event!(EscrowClosedEvent);
237event!(EscrowSettingsUpdatedEvent);
238event!(EscrowPausedEvent);
239event!(BankInitializedEvent);
240event!(AuthorityUpdatedEvent);
241event!(FeesWithdrawnEvent);
242event!(DeliverySubmittedEvent);
243event!(ConfigUpdatedEvent);
244event!(AuthorityProposedEvent);
245event!(AuthorityProposalCancelledEvent);