From 6beb27e6bb334656fb0411e3322f0547b42476a7 Mon Sep 17 00:00:00 2001 From: GreatSoshiant Date: Fri, 30 Jun 2023 20:34:04 -0700 Subject: [PATCH 1/3] changing RollupCreated event adding outbox, validatorUtils and validatorWalletCreator to RollupCreated event. Also changing tests/scripts correspondingly --- scripts/rollupCreation.ts | 12 +++++++++--- src/rollup/RollupCreator.sol | 10 ++++++++-- test/contract/arbRollup.spec.ts | 2 +- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/scripts/rollupCreation.ts b/scripts/rollupCreation.ts index fec50d082..746f83c8d 100644 --- a/scripts/rollupCreation.ts +++ b/scripts/rollupCreation.ts @@ -11,9 +11,12 @@ interface RollupCreatedEvent { args?: { rollupAddress: string inboxAddress: string + outbox: string adminProxy: string sequencerInbox: string bridge: string + validatorUtils: string + validatorWalletCreator: string } } @@ -57,9 +60,12 @@ async function main() { if (rollupCreatedEvent) { const rollupAddress = rollupCreatedEvent.args?.rollupAddress const inboxAddress = rollupCreatedEvent.args?.inboxAddress + const outbox = rollupCreatedEvent.args?.outbox const adminProxy = rollupCreatedEvent.args?.adminProxy const sequencerInbox = rollupCreatedEvent.args?.sequencerInbox const bridge = rollupCreatedEvent.args?.bridge + const validatorUtils = rollupCreatedEvent.args?.validatorUtils + const validatorWalletCreator = rollupCreatedEvent.args?.validatorWalletCreator const rollupCore = new ethers.Contract( rollupAddress, @@ -90,18 +96,18 @@ async function main() { console.log('Inbox (proxy) Contract created at address:', inboxAddress) console.log( 'Outbox (proxy) Contract created at address:', - await rollupCore.outbox() + outbox ) console.log('AdminProxy Contract created at address:', adminProxy) console.log('SequencerInbox (proxy) created at address:', sequencerInbox) console.log('Bridge (proxy) Contract created at address:', bridge) console.log( 'ValidatorUtils Contract created at address:', - await rollupCore.validatorUtils() + validatorUtils ) console.log( 'ValidatorWalletCreator Contract created at address:', - await rollupCore.validatorWalletCreator() + validatorWalletCreator ) const blockNumber = createRollupReceipt.blockNumber diff --git a/src/rollup/RollupCreator.sol b/src/rollup/RollupCreator.sol index 0d469a055..aa49acf3a 100644 --- a/src/rollup/RollupCreator.sol +++ b/src/rollup/RollupCreator.sol @@ -16,9 +16,12 @@ contract RollupCreator is Ownable { event RollupCreated( address indexed rollupAddress, address inboxAddress, + address outbox, address adminProxy, address sequencerInbox, - address bridge + address bridge, + address validatorUtils, + address validatorWalletCreator ); event TemplatesUpdated(); @@ -112,9 +115,12 @@ contract RollupCreator is Ownable { emit RollupCreated( address(rollup), address(inbox), + address(outbox), address(proxyAdmin), address(sequencerInbox), - address(bridge) + address(bridge), + address(validatorUtils), + address(validatorWalletCreator) ); return address(rollup); } diff --git a/test/contract/arbRollup.spec.ts b/test/contract/arbRollup.spec.ts index ad71ad1e0..77e4238e4 100644 --- a/test/contract/arbRollup.spec.ts +++ b/test/contract/arbRollup.spec.ts @@ -236,7 +236,7 @@ const setup = async () => { rollupUserLogicTemplate, blockChallengeFactory: challengeManagerTemplateFac, rollupEventBridge: await rollupAdmin.rollupEventInbox(), - outbox: await rollupAdmin.outbox(), + outbox: rollupCreatedEvent.outbox, sequencerInbox: rollupCreatedEvent.sequencerInbox, delayedBridge: rollupCreatedEvent.bridge, delayedInbox: rollupCreatedEvent.inboxAddress, From c91e7d76ff56994934db1300236035e8d974e820 Mon Sep 17 00:00:00 2001 From: GreatSoshiant Date: Fri, 30 Jun 2023 20:35:03 -0700 Subject: [PATCH 2/3] formatting --- package.json | 1 - scripts/rollupCreation.ts | 13 ++++--------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 0f6135e29..152ddab62 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,6 @@ "postinstall": "patch-package", "deploy-factory": "hardhat run scripts/deployment.ts", "deploy-rollup": "hardhat run scripts/rollupCreation.ts" - }, "dependencies": { "@openzeppelin/contracts": "4.5.0", diff --git a/scripts/rollupCreation.ts b/scripts/rollupCreation.ts index 746f83c8d..468dcffbe 100644 --- a/scripts/rollupCreation.ts +++ b/scripts/rollupCreation.ts @@ -65,7 +65,8 @@ async function main() { const sequencerInbox = rollupCreatedEvent.args?.sequencerInbox const bridge = rollupCreatedEvent.args?.bridge const validatorUtils = rollupCreatedEvent.args?.validatorUtils - const validatorWalletCreator = rollupCreatedEvent.args?.validatorWalletCreator + const validatorWalletCreator = + rollupCreatedEvent.args?.validatorWalletCreator const rollupCore = new ethers.Contract( rollupAddress, @@ -94,17 +95,11 @@ async function main() { } } console.log('Inbox (proxy) Contract created at address:', inboxAddress) - console.log( - 'Outbox (proxy) Contract created at address:', - outbox - ) + console.log('Outbox (proxy) Contract created at address:', outbox) console.log('AdminProxy Contract created at address:', adminProxy) console.log('SequencerInbox (proxy) created at address:', sequencerInbox) console.log('Bridge (proxy) Contract created at address:', bridge) - console.log( - 'ValidatorUtils Contract created at address:', - validatorUtils - ) + console.log('ValidatorUtils Contract created at address:', validatorUtils) console.log( 'ValidatorWalletCreator Contract created at address:', validatorWalletCreator From 668b11a7e73058138cae747d5e474f280188e351 Mon Sep 17 00:00:00 2001 From: GreatSoshiant Date: Sat, 1 Jul 2023 15:18:08 -0700 Subject: [PATCH 3/3] added rollupEventInbox and challengeManager addresses to event --- scripts/rollupCreation.ts | 13 ++++++------- src/rollup/RollupCreator.sol | 4 ++++ test/contract/arbRollup.spec.ts | 2 +- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/scripts/rollupCreation.ts b/scripts/rollupCreation.ts index 468dcffbe..adf18b87d 100644 --- a/scripts/rollupCreation.ts +++ b/scripts/rollupCreation.ts @@ -3,7 +3,6 @@ import '@nomiclabs/hardhat-ethers' import { run } from 'hardhat' import { abi as rollupCreatorAbi } from '../build/contracts/src/rollup/RollupCreator.sol/RollupCreator.json' import { rollupConfig } from './config' -import { abi as rollupCoreAbi } from '../build/contracts/src/rollup/RollupCore.sol/RollupCore.json' interface RollupCreatedEvent { event: string @@ -12,6 +11,8 @@ interface RollupCreatedEvent { rollupAddress: string inboxAddress: string outbox: string + rollupEventInbox: string + challengeManager: string adminProxy: string sequencerInbox: string bridge: string @@ -61,6 +62,8 @@ async function main() { const rollupAddress = rollupCreatedEvent.args?.rollupAddress const inboxAddress = rollupCreatedEvent.args?.inboxAddress const outbox = rollupCreatedEvent.args?.outbox + const rollupEventInbox = rollupCreatedEvent.args?.rollupEventInbox + const challengeManager = rollupCreatedEvent.args?.challengeManager const adminProxy = rollupCreatedEvent.args?.adminProxy const sequencerInbox = rollupCreatedEvent.args?.sequencerInbox const bridge = rollupCreatedEvent.args?.bridge @@ -68,12 +71,6 @@ async function main() { const validatorWalletCreator = rollupCreatedEvent.args?.validatorWalletCreator - const rollupCore = new ethers.Contract( - rollupAddress, - rollupCoreAbi, - signer - ) - console.log("Congratulations! 🎉🎉🎉 All DONE! Here's your addresses:") console.log('RollupProxy Contract created at address:', rollupAddress) console.log( @@ -96,6 +93,8 @@ async function main() { } console.log('Inbox (proxy) Contract created at address:', inboxAddress) console.log('Outbox (proxy) Contract created at address:', outbox) + console.log('rollupEventInbox (proxy) Contract created at address:', rollupEventInbox) + console.log('challengeManager (proxy) Contract created at address:', challengeManager) console.log('AdminProxy Contract created at address:', adminProxy) console.log('SequencerInbox (proxy) created at address:', sequencerInbox) console.log('Bridge (proxy) Contract created at address:', bridge) diff --git a/src/rollup/RollupCreator.sol b/src/rollup/RollupCreator.sol index aa49acf3a..13f6ba5a2 100644 --- a/src/rollup/RollupCreator.sol +++ b/src/rollup/RollupCreator.sol @@ -17,6 +17,8 @@ contract RollupCreator is Ownable { address indexed rollupAddress, address inboxAddress, address outbox, + address rollupEventInbox, + address challengeManager, address adminProxy, address sequencerInbox, address bridge, @@ -116,6 +118,8 @@ contract RollupCreator is Ownable { address(rollup), address(inbox), address(outbox), + address(rollupEventInbox), + address(challengeManager), address(proxyAdmin), address(sequencerInbox), address(bridge), diff --git a/test/contract/arbRollup.spec.ts b/test/contract/arbRollup.spec.ts index 77e4238e4..a29e0a2a4 100644 --- a/test/contract/arbRollup.spec.ts +++ b/test/contract/arbRollup.spec.ts @@ -18,7 +18,7 @@ import { ethers, run, network } from 'hardhat' import { Signer } from '@ethersproject/abstract-signer' import { BigNumberish, BigNumber } from '@ethersproject/bignumber' -import { BytesLike, hexConcat, zeroPad } from '@ethersproject/bytes' +import { BytesLike } from '@ethersproject/bytes' import { ContractTransaction } from '@ethersproject/contracts' import { assert, expect } from 'chai' import {