use steel::*;
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
pub struct PaymentCreatedWithFundEvent {
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], }
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
pub struct DeliverySubmittedEvent {
pub payment_uid: [u8; 32], pub delivery_hash: [u8; 32], pub timestamp: i64, pub seller: Pubkey, }
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
pub struct PaymentOracleConfirmedEvent {
pub payment_uid: [u8; 32], pub oracle_authority: Pubkey, pub delivery_hash: [u8; 32], pub timestamp: i64,
pub resolution_state: u8, pub _padding: [u8; 7], }
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
pub struct PaymentFundedEvent {
pub payment_uid: [u8; 32], pub mint: Pubkey, pub amount: u64, pub timestamp: i64, pub buyer: Pubkey, }
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
pub struct PaymentReleasedEvent {
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], }
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
pub struct PaymentRefundedEvent {
pub payment_uid: [u8; 32], pub mint: Pubkey, pub amount: u64, pub oracle_tip: u64, pub timestamp: i64, pub buyer: Pubkey, }
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
pub struct PaymentExpiredEvent {
pub payment_uid: [u8; 32], pub mint: Pubkey, pub amount: u64, pub timestamp: i64, pub buyer: Pubkey, pub seller: Pubkey, }
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
pub struct PaymentClosedEvent {
pub payment_uid: [u8; 32], pub timestamp: i64, pub closer: Pubkey, }
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
pub struct PaymentTTLExtendedEvent {
pub payment_uid: [u8; 32], pub additional_seconds: i64, pub new_expires_at: i64, pub timestamp: i64, pub buyer: Pubkey, }
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
pub struct EscrowCreatedEvent {
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], }
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
pub struct EscrowClosedEvent {
pub timestamp: i64, pub escrow: Pubkey, pub mint: Pubkey, pub authority: Pubkey, }
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
pub struct EscrowSettingsUpdatedEvent {
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], }
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
pub struct EscrowPausedEvent {
pub escrow: Pubkey, pub mint: Pubkey, pub authority: Pubkey, pub timestamp: i64, pub paused: u8, pub _padding: [u8; 7], }
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
pub struct BankInitializedEvent {
pub timestamp: i64, pub bank: Pubkey, pub authority: Pubkey, pub fee_bps: u16, pub _padding: [u8; 6], }
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
pub struct AuthorityUpdatedEvent {
pub timestamp: i64, pub bank: Pubkey, pub old_authority: Pubkey, pub new_authority: Pubkey, }
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
pub struct FeesWithdrawnEvent {
pub timestamp: i64, pub amount: u64, pub escrow: Pubkey, pub mint: Pubkey, pub authority: Pubkey, }
event!(PaymentCreatedWithFundEvent);
event!(PaymentOracleConfirmedEvent);
event!(PaymentFundedEvent);
event!(PaymentReleasedEvent);
event!(PaymentRefundedEvent);
event!(PaymentExpiredEvent);
event!(PaymentClosedEvent);
event!(PaymentTTLExtendedEvent);
event!(EscrowCreatedEvent);
event!(EscrowClosedEvent);
event!(EscrowSettingsUpdatedEvent);
event!(EscrowPausedEvent);
event!(BankInitializedEvent);
event!(AuthorityUpdatedEvent);
event!(FeesWithdrawnEvent);
event!(DeliverySubmittedEvent);