/
updateAllContracts.js
154 lines (138 loc) · 7.21 KB
/
updateAllContracts.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
var {
updateCloversController,
updateClubTokenController,
// addAsAdmin,
removeAsAdmin
} = require('./migVals')
var utils = require('web3-utils')
module.exports = {
updateAllContracts
}
const {
gasToCash,
_
} = require('./utils')
async function updateAllContracts({
clovers,
cloversMetadata,
cloversController,
clubTokenController,
simpleCloversMarket,
clubToken,
accounts,
verbose
}) {
var totalGas = utils.toBN('0')
try {
/* ----------------------------------------------------------------------------------------------------------- */
// Update Clovers.sol
// -w CloversMetadata address
// -w CloversController address
// -w ClubTokenController address
// -w multiple owners
var currentMetadataAddress = await clovers.cloversMetadata()
if (currentMetadataAddress.toLowerCase() !== cloversMetadata.address.toLowerCase()) {
verbose && console.log(_ + `update clovers with currentMetadataAddress from ${currentMetadataAddress} to ${cloversMetadata.address}`)
var tx = await clovers.updateCloversMetadataAddress(
cloversMetadata.address
)
verbose && gasToCash(tx.receipt.gasUsed)
totalGas = totalGas.add(utils.toBN(tx.receipt.gasUsed))
} else {
verbose && console.log(_ + 'currentMetadataAddress didnt change in clovers')
}
var currentCloversControllerAddress = await clovers.cloversController()
if (currentCloversControllerAddress.toLowerCase() !== cloversController.address.toLowerCase()) {
verbose && console.log(_ + `update clovers with cloversControllerAddress from ${currentCloversControllerAddress} to ${cloversController.address}`)
var tx = await clovers.updateCloversControllerAddress(
cloversController.address
)
verbose && gasToCash(tx.receipt.gasUsed)
totalGas = totalGas.add(utils.toBN(tx.receipt.gasUsed))
} else {
verbose && console.log(_ + 'cloversController didnt change in clovers')
}
var currentClubTokenControllerAddress = await clovers.clubTokenController()
if (currentClubTokenControllerAddress.toLowerCase() !== clubTokenController.address.toLowerCase()) {
verbose && console.log(_ + `update clovers with clubTokenControllerAddress from ${currentClubTokenControllerAddress} to ${clubTokenController.address}`)
var tx = await clovers.updateClubTokenController(
clubTokenController.address
)
verbose && gasToCash(tx.receipt.gasUsed)
totalGas = totalGas.add(utils.toBN(tx.receipt.gasUsed))
} else {
verbose && console.log(_ + 'clubTokenController didnt change in clovers')
}
verbose && console.log(_ + 'remove admins for clovers')
// await addAsAdmin(clovers, accounts);
totalGas = await removeAsAdmin(clovers, accounts);
/* ----------------------------------------------------------------------------------------------------------- */
// Update ClubToken.sol
// -w CloversController address
// -w ClubTokenController address
var currentCloversControllerAddress = await clubToken.cloversController()
if (currentCloversControllerAddress.toLowerCase() !== cloversController.address.toLowerCase()) {
verbose && console.log(_ + `update clubToken with cloversController from ${currentCloversControllerAddress} to ${cloversController.address}`)
var tx = await clubToken.updateCloversControllerAddress(
cloversController.address
)
verbose && gasToCash(tx.receipt.gasUsed)
totalGas = totalGas.add(utils.toBN(tx.receipt.gasUsed))
} else {
verbose && console.log(_ + 'cloversController didnt change in clubToken')
}
var currentClubTokenControllerAddress = await clubToken.clubTokenController()
if (currentClubTokenControllerAddress.toLowerCase() !== clubTokenController.address.toLowerCase()) {
verbose && console.log(_ + `update clubToken with clubTokenControllerAddress from ${currentClubTokenControllerAddress} to ${clubTokenController.address}`)
var tx = await clubToken.updateClubTokenControllerAddress(
clubTokenController.address
)
verbose && gasToCash(tx.receipt.gasUsed)
totalGas = totalGas.add(utils.toBN(tx.receipt.gasUsed))
} else {
verbose && console.log(_ + `clubTokenController didnt change in clubToken`)
}
/* ----------------------------------------------------------------------------------------------------------- */
// Update CloversController.sol
totalGas = await updateCloversController({
cloversController,
clubTokenController,
simpleCloversMarket,
verbose
})
/* ----------------------------------------------------------------------------------------------------------- */
// Update ClubTokenController.sol
totalGas = await updateClubTokenController({
clubTokenController,
simpleCloversMarket,
accounts,
verbose
})
/* ----------------------------------------------------------------------------------------------------------- */
// update simpleCloversMarket.sol
verbose && console.log(_ + 'remove admins for simpleCloversMarket')
// await addAsAdmin(simpleCloversMarket, accounts);
totalGas = await removeAsAdmin(simpleCloversMarket, accounts);
var currentCloversControllerAddress = await simpleCloversMarket.cloversController()
if (currentCloversControllerAddress.toLowerCase() !== cloversController.address.toLowerCase()) {
verbose && console.log(_ + `updating simpleCloversMarket with cloversControllerAddress from ${currentCloversControllerAddress} to ${cloversController.address}`)
var tx = await simpleCloversMarket.updateCloversController(cloversController.address)
verbose && gasToCash(tx.receipt.gasUsed)
totalGas = totalGas.add(utils.toBN(tx.receipt.gasUsed))
} else {
verbose && console.log(_ + `simpleCloversMarket has correct cloversController`)
}
var currentClubTokenControllerAddress = await simpleCloversMarket.clubTokenController()
if (currentClubTokenControllerAddress.toLowerCase() !== clubTokenController.address.toLowerCase()) {
verbose && console.log(_ + `updating simpleCloversMarket with clubTokenControllerAddress from ${currentClubTokenControllerAddress} to ${clubTokenController.address}`)
var tx = await simpleCloversMarket.updateClubTokenController(clubTokenController.address)
verbose && gasToCash(tx.receipt.gasUsed)
totalGas = totalGas.add(utils.toBN(tx.receipt.gasUsed))
} else {
verbose && console.log(_ + `simpleCloversMarket has correct clubTokenController`)
}
return { gasUsed: totalGas}
} catch (error) {
console.error(error)
}
}