Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

eSNX an ERC-20 token redeemable for escrowed SNX #90

Closed
kaiynne opened this issue Feb 25, 2020 · 1 comment
Closed

eSNX an ERC-20 token redeemable for escrowed SNX #90

kaiynne opened this issue Feb 25, 2020 · 1 comment

Comments

@kaiynne
Copy link
Contributor

kaiynne commented Feb 25, 2020

As part of our ongoing trial of the SNX auction mechanism we need a way to automatically distribute escrowed SNX. This has previously been either manually administered or implemented at the protocol level, eg. SNX staking rewards. However, this creates a lack of flexibility in how escrowed SNX is distributed. This issue proposes a contract that enable three functions:

  1. minting eSNX (private function) - as part of the Synthetix Inflationary supply the RewardsDistribution contract will be configured to send an amount of SNX to this eSNX Contract and then call RewardsDistributionRecipient.notifyRewardAmount(amount) so eSNX can mint eSNX the equal amount of eSNX for SNX then send the SNX to the RewardsEscrow contract and send the eSNX minted to the configurable(ownerOnly) auction contract address.

  2. minting eSNX (public function) - after calling SNX.approve(amount, eSNXAddress) anyone can call this function with an amount of SNX to transfer it to the escrow contract and mint eSNX and send back to the caller so they can sell escrowed SNX.

  3. eSNX redemption (public function)- sending eSNX to the contract will burn eSNX and create a vesting entry in the escrow contract.
    Note: this is not currently possible other than some access given via the FeePool

This will allow for a transferable version of escrowed SNX that can be used to incentivise beneficial actions for the protocol. This eSNX will not function as collateral and can only be converted to SNX once and will then be locked to the account it is assigned to.

@CryptoToit
Copy link
Contributor

Very cool idea.

Can this not also be used in the future "Liquidation" mechanism we have been talking about a lot in the past? If an account get partially or completely liquidated there has to be a way to get access to the Escrowed SNX. This could work perfectly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants
@kaiynne @CryptoToit @kaleb-keny and others