BitFlashLoan

Write Methods

function flashLoan(
        IERC3156FlashBorrower receiver,
        address token,
        uint256 amount,
        bytes calldata data
  ) external returns (bool)

Executes a flash loan by borrowing tokens, calling the receiver's callback, and ensuring repayment with fees.

Parameter

Type

Description

receiver

IERC3156FlashBorrower

Contract that receives and handles the flash loan (must implement callback).

token

address

Address of the ERC20 token to borrow.

amount

uint256

Amount of tokens to borrow.

data

bytes

Arbitrary data passed to the receiver's callback function.

Returns:

Value

Type

Description

success

bool

true if the flash loan and callback executed successfully.

View Methods

function flashFee(address token, uint256 amount) public view returns (uint256)

Calculates the fee for a flash loan based on the token's fee rate.

Parameter

Type

Description

token

address

Token address to query.

amount

uint256

Loan amount to calculate fee for.

Returns:

Value

Type

Description

fee

uint256

Fee amount (amount * feeRate / 10000).

function maxFlashLoan(address token) public view returns (uint256)

Returns the maximum borrowable amount for a token (based on collateral percentage).

Parameter

Type

Description

token

address

Token address to query.

Returns:

Value

Type

Description

maxAmount

uint256

Maximum borrowable amount (totalCollateral * maxPercentage / 10000).

Structs

Events

event FlashLoan(
    address indexed initiator,
    address indexed token,
    uint256 amount,
    uint256 fee
  )
event FlashLoanFeesUpdated(address indexed token, uint256 newFeeRate)
event FlashLoanMaxPercentageUpdated(address indexed token, uint256 newMaxPercentage)
event FlashLoansPaused(bool paused)
event MinSystemCollateralizationRatioUpdated(uint256 newRatio)
event TokenSupported(address indexed token, address indexed troveManager)
event DefaultFeeRateUpdated(uint256 newRate)
event MaxFeeRateUpdated(uint256 newRate)

Last updated