@arbitrum/nitro-contracts 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/build/contracts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +1 -1
  2. package/build/contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.dbg.json +1 -1
  3. package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +1 -1
  4. package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.dbg.json +1 -1
  5. package/build/contracts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.dbg.json +1 -1
  6. package/build/contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.dbg.json +1 -1
  7. package/build/contracts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +1 -1
  8. package/build/contracts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.dbg.json +1 -1
  9. package/build/contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.dbg.json +1 -1
  10. package/build/contracts/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol/UUPSUpgradeable.dbg.json +1 -1
  11. package/build/contracts/@openzeppelin/contracts/security/ReentrancyGuard.sol/ReentrancyGuard.dbg.json +1 -1
  12. package/build/contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +1 -1
  13. package/build/contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +1 -1
  14. package/build/contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +1 -1
  15. package/build/contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol/SafeERC20.dbg.json +1 -1
  16. package/build/contracts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json +1 -1
  17. package/build/contracts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +1 -1
  18. package/build/contracts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.dbg.json +1 -1
  19. package/build/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol/AccessControlUpgradeable.dbg.json +1 -1
  20. package/build/contracts/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol/IAccessControlUpgradeable.dbg.json +1 -1
  21. package/build/contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +1 -1
  22. package/build/contracts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +1 -1
  23. package/build/contracts/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol/PausableUpgradeable.dbg.json +1 -1
  24. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.dbg.json +1 -1
  25. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +1 -1
  26. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +1 -1
  27. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol/StorageSlotUpgradeable.dbg.json +1 -1
  28. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol/StringsUpgradeable.dbg.json +1 -1
  29. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol/ERC165Upgradeable.dbg.json +1 -1
  30. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol/IERC165Upgradeable.dbg.json +1 -1
  31. package/build/contracts/src/bridge/AbsBridge.sol/AbsBridge.dbg.json +1 -1
  32. package/build/contracts/src/bridge/AbsInbox.sol/AbsInbox.dbg.json +1 -1
  33. package/build/contracts/src/bridge/AbsOutbox.sol/AbsOutbox.dbg.json +1 -1
  34. package/build/contracts/src/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  35. package/build/contracts/src/bridge/Bridge.sol/Bridge.json +2 -2
  36. package/build/contracts/src/bridge/ERC20Bridge.sol/ERC20Bridge.dbg.json +1 -1
  37. package/build/contracts/src/bridge/ERC20Bridge.sol/ERC20Bridge.json +2 -2
  38. package/build/contracts/src/bridge/ERC20Inbox.sol/ERC20Inbox.dbg.json +1 -1
  39. package/build/contracts/src/bridge/ERC20Inbox.sol/ERC20Inbox.json +2 -2
  40. package/build/contracts/src/bridge/ERC20Outbox.sol/ERC20Outbox.dbg.json +1 -1
  41. package/build/contracts/src/bridge/ERC20Outbox.sol/ERC20Outbox.json +2 -2
  42. package/build/contracts/src/bridge/GasRefunder.sol/GasRefunder.dbg.json +1 -1
  43. package/build/contracts/src/bridge/IBridge.sol/IBridge.dbg.json +1 -1
  44. package/build/contracts/src/bridge/IDelayedMessageProvider.sol/IDelayedMessageProvider.dbg.json +1 -1
  45. package/build/contracts/src/bridge/IERC20Bridge.sol/IERC20Bridge.dbg.json +1 -1
  46. package/build/contracts/src/bridge/IERC20Inbox.sol/IERC20Inbox.dbg.json +1 -1
  47. package/build/contracts/src/bridge/IEthBridge.sol/IEthBridge.dbg.json +1 -1
  48. package/build/contracts/src/bridge/IInbox.sol/IInbox.dbg.json +1 -1
  49. package/build/contracts/src/bridge/IInboxBase.sol/IInboxBase.dbg.json +1 -1
  50. package/build/contracts/src/bridge/IOutbox.sol/IOutbox.dbg.json +1 -1
  51. package/build/contracts/src/bridge/IOwnable.sol/IOwnable.dbg.json +1 -1
  52. package/build/contracts/src/bridge/ISequencerInbox.sol/ISequencerInbox.dbg.json +1 -1
  53. package/build/contracts/src/bridge/ISequencerInbox.sol/ISequencerInbox.json +16 -16
  54. package/build/contracts/src/bridge/Inbox.sol/Inbox.dbg.json +1 -1
  55. package/build/contracts/src/bridge/Inbox.sol/Inbox.json +2 -2
  56. package/build/contracts/src/bridge/Messages.sol/Messages.dbg.json +1 -1
  57. package/build/contracts/src/bridge/Outbox.sol/Outbox.dbg.json +1 -1
  58. package/build/contracts/src/bridge/Outbox.sol/Outbox.json +2 -2
  59. package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.dbg.json +1 -1
  60. package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.json +23 -18
  61. package/build/contracts/src/challenge/ChallengeLib.sol/ChallengeLib.dbg.json +1 -1
  62. package/build/contracts/src/challenge/ChallengeLib.sol/ChallengeLib.json +2 -2
  63. package/build/contracts/src/challenge/ChallengeManager.sol/ChallengeManager.dbg.json +1 -1
  64. package/build/contracts/src/challenge/ChallengeManager.sol/ChallengeManager.json +2 -2
  65. package/build/contracts/src/challenge/IChallengeManager.sol/IChallengeManager.dbg.json +1 -1
  66. package/build/contracts/src/challenge/IChallengeResultReceiver.sol/IChallengeResultReceiver.dbg.json +1 -1
  67. package/build/contracts/src/libraries/AddressAliasHelper.sol/AddressAliasHelper.dbg.json +1 -1
  68. package/build/contracts/src/libraries/AdminFallbackProxy.sol/AdminFallbackProxy.dbg.json +1 -1
  69. package/build/contracts/src/libraries/AdminFallbackProxy.sol/DoubleLogicERC1967Upgrade.dbg.json +1 -1
  70. package/build/contracts/src/libraries/ArbitrumChecker.sol/ArbitrumChecker.dbg.json +1 -1
  71. package/build/contracts/src/libraries/CryptographyPrimitives.sol/CryptographyPrimitives.dbg.json +1 -1
  72. package/build/contracts/src/libraries/DelegateCallAware.sol/DelegateCallAware.dbg.json +1 -1
  73. package/build/contracts/src/libraries/DoubleLogicUUPSUpgradeable.sol/DoubleLogicUUPSUpgradeable.dbg.json +1 -1
  74. package/build/contracts/src/libraries/GasRefundEnabled.sol/GasRefundEnabled.dbg.json +1 -1
  75. package/build/contracts/src/libraries/IGasRefunder.sol/IGasRefunder.dbg.json +1 -1
  76. package/build/contracts/src/libraries/IReader4844.sol/IReader4844.dbg.json +1 -1
  77. package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.dbg.json +1 -1
  78. package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.json +2 -2
  79. package/build/contracts/src/libraries/UUPSNotUpgradeable.sol/UUPSNotUpgradeable.dbg.json +1 -1
  80. package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.dbg.json +1 -1
  81. package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.json +2 -2
  82. package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.dbg.json +1 -1
  83. package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.json +2 -2
  84. package/build/contracts/src/mocks/InboxStub.sol/InboxStub.dbg.json +1 -1
  85. package/build/contracts/src/mocks/InboxStub.sol/InboxStub.json +2 -2
  86. package/build/contracts/src/mocks/MockResultReceiver.sol/MockResultReceiver.dbg.json +1 -1
  87. package/build/contracts/src/mocks/MockResultReceiver.sol/MockResultReceiver.json +2 -2
  88. package/build/contracts/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol/PendingBlkTimeAndNrAdvanceCheck.dbg.json +4 -0
  89. package/build/contracts/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol/PendingBlkTimeAndNrAdvanceCheck.json +36 -0
  90. package/build/contracts/src/mocks/ProxyAdminForBinding.sol/ProxyAdminForBinding.dbg.json +1 -1
  91. package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.dbg.json +1 -1
  92. package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.json +31 -26
  93. package/build/contracts/src/mocks/Simple.sol/Simple.dbg.json +1 -1
  94. package/build/contracts/src/mocks/Simple.sol/Simple.json +2 -2
  95. package/build/contracts/src/mocks/SimpleProxy.sol/SimpleProxy.dbg.json +1 -1
  96. package/build/contracts/src/mocks/SingleExecutionChallenge.sol/SingleExecutionChallenge.dbg.json +1 -1
  97. package/build/contracts/src/mocks/SingleExecutionChallenge.sol/SingleExecutionChallenge.json +2 -2
  98. package/build/contracts/src/mocks/TimedOutChallengeManager.sol/TimedOutChallengeManager.dbg.json +1 -1
  99. package/build/contracts/src/mocks/TimedOutChallengeManager.sol/TimedOutChallengeManager.json +2 -2
  100. package/build/contracts/src/mocks/UpgradeExecutorMock.sol/UpgradeExecutorMock.dbg.json +1 -1
  101. package/build/contracts/src/node-interface/NodeInterface.sol/NodeInterface.dbg.json +1 -1
  102. package/build/contracts/src/node-interface/NodeInterfaceDebug.sol/NodeInterfaceDebug.dbg.json +1 -1
  103. package/build/contracts/src/osp/HashProofHelper.sol/HashProofHelper.dbg.json +1 -1
  104. package/build/contracts/src/osp/IOneStepProofEntry.sol/IOneStepProofEntry.dbg.json +1 -1
  105. package/build/contracts/src/osp/IOneStepProofEntry.sol/IOneStepProofEntry.json +48 -0
  106. package/build/contracts/src/osp/IOneStepProofEntry.sol/OneStepProofEntryLib.dbg.json +1 -1
  107. package/build/contracts/src/osp/IOneStepProofEntry.sol/OneStepProofEntryLib.json +2 -2
  108. package/build/contracts/src/osp/IOneStepProver.sol/IOneStepProver.dbg.json +1 -1
  109. package/build/contracts/src/osp/OneStepProofEntry.sol/OneStepProofEntry.dbg.json +1 -1
  110. package/build/contracts/src/osp/OneStepProofEntry.sol/OneStepProofEntry.json +50 -2
  111. package/build/contracts/src/osp/OneStepProver0.sol/OneStepProver0.dbg.json +1 -1
  112. package/build/contracts/src/osp/OneStepProver0.sol/OneStepProver0.json +2 -2
  113. package/build/contracts/src/osp/OneStepProverHostIo.sol/OneStepProverHostIo.dbg.json +1 -1
  114. package/build/contracts/src/osp/OneStepProverHostIo.sol/OneStepProverHostIo.json +2 -2
  115. package/build/contracts/src/osp/OneStepProverMath.sol/OneStepProverMath.dbg.json +1 -1
  116. package/build/contracts/src/osp/OneStepProverMath.sol/OneStepProverMath.json +2 -2
  117. package/build/contracts/src/osp/OneStepProverMemory.sol/OneStepProverMemory.dbg.json +1 -1
  118. package/build/contracts/src/osp/OneStepProverMemory.sol/OneStepProverMemory.json +2 -2
  119. package/build/contracts/src/precompiles/ArbAddressTable.sol/ArbAddressTable.dbg.json +1 -1
  120. package/build/contracts/src/precompiles/ArbAggregator.sol/ArbAggregator.dbg.json +1 -1
  121. package/build/contracts/src/precompiles/ArbBLS.sol/ArbBLS.dbg.json +1 -1
  122. package/build/contracts/src/precompiles/ArbDebug.sol/ArbDebug.dbg.json +1 -1
  123. package/build/contracts/src/precompiles/ArbFunctionTable.sol/ArbFunctionTable.dbg.json +1 -1
  124. package/build/contracts/src/precompiles/ArbGasInfo.sol/ArbGasInfo.dbg.json +1 -1
  125. package/build/contracts/src/precompiles/ArbInfo.sol/ArbInfo.dbg.json +1 -1
  126. package/build/contracts/src/precompiles/ArbOwner.sol/ArbOwner.dbg.json +1 -1
  127. package/build/contracts/src/precompiles/ArbOwnerPublic.sol/ArbOwnerPublic.dbg.json +1 -1
  128. package/build/contracts/src/precompiles/ArbRetryableTx.sol/ArbRetryableTx.dbg.json +1 -1
  129. package/build/contracts/src/precompiles/ArbStatistics.sol/ArbStatistics.dbg.json +1 -1
  130. package/build/contracts/src/precompiles/ArbSys.sol/ArbSys.dbg.json +1 -1
  131. package/build/contracts/src/precompiles/ArbosActs.sol/ArbosActs.dbg.json +1 -1
  132. package/build/contracts/src/precompiles/ArbosTest.sol/ArbosTest.dbg.json +1 -1
  133. package/build/contracts/src/rollup/AbsRollupEventInbox.sol/AbsRollupEventInbox.dbg.json +1 -1
  134. package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.dbg.json +1 -1
  135. package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.json +10 -10
  136. package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.dbg.json +1 -1
  137. package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.json +2 -2
  138. package/build/contracts/src/rollup/ERC20RollupEventInbox.sol/ERC20RollupEventInbox.dbg.json +1 -1
  139. package/build/contracts/src/rollup/ERC20RollupEventInbox.sol/ERC20RollupEventInbox.json +2 -2
  140. package/build/contracts/src/rollup/IRollupAdmin.sol/IRollupAdmin.dbg.json +1 -1
  141. package/build/contracts/src/rollup/IRollupAdmin.sol/IRollupAdmin.json +8 -8
  142. package/build/contracts/src/rollup/IRollupCore.sol/IRollupCore.dbg.json +1 -1
  143. package/build/contracts/src/rollup/IRollupEventInbox.sol/IRollupEventInbox.dbg.json +1 -1
  144. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUser.dbg.json +1 -1
  145. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserAbs.dbg.json +1 -1
  146. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserERC20.dbg.json +1 -1
  147. package/build/contracts/src/rollup/Node.sol/NodeLib.dbg.json +1 -1
  148. package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.dbg.json +1 -1
  149. package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.json +10 -10
  150. package/build/contracts/src/rollup/RollupCore.sol/RollupCore.dbg.json +1 -1
  151. package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.dbg.json +1 -1
  152. package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.json +10 -10
  153. package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.dbg.json +1 -1
  154. package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.json +2 -2
  155. package/build/contracts/src/rollup/RollupLib.sol/RollupLib.dbg.json +1 -1
  156. package/build/contracts/src/rollup/RollupLib.sol/RollupLib.json +2 -2
  157. package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.dbg.json +1 -1
  158. package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.json +10 -10
  159. package/build/contracts/src/rollup/RollupUserLogic.sol/AbsRollupUserLogic.dbg.json +1 -1
  160. package/build/contracts/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic.dbg.json +1 -1
  161. package/build/contracts/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic.json +2 -2
  162. package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.dbg.json +1 -1
  163. package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.json +2 -2
  164. package/build/contracts/src/rollup/ValidatorUtils.sol/ValidatorUtils.dbg.json +1 -1
  165. package/build/contracts/src/rollup/ValidatorUtils.sol/ValidatorUtils.json +2 -2
  166. package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.dbg.json +1 -1
  167. package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.json +2 -2
  168. package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.dbg.json +1 -1
  169. package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.json +2 -2
  170. package/build/contracts/src/state/Deserialize.sol/Deserialize.dbg.json +1 -1
  171. package/build/contracts/src/state/GlobalState.sol/GlobalStateLib.dbg.json +1 -1
  172. package/build/contracts/src/state/Instructions.sol/Instructions.dbg.json +1 -1
  173. package/build/contracts/src/state/Machine.sol/MachineLib.dbg.json +1 -1
  174. package/build/contracts/src/state/MerkleProof.sol/MerkleProofLib.dbg.json +1 -1
  175. package/build/contracts/src/state/Module.sol/ModuleLib.dbg.json +1 -1
  176. package/build/contracts/src/state/ModuleMemory.sol/ModuleMemoryLib.dbg.json +1 -1
  177. package/build/contracts/src/state/ModuleMemoryCompact.sol/ModuleMemoryCompactLib.dbg.json +1 -1
  178. package/build/contracts/src/state/PcArray.sol/PcArrayLib.dbg.json +1 -1
  179. package/build/contracts/src/state/StackFrame.sol/StackFrameLib.dbg.json +1 -1
  180. package/build/contracts/src/state/Value.sol/ValueLib.dbg.json +1 -1
  181. package/build/contracts/src/state/ValueArray.sol/ValueArrayLib.dbg.json +1 -1
  182. package/build/contracts/src/state/ValueStack.sol/ValueStackLib.dbg.json +1 -1
  183. package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.dbg.json +1 -1
  184. package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.json +2 -2
  185. package/build/contracts/src/test-helpers/CryptographyPrimitivesTester.sol/CryptographyPrimitivesTester.dbg.json +1 -1
  186. package/build/contracts/src/test-helpers/EthVault.sol/EthVault.dbg.json +1 -1
  187. package/build/contracts/src/test-helpers/MessageTester.sol/MessageTester.dbg.json +1 -1
  188. package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.dbg.json +1 -1
  189. package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.json +2 -2
  190. package/build/contracts/src/test-helpers/RollupMock.sol/RollupMock.dbg.json +1 -1
  191. package/build/contracts/src/test-helpers/TestToken.sol/TestToken.dbg.json +1 -1
  192. package/build/contracts/src/test-helpers/ValueArrayTester.sol/ValueArrayTester.dbg.json +1 -1
  193. package/package.json +12 -6
  194. package/src/bridge/ISequencerInbox.sol +4 -4
  195. package/src/bridge/SequencerInbox.sol +38 -30
  196. package/src/challenge/ChallengeLib.sol +0 -45
  197. package/src/challenge/ChallengeManager.sol +2 -5
  198. package/src/libraries/Error.sol +3 -9
  199. package/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol +29 -0
  200. package/src/mocks/SequencerInboxStub.sol +4 -4
  201. package/src/osp/IOneStepProofEntry.sol +10 -0
  202. package/src/osp/OneStepProofEntry.sol +47 -0
@@ -167,9 +167,6 @@ error BadSequencerNumber(uint256 stored, uint256 received);
167
167
  /// @dev The sequence message number provided to this message was inconsistent with the previous one
168
168
  error BadSequencerMessageNumber(uint256 stored, uint256 received);
169
169
 
170
- /// @dev The batch data has the inbox authenticated bit set, but the batch data was not authenticated by the inbox
171
- error DataNotAuthenticated();
172
-
173
170
  /// @dev Tried to create an already valid Data Availability Service keyset
174
171
  error AlreadyValidDASKeyset(bytes32);
175
172
 
@@ -188,15 +185,9 @@ error InitParamZero(string name);
188
185
  /// @dev Thrown when data hashes where expected but not where present on the tx
189
186
  error MissingDataHashes();
190
187
 
191
- /// @dev Thrown when the data blob meta data is invalid
192
- error InvalidBlobMetadata();
193
-
194
188
  /// @dev Thrown when rollup is not updated with updateRollupAddress
195
189
  error RollupNotChanged();
196
190
 
197
- /// @dev Batch data was empty when non empty was expected
198
- error EmptyBatchData();
199
-
200
191
  /// @dev Unsupported header flag was provided
201
192
  error InvalidHeaderFlag(bytes1);
202
193
 
@@ -205,3 +196,6 @@ error NativeTokenMismatch();
205
196
 
206
197
  /// @dev Thrown when a deprecated function is called
207
198
  error Deprecated();
199
+
200
+ /// @dev Thrown when any component of maxTimeVariation is over uint64
201
+ error BadMaxTimeVariation();
@@ -0,0 +1,29 @@
1
+ // Copyright 2021-2022, Offchain Labs, Inc.
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
+ // SPDX-License-Identifier: BUSL-1.1
4
+
5
+ pragma solidity ^0.8.0;
6
+
7
+ import "../precompiles/ArbSys.sol";
8
+
9
+ contract PendingBlkTimeAndNrAdvanceCheck {
10
+ uint256 immutable deployedAt;
11
+ uint256 immutable deployedAtBlock;
12
+ ArbSys constant ARB_SYS = ArbSys(address(100));
13
+
14
+ constructor() {
15
+ deployedAt = block.timestamp;
16
+ deployedAtBlock = ARB_SYS.arbBlockNumber();
17
+ }
18
+
19
+ function isAdvancing() external {
20
+ require(block.timestamp > deployedAt, "Time didn't advance");
21
+ require(ARB_SYS.arbBlockNumber() > deployedAtBlock, "Block didn't advance");
22
+ }
23
+
24
+ function checkArbBlockHashReturnsLatest(bytes32 expected) external {
25
+ bytes32 gotBlockHash = ARB_SYS.arbBlockHash(ARB_SYS.arbBlockNumber() - 1);
26
+ require(gotBlockHash != bytes32(0), "ZERO_BLOCK_HASH");
27
+ require(gotBlockHash == expected, "WRONG_BLOCK_HASH");
28
+ }
29
+ }
@@ -19,10 +19,10 @@ contract SequencerInboxStub is SequencerInbox {
19
19
  ) SequencerInbox(maxDataSize_, reader4844_, isUsingFeeToken_) {
20
20
  bridge = bridge_;
21
21
  rollup = IOwnable(msg.sender);
22
- delayBlocks = maxTimeVariation_.delayBlocks;
23
- futureBlocks = maxTimeVariation_.futureBlocks;
24
- delaySeconds = maxTimeVariation_.delaySeconds;
25
- futureSeconds = maxTimeVariation_.futureSeconds;
22
+ delayBlocks = uint64(maxTimeVariation_.delayBlocks);
23
+ futureBlocks = uint64(maxTimeVariation_.futureBlocks);
24
+ delaySeconds = uint64(maxTimeVariation_.delaySeconds);
25
+ futureSeconds = uint64(maxTimeVariation_.futureSeconds);
26
26
  isBatchPoster[sequencer_] = true;
27
27
  }
28
28
 
@@ -11,6 +11,16 @@ library OneStepProofEntryLib {
11
11
  }
12
12
 
13
13
  interface IOneStepProofEntry {
14
+ function getStartMachineHash(bytes32 globalStateHash, bytes32 wasmModuleRoot)
15
+ external
16
+ pure
17
+ returns (bytes32);
18
+
19
+ function getEndMachineHash(MachineStatus status, bytes32 globalStateHash)
20
+ external
21
+ pure
22
+ returns (bytes32);
23
+
14
24
  function proveOneStep(
15
25
  ExecutionContext calldata execCtx,
16
26
  uint256 machineStep,
@@ -31,6 +31,53 @@ contract OneStepProofEntry is IOneStepProofEntry {
31
31
  proverHostIo = proverHostIo_;
32
32
  }
33
33
 
34
+ // Copied from ChallengeLib.sol
35
+ function getStartMachineHash(bytes32 globalStateHash, bytes32 wasmModuleRoot)
36
+ external
37
+ pure
38
+ returns (bytes32)
39
+ {
40
+ // Start the value stack with the function call ABI for the entrypoint
41
+ Value[] memory startingValues = new Value[](3);
42
+ startingValues[0] = ValueLib.newRefNull();
43
+ startingValues[1] = ValueLib.newI32(0);
44
+ startingValues[2] = ValueLib.newI32(0);
45
+ ValueArray memory valuesArray = ValueArray({inner: startingValues});
46
+ ValueStack memory values = ValueStack({proved: valuesArray, remainingHash: 0});
47
+ ValueStack memory internalStack;
48
+ StackFrameWindow memory frameStack;
49
+
50
+ Machine memory mach = Machine({
51
+ status: MachineStatus.RUNNING,
52
+ valueStack: values,
53
+ internalStack: internalStack,
54
+ frameStack: frameStack,
55
+ globalStateHash: globalStateHash,
56
+ moduleIdx: 0,
57
+ functionIdx: 0,
58
+ functionPc: 0,
59
+ modulesRoot: wasmModuleRoot
60
+ });
61
+ return mach.hash();
62
+ }
63
+
64
+ // Copied from ChallengeLib.sol
65
+ function getEndMachineHash(MachineStatus status, bytes32 globalStateHash)
66
+ external
67
+ pure
68
+ returns (bytes32)
69
+ {
70
+ if (status == MachineStatus.FINISHED) {
71
+ return keccak256(abi.encodePacked("Machine finished:", globalStateHash));
72
+ } else if (status == MachineStatus.ERRORED) {
73
+ return keccak256(abi.encodePacked("Machine errored:"));
74
+ } else if (status == MachineStatus.TOO_FAR) {
75
+ return keccak256(abi.encodePacked("Machine too far:"));
76
+ } else {
77
+ revert("BAD_BLOCK_STATUS");
78
+ }
79
+ }
80
+
34
81
  function proveOneStep(
35
82
  ExecutionContext calldata execCtx,
36
83
  uint256 machineStep,