Liquid (transferable) stakes for HEX with optional shared reward pool. Basically this allows you to stake HEX with the contract and get a LiquidStake NFT for that. The nice thing is that the Token ID of this NFT equals the HEX Stake ID.
The code for this is minimal and can fit on a single screen: LiquidStake.sol
You can get a good understanding of this by reading the test case.
- No admin key
- Unstoppable, unpausable, no governance functionality
- Test suite
- Audited (post-launch by donations?)
- Can be gifted
- Can be inherited
- Can be moved in case your wallet got compromised
- Tradeable on secondary markets (not necessarily a benefit for HEX stakers?)
- Can be borrowed against (in theory)
- It's like a HEX bond and facilitates HEX yield curves by market pricing of short term stakes vs long term stakes
- Can be generally used in other DeFi protocols which will increase adoption and solidifies HEX market position via network effects (see Protocol Sink Thesis)
This contract can also be deployed with a Rewards pool. Users of the LiquidStakeDAO (LSD) token could claim their portion of the fees generated by the main contract.
In order to distribute the LSD token, this repository also includes an optional farming contract: The system can have a fair launch with all LSD tokens distributed to users of the protocol (no team allocation etc.). How is this possible? By staking your LiquidStake NFT into the farming contract and get rewarded with LSD. The amount decreases every month so the earlier adopters are still able to get an advantage.
Run tests like this:
brownie test --network mainnet-fork
NOTE: THIS IS A PROTOTYPE AND BASICALLY A PROGRAMMING EXERCISE AND NOT MEANT TO BE DEPLOYED.
Deploy like this:
brownie run scripts/deploy.py