@arbitrum/nitro-contracts 1.0.2 → 1.0.3-beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (338) hide show
  1. package/LICENSE +114 -0
  2. package/README.md +2 -2
  3. package/build/contracts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +4 -0
  4. package/build/contracts/@openzeppelin/contracts/access/Ownable.sol/Ownable.json +63 -0
  5. package/build/contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.dbg.json +4 -0
  6. package/build/contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.json +24 -0
  7. package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +4 -0
  8. package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.json +80 -0
  9. package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.dbg.json +4 -0
  10. package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.json +56 -0
  11. package/build/contracts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.dbg.json +4 -0
  12. package/build/contracts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.json +19 -0
  13. package/build/contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.dbg.json +4 -0
  14. package/build/contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.json +24 -0
  15. package/build/contracts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +4 -0
  16. package/build/contracts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.json +113 -0
  17. package/build/contracts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.dbg.json +4 -0
  18. package/build/contracts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.json +160 -0
  19. package/build/contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.dbg.json +4 -0
  20. package/build/contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +155 -0
  21. package/build/contracts/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol/UUPSUpgradeable.dbg.json +4 -0
  22. package/build/contracts/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol/UUPSUpgradeable.json +100 -0
  23. package/build/contracts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json +4 -0
  24. package/build/contracts/@openzeppelin/contracts/utils/Address.sol/Address.json +10 -0
  25. package/build/contracts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +4 -0
  26. package/build/contracts/@openzeppelin/contracts/utils/Context.sol/Context.json +10 -0
  27. package/build/contracts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.dbg.json +4 -0
  28. package/build/contracts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.json +10 -0
  29. package/build/contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +4 -0
  30. package/build/contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.json +63 -0
  31. package/build/contracts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +4 -0
  32. package/build/contracts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.json +10 -0
  33. package/build/contracts/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol/PausableUpgradeable.dbg.json +4 -0
  34. package/build/contracts/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol/PausableUpgradeable.json +50 -0
  35. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.dbg.json +4 -0
  36. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.json +194 -0
  37. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +4 -0
  38. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.json +10 -0
  39. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +4 -0
  40. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.json +10 -0
  41. package/build/contracts/src/bridge/Bridge.sol/Bridge.dbg.json +4 -0
  42. package/build/contracts/src/bridge/Bridge.sol/Bridge.json +650 -0
  43. package/build/contracts/src/bridge/IBridge.sol/IBridge.dbg.json +4 -0
  44. package/build/contracts/src/bridge/IBridge.sol/IBridge.json +538 -0
  45. package/build/contracts/src/bridge/IDelayedMessageProvider.sol/IDelayedMessageProvider.dbg.json +4 -0
  46. package/build/contracts/src/bridge/IDelayedMessageProvider.sol/IDelayedMessageProvider.json +43 -0
  47. package/build/contracts/src/bridge/IInbox.sol/IInbox.dbg.json +4 -0
  48. package/build/contracts/src/bridge/IInbox.sol/IInbox.json +575 -0
  49. package/build/contracts/src/bridge/IOutbox.sol/IOutbox.dbg.json +4 -0
  50. package/build/contracts/src/bridge/IOutbox.sol/IOutbox.json +419 -0
  51. package/build/contracts/src/bridge/IOwnable.sol/IOwnable.dbg.json +4 -0
  52. package/build/contracts/src/bridge/IOwnable.sol/IOwnable.json +24 -0
  53. package/build/contracts/src/bridge/ISequencerInbox.sol/ISequencerInbox.dbg.json +4 -0
  54. package/build/contracts/src/bridge/ISequencerInbox.sol/ISequencerInbox.json +651 -0
  55. package/build/contracts/src/bridge/Inbox.sol/Inbox.dbg.json +4 -0
  56. package/build/contracts/src/bridge/Inbox.sol/Inbox.json +954 -0
  57. package/build/contracts/src/bridge/Messages.sol/Messages.dbg.json +4 -0
  58. package/build/contracts/src/bridge/Messages.sol/Messages.json +10 -0
  59. package/build/contracts/src/bridge/Outbox.sol/Outbox.dbg.json +4 -0
  60. package/build/contracts/src/bridge/Outbox.sol/Outbox.json +546 -0
  61. package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.dbg.json +4 -0
  62. package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.json +814 -0
  63. package/build/contracts/src/challenge/ChallengeLib.sol/ChallengeLib.dbg.json +4 -0
  64. package/build/contracts/src/challenge/ChallengeLib.sol/ChallengeLib.json +10 -0
  65. package/build/contracts/src/challenge/ChallengeManager.sol/ChallengeManager.dbg.json +4 -0
  66. package/build/contracts/src/challenge/ChallengeManager.sol/ChallengeManager.json +669 -0
  67. package/build/contracts/src/challenge/IChallengeManager.sol/IChallengeManager.dbg.json +4 -0
  68. package/build/contracts/src/challenge/IChallengeManager.sol/IChallengeManager.json +386 -0
  69. package/build/contracts/src/challenge/IChallengeResultReceiver.sol/IChallengeResultReceiver.dbg.json +4 -0
  70. package/build/contracts/src/challenge/IChallengeResultReceiver.sol/IChallengeResultReceiver.json +34 -0
  71. package/build/contracts/src/libraries/AddressAliasHelper.sol/AddressAliasHelper.dbg.json +4 -0
  72. package/build/contracts/src/libraries/AddressAliasHelper.sol/AddressAliasHelper.json +10 -0
  73. package/build/contracts/src/libraries/AdminFallbackProxy.sol/AdminFallbackProxy.dbg.json +4 -0
  74. package/build/contracts/src/libraries/AdminFallbackProxy.sol/AdminFallbackProxy.json +77 -0
  75. package/build/contracts/src/libraries/AdminFallbackProxy.sol/DoubleLogicERC1967Upgrade.dbg.json +4 -0
  76. package/build/contracts/src/libraries/AdminFallbackProxy.sol/DoubleLogicERC1967Upgrade.json +69 -0
  77. package/build/contracts/src/libraries/ArbitrumChecker.sol/ArbitrumChecker.dbg.json +4 -0
  78. package/build/contracts/src/libraries/ArbitrumChecker.sol/ArbitrumChecker.json +10 -0
  79. package/build/contracts/src/libraries/CryptographyPrimitives.sol/CryptographyPrimitives.dbg.json +4 -0
  80. package/build/contracts/src/libraries/CryptographyPrimitives.sol/CryptographyPrimitives.json +10 -0
  81. package/build/contracts/src/libraries/DelegateCallAware.sol/DelegateCallAware.dbg.json +4 -0
  82. package/build/contracts/src/libraries/DelegateCallAware.sol/DelegateCallAware.json +10 -0
  83. package/build/contracts/src/libraries/DoubleLogicUUPSUpgradeable.sol/DoubleLogicUUPSUpgradeable.dbg.json +4 -0
  84. package/build/contracts/src/libraries/DoubleLogicUUPSUpgradeable.sol/DoubleLogicUUPSUpgradeable.json +144 -0
  85. package/build/contracts/src/libraries/IGasRefunder.sol/GasRefundEnabled.dbg.json +4 -0
  86. package/build/contracts/src/libraries/IGasRefunder.sol/GasRefundEnabled.json +10 -0
  87. package/build/contracts/src/libraries/IGasRefunder.sol/IGasRefunder.dbg.json +4 -0
  88. package/build/contracts/src/libraries/IGasRefunder.sol/IGasRefunder.json +40 -0
  89. package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.dbg.json +4 -0
  90. package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.json +10 -0
  91. package/build/contracts/src/libraries/UUPSNotUpgradeable.sol/UUPSNotUpgradeable.dbg.json +4 -0
  92. package/build/contracts/src/libraries/UUPSNotUpgradeable.sol/UUPSNotUpgradeable.json +82 -0
  93. package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.dbg.json +4 -0
  94. package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.json +561 -0
  95. package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.dbg.json +4 -0
  96. package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.json +655 -0
  97. package/build/contracts/src/mocks/InboxStub.sol/InboxStub.dbg.json +4 -0
  98. package/build/contracts/src/mocks/InboxStub.sol/InboxStub.json +588 -0
  99. package/build/contracts/src/mocks/MockResultReceiver.sol/MockResultReceiver.dbg.json +4 -0
  100. package/build/contracts/src/mocks/MockResultReceiver.sol/MockResultReceiver.json +188 -0
  101. package/build/contracts/src/mocks/ProxyAdminForBinding.sol/ProxyAdminForBinding.dbg.json +4 -0
  102. package/build/contracts/src/mocks/ProxyAdminForBinding.sol/ProxyAdminForBinding.json +160 -0
  103. package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.dbg.json +4 -0
  104. package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.json +870 -0
  105. package/build/contracts/src/mocks/Simple.sol/Simple.dbg.json +4 -0
  106. package/build/contracts/src/mocks/Simple.sol/Simple.json +242 -0
  107. package/build/contracts/src/mocks/SimpleProxy.sol/SimpleProxy.dbg.json +4 -0
  108. package/build/contracts/src/mocks/SimpleProxy.sol/SimpleProxy.json +30 -0
  109. package/build/contracts/src/mocks/SingleExecutionChallenge.sol/SingleExecutionChallenge.dbg.json +4 -0
  110. package/build/contracts/src/mocks/SingleExecutionChallenge.sol/SingleExecutionChallenge.json +720 -0
  111. package/build/contracts/src/mocks/TimedOutChallengeManager.sol/TimedOutChallengeManager.dbg.json +4 -0
  112. package/build/contracts/src/mocks/TimedOutChallengeManager.sol/TimedOutChallengeManager.json +669 -0
  113. package/build/contracts/src/node-interface/NodeInterface.sol/NodeInterface.dbg.json +4 -0
  114. package/build/contracts/src/node-interface/NodeInterface.sol/NodeInterface.json +286 -0
  115. package/build/contracts/src/node-interface/NodeInterfaceDebug.sol/NodeInterfaceDebug.dbg.json +4 -0
  116. package/build/contracts/src/node-interface/NodeInterfaceDebug.sol/NodeInterfaceDebug.json +67 -0
  117. package/build/contracts/src/osp/HashProofHelper.sol/HashProofHelper.dbg.json +4 -0
  118. package/build/contracts/src/osp/HashProofHelper.sol/HashProofHelper.json +165 -0
  119. package/build/contracts/src/osp/IOneStepProofEntry.sol/IOneStepProofEntry.dbg.json +4 -0
  120. package/build/contracts/src/osp/IOneStepProofEntry.sol/IOneStepProofEntry.json +57 -0
  121. package/build/contracts/src/osp/IOneStepProofEntry.sol/OneStepProofEntryLib.dbg.json +4 -0
  122. package/build/contracts/src/osp/IOneStepProofEntry.sol/OneStepProofEntryLib.json +10 -0
  123. package/build/contracts/src/osp/IOneStepProver.sol/IOneStepProver.dbg.json +4 -0
  124. package/build/contracts/src/osp/IOneStepProver.sol/IOneStepProver.json +477 -0
  125. package/build/contracts/src/osp/OneStepProofEntry.sol/OneStepProofEntry.dbg.json +4 -0
  126. package/build/contracts/src/osp/OneStepProofEntry.sol/OneStepProofEntry.json +135 -0
  127. package/build/contracts/src/osp/OneStepProver0.sol/OneStepProver0.dbg.json +4 -0
  128. package/build/contracts/src/osp/OneStepProver0.sol/OneStepProver0.json +477 -0
  129. package/build/contracts/src/osp/OneStepProverHostIo.sol/OneStepProverHostIo.dbg.json +4 -0
  130. package/build/contracts/src/osp/OneStepProverHostIo.sol/OneStepProverHostIo.json +477 -0
  131. package/build/contracts/src/osp/OneStepProverMath.sol/OneStepProverMath.dbg.json +4 -0
  132. package/build/contracts/src/osp/OneStepProverMath.sol/OneStepProverMath.json +477 -0
  133. package/build/contracts/src/osp/OneStepProverMemory.sol/OneStepProverMemory.dbg.json +4 -0
  134. package/build/contracts/src/osp/OneStepProverMemory.sol/OneStepProverMemory.json +477 -0
  135. package/build/contracts/src/precompiles/ArbAddressTable.sol/ArbAddressTable.dbg.json +4 -0
  136. package/build/contracts/src/precompiles/ArbAddressTable.sol/ArbAddressTable.json +148 -0
  137. package/build/contracts/src/precompiles/ArbAggregator.sol/ArbAggregator.dbg.json +4 -0
  138. package/build/contracts/src/precompiles/ArbAggregator.sol/ArbAggregator.json +148 -0
  139. package/build/contracts/src/precompiles/ArbBLS.sol/ArbBLS.dbg.json +4 -0
  140. package/build/contracts/src/precompiles/ArbBLS.sol/ArbBLS.json +10 -0
  141. package/build/contracts/src/precompiles/ArbDebug.sol/ArbDebug.dbg.json +4 -0
  142. package/build/contracts/src/precompiles/ArbDebug.sol/ArbDebug.json +193 -0
  143. package/build/contracts/src/precompiles/ArbFunctionTable.sol/ArbFunctionTable.dbg.json +4 -0
  144. package/build/contracts/src/precompiles/ArbFunctionTable.sol/ArbFunctionTable.json +77 -0
  145. package/build/contracts/src/precompiles/ArbGasInfo.sol/ArbGasInfo.dbg.json +4 -0
  146. package/build/contracts/src/precompiles/ArbGasInfo.sol/ArbGasInfo.json +350 -0
  147. package/build/contracts/src/precompiles/ArbInfo.sol/ArbInfo.dbg.json +4 -0
  148. package/build/contracts/src/precompiles/ArbInfo.sol/ArbInfo.json +49 -0
  149. package/build/contracts/src/precompiles/ArbOwner.sol/ArbOwner.dbg.json +4 -0
  150. package/build/contracts/src/precompiles/ArbOwner.sol/ArbOwner.json +378 -0
  151. package/build/contracts/src/precompiles/ArbOwnerPublic.sol/ArbOwnerPublic.dbg.json +4 -0
  152. package/build/contracts/src/precompiles/ArbOwnerPublic.sol/ArbOwnerPublic.json +95 -0
  153. package/build/contracts/src/precompiles/ArbRetryableTx.sol/ArbRetryableTx.dbg.json +4 -0
  154. package/build/contracts/src/precompiles/ArbRetryableTx.sol/ArbRetryableTx.json +306 -0
  155. package/build/contracts/src/precompiles/ArbStatistics.sol/ArbStatistics.dbg.json +4 -0
  156. package/build/contracts/src/precompiles/ArbStatistics.sol/ArbStatistics.json +49 -0
  157. package/build/contracts/src/precompiles/ArbSys.sol/ArbSys.dbg.json +4 -0
  158. package/build/contracts/src/precompiles/ArbSys.sol/ArbSys.json +380 -0
  159. package/build/contracts/src/precompiles/ArbosActs.sol/ArbosActs.dbg.json +4 -0
  160. package/build/contracts/src/precompiles/ArbosActs.sol/ArbosActs.json +77 -0
  161. package/build/contracts/src/precompiles/ArbosTest.sol/ArbosTest.dbg.json +4 -0
  162. package/build/contracts/src/precompiles/ArbosTest.sol/ArbosTest.json +24 -0
  163. package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.dbg.json +4 -0
  164. package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.json +243 -0
  165. package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.dbg.json +4 -0
  166. package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.json +128 -0
  167. package/build/contracts/src/rollup/IRollupAdmin.sol/IRollupAdmin.dbg.json +4 -0
  168. package/build/contracts/src/rollup/IRollupAdmin.sol/IRollupAdmin.json +544 -0
  169. package/build/contracts/src/rollup/IRollupCore.sol/IRollupCore.dbg.json +4 -0
  170. package/build/contracts/src/rollup/IRollupCore.sol/IRollupCore.json +889 -0
  171. package/build/contracts/src/rollup/IRollupEventInbox.sol/IRollupEventInbox.dbg.json +4 -0
  172. package/build/contracts/src/rollup/IRollupEventInbox.sol/IRollupEventInbox.json +68 -0
  173. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUser.dbg.json +4 -0
  174. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUser.json +1428 -0
  175. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserAbs.dbg.json +4 -0
  176. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserAbs.json +1309 -0
  177. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserERC20.dbg.json +4 -0
  178. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserERC20.json +1443 -0
  179. package/build/contracts/src/rollup/Node.sol/NodeLib.dbg.json +4 -0
  180. package/build/contracts/src/rollup/Node.sol/NodeLib.json +10 -0
  181. package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.dbg.json +4 -0
  182. package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.json +1808 -0
  183. package/build/contracts/src/rollup/RollupCore.sol/RollupCore.dbg.json +4 -0
  184. package/build/contracts/src/rollup/RollupCore.sol/RollupCore.json +1051 -0
  185. package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.dbg.json +4 -0
  186. package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.json +383 -0
  187. package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.dbg.json +4 -0
  188. package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.json +110 -0
  189. package/build/contracts/src/rollup/RollupLib.sol/RollupLib.dbg.json +4 -0
  190. package/build/contracts/src/rollup/RollupLib.sol/RollupLib.json +10 -0
  191. package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.dbg.json +4 -0
  192. package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.json +226 -0
  193. package/build/contracts/src/rollup/RollupUserLogic.sol/AbsRollupUserLogic.dbg.json +4 -0
  194. package/build/contracts/src/rollup/RollupUserLogic.sol/AbsRollupUserLogic.json +1578 -0
  195. package/build/contracts/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic.dbg.json +4 -0
  196. package/build/contracts/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic.json +1712 -0
  197. package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.dbg.json +4 -0
  198. package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.json +1697 -0
  199. package/build/contracts/src/rollup/ValidatorUtils.sol/ValidatorUtils.dbg.json +4 -0
  200. package/build/contracts/src/rollup/ValidatorUtils.sol/ValidatorUtils.json +379 -0
  201. package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.dbg.json +4 -0
  202. package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.json +435 -0
  203. package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.dbg.json +4 -0
  204. package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.json +150 -0
  205. package/build/contracts/src/state/Deserialize.sol/Deserialize.dbg.json +4 -0
  206. package/build/contracts/src/state/Deserialize.sol/Deserialize.json +10 -0
  207. package/build/contracts/src/state/GlobalState.sol/GlobalStateLib.dbg.json +4 -0
  208. package/build/contracts/src/state/GlobalState.sol/GlobalStateLib.json +10 -0
  209. package/build/contracts/src/state/Instructions.sol/Instructions.dbg.json +4 -0
  210. package/build/contracts/src/state/Instructions.sol/Instructions.json +10 -0
  211. package/build/contracts/src/state/Machine.sol/MachineLib.dbg.json +4 -0
  212. package/build/contracts/src/state/Machine.sol/MachineLib.json +10 -0
  213. package/build/contracts/src/state/MerkleProof.sol/MerkleProofLib.dbg.json +4 -0
  214. package/build/contracts/src/state/MerkleProof.sol/MerkleProofLib.json +10 -0
  215. package/build/contracts/src/state/Module.sol/ModuleLib.dbg.json +4 -0
  216. package/build/contracts/src/state/Module.sol/ModuleLib.json +10 -0
  217. package/build/contracts/src/state/ModuleMemory.sol/ModuleMemoryLib.dbg.json +4 -0
  218. package/build/contracts/src/state/ModuleMemory.sol/ModuleMemoryLib.json +10 -0
  219. package/build/contracts/src/state/ModuleMemoryCompact.sol/ModuleMemoryCompactLib.dbg.json +4 -0
  220. package/build/contracts/src/state/ModuleMemoryCompact.sol/ModuleMemoryCompactLib.json +10 -0
  221. package/build/contracts/src/state/PcArray.sol/PcArrayLib.dbg.json +4 -0
  222. package/build/contracts/src/state/PcArray.sol/PcArrayLib.json +10 -0
  223. package/build/contracts/src/state/StackFrame.sol/StackFrameLib.dbg.json +4 -0
  224. package/build/contracts/src/state/StackFrame.sol/StackFrameLib.json +10 -0
  225. package/build/contracts/src/state/Value.sol/ValueLib.dbg.json +4 -0
  226. package/build/contracts/src/state/Value.sol/ValueLib.json +10 -0
  227. package/build/contracts/src/state/ValueArray.sol/ValueArrayLib.dbg.json +4 -0
  228. package/build/contracts/src/state/ValueArray.sol/ValueArrayLib.json +10 -0
  229. package/build/contracts/src/state/ValueStack.sol/ValueStackLib.dbg.json +4 -0
  230. package/build/contracts/src/state/ValueStack.sol/ValueStackLib.json +10 -0
  231. package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.dbg.json +4 -0
  232. package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.json +603 -0
  233. package/build/contracts/src/test-helpers/CryptographyPrimitivesTester.sol/CryptographyPrimitivesTester.dbg.json +4 -0
  234. package/build/contracts/src/test-helpers/CryptographyPrimitivesTester.sol/CryptographyPrimitivesTester.json +54 -0
  235. package/build/contracts/src/test-helpers/MessageTester.sol/MessageTester.dbg.json +4 -0
  236. package/build/contracts/src/test-helpers/MessageTester.sol/MessageTester.json +84 -0
  237. package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.dbg.json +4 -0
  238. package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.json +520 -0
  239. package/build/contracts/src/test-helpers/RollupMock.sol/RollupMock.dbg.json +4 -0
  240. package/build/contracts/src/test-helpers/RollupMock.sol/RollupMock.json +49 -0
  241. package/build/contracts/src/test-helpers/ValueArrayTester.sol/ValueArrayTester.dbg.json +4 -0
  242. package/build/contracts/src/test-helpers/ValueArrayTester.sol/ValueArrayTester.json +18 -0
  243. package/package.json +5 -3
  244. package/src/bridge/Bridge.sol +3 -3
  245. package/src/bridge/IBridge.sol +1 -1
  246. package/src/bridge/IDelayedMessageProvider.sol +1 -1
  247. package/src/bridge/IInbox.sol +1 -1
  248. package/src/bridge/IOutbox.sol +1 -1
  249. package/src/bridge/IOwnable.sol +1 -1
  250. package/src/bridge/ISequencerInbox.sol +22 -4
  251. package/src/bridge/Inbox.sol +2 -2
  252. package/src/bridge/Messages.sol +1 -1
  253. package/src/bridge/Outbox.sol +1 -1
  254. package/src/bridge/SequencerInbox.sol +9 -1
  255. package/src/challenge/ChallengeLib.sol +1 -1
  256. package/src/challenge/ChallengeManager.sol +1 -1
  257. package/src/challenge/IChallengeManager.sol +1 -1
  258. package/src/challenge/IChallengeResultReceiver.sol +1 -1
  259. package/src/libraries/AddressAliasHelper.sol +1 -1
  260. package/src/libraries/AdminFallbackProxy.sol +3 -3
  261. package/src/libraries/Constants.sol +1 -1
  262. package/src/libraries/CryptographyPrimitives.sol +1 -1
  263. package/src/libraries/DelegateCallAware.sol +1 -1
  264. package/src/libraries/DoubleLogicUUPSUpgradeable.sol +1 -1
  265. package/src/libraries/Error.sol +1 -1
  266. package/src/libraries/IGasRefunder.sol +2 -5
  267. package/src/libraries/MerkleLib.sol +1 -1
  268. package/src/libraries/MessageTypes.sol +1 -1
  269. package/src/mocks/BridgeStub.sol +2 -2
  270. package/src/mocks/BridgeUnproxied.sol +1 -1
  271. package/src/mocks/InboxStub.sol +1 -1
  272. package/src/mocks/MockResultReceiver.sol +1 -1
  273. package/src/mocks/ProxyAdminForBinding.sol +1 -1
  274. package/src/mocks/SequencerInboxStub.sol +1 -1
  275. package/src/mocks/Simple.sol +5 -1
  276. package/src/mocks/SimpleProxy.sol +1 -1
  277. package/src/mocks/SingleExecutionChallenge.sol +1 -1
  278. package/src/mocks/TimedOutChallengeManager.sol +1 -1
  279. package/src/node-interface/NodeInterface.sol +4 -2
  280. package/src/node-interface/NodeInterfaceDebug.sol +1 -1
  281. package/src/osp/HashProofHelper.sol +1 -1
  282. package/src/osp/IOneStepProofEntry.sol +1 -1
  283. package/src/osp/IOneStepProver.sol +2 -1
  284. package/src/osp/OneStepProofEntry.sol +1 -1
  285. package/src/osp/OneStepProver0.sol +1 -1
  286. package/src/osp/OneStepProverHostIo.sol +2 -1
  287. package/src/osp/OneStepProverMath.sol +1 -1
  288. package/src/osp/OneStepProverMemory.sol +2 -1
  289. package/src/precompiles/ArbAddressTable.sol +1 -1
  290. package/src/precompiles/ArbAggregator.sol +1 -1
  291. package/src/precompiles/ArbBLS.sol +1 -1
  292. package/src/precompiles/ArbDebug.sol +1 -1
  293. package/src/precompiles/ArbFunctionTable.sol +1 -1
  294. package/src/precompiles/ArbGasInfo.sol +1 -1
  295. package/src/precompiles/ArbInfo.sol +1 -1
  296. package/src/precompiles/ArbOwner.sol +4 -1
  297. package/src/precompiles/ArbOwnerPublic.sol +1 -1
  298. package/src/precompiles/ArbRetryableTx.sol +1 -1
  299. package/src/precompiles/ArbStatistics.sol +1 -1
  300. package/src/precompiles/ArbSys.sol +1 -1
  301. package/src/precompiles/ArbosTest.sol +1 -1
  302. package/src/rollup/BridgeCreator.sol +1 -1
  303. package/src/rollup/Config.sol +43 -0
  304. package/src/rollup/IRollupAdmin.sol +138 -0
  305. package/src/rollup/IRollupCore.sol +16 -3
  306. package/src/rollup/IRollupEventInbox.sol +2 -2
  307. package/src/rollup/IRollupLogic.sol +4 -132
  308. package/src/rollup/Node.sol +15 -1
  309. package/src/rollup/RollupAdminLogic.sol +7 -9
  310. package/src/rollup/RollupCore.sol +46 -3
  311. package/src/rollup/RollupCreator.sol +33 -45
  312. package/src/rollup/RollupEventInbox.sol +8 -3
  313. package/src/rollup/RollupLib.sol +2 -40
  314. package/src/rollup/RollupProxy.sol +26 -11
  315. package/src/rollup/RollupUserLogic.sol +6 -4
  316. package/src/rollup/ValidatorUtils.sol +2 -1
  317. package/src/rollup/ValidatorWallet.sol +1 -1
  318. package/src/rollup/ValidatorWalletCreator.sol +1 -1
  319. package/src/state/Deserialize.sol +2 -2
  320. package/src/state/GlobalState.sol +1 -1
  321. package/src/state/Instructions.sol +1 -1
  322. package/src/state/Machine.sol +1 -1
  323. package/src/state/MerkleProof.sol +1 -1
  324. package/src/state/Module.sol +3 -3
  325. package/src/state/ModuleMemory.sol +3 -8
  326. package/src/state/ModuleMemoryCompact.sol +17 -0
  327. package/src/state/PcArray.sol +1 -1
  328. package/src/state/StackFrame.sol +1 -1
  329. package/src/state/Value.sol +1 -1
  330. package/src/state/ValueArray.sol +1 -1
  331. package/src/state/ValueStack.sol +1 -1
  332. package/src/test-helpers/BridgeTester.sol +1 -1
  333. package/src/test-helpers/CryptographyPrimitivesTester.sol +1 -1
  334. package/src/test-helpers/InterfaceCompatibilityTester.sol +1 -1
  335. package/src/test-helpers/MessageTester.sol +1 -1
  336. package/src/test-helpers/OutboxWithoutOptTester.sol +1 -1
  337. package/src/test-helpers/RollupMock.sol +1 -1
  338. package/src/test-helpers/ValueArrayTester.sol +1 -1
@@ -1,5 +1,5 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.0;
@@ -52,82 +52,70 @@ contract RollupCreator is Ownable {
52
52
  emit TemplatesUpdated();
53
53
  }
54
54
 
55
- struct CreateRollupFrame {
56
- ProxyAdmin admin;
57
- IBridge bridge;
58
- ISequencerInbox sequencerInbox;
59
- IInbox inbox;
60
- IRollupEventInbox rollupEventInbox;
61
- IOutbox outbox;
62
- RollupProxy rollup;
63
- }
64
-
65
55
  // After this setup:
66
56
  // Rollup should be the owner of bridge
67
57
  // RollupOwner should be the owner of Rollup's ProxyAdmin
68
58
  // RollupOwner should be the owner of Rollup
69
59
  // Bridge should have a single inbox and outbox
70
- function createRollup(Config memory config, address expectedRollupAddr)
71
- external
72
- returns (address)
73
- {
74
- CreateRollupFrame memory frame;
75
- frame.admin = new ProxyAdmin();
60
+ function createRollup(Config memory config) external returns (address) {
61
+ ProxyAdmin proxyAdmin = new ProxyAdmin();
62
+
63
+ // Create the rollup proxy to figure out the address and initialize it later
64
+ RollupProxy rollup = new RollupProxy{salt: keccak256(abi.encode(config))}();
76
65
 
77
66
  (
78
- frame.bridge,
79
- frame.sequencerInbox,
80
- frame.inbox,
81
- frame.rollupEventInbox,
82
- frame.outbox
67
+ IBridge bridge,
68
+ ISequencerInbox sequencerInbox,
69
+ IInbox inbox,
70
+ IRollupEventInbox rollupEventInbox,
71
+ IOutbox outbox
83
72
  ) = bridgeCreator.createBridge(
84
- address(frame.admin),
85
- expectedRollupAddr,
86
- config.sequencerInboxMaxTimeVariation
87
- );
73
+ address(proxyAdmin),
74
+ address(rollup),
75
+ config.sequencerInboxMaxTimeVariation
76
+ );
88
77
 
89
- frame.admin.transferOwnership(config.owner);
78
+ proxyAdmin.transferOwnership(config.owner);
90
79
 
91
80
  IChallengeManager challengeManager = IChallengeManager(
92
81
  address(
93
82
  new TransparentUpgradeableProxy(
94
83
  address(challengeManagerTemplate),
95
- address(frame.admin),
84
+ address(proxyAdmin),
96
85
  ""
97
86
  )
98
87
  )
99
88
  );
100
89
  challengeManager.initialize(
101
- IChallengeResultReceiver(expectedRollupAddr),
102
- frame.sequencerInbox,
103
- frame.bridge,
90
+ IChallengeResultReceiver(address(rollup)),
91
+ sequencerInbox,
92
+ bridge,
104
93
  osp
105
94
  );
106
95
 
107
- frame.rollup = new RollupProxy(
96
+ rollup.initializeProxy(
108
97
  config,
109
98
  ContractDependencies({
110
- bridge: frame.bridge,
111
- sequencerInbox: frame.sequencerInbox,
112
- inbox: frame.inbox,
113
- outbox: frame.outbox,
114
- rollupEventInbox: frame.rollupEventInbox,
99
+ bridge: bridge,
100
+ sequencerInbox: sequencerInbox,
101
+ inbox: inbox,
102
+ outbox: outbox,
103
+ rollupEventInbox: rollupEventInbox,
115
104
  challengeManager: challengeManager,
116
- rollupAdminLogic: rollupAdminLogic,
105
+ rollupAdminLogic: address(rollupAdminLogic),
117
106
  rollupUserLogic: rollupUserLogic,
118
107
  validatorUtils: validatorUtils,
119
108
  validatorWalletCreator: validatorWalletCreator
120
109
  })
121
110
  );
122
- require(address(frame.rollup) == expectedRollupAddr, "WRONG_ROLLUP_ADDR");
123
111
 
124
112
  emit RollupCreated(
125
- address(frame.rollup),
126
- address(frame.inbox),
127
- address(frame.admin),
128
- address(frame.sequencerInbox),
129
- address(frame.bridge)
113
+ address(rollup),
114
+ address(inbox),
115
+ address(proxyAdmin),
116
+ address(sequencerInbox),
117
+ address(bridge)
130
118
  );
131
- return address(frame.rollup);
119
+ return address(rollup);
132
120
  }
133
121
  }
@@ -1,5 +1,5 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.0;
@@ -30,8 +30,13 @@ contract RollupEventInbox is IRollupEventInbox, IDelayedMessageProvider, Delegat
30
30
  rollup = address(_bridge.rollup());
31
31
  }
32
32
 
33
- function rollupInitialized(uint256 chainId) external override onlyRollup {
34
- bytes memory initMsg = abi.encodePacked(chainId);
33
+ function rollupInitialized(uint256 chainId, string calldata chainConfig)
34
+ external
35
+ override
36
+ onlyRollup
37
+ {
38
+ require(bytes(chainConfig).length > 0, "EMPTY_CHAIN_CONFIG");
39
+ bytes memory initMsg = abi.encodePacked(chainId, uint8(0), chainConfig);
35
40
  uint256 num = bridge.enqueueDelayedMessage(
36
41
  INITIALIZATION_MSG_TYPE,
37
42
  address(0),
@@ -1,5 +1,5 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.0;
@@ -12,44 +12,12 @@ import "../bridge/ISequencerInbox.sol";
12
12
  import "../bridge/IBridge.sol";
13
13
  import "../bridge/IOutbox.sol";
14
14
  import "../bridge/IInbox.sol";
15
+ import "./Node.sol";
15
16
  import "./IRollupEventInbox.sol";
16
- import "./IRollupLogic.sol";
17
-
18
- struct Config {
19
- uint64 confirmPeriodBlocks;
20
- uint64 extraChallengeTimeBlocks;
21
- address stakeToken;
22
- uint256 baseStake;
23
- bytes32 wasmModuleRoot;
24
- address owner;
25
- address loserStakeEscrow;
26
- uint256 chainId;
27
- uint64 genesisBlockNum;
28
- ISequencerInbox.MaxTimeVariation sequencerInboxMaxTimeVariation;
29
- }
30
-
31
- struct ContractDependencies {
32
- IBridge bridge;
33
- ISequencerInbox sequencerInbox;
34
- IInbox inbox;
35
- IOutbox outbox;
36
- IRollupEventInbox rollupEventInbox;
37
- IChallengeManager challengeManager;
38
- IRollupAdmin rollupAdminLogic;
39
- IRollupUser rollupUserLogic;
40
- // misc contracts that are useful when interacting with the rollup
41
- address validatorUtils;
42
- address validatorWalletCreator;
43
- }
44
17
 
45
18
  library RollupLib {
46
19
  using GlobalStateLib for GlobalState;
47
20
 
48
- struct ExecutionState {
49
- GlobalState globalState;
50
- MachineStatus machineStatus;
51
- }
52
-
53
21
  function stateHash(ExecutionState calldata execState, uint256 inboxMaxCount)
54
22
  internal
55
23
  pure
@@ -81,12 +49,6 @@ library RollupLib {
81
49
  );
82
50
  }
83
51
 
84
- struct Assertion {
85
- ExecutionState beforeState;
86
- ExecutionState afterState;
87
- uint64 numBlocks;
88
- }
89
-
90
52
  function executionHash(Assertion memory assertion) internal pure returns (bytes32) {
91
53
  MachineStatus[2] memory statuses;
92
54
  statuses[0] = assertion.beforeState.machineStatus;
@@ -1,20 +1,35 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.0;
6
6
 
7
7
  import "../libraries/AdminFallbackProxy.sol";
8
- import "./IRollupLogic.sol";
8
+ import "./IRollupAdmin.sol";
9
+ import "./Config.sol";
9
10
 
10
11
  contract RollupProxy is AdminFallbackProxy {
11
- constructor(Config memory config, ContractDependencies memory connectedContracts)
12
- AdminFallbackProxy(
13
- address(connectedContracts.rollupAdminLogic),
14
- abi.encodeWithSelector(IRollupAdmin.initialize.selector, config, connectedContracts),
15
- address(connectedContracts.rollupUserLogic),
16
- abi.encodeWithSelector(IRollupUserAbs.initialize.selector, config.stakeToken),
17
- config.owner
18
- )
19
- {}
12
+ function initializeProxy(Config memory config, ContractDependencies memory connectedContracts)
13
+ external
14
+ {
15
+ if (
16
+ _getAdmin() == address(0) &&
17
+ _getImplementation() == address(0) &&
18
+ _getSecondaryImplementation() == address(0)
19
+ ) {
20
+ _initialize(
21
+ address(connectedContracts.rollupAdminLogic),
22
+ abi.encodeWithSelector(
23
+ IRollupAdmin.initialize.selector,
24
+ config,
25
+ connectedContracts
26
+ ),
27
+ address(connectedContracts.rollupUserLogic),
28
+ abi.encodeWithSelector(IRollupUserAbs.initialize.selector, config.stakeToken),
29
+ config.owner
30
+ );
31
+ } else {
32
+ _fallback();
33
+ }
34
+ }
20
35
  }
@@ -1,5 +1,5 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.0;
@@ -9,6 +9,8 @@ import "@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol";
9
9
  import {IRollupUser} from "./IRollupLogic.sol";
10
10
  import "../libraries/UUPSNotUpgradeable.sol";
11
11
  import "./RollupCore.sol";
12
+ import "./IRollupLogic.sol";
13
+
12
14
  import {ETH_POS_BLOCK_TIME} from "../libraries/Constants.sol";
13
15
 
14
16
  abstract contract AbsRollupUserLogic is
@@ -189,7 +191,7 @@ abstract contract AbsRollupUserLogic is
189
191
  * @param expectedNodeHash The hash of the node being created (protects against reorgs)
190
192
  */
191
193
  function stakeOnNewNode(
192
- RollupLib.Assertion calldata assertion,
194
+ Assertion calldata assertion,
193
195
  bytes32 expectedNodeHash,
194
196
  uint256 prevNodeInboxMaxCount
195
197
  ) public onlyValidator whenNotPaused {
@@ -632,7 +634,7 @@ contract RollupUserLogic is AbsRollupUserLogic, IRollupUser {
632
634
  * @param prevNodeInboxMaxCount Total of messages in the inbox as of the previous node
633
635
  */
634
636
  function newStakeOnNewNode(
635
- RollupLib.Assertion calldata assertion,
637
+ Assertion calldata assertion,
636
638
  bytes32 expectedNodeHash,
637
639
  uint256 prevNodeInboxMaxCount
638
640
  ) external payable override {
@@ -701,7 +703,7 @@ contract ERC20RollupUserLogic is AbsRollupUserLogic, IRollupUserERC20 {
701
703
  */
702
704
  function newStakeOnNewNode(
703
705
  uint256 tokenAmount,
704
- RollupLib.Assertion calldata assertion,
706
+ Assertion calldata assertion,
705
707
  bytes32 expectedNodeHash,
706
708
  uint256 prevNodeInboxMaxCount
707
709
  ) external override {
@@ -1,5 +1,5 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.0;
@@ -8,6 +8,7 @@ pragma experimental ABIEncoderV2;
8
8
 
9
9
  import "../rollup/IRollupCore.sol";
10
10
  import "../challenge/IChallengeManager.sol";
11
+ import "./IRollupLogic.sol";
11
12
 
12
13
  import {NO_CHAL_INDEX} from "../libraries/Constants.sol";
13
14
 
@@ -1,5 +1,5 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.0;
@@ -1,5 +1,5 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.0;
@@ -1,5 +1,5 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.0;
@@ -10,7 +10,7 @@ import "./Machine.sol";
10
10
  import "./Instructions.sol";
11
11
  import "./StackFrame.sol";
12
12
  import "./MerkleProof.sol";
13
- import "./ModuleMemory.sol";
13
+ import "./ModuleMemoryCompact.sol";
14
14
  import "./Module.sol";
15
15
  import "./GlobalState.sol";
16
16
 
@@ -1,5 +1,5 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.0;
@@ -1,5 +1,5 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.0;
@@ -1,5 +1,5 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.0;
@@ -1,5 +1,5 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.0;
@@ -1,10 +1,10 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.0;
6
6
 
7
- import "./ModuleMemory.sol";
7
+ import "./ModuleMemoryCompact.sol";
8
8
 
9
9
  struct Module {
10
10
  bytes32 globalsMerkleRoot;
@@ -15,7 +15,7 @@ struct Module {
15
15
  }
16
16
 
17
17
  library ModuleLib {
18
- using ModuleMemoryLib for ModuleMemory;
18
+ using ModuleMemoryCompactLib for ModuleMemory;
19
19
 
20
20
  function hash(Module memory mod) internal pure returns (bytes32) {
21
21
  return
@@ -1,23 +1,18 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.0;
6
6
 
7
7
  import "./MerkleProof.sol";
8
8
  import "./Deserialize.sol";
9
-
10
- struct ModuleMemory {
11
- uint64 size;
12
- uint64 maxSize;
13
- bytes32 merkleRoot;
14
- }
9
+ import "./ModuleMemoryCompact.sol";
15
10
 
16
11
  library ModuleMemoryLib {
17
12
  using MerkleProofLib for MerkleProof;
18
13
 
19
14
  function hash(ModuleMemory memory mem) internal pure returns (bytes32) {
20
- return keccak256(abi.encodePacked("Memory:", mem.size, mem.maxSize, mem.merkleRoot));
15
+ return ModuleMemoryCompactLib.hash(mem);
21
16
  }
22
17
 
23
18
  function proveLeaf(
@@ -0,0 +1,17 @@
1
+ // Copyright 2021-2022, Offchain Labs, Inc.
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
+ // SPDX-License-Identifier: BUSL-1.1
4
+
5
+ pragma solidity ^0.8.0;
6
+
7
+ struct ModuleMemory {
8
+ uint64 size;
9
+ uint64 maxSize;
10
+ bytes32 merkleRoot;
11
+ }
12
+
13
+ library ModuleMemoryCompactLib {
14
+ function hash(ModuleMemory memory mem) internal pure returns (bytes32) {
15
+ return keccak256(abi.encodePacked("Memory:", mem.size, mem.maxSize, mem.merkleRoot));
16
+ }
17
+ }
@@ -1,5 +1,5 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.0;
@@ -1,5 +1,5 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.0;
@@ -1,5 +1,5 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.0;
@@ -1,5 +1,5 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.0;
@@ -1,5 +1,5 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.0;
@@ -1,5 +1,5 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.4;
@@ -1,5 +1,5 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.0;
@@ -1,5 +1,5 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  // solhint-disable-next-line compiler-version
@@ -1,5 +1,5 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.0;
@@ -1,5 +1,5 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.4;
@@ -1,5 +1,5 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.4;
@@ -1,5 +1,5 @@
1
1
  // Copyright 2021-2022, Offchain Labs, Inc.
2
- // For license information, see https://github.com/nitro/blob/master/LICENSE
2
+ // For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
3
3
  // SPDX-License-Identifier: BUSL-1.1
4
4
 
5
5
  pragma solidity ^0.8.0;