Migration
Pausing v1 Regulation
The first step in the migration process is to pause supply regulation in the current DAO, preparing the ESD token to transition to a solely seignorage share.
Along with this, lockups will be returned to the minimum 1
epoch to allow ample time for users to choose whether they would like to migrate to v2 via ESD
or ESDS
.
At this time coupon underlying will become immediately redeemable.
Governance Transition
During preparation for the migration we will leave the governance system in tact as we prepose a series of EIPs. Once the migration is setup and ready to be kicked off will be turned off, making v1 immutable, ensuring a safe transition as voting power moves from v1 to v2.
Migration Helpers
We will add a new Migrator
contract that will control conversion from v1 ESD
and ESDS
into v2 ESDS
.
This contract will be granted permission to burn v1 ESDS
on behalf of users via a proposal, in order to facilitate 1:1 ESDS to ESDS migration. Users will need to individually approve the Migrator contract to spend their v1 ESD
to migrate 1:n
to v2 ESDS
per the finalized exchange rate.
V1 Proposals
The migration process will be facilitated by a series of proposals to the current ESD DAO. These proposals passing will also de facto approve the Continuous ESD upgrade. Subject to change, our current idea of what these proposals will look like are:
EIP-23: Pause Regulation
Remove all supply regulation for the current ESD
token, and release all unnecessary restrictions so users may prepare their positions for migration.
Remove stability reward
Remove supply
Set debt to 0
Set lockups to 1
Unlock coupons for immediate underlying redemption
Finalize ESD:ESDS exchange rate
EIP-24: Remove Bonding
Remove the ability to bond and unbond ESD in v1 to reduce overall mechanism complexity preparing for the permanent migration state.
Remove bonding system
Burn bonded ESD
EIP-25: Enable Migration
Add necessary migration hooks, disable v1 governance in favor of v2 governance.
Add "burn v1 ESDS" migration hook
Enable Pool withdrawal bypass via
emergencyWithdraw()
hooksDisable governance, make ownable by v2 DAO
Last updated