@@ -12,23 +12,10 @@ import "./IBridge.sol";
1212
1313interface ISequencerInbox is IDelayedMessageProvider {
1414 struct MaxTimeVariation {
15- uint256 delayBlocks;
16- uint256 futureBlocks;
17- uint256 delaySeconds;
18- uint256 futureSeconds;
19- }
20-
21- struct TimeBounds {
22- uint64 minTimestamp;
23- uint64 maxTimestamp;
24- uint64 minBlockNumber;
25- uint64 maxBlockNumber;
26- }
27-
28- enum BatchDataLocation {
29- TxInput,
30- SeparateBatchEvent,
31- NoData
15+ uint64 delayBlocks;
16+ uint64 futureBlocks;
17+ uint64 delaySeconds;
18+ uint64 futureSeconds;
3219 }
3320
3421 event SequencerBatchDelivered (
@@ -37,8 +24,8 @@ interface ISequencerInbox is IDelayedMessageProvider {
3724 bytes32 indexed afterAcc ,
3825 bytes32 delayedAcc ,
3926 uint256 afterDelayedMessagesRead ,
40- TimeBounds timeBounds ,
41- BatchDataLocation dataLocation
27+ IBridge. TimeBounds timeBounds ,
28+ IBridge. BatchDataLocation dataLocation
4229 );
4330
4431 event OwnerFunctionCalled (uint256 indexed id );
@@ -61,10 +48,41 @@ interface ISequencerInbox is IDelayedMessageProvider {
6148 function HEADER_LENGTH () external view returns (uint256 );
6249
6350 /// @dev If the first batch data byte after the header has this bit set,
64- /// the sequencer inbox has authenticated the data. Currently not used.
51+ /// the sequencer inbox has authenticated the data. Currently only used for 4844 blob support.
52+ /// See: https://github.com/OffchainLabs/nitro/blob/69de0603abf6f900a4128cab7933df60cad54ded/arbstate/das_reader.go
6553 // solhint-disable-next-line func-name-mixedcase
6654 function DATA_AUTHENTICATED_FLAG () external view returns (bytes1 );
6755
56+ /// @dev If the first data byte after the header has this bit set,
57+ /// then the batch data is to be found in 4844 data blobs
58+ /// See: https://github.com/OffchainLabs/nitro/blob/69de0603abf6f900a4128cab7933df60cad54ded/arbstate/das_reader.go
59+ // solhint-disable-next-line func-name-mixedcase
60+ function DATA_BLOB_HEADER_FLAG () external view returns (bytes1 );
61+
62+ /// @dev If the first data byte after the header has this bit set,
63+ /// then the batch data is a das message
64+ /// See: https://github.com/OffchainLabs/nitro/blob/69de0603abf6f900a4128cab7933df60cad54ded/arbstate/das_reader.go
65+ // solhint-disable-next-line func-name-mixedcase
66+ function DAS_MESSAGE_HEADER_FLAG () external view returns (bytes1 );
67+
68+ /// @dev If the first data byte after the header has this bit set,
69+ /// then the batch data is a das message that employs a merklesization strategy
70+ /// See: https://github.com/OffchainLabs/nitro/blob/69de0603abf6f900a4128cab7933df60cad54ded/arbstate/das_reader.go
71+ // solhint-disable-next-line func-name-mixedcase
72+ function TREE_DAS_MESSAGE_HEADER_FLAG () external view returns (bytes1 );
73+
74+ /// @dev If the first data byte after the header has this bit set,
75+ /// then the batch data has been brotli compressed
76+ /// See: https://github.com/OffchainLabs/nitro/blob/69de0603abf6f900a4128cab7933df60cad54ded/arbstate/das_reader.go
77+ // solhint-disable-next-line func-name-mixedcase
78+ function BROTLI_MESSAGE_HEADER_FLAG () external view returns (bytes1 );
79+
80+ /// @dev If the first data byte after the header has this bit set,
81+ /// then the batch data uses a zero heavy encoding
82+ /// See: https://github.com/OffchainLabs/nitro/blob/69de0603abf6f900a4128cab7933df60cad54ded/arbstate/das_reader.go
83+ // solhint-disable-next-line func-name-mixedcase
84+ function ZERO_HEAVY_MESSAGE_HEADER_FLAG () external view returns (bytes1 );
85+
6886 function rollup () external view returns (IOwnable);
6987
7088 function isBatchPoster (address ) external view returns (bool );
@@ -78,14 +96,15 @@ interface ISequencerInbox is IDelayedMessageProvider {
7896 uint64 creationBlock;
7997 }
8098
99+ /// @dev returns 4 uint256 to be compatible with older version
81100 function maxTimeVariation ()
82101 external
83102 view
84103 returns (
85- uint256 ,
86- uint256 ,
87- uint256 ,
88- uint256
104+ uint256 delayBlocks ,
105+ uint256 futureBlocks ,
106+ uint256 delaySeconds ,
107+ uint256 futureSeconds
89108 );
90109
91110 function dasKeySetInfo (bytes32 ) external view returns (bool , uint64 );
@@ -130,6 +149,15 @@ interface ISequencerInbox is IDelayedMessageProvider {
130149 IGasRefunder gasRefunder
131150 ) external ;
132151
152+ function addSequencerL2BatchFromOrigin (
153+ uint256 sequenceNumber ,
154+ bytes calldata data ,
155+ uint256 afterDelayedMessagesRead ,
156+ IGasRefunder gasRefunder ,
157+ uint256 prevMessageCount ,
158+ uint256 newMessageCount
159+ ) external ;
160+
133161 function addSequencerL2Batch (
134162 uint256 sequenceNumber ,
135163 bytes calldata data ,
@@ -139,6 +167,14 @@ interface ISequencerInbox is IDelayedMessageProvider {
139167 uint256 newMessageCount
140168 ) external ;
141169
170+ function addSequencerL2BatchFromBlobs (
171+ uint256 sequenceNumber ,
172+ uint256 afterDelayedMessagesRead ,
173+ IGasRefunder gasRefunder ,
174+ uint256 prevMessageCount ,
175+ uint256 newMessageCount
176+ ) external ;
177+
142178 // ---------- onlyRollupOrOwner functions ----------
143179
144180 /**
0 commit comments