|
| 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