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 resolution_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], }
45
46#[repr(C)]
47#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
48pub struct PaymentFundedEvent {
49 pub payment_uid: [u8; 32], pub mint: Pubkey, pub amount: u64, pub timestamp: i64, pub buyer: Pubkey, }
55
56#[repr(C)]
57#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
58pub struct PaymentReleasedEvent {
59 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], }
68
69#[repr(C)]
70#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
71pub struct PaymentRefundedEvent {
72 pub payment_uid: [u8; 32], pub mint: Pubkey, pub amount: u64, pub oracle_tip: u64, pub timestamp: i64, pub buyer: Pubkey, }
79
80#[repr(C)]
81#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
82pub struct PaymentExpiredEvent {
83 pub payment_uid: [u8; 32], pub mint: Pubkey, pub amount: u64, pub timestamp: i64, pub buyer: Pubkey, pub seller: Pubkey, }
90
91#[repr(C)]
92#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
93pub struct PaymentClosedEvent {
94 pub payment_uid: [u8; 32], pub timestamp: i64, pub closer: Pubkey, }
98
99#[repr(C)]
101#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
102pub struct PaymentTTLExtendedEvent {
103 pub payment_uid: [u8; 32], pub additional_seconds: i64, pub new_expires_at: i64, pub timestamp: i64, pub buyer: Pubkey, }
109
110#[repr(C)]
112#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
113pub struct EscrowCreatedEvent {
114 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], }
125
126#[repr(C)]
127#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
128pub struct EscrowClosedEvent {
129 pub timestamp: i64, pub escrow: Pubkey, pub mint: Pubkey, pub authority: Pubkey, }
135
136#[repr(C)]
137#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
138pub struct EscrowSettingsUpdatedEvent {
139 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], }
150
151#[repr(C)]
152#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
153pub struct EscrowPausedEvent {
154 pub escrow: Pubkey, pub mint: Pubkey, pub authority: Pubkey, pub timestamp: i64, pub paused: u8, pub _padding: [u8; 7], }
162
163#[repr(C)]
165#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
166pub struct BankInitializedEvent {
167 pub timestamp: i64, pub bank: Pubkey, pub authority: Pubkey, pub fee_bps: u16, pub _padding: [u8; 6], }
174
175#[repr(C)]
176#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
177pub struct AuthorityUpdatedEvent {
178 pub timestamp: i64, pub bank: Pubkey, pub old_authority: Pubkey, pub new_authority: Pubkey, }
184
185#[repr(C)]
186#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
187pub struct FeesWithdrawnEvent {
188 pub timestamp: i64, pub amount: u64, pub escrow: Pubkey, pub mint: Pubkey, pub authority: Pubkey, }
195
196#[repr(C)]
197#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
198pub struct ConfigUpdatedEvent {
199 pub timestamp: i64, pub authority: Pubkey, pub closure_delay_seconds: i64, pub refund_cooldown_seconds: i64, pub delivery_cutoff_seconds: i64, }
206
207#[repr(C)]
208#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
209pub struct AuthorityProposedEvent {
210 pub timestamp: i64, pub bank: Pubkey, pub current_authority: Pubkey, pub proposed_authority: Pubkey, }
216
217#[repr(C)]
218#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
219pub struct AuthorityProposalCancelledEvent {
220 pub timestamp: i64, pub bank: Pubkey, pub cancelled_authority: Pubkey, pub cancelled_by: Pubkey, }
226
227event!(PaymentCreatedWithFundEvent);
229event!(PaymentOracleConfirmedEvent);
230event!(PaymentFundedEvent);
231event!(PaymentReleasedEvent);
232event!(PaymentRefundedEvent);
233event!(PaymentExpiredEvent);
234event!(PaymentClosedEvent);
235event!(PaymentTTLExtendedEvent);
236event!(EscrowCreatedEvent);
237event!(EscrowClosedEvent);
238event!(EscrowSettingsUpdatedEvent);
239event!(EscrowPausedEvent);
240event!(BankInitializedEvent);
241event!(AuthorityUpdatedEvent);
242event!(FeesWithdrawnEvent);
243event!(DeliverySubmittedEvent);
244event!(ConfigUpdatedEvent);
245event!(AuthorityProposedEvent);
246event!(AuthorityProposalCancelledEvent);