The Path to UDT!

Our Unlock Discount Tokens will ensure the self-sustainability and full decentralization of the Unlock Protocol. This doc explains the steps to reach a point where UDT are live on mainnet.

Release UDT minting

  1. Upgrade to v8 (thru Multisig) : #25 on Unlock's team Gnosis Multisig

  2. Use zos to deploy the UDT ERC20 contract from a "known" address (deploying from a known address is easier than from the multisig... later in the process, we transfer back control to the multisig). transaction, contract

  3. Premine 1,000,000 tokens (this has very little impact on long term behavior of the protocol, but allows to work on liquidity in the early days): transaction

  4. Add Unlock Protocol contract as minter so that new tokens can be created upon key purchases: transaction

  5. Create Eth-UDT pair on Uniswap for the purpose of providing a market rate to UDT. contract, transaction, contract, Uniswap

  6. Deploy Oracle for Uniswap in order to collect UDT price from pool. transaction, contract.

  7. Configure Unlock to point to right UDT token, Wrapped Eth, gas estimate, symbol.. etc (transaction #26 on Multisig)

  8. Set Oracle in Unlock: transaction #27 on Multisig.

After this, we checked that everything worked as expected, by sending the following key purchase: https://etherscan.io/tx/0xb0e5f95ea980c1f096a841e5507f465827411cc29f80f8b95971a5241d9e81bb. Some UDT were minted, some of it went to the referrer, some of it to multisig as dev reward! 🎉

  1. Forfeit minter role for "known" address: transaction. After that only the Unlock Contract can mint tokens!

Release UDT governance

In this step, we want to enable UDT holders to vote on upgrades. In practice this means we'll be moving away from the Unlock Inc Multisig toward some DAO where UDT represents "shares" and proposal (upgrades) are voted on by UDT holders.