Background
Harmony tokens are staked into our network to secure the network and earn block rewards at around 10% APY in the current stage. However, those staked tokens are not able to participate in any of the DeFi projects in the ecosystem. The staking transactions are executed in a different logic other than the normal transaction. Users can either send a normal transaction to do a transfer, call an EVM smart contract, or make a staking transaction. This approach has restricted the use of staking protocol, and some DeFi products, E.g. liquidity staking, does not have access to the staking assets in consensus.
Other PoS blockchains, such as LiDo Finance on Ethereum 2, staking partners can mint stETH to their staking customers, similar to the LP token of liquidity providers. The staking derivatives such as stETH can be used to participate in other DeFi projects as collateral or for trading purposes. Many other staking services on Ethereum 2 offered similar staking tokens as a way to provide liquidity of the staked tokens.
Objectives
To improve the composability of the staking protocol and increase the efficiency of the staked capitals, we would expose the staking information and staking actions to all the DeFi projects on Harmony via precompiles and caller libraries. All the DeFi projects deployed to Harmony blockchain can utilize the libraries to build lending protocols, vaults, or universal basic income projects.
Milestones
Staking Support for MetaMask
Additionally, staking smart contract support should allow wallet like MetaMask to support staking functionalities for the end users directly as a smart contract call. Besides the staking as a smart contract library milestone, we also need to update our staking dashboard to support staking via smart contract calls so MetaMask users can do staking too. For wallet like MetaMask which didn’t integrate natively without staking transaction logic, the staking dashboard should instead call the staking smart contract library to achieve staking for the end users.
This will allows almost all wallets that support smart contract calls to be working also as a staking wallet, giving users more options for staking and setting the ground for subsetting out chrome extension wallet.