@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,13 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ export { BridgeStub__factory } from "./BridgeStub__factory";
5
+ export { BridgeUnproxied__factory } from "./BridgeUnproxied__factory";
6
+ export { InboxStub__factory } from "./InboxStub__factory";
7
+ export { MockResultReceiver__factory } from "./MockResultReceiver__factory";
8
+ export { ProxyAdminForBinding__factory } from "./ProxyAdminForBinding__factory";
9
+ export { SequencerInboxStub__factory } from "./SequencerInboxStub__factory";
10
+ export { Simple__factory } from "./Simple__factory";
11
+ export { SimpleProxy__factory } from "./SimpleProxy__factory";
12
+ export { SingleExecutionChallenge__factory } from "./SingleExecutionChallenge__factory";
13
+ export { TimedOutChallengeManager__factory } from "./TimedOutChallengeManager__factory";
@@ -0,0 +1,82 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Contract, Signer, utils } from "ethers";
6
+ import type { Provider } from "@ethersproject/providers";
7
+ import type {
8
+ NodeInterfaceDebug,
9
+ NodeInterfaceDebugInterface,
10
+ } from "../../../src/node-interface/NodeInterfaceDebug";
11
+
12
+ const _abi = [
13
+ {
14
+ inputs: [
15
+ {
16
+ internalType: "bytes32",
17
+ name: "ticket",
18
+ type: "bytes32",
19
+ },
20
+ ],
21
+ name: "getRetryable",
22
+ outputs: [
23
+ {
24
+ components: [
25
+ {
26
+ internalType: "uint64",
27
+ name: "timeout",
28
+ type: "uint64",
29
+ },
30
+ {
31
+ internalType: "address",
32
+ name: "from",
33
+ type: "address",
34
+ },
35
+ {
36
+ internalType: "address",
37
+ name: "to",
38
+ type: "address",
39
+ },
40
+ {
41
+ internalType: "uint256",
42
+ name: "value",
43
+ type: "uint256",
44
+ },
45
+ {
46
+ internalType: "address",
47
+ name: "beneficiary",
48
+ type: "address",
49
+ },
50
+ {
51
+ internalType: "uint64",
52
+ name: "tries",
53
+ type: "uint64",
54
+ },
55
+ {
56
+ internalType: "bytes",
57
+ name: "data",
58
+ type: "bytes",
59
+ },
60
+ ],
61
+ internalType: "struct NodeInterfaceDebug.RetryableInfo",
62
+ name: "retryable",
63
+ type: "tuple",
64
+ },
65
+ ],
66
+ stateMutability: "view",
67
+ type: "function",
68
+ },
69
+ ];
70
+
71
+ export class NodeInterfaceDebug__factory {
72
+ static readonly abi = _abi;
73
+ static createInterface(): NodeInterfaceDebugInterface {
74
+ return new utils.Interface(_abi) as NodeInterfaceDebugInterface;
75
+ }
76
+ static connect(
77
+ address: string,
78
+ signerOrProvider: Signer | Provider
79
+ ): NodeInterfaceDebug {
80
+ return new Contract(address, _abi, signerOrProvider) as NodeInterfaceDebug;
81
+ }
82
+ }
@@ -0,0 +1,301 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Contract, Signer, utils } from "ethers";
6
+ import type { Provider } from "@ethersproject/providers";
7
+ import type {
8
+ NodeInterface,
9
+ NodeInterfaceInterface,
10
+ } from "../../../src/node-interface/NodeInterface";
11
+
12
+ const _abi = [
13
+ {
14
+ inputs: [
15
+ {
16
+ internalType: "uint64",
17
+ name: "size",
18
+ type: "uint64",
19
+ },
20
+ {
21
+ internalType: "uint64",
22
+ name: "leaf",
23
+ type: "uint64",
24
+ },
25
+ ],
26
+ name: "constructOutboxProof",
27
+ outputs: [
28
+ {
29
+ internalType: "bytes32",
30
+ name: "send",
31
+ type: "bytes32",
32
+ },
33
+ {
34
+ internalType: "bytes32",
35
+ name: "root",
36
+ type: "bytes32",
37
+ },
38
+ {
39
+ internalType: "bytes32[]",
40
+ name: "proof",
41
+ type: "bytes32[]",
42
+ },
43
+ ],
44
+ stateMutability: "view",
45
+ type: "function",
46
+ },
47
+ {
48
+ inputs: [
49
+ {
50
+ internalType: "address",
51
+ name: "sender",
52
+ type: "address",
53
+ },
54
+ {
55
+ internalType: "uint256",
56
+ name: "deposit",
57
+ type: "uint256",
58
+ },
59
+ {
60
+ internalType: "address",
61
+ name: "to",
62
+ type: "address",
63
+ },
64
+ {
65
+ internalType: "uint256",
66
+ name: "l2CallValue",
67
+ type: "uint256",
68
+ },
69
+ {
70
+ internalType: "address",
71
+ name: "excessFeeRefundAddress",
72
+ type: "address",
73
+ },
74
+ {
75
+ internalType: "address",
76
+ name: "callValueRefundAddress",
77
+ type: "address",
78
+ },
79
+ {
80
+ internalType: "bytes",
81
+ name: "data",
82
+ type: "bytes",
83
+ },
84
+ ],
85
+ name: "estimateRetryableTicket",
86
+ outputs: [],
87
+ stateMutability: "nonpayable",
88
+ type: "function",
89
+ },
90
+ {
91
+ inputs: [
92
+ {
93
+ internalType: "uint64",
94
+ name: "blockNum",
95
+ type: "uint64",
96
+ },
97
+ ],
98
+ name: "findBatchContainingBlock",
99
+ outputs: [
100
+ {
101
+ internalType: "uint64",
102
+ name: "batch",
103
+ type: "uint64",
104
+ },
105
+ ],
106
+ stateMutability: "view",
107
+ type: "function",
108
+ },
109
+ {
110
+ inputs: [
111
+ {
112
+ internalType: "address",
113
+ name: "to",
114
+ type: "address",
115
+ },
116
+ {
117
+ internalType: "bool",
118
+ name: "contractCreation",
119
+ type: "bool",
120
+ },
121
+ {
122
+ internalType: "bytes",
123
+ name: "data",
124
+ type: "bytes",
125
+ },
126
+ ],
127
+ name: "gasEstimateComponents",
128
+ outputs: [
129
+ {
130
+ internalType: "uint64",
131
+ name: "gasEstimate",
132
+ type: "uint64",
133
+ },
134
+ {
135
+ internalType: "uint64",
136
+ name: "gasEstimateForL1",
137
+ type: "uint64",
138
+ },
139
+ {
140
+ internalType: "uint256",
141
+ name: "baseFee",
142
+ type: "uint256",
143
+ },
144
+ {
145
+ internalType: "uint256",
146
+ name: "l1BaseFeeEstimate",
147
+ type: "uint256",
148
+ },
149
+ ],
150
+ stateMutability: "payable",
151
+ type: "function",
152
+ },
153
+ {
154
+ inputs: [
155
+ {
156
+ internalType: "address",
157
+ name: "to",
158
+ type: "address",
159
+ },
160
+ {
161
+ internalType: "bool",
162
+ name: "contractCreation",
163
+ type: "bool",
164
+ },
165
+ {
166
+ internalType: "bytes",
167
+ name: "data",
168
+ type: "bytes",
169
+ },
170
+ ],
171
+ name: "gasEstimateL1Component",
172
+ outputs: [
173
+ {
174
+ internalType: "uint64",
175
+ name: "gasEstimateForL1",
176
+ type: "uint64",
177
+ },
178
+ {
179
+ internalType: "uint256",
180
+ name: "baseFee",
181
+ type: "uint256",
182
+ },
183
+ {
184
+ internalType: "uint256",
185
+ name: "l1BaseFeeEstimate",
186
+ type: "uint256",
187
+ },
188
+ ],
189
+ stateMutability: "payable",
190
+ type: "function",
191
+ },
192
+ {
193
+ inputs: [
194
+ {
195
+ internalType: "bytes32",
196
+ name: "blockHash",
197
+ type: "bytes32",
198
+ },
199
+ ],
200
+ name: "getL1Confirmations",
201
+ outputs: [
202
+ {
203
+ internalType: "uint64",
204
+ name: "confirmations",
205
+ type: "uint64",
206
+ },
207
+ ],
208
+ stateMutability: "view",
209
+ type: "function",
210
+ },
211
+ {
212
+ inputs: [
213
+ {
214
+ internalType: "uint256",
215
+ name: "batchNum",
216
+ type: "uint256",
217
+ },
218
+ {
219
+ internalType: "uint64",
220
+ name: "index",
221
+ type: "uint64",
222
+ },
223
+ ],
224
+ name: "legacyLookupMessageBatchProof",
225
+ outputs: [
226
+ {
227
+ internalType: "bytes32[]",
228
+ name: "proof",
229
+ type: "bytes32[]",
230
+ },
231
+ {
232
+ internalType: "uint256",
233
+ name: "path",
234
+ type: "uint256",
235
+ },
236
+ {
237
+ internalType: "address",
238
+ name: "l2Sender",
239
+ type: "address",
240
+ },
241
+ {
242
+ internalType: "address",
243
+ name: "l1Dest",
244
+ type: "address",
245
+ },
246
+ {
247
+ internalType: "uint256",
248
+ name: "l2Block",
249
+ type: "uint256",
250
+ },
251
+ {
252
+ internalType: "uint256",
253
+ name: "l1Block",
254
+ type: "uint256",
255
+ },
256
+ {
257
+ internalType: "uint256",
258
+ name: "timestamp",
259
+ type: "uint256",
260
+ },
261
+ {
262
+ internalType: "uint256",
263
+ name: "amount",
264
+ type: "uint256",
265
+ },
266
+ {
267
+ internalType: "bytes",
268
+ name: "calldataForL1",
269
+ type: "bytes",
270
+ },
271
+ ],
272
+ stateMutability: "view",
273
+ type: "function",
274
+ },
275
+ {
276
+ inputs: [],
277
+ name: "nitroGenesisBlock",
278
+ outputs: [
279
+ {
280
+ internalType: "uint256",
281
+ name: "number",
282
+ type: "uint256",
283
+ },
284
+ ],
285
+ stateMutability: "pure",
286
+ type: "function",
287
+ },
288
+ ];
289
+
290
+ export class NodeInterface__factory {
291
+ static readonly abi = _abi;
292
+ static createInterface(): NodeInterfaceInterface {
293
+ return new utils.Interface(_abi) as NodeInterfaceInterface;
294
+ }
295
+ static connect(
296
+ address: string,
297
+ signerOrProvider: Signer | Provider
298
+ ): NodeInterface {
299
+ return new Contract(address, _abi, signerOrProvider) as NodeInterface;
300
+ }
301
+ }
@@ -0,0 +1,5 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ export { NodeInterface__factory } from "./NodeInterface__factory";
5
+ export { NodeInterfaceDebug__factory } from "./NodeInterfaceDebug__factory";
@@ -0,0 +1,216 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
5
+ import type { Provider, TransactionRequest } from "@ethersproject/providers";
6
+ import type {
7
+ HashProofHelper,
8
+ HashProofHelperInterface,
9
+ } from "../../../src/osp/HashProofHelper";
10
+
11
+ const _abi = [
12
+ {
13
+ inputs: [
14
+ {
15
+ internalType: "bytes32",
16
+ name: "fullHash",
17
+ type: "bytes32",
18
+ },
19
+ {
20
+ internalType: "uint64",
21
+ name: "offset",
22
+ type: "uint64",
23
+ },
24
+ ],
25
+ name: "NotProven",
26
+ type: "error",
27
+ },
28
+ {
29
+ anonymous: false,
30
+ inputs: [
31
+ {
32
+ indexed: true,
33
+ internalType: "bytes32",
34
+ name: "fullHash",
35
+ type: "bytes32",
36
+ },
37
+ {
38
+ indexed: true,
39
+ internalType: "uint64",
40
+ name: "offset",
41
+ type: "uint64",
42
+ },
43
+ {
44
+ indexed: false,
45
+ internalType: "bytes",
46
+ name: "part",
47
+ type: "bytes",
48
+ },
49
+ ],
50
+ name: "PreimagePartProven",
51
+ type: "event",
52
+ },
53
+ {
54
+ inputs: [],
55
+ name: "clearSplitProof",
56
+ outputs: [],
57
+ stateMutability: "nonpayable",
58
+ type: "function",
59
+ },
60
+ {
61
+ inputs: [
62
+ {
63
+ internalType: "bytes32",
64
+ name: "fullHash",
65
+ type: "bytes32",
66
+ },
67
+ {
68
+ internalType: "uint64",
69
+ name: "offset",
70
+ type: "uint64",
71
+ },
72
+ ],
73
+ name: "getPreimagePart",
74
+ outputs: [
75
+ {
76
+ internalType: "bytes",
77
+ name: "",
78
+ type: "bytes",
79
+ },
80
+ ],
81
+ stateMutability: "view",
82
+ type: "function",
83
+ },
84
+ {
85
+ inputs: [
86
+ {
87
+ internalType: "address",
88
+ name: "",
89
+ type: "address",
90
+ },
91
+ ],
92
+ name: "keccakStates",
93
+ outputs: [
94
+ {
95
+ internalType: "uint64",
96
+ name: "offset",
97
+ type: "uint64",
98
+ },
99
+ {
100
+ internalType: "bytes",
101
+ name: "part",
102
+ type: "bytes",
103
+ },
104
+ {
105
+ internalType: "uint256",
106
+ name: "length",
107
+ type: "uint256",
108
+ },
109
+ ],
110
+ stateMutability: "view",
111
+ type: "function",
112
+ },
113
+ {
114
+ inputs: [
115
+ {
116
+ internalType: "bytes",
117
+ name: "data",
118
+ type: "bytes",
119
+ },
120
+ {
121
+ internalType: "uint64",
122
+ name: "offset",
123
+ type: "uint64",
124
+ },
125
+ ],
126
+ name: "proveWithFullPreimage",
127
+ outputs: [
128
+ {
129
+ internalType: "bytes32",
130
+ name: "fullHash",
131
+ type: "bytes32",
132
+ },
133
+ ],
134
+ stateMutability: "nonpayable",
135
+ type: "function",
136
+ },
137
+ {
138
+ inputs: [
139
+ {
140
+ internalType: "bytes",
141
+ name: "data",
142
+ type: "bytes",
143
+ },
144
+ {
145
+ internalType: "uint64",
146
+ name: "offset",
147
+ type: "uint64",
148
+ },
149
+ {
150
+ internalType: "uint256",
151
+ name: "flags",
152
+ type: "uint256",
153
+ },
154
+ ],
155
+ name: "proveWithSplitPreimage",
156
+ outputs: [
157
+ {
158
+ internalType: "bytes32",
159
+ name: "fullHash",
160
+ type: "bytes32",
161
+ },
162
+ ],
163
+ stateMutability: "nonpayable",
164
+ type: "function",
165
+ },
166
+ ];
167
+
168
+ const _bytecode =
169
+ "0x608060405234801561001057600080fd5b50611cea806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063740085d71461005c57806379754cba14610085578063ae364ac2146100a6578063b7465799146100b0578063d4e5dd2b146100d2575b600080fd5b61006f61006a3660046118e0565b6100e5565b60405161007c9190611959565b60405180910390f35b6100986100933660046119bb565b6101d8565b60405190815260200161007c565b6100ae6106cb565b005b6100c36100be366004611a16565b610713565b60405161007c93929190611a3f565b6100986100e0366004611a71565b6107c9565b6000828152602081815260408083206001600160401b0385168452909152902080546060919060ff16610142576040516309cb23c960e11b8152600481018590526001600160401b03841660248201526044015b60405180910390fd5b80600101805461015190611ac4565b80601f016020809104026020016040519081016040528092919081815260200182805461017d90611ac4565b80156101ca5780601f1061019f576101008083540402835291602001916101ca565b820191906000526020600020905b8154815290600101906020018083116101ad57829003601f168201915b505050505091505092915050565b60006001821615156002831615610230573360009081526001602081905260408220805467ffffffffffffffff191681559190610217908301826117a2565b6102256002830160006117df565b600982016000905550505b80806102445750610242608886611b15565b155b6102845760405162461bcd60e51b81526020600482015260116024820152701393d517d09313d0d2d7d0531251d39151607a1b6044820152606401610139565b3360009081526001602052604090206009810154806102bc57815467ffffffffffffffff19166001600160401b038716178255610306565b81546001600160401b038781169116146103065760405162461bcd60e51b815260206004820152600b60248201526a1112519197d3d19194d15560aa1b6044820152606401610139565b61031282898986610920565b8061032760206001600160401b038916611b3f565b11801561034057508160090154866001600160401b0316105b1561045a57600081876001600160401b0316111561036e5761036b826001600160401b038916611b57565b90505b60008261038560206001600160401b038b16611b3f565b61038f9190611b57565b90508881111561039c5750875b815b8181101561045657846001018b8b838181106103bc576103bc611b6e565b9050013560f81c60f81b90808054806103d490611ac4565b80601f81146103e2576103f8565b83600052602060002060ff1984168155603f9350505b506002919091019091558154600116156104215790600052602060002090602091828204019190065b909190919091601f036101000a81548160ff02191690600160f81b84040217905550808061044e90611b84565b91505061039e565b5050505b8261046c5750600092506106c3915050565b60005b602081101561053c576000610485600883611b9f565b9050610492600582611b9f565b61049d600583611b15565b6104a8906005611bb3565b6104b29190611b3f565b905060006104c1600884611b15565b6104cc906008611bb3565b8560020183601981106104e1576104e1611b6e565b60048104909101546001600160401b036008600390931683026101000a9091041690911c9150610512908490611bb3565b61051d9060f8611b57565b60ff909116901b9590951794508061053481611b84565b91505061046f565b50604051806040016040528060011515815260200183600101805461056090611ac4565b80601f016020809104026020016040519081016040528092919081815260200182805461058c90611ac4565b80156105d95780601f106105ae576101008083540402835291602001916105d9565b820191906000526020600020905b8154815290600101906020018083116105bc57829003601f168201915b50505091909252505060008581526020818152604080832086546001600160401b0316845282529091208251815460ff1916901515178155828201518051919261062b926001850192909101906117ee565b505082546040516001600160401b03909116915085907ff88493e8ac6179d3c1ba8712068367d7ecdd6f30d3b5de01198e7a449fe2802c90610671906001870190611bd2565b60405180910390a33360009081526001602081905260408220805467ffffffffffffffff1916815591906106a7908301826117a2565b6106b56002830160006117df565b600982016000905550505050505b949350505050565b3360009081526001602081905260408220805467ffffffffffffffff1916815591906106f9908301826117a2565b6107076002830160006117df565b60098201600090555050565b6001602081905260009182526040909120805491810180546001600160401b039093169261074090611ac4565b80601f016020809104026020016040519081016040528092919081815260200182805461076c90611ac4565b80156107b95780601f1061078e576101008083540402835291602001916107b9565b820191906000526020600020905b81548152906001019060200180831161079c57829003601f168201915b5050505050908060090154905083565b600083836040516107db929190611c7a565b604051908190039020905060606001600160401b03831684111561087957600061080e6001600160401b03851686611b57565b9050602081111561081d575060205b856001600160401b038516866108338483611b3f565b9261084093929190611c8a565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929450505050505b6040805180820182526001808252602080830185815260008781528083528581206001600160401b038a1682528352949094208351815460ff1916901515178155935180519394936108d29385019291909101906117ee565b50905050826001600160401b0316827ff88493e8ac6179d3c1ba8712068367d7ecdd6f30d3b5de01198e7a449fe2802c836040516109109190611959565b60405180910390a3509392505050565b828290508460090160008282546109379190611b3f565b90915550505b81158015610949575080155b1561095357610ba2565b60005b6088811015610a7a5760008382101561098c5784848381811061097b5761097b611b6e565b919091013560f81c91506109af9050565b81841415610998576001175b6109a460016088611b57565b8214156109af576080175b60006109bc600884611b9f565b90506109c9600582611b9f565b6109d4600583611b15565b6109df906005611bb3565b6109e99190611b3f565b90506109f6600884611b15565b610a01906008611bb3565b6001600160401b03168260ff166001600160401b0316901b876002018260198110610a2e57610a2e611b6e565b6004810490910180546001600160401b0360086003909416939093026101000a808204841690941883168402929093021990921617905550819050610a7281611b84565b915050610956565b50610a83611872565b60005b6019811015610af557856002018160198110610aa457610aa4611b6e565b600491828204019190066008029054906101000a90046001600160401b03166001600160401b0316828260198110610ade57610ade611b6e565b602002015280610aed81611b84565b915050610a86565b50610aff81610ba8565b905060005b6019811015610b7b57818160198110610b1f57610b1f611b6e565b6020020151866002018260198110610b3957610b39611b6e565b600491828204019190066008026101000a8154816001600160401b0302191690836001600160401b031602179055508080610b7390611b84565b915050610b04565b506088831015610b8b5750610ba2565b610b988360888187611c8a565b935093505061093d565b50505050565b610bb0611872565b610bb8611891565b610bc0611891565b610bc8611872565b600060405180610300016040528060018152602001618082815260200167800000000000808a8152602001678000000080008000815260200161808b81526020016380000001815260200167800000008000808181526020016780000000000080098152602001608a81526020016088815260200163800080098152602001638000000a8152602001638000808b815260200167800000000000008b8152602001678000000000008089815260200167800000000000800381526020016780000000000080028152602001678000000000000080815260200161800a815260200167800000008000000a81526020016780000000800080818152602001678000000000008080815260200163800000018152602001678000000080008008815250905060005b6018811015611797576080878101516060808a01516040808c01516020808e01518e511890911890921890931889526101208b01516101008c015160e08d015160c08e015160a08f0151181818189089018190526101c08b01516101a08c01516101808d01516101608e01516101408f0151181818189289019283526102608b01516102408c01516102208d01516102008e01516101e08f015118181818918901919091526103008a01516102e08b01516102c08c01516102a08d01516102808e0151181818189288018390526001600160401b0360028202166001603f1b91829004179092188652510485600260200201516002026001600160401b03161785600060200201511884600160200201526001603f1b856003602002015181610e1957610e19611aff565b0485600360200201516002026001600160401b03161785600160200201511884600260200201526001603f1b856004602002015181610e5a57610e5a611aff565b0485600460200201516002026001600160401b03161785600260058110610e8357610e83611b6e565b602002015118606085015284516001603f1b9086516060808901519390920460029091026001600160401b031617909118608086810191825286518a5118808b5287516020808d018051909218825289516040808f0180519092189091528a518e8801805190911890528a51948e0180519095189094528901805160a08e0180519091189052805160c08e0180519091189052805160e08e018051909118905280516101008e0180519091189052516101208d018051909118905291880180516101408d018051909118905280516101608d018051909118905280516101808d018051909118905280516101a08d0180519091189052516101c08c018051909118905292870180516101e08c018051909118905280516102008c018051909118905280516102208c018051909118905280516102408c0180519091189052516102608b018051909118905281516102808b018051909118905281516102a08b018051909118905281516102c08b018051909118905281516102e08b018051909118905290516103008a01805190911890529084525163100000009060208901516001600160401b03641000000000909102169190041761010084015260408701516001603d1b9060408901516001600160401b03600890910216919004176101608401526060870151628000009060608901516001600160401b036502000000000090910216919004176102608401526080870151654000000000009060808901516001600160401b036204000090910216919004176102c084015260a08701516001603f1b900487600560200201516002026001600160401b031617836002601981106110f3576110f3611b6e565b602002015260c08701516210000081046001602c1b9091026001600160401b039081169190911760a085015260e0880151664000000000000081046104009091028216176101a08501526101008801516208000081046520000000000090910282161761020085015261012088015160048082029092166001603e1b909104176103008501526101408801516101408901516001600160401b036001603e1b909102169190041760808401526101608701516001603a1b906101608901516001600160401b036040909102169190041760e084015261018087015162200000906101808901516001600160401b036001602b1b90910216919004176101408401526101a08701516602000000000000906101a08901516001600160401b0361800090910216919004176102408401526101c08701516008906101c08901516001600160401b036001603d1b90910216919004176102a08401526101e0870151641000000000906101e08901516001600160401b03631000000090910216919004176020840152610200808801516102008901516001600160401b0366800000000000009091021691900417610120840152610220870151648000000000906102208901516001600160401b03630200000090910216919004176101808401526102408701516001602b1b906102408901516001600160401b036220000090910216919004176101e0840152610260870151610100906102608901516001600160401b03600160381b90910216919004176102e0840152610280870151642000000000906102808901516001600160401b036308000000909102169190041760608401526102a08701516001602c1b906102a08901516001600160401b0362100000909102169190041760c08401526102c08701516302000000906102c08901516001600160401b0364800000000090910216919004176101c08401526102e0870151600160381b906102e08901516001600160401b036101009091021691900417610220840152610300870151660400000000000090048760186020020151614000026001600160401b031617836014602002015282600a602002015183600560200201511916836000602002015118876000602002015282600b602002015183600660200201511916836001602002015118876001602002015282600c602002015183600760200201511916836002602002015118876002602002015282600d602002015183600860200201511916836003602002015118876003602002015282600e602002015183600960200201511916836004602002015118876004602002015282600f602002015183600a602002015119168360056020020151188760056020020152826010602002015183600b602002015119168360066020020151188760066020020152826011602002015183600c602002015119168360076020020151188760076020020152826012602002015183600d602002015119168360086020020151188760086020020152826013602002015183600e602002015119168360096020020151188760096020020152826014602002015183600f6020020151191683600a60200201511887600a602002015282601560200201518360106020020151191683600b60200201511887600b602002015282601660200201518360116020020151191683600c60200201511887600c602002015282601760200201518360126020020151191683600d60200201511887600d602002015282601860200201518360136020020151191683600e60200201511887600e602002015282600060200201518360146020020151191683600f60200201511887600f602002015282600160200201518360156020020151191683601060200201511887601060200201528260026020020151836016602002015119168360116020020151188760116020020152826003602002015183601760200201511916836012602002015118876012602002015282600460200201518360186020020151191683601360200201511887601360200201528260056020020151836000602002015119168360146020020151188760146020020152826006602002015183600160200201511916836015602002015118876015602002015282600760200201518360026020020151191683601660200201511887601660200201528260086020020151836003602002015119168360176020020151188760176020020152826009602002015183600460200201511916836018602002015118876018602002015281816018811061178557611785611b6e565b60200201518751188752600101610cee565b509495945050505050565b5080546117ae90611ac4565b6000825580601f106117be575050565b601f0160209004906000526020600020908101906117dc91906118af565b50565b506117dc9060078101906118af565b8280546117fa90611ac4565b90600052602060002090601f01602090048101928261181c5760008555611862565b82601f1061183557805160ff1916838001178555611862565b82800160010185558215611862579182015b82811115611862578251825591602001919060010190611847565b5061186e9291506118af565b5090565b6040518061032001604052806019906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b5b8082111561186e57600081556001016118b0565b80356001600160401b03811681146118db57600080fd5b919050565b600080604083850312156118f357600080fd5b82359150611903602084016118c4565b90509250929050565b6000815180845260005b8181101561193257602081850181015186830182015201611916565b81811115611944576000602083870101525b50601f01601f19169290920160200192915050565b60208152600061196c602083018461190c565b9392505050565b60008083601f84011261198557600080fd5b5081356001600160401b0381111561199c57600080fd5b6020830191508360208285010111156119b457600080fd5b9250929050565b600080600080606085870312156119d157600080fd5b84356001600160401b038111156119e757600080fd5b6119f387828801611973565b9095509350611a069050602086016118c4565b9396929550929360400135925050565b600060208284031215611a2857600080fd5b81356001600160a01b038116811461196c57600080fd5b6001600160401b0384168152606060208201526000611a61606083018561190c565b9050826040830152949350505050565b600080600060408486031215611a8657600080fd5b83356001600160401b03811115611a9c57600080fd5b611aa886828701611973565b9094509250611abb9050602085016118c4565b90509250925092565b600181811c90821680611ad857607f821691505b60208210811415611af957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601260045260246000fd5b600082611b2457611b24611aff565b500690565b634e487b7160e01b600052601160045260246000fd5b60008219821115611b5257611b52611b29565b500190565b600082821015611b6957611b69611b29565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611b9857611b98611b29565b5060010190565b600082611bae57611bae611aff565b500490565b6000816000190483118215151615611bcd57611bcd611b29565b500290565b600060208083526000845481600182811c915080831680611bf457607f831692505b858310811415611c1257634e487b7160e01b85526022600452602485fd5b878601838152602001818015611c2f5760018114611c4057611c6b565b60ff19861682528782019650611c6b565b60008b81526020902060005b86811015611c6557815484820152908501908901611c4c565b83019750505b50949998505050505050505050565b8183823760009101908152919050565b60008085851115611c9a57600080fd5b83861115611ca757600080fd5b505082019391909203915056fea26469706673582212202f2dcb3af29934bcb41f7861970718df9ad65661f9f6cb26c88c963224a1e4c264736f6c63430008090033";
170
+
171
+ type HashProofHelperConstructorParams =
172
+ | [signer?: Signer]
173
+ | ConstructorParameters<typeof ContractFactory>;
174
+
175
+ const isSuperArgs = (
176
+ xs: HashProofHelperConstructorParams
177
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
178
+
179
+ export class HashProofHelper__factory extends ContractFactory {
180
+ constructor(...args: HashProofHelperConstructorParams) {
181
+ if (isSuperArgs(args)) {
182
+ super(...args);
183
+ } else {
184
+ super(_abi, _bytecode, args[0]);
185
+ }
186
+ }
187
+
188
+ override deploy(
189
+ overrides?: Overrides & { from?: string | Promise<string> }
190
+ ): Promise<HashProofHelper> {
191
+ return super.deploy(overrides || {}) as Promise<HashProofHelper>;
192
+ }
193
+ override getDeployTransaction(
194
+ overrides?: Overrides & { from?: string | Promise<string> }
195
+ ): TransactionRequest {
196
+ return super.getDeployTransaction(overrides || {});
197
+ }
198
+ override attach(address: string): HashProofHelper {
199
+ return super.attach(address) as HashProofHelper;
200
+ }
201
+ override connect(signer: Signer): HashProofHelper__factory {
202
+ return super.connect(signer) as HashProofHelper__factory;
203
+ }
204
+
205
+ static readonly bytecode = _bytecode;
206
+ static readonly abi = _abi;
207
+ static createInterface(): HashProofHelperInterface {
208
+ return new utils.Interface(_abi) as HashProofHelperInterface;
209
+ }
210
+ static connect(
211
+ address: string,
212
+ signerOrProvider: Signer | Provider
213
+ ): HashProofHelper {
214
+ return new Contract(address, _abi, signerOrProvider) as HashProofHelper;
215
+ }
216
+ }