@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/459fa593f22c1338c48c4751d23fdf0a.json"
4
+ }
@@ -0,0 +1,286 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "NodeInterface",
4
+ "sourceName": "src/node-interface/NodeInterface.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "uint64",
10
+ "name": "size",
11
+ "type": "uint64"
12
+ },
13
+ {
14
+ "internalType": "uint64",
15
+ "name": "leaf",
16
+ "type": "uint64"
17
+ }
18
+ ],
19
+ "name": "constructOutboxProof",
20
+ "outputs": [
21
+ {
22
+ "internalType": "bytes32",
23
+ "name": "send",
24
+ "type": "bytes32"
25
+ },
26
+ {
27
+ "internalType": "bytes32",
28
+ "name": "root",
29
+ "type": "bytes32"
30
+ },
31
+ {
32
+ "internalType": "bytes32[]",
33
+ "name": "proof",
34
+ "type": "bytes32[]"
35
+ }
36
+ ],
37
+ "stateMutability": "view",
38
+ "type": "function"
39
+ },
40
+ {
41
+ "inputs": [
42
+ {
43
+ "internalType": "address",
44
+ "name": "sender",
45
+ "type": "address"
46
+ },
47
+ {
48
+ "internalType": "uint256",
49
+ "name": "deposit",
50
+ "type": "uint256"
51
+ },
52
+ {
53
+ "internalType": "address",
54
+ "name": "to",
55
+ "type": "address"
56
+ },
57
+ {
58
+ "internalType": "uint256",
59
+ "name": "l2CallValue",
60
+ "type": "uint256"
61
+ },
62
+ {
63
+ "internalType": "address",
64
+ "name": "excessFeeRefundAddress",
65
+ "type": "address"
66
+ },
67
+ {
68
+ "internalType": "address",
69
+ "name": "callValueRefundAddress",
70
+ "type": "address"
71
+ },
72
+ {
73
+ "internalType": "bytes",
74
+ "name": "data",
75
+ "type": "bytes"
76
+ }
77
+ ],
78
+ "name": "estimateRetryableTicket",
79
+ "outputs": [],
80
+ "stateMutability": "nonpayable",
81
+ "type": "function"
82
+ },
83
+ {
84
+ "inputs": [
85
+ {
86
+ "internalType": "uint64",
87
+ "name": "blockNum",
88
+ "type": "uint64"
89
+ }
90
+ ],
91
+ "name": "findBatchContainingBlock",
92
+ "outputs": [
93
+ {
94
+ "internalType": "uint64",
95
+ "name": "batch",
96
+ "type": "uint64"
97
+ }
98
+ ],
99
+ "stateMutability": "view",
100
+ "type": "function"
101
+ },
102
+ {
103
+ "inputs": [
104
+ {
105
+ "internalType": "address",
106
+ "name": "to",
107
+ "type": "address"
108
+ },
109
+ {
110
+ "internalType": "bool",
111
+ "name": "contractCreation",
112
+ "type": "bool"
113
+ },
114
+ {
115
+ "internalType": "bytes",
116
+ "name": "data",
117
+ "type": "bytes"
118
+ }
119
+ ],
120
+ "name": "gasEstimateComponents",
121
+ "outputs": [
122
+ {
123
+ "internalType": "uint64",
124
+ "name": "gasEstimate",
125
+ "type": "uint64"
126
+ },
127
+ {
128
+ "internalType": "uint64",
129
+ "name": "gasEstimateForL1",
130
+ "type": "uint64"
131
+ },
132
+ {
133
+ "internalType": "uint256",
134
+ "name": "baseFee",
135
+ "type": "uint256"
136
+ },
137
+ {
138
+ "internalType": "uint256",
139
+ "name": "l1BaseFeeEstimate",
140
+ "type": "uint256"
141
+ }
142
+ ],
143
+ "stateMutability": "payable",
144
+ "type": "function"
145
+ },
146
+ {
147
+ "inputs": [
148
+ {
149
+ "internalType": "address",
150
+ "name": "to",
151
+ "type": "address"
152
+ },
153
+ {
154
+ "internalType": "bool",
155
+ "name": "contractCreation",
156
+ "type": "bool"
157
+ },
158
+ {
159
+ "internalType": "bytes",
160
+ "name": "data",
161
+ "type": "bytes"
162
+ }
163
+ ],
164
+ "name": "gasEstimateL1Component",
165
+ "outputs": [
166
+ {
167
+ "internalType": "uint64",
168
+ "name": "gasEstimateForL1",
169
+ "type": "uint64"
170
+ },
171
+ {
172
+ "internalType": "uint256",
173
+ "name": "baseFee",
174
+ "type": "uint256"
175
+ },
176
+ {
177
+ "internalType": "uint256",
178
+ "name": "l1BaseFeeEstimate",
179
+ "type": "uint256"
180
+ }
181
+ ],
182
+ "stateMutability": "payable",
183
+ "type": "function"
184
+ },
185
+ {
186
+ "inputs": [
187
+ {
188
+ "internalType": "bytes32",
189
+ "name": "blockHash",
190
+ "type": "bytes32"
191
+ }
192
+ ],
193
+ "name": "getL1Confirmations",
194
+ "outputs": [
195
+ {
196
+ "internalType": "uint64",
197
+ "name": "confirmations",
198
+ "type": "uint64"
199
+ }
200
+ ],
201
+ "stateMutability": "view",
202
+ "type": "function"
203
+ },
204
+ {
205
+ "inputs": [
206
+ {
207
+ "internalType": "uint256",
208
+ "name": "batchNum",
209
+ "type": "uint256"
210
+ },
211
+ {
212
+ "internalType": "uint64",
213
+ "name": "index",
214
+ "type": "uint64"
215
+ }
216
+ ],
217
+ "name": "legacyLookupMessageBatchProof",
218
+ "outputs": [
219
+ {
220
+ "internalType": "bytes32[]",
221
+ "name": "proof",
222
+ "type": "bytes32[]"
223
+ },
224
+ {
225
+ "internalType": "uint256",
226
+ "name": "path",
227
+ "type": "uint256"
228
+ },
229
+ {
230
+ "internalType": "address",
231
+ "name": "l2Sender",
232
+ "type": "address"
233
+ },
234
+ {
235
+ "internalType": "address",
236
+ "name": "l1Dest",
237
+ "type": "address"
238
+ },
239
+ {
240
+ "internalType": "uint256",
241
+ "name": "l2Block",
242
+ "type": "uint256"
243
+ },
244
+ {
245
+ "internalType": "uint256",
246
+ "name": "l1Block",
247
+ "type": "uint256"
248
+ },
249
+ {
250
+ "internalType": "uint256",
251
+ "name": "timestamp",
252
+ "type": "uint256"
253
+ },
254
+ {
255
+ "internalType": "uint256",
256
+ "name": "amount",
257
+ "type": "uint256"
258
+ },
259
+ {
260
+ "internalType": "bytes",
261
+ "name": "calldataForL1",
262
+ "type": "bytes"
263
+ }
264
+ ],
265
+ "stateMutability": "view",
266
+ "type": "function"
267
+ },
268
+ {
269
+ "inputs": [],
270
+ "name": "nitroGenesisBlock",
271
+ "outputs": [
272
+ {
273
+ "internalType": "uint256",
274
+ "name": "number",
275
+ "type": "uint256"
276
+ }
277
+ ],
278
+ "stateMutability": "pure",
279
+ "type": "function"
280
+ }
281
+ ],
282
+ "bytecode": "0x",
283
+ "deployedBytecode": "0x",
284
+ "linkReferences": {},
285
+ "deployedLinkReferences": {}
286
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/199cb2a1f5eaaeff4164d82e0aa436b4.json"
4
+ }
@@ -0,0 +1,67 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "NodeInterfaceDebug",
4
+ "sourceName": "src/node-interface/NodeInterfaceDebug.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "bytes32",
10
+ "name": "ticket",
11
+ "type": "bytes32"
12
+ }
13
+ ],
14
+ "name": "getRetryable",
15
+ "outputs": [
16
+ {
17
+ "components": [
18
+ {
19
+ "internalType": "uint64",
20
+ "name": "timeout",
21
+ "type": "uint64"
22
+ },
23
+ {
24
+ "internalType": "address",
25
+ "name": "from",
26
+ "type": "address"
27
+ },
28
+ {
29
+ "internalType": "address",
30
+ "name": "to",
31
+ "type": "address"
32
+ },
33
+ {
34
+ "internalType": "uint256",
35
+ "name": "value",
36
+ "type": "uint256"
37
+ },
38
+ {
39
+ "internalType": "address",
40
+ "name": "beneficiary",
41
+ "type": "address"
42
+ },
43
+ {
44
+ "internalType": "uint64",
45
+ "name": "tries",
46
+ "type": "uint64"
47
+ },
48
+ {
49
+ "internalType": "bytes",
50
+ "name": "data",
51
+ "type": "bytes"
52
+ }
53
+ ],
54
+ "internalType": "struct NodeInterfaceDebug.RetryableInfo",
55
+ "name": "retryable",
56
+ "type": "tuple"
57
+ }
58
+ ],
59
+ "stateMutability": "view",
60
+ "type": "function"
61
+ }
62
+ ],
63
+ "bytecode": "0x",
64
+ "deployedBytecode": "0x",
65
+ "linkReferences": {},
66
+ "deployedLinkReferences": {}
67
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/e5ce7bc80c5fe5e67c1d0baa1134d630.json"
4
+ }
@@ -0,0 +1,165 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "HashProofHelper",
4
+ "sourceName": "src/osp/HashProofHelper.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "bytes32",
10
+ "name": "fullHash",
11
+ "type": "bytes32"
12
+ },
13
+ {
14
+ "internalType": "uint64",
15
+ "name": "offset",
16
+ "type": "uint64"
17
+ }
18
+ ],
19
+ "name": "NotProven",
20
+ "type": "error"
21
+ },
22
+ {
23
+ "anonymous": false,
24
+ "inputs": [
25
+ {
26
+ "indexed": true,
27
+ "internalType": "bytes32",
28
+ "name": "fullHash",
29
+ "type": "bytes32"
30
+ },
31
+ {
32
+ "indexed": true,
33
+ "internalType": "uint64",
34
+ "name": "offset",
35
+ "type": "uint64"
36
+ },
37
+ {
38
+ "indexed": false,
39
+ "internalType": "bytes",
40
+ "name": "part",
41
+ "type": "bytes"
42
+ }
43
+ ],
44
+ "name": "PreimagePartProven",
45
+ "type": "event"
46
+ },
47
+ {
48
+ "inputs": [],
49
+ "name": "clearSplitProof",
50
+ "outputs": [],
51
+ "stateMutability": "nonpayable",
52
+ "type": "function"
53
+ },
54
+ {
55
+ "inputs": [
56
+ {
57
+ "internalType": "bytes32",
58
+ "name": "fullHash",
59
+ "type": "bytes32"
60
+ },
61
+ {
62
+ "internalType": "uint64",
63
+ "name": "offset",
64
+ "type": "uint64"
65
+ }
66
+ ],
67
+ "name": "getPreimagePart",
68
+ "outputs": [
69
+ {
70
+ "internalType": "bytes",
71
+ "name": "",
72
+ "type": "bytes"
73
+ }
74
+ ],
75
+ "stateMutability": "view",
76
+ "type": "function"
77
+ },
78
+ {
79
+ "inputs": [
80
+ {
81
+ "internalType": "address",
82
+ "name": "",
83
+ "type": "address"
84
+ }
85
+ ],
86
+ "name": "keccakStates",
87
+ "outputs": [
88
+ {
89
+ "internalType": "uint64",
90
+ "name": "offset",
91
+ "type": "uint64"
92
+ },
93
+ {
94
+ "internalType": "bytes",
95
+ "name": "part",
96
+ "type": "bytes"
97
+ },
98
+ {
99
+ "internalType": "uint256",
100
+ "name": "length",
101
+ "type": "uint256"
102
+ }
103
+ ],
104
+ "stateMutability": "view",
105
+ "type": "function"
106
+ },
107
+ {
108
+ "inputs": [
109
+ {
110
+ "internalType": "bytes",
111
+ "name": "data",
112
+ "type": "bytes"
113
+ },
114
+ {
115
+ "internalType": "uint64",
116
+ "name": "offset",
117
+ "type": "uint64"
118
+ }
119
+ ],
120
+ "name": "proveWithFullPreimage",
121
+ "outputs": [
122
+ {
123
+ "internalType": "bytes32",
124
+ "name": "fullHash",
125
+ "type": "bytes32"
126
+ }
127
+ ],
128
+ "stateMutability": "nonpayable",
129
+ "type": "function"
130
+ },
131
+ {
132
+ "inputs": [
133
+ {
134
+ "internalType": "bytes",
135
+ "name": "data",
136
+ "type": "bytes"
137
+ },
138
+ {
139
+ "internalType": "uint64",
140
+ "name": "offset",
141
+ "type": "uint64"
142
+ },
143
+ {
144
+ "internalType": "uint256",
145
+ "name": "flags",
146
+ "type": "uint256"
147
+ }
148
+ ],
149
+ "name": "proveWithSplitPreimage",
150
+ "outputs": [
151
+ {
152
+ "internalType": "bytes32",
153
+ "name": "fullHash",
154
+ "type": "bytes32"
155
+ }
156
+ ],
157
+ "stateMutability": "nonpayable",
158
+ "type": "function"
159
+ }
160
+ ],
161
+ "bytecode": "0x608060405234801561001057600080fd5b50611cea806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063740085d71461005c57806379754cba14610085578063ae364ac2146100a6578063b7465799146100b0578063d4e5dd2b146100d2575b600080fd5b61006f61006a3660046118e0565b6100e5565b60405161007c9190611959565b60405180910390f35b6100986100933660046119bb565b6101d8565b60405190815260200161007c565b6100ae6106cb565b005b6100c36100be366004611a16565b610713565b60405161007c93929190611a3f565b6100986100e0366004611a71565b6107c9565b6000828152602081815260408083206001600160401b0385168452909152902080546060919060ff16610142576040516309cb23c960e11b8152600481018590526001600160401b03841660248201526044015b60405180910390fd5b80600101805461015190611ac4565b80601f016020809104026020016040519081016040528092919081815260200182805461017d90611ac4565b80156101ca5780601f1061019f576101008083540402835291602001916101ca565b820191906000526020600020905b8154815290600101906020018083116101ad57829003601f168201915b505050505091505092915050565b60006001821615156002831615610230573360009081526001602081905260408220805467ffffffffffffffff191681559190610217908301826117a2565b6102256002830160006117df565b600982016000905550505b80806102445750610242608886611b15565b155b6102845760405162461bcd60e51b81526020600482015260116024820152701393d517d09313d0d2d7d0531251d39151607a1b6044820152606401610139565b3360009081526001602052604090206009810154806102bc57815467ffffffffffffffff19166001600160401b038716178255610306565b81546001600160401b038781169116146103065760405162461bcd60e51b815260206004820152600b60248201526a1112519197d3d19194d15560aa1b6044820152606401610139565b61031282898986610920565b8061032760206001600160401b038916611b3f565b11801561034057508160090154866001600160401b0316105b1561045a57600081876001600160401b0316111561036e5761036b826001600160401b038916611b57565b90505b60008261038560206001600160401b038b16611b3f565b61038f9190611b57565b90508881111561039c5750875b815b8181101561045657846001018b8b838181106103bc576103bc611b6e565b9050013560f81c60f81b90808054806103d490611ac4565b80601f81146103e2576103f8565b83600052602060002060ff1984168155603f9350505b506002919091019091558154600116156104215790600052602060002090602091828204019190065b909190919091601f036101000a81548160ff02191690600160f81b84040217905550808061044e90611b84565b91505061039e565b5050505b8261046c5750600092506106c3915050565b60005b602081101561053c576000610485600883611b9f565b9050610492600582611b9f565b61049d600583611b15565b6104a8906005611bb3565b6104b29190611b3f565b905060006104c1600884611b15565b6104cc906008611bb3565b8560020183601981106104e1576104e1611b6e565b60048104909101546001600160401b036008600390931683026101000a9091041690911c9150610512908490611bb3565b61051d9060f8611b57565b60ff909116901b9590951794508061053481611b84565b91505061046f565b50604051806040016040528060011515815260200183600101805461056090611ac4565b80601f016020809104026020016040519081016040528092919081815260200182805461058c90611ac4565b80156105d95780601f106105ae576101008083540402835291602001916105d9565b820191906000526020600020905b8154815290600101906020018083116105bc57829003601f168201915b50505091909252505060008581526020818152604080832086546001600160401b0316845282529091208251815460ff1916901515178155828201518051919261062b926001850192909101906117ee565b505082546040516001600160401b03909116915085907ff88493e8ac6179d3c1ba8712068367d7ecdd6f30d3b5de01198e7a449fe2802c90610671906001870190611bd2565b60405180910390a33360009081526001602081905260408220805467ffffffffffffffff1916815591906106a7908301826117a2565b6106b56002830160006117df565b600982016000905550505050505b949350505050565b3360009081526001602081905260408220805467ffffffffffffffff1916815591906106f9908301826117a2565b6107076002830160006117df565b60098201600090555050565b6001602081905260009182526040909120805491810180546001600160401b039093169261074090611ac4565b80601f016020809104026020016040519081016040528092919081815260200182805461076c90611ac4565b80156107b95780601f1061078e576101008083540402835291602001916107b9565b820191906000526020600020905b81548152906001019060200180831161079c57829003601f168201915b5050505050908060090154905083565b600083836040516107db929190611c7a565b604051908190039020905060606001600160401b03831684111561087957600061080e6001600160401b03851686611b57565b9050602081111561081d575060205b856001600160401b038516866108338483611b3f565b9261084093929190611c8a565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929450505050505b6040805180820182526001808252602080830185815260008781528083528581206001600160401b038a1682528352949094208351815460ff1916901515178155935180519394936108d29385019291909101906117ee565b50905050826001600160401b0316827ff88493e8ac6179d3c1ba8712068367d7ecdd6f30d3b5de01198e7a449fe2802c836040516109109190611959565b60405180910390a3509392505050565b828290508460090160008282546109379190611b3f565b90915550505b81158015610949575080155b1561095357610ba2565b60005b6088811015610a7a5760008382101561098c5784848381811061097b5761097b611b6e565b919091013560f81c91506109af9050565b81841415610998576001175b6109a460016088611b57565b8214156109af576080175b60006109bc600884611b9f565b90506109c9600582611b9f565b6109d4600583611b15565b6109df906005611bb3565b6109e99190611b3f565b90506109f6600884611b15565b610a01906008611bb3565b6001600160401b03168260ff166001600160401b0316901b876002018260198110610a2e57610a2e611b6e565b6004810490910180546001600160401b0360086003909416939093026101000a808204841690941883168402929093021990921617905550819050610a7281611b84565b915050610956565b50610a83611872565b60005b6019811015610af557856002018160198110610aa457610aa4611b6e565b600491828204019190066008029054906101000a90046001600160401b03166001600160401b0316828260198110610ade57610ade611b6e565b602002015280610aed81611b84565b915050610a86565b50610aff81610ba8565b905060005b6019811015610b7b57818160198110610b1f57610b1f611b6e565b6020020151866002018260198110610b3957610b39611b6e565b600491828204019190066008026101000a8154816001600160401b0302191690836001600160401b031602179055508080610b7390611b84565b915050610b04565b506088831015610b8b5750610ba2565b610b988360888187611c8a565b935093505061093d565b50505050565b610bb0611872565b610bb8611891565b610bc0611891565b610bc8611872565b600060405180610300016040528060018152602001618082815260200167800000000000808a8152602001678000000080008000815260200161808b81526020016380000001815260200167800000008000808181526020016780000000000080098152602001608a81526020016088815260200163800080098152602001638000000a8152602001638000808b815260200167800000000000008b8152602001678000000000008089815260200167800000000000800381526020016780000000000080028152602001678000000000000080815260200161800a815260200167800000008000000a81526020016780000000800080818152602001678000000000008080815260200163800000018152602001678000000080008008815250905060005b6018811015611797576080878101516060808a01516040808c01516020808e01518e511890911890921890931889526101208b01516101008c015160e08d015160c08e015160a08f0151181818189089018190526101c08b01516101a08c01516101808d01516101608e01516101408f0151181818189289019283526102608b01516102408c01516102208d01516102008e01516101e08f015118181818918901919091526103008a01516102e08b01516102c08c01516102a08d01516102808e0151181818189288018390526001600160401b0360028202166001603f1b91829004179092188652510485600260200201516002026001600160401b03161785600060200201511884600160200201526001603f1b856003602002015181610e1957610e19611aff565b0485600360200201516002026001600160401b03161785600160200201511884600260200201526001603f1b856004602002015181610e5a57610e5a611aff565b0485600460200201516002026001600160401b03161785600260058110610e8357610e83611b6e565b602002015118606085015284516001603f1b9086516060808901519390920460029091026001600160401b031617909118608086810191825286518a5118808b5287516020808d018051909218825289516040808f0180519092189091528a518e8801805190911890528a51948e0180519095189094528901805160a08e0180519091189052805160c08e0180519091189052805160e08e018051909118905280516101008e0180519091189052516101208d018051909118905291880180516101408d018051909118905280516101608d018051909118905280516101808d018051909118905280516101a08d0180519091189052516101c08c018051909118905292870180516101e08c018051909118905280516102008c018051909118905280516102208c018051909118905280516102408c0180519091189052516102608b018051909118905281516102808b018051909118905281516102a08b018051909118905281516102c08b018051909118905281516102e08b018051909118905290516103008a01805190911890529084525163100000009060208901516001600160401b03641000000000909102169190041761010084015260408701516001603d1b9060408901516001600160401b03600890910216919004176101608401526060870151628000009060608901516001600160401b036502000000000090910216919004176102608401526080870151654000000000009060808901516001600160401b036204000090910216919004176102c084015260a08701516001603f1b900487600560200201516002026001600160401b031617836002601981106110f3576110f3611b6e565b602002015260c08701516210000081046001602c1b9091026001600160401b039081169190911760a085015260e0880151664000000000000081046104009091028216176101a08501526101008801516208000081046520000000000090910282161761020085015261012088015160048082029092166001603e1b909104176103008501526101408801516101408901516001600160401b036001603e1b909102169190041760808401526101608701516001603a1b906101608901516001600160401b036040909102169190041760e084015261018087015162200000906101808901516001600160401b036001602b1b90910216919004176101408401526101a08701516602000000000000906101a08901516001600160401b0361800090910216919004176102408401526101c08701516008906101c08901516001600160401b036001603d1b90910216919004176102a08401526101e0870151641000000000906101e08901516001600160401b03631000000090910216919004176020840152610200808801516102008901516001600160401b0366800000000000009091021691900417610120840152610220870151648000000000906102208901516001600160401b03630200000090910216919004176101808401526102408701516001602b1b906102408901516001600160401b036220000090910216919004176101e0840152610260870151610100906102608901516001600160401b03600160381b90910216919004176102e0840152610280870151642000000000906102808901516001600160401b036308000000909102169190041760608401526102a08701516001602c1b906102a08901516001600160401b0362100000909102169190041760c08401526102c08701516302000000906102c08901516001600160401b0364800000000090910216919004176101c08401526102e0870151600160381b906102e08901516001600160401b036101009091021691900417610220840152610300870151660400000000000090048760186020020151614000026001600160401b031617836014602002015282600a602002015183600560200201511916836000602002015118876000602002015282600b602002015183600660200201511916836001602002015118876001602002015282600c602002015183600760200201511916836002602002015118876002602002015282600d602002015183600860200201511916836003602002015118876003602002015282600e602002015183600960200201511916836004602002015118876004602002015282600f602002015183600a602002015119168360056020020151188760056020020152826010602002015183600b602002015119168360066020020151188760066020020152826011602002015183600c602002015119168360076020020151188760076020020152826012602002015183600d602002015119168360086020020151188760086020020152826013602002015183600e602002015119168360096020020151188760096020020152826014602002015183600f6020020151191683600a60200201511887600a602002015282601560200201518360106020020151191683600b60200201511887600b602002015282601660200201518360116020020151191683600c60200201511887600c602002015282601760200201518360126020020151191683600d60200201511887600d602002015282601860200201518360136020020151191683600e60200201511887600e602002015282600060200201518360146020020151191683600f60200201511887600f602002015282600160200201518360156020020151191683601060200201511887601060200201528260026020020151836016602002015119168360116020020151188760116020020152826003602002015183601760200201511916836012602002015118876012602002015282600460200201518360186020020151191683601360200201511887601360200201528260056020020151836000602002015119168360146020020151188760146020020152826006602002015183600160200201511916836015602002015118876015602002015282600760200201518360026020020151191683601660200201511887601660200201528260086020020151836003602002015119168360176020020151188760176020020152826009602002015183600460200201511916836018602002015118876018602002015281816018811061178557611785611b6e565b60200201518751188752600101610cee565b509495945050505050565b5080546117ae90611ac4565b6000825580601f106117be575050565b601f0160209004906000526020600020908101906117dc91906118af565b50565b506117dc9060078101906118af565b8280546117fa90611ac4565b90600052602060002090601f01602090048101928261181c5760008555611862565b82601f1061183557805160ff1916838001178555611862565b82800160010185558215611862579182015b82811115611862578251825591602001919060010190611847565b5061186e9291506118af565b5090565b6040518061032001604052806019906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b5b8082111561186e57600081556001016118b0565b80356001600160401b03811681146118db57600080fd5b919050565b600080604083850312156118f357600080fd5b82359150611903602084016118c4565b90509250929050565b6000815180845260005b8181101561193257602081850181015186830182015201611916565b81811115611944576000602083870101525b50601f01601f19169290920160200192915050565b60208152600061196c602083018461190c565b9392505050565b60008083601f84011261198557600080fd5b5081356001600160401b0381111561199c57600080fd5b6020830191508360208285010111156119b457600080fd5b9250929050565b600080600080606085870312156119d157600080fd5b84356001600160401b038111156119e757600080fd5b6119f387828801611973565b9095509350611a069050602086016118c4565b9396929550929360400135925050565b600060208284031215611a2857600080fd5b81356001600160a01b038116811461196c57600080fd5b6001600160401b0384168152606060208201526000611a61606083018561190c565b9050826040830152949350505050565b600080600060408486031215611a8657600080fd5b83356001600160401b03811115611a9c57600080fd5b611aa886828701611973565b9094509250611abb9050602085016118c4565b90509250925092565b600181811c90821680611ad857607f821691505b60208210811415611af957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601260045260246000fd5b600082611b2457611b24611aff565b500690565b634e487b7160e01b600052601160045260246000fd5b60008219821115611b5257611b52611b29565b500190565b600082821015611b6957611b69611b29565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611b9857611b98611b29565b5060010190565b600082611bae57611bae611aff565b500490565b6000816000190483118215151615611bcd57611bcd611b29565b500290565b600060208083526000845481600182811c915080831680611bf457607f831692505b858310811415611c1257634e487b7160e01b85526022600452602485fd5b878601838152602001818015611c2f5760018114611c4057611c6b565b60ff19861682528782019650611c6b565b60008b81526020902060005b86811015611c6557815484820152908501908901611c4c565b83019750505b50949998505050505050505050565b8183823760009101908152919050565b60008085851115611c9a57600080fd5b83861115611ca757600080fd5b505082019391909203915056fea2646970667358221220aa0092c17c49384a13249e0265b19dbeb33c73e64d0b22f7eedbf77627a9c05d64736f6c63430008090033",
162
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c8063740085d71461005c57806379754cba14610085578063ae364ac2146100a6578063b7465799146100b0578063d4e5dd2b146100d2575b600080fd5b61006f61006a3660046118e0565b6100e5565b60405161007c9190611959565b60405180910390f35b6100986100933660046119bb565b6101d8565b60405190815260200161007c565b6100ae6106cb565b005b6100c36100be366004611a16565b610713565b60405161007c93929190611a3f565b6100986100e0366004611a71565b6107c9565b6000828152602081815260408083206001600160401b0385168452909152902080546060919060ff16610142576040516309cb23c960e11b8152600481018590526001600160401b03841660248201526044015b60405180910390fd5b80600101805461015190611ac4565b80601f016020809104026020016040519081016040528092919081815260200182805461017d90611ac4565b80156101ca5780601f1061019f576101008083540402835291602001916101ca565b820191906000526020600020905b8154815290600101906020018083116101ad57829003601f168201915b505050505091505092915050565b60006001821615156002831615610230573360009081526001602081905260408220805467ffffffffffffffff191681559190610217908301826117a2565b6102256002830160006117df565b600982016000905550505b80806102445750610242608886611b15565b155b6102845760405162461bcd60e51b81526020600482015260116024820152701393d517d09313d0d2d7d0531251d39151607a1b6044820152606401610139565b3360009081526001602052604090206009810154806102bc57815467ffffffffffffffff19166001600160401b038716178255610306565b81546001600160401b038781169116146103065760405162461bcd60e51b815260206004820152600b60248201526a1112519197d3d19194d15560aa1b6044820152606401610139565b61031282898986610920565b8061032760206001600160401b038916611b3f565b11801561034057508160090154866001600160401b0316105b1561045a57600081876001600160401b0316111561036e5761036b826001600160401b038916611b57565b90505b60008261038560206001600160401b038b16611b3f565b61038f9190611b57565b90508881111561039c5750875b815b8181101561045657846001018b8b838181106103bc576103bc611b6e565b9050013560f81c60f81b90808054806103d490611ac4565b80601f81146103e2576103f8565b83600052602060002060ff1984168155603f9350505b506002919091019091558154600116156104215790600052602060002090602091828204019190065b909190919091601f036101000a81548160ff02191690600160f81b84040217905550808061044e90611b84565b91505061039e565b5050505b8261046c5750600092506106c3915050565b60005b602081101561053c576000610485600883611b9f565b9050610492600582611b9f565b61049d600583611b15565b6104a8906005611bb3565b6104b29190611b3f565b905060006104c1600884611b15565b6104cc906008611bb3565b8560020183601981106104e1576104e1611b6e565b60048104909101546001600160401b036008600390931683026101000a9091041690911c9150610512908490611bb3565b61051d9060f8611b57565b60ff909116901b9590951794508061053481611b84565b91505061046f565b50604051806040016040528060011515815260200183600101805461056090611ac4565b80601f016020809104026020016040519081016040528092919081815260200182805461058c90611ac4565b80156105d95780601f106105ae576101008083540402835291602001916105d9565b820191906000526020600020905b8154815290600101906020018083116105bc57829003601f168201915b50505091909252505060008581526020818152604080832086546001600160401b0316845282529091208251815460ff1916901515178155828201518051919261062b926001850192909101906117ee565b505082546040516001600160401b03909116915085907ff88493e8ac6179d3c1ba8712068367d7ecdd6f30d3b5de01198e7a449fe2802c90610671906001870190611bd2565b60405180910390a33360009081526001602081905260408220805467ffffffffffffffff1916815591906106a7908301826117a2565b6106b56002830160006117df565b600982016000905550505050505b949350505050565b3360009081526001602081905260408220805467ffffffffffffffff1916815591906106f9908301826117a2565b6107076002830160006117df565b60098201600090555050565b6001602081905260009182526040909120805491810180546001600160401b039093169261074090611ac4565b80601f016020809104026020016040519081016040528092919081815260200182805461076c90611ac4565b80156107b95780601f1061078e576101008083540402835291602001916107b9565b820191906000526020600020905b81548152906001019060200180831161079c57829003601f168201915b5050505050908060090154905083565b600083836040516107db929190611c7a565b604051908190039020905060606001600160401b03831684111561087957600061080e6001600160401b03851686611b57565b9050602081111561081d575060205b856001600160401b038516866108338483611b3f565b9261084093929190611c8a565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929450505050505b6040805180820182526001808252602080830185815260008781528083528581206001600160401b038a1682528352949094208351815460ff1916901515178155935180519394936108d29385019291909101906117ee565b50905050826001600160401b0316827ff88493e8ac6179d3c1ba8712068367d7ecdd6f30d3b5de01198e7a449fe2802c836040516109109190611959565b60405180910390a3509392505050565b828290508460090160008282546109379190611b3f565b90915550505b81158015610949575080155b1561095357610ba2565b60005b6088811015610a7a5760008382101561098c5784848381811061097b5761097b611b6e565b919091013560f81c91506109af9050565b81841415610998576001175b6109a460016088611b57565b8214156109af576080175b60006109bc600884611b9f565b90506109c9600582611b9f565b6109d4600583611b15565b6109df906005611bb3565b6109e99190611b3f565b90506109f6600884611b15565b610a01906008611bb3565b6001600160401b03168260ff166001600160401b0316901b876002018260198110610a2e57610a2e611b6e565b6004810490910180546001600160401b0360086003909416939093026101000a808204841690941883168402929093021990921617905550819050610a7281611b84565b915050610956565b50610a83611872565b60005b6019811015610af557856002018160198110610aa457610aa4611b6e565b600491828204019190066008029054906101000a90046001600160401b03166001600160401b0316828260198110610ade57610ade611b6e565b602002015280610aed81611b84565b915050610a86565b50610aff81610ba8565b905060005b6019811015610b7b57818160198110610b1f57610b1f611b6e565b6020020151866002018260198110610b3957610b39611b6e565b600491828204019190066008026101000a8154816001600160401b0302191690836001600160401b031602179055508080610b7390611b84565b915050610b04565b506088831015610b8b5750610ba2565b610b988360888187611c8a565b935093505061093d565b50505050565b610bb0611872565b610bb8611891565b610bc0611891565b610bc8611872565b600060405180610300016040528060018152602001618082815260200167800000000000808a8152602001678000000080008000815260200161808b81526020016380000001815260200167800000008000808181526020016780000000000080098152602001608a81526020016088815260200163800080098152602001638000000a8152602001638000808b815260200167800000000000008b8152602001678000000000008089815260200167800000000000800381526020016780000000000080028152602001678000000000000080815260200161800a815260200167800000008000000a81526020016780000000800080818152602001678000000000008080815260200163800000018152602001678000000080008008815250905060005b6018811015611797576080878101516060808a01516040808c01516020808e01518e511890911890921890931889526101208b01516101008c015160e08d015160c08e015160a08f0151181818189089018190526101c08b01516101a08c01516101808d01516101608e01516101408f0151181818189289019283526102608b01516102408c01516102208d01516102008e01516101e08f015118181818918901919091526103008a01516102e08b01516102c08c01516102a08d01516102808e0151181818189288018390526001600160401b0360028202166001603f1b91829004179092188652510485600260200201516002026001600160401b03161785600060200201511884600160200201526001603f1b856003602002015181610e1957610e19611aff565b0485600360200201516002026001600160401b03161785600160200201511884600260200201526001603f1b856004602002015181610e5a57610e5a611aff565b0485600460200201516002026001600160401b03161785600260058110610e8357610e83611b6e565b602002015118606085015284516001603f1b9086516060808901519390920460029091026001600160401b031617909118608086810191825286518a5118808b5287516020808d018051909218825289516040808f0180519092189091528a518e8801805190911890528a51948e0180519095189094528901805160a08e0180519091189052805160c08e0180519091189052805160e08e018051909118905280516101008e0180519091189052516101208d018051909118905291880180516101408d018051909118905280516101608d018051909118905280516101808d018051909118905280516101a08d0180519091189052516101c08c018051909118905292870180516101e08c018051909118905280516102008c018051909118905280516102208c018051909118905280516102408c0180519091189052516102608b018051909118905281516102808b018051909118905281516102a08b018051909118905281516102c08b018051909118905281516102e08b018051909118905290516103008a01805190911890529084525163100000009060208901516001600160401b03641000000000909102169190041761010084015260408701516001603d1b9060408901516001600160401b03600890910216919004176101608401526060870151628000009060608901516001600160401b036502000000000090910216919004176102608401526080870151654000000000009060808901516001600160401b036204000090910216919004176102c084015260a08701516001603f1b900487600560200201516002026001600160401b031617836002601981106110f3576110f3611b6e565b602002015260c08701516210000081046001602c1b9091026001600160401b039081169190911760a085015260e0880151664000000000000081046104009091028216176101a08501526101008801516208000081046520000000000090910282161761020085015261012088015160048082029092166001603e1b909104176103008501526101408801516101408901516001600160401b036001603e1b909102169190041760808401526101608701516001603a1b906101608901516001600160401b036040909102169190041760e084015261018087015162200000906101808901516001600160401b036001602b1b90910216919004176101408401526101a08701516602000000000000906101a08901516001600160401b0361800090910216919004176102408401526101c08701516008906101c08901516001600160401b036001603d1b90910216919004176102a08401526101e0870151641000000000906101e08901516001600160401b03631000000090910216919004176020840152610200808801516102008901516001600160401b0366800000000000009091021691900417610120840152610220870151648000000000906102208901516001600160401b03630200000090910216919004176101808401526102408701516001602b1b906102408901516001600160401b036220000090910216919004176101e0840152610260870151610100906102608901516001600160401b03600160381b90910216919004176102e0840152610280870151642000000000906102808901516001600160401b036308000000909102169190041760608401526102a08701516001602c1b906102a08901516001600160401b0362100000909102169190041760c08401526102c08701516302000000906102c08901516001600160401b0364800000000090910216919004176101c08401526102e0870151600160381b906102e08901516001600160401b036101009091021691900417610220840152610300870151660400000000000090048760186020020151614000026001600160401b031617836014602002015282600a602002015183600560200201511916836000602002015118876000602002015282600b602002015183600660200201511916836001602002015118876001602002015282600c602002015183600760200201511916836002602002015118876002602002015282600d602002015183600860200201511916836003602002015118876003602002015282600e602002015183600960200201511916836004602002015118876004602002015282600f602002015183600a602002015119168360056020020151188760056020020152826010602002015183600b602002015119168360066020020151188760066020020152826011602002015183600c602002015119168360076020020151188760076020020152826012602002015183600d602002015119168360086020020151188760086020020152826013602002015183600e602002015119168360096020020151188760096020020152826014602002015183600f6020020151191683600a60200201511887600a602002015282601560200201518360106020020151191683600b60200201511887600b602002015282601660200201518360116020020151191683600c60200201511887600c602002015282601760200201518360126020020151191683600d60200201511887600d602002015282601860200201518360136020020151191683600e60200201511887600e602002015282600060200201518360146020020151191683600f60200201511887600f602002015282600160200201518360156020020151191683601060200201511887601060200201528260026020020151836016602002015119168360116020020151188760116020020152826003602002015183601760200201511916836012602002015118876012602002015282600460200201518360186020020151191683601360200201511887601360200201528260056020020151836000602002015119168360146020020151188760146020020152826006602002015183600160200201511916836015602002015118876015602002015282600760200201518360026020020151191683601660200201511887601660200201528260086020020151836003602002015119168360176020020151188760176020020152826009602002015183600460200201511916836018602002015118876018602002015281816018811061178557611785611b6e565b60200201518751188752600101610cee565b509495945050505050565b5080546117ae90611ac4565b6000825580601f106117be575050565b601f0160209004906000526020600020908101906117dc91906118af565b50565b506117dc9060078101906118af565b8280546117fa90611ac4565b90600052602060002090601f01602090048101928261181c5760008555611862565b82601f1061183557805160ff1916838001178555611862565b82800160010185558215611862579182015b82811115611862578251825591602001919060010190611847565b5061186e9291506118af565b5090565b6040518061032001604052806019906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b5b8082111561186e57600081556001016118b0565b80356001600160401b03811681146118db57600080fd5b919050565b600080604083850312156118f357600080fd5b82359150611903602084016118c4565b90509250929050565b6000815180845260005b8181101561193257602081850181015186830182015201611916565b81811115611944576000602083870101525b50601f01601f19169290920160200192915050565b60208152600061196c602083018461190c565b9392505050565b60008083601f84011261198557600080fd5b5081356001600160401b0381111561199c57600080fd5b6020830191508360208285010111156119b457600080fd5b9250929050565b600080600080606085870312156119d157600080fd5b84356001600160401b038111156119e757600080fd5b6119f387828801611973565b9095509350611a069050602086016118c4565b9396929550929360400135925050565b600060208284031215611a2857600080fd5b81356001600160a01b038116811461196c57600080fd5b6001600160401b0384168152606060208201526000611a61606083018561190c565b9050826040830152949350505050565b600080600060408486031215611a8657600080fd5b83356001600160401b03811115611a9c57600080fd5b611aa886828701611973565b9094509250611abb9050602085016118c4565b90509250925092565b600181811c90821680611ad857607f821691505b60208210811415611af957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601260045260246000fd5b600082611b2457611b24611aff565b500690565b634e487b7160e01b600052601160045260246000fd5b60008219821115611b5257611b52611b29565b500190565b600082821015611b6957611b69611b29565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611b9857611b98611b29565b5060010190565b600082611bae57611bae611aff565b500490565b6000816000190483118215151615611bcd57611bcd611b29565b500290565b600060208083526000845481600182811c915080831680611bf457607f831692505b858310811415611c1257634e487b7160e01b85526022600452602485fd5b878601838152602001818015611c2f5760018114611c4057611c6b565b60ff19861682528782019650611c6b565b60008b81526020902060005b86811015611c6557815484820152908501908901611c4c565b83019750505b50949998505050505050505050565b8183823760009101908152919050565b60008085851115611c9a57600080fd5b83861115611ca757600080fd5b505082019391909203915056fea2646970667358221220aa0092c17c49384a13249e0265b19dbeb33c73e64d0b22f7eedbf77627a9c05d64736f6c63430008090033",
163
+ "linkReferences": {},
164
+ "deployedLinkReferences": {}
165
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/419b36ebbd1e491d550576571e91ba6c.json"
4
+ }
@@ -0,0 +1,57 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "IOneStepProofEntry",
4
+ "sourceName": "src/osp/IOneStepProofEntry.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "components": [
10
+ {
11
+ "internalType": "uint256",
12
+ "name": "maxInboxMessagesRead",
13
+ "type": "uint256"
14
+ },
15
+ {
16
+ "internalType": "contract IBridge",
17
+ "name": "bridge",
18
+ "type": "address"
19
+ }
20
+ ],
21
+ "internalType": "struct ExecutionContext",
22
+ "name": "execCtx",
23
+ "type": "tuple"
24
+ },
25
+ {
26
+ "internalType": "uint256",
27
+ "name": "machineStep",
28
+ "type": "uint256"
29
+ },
30
+ {
31
+ "internalType": "bytes32",
32
+ "name": "beforeHash",
33
+ "type": "bytes32"
34
+ },
35
+ {
36
+ "internalType": "bytes",
37
+ "name": "proof",
38
+ "type": "bytes"
39
+ }
40
+ ],
41
+ "name": "proveOneStep",
42
+ "outputs": [
43
+ {
44
+ "internalType": "bytes32",
45
+ "name": "afterHash",
46
+ "type": "bytes32"
47
+ }
48
+ ],
49
+ "stateMutability": "view",
50
+ "type": "function"
51
+ }
52
+ ],
53
+ "bytecode": "0x",
54
+ "deployedBytecode": "0x",
55
+ "linkReferences": {},
56
+ "deployedLinkReferences": {}
57
+ }
@@ -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": "OneStepProofEntryLib",
4
+ "sourceName": "src/osp/IOneStepProofEntry.sol",
5
+ "abi": [],
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202403ab7a99a749beea3bfd750a1d415e136b592ed276f94daebe9245240422c364736f6c63430008090033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202403ab7a99a749beea3bfd750a1d415e136b592ed276f94daebe9245240422c364736f6c63430008090033",
8
+ "linkReferences": {},
9
+ "deployedLinkReferences": {}
10
+ }