sla-escrow-api 0.2.6

SLA-Escrow: Service Level Agreement Enforcer for AI Agents
Documentation
use super::EscrowAccount;
use steel::*;

#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
pub struct Escrow {
    pub mint: Pubkey,            // 32 bytes - kept for developer experience
    pub escrow_tokens: Pubkey,   // 32 bytes - ATA for SPL tokens, SOL storage PDA for SOL
    pub open_at: i64,            // 8 bytes
    pub fee_balance: u64,        // 8 bytes
    pub token_liquidity: u64,    // 8 bytes
    pub min_payment_amount: u64, // 8 bytes
    pub max_payment_amount: u64, // 8 bytes
    pub min_fee_amount: u64,     // 8 bytes - Minimum absolute fee constraint
    pub fee_bps: u16,            // 2 bytes
    pub oracle_fee_bps: u16,     // 2 bytes — oracle tip on release/refund (0 = disabled)
    pub paused: u8,              // 1 byte
    pub _padding: [u8; 3],       // 3 bytes padding
}

account!(EscrowAccount, Escrow);