@@ -1172,10 +1172,6 @@ contract DeployScroll is DeterminsticDeployment {
1172
1172
}
1173
1173
1174
1174
function transferL1ContractOwnership () private {
1175
- if (DEPLOYER_ADDR == OWNER_ADDR) {
1176
- return ;
1177
- }
1178
-
1179
1175
if (Ownable (L1_ENFORCED_TX_GATEWAY_PROXY_ADDR).owner () != OWNER_ADDR) {
1180
1176
Ownable (L1_ENFORCED_TX_GATEWAY_PROXY_ADDR).transferOwnership (OWNER_ADDR);
1181
1177
}
@@ -1228,113 +1224,168 @@ contract DeployScroll is DeterminsticDeployment {
1228
1224
**********************/
1229
1225
1230
1226
function initializeL2MessageQueue () private {
1231
- L2MessageQueue (L2_MESSAGE_QUEUE_ADDR).initialize (notnull (L2_SCROLL_MESSENGER_PROXY_ADDR));
1227
+ if (getInitializeCount (L2_MESSAGE_QUEUE_ADDR) == 0 ) {
1228
+ L2MessageQueue (L2_MESSAGE_QUEUE_ADDR).initialize (notnull (L2_SCROLL_MESSENGER_PROXY_ADDR));
1229
+ }
1232
1230
}
1233
1231
1234
1232
function initializeL2TxFeeVault () private {
1235
- L2TxFeeVault (payable (L2_TX_FEE_VAULT_ADDR)).updateMessenger (notnull (L2_SCROLL_MESSENGER_PROXY_ADDR));
1233
+ if (L2TxFeeVault (payable (L2_TX_FEE_VAULT_ADDR)).messenger () != notnull (L2_SCROLL_MESSENGER_PROXY_ADDR)) {
1234
+ L2TxFeeVault (payable (L2_TX_FEE_VAULT_ADDR)).updateMessenger (L2_SCROLL_MESSENGER_PROXY_ADDR);
1235
+ }
1236
1236
}
1237
1237
1238
1238
function initializeL1GasPriceOracle () private {
1239
- L1GasPriceOracle (L1_GAS_PRICE_ORACLE_ADDR).updateWhitelist (notnull (L2_WHITELIST_ADDR));
1239
+ if (address (L1GasPriceOracle (L1_GAS_PRICE_ORACLE_ADDR).whitelist ()) != notnull (L2_WHITELIST_ADDR)) {
1240
+ L1GasPriceOracle (L1_GAS_PRICE_ORACLE_ADDR).updateWhitelist (L2_WHITELIST_ADDR);
1241
+ }
1240
1242
}
1241
1243
1242
1244
function initializeL2ScrollMessenger () private {
1243
- L2ScrollMessenger (payable (L2_SCROLL_MESSENGER_PROXY_ADDR)).initialize (notnull (L1_SCROLL_MESSENGER_PROXY_ADDR));
1245
+ if (getInitializeCount (L2_SCROLL_MESSENGER_PROXY_ADDR) == 0 ) {
1246
+ L2ScrollMessenger (payable (L2_SCROLL_MESSENGER_PROXY_ADDR)).initialize (
1247
+ notnull (L1_SCROLL_MESSENGER_PROXY_ADDR)
1248
+ );
1249
+ }
1244
1250
}
1245
1251
1246
1252
function initializeL2GatewayRouter () private {
1247
- L2GatewayRouter (L2_GATEWAY_ROUTER_PROXY_ADDR).initialize (
1248
- notnull (L2_ETH_GATEWAY_PROXY_ADDR),
1249
- notnull (L2_STANDARD_ERC20_GATEWAY_PROXY_ADDR)
1250
- );
1253
+ if (getInitializeCount (L2_GATEWAY_ROUTER_PROXY_ADDR) == 0 ) {
1254
+ L2GatewayRouter (L2_GATEWAY_ROUTER_PROXY_ADDR).initialize (
1255
+ notnull (L2_ETH_GATEWAY_PROXY_ADDR),
1256
+ notnull (L2_STANDARD_ERC20_GATEWAY_PROXY_ADDR)
1257
+ );
1258
+ }
1251
1259
}
1252
1260
1253
1261
function initializeL2CustomERC20Gateway () private {
1254
- L2CustomERC20Gateway (L2_CUSTOM_ERC20_GATEWAY_PROXY_ADDR).initialize (
1255
- notnull (L1_CUSTOM_ERC20_GATEWAY_PROXY_ADDR),
1256
- notnull (L2_GATEWAY_ROUTER_PROXY_ADDR),
1257
- notnull (L2_SCROLL_MESSENGER_PROXY_ADDR)
1258
- );
1262
+ if (getInitializeCount (L2_CUSTOM_ERC20_GATEWAY_PROXY_ADDR) == 0 ) {
1263
+ L2CustomERC20Gateway (L2_CUSTOM_ERC20_GATEWAY_PROXY_ADDR).initialize (
1264
+ notnull (L1_CUSTOM_ERC20_GATEWAY_PROXY_ADDR),
1265
+ notnull (L2_GATEWAY_ROUTER_PROXY_ADDR),
1266
+ notnull (L2_SCROLL_MESSENGER_PROXY_ADDR)
1267
+ );
1268
+ }
1259
1269
}
1260
1270
1261
1271
function initializeL2ERC1155Gateway () private {
1262
- L2ERC1155Gateway (L2_ERC1155_GATEWAY_PROXY_ADDR).initialize (
1263
- notnull (L1_ERC1155_GATEWAY_PROXY_ADDR),
1264
- notnull (L2_SCROLL_MESSENGER_PROXY_ADDR)
1265
- );
1272
+ if (getInitializeCount (L2_ERC1155_GATEWAY_PROXY_ADDR) == 0 ) {
1273
+ L2ERC1155Gateway (L2_ERC1155_GATEWAY_PROXY_ADDR).initialize (
1274
+ notnull (L1_ERC1155_GATEWAY_PROXY_ADDR),
1275
+ notnull (L2_SCROLL_MESSENGER_PROXY_ADDR)
1276
+ );
1277
+ }
1266
1278
}
1267
1279
1268
1280
function initializeL2ERC721Gateway () private {
1269
- L2ERC721Gateway (L2_ERC721_GATEWAY_PROXY_ADDR).initialize (
1270
- notnull (L1_ERC721_GATEWAY_PROXY_ADDR),
1271
- notnull (L2_SCROLL_MESSENGER_PROXY_ADDR)
1272
- );
1281
+ if (getInitializeCount (L2_ERC721_GATEWAY_PROXY_ADDR) == 0 ) {
1282
+ L2ERC721Gateway (L2_ERC721_GATEWAY_PROXY_ADDR).initialize (
1283
+ notnull (L1_ERC721_GATEWAY_PROXY_ADDR),
1284
+ notnull (L2_SCROLL_MESSENGER_PROXY_ADDR)
1285
+ );
1286
+ }
1273
1287
}
1274
1288
1275
1289
function initializeL2ETHGateway () private {
1276
- L2ETHGateway (L2_ETH_GATEWAY_PROXY_ADDR).initialize (
1277
- notnull (L1_ETH_GATEWAY_PROXY_ADDR),
1278
- notnull (L2_GATEWAY_ROUTER_PROXY_ADDR),
1279
- notnull (L2_SCROLL_MESSENGER_PROXY_ADDR)
1280
- );
1290
+ if (getInitializeCount (L2_ETH_GATEWAY_PROXY_ADDR) == 0 ) {
1291
+ L2ETHGateway (L2_ETH_GATEWAY_PROXY_ADDR).initialize (
1292
+ notnull (L1_ETH_GATEWAY_PROXY_ADDR),
1293
+ notnull (L2_GATEWAY_ROUTER_PROXY_ADDR),
1294
+ notnull (L2_SCROLL_MESSENGER_PROXY_ADDR)
1295
+ );
1296
+ }
1281
1297
}
1282
1298
1283
1299
function initializeL2StandardERC20Gateway () private {
1284
- L2StandardERC20Gateway (L2_STANDARD_ERC20_GATEWAY_PROXY_ADDR).initialize (
1285
- notnull (L1_STANDARD_ERC20_GATEWAY_PROXY_ADDR),
1286
- notnull (L2_GATEWAY_ROUTER_PROXY_ADDR),
1287
- notnull (L2_SCROLL_MESSENGER_PROXY_ADDR),
1288
- notnull (L2_SCROLL_STANDARD_ERC20_FACTORY_ADDR)
1289
- );
1300
+ if (getInitializeCount (L2_STANDARD_ERC20_GATEWAY_PROXY_ADDR) == 0 ) {
1301
+ L2StandardERC20Gateway (L2_STANDARD_ERC20_GATEWAY_PROXY_ADDR).initialize (
1302
+ notnull (L1_STANDARD_ERC20_GATEWAY_PROXY_ADDR),
1303
+ notnull (L2_GATEWAY_ROUTER_PROXY_ADDR),
1304
+ notnull (L2_SCROLL_MESSENGER_PROXY_ADDR),
1305
+ notnull (L2_SCROLL_STANDARD_ERC20_FACTORY_ADDR)
1306
+ );
1307
+ }
1290
1308
}
1291
1309
1292
1310
function initializeL2WETHGateway () private {
1293
- L2WETHGateway (payable (L2_WETH_GATEWAY_PROXY_ADDR)).initialize (
1294
- notnull (L1_WETH_GATEWAY_PROXY_ADDR),
1295
- notnull (L2_GATEWAY_ROUTER_PROXY_ADDR),
1296
- notnull (L2_SCROLL_MESSENGER_PROXY_ADDR)
1297
- );
1311
+ if (getInitializeCount (L2_WETH_GATEWAY_PROXY_ADDR) == 0 ) {
1312
+ L2WETHGateway (payable (L2_WETH_GATEWAY_PROXY_ADDR)).initialize (
1313
+ notnull (L1_WETH_GATEWAY_PROXY_ADDR),
1314
+ notnull (L2_GATEWAY_ROUTER_PROXY_ADDR),
1315
+ notnull (L2_SCROLL_MESSENGER_PROXY_ADDR)
1316
+ );
1317
+ }
1298
1318
1299
1319
// set WETH gateway in router
1300
1320
{
1301
1321
address [] memory _tokens = new address [](1 );
1302
1322
_tokens[0 ] = notnull (L2_WETH_ADDR);
1303
1323
address [] memory _gateways = new address [](1 );
1304
1324
_gateways[0 ] = notnull (L2_WETH_GATEWAY_PROXY_ADDR);
1305
- L2GatewayRouter (L2_GATEWAY_ROUTER_PROXY_ADDR).setERC20Gateway (_tokens, _gateways);
1325
+ if (L2GatewayRouter (L2_GATEWAY_ROUTER_PROXY_ADDR).ERC20Gateway (_tokens[0 ]) != _gateways[0 ]) {
1326
+ L2GatewayRouter (L2_GATEWAY_ROUTER_PROXY_ADDR).setERC20Gateway (_tokens, _gateways);
1327
+ }
1306
1328
}
1307
1329
}
1308
1330
1309
1331
function initializeScrollStandardERC20Factory () private {
1310
- ScrollStandardERC20Factory (L2_SCROLL_STANDARD_ERC20_FACTORY_ADDR).transferOwnership (
1332
+ if (
1333
+ ScrollStandardERC20Factory (L2_SCROLL_STANDARD_ERC20_FACTORY_ADDR).owner () !=
1311
1334
notnull (L2_STANDARD_ERC20_GATEWAY_PROXY_ADDR)
1312
- );
1335
+ ) {
1336
+ ScrollStandardERC20Factory (L2_SCROLL_STANDARD_ERC20_FACTORY_ADDR).transferOwnership (
1337
+ L2_STANDARD_ERC20_GATEWAY_PROXY_ADDR
1338
+ );
1339
+ }
1313
1340
}
1314
1341
1315
1342
function initializeL2Whitelist () private {
1316
1343
address [] memory accounts = new address [](1 );
1317
1344
accounts[0 ] = L2_GAS_ORACLE_SENDER_ADDR;
1318
- Whitelist (L2_WHITELIST_ADDR).updateWhitelistStatus (accounts, true );
1345
+ if (! Whitelist (L1_WHITELIST_ADDR).isSenderAllowed (accounts[0 ])) {
1346
+ Whitelist (L2_WHITELIST_ADDR).updateWhitelistStatus (accounts, true );
1347
+ }
1319
1348
}
1320
1349
1321
1350
function transferL2ContractOwnership () private {
1322
- if (DEPLOYER_ADDR == OWNER_ADDR) {
1323
- return ;
1351
+ if (Ownable (L1_GAS_PRICE_ORACLE_ADDR).owner () != OWNER_ADDR) {
1352
+ Ownable (L1_GAS_PRICE_ORACLE_ADDR).transferOwnership (OWNER_ADDR);
1353
+ }
1354
+ if (Ownable (L2_CUSTOM_ERC20_GATEWAY_PROXY_ADDR).owner () != OWNER_ADDR) {
1355
+ Ownable (L2_CUSTOM_ERC20_GATEWAY_PROXY_ADDR).transferOwnership (OWNER_ADDR);
1356
+ }
1357
+ if (Ownable (L2_ERC1155_GATEWAY_PROXY_ADDR).owner () != OWNER_ADDR) {
1358
+ Ownable (L2_ERC1155_GATEWAY_PROXY_ADDR).transferOwnership (OWNER_ADDR);
1359
+ }
1360
+ if (Ownable (L2_ERC721_GATEWAY_PROXY_ADDR).owner () != OWNER_ADDR) {
1361
+ Ownable (L2_ERC721_GATEWAY_PROXY_ADDR).transferOwnership (OWNER_ADDR);
1362
+ }
1363
+ if (Ownable (L2_ETH_GATEWAY_PROXY_ADDR).owner () != OWNER_ADDR) {
1364
+ Ownable (L2_ETH_GATEWAY_PROXY_ADDR).transferOwnership (OWNER_ADDR);
1365
+ }
1366
+ if (Ownable (L2_GATEWAY_ROUTER_PROXY_ADDR).owner () != OWNER_ADDR) {
1367
+ Ownable (L2_GATEWAY_ROUTER_PROXY_ADDR).transferOwnership (OWNER_ADDR);
1368
+ }
1369
+ if (Ownable (L2_MESSAGE_QUEUE_ADDR).owner () != OWNER_ADDR) {
1370
+ Ownable (L2_MESSAGE_QUEUE_ADDR).transferOwnership (OWNER_ADDR);
1371
+ }
1372
+ if (Ownable (L2_SCROLL_MESSENGER_PROXY_ADDR).owner () != OWNER_ADDR) {
1373
+ Ownable (L2_SCROLL_MESSENGER_PROXY_ADDR).transferOwnership (OWNER_ADDR);
1374
+ }
1375
+ if (Ownable (L2_STANDARD_ERC20_GATEWAY_PROXY_ADDR).owner () != OWNER_ADDR) {
1376
+ Ownable (L2_STANDARD_ERC20_GATEWAY_PROXY_ADDR).transferOwnership (OWNER_ADDR);
1377
+ }
1378
+ if (Ownable (L2_TX_FEE_VAULT_ADDR).owner () != OWNER_ADDR) {
1379
+ Ownable (L2_TX_FEE_VAULT_ADDR).transferOwnership (OWNER_ADDR);
1380
+ }
1381
+ if (Ownable (L2_WETH_GATEWAY_PROXY_ADDR).owner () != OWNER_ADDR) {
1382
+ Ownable (L2_WETH_GATEWAY_PROXY_ADDR).transferOwnership (OWNER_ADDR);
1383
+ }
1384
+ if (Ownable (L2_PROXY_ADMIN_ADDR).owner () != OWNER_ADDR) {
1385
+ Ownable (L2_PROXY_ADMIN_ADDR).transferOwnership (OWNER_ADDR);
1386
+ }
1387
+ if (Ownable (L2_WHITELIST_ADDR).owner () != OWNER_ADDR) {
1388
+ Ownable (L2_WHITELIST_ADDR).transferOwnership (OWNER_ADDR);
1324
1389
}
1325
-
1326
- Ownable (L1_GAS_PRICE_ORACLE_ADDR).transferOwnership (OWNER_ADDR);
1327
- Ownable (L2_CUSTOM_ERC20_GATEWAY_PROXY_ADDR).transferOwnership (OWNER_ADDR);
1328
- Ownable (L2_ERC1155_GATEWAY_PROXY_ADDR).transferOwnership (OWNER_ADDR);
1329
- Ownable (L2_ERC721_GATEWAY_PROXY_ADDR).transferOwnership (OWNER_ADDR);
1330
- Ownable (L2_ETH_GATEWAY_PROXY_ADDR).transferOwnership (OWNER_ADDR);
1331
- Ownable (L2_GATEWAY_ROUTER_PROXY_ADDR).transferOwnership (OWNER_ADDR);
1332
- Ownable (L2_MESSAGE_QUEUE_ADDR).transferOwnership (OWNER_ADDR);
1333
- Ownable (L2_SCROLL_MESSENGER_PROXY_ADDR).transferOwnership (OWNER_ADDR);
1334
- Ownable (L2_STANDARD_ERC20_GATEWAY_PROXY_ADDR).transferOwnership (OWNER_ADDR);
1335
- Ownable (L2_TX_FEE_VAULT_ADDR).transferOwnership (OWNER_ADDR);
1336
- Ownable (L2_WETH_GATEWAY_PROXY_ADDR).transferOwnership (OWNER_ADDR);
1337
- Ownable (L2_PROXY_ADMIN_ADDR).transferOwnership (OWNER_ADDR);
1338
- Ownable (L2_WHITELIST_ADDR).transferOwnership (OWNER_ADDR);
1339
1390
}
1340
1391
}
0 commit comments