Page cover image

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:

  1. 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 the Vault 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.

  2. Orchestrates staking delegation & redemption: The Vault delegates staking tokens to, and interfaces with, Validators, according to the Target Weights stored in the Registry contract. This is done using Ike's Constant Retargeting Algorithm.

  3. 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:

  1. Total Pooled: The total of all AZERO staked via the protocol.

  2. Total Shares: Denotes the total outstanding supply of sA0 created by the Vault

  3. Virtual Shares: Denotes the Virtual Shares allocated for Management Fee.

  4. 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

Logo

Copyright Water Cooler Studios, Inc. 2024