Collateral Module
Adapters and Auction contracts for each specific collateral type
Module Name: Collateral Module
Type/Category: DSS —> join.sol, clip.sol
1. Introduction (Summary)
The collateral module is deployed for every new ilk
(collateral type) added to Vat
. It contains all the adapters and auction contracts for one specific collateral type.
For other information related to the collateral module, read the following resources:
2. Module Details
The Collateral Module has 3 core components consisting of the join
, and flip
contracts.
The Collateral Module is built up of the following components:
Clipper Contract - see Liquidation 2.0 Documentation
3. Key Mechanism and Concepts
Summary of the Collateral Module Components
Join
- adapters that are used to deposit/withdraw unlocked collateral into theVat
. Join contains three smart contracts:GemJoin
ETHJoin
DaiJoin
.
Each of the
join
contracts are specifically used for the given token type to bejoin
'ed to thevat
. Due to this fact, eachjoin
contract has slightly different logic to account for the different types of tokens within the system.
How exactly do the Join
contracts help the MCD system operate?
Join
contracts help the MCD system operate?Join
- the purpose of join adapters is to retain the security of the system, allowing only trusted smart contracts to add/remove value to/from theVat
. The location of collateral deposited/locked in Vaults is in the respective Join adapter.
4. Gotchas (Potential sources of user error)
When a user desires to enter the system and interact with the
dss
contracts, they must use one of thejoin
contracts.If there was a contract bug in a
join
contract and a user was to calljoin
by accident, they can still retrieve their tokens back through the correspondingexit
call on the givenjoin
contract.
5. Failure Modes
There could potentially be a vat
upgrade that would require new join
contracts to be created
If a gem
contract were to go through a token upgrade or have the tokens frozen while a user's collateral was in the system, there could potentially be a scenario in which the users were unable to redeem their collateral after the freeze or upgrade was finished. This seems to be a small risk though because it would seem likely that the token going through this upgrade would want to work alongside the maker community to be sure this was not an issue.
Potential Phishing Attacks
As the MCD system evolves, we will see many more join
contracts, user interfaces, etc. This surfaces the potential for a user to have their funds stolen by a malicious join
contract which would send tokens to an external contract or wallet, instead of the vat
.
Last updated