Skip to content

Commit cb1b65f

Browse files
committed
feat: depositMessageCount to be derived from depositMessageNonce in publicInput and messageQueue headIndex for NilRollup
1 parent ab0445b commit cb1b65f

File tree

9 files changed

+1260
-1229
lines changed

9 files changed

+1260
-1229
lines changed

rollup-bridge-contracts/contracts/NilRollup.sol

+445-463
Large diffs are not rendered by default.

rollup-bridge-contracts/contracts/bridge/l1/L1BridgeMessenger.sol

+6
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import { INilRollup } from "../../interfaces/INilRollup.sol";
2121
import { INilGasPriceOracle } from "./interfaces/INilGasPriceOracle.sol";
2222
import { NilAccessControlUpgradeable } from "../../NilAccessControlUpgradeable.sol";
2323
import { IL2BridgeMessenger } from "../l2/interfaces/IL2BridgeMessenger.sol";
24+
import "forge-std/console.sol";
2425

2526
contract L1BridgeMessenger is
2627
OwnableUpgradeable,
@@ -544,4 +545,9 @@ contract L1BridgeMessenger is
544545
) public view override(AccessControlEnumerableUpgradeable, IERC165) returns (bool) {
545546
return interfaceId == type(IL1BridgeMessenger).interfaceId || super.supportsInterface(interfaceId);
546547
}
548+
549+
function getQueueHeadIndex() external view override returns (uint256) {
550+
console.log("L1BridgeMessener - QueueHeadIndex call");
551+
return messageQueue.getFirstUnprocessedMessageHash();
552+
}
547553
}

rollup-bridge-contracts/contracts/bridge/l1/interfaces/IL1BridgeMessenger.sol

+2
Original file line numberDiff line numberDiff line change
@@ -174,4 +174,6 @@ interface IL1BridgeMessenger is IBridgeMessenger, IRelayMessage {
174174
/// @param messageCount number of messages to be removed from the queue
175175
/// @return messageHashes array of messageHashes start from the head of queue
176176
function popMessages(uint256 messageCount) external returns (bytes32[] memory);
177+
178+
function getQueueHeadIndex() external view returns (uint256);
177179
}

rollup-bridge-contracts/contracts/bridge/l2/L2BridgeMessenger.sol

+5
Original file line numberDiff line numberDiff line change
@@ -418,4 +418,9 @@ contract L2BridgeMessenger is
418418
function getL2ToL1Root() external view override returns (bytes32) {
419419
return INilMessageTree(nilMessageTree).getMessageRoot();
420420
}
421+
422+
/// @inheritdoc IL2BridgeMessenger
423+
function getLatestDepositNonce() external view returns (uint256) {
424+
return relayedMessageHashStore.length();
425+
}
421426
}

rollup-bridge-contracts/contracts/bridge/l2/interfaces/IL2BridgeMessenger.sol

+2
Original file line numberDiff line numberDiff line change
@@ -170,4 +170,6 @@ interface IL2BridgeMessenger is IBridgeMessenger, IRelayMessage {
170170
function setPause(bool _status) external;
171171

172172
function getL2ToL1Root() external view returns (bytes32);
173+
174+
function getLatestDepositNonce() external view returns (uint256);
173175
}

0 commit comments

Comments
 (0)