Skip to content

Commit

Permalink
fixed tokens creation
Browse files Browse the repository at this point in the history
  • Loading branch information
Robsonsjre committed May 28, 2021
1 parent 671ba6f commit d347b7e
Showing 1 changed file with 25 additions and 32 deletions.
57 changes: 25 additions & 32 deletions tasks/local/setupLocal.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,43 +10,37 @@ task('setupLocal', 'Deploy a whole local test environment')
// Erasing local.json file
await saveJSON(path, '', true)

// 1) Setup mock assets
const mockWETH = await run('deployToken', { name: 'weth', symbol: 'weth', decimals: '18', weth: true })

const mockUSDC = await run('deployToken', { name: 'USDC Token', symbol: 'USDC', decimals: '6' })

const mockAUSDC = await run('deployToken', { name: 'AUSDC Token', symbol: 'AUSDC', decimals: '6' })

const mockDAI = await run('deployToken', { name: 'DAI Token', symbol: 'DAI', decimals: '18' })

const mockWBTC = await run('deployToken', { name: 'Wrappeed BTC', symbol: 'WBTC', decimals: '8' })

const mockLINK = await run('deployToken', { name: 'LINK Address', symbol: 'LINK', decimals: '18' })

const tokensObj = {
WETH: mockWETH.address,
USDC: mockUSDC.address,
AUSDC: mockAUSDC.address,
DAI: mockDAI.address,
WBTC: mockWBTC.address,
LINK: mockLINK.address

const tokensObj = {}
const tokensList = [
{ name: 'weth', symbol: 'weth', decimals: '18', weth: true },
{ name: 'USDC Token', symbol: 'USDC', decimals: '6' },
{ name: 'AUSDC Token', symbol: 'AUSDC', decimals: '6' },
{ name: 'DAI Token', symbol: 'DAI', decimals: '18' },
{ name: 'Wrappeed BTC', symbol: 'WBTC', decimals: '8' },
{ name: 'LINK Address', symbol: 'LINK', decimals: '18' }
]

for (const tokenObj of tokensList) {
console.log(tokenObj)
const tokenAddress = await run('deployToken', tokenObj)
tokensObj[tokenObj.symbol.toUpperCase()] = tokenAddress
}

await saveJSON(path, tokensObj)

const configurationManagerAddress = await run('deployConfigurationManager')

// 2) Setup Chainlink (Oracle) Mock
const ChainlinkWBTCFeed = await ethers.getContractFactory('MockChainlinkFeed')

const chainlinkWBTCFeed = await ChainlinkWBTCFeed.deploy(mockWBTC.address, '8', '37170000000000')
const chainlinkWETHFeed = await ChainlinkWBTCFeed.deploy(mockWETH.address, '8', '1270000000000')
const chainlinkLINKFeed = await ChainlinkWBTCFeed.deploy(mockLINK.address, '8', '2496201073')
const chainlinkWBTCFeed = await ChainlinkWBTCFeed.deploy(tokensObj.WBTC, '8', '37170000000000')
const chainlinkWETHFeed = await ChainlinkWBTCFeed.deploy(tokensObj.WETH, '8', '1270000000000')
const chainlinkLINKFeed = await ChainlinkWBTCFeed.deploy(tokensObj.LINK, '8', '2496201073')

await saveJSON(path, { wbtcChainlinkFeed: chainlinkWBTCFeed.address })

// 3.2) Deploy BS + IV + AMMPoolFactory + Oracles
await run('setAMMEnvironment', { asset: mockWBTC.address, source: chainlinkWBTCFeed.address, configuration: configurationManagerAddress, builders: true })
await run('setAMMEnvironment', { asset: tokensObj.WBTC, source: chainlinkWBTCFeed.address, configuration: configurationManagerAddress, builders: true })

// 3.3) Deploy Option Exchange
const _filePath = pathJoin.join(__dirname, path)
Expand All @@ -55,10 +49,8 @@ task('setupLocal', 'Deploy a whole local test environment')
// Set WETH price Provider
const priceProvider = await ethers.getContractAt('PriceProvider', JSON.parse(content).PriceProvider)

await priceProvider.setAssetFeeds([mockWETH.address], [chainlinkWETHFeed.address])
await priceProvider.setAssetFeeds([mockLINK.address], [chainlinkLINKFeed.address])

const optionAMMFactory = JSON.parse(content).OptionAMMFactory
await priceProvider.setAssetFeeds([tokensObj.WETH], [chainlinkWETHFeed.address])
await priceProvider.setAssetFeeds([tokensObj.LINK], [chainlinkLINKFeed.address])

// 4) Deploy Test Option
const currentBlockTimestamp = await getTimestamp()
Expand Down Expand Up @@ -90,27 +82,28 @@ task('setupLocal', 'Deploy a whole local test environment')
// 5) Create AMMPool test with this asset
const optionAMMPoolAddress = await run('deployNewOptionAMMPool', {
option: optionWBTCAddress,
tokenb: mockUSDC.address,
tokenb: tokensObj.USDC,
initialiv: '770000000000000000', // 0.77%
cap: '500000'
})

const optionAMMETHPoolAddress = await run('deployNewOptionAMMPool', {
option: optionWETHAddress,
tokenb: mockUSDC.address,
tokenb: tokensObj.USDC,
initialiv: '2000000000000000000',
cap: '500000'
})

const optionLINKPoolAddress = await run('deployNewOptionAMMPool', {
option: optionLINKAddress,
tokenb: mockUSDC.address,
tokenb: tokensObj.USDC,
initialiv: '2311200000000000000',
cap: '500000'
})

// 6) Mint Strike Asset
console.log('Minting USDC strike asset')
const mockUSDC = await ethers.getContractAt('MintableERC20', tokensObj.USDC)
await mockUSDC.mint('10000000000000000')

// 7) Mint Options
Expand Down

0 comments on commit d347b7e

Please sign in to comment.