@arbitrum/nitro-contracts 1.1.0-beta.1 → 1.1.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 (207) 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/AbsBridge.sol/AbsBridge.json +26 -0
  33. package/build/contracts/src/bridge/AbsInbox.sol/AbsInbox.dbg.json +1 -1
  34. package/build/contracts/src/bridge/AbsOutbox.sol/AbsOutbox.dbg.json +1 -1
  35. package/build/contracts/src/bridge/AbsOutbox.sol/AbsOutbox.json +40 -0
  36. package/build/contracts/src/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  37. package/build/contracts/src/bridge/Bridge.sol/Bridge.json +28 -2
  38. package/build/contracts/src/bridge/ERC20Bridge.sol/ERC20Bridge.dbg.json +1 -1
  39. package/build/contracts/src/bridge/ERC20Bridge.sol/ERC20Bridge.json +28 -2
  40. package/build/contracts/src/bridge/ERC20Inbox.sol/ERC20Inbox.dbg.json +1 -1
  41. package/build/contracts/src/bridge/ERC20Inbox.sol/ERC20Inbox.json +2 -2
  42. package/build/contracts/src/bridge/ERC20Outbox.sol/ERC20Outbox.dbg.json +1 -1
  43. package/build/contracts/src/bridge/ERC20Outbox.sol/ERC20Outbox.json +42 -2
  44. package/build/contracts/src/bridge/GasRefunder.sol/GasRefunder.dbg.json +1 -1
  45. package/build/contracts/src/bridge/IBridge.sol/IBridge.dbg.json +1 -1
  46. package/build/contracts/src/bridge/IBridge.sol/IBridge.json +26 -0
  47. package/build/contracts/src/bridge/IDelayedMessageProvider.sol/IDelayedMessageProvider.dbg.json +1 -1
  48. package/build/contracts/src/bridge/IERC20Bridge.sol/IERC20Bridge.dbg.json +1 -1
  49. package/build/contracts/src/bridge/IERC20Bridge.sol/IERC20Bridge.json +26 -0
  50. package/build/contracts/src/bridge/IERC20Inbox.sol/IERC20Inbox.dbg.json +1 -1
  51. package/build/contracts/src/bridge/IEthBridge.sol/IEthBridge.dbg.json +1 -1
  52. package/build/contracts/src/bridge/IEthBridge.sol/IEthBridge.json +26 -0
  53. package/build/contracts/src/bridge/IInbox.sol/IInbox.dbg.json +1 -1
  54. package/build/contracts/src/bridge/IInboxBase.sol/IInboxBase.dbg.json +1 -1
  55. package/build/contracts/src/bridge/IOutbox.sol/IOutbox.dbg.json +1 -1
  56. package/build/contracts/src/bridge/IOutbox.sol/IOutbox.json +14 -0
  57. package/build/contracts/src/bridge/IOwnable.sol/IOwnable.dbg.json +1 -1
  58. package/build/contracts/src/bridge/ISequencerInbox.sol/ISequencerInbox.dbg.json +1 -1
  59. package/build/contracts/src/bridge/ISequencerInbox.sol/ISequencerInbox.json +7 -0
  60. package/build/contracts/src/bridge/Inbox.sol/Inbox.dbg.json +1 -1
  61. package/build/contracts/src/bridge/Inbox.sol/Inbox.json +2 -2
  62. package/build/contracts/src/bridge/Messages.sol/Messages.dbg.json +1 -1
  63. package/build/contracts/src/bridge/Outbox.sol/Outbox.dbg.json +1 -1
  64. package/build/contracts/src/bridge/Outbox.sol/Outbox.json +42 -2
  65. package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.dbg.json +1 -1
  66. package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.json +14 -2
  67. package/build/contracts/src/challenge/ChallengeLib.sol/ChallengeLib.dbg.json +1 -1
  68. package/build/contracts/src/challenge/ChallengeManager.sol/ChallengeManager.dbg.json +1 -1
  69. package/build/contracts/src/challenge/ChallengeManager.sol/ChallengeManager.json +2 -2
  70. package/build/contracts/src/challenge/IChallengeManager.sol/IChallengeManager.dbg.json +1 -1
  71. package/build/contracts/src/challenge/IChallengeResultReceiver.sol/IChallengeResultReceiver.dbg.json +1 -1
  72. package/build/contracts/src/libraries/AddressAliasHelper.sol/AddressAliasHelper.dbg.json +1 -1
  73. package/build/contracts/src/libraries/AdminFallbackProxy.sol/AdminFallbackProxy.dbg.json +1 -1
  74. package/build/contracts/src/libraries/AdminFallbackProxy.sol/DoubleLogicERC1967Upgrade.dbg.json +1 -1
  75. package/build/contracts/src/libraries/ArbitrumChecker.sol/ArbitrumChecker.dbg.json +1 -1
  76. package/build/contracts/src/libraries/CryptographyPrimitives.sol/CryptographyPrimitives.dbg.json +1 -1
  77. package/build/contracts/src/libraries/DelegateCallAware.sol/DelegateCallAware.dbg.json +1 -1
  78. package/build/contracts/src/libraries/DoubleLogicUUPSUpgradeable.sol/DoubleLogicUUPSUpgradeable.dbg.json +1 -1
  79. package/build/contracts/src/libraries/IGasRefunder.sol/GasRefundEnabled.dbg.json +1 -1
  80. package/build/contracts/src/libraries/IGasRefunder.sol/IGasRefunder.dbg.json +1 -1
  81. package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.dbg.json +1 -1
  82. package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.json +2 -2
  83. package/build/contracts/src/libraries/UUPSNotUpgradeable.sol/UUPSNotUpgradeable.dbg.json +1 -1
  84. package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.dbg.json +1 -1
  85. package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.json +28 -2
  86. package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.dbg.json +1 -1
  87. package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.json +28 -2
  88. package/build/contracts/src/mocks/InboxStub.sol/InboxStub.dbg.json +1 -1
  89. package/build/contracts/src/mocks/InboxStub.sol/InboxStub.json +2 -2
  90. package/build/contracts/src/mocks/MockResultReceiver.sol/MockResultReceiver.dbg.json +1 -1
  91. package/build/contracts/src/mocks/MockResultReceiver.sol/MockResultReceiver.json +2 -2
  92. package/build/contracts/src/mocks/ProxyAdminForBinding.sol/ProxyAdminForBinding.dbg.json +1 -1
  93. package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.dbg.json +1 -1
  94. package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.json +14 -2
  95. package/build/contracts/src/mocks/Simple.sol/Simple.dbg.json +1 -1
  96. package/build/contracts/src/mocks/SimpleProxy.sol/SimpleProxy.dbg.json +1 -1
  97. package/build/contracts/src/mocks/SingleExecutionChallenge.sol/SingleExecutionChallenge.dbg.json +1 -1
  98. package/build/contracts/src/mocks/SingleExecutionChallenge.sol/SingleExecutionChallenge.json +2 -2
  99. package/build/contracts/src/mocks/TimedOutChallengeManager.sol/TimedOutChallengeManager.dbg.json +1 -1
  100. package/build/contracts/src/mocks/TimedOutChallengeManager.sol/TimedOutChallengeManager.json +2 -2
  101. package/build/contracts/src/mocks/UpgradeExecutorMock.sol/UpgradeExecutorMock.dbg.json +1 -1
  102. package/build/contracts/src/node-interface/NodeInterface.sol/NodeInterface.dbg.json +1 -1
  103. package/build/contracts/src/node-interface/NodeInterfaceDebug.sol/NodeInterfaceDebug.dbg.json +1 -1
  104. package/build/contracts/src/osp/HashProofHelper.sol/HashProofHelper.dbg.json +1 -1
  105. package/build/contracts/src/osp/IOneStepProofEntry.sol/IOneStepProofEntry.dbg.json +1 -1
  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 +2 -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/AbsRollupEventInbox.sol/AbsRollupEventInbox.json +28 -0
  135. package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.dbg.json +1 -1
  136. package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.json +2 -2
  137. package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.dbg.json +1 -1
  138. package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.json +2 -2
  139. package/build/contracts/src/rollup/ERC20RollupEventInbox.sol/ERC20RollupEventInbox.dbg.json +1 -1
  140. package/build/contracts/src/rollup/ERC20RollupEventInbox.sol/ERC20RollupEventInbox.json +30 -2
  141. package/build/contracts/src/rollup/IRollupAdmin.sol/IRollupAdmin.dbg.json +1 -1
  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/IRollupEventInbox.sol/IRollupEventInbox.json +7 -0
  145. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUser.dbg.json +1 -1
  146. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserAbs.dbg.json +1 -1
  147. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserERC20.dbg.json +1 -1
  148. package/build/contracts/src/rollup/Node.sol/NodeLib.dbg.json +1 -1
  149. package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.dbg.json +1 -1
  150. package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.json +2 -2
  151. package/build/contracts/src/rollup/RollupCore.sol/RollupCore.dbg.json +1 -1
  152. package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.dbg.json +1 -1
  153. package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.json +2 -2
  154. package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.dbg.json +1 -1
  155. package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.json +30 -2
  156. package/build/contracts/src/rollup/RollupLib.sol/RollupLib.dbg.json +1 -1
  157. package/build/contracts/src/rollup/RollupLib.sol/RollupLib.json +2 -2
  158. package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.dbg.json +1 -1
  159. package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.json +2 -2
  160. package/build/contracts/src/rollup/RollupUserLogic.sol/AbsRollupUserLogic.dbg.json +1 -1
  161. package/build/contracts/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic.dbg.json +1 -1
  162. package/build/contracts/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic.json +2 -2
  163. package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.dbg.json +1 -1
  164. package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.json +2 -2
  165. package/build/contracts/src/rollup/ValidatorUtils.sol/ValidatorUtils.dbg.json +1 -1
  166. package/build/contracts/src/rollup/ValidatorUtils.sol/ValidatorUtils.json +2 -2
  167. package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.dbg.json +1 -1
  168. package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.json +2 -2
  169. package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.dbg.json +1 -1
  170. package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.json +2 -2
  171. package/build/contracts/src/state/Deserialize.sol/Deserialize.dbg.json +1 -1
  172. package/build/contracts/src/state/GlobalState.sol/GlobalStateLib.dbg.json +1 -1
  173. package/build/contracts/src/state/Instructions.sol/Instructions.dbg.json +1 -1
  174. package/build/contracts/src/state/Machine.sol/MachineLib.dbg.json +1 -1
  175. package/build/contracts/src/state/MerkleProof.sol/MerkleProofLib.dbg.json +1 -1
  176. package/build/contracts/src/state/Module.sol/ModuleLib.dbg.json +1 -1
  177. package/build/contracts/src/state/ModuleMemory.sol/ModuleMemoryLib.dbg.json +1 -1
  178. package/build/contracts/src/state/ModuleMemoryCompact.sol/ModuleMemoryCompactLib.dbg.json +1 -1
  179. package/build/contracts/src/state/PcArray.sol/PcArrayLib.dbg.json +1 -1
  180. package/build/contracts/src/state/StackFrame.sol/StackFrameLib.dbg.json +1 -1
  181. package/build/contracts/src/state/Value.sol/ValueLib.dbg.json +1 -1
  182. package/build/contracts/src/state/ValueArray.sol/ValueArrayLib.dbg.json +1 -1
  183. package/build/contracts/src/state/ValueStack.sol/ValueStackLib.dbg.json +1 -1
  184. package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.dbg.json +1 -1
  185. package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.json +28 -2
  186. package/build/contracts/src/test-helpers/CryptographyPrimitivesTester.sol/CryptographyPrimitivesTester.dbg.json +1 -1
  187. package/build/contracts/src/test-helpers/EthVault.sol/EthVault.dbg.json +1 -1
  188. package/build/contracts/src/test-helpers/MessageTester.sol/MessageTester.dbg.json +1 -1
  189. package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.dbg.json +1 -1
  190. package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.json +32 -2
  191. package/build/contracts/src/test-helpers/RollupMock.sol/RollupMock.dbg.json +1 -1
  192. package/build/contracts/src/test-helpers/TestToken.sol/TestToken.dbg.json +1 -1
  193. package/build/contracts/src/test-helpers/ValueArrayTester.sol/ValueArrayTester.dbg.json +1 -1
  194. package/package.json +1 -1
  195. package/src/bridge/AbsBridge.sol +6 -0
  196. package/src/bridge/AbsOutbox.sol +25 -1
  197. package/src/bridge/IBridge.sol +4 -0
  198. package/src/bridge/IOutbox.sol +8 -0
  199. package/src/bridge/ISequencerInbox.sol +2 -0
  200. package/src/bridge/SequencerInbox.sol +11 -1
  201. package/src/libraries/Error.sol +7 -1
  202. package/src/mocks/BridgeStub.sol +4 -0
  203. package/src/rollup/AbsRollupEventInbox.sol +10 -1
  204. package/src/rollup/IRollupEventInbox.sol +2 -0
  205. package/src/rollup/RollupUserLogic.sol +26 -4
  206. package/src/test-helpers/BridgeTester.sol +4 -0
  207. package/src/test-helpers/OutboxWithoutOptTester.sol +6 -0
@@ -27,6 +27,11 @@ abstract contract AbsRollupUserLogic is
27
27
  _;
28
28
  }
29
29
 
30
+ modifier whenNotPausedOrDeprecated() {
31
+ require(!paused() || address(bridge.rollup()) != address(this), "PAUSED_AND_ACTIVE");
32
+ _;
33
+ }
34
+
30
35
  uint256 internal immutable deployTimeChainId = block.chainid;
31
36
 
32
37
  function _chainIdChanged() internal view returns (bool) {
@@ -234,7 +239,12 @@ abstract contract AbsRollupUserLogic is
234
239
  * and move it to the desired node.
235
240
  * @param stakerAddress Address of the staker whose stake is refunded
236
241
  */
237
- function returnOldDeposit(address stakerAddress) external override onlyValidator whenNotPaused {
242
+ function returnOldDeposit(address stakerAddress)
243
+ external
244
+ override
245
+ onlyValidator
246
+ whenNotPausedOrDeprecated
247
+ {
238
248
  require(latestStakedNode(stakerAddress) <= latestConfirmed(), "TOO_RECENT");
239
249
  requireUnchallengedStaker(stakerAddress);
240
250
  withdrawStaker(stakerAddress);
@@ -258,7 +268,7 @@ abstract contract AbsRollupUserLogic is
258
268
  * @notice Reduce the amount staked for the sender (difference between initial amount staked and target is creditted back to the sender).
259
269
  * @param target Target amount of stake for the staker. If this is below the current minimum, it will be set to minimum instead
260
270
  */
261
- function reduceDeposit(uint256 target) external onlyValidator whenNotPaused {
271
+ function reduceDeposit(uint256 target) external onlyValidator whenNotPausedOrDeprecated {
262
272
  requireUnchallengedStaker(msg.sender);
263
273
  uint256 currentRequired = currentRequiredStake();
264
274
  if (target < currentRequired) {
@@ -659,7 +669,13 @@ contract RollupUserLogic is AbsRollupUserLogic, IRollupUser {
659
669
  /**
660
670
  * @notice Withdraw uncommitted funds owned by sender from the rollup chain
661
671
  */
662
- function withdrawStakerFunds() external override onlyValidator whenNotPaused returns (uint256) {
672
+ function withdrawStakerFunds()
673
+ external
674
+ override
675
+ onlyValidator
676
+ whenNotPausedOrDeprecated
677
+ returns (uint256)
678
+ {
663
679
  uint256 amount = withdrawFunds(msg.sender);
664
680
  // This is safe because it occurs after all checks and effects
665
681
  // solhint-disable-next-line avoid-low-level-calls
@@ -731,7 +747,13 @@ contract ERC20RollupUserLogic is AbsRollupUserLogic, IRollupUserERC20 {
731
747
  /**
732
748
  * @notice Withdraw uncommitted funds owned by sender from the rollup chain
733
749
  */
734
- function withdrawStakerFunds() external override onlyValidator whenNotPaused returns (uint256) {
750
+ function withdrawStakerFunds()
751
+ external
752
+ override
753
+ onlyValidator
754
+ whenNotPausedOrDeprecated
755
+ returns (uint256)
756
+ {
735
757
  uint256 amount = withdrawFunds(msg.sender);
736
758
  // This is safe because it occurs after all checks and effects
737
759
  require(IERC20Upgradeable(stakeToken).transfer(msg.sender, amount), "TRANSFER_FAILED");
@@ -74,6 +74,10 @@ contract BridgeTester is Initializable, DelegateCallAware, IBridge, IEthBridge {
74
74
  rollup = rollup_;
75
75
  }
76
76
 
77
+ function updateRollupAddress(IOwnable _rollup) external {
78
+ rollup = _rollup;
79
+ }
80
+
77
81
  function activeOutbox() public view returns (address) {
78
82
  if (_activeOutbox == EMPTY_ACTIVEOUTBOX) return address(uint160(0));
79
83
  return _activeOutbox;
@@ -48,12 +48,18 @@ contract OutboxWithoutOptTester is DelegateCallAware, IOutbox {
48
48
  rollup = address(_bridge.rollup());
49
49
  }
50
50
 
51
+ function postUpgradeInit() external {}
52
+
51
53
  function updateSendRoot(bytes32 root, bytes32 l2BlockHash) external override {
52
54
  //if (msg.sender != rollup) revert NotRollup(msg.sender, rollup); //test only!!!
53
55
  roots[root] = l2BlockHash;
54
56
  emit SendRootUpdated(root, l2BlockHash);
55
57
  }
56
58
 
59
+ function updateRollupAddress() external onlyDelegated onlyProxyOwner {
60
+ rollup = address(bridge.rollup());
61
+ }
62
+
57
63
  /// @notice When l2ToL1Sender returns a nonzero address, the message was originated by an L2 account
58
64
  /// When the return value is zero, that means this is a system message
59
65
  /// @dev the l2ToL1Sender behaves as the tx.origin, the msg.sender should be validated to protect against reentrancies