Skip to content

Commit 9006655

Browse files
committed
add deployer with enhancedStepsReserve
1 parent 1d8ef4d commit 9006655

File tree

7 files changed

+342
-39
lines changed

7 files changed

+342
-39
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,5 @@ jspm_packages
4343
.DS_Store
4444

4545
report
46+
47+
.env

buidler.config.js

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,4 +151,17 @@ module.exports = {
151151
mocha: {
152152
enableTimeouts: false
153153
}
154-
};
154+
};
155+
156+
require('dotenv').config()
157+
158+
const INFURA_API_KEY = process.env.INFURA_API_KEY
159+
const PRIVATE_KEY = process.env.PRIVATE_KEY
160+
161+
if (INFURA_API_KEY != undefined && PRIVATE_KEY != undefined) {
162+
module.exports.networks.ropsten = {
163+
url: `https://ropsten.infura.io/v3/${INFURA_API_KEY}`,
164+
accounts: [PRIVATE_KEY],
165+
timeout: 20000
166+
}
167+
}

package-lock.json

Lines changed: 43 additions & 38 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
"chai-as-promised": "7.1.1",
2424
"compare-versions": "3.5.1",
2525
"ethers": "5.0.4",
26+
"dotenv": "^8.2.0",
2627
"ganache-cli": "6.8.2",
2728
"mathjs": "4.4.2",
2829
"rlp": "2.2.4",
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
2+
# Step to deploy reserve:
3+
### Tranditional way:
4+
- config the .env variable *PRIVATE_KEY*
5+
- run command
6+
```
7+
node web3deployment/reserveDeploy/fpr/enhancedStepsDeployer2.js --rpcUrl https://ropsten.infura.io/v3/YOUR_INFURA_ID --gas-price-gwei 5
8+
```
9+
10+
### Buidler way:
11+
- config the .env varialbe *PRIVATE_KEY* and *INFURA_API_KEY*
12+
- run command
13+
```
14+
npx buidler run --no-compile --network ropsten web3deployment/reserveDeploy/fpr/enhancedStepsDeployer.js
15+
```
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
const KyberReserveHighRate = artifacts.require("KyberReserveHighRate.sol");
2+
const ConversionRateEnhancedSteps = artifacts.require("ConversionRateEnhancedSteps.sol");
3+
const WrapConversionRateEnhancedSteps = artifacts.require("WrapConversionRateEnhancedSteps.sol");
4+
5+
const BN = web3.utils.BN;
6+
7+
let reserve;
8+
let reserveAddr;
9+
let conversionRate;
10+
let conversionRateAddr;
11+
let wrapper;
12+
let wrapperAddr;
13+
14+
let networkAddr = "0x920b322d4b8bab34fb6233646f5c87f87e79952b";
15+
let admin= "0xf3D872b9E8d314820dc8E99DAfBe1A3FeEDc27D5";
16+
let deployer;
17+
18+
async function main() {
19+
const accounts = await web3.eth.getAccounts();
20+
deployer = accounts[0];
21+
console.log(`deployer address at ${deployer}`);
22+
23+
gasPrice = new BN(2).mul(new BN(10).pow(new BN(9)))
24+
25+
if(conversionRateAddr == undefined) {
26+
conversionRate = await ConversionRateEnhancedSteps.new(deployer, {gasPrice: gasPrice});
27+
console.log(`deploy conversionRate at ${conversionRate.address}`);
28+
}else {
29+
conversionRate = await ConversionRateEnhancedSteps.at(conversionRateAddr);
30+
}
31+
32+
if (reserveAddr == undefined){
33+
reserve = await KyberReserveHighRate.new(
34+
networkAddr,
35+
conversionRate.address,
36+
deployer,
37+
{gasPrice: gasPrice}
38+
);
39+
console.log(`deploy reserve at ${reserve.address}`);
40+
reserveAddr = reserve.address;
41+
} else {
42+
reserve = await KyberReserveHighRate.at(reserveAddr);
43+
}
44+
45+
if (wrapperAddr == undefined) {
46+
wrapper = await WrapConversionRateEnhancedSteps.new(conversionRate.address, {gasPrice:gasPrice});
47+
console.log(`deploy wrapper at ${wrapper.address}`);
48+
wrapperAddr = wrapper.address;
49+
} else {
50+
wrapper = await WrapConversionRateEnhancedSteps.at(wrapperAddr);
51+
}
52+
53+
if(await conversionRate.admin() != wrapperAddr) {
54+
console.log(`set conversionRate admin to wrapper contract`);
55+
await conversionRate.transferAdmin(wrapperAddr, {gasPrice: gasPrice});
56+
await wrapper.claimWrappedContractAdmin({gasPrice: gasPrice});
57+
}
58+
59+
if(await reserve.admin() != admin) {
60+
console.log(`set new admin to reserve ${admin}`);
61+
await reserve.transferAdminQuickly(admin, {gasPrice: gasPrice});
62+
}
63+
64+
if(await wrapper.admin() != admin) {
65+
console.log(`set new admin to wrapper ${admin}`);
66+
await wrapper.transferAdminQuickly(admin, {gasPrice: gasPrice});
67+
}
68+
}
69+
70+
71+
main()
72+
.then(() => process.exit(0))
73+
.catch(error => {
74+
console.error(error);
75+
process.exit(1);
76+
});

0 commit comments

Comments
 (0)