Core Smart Contracts
These are the core contracts that make up the protocol along with their uses and functions.
The Vault Contract
The Vault
contract sits at the heart of the Kinstu Liquid Staking process. This contract is the user-facing entry point to the Ike Protocol, and serves a number of functions:
User entry point: The
Vault
is the user-facing interface to the protocol. Users who want to participate in staking yield can deposit AZERO to theVault
contract and receive sA0 tokens in return. Users can also request to redeem their sA0 for staked AZERO along with their pro-rata share of the yield accrued by the protocol.Orchestrates staking delegation & redemption: The
Vault
delegates staking tokens to, and interfaces with, Validators, according to the Target Weights stored in theRegistry
contract. This is done using Ike's Constant Retargeting Algorithm.Calculates Protocol Fees: The
Vault
calculates and stores Virtual Shares used to facilitate protocol Management Fees. For more information, see the docs on Governance & Management Fees.
Vault Functions
The Vault
contract contains the Staking Functions and Unstaking Functions.
Vault Contract Variables
The Vault keeps track of a number of metrics. These include:
Total Pooled: The total of all AZERO staked via the protocol.
Total Shares: Denotes the total outstanding supply of sA0 created by the Vault
Virtual Shares: Denotes the Virtual Shares allocated for Management Fee.
Fee Percentage: Denotes the protocol's annualized Management Fee.
Note: the Redemption Ratio is not stored as a variable, however theVault
contract contains methods to calculate it in both directions (from sA0 to AZERO, and vice versa).
The Registry Contract
The Registry
smart contract maintains a list of Validators that are actively participating in the Ike protocol, along with a set of Target Weights for allocation of staked AZERO to those Validators.
Registry Contract Variables
Target Weights
These weights represent the target percentage of the total amount of staked AZERO allocated to each Validator. These target weights are meant to uphold decentralization of the protocol, and will be set by Governance in a decentralized way.
The Share Token Contract
The share_token
contract is the core contract of the sA0 token. It is a PSP22 token contract.
Last updated