Below you will find a brief descriptive overview for each of the primary smart contracts in Ubiquity's collateralized dollar protocol, along with hyperlinks to their source code on Github.
Our initial deployment of the Proxy Yield Aggregator, which does not understand the concept of the global system debt clock (the current rate of depreciation for uAR tokens) and does not tokenize the user's position upon deposit.
[github]
Imports the ABDKMathQuad library, a Solidity library of mathematical functions which utilize IEEE 754 quadruple-precision binary floating-point numbers (created by ABDK), to define max() and add() functions.
Deprecated contract for bonding deposits, withdrawals and minting. See BondingV2.sol for the upgraded contract.
Ubiquity Dollar's Bonding contract, which handles staking deposits, withdrawals, and minting. Also allows the BondingManager to take emergency action in raising or lowering the price of uAD by removing uAD or 3CRV LP tokens from the pool, respectively (see functions addLiquidity
and removeLiquidity
).
The BondingManager has unilateral access to the bonding contract's minting and pool adjustment functions. This permissioned wallet is currently operated by the development team, as per the initial DAO governance operations period outlined here. This will be changed following the DAO's continued governance rollout, and manual utilization of these functions using the manager address will only take play via governance votes.
Also contains disabled functions used for the migration from the bonding v1 contract to the v2 contract (see Bonding v2 Upgrade for more).