Creating an asset listing proposal

The following guide will walk you through the process of adding a new token as a whitelisted currency to be deposited/borrowed in the Aave protocol.

1. Complete the the off-chain process

Details of the off-chain process, including completing the ARC and starting the AIP, can be found in the Governance Docs.

2. Prepare for the on-chain process

1. Create a Pull Request with your token parameters

  • add your token addresses to markets/aave/index.ts

  • create your reserve parameters inside markets/aave/reservesConfigs.ts

  • update the types to include your token in /helpers/types

  • add the current price in the MOCK_CHAINLINK_AGGREGATORS_PRICES object in markets/aave/commons.ts

  • create a PR with your changes

An example PR can be found here

2. Run the asset deployment script

From the protocol-v2 repository,

$ npm install

$ SYMBOL="Your Symbol" npm run external:deploy-assets-kovan to deploy on kovan

$ SYMBOL="Your Symbol" npm run external:deploy-assets-main to deploy on mainnet

This will deploy the following contracts and display the addresses:

  • AToken

  • variableDebt

  • stableDebt

  • InterestRateStrategy

You will need them for the last step.

3. Make a proposal to the Aave Governance to initialise your assets

  • Get your AIP IPFS hash here

Deploy the on-chain proposal following the instruction from the asset listing repository

4. Follow up

You will need to connect with Aave Genesis team, to add your token price oracle as a source.