본문으로 건너뛰기

플래시 론

Flash loan은 정의상 하나의 programmable 트랜잭션 블록 안에서 대출과 상환이 모두 이루어지는 uncollateralized loan이다. 사용자는 어떤 DeepBookV3 풀에서든 베이스 자산 또는 견적 자산으로 flash loan을 빌릴 수 있다. Flash loan은 FlashLoan hot potato(ability가 없는 struct)를 반환하며, 이는 호출이 끝나기 전에 풀에 반환되어야 한다. 트랜잭션은 atomic이므로 대출이 반환되지 않으면 전체 트랜잭션이 실패한다.

빌릴 수 있는 수량은 풀이 보유한 최대 amount일 수 있다. 풀에서 빌리고 같은 풀에서 거래하면 거래에는 자금 이동이 필요하므로 실패할 수 있다. 자금을 빌리면 이동시킬 자금이 남지 않기 때문이다.

API

다음은 flash loan을 위해 Pool이 제공하는 endpoint이다.

Click to open
Borrow flash loan base

Pool에서 베이스 자산을 빌린다. 이 함수는 hot potato를 반환하여 차입자가 같은 트랜잭션 안에서 자산을 반환하도록 강제한다.

Click to open
Borrow flash loan quote

Pool에서 견적 자산을 빌린다. 이 함수는 hot potato를 반환하여 차입자가 같은 트랜잭션 안에서 자산을 반환하도록 강제한다.

Click to open
Retrieve flash loan base

flash loan으로 빌린 베이스 자산을 Pool에 반환한다. 자산이 반환된 경우에만 FlashLoan 객체가 unwrap되며, 그렇지 않으면 트랜잭션이 실패한다.

Click to open
Retrieve flash loan quote

flash loan으로 빌린 견적 자산을 Pool에 반환한다. 자산이 반환된 경우에만 FlashLoan 객체가 unwrap되며, 그렇지 않으면 트랜잭션이 실패한다.