# Lending Deploy(BSC/ETH) 05-17
## General Pool:
1. 部署MSD controller
- 配置:config/commonConfig.js:
- controller: 已部署
- msdController:空
- 命令:
```
npx hardhat run scripts/0_deploy_controller.js --network bsc
```
- 将部署获得的msdController地址填入配置文件`config/commonConfig.js`中
2. 部署MSD的interest rate model
- 配置:config/commonConfig.js:
- nonStableInterestModel: 已部署
- stableInterestModel:已部署
- fixedInterestModel:空
- 命令:
```
npx hardhat run scripts/2_0_deploy_interestModel.js --network bsc
```
- 将部署获得的 fixedInterestModel 地址填入配置文件`config/commonConfig.js`中
3. 部署MSD的 implementation 和 proxy(_以 USX 为例_)
- 配置:1) config/commonConfig.js:
- msdImplementation:空
2)config/contractAddresses:
- xusd_msd[token]: 空
- 命令:
```
npx hardhat run scripts/2_1_deploy_MSD_implementation.js --network bsc
```
- 将部署获得的 msdImplementation 地址填入配置文件`config/commonConfig.js`中,获得的 USX 地址填入 `config/contractAddresses.js` 中 `xusd_msd[token]`
4. 部署剩余MSD:EUX,xBTC, xETH
- 配置:1) config/commonConfig.js:
- msdImplementation:已部署
2)config/contractAddresses:
- xusd_msd[token]: 已部署
- xeur_msd[token]: 空
- xbtc_gp[token]: 空
- xeth_gp[token]: 空
3).env
```
MSDs = '["xusd_msd","xeur_msd","xbtc_gp","xeth_gp"]'
```
- 命令:
```
npx hardhat run scripts/2_2_deploy_MSD.js --network bsc
```
- 将部署获得的 xeur_msd,xbtc_gp,xeth_gp 地址填入 `config/contractAddresses.js` 中 `xeur_msd[token]`,`xbtc_gp[token]`,`xeth_gp[token]`
5. iMSD 的 implementation(_以 iMUSX 为例_):
- 配置:config/commonConfig.js:
- iTokenImplementation:已部署
- iETHImplementation:已部署
- imsdImplementation:空
- 命令:
```
npx hardhat run scripts/3_deploy_iToken_implementation.js --network bsc
```
- 将部署获得的 imsdImplementation 地址填入配置文件`config/commonConfig.js`中
6. 部署iMSD(iMEUR,iMxBTC,iMxETH), ixMSD(iUSX,iEUX,ixBTC,ixETH):
- 配置:1) config/commonConfig.js:
- iTokenImplementation:已部署
- iETHImplementation:已部署
- imsdImplementation:已部署
2)config/contractAddresses:
- xusd_msd[iToken]: 已部署
- xeur_msd[iToken]: 空
- xbtc_gp[iToken]: 空
- xeth_gp[iToken]: 空
- xusd[iToken]: 空
- xeur[iToken]: 空
- xbtc[iToken]: 空
- xeth[iToken]: 空
3).env
```
ASSETS = '["xusd_msd","xeur_msd","xbtc_gp","xeth_gp","xusd","xeur","xbtc","xeth"]'
```
- 命令(_可分2次运行_):
```
npx hardhat run scripts/4_deploy_iTokens.js --network bsc
```
- 将部署获得的 xeur_msd,xbtc_gp,xeth_gp 地址填入 `config/contractAddresses.js` 中 `xeur_msd[iToken]`,`xbtc_gp[iToken]`,`xeth_gp[iToken]`, `xusd[iToken]`, `xeur[iToken]`, `xbtc[iToken]`, `xeth[iToken]`
7. 配置oracle, 部署lending data contract:
- 配置:config/commonConfig.js:
- lendingDataImplementation: 空
- lendingData_gp:空
- proxyAdmin: 空(deployer 为 admin)
- 命令:
```
npx hardhat run scripts/6_0_deploy_lendingData_implementation.js --network bsc
```
- 将部署获得的 lendingDataImplementation, lendingData_gp, proxyAdmin 地址填入配置文件`config/commonConfig.js` 中
## Stock Pool
1. 部署controller, MSD controller
- 配置:config/commonConfig.js:
- controller: 空
- msdController:已配置
- 命令:
```
npx hardhat run scripts/0_deploy_controller.js --network bsc
```
- 将部署获得的controller, msdController地址填入配置文件`config/commonConfig.js`中
2. 部署reward distributor
- 配置:config/commonConfig.js:
- rewardDistributor: 空
- 命令:
```
npx hardhat run scripts/1_deploy_rewardDistributor.js --network bsc
```
- 将部署获得的 rewardDistributor 地址填入配置文件`config/commonConfig.js`中
3. 已部署interest rate model, 和 MSD 的 implementation, 直接部署 4 个 MSD: xTSLA, xAPPL, xCOIN, xAMZN.
- 配置:1) config/commonConfig.js:
- msdImplementation:已部署
2)config/contractAddresses:
- xtsla_msd[token]: 空
- xappl_msd[token]: 空
- amazon_msd[token]: 空
- coinbase_msd[token]: 空
3).env
```
MSDs = '["xtsla_msd","xappl_msd","amazon_msd","coinbase_msd"]'
```
- 命令:
```
npx hardhat run scripts/2_2_deploy_MSD.js --network bsc
```
- 将部署获得的 xtsla_msd,xappl_msd,amazon_msd,coinbase_msd 地址填入 `config/contractAddresses.js` 中 `xtsla_msd[token]`,`xappl_msd[token]`,`amazon_msd[token]`,`coinbase_msd[token]`
4. 已部署 iMSD 的 imsdImplementation,部署iMSD(iMxTSLA,iMxAPPL,MxAMZN,iMxCOIN)
- 配置:1) config/commonConfig.js:
- iTokenImplementation:已部署
- iETHImplementation:已部署
- imsdImplementation:已部署
2)config/contractAddresses:
- xtsla_msd[iToken]: 空
- xappl_msd[iToken]: 空
- amazon_msd[iToken]: 空
- coinbase_msd[iToken]: 空
3).env
```
ASSETS = '["xtsla_msd","xappl_msd","amazon_msd","coinbase_msd"]'
```
- 命令(_可分2次运行_):
```
npx hardhat run scripts/4_deploy_iTokens.js --network bsc
```
- 将部署获得的 xtsla_msd,xappl_msd,amazon_msd,coinbase_msd 地址填入 `config/contractAddresses.js` 中 `xtsla_msd[iToken]`,`xappl_msd[iToken]`,`amazon_msd[iToken]`, `coinbase_msd[iToken]`
5. 配置oracle, 部署lending data contract:
- 配置:config/commonConfig.js:
- lendingDataImplementation: 已部署
- lendingData_stock:空
- 命令:
```
npx hardhat run scripts/6_1_deploy_stock_lendingData.js --network bsc
```
- 将部署获得的 lendingData_stock 地址填入配置文件`config/commonConfig.js`中
8种MSD token:
| Token Name | Token Symbol | Token Decimals |
|:--------------------- | ------------ |:-------------- |
| dForce USD | USX | 18 |
| dForce EUR | EUX | 18 |
| dForce BTC | xBTC | 18 |
| dForce ETH | xETH | 18 |
| dForce Tesla Stock | xTSLA | 18 |
| dForce Apple Stock | xAPPL | 18 |
| dForce Amazon Stock | xAMZN | 18 |
| dForce Coinbase Stock | xCOIN | 18 |
4种 iM MSD token(only borrow)
| Token Name | Token Symbol | Borrow Rate | Collateral Factor | Borrow Factor | Supply Capacity | Borrow Capacity | Distributor Factor |
|:---------- | ------------ | ----------- | ----------------- | --- | --- | --- | --- |
| dForce USD | iMUSX | 1.03 | 0 | 1 | 0 | 100000000 | 1 |
| dForce EUR | iMEUX | 1.03 | 0 | 1 | 0 | 20000000 | 1 |
| dForce BTC | iMxBTC | 0 | 0 | 1 | 0 | 400 | 1 |
| dForce ETH | iMxETH | 0 | 0 | 1 | 0 | 5000 | 1 |
4种 i MSD token(supply/borrow)
| Token Name | Token Symbol | Collateral Factor | Borrow Factor | Supply Capacity | Borrow Capacity | Distributor Factor | Liquidite Incentive | Reserve Ratio |
|:---------- | ------------ | ----------------- | ------------- | --------------- | --------------- | ------------------ | ------------------- | --- |
| dForce USD | iUSX | 0.7 | 1 | 30000000 | 30000000 | 1 | 1.07 | 0.1 |
| dForce EUR | iEUX | 0.7 | 1 | 20000000 | 20000000 | 1 | 1.07 | 0.1 |
| dForce ETH | ixETH | 0.7 | 1 | 5000 | 5000 | 1 | 1.07 | 0.1 |
| dForce BTC | ixBTC | 0.7 | 1 | 400 | 400 | 1 | 1.07 | 0.1 |
2种iToken for Stock pool
| Token Name | Token Symbol | Liquidite Incentive | Collateral Factor | Borrow Factor | Supply Capacity | Borrow Capacity | Distributor Factor | Reserve Ratio |
|:---------- | ------------ | ------------------- | ----------------- | ------------- | --------------- | --------------- | ------------------ |:------------- |
| dForce USX | iUSX | 1.2 | 0.8 | 1 | 100000000 | 0 | 1 | 0 |
| dForce EUX | iEUX | 1.2 | 0.8 | 1 | 40000000 | 0 | 1 | 0 |
4种 iM MSD Stock token(only borrow)
| Token Name | Token Symbol | Borrow Rate | Collateral Factor | Borrow Factor | Supply Capacity | Borrow Capacity | Distributor Factor |
|:---------- | ------------ | ----------- | ----------------- | --- | --- | --- | --- |
| dForce TSLA | iMxTSLA | 0 | 0 | 1 | 0 | max | 1 |
| dForce APPL | iMxAPPL | 0 | 0 | 1 | 0 | max | 1 |
| dForce AMZN | iMxAMZN | 0 | 0 | 1 | 0 | max | 1 |
| dForce COIN | iMxCOIN | 0 | 0 | 1 | 0 | max | 1 |