The Leequid smart contracts for liquid non-custodial LUKSO staking.
This repository is a fork from the StakeWise smart contracts for LUKSO LSPs compatibility.
All audit reports are presented in the audits folder
Refer to the official LEEQUID documentation for a detailed description of the protocol.
The Pool contract is an entry point for deposits into the StakeWise Pool. This contract stores LYX collected from the users before it is sent to the LYXE Validator Registration Contract.
The StakedEthToken is a LSP7 contract. It reflects the deposits made by the stakers in the form of sLYX tokens. The tokens are mapped 1 to 1 to LYX. The total supply of sLYX is the sum of all the Leequid Pool's validators' effective balances, plus an additional amount of up to (32 LYX - 1 Wei) LYX awaiting inclusion into a new validator.
The Rewards is reflects the rewards accumulated by the stakers. It is the contract where user can cash-out/withdraw their rewards, and claim their unstakes.
Oracles contract stores accounts responsible for submitting or updating values based on the off-chain data.
NB! You would have to define the initialize
function for the contracts that don't have it when deploying for the first time.
-
Install dependencies:
yarn install
-
Compile optimized contracts:
yarn compile --optimizer
-
Create a
.env
file in your project directory. You can use the provided.env.template
file as a starting point. Modify the values in the.env
file, including the private key and any other required variables. -
(Optional) Update network parameters in
hardhat.config.js
if required. Learn more at Hardhat config options. -
Change settings if needed. This contains the proxy contract addresses and other settings.
-
Deploy StakeWise contracts to the selected network:
yarn deploy-contracts --network rinkeby
See Local Tests & Integration Tests for more information.
Development of the project happens in the open on GitHub, and we are grateful to the community for contributing bug fixes and improvements.
The project is GNU AGPL v3.