Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions contracts/src/arbitrumToEth/VeaOutboxArbToEth.sol
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,10 @@ contract VeaOutboxArbToEth is IVeaOutboxOnL1 {
/// @param _epoch The epoch that was verified.
event Verified(uint256 _epoch);

/// @dev This event indicates that a resolution has failed.
/// @param _epoch The epoch for which resolution failed.
event FailedResolution(uint256 _epoch);

/// @dev This event indicates the sequencer limit updated.
/// @param _newSequencerDelayLimit The new sequencer delay limit.
event SequencerDelayLimitUpdated(uint256 _newSequencerDelayLimit);
Expand Down Expand Up @@ -274,6 +278,7 @@ contract VeaOutboxArbToEth is IVeaOutboxOnL1 {
/// @param _claim The claim associated with the epoch.
function startVerification(uint256 _epoch, Claim memory _claim) external virtual {
require(claimHashes[_epoch] == hashClaim(_claim), "Invalid claim.");
require(_claim.challenger == address(0), "Claim is challenged.");

// sequencerDelayLimit + epochPeriod is the worst case time to sync the L2 state compared to L1 clock.
// using checked arithmetic incase arbitrum governance sets sequencerDelayLimit to a large value
Expand Down Expand Up @@ -347,9 +352,10 @@ contract VeaOutboxArbToEth is IVeaOutboxOnL1 {
_claim.honest = Party.Challenger;
}
claimHashes[_epoch] = hashClaim(_claim);
emit Verified(_epoch);
} else {
emit FailedResolution(_epoch);
}

emit Verified(_epoch);
}

/// @dev Verifies and relays the message. UNTRUSTED.
Expand Down
10 changes: 8 additions & 2 deletions contracts/src/arbitrumToGnosis/VeaOutboxArbToGnosis.sol
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,10 @@ contract VeaOutboxArbToGnosis is IVeaOutboxOnL1, ISequencerDelayUpdatable {
/// @param _epoch The epoch that was verified.
event Verified(uint256 _epoch);

/// @dev This event indicates that a resolution has failed.
/// @param _epoch The epoch for which resolution failed.
event FailedResolution(uint256 _epoch);

/// @dev This event indicates the sequencer limit updated.
/// @param _newSequencerDelayLimit The new sequencer delay limit.
event SequencerDelayLimitUpdateReceived(uint256 _newSequencerDelayLimit);
Expand Down Expand Up @@ -220,6 +224,7 @@ contract VeaOutboxArbToGnosis is IVeaOutboxOnL1, ISequencerDelayUpdatable {
/// @param _claim The claim associated with the epoch.
function startVerification(uint256 _epoch, Claim memory _claim) external virtual {
require(claimHashes[_epoch] == hashClaim(_claim), "Invalid claim.");
require(_claim.challenger == address(0), "Claim is challenged.");

// sequencerDelayLimit + epochPeriod is the worst case time to sync the L2 state compared to L1 clock.
// using checked arithmetic incase arbitrum governance sets sequencerDelayLimit to a large value
Expand Down Expand Up @@ -291,9 +296,10 @@ contract VeaOutboxArbToGnosis is IVeaOutboxOnL1, ISequencerDelayUpdatable {
_claim.honest = Party.Challenger;
}
claimHashes[_epoch] = hashClaim(_claim);
emit Verified(_epoch);
} else {
emit FailedResolution(_epoch);
}

emit Verified(_epoch);
}

/// @dev Verifies and relays the message. UNTRUSTED.
Expand Down
9 changes: 7 additions & 2 deletions contracts/src/gnosisToArbitrum/VeaOutboxGnosisToArb.sol
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,10 @@ contract VeaOutboxGnosisToArb is IVeaOutboxOnL2 {
/// @param _epoch The epoch that was verified.
event Verified(uint256 indexed _epoch);

/// @dev This event indicates that a resolution has failed.
/// @param _epoch The epoch for which resolution failed.
event FailedResolution(uint256 _epoch);

/// @dev This event indicates the sequencer delay limit updated.
/// @param _newSequencerDelayLimit The new max sequencer past timestamping power.
event SequencerDelayLimitUpdateReceived(uint256 _newSequencerDelayLimit);
Expand Down Expand Up @@ -277,9 +281,10 @@ contract VeaOutboxGnosisToArb is IVeaOutboxOnL2 {
} else if (challengers[_epoch] != address(0)) {
claims[_epoch].honest = Party.Challenger;
}
emit Verified(_epoch);
} else {
emit FailedResolution(_epoch);
}

emit Verified(_epoch);
}

/// @dev Verifies and relays the message. UNTRUSTED.
Expand Down
Loading