Notes

  • If you only provide liquidity to a lending market (and not borrow), there is no risk associated with depositing your sl-Tokens in the rewards pools.

  • If you have open borrow positions, ensure that there is enough collateral left behind to cover your loan positions when depositing a portion of your collateral in the rewards pools.

  • The SiennaLend contracts are written using a derive-contract macro from fadroma, message names (in PascalCase) are derived from method names (snake_case).

  • In order for the contracts to be able to read the necessary private data internally we have used what is called a MasterKey. It is a single viewing key shared throughout the protocol. The MasterKey is only known by the contract internally and cannot be queried or extracted.

  • Some information (such as loans up for liquidation) has to be shared in order for the protocol to work as intended. In order for this information to be visible without knowing whose address it is tied to we have introduced IDs throughout the protocol. These IDs are issued by the Market contract once for each user (at the first borrow. This way liquidators can view relevant information for a loan without knowing who the loan is tied to. An ID is a sha256 hash derived from an address + seed. Each market has its own private seed, issued during init, so a single user address will have a different ID in each market.

SiennaLend Mechanics Diagram

Last updated