[feature] Single sided Liquidity Provision

This feature is an implementation of being able to stake funds with a single asset. In a non-THORChain asset, if they stake solely that asset, we have no native address to send the tokens that represent ownership of that pool. Instead, they are awarded staker units, which are non-transferable. Also, there is no current mechanism to add the other asset later, to this stake. This means the staker will lose on staking (via arbs), they lose a second time on withdrawing (via arb).

This can be a significant issue if someone stakes with a small number of funds in the beginning, then the pool/assets perform extremely well. The withdrawal could be a significant amount of money, in which they are trapped to lose.

In addition, the behavior of the number of units a staker gets while staking a single asset has unusual behavior at the moment. Will need to do some work to validate the algo in these cases.

Merge request reports

Loading