@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
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/419b36ebbd1e491d550576571e91ba6c.json"
4
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Messages",
4
+ "sourceName": "src/bridge/Messages.sol",
5
+ "abi": [],
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220bb75d45f8d464a7bb32921ef28ede2f35f1ed93c64068d72a5638948eeaee4f064736f6c63430008090033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220bb75d45f8d464a7bb32921ef28ede2f35f1ed93c64068d72a5638948eeaee4f064736f6c63430008090033",
8
+ "linkReferences": {},
9
+ "deployedLinkReferences": {}
10
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/419b36ebbd1e491d550576571e91ba6c.json"
4
+ }
@@ -0,0 +1,546 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Outbox",
4
+ "sourceName": "src/bridge/Outbox.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "AlreadyInit",
9
+ "type": "error"
10
+ },
11
+ {
12
+ "inputs": [
13
+ {
14
+ "internalType": "uint256",
15
+ "name": "index",
16
+ "type": "uint256"
17
+ }
18
+ ],
19
+ "name": "AlreadySpent",
20
+ "type": "error"
21
+ },
22
+ {
23
+ "inputs": [],
24
+ "name": "BridgeCallFailed",
25
+ "type": "error"
26
+ },
27
+ {
28
+ "inputs": [],
29
+ "name": "HadZeroInit",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [
34
+ {
35
+ "internalType": "uint256",
36
+ "name": "actualLength",
37
+ "type": "uint256"
38
+ },
39
+ {
40
+ "internalType": "uint256",
41
+ "name": "maxProofLength",
42
+ "type": "uint256"
43
+ }
44
+ ],
45
+ "name": "MerkleProofTooLong",
46
+ "type": "error"
47
+ },
48
+ {
49
+ "inputs": [
50
+ {
51
+ "internalType": "address",
52
+ "name": "sender",
53
+ "type": "address"
54
+ },
55
+ {
56
+ "internalType": "address",
57
+ "name": "rollup",
58
+ "type": "address"
59
+ }
60
+ ],
61
+ "name": "NotRollup",
62
+ "type": "error"
63
+ },
64
+ {
65
+ "inputs": [
66
+ {
67
+ "internalType": "uint256",
68
+ "name": "index",
69
+ "type": "uint256"
70
+ },
71
+ {
72
+ "internalType": "uint256",
73
+ "name": "maxIndex",
74
+ "type": "uint256"
75
+ }
76
+ ],
77
+ "name": "PathNotMinimal",
78
+ "type": "error"
79
+ },
80
+ {
81
+ "inputs": [
82
+ {
83
+ "internalType": "uint256",
84
+ "name": "proofLength",
85
+ "type": "uint256"
86
+ }
87
+ ],
88
+ "name": "ProofTooLong",
89
+ "type": "error"
90
+ },
91
+ {
92
+ "inputs": [],
93
+ "name": "SimulationOnlyEntrypoint",
94
+ "type": "error"
95
+ },
96
+ {
97
+ "inputs": [
98
+ {
99
+ "internalType": "bytes32",
100
+ "name": "root",
101
+ "type": "bytes32"
102
+ }
103
+ ],
104
+ "name": "UnknownRoot",
105
+ "type": "error"
106
+ },
107
+ {
108
+ "anonymous": false,
109
+ "inputs": [
110
+ {
111
+ "indexed": true,
112
+ "internalType": "address",
113
+ "name": "to",
114
+ "type": "address"
115
+ },
116
+ {
117
+ "indexed": true,
118
+ "internalType": "address",
119
+ "name": "l2Sender",
120
+ "type": "address"
121
+ },
122
+ {
123
+ "indexed": true,
124
+ "internalType": "uint256",
125
+ "name": "zero",
126
+ "type": "uint256"
127
+ },
128
+ {
129
+ "indexed": false,
130
+ "internalType": "uint256",
131
+ "name": "transactionIndex",
132
+ "type": "uint256"
133
+ }
134
+ ],
135
+ "name": "OutBoxTransactionExecuted",
136
+ "type": "event"
137
+ },
138
+ {
139
+ "anonymous": false,
140
+ "inputs": [
141
+ {
142
+ "indexed": true,
143
+ "internalType": "bytes32",
144
+ "name": "outputRoot",
145
+ "type": "bytes32"
146
+ },
147
+ {
148
+ "indexed": true,
149
+ "internalType": "bytes32",
150
+ "name": "l2BlockHash",
151
+ "type": "bytes32"
152
+ }
153
+ ],
154
+ "name": "SendRootUpdated",
155
+ "type": "event"
156
+ },
157
+ {
158
+ "inputs": [],
159
+ "name": "OUTBOX_VERSION",
160
+ "outputs": [
161
+ {
162
+ "internalType": "uint128",
163
+ "name": "",
164
+ "type": "uint128"
165
+ }
166
+ ],
167
+ "stateMutability": "view",
168
+ "type": "function"
169
+ },
170
+ {
171
+ "inputs": [],
172
+ "name": "bridge",
173
+ "outputs": [
174
+ {
175
+ "internalType": "contract IBridge",
176
+ "name": "",
177
+ "type": "address"
178
+ }
179
+ ],
180
+ "stateMutability": "view",
181
+ "type": "function"
182
+ },
183
+ {
184
+ "inputs": [
185
+ {
186
+ "internalType": "address",
187
+ "name": "l2Sender",
188
+ "type": "address"
189
+ },
190
+ {
191
+ "internalType": "address",
192
+ "name": "to",
193
+ "type": "address"
194
+ },
195
+ {
196
+ "internalType": "uint256",
197
+ "name": "l2Block",
198
+ "type": "uint256"
199
+ },
200
+ {
201
+ "internalType": "uint256",
202
+ "name": "l1Block",
203
+ "type": "uint256"
204
+ },
205
+ {
206
+ "internalType": "uint256",
207
+ "name": "l2Timestamp",
208
+ "type": "uint256"
209
+ },
210
+ {
211
+ "internalType": "uint256",
212
+ "name": "value",
213
+ "type": "uint256"
214
+ },
215
+ {
216
+ "internalType": "bytes",
217
+ "name": "data",
218
+ "type": "bytes"
219
+ }
220
+ ],
221
+ "name": "calculateItemHash",
222
+ "outputs": [
223
+ {
224
+ "internalType": "bytes32",
225
+ "name": "",
226
+ "type": "bytes32"
227
+ }
228
+ ],
229
+ "stateMutability": "pure",
230
+ "type": "function"
231
+ },
232
+ {
233
+ "inputs": [
234
+ {
235
+ "internalType": "bytes32[]",
236
+ "name": "proof",
237
+ "type": "bytes32[]"
238
+ },
239
+ {
240
+ "internalType": "uint256",
241
+ "name": "path",
242
+ "type": "uint256"
243
+ },
244
+ {
245
+ "internalType": "bytes32",
246
+ "name": "item",
247
+ "type": "bytes32"
248
+ }
249
+ ],
250
+ "name": "calculateMerkleRoot",
251
+ "outputs": [
252
+ {
253
+ "internalType": "bytes32",
254
+ "name": "",
255
+ "type": "bytes32"
256
+ }
257
+ ],
258
+ "stateMutability": "pure",
259
+ "type": "function"
260
+ },
261
+ {
262
+ "inputs": [
263
+ {
264
+ "internalType": "bytes32[]",
265
+ "name": "proof",
266
+ "type": "bytes32[]"
267
+ },
268
+ {
269
+ "internalType": "uint256",
270
+ "name": "index",
271
+ "type": "uint256"
272
+ },
273
+ {
274
+ "internalType": "address",
275
+ "name": "l2Sender",
276
+ "type": "address"
277
+ },
278
+ {
279
+ "internalType": "address",
280
+ "name": "to",
281
+ "type": "address"
282
+ },
283
+ {
284
+ "internalType": "uint256",
285
+ "name": "l2Block",
286
+ "type": "uint256"
287
+ },
288
+ {
289
+ "internalType": "uint256",
290
+ "name": "l1Block",
291
+ "type": "uint256"
292
+ },
293
+ {
294
+ "internalType": "uint256",
295
+ "name": "l2Timestamp",
296
+ "type": "uint256"
297
+ },
298
+ {
299
+ "internalType": "uint256",
300
+ "name": "value",
301
+ "type": "uint256"
302
+ },
303
+ {
304
+ "internalType": "bytes",
305
+ "name": "data",
306
+ "type": "bytes"
307
+ }
308
+ ],
309
+ "name": "executeTransaction",
310
+ "outputs": [],
311
+ "stateMutability": "nonpayable",
312
+ "type": "function"
313
+ },
314
+ {
315
+ "inputs": [
316
+ {
317
+ "internalType": "uint256",
318
+ "name": "index",
319
+ "type": "uint256"
320
+ },
321
+ {
322
+ "internalType": "address",
323
+ "name": "l2Sender",
324
+ "type": "address"
325
+ },
326
+ {
327
+ "internalType": "address",
328
+ "name": "to",
329
+ "type": "address"
330
+ },
331
+ {
332
+ "internalType": "uint256",
333
+ "name": "l2Block",
334
+ "type": "uint256"
335
+ },
336
+ {
337
+ "internalType": "uint256",
338
+ "name": "l1Block",
339
+ "type": "uint256"
340
+ },
341
+ {
342
+ "internalType": "uint256",
343
+ "name": "l2Timestamp",
344
+ "type": "uint256"
345
+ },
346
+ {
347
+ "internalType": "uint256",
348
+ "name": "value",
349
+ "type": "uint256"
350
+ },
351
+ {
352
+ "internalType": "bytes",
353
+ "name": "data",
354
+ "type": "bytes"
355
+ }
356
+ ],
357
+ "name": "executeTransactionSimulation",
358
+ "outputs": [],
359
+ "stateMutability": "nonpayable",
360
+ "type": "function"
361
+ },
362
+ {
363
+ "inputs": [
364
+ {
365
+ "internalType": "contract IBridge",
366
+ "name": "_bridge",
367
+ "type": "address"
368
+ }
369
+ ],
370
+ "name": "initialize",
371
+ "outputs": [],
372
+ "stateMutability": "nonpayable",
373
+ "type": "function"
374
+ },
375
+ {
376
+ "inputs": [
377
+ {
378
+ "internalType": "uint256",
379
+ "name": "index",
380
+ "type": "uint256"
381
+ }
382
+ ],
383
+ "name": "isSpent",
384
+ "outputs": [
385
+ {
386
+ "internalType": "bool",
387
+ "name": "",
388
+ "type": "bool"
389
+ }
390
+ ],
391
+ "stateMutability": "view",
392
+ "type": "function"
393
+ },
394
+ {
395
+ "inputs": [],
396
+ "name": "l2ToL1BatchNum",
397
+ "outputs": [
398
+ {
399
+ "internalType": "uint256",
400
+ "name": "",
401
+ "type": "uint256"
402
+ }
403
+ ],
404
+ "stateMutability": "pure",
405
+ "type": "function"
406
+ },
407
+ {
408
+ "inputs": [],
409
+ "name": "l2ToL1Block",
410
+ "outputs": [
411
+ {
412
+ "internalType": "uint256",
413
+ "name": "",
414
+ "type": "uint256"
415
+ }
416
+ ],
417
+ "stateMutability": "view",
418
+ "type": "function"
419
+ },
420
+ {
421
+ "inputs": [],
422
+ "name": "l2ToL1EthBlock",
423
+ "outputs": [
424
+ {
425
+ "internalType": "uint256",
426
+ "name": "",
427
+ "type": "uint256"
428
+ }
429
+ ],
430
+ "stateMutability": "view",
431
+ "type": "function"
432
+ },
433
+ {
434
+ "inputs": [],
435
+ "name": "l2ToL1OutputId",
436
+ "outputs": [
437
+ {
438
+ "internalType": "bytes32",
439
+ "name": "",
440
+ "type": "bytes32"
441
+ }
442
+ ],
443
+ "stateMutability": "view",
444
+ "type": "function"
445
+ },
446
+ {
447
+ "inputs": [],
448
+ "name": "l2ToL1Sender",
449
+ "outputs": [
450
+ {
451
+ "internalType": "address",
452
+ "name": "",
453
+ "type": "address"
454
+ }
455
+ ],
456
+ "stateMutability": "view",
457
+ "type": "function"
458
+ },
459
+ {
460
+ "inputs": [],
461
+ "name": "l2ToL1Timestamp",
462
+ "outputs": [
463
+ {
464
+ "internalType": "uint256",
465
+ "name": "",
466
+ "type": "uint256"
467
+ }
468
+ ],
469
+ "stateMutability": "view",
470
+ "type": "function"
471
+ },
472
+ {
473
+ "inputs": [],
474
+ "name": "rollup",
475
+ "outputs": [
476
+ {
477
+ "internalType": "address",
478
+ "name": "",
479
+ "type": "address"
480
+ }
481
+ ],
482
+ "stateMutability": "view",
483
+ "type": "function"
484
+ },
485
+ {
486
+ "inputs": [
487
+ {
488
+ "internalType": "bytes32",
489
+ "name": "",
490
+ "type": "bytes32"
491
+ }
492
+ ],
493
+ "name": "roots",
494
+ "outputs": [
495
+ {
496
+ "internalType": "bytes32",
497
+ "name": "",
498
+ "type": "bytes32"
499
+ }
500
+ ],
501
+ "stateMutability": "view",
502
+ "type": "function"
503
+ },
504
+ {
505
+ "inputs": [
506
+ {
507
+ "internalType": "uint256",
508
+ "name": "",
509
+ "type": "uint256"
510
+ }
511
+ ],
512
+ "name": "spent",
513
+ "outputs": [
514
+ {
515
+ "internalType": "bytes32",
516
+ "name": "",
517
+ "type": "bytes32"
518
+ }
519
+ ],
520
+ "stateMutability": "view",
521
+ "type": "function"
522
+ },
523
+ {
524
+ "inputs": [
525
+ {
526
+ "internalType": "bytes32",
527
+ "name": "root",
528
+ "type": "bytes32"
529
+ },
530
+ {
531
+ "internalType": "bytes32",
532
+ "name": "l2BlockHash",
533
+ "type": "bytes32"
534
+ }
535
+ ],
536
+ "name": "updateSendRoot",
537
+ "outputs": [],
538
+ "stateMutability": "nonpayable",
539
+ "type": "function"
540
+ }
541
+ ],
542
+ "bytecode": "0x60a06040523060805234801561001457600080fd5b50608051611398610030600039600061050301526113986000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80639f0c04bf116100925780639f0c04bf146101aa578063a04cee60146101bd578063ae6dead7146101d0578063b0f30537146101f0578063c4d66de8146101f8578063c75184df1461020b578063cb23bcb51461022b578063d5b5cc231461023e578063e78cea921461025e57600080fd5b80627436d3146100fa57806308635a95146101205780631198527114610135578063288e5b101461013c578063465477901461014f5780635a129efe1461015757806372f2a8c71461017a57806380648b02146101825780638515bc6a146101a2575b600080fd5b61010d610108366004610ccf565b610271565b6040519081526020015b60405180910390f35b61013361012e366004610def565b6102ae565b005b600061010d565b61013361014a366004610ee3565b610321565b61010d61035c565b61016a610165366004610f7e565b61038b565b6040519015158152602001610117565b61010d6103a8565b61018a6103c5565b6040516001600160a01b039091168152602001610117565b61010d6103e6565b61010d6101b8366004610f97565b61040e565b6101336101cb366004611025565b610453565b61010d6101de366004610f7e565b60036020526000908152604090205481565b61010d6104d7565b610133610206366004611047565b6104f8565b610213600281565b6040516001600160801b039091168152602001610117565b60005461018a906001600160a01b031681565b61010d61024c366004610f7e565b60026020526000908152604090205481565b60015461018a906001600160a01b031681565b60006102a684848460405160200161028b91815260200190565b604051602081830303815290604052805190602001206106df565b949350505050565b60006102c0898989898989898961040e565b90506103028c8c808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508e92508591506107829050565b6103138a8a8a8a8a8a8a8a8a61088b565b505050505050505050505050565b331561034057604051630e13b69d60e01b815260040160405180910390fd5b61035189898989898989898961088b565b505050505050505050565b6004546000906001600160801b039081169081141561037d57600091505090565b6001600160801b0316919050565b600080600061039984610b75565b92509250506102a68282610bb2565b6006546000906000198114156103c057506000919050565b919050565b6007546000906001600160a01b03908116908114156103c057600091505090565b6004546000906001600160801b03600160801b90910481169081141561037d57600091505090565b6000888888888888888860405160200161042f98979695949392919061106b565b60405160208183030381529060405280519060200120905098975050505050505050565b6000546001600160a01b0316331461049857600054604051630e4cf1bf60e21b81523360048201526001600160a01b0390911660248201526044015b60405180910390fd5b60008281526003602052604080822083905551829184917fb4df3847300f076a369cd76d2314b470a1194d9e8a6bb97f1860aee88a5f67489190a35050565b6005546000906001600160801b039081169081141561037d57600091505090565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156105865760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b606482015260840161048f565b6001600160a01b0381166105ad57604051631ad0f74360e01b815260040160405180910390fd5b6001546001600160a01b0316156105d757604051633bcd329760e21b815260040160405180910390fd5b6040805160a0810182526001600160801b038082526020808301829052828401829052600019606084018190526001600160a01b0360809094018490526004818155600580546001600160801b031916909417909355600655600780546001600160a01b03199081168517909155600180549487169490911684179055835163cb23bcb560e01b81529351929363cb23bcb593818401939091829003018186803b15801561068457600080fd5b505afa158015610698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bc91906110c4565b600080546001600160a01b0319166001600160a01b039290921691909117905550565b825160009061010081111561071257604051637ed6198f60e11b815260048101829052610100602482015260440161048f565b8260005b82811015610778576000878281518110610732576107326110e1565b60200260200101519050816001901b87166000141561075f5782600052806020526040600020925061076f565b8060005282602052604060002092505b50600101610716565b5095945050505050565b6101008351106107aa57825160405163ab6a068360e01b815260040161048f91815260200190565b82516107b79060026111f1565b82106107ee5781835160026107cc91906111f1565b604051630b8a724b60e01b81526004810192909252602482015260440161048f565b60006107fb848484610271565b60008181526003602052604090205490915061082d576040516310e61af960e31b81526004810182905260240161048f565b600080600061083b86610b75565b92509250925061084b8282610bb2565b1561086c57604051639715b8d360e01b81526004810187905260240161048f565b600092835260026020526040909220600190911b909117905550505050565b6000886001600160a01b0316886001600160a01b03167f20af7f3bbfe38132b8900ae295cd9c8d1914be7052d061a511f3f728dab189648c6040516108d291815260200190565b60405180910390a4600060046040518060a00160405290816000820160009054906101000a90046001600160801b03166001600160801b03166001600160801b031681526020016000820160109054906101000a90046001600160801b03166001600160801b03166001600160801b031681526020016001820160009054906101000a90046001600160801b03166001600160801b03166001600160801b03168152602001600282015481526020016003820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152505090506040518060a00160405280886001600160801b03168152602001876001600160801b03168152602001866001600160801b031681526020018b60001b81526020018a6001600160a01b0316815250600460008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816001600160801b0302191690836001600160801b0316021790555060408201518160010160006101000a8154816001600160801b0302191690836001600160801b031602179055506060820151816002015560808201518160030160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550905050610b03888585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610bc192505050565b805160208201516001600160801b03918216600160801b91831691909102176004556040820151600580546001600160801b03191691909216179055606081015160065560800151600780546001600160a01b0319166001600160a01b03909216919091179055505050505050505050565b6000808080610b8560ff86611213565b90506000610b9460ff87611227565b60008381526002602052604090205492979096509194509092505050565b80821c60011615155b92915050565b600154604051639e5d4c4960e01b815260009182916001600160a01b0390911690639e5d4c4990610bfa9088908890889060040161126b565b600060405180830381600087803b158015610c1457600080fd5b505af1158015610c28573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c5091908101906112b4565b9150915081610c8257805115610c695780518082602001fd5b604051631bb7daad60e11b815260040160405180910390fd5b5050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715610cc757610cc7610c89565b604052919050565b600080600060608486031215610ce457600080fd5b83356001600160401b0380821115610cfb57600080fd5b818601915086601f830112610d0f57600080fd5b8135602082821115610d2357610d23610c89565b8160051b9250610d34818401610c9f565b828152928401810192818101908a851115610d4e57600080fd5b948201945b84861015610d6c57853582529482019490820190610d53565b9a918901359950506040909701359695505050505050565b6001600160a01b0381168114610d9957600080fd5b50565b80356103c081610d84565b60008083601f840112610db957600080fd5b5081356001600160401b03811115610dd057600080fd5b602083019150836020828501011115610de857600080fd5b9250929050565b60008060008060008060008060008060006101208c8e031215610e1157600080fd5b8b356001600160401b0380821115610e2857600080fd5b818e0191508e601f830112610e3c57600080fd5b813581811115610e4b57600080fd5b8f60208260051b8501011115610e6057600080fd5b60208381019e50909c508e01359a50610e7b60408f01610d9c565b9950610e8960608f01610d9c565b985060808e0135975060a08e0135965060c08e0135955060e08e013594506101008e0135915080821115610ebc57600080fd5b50610ec98e828f01610da7565b915080935050809150509295989b509295989b9093969950565b60008060008060008060008060006101008a8c031215610f0257600080fd5b8935985060208a0135610f1481610d84565b975060408a0135610f2481610d84565b965060608a0135955060808a0135945060a08a0135935060c08a0135925060e08a01356001600160401b03811115610f5b57600080fd5b610f678c828d01610da7565b915080935050809150509295985092959850929598565b600060208284031215610f9057600080fd5b5035919050565b60008060008060008060008060e0898b031215610fb357600080fd5b8835610fbe81610d84565b97506020890135610fce81610d84565b965060408901359550606089013594506080890135935060a0890135925060c08901356001600160401b0381111561100557600080fd5b6110118b828c01610da7565b999c989b5096995094979396929594505050565b6000806040838503121561103857600080fd5b50508035926020909101359150565b60006020828403121561105957600080fd5b813561106481610d84565b9392505050565b60006bffffffffffffffffffffffff19808b60601b168352808a60601b16601484015250876028830152866048830152856068830152846088830152828460a8840137506000910160a801908152979650505050505050565b6000602082840312156110d657600080fd5b815161106481610d84565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561114857816000190482111561112e5761112e6110f7565b8085161561113b57918102915b93841c9390800290611112565b509250929050565b60008261115f57506001610bbb565b8161116c57506000610bbb565b8160018114611182576002811461118c576111a8565b6001915050610bbb565b60ff84111561119d5761119d6110f7565b50506001821b610bbb565b5060208310610133831016604e8410600b84101617156111cb575081810a610bbb565b6111d5838361110d565b80600019048211156111e9576111e96110f7565b029392505050565b60006110648383611150565b634e487b7160e01b600052601260045260246000fd5b600082611222576112226111fd565b500490565b600082611236576112366111fd565b500690565b60005b8381101561125657818101518382015260200161123e565b83811115611265576000848401525b50505050565b60018060a01b0384168152826020820152606060408201526000825180606084015261129e81608085016020870161123b565b601f01601f191691909101608001949350505050565b600080604083850312156112c757600080fd5b825180151581146112d757600080fd5b60208401519092506001600160401b03808211156112f457600080fd5b818501915085601f83011261130857600080fd5b81518181111561131a5761131a610c89565b61132d601f8201601f1916602001610c9f565b915080825286602082850101111561134457600080fd5b61135581602084016020860161123b565b508092505050925092905056fea26469706673582212200de262451ed34d8d8b01a422a0d5f208960e641b17f079c4be2d9eef9c54934a64736f6c63430008090033",
543
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80639f0c04bf116100925780639f0c04bf146101aa578063a04cee60146101bd578063ae6dead7146101d0578063b0f30537146101f0578063c4d66de8146101f8578063c75184df1461020b578063cb23bcb51461022b578063d5b5cc231461023e578063e78cea921461025e57600080fd5b80627436d3146100fa57806308635a95146101205780631198527114610135578063288e5b101461013c578063465477901461014f5780635a129efe1461015757806372f2a8c71461017a57806380648b02146101825780638515bc6a146101a2575b600080fd5b61010d610108366004610ccf565b610271565b6040519081526020015b60405180910390f35b61013361012e366004610def565b6102ae565b005b600061010d565b61013361014a366004610ee3565b610321565b61010d61035c565b61016a610165366004610f7e565b61038b565b6040519015158152602001610117565b61010d6103a8565b61018a6103c5565b6040516001600160a01b039091168152602001610117565b61010d6103e6565b61010d6101b8366004610f97565b61040e565b6101336101cb366004611025565b610453565b61010d6101de366004610f7e565b60036020526000908152604090205481565b61010d6104d7565b610133610206366004611047565b6104f8565b610213600281565b6040516001600160801b039091168152602001610117565b60005461018a906001600160a01b031681565b61010d61024c366004610f7e565b60026020526000908152604090205481565b60015461018a906001600160a01b031681565b60006102a684848460405160200161028b91815260200190565b604051602081830303815290604052805190602001206106df565b949350505050565b60006102c0898989898989898961040e565b90506103028c8c808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508e92508591506107829050565b6103138a8a8a8a8a8a8a8a8a61088b565b505050505050505050505050565b331561034057604051630e13b69d60e01b815260040160405180910390fd5b61035189898989898989898961088b565b505050505050505050565b6004546000906001600160801b039081169081141561037d57600091505090565b6001600160801b0316919050565b600080600061039984610b75565b92509250506102a68282610bb2565b6006546000906000198114156103c057506000919050565b919050565b6007546000906001600160a01b03908116908114156103c057600091505090565b6004546000906001600160801b03600160801b90910481169081141561037d57600091505090565b6000888888888888888860405160200161042f98979695949392919061106b565b60405160208183030381529060405280519060200120905098975050505050505050565b6000546001600160a01b0316331461049857600054604051630e4cf1bf60e21b81523360048201526001600160a01b0390911660248201526044015b60405180910390fd5b60008281526003602052604080822083905551829184917fb4df3847300f076a369cd76d2314b470a1194d9e8a6bb97f1860aee88a5f67489190a35050565b6005546000906001600160801b039081169081141561037d57600091505090565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156105865760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b606482015260840161048f565b6001600160a01b0381166105ad57604051631ad0f74360e01b815260040160405180910390fd5b6001546001600160a01b0316156105d757604051633bcd329760e21b815260040160405180910390fd5b6040805160a0810182526001600160801b038082526020808301829052828401829052600019606084018190526001600160a01b0360809094018490526004818155600580546001600160801b031916909417909355600655600780546001600160a01b03199081168517909155600180549487169490911684179055835163cb23bcb560e01b81529351929363cb23bcb593818401939091829003018186803b15801561068457600080fd5b505afa158015610698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bc91906110c4565b600080546001600160a01b0319166001600160a01b039290921691909117905550565b825160009061010081111561071257604051637ed6198f60e11b815260048101829052610100602482015260440161048f565b8260005b82811015610778576000878281518110610732576107326110e1565b60200260200101519050816001901b87166000141561075f5782600052806020526040600020925061076f565b8060005282602052604060002092505b50600101610716565b5095945050505050565b6101008351106107aa57825160405163ab6a068360e01b815260040161048f91815260200190565b82516107b79060026111f1565b82106107ee5781835160026107cc91906111f1565b604051630b8a724b60e01b81526004810192909252602482015260440161048f565b60006107fb848484610271565b60008181526003602052604090205490915061082d576040516310e61af960e31b81526004810182905260240161048f565b600080600061083b86610b75565b92509250925061084b8282610bb2565b1561086c57604051639715b8d360e01b81526004810187905260240161048f565b600092835260026020526040909220600190911b909117905550505050565b6000886001600160a01b0316886001600160a01b03167f20af7f3bbfe38132b8900ae295cd9c8d1914be7052d061a511f3f728dab189648c6040516108d291815260200190565b60405180910390a4600060046040518060a00160405290816000820160009054906101000a90046001600160801b03166001600160801b03166001600160801b031681526020016000820160109054906101000a90046001600160801b03166001600160801b03166001600160801b031681526020016001820160009054906101000a90046001600160801b03166001600160801b03166001600160801b03168152602001600282015481526020016003820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152505090506040518060a00160405280886001600160801b03168152602001876001600160801b03168152602001866001600160801b031681526020018b60001b81526020018a6001600160a01b0316815250600460008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816001600160801b0302191690836001600160801b0316021790555060408201518160010160006101000a8154816001600160801b0302191690836001600160801b031602179055506060820151816002015560808201518160030160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550905050610b03888585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610bc192505050565b805160208201516001600160801b03918216600160801b91831691909102176004556040820151600580546001600160801b03191691909216179055606081015160065560800151600780546001600160a01b0319166001600160a01b03909216919091179055505050505050505050565b6000808080610b8560ff86611213565b90506000610b9460ff87611227565b60008381526002602052604090205492979096509194509092505050565b80821c60011615155b92915050565b600154604051639e5d4c4960e01b815260009182916001600160a01b0390911690639e5d4c4990610bfa9088908890889060040161126b565b600060405180830381600087803b158015610c1457600080fd5b505af1158015610c28573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c5091908101906112b4565b9150915081610c8257805115610c695780518082602001fd5b604051631bb7daad60e11b815260040160405180910390fd5b5050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715610cc757610cc7610c89565b604052919050565b600080600060608486031215610ce457600080fd5b83356001600160401b0380821115610cfb57600080fd5b818601915086601f830112610d0f57600080fd5b8135602082821115610d2357610d23610c89565b8160051b9250610d34818401610c9f565b828152928401810192818101908a851115610d4e57600080fd5b948201945b84861015610d6c57853582529482019490820190610d53565b9a918901359950506040909701359695505050505050565b6001600160a01b0381168114610d9957600080fd5b50565b80356103c081610d84565b60008083601f840112610db957600080fd5b5081356001600160401b03811115610dd057600080fd5b602083019150836020828501011115610de857600080fd5b9250929050565b60008060008060008060008060008060006101208c8e031215610e1157600080fd5b8b356001600160401b0380821115610e2857600080fd5b818e0191508e601f830112610e3c57600080fd5b813581811115610e4b57600080fd5b8f60208260051b8501011115610e6057600080fd5b60208381019e50909c508e01359a50610e7b60408f01610d9c565b9950610e8960608f01610d9c565b985060808e0135975060a08e0135965060c08e0135955060e08e013594506101008e0135915080821115610ebc57600080fd5b50610ec98e828f01610da7565b915080935050809150509295989b509295989b9093969950565b60008060008060008060008060006101008a8c031215610f0257600080fd5b8935985060208a0135610f1481610d84565b975060408a0135610f2481610d84565b965060608a0135955060808a0135945060a08a0135935060c08a0135925060e08a01356001600160401b03811115610f5b57600080fd5b610f678c828d01610da7565b915080935050809150509295985092959850929598565b600060208284031215610f9057600080fd5b5035919050565b60008060008060008060008060e0898b031215610fb357600080fd5b8835610fbe81610d84565b97506020890135610fce81610d84565b965060408901359550606089013594506080890135935060a0890135925060c08901356001600160401b0381111561100557600080fd5b6110118b828c01610da7565b999c989b5096995094979396929594505050565b6000806040838503121561103857600080fd5b50508035926020909101359150565b60006020828403121561105957600080fd5b813561106481610d84565b9392505050565b60006bffffffffffffffffffffffff19808b60601b168352808a60601b16601484015250876028830152866048830152856068830152846088830152828460a8840137506000910160a801908152979650505050505050565b6000602082840312156110d657600080fd5b815161106481610d84565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561114857816000190482111561112e5761112e6110f7565b8085161561113b57918102915b93841c9390800290611112565b509250929050565b60008261115f57506001610bbb565b8161116c57506000610bbb565b8160018114611182576002811461118c576111a8565b6001915050610bbb565b60ff84111561119d5761119d6110f7565b50506001821b610bbb565b5060208310610133831016604e8410600b84101617156111cb575081810a610bbb565b6111d5838361110d565b80600019048211156111e9576111e96110f7565b029392505050565b60006110648383611150565b634e487b7160e01b600052601260045260246000fd5b600082611222576112226111fd565b500490565b600082611236576112366111fd565b500690565b60005b8381101561125657818101518382015260200161123e565b83811115611265576000848401525b50505050565b60018060a01b0384168152826020820152606060408201526000825180606084015261129e81608085016020870161123b565b601f01601f191691909101608001949350505050565b600080604083850312156112c757600080fd5b825180151581146112d757600080fd5b60208401519092506001600160401b03808211156112f457600080fd5b818501915085601f83011261130857600080fd5b81518181111561131a5761131a610c89565b61132d601f8201601f1916602001610c9f565b915080825286602082850101111561134457600080fd5b61135581602084016020860161123b565b508092505050925092905056fea26469706673582212200de262451ed34d8d8b01a422a0d5f208960e641b17f079c4be2d9eef9c54934a64736f6c63430008090033",
544
+ "linkReferences": {},
545
+ "deployedLinkReferences": {}
546
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/419b36ebbd1e491d550576571e91ba6c.json"
4
+ }