@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,1859 @@
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
+ RollupAdminLogic,
8
+ RollupAdminLogicInterface,
9
+ } from "../../../src/rollup/RollupAdminLogic";
10
+
11
+ const _abi = [
12
+ {
13
+ anonymous: false,
14
+ inputs: [
15
+ {
16
+ indexed: false,
17
+ internalType: "address",
18
+ name: "previousAdmin",
19
+ type: "address",
20
+ },
21
+ {
22
+ indexed: false,
23
+ internalType: "address",
24
+ name: "newAdmin",
25
+ type: "address",
26
+ },
27
+ ],
28
+ name: "AdminChanged",
29
+ type: "event",
30
+ },
31
+ {
32
+ anonymous: false,
33
+ inputs: [
34
+ {
35
+ indexed: true,
36
+ internalType: "address",
37
+ name: "beacon",
38
+ type: "address",
39
+ },
40
+ ],
41
+ name: "BeaconUpgraded",
42
+ type: "event",
43
+ },
44
+ {
45
+ anonymous: false,
46
+ inputs: [
47
+ {
48
+ indexed: true,
49
+ internalType: "uint64",
50
+ name: "nodeNum",
51
+ type: "uint64",
52
+ },
53
+ {
54
+ indexed: false,
55
+ internalType: "bytes32",
56
+ name: "blockHash",
57
+ type: "bytes32",
58
+ },
59
+ {
60
+ indexed: false,
61
+ internalType: "bytes32",
62
+ name: "sendRoot",
63
+ type: "bytes32",
64
+ },
65
+ ],
66
+ name: "NodeConfirmed",
67
+ type: "event",
68
+ },
69
+ {
70
+ anonymous: false,
71
+ inputs: [
72
+ {
73
+ indexed: true,
74
+ internalType: "uint64",
75
+ name: "nodeNum",
76
+ type: "uint64",
77
+ },
78
+ {
79
+ indexed: true,
80
+ internalType: "bytes32",
81
+ name: "parentNodeHash",
82
+ type: "bytes32",
83
+ },
84
+ {
85
+ indexed: true,
86
+ internalType: "bytes32",
87
+ name: "nodeHash",
88
+ type: "bytes32",
89
+ },
90
+ {
91
+ indexed: false,
92
+ internalType: "bytes32",
93
+ name: "executionHash",
94
+ type: "bytes32",
95
+ },
96
+ {
97
+ components: [
98
+ {
99
+ components: [
100
+ {
101
+ components: [
102
+ {
103
+ internalType: "bytes32[2]",
104
+ name: "bytes32Vals",
105
+ type: "bytes32[2]",
106
+ },
107
+ {
108
+ internalType: "uint64[2]",
109
+ name: "u64Vals",
110
+ type: "uint64[2]",
111
+ },
112
+ ],
113
+ internalType: "struct GlobalState",
114
+ name: "globalState",
115
+ type: "tuple",
116
+ },
117
+ {
118
+ internalType: "enum MachineStatus",
119
+ name: "machineStatus",
120
+ type: "uint8",
121
+ },
122
+ ],
123
+ internalType: "struct ExecutionState",
124
+ name: "beforeState",
125
+ type: "tuple",
126
+ },
127
+ {
128
+ components: [
129
+ {
130
+ components: [
131
+ {
132
+ internalType: "bytes32[2]",
133
+ name: "bytes32Vals",
134
+ type: "bytes32[2]",
135
+ },
136
+ {
137
+ internalType: "uint64[2]",
138
+ name: "u64Vals",
139
+ type: "uint64[2]",
140
+ },
141
+ ],
142
+ internalType: "struct GlobalState",
143
+ name: "globalState",
144
+ type: "tuple",
145
+ },
146
+ {
147
+ internalType: "enum MachineStatus",
148
+ name: "machineStatus",
149
+ type: "uint8",
150
+ },
151
+ ],
152
+ internalType: "struct ExecutionState",
153
+ name: "afterState",
154
+ type: "tuple",
155
+ },
156
+ {
157
+ internalType: "uint64",
158
+ name: "numBlocks",
159
+ type: "uint64",
160
+ },
161
+ ],
162
+ indexed: false,
163
+ internalType: "struct Assertion",
164
+ name: "assertion",
165
+ type: "tuple",
166
+ },
167
+ {
168
+ indexed: false,
169
+ internalType: "bytes32",
170
+ name: "afterInboxBatchAcc",
171
+ type: "bytes32",
172
+ },
173
+ {
174
+ indexed: false,
175
+ internalType: "bytes32",
176
+ name: "wasmModuleRoot",
177
+ type: "bytes32",
178
+ },
179
+ {
180
+ indexed: false,
181
+ internalType: "uint256",
182
+ name: "inboxMaxCount",
183
+ type: "uint256",
184
+ },
185
+ ],
186
+ name: "NodeCreated",
187
+ type: "event",
188
+ },
189
+ {
190
+ anonymous: false,
191
+ inputs: [
192
+ {
193
+ indexed: true,
194
+ internalType: "uint64",
195
+ name: "nodeNum",
196
+ type: "uint64",
197
+ },
198
+ ],
199
+ name: "NodeRejected",
200
+ type: "event",
201
+ },
202
+ {
203
+ anonymous: false,
204
+ inputs: [
205
+ {
206
+ indexed: true,
207
+ internalType: "uint256",
208
+ name: "id",
209
+ type: "uint256",
210
+ },
211
+ ],
212
+ name: "OwnerFunctionCalled",
213
+ type: "event",
214
+ },
215
+ {
216
+ anonymous: false,
217
+ inputs: [
218
+ {
219
+ indexed: false,
220
+ internalType: "address",
221
+ name: "account",
222
+ type: "address",
223
+ },
224
+ ],
225
+ name: "Paused",
226
+ type: "event",
227
+ },
228
+ {
229
+ anonymous: false,
230
+ inputs: [
231
+ {
232
+ indexed: true,
233
+ internalType: "uint64",
234
+ name: "challengeIndex",
235
+ type: "uint64",
236
+ },
237
+ {
238
+ indexed: false,
239
+ internalType: "address",
240
+ name: "asserter",
241
+ type: "address",
242
+ },
243
+ {
244
+ indexed: false,
245
+ internalType: "address",
246
+ name: "challenger",
247
+ type: "address",
248
+ },
249
+ {
250
+ indexed: false,
251
+ internalType: "uint64",
252
+ name: "challengedNode",
253
+ type: "uint64",
254
+ },
255
+ ],
256
+ name: "RollupChallengeStarted",
257
+ type: "event",
258
+ },
259
+ {
260
+ anonymous: false,
261
+ inputs: [
262
+ {
263
+ indexed: false,
264
+ internalType: "bytes32",
265
+ name: "machineHash",
266
+ type: "bytes32",
267
+ },
268
+ {
269
+ indexed: false,
270
+ internalType: "uint256",
271
+ name: "chainId",
272
+ type: "uint256",
273
+ },
274
+ ],
275
+ name: "RollupInitialized",
276
+ type: "event",
277
+ },
278
+ {
279
+ anonymous: false,
280
+ inputs: [
281
+ {
282
+ indexed: false,
283
+ internalType: "address",
284
+ name: "account",
285
+ type: "address",
286
+ },
287
+ ],
288
+ name: "Unpaused",
289
+ type: "event",
290
+ },
291
+ {
292
+ anonymous: false,
293
+ inputs: [
294
+ {
295
+ indexed: true,
296
+ internalType: "address",
297
+ name: "implementation",
298
+ type: "address",
299
+ },
300
+ ],
301
+ name: "Upgraded",
302
+ type: "event",
303
+ },
304
+ {
305
+ anonymous: false,
306
+ inputs: [
307
+ {
308
+ indexed: true,
309
+ internalType: "address",
310
+ name: "implementation",
311
+ type: "address",
312
+ },
313
+ ],
314
+ name: "UpgradedSecondary",
315
+ type: "event",
316
+ },
317
+ {
318
+ anonymous: false,
319
+ inputs: [
320
+ {
321
+ indexed: true,
322
+ internalType: "address",
323
+ name: "user",
324
+ type: "address",
325
+ },
326
+ {
327
+ indexed: false,
328
+ internalType: "uint256",
329
+ name: "initialBalance",
330
+ type: "uint256",
331
+ },
332
+ {
333
+ indexed: false,
334
+ internalType: "uint256",
335
+ name: "finalBalance",
336
+ type: "uint256",
337
+ },
338
+ ],
339
+ name: "UserStakeUpdated",
340
+ type: "event",
341
+ },
342
+ {
343
+ anonymous: false,
344
+ inputs: [
345
+ {
346
+ indexed: true,
347
+ internalType: "address",
348
+ name: "user",
349
+ type: "address",
350
+ },
351
+ {
352
+ indexed: false,
353
+ internalType: "uint256",
354
+ name: "initialBalance",
355
+ type: "uint256",
356
+ },
357
+ {
358
+ indexed: false,
359
+ internalType: "uint256",
360
+ name: "finalBalance",
361
+ type: "uint256",
362
+ },
363
+ ],
364
+ name: "UserWithdrawableFundsUpdated",
365
+ type: "event",
366
+ },
367
+ {
368
+ inputs: [
369
+ {
370
+ internalType: "address",
371
+ name: "",
372
+ type: "address",
373
+ },
374
+ ],
375
+ name: "_stakerMap",
376
+ outputs: [
377
+ {
378
+ internalType: "uint256",
379
+ name: "amountStaked",
380
+ type: "uint256",
381
+ },
382
+ {
383
+ internalType: "uint64",
384
+ name: "index",
385
+ type: "uint64",
386
+ },
387
+ {
388
+ internalType: "uint64",
389
+ name: "latestStakedNode",
390
+ type: "uint64",
391
+ },
392
+ {
393
+ internalType: "uint64",
394
+ name: "currentChallenge",
395
+ type: "uint64",
396
+ },
397
+ {
398
+ internalType: "bool",
399
+ name: "isStaked",
400
+ type: "bool",
401
+ },
402
+ ],
403
+ stateMutability: "view",
404
+ type: "function",
405
+ },
406
+ {
407
+ inputs: [
408
+ {
409
+ internalType: "address",
410
+ name: "staker",
411
+ type: "address",
412
+ },
413
+ ],
414
+ name: "amountStaked",
415
+ outputs: [
416
+ {
417
+ internalType: "uint256",
418
+ name: "",
419
+ type: "uint256",
420
+ },
421
+ ],
422
+ stateMutability: "view",
423
+ type: "function",
424
+ },
425
+ {
426
+ inputs: [],
427
+ name: "baseStake",
428
+ outputs: [
429
+ {
430
+ internalType: "uint256",
431
+ name: "",
432
+ type: "uint256",
433
+ },
434
+ ],
435
+ stateMutability: "view",
436
+ type: "function",
437
+ },
438
+ {
439
+ inputs: [],
440
+ name: "bridge",
441
+ outputs: [
442
+ {
443
+ internalType: "contract IBridge",
444
+ name: "",
445
+ type: "address",
446
+ },
447
+ ],
448
+ stateMutability: "view",
449
+ type: "function",
450
+ },
451
+ {
452
+ inputs: [],
453
+ name: "chainId",
454
+ outputs: [
455
+ {
456
+ internalType: "uint256",
457
+ name: "",
458
+ type: "uint256",
459
+ },
460
+ ],
461
+ stateMutability: "view",
462
+ type: "function",
463
+ },
464
+ {
465
+ inputs: [],
466
+ name: "challengeManager",
467
+ outputs: [
468
+ {
469
+ internalType: "contract IChallengeManager",
470
+ name: "",
471
+ type: "address",
472
+ },
473
+ ],
474
+ stateMutability: "view",
475
+ type: "function",
476
+ },
477
+ {
478
+ inputs: [],
479
+ name: "confirmPeriodBlocks",
480
+ outputs: [
481
+ {
482
+ internalType: "uint64",
483
+ name: "",
484
+ type: "uint64",
485
+ },
486
+ ],
487
+ stateMutability: "view",
488
+ type: "function",
489
+ },
490
+ {
491
+ inputs: [
492
+ {
493
+ components: [
494
+ {
495
+ components: [
496
+ {
497
+ components: [
498
+ {
499
+ internalType: "bytes32[2]",
500
+ name: "bytes32Vals",
501
+ type: "bytes32[2]",
502
+ },
503
+ {
504
+ internalType: "uint64[2]",
505
+ name: "u64Vals",
506
+ type: "uint64[2]",
507
+ },
508
+ ],
509
+ internalType: "struct GlobalState",
510
+ name: "globalState",
511
+ type: "tuple",
512
+ },
513
+ {
514
+ internalType: "enum MachineStatus",
515
+ name: "machineStatus",
516
+ type: "uint8",
517
+ },
518
+ ],
519
+ internalType: "struct ExecutionState",
520
+ name: "beforeState",
521
+ type: "tuple",
522
+ },
523
+ {
524
+ components: [
525
+ {
526
+ components: [
527
+ {
528
+ internalType: "bytes32[2]",
529
+ name: "bytes32Vals",
530
+ type: "bytes32[2]",
531
+ },
532
+ {
533
+ internalType: "uint64[2]",
534
+ name: "u64Vals",
535
+ type: "uint64[2]",
536
+ },
537
+ ],
538
+ internalType: "struct GlobalState",
539
+ name: "globalState",
540
+ type: "tuple",
541
+ },
542
+ {
543
+ internalType: "enum MachineStatus",
544
+ name: "machineStatus",
545
+ type: "uint8",
546
+ },
547
+ ],
548
+ internalType: "struct ExecutionState",
549
+ name: "afterState",
550
+ type: "tuple",
551
+ },
552
+ {
553
+ internalType: "uint64",
554
+ name: "numBlocks",
555
+ type: "uint64",
556
+ },
557
+ ],
558
+ internalType: "struct Assertion",
559
+ name: "assertion",
560
+ type: "tuple",
561
+ },
562
+ ],
563
+ name: "createNitroMigrationGenesis",
564
+ outputs: [],
565
+ stateMutability: "nonpayable",
566
+ type: "function",
567
+ },
568
+ {
569
+ inputs: [
570
+ {
571
+ internalType: "address",
572
+ name: "staker",
573
+ type: "address",
574
+ },
575
+ ],
576
+ name: "currentChallenge",
577
+ outputs: [
578
+ {
579
+ internalType: "uint64",
580
+ name: "",
581
+ type: "uint64",
582
+ },
583
+ ],
584
+ stateMutability: "view",
585
+ type: "function",
586
+ },
587
+ {
588
+ inputs: [],
589
+ name: "extraChallengeTimeBlocks",
590
+ outputs: [
591
+ {
592
+ internalType: "uint64",
593
+ name: "",
594
+ type: "uint64",
595
+ },
596
+ ],
597
+ stateMutability: "view",
598
+ type: "function",
599
+ },
600
+ {
601
+ inputs: [],
602
+ name: "firstUnresolvedNode",
603
+ outputs: [
604
+ {
605
+ internalType: "uint64",
606
+ name: "",
607
+ type: "uint64",
608
+ },
609
+ ],
610
+ stateMutability: "view",
611
+ type: "function",
612
+ },
613
+ {
614
+ inputs: [
615
+ {
616
+ internalType: "uint64",
617
+ name: "nodeNum",
618
+ type: "uint64",
619
+ },
620
+ {
621
+ internalType: "bytes32",
622
+ name: "blockHash",
623
+ type: "bytes32",
624
+ },
625
+ {
626
+ internalType: "bytes32",
627
+ name: "sendRoot",
628
+ type: "bytes32",
629
+ },
630
+ ],
631
+ name: "forceConfirmNode",
632
+ outputs: [],
633
+ stateMutability: "nonpayable",
634
+ type: "function",
635
+ },
636
+ {
637
+ inputs: [
638
+ {
639
+ internalType: "uint64",
640
+ name: "prevNode",
641
+ type: "uint64",
642
+ },
643
+ {
644
+ internalType: "uint256",
645
+ name: "prevNodeInboxMaxCount",
646
+ type: "uint256",
647
+ },
648
+ {
649
+ components: [
650
+ {
651
+ components: [
652
+ {
653
+ components: [
654
+ {
655
+ internalType: "bytes32[2]",
656
+ name: "bytes32Vals",
657
+ type: "bytes32[2]",
658
+ },
659
+ {
660
+ internalType: "uint64[2]",
661
+ name: "u64Vals",
662
+ type: "uint64[2]",
663
+ },
664
+ ],
665
+ internalType: "struct GlobalState",
666
+ name: "globalState",
667
+ type: "tuple",
668
+ },
669
+ {
670
+ internalType: "enum MachineStatus",
671
+ name: "machineStatus",
672
+ type: "uint8",
673
+ },
674
+ ],
675
+ internalType: "struct ExecutionState",
676
+ name: "beforeState",
677
+ type: "tuple",
678
+ },
679
+ {
680
+ components: [
681
+ {
682
+ components: [
683
+ {
684
+ internalType: "bytes32[2]",
685
+ name: "bytes32Vals",
686
+ type: "bytes32[2]",
687
+ },
688
+ {
689
+ internalType: "uint64[2]",
690
+ name: "u64Vals",
691
+ type: "uint64[2]",
692
+ },
693
+ ],
694
+ internalType: "struct GlobalState",
695
+ name: "globalState",
696
+ type: "tuple",
697
+ },
698
+ {
699
+ internalType: "enum MachineStatus",
700
+ name: "machineStatus",
701
+ type: "uint8",
702
+ },
703
+ ],
704
+ internalType: "struct ExecutionState",
705
+ name: "afterState",
706
+ type: "tuple",
707
+ },
708
+ {
709
+ internalType: "uint64",
710
+ name: "numBlocks",
711
+ type: "uint64",
712
+ },
713
+ ],
714
+ internalType: "struct Assertion",
715
+ name: "assertion",
716
+ type: "tuple",
717
+ },
718
+ {
719
+ internalType: "bytes32",
720
+ name: "expectedNodeHash",
721
+ type: "bytes32",
722
+ },
723
+ ],
724
+ name: "forceCreateNode",
725
+ outputs: [],
726
+ stateMutability: "nonpayable",
727
+ type: "function",
728
+ },
729
+ {
730
+ inputs: [
731
+ {
732
+ internalType: "address[]",
733
+ name: "staker",
734
+ type: "address[]",
735
+ },
736
+ ],
737
+ name: "forceRefundStaker",
738
+ outputs: [],
739
+ stateMutability: "nonpayable",
740
+ type: "function",
741
+ },
742
+ {
743
+ inputs: [
744
+ {
745
+ internalType: "address[]",
746
+ name: "stakerA",
747
+ type: "address[]",
748
+ },
749
+ {
750
+ internalType: "address[]",
751
+ name: "stakerB",
752
+ type: "address[]",
753
+ },
754
+ ],
755
+ name: "forceResolveChallenge",
756
+ outputs: [],
757
+ stateMutability: "nonpayable",
758
+ type: "function",
759
+ },
760
+ {
761
+ inputs: [
762
+ {
763
+ internalType: "uint64",
764
+ name: "nodeNum",
765
+ type: "uint64",
766
+ },
767
+ ],
768
+ name: "getNode",
769
+ outputs: [
770
+ {
771
+ components: [
772
+ {
773
+ internalType: "bytes32",
774
+ name: "stateHash",
775
+ type: "bytes32",
776
+ },
777
+ {
778
+ internalType: "bytes32",
779
+ name: "challengeHash",
780
+ type: "bytes32",
781
+ },
782
+ {
783
+ internalType: "bytes32",
784
+ name: "confirmData",
785
+ type: "bytes32",
786
+ },
787
+ {
788
+ internalType: "uint64",
789
+ name: "prevNum",
790
+ type: "uint64",
791
+ },
792
+ {
793
+ internalType: "uint64",
794
+ name: "deadlineBlock",
795
+ type: "uint64",
796
+ },
797
+ {
798
+ internalType: "uint64",
799
+ name: "noChildConfirmedBeforeBlock",
800
+ type: "uint64",
801
+ },
802
+ {
803
+ internalType: "uint64",
804
+ name: "stakerCount",
805
+ type: "uint64",
806
+ },
807
+ {
808
+ internalType: "uint64",
809
+ name: "childStakerCount",
810
+ type: "uint64",
811
+ },
812
+ {
813
+ internalType: "uint64",
814
+ name: "firstChildBlock",
815
+ type: "uint64",
816
+ },
817
+ {
818
+ internalType: "uint64",
819
+ name: "latestChildNumber",
820
+ type: "uint64",
821
+ },
822
+ {
823
+ internalType: "uint64",
824
+ name: "createdAtBlock",
825
+ type: "uint64",
826
+ },
827
+ {
828
+ internalType: "bytes32",
829
+ name: "nodeHash",
830
+ type: "bytes32",
831
+ },
832
+ ],
833
+ internalType: "struct Node",
834
+ name: "",
835
+ type: "tuple",
836
+ },
837
+ ],
838
+ stateMutability: "view",
839
+ type: "function",
840
+ },
841
+ {
842
+ inputs: [
843
+ {
844
+ internalType: "uint64",
845
+ name: "nodeNum",
846
+ type: "uint64",
847
+ },
848
+ ],
849
+ name: "getNodeCreationBlockForLogLookup",
850
+ outputs: [
851
+ {
852
+ internalType: "uint256",
853
+ name: "",
854
+ type: "uint256",
855
+ },
856
+ ],
857
+ stateMutability: "view",
858
+ type: "function",
859
+ },
860
+ {
861
+ inputs: [
862
+ {
863
+ internalType: "address",
864
+ name: "staker",
865
+ type: "address",
866
+ },
867
+ ],
868
+ name: "getStaker",
869
+ outputs: [
870
+ {
871
+ components: [
872
+ {
873
+ internalType: "uint256",
874
+ name: "amountStaked",
875
+ type: "uint256",
876
+ },
877
+ {
878
+ internalType: "uint64",
879
+ name: "index",
880
+ type: "uint64",
881
+ },
882
+ {
883
+ internalType: "uint64",
884
+ name: "latestStakedNode",
885
+ type: "uint64",
886
+ },
887
+ {
888
+ internalType: "uint64",
889
+ name: "currentChallenge",
890
+ type: "uint64",
891
+ },
892
+ {
893
+ internalType: "bool",
894
+ name: "isStaked",
895
+ type: "bool",
896
+ },
897
+ ],
898
+ internalType: "struct IRollupCore.Staker",
899
+ name: "",
900
+ type: "tuple",
901
+ },
902
+ ],
903
+ stateMutability: "view",
904
+ type: "function",
905
+ },
906
+ {
907
+ inputs: [
908
+ {
909
+ internalType: "uint64",
910
+ name: "stakerNum",
911
+ type: "uint64",
912
+ },
913
+ ],
914
+ name: "getStakerAddress",
915
+ outputs: [
916
+ {
917
+ internalType: "address",
918
+ name: "",
919
+ type: "address",
920
+ },
921
+ ],
922
+ stateMutability: "view",
923
+ type: "function",
924
+ },
925
+ {
926
+ inputs: [],
927
+ name: "inbox",
928
+ outputs: [
929
+ {
930
+ internalType: "contract IInbox",
931
+ name: "",
932
+ type: "address",
933
+ },
934
+ ],
935
+ stateMutability: "view",
936
+ type: "function",
937
+ },
938
+ {
939
+ inputs: [
940
+ {
941
+ components: [
942
+ {
943
+ internalType: "uint64",
944
+ name: "confirmPeriodBlocks",
945
+ type: "uint64",
946
+ },
947
+ {
948
+ internalType: "uint64",
949
+ name: "extraChallengeTimeBlocks",
950
+ type: "uint64",
951
+ },
952
+ {
953
+ internalType: "address",
954
+ name: "stakeToken",
955
+ type: "address",
956
+ },
957
+ {
958
+ internalType: "uint256",
959
+ name: "baseStake",
960
+ type: "uint256",
961
+ },
962
+ {
963
+ internalType: "bytes32",
964
+ name: "wasmModuleRoot",
965
+ type: "bytes32",
966
+ },
967
+ {
968
+ internalType: "address",
969
+ name: "owner",
970
+ type: "address",
971
+ },
972
+ {
973
+ internalType: "address",
974
+ name: "loserStakeEscrow",
975
+ type: "address",
976
+ },
977
+ {
978
+ internalType: "uint256",
979
+ name: "chainId",
980
+ type: "uint256",
981
+ },
982
+ {
983
+ internalType: "string",
984
+ name: "chainConfig",
985
+ type: "string",
986
+ },
987
+ {
988
+ internalType: "uint64",
989
+ name: "genesisBlockNum",
990
+ type: "uint64",
991
+ },
992
+ {
993
+ components: [
994
+ {
995
+ internalType: "uint256",
996
+ name: "delayBlocks",
997
+ type: "uint256",
998
+ },
999
+ {
1000
+ internalType: "uint256",
1001
+ name: "futureBlocks",
1002
+ type: "uint256",
1003
+ },
1004
+ {
1005
+ internalType: "uint256",
1006
+ name: "delaySeconds",
1007
+ type: "uint256",
1008
+ },
1009
+ {
1010
+ internalType: "uint256",
1011
+ name: "futureSeconds",
1012
+ type: "uint256",
1013
+ },
1014
+ ],
1015
+ internalType: "struct ISequencerInbox.MaxTimeVariation",
1016
+ name: "sequencerInboxMaxTimeVariation",
1017
+ type: "tuple",
1018
+ },
1019
+ ],
1020
+ internalType: "struct Config",
1021
+ name: "config",
1022
+ type: "tuple",
1023
+ },
1024
+ {
1025
+ components: [
1026
+ {
1027
+ internalType: "contract IBridge",
1028
+ name: "bridge",
1029
+ type: "address",
1030
+ },
1031
+ {
1032
+ internalType: "contract ISequencerInbox",
1033
+ name: "sequencerInbox",
1034
+ type: "address",
1035
+ },
1036
+ {
1037
+ internalType: "contract IInbox",
1038
+ name: "inbox",
1039
+ type: "address",
1040
+ },
1041
+ {
1042
+ internalType: "contract IOutbox",
1043
+ name: "outbox",
1044
+ type: "address",
1045
+ },
1046
+ {
1047
+ internalType: "contract IRollupEventInbox",
1048
+ name: "rollupEventInbox",
1049
+ type: "address",
1050
+ },
1051
+ {
1052
+ internalType: "contract IChallengeManager",
1053
+ name: "challengeManager",
1054
+ type: "address",
1055
+ },
1056
+ {
1057
+ internalType: "address",
1058
+ name: "rollupAdminLogic",
1059
+ type: "address",
1060
+ },
1061
+ {
1062
+ internalType: "contract IRollupUser",
1063
+ name: "rollupUserLogic",
1064
+ type: "address",
1065
+ },
1066
+ {
1067
+ internalType: "address",
1068
+ name: "validatorUtils",
1069
+ type: "address",
1070
+ },
1071
+ {
1072
+ internalType: "address",
1073
+ name: "validatorWalletCreator",
1074
+ type: "address",
1075
+ },
1076
+ ],
1077
+ internalType: "struct ContractDependencies",
1078
+ name: "connectedContracts",
1079
+ type: "tuple",
1080
+ },
1081
+ ],
1082
+ name: "initialize",
1083
+ outputs: [],
1084
+ stateMutability: "nonpayable",
1085
+ type: "function",
1086
+ },
1087
+ {
1088
+ inputs: [
1089
+ {
1090
+ internalType: "address",
1091
+ name: "staker",
1092
+ type: "address",
1093
+ },
1094
+ ],
1095
+ name: "isStaked",
1096
+ outputs: [
1097
+ {
1098
+ internalType: "bool",
1099
+ name: "",
1100
+ type: "bool",
1101
+ },
1102
+ ],
1103
+ stateMutability: "view",
1104
+ type: "function",
1105
+ },
1106
+ {
1107
+ inputs: [
1108
+ {
1109
+ internalType: "address",
1110
+ name: "staker",
1111
+ type: "address",
1112
+ },
1113
+ ],
1114
+ name: "isStakedOnLatestConfirmed",
1115
+ outputs: [
1116
+ {
1117
+ internalType: "bool",
1118
+ name: "",
1119
+ type: "bool",
1120
+ },
1121
+ ],
1122
+ stateMutability: "view",
1123
+ type: "function",
1124
+ },
1125
+ {
1126
+ inputs: [
1127
+ {
1128
+ internalType: "address",
1129
+ name: "",
1130
+ type: "address",
1131
+ },
1132
+ ],
1133
+ name: "isValidator",
1134
+ outputs: [
1135
+ {
1136
+ internalType: "bool",
1137
+ name: "",
1138
+ type: "bool",
1139
+ },
1140
+ ],
1141
+ stateMutability: "view",
1142
+ type: "function",
1143
+ },
1144
+ {
1145
+ inputs: [
1146
+ {
1147
+ internalType: "address",
1148
+ name: "staker",
1149
+ type: "address",
1150
+ },
1151
+ ],
1152
+ name: "isZombie",
1153
+ outputs: [
1154
+ {
1155
+ internalType: "bool",
1156
+ name: "",
1157
+ type: "bool",
1158
+ },
1159
+ ],
1160
+ stateMutability: "view",
1161
+ type: "function",
1162
+ },
1163
+ {
1164
+ inputs: [],
1165
+ name: "lastStakeBlock",
1166
+ outputs: [
1167
+ {
1168
+ internalType: "uint64",
1169
+ name: "",
1170
+ type: "uint64",
1171
+ },
1172
+ ],
1173
+ stateMutability: "view",
1174
+ type: "function",
1175
+ },
1176
+ {
1177
+ inputs: [],
1178
+ name: "latestConfirmed",
1179
+ outputs: [
1180
+ {
1181
+ internalType: "uint64",
1182
+ name: "",
1183
+ type: "uint64",
1184
+ },
1185
+ ],
1186
+ stateMutability: "view",
1187
+ type: "function",
1188
+ },
1189
+ {
1190
+ inputs: [],
1191
+ name: "latestNodeCreated",
1192
+ outputs: [
1193
+ {
1194
+ internalType: "uint64",
1195
+ name: "",
1196
+ type: "uint64",
1197
+ },
1198
+ ],
1199
+ stateMutability: "view",
1200
+ type: "function",
1201
+ },
1202
+ {
1203
+ inputs: [
1204
+ {
1205
+ internalType: "address",
1206
+ name: "staker",
1207
+ type: "address",
1208
+ },
1209
+ ],
1210
+ name: "latestStakedNode",
1211
+ outputs: [
1212
+ {
1213
+ internalType: "uint64",
1214
+ name: "",
1215
+ type: "uint64",
1216
+ },
1217
+ ],
1218
+ stateMutability: "view",
1219
+ type: "function",
1220
+ },
1221
+ {
1222
+ inputs: [],
1223
+ name: "loserStakeEscrow",
1224
+ outputs: [
1225
+ {
1226
+ internalType: "address",
1227
+ name: "",
1228
+ type: "address",
1229
+ },
1230
+ ],
1231
+ stateMutability: "view",
1232
+ type: "function",
1233
+ },
1234
+ {
1235
+ inputs: [],
1236
+ name: "minimumAssertionPeriod",
1237
+ outputs: [
1238
+ {
1239
+ internalType: "uint256",
1240
+ name: "",
1241
+ type: "uint256",
1242
+ },
1243
+ ],
1244
+ stateMutability: "view",
1245
+ type: "function",
1246
+ },
1247
+ {
1248
+ inputs: [
1249
+ {
1250
+ internalType: "uint64",
1251
+ name: "nodeNum",
1252
+ type: "uint64",
1253
+ },
1254
+ {
1255
+ internalType: "address",
1256
+ name: "staker",
1257
+ type: "address",
1258
+ },
1259
+ ],
1260
+ name: "nodeHasStaker",
1261
+ outputs: [
1262
+ {
1263
+ internalType: "bool",
1264
+ name: "",
1265
+ type: "bool",
1266
+ },
1267
+ ],
1268
+ stateMutability: "view",
1269
+ type: "function",
1270
+ },
1271
+ {
1272
+ inputs: [],
1273
+ name: "outbox",
1274
+ outputs: [
1275
+ {
1276
+ internalType: "contract IOutbox",
1277
+ name: "",
1278
+ type: "address",
1279
+ },
1280
+ ],
1281
+ stateMutability: "view",
1282
+ type: "function",
1283
+ },
1284
+ {
1285
+ inputs: [],
1286
+ name: "pause",
1287
+ outputs: [],
1288
+ stateMutability: "nonpayable",
1289
+ type: "function",
1290
+ },
1291
+ {
1292
+ inputs: [],
1293
+ name: "paused",
1294
+ outputs: [
1295
+ {
1296
+ internalType: "bool",
1297
+ name: "",
1298
+ type: "bool",
1299
+ },
1300
+ ],
1301
+ stateMutability: "view",
1302
+ type: "function",
1303
+ },
1304
+ {
1305
+ inputs: [],
1306
+ name: "proxiableUUID",
1307
+ outputs: [
1308
+ {
1309
+ internalType: "bytes32",
1310
+ name: "",
1311
+ type: "bytes32",
1312
+ },
1313
+ ],
1314
+ stateMutability: "view",
1315
+ type: "function",
1316
+ },
1317
+ {
1318
+ inputs: [
1319
+ {
1320
+ internalType: "address",
1321
+ name: "_outbox",
1322
+ type: "address",
1323
+ },
1324
+ ],
1325
+ name: "removeOldOutbox",
1326
+ outputs: [],
1327
+ stateMutability: "nonpayable",
1328
+ type: "function",
1329
+ },
1330
+ {
1331
+ inputs: [],
1332
+ name: "resume",
1333
+ outputs: [],
1334
+ stateMutability: "nonpayable",
1335
+ type: "function",
1336
+ },
1337
+ {
1338
+ inputs: [],
1339
+ name: "rollupDeploymentBlock",
1340
+ outputs: [
1341
+ {
1342
+ internalType: "uint256",
1343
+ name: "",
1344
+ type: "uint256",
1345
+ },
1346
+ ],
1347
+ stateMutability: "view",
1348
+ type: "function",
1349
+ },
1350
+ {
1351
+ inputs: [],
1352
+ name: "rollupEventInbox",
1353
+ outputs: [
1354
+ {
1355
+ internalType: "contract IRollupEventInbox",
1356
+ name: "",
1357
+ type: "address",
1358
+ },
1359
+ ],
1360
+ stateMutability: "view",
1361
+ type: "function",
1362
+ },
1363
+ {
1364
+ inputs: [],
1365
+ name: "sequencerInbox",
1366
+ outputs: [
1367
+ {
1368
+ internalType: "contract ISequencerInbox",
1369
+ name: "",
1370
+ type: "address",
1371
+ },
1372
+ ],
1373
+ stateMutability: "view",
1374
+ type: "function",
1375
+ },
1376
+ {
1377
+ inputs: [
1378
+ {
1379
+ internalType: "uint256",
1380
+ name: "newBaseStake",
1381
+ type: "uint256",
1382
+ },
1383
+ ],
1384
+ name: "setBaseStake",
1385
+ outputs: [],
1386
+ stateMutability: "nonpayable",
1387
+ type: "function",
1388
+ },
1389
+ {
1390
+ inputs: [
1391
+ {
1392
+ internalType: "uint64",
1393
+ name: "newConfirmPeriod",
1394
+ type: "uint64",
1395
+ },
1396
+ ],
1397
+ name: "setConfirmPeriodBlocks",
1398
+ outputs: [],
1399
+ stateMutability: "nonpayable",
1400
+ type: "function",
1401
+ },
1402
+ {
1403
+ inputs: [
1404
+ {
1405
+ internalType: "address",
1406
+ name: "_inbox",
1407
+ type: "address",
1408
+ },
1409
+ {
1410
+ internalType: "bool",
1411
+ name: "_enabled",
1412
+ type: "bool",
1413
+ },
1414
+ ],
1415
+ name: "setDelayedInbox",
1416
+ outputs: [],
1417
+ stateMutability: "nonpayable",
1418
+ type: "function",
1419
+ },
1420
+ {
1421
+ inputs: [
1422
+ {
1423
+ internalType: "uint64",
1424
+ name: "newExtraTimeBlocks",
1425
+ type: "uint64",
1426
+ },
1427
+ ],
1428
+ name: "setExtraChallengeTimeBlocks",
1429
+ outputs: [],
1430
+ stateMutability: "nonpayable",
1431
+ type: "function",
1432
+ },
1433
+ {
1434
+ inputs: [
1435
+ {
1436
+ internalType: "contract IInbox",
1437
+ name: "newInbox",
1438
+ type: "address",
1439
+ },
1440
+ ],
1441
+ name: "setInbox",
1442
+ outputs: [],
1443
+ stateMutability: "nonpayable",
1444
+ type: "function",
1445
+ },
1446
+ {
1447
+ inputs: [
1448
+ {
1449
+ internalType: "address",
1450
+ name: "newLoserStakerEscrow",
1451
+ type: "address",
1452
+ },
1453
+ ],
1454
+ name: "setLoserStakeEscrow",
1455
+ outputs: [],
1456
+ stateMutability: "nonpayable",
1457
+ type: "function",
1458
+ },
1459
+ {
1460
+ inputs: [
1461
+ {
1462
+ internalType: "uint256",
1463
+ name: "newPeriod",
1464
+ type: "uint256",
1465
+ },
1466
+ ],
1467
+ name: "setMinimumAssertionPeriod",
1468
+ outputs: [],
1469
+ stateMutability: "nonpayable",
1470
+ type: "function",
1471
+ },
1472
+ {
1473
+ inputs: [
1474
+ {
1475
+ internalType: "contract IOutbox",
1476
+ name: "_outbox",
1477
+ type: "address",
1478
+ },
1479
+ ],
1480
+ name: "setOutbox",
1481
+ outputs: [],
1482
+ stateMutability: "nonpayable",
1483
+ type: "function",
1484
+ },
1485
+ {
1486
+ inputs: [
1487
+ {
1488
+ internalType: "address",
1489
+ name: "newOwner",
1490
+ type: "address",
1491
+ },
1492
+ ],
1493
+ name: "setOwner",
1494
+ outputs: [],
1495
+ stateMutability: "nonpayable",
1496
+ type: "function",
1497
+ },
1498
+ {
1499
+ inputs: [
1500
+ {
1501
+ internalType: "address",
1502
+ name: "_sequencerInbox",
1503
+ type: "address",
1504
+ },
1505
+ ],
1506
+ name: "setSequencerInbox",
1507
+ outputs: [],
1508
+ stateMutability: "nonpayable",
1509
+ type: "function",
1510
+ },
1511
+ {
1512
+ inputs: [
1513
+ {
1514
+ internalType: "address",
1515
+ name: "newStakeToken",
1516
+ type: "address",
1517
+ },
1518
+ ],
1519
+ name: "setStakeToken",
1520
+ outputs: [],
1521
+ stateMutability: "nonpayable",
1522
+ type: "function",
1523
+ },
1524
+ {
1525
+ inputs: [
1526
+ {
1527
+ internalType: "address[]",
1528
+ name: "_validator",
1529
+ type: "address[]",
1530
+ },
1531
+ {
1532
+ internalType: "bool[]",
1533
+ name: "_val",
1534
+ type: "bool[]",
1535
+ },
1536
+ ],
1537
+ name: "setValidator",
1538
+ outputs: [],
1539
+ stateMutability: "nonpayable",
1540
+ type: "function",
1541
+ },
1542
+ {
1543
+ inputs: [
1544
+ {
1545
+ internalType: "bool",
1546
+ name: "_validatorWhitelistDisabled",
1547
+ type: "bool",
1548
+ },
1549
+ ],
1550
+ name: "setValidatorWhitelistDisabled",
1551
+ outputs: [],
1552
+ stateMutability: "nonpayable",
1553
+ type: "function",
1554
+ },
1555
+ {
1556
+ inputs: [
1557
+ {
1558
+ internalType: "bytes32",
1559
+ name: "newWasmModuleRoot",
1560
+ type: "bytes32",
1561
+ },
1562
+ ],
1563
+ name: "setWasmModuleRoot",
1564
+ outputs: [],
1565
+ stateMutability: "nonpayable",
1566
+ type: "function",
1567
+ },
1568
+ {
1569
+ inputs: [],
1570
+ name: "stakeToken",
1571
+ outputs: [
1572
+ {
1573
+ internalType: "address",
1574
+ name: "",
1575
+ type: "address",
1576
+ },
1577
+ ],
1578
+ stateMutability: "view",
1579
+ type: "function",
1580
+ },
1581
+ {
1582
+ inputs: [],
1583
+ name: "stakerCount",
1584
+ outputs: [
1585
+ {
1586
+ internalType: "uint64",
1587
+ name: "",
1588
+ type: "uint64",
1589
+ },
1590
+ ],
1591
+ stateMutability: "view",
1592
+ type: "function",
1593
+ },
1594
+ {
1595
+ inputs: [],
1596
+ name: "totalWithdrawableFunds",
1597
+ outputs: [
1598
+ {
1599
+ internalType: "uint256",
1600
+ name: "",
1601
+ type: "uint256",
1602
+ },
1603
+ ],
1604
+ stateMutability: "view",
1605
+ type: "function",
1606
+ },
1607
+ {
1608
+ inputs: [
1609
+ {
1610
+ internalType: "address",
1611
+ name: "beacon",
1612
+ type: "address",
1613
+ },
1614
+ {
1615
+ internalType: "address",
1616
+ name: "newImplementation",
1617
+ type: "address",
1618
+ },
1619
+ ],
1620
+ name: "upgradeBeacon",
1621
+ outputs: [],
1622
+ stateMutability: "nonpayable",
1623
+ type: "function",
1624
+ },
1625
+ {
1626
+ inputs: [
1627
+ {
1628
+ internalType: "address",
1629
+ name: "newImplementation",
1630
+ type: "address",
1631
+ },
1632
+ ],
1633
+ name: "upgradeSecondaryTo",
1634
+ outputs: [],
1635
+ stateMutability: "nonpayable",
1636
+ type: "function",
1637
+ },
1638
+ {
1639
+ inputs: [
1640
+ {
1641
+ internalType: "address",
1642
+ name: "newImplementation",
1643
+ type: "address",
1644
+ },
1645
+ {
1646
+ internalType: "bytes",
1647
+ name: "data",
1648
+ type: "bytes",
1649
+ },
1650
+ ],
1651
+ name: "upgradeSecondaryToAndCall",
1652
+ outputs: [],
1653
+ stateMutability: "payable",
1654
+ type: "function",
1655
+ },
1656
+ {
1657
+ inputs: [
1658
+ {
1659
+ internalType: "address",
1660
+ name: "newImplementation",
1661
+ type: "address",
1662
+ },
1663
+ ],
1664
+ name: "upgradeTo",
1665
+ outputs: [],
1666
+ stateMutability: "nonpayable",
1667
+ type: "function",
1668
+ },
1669
+ {
1670
+ inputs: [
1671
+ {
1672
+ internalType: "address",
1673
+ name: "newImplementation",
1674
+ type: "address",
1675
+ },
1676
+ {
1677
+ internalType: "bytes",
1678
+ name: "data",
1679
+ type: "bytes",
1680
+ },
1681
+ ],
1682
+ name: "upgradeToAndCall",
1683
+ outputs: [],
1684
+ stateMutability: "payable",
1685
+ type: "function",
1686
+ },
1687
+ {
1688
+ inputs: [],
1689
+ name: "validatorUtils",
1690
+ outputs: [
1691
+ {
1692
+ internalType: "address",
1693
+ name: "",
1694
+ type: "address",
1695
+ },
1696
+ ],
1697
+ stateMutability: "view",
1698
+ type: "function",
1699
+ },
1700
+ {
1701
+ inputs: [],
1702
+ name: "validatorWalletCreator",
1703
+ outputs: [
1704
+ {
1705
+ internalType: "address",
1706
+ name: "",
1707
+ type: "address",
1708
+ },
1709
+ ],
1710
+ stateMutability: "view",
1711
+ type: "function",
1712
+ },
1713
+ {
1714
+ inputs: [],
1715
+ name: "validatorWhitelistDisabled",
1716
+ outputs: [
1717
+ {
1718
+ internalType: "bool",
1719
+ name: "",
1720
+ type: "bool",
1721
+ },
1722
+ ],
1723
+ stateMutability: "view",
1724
+ type: "function",
1725
+ },
1726
+ {
1727
+ inputs: [],
1728
+ name: "wasmModuleRoot",
1729
+ outputs: [
1730
+ {
1731
+ internalType: "bytes32",
1732
+ name: "",
1733
+ type: "bytes32",
1734
+ },
1735
+ ],
1736
+ stateMutability: "view",
1737
+ type: "function",
1738
+ },
1739
+ {
1740
+ inputs: [
1741
+ {
1742
+ internalType: "address",
1743
+ name: "user",
1744
+ type: "address",
1745
+ },
1746
+ ],
1747
+ name: "withdrawableFunds",
1748
+ outputs: [
1749
+ {
1750
+ internalType: "uint256",
1751
+ name: "",
1752
+ type: "uint256",
1753
+ },
1754
+ ],
1755
+ stateMutability: "view",
1756
+ type: "function",
1757
+ },
1758
+ {
1759
+ inputs: [
1760
+ {
1761
+ internalType: "uint256",
1762
+ name: "zombieNum",
1763
+ type: "uint256",
1764
+ },
1765
+ ],
1766
+ name: "zombieAddress",
1767
+ outputs: [
1768
+ {
1769
+ internalType: "address",
1770
+ name: "",
1771
+ type: "address",
1772
+ },
1773
+ ],
1774
+ stateMutability: "view",
1775
+ type: "function",
1776
+ },
1777
+ {
1778
+ inputs: [],
1779
+ name: "zombieCount",
1780
+ outputs: [
1781
+ {
1782
+ internalType: "uint256",
1783
+ name: "",
1784
+ type: "uint256",
1785
+ },
1786
+ ],
1787
+ stateMutability: "view",
1788
+ type: "function",
1789
+ },
1790
+ {
1791
+ inputs: [
1792
+ {
1793
+ internalType: "uint256",
1794
+ name: "zombieNum",
1795
+ type: "uint256",
1796
+ },
1797
+ ],
1798
+ name: "zombieLatestStakedNode",
1799
+ outputs: [
1800
+ {
1801
+ internalType: "uint64",
1802
+ name: "",
1803
+ type: "uint64",
1804
+ },
1805
+ ],
1806
+ stateMutability: "view",
1807
+ type: "function",
1808
+ },
1809
+ ];
1810
+
1811
+ const _bytecode =
1812
+ "0x60c0604052620000196200003660201b62002ca61760201c565b15156080523060a0523480156200002f57600080fd5b5062000111565b60408051600481526024810182526020810180516001600160e01b03166302881c7960e11b179052905160009182918291606491620000769190620000d3565b600060405180830381855afa9150503d8060008114620000b3576040519150601f19603f3d011682016040523d82523d6000602084013e620000b8565b606091505b5091509150818015620000cc575080516020145b9250505090565b6000825160005b81811015620000f65760208186018101518583015201620000da565b8181111562000106576000828501525b509190910192915050565b60805160a051615aa46200018b60003960008181611071015281816110b10152818161115701528181611197015281816119b4015281816119f401528181611b9701528181611bd701528181611cc90152818161259101526125d1015260008181612ab7015281816131e001526145200152615aa46000f3fe6080604052600436106103905760003560e01c80637ba9534a116101de578063ce11e6ab11610103578063ef40a6701161009b578063ef40a67014610d08578063f065de3f14610d3e578063f33e1fac14610d5e578063f38c937914610d7e578063f63a434a14610d9e578063facd743b14610dbe578063fb0e722b14610dee578063fc8ffa0314610e0e578063ff204f3b14610e2e57600080fd5b8063ce11e6ab14610b79578063ce66d05c14610b99578063d01e660214610bb9578063d735e21d14610bd9578063dcd030aa14610bfe578063dff6978714610c1e578063e78cea9214610c33578063e8bd492214610c53578063ee35f32714610ce857600080fd5b8063948d658811610176578063948d6588146109815780639846129a146109a15780639a8a0592146109b4578063a23c44b1146109ca578063a2b4f1d814610ad9578063a3ffb77214610af9578063aa38a6e714610b19578063aa65af4814610b39578063bc45e0ae14610b5957600080fd5b80637ba9534a1461086f5780637c75c298146108845780638456cb59146108a4578063848bf918146108b95780638640ce5f146108d957806389384960146108fe5780638ee1a1261461091e57806391c657e81461093457806392c8134c1461095457600080fd5b806347fb24c5116102c45780636177fd181161025c5780636177fd181461071d57806363721d6b1461076057806365f7f80d1461077557806369fd251c146107935780636ddd3744146107dc57806371ef232c146107fc57806376e7e23b14610812578063771b2f97146108285780637b83a3fe1461084f57600080fd5b806347fb24c51461061d5780634f1ef2861461063d5780634f61f8501461065057806351ed6a301461067057806352d1902d1461069057806353b60c4a146106a5578063567ca41b146106c55780635c975abb146106e55780636136fe2e146106fd57600080fd5b80631b1689e9116103375780631b1689e9146104ac57806328ff127a146104d05780632e7acfa6146104f05780632f30cabd146105285780632f7968e81461055e5780633659cfe61461057e5780633e96576e1461059e57806345e38b64146105e7578063470dce4e146105fd57600080fd5b8063014cc92c14610395578063023a96fe146103cb5780630397d458146103eb578063046f7da21461040d57806306ae5851146104225780630d40a0fd1461044257806312ab3d3b1461046257806313af40351461048c575b600080fd5b3480156103a157600080fd5b50606f546103b5906001600160a01b031681565b6040516103c29190614dbd565b60405180910390f35b3480156103d757600080fd5b50606e546103b5906001600160a01b031681565b3480156103f757600080fd5b5061040b610406366004614de6565b610e4e565b005b34801561041957600080fd5b5061040b611020565b34801561042e57600080fd5b5061040b61043d366004614e03565b611044565b34801561044e57600080fd5b5061040b61045d366004614de6565b611066565b34801561046e57600080fd5b50607e5461047c9060ff1681565b60405190151581526020016103c2565b34801561049857600080fd5b5061040b6104a7366004614de6565b611126565b3480156104b857600080fd5b506104c2607d5481565b6040519081526020016103c2565b3480156104dc57600080fd5b5061040b6104eb366004614e1c565b61114c565b3480156104fc57600080fd5b50606554610510906001600160401b031681565b6040516001600160401b0390911681526020016103c2565b34801561053457600080fd5b506104c2610543366004614de6565b6001600160a01b03166000908152607b602052604090205490565b34801561056a57600080fd5b5061040b610579366004614e94565b61195d565b34801561058a57600080fd5b5061040b610599366004614de6565b6119a9565b3480156105aa57600080fd5b506105106105b9366004614de6565b6001600160a01b0316600090815260796020526040902060010154600160401b90046001600160401b031690565b3480156105f357600080fd5b506104c260735481565b34801561060957600080fd5b5061040b610618366004614ee0565b611a66565b34801561062957600080fd5b5061040b610638366004614f35565b611b0a565b61040b61064b366004614fdc565b611b8c565b34801561065c57600080fd5b5061040b61066b366004614de6565b611c3d565b34801561067c57600080fd5b506072546103b5906001600160a01b031681565b34801561069c57600080fd5b506104c2611cbc565b3480156106b157600080fd5b5061040b6106c0366004614de6565b611d6a565b3480156106d157600080fd5b5061040b6106e0366004614de6565b611da2565b3480156106f157600080fd5b5060335460ff1661047c565b34801561070957600080fd5b5061040b610718366004615083565b611e6f565b34801561072957600080fd5b5061047c610738366004614de6565b6001600160a01b0316600090815260796020526040902060010154600160c01b900460ff1690565b34801561076c57600080fd5b50607a546104c2565b34801561078157600080fd5b506075546001600160401b0316610510565b34801561079f57600080fd5b506105106107ae366004614de6565b6001600160a01b0316600090815260796020526040902060010154600160801b90046001600160401b031690565b3480156107e857600080fd5b506103b56107f7366004615083565b611eb1565b34801561080857600080fd5b506104c2607c5481565b34801561081e57600080fd5b506104c260675481565b34801561083457600080fd5b5060655461051090600160401b90046001600160401b031681565b34801561085b57600080fd5b5061040b61086a36600461509e565b611eea565b34801561087b57600080fd5b506105106121ed565b34801561089057600080fd5b5061040b61089f366004615106565b612203565b3480156108b057600080fd5b5061040b612377565b3480156108c557600080fd5b5061040b6108d4366004615147565b61239b565b3480156108e557600080fd5b50607554600160c01b90046001600160401b0316610510565b34801561090a57600080fd5b5061040b610919366004614e03565b612417565b34801561092a57600080fd5b506104c260685481565b34801561094057600080fd5b5061047c61094f366004614de6565b612439565b34801561096057600080fd5b5061097461096f366004615083565b61249d565b6040516103c29190615175565b34801561098d57600080fd5b5061040b61099c366004614e03565b612564565b61040b6109af366004614fdc565b612586565b3480156109c057600080fd5b506104c260665481565b3480156109d657600080fd5b50610a846109e5366004614de6565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152506001600160a01b0316600090815260796020908152604091829020825160a081018452815481526001909101546001600160401b0380821693830193909352600160401b8104831693820193909352600160801b83049091166060820152600160c01b90910460ff161515608082015290565b6040516103c29190600060a0820190508251825260208301516001600160401b038082166020850152806040860151166040850152806060860151166060850152505060808301511515608083015292915050565b348015610ae557600080fd5b5061040b610af4366004615271565b612633565b348015610b0557600080fd5b5061040b610b1436600461528e565b61265e565b348015610b2557600080fd5b50606d546103b5906001600160a01b031681565b348015610b4557600080fd5b5061047c610b543660046152f9565b612752565b348015610b6557600080fd5b506070546103b5906001600160a01b031681565b348015610b8557600080fd5b50606b546103b5906001600160a01b031681565b348015610ba557600080fd5b5061040b610bb4366004615083565b612789565b348015610bc557600080fd5b506103b5610bd4366004614e03565b612814565b348015610be557600080fd5b50607554600160401b90046001600160401b0316610510565b348015610c0a57600080fd5b5061047c610c19366004614de6565b612829565b348015610c2a57600080fd5b50607854610510565b348015610c3f57600080fd5b50606a546103b5906001600160a01b031681565b348015610c5f57600080fd5b50610cb0610c6e366004614de6565b607960205260009081526040902080546001909101546001600160401b0380821691600160401b8104821691600160801b82041690600160c01b900460ff1685565b604080519586526001600160401b0394851660208701529284169285019290925290911660608301521515608082015260a0016103c2565b348015610cf457600080fd5b50606c546103b5906001600160a01b031681565b348015610d1457600080fd5b506104c2610d23366004614de6565b6001600160a01b031660009081526079602052604090205490565b348015610d4a57600080fd5b506071546103b5906001600160a01b031681565b348015610d6a57600080fd5b50610510610d79366004614e03565b61286c565b348015610d8a57600080fd5b5061040b610d9936600461528e565b6128a3565b348015610daa57600080fd5b506104c2610db9366004615083565b612ab3565b348015610dca57600080fd5b5061047c610dd9366004614de6565b60746020526000908152604090205460ff1681565b348015610dfa57600080fd5b506069546103b5906001600160a01b031681565b348015610e1a57600080fd5b5061040b610e29366004614de6565b612b7c565b348015610e3a57600080fd5b5061040b610e49366004614de6565b612c0e565b60335460ff16610e795760405162461bcd60e51b8152600401610e7090615315565b60405180910390fd5b6000806001600160a01b0316826001600160a01b0316141590506000306001600160a01b031663cd205fda6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ece57600080fd5b505afa158015610ee2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f069190615343565b905081151581151514610f535760405162461bcd60e51b81526020600482015260156024820152741393d7d554d15497d313d1d250d7d4d5541413d495605a1b6044820152606401610e70565b6078546001600160401b031615610fa05760405162461bcd60e51b81526020600482015260116024820152704e4f5f4143544956455f5354414b45525360781b6044820152606401610e70565b607c5415610fe65760405162461bcd60e51b81526020600482015260136024820152724e4f5f50454e44494e475f574954484452415760681b6044820152606401610e70565b607280546001600160a01b0319166001600160a01b038516179055604051600d90600080516020615a2883398151915290600090a2505050565b611028612d3e565b604051600490600080516020615a2883398151915290600090a2565b6067819055604051600c90600080516020615a2883398151915290600090a250565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156110af5760405162461bcd60e51b8152600401610e7090615360565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166110e1612da4565b6001600160a01b0316146111075760405162461bcd60e51b8152600401610e70906153ac565b6040805160008082526020820190925261112391839190612dc5565b50565b61112f81612f65565b604051600790600080516020615a2883398151915290600090a250565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156111955760405162461bcd60e51b8152600401610e7090615360565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111c7612da4565b6001600160a01b0316146111ed5760405162461bcd60e51b8152600401610e70906153ac565b600054610100900460ff166112085760005460ff161561120c565b303b155b61126f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610e70565b600054610100900460ff16158015611291576000805461ffff19166101011790555b43607d556112a26020830183614de6565b606a80546001600160a01b0319166001600160a01b03929092169190911790556112d26040830160208401614de6565b606c80546001600160a01b0319166001600160a01b03929092169190911790556112ff6020830183614de6565b6001600160a01b03166347fb24c561131d6060850160408601614de6565b60016040518363ffffffff1660e01b815260040161133c9291906153f8565b600060405180830381600087803b15801561135657600080fd5b505af115801561136a573d6000803e3d6000fd5b5061137c925050506020830183614de6565b6001600160a01b0316634f61f85061139a6040850160208601614de6565b6040518263ffffffff1660e01b81526004016113b69190614dbd565b600060405180830381600087803b1580156113d057600080fd5b505af11580156113e4573d6000803e3d6000fd5b506113f9925050506060830160408401614de6565b606980546001600160a01b0319166001600160a01b03929092169190911790556114296080830160608401614de6565b606b80546001600160a01b0319166001600160a01b03929092169190911790556114566020830183614de6565b6001600160a01b031663cee3d7286114746080850160608601614de6565b60016040518363ffffffff1660e01b81526004016114939291906153f8565b600060405180830381600087803b1580156114ad57600080fd5b505af11580156114c1573d6000803e3d6000fd5b506114d69250505060a0830160808401614de6565b606d80546001600160a01b0319166001600160a01b03929092169190911790556115036020830183614de6565b6001600160a01b03166347fb24c561152160a0850160808601614de6565b60016040518363ffffffff1660e01b81526004016115409291906153f8565b600060405180830381600087803b15801561155a57600080fd5b505af115801561156e573d6000803e3d6000fd5b506115839250505060a0830160808401614de6565b6001600160a01b031663cf8d56d660e08501356115a4610100870187615413565b6040518463ffffffff1660e01b81526004016115c293929190615459565b600060405180830381600087803b1580156115dc57600080fd5b505af11580156115f0573d6000803e3d6000fd5b50611605925050506040830160208401614de6565b60405163e0bc972960e01b815260006004820181905260c0602483015260c4820181905260016044830181905260648301829052608483019190915260a48201526001600160a01b03919091169063e0bc97299060e401600060405180830381600087803b15801561167657600080fd5b505af115801561168a573d6000803e3d6000fd5b506116a19250505061012083016101008401614de6565b606f80546001600160a01b0319166001600160a01b03929092169190911790556116d361014083016101208401614de6565b607080546001600160a01b0319166001600160a01b039290921691909117905561170360c0830160a08401614de6565b606e80546001600160a01b0319166001600160a01b0392909216919091179055600061172d612fb9565b90506117388161300c565b6117456020850185615083565b6065805467ffffffffffffffff19166001600160401b03929092169190911790556117766040850160208601615083565b606580546001600160401b0392909216600160401b0267ffffffffffffffff60401b1990921691909117905560e084013560665560608401356067556080840135606855604b6073556117c76132a4565b6001600160a01b03166117e060e0860160c08701614de6565b6001600160a01b0316141561182e5760405162461bcd60e51b815260206004820152601460248201527324a72b20a624a22fa2a9a1a927abafa0a226a4a760611b6044820152606401610e70565b61183e60c0850160a08601614de6565b6001600160a01b031661185760e0860160c08701614de6565b6001600160a01b031614156118a55760405162461bcd60e51b815260206004820152601460248201527324a72b20a624a22fa2a9a1a927abafa7aba722a960611b6044820152606401610e70565b6118b560e0850160c08601614de6565b607180546001600160a01b0319166001600160a01b03929092169190911790556118e56060850160408601614de6565b607280546001600160a01b0319166001600160a01b0392909216919091179055604080516080860135815260e086013560208201527ffc1b83c11d99d08a938e0b82a0bd45f822f71ff5abf23f999c93c4533d752464910160405180910390a1508015611958576000805461ff00191690555b505050565b60335460ff1661197f5760405162461bcd60e51b8152600401610e7090615315565b61198a8383836132cc565b604051601890600080516020615a2883398151915290600090a2505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156119f25760405162461bcd60e51b8152600401610e7090615360565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611a24612da4565b6001600160a01b031614611a4a5760405162461bcd60e51b8152600401610e70906153ac565b6040805160008082526020820190925261112391839190613426565b60335460ff16611a885760405162461bcd60e51b8152600401610e7090615315565b6075546001600160401b03858116911614611add5760405162461bcd60e51b815260206004820152601560248201527413d3931657d310551154d517d0d3d3919254935151605a1b6044820152606401610e70565b611ae9828585846135a0565b50604051601790600080516020615a2883398151915290600090a250505050565b606a546040516347fb24c560e01b81526001600160a01b03909116906347fb24c590611b3c90859085906004016153f8565b600060405180830381600087803b158015611b5657600080fd5b505af1158015611b6a573d6000803e3d6000fd5b505060405160029250600080516020615a288339815191529150600090a25050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415611bd55760405162461bcd60e51b8152600401610e7090615360565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611c07612da4565b6001600160a01b031614611c2d5760405162461bcd60e51b8152600401610e70906153ac565b611c3982826001613426565b5050565b606a546040516304f61f8560e41b81526001600160a01b0390911690634f61f85090611c6d908490600401614dbd565b600060405180830381600087803b158015611c8757600080fd5b505af1158015611c9b573d6000803e3d6000fd5b5050604051601b9250600080516020615a288339815191529150600090a250565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611d575760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610e70565b50600080516020615a0883398151915290565b606980546001600160a01b0319166001600160a01b038316179055604051601c90600080516020615a2883398151915290600090a250565b606b546001600160a01b0382811691161415611ded5760405162461bcd60e51b815260206004820152600a602482015269086aaa4be9eaaa8849eb60b31b6044820152606401610e70565b606a546040516319dc7ae560e31b81526001600160a01b039091169063cee3d72890611e209084906000906004016153f8565b600060405180830381600087803b158015611e3a57600080fd5b505af1158015611e4e573d6000803e3d6000fd5b505060405160019250600080516020615a288339815191529150600090a250565b6065805467ffffffffffffffff60401b1916600160401b6001600160401b03841602179055604051600a90600080516020615a2883398151915290600090a250565b60006078826001600160401b031681548110611ecf57611ecf61548f565b6000918252602090912001546001600160a01b031692915050565b60335460ff16611f0c5760405162461bcd60e51b8152600401610e7090615315565b60006001611f186121ed565b6001600160401b031615611f685760405162461bcd60e51b81526020600482015260176024820152761393d397d1d1539154d254d7d393d11154d7d1561254d5604a1b6044820152606401610e70565b611f7183613bb4565b611fb05760405162461bcd60e51b815260206004820152601060248201526f4e4f545f454d5054595f4245464f524560801b6044820152606401610e70565b6001611fc260a08501608086016154ca565b6003811115611fd357611fd36154a5565b146120205760405162461bcd60e51b815260206004820152601b60248201527f4245464f52455f4d414348494e455f4e4f545f46494e495348454400000000006044820152606401610e70565b60c083013582146120675760405162461bcd60e51b81526020600482015260116024820152701393d517d6915493d7d4d153911493d3d5607a1b6044820152606401610e70565b6001600160401b038116612082610100850160e08601615083565b6001600160401b0316146120cb5760405162461bcd60e51b815260206004820152601060248201526f494e424f585f4e4f545f41545f4f4e4560801b6044820152606401610e70565b6120dd61012084016101008501615083565b6001600160401b0316156121335760405162461bcd60e51b815260206004820152601c60248201527f504f534954494f4e5f494e5f4d4553534147455f4e4f545f5a45524f000000006044820152606401610e70565b6001612147610140850161012086016154ca565b6003811115612158576121586154a5565b146121a55760405162461bcd60e51b815260206004820152601a60248201527f41465445525f4d414348494e455f4e4f545f46494e49534845440000000000006044820152606401610e70565b60a08301356121c08460006001600160401b038516816135a0565b506121cd600182856132cc565b604051601d90600080516020615a2883398151915290600090a250505050565b607554600160801b90046001600160401b031690565b60335460ff166122255760405162461bcd60e51b8152600401610e7090615315565b806122425760405162461bcd60e51b8152600401610e70906154e5565b60005b818110156123585760006079818585858181106122645761226461548f565b90506020020160208101906122799190614de6565b6001600160a01b03168152602081019190915260400160002060010154600160801b90046001600160401b0316146122e55760405162461bcd60e51b815260206004820152600f60248201526e14d51052d15497d25397d0d2105313608a1b6044820152606401610e70565b6123168383838181106122fa576122fa61548f565b905060200201602081019061230f9190614de6565b6000613c10565b5061234683838381811061232c5761232c61548f565b90506020020160208101906123419190614de6565b613cd5565b8061235081615520565b915050612245565b50604051601690600080516020615a2883398151915290600090a25050565b61237f613d7b565b604051600390600080516020615a2883398151915290600090a2565b604051631b2ce7f360e11b81526001600160a01b03831690633659cfe6906123c7908490600401614dbd565b600060405180830381600087803b1580156123e157600080fd5b505af11580156123f5573d6000803e3d6000fd5b505060405160149250600080516020615a288339815191529150600090a25050565b6068819055604051601a90600080516020615a2883398151915290600090a250565b6000805b607a5481101561249457607a818154811061245a5761245a61548f565b6000918252602090912001546001600160a01b03848116911614156124825750600192915050565b8061248c81615520565b91505061243d565b50600092915050565b6124a5614c98565b6001600160401b03821660009081526076602052604090206040805161018081018252825481526001830154602082015260028301549181019190915260038201546001600160401b038082166060840152600160401b80830482166080850152600160801b808404831660a0860152600160c01b93849004831660c0860152600486015480841660e0870152918204831661010086015281048216610120850152919091041661014082015260059091015461016082015292915050565b6073819055604051600890600080516020615a2883398151915290600090a250565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156125cf5760405162461bcd60e51b8152600401610e7090615360565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612601612da4565b6001600160a01b0316146126275760405162461bcd60e51b8152600401610e70906153ac565b611c3982826001612dc5565b607e805460ff1916821515179055604051601e90600080516020615a2883398151915290600090a250565b8261267b5760405162461bcd60e51b8152600401610e70906154e5565b82811461269a5760405162461bcd60e51b8152600401610e709061553b565b60005b83811015612731578282828181106126b7576126b761548f565b90506020020160208101906126cc9190615271565b607460008787858181106126e2576126e261548f565b90506020020160208101906126f79190614de6565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061272981615520565b91505061269d565b50604051600690600080516020615a2883398151915290600090a250505050565b6001600160401b03821660009081526077602090815260408083206001600160a01b038516845290915290205460ff165b92915050565b6000816001600160401b0316116127db5760405162461bcd60e51b81526020600482015260166024820152751253959053125117d0d3d39192549357d411549253d160521b6044820152606401610e70565b6065805467ffffffffffffffff19166001600160401b038316179055604051600990600080516020615a2883398151915290600090a250565b6000607a8281548110611ecf57611ecf61548f565b6001600160a01b038116600090815260796020526040812060010154600160c01b900460ff1680156127835750607554612783906001600160401b031683612752565b6000607a82815481106128815761288161548f565b600091825260209091200154600160a01b90046001600160401b031692915050565b60335460ff166128c55760405162461bcd60e51b8152600401610e7090615315565b826128e25760405162461bcd60e51b8152600401610e70906154e5565b8281146129015760405162461bcd60e51b8152600401610e709061553b565b60005b83811015612a925760006129648686848181106129235761292361548f565b90506020020160208101906129389190614de6565b85858581811061294a5761294a61548f565b905060200201602081019061295f9190614de6565b613df6565b90506001600160401b0381166129ab5760405162461bcd60e51b815260206004820152600c60248201526b1393d517d25397d0d210531360a21b6044820152606401610e70565b612a038686848181106129c0576129c061548f565b90506020020160208101906129d59190614de6565b6001600160a01b03166000908152607960205260409020600101805467ffffffffffffffff60801b19169055565b612a188484848181106129c0576129c061548f565b606e546040516356e9df9760e01b81526001600160401b03831660048201526001600160a01b03909116906356e9df9790602401600060405180830381600087803b158015612a6657600080fd5b505af1158015612a7a573d6000803e3d6000fd5b50505050508080612a8a90615520565b915050612904565b50604051601590600080516020615a2883398151915290600090a250505050565b60007f000000000000000000000000000000000000000000000000000000000000000015612b11576001600160401b0382166000908152607f6020526040902054806127835760405162461bcd60e51b8152600401610e7090615561565b6001600160401b03821660009081526076602052604081206003810154909150600160401b90046001600160401b0316612b5d5760405162461bcd60e51b8152600401610e7090615561565b60040154600160c01b90046001600160401b031692915050565b919050565b612b846132a4565b6001600160a01b0316816001600160a01b03161415612bd65760405162461bcd60e51b815260206004820152600e60248201526d494e56414c49445f455343524f5760901b6044820152606401610e70565b607180546001600160a01b0319166001600160a01b038316179055604051601990600080516020615a2883398151915290600090a250565b606b80546001600160a01b0319166001600160a01b0383811691909117909155606a546040516319dc7ae560e31b815291169063cee3d72890612c589084906001906004016153f8565b600060405180830381600087803b158015612c7257600080fd5b505af1158015612c86573d6000803e3d6000fd5b505060405160009250600080516020615a2883398151915291508290a250565b60408051600481526024810182526020810180516001600160e01b03166302881c7960e11b179052905160009182918291606491612ce491906155ae565b600060405180830381855afa9150503d8060008114612d1f576040519150601f19603f3d011682016040523d82523d6000602084013e612d24565b606091505b5091509150818015612d37575080516020145b9250505090565b60335460ff16612d605760405162461bcd60e51b8152600401610e7090615315565b6033805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b604051612d9a9190614dbd565b60405180910390a1565b6000600080516020615a088339815191525b546001600160a01b0316919050565b7f49bd798cd84788856140a4cd5030756b4d08a9e4d55db725ec195f232d262a895460ff1615612df85761195883613ec4565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015612e3157600080fd5b505afa925050508015612e61575060408051601f3d908101601f19168201909252612e5e918101906155ca565b60015b612ece5760405162461bcd60e51b815260206004820152603860248201527f45524331393637557067726164653a206e6577207365636f6e6461727920696d604482015277706c656d656e746174696f6e206973206e6f74205555505360401b6064820152608401610e70565b7f2b1dbce74324248c222f0ec2d5ed7bd323cfc425b336f0253c5ccfda7265546d8114612f595760405162461bcd60e51b815260206004820152603360248201527f45524331393637557067726164653a20756e737570706f72746564207365636f6044820152721b99185c9e481c1c9bde1a58589b1955555251606a1b6064820152608401610e70565b50611958838383613f7f565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f612f8e6132a4565b604080516001600160a01b03928316815291841660208301520160405180910390a161112381613faa565b612fc1614c98565b612fc9614cfc565b6000612ffb604051806040016040528084815260200160016003811115612ff257612ff26154a5565b90526001614036565b9050612d378160008080438161407b565b6130146140cf565b60008080526076602090815282517fafbc767fed27552cbeceb3d11150dacedabc53b0cc52ac5aa6285a747a181958558201517fafbc767fed27552cbeceb3d11150dacedabc53b0cc52ac5aa6285a747a1819595560408201517fafbc767fed27552cbeceb3d11150dacedabc53b0cc52ac5aa6285a747a18195a5560608201517fafbc767fed27552cbeceb3d11150dacedabc53b0cc52ac5aa6285a747a18195b8054608085015160a086015160c08701516001600160401b039586166001600160801b031994851617600160401b9387168402176001600160801b03908116600160801b93881684026001600160c01b0390811691909117600160c01b93891684021790965560e08901517fafbc767fed27552cbeceb3d11150dacedabc53b0cc52ac5aa6285a747a18195c80546101008c01516101208d01516101408e0151948c169290991691909117908a169096029590951790911694871690920290941692909217919093169091021790556101608201517fafbc767fed27552cbeceb3d11150dacedabc53b0cc52ac5aa6285a747a18195d556131b89060016155e3565b607560086101000a8154816001600160401b0302191690836001600160401b031602179055507f0000000000000000000000000000000000000000000000000000000000000000156111235760646001600160a01b031663a3b1b31d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561323e57600080fd5b505afa158015613252573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061327691906155ca565b60008052607f6020527f18b3a2798575d3a428c1f52e616a74b071539854e037e7d7c535365d474f40335550565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103612db6565b6001600160401b03831660009081526076602052604090206132ee8383614100565b81600201541461332f5760405162461bcd60e51b815260206004820152600c60248201526b434f4e4649524d5f4441544160a01b6044820152606401610e70565b606b54604051630502677360e51b815260048101849052602481018590526001600160a01b039091169063a04cee6090604401600060405180830381600087803b15801561337c57600080fd5b505af1158015613390573d6000803e3d6000fd5b50506075805467ffffffffffffffff19166001600160401b038816179055506133bc90508460016155e3565b6075805467ffffffffffffffff60401b1916600160401b6001600160401b03938416021790556040805185815260208101859052918616917f22ef0479a7ff660660d1c2fe35f1b632cf31675c2d9378db8cec95b00d8ffa3c91015b60405180910390a250505050565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613459576119588361411c565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561349257600080fd5b505afa9250505080156134c2575060408051601f3d908101601f191682019092526134bf918101906155ca565b60015b6135255760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610e70565b600080516020615a0883398151915281146135945760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610e70565b5061195883838361419e565b600060016135b6610140870161012088016154ca565b60038111156135c7576135c76154a5565b14806135f5575060026135e2610140870161012088016154ca565b60038111156135f3576135f36154a5565b145b6136345760405162461bcd60e51b815260206004820152601060248201526f4241445f41465445525f53544154555360801b6044820152606401610e70565b61363c614d21565b6136458561249d565b6060820152606a54604080516221048360e21b815290516001600160a01b03909216916284120c91600480820192602092909190829003018186803b15801561368d57600080fd5b505afa1580156136a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136c591906155ca565b81526060810151516136d787866141a7565b146137165760405162461bcd60e51b815260206004820152600f60248201526e0a0a48aacbea6a882a88abe9082a69608b1b6044820152606401610e70565b600061373261372d36899003890160a08a016156d0565b6141e3565b9050600061374861372d368a90038a018a6156d0565b9050806001600160401b0316826001600160401b0316101561379e5760405162461bcd60e51b815260206004820152600f60248201526e494e424f585f4241434b574152445360881b6044820152606401610e70565b806001600160401b0316826001600160401b03161415613844576137cf6137ca368a90038a018a6156d0565b6141f8565b6001600160401b03166137ed6137ca368b90038b0160a08c016156d0565b6001600160401b031610156138445760405162461bcd60e51b815260206004820152601a60248201527f494e424f585f504f535f494e5f4d53475f4241434b57415244530000000000006044820152606401610e70565b60026138586101408a016101208b016154ca565b6003811115613869576138696154a5565b1480613892575060006138876137ca368b90038b0160a08c016156d0565b6001600160401b0316115b156138a557816138a1816156ec565b9250505b82516001600160401b03831611156138f05760405162461bcd60e51b815260206004820152600e60248201526d12539093d617d41054d517d1539160921b6044820152606401610e70565b6001600160401b0382161561399857606a546001600160a01b03166316bf557961391b600185615713565b6040516001600160e01b031960e084901b1681526001600160401b03909116600482015260240160206040518083038186803b15801561395a57600080fd5b505afa15801561396e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061399291906155ca565b60e08401525b506139b290506139ad3688900388018861577a565b614207565b60408201526065546139cd906001600160401b0316436155e3565b6001600160401b0390811660c0830152606082015161012001511615801560a0830152613a2357606081015161012001516001600160401b03166000908152607660205260409020600501546080820152613a33565b6060810151610160015160808201525b613a528160a00151826080015183604001518460e001516068546142a6565b915082821480613a60575082155b613aa35760405162461bcd60e51b81526020600482015260146024820152730aa9c8ab0a08a86a88a88be9c9e888abe9082a6960631b6044820152606401610e70565b613aeb613ab78760a00183600001516141a7565b613ac8836040015143606854614313565b613adf613ada368b90038b018b61577a565b614352565b888560c001518761407b565b60208201526000613afa6121ed565b613b059060016155e3565b90506000613b27876001600160401b0316600090815260766020526040902090565b9050613b33818361437c565b613b4083602001516143ed565b50508181606001516101600151613b556121ed565b6001600160401b03167f4f4caa9e67fb994e349dd35d1ad0ce23053d4323f83ce11dc817b5435031d09684604001518a8660e001516068548860000151604051613ba3959493929190615864565b60405180910390a450949350505050565b60008135158015613bc757506020820135155b8015613be95750613bde6060830160408401615083565b6001600160401b0316155b80156127835750613c006080830160608401615083565b6001600160401b03161592915050565b6001600160a01b0382166000908152607960205260408120805480841115613c6d5760405162461bcd60e51b815260206004820152601060248201526f544f4f5f4c4954544c455f5354414b4560801b6044820152606401610e70565b6000613c7985836158c4565b8584559050613c8886826145db565b60408051838152602081018790526001600160a01b038816917febd093d389ab57f3566918d2c379a2b4d9539e8eb95efad9d5e465457833fde6910160405180910390a295945050505050565b6001600160a01b03808216600081815260796020908152604080832081518083019092529381526001808501546001600160401b03600160401b9091048116938301938452607a8054928301815590945290517ff0440771a29e57e18c66727944770b82cc77924aef333c927ce6bdd2cdb3ae0390910180549251909316600160a01b026001600160e01b031990921694169390931792909217909155611c3982614677565b60335460ff1615613dc15760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610e70565b6033805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612d8d3390565b6001600160a01b03828116600090815260796020526040808220928416825281206001830154919291600160801b90046001600160401b031680613e665760405162461bcd60e51b81526020600482015260076024820152661393d7d0d2105360ca1b6044820152606401610e70565b60018201546001600160401b03828116600160801b9092041614613ebb5760405162461bcd60e51b815260206004820152600c60248201526b1112519197d25397d0d2105360a21b6044820152606401610e70565b95945050505050565b6001600160a01b0381163b613f3b5760405162461bcd60e51b815260206004820152603760248201527f455243313936373a206e6577207365636f6e6461727920696d706c656d656e74604482015276185d1a5bdb881a5cc81b9bdd08184818dbdb9d1c9858dd604a1b6064820152608401610e70565b807f2b1dbce74324248c222f0ec2d5ed7bd323cfc425b336f0253c5ccfda7265546d5b80546001600160a01b0319166001600160a01b039290921691909117905550565b613f888361483a565b600082511180613f955750805b1561195857613fa4838361487a565b50505050565b6001600160a01b03811661400f5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610e70565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103613f5e565b6000614045836000015161489f565b82846020015160405160200161405d939291906158db565b60405160208183030381529060405280519060200120905092915050565b614083614c98565b61408b614c98565b96875250602086019490945260408501929092526001600160401b0390811660608501529081166080840181905260a0840152431661014083015261016082015290565b600054610100900460ff166140f65760405162461bcd60e51b8152600401610e7090615919565b6140fe614913565b565b604080516020810184905290810182905260009060600161405d565b6001600160a01b0381163b6141895760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610e70565b80600080516020615a08833981519152613f5e565b613f8883614946565b60006141c06141bb368590038501856156d0565b61489f565b826141d160a08601608087016154ca565b60405160200161405d939291906158db565b6020810151600090815b602002015192915050565b602081015160009060016141ed565b6000614211614d72565b8251602001518190600381111561422a5761422a6154a5565b9081600381111561423d5761423d6154a5565b90525060208381015181015190820190600381111561425e5761425e6154a5565b90816003811115614271576142716154a5565b90525061427c614d90565b83515181526020808501515190820152604084015161429e9083908390614986565b949350505050565b600080866142b55760006142b8565b60015b6040516001600160f81b031960f883901b1660208201526021810188905260418101879052606181018690526081810185905290915060a1016040516020818303038152906040528051906020012091505095945050505050565b6040805160208101859052908101839052606081018290526000906080015b6040516020818303038152906040528051906020012090505b9392505050565b6000612783614368836020015160000151614a30565b60208401515161437790614a3b565b614100565b6004820154600160401b90046001600160401b03166143bd5760048201805467ffffffffffffffff60401b1916600160401b436001600160401b0316021790555b600490910180546001600160401b03909216600160801b0267ffffffffffffffff60801b19909216919091179055565b60758054600160801b90046001600160401b031690601061440d836156ec565b825461010092830a6001600160401b03818102199092169282160291909117909255607554600160801b908190048316600090815260766020908152604091829020875181559087015160018201559086015160028201556060860151600382018054608089015160a08a015160c08b01519489166001600160801b031993841617600160401b928a168302176001600160801b03908116918a1688026001600160c01b0390811692909217600160c01b968b1687021790945560e08b0151600487018054998d01516101208e01516101408f0151938d169b9096169a909a17998b16909302989098179093169188169095029091161793909416909302919091179055610160830151600590910155507f0000000000000000000000000000000000000000000000000000000000000000156111235760646001600160a01b031663a3b1b31d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561457e57600080fd5b505afa158015614592573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145b691906155ca565b607554600160801b90046001600160401b03166000908152607f602052604090205550565b6001600160a01b0382166000908152607b6020526040812054906145ff8383615964565b6001600160a01b0385166000908152607b60205260408120829055607c80549293508592909190614631908490615964565b909155505060408051838152602081018390526001600160a01b038616917fa740af14c56e4e04a617b1de1eb20de73270decbaaead14f142aabf3038e5ae29101613418565b6001600160a01b03811660009081526079602052604090206001810154600160c01b900460ff166146d75760405162461bcd60e51b815260206004820152600a6024820152691393d517d4d51052d15160b21b6044820152606401610e70565b600180820154607880546001600160401b039092169290916146f991906158c4565b815481106147095761470961548f565b600091825260209091200154607880546001600160a01b03909216916001600160401b03841690811061473e5761473e61548f565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555080607960006078846001600160401b03168154811061478d5761478d61548f565b6000918252602080832091909101546001600160a01b031683528201929092526040019020600101805467ffffffffffffffff19166001600160401b039290921691909117905560788054806147e5576147e561597c565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03949094168152607990935250506040812090815560010180546001600160c81b0319169055565b61484381613ec4565b6040516001600160a01b038216907ff7eed2a7fabbf1bec8d55ed5e785cc76622376dde5df4ff15470551e030b813490600090a250565b606061434b8383604051806060016040528060278152602001615a4860279139614a47565b8051805160209182015192820151805190830151604080516c23b637b130b61039ba30ba329d60991b81870152602d810194909452604d8401959095526001600160c01b031960c092831b8116606d850152911b1660758201528251808203605d018152607d909101909252815191012090565b600054610100900460ff1661493a5760405162461bcd60e51b8152600401610e7090615919565b6033805460ff19169055565b61494f8161411c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b604080516002808252606082018352600092839291906020830190803683370190505085519091506149c8906149c38660005b602002015161489f565b614b24565b816000815181106149db576149db61548f565b60209081029190910101526149fc85600160200201516149c38660016149b9565b81600181518110614a0f57614a0f61548f565b602002602001018181525050613ebb6000846001600160401b031683614c48565b8051600090816141ed565b805160009060016141ed565b60606001600160a01b0384163b614aaf5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610e70565b600080856001600160a01b031685604051614aca91906155ae565b600060405180830381855af49150503d8060008114614b05576040519150601f19603f3d011682016040523d82523d6000602084013e614b0a565b606091505b5091509150614b1a828286614c5f565b9695505050505050565b60006001836003811115614b3a57614b3a6154a5565b1415614b80576040516b213637b1b59039ba30ba329d60a11b6020820152602c8101839052604c015b604051602081830303815290604052805190602001209050612783565b6002836003811115614b9457614b946154a5565b1415614bca5760405174213637b1b59039ba30ba32961032b93937b932b21d60591b602082015260358101839052605501614b63565b6003836003811115614bde57614bde6154a5565b1415614c0d5760405174213637b1b59039ba30ba3296103a37b7903330b91d60591b6020820152603501614b63565b60405162461bcd60e51b815260206004820152601060248201526f4241445f424c4f434b5f53544154555360801b6044820152606401610e70565b600083838360405160200161433293929190615992565b60608315614c6e57508161434b565b825115614c7e5782518084602001fd5b8160405162461bcd60e51b8152600401610e7091906159d4565b6040805161018081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101829052610140810182905261016081019190915290565b6040518060400160405280614d0f614d72565b8152602001614d1c614d72565b905290565b60405180610100016040528060008152602001614d3c614c98565b815260006020820152604001614d50614c98565b8152600060208201819052604082018190526060820181905260809091015290565b60405180604001604052806002906020820280368337509192915050565b60405180604001604052806002905b614da7614cfc565b815260200190600190039081614d9f5790505090565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461112357600080fd5b600060208284031215614df857600080fd5b813561434b81614dd1565b600060208284031215614e1557600080fd5b5035919050565b600080828403610160811215614e3157600080fd5b83356001600160401b03811115614e4757600080fd5b84016101c08187031215614e5a57600080fd5b9250610140601f1982011215614e6f57600080fd5b506020830190509250929050565b80356001600160401b0381168114612b7757600080fd5b600080600060608486031215614ea957600080fd5b614eb284614e7d565b95602085013595506040909401359392505050565b60006101608284031215614eda57600080fd5b50919050565b6000806000806101c08587031215614ef757600080fd5b614f0085614e7d565b935060208501359250614f168660408701614ec7565b939692955092936101a00135925050565b801515811461112357600080fd5b60008060408385031215614f4857600080fd5b8235614f5381614dd1565b91506020830135614f6381614f27565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715614fa657614fa6614f6e565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614fd457614fd4614f6e565b604052919050565b60008060408385031215614fef57600080fd5b8235614ffa81614dd1565b91506020838101356001600160401b038082111561501757600080fd5b818601915086601f83011261502b57600080fd5b81358181111561503d5761503d614f6e565b61504f601f8201601f19168501614fac565b9150808252878482850101111561506557600080fd5b80848401858401376000848284010152508093505050509250929050565b60006020828403121561509557600080fd5b61434b82614e7d565b600061016082840312156150b157600080fd5b61434b8383614ec7565b60008083601f8401126150cd57600080fd5b5081356001600160401b038111156150e457600080fd5b6020830191508360208260051b85010111156150ff57600080fd5b9250929050565b6000806020838503121561511957600080fd5b82356001600160401b0381111561512f57600080fd5b61513b858286016150bb565b90969095509350505050565b6000806040838503121561515a57600080fd5b823561516581614dd1565b91506020830135614f6381614dd1565b60006101808201905082518252602083015160208301526040830151604083015260608301516151b060608401826001600160401b03169052565b5060808301516151cb60808401826001600160401b03169052565b5060a08301516151e660a08401826001600160401b03169052565b5060c083015161520160c08401826001600160401b03169052565b5060e083015161521c60e08401826001600160401b03169052565b50610100838101516001600160401b038116848301525050610120838101516001600160401b038116848301525050610140838101516001600160401b03811684830152505061016092830151919092015290565b60006020828403121561528357600080fd5b813561434b81614f27565b600080600080604085870312156152a457600080fd5b84356001600160401b03808211156152bb57600080fd5b6152c7888389016150bb565b909650945060208701359150808211156152e057600080fd5b506152ed878288016150bb565b95989497509550505050565b6000806040838503121561530c57600080fd5b61516583614e7d565b60208082526014908201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604082015260600190565b60006020828403121561535557600080fd5b815161434b81614f27565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6001600160a01b039290921682521515602082015260400190565b6000808335601e1984360301811261542a57600080fd5b8301803591506001600160401b0382111561544457600080fd5b6020019150368190038213156150ff57600080fd5b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b803560048110612b7757600080fd5b6000602082840312156154dc57600080fd5b61434b826154bb565b6020808252600b908201526a454d5054595f415252415960a81b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60006000198214156155345761553461550a565b5060010190565b6020808252600c908201526b0aea49e9c8ebe988a9c8ea8960a31b604082015260600190565b6020808252600790820152664e4f5f4e4f444560c81b604082015260600190565b60005b8381101561559d578181015183820152602001615585565b83811115613fa45750506000910152565b600082516155c0818460208701615582565b9190910192915050565b6000602082840312156155dc57600080fd5b5051919050565b60006001600160401b038083168185168083038211156156055761560561550a565b01949350505050565b60006080828403121561562057600080fd5b615628614f84565b905082601f83011261563957600080fd5b615641614f84565b80604084018581111561565357600080fd5b845b8181101561566d578035845260209384019301615655565b5081845285605f86011261568057600080fd5b615688614f84565b9250829150608085018681111561569e57600080fd5b808210156156c2576156af82614e7d565b845260208401935060208201915061569e565b505060208301525092915050565b6000608082840312156156e257600080fd5b61434b838361560e565b60006001600160401b03808316818114156157095761570961550a565b6001019392505050565b60006001600160401b03838116908316818110156157335761573361550a565b039392505050565b600060a0828403121561574d57600080fd5b615755614f84565b9050615761838361560e565b815261576f608083016154bb565b602082015292915050565b6000610160828403121561578d57600080fd5b604051606081018181106001600160401b03821117156157af576157af614f6e565b6040526157bc848461573b565b81526157cb8460a0850161573b565b60208201526157dd6101408401614e7d565b60408201529392505050565b604081833760006040838101828152908301915b600281101561582c576001600160401b0361581784614e7d565b168252602092830192909101906001016157fd565b50505061583b608082016154bb565b6004811061585957634e487b7160e01b600052602160045260246000fd5b806080840152505050565b8581526101e0810161587960208301876157e9565b61588960c0830160a088016157e9565b6001600160401b0361589e6101408801614e7d565b1661016083015284610180830152836101a0830152826101c08301529695505050505050565b6000828210156158d6576158d661550a565b500390565b83815282602082015260006004831061590457634e487b7160e01b600052602160045260246000fd5b5060f89190911b604082015260410192915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600082198211156159775761597761550a565b500190565b634e487b7160e01b600052603160045260246000fd5b83815260006020848184015260408301845182860160005b828110156159c6578151845292840192908401906001016159aa565b509198975050505050505050565b60208152600082518060208401526159f3816040850160208701615582565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbcea8787f128d10b2cc0317b0c3960f9ad447f7f6c1ed189db1083ccffd20f456e416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122004f66e699162db09823dad06018da604b538f081b8bf8e4b9b150aeea869670d64736f6c63430008090033";
1813
+
1814
+ type RollupAdminLogicConstructorParams =
1815
+ | [signer?: Signer]
1816
+ | ConstructorParameters<typeof ContractFactory>;
1817
+
1818
+ const isSuperArgs = (
1819
+ xs: RollupAdminLogicConstructorParams
1820
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
1821
+
1822
+ export class RollupAdminLogic__factory extends ContractFactory {
1823
+ constructor(...args: RollupAdminLogicConstructorParams) {
1824
+ if (isSuperArgs(args)) {
1825
+ super(...args);
1826
+ } else {
1827
+ super(_abi, _bytecode, args[0]);
1828
+ }
1829
+ }
1830
+
1831
+ override deploy(
1832
+ overrides?: Overrides & { from?: string | Promise<string> }
1833
+ ): Promise<RollupAdminLogic> {
1834
+ return super.deploy(overrides || {}) as Promise<RollupAdminLogic>;
1835
+ }
1836
+ override getDeployTransaction(
1837
+ overrides?: Overrides & { from?: string | Promise<string> }
1838
+ ): TransactionRequest {
1839
+ return super.getDeployTransaction(overrides || {});
1840
+ }
1841
+ override attach(address: string): RollupAdminLogic {
1842
+ return super.attach(address) as RollupAdminLogic;
1843
+ }
1844
+ override connect(signer: Signer): RollupAdminLogic__factory {
1845
+ return super.connect(signer) as RollupAdminLogic__factory;
1846
+ }
1847
+
1848
+ static readonly bytecode = _bytecode;
1849
+ static readonly abi = _abi;
1850
+ static createInterface(): RollupAdminLogicInterface {
1851
+ return new utils.Interface(_abi) as RollupAdminLogicInterface;
1852
+ }
1853
+ static connect(
1854
+ address: string,
1855
+ signerOrProvider: Signer | Provider
1856
+ ): RollupAdminLogic {
1857
+ return new Contract(address, _abi, signerOrProvider) as RollupAdminLogic;
1858
+ }
1859
+ }