@arbitrum/nitro-contracts 1.1.0-beta.1 → 1.1.0-beta.2

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/b8f273014c17044fc3eefedb261147e6.json"
3
+ "buildInfo": "../../../build-info/bd6d911e8af19014a6d3612fec6f93ac.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/b8f273014c17044fc3eefedb261147e6.json"
3
+ "buildInfo": "../../../build-info/bd6d911e8af19014a6d3612fec6f93ac.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/b8f273014c17044fc3eefedb261147e6.json"
3
+ "buildInfo": "../../../build-info/bd6d911e8af19014a6d3612fec6f93ac.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/b8f273014c17044fc3eefedb261147e6.json"
3
+ "buildInfo": "../../../build-info/bd6d911e8af19014a6d3612fec6f93ac.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/b8f273014c17044fc3eefedb261147e6.json"
3
+ "buildInfo": "../../../build-info/bd6d911e8af19014a6d3612fec6f93ac.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/b8f273014c17044fc3eefedb261147e6.json"
3
+ "buildInfo": "../../../build-info/bd6d911e8af19014a6d3612fec6f93ac.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/b8f273014c17044fc3eefedb261147e6.json"
3
+ "buildInfo": "../../../build-info/bd6d911e8af19014a6d3612fec6f93ac.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/b8f273014c17044fc3eefedb261147e6.json"
3
+ "buildInfo": "../../../build-info/bd6d911e8af19014a6d3612fec6f93ac.json"
4
4
  }
@@ -181,6 +181,19 @@
181
181
  "name": "OutboxToggle",
182
182
  "type": "event"
183
183
  },
184
+ {
185
+ "anonymous": false,
186
+ "inputs": [
187
+ {
188
+ "indexed": false,
189
+ "internalType": "address",
190
+ "name": "rollup",
191
+ "type": "address"
192
+ }
193
+ ],
194
+ "name": "RollupUpdated",
195
+ "type": "event"
196
+ },
184
197
  {
185
198
  "anonymous": false,
186
199
  "inputs": [
@@ -591,13 +604,26 @@
591
604
  "stateMutability": "nonpayable",
592
605
  "type": "function"
593
606
  },
607
+ {
608
+ "inputs": [
609
+ {
610
+ "internalType": "contract IOwnable",
611
+ "name": "_rollup",
612
+ "type": "address"
613
+ }
614
+ ],
615
+ "name": "updateRollupAddress",
616
+ "outputs": [],
617
+ "stateMutability": "nonpayable",
618
+ "type": "function"
619
+ },
594
620
  {
595
621
  "stateMutability": "payable",
596
622
  "type": "receive"
597
623
  }
598
624
  ],
599
- "bytecode": "0x60a06040523060805234801561001457600080fd5b5060805161134661002d600039600050506113466000f3fe60806040526004361061012d5760003560e01c80639e5d4c49116100ab578063cee3d7281161006f578063cee3d7281461038e578063d5719dc2146103ae578063e76f5c8d146103ce578063e77145f4146101e9578063eca067ad146103ee578063ee35f3271461040357600080fd5b80639e5d4c49146102ce578063ab5d8943146102fc578063ae60bd1314610311578063c4d66de81461034e578063cb23bcb51461036e57600080fd5b80635fca4a16116100f25780635fca4a161461020b5780637a88b1071461022157806386598a56146102445780638db5993b1461028e578063945e1147146102a157600080fd5b806284120c1461013957806316bf55791461015d578063413b35bd1461017d57806347fb24c5146101c95780634f61f850146101eb57600080fd5b3661013457005b600080fd5b34801561014557600080fd5b506009545b6040519081526020015b60405180910390f35b34801561016957600080fd5b5061014a610178366004611005565b610423565b34801561018957600080fd5b506101b9610198366004611036565b6001600160a01b031660009081526002602052604090206001015460ff1690565b6040519015158152602001610154565b3480156101d557600080fd5b506101e96101e436600461105a565b610444565b005b3480156101f757600080fd5b506101e9610206366004611036565b61074f565b34801561021757600080fd5b5061014a600a5481565b34801561022d57600080fd5b5061014a61023c366004611098565b600092915050565b34801561025057600080fd5b5061026e61025f3660046110c4565b50600093849350839250829150565b604080519485526020850193909352918301526060820152608001610154565b61014a61029c3660046110f6565b610874565b3480156102ad57600080fd5b506102c16102bc366004611005565b6108bf565b604051610154919061113d565b3480156102da57600080fd5b506102ee6102e9366004611151565b6108e9565b6040516101549291906111da565b34801561030857600080fd5b506102c1610a41565b34801561031d57600080fd5b506101b961032c366004611036565b6001600160a01b03166000908152600160208190526040909120015460ff1690565b34801561035a57600080fd5b506101e9610369366004611036565b610a6e565b34801561037a57600080fd5b506006546102c1906001600160a01b031681565b34801561039a57600080fd5b506101e96103a936600461105a565b610b54565b3480156103ba57600080fd5b5061014a6103c9366004611005565b610e56565b3480156103da57600080fd5b506102c16103e9366004611005565b610e66565b3480156103fa57600080fd5b5060085461014a565b34801561040f57600080fd5b506007546102c1906001600160a01b031681565b6009818154811061043357600080fd5b600091825260209091200154905081565b6006546001600160a01b0316331461051c5760065460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b15801561049b57600080fd5b505afa1580156104af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d39190611239565b9050336001600160a01b0382161461051a57600654604051630739600760e01b81526105119133916001600160a01b03909116908490600401611256565b60405180910390fd5b505b6001600160a01b0382166000818152600160208181526040928390209182015492518515158152919360ff90931692917f6675ce8882cb71637de5903a193d218cc0544be9c0650cb83e0955f6aa2bf521910160405180910390a28080156105815750825b80610593575080158015610593575082155b1561059e5750505050565b821561062c57604080518082018252600380548252600160208084018281526001600160a01b038a166000818152928490529582209451855551938201805460ff1916941515949094179093558154908101825591527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b0319169091179055610748565b6003805461063c90600190611279565b8154811061064c5761064c61129e565b6000918252602090912001548254600380546001600160a01b0390931692909190811061067b5761067b61129e565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081600001546001600060038560000154815481106106c9576106c961129e565b60009182526020808320909101546001600160a01b0316835282019290925260400190205560038054806106ff576106ff6112b4565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03861682526001908190526040822091825501805460ff191690555b50505b5050565b6006546001600160a01b0316331461081e5760065460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156107a657600080fd5b505afa1580156107ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107de9190611239565b9050336001600160a01b0382161461081c57600654604051630739600760e01b81526105119133916001600160a01b03909116908490600401611256565b505b600780546001600160a01b0319166001600160a01b0383161790556040517f8c1e6003ed33ca6748d4ad3dd4ecc949065c89dceb31fdf546a5289202763c6a9061086990839061113d565b60405180910390a150565b3360009081526001602081905260408220015460ff166108a9573360405163b6c60ea360e01b8152600401610511919061113d565b6108b7848443424887610e76565b949350505050565b600481815481106108cf57600080fd5b6000918252602090912001546001600160a01b0316905081565b3360009081526002602052604081206001015460609060ff1661092157336040516332ea82ab60e01b8152600401610511919061113d565b821580159061093857506001600160a01b0386163b155b15610958578560405163b5cf5b8f60e01b8152600401610511919061113d565b600580546001600160a01b0319811633179091556040516001600160a01b0391821691881690879061098d90889088906112ca565b60006040518083038185875af1925050503d80600081146109ca576040519150601f19603f3d011682016040523d82523d6000602084013e6109cf565b606091505b50600580546001600160a01b0319166001600160a01b038581169190911790915560405192955090935088169033907f2d9d115ef3e4a606d698913b1eae831a3cdfe20d9a83d48007b0526749c3d46690610a2f908a908a908a906112da565b60405180910390a35094509492505050565b6005546000906001600160a01b039081161415610a5e5750600090565b506005546001600160a01b031690565b600054610100900460ff16610a895760005460ff1615610a8d565b303b155b610af05760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610511565b600054610100900460ff16158015610b12576000805461ffff19166101011790555b600580546001600160a01b036001600160a01b0319918216811790925560068054909116918416919091179055801561074b576000805461ff00191690555050565b6006546001600160a01b03163314610c235760065460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015610bab57600080fd5b505afa158015610bbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be39190611239565b9050336001600160a01b03821614610c2157600654604051630739600760e01b81526105119133916001600160a01b03909116908490600401611256565b505b6001600160a01b038216600081815260026020908152604091829020600181015492518515158152909360ff90931692917f49477e7356dbcb654ab85d7534b50126772d938130d1350e23e2540370c8dffa910160405180910390a2808015610c895750825b80610c9b575080158015610c9b575082155b15610ca65750505050565b8215610d3557604080518082018252600480548252600160208084018281526001600160a01b038a16600081815260029093529582209451855551938201805460ff1916941515949094179093558154908101825591527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319169091179055610748565b60048054610d4590600190611279565b81548110610d5557610d5561129e565b6000918252602090912001548254600480546001600160a01b03909316929091908110610d8457610d8461129e565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508160000154600260006004856000015481548110610dd257610dd261129e565b60009182526020808320909101546001600160a01b031683528201929092526040019020556004805480610e0857610e086112b4565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03861682526002905260408120908155600101805460ff1916905550505050565b6008818154811061043357600080fd5b600381815481106108cf57600080fd5b600854604080516001600160f81b031960f88a901b166020808301919091526bffffffffffffffffffffffff1960608a901b1660218301526001600160c01b031960c089811b8216603585015288901b16603d830152604582018490526065820186905260858083018690528351808403909101815260a590920190925280519101206000919060008215610f30576008610f12600185611279565b81548110610f2257610f2261129e565b906000526020600020015490505b6040805160208082018490528183018590528251808303840181526060830180855281519190920120600880546001810182556000919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3015533905260ff8c1660808201526001600160a01b038b1660a082015260c0810187905260e0810188905267ffffffffffffffff89166101008201529051829185917f5e3c1311ea442664e8b1611bfabef659120ea7a0a2cfc0667700bebc69cbffe1918190036101200190a3509098975050505050505050565b60006020828403121561101757600080fd5b5035919050565b6001600160a01b038116811461103357600080fd5b50565b60006020828403121561104857600080fd5b81356110538161101e565b9392505050565b6000806040838503121561106d57600080fd5b82356110788161101e565b91506020830135801515811461108d57600080fd5b809150509250929050565b600080604083850312156110ab57600080fd5b82356110b68161101e565b946020939093013593505050565b600080600080608085870312156110da57600080fd5b5050823594602084013594506040840135936060013592509050565b60008060006060848603121561110b57600080fd5b833560ff8116811461111c57600080fd5b9250602084013561112c8161101e565b929592945050506040919091013590565b6001600160a01b0391909116815260200190565b6000806000806060858703121561116757600080fd5b84356111728161101e565b935060208501359250604085013567ffffffffffffffff8082111561119657600080fd5b818701915087601f8301126111aa57600080fd5b8135818111156111b957600080fd5b8860208285010111156111cb57600080fd5b95989497505060200194505050565b821515815260006020604081840152835180604085015260005b81811015611210578581018301518582016060015282016111f4565b81811115611222576000606083870101525b50601f01601f191692909201606001949350505050565b60006020828403121561124b57600080fd5b81516110538161101e565b6001600160a01b0393841681529183166020830152909116604082015260600190565b60008282101561129957634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b8183823760009101908152919050565b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f191601019291505056fea264697066735822122046f4d10fb290a6ec5112a18a6762316fc21133c7a13dbefd3cc4ce93bd1f1a7664736f6c63430008090033",
600
- "deployedBytecode": "0x60806040526004361061012d5760003560e01c80639e5d4c49116100ab578063cee3d7281161006f578063cee3d7281461038e578063d5719dc2146103ae578063e76f5c8d146103ce578063e77145f4146101e9578063eca067ad146103ee578063ee35f3271461040357600080fd5b80639e5d4c49146102ce578063ab5d8943146102fc578063ae60bd1314610311578063c4d66de81461034e578063cb23bcb51461036e57600080fd5b80635fca4a16116100f25780635fca4a161461020b5780637a88b1071461022157806386598a56146102445780638db5993b1461028e578063945e1147146102a157600080fd5b806284120c1461013957806316bf55791461015d578063413b35bd1461017d57806347fb24c5146101c95780634f61f850146101eb57600080fd5b3661013457005b600080fd5b34801561014557600080fd5b506009545b6040519081526020015b60405180910390f35b34801561016957600080fd5b5061014a610178366004611005565b610423565b34801561018957600080fd5b506101b9610198366004611036565b6001600160a01b031660009081526002602052604090206001015460ff1690565b6040519015158152602001610154565b3480156101d557600080fd5b506101e96101e436600461105a565b610444565b005b3480156101f757600080fd5b506101e9610206366004611036565b61074f565b34801561021757600080fd5b5061014a600a5481565b34801561022d57600080fd5b5061014a61023c366004611098565b600092915050565b34801561025057600080fd5b5061026e61025f3660046110c4565b50600093849350839250829150565b604080519485526020850193909352918301526060820152608001610154565b61014a61029c3660046110f6565b610874565b3480156102ad57600080fd5b506102c16102bc366004611005565b6108bf565b604051610154919061113d565b3480156102da57600080fd5b506102ee6102e9366004611151565b6108e9565b6040516101549291906111da565b34801561030857600080fd5b506102c1610a41565b34801561031d57600080fd5b506101b961032c366004611036565b6001600160a01b03166000908152600160208190526040909120015460ff1690565b34801561035a57600080fd5b506101e9610369366004611036565b610a6e565b34801561037a57600080fd5b506006546102c1906001600160a01b031681565b34801561039a57600080fd5b506101e96103a936600461105a565b610b54565b3480156103ba57600080fd5b5061014a6103c9366004611005565b610e56565b3480156103da57600080fd5b506102c16103e9366004611005565b610e66565b3480156103fa57600080fd5b5060085461014a565b34801561040f57600080fd5b506007546102c1906001600160a01b031681565b6009818154811061043357600080fd5b600091825260209091200154905081565b6006546001600160a01b0316331461051c5760065460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b15801561049b57600080fd5b505afa1580156104af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d39190611239565b9050336001600160a01b0382161461051a57600654604051630739600760e01b81526105119133916001600160a01b03909116908490600401611256565b60405180910390fd5b505b6001600160a01b0382166000818152600160208181526040928390209182015492518515158152919360ff90931692917f6675ce8882cb71637de5903a193d218cc0544be9c0650cb83e0955f6aa2bf521910160405180910390a28080156105815750825b80610593575080158015610593575082155b1561059e5750505050565b821561062c57604080518082018252600380548252600160208084018281526001600160a01b038a166000818152928490529582209451855551938201805460ff1916941515949094179093558154908101825591527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b0319169091179055610748565b6003805461063c90600190611279565b8154811061064c5761064c61129e565b6000918252602090912001548254600380546001600160a01b0390931692909190811061067b5761067b61129e565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081600001546001600060038560000154815481106106c9576106c961129e565b60009182526020808320909101546001600160a01b0316835282019290925260400190205560038054806106ff576106ff6112b4565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03861682526001908190526040822091825501805460ff191690555b50505b5050565b6006546001600160a01b0316331461081e5760065460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156107a657600080fd5b505afa1580156107ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107de9190611239565b9050336001600160a01b0382161461081c57600654604051630739600760e01b81526105119133916001600160a01b03909116908490600401611256565b505b600780546001600160a01b0319166001600160a01b0383161790556040517f8c1e6003ed33ca6748d4ad3dd4ecc949065c89dceb31fdf546a5289202763c6a9061086990839061113d565b60405180910390a150565b3360009081526001602081905260408220015460ff166108a9573360405163b6c60ea360e01b8152600401610511919061113d565b6108b7848443424887610e76565b949350505050565b600481815481106108cf57600080fd5b6000918252602090912001546001600160a01b0316905081565b3360009081526002602052604081206001015460609060ff1661092157336040516332ea82ab60e01b8152600401610511919061113d565b821580159061093857506001600160a01b0386163b155b15610958578560405163b5cf5b8f60e01b8152600401610511919061113d565b600580546001600160a01b0319811633179091556040516001600160a01b0391821691881690879061098d90889088906112ca565b60006040518083038185875af1925050503d80600081146109ca576040519150601f19603f3d011682016040523d82523d6000602084013e6109cf565b606091505b50600580546001600160a01b0319166001600160a01b038581169190911790915560405192955090935088169033907f2d9d115ef3e4a606d698913b1eae831a3cdfe20d9a83d48007b0526749c3d46690610a2f908a908a908a906112da565b60405180910390a35094509492505050565b6005546000906001600160a01b039081161415610a5e5750600090565b506005546001600160a01b031690565b600054610100900460ff16610a895760005460ff1615610a8d565b303b155b610af05760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610511565b600054610100900460ff16158015610b12576000805461ffff19166101011790555b600580546001600160a01b036001600160a01b0319918216811790925560068054909116918416919091179055801561074b576000805461ff00191690555050565b6006546001600160a01b03163314610c235760065460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015610bab57600080fd5b505afa158015610bbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be39190611239565b9050336001600160a01b03821614610c2157600654604051630739600760e01b81526105119133916001600160a01b03909116908490600401611256565b505b6001600160a01b038216600081815260026020908152604091829020600181015492518515158152909360ff90931692917f49477e7356dbcb654ab85d7534b50126772d938130d1350e23e2540370c8dffa910160405180910390a2808015610c895750825b80610c9b575080158015610c9b575082155b15610ca65750505050565b8215610d3557604080518082018252600480548252600160208084018281526001600160a01b038a16600081815260029093529582209451855551938201805460ff1916941515949094179093558154908101825591527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319169091179055610748565b60048054610d4590600190611279565b81548110610d5557610d5561129e565b6000918252602090912001548254600480546001600160a01b03909316929091908110610d8457610d8461129e565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508160000154600260006004856000015481548110610dd257610dd261129e565b60009182526020808320909101546001600160a01b031683528201929092526040019020556004805480610e0857610e086112b4565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03861682526002905260408120908155600101805460ff1916905550505050565b6008818154811061043357600080fd5b600381815481106108cf57600080fd5b600854604080516001600160f81b031960f88a901b166020808301919091526bffffffffffffffffffffffff1960608a901b1660218301526001600160c01b031960c089811b8216603585015288901b16603d830152604582018490526065820186905260858083018690528351808403909101815260a590920190925280519101206000919060008215610f30576008610f12600185611279565b81548110610f2257610f2261129e565b906000526020600020015490505b6040805160208082018490528183018590528251808303840181526060830180855281519190920120600880546001810182556000919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3015533905260ff8c1660808201526001600160a01b038b1660a082015260c0810187905260e0810188905267ffffffffffffffff89166101008201529051829185917f5e3c1311ea442664e8b1611bfabef659120ea7a0a2cfc0667700bebc69cbffe1918190036101200190a3509098975050505050505050565b60006020828403121561101757600080fd5b5035919050565b6001600160a01b038116811461103357600080fd5b50565b60006020828403121561104857600080fd5b81356110538161101e565b9392505050565b6000806040838503121561106d57600080fd5b82356110788161101e565b91506020830135801515811461108d57600080fd5b809150509250929050565b600080604083850312156110ab57600080fd5b82356110b68161101e565b946020939093013593505050565b600080600080608085870312156110da57600080fd5b5050823594602084013594506040840135936060013592509050565b60008060006060848603121561110b57600080fd5b833560ff8116811461111c57600080fd5b9250602084013561112c8161101e565b929592945050506040919091013590565b6001600160a01b0391909116815260200190565b6000806000806060858703121561116757600080fd5b84356111728161101e565b935060208501359250604085013567ffffffffffffffff8082111561119657600080fd5b818701915087601f8301126111aa57600080fd5b8135818111156111b957600080fd5b8860208285010111156111cb57600080fd5b95989497505060200194505050565b821515815260006020604081840152835180604085015260005b81811015611210578581018301518582016060015282016111f4565b81811115611222576000606083870101525b50601f01601f191692909201606001949350505050565b60006020828403121561124b57600080fd5b81516110538161101e565b6001600160a01b0393841681529183166020830152909116604082015260600190565b60008282101561129957634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b8183823760009101908152919050565b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f191601019291505056fea264697066735822122046f4d10fb290a6ec5112a18a6762316fc21133c7a13dbefd3cc4ce93bd1f1a7664736f6c63430008090033",
625
+ "bytecode": "0x60a06040523060805234801561001457600080fd5b5060805161138e61002d6000396000505061138e6000f3fe6080604052600436106101385760003560e01c80639e5d4c49116100ab578063cee3d7281161006f578063cee3d728146103d6578063d5719dc2146103f6578063e76f5c8d14610416578063e77145f4146101f4578063eca067ad14610436578063ee35f3271461044b57600080fd5b80639e5d4c4914610316578063ab5d894314610344578063ae60bd1314610359578063c4d66de814610396578063cb23bcb5146103b657600080fd5b80635fca4a16116100fd5780635fca4a16146102165780637a88b1071461022c57806386598a561461024f5780638db5993b14610299578063919cc706146102ac578063945e1147146102e957600080fd5b806284120c1461014457806316bf557914610168578063413b35bd1461018857806347fb24c5146101d45780634f61f850146101f657600080fd5b3661013f57005b600080fd5b34801561015057600080fd5b506009545b6040519081526020015b60405180910390f35b34801561017457600080fd5b5061015561018336600461104d565b61046b565b34801561019457600080fd5b506101c46101a336600461107e565b6001600160a01b031660009081526002602052604090206001015460ff1690565b604051901515815260200161015f565b3480156101e057600080fd5b506101f46101ef3660046110a2565b61048c565b005b34801561020257600080fd5b506101f461021136600461107e565b610797565b34801561022257600080fd5b50610155600a5481565b34801561023857600080fd5b506101556102473660046110e0565b600092915050565b34801561025b57600080fd5b5061027961026a36600461110c565b50600093849350839250829150565b60408051948552602085019390935291830152606082015260800161015f565b6101556102a736600461113e565b6108bc565b3480156102b857600080fd5b506101f46102c736600461107e565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b3480156102f557600080fd5b5061030961030436600461104d565b610907565b60405161015f9190611185565b34801561032257600080fd5b50610336610331366004611199565b610931565b60405161015f929190611222565b34801561035057600080fd5b50610309610a89565b34801561036557600080fd5b506101c461037436600461107e565b6001600160a01b03166000908152600160208190526040909120015460ff1690565b3480156103a257600080fd5b506101f46103b136600461107e565b610ab6565b3480156103c257600080fd5b50600654610309906001600160a01b031681565b3480156103e257600080fd5b506101f46103f13660046110a2565b610b9c565b34801561040257600080fd5b5061015561041136600461104d565b610e9e565b34801561042257600080fd5b5061030961043136600461104d565b610eae565b34801561044257600080fd5b50600854610155565b34801561045757600080fd5b50600754610309906001600160a01b031681565b6009818154811061047b57600080fd5b600091825260209091200154905081565b6006546001600160a01b031633146105645760065460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156104e357600080fd5b505afa1580156104f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051b9190611281565b9050336001600160a01b0382161461056257600654604051630739600760e01b81526105599133916001600160a01b0390911690849060040161129e565b60405180910390fd5b505b6001600160a01b0382166000818152600160208181526040928390209182015492518515158152919360ff90931692917f6675ce8882cb71637de5903a193d218cc0544be9c0650cb83e0955f6aa2bf521910160405180910390a28080156105c95750825b806105db5750801580156105db575082155b156105e65750505050565b821561067457604080518082018252600380548252600160208084018281526001600160a01b038a166000818152928490529582209451855551938201805460ff1916941515949094179093558154908101825591527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b0319169091179055610790565b60038054610684906001906112c1565b81548110610694576106946112e6565b6000918252602090912001548254600380546001600160a01b039093169290919081106106c3576106c36112e6565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508160000154600160006003856000015481548110610711576107116112e6565b60009182526020808320909101546001600160a01b031683528201929092526040019020556003805480610747576107476112fc565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03861682526001908190526040822091825501805460ff191690555b50505b5050565b6006546001600160a01b031633146108665760065460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156107ee57600080fd5b505afa158015610802573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108269190611281565b9050336001600160a01b0382161461086457600654604051630739600760e01b81526105599133916001600160a01b0390911690849060040161129e565b505b600780546001600160a01b0319166001600160a01b0383161790556040517f8c1e6003ed33ca6748d4ad3dd4ecc949065c89dceb31fdf546a5289202763c6a906108b1908390611185565b60405180910390a150565b3360009081526001602081905260408220015460ff166108f1573360405163b6c60ea360e01b81526004016105599190611185565b6108ff848443424887610ebe565b949350505050565b6004818154811061091757600080fd5b6000918252602090912001546001600160a01b0316905081565b3360009081526002602052604081206001015460609060ff1661096957336040516332ea82ab60e01b81526004016105599190611185565b821580159061098057506001600160a01b0386163b155b156109a0578560405163b5cf5b8f60e01b81526004016105599190611185565b600580546001600160a01b0319811633179091556040516001600160a01b039182169188169087906109d59088908890611312565b60006040518083038185875af1925050503d8060008114610a12576040519150601f19603f3d011682016040523d82523d6000602084013e610a17565b606091505b50600580546001600160a01b0319166001600160a01b038581169190911790915560405192955090935088169033907f2d9d115ef3e4a606d698913b1eae831a3cdfe20d9a83d48007b0526749c3d46690610a77908a908a908a90611322565b60405180910390a35094509492505050565b6005546000906001600160a01b039081161415610aa65750600090565b506005546001600160a01b031690565b600054610100900460ff16610ad15760005460ff1615610ad5565b303b155b610b385760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610559565b600054610100900460ff16158015610b5a576000805461ffff19166101011790555b600580546001600160a01b036001600160a01b03199182168117909255600680549091169184169190911790558015610793576000805461ff00191690555050565b6006546001600160a01b03163314610c6b5760065460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015610bf357600080fd5b505afa158015610c07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2b9190611281565b9050336001600160a01b03821614610c6957600654604051630739600760e01b81526105599133916001600160a01b0390911690849060040161129e565b505b6001600160a01b038216600081815260026020908152604091829020600181015492518515158152909360ff90931692917f49477e7356dbcb654ab85d7534b50126772d938130d1350e23e2540370c8dffa910160405180910390a2808015610cd15750825b80610ce3575080158015610ce3575082155b15610cee5750505050565b8215610d7d57604080518082018252600480548252600160208084018281526001600160a01b038a16600081815260029093529582209451855551938201805460ff1916941515949094179093558154908101825591527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319169091179055610790565b60048054610d8d906001906112c1565b81548110610d9d57610d9d6112e6565b6000918252602090912001548254600480546001600160a01b03909316929091908110610dcc57610dcc6112e6565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508160000154600260006004856000015481548110610e1a57610e1a6112e6565b60009182526020808320909101546001600160a01b031683528201929092526040019020556004805480610e5057610e506112fc565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03861682526002905260408120908155600101805460ff1916905550505050565b6008818154811061047b57600080fd5b6003818154811061091757600080fd5b600854604080516001600160f81b031960f88a901b166020808301919091526bffffffffffffffffffffffff1960608a901b1660218301526001600160c01b031960c089811b8216603585015288901b16603d830152604582018490526065820186905260858083018690528351808403909101815260a590920190925280519101206000919060008215610f78576008610f5a6001856112c1565b81548110610f6a57610f6a6112e6565b906000526020600020015490505b6040805160208082018490528183018590528251808303840181526060830180855281519190920120600880546001810182556000919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3015533905260ff8c1660808201526001600160a01b038b1660a082015260c0810187905260e0810188905267ffffffffffffffff89166101008201529051829185917f5e3c1311ea442664e8b1611bfabef659120ea7a0a2cfc0667700bebc69cbffe1918190036101200190a3509098975050505050505050565b60006020828403121561105f57600080fd5b5035919050565b6001600160a01b038116811461107b57600080fd5b50565b60006020828403121561109057600080fd5b813561109b81611066565b9392505050565b600080604083850312156110b557600080fd5b82356110c081611066565b9150602083013580151581146110d557600080fd5b809150509250929050565b600080604083850312156110f357600080fd5b82356110fe81611066565b946020939093013593505050565b6000806000806080858703121561112257600080fd5b5050823594602084013594506040840135936060013592509050565b60008060006060848603121561115357600080fd5b833560ff8116811461116457600080fd5b9250602084013561117481611066565b929592945050506040919091013590565b6001600160a01b0391909116815260200190565b600080600080606085870312156111af57600080fd5b84356111ba81611066565b935060208501359250604085013567ffffffffffffffff808211156111de57600080fd5b818701915087601f8301126111f257600080fd5b81358181111561120157600080fd5b88602082850101111561121357600080fd5b95989497505060200194505050565b821515815260006020604081840152835180604085015260005b818110156112585785810183015185820160600152820161123c565b8181111561126a576000606083870101525b50601f01601f191692909201606001949350505050565b60006020828403121561129357600080fd5b815161109b81611066565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6000828210156112e157634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b8183823760009101908152919050565b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f191601019291505056fea26469706673582212205299d243228a94c4961ba274e7495a36e0ce4a732dd018f10a5bf3b58ae85ad864736f6c63430008090033",
626
+ "deployedBytecode": "0x6080604052600436106101385760003560e01c80639e5d4c49116100ab578063cee3d7281161006f578063cee3d728146103d6578063d5719dc2146103f6578063e76f5c8d14610416578063e77145f4146101f4578063eca067ad14610436578063ee35f3271461044b57600080fd5b80639e5d4c4914610316578063ab5d894314610344578063ae60bd1314610359578063c4d66de814610396578063cb23bcb5146103b657600080fd5b80635fca4a16116100fd5780635fca4a16146102165780637a88b1071461022c57806386598a561461024f5780638db5993b14610299578063919cc706146102ac578063945e1147146102e957600080fd5b806284120c1461014457806316bf557914610168578063413b35bd1461018857806347fb24c5146101d45780634f61f850146101f657600080fd5b3661013f57005b600080fd5b34801561015057600080fd5b506009545b6040519081526020015b60405180910390f35b34801561017457600080fd5b5061015561018336600461104d565b61046b565b34801561019457600080fd5b506101c46101a336600461107e565b6001600160a01b031660009081526002602052604090206001015460ff1690565b604051901515815260200161015f565b3480156101e057600080fd5b506101f46101ef3660046110a2565b61048c565b005b34801561020257600080fd5b506101f461021136600461107e565b610797565b34801561022257600080fd5b50610155600a5481565b34801561023857600080fd5b506101556102473660046110e0565b600092915050565b34801561025b57600080fd5b5061027961026a36600461110c565b50600093849350839250829150565b60408051948552602085019390935291830152606082015260800161015f565b6101556102a736600461113e565b6108bc565b3480156102b857600080fd5b506101f46102c736600461107e565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b3480156102f557600080fd5b5061030961030436600461104d565b610907565b60405161015f9190611185565b34801561032257600080fd5b50610336610331366004611199565b610931565b60405161015f929190611222565b34801561035057600080fd5b50610309610a89565b34801561036557600080fd5b506101c461037436600461107e565b6001600160a01b03166000908152600160208190526040909120015460ff1690565b3480156103a257600080fd5b506101f46103b136600461107e565b610ab6565b3480156103c257600080fd5b50600654610309906001600160a01b031681565b3480156103e257600080fd5b506101f46103f13660046110a2565b610b9c565b34801561040257600080fd5b5061015561041136600461104d565b610e9e565b34801561042257600080fd5b5061030961043136600461104d565b610eae565b34801561044257600080fd5b50600854610155565b34801561045757600080fd5b50600754610309906001600160a01b031681565b6009818154811061047b57600080fd5b600091825260209091200154905081565b6006546001600160a01b031633146105645760065460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156104e357600080fd5b505afa1580156104f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051b9190611281565b9050336001600160a01b0382161461056257600654604051630739600760e01b81526105599133916001600160a01b0390911690849060040161129e565b60405180910390fd5b505b6001600160a01b0382166000818152600160208181526040928390209182015492518515158152919360ff90931692917f6675ce8882cb71637de5903a193d218cc0544be9c0650cb83e0955f6aa2bf521910160405180910390a28080156105c95750825b806105db5750801580156105db575082155b156105e65750505050565b821561067457604080518082018252600380548252600160208084018281526001600160a01b038a166000818152928490529582209451855551938201805460ff1916941515949094179093558154908101825591527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b0319169091179055610790565b60038054610684906001906112c1565b81548110610694576106946112e6565b6000918252602090912001548254600380546001600160a01b039093169290919081106106c3576106c36112e6565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508160000154600160006003856000015481548110610711576107116112e6565b60009182526020808320909101546001600160a01b031683528201929092526040019020556003805480610747576107476112fc565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03861682526001908190526040822091825501805460ff191690555b50505b5050565b6006546001600160a01b031633146108665760065460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156107ee57600080fd5b505afa158015610802573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108269190611281565b9050336001600160a01b0382161461086457600654604051630739600760e01b81526105599133916001600160a01b0390911690849060040161129e565b505b600780546001600160a01b0319166001600160a01b0383161790556040517f8c1e6003ed33ca6748d4ad3dd4ecc949065c89dceb31fdf546a5289202763c6a906108b1908390611185565b60405180910390a150565b3360009081526001602081905260408220015460ff166108f1573360405163b6c60ea360e01b81526004016105599190611185565b6108ff848443424887610ebe565b949350505050565b6004818154811061091757600080fd5b6000918252602090912001546001600160a01b0316905081565b3360009081526002602052604081206001015460609060ff1661096957336040516332ea82ab60e01b81526004016105599190611185565b821580159061098057506001600160a01b0386163b155b156109a0578560405163b5cf5b8f60e01b81526004016105599190611185565b600580546001600160a01b0319811633179091556040516001600160a01b039182169188169087906109d59088908890611312565b60006040518083038185875af1925050503d8060008114610a12576040519150601f19603f3d011682016040523d82523d6000602084013e610a17565b606091505b50600580546001600160a01b0319166001600160a01b038581169190911790915560405192955090935088169033907f2d9d115ef3e4a606d698913b1eae831a3cdfe20d9a83d48007b0526749c3d46690610a77908a908a908a90611322565b60405180910390a35094509492505050565b6005546000906001600160a01b039081161415610aa65750600090565b506005546001600160a01b031690565b600054610100900460ff16610ad15760005460ff1615610ad5565b303b155b610b385760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610559565b600054610100900460ff16158015610b5a576000805461ffff19166101011790555b600580546001600160a01b036001600160a01b03199182168117909255600680549091169184169190911790558015610793576000805461ff00191690555050565b6006546001600160a01b03163314610c6b5760065460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015610bf357600080fd5b505afa158015610c07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2b9190611281565b9050336001600160a01b03821614610c6957600654604051630739600760e01b81526105599133916001600160a01b0390911690849060040161129e565b505b6001600160a01b038216600081815260026020908152604091829020600181015492518515158152909360ff90931692917f49477e7356dbcb654ab85d7534b50126772d938130d1350e23e2540370c8dffa910160405180910390a2808015610cd15750825b80610ce3575080158015610ce3575082155b15610cee5750505050565b8215610d7d57604080518082018252600480548252600160208084018281526001600160a01b038a16600081815260029093529582209451855551938201805460ff1916941515949094179093558154908101825591527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319169091179055610790565b60048054610d8d906001906112c1565b81548110610d9d57610d9d6112e6565b6000918252602090912001548254600480546001600160a01b03909316929091908110610dcc57610dcc6112e6565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508160000154600260006004856000015481548110610e1a57610e1a6112e6565b60009182526020808320909101546001600160a01b031683528201929092526040019020556004805480610e5057610e506112fc565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03861682526002905260408120908155600101805460ff1916905550505050565b6008818154811061047b57600080fd5b6003818154811061091757600080fd5b600854604080516001600160f81b031960f88a901b166020808301919091526bffffffffffffffffffffffff1960608a901b1660218301526001600160c01b031960c089811b8216603585015288901b16603d830152604582018490526065820186905260858083018690528351808403909101815260a590920190925280519101206000919060008215610f78576008610f5a6001856112c1565b81548110610f6a57610f6a6112e6565b906000526020600020015490505b6040805160208082018490528183018590528251808303840181526060830180855281519190920120600880546001810182556000919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3015533905260ff8c1660808201526001600160a01b038b1660a082015260c0810187905260e0810188905267ffffffffffffffff89166101008201529051829185917f5e3c1311ea442664e8b1611bfabef659120ea7a0a2cfc0667700bebc69cbffe1918190036101200190a3509098975050505050505050565b60006020828403121561105f57600080fd5b5035919050565b6001600160a01b038116811461107b57600080fd5b50565b60006020828403121561109057600080fd5b813561109b81611066565b9392505050565b600080604083850312156110b557600080fd5b82356110c081611066565b9150602083013580151581146110d557600080fd5b809150509250929050565b600080604083850312156110f357600080fd5b82356110fe81611066565b946020939093013593505050565b6000806000806080858703121561112257600080fd5b5050823594602084013594506040840135936060013592509050565b60008060006060848603121561115357600080fd5b833560ff8116811461116457600080fd5b9250602084013561117481611066565b929592945050506040919091013590565b6001600160a01b0391909116815260200190565b600080600080606085870312156111af57600080fd5b84356111ba81611066565b935060208501359250604085013567ffffffffffffffff808211156111de57600080fd5b818701915087601f8301126111f257600080fd5b81358181111561120157600080fd5b88602082850101111561121357600080fd5b95989497505060200194505050565b821515815260006020604081840152835180604085015260005b818110156112585785810183015185820160600152820161123c565b8181111561126a576000606083870101525b50601f01601f191692909201606001949350505050565b60006020828403121561129357600080fd5b815161109b81611066565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6000828210156112e157634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b8183823760009101908152919050565b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f191601019291505056fea26469706673582212205299d243228a94c4961ba274e7495a36e0ce4a732dd018f10a5bf3b58ae85ad864736f6c63430008090033",
601
627
  "linkReferences": {},
602
628
  "deployedLinkReferences": {}
603
629
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/b8f273014c17044fc3eefedb261147e6.json"
3
+ "buildInfo": "../../../build-info/bd6d911e8af19014a6d3612fec6f93ac.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/b8f273014c17044fc3eefedb261147e6.json"
3
+ "buildInfo": "../../../build-info/bd6d911e8af19014a6d3612fec6f93ac.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/b8f273014c17044fc3eefedb261147e6.json"
3
+ "buildInfo": "../../../build-info/bd6d911e8af19014a6d3612fec6f93ac.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/b8f273014c17044fc3eefedb261147e6.json"
3
+ "buildInfo": "../../../build-info/bd6d911e8af19014a6d3612fec6f93ac.json"
4
4
  }
@@ -40,6 +40,22 @@
40
40
  "name": "MerkleProofTooLong",
41
41
  "type": "error"
42
42
  },
43
+ {
44
+ "inputs": [
45
+ {
46
+ "internalType": "address",
47
+ "name": "sender",
48
+ "type": "address"
49
+ },
50
+ {
51
+ "internalType": "address",
52
+ "name": "owner",
53
+ "type": "address"
54
+ }
55
+ ],
56
+ "name": "NotOwner",
57
+ "type": "error"
58
+ },
43
59
  {
44
60
  "inputs": [
45
61
  {
@@ -443,6 +459,13 @@
443
459
  "stateMutability": "view",
444
460
  "type": "function"
445
461
  },
462
+ {
463
+ "inputs": [],
464
+ "name": "postUpgradeInit",
465
+ "outputs": [],
466
+ "stateMutability": "nonpayable",
467
+ "type": "function"
468
+ },
446
469
  {
447
470
  "inputs": [],
448
471
  "name": "rollup",
@@ -494,6 +517,13 @@
494
517
  "stateMutability": "pure",
495
518
  "type": "function"
496
519
  },
520
+ {
521
+ "inputs": [],
522
+ "name": "updateRollupAddress",
523
+ "outputs": [],
524
+ "stateMutability": "nonpayable",
525
+ "type": "function"
526
+ },
497
527
  {
498
528
  "inputs": [
499
529
  {
@@ -513,8 +543,8 @@
513
543
  "type": "function"
514
544
  }
515
545
  ],
516
- "bytecode": "0x60a06040523060805234801561001457600080fd5b5060805161113861002d600039600050506111386000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80639f0c04bf116100925780639f0c04bf146101d8578063a04cee60146101eb578063ae6dead7146101fe578063b0f305371461021e578063c4d66de81461022f578063c75184df14610242578063cb23bcb514610262578063d5b5cc2314610275578063e78cea921461028857600080fd5b80627436d3146100fa57806308635a95146101205780631198527114610135578063288e5b101461013c578063465477901461014f5780635a129efe1461016057806372f2a8c71461019357806380648b021461019b5780638515bc6a146101c0575b600080fd5b61010d610108366004610aa6565b61029b565b6040519081526020015b60405180910390f35b61013361012e366004610bcb565b6102d8565b005b600061010d565b61013361014a366004610cbf565b61061a565b6004546001600160801b031661010d565b61018361016e366004610d5a565b60026020526000908152604090205460ff1681565b6040519015158152602001610117565b60065461010d565b6007546001600160a01b03165b6040516001600160a01b039091168152602001610117565b600454600160801b90046001600160801b031661010d565b61010d6101e6366004610d73565b610659565b6101336101f9366004610e01565b61069e565b61010d61020c366004610d5a565b60036020526000908152604090205481565b6005546001600160801b031661010d565b61013361023d366004610e23565b6106dd565b61024a600281565b6040516001600160801b039091168152602001610117565b6000546101a8906001600160a01b031681565b61010d610283366004610d5a565b6107b6565b6001546101a8906001600160a01b031681565b60006102d08484846040516020016102b591815260200190565b604051602081830303815290604052805190602001206107f2565b949350505050565b6000806102eb8a8a8a8a8a8a8a8a610659565b905061032d8d8d808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508f92508591506108959050565b915060008a6001600160a01b03168a6001600160a01b03167f20af7f3bbfe38132b8900ae295cd9c8d1914be7052d061a511f3f728dab189648e60405161037691815260200190565b60405180910390a450600060046040518060a00160405290816000820160009054906101000a90046001600160801b03166001600160801b03166001600160801b031681526020016000820160109054906101000a90046001600160801b03166001600160801b03166001600160801b031681526020016001820160009054906101000a90046001600160801b03166001600160801b03166001600160801b03168152602001600282015481526020016003820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152505090506040518060a00160405280896001600160801b03168152602001886001600160801b03168152602001876001600160801b031681526020018381526020018b6001600160a01b0316815250600460008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816001600160801b0302191690836001600160801b0316021790555060408201518160010160006101000a8154816001600160801b0302191690836001600160801b031602179055506060820151816002015560808201518160030160006101000a8154816001600160a01b0302191690836001600160a01b031602179055509050506105a5898686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061099892505050565b805160208201516001600160801b03918216600160801b91831691909102176004556040820151600580546001600160801b03191691909216179055606081015160065560800151600780546001600160a01b0319166001600160a01b03909216919091179055505050505050505050505050565b60405162461bcd60e51b815260206004820152600f60248201526e139bdd081a5b5c1b195b595b9d1959608a1b60448201526064015b60405180910390fd5b6000888888888888888860405160200161067a989796959493929190610e47565b60405160208183030381529060405280519060200120905098975050505050505050565b60008281526003602052604080822083905551829184917fb4df3847300f076a369cd76d2314b470a1194d9e8a6bb97f1860aee88a5f67489190a35050565b6001546001600160a01b03161561070757604051633bcd329760e21b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040805163cb23bcb560e01b8152905163cb23bcb591600480820192602092909190829003018186803b15801561075b57600080fd5b505afa15801561076f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107939190610ea0565b600080546001600160a01b0319166001600160a01b039290921691909117905550565b60405162461bcd60e51b815260206004820152600e60248201526d1393d517d253541311535155115160921b6044820152600090606401610650565b825160009061010081111561082557604051637ed6198f60e11b8152600481018290526101006024820152604401610650565b8260005b8281101561088b57600087828151811061084557610845610ebd565b60200260200101519050816001901b87166000141561087257826000528060205260406000209250610882565b8060005282602052604060002092505b50600101610829565b5095945050505050565b60006101008451106108bf57835160405163ab6a068360e01b815260040161065091815260200190565b83516108cc906002610fcf565b83106109035782845160026108e19190610fcf565b604051630b8a724b60e01b815260048101929092526024820152604401610650565b600061091085858561029b565b600081815260036020526040902054909150610942576040516310e61af960e31b815260048101829052602401610650565b60008481526002602052604090205460ff161561097557604051639715b8d360e01b815260048101859052602401610650565b50506000828152600260205260409020805460ff19166001179055819392505050565b600154604051639e5d4c4960e01b815260009182916001600160a01b0390911690639e5d4c49906109d19088908890889060040161100b565b600060405180830381600087803b1580156109eb57600080fd5b505af11580156109ff573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a279190810190611054565b9150915081610a5957805115610a405780518082602001fd5b604051631bb7daad60e11b815260040160405180910390fd5b5050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715610a9e57610a9e610a60565b604052919050565b600080600060608486031215610abb57600080fd5b83356001600160401b0380821115610ad257600080fd5b818601915086601f830112610ae657600080fd5b8135602082821115610afa57610afa610a60565b8160051b9250610b0b818401610a76565b828152928401810192818101908a851115610b2557600080fd5b948201945b84861015610b4357853582529482019490820190610b2a565b9a918901359950506040909701359695505050505050565b6001600160a01b0381168114610b7057600080fd5b50565b8035610b7e81610b5b565b919050565b60008083601f840112610b9557600080fd5b5081356001600160401b03811115610bac57600080fd5b602083019150836020828501011115610bc457600080fd5b9250929050565b60008060008060008060008060008060006101208c8e031215610bed57600080fd5b8b356001600160401b0380821115610c0457600080fd5b818e0191508e601f830112610c1857600080fd5b813581811115610c2757600080fd5b8f60208260051b8501011115610c3c57600080fd5b60208381019e50909c508e01359a50610c5760408f01610b73565b9950610c6560608f01610b73565b985060808e0135975060a08e0135965060c08e0135955060e08e013594506101008e0135915080821115610c9857600080fd5b50610ca58e828f01610b83565b915080935050809150509295989b509295989b9093969950565b60008060008060008060008060006101008a8c031215610cde57600080fd5b8935985060208a0135610cf081610b5b565b975060408a0135610d0081610b5b565b965060608a0135955060808a0135945060a08a0135935060c08a0135925060e08a01356001600160401b03811115610d3757600080fd5b610d438c828d01610b83565b915080935050809150509295985092959850929598565b600060208284031215610d6c57600080fd5b5035919050565b60008060008060008060008060e0898b031215610d8f57600080fd5b8835610d9a81610b5b565b97506020890135610daa81610b5b565b965060408901359550606089013594506080890135935060a0890135925060c08901356001600160401b03811115610de157600080fd5b610ded8b828c01610b83565b999c989b5096995094979396929594505050565b60008060408385031215610e1457600080fd5b50508035926020909101359150565b600060208284031215610e3557600080fd5b8135610e4081610b5b565b9392505050565b60006bffffffffffffffffffffffff19808b60601b168352808a60601b16601484015250876028830152866048830152856068830152846088830152828460a8840137506000910160a801908152979650505050505050565b600060208284031215610eb257600080fd5b8151610e4081610b5b565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600181815b80851115610f24578160001904821115610f0a57610f0a610ed3565b80851615610f1757918102915b93841c9390800290610eee565b509250929050565b600082610f3b57506001610fc9565b81610f4857506000610fc9565b8160018114610f5e5760028114610f6857610f84565b6001915050610fc9565b60ff841115610f7957610f79610ed3565b50506001821b610fc9565b5060208310610133831016604e8410600b8410161715610fa7575081810a610fc9565b610fb18383610ee9565b8060001904821115610fc557610fc5610ed3565b0290505b92915050565b6000610e408383610f2c565b60005b83811015610ff6578181015183820152602001610fde565b83811115611005576000848401525b50505050565b60018060a01b0384168152826020820152606060408201526000825180606084015261103e816080850160208701610fdb565b601f01601f191691909101608001949350505050565b6000806040838503121561106757600080fd5b8251801515811461107757600080fd5b60208401519092506001600160401b038082111561109457600080fd5b818501915085601f8301126110a857600080fd5b8151818111156110ba576110ba610a60565b6110cd601f8201601f1916602001610a76565b91508082528660208285010111156110e457600080fd5b6110f5816020840160208601610fdb565b508092505050925092905056fea2646970667358221220c916b6ea5dfda23f935790e44c330519688fc9632ac7c236d7dfbe3b06d23b0464736f6c63430008090033",
517
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80639f0c04bf116100925780639f0c04bf146101d8578063a04cee60146101eb578063ae6dead7146101fe578063b0f305371461021e578063c4d66de81461022f578063c75184df14610242578063cb23bcb514610262578063d5b5cc2314610275578063e78cea921461028857600080fd5b80627436d3146100fa57806308635a95146101205780631198527114610135578063288e5b101461013c578063465477901461014f5780635a129efe1461016057806372f2a8c71461019357806380648b021461019b5780638515bc6a146101c0575b600080fd5b61010d610108366004610aa6565b61029b565b6040519081526020015b60405180910390f35b61013361012e366004610bcb565b6102d8565b005b600061010d565b61013361014a366004610cbf565b61061a565b6004546001600160801b031661010d565b61018361016e366004610d5a565b60026020526000908152604090205460ff1681565b6040519015158152602001610117565b60065461010d565b6007546001600160a01b03165b6040516001600160a01b039091168152602001610117565b600454600160801b90046001600160801b031661010d565b61010d6101e6366004610d73565b610659565b6101336101f9366004610e01565b61069e565b61010d61020c366004610d5a565b60036020526000908152604090205481565b6005546001600160801b031661010d565b61013361023d366004610e23565b6106dd565b61024a600281565b6040516001600160801b039091168152602001610117565b6000546101a8906001600160a01b031681565b61010d610283366004610d5a565b6107b6565b6001546101a8906001600160a01b031681565b60006102d08484846040516020016102b591815260200190565b604051602081830303815290604052805190602001206107f2565b949350505050565b6000806102eb8a8a8a8a8a8a8a8a610659565b905061032d8d8d808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508f92508591506108959050565b915060008a6001600160a01b03168a6001600160a01b03167f20af7f3bbfe38132b8900ae295cd9c8d1914be7052d061a511f3f728dab189648e60405161037691815260200190565b60405180910390a450600060046040518060a00160405290816000820160009054906101000a90046001600160801b03166001600160801b03166001600160801b031681526020016000820160109054906101000a90046001600160801b03166001600160801b03166001600160801b031681526020016001820160009054906101000a90046001600160801b03166001600160801b03166001600160801b03168152602001600282015481526020016003820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152505090506040518060a00160405280896001600160801b03168152602001886001600160801b03168152602001876001600160801b031681526020018381526020018b6001600160a01b0316815250600460008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816001600160801b0302191690836001600160801b0316021790555060408201518160010160006101000a8154816001600160801b0302191690836001600160801b031602179055506060820151816002015560808201518160030160006101000a8154816001600160a01b0302191690836001600160a01b031602179055509050506105a5898686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061099892505050565b805160208201516001600160801b03918216600160801b91831691909102176004556040820151600580546001600160801b03191691909216179055606081015160065560800151600780546001600160a01b0319166001600160a01b03909216919091179055505050505050505050505050565b60405162461bcd60e51b815260206004820152600f60248201526e139bdd081a5b5c1b195b595b9d1959608a1b60448201526064015b60405180910390fd5b6000888888888888888860405160200161067a989796959493929190610e47565b60405160208183030381529060405280519060200120905098975050505050505050565b60008281526003602052604080822083905551829184917fb4df3847300f076a369cd76d2314b470a1194d9e8a6bb97f1860aee88a5f67489190a35050565b6001546001600160a01b03161561070757604051633bcd329760e21b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040805163cb23bcb560e01b8152905163cb23bcb591600480820192602092909190829003018186803b15801561075b57600080fd5b505afa15801561076f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107939190610ea0565b600080546001600160a01b0319166001600160a01b039290921691909117905550565b60405162461bcd60e51b815260206004820152600e60248201526d1393d517d253541311535155115160921b6044820152600090606401610650565b825160009061010081111561082557604051637ed6198f60e11b8152600481018290526101006024820152604401610650565b8260005b8281101561088b57600087828151811061084557610845610ebd565b60200260200101519050816001901b87166000141561087257826000528060205260406000209250610882565b8060005282602052604060002092505b50600101610829565b5095945050505050565b60006101008451106108bf57835160405163ab6a068360e01b815260040161065091815260200190565b83516108cc906002610fcf565b83106109035782845160026108e19190610fcf565b604051630b8a724b60e01b815260048101929092526024820152604401610650565b600061091085858561029b565b600081815260036020526040902054909150610942576040516310e61af960e31b815260048101829052602401610650565b60008481526002602052604090205460ff161561097557604051639715b8d360e01b815260048101859052602401610650565b50506000828152600260205260409020805460ff19166001179055819392505050565b600154604051639e5d4c4960e01b815260009182916001600160a01b0390911690639e5d4c49906109d19088908890889060040161100b565b600060405180830381600087803b1580156109eb57600080fd5b505af11580156109ff573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a279190810190611054565b9150915081610a5957805115610a405780518082602001fd5b604051631bb7daad60e11b815260040160405180910390fd5b5050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715610a9e57610a9e610a60565b604052919050565b600080600060608486031215610abb57600080fd5b83356001600160401b0380821115610ad257600080fd5b818601915086601f830112610ae657600080fd5b8135602082821115610afa57610afa610a60565b8160051b9250610b0b818401610a76565b828152928401810192818101908a851115610b2557600080fd5b948201945b84861015610b4357853582529482019490820190610b2a565b9a918901359950506040909701359695505050505050565b6001600160a01b0381168114610b7057600080fd5b50565b8035610b7e81610b5b565b919050565b60008083601f840112610b9557600080fd5b5081356001600160401b03811115610bac57600080fd5b602083019150836020828501011115610bc457600080fd5b9250929050565b60008060008060008060008060008060006101208c8e031215610bed57600080fd5b8b356001600160401b0380821115610c0457600080fd5b818e0191508e601f830112610c1857600080fd5b813581811115610c2757600080fd5b8f60208260051b8501011115610c3c57600080fd5b60208381019e50909c508e01359a50610c5760408f01610b73565b9950610c6560608f01610b73565b985060808e0135975060a08e0135965060c08e0135955060e08e013594506101008e0135915080821115610c9857600080fd5b50610ca58e828f01610b83565b915080935050809150509295989b509295989b9093969950565b60008060008060008060008060006101008a8c031215610cde57600080fd5b8935985060208a0135610cf081610b5b565b975060408a0135610d0081610b5b565b965060608a0135955060808a0135945060a08a0135935060c08a0135925060e08a01356001600160401b03811115610d3757600080fd5b610d438c828d01610b83565b915080935050809150509295985092959850929598565b600060208284031215610d6c57600080fd5b5035919050565b60008060008060008060008060e0898b031215610d8f57600080fd5b8835610d9a81610b5b565b97506020890135610daa81610b5b565b965060408901359550606089013594506080890135935060a0890135925060c08901356001600160401b03811115610de157600080fd5b610ded8b828c01610b83565b999c989b5096995094979396929594505050565b60008060408385031215610e1457600080fd5b50508035926020909101359150565b600060208284031215610e3557600080fd5b8135610e4081610b5b565b9392505050565b60006bffffffffffffffffffffffff19808b60601b168352808a60601b16601484015250876028830152866048830152856068830152846088830152828460a8840137506000910160a801908152979650505050505050565b600060208284031215610eb257600080fd5b8151610e4081610b5b565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600181815b80851115610f24578160001904821115610f0a57610f0a610ed3565b80851615610f1757918102915b93841c9390800290610eee565b509250929050565b600082610f3b57506001610fc9565b81610f4857506000610fc9565b8160018114610f5e5760028114610f6857610f84565b6001915050610fc9565b60ff841115610f7957610f79610ed3565b50506001821b610fc9565b5060208310610133831016604e8410600b8410161715610fa7575081810a610fc9565b610fb18383610ee9565b8060001904821115610fc557610fc5610ed3565b0290505b92915050565b6000610e408383610f2c565b60005b83811015610ff6578181015183820152602001610fde565b83811115611005576000848401525b50505050565b60018060a01b0384168152826020820152606060408201526000825180606084015261103e816080850160208701610fdb565b601f01601f191691909101608001949350505050565b6000806040838503121561106757600080fd5b8251801515811461107757600080fd5b60208401519092506001600160401b038082111561109457600080fd5b818501915085601f8301126110a857600080fd5b8151818111156110ba576110ba610a60565b6110cd601f8201601f1916602001610a76565b91508082528660208285010111156110e457600080fd5b6110f5816020840160208601610fdb565b508092505050925092905056fea2646970667358221220c916b6ea5dfda23f935790e44c330519688fc9632ac7c236d7dfbe3b06d23b0464736f6c63430008090033",
546
+ "bytecode": "0x60a06040523060805234801561001457600080fd5b5060805161130b61003060003960006106a2015261130b6000f3fe608060405234801561001057600080fd5b506004361061012b5760003560e01c806395fcea78116100ad578063c4d66de811610071578063c4d66de81461026d578063c75184df14610280578063cb23bcb5146102a0578063d5b5cc23146102b3578063e78cea92146102c657600080fd5b806395fcea78146101695780639f0c04bf14610216578063a04cee6014610229578063ae6dead71461023c578063b0f305371461025c57600080fd5b80635a129efe116100f45780635a129efe146101965780636ae71f12146101c957806372f2a8c7146101d157806380648b02146101d95780638515bc6a146101fe57600080fd5b80627436d31461013057806308635a9514610156578063119852711461016b578063288e5b10146101725780634654779014610185575b600080fd5b61014361013e366004610c79565b6102d9565b6040519081526020015b60405180910390f35b610169610164366004610d9e565b610316565b005b6000610143565b610169610180366004610e92565b610658565b6004546001600160801b0316610143565b6101b96101a4366004610f2d565b60026020526000908152604090205460ff1681565b604051901515815260200161014d565b610169610697565b600654610143565b6007546001600160a01b03165b6040516001600160a01b03909116815260200161014d565b600454600160801b90046001600160801b0316610143565b610143610224366004610f46565b61082c565b610169610237366004610fd4565b610871565b61014361024a366004610f2d565b60036020526000908152604090205481565b6005546001600160801b0316610143565b61016961027b366004610ff6565b6108b0565b610288600281565b6040516001600160801b03909116815260200161014d565b6000546101e6906001600160a01b031681565b6101436102c1366004610f2d565b610989565b6001546101e6906001600160a01b031681565b600061030e8484846040516020016102f391815260200190565b604051602081830303815290604052805190602001206109c5565b949350505050565b6000806103298a8a8a8a8a8a8a8a61082c565b905061036b8d8d808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508f9250859150610a689050565b915060008a6001600160a01b03168a6001600160a01b03167f20af7f3bbfe38132b8900ae295cd9c8d1914be7052d061a511f3f728dab189648e6040516103b491815260200190565b60405180910390a450600060046040518060a00160405290816000820160009054906101000a90046001600160801b03166001600160801b03166001600160801b031681526020016000820160109054906101000a90046001600160801b03166001600160801b03166001600160801b031681526020016001820160009054906101000a90046001600160801b03166001600160801b03166001600160801b03168152602001600282015481526020016003820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152505090506040518060a00160405280896001600160801b03168152602001886001600160801b03168152602001876001600160801b031681526020018381526020018b6001600160a01b0316815250600460008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816001600160801b0302191690836001600160801b0316021790555060408201518160010160006101000a8154816001600160801b0302191690836001600160801b031602179055506060820151816002015560808201518160030160006101000a8154816001600160a01b0302191690836001600160a01b031602179055509050506105e3898686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b6b92505050565b805160208201516001600160801b03918216600160801b91831691909102176004556040820151600580546001600160801b03191691909216179055606081015160065560800151600780546001600160a01b0319166001600160a01b03909216919091179055505050505050505050505050565b60405162461bcd60e51b815260206004820152600f60248201526e139bdd081a5b5c1b195b595b9d1959608a1b60448201526064015b60405180910390fd5b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156107255760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b606482015260840161068e565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038054336001600160a01b0382161461078257604051631194af8760e11b81523360048201526001600160a01b038216602482015260440161068e565b600160009054906101000a90046001600160a01b03166001600160a01b031663cb23bcb56040518163ffffffff1660e01b815260040160206040518083038186803b1580156107d057600080fd5b505afa1580156107e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610808919061101a565b600080546001600160a01b0319166001600160a01b03929092169190911790555050565b6000888888888888888860405160200161084d989796959493929190611037565b60405160208183030381529060405280519060200120905098975050505050505050565b60008281526003602052604080822083905551829184917fb4df3847300f076a369cd76d2314b470a1194d9e8a6bb97f1860aee88a5f67489190a35050565b6001546001600160a01b0316156108da57604051633bcd329760e21b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040805163cb23bcb560e01b8152905163cb23bcb591600480820192602092909190829003018186803b15801561092e57600080fd5b505afa158015610942573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610966919061101a565b600080546001600160a01b0319166001600160a01b039290921691909117905550565b60405162461bcd60e51b815260206004820152600e60248201526d1393d517d253541311535155115160921b604482015260009060640161068e565b82516000906101008111156109f857604051637ed6198f60e11b815260048101829052610100602482015260440161068e565b8260005b82811015610a5e576000878281518110610a1857610a18611090565b60200260200101519050816001901b871660001415610a4557826000528060205260406000209250610a55565b8060005282602052604060002092505b506001016109fc565b5095945050505050565b6000610100845110610a9257835160405163ab6a068360e01b815260040161068e91815260200190565b8351610a9f9060026111a2565b8310610ad6578284516002610ab491906111a2565b604051630b8a724b60e01b81526004810192909252602482015260440161068e565b6000610ae38585856102d9565b600081815260036020526040902054909150610b15576040516310e61af960e31b81526004810182905260240161068e565b60008481526002602052604090205460ff1615610b4857604051639715b8d360e01b81526004810185905260240161068e565b50506000828152600260205260409020805460ff19166001179055819392505050565b600154604051639e5d4c4960e01b815260009182916001600160a01b0390911690639e5d4c4990610ba4908890889088906004016111de565b600060405180830381600087803b158015610bbe57600080fd5b505af1158015610bd2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bfa9190810190611227565b9150915081610c2c57805115610c135780518082602001fd5b604051631bb7daad60e11b815260040160405180910390fd5b5050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715610c7157610c71610c33565b604052919050565b600080600060608486031215610c8e57600080fd5b83356001600160401b0380821115610ca557600080fd5b818601915086601f830112610cb957600080fd5b8135602082821115610ccd57610ccd610c33565b8160051b9250610cde818401610c49565b828152928401810192818101908a851115610cf857600080fd5b948201945b84861015610d1657853582529482019490820190610cfd565b9a918901359950506040909701359695505050505050565b6001600160a01b0381168114610d4357600080fd5b50565b8035610d5181610d2e565b919050565b60008083601f840112610d6857600080fd5b5081356001600160401b03811115610d7f57600080fd5b602083019150836020828501011115610d9757600080fd5b9250929050565b60008060008060008060008060008060006101208c8e031215610dc057600080fd5b8b356001600160401b0380821115610dd757600080fd5b818e0191508e601f830112610deb57600080fd5b813581811115610dfa57600080fd5b8f60208260051b8501011115610e0f57600080fd5b60208381019e50909c508e01359a50610e2a60408f01610d46565b9950610e3860608f01610d46565b985060808e0135975060a08e0135965060c08e0135955060e08e013594506101008e0135915080821115610e6b57600080fd5b50610e788e828f01610d56565b915080935050809150509295989b509295989b9093969950565b60008060008060008060008060006101008a8c031215610eb157600080fd5b8935985060208a0135610ec381610d2e565b975060408a0135610ed381610d2e565b965060608a0135955060808a0135945060a08a0135935060c08a0135925060e08a01356001600160401b03811115610f0a57600080fd5b610f168c828d01610d56565b915080935050809150509295985092959850929598565b600060208284031215610f3f57600080fd5b5035919050565b60008060008060008060008060e0898b031215610f6257600080fd5b8835610f6d81610d2e565b97506020890135610f7d81610d2e565b965060408901359550606089013594506080890135935060a0890135925060c08901356001600160401b03811115610fb457600080fd5b610fc08b828c01610d56565b999c989b5096995094979396929594505050565b60008060408385031215610fe757600080fd5b50508035926020909101359150565b60006020828403121561100857600080fd5b813561101381610d2e565b9392505050565b60006020828403121561102c57600080fd5b815161101381610d2e565b60006bffffffffffffffffffffffff19808b60601b168352808a60601b16601484015250876028830152866048830152856068830152846088830152828460a8840137506000910160a801908152979650505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600181815b808511156110f75781600019048211156110dd576110dd6110a6565b808516156110ea57918102915b93841c93908002906110c1565b509250929050565b60008261110e5750600161119c565b8161111b5750600061119c565b8160018114611131576002811461113b57611157565b600191505061119c565b60ff84111561114c5761114c6110a6565b50506001821b61119c565b5060208310610133831016604e8410600b841016171561117a575081810a61119c565b61118483836110bc565b8060001904821115611198576111986110a6565b0290505b92915050565b600061101383836110ff565b60005b838110156111c95781810151838201526020016111b1565b838111156111d8576000848401525b50505050565b60018060a01b038416815282602082015260606040820152600082518060608401526112118160808501602087016111ae565b601f01601f191691909101608001949350505050565b6000806040838503121561123a57600080fd5b8251801515811461124a57600080fd5b60208401519092506001600160401b038082111561126757600080fd5b818501915085601f83011261127b57600080fd5b81518181111561128d5761128d610c33565b6112a0601f8201601f1916602001610c49565b91508082528660208285010111156112b757600080fd5b6112c88160208401602086016111ae565b508092505050925092905056fea2646970667358221220bad02150430a4bc3f4e359d31d8804df2f91dec1579d7433a1e7d1de70600cf164736f6c63430008090033",
547
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061012b5760003560e01c806395fcea78116100ad578063c4d66de811610071578063c4d66de81461026d578063c75184df14610280578063cb23bcb5146102a0578063d5b5cc23146102b3578063e78cea92146102c657600080fd5b806395fcea78146101695780639f0c04bf14610216578063a04cee6014610229578063ae6dead71461023c578063b0f305371461025c57600080fd5b80635a129efe116100f45780635a129efe146101965780636ae71f12146101c957806372f2a8c7146101d157806380648b02146101d95780638515bc6a146101fe57600080fd5b80627436d31461013057806308635a9514610156578063119852711461016b578063288e5b10146101725780634654779014610185575b600080fd5b61014361013e366004610c79565b6102d9565b6040519081526020015b60405180910390f35b610169610164366004610d9e565b610316565b005b6000610143565b610169610180366004610e92565b610658565b6004546001600160801b0316610143565b6101b96101a4366004610f2d565b60026020526000908152604090205460ff1681565b604051901515815260200161014d565b610169610697565b600654610143565b6007546001600160a01b03165b6040516001600160a01b03909116815260200161014d565b600454600160801b90046001600160801b0316610143565b610143610224366004610f46565b61082c565b610169610237366004610fd4565b610871565b61014361024a366004610f2d565b60036020526000908152604090205481565b6005546001600160801b0316610143565b61016961027b366004610ff6565b6108b0565b610288600281565b6040516001600160801b03909116815260200161014d565b6000546101e6906001600160a01b031681565b6101436102c1366004610f2d565b610989565b6001546101e6906001600160a01b031681565b600061030e8484846040516020016102f391815260200190565b604051602081830303815290604052805190602001206109c5565b949350505050565b6000806103298a8a8a8a8a8a8a8a61082c565b905061036b8d8d808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508f9250859150610a689050565b915060008a6001600160a01b03168a6001600160a01b03167f20af7f3bbfe38132b8900ae295cd9c8d1914be7052d061a511f3f728dab189648e6040516103b491815260200190565b60405180910390a450600060046040518060a00160405290816000820160009054906101000a90046001600160801b03166001600160801b03166001600160801b031681526020016000820160109054906101000a90046001600160801b03166001600160801b03166001600160801b031681526020016001820160009054906101000a90046001600160801b03166001600160801b03166001600160801b03168152602001600282015481526020016003820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152505090506040518060a00160405280896001600160801b03168152602001886001600160801b03168152602001876001600160801b031681526020018381526020018b6001600160a01b0316815250600460008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816001600160801b0302191690836001600160801b0316021790555060408201518160010160006101000a8154816001600160801b0302191690836001600160801b031602179055506060820151816002015560808201518160030160006101000a8154816001600160a01b0302191690836001600160a01b031602179055509050506105e3898686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b6b92505050565b805160208201516001600160801b03918216600160801b91831691909102176004556040820151600580546001600160801b03191691909216179055606081015160065560800151600780546001600160a01b0319166001600160a01b03909216919091179055505050505050505050505050565b60405162461bcd60e51b815260206004820152600f60248201526e139bdd081a5b5c1b195b595b9d1959608a1b60448201526064015b60405180910390fd5b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156107255760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b606482015260840161068e565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038054336001600160a01b0382161461078257604051631194af8760e11b81523360048201526001600160a01b038216602482015260440161068e565b600160009054906101000a90046001600160a01b03166001600160a01b031663cb23bcb56040518163ffffffff1660e01b815260040160206040518083038186803b1580156107d057600080fd5b505afa1580156107e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610808919061101a565b600080546001600160a01b0319166001600160a01b03929092169190911790555050565b6000888888888888888860405160200161084d989796959493929190611037565b60405160208183030381529060405280519060200120905098975050505050505050565b60008281526003602052604080822083905551829184917fb4df3847300f076a369cd76d2314b470a1194d9e8a6bb97f1860aee88a5f67489190a35050565b6001546001600160a01b0316156108da57604051633bcd329760e21b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040805163cb23bcb560e01b8152905163cb23bcb591600480820192602092909190829003018186803b15801561092e57600080fd5b505afa158015610942573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610966919061101a565b600080546001600160a01b0319166001600160a01b039290921691909117905550565b60405162461bcd60e51b815260206004820152600e60248201526d1393d517d253541311535155115160921b604482015260009060640161068e565b82516000906101008111156109f857604051637ed6198f60e11b815260048101829052610100602482015260440161068e565b8260005b82811015610a5e576000878281518110610a1857610a18611090565b60200260200101519050816001901b871660001415610a4557826000528060205260406000209250610a55565b8060005282602052604060002092505b506001016109fc565b5095945050505050565b6000610100845110610a9257835160405163ab6a068360e01b815260040161068e91815260200190565b8351610a9f9060026111a2565b8310610ad6578284516002610ab491906111a2565b604051630b8a724b60e01b81526004810192909252602482015260440161068e565b6000610ae38585856102d9565b600081815260036020526040902054909150610b15576040516310e61af960e31b81526004810182905260240161068e565b60008481526002602052604090205460ff1615610b4857604051639715b8d360e01b81526004810185905260240161068e565b50506000828152600260205260409020805460ff19166001179055819392505050565b600154604051639e5d4c4960e01b815260009182916001600160a01b0390911690639e5d4c4990610ba4908890889088906004016111de565b600060405180830381600087803b158015610bbe57600080fd5b505af1158015610bd2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bfa9190810190611227565b9150915081610c2c57805115610c135780518082602001fd5b604051631bb7daad60e11b815260040160405180910390fd5b5050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715610c7157610c71610c33565b604052919050565b600080600060608486031215610c8e57600080fd5b83356001600160401b0380821115610ca557600080fd5b818601915086601f830112610cb957600080fd5b8135602082821115610ccd57610ccd610c33565b8160051b9250610cde818401610c49565b828152928401810192818101908a851115610cf857600080fd5b948201945b84861015610d1657853582529482019490820190610cfd565b9a918901359950506040909701359695505050505050565b6001600160a01b0381168114610d4357600080fd5b50565b8035610d5181610d2e565b919050565b60008083601f840112610d6857600080fd5b5081356001600160401b03811115610d7f57600080fd5b602083019150836020828501011115610d9757600080fd5b9250929050565b60008060008060008060008060008060006101208c8e031215610dc057600080fd5b8b356001600160401b0380821115610dd757600080fd5b818e0191508e601f830112610deb57600080fd5b813581811115610dfa57600080fd5b8f60208260051b8501011115610e0f57600080fd5b60208381019e50909c508e01359a50610e2a60408f01610d46565b9950610e3860608f01610d46565b985060808e0135975060a08e0135965060c08e0135955060e08e013594506101008e0135915080821115610e6b57600080fd5b50610e788e828f01610d56565b915080935050809150509295989b509295989b9093969950565b60008060008060008060008060006101008a8c031215610eb157600080fd5b8935985060208a0135610ec381610d2e565b975060408a0135610ed381610d2e565b965060608a0135955060808a0135945060a08a0135935060c08a0135925060e08a01356001600160401b03811115610f0a57600080fd5b610f168c828d01610d56565b915080935050809150509295985092959850929598565b600060208284031215610f3f57600080fd5b5035919050565b60008060008060008060008060e0898b031215610f6257600080fd5b8835610f6d81610d2e565b97506020890135610f7d81610d2e565b965060408901359550606089013594506080890135935060a0890135925060c08901356001600160401b03811115610fb457600080fd5b610fc08b828c01610d56565b999c989b5096995094979396929594505050565b60008060408385031215610fe757600080fd5b50508035926020909101359150565b60006020828403121561100857600080fd5b813561101381610d2e565b9392505050565b60006020828403121561102c57600080fd5b815161101381610d2e565b60006bffffffffffffffffffffffff19808b60601b168352808a60601b16601484015250876028830152866048830152856068830152846088830152828460a8840137506000910160a801908152979650505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600181815b808511156110f75781600019048211156110dd576110dd6110a6565b808516156110ea57918102915b93841c93908002906110c1565b509250929050565b60008261110e5750600161119c565b8161111b5750600061119c565b8160018114611131576002811461113b57611157565b600191505061119c565b60ff84111561114c5761114c6110a6565b50506001821b61119c565b5060208310610133831016604e8410600b841016171561117a575081810a61119c565b61118483836110bc565b8060001904821115611198576111986110a6565b0290505b92915050565b600061101383836110ff565b60005b838110156111c95781810151838201526020016111b1565b838111156111d8576000848401525b50505050565b60018060a01b038416815282602082015260606040820152600082518060608401526112118160808501602087016111ae565b601f01601f191691909101608001949350505050565b6000806040838503121561123a57600080fd5b8251801515811461124a57600080fd5b60208401519092506001600160401b038082111561126757600080fd5b818501915085601f83011261127b57600080fd5b81518181111561128d5761128d610c33565b6112a0601f8201601f1916602001610c49565b91508082528660208285010111156112b757600080fd5b6112c88160208401602086016111ae565b508092505050925092905056fea2646970667358221220bad02150430a4bc3f4e359d31d8804df2f91dec1579d7433a1e7d1de70600cf164736f6c63430008090033",
518
548
  "linkReferences": {},
519
549
  "deployedLinkReferences": {}
520
550
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/b8f273014c17044fc3eefedb261147e6.json"
3
+ "buildInfo": "../../../build-info/bd6d911e8af19014a6d3612fec6f93ac.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/b8f273014c17044fc3eefedb261147e6.json"
3
+ "buildInfo": "../../../build-info/bd6d911e8af19014a6d3612fec6f93ac.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/b8f273014c17044fc3eefedb261147e6.json"
3
+ "buildInfo": "../../../build-info/bd6d911e8af19014a6d3612fec6f93ac.json"
4
4
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arbitrum/nitro-contracts",
3
- "version": "1.1.0-beta.1",
3
+ "version": "1.1.0-beta.2",
4
4
  "description": "Layer 2 precompiles and rollup for Arbitrum Nitro",
5
5
  "author": "Offchain Labs, Inc.",
6
6
  "license": "BUSL-1.1",
@@ -67,6 +67,12 @@ abstract contract AbsBridge is Initializable, DelegateCallAware, IBridge {
67
67
  _;
68
68
  }
69
69
 
70
+ /// @notice Allows the rollup owner to set another rollup address
71
+ function updateRollupAddress(IOwnable _rollup) external onlyRollupOrOwner {
72
+ rollup = _rollup;
73
+ emit RollupUpdated(address(_rollup));
74
+ }
75
+
70
76
  /// @dev returns the address of current active Outbox, or zero if no outbox is active
71
77
  function activeOutbox() public view returns (address) {
72
78
  address outbox = _activeOutbox;
@@ -12,7 +12,9 @@ import {
12
12
  UnknownRoot,
13
13
  AlreadySpent,
14
14
  BridgeCallFailed,
15
- HadZeroInit
15
+ HadZeroInit,
16
+ BadPostUpgradeInit,
17
+ RollupNotChanged
16
18
  } from "../libraries/Error.sol";
17
19
  import "./IBridge.sol";
18
20
  import "./IOutbox.sol";
@@ -76,6 +78,28 @@ abstract contract AbsOutbox is DelegateCallAware, IOutbox {
76
78
  rollup = address(_bridge.rollup());
77
79
  }
78
80
 
81
+ function postUpgradeInit() external onlyDelegated onlyProxyOwner {
82
+ // prevent postUpgradeInit within a withdrawal
83
+ if (context.l2Block != L2BLOCK_DEFAULT_CONTEXT) revert BadPostUpgradeInit();
84
+ context = L2ToL1Context({
85
+ l2Block: L2BLOCK_DEFAULT_CONTEXT,
86
+ l1Block: L1BLOCK_DEFAULT_CONTEXT,
87
+ timestamp: TIMESTAMP_DEFAULT_CONTEXT,
88
+ outputId: OUTPUTID_DEFAULT_CONTEXT,
89
+ sender: SENDER_DEFAULT_CONTEXT,
90
+ withdrawalAmount: _defaultContextAmount()
91
+ });
92
+ }
93
+
94
+ /// @notice Allows the rollup owner to sync the rollup address
95
+ function updateRollupAddress() external {
96
+ if (msg.sender != IOwnable(rollup).owner())
97
+ revert NotOwner(msg.sender, IOwnable(rollup).owner());
98
+ address newRollup = address(bridge.rollup());
99
+ if (rollup == newRollup) revert RollupNotChanged();
100
+ rollup = newRollup;
101
+ }
102
+
79
103
  function updateSendRoot(bytes32 root, bytes32 l2BlockHash) external {
80
104
  if (msg.sender != rollup) revert NotRollup(msg.sender, rollup);
81
105
  roots[root] = l2BlockHash;
@@ -32,6 +32,8 @@ interface IBridge {
32
32
 
33
33
  event SequencerInboxUpdated(address newSequencerInbox);
34
34
 
35
+ event RollupUpdated(address rollup);
36
+
35
37
  function allowedDelayedInboxList(uint256) external returns (address);
36
38
 
37
39
  function allowedOutboxList(uint256) external returns (address);
@@ -97,4 +99,6 @@ interface IBridge {
97
99
  function setDelayedInbox(address inbox, bool enabled) external;
98
100
 
99
101
  function setOutbox(address inbox, bool enabled) external;
102
+
103
+ function updateRollupAddress(IOwnable _rollup) external;
100
104
  }
@@ -31,6 +31,8 @@ interface IOutbox {
31
31
 
32
32
  function updateSendRoot(bytes32 sendRoot, bytes32 l2BlockHash) external;
33
33
 
34
+ function updateRollupAddress() external;
35
+
34
36
  /// @notice When l2ToL1Sender returns a nonzero address, the message was originated by an L2 account
35
37
  /// When the return value is zero, that means this is a system message
36
38
  /// @dev the l2ToL1Sender behaves as the tx.origin, the msg.sender should be validated to protect against reentrancies
@@ -119,4 +121,10 @@ interface IOutbox {
119
121
  uint256 path,
120
122
  bytes32 item
121
123
  ) external pure returns (bytes32);
124
+
125
+ /**
126
+ * @dev function to be called one time during the outbox upgrade process
127
+ * this is used to fix the storage slots
128
+ */
129
+ function postUpgradeInit() external;
122
130
  }
@@ -177,4 +177,6 @@ interface ISequencerInbox is IDelayedMessageProvider {
177
177
  // ---------- initializer ----------
178
178
 
179
179
  function initialize(IBridge bridge_, MaxTimeVariation calldata maxTimeVariation_) external;
180
+
181
+ function updateRollupAddress() external;
180
182
  }
@@ -20,7 +20,8 @@ import {
20
20
  DataNotAuthenticated,
21
21
  AlreadyValidDASKeyset,
22
22
  NoSuchKeyset,
23
- NotForked
23
+ NotForked,
24
+ RollupNotChanged
24
25
  } from "../libraries/Error.sol";
25
26
  import "./IBridge.sol";
26
27
  import "./IInboxBase.sol";
@@ -91,6 +92,15 @@ contract SequencerInbox is DelegateCallAware, GasRefundEnabled, ISequencerInbox
91
92
  maxTimeVariation = maxTimeVariation_;
92
93
  }
93
94
 
95
+ /// @notice Allows the rollup owner to sync the rollup address
96
+ function updateRollupAddress() external {
97
+ if (msg.sender != IOwnable(rollup).owner())
98
+ revert NotOwner(msg.sender, IOwnable(rollup).owner());
99
+ IOwnable newRollup = bridge.rollup();
100
+ if (rollup == newRollup) revert RollupNotChanged();
101
+ rollup = newRollup;
102
+ }
103
+
94
104
  function getTimeBounds() internal view virtual returns (TimeBounds memory) {
95
105
  TimeBounds memory bounds;
96
106
  if (block.timestamp > maxTimeVariation.delaySeconds) {
@@ -7,9 +7,12 @@ pragma solidity ^0.8.4;
7
7
  /// @dev Init was already called
8
8
  error AlreadyInit();
9
9
 
10
- /// Init was called with param set to zero that must be nonzero
10
+ /// @dev Init was called with param set to zero that must be nonzero
11
11
  error HadZeroInit();
12
12
 
13
+ /// @dev Thrown when post upgrade init validation fails
14
+ error BadPostUpgradeInit();
15
+
13
16
  /// @dev Thrown when non owner tries to access an only-owner function
14
17
  /// @param sender The msg.sender who is not the owner
15
18
  /// @param owner The owner address
@@ -172,3 +175,6 @@ error AlreadyValidDASKeyset(bytes32);
172
175
 
173
176
  /// @dev Tried to use or invalidate an already invalid Data Availability Service keyset
174
177
  error NoSuchKeyset(bytes32);
178
+
179
+ /// @dev Thrown when rollup is not updated with updateRollupAddress
180
+ error RollupNotChanged();
@@ -45,6 +45,10 @@ contract BridgeStub is IBridge, IEthBridge {
45
45
  revert("NOT_IMPLEMENTED");
46
46
  }
47
47
 
48
+ function updateRollupAddress(IOwnable) external pure {
49
+ revert("NOT_IMPLEMENTED");
50
+ }
51
+
48
52
  function enqueueDelayedMessage(
49
53
  uint8 kind,
50
54
  address sender,
@@ -12,7 +12,7 @@ import "../libraries/ArbitrumChecker.sol";
12
12
  import "../bridge/IDelayedMessageProvider.sol";
13
13
  import "../libraries/DelegateCallAware.sol";
14
14
  import {INITIALIZATION_MSG_TYPE} from "../libraries/MessageTypes.sol";
15
- import {AlreadyInit, HadZeroInit} from "../libraries/Error.sol";
15
+ import {AlreadyInit, HadZeroInit, RollupNotChanged} from "../libraries/Error.sol";
16
16
 
17
17
  /**
18
18
  * @title The inbox for rollup protocol events
@@ -37,6 +37,15 @@ abstract contract AbsRollupEventInbox is
37
37
  rollup = address(_bridge.rollup());
38
38
  }
39
39
 
40
+ /// @notice Allows the rollup owner to sync the rollup address
41
+ function updateRollupAddress() external {
42
+ if (msg.sender != IOwnable(rollup).owner())
43
+ revert NotOwner(msg.sender, IOwnable(rollup).owner());
44
+ address newRollup = address(bridge.rollup());
45
+ if (rollup == newRollup) revert RollupNotChanged();
46
+ rollup = newRollup;
47
+ }
48
+
40
49
  function rollupInitialized(uint256 chainId, string calldata chainConfig)
41
50
  external
42
51
  override
@@ -13,5 +13,7 @@ interface IRollupEventInbox {
13
13
 
14
14
  function rollup() external view returns (address);
15
15
 
16
+ function updateRollupAddress() external;
17
+
16
18
  function rollupInitialized(uint256 chainId, string calldata chainConfig) external;
17
19
  }