yToken contract methods
Core lending contract
Last updated
Core lending contract
Last updated
Yupana Protocol is a decentralized lending protocol for individuals and protocols to access financial services. The protocol is permissionless, transparent, and non-custodial.
This section describes the methods of the main protocol contract. We call it yToken
.
yToken
- Core contract that manages all markets and implements interface for yToken
for each collateral provided.
Underlying asset is the real asset that is provided to the lending protocol.
yToken
token is the single token with the specific token id
inside of the core Yupana FA2; represents specific underlying asset locked in the protocol.
Collateral is the yToken
token that can be used as the collateral to take the loan.
Borrow is the amount of the underlying asset borrowed by the user (loan).
Cash is the amount of the underlying asset present on the contract (not borrowed).
Reserves value is the amount of the underlying asset stored in the protocol.
Collateral Factor is the rate represents by which the borrow limit increases if the yToken
is minted.
Close Factor is the max portion of the loan that can be liquidated per single transaction.
Reserve Factor is the rate that represents what part of the interest goes to the protocol reserves.
Liquidation discount is the rate that the liquidator will earn if liquidate the asset.
User of protocol allowed to perform actions:
mint - add a token as a collateral. It allows you to add a token to our system.
redeem - designed to withdraw tokens from the platform.
borrow - for borrowing a token. Implemented the logic of freezing collateral tokens when borrowing a token.
repay - designed to repay debt.
liquidate - allows another user to liquidate someone's debt.
enterMarket - allows you to designate that this token will be used as collateral.
exitMarket - allows you to indicate that this token is no longer used as collateral.
More detailed explanation of calling and using methods is described in the linked section.
FA2 token inteface consist of this entrypoints:
transfer - for sending tokens.
update_operators -for allowing other user or contract to be "operator
" of sender
tokens.
balance_of - on-chain view to get balance by owner
and token_id
of a requested token.
get_total_supply - on-chain view to get balance of all token supply by token_id
.
More about FA2
contract described in corresponding section.
yToken
contract is managed by admin
address.
Admin is responsible for the initial setup of the contract, especially setting lambda functions, that contains the main codebase of the contract.
Also, admin adds new markets, adjust lending factors, pauses borrows, updates meta, etc.
admin
abilities are explained in the related section.
All usage examples use JS/TS and Python example calls with and libraries.
Before any of the methods would be called, should be executed and methods in the same block.
Contract serves FA2
token for each underlying asset by token_id
. So, the contract should implement proposal about FA2
token standard.