Hi Everyone,
As someone who regularly stares at MakerDAO vault parameters and frequently sees debt ceilings getting maxed, I wanted to learn how to use the DC IAM functions in order to automatically adjust the debt ceilings when possible. @hexonaut was kind enough to educate me on the process and thought it prudent to share what I learned. So if you see a vault type maxed out (or too low) follow this guide in order to raise it further.
Step 1 - Determine the hex code
Every vault type has a hexadecimal string associated with its name. We can determine what this is based on the name of the vault and then converting it into hex code.
Example
Let’s use ETH-A as an example. Head over to ASCII to Hex | Text to Hex Code Converter and input “ETH-A” into the blank field
To determine the code needed to enter into the IAM contract we add 0x in front to get 0x4554482d41. Lastly we need to ensure the code is 66 characters long so we need to add 54 zeroes for a final input of 0x4554482d41000000000000000000000000000000000000000000000000000000
We can repeat this step for any other vault name to get the code associated with that vault type.
Step 2 - Input code into the IAM contract
The contract can be found here - https://etherscan.io/address/0xc7bdd1f2b16447dcf3de045c4a039a60ec2f0ba3#writeContract
Connect to Web3 then head down to “2. exec”. Under “_ilk (bytes32)” is where you will enter the hex code for the vault you wish to adjust. Enter the corresponding code here and hit write!
Send the transaction and you’ve just adjusted the debt ceiling! Make sure that the ttl
(12 hours as of now) has passed or the transaction will fail.
Bonus - Checking the last time the IAM was executed
In order to find out whether it has been more than 12 hours since the IAM was executed so you don’t waste gas, you can do the following.
In the etherscan contract go to the “events” tab and you will see a list of all transactions by date. Look for the latest transaction that includes the hex code (under “[topic1]”) of the Vault you would like to check and the corresponding date (far left). If its been more than 12 hours you’re good!
Thanks for participating in keeping the Maker system healthy!
Below is a list of all active IAM’s and their corresponding hex codes so you don’t have to figure it out for yourself.
ETH-A - 0x4554482d41000000000000000000000000000000000000000000000000000000
ETH-B - 0x4554482d42000000000000000000000000000000000000000000000000000000
WBTC-A - 0x574254432d410000000000000000000000000000000000000000000000000000
AAVE-A - 0x414156452d410000000000000000000000000000000000000000000000000000
COMP-A - 0x434f4d502d410000000000000000000000000000000000000000000000000000
LINK-A - 0x4c494e4b2d410000000000000000000000000000000000000000000000000000
UNI-A - 0x554e492d41000000000000000000000000000000000000000000000000000000
YFI-A - 0x5946492d41000000000000000000000000000000000000000000000000000000
Easy Mode
@BrianMcMakerDAO was kind of enough to create a contract to automatically adjust all available IAMs. All you have to do is “write” to the “1. bat”. Thanks Brian!