# dai-plugin-mcd A [Dai.js](https://github.com/makerdao/dai.js) plugin for interacting with the multi-collateral dai contracts ### Example usage ```js import { McdPlugin, ETH, REP, DAI } from '@makerdao/dai-plugin-mcd'; import Maker from '@makerdao/dai'; import { createCurrency } from '@makerdao/currency'; import { tokenAddress, tokenAbi } from 'someOtherTokenData'; const TOK = createCurrency('TOK'); const maker = await Maker.create('http', { // ...other configuration... plugins: [ [ McdPlugin, { // omit this option to get the default set: // ETH-A, ETH-B, REP-A cdpTypes: [ { currency: ETH, ilk: 'ETH-A' }, { currency: REP, ilk: 'REP-A' }, { currency: TOK, ilk: 'TOK-Z', address: tokenAddress, abi: tokenAbi }, ] } ] ] }); await maker.service('proxy').ensureProxy(); const cdpManager = maker.service('mcd:cdpManager'); const cdp1 = await cdpManager.openLockAndDraw('REP-A', REP(50), DAI(1000)); const cdp2 = await cdpManager.openLockAndDraw('ETH-A', ETH(50), DAI(1000)); const cdp3 = await cdpManager.openLockAndDraw('TOK-Z', TOK(50), DAI(1000)); ``` Please visit [docs.makerdao.com](https://docs.makerdao.com/building-with-maker/daijs) for more documentation. ### Developer notes The MCD contracts store the stability fee per second in a variable called `tax` as a number in the form 1.X _ 10^27 (e.g. `1000000000472114805215157978`), and the base rate in a variable called `repo` as a number in the form 0.X _ 10^27. In this plugin, the `getAnnualStabilityFee()` and get `getAnnualBaseRate` functions convert those values to return a decimal representation of the yearly rates (e.g. `0.015` and `0.01`). Run the tests from the top-level dai.js directory. ### Local Development Due to the way that Babel7 handles transpilation it is not possible to use `yarn link` when locally developing this plugin, and importing it. We recommend using [yalc](https://github.com/whitecolor/yalc) instead. We've also found that a watcher tool called [sane](https://github.com/amasad/sane) is helpful. Steps to Run: 1. In this directory run ```sane "yalc publish && cd [INSERT THE DIRECTORY OF THE PROJECT THAT IS IMPORTING THIS PLUGIN] && yalc link @makerdao/dai-plugin-mcd" src --wait=3
```