Skip to content

Commit

Permalink
kinda fix broken sequencerInbox forge test
Browse files Browse the repository at this point in the history
  • Loading branch information
ethenotethan committed Jul 2, 2024
1 parent f1a5caf commit 24f58bb
Show file tree
Hide file tree
Showing 5 changed files with 177 additions and 157 deletions.
18 changes: 18 additions & 0 deletions src/bridge/ISequencerInbox.sol
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,24 @@ interface ISequencerInbox is IDelayedMessageProvider {

// ---------- onlyRollupOrOwner functions ----------

/**
* @notice Set the eigenda service manager contract
* @param newEigenDAServiceManager the new svc manager contract address
*/
function setEigenDAServiceManager(address newEigenDAServiceManager) external;

/**
* @notice Set the rollup manager contract address
* @param newRollupManager the new rollup manager contract address
*/
function setEigenDARollupManager(address newRollupManager) external;

/**
* @notice Set the new rollup contract address
*/
function setRollupAddress() external;


/**
* @notice Set max delay for sequencer inbox
* @param maxTimeVariation_ the maximum time variation parameters
Expand Down
42 changes: 22 additions & 20 deletions src/bridge/SequencerInbox.sol
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,6 @@ contract SequencerInbox is DelegateCallAware, GasRefundEnabled, ISequencerInbox

IBridge public bridge;

IEigenDAServiceManager public immutable eigenDAServiceManager;
IRollupManager public immutable eigenDARollupManager;

/// @inheritdoc ISequencerInbox
uint256 public constant HEADER_LENGTH = 40;

Expand Down Expand Up @@ -136,11 +133,12 @@ contract SequencerInbox is DelegateCallAware, GasRefundEnabled, ISequencerInbox
// True if the chain this SequencerInbox is deployed on uses custom fee token
bool public immutable isUsingFeeToken;

address public eigenDAServiceManager;
address public eigenDARollupManager;

constructor(
uint256 _maxDataSize,
IReader4844 reader4844_,
IEigenDAServiceManager eigenDAServiceManager_,
IRollupManager eigenDARollupManager_,
bool _isUsingFeeToken
) {
maxDataSize = _maxDataSize;
Expand All @@ -150,8 +148,6 @@ contract SequencerInbox is DelegateCallAware, GasRefundEnabled, ISequencerInbox
if (reader4844_ == IReader4844(address(0))) revert InitParamZero("Reader4844");
}
reader4844 = reader4844_;
eigenDAServiceManager = eigenDAServiceManager_;
eigenDARollupManager = eigenDARollupManager_;
isUsingFeeToken = _isUsingFeeToken;
}

Expand Down Expand Up @@ -426,7 +422,7 @@ contract SequencerInbox is DelegateCallAware, GasRefundEnabled, ISequencerInbox
if (!isBatchPoster[msg.sender]) revert NotBatchPoster();

// verify that the blob was actually included before continuing
eigenDARollupManager.verifyBlob(blobHeader, eigenDAServiceManager, blobVerificationProof);
IRollupManager(eigenDARollupManager).verifyBlob(blobHeader, IEigenDAServiceManager(eigenDAServiceManager), blobVerificationProof);

// NOTE: to retrieve need the following
// see: https://github.com/Layr-Labs/eigenda/blob/master/api/docs/retriever.md#blobrequest
Expand Down Expand Up @@ -799,19 +795,25 @@ contract SequencerInbox is DelegateCallAware, GasRefundEnabled, ISequencerInbox
emit OwnerFunctionCalled(5);
}

// /// @inheritdoc ISequencerInbox
// function updateRollupAddress() external onlyRollupOwner {
// IOwnable newRollup = bridge.rollup();
// if (rollup == newRollup) revert RollupNotChanged();
// rollup = newRollup;
// emit OwnerFunctionCalled(6);
// }
/// @inheritdoc ISequencerInbox
function setRollupAddress() external onlyRollupOwner {
IOwnable newRollup = bridge.rollup();
if (rollup == newRollup) revert RollupNotChanged();
rollup = newRollup;
emit OwnerFunctionCalled(6);
}

/// @inheritdoc ISequencerInbox
function setEigenDAServiceManager(address newEigenDAServiceManager) external onlyRollupOwner {
eigenDAServiceManager = newEigenDAServiceManager;
emit OwnerFunctionCalled(7);
}

// /// @inheritdoc ISequencerInbox
// function updateEigenDAServiceManager(address newEigenDAServiceManager) external onlyRollupOwner {
// eigenDAServiceManager = IEigenDAServiceManager(newEigenDAServiceManager);
// emit OwnerFunctionCalled(31);
// }
/// @inheritdoc ISequencerInbox
function setEigenDARollupManager(address newRollupManager) external onlyRollupOwner {
eigenDARollupManager = newRollupManager;
emit OwnerFunctionCalled(8);
}

function isValidKeysetHash(bytes32 ksHash) external view returns (bool) {
return dasKeySetInfo[ksHash].isValidKeyset;
Expand Down
4 changes: 1 addition & 3 deletions src/mocks/SequencerInboxStub.sol
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,9 @@ contract SequencerInboxStub is SequencerInbox {
ISequencerInbox.MaxTimeVariation memory maxTimeVariation_,
uint256 maxDataSize_,
IReader4844 reader4844_,
IEigenDAServiceManager eigenDAServiceManager_,
IRollupManager eigenDARollupManager_,

bool isUsingFeeToken_
) SequencerInbox(maxDataSize_, reader4844_, eigenDAServiceManager_, eigenDARollupManager_, isUsingFeeToken_) {
) SequencerInbox(maxDataSize_, reader4844_, isUsingFeeToken_) {
bridge = bridge_;
rollup = IOwnable(msg.sender);
delayBlocks = uint64(maxTimeVariation_.delayBlocks);
Expand Down
6 changes: 6 additions & 0 deletions src/rollup/RollupCreator.sol
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ contract RollupCreator is Ownable {
//// @dev The address of the batch poster, not used when set to zero address
address[] batchPosters;
address batchPosterManager;
address eigenDAServiceManager;
address eigenDARollupManager;
}

BridgeCreator public bridgeCreator;
Expand Down Expand Up @@ -196,6 +198,10 @@ contract RollupCreator is Ownable {
bridgeContracts.sequencerInbox.setBatchPosterManager(deployParams.batchPosterManager);
}

// Setting EigenDAServiceManager and EigenDARollupManager
bridgeContracts.sequencerInbox.setEigenDAServiceManager(deployParams.eigenDAServiceManager);
bridgeContracts.sequencerInbox.setEigenDARollupManager(deployParams.eigenDARollupManager);

// Call setValidator on the newly created rollup contract just if validator set is not empty
if (deployParams.validators.length != 0) {
bool[] memory _vals = new bool[](deployParams.validators.length);
Expand Down
Loading

0 comments on commit 24f58bb

Please sign in to comment.