@arbitrum/nitro-contracts 1.1.0-alpha.1 → 1.1.0-alpha.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (422) hide show
  1. package/LICENSE +114 -0
  2. package/README.md +2 -2
  3. package/build/types/@openzeppelin/contracts/access/Ownable.ts +175 -0
  4. package/build/types/@openzeppelin/contracts/access/index.ts +4 -0
  5. package/build/types/@openzeppelin/contracts/index.ts +11 -0
  6. package/build/types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.ts +87 -0
  7. package/build/types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.ts +4 -0
  8. package/build/types/@openzeppelin/contracts/interfaces/index.ts +5 -0
  9. package/build/types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.ts +108 -0
  10. package/build/types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.ts +108 -0
  11. package/build/types/@openzeppelin/contracts/proxy/ERC1967/index.ts +5 -0
  12. package/build/types/@openzeppelin/contracts/proxy/Proxy.ts +55 -0
  13. package/build/types/@openzeppelin/contracts/proxy/beacon/IBeacon.ts +87 -0
  14. package/build/types/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.ts +239 -0
  15. package/build/types/@openzeppelin/contracts/proxy/beacon/index.ts +5 -0
  16. package/build/types/@openzeppelin/contracts/proxy/index.ts +12 -0
  17. package/build/types/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.ts +359 -0
  18. package/build/types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.ts +278 -0
  19. package/build/types/@openzeppelin/contracts/proxy/transparent/index.ts +5 -0
  20. package/build/types/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.ts +216 -0
  21. package/build/types/@openzeppelin/contracts/proxy/utils/index.ts +4 -0
  22. package/build/types/@openzeppelin/contracts/token/ERC20/ERC20.ts +444 -0
  23. package/build/types/@openzeppelin/contracts/token/ERC20/IERC20.ts +322 -0
  24. package/build/types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.ts +507 -0
  25. package/build/types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts +364 -0
  26. package/build/types/@openzeppelin/contracts/token/ERC20/extensions/index.ts +5 -0
  27. package/build/types/@openzeppelin/contracts/token/ERC20/index.ts +9 -0
  28. package/build/types/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetFixedSupply.ts +507 -0
  29. package/build/types/@openzeppelin/contracts/token/ERC20/presets/index.ts +4 -0
  30. package/build/types/@openzeppelin/contracts/token/index.ts +5 -0
  31. package/build/types/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.ts +175 -0
  32. package/build/types/@openzeppelin/contracts-upgradeable/access/index.ts +4 -0
  33. package/build/types/@openzeppelin/contracts-upgradeable/index.ts +9 -0
  34. package/build/types/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.ts +111 -0
  35. package/build/types/@openzeppelin/contracts-upgradeable/security/index.ts +4 -0
  36. package/build/types/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.ts +322 -0
  37. package/build/types/@openzeppelin/contracts-upgradeable/token/ERC20/index.ts +4 -0
  38. package/build/types/@openzeppelin/contracts-upgradeable/token/index.ts +5 -0
  39. package/build/types/@openzeppelin/index.ts +7 -0
  40. package/build/types/common.ts +44 -0
  41. package/build/types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +78 -0
  42. package/build/types/factories/@openzeppelin/contracts/access/index.ts +4 -0
  43. package/build/types/factories/@openzeppelin/contracts/index.ts +7 -0
  44. package/build/types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.ts +39 -0
  45. package/build/types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.ts +4 -0
  46. package/build/types/factories/@openzeppelin/contracts/interfaces/index.ts +4 -0
  47. package/build/types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.ts +146 -0
  48. package/build/types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade__factory.ts +71 -0
  49. package/build/types/factories/@openzeppelin/contracts/proxy/ERC1967/index.ts +5 -0
  50. package/build/types/factories/@openzeppelin/contracts/proxy/Proxy__factory.ts +31 -0
  51. package/build/types/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.ts +39 -0
  52. package/build/types/factories/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon__factory.ts +169 -0
  53. package/build/types/factories/@openzeppelin/contracts/proxy/beacon/index.ts +5 -0
  54. package/build/types/factories/@openzeppelin/contracts/proxy/index.ts +8 -0
  55. package/build/types/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.ts +211 -0
  56. package/build/types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy__factory.ts +228 -0
  57. package/build/types/factories/@openzeppelin/contracts/proxy/transparent/index.ts +5 -0
  58. package/build/types/factories/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable__factory.ts +115 -0
  59. package/build/types/factories/@openzeppelin/contracts/proxy/utils/index.ts +4 -0
  60. package/build/types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts +349 -0
  61. package/build/types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts +206 -0
  62. package/build/types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable__factory.ts +327 -0
  63. package/build/types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts +248 -0
  64. package/build/types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts +5 -0
  65. package/build/types/factories/@openzeppelin/contracts/token/ERC20/index.ts +7 -0
  66. package/build/types/factories/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetFixedSupply__factory.ts +420 -0
  67. package/build/types/factories/@openzeppelin/contracts/token/ERC20/presets/index.ts +4 -0
  68. package/build/types/factories/@openzeppelin/contracts/token/index.ts +4 -0
  69. package/build/types/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.ts +78 -0
  70. package/build/types/factories/@openzeppelin/contracts-upgradeable/access/index.ts +4 -0
  71. package/build/types/factories/@openzeppelin/contracts-upgradeable/index.ts +6 -0
  72. package/build/types/factories/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable__factory.ts +65 -0
  73. package/build/types/factories/@openzeppelin/contracts-upgradeable/security/index.ts +4 -0
  74. package/build/types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable__factory.ts +209 -0
  75. package/build/types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/index.ts +4 -0
  76. package/build/types/factories/@openzeppelin/contracts-upgradeable/token/index.ts +4 -0
  77. package/build/types/factories/@openzeppelin/index.ts +5 -0
  78. package/build/types/factories/index.ts +5 -0
  79. package/build/types/factories/src/bridge/AbsBridge__factory.ts +612 -0
  80. package/build/types/factories/src/bridge/AbsInbox__factory.ts +455 -0
  81. package/build/types/factories/src/bridge/AbsOutbox__factory.ts +561 -0
  82. package/build/types/factories/src/bridge/Bridge__factory.ts +695 -0
  83. package/build/types/factories/src/bridge/ERC20Bridge__factory.ts +746 -0
  84. package/build/types/factories/src/bridge/ERC20Inbox__factory.ts +719 -0
  85. package/build/types/factories/src/bridge/ERC20Outbox__factory.ts +610 -0
  86. package/build/types/factories/src/bridge/IBridge__factory.ts +508 -0
  87. package/build/types/factories/src/bridge/IDelayedMessageProvider__factory.ts +62 -0
  88. package/build/types/factories/src/bridge/IERC20Bridge__factory.ts +576 -0
  89. package/build/types/factories/src/bridge/IERC20Inbox__factory.ts +461 -0
  90. package/build/types/factories/src/bridge/IEthBridge__factory.ts +553 -0
  91. package/build/types/factories/src/bridge/IEthInbox__factory.ts +653 -0
  92. package/build/types/factories/src/bridge/IInbox__factory.ts +318 -0
  93. package/build/types/factories/src/bridge/IOutbox__factory.ts +431 -0
  94. package/build/types/factories/src/bridge/IOwnable__factory.ts +36 -0
  95. package/build/types/factories/src/bridge/ISequencerInbox__factory.ts +666 -0
  96. package/build/types/factories/src/bridge/Inbox__factory.ts +999 -0
  97. package/build/types/factories/src/bridge/Outbox__factory.ts +591 -0
  98. package/build/types/factories/src/bridge/SequencerInbox__factory.ts +865 -0
  99. package/build/types/factories/src/bridge/index.ts +23 -0
  100. package/build/types/factories/src/challenge/ChallengeManager__factory.ts +720 -0
  101. package/build/types/factories/src/challenge/IChallengeManager__factory.ts +401 -0
  102. package/build/types/factories/src/challenge/IChallengeResultReceiver__factory.ts +53 -0
  103. package/build/types/factories/src/challenge/index.ts +6 -0
  104. package/build/types/factories/src/index.ts +12 -0
  105. package/build/types/factories/src/libraries/AdminFallbackProxy.sol/AdminFallbackProxy__factory.ts +128 -0
  106. package/build/types/factories/src/libraries/AdminFallbackProxy.sol/DoubleLogicERC1967Upgrade__factory.ts +88 -0
  107. package/build/types/factories/src/libraries/AdminFallbackProxy.sol/index.ts +5 -0
  108. package/build/types/factories/src/libraries/DoubleLogicUUPSUpgradeable__factory.ts +163 -0
  109. package/build/types/factories/src/libraries/IGasRefunder__factory.ts +55 -0
  110. package/build/types/factories/src/libraries/UUPSNotUpgradeable__factory.ts +97 -0
  111. package/build/types/factories/src/libraries/index.ts +7 -0
  112. package/build/types/factories/src/mocks/BridgeStub__factory.ts +612 -0
  113. package/build/types/factories/src/mocks/BridgeUnproxied__factory.ts +706 -0
  114. package/build/types/factories/src/mocks/InboxStub__factory.ts +702 -0
  115. package/build/types/factories/src/mocks/MockResultReceiver__factory.ts +244 -0
  116. package/build/types/factories/src/mocks/ProxyAdminForBinding__factory.ts +215 -0
  117. package/build/types/factories/src/mocks/SequencerInboxStub__factory.ts +938 -0
  118. package/build/types/factories/src/mocks/SimpleProxy__factory.ts +83 -0
  119. package/build/types/factories/src/mocks/Simple__factory.ts +287 -0
  120. package/build/types/factories/src/mocks/SingleExecutionChallenge__factory.ts +823 -0
  121. package/build/types/factories/src/mocks/TimedOutChallengeManager__factory.ts +724 -0
  122. package/build/types/factories/src/mocks/index.ts +13 -0
  123. package/build/types/factories/src/node-interface/NodeInterfaceDebug__factory.ts +82 -0
  124. package/build/types/factories/src/node-interface/NodeInterface__factory.ts +301 -0
  125. package/build/types/factories/src/node-interface/index.ts +5 -0
  126. package/build/types/factories/src/osp/HashProofHelper__factory.ts +216 -0
  127. package/build/types/factories/src/osp/IOneStepProofEntry__factory.ts +72 -0
  128. package/build/types/factories/src/osp/IOneStepProver__factory.ts +492 -0
  129. package/build/types/factories/src/osp/OneStepProofEntry__factory.ts +206 -0
  130. package/build/types/factories/src/osp/OneStepProver0__factory.ts +528 -0
  131. package/build/types/factories/src/osp/OneStepProverHostIo__factory.ts +528 -0
  132. package/build/types/factories/src/osp/OneStepProverMath__factory.ts +528 -0
  133. package/build/types/factories/src/osp/OneStepProverMemory__factory.ts +528 -0
  134. package/build/types/factories/src/osp/index.ts +11 -0
  135. package/build/types/factories/src/precompiles/ArbAddressTable__factory.ts +163 -0
  136. package/build/types/factories/src/precompiles/ArbAggregator__factory.ts +163 -0
  137. package/build/types/factories/src/precompiles/ArbDebug__factory.ts +208 -0
  138. package/build/types/factories/src/precompiles/ArbFunctionTable__factory.ts +92 -0
  139. package/build/types/factories/src/precompiles/ArbGasInfo__factory.ts +339 -0
  140. package/build/types/factories/src/precompiles/ArbInfo__factory.ts +64 -0
  141. package/build/types/factories/src/precompiles/ArbOwnerPublic__factory.ts +84 -0
  142. package/build/types/factories/src/precompiles/ArbOwner__factory.ts +393 -0
  143. package/build/types/factories/src/precompiles/ArbRetryableTx__factory.ts +321 -0
  144. package/build/types/factories/src/precompiles/ArbStatistics__factory.ts +64 -0
  145. package/build/types/factories/src/precompiles/ArbSys__factory.ts +389 -0
  146. package/build/types/factories/src/precompiles/ArbosActs__factory.ts +92 -0
  147. package/build/types/factories/src/precompiles/ArbosTest__factory.ts +39 -0
  148. package/build/types/factories/src/precompiles/index.ts +16 -0
  149. package/build/types/factories/src/rollup/AbsBridgeCreator__factory.ts +182 -0
  150. package/build/types/factories/src/rollup/AbsRollupCreator__factory.ts +285 -0
  151. package/build/types/factories/src/rollup/AbsRollupEventInbox__factory.ts +125 -0
  152. package/build/types/factories/src/rollup/BridgeCreator__factory.ts +294 -0
  153. package/build/types/factories/src/rollup/ERC20BridgeCreator__factory.ts +299 -0
  154. package/build/types/factories/src/rollup/ERC20RollupCreator__factory.ts +439 -0
  155. package/build/types/factories/src/rollup/ERC20RollupEventInbox__factory.ts +170 -0
  156. package/build/types/factories/src/rollup/IBridgeCreator.sol/IBridgeCreator__factory.ts +124 -0
  157. package/build/types/factories/src/rollup/IBridgeCreator.sol/IERC20BridgeCreator__factory.ts +200 -0
  158. package/build/types/factories/src/rollup/IBridgeCreator.sol/IEthBridgeCreator__factory.ts +195 -0
  159. package/build/types/factories/src/rollup/IBridgeCreator.sol/index.ts +6 -0
  160. package/build/types/factories/src/rollup/IRollupAdmin__factory.ts +559 -0
  161. package/build/types/factories/src/rollup/IRollupCore__factory.ts +904 -0
  162. package/build/types/factories/src/rollup/IRollupCreator.sol/IERC20RollupCreator__factory.ts +182 -0
  163. package/build/types/factories/src/rollup/IRollupCreator.sol/IEthRollupCreator__factory.ts +177 -0
  164. package/build/types/factories/src/rollup/IRollupCreator.sol/IRollupCreator__factory.ts +69 -0
  165. package/build/types/factories/src/rollup/IRollupCreator.sol/index.ts +6 -0
  166. package/build/types/factories/src/rollup/IRollupEventInbox__factory.ts +83 -0
  167. package/build/types/factories/src/rollup/IRollupLogic.sol/IRollupUserAbs__factory.ts +1324 -0
  168. package/build/types/factories/src/rollup/IRollupLogic.sol/IRollupUserERC20__factory.ts +1458 -0
  169. package/build/types/factories/src/rollup/IRollupLogic.sol/IRollupUser__factory.ts +1443 -0
  170. package/build/types/factories/src/rollup/IRollupLogic.sol/index.ts +6 -0
  171. package/build/types/factories/src/rollup/RollupAdminLogic__factory.ts +1859 -0
  172. package/build/types/factories/src/rollup/RollupCore__factory.ts +1066 -0
  173. package/build/types/factories/src/rollup/RollupCreator__factory.ts +434 -0
  174. package/build/types/factories/src/rollup/RollupEventInbox__factory.ts +166 -0
  175. package/build/types/factories/src/rollup/RollupProxy__factory.ts +277 -0
  176. package/build/types/factories/src/rollup/RollupUserLogic.sol/AbsRollupUserLogic__factory.ts +1593 -0
  177. package/build/types/factories/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic__factory.ts +1767 -0
  178. package/build/types/factories/src/rollup/RollupUserLogic.sol/RollupUserLogic__factory.ts +1748 -0
  179. package/build/types/factories/src/rollup/RollupUserLogic.sol/index.ts +6 -0
  180. package/build/types/factories/src/rollup/ValidatorUtils__factory.ts +430 -0
  181. package/build/types/factories/src/rollup/ValidatorWalletCreator__factory.ts +205 -0
  182. package/build/types/factories/src/rollup/ValidatorWallet__factory.ts +486 -0
  183. package/build/types/factories/src/rollup/index.ts +25 -0
  184. package/build/types/factories/src/test-helpers/BridgeTester__factory.ts +654 -0
  185. package/build/types/factories/src/test-helpers/CryptographyPrimitivesTester__factory.ts +111 -0
  186. package/build/types/factories/src/test-helpers/EthVault__factory.ts +95 -0
  187. package/build/types/factories/src/test-helpers/MessageTester__factory.ts +135 -0
  188. package/build/types/factories/src/test-helpers/OutboxWithoutOptTester__factory.ts +575 -0
  189. package/build/types/factories/src/test-helpers/RollupMock__factory.ts +100 -0
  190. package/build/types/factories/src/test-helpers/ValueArrayTester__factory.ts +69 -0
  191. package/build/types/factories/src/test-helpers/index.ts +10 -0
  192. package/build/types/index.ts +240 -0
  193. package/build/types/src/bridge/AbsBridge.ts +863 -0
  194. package/build/types/src/bridge/AbsInbox.ts +664 -0
  195. package/build/types/src/bridge/AbsOutbox.ts +700 -0
  196. package/build/types/src/bridge/Bridge.ts +934 -0
  197. package/build/types/src/bridge/ERC20Bridge.ts +970 -0
  198. package/build/types/src/bridge/ERC20Inbox.ts +869 -0
  199. package/build/types/src/bridge/ERC20Outbox.ts +722 -0
  200. package/build/types/src/bridge/IBridge.ts +799 -0
  201. package/build/types/src/bridge/IDelayedMessageProvider.ts +108 -0
  202. package/build/types/src/bridge/IERC20Bridge.ts +914 -0
  203. package/build/types/src/bridge/IERC20Inbox.ts +788 -0
  204. package/build/types/src/bridge/IEthBridge.ts +871 -0
  205. package/build/types/src/bridge/IEthInbox.ts +1081 -0
  206. package/build/types/src/bridge/IInbox.ts +583 -0
  207. package/build/types/src/bridge/IOutbox.ts +654 -0
  208. package/build/types/src/bridge/IOwnable.ts +81 -0
  209. package/build/types/src/bridge/ISequencerInbox.ts +1038 -0
  210. package/build/types/src/bridge/Inbox.ts +1279 -0
  211. package/build/types/src/bridge/Outbox.ts +700 -0
  212. package/build/types/src/bridge/SequencerInbox.ts +1138 -0
  213. package/build/types/src/bridge/index.ts +23 -0
  214. package/build/types/src/challenge/ChallengeManager.ts +889 -0
  215. package/build/types/src/challenge/IChallengeManager.ts +543 -0
  216. package/build/types/src/challenge/IChallengeResultReceiver.ts +115 -0
  217. package/build/types/src/challenge/index.ts +6 -0
  218. package/build/types/src/index.ts +21 -0
  219. package/build/types/src/libraries/AdminFallbackProxy.sol/AdminFallbackProxy.ts +128 -0
  220. package/build/types/src/libraries/AdminFallbackProxy.sol/DoubleLogicERC1967Upgrade.ts +128 -0
  221. package/build/types/src/libraries/AdminFallbackProxy.sol/index.ts +5 -0
  222. package/build/types/src/libraries/DoubleLogicUUPSUpgradeable.ts +314 -0
  223. package/build/types/src/libraries/IGasRefunder.ts +112 -0
  224. package/build/types/src/libraries/UUPSNotUpgradeable.ts +164 -0
  225. package/build/types/src/libraries/index.ts +8 -0
  226. package/build/types/src/mocks/BridgeStub.ts +887 -0
  227. package/build/types/src/mocks/BridgeUnproxied.ts +934 -0
  228. package/build/types/src/mocks/InboxStub.ts +1076 -0
  229. package/build/types/src/mocks/MockResultReceiver.ts +301 -0
  230. package/build/types/src/mocks/ProxyAdminForBinding.ts +359 -0
  231. package/build/types/src/mocks/SequencerInboxStub.ts +1173 -0
  232. package/build/types/src/mocks/Simple.ts +514 -0
  233. package/build/types/src/mocks/SimpleProxy.ts +55 -0
  234. package/build/types/src/mocks/SingleExecutionChallenge.ts +889 -0
  235. package/build/types/src/mocks/TimedOutChallengeManager.ts +883 -0
  236. package/build/types/src/mocks/index.ts +13 -0
  237. package/build/types/src/node-interface/NodeInterface.ts +502 -0
  238. package/build/types/src/node-interface/NodeInterfaceDebug.ts +137 -0
  239. package/build/types/src/node-interface/index.ts +5 -0
  240. package/build/types/src/osp/HashProofHelper.ts +308 -0
  241. package/build/types/src/osp/IOneStepProofEntry.ts +128 -0
  242. package/build/types/src/osp/IOneStepProver.ts +284 -0
  243. package/build/types/src/osp/OneStepProofEntry.ts +196 -0
  244. package/build/types/src/osp/OneStepProver0.ts +284 -0
  245. package/build/types/src/osp/OneStepProverHostIo.ts +284 -0
  246. package/build/types/src/osp/OneStepProverMath.ts +284 -0
  247. package/build/types/src/osp/OneStepProverMemory.ts +284 -0
  248. package/build/types/src/osp/index.ts +11 -0
  249. package/build/types/src/precompiles/ArbAddressTable.ts +248 -0
  250. package/build/types/src/precompiles/ArbAggregator.ts +335 -0
  251. package/build/types/src/precompiles/ArbDebug.ts +292 -0
  252. package/build/types/src/precompiles/ArbFunctionTable.ts +150 -0
  253. package/build/types/src/precompiles/ArbGasInfo.ts +494 -0
  254. package/build/types/src/precompiles/ArbInfo.ts +105 -0
  255. package/build/types/src/precompiles/ArbOwner.ts +928 -0
  256. package/build/types/src/precompiles/ArbOwnerPublic.ts +157 -0
  257. package/build/types/src/precompiles/ArbRetryableTx.ts +467 -0
  258. package/build/types/src/precompiles/ArbStatistics.ts +93 -0
  259. package/build/types/src/precompiles/ArbSys.ts +553 -0
  260. package/build/types/src/precompiles/ArbosActs.ts +173 -0
  261. package/build/types/src/precompiles/ArbosTest.ts +97 -0
  262. package/build/types/src/precompiles/index.ts +16 -0
  263. package/build/types/src/rollup/AbsBridgeCreator.ts +348 -0
  264. package/build/types/src/rollup/AbsRollupCreator.ts +449 -0
  265. package/build/types/src/rollup/AbsRollupEventInbox.ts +218 -0
  266. package/build/types/src/rollup/BridgeCreator.ts +415 -0
  267. package/build/types/src/rollup/ERC20BridgeCreator.ts +420 -0
  268. package/build/types/src/rollup/ERC20RollupCreator.ts +561 -0
  269. package/build/types/src/rollup/ERC20RollupEventInbox.ts +218 -0
  270. package/build/types/src/rollup/IBridgeCreator.sol/IBridgeCreator.ts +231 -0
  271. package/build/types/src/rollup/IBridgeCreator.sol/IERC20BridgeCreator.ts +303 -0
  272. package/build/types/src/rollup/IBridgeCreator.sol/IEthBridgeCreator.ts +298 -0
  273. package/build/types/src/rollup/IBridgeCreator.sol/index.ts +6 -0
  274. package/build/types/src/rollup/IRollupAdmin.ts +1003 -0
  275. package/build/types/src/rollup/IRollupCore.ts +1183 -0
  276. package/build/types/src/rollup/IRollupCreator.sol/IERC20RollupCreator.ts +247 -0
  277. package/build/types/src/rollup/IRollupCreator.sol/IEthRollupCreator.ts +242 -0
  278. package/build/types/src/rollup/IRollupCreator.sol/IRollupCreator.ts +134 -0
  279. package/build/types/src/rollup/IRollupCreator.sol/index.ts +6 -0
  280. package/build/types/src/rollup/IRollupEventInbox.ts +167 -0
  281. package/build/types/src/rollup/IRollupLogic.sol/IRollupUser.ts +2022 -0
  282. package/build/types/src/rollup/IRollupLogic.sol/IRollupUserAbs.ts +1901 -0
  283. package/build/types/src/rollup/IRollupLogic.sol/IRollupUserERC20.ts +2036 -0
  284. package/build/types/src/rollup/IRollupLogic.sol/index.ts +6 -0
  285. package/build/types/src/rollup/RollupAdminLogic.ts +2593 -0
  286. package/build/types/src/rollup/RollupCore.ts +1406 -0
  287. package/build/types/src/rollup/RollupCreator.ts +556 -0
  288. package/build/types/src/rollup/RollupEventInbox.ts +218 -0
  289. package/build/types/src/rollup/RollupProxy.ts +285 -0
  290. package/build/types/src/rollup/RollupUserLogic.sol/AbsRollupUserLogic.ts +2282 -0
  291. package/build/types/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic.ts +2417 -0
  292. package/build/types/src/rollup/RollupUserLogic.sol/RollupUserLogic.ts +2403 -0
  293. package/build/types/src/rollup/RollupUserLogic.sol/index.ts +6 -0
  294. package/build/types/src/rollup/ValidatorUtils.ts +561 -0
  295. package/build/types/src/rollup/ValidatorWallet.ts +751 -0
  296. package/build/types/src/rollup/ValidatorWalletCreator.ts +294 -0
  297. package/build/types/src/rollup/index.ts +29 -0
  298. package/build/types/src/test-helpers/BridgeTester.ts +899 -0
  299. package/build/types/src/test-helpers/CryptographyPrimitivesTester.ts +141 -0
  300. package/build/types/src/test-helpers/EthVault.ts +141 -0
  301. package/build/types/src/test-helpers/MessageTester.ts +182 -0
  302. package/build/types/src/test-helpers/OutboxWithoutOptTester.ts +700 -0
  303. package/build/types/src/test-helpers/RollupMock.ts +164 -0
  304. package/build/types/src/test-helpers/ValueArrayTester.ts +81 -0
  305. package/build/types/src/test-helpers/index.ts +10 -0
  306. package/package.json +9 -3
  307. package/src/bridge/AbsBridge.sol +302 -0
  308. package/src/bridge/AbsInbox.sol +335 -0
  309. package/src/bridge/AbsOutbox.sol +295 -0
  310. package/src/bridge/Bridge.sol +15 -244
  311. package/src/bridge/ERC20Bridge.sol +74 -0
  312. package/src/bridge/ERC20Inbox.sol +141 -0
  313. package/src/bridge/ERC20Outbox.sol +27 -0
  314. package/src/bridge/IBridge.sol +1 -16
  315. package/src/bridge/IDelayedMessageProvider.sol +1 -1
  316. package/src/bridge/IERC20Bridge.sol +35 -0
  317. package/src/bridge/IERC20Inbox.sol +75 -0
  318. package/src/bridge/IEthBridge.sol +26 -0
  319. package/src/bridge/IEthInbox.sol +133 -0
  320. package/src/bridge/IInbox.sol +13 -123
  321. package/src/bridge/IOutbox.sol +1 -1
  322. package/src/bridge/IOwnable.sol +1 -1
  323. package/src/bridge/ISequencerInbox.sol +12 -4
  324. package/src/bridge/Inbox.sol +46 -333
  325. package/src/bridge/Messages.sol +1 -1
  326. package/src/bridge/Outbox.sol +8 -265
  327. package/src/bridge/SequencerInbox.sol +29 -8
  328. package/src/challenge/ChallengeLib.sol +1 -1
  329. package/src/challenge/ChallengeManager.sol +1 -1
  330. package/src/challenge/IChallengeManager.sol +1 -1
  331. package/src/challenge/IChallengeResultReceiver.sol +1 -1
  332. package/src/libraries/AddressAliasHelper.sol +1 -1
  333. package/src/libraries/AdminFallbackProxy.sol +1 -1
  334. package/src/libraries/ArbitrumChecker.sol +16 -0
  335. package/src/libraries/Constants.sol +1 -4
  336. package/src/libraries/CryptographyPrimitives.sol +1 -1
  337. package/src/libraries/DelegateCallAware.sol +1 -1
  338. package/src/libraries/DoubleLogicUUPSUpgradeable.sol +1 -1
  339. package/src/libraries/Error.sol +9 -1
  340. package/src/libraries/IGasRefunder.sol +1 -1
  341. package/src/libraries/MerkleLib.sol +1 -1
  342. package/src/libraries/MessageTypes.sol +1 -1
  343. package/src/mocks/BridgeStub.sol +3 -2
  344. package/src/mocks/BridgeUnproxied.sol +1 -1
  345. package/src/mocks/InboxStub.sol +28 -5
  346. package/src/mocks/MockResultReceiver.sol +1 -1
  347. package/src/mocks/ProxyAdminForBinding.sol +1 -1
  348. package/src/mocks/SequencerInboxStub.sol +3 -2
  349. package/src/mocks/Simple.sol +3 -1
  350. package/src/mocks/SimpleProxy.sol +1 -1
  351. package/src/mocks/SingleExecutionChallenge.sol +1 -1
  352. package/src/mocks/TimedOutChallengeManager.sol +1 -1
  353. package/src/node-interface/NodeInterface.sol +1 -1
  354. package/src/node-interface/NodeInterfaceDebug.sol +1 -1
  355. package/src/osp/HashProofHelper.sol +1 -1
  356. package/src/osp/IOneStepProofEntry.sol +1 -1
  357. package/src/osp/IOneStepProver.sol +2 -1
  358. package/src/osp/OneStepProofEntry.sol +1 -1
  359. package/src/osp/OneStepProver0.sol +1 -1
  360. package/src/osp/OneStepProverHostIo.sol +2 -1
  361. package/src/osp/OneStepProverMath.sol +1 -1
  362. package/src/osp/OneStepProverMemory.sol +2 -1
  363. package/src/precompiles/ArbAddressTable.sol +1 -1
  364. package/src/precompiles/ArbAggregator.sol +1 -1
  365. package/src/precompiles/ArbBLS.sol +1 -1
  366. package/src/precompiles/ArbDebug.sol +1 -1
  367. package/src/precompiles/ArbFunctionTable.sol +1 -1
  368. package/src/precompiles/ArbGasInfo.sol +1 -1
  369. package/src/precompiles/ArbInfo.sol +1 -1
  370. package/src/precompiles/ArbOwner.sol +1 -1
  371. package/src/precompiles/ArbOwnerPublic.sol +1 -1
  372. package/src/precompiles/ArbRetryableTx.sol +1 -1
  373. package/src/precompiles/ArbStatistics.sol +1 -1
  374. package/src/precompiles/ArbSys.sol +1 -1
  375. package/src/precompiles/ArbosTest.sol +1 -1
  376. package/src/rollup/AbsBridgeCreator.sol +117 -0
  377. package/src/rollup/AbsRollupCreator.sol +164 -0
  378. package/src/rollup/AbsRollupEventInbox.sol +62 -0
  379. package/src/rollup/BridgeCreator.sol +17 -88
  380. package/src/rollup/Config.sol +43 -0
  381. package/src/rollup/ERC20BridgeCreator.sol +48 -0
  382. package/src/rollup/ERC20RollupCreator.sol +48 -0
  383. package/src/rollup/ERC20RollupEventInbox.sol +26 -0
  384. package/src/rollup/IBridgeCreator.sol +64 -0
  385. package/src/rollup/IRollupAdmin.sol +138 -0
  386. package/src/rollup/IRollupCore.sol +7 -3
  387. package/src/rollup/IRollupCreator.sol +40 -0
  388. package/src/rollup/IRollupEventInbox.sol +1 -1
  389. package/src/rollup/IRollupLogic.sol +4 -132
  390. package/src/rollup/Node.sol +15 -1
  391. package/src/rollup/RollupAdminLogic.sol +6 -8
  392. package/src/rollup/RollupCore.sol +4 -11
  393. package/src/rollup/RollupCreator.sol +22 -97
  394. package/src/rollup/RollupEventInbox.sol +12 -35
  395. package/src/rollup/RollupLib.sol +2 -41
  396. package/src/rollup/RollupProxy.sol +3 -2
  397. package/src/rollup/RollupUserLogic.sol +6 -4
  398. package/src/rollup/ValidatorUtils.sol +2 -1
  399. package/src/rollup/ValidatorWallet.sol +1 -1
  400. package/src/rollup/ValidatorWalletCreator.sol +1 -1
  401. package/src/state/Deserialize.sol +2 -2
  402. package/src/state/GlobalState.sol +1 -1
  403. package/src/state/Instructions.sol +1 -1
  404. package/src/state/Machine.sol +1 -1
  405. package/src/state/MerkleProof.sol +1 -1
  406. package/src/state/Module.sol +3 -3
  407. package/src/state/ModuleMemory.sol +3 -8
  408. package/src/state/ModuleMemoryCompact.sol +17 -0
  409. package/src/state/PcArray.sol +1 -1
  410. package/src/state/StackFrame.sol +1 -1
  411. package/src/state/Value.sol +1 -1
  412. package/src/state/ValueArray.sol +1 -1
  413. package/src/state/ValueStack.sol +1 -1
  414. package/src/test-helpers/BridgeTester.sol +3 -2
  415. package/src/test-helpers/CryptographyPrimitivesTester.sol +1 -1
  416. package/src/test-helpers/EthVault.sol +20 -0
  417. package/src/test-helpers/InterfaceCompatibilityTester.sol +1 -1
  418. package/src/test-helpers/MessageTester.sol +1 -1
  419. package/src/test-helpers/OutboxWithoutOptTester.sol +1 -1
  420. package/src/test-helpers/RollupMock.sol +1 -1
  421. package/src/test-helpers/ValueArrayTester.sol +1 -1
  422. package/hardhat.config.ts +0 -164
@@ -0,0 +1,823 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ Signer,
6
+ utils,
7
+ Contract,
8
+ ContractFactory,
9
+ BytesLike,
10
+ BigNumberish,
11
+ Overrides,
12
+ } from "ethers";
13
+ import type { Provider, TransactionRequest } from "@ethersproject/providers";
14
+ import type {
15
+ SingleExecutionChallenge,
16
+ SingleExecutionChallengeInterface,
17
+ } from "../../../src/mocks/SingleExecutionChallenge";
18
+
19
+ const _abi = [
20
+ {
21
+ inputs: [
22
+ {
23
+ internalType: "contract IOneStepProofEntry",
24
+ name: "osp_",
25
+ type: "address",
26
+ },
27
+ {
28
+ internalType: "contract IChallengeResultReceiver",
29
+ name: "resultReceiver_",
30
+ type: "address",
31
+ },
32
+ {
33
+ internalType: "uint64",
34
+ name: "maxInboxMessagesRead_",
35
+ type: "uint64",
36
+ },
37
+ {
38
+ internalType: "bytes32[2]",
39
+ name: "startAndEndHashes",
40
+ type: "bytes32[2]",
41
+ },
42
+ {
43
+ internalType: "uint256",
44
+ name: "numSteps_",
45
+ type: "uint256",
46
+ },
47
+ {
48
+ internalType: "address",
49
+ name: "asserter_",
50
+ type: "address",
51
+ },
52
+ {
53
+ internalType: "address",
54
+ name: "challenger_",
55
+ type: "address",
56
+ },
57
+ {
58
+ internalType: "uint256",
59
+ name: "asserterTimeLeft_",
60
+ type: "uint256",
61
+ },
62
+ {
63
+ internalType: "uint256",
64
+ name: "challengerTimeLeft_",
65
+ type: "uint256",
66
+ },
67
+ ],
68
+ stateMutability: "nonpayable",
69
+ type: "constructor",
70
+ },
71
+ {
72
+ anonymous: false,
73
+ inputs: [
74
+ {
75
+ indexed: true,
76
+ internalType: "uint64",
77
+ name: "challengeIndex",
78
+ type: "uint64",
79
+ },
80
+ {
81
+ indexed: true,
82
+ internalType: "bytes32",
83
+ name: "challengeRoot",
84
+ type: "bytes32",
85
+ },
86
+ {
87
+ indexed: false,
88
+ internalType: "uint256",
89
+ name: "challengedSegmentStart",
90
+ type: "uint256",
91
+ },
92
+ {
93
+ indexed: false,
94
+ internalType: "uint256",
95
+ name: "challengedSegmentLength",
96
+ type: "uint256",
97
+ },
98
+ {
99
+ indexed: false,
100
+ internalType: "bytes32[]",
101
+ name: "chainHashes",
102
+ type: "bytes32[]",
103
+ },
104
+ ],
105
+ name: "Bisected",
106
+ type: "event",
107
+ },
108
+ {
109
+ anonymous: false,
110
+ inputs: [
111
+ {
112
+ indexed: true,
113
+ internalType: "uint64",
114
+ name: "challengeIndex",
115
+ type: "uint64",
116
+ },
117
+ {
118
+ indexed: false,
119
+ internalType: "enum IChallengeManager.ChallengeTerminationType",
120
+ name: "kind",
121
+ type: "uint8",
122
+ },
123
+ ],
124
+ name: "ChallengeEnded",
125
+ type: "event",
126
+ },
127
+ {
128
+ anonymous: false,
129
+ inputs: [
130
+ {
131
+ indexed: true,
132
+ internalType: "uint64",
133
+ name: "challengeIndex",
134
+ type: "uint64",
135
+ },
136
+ {
137
+ indexed: false,
138
+ internalType: "uint256",
139
+ name: "blockSteps",
140
+ type: "uint256",
141
+ },
142
+ ],
143
+ name: "ExecutionChallengeBegun",
144
+ type: "event",
145
+ },
146
+ {
147
+ anonymous: false,
148
+ inputs: [
149
+ {
150
+ indexed: true,
151
+ internalType: "uint64",
152
+ name: "challengeIndex",
153
+ type: "uint64",
154
+ },
155
+ {
156
+ components: [
157
+ {
158
+ internalType: "bytes32[2]",
159
+ name: "bytes32Vals",
160
+ type: "bytes32[2]",
161
+ },
162
+ {
163
+ internalType: "uint64[2]",
164
+ name: "u64Vals",
165
+ type: "uint64[2]",
166
+ },
167
+ ],
168
+ indexed: false,
169
+ internalType: "struct GlobalState",
170
+ name: "startState",
171
+ type: "tuple",
172
+ },
173
+ {
174
+ components: [
175
+ {
176
+ internalType: "bytes32[2]",
177
+ name: "bytes32Vals",
178
+ type: "bytes32[2]",
179
+ },
180
+ {
181
+ internalType: "uint64[2]",
182
+ name: "u64Vals",
183
+ type: "uint64[2]",
184
+ },
185
+ ],
186
+ indexed: false,
187
+ internalType: "struct GlobalState",
188
+ name: "endState",
189
+ type: "tuple",
190
+ },
191
+ ],
192
+ name: "InitiatedChallenge",
193
+ type: "event",
194
+ },
195
+ {
196
+ anonymous: false,
197
+ inputs: [
198
+ {
199
+ indexed: true,
200
+ internalType: "uint64",
201
+ name: "challengeIndex",
202
+ type: "uint64",
203
+ },
204
+ ],
205
+ name: "OneStepProofCompleted",
206
+ type: "event",
207
+ },
208
+ {
209
+ inputs: [
210
+ {
211
+ internalType: "uint64",
212
+ name: "challengeIndex",
213
+ type: "uint64",
214
+ },
215
+ {
216
+ components: [
217
+ {
218
+ internalType: "uint256",
219
+ name: "oldSegmentsStart",
220
+ type: "uint256",
221
+ },
222
+ {
223
+ internalType: "uint256",
224
+ name: "oldSegmentsLength",
225
+ type: "uint256",
226
+ },
227
+ {
228
+ internalType: "bytes32[]",
229
+ name: "oldSegments",
230
+ type: "bytes32[]",
231
+ },
232
+ {
233
+ internalType: "uint256",
234
+ name: "challengePosition",
235
+ type: "uint256",
236
+ },
237
+ ],
238
+ internalType: "struct ChallengeLib.SegmentSelection",
239
+ name: "selection",
240
+ type: "tuple",
241
+ },
242
+ {
243
+ internalType: "bytes32[]",
244
+ name: "newSegments",
245
+ type: "bytes32[]",
246
+ },
247
+ ],
248
+ name: "bisectExecution",
249
+ outputs: [],
250
+ stateMutability: "nonpayable",
251
+ type: "function",
252
+ },
253
+ {
254
+ inputs: [],
255
+ name: "bridge",
256
+ outputs: [
257
+ {
258
+ internalType: "contract IBridge",
259
+ name: "",
260
+ type: "address",
261
+ },
262
+ ],
263
+ stateMutability: "view",
264
+ type: "function",
265
+ },
266
+ {
267
+ inputs: [
268
+ {
269
+ internalType: "uint64",
270
+ name: "challengeIndex",
271
+ type: "uint64",
272
+ },
273
+ {
274
+ components: [
275
+ {
276
+ internalType: "uint256",
277
+ name: "oldSegmentsStart",
278
+ type: "uint256",
279
+ },
280
+ {
281
+ internalType: "uint256",
282
+ name: "oldSegmentsLength",
283
+ type: "uint256",
284
+ },
285
+ {
286
+ internalType: "bytes32[]",
287
+ name: "oldSegments",
288
+ type: "bytes32[]",
289
+ },
290
+ {
291
+ internalType: "uint256",
292
+ name: "challengePosition",
293
+ type: "uint256",
294
+ },
295
+ ],
296
+ internalType: "struct ChallengeLib.SegmentSelection",
297
+ name: "selection",
298
+ type: "tuple",
299
+ },
300
+ {
301
+ internalType: "enum MachineStatus[2]",
302
+ name: "machineStatuses",
303
+ type: "uint8[2]",
304
+ },
305
+ {
306
+ internalType: "bytes32[2]",
307
+ name: "globalStateHashes",
308
+ type: "bytes32[2]",
309
+ },
310
+ {
311
+ internalType: "uint256",
312
+ name: "numSteps",
313
+ type: "uint256",
314
+ },
315
+ ],
316
+ name: "challengeExecution",
317
+ outputs: [],
318
+ stateMutability: "nonpayable",
319
+ type: "function",
320
+ },
321
+ {
322
+ inputs: [
323
+ {
324
+ internalType: "uint64",
325
+ name: "challengeIndex",
326
+ type: "uint64",
327
+ },
328
+ ],
329
+ name: "challengeInfo",
330
+ outputs: [
331
+ {
332
+ components: [
333
+ {
334
+ components: [
335
+ {
336
+ internalType: "address",
337
+ name: "addr",
338
+ type: "address",
339
+ },
340
+ {
341
+ internalType: "uint256",
342
+ name: "timeLeft",
343
+ type: "uint256",
344
+ },
345
+ ],
346
+ internalType: "struct ChallengeLib.Participant",
347
+ name: "current",
348
+ type: "tuple",
349
+ },
350
+ {
351
+ components: [
352
+ {
353
+ internalType: "address",
354
+ name: "addr",
355
+ type: "address",
356
+ },
357
+ {
358
+ internalType: "uint256",
359
+ name: "timeLeft",
360
+ type: "uint256",
361
+ },
362
+ ],
363
+ internalType: "struct ChallengeLib.Participant",
364
+ name: "next",
365
+ type: "tuple",
366
+ },
367
+ {
368
+ internalType: "uint256",
369
+ name: "lastMoveTimestamp",
370
+ type: "uint256",
371
+ },
372
+ {
373
+ internalType: "bytes32",
374
+ name: "wasmModuleRoot",
375
+ type: "bytes32",
376
+ },
377
+ {
378
+ internalType: "bytes32",
379
+ name: "challengeStateHash",
380
+ type: "bytes32",
381
+ },
382
+ {
383
+ internalType: "uint64",
384
+ name: "maxInboxMessages",
385
+ type: "uint64",
386
+ },
387
+ {
388
+ internalType: "enum ChallengeLib.ChallengeMode",
389
+ name: "mode",
390
+ type: "uint8",
391
+ },
392
+ ],
393
+ internalType: "struct ChallengeLib.Challenge",
394
+ name: "",
395
+ type: "tuple",
396
+ },
397
+ ],
398
+ stateMutability: "view",
399
+ type: "function",
400
+ },
401
+ {
402
+ inputs: [
403
+ {
404
+ internalType: "uint256",
405
+ name: "",
406
+ type: "uint256",
407
+ },
408
+ ],
409
+ name: "challenges",
410
+ outputs: [
411
+ {
412
+ components: [
413
+ {
414
+ internalType: "address",
415
+ name: "addr",
416
+ type: "address",
417
+ },
418
+ {
419
+ internalType: "uint256",
420
+ name: "timeLeft",
421
+ type: "uint256",
422
+ },
423
+ ],
424
+ internalType: "struct ChallengeLib.Participant",
425
+ name: "current",
426
+ type: "tuple",
427
+ },
428
+ {
429
+ components: [
430
+ {
431
+ internalType: "address",
432
+ name: "addr",
433
+ type: "address",
434
+ },
435
+ {
436
+ internalType: "uint256",
437
+ name: "timeLeft",
438
+ type: "uint256",
439
+ },
440
+ ],
441
+ internalType: "struct ChallengeLib.Participant",
442
+ name: "next",
443
+ type: "tuple",
444
+ },
445
+ {
446
+ internalType: "uint256",
447
+ name: "lastMoveTimestamp",
448
+ type: "uint256",
449
+ },
450
+ {
451
+ internalType: "bytes32",
452
+ name: "wasmModuleRoot",
453
+ type: "bytes32",
454
+ },
455
+ {
456
+ internalType: "bytes32",
457
+ name: "challengeStateHash",
458
+ type: "bytes32",
459
+ },
460
+ {
461
+ internalType: "uint64",
462
+ name: "maxInboxMessages",
463
+ type: "uint64",
464
+ },
465
+ {
466
+ internalType: "enum ChallengeLib.ChallengeMode",
467
+ name: "mode",
468
+ type: "uint8",
469
+ },
470
+ ],
471
+ stateMutability: "view",
472
+ type: "function",
473
+ },
474
+ {
475
+ inputs: [
476
+ {
477
+ internalType: "uint64",
478
+ name: "challengeIndex",
479
+ type: "uint64",
480
+ },
481
+ ],
482
+ name: "clearChallenge",
483
+ outputs: [],
484
+ stateMutability: "nonpayable",
485
+ type: "function",
486
+ },
487
+ {
488
+ inputs: [
489
+ {
490
+ internalType: "bytes32",
491
+ name: "wasmModuleRoot_",
492
+ type: "bytes32",
493
+ },
494
+ {
495
+ internalType: "enum MachineStatus[2]",
496
+ name: "startAndEndMachineStatuses_",
497
+ type: "uint8[2]",
498
+ },
499
+ {
500
+ components: [
501
+ {
502
+ internalType: "bytes32[2]",
503
+ name: "bytes32Vals",
504
+ type: "bytes32[2]",
505
+ },
506
+ {
507
+ internalType: "uint64[2]",
508
+ name: "u64Vals",
509
+ type: "uint64[2]",
510
+ },
511
+ ],
512
+ internalType: "struct GlobalState[2]",
513
+ name: "startAndEndGlobalStates_",
514
+ type: "tuple[2]",
515
+ },
516
+ {
517
+ internalType: "uint64",
518
+ name: "numBlocks",
519
+ type: "uint64",
520
+ },
521
+ {
522
+ internalType: "address",
523
+ name: "asserter_",
524
+ type: "address",
525
+ },
526
+ {
527
+ internalType: "address",
528
+ name: "challenger_",
529
+ type: "address",
530
+ },
531
+ {
532
+ internalType: "uint256",
533
+ name: "asserterTimeLeft_",
534
+ type: "uint256",
535
+ },
536
+ {
537
+ internalType: "uint256",
538
+ name: "challengerTimeLeft_",
539
+ type: "uint256",
540
+ },
541
+ ],
542
+ name: "createChallenge",
543
+ outputs: [
544
+ {
545
+ internalType: "uint64",
546
+ name: "",
547
+ type: "uint64",
548
+ },
549
+ ],
550
+ stateMutability: "nonpayable",
551
+ type: "function",
552
+ },
553
+ {
554
+ inputs: [
555
+ {
556
+ internalType: "uint64",
557
+ name: "challengeIndex",
558
+ type: "uint64",
559
+ },
560
+ ],
561
+ name: "currentResponder",
562
+ outputs: [
563
+ {
564
+ internalType: "address",
565
+ name: "",
566
+ type: "address",
567
+ },
568
+ ],
569
+ stateMutability: "view",
570
+ type: "function",
571
+ },
572
+ {
573
+ inputs: [
574
+ {
575
+ internalType: "contract IChallengeResultReceiver",
576
+ name: "resultReceiver_",
577
+ type: "address",
578
+ },
579
+ {
580
+ internalType: "contract ISequencerInbox",
581
+ name: "sequencerInbox_",
582
+ type: "address",
583
+ },
584
+ {
585
+ internalType: "contract IBridge",
586
+ name: "bridge_",
587
+ type: "address",
588
+ },
589
+ {
590
+ internalType: "contract IOneStepProofEntry",
591
+ name: "osp_",
592
+ type: "address",
593
+ },
594
+ ],
595
+ name: "initialize",
596
+ outputs: [],
597
+ stateMutability: "nonpayable",
598
+ type: "function",
599
+ },
600
+ {
601
+ inputs: [
602
+ {
603
+ internalType: "uint64",
604
+ name: "challengeIndex",
605
+ type: "uint64",
606
+ },
607
+ ],
608
+ name: "isTimedOut",
609
+ outputs: [
610
+ {
611
+ internalType: "bool",
612
+ name: "",
613
+ type: "bool",
614
+ },
615
+ ],
616
+ stateMutability: "view",
617
+ type: "function",
618
+ },
619
+ {
620
+ inputs: [
621
+ {
622
+ internalType: "uint64",
623
+ name: "challengeIndex",
624
+ type: "uint64",
625
+ },
626
+ {
627
+ components: [
628
+ {
629
+ internalType: "uint256",
630
+ name: "oldSegmentsStart",
631
+ type: "uint256",
632
+ },
633
+ {
634
+ internalType: "uint256",
635
+ name: "oldSegmentsLength",
636
+ type: "uint256",
637
+ },
638
+ {
639
+ internalType: "bytes32[]",
640
+ name: "oldSegments",
641
+ type: "bytes32[]",
642
+ },
643
+ {
644
+ internalType: "uint256",
645
+ name: "challengePosition",
646
+ type: "uint256",
647
+ },
648
+ ],
649
+ internalType: "struct ChallengeLib.SegmentSelection",
650
+ name: "selection",
651
+ type: "tuple",
652
+ },
653
+ {
654
+ internalType: "bytes",
655
+ name: "proof",
656
+ type: "bytes",
657
+ },
658
+ ],
659
+ name: "oneStepProveExecution",
660
+ outputs: [],
661
+ stateMutability: "nonpayable",
662
+ type: "function",
663
+ },
664
+ {
665
+ inputs: [],
666
+ name: "osp",
667
+ outputs: [
668
+ {
669
+ internalType: "contract IOneStepProofEntry",
670
+ name: "",
671
+ type: "address",
672
+ },
673
+ ],
674
+ stateMutability: "view",
675
+ type: "function",
676
+ },
677
+ {
678
+ inputs: [],
679
+ name: "resultReceiver",
680
+ outputs: [
681
+ {
682
+ internalType: "contract IChallengeResultReceiver",
683
+ name: "",
684
+ type: "address",
685
+ },
686
+ ],
687
+ stateMutability: "view",
688
+ type: "function",
689
+ },
690
+ {
691
+ inputs: [],
692
+ name: "sequencerInbox",
693
+ outputs: [
694
+ {
695
+ internalType: "contract ISequencerInbox",
696
+ name: "",
697
+ type: "address",
698
+ },
699
+ ],
700
+ stateMutability: "view",
701
+ type: "function",
702
+ },
703
+ {
704
+ inputs: [
705
+ {
706
+ internalType: "uint64",
707
+ name: "challengeIndex",
708
+ type: "uint64",
709
+ },
710
+ ],
711
+ name: "timeout",
712
+ outputs: [],
713
+ stateMutability: "nonpayable",
714
+ type: "function",
715
+ },
716
+ {
717
+ inputs: [],
718
+ name: "totalChallengesCreated",
719
+ outputs: [
720
+ {
721
+ internalType: "uint64",
722
+ name: "",
723
+ type: "uint64",
724
+ },
725
+ ],
726
+ stateMutability: "view",
727
+ type: "function",
728
+ },
729
+ ];
730
+
731
+ const _bytecode =
732
+ "0x60a0604052306080523480156200001557600080fd5b50604051620034f3380380620034f38339810160408190526200003891620002bc565b600580546001600160a01b03808c166001600160a01b03199283161790925560028054928b1692909116919091179055600080548190819062000084906001600160401b0316620003cd565b82546101009290920a6001600160401b03818102199093168284169182021790935560009283526001602090815260408085206007810180546001600160401b031916958f16959095179094558051600280825260608201835293965093949392918301908036833750508a518251929350918391506000906200010c576200010c62000403565b602090810291909101015288600160200201518160018151811062000135576200013562000403565b60200260200101818152505060006200015c60008a846200024360201b620019fb1760201c565b600684018190556040805180820182526001600160a01b038b811680835260209283018b90526002880180546001600160a01b03199081169092179055600388018b905583518085018552918c168083529190920189905286549091161785556001850187905542600486015560078501805460ff60401b1916680200000000000000001790555190915081906001600160401b038616907f86b34e9455464834eca718f62d4481437603bb929d8a78ccde5d1bc79fa06d689062000228906000908e90889062000419565b60405180910390a350505050505050505050505050620004b4565b60008383836040516020016200025c9392919062000470565b6040516020818303038152906040528051906020012090509392505050565b6001600160a01b03811681146200029157600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b8051620002b7816200027b565b919050565b60008060008060008060008060006101408a8c031215620002dc57600080fd5b8951620002e9816200027b565b809950506020808b0151620002fe816200027b565b60408c01519099506001600160401b0380821682146200031d57600080fd5b8199508d607f8e01126200033057600080fd5b604051915060408201828110828211171562000350576200035062000294565b604052508060a08d018e8111156200036757600080fd5b60608e015b818110156200038557805183529184019184016200036c565b50519198509096506200039e91505060c08b01620002aa565b9350620003ae60e08b01620002aa565b92506101008a015191506101208a015190509295985092959850929598565b60006001600160401b0382811680821415620003f957634e487b7160e01b600052601160045260246000fd5b6001019392505050565b634e487b7160e01b600052603260045260246000fd5b6000606082018583526020858185015260606040850152818551808452608086019150828701935060005b81811015620004625784518352938301939183019160010162000444565b509098975050505050505050565b83815260006020848184015260408301845182860160005b82811015620004a65781518452928401929084019060010162000488565b509198975050505050505050565b608051613023620004d0600039600061122501526130236000f3fe608060405234801561001057600080fd5b50600436106100e05760003560e01c80639ede42b9116100875780639ede42b914610251578063a521b03214610274578063d248d12414610287578063e78cea921461029a578063ee35f327146102ad578063f26a62c6146102c0578063f8c8765e146102d3578063fb7be0a1146102e657600080fd5b806314eab5e7146100e55780631b45c86a1461011557806323a9ef231461012a5780633504f1d71461015557806356e9df97146101685780635ef489e61461017b5780637fd07a9c1461018e5780638f1d3776146101ae575b600080fd5b6100f86100f33660046125f8565b6102f9565b6040516001600160401b0390911681526020015b60405180910390f35b61012861012336600461268b565b610601565b005b61013d61013836600461268b565b6106d1565b6040516001600160a01b03909116815260200161010c565b60025461013d906001600160a01b031681565b61012861017636600461268b565b6106f5565b6000546100f8906001600160401b031681565b6101a161019c36600461268b565b610863565b60405161010c91906126e8565b61023e6101bc36600461275a565b6001602081815260009283526040928390208351808501855281546001600160a01b0390811682529382015481840152845180860190955260028201549093168452600381015491840191909152600481015460058201546006830154600790930154939493919290916001600160401b03811690600160401b900460ff1687565b60405161010c9796959493929190612773565b61026461025f36600461268b565b61093c565b604051901515815260200161010c565b6101286102823660046127d0565b610963565b610128610295366004612874565b610dd9565b60045461013d906001600160a01b031681565b60035461013d906001600160a01b031681565b60055461013d906001600160a01b031681565b6101286102e1366004612906565b61121a565b6101286102f4366004612962565b61138b565b6002546000906001600160a01b0316331461034e5760405162461bcd60e51b815260206004820152601060248201526f13d3931657d493d313155417d0d2105360821b60448201526064015b60405180910390fd5b6040805160028082526060820183526000926020830190803683370190505090506103a461037f60208b018b612a06565b61039f8a60005b6080020180360381019061039a9190612ac5565b611a32565b611ab3565b816000815181106103b7576103b76129f0565b60209081029190910101526103e68960016020020160208101906103db9190612a06565b61039f8a6001610386565b816001815181106103f9576103f96129f0565b6020908102919091010152600080548190819061041e906001600160401b0316612b73565b91906101000a8154816001600160401b0302191690836001600160401b031602179055905060006001600160401b0316816001600160401b0316141561046657610466612b9a565b6001600160401b0381166000908152600160205260408120600581018d9055906104a061049b368d90038d0160808e01612ac5565b611bd7565b905060026104b460408e0160208f01612a06565b60038111156104c5576104c56126be565b14806104f3575060006104e86104e3368e90038e0160808f01612ac5565b611bec565b6001600160401b0316115b15610506578061050281612b73565b9150505b6007820180546040805180820182526001600160a01b038d811680835260209283018d90526002880180546001600160a01b03199081169092179055600388018d905583518085018552918e16808352919092018b90528654909116178555600185018990554260048601556001600160401b0384811668ffffffffffffffffff1990931692909217600160401b179092559051908416907f76604fe17af46c9b5f53ffe99ff23e0f655dab91886b07ac1fc0254319f7145a906105d0908e906080820190612bfa565b60405180910390a26105ee8360008c6001600160401b031687611bfb565b5090925050505b98975050505050505050565b60006001600160401b038216600090815260016020526040902060070154600160401b900460ff16600281111561063a5761063a6126be565b1415604051806040016040528060078152602001661393d7d0d2105360ca1b8152509061067a5760405162461bcd60e51b81526004016103459190612c16565b506106848161093c565b6106c35760405162461bcd60e51b815260206004820152601060248201526f54494d454f55545f444541444c494e4560801b6044820152606401610345565b6106ce816000611c91565b50565b6001600160401b03166000908152600160205260409020546001600160a01b031690565b6002546001600160a01b031633146107425760405162461bcd60e51b815260206004820152601060248201526f2727aa2fa922a9afa922a1a2a4ab22a960811b6044820152606401610345565b60006001600160401b038216600090815260016020526040902060070154600160401b900460ff16600281111561077b5761077b6126be565b1415604051806040016040528060078152602001661393d7d0d2105360ca1b815250906107bb5760405162461bcd60e51b81526004016103459190612c16565b506001600160401b038116600081815260016020819052604080832080546001600160a01b031990811682559281018490556002810180549093169092556003808301849055600483018490556005830184905560068301939093556007909101805468ffffffffffffffffff19169055517ffdaece6c274a4b56af16761f83fd6b1062823192630ea08e019fdf9b2d747f409161085891612c6b565b60405180910390a250565b61086b612553565b6001600160401b0382811660009081526001602081815260409283902083516101208101855281546001600160a01b0390811660e0830190815294830154610100830152938152845180860186526002808401549095168152600383015481850152928101929092526004810154938201939093526005830154606082015260068301546080820152600783015493841660a08201529260c0840191600160401b90910460ff1690811115610922576109226126be565b6002811115610933576109336126be565b90525092915050565b6001600160401b038116600090815260016020526040812061095d90611dbf565b92915050565b6001600160401b038416600090815260016020526040812085918591610988846106d1565b6001600160a01b0316336001600160a01b0316146109b85760405162461bcd60e51b815260040161034590612c85565b6109c18461093c565b156109de5760405162461bcd60e51b815260040161034590612caa565b60008260028111156109f2576109f26126be565b1415610a605760006007820154600160401b900460ff166002811115610a1a57610a1a6126be565b1415604051806040016040528060078152602001661393d7d0d2105360ca1b81525090610a5a5760405162461bcd60e51b81526004016103459190612c16565b50610b1f565b6001826002811115610a7457610a746126be565b1415610abe5760016007820154600160401b900460ff166002811115610a9c57610a9c6126be565b14610ab95760405162461bcd60e51b815260040161034590612cd1565b610b1f565b6002826002811115610ad257610ad26126be565b1415610b175760026007820154600160401b900460ff166002811115610afa57610afa6126be565b14610ab95760405162461bcd60e51b815260040161034590612cf9565b610b1f612b9a565b610b6d83356020850135610b366040870187612d25565b808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506119fb92505050565b816006015414610b8f5760405162461bcd60e51b815260040161034590612d75565b6002610b9e6040850185612d25565b90501080610bc957506001610bb66040850185612d25565b610bc1929150612d98565b836060013510155b15610be65760405162461bcd60e51b815260040161034590612daf565b600080610bf289611dd7565b9150915060018111610c325760405162461bcd60e51b81526020600482015260096024820152681513d3d7d4d213d49560ba1b6044820152606401610345565b806028811115610c40575060285b610c4b816001612dda565b8814610c885760405162461bcd60e51b815260206004820152600c60248201526b57524f4e475f44454752454560a01b6044820152606401610345565b50610cd28989896000818110610ca057610ca06129f0565b602002919091013590508a8a610cb7600182612d98565b818110610cc657610cc66129f0565b90506020020135611e68565b610d118a83838b8b80806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611bfb92505050565b50600090505b6007820154600160401b900460ff166002811115610d3757610d376126be565b1415610d435750610dd0565b6040805180820190915281546001600160a01b03168152600182015460208201526004820154610d739042612d98565b81602001818151610d849190612d98565b90525060028201805483546001600160a01b038083166001600160a01b031992831617865560038601805460018801558551929093169116179091556020909101519055426004909101555b50505050505050565b6001600160401b038416600090815260016020526040902084908490600290610e01846106d1565b6001600160a01b0316336001600160a01b031614610e315760405162461bcd60e51b815260040161034590612c85565b610e3a8461093c565b15610e575760405162461bcd60e51b815260040161034590612caa565b6000826002811115610e6b57610e6b6126be565b1415610ed95760006007820154600160401b900460ff166002811115610e9357610e936126be565b1415604051806040016040528060078152602001661393d7d0d2105360ca1b81525090610ed35760405162461bcd60e51b81526004016103459190612c16565b50610f98565b6001826002811115610eed57610eed6126be565b1415610f375760016007820154600160401b900460ff166002811115610f1557610f156126be565b14610f325760405162461bcd60e51b815260040161034590612cd1565b610f98565b6002826002811115610f4b57610f4b6126be565b1415610f905760026007820154600160401b900460ff166002811115610f7357610f736126be565b14610f325760405162461bcd60e51b815260040161034590612cf9565b610f98612b9a565b610faf83356020850135610b366040870187612d25565b816006015414610fd15760405162461bcd60e51b815260040161034590612d75565b6002610fe06040850185612d25565b9050108061100b57506001610ff86040850185612d25565b611003929150612d98565b836060013510155b156110285760405162461bcd60e51b815260040161034590612daf565b6001600160401b0388166000908152600160205260408120908061104b8a611dd7565b9092509050600181146110705760405162461bcd60e51b815260040161034590612df2565b5060055460408051808201825260078501546001600160401b031681526004546001600160a01b0390811660208301526000931691635d3adcfb919085906110ba908f018f612d25565b8f606001358181106110ce576110ce6129f0565b905060200201358d8d6040518663ffffffff1660e01b81526004016110f7959493929190612e14565b60206040518083038186803b15801561110f57600080fd5b505afa158015611123573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111479190612e6b565b905061115660408b018b612d25565b61116560608d01356001612dda565b818110611174576111746129f0565b905060200201358114156111b95760405162461bcd60e51b815260206004820152600c60248201526b14d0535157d3d4d417d1539160a21b6044820152606401610345565b6040516001600160401b038c16907fc2cc42e04ff8c36de71c6a2937ea9f161dd0dd9e175f00caa26e5200643c781e90600090a261120e8b6001600160401b0316600090815260016020526040812060060155565b5060009150610d179050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156112a85760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610345565b6002546001600160a01b0316156112f05760405162461bcd60e51b815260206004820152600c60248201526b1053149150511657d253925560a21b6044820152606401610345565b6001600160a01b03841661133b5760405162461bcd60e51b81526020600482015260126024820152712727afa922a9aaa62a2fa922a1a2a4ab22a960711b6044820152606401610345565b600280546001600160a01b039586166001600160a01b0319918216179091556003805494861694821694909417909355600480549285169284169290921790915560058054919093169116179055565b6001600160401b0385166000908152600160208190526040909120869186916113b3846106d1565b6001600160a01b0316336001600160a01b0316146113e35760405162461bcd60e51b815260040161034590612c85565b6113ec8461093c565b156114095760405162461bcd60e51b815260040161034590612caa565b600082600281111561141d5761141d6126be565b141561148b5760006007820154600160401b900460ff166002811115611445576114456126be565b1415604051806040016040528060078152602001661393d7d0d2105360ca1b815250906114855760405162461bcd60e51b81526004016103459190612c16565b5061154a565b600182600281111561149f5761149f6126be565b14156114e95760016007820154600160401b900460ff1660028111156114c7576114c76126be565b146114e45760405162461bcd60e51b815260040161034590612cd1565b61154a565b60028260028111156114fd576114fd6126be565b14156115425760026007820154600160401b900460ff166002811115611525576115256126be565b146114e45760405162461bcd60e51b815260040161034590612cf9565b61154a612b9a565b61156183356020850135610b366040870187612d25565b8160060154146115835760405162461bcd60e51b815260040161034590612d75565b60026115926040850185612d25565b905010806115bd575060016115aa6040850185612d25565b6115b5929150612d98565b836060013510155b156115da5760405162461bcd60e51b815260040161034590612daf565b60018510156116215760405162461bcd60e51b815260206004820152601360248201527210d2105313115391d157d513d3d7d4d213d495606a1b6044820152606401610345565b6508000000000085111561166c5760405162461bcd60e51b81526020600482015260126024820152714348414c4c454e47455f544f4f5f4c4f4e4760701b6044820152606401610345565b6116ae8861168e61168060208b018b612a06565b8960005b6020020135611ab3565b6116a96116a160408c0160208d01612a06565b8a6001611684565b611e68565b6001600160401b038916600090815260016020526040812090806116d18b611dd7565b91509150806001146116f55760405162461bcd60e51b815260040161034590612df2565b600161170460208c018c612a06565b6003811115611715576117156126be565b146117cf5761172a60408b0160208c01612a06565b600381111561173b5761173b6126be565b61174860208c018c612a06565b6003811115611759576117596126be565b14801561176a5750883560208a0135145b6117a65760405162461bcd60e51b815260206004820152600d60248201526c48414c5445445f4348414e474560981b6044820152606401610345565b6117c78c6001600160401b0316600090815260016020526040812060060155565b505050611936565b60026117e160408c0160208d01612a06565b60038111156117f2576117f26126be565b141561183b57883560208a01351461183b5760405162461bcd60e51b815260206004820152600c60248201526b4552524f525f4348414e474560a01b6044820152606401610345565b604080516002808252606082018352600092602083019080368337505050600585015490915061186d908b3590611f3d565b81600081518110611880576118806129f0565b60209081029190910101526118ae8b60016020020160208101906118a49190612a06565b60208c01356120c9565b816001815181106118c1576118c16129f0565b602090810291909101015260078401805460ff60401b1916600160411b1790556118ee8d60008b84611bfb565b8c6001600160401b03167f24e032e170243bbea97e140174b22dc7e54fb85925afbf52c70e001cd6af16db8460405161192991815260200190565b60405180910390a2505050505b60006007820154600160401b900460ff166002811115611958576119586126be565b141561196457506119f1565b6040805180820190915281546001600160a01b031681526001820154602082015260048201546119949042612d98565b816020018181516119a59190612d98565b90525060028201805483546001600160a01b038083166001600160a01b031992831617865560038601805460018801558551929093169116179091556020909101519055426004909101555b5050505050505050565b6000838383604051602001611a1293929190612e84565b6040516020818303038152906040528051906020012090505b9392505050565b80518051602091820151828401518051908401516040516c23b637b130b61039ba30ba329d60991b95810195909552602d850193909352604d8401919091526001600160c01b031960c091821b8116606d85015291901b166075820152600090607d015b604051602081830303815290604052805190602001209050919050565b60006001836003811115611ac957611ac96126be565b1415611b0f576040516b213637b1b59039ba30ba329d60a11b6020820152602c8101839052604c015b60405160208183030381529060405280519060200120905061095d565b6002836003811115611b2357611b236126be565b1415611b595760405174213637b1b59039ba30ba32961032b93937b932b21d60591b602082015260358101839052605501611af2565b6003836003811115611b6d57611b6d6126be565b1415611b9c5760405174213637b1b59039ba30ba3296103a37b7903330b91d60591b6020820152603501611af2565b60405162461bcd60e51b815260206004820152601060248201526f4241445f424c4f434b5f53544154555360801b6044820152606401610345565b6020810151600090815b602002015192915050565b60208101516000906001611be1565b6001821015611c0c57611c0c612b9a565b600281511015611c1e57611c1e612b9a565b6000611c2b8484846119fb565b6001600160401b038616600081815260016020526040908190206006018390555191925082917f86b34e9455464834eca718f62d4481437603bb929d8a78ccde5d1bc79fa06d6890611c8290889088908890612ec6565b60405180910390a35050505050565b6001600160401b03821660008181526001602081905260408083206002808201805483546001600160a01b0319808216865596850188905595811690915560038301869055600480840187905560058401879055600684019690965560078301805468ffffffffffffffffff1916905590549251630357aa4960e01b8152948501959095526001600160a01b03948516602485018190529285166044850181905290949293909290911690630357aa4990606401600060405180830381600087803b158015611d5f57600080fd5b505af1158015611d73573d6000803e3d6000fd5b50505050846001600160401b03167ffdaece6c274a4b56af16761f83fd6b1062823192630ea08e019fdf9b2d747f4085604051611db09190612c6b565b60405180910390a25050505050565b6001810154600090611dd083612172565b1192915050565b600080806001611dea6040860186612d25565b611df5929150612d98565b9050611e05816020860135612f31565b9150611e15606085013583612f45565b611e20908535612dda565b92506002611e316040860186612d25565b611e3c929150612d98565b84606001351415611e6257611e55816020860135612f64565b611e5f9083612dda565b91505b50915091565b81611e766040850185612d25565b8560600135818110611e8a57611e8a6129f0565b9050602002013514611ecc5760405162461bcd60e51b815260206004820152600b60248201526a15d493d391d7d4d510549560aa1b6044820152606401610345565b80611eda6040850185612d25565b611ee960608701356001612dda565b818110611ef857611ef86129f0565b905060200201351415611f385760405162461bcd60e51b815260206004820152600860248201526714d0535157d1539160c21b6044820152606401610345565b505050565b60408051600380825260808201909252600091829190816020015b6040805180820190915260008082526020820152815260200190600190039081611f58575050604080518082018252600080825260209182018190528251808401909352600483529082015290915081600081518110611fba57611fba6129f0565b6020026020010181905250611fcf6000612184565b81600181518110611fe257611fe26129f0565b6020026020010181905250611ff76000612184565b8160028151811061200a5761200a6129f0565b602090810291909101810191909152604080518083018252838152815180830190925280825260009282019290925261205a60408051606080820183529181019182529081526000602082015290565b604080518082018252606080825260006020808401829052845161012081018652828152908101879052938401859052908301829052608083018a905260a0830181905260c0830181905260e08301526101008201889052906120bc816121b7565b9998505050505050505050565b600060018360038111156120df576120df6126be565b14156120f65781604051602001611af29190612f78565b600283600381111561210a5761210a6126be565b1415612134576040516f26b0b1b434b7329032b93937b932b21d60811b6020820152603001611af2565b6003836003811115612148576121486126be565b1415611b9c576040516f26b0b1b434b732903a37b7903330b91d60811b6020820152603001611af2565b600081600401544261095d9190612d98565b604080518082019091526000808252602082015250604080518082019091526000815263ffffffff909116602082015290565b600080825160038111156121cd576121cd6126be565b1415612283576121e08260200151612370565b6121ed8360400151612370565b6121fa84606001516123f5565b608085015160a086015160c087015160e0808901516101008a01516040516f26b0b1b434b73290393ab73734b7339d60811b602082015260308101999099526050890197909752607088019590955260908701939093526001600160e01b031991831b821660b0870152821b811660b486015291901b1660b883015260bc82015260dc01611a96565b600182516003811115612298576122986126be565b14156122b3578160800151604051602001611a969190612f78565b6002825160038111156122c8576122c86126be565b14156122f2576040516f26b0b1b434b7329032b93937b932b21d60811b6020820152603001611a96565b600382516003811115612307576123076126be565b1415612331576040516f26b0b1b434b732903a37b7903330b91d60811b6020820152603001611a96565b60405162461bcd60e51b815260206004820152600f60248201526e4241445f4d4143485f53544154555360881b6044820152606401610345565b919050565b60208101518151515160005b818110156123ee57835161239990612394908361248e565b6124c6565b6040516b2b30b63ab29039ba30b1b59d60a11b6020820152602c810191909152604c8101849052606c0160405160208183030381529060405280519060200120925080806123e690612f9d565b91505061237c565b5050919050565b602081015160005b8251518110156124885761242d83600001518281518110612420576124206129f0565b60200260200101516124e3565b6040517129ba30b1b590333930b6b29039ba30b1b59d60711b6020820152603281019190915260528101839052607201604051602081830303815290604052805190602001209150808061248090612f9d565b9150506123fd565b50919050565b604080518082019091526000808252602082015282518051839081106124b6576124b66129f0565b6020026020010151905092915050565b600081600001518260200151604051602001611a96929190612fb8565b60006124f282600001516124c6565b602080840151604080860151606087015191516b29ba30b1b590333930b6b29d60a11b94810194909452602c840194909452604c8301919091526001600160e01b031960e093841b8116606c840152921b9091166070820152607401611a96565b604080516101208101909152600060e0820181815261010083019190915281908152602001612592604080518082019091526000808252602082015290565b815260006020820181905260408201819052606082018190526080820181905260a09091015290565b806040810183101561095d57600080fd5b80356001600160401b038116811461236b57600080fd5b6001600160a01b03811681146106ce57600080fd5b600080600080600080600080610200898b03121561261557600080fd5b883597506126268a60208b016125bb565b965061016089018a81111561263a57600080fd5b60608a019650612649816125cc565b95505061018089013561265b816125e3565b93506101a089013561266c816125e3565b979a96995094979396929592945050506101c0820135916101e0013590565b60006020828403121561269d57600080fd5b611a2b826125cc565b80516001600160a01b03168252602090810151910152565b634e487b7160e01b600052602160045260246000fd5b600381106126e4576126e46126be565b9052565b6000610120820190506126fc8284516126a6565b602083015161270e60408401826126a6565b5060408301516080830152606083015160a0830152608083015160c08301526001600160401b0360a08401511660e083015260c08301516127536101008401826126d4565b5092915050565b60006020828403121561276c57600080fd5b5035919050565b6101208101612782828a6126a6565b61278f60408301896126a6565b8660808301528560a08301528460c08301526001600160401b03841660e08301526105f56101008301846126d4565b60006080828403121561248857600080fd5b600080600080606085870312156127e657600080fd5b6127ef856125cc565b935060208501356001600160401b038082111561280b57600080fd5b612817888389016127be565b9450604087013591508082111561282d57600080fd5b818701915087601f83011261284157600080fd5b81358181111561285057600080fd5b8860208260051b850101111561286557600080fd5b95989497505060200194505050565b6000806000806060858703121561288a57600080fd5b612893856125cc565b935060208501356001600160401b03808211156128af57600080fd5b6128bb888389016127be565b945060408701359150808211156128d157600080fd5b818701915087601f8301126128e557600080fd5b8135818111156128f457600080fd5b88602082850101111561286557600080fd5b6000806000806080858703121561291c57600080fd5b8435612927816125e3565b93506020850135612937816125e3565b92506040850135612947816125e3565b91506060850135612957816125e3565b939692955090935050565b600080600080600060e0868803121561297a57600080fd5b612983866125cc565b945060208601356001600160401b0381111561299e57600080fd5b6129aa888289016127be565b9450506129ba87604088016125bb565b92506129c987608088016125bb565b9497939650919460c0013592915050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060208284031215612a1857600080fd5b813560048110611a2b57600080fd5b604080519081016001600160401b0381118282101715612a4957612a496129da565b60405290565b600082601f830112612a6057600080fd5b604051604081018181106001600160401b0382111715612a8257612a826129da565b8060405250806040840185811115612a9957600080fd5b845b81811015612aba57612aac816125cc565b835260209283019201612a9b565b509195945050505050565b600060808284031215612ad757600080fd5b604051604081018181106001600160401b0382111715612af957612af96129da565b604052601f83018413612b0b57600080fd5b612b13612a27565b806040850186811115612b2557600080fd5b855b81811015612b3f578035845260209384019301612b27565b50818452612b4d8782612a4f565b6020850152509195945050505050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b0380831681811415612b9057612b90612b5d565b6001019392505050565b634e487b7160e01b600052600160045260246000fd5b604081833760006040838101828152908301915b6002811015612bf3576001600160401b03612bde846125cc565b16825260209283019290910190600101612bc4565b5050505050565b6101008101612c098285612bb0565b611a2b6080830184612bb0565b600060208083528351808285015260005b81811015612c4357858101830151858201604001528201612c27565b81811115612c55576000604083870101525b50601f01601f1916929092016040019392505050565b6020810160048310612c7f57612c7f6126be565b91905290565b6020808252600b908201526a21a420a62fa9a2a72222a960a91b604082015260600190565b6020808252600d908201526c4348414c5f444541444c494e4560981b604082015260600190565b6020808252600e908201526d4348414c5f4e4f545f424c4f434b60901b604082015260600190565b60208082526012908201527121a420a62fa727aa2fa2ac22a1aaaa24a7a760711b604082015260600190565b6000808335601e19843603018112612d3c57600080fd5b8301803591506001600160401b03821115612d5657600080fd5b6020019150600581901b3603821315612d6e57600080fd5b9250929050565b6020808252600990820152684249535f535441544560b81b604082015260600190565b600082821015612daa57612daa612b5d565b500390565b6020808252601190820152704241445f4348414c4c454e47455f504f5360781b604082015260600190565b60008219821115612ded57612ded612b5d565b500190565b602080825260089082015267544f4f5f4c4f4e4760c01b604082015260600190565b8551815260018060a01b03602087015116602082015284604082015283606082015260a060808201528160a0820152818360c0830137600081830160c090810191909152601f909201601f19160101949350505050565b600060208284031215612e7d57600080fd5b5051919050565b83815260006020848184015260408301845182860160005b82811015612eb857815184529284019290840190600101612e9c565b509198975050505050505050565b6000606082018583526020858185015260606040850152818551808452608086019150828701935060005b81811015612f0d57845183529383019391830191600101612ef1565b509098975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600082612f4057612f40612f1b565b500490565b6000816000190483118215151615612f5f57612f5f612b5d565b500290565b600082612f7357612f73612f1b565b500690565b7026b0b1b434b732903334b734b9b432b21d60791b8152601181019190915260310190565b6000600019821415612fb157612fb1612b5d565b5060010190565b652b30b63ab29d60d11b8152600060078410612fd657612fd66126be565b5060f89290921b600683015260078201526027019056fea2646970667358221220c8646e46cafbdbedc26ac80c7cb97ad11e91e118bf3f22748df14b440cb0954d64736f6c63430008090033";
733
+
734
+ type SingleExecutionChallengeConstructorParams =
735
+ | [signer?: Signer]
736
+ | ConstructorParameters<typeof ContractFactory>;
737
+
738
+ const isSuperArgs = (
739
+ xs: SingleExecutionChallengeConstructorParams
740
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
741
+
742
+ export class SingleExecutionChallenge__factory extends ContractFactory {
743
+ constructor(...args: SingleExecutionChallengeConstructorParams) {
744
+ if (isSuperArgs(args)) {
745
+ super(...args);
746
+ } else {
747
+ super(_abi, _bytecode, args[0]);
748
+ }
749
+ }
750
+
751
+ override deploy(
752
+ osp_: string,
753
+ resultReceiver_: string,
754
+ maxInboxMessagesRead_: BigNumberish,
755
+ startAndEndHashes: [BytesLike, BytesLike],
756
+ numSteps_: BigNumberish,
757
+ asserter_: string,
758
+ challenger_: string,
759
+ asserterTimeLeft_: BigNumberish,
760
+ challengerTimeLeft_: BigNumberish,
761
+ overrides?: Overrides & { from?: string | Promise<string> }
762
+ ): Promise<SingleExecutionChallenge> {
763
+ return super.deploy(
764
+ osp_,
765
+ resultReceiver_,
766
+ maxInboxMessagesRead_,
767
+ startAndEndHashes,
768
+ numSteps_,
769
+ asserter_,
770
+ challenger_,
771
+ asserterTimeLeft_,
772
+ challengerTimeLeft_,
773
+ overrides || {}
774
+ ) as Promise<SingleExecutionChallenge>;
775
+ }
776
+ override getDeployTransaction(
777
+ osp_: string,
778
+ resultReceiver_: string,
779
+ maxInboxMessagesRead_: BigNumberish,
780
+ startAndEndHashes: [BytesLike, BytesLike],
781
+ numSteps_: BigNumberish,
782
+ asserter_: string,
783
+ challenger_: string,
784
+ asserterTimeLeft_: BigNumberish,
785
+ challengerTimeLeft_: BigNumberish,
786
+ overrides?: Overrides & { from?: string | Promise<string> }
787
+ ): TransactionRequest {
788
+ return super.getDeployTransaction(
789
+ osp_,
790
+ resultReceiver_,
791
+ maxInboxMessagesRead_,
792
+ startAndEndHashes,
793
+ numSteps_,
794
+ asserter_,
795
+ challenger_,
796
+ asserterTimeLeft_,
797
+ challengerTimeLeft_,
798
+ overrides || {}
799
+ );
800
+ }
801
+ override attach(address: string): SingleExecutionChallenge {
802
+ return super.attach(address) as SingleExecutionChallenge;
803
+ }
804
+ override connect(signer: Signer): SingleExecutionChallenge__factory {
805
+ return super.connect(signer) as SingleExecutionChallenge__factory;
806
+ }
807
+
808
+ static readonly bytecode = _bytecode;
809
+ static readonly abi = _abi;
810
+ static createInterface(): SingleExecutionChallengeInterface {
811
+ return new utils.Interface(_abi) as SingleExecutionChallengeInterface;
812
+ }
813
+ static connect(
814
+ address: string,
815
+ signerOrProvider: Signer | Provider
816
+ ): SingleExecutionChallenge {
817
+ return new Contract(
818
+ address,
819
+ _abi,
820
+ signerOrProvider
821
+ ) as SingleExecutionChallenge;
822
+ }
823
+ }