Skip to content

Commit 5e068c9

Browse files
committed
refactor: simplify role transfer functions by removing TOKEN_BRIDGE_ROLE parameter
1 parent 030631d commit 5e068c9

File tree

1 file changed

+15
-53
lines changed

1 file changed

+15
-53
lines changed

script/TransferAllRoles.s.sol

Lines changed: 15 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,7 @@ contract GrantRolesAndBeginAdminTransfer is Script {
5353
params.rlcCrosschainTokenAddress,
5454
oldAddress,
5555
newAddress,
56-
"RLCCrosschainToken",
57-
false // has TOKEN_BRIDGE_ROLE
56+
"RLCCrosschainToken"
5857
);
5958
console.log("");
6059
} else {
@@ -63,21 +62,19 @@ contract GrantRolesAndBeginAdminTransfer is Script {
6362
params.rlcLiquidityUnifierAddress,
6463
oldAddress,
6564
newAddress,
66-
"RLCLiquidityUnifier",
67-
false // has TOKEN_BRIDGE_ROLE
65+
"RLCLiquidityUnifier"
6866
);
6967
console.log("");
7068
}
7169

7270
// Process IexecLayerZeroBridge
73-
// console.log("Processing IexecLayerZeroBridge...");
74-
// grantRolesAndBeginAdminTransfer(
75-
// params.iexecLayerZeroBridgeAddress,
76-
// oldAddress,
77-
// newAddress,
78-
// "IexecLayerZeroBridge",
79-
// false // no TOKEN_BRIDGE_ROLE on bridge
80-
// );
71+
console.log("Processing IexecLayerZeroBridge...");
72+
grantRolesAndBeginAdminTransfer(
73+
params.iexecLayerZeroBridgeAddress,
74+
oldAddress,
75+
newAddress,
76+
"IexecLayerZeroBridge"
77+
);
8178

8279
vm.stopBroadcast();
8380

@@ -94,14 +91,12 @@ contract GrantRolesAndBeginAdminTransfer is Script {
9491
* @param oldAddress The old (compromised) address
9592
* @param newAddress The new (secure) address
9693
* @param contractName The name of the contract for logging
97-
* @param hasTokenBridgeRole Whether this contract has TOKEN_BRIDGE_ROLE
9894
*/
9995
function grantRolesAndBeginAdminTransfer(
10096
address contractAddress,
10197
address oldAddress,
10298
address newAddress,
103-
string memory contractName,
104-
bool hasTokenBridgeRole
99+
string memory contractName
105100
) internal {
106101
IAccessControlDefaultAdminRules contractInstance = IAccessControlDefaultAdminRules(contractAddress);
107102

@@ -117,29 +112,15 @@ contract GrantRolesAndBeginAdminTransfer is Script {
117112
bytes32 pauserRole = keccak256("PAUSER_ROLE");
118113

119114
console.log(" Granting roles to new address...");
120-
121-
// Grant UPGRADER_ROLE
122115
if (contractInstance.hasRole(upgraderRole, oldAddress)) {
123116
contractInstance.grantRole(upgraderRole, newAddress);
124117
console.log(" - UPGRADER_ROLE granted");
125118
}
126-
127-
// Grant PAUSER_ROLE
128119
if (contractInstance.hasRole(pauserRole, oldAddress)) {
129120
contractInstance.grantRole(pauserRole, newAddress);
130121
console.log(" - PAUSER_ROLE granted");
131122
}
132-
133-
// Grant TOKEN_BRIDGE_ROLE (only for RLCCrosschainToken)
134-
if (hasTokenBridgeRole) {
135-
bytes32 tokenBridgeRole = keccak256("TOKEN_BRIDGE_ROLE");
136-
if (contractInstance.hasRole(tokenBridgeRole, oldAddress)) {
137-
contractInstance.grantRole(tokenBridgeRole, newAddress);
138-
console.log(" - TOKEN_BRIDGE_ROLE granted");
139-
}
140-
}
141-
142-
// Begin admin transfer
123+
143124
console.log(" Beginning DEFAULT_ADMIN_ROLE transfer...");
144125
contractInstance.beginDefaultAdminTransfer(newAddress);
145126

@@ -189,28 +170,23 @@ contract AcceptAdminRoleAndRevokeOldRoles is Script {
189170
acceptAdminAndRevokeOldRoles(
190171
params.rlcCrosschainTokenAddress,
191172
oldAddress,
192-
"RLCCrosschainToken",
193-
false // has TOKEN_BRIDGE_ROLE
173+
"RLCCrosschainToken"
194174
);
195175
console.log("");
196176
} else {
197177
console.log("Processing RLCLiquidityUnifier...");
198178
acceptAdminAndRevokeOldRoles(
199179
params.rlcLiquidityUnifierAddress,
200180
oldAddress,
201-
"RLCLiquidityUnifier",
202-
false // has TOKEN_BRIDGE_ROLE
181+
"RLCLiquidityUnifier"
203182
);
204183
console.log("");
205184
}
206-
207-
// Process IexecLayerZeroBridge
208185
console.log("Processing IexecLayerZeroBridge...");
209186
acceptAdminAndRevokeOldRoles(
210187
params.iexecLayerZeroBridgeAddress,
211188
oldAddress,
212-
"IexecLayerZeroBridge",
213-
false // no TOKEN_BRIDGE_ROLE on bridge
189+
"IexecLayerZeroBridge"
214190
);
215191

216192
vm.stopBroadcast();
@@ -226,13 +202,11 @@ contract AcceptAdminRoleAndRevokeOldRoles is Script {
226202
* @param contractAddress The address of the contract
227203
* @param oldAddress The old (compromised) address to revoke roles from
228204
* @param contractName The name of the contract for logging
229-
* @param hasTokenBridgeRole Whether this contract has TOKEN_BRIDGE_ROLE
230205
*/
231206
function acceptAdminAndRevokeOldRoles(
232207
address contractAddress,
233208
address oldAddress,
234-
string memory contractName,
235-
bool hasTokenBridgeRole
209+
string memory contractName
236210
) internal {
237211
IAccessControlDefaultAdminRules contractInstance = IAccessControlDefaultAdminRules(contractAddress);
238212

@@ -251,27 +225,15 @@ contract AcceptAdminRoleAndRevokeOldRoles is Script {
251225
bytes32 pauserRole = keccak256("PAUSER_ROLE");
252226
bytes32 defaultAdminRole = 0x00;
253227

254-
// Revoke UPGRADER_ROLE
255228
if (contractInstance.hasRole(upgraderRole, oldAddress)) {
256229
contractInstance.revokeRole(upgraderRole, oldAddress);
257230
console.log(" - UPGRADER_ROLE revoked");
258231
}
259-
260-
// Revoke PAUSER_ROLE
261232
if (contractInstance.hasRole(pauserRole, oldAddress)) {
262233
contractInstance.revokeRole(pauserRole, oldAddress);
263234
console.log(" - PAUSER_ROLE revoked");
264235
}
265236

266-
// Revoke TOKEN_BRIDGE_ROLE (only for RLCCrosschainToken)
267-
if (hasTokenBridgeRole) {
268-
bytes32 tokenBridgeRole = keccak256("TOKEN_BRIDGE_ROLE");
269-
if (contractInstance.hasRole(tokenBridgeRole, oldAddress)) {
270-
contractInstance.revokeRole(tokenBridgeRole, oldAddress);
271-
console.log(" - TOKEN_BRIDGE_ROLE revoked");
272-
}
273-
}
274-
275237
// Verify old address no longer has any roles
276238
bool hasUpgrader = contractInstance.hasRole(upgraderRole, oldAddress);
277239
bool hasPauser = contractInstance.hasRole(pauserRole, oldAddress);

0 commit comments

Comments
 (0)