BIP-0009: Add DLLR and Migrate ZUSD Liquidity

BIP-0009: Add DLLR and Migrate ZUSD Liquidity
Status: Ready-To-Vote

Description

By voting to approve this proposal, FISH Bitocracy approves:

  1. Adding DLLR as a supported bAsset to the BabelFish aggregator

    • Address: 0xc1411567d2670e24d9C4DaAa7CdA95686e1250AA
  2. Authorizing the BabelFish multisig to migrate ZUSD held in the BabelFish aggregator to DLLR via Mynt, then depositing the resulting DLLR into the BabelFish aggregator to restore full backing. See implementation section below for details.

Motivation

The Sovryn community recently launched a new protocol called Mynt that issues a BTC-backed stablecoin called the Sovryn Dollar (DLLR). Mynt is a fork of BabelFish that aggregates multiple stablecoins that are exclusively backed by BTC. By aggregating multiple stablecoins, DLLR is designed to be more resilient and scalable than any individual stablecoin backing it. By exclusively aggregating BTC-backed stablecoins, DLLR comes closer than any other stablecoins to achieving the cash-like, censorship-resistant qualities of BTC. The authors believe these qualities make DLLR an excellent candidate for the BabelFish aggregator.

Currently DLLR supports DOC and ZUSD as collateral. Since DLLR is able to aggregate these stablecoins together, and simultaneously provide liquidity between them and other assets that DLLR trades against, we believe it would be beneficial to the user experience for BabelFish to convert the ZUSD held in its aggregator into DLLR. Additionally it opens the possibility to lend out a portion of aggregated DLLR on Sovryn platform to earn yield.

Implementation

The migration will be implemented as follows:

  1. A new ERC-20 token contract for a token called “MIGRATE2” will be deployed. The MIGRATE2 contract will have the following features:

    • A role called OWNER. Only the OWNER can change the address currently assigned the OWNER role.
    • A mint function that can mint a specified number of tokens to the caller’s address. Only the OWNER can call the mint function.
    • A burn function that can burn a specified number of tokens owned by the caller’s address. Anyone can call the burn function.
    • All other basic ERC-20 token functions e.g. approve, transfer, etc.
  2. DLLR and MIGRATE2 will be added as supported bAssets to the BabelFish aggregator.

  3. An amount of MIGRATE2 equivalent of the current balances of ZUSD held by BabelFish will be minted and deposited into BabelFish in exchange for XUSD. The XUSD will then be redeemed to withdraw ZUSD from the aggregator.

  4. The ZUSD from step (3) will be deposited into Mynt in exchange for an equivalent amount of DLLR. The DLLR will then be deposited into BabelFish in exchange for XUSD.

  5. The XUSD minted in prior step (4) will be used to withdraw the full balance of MIGRATE2, leaving BabelFish with the original supply of XUSD and reserves that it started with at the beginning of this migration process.

  6. MIGRATE2 will be removed as a supported bAsset from the BabelFish aggregator.

  7. The outstanding supply of MIGRATE2 tokens will be burned using the burn function on the MIGRATE2 token contract. Minting capabilities on the MIGRATE2 token contract will also be burned by transferring ownership to the 0x0 address.

Github: