Deploy Bob Swap and print addresses; refactor

This commit is contained in:
Oskar Thoren 2021-02-02 12:26:10 +08:00
parent 4d9e7e8660
commit 711c7a7884
No known key found for this signature in database
GPG Key ID: BDB55C8C0EF29911
1 changed files with 22 additions and 12 deletions

View File

@ -1,33 +1,43 @@
const hre = require("hardhat");
async function main() {
// Deploy ERC20 Token
var signers = await ethers.getSigners();
var firstAddress = signers[0].address;
var aliceAddress = signers[0].address;
var bobAddress = signers[1].address;
var DEFAULT_HARDDEPOSIT_DECREASE_TIMEOUT = ethers.BigNumber.from(86400)
// Deploy ERC20 Token
const ERC20 = await hre.ethers.getContractFactory("ERC20PresetMinterPauser");
var erc20 = await ERC20.deploy("TestToken", "TEST");
await erc20.deployed();
console.log("ERC20: ", erc20.address);
console.log("ERC20:", erc20.address);
// Deploy SwapFactory
const SimpleSwapFactory = await hre.ethers.getContractFactory("SimpleSwapFactory");
var simpleSwapFactory = await SimpleSwapFactory.deploy(erc20.address);
await simpleSwapFactory.deployed();
console.log("SimpleSwapFactory: ", simpleSwapFactory.address);
console.log("SimpleSwapFactory:", simpleSwapFactory.address);
// Deploy Swap
var resp = await simpleSwapFactory.deploySimpleSwap(firstAddress, DEFAULT_HARDDEPOSIT_DECREASE_TIMEOUT)
console.log("deploySimpleSwap resp:", resp)
// Get contract interface to parse logs
var logs = await ethers.provider.getLogs({address: simpleSwapFactory.address});
// Setup Swap contract interface to parse logs
var swapFactoryArtifact = await artifacts.readArtifact("SimpleSwapFactory");
var swapFactoryInterface = new ethers.utils.Interface(swapFactoryArtifact.abi);
var ERC20SimpleSwapAddress = swapFactoryInterface.parseLog(logs[0]).args.contractAddress
console.log("ERC20SimpleSwapAddress ", ERC20SimpleSwapAddress)
// Deploy Alice Swap and get address
var resp = await simpleSwapFactory.deploySimpleSwap(aliceAddress, DEFAULT_HARDDEPOSIT_DECREASE_TIMEOUT)
var logs = await ethers.provider.getLogs({address: simpleSwapFactory.address});
var AliceSwapAddress = swapFactoryInterface.parseLog(logs[0]).args.contractAddress
// Deploy Bob Swap and get address
var resp = await simpleSwapFactory.deploySimpleSwap(bobAddress, DEFAULT_HARDDEPOSIT_DECREASE_TIMEOUT)
var logs = await ethers.provider.getLogs({address: simpleSwapFactory.address});
var BobSwapAddress = swapFactoryInterface.parseLog(logs[0]).args.contractAddress
// TODO Setup node to work against for persistence
console.log("Alice address:", aliceAddress);
console.log("Bob address:", bobAddress);
console.log("AliceSwapAddress:", AliceSwapAddress)
console.log("BobSwapAddress:", BobSwapAddress)
}
// We recommend this pattern to be able to use async/await everywhere