# 스마트 컨트랙트

ELYFY는 머니풀 컨트랙트를 중심으로 다양한 컨트랙트의 상호작용이 있다. 참여자의 상태를 나타내기 위해 여러 토큰을 발행 또는 소각하며, 모든 발행 소각 과정은 머니풀 컨트랙트를 통해 진행된다.

### MoneyPool

프로토콜과 상호작용을 하는 주요 컨트랙트. 대부분의 금융 활동은 머니 컨트랙트에서 발생한다.

* borrowRealAssetCollateralized()
* borrowCryptocurrencyCollateralized()
* repayRealAssetCollateralizedBorrow()
* repayCryptocurrencyCollateralizedBorrow()
* supplyReserve()
* withdrawReserve()
* liquidateRealAssetCollateral
* liquidateCryptocurrencyCollateral

### ABToken

현물 자산 담보 채권에 대한 정보가 기록되고, 온체인에서 채권의 역할을 하는 토큰. NFT 표준을 구현하고 있으며, 이 토큰을 머니풀에 예치해서 대출 계약을 실행할 수 있다.

* ERC721 Interfaces
* purchaseSecuritizedABToken()
* refundSecuritizedABToken()
* claimInterest()
* ...

### AToken

단일 자산 채권에 투자를 실행했을 때 발행한다. 유동화된 자산 채권 토큰에 투자했음을 나타내기 위한 수단이다. ERC20 표준을 따른다.

* ERC20 Interfaces

### LToken

머니풀에 자금을 예치했을 때 이를 나타내기 위한 수단으로 발행한다. ERC20 표준을 따르며, 이자가 발생함에 따라 자동적으로 잔고가 증가한다.

* ERC20 Interfaces
* implicitBalance()

### DToken

자산을 담보로 머니풀로부터 가상자산을 대출할 때, 이를 나타내기 위한 수단이다. ERC20 토큰 표준과 유사하나 토큰의 전송과 관련된 기능을 제공하지 않는다.

상세한 구현에 대한 내용 <https://github.com/elysia-dev/elyfi/tree/master/docs> 에 있다.
