The Liquid Staking of QuarryDraw is an adaptation of BenQI's liquid staking, it introduces a new ERC20: qdAVAX the QuarryDraw liquid staked AVAX. Quarry Draw adds the role of arbitrageurs within the logic. It's role is to provide liquidity for people that are wating to exit their position from the liquid staking. The earlier they provide liquidity the bigger the discount they'll recieve on redeemed qdAVAX.
This project uses a gas-optimized reference implementation for EIP-2535 Diamonds. To learn more about this and other implementations go here: https://github.com/mudgen/diamond
This implementation uses Hardhat and Solidity 0.8.*
- Clone this repo:
git clone git@github.com:Puddi1/QD-LiquidStaking-Contracts.git
- Install NPM packages:
cd QD-LiquidStaking-Contracts
npm i
To compile the contracts in ./contract
run:
npx hardhat compile
Their artifacts will be placed in ./artifacts/contracts
To run test, which are stored in ./test
run:
npx hardhat test
Deployments scripts are handled in ./scripts
, to deploy:
npx hardhat run scripts/deploy.js