@arbitrum/nitro-contracts 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
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,