Skip to content

Request & Response Types

Request Types

Request

An enum representing the 10 possible operations in a batch request.

rust
pub enum Request {
    Deposit(StandardRequest),
    Borrow(StandardRequest),
    Withdraw(StandardRequest),
    Repay(StandardRequest),
    AddCollateral(StandardRequest),
    RemoveCollateral(StandardRequest),
    FlashBorrow(StandardRequest),
    SwapExactTokens(SwapExactTokensRequest),
    SwapForExactTokens(SwapForExactTokensRequest),
    Liquidate(LiquidateRequest),
}

StandardRequest

Used for deposit, borrow, withdraw, repay, add/remove collateral, and flash borrow.

rust
pub struct StandardRequest {
    pub amount: i128,
    pub pool_address: Address,
}

SwapExactTokensRequest

Swap a precise amount of input tokens for at least a minimum output.

rust
pub struct SwapExactTokensRequest {
    pub swap_provider: Address,
    pub token_in: Address,
    pub token_out: Address,
    pub amount_in: i128,
    pub min_amount_out: i128,
}

SwapForExactTokensRequest

Swap up to a maximum input for a precise output amount.

rust
pub struct SwapForExactTokensRequest {
    pub swap_provider: Address,
    pub token_in: Address,
    pub token_out: Address,
    pub max_amount_in: i128,
    pub amount_out: i128,
}

LiquidateRequest

Liquidate another user's position within a batch.

rust
pub struct LiquidateRequest {
    pub borrower_obligation_key: ObligationKey,
    pub borrow_pool_address: Address,
    pub collateral_pool_address: Address,
    pub repay_amount: i128,
    pub min_demanded_collateral_amount: i128,
}

Result Types

WithdrawResult

rust
pub struct WithdrawResult {
    pub j_tokens_to_burn: i128,
    pub deposit_decrease: i128,
    pub withdrawer_to_receive: i128,
    pub operation_fees: OperationFees,
}

DepositResult

rust
pub struct DepositResult {
    pub j_tokens_to_issue: i128,
    pub deposited: i128,
    pub operation_fees: OperationFees,
}

BorrowResult

rust
pub struct BorrowResult {
    pub d_tokens_to_issue: i128,
    pub borrower_new_debt: i128,
    pub borrower_to_receive: i128,
    pub operation_fees: OperationFees,
}

RepayResult

rust
pub struct RepayResult {
    pub d_tokens_to_burn: i128,
    pub debt_repaid: i128,
    pub amount_to_send_back: i128,
    pub operation_fees: OperationFees,
}

AddCollateralResult

rust
pub struct AddCollateralResult {
    pub added_collateral: i128,
    pub operation_fees: OperationFees,
}

RemoveCollateralResult

rust
pub struct RemoveCollateralResult {
    pub collateral_decrease: i128,
    pub collateral_remover_to_receive: i128,
    pub operation_fees: OperationFees,
}

LiquidationResult

rust
pub struct LiquidationResult {
    pub debt_repaid: i128,
    pub amount_to_send_back: i128,
    pub d_tokens_burned: i128,
    pub plain_collateral_seized: i128,
    pub j_tokens_seized: i128,
    pub tokens_from_j_tokens_seized: i128,
}

OperationFees

rust
pub struct OperationFees {
    pub fee_sum: i128,        // Total fee charged
    pub referrer_fee: i128,   // Portion sent to the referrer (if any)
}