@arbitrum/nitro-contracts 1.0.2 → 1.0.3-beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (338) hide show
  1. package/LICENSE +114 -0
  2. package/README.md +2 -2
  3. package/build/contracts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +4 -0
  4. package/build/contracts/@openzeppelin/contracts/access/Ownable.sol/Ownable.json +63 -0
  5. package/build/contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.dbg.json +4 -0
  6. package/build/contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.json +24 -0
  7. package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +4 -0
  8. package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.json +80 -0
  9. package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.dbg.json +4 -0
  10. package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.json +56 -0
  11. package/build/contracts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.dbg.json +4 -0
  12. package/build/contracts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.json +19 -0
  13. package/build/contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.dbg.json +4 -0
  14. package/build/contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.json +24 -0
  15. package/build/contracts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +4 -0
  16. package/build/contracts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.json +113 -0
  17. package/build/contracts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.dbg.json +4 -0
  18. package/build/contracts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.json +160 -0
  19. package/build/contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.dbg.json +4 -0
  20. package/build/contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +155 -0
  21. package/build/contracts/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol/UUPSUpgradeable.dbg.json +4 -0
  22. package/build/contracts/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol/UUPSUpgradeable.json +100 -0
  23. package/build/contracts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json +4 -0
  24. package/build/contracts/@openzeppelin/contracts/utils/Address.sol/Address.json +10 -0
  25. package/build/contracts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +4 -0
  26. package/build/contracts/@openzeppelin/contracts/utils/Context.sol/Context.json +10 -0
  27. package/build/contracts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.dbg.json +4 -0
  28. package/build/contracts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.json +10 -0
  29. package/build/contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +4 -0
  30. package/build/contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.json +63 -0
  31. package/build/contracts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +4 -0
  32. package/build/contracts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.json +10 -0
  33. package/build/contracts/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol/PausableUpgradeable.dbg.json +4 -0
  34. package/build/contracts/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol/PausableUpgradeable.json +50 -0
  35. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.dbg.json +4 -0
  36. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.json +194 -0
  37. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +4 -0
  38. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.json +10 -0
  39. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +4 -0
  40. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.json +10 -0
  41. package/build/contracts/src/bridge/Bridge.sol/Bridge.dbg.json +4 -0
  42. package/build/contracts/src/bridge/Bridge.sol/Bridge.json +650 -0
  43. package/build/contracts/src/bridge/IBridge.sol/IBridge.dbg.json +4 -0
  44. package/build/contracts/src/bridge/IBridge.sol/IBridge.json +538 -0
  45. package/build/contracts/src/bridge/IDelayedMessageProvider.sol/IDelayedMessageProvider.dbg.json +4 -0
  46. package/build/contracts/src/bridge/IDelayedMessageProvider.sol/IDelayedMessageProvider.json +43 -0
  47. package/build/contracts/src/bridge/IInbox.sol/IInbox.dbg.json +4 -0
  48. package/build/contracts/src/bridge/IInbox.sol/IInbox.json +575 -0
  49. package/build/contracts/src/bridge/IOutbox.sol/IOutbox.dbg.json +4 -0
  50. package/build/contracts/src/bridge/IOutbox.sol/IOutbox.json +419 -0
  51. package/build/contracts/src/bridge/IOwnable.sol/IOwnable.dbg.json +4 -0
  52. package/build/contracts/src/bridge/IOwnable.sol/IOwnable.json +24 -0
  53. package/build/contracts/src/bridge/ISequencerInbox.sol/ISequencerInbox.dbg.json +4 -0
  54. package/build/contracts/src/bridge/ISequencerInbox.sol/ISequencerInbox.json +651 -0
  55. package/build/contracts/src/bridge/Inbox.sol/Inbox.dbg.json +4 -0
  56. package/build/contracts/src/bridge/Inbox.sol/Inbox.json +954 -0
  57. package/build/contracts/src/bridge/Messages.sol/Messages.dbg.json +4 -0
  58. package/build/contracts/src/bridge/Messages.sol/Messages.json +10 -0
  59. package/build/contracts/src/bridge/Outbox.sol/Outbox.dbg.json +4 -0
  60. package/build/contracts/src/bridge/Outbox.sol/Outbox.json +546 -0
  61. package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.dbg.json +4 -0
  62. package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.json +814 -0
  63. package/build/contracts/src/challenge/ChallengeLib.sol/ChallengeLib.dbg.json +4 -0
  64. package/build/contracts/src/challenge/ChallengeLib.sol/ChallengeLib.json +10 -0
  65. package/build/contracts/src/challenge/ChallengeManager.sol/ChallengeManager.dbg.json +4 -0
  66. package/build/contracts/src/challenge/ChallengeManager.sol/ChallengeManager.json +669 -0
  67. package/build/contracts/src/challenge/IChallengeManager.sol/IChallengeManager.dbg.json +4 -0
  68. package/build/contracts/src/challenge/IChallengeManager.sol/IChallengeManager.json +386 -0
  69. package/build/contracts/src/challenge/IChallengeResultReceiver.sol/IChallengeResultReceiver.dbg.json +4 -0
  70. package/build/contracts/src/challenge/IChallengeResultReceiver.sol/IChallengeResultReceiver.json +34 -0
  71. package/build/contracts/src/libraries/AddressAliasHelper.sol/AddressAliasHelper.dbg.json +4 -0
  72. package/build/contracts/src/libraries/AddressAliasHelper.sol/AddressAliasHelper.json +10 -0
  73. package/build/contracts/src/libraries/AdminFallbackProxy.sol/AdminFallbackProxy.dbg.json +4 -0
  74. package/build/contracts/src/libraries/AdminFallbackProxy.sol/AdminFallbackProxy.json +77 -0
  75. package/build/contracts/src/libraries/AdminFallbackProxy.sol/DoubleLogicERC1967Upgrade.dbg.json +4 -0
  76. package/build/contracts/src/libraries/AdminFallbackProxy.sol/DoubleLogicERC1967Upgrade.json +69 -0
  77. package/build/contracts/src/libraries/ArbitrumChecker.sol/ArbitrumChecker.dbg.json +4 -0
  78. package/build/contracts/src/libraries/ArbitrumChecker.sol/ArbitrumChecker.json +10 -0
  79. package/build/contracts/src/libraries/CryptographyPrimitives.sol/CryptographyPrimitives.dbg.json +4 -0
  80. package/build/contracts/src/libraries/CryptographyPrimitives.sol/CryptographyPrimitives.json +10 -0
  81. package/build/contracts/src/libraries/DelegateCallAware.sol/DelegateCallAware.dbg.json +4 -0
  82. package/build/contracts/src/libraries/DelegateCallAware.sol/DelegateCallAware.json +10 -0
  83. package/build/contracts/src/libraries/DoubleLogicUUPSUpgradeable.sol/DoubleLogicUUPSUpgradeable.dbg.json +4 -0
  84. package/build/contracts/src/libraries/DoubleLogicUUPSUpgradeable.sol/DoubleLogicUUPSUpgradeable.json +144 -0
  85. package/build/contracts/src/libraries/IGasRefunder.sol/GasRefundEnabled.dbg.json +4 -0
  86. package/build/contracts/src/libraries/IGasRefunder.sol/GasRefundEnabled.json +10 -0
  87. package/build/contracts/src/libraries/IGasRefunder.sol/IGasRefunder.dbg.json +4 -0
  88. package/build/contracts/src/libraries/IGasRefunder.sol/IGasRefunder.json +40 -0
  89. package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.dbg.json +4 -0
  90. package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.json +10 -0
  91. package/build/contracts/src/libraries/UUPSNotUpgradeable.sol/UUPSNotUpgradeable.dbg.json +4 -0
  92. package/build/contracts/src/libraries/UUPSNotUpgradeable.sol/UUPSNotUpgradeable.json +82 -0
  93. package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.dbg.json +4 -0
  94. package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.json +561 -0
  95. package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.dbg.json +4 -0
  96. package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.json +655 -0
  97. package/build/contracts/src/mocks/InboxStub.sol/InboxStub.dbg.json +4 -0
  98. package/build/contracts/src/mocks/InboxStub.sol/InboxStub.json +588 -0
  99. package/build/contracts/src/mocks/MockResultReceiver.sol/MockResultReceiver.dbg.json +4 -0
  100. package/build/contracts/src/mocks/MockResultReceiver.sol/MockResultReceiver.json +188 -0
  101. package/build/contracts/src/mocks/ProxyAdminForBinding.sol/ProxyAdminForBinding.dbg.json +4 -0
  102. package/build/contracts/src/mocks/ProxyAdminForBinding.sol/ProxyAdminForBinding.json +160 -0
  103. package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.dbg.json +4 -0
  104. package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.json +870 -0
  105. package/build/contracts/src/mocks/Simple.sol/Simple.dbg.json +4 -0
  106. package/build/contracts/src/mocks/Simple.sol/Simple.json +242 -0
  107. package/build/contracts/src/mocks/SimpleProxy.sol/SimpleProxy.dbg.json +4 -0
  108. package/build/contracts/src/mocks/SimpleProxy.sol/SimpleProxy.json +30 -0
  109. package/build/contracts/src/mocks/SingleExecutionChallenge.sol/SingleExecutionChallenge.dbg.json +4 -0
  110. package/build/contracts/src/mocks/SingleExecutionChallenge.sol/SingleExecutionChallenge.json +720 -0
  111. package/build/contracts/src/mocks/TimedOutChallengeManager.sol/TimedOutChallengeManager.dbg.json +4 -0
  112. package/build/contracts/src/mocks/TimedOutChallengeManager.sol/TimedOutChallengeManager.json +669 -0
  113. package/build/contracts/src/node-interface/NodeInterface.sol/NodeInterface.dbg.json +4 -0
  114. package/build/contracts/src/node-interface/NodeInterface.sol/NodeInterface.json +286 -0
  115. package/build/contracts/src/node-interface/NodeInterfaceDebug.sol/NodeInterfaceDebug.dbg.json +4 -0
  116. package/build/contracts/src/node-interface/NodeInterfaceDebug.sol/NodeInterfaceDebug.json +67 -0
  117. package/build/contracts/src/osp/HashProofHelper.sol/HashProofHelper.dbg.json +4 -0
  118. package/build/contracts/src/osp/HashProofHelper.sol/HashProofHelper.json +165 -0
  119. package/build/contracts/src/osp/IOneStepProofEntry.sol/IOneStepProofEntry.dbg.json +4 -0
  120. package/build/contracts/src/osp/IOneStepProofEntry.sol/IOneStepProofEntry.json +57 -0
  121. package/build/contracts/src/osp/IOneStepProofEntry.sol/OneStepProofEntryLib.dbg.json +4 -0
  122. package/build/contracts/src/osp/IOneStepProofEntry.sol/OneStepProofEntryLib.json +10 -0
  123. package/build/contracts/src/osp/IOneStepProver.sol/IOneStepProver.dbg.json +4 -0
  124. package/build/contracts/src/osp/IOneStepProver.sol/IOneStepProver.json +477 -0
  125. package/build/contracts/src/osp/OneStepProofEntry.sol/OneStepProofEntry.dbg.json +4 -0
  126. package/build/contracts/src/osp/OneStepProofEntry.sol/OneStepProofEntry.json +135 -0
  127. package/build/contracts/src/osp/OneStepProver0.sol/OneStepProver0.dbg.json +4 -0
  128. package/build/contracts/src/osp/OneStepProver0.sol/OneStepProver0.json +477 -0
  129. package/build/contracts/src/osp/OneStepProverHostIo.sol/OneStepProverHostIo.dbg.json +4 -0
  130. package/build/contracts/src/osp/OneStepProverHostIo.sol/OneStepProverHostIo.json +477 -0
  131. package/build/contracts/src/osp/OneStepProverMath.sol/OneStepProverMath.dbg.json +4 -0
  132. package/build/contracts/src/osp/OneStepProverMath.sol/OneStepProverMath.json +477 -0
  133. package/build/contracts/src/osp/OneStepProverMemory.sol/OneStepProverMemory.dbg.json +4 -0
  134. package/build/contracts/src/osp/OneStepProverMemory.sol/OneStepProverMemory.json +477 -0
  135. package/build/contracts/src/precompiles/ArbAddressTable.sol/ArbAddressTable.dbg.json +4 -0
  136. package/build/contracts/src/precompiles/ArbAddressTable.sol/ArbAddressTable.json +148 -0
  137. package/build/contracts/src/precompiles/ArbAggregator.sol/ArbAggregator.dbg.json +4 -0
  138. package/build/contracts/src/precompiles/ArbAggregator.sol/ArbAggregator.json +148 -0
  139. package/build/contracts/src/precompiles/ArbBLS.sol/ArbBLS.dbg.json +4 -0
  140. package/build/contracts/src/precompiles/ArbBLS.sol/ArbBLS.json +10 -0
  141. package/build/contracts/src/precompiles/ArbDebug.sol/ArbDebug.dbg.json +4 -0
  142. package/build/contracts/src/precompiles/ArbDebug.sol/ArbDebug.json +193 -0
  143. package/build/contracts/src/precompiles/ArbFunctionTable.sol/ArbFunctionTable.dbg.json +4 -0
  144. package/build/contracts/src/precompiles/ArbFunctionTable.sol/ArbFunctionTable.json +77 -0
  145. package/build/contracts/src/precompiles/ArbGasInfo.sol/ArbGasInfo.dbg.json +4 -0
  146. package/build/contracts/src/precompiles/ArbGasInfo.sol/ArbGasInfo.json +350 -0
  147. package/build/contracts/src/precompiles/ArbInfo.sol/ArbInfo.dbg.json +4 -0
  148. package/build/contracts/src/precompiles/ArbInfo.sol/ArbInfo.json +49 -0
  149. package/build/contracts/src/precompiles/ArbOwner.sol/ArbOwner.dbg.json +4 -0
  150. package/build/contracts/src/precompiles/ArbOwner.sol/ArbOwner.json +378 -0
  151. package/build/contracts/src/precompiles/ArbOwnerPublic.sol/ArbOwnerPublic.dbg.json +4 -0
  152. package/build/contracts/src/precompiles/ArbOwnerPublic.sol/ArbOwnerPublic.json +95 -0
  153. package/build/contracts/src/precompiles/ArbRetryableTx.sol/ArbRetryableTx.dbg.json +4 -0
  154. package/build/contracts/src/precompiles/ArbRetryableTx.sol/ArbRetryableTx.json +306 -0
  155. package/build/contracts/src/precompiles/ArbStatistics.sol/ArbStatistics.dbg.json +4 -0
  156. package/build/contracts/src/precompiles/ArbStatistics.sol/ArbStatistics.json +49 -0
  157. package/build/contracts/src/precompiles/ArbSys.sol/ArbSys.dbg.json +4 -0
  158. package/build/contracts/src/precompiles/ArbSys.sol/ArbSys.json +380 -0
  159. package/build/contracts/src/precompiles/ArbosActs.sol/ArbosActs.dbg.json +4 -0
  160. package/build/contracts/src/precompiles/ArbosActs.sol/ArbosActs.json +77 -0
  161. package/build/contracts/src/precompiles/ArbosTest.sol/ArbosTest.dbg.json +4 -0
  162. package/build/contracts/src/precompiles/ArbosTest.sol/ArbosTest.json +24 -0
  163. package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.dbg.json +4 -0
  164. package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.json +243 -0
  165. package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.dbg.json +4 -0
  166. package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.json +128 -0
  167. package/build/contracts/src/rollup/IRollupAdmin.sol/IRollupAdmin.dbg.json +4 -0
  168. package/build/contracts/src/rollup/IRollupAdmin.sol/IRollupAdmin.json +544 -0
  169. package/build/contracts/src/rollup/IRollupCore.sol/IRollupCore.dbg.json +4 -0
  170. package/build/contracts/src/rollup/IRollupCore.sol/IRollupCore.json +889 -0
  171. package/build/contracts/src/rollup/IRollupEventInbox.sol/IRollupEventInbox.dbg.json +4 -0
  172. package/build/contracts/src/rollup/IRollupEventInbox.sol/IRollupEventInbox.json +68 -0
  173. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUser.dbg.json +4 -0
  174. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUser.json +1428 -0
  175. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserAbs.dbg.json +4 -0
  176. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserAbs.json +1309 -0
  177. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserERC20.dbg.json +4 -0
  178. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserERC20.json +1443 -0
  179. package/build/contracts/src/rollup/Node.sol/NodeLib.dbg.json +4 -0
  180. package/build/contracts/src/rollup/Node.sol/NodeLib.json +10 -0
  181. package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.dbg.json +4 -0
  182. package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.json +1808 -0
  183. package/build/contracts/src/rollup/RollupCore.sol/RollupCore.dbg.json +4 -0
  184. package/build/contracts/src/rollup/RollupCore.sol/RollupCore.json +1051 -0
  185. package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.dbg.json +4 -0
  186. package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.json +383 -0
  187. package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.dbg.json +4 -0
  188. package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.json +110 -0
  189. package/build/contracts/src/rollup/RollupLib.sol/RollupLib.dbg.json +4 -0
  190. package/build/contracts/src/rollup/RollupLib.sol/RollupLib.json +10 -0
  191. package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.dbg.json +4 -0
  192. package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.json +226 -0
  193. package/build/contracts/src/rollup/RollupUserLogic.sol/AbsRollupUserLogic.dbg.json +4 -0
  194. package/build/contracts/src/rollup/RollupUserLogic.sol/AbsRollupUserLogic.json +1578 -0
  195. package/build/contracts/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic.dbg.json +4 -0
  196. package/build/contracts/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic.json +1712 -0
  197. package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.dbg.json +4 -0
  198. package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.json +1697 -0
  199. package/build/contracts/src/rollup/ValidatorUtils.sol/ValidatorUtils.dbg.json +4 -0
  200. package/build/contracts/src/rollup/ValidatorUtils.sol/ValidatorUtils.json +379 -0
  201. package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.dbg.json +4 -0
  202. package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.json +435 -0
  203. package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.dbg.json +4 -0
  204. package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.json +150 -0
  205. package/build/contracts/src/state/Deserialize.sol/Deserialize.dbg.json +4 -0
  206. package/build/contracts/src/state/Deserialize.sol/Deserialize.json +10 -0
  207. package/build/contracts/src/state/GlobalState.sol/GlobalStateLib.dbg.json +4 -0
  208. package/build/contracts/src/state/GlobalState.sol/GlobalStateLib.json +10 -0
  209. package/build/contracts/src/state/Instructions.sol/Instructions.dbg.json +4 -0
  210. package/build/contracts/src/state/Instructions.sol/Instructions.json +10 -0
  211. package/build/contracts/src/state/Machine.sol/MachineLib.dbg.json +4 -0
  212. package/build/contracts/src/state/Machine.sol/MachineLib.json +10 -0
  213. package/build/contracts/src/state/MerkleProof.sol/MerkleProofLib.dbg.json +4 -0
  214. package/build/contracts/src/state/MerkleProof.sol/MerkleProofLib.json +10 -0
  215. package/build/contracts/src/state/Module.sol/ModuleLib.dbg.json +4 -0
  216. package/build/contracts/src/state/Module.sol/ModuleLib.json +10 -0
  217. package/build/contracts/src/state/ModuleMemory.sol/ModuleMemoryLib.dbg.json +4 -0
  218. package/build/contracts/src/state/ModuleMemory.sol/ModuleMemoryLib.json +10 -0
  219. package/build/contracts/src/state/ModuleMemoryCompact.sol/ModuleMemoryCompactLib.dbg.json +4 -0
  220. package/build/contracts/src/state/ModuleMemoryCompact.sol/ModuleMemoryCompactLib.json +10 -0
  221. package/build/contracts/src/state/PcArray.sol/PcArrayLib.dbg.json +4 -0
  222. package/build/contracts/src/state/PcArray.sol/PcArrayLib.json +10 -0
  223. package/build/contracts/src/state/StackFrame.sol/StackFrameLib.dbg.json +4 -0
  224. package/build/contracts/src/state/StackFrame.sol/StackFrameLib.json +10 -0
  225. package/build/contracts/src/state/Value.sol/ValueLib.dbg.json +4 -0
  226. package/build/contracts/src/state/Value.sol/ValueLib.json +10 -0
  227. package/build/contracts/src/state/ValueArray.sol/ValueArrayLib.dbg.json +4 -0
  228. package/build/contracts/src/state/ValueArray.sol/ValueArrayLib.json +10 -0
  229. package/build/contracts/src/state/ValueStack.sol/ValueStackLib.dbg.json +4 -0
  230. package/build/contracts/src/state/ValueStack.sol/ValueStackLib.json +10 -0
  231. package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.dbg.json +4 -0
  232. package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.json +603 -0
  233. package/build/contracts/src/test-helpers/CryptographyPrimitivesTester.sol/CryptographyPrimitivesTester.dbg.json +4 -0
  234. package/build/contracts/src/test-helpers/CryptographyPrimitivesTester.sol/CryptographyPrimitivesTester.json +54 -0
  235. package/build/contracts/src/test-helpers/MessageTester.sol/MessageTester.dbg.json +4 -0
  236. package/build/contracts/src/test-helpers/MessageTester.sol/MessageTester.json +84 -0
  237. package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.dbg.json +4 -0
  238. package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.json +520 -0
  239. package/build/contracts/src/test-helpers/RollupMock.sol/RollupMock.dbg.json +4 -0
  240. package/build/contracts/src/test-helpers/RollupMock.sol/RollupMock.json +49 -0
  241. package/build/contracts/src/test-helpers/ValueArrayTester.sol/ValueArrayTester.dbg.json +4 -0
  242. package/build/contracts/src/test-helpers/ValueArrayTester.sol/ValueArrayTester.json +18 -0
  243. package/package.json +5 -3
  244. package/src/bridge/Bridge.sol +3 -3
  245. package/src/bridge/IBridge.sol +1 -1
  246. package/src/bridge/IDelayedMessageProvider.sol +1 -1
  247. package/src/bridge/IInbox.sol +1 -1
  248. package/src/bridge/IOutbox.sol +1 -1
  249. package/src/bridge/IOwnable.sol +1 -1
  250. package/src/bridge/ISequencerInbox.sol +22 -4
  251. package/src/bridge/Inbox.sol +2 -2
  252. package/src/bridge/Messages.sol +1 -1
  253. package/src/bridge/Outbox.sol +1 -1
  254. package/src/bridge/SequencerInbox.sol +9 -1
  255. package/src/challenge/ChallengeLib.sol +1 -1
  256. package/src/challenge/ChallengeManager.sol +1 -1
  257. package/src/challenge/IChallengeManager.sol +1 -1
  258. package/src/challenge/IChallengeResultReceiver.sol +1 -1
  259. package/src/libraries/AddressAliasHelper.sol +1 -1
  260. package/src/libraries/AdminFallbackProxy.sol +3 -3
  261. package/src/libraries/Constants.sol +1 -1
  262. package/src/libraries/CryptographyPrimitives.sol +1 -1
  263. package/src/libraries/DelegateCallAware.sol +1 -1
  264. package/src/libraries/DoubleLogicUUPSUpgradeable.sol +1 -1
  265. package/src/libraries/Error.sol +1 -1
  266. package/src/libraries/IGasRefunder.sol +2 -5
  267. package/src/libraries/MerkleLib.sol +1 -1
  268. package/src/libraries/MessageTypes.sol +1 -1
  269. package/src/mocks/BridgeStub.sol +2 -2
  270. package/src/mocks/BridgeUnproxied.sol +1 -1
  271. package/src/mocks/InboxStub.sol +1 -1
  272. package/src/mocks/MockResultReceiver.sol +1 -1
  273. package/src/mocks/ProxyAdminForBinding.sol +1 -1
  274. package/src/mocks/SequencerInboxStub.sol +1 -1
  275. package/src/mocks/Simple.sol +5 -1
  276. package/src/mocks/SimpleProxy.sol +1 -1
  277. package/src/mocks/SingleExecutionChallenge.sol +1 -1
  278. package/src/mocks/TimedOutChallengeManager.sol +1 -1
  279. package/src/node-interface/NodeInterface.sol +4 -2
  280. package/src/node-interface/NodeInterfaceDebug.sol +1 -1
  281. package/src/osp/HashProofHelper.sol +1 -1
  282. package/src/osp/IOneStepProofEntry.sol +1 -1
  283. package/src/osp/IOneStepProver.sol +2 -1
  284. package/src/osp/OneStepProofEntry.sol +1 -1
  285. package/src/osp/OneStepProver0.sol +1 -1
  286. package/src/osp/OneStepProverHostIo.sol +2 -1
  287. package/src/osp/OneStepProverMath.sol +1 -1
  288. package/src/osp/OneStepProverMemory.sol +2 -1
  289. package/src/precompiles/ArbAddressTable.sol +1 -1
  290. package/src/precompiles/ArbAggregator.sol +1 -1
  291. package/src/precompiles/ArbBLS.sol +1 -1
  292. package/src/precompiles/ArbDebug.sol +1 -1
  293. package/src/precompiles/ArbFunctionTable.sol +1 -1
  294. package/src/precompiles/ArbGasInfo.sol +1 -1
  295. package/src/precompiles/ArbInfo.sol +1 -1
  296. package/src/precompiles/ArbOwner.sol +4 -1
  297. package/src/precompiles/ArbOwnerPublic.sol +1 -1
  298. package/src/precompiles/ArbRetryableTx.sol +1 -1
  299. package/src/precompiles/ArbStatistics.sol +1 -1
  300. package/src/precompiles/ArbSys.sol +1 -1
  301. package/src/precompiles/ArbosTest.sol +1 -1
  302. package/src/rollup/BridgeCreator.sol +1 -1
  303. package/src/rollup/Config.sol +43 -0
  304. package/src/rollup/IRollupAdmin.sol +138 -0
  305. package/src/rollup/IRollupCore.sol +16 -3
  306. package/src/rollup/IRollupEventInbox.sol +2 -2
  307. package/src/rollup/IRollupLogic.sol +4 -132
  308. package/src/rollup/Node.sol +15 -1
  309. package/src/rollup/RollupAdminLogic.sol +7 -9
  310. package/src/rollup/RollupCore.sol +46 -3
  311. package/src/rollup/RollupCreator.sol +33 -45
  312. package/src/rollup/RollupEventInbox.sol +8 -3
  313. package/src/rollup/RollupLib.sol +2 -40
  314. package/src/rollup/RollupProxy.sol +26 -11
  315. package/src/rollup/RollupUserLogic.sol +6 -4
  316. package/src/rollup/ValidatorUtils.sol +2 -1
  317. package/src/rollup/ValidatorWallet.sol +1 -1
  318. package/src/rollup/ValidatorWalletCreator.sol +1 -1
  319. package/src/state/Deserialize.sol +2 -2
  320. package/src/state/GlobalState.sol +1 -1
  321. package/src/state/Instructions.sol +1 -1
  322. package/src/state/Machine.sol +1 -1
  323. package/src/state/MerkleProof.sol +1 -1
  324. package/src/state/Module.sol +3 -3
  325. package/src/state/ModuleMemory.sol +3 -8
  326. package/src/state/ModuleMemoryCompact.sol +17 -0
  327. package/src/state/PcArray.sol +1 -1
  328. package/src/state/StackFrame.sol +1 -1
  329. package/src/state/Value.sol +1 -1
  330. package/src/state/ValueArray.sol +1 -1
  331. package/src/state/ValueStack.sol +1 -1
  332. package/src/test-helpers/BridgeTester.sol +1 -1
  333. package/src/test-helpers/CryptographyPrimitivesTester.sol +1 -1
  334. package/src/test-helpers/InterfaceCompatibilityTester.sol +1 -1
  335. package/src/test-helpers/MessageTester.sol +1 -1
  336. package/src/test-helpers/OutboxWithoutOptTester.sol +1 -1
  337. package/src/test-helpers/RollupMock.sol +1 -1
  338. package/src/test-helpers/ValueArrayTester.sol +1 -1
@@ -0,0 +1,870 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "SequencerInboxStub",
4
+ "sourceName": "src/mocks/SequencerInboxStub.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "contract IBridge",
10
+ "name": "bridge_",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "sequencer_",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "components": [
20
+ {
21
+ "internalType": "uint256",
22
+ "name": "delayBlocks",
23
+ "type": "uint256"
24
+ },
25
+ {
26
+ "internalType": "uint256",
27
+ "name": "futureBlocks",
28
+ "type": "uint256"
29
+ },
30
+ {
31
+ "internalType": "uint256",
32
+ "name": "delaySeconds",
33
+ "type": "uint256"
34
+ },
35
+ {
36
+ "internalType": "uint256",
37
+ "name": "futureSeconds",
38
+ "type": "uint256"
39
+ }
40
+ ],
41
+ "internalType": "struct ISequencerInbox.MaxTimeVariation",
42
+ "name": "maxTimeVariation_",
43
+ "type": "tuple"
44
+ }
45
+ ],
46
+ "stateMutability": "nonpayable",
47
+ "type": "constructor"
48
+ },
49
+ {
50
+ "inputs": [],
51
+ "name": "AlreadyInit",
52
+ "type": "error"
53
+ },
54
+ {
55
+ "inputs": [
56
+ {
57
+ "internalType": "bytes32",
58
+ "name": "",
59
+ "type": "bytes32"
60
+ }
61
+ ],
62
+ "name": "AlreadyValidDASKeyset",
63
+ "type": "error"
64
+ },
65
+ {
66
+ "inputs": [
67
+ {
68
+ "internalType": "uint256",
69
+ "name": "stored",
70
+ "type": "uint256"
71
+ },
72
+ {
73
+ "internalType": "uint256",
74
+ "name": "received",
75
+ "type": "uint256"
76
+ }
77
+ ],
78
+ "name": "BadSequencerNumber",
79
+ "type": "error"
80
+ },
81
+ {
82
+ "inputs": [],
83
+ "name": "DataNotAuthenticated",
84
+ "type": "error"
85
+ },
86
+ {
87
+ "inputs": [
88
+ {
89
+ "internalType": "uint256",
90
+ "name": "dataLength",
91
+ "type": "uint256"
92
+ },
93
+ {
94
+ "internalType": "uint256",
95
+ "name": "maxDataLength",
96
+ "type": "uint256"
97
+ }
98
+ ],
99
+ "name": "DataTooLarge",
100
+ "type": "error"
101
+ },
102
+ {
103
+ "inputs": [],
104
+ "name": "DelayedBackwards",
105
+ "type": "error"
106
+ },
107
+ {
108
+ "inputs": [],
109
+ "name": "DelayedTooFar",
110
+ "type": "error"
111
+ },
112
+ {
113
+ "inputs": [],
114
+ "name": "ForceIncludeBlockTooSoon",
115
+ "type": "error"
116
+ },
117
+ {
118
+ "inputs": [],
119
+ "name": "ForceIncludeTimeTooSoon",
120
+ "type": "error"
121
+ },
122
+ {
123
+ "inputs": [],
124
+ "name": "HadZeroInit",
125
+ "type": "error"
126
+ },
127
+ {
128
+ "inputs": [],
129
+ "name": "IncorrectMessagePreimage",
130
+ "type": "error"
131
+ },
132
+ {
133
+ "inputs": [
134
+ {
135
+ "internalType": "bytes32",
136
+ "name": "",
137
+ "type": "bytes32"
138
+ }
139
+ ],
140
+ "name": "NoSuchKeyset",
141
+ "type": "error"
142
+ },
143
+ {
144
+ "inputs": [],
145
+ "name": "NotBatchPoster",
146
+ "type": "error"
147
+ },
148
+ {
149
+ "inputs": [],
150
+ "name": "NotForked",
151
+ "type": "error"
152
+ },
153
+ {
154
+ "inputs": [],
155
+ "name": "NotOrigin",
156
+ "type": "error"
157
+ },
158
+ {
159
+ "inputs": [
160
+ {
161
+ "internalType": "address",
162
+ "name": "sender",
163
+ "type": "address"
164
+ },
165
+ {
166
+ "internalType": "address",
167
+ "name": "owner",
168
+ "type": "address"
169
+ }
170
+ ],
171
+ "name": "NotOwner",
172
+ "type": "error"
173
+ },
174
+ {
175
+ "anonymous": false,
176
+ "inputs": [
177
+ {
178
+ "indexed": true,
179
+ "internalType": "uint256",
180
+ "name": "messageNum",
181
+ "type": "uint256"
182
+ },
183
+ {
184
+ "indexed": false,
185
+ "internalType": "bytes",
186
+ "name": "data",
187
+ "type": "bytes"
188
+ }
189
+ ],
190
+ "name": "InboxMessageDelivered",
191
+ "type": "event"
192
+ },
193
+ {
194
+ "anonymous": false,
195
+ "inputs": [
196
+ {
197
+ "indexed": true,
198
+ "internalType": "uint256",
199
+ "name": "messageNum",
200
+ "type": "uint256"
201
+ }
202
+ ],
203
+ "name": "InboxMessageDeliveredFromOrigin",
204
+ "type": "event"
205
+ },
206
+ {
207
+ "anonymous": false,
208
+ "inputs": [
209
+ {
210
+ "indexed": true,
211
+ "internalType": "bytes32",
212
+ "name": "keysetHash",
213
+ "type": "bytes32"
214
+ }
215
+ ],
216
+ "name": "InvalidateKeyset",
217
+ "type": "event"
218
+ },
219
+ {
220
+ "anonymous": false,
221
+ "inputs": [
222
+ {
223
+ "indexed": true,
224
+ "internalType": "uint256",
225
+ "name": "id",
226
+ "type": "uint256"
227
+ }
228
+ ],
229
+ "name": "OwnerFunctionCalled",
230
+ "type": "event"
231
+ },
232
+ {
233
+ "anonymous": false,
234
+ "inputs": [
235
+ {
236
+ "indexed": true,
237
+ "internalType": "uint256",
238
+ "name": "batchSequenceNumber",
239
+ "type": "uint256"
240
+ },
241
+ {
242
+ "indexed": false,
243
+ "internalType": "bytes",
244
+ "name": "data",
245
+ "type": "bytes"
246
+ }
247
+ ],
248
+ "name": "SequencerBatchData",
249
+ "type": "event"
250
+ },
251
+ {
252
+ "anonymous": false,
253
+ "inputs": [
254
+ {
255
+ "indexed": true,
256
+ "internalType": "uint256",
257
+ "name": "batchSequenceNumber",
258
+ "type": "uint256"
259
+ },
260
+ {
261
+ "indexed": true,
262
+ "internalType": "bytes32",
263
+ "name": "beforeAcc",
264
+ "type": "bytes32"
265
+ },
266
+ {
267
+ "indexed": true,
268
+ "internalType": "bytes32",
269
+ "name": "afterAcc",
270
+ "type": "bytes32"
271
+ },
272
+ {
273
+ "indexed": false,
274
+ "internalType": "bytes32",
275
+ "name": "delayedAcc",
276
+ "type": "bytes32"
277
+ },
278
+ {
279
+ "indexed": false,
280
+ "internalType": "uint256",
281
+ "name": "afterDelayedMessagesRead",
282
+ "type": "uint256"
283
+ },
284
+ {
285
+ "components": [
286
+ {
287
+ "internalType": "uint64",
288
+ "name": "minTimestamp",
289
+ "type": "uint64"
290
+ },
291
+ {
292
+ "internalType": "uint64",
293
+ "name": "maxTimestamp",
294
+ "type": "uint64"
295
+ },
296
+ {
297
+ "internalType": "uint64",
298
+ "name": "minBlockNumber",
299
+ "type": "uint64"
300
+ },
301
+ {
302
+ "internalType": "uint64",
303
+ "name": "maxBlockNumber",
304
+ "type": "uint64"
305
+ }
306
+ ],
307
+ "indexed": false,
308
+ "internalType": "struct ISequencerInbox.TimeBounds",
309
+ "name": "timeBounds",
310
+ "type": "tuple"
311
+ },
312
+ {
313
+ "indexed": false,
314
+ "internalType": "enum ISequencerInbox.BatchDataLocation",
315
+ "name": "dataLocation",
316
+ "type": "uint8"
317
+ }
318
+ ],
319
+ "name": "SequencerBatchDelivered",
320
+ "type": "event"
321
+ },
322
+ {
323
+ "anonymous": false,
324
+ "inputs": [
325
+ {
326
+ "indexed": true,
327
+ "internalType": "bytes32",
328
+ "name": "keysetHash",
329
+ "type": "bytes32"
330
+ },
331
+ {
332
+ "indexed": false,
333
+ "internalType": "bytes",
334
+ "name": "keysetBytes",
335
+ "type": "bytes"
336
+ }
337
+ ],
338
+ "name": "SetValidKeyset",
339
+ "type": "event"
340
+ },
341
+ {
342
+ "inputs": [],
343
+ "name": "DATA_AUTHENTICATED_FLAG",
344
+ "outputs": [
345
+ {
346
+ "internalType": "bytes1",
347
+ "name": "",
348
+ "type": "bytes1"
349
+ }
350
+ ],
351
+ "stateMutability": "view",
352
+ "type": "function"
353
+ },
354
+ {
355
+ "inputs": [],
356
+ "name": "HEADER_LENGTH",
357
+ "outputs": [
358
+ {
359
+ "internalType": "uint256",
360
+ "name": "",
361
+ "type": "uint256"
362
+ }
363
+ ],
364
+ "stateMutability": "view",
365
+ "type": "function"
366
+ },
367
+ {
368
+ "inputs": [
369
+ {
370
+ "internalType": "uint256",
371
+ "name": "chainId",
372
+ "type": "uint256"
373
+ }
374
+ ],
375
+ "name": "addInitMessage",
376
+ "outputs": [],
377
+ "stateMutability": "nonpayable",
378
+ "type": "function"
379
+ },
380
+ {
381
+ "inputs": [
382
+ {
383
+ "internalType": "uint256",
384
+ "name": "sequenceNumber",
385
+ "type": "uint256"
386
+ },
387
+ {
388
+ "internalType": "bytes",
389
+ "name": "data",
390
+ "type": "bytes"
391
+ },
392
+ {
393
+ "internalType": "uint256",
394
+ "name": "afterDelayedMessagesRead",
395
+ "type": "uint256"
396
+ },
397
+ {
398
+ "internalType": "contract IGasRefunder",
399
+ "name": "gasRefunder",
400
+ "type": "address"
401
+ },
402
+ {
403
+ "internalType": "uint256",
404
+ "name": "prevMessageCount",
405
+ "type": "uint256"
406
+ },
407
+ {
408
+ "internalType": "uint256",
409
+ "name": "newMessageCount",
410
+ "type": "uint256"
411
+ }
412
+ ],
413
+ "name": "addSequencerL2Batch",
414
+ "outputs": [],
415
+ "stateMutability": "nonpayable",
416
+ "type": "function"
417
+ },
418
+ {
419
+ "inputs": [
420
+ {
421
+ "internalType": "uint256",
422
+ "name": "sequenceNumber",
423
+ "type": "uint256"
424
+ },
425
+ {
426
+ "internalType": "bytes",
427
+ "name": "data",
428
+ "type": "bytes"
429
+ },
430
+ {
431
+ "internalType": "uint256",
432
+ "name": "afterDelayedMessagesRead",
433
+ "type": "uint256"
434
+ },
435
+ {
436
+ "internalType": "contract IGasRefunder",
437
+ "name": "gasRefunder",
438
+ "type": "address"
439
+ }
440
+ ],
441
+ "name": "addSequencerL2BatchFromOrigin",
442
+ "outputs": [],
443
+ "stateMutability": "nonpayable",
444
+ "type": "function"
445
+ },
446
+ {
447
+ "inputs": [
448
+ {
449
+ "internalType": "uint256",
450
+ "name": "sequenceNumber",
451
+ "type": "uint256"
452
+ },
453
+ {
454
+ "internalType": "bytes",
455
+ "name": "data",
456
+ "type": "bytes"
457
+ },
458
+ {
459
+ "internalType": "uint256",
460
+ "name": "afterDelayedMessagesRead",
461
+ "type": "uint256"
462
+ },
463
+ {
464
+ "internalType": "contract IGasRefunder",
465
+ "name": "gasRefunder",
466
+ "type": "address"
467
+ },
468
+ {
469
+ "internalType": "uint256",
470
+ "name": "prevMessageCount",
471
+ "type": "uint256"
472
+ },
473
+ {
474
+ "internalType": "uint256",
475
+ "name": "newMessageCount",
476
+ "type": "uint256"
477
+ }
478
+ ],
479
+ "name": "addSequencerL2BatchFromOrigin",
480
+ "outputs": [],
481
+ "stateMutability": "nonpayable",
482
+ "type": "function"
483
+ },
484
+ {
485
+ "inputs": [],
486
+ "name": "batchCount",
487
+ "outputs": [
488
+ {
489
+ "internalType": "uint256",
490
+ "name": "",
491
+ "type": "uint256"
492
+ }
493
+ ],
494
+ "stateMutability": "view",
495
+ "type": "function"
496
+ },
497
+ {
498
+ "inputs": [],
499
+ "name": "bridge",
500
+ "outputs": [
501
+ {
502
+ "internalType": "contract IBridge",
503
+ "name": "",
504
+ "type": "address"
505
+ }
506
+ ],
507
+ "stateMutability": "view",
508
+ "type": "function"
509
+ },
510
+ {
511
+ "inputs": [
512
+ {
513
+ "internalType": "bytes32",
514
+ "name": "",
515
+ "type": "bytes32"
516
+ }
517
+ ],
518
+ "name": "dasKeySetInfo",
519
+ "outputs": [
520
+ {
521
+ "internalType": "bool",
522
+ "name": "isValidKeyset",
523
+ "type": "bool"
524
+ },
525
+ {
526
+ "internalType": "uint64",
527
+ "name": "creationBlock",
528
+ "type": "uint64"
529
+ }
530
+ ],
531
+ "stateMutability": "view",
532
+ "type": "function"
533
+ },
534
+ {
535
+ "inputs": [
536
+ {
537
+ "internalType": "uint256",
538
+ "name": "_totalDelayedMessagesRead",
539
+ "type": "uint256"
540
+ },
541
+ {
542
+ "internalType": "uint8",
543
+ "name": "kind",
544
+ "type": "uint8"
545
+ },
546
+ {
547
+ "internalType": "uint64[2]",
548
+ "name": "l1BlockAndTime",
549
+ "type": "uint64[2]"
550
+ },
551
+ {
552
+ "internalType": "uint256",
553
+ "name": "baseFeeL1",
554
+ "type": "uint256"
555
+ },
556
+ {
557
+ "internalType": "address",
558
+ "name": "sender",
559
+ "type": "address"
560
+ },
561
+ {
562
+ "internalType": "bytes32",
563
+ "name": "messageDataHash",
564
+ "type": "bytes32"
565
+ }
566
+ ],
567
+ "name": "forceInclusion",
568
+ "outputs": [],
569
+ "stateMutability": "nonpayable",
570
+ "type": "function"
571
+ },
572
+ {
573
+ "inputs": [
574
+ {
575
+ "internalType": "bytes32",
576
+ "name": "ksHash",
577
+ "type": "bytes32"
578
+ }
579
+ ],
580
+ "name": "getKeysetCreationBlock",
581
+ "outputs": [
582
+ {
583
+ "internalType": "uint256",
584
+ "name": "",
585
+ "type": "uint256"
586
+ }
587
+ ],
588
+ "stateMutability": "view",
589
+ "type": "function"
590
+ },
591
+ {
592
+ "inputs": [
593
+ {
594
+ "internalType": "uint256",
595
+ "name": "index",
596
+ "type": "uint256"
597
+ }
598
+ ],
599
+ "name": "inboxAccs",
600
+ "outputs": [
601
+ {
602
+ "internalType": "bytes32",
603
+ "name": "",
604
+ "type": "bytes32"
605
+ }
606
+ ],
607
+ "stateMutability": "view",
608
+ "type": "function"
609
+ },
610
+ {
611
+ "inputs": [
612
+ {
613
+ "internalType": "contract IBridge",
614
+ "name": "bridge_",
615
+ "type": "address"
616
+ },
617
+ {
618
+ "components": [
619
+ {
620
+ "internalType": "uint256",
621
+ "name": "delayBlocks",
622
+ "type": "uint256"
623
+ },
624
+ {
625
+ "internalType": "uint256",
626
+ "name": "futureBlocks",
627
+ "type": "uint256"
628
+ },
629
+ {
630
+ "internalType": "uint256",
631
+ "name": "delaySeconds",
632
+ "type": "uint256"
633
+ },
634
+ {
635
+ "internalType": "uint256",
636
+ "name": "futureSeconds",
637
+ "type": "uint256"
638
+ }
639
+ ],
640
+ "internalType": "struct ISequencerInbox.MaxTimeVariation",
641
+ "name": "maxTimeVariation_",
642
+ "type": "tuple"
643
+ }
644
+ ],
645
+ "name": "initialize",
646
+ "outputs": [],
647
+ "stateMutability": "nonpayable",
648
+ "type": "function"
649
+ },
650
+ {
651
+ "inputs": [
652
+ {
653
+ "internalType": "bytes32",
654
+ "name": "ksHash",
655
+ "type": "bytes32"
656
+ }
657
+ ],
658
+ "name": "invalidateKeysetHash",
659
+ "outputs": [],
660
+ "stateMutability": "nonpayable",
661
+ "type": "function"
662
+ },
663
+ {
664
+ "inputs": [
665
+ {
666
+ "internalType": "address",
667
+ "name": "",
668
+ "type": "address"
669
+ }
670
+ ],
671
+ "name": "isBatchPoster",
672
+ "outputs": [
673
+ {
674
+ "internalType": "bool",
675
+ "name": "",
676
+ "type": "bool"
677
+ }
678
+ ],
679
+ "stateMutability": "view",
680
+ "type": "function"
681
+ },
682
+ {
683
+ "inputs": [
684
+ {
685
+ "internalType": "address",
686
+ "name": "",
687
+ "type": "address"
688
+ }
689
+ ],
690
+ "name": "isSequencer",
691
+ "outputs": [
692
+ {
693
+ "internalType": "bool",
694
+ "name": "",
695
+ "type": "bool"
696
+ }
697
+ ],
698
+ "stateMutability": "view",
699
+ "type": "function"
700
+ },
701
+ {
702
+ "inputs": [
703
+ {
704
+ "internalType": "bytes32",
705
+ "name": "ksHash",
706
+ "type": "bytes32"
707
+ }
708
+ ],
709
+ "name": "isValidKeysetHash",
710
+ "outputs": [
711
+ {
712
+ "internalType": "bool",
713
+ "name": "",
714
+ "type": "bool"
715
+ }
716
+ ],
717
+ "stateMutability": "view",
718
+ "type": "function"
719
+ },
720
+ {
721
+ "inputs": [],
722
+ "name": "maxTimeVariation",
723
+ "outputs": [
724
+ {
725
+ "internalType": "uint256",
726
+ "name": "delayBlocks",
727
+ "type": "uint256"
728
+ },
729
+ {
730
+ "internalType": "uint256",
731
+ "name": "futureBlocks",
732
+ "type": "uint256"
733
+ },
734
+ {
735
+ "internalType": "uint256",
736
+ "name": "delaySeconds",
737
+ "type": "uint256"
738
+ },
739
+ {
740
+ "internalType": "uint256",
741
+ "name": "futureSeconds",
742
+ "type": "uint256"
743
+ }
744
+ ],
745
+ "stateMutability": "view",
746
+ "type": "function"
747
+ },
748
+ {
749
+ "inputs": [],
750
+ "name": "removeDelayAfterFork",
751
+ "outputs": [],
752
+ "stateMutability": "nonpayable",
753
+ "type": "function"
754
+ },
755
+ {
756
+ "inputs": [],
757
+ "name": "rollup",
758
+ "outputs": [
759
+ {
760
+ "internalType": "contract IOwnable",
761
+ "name": "",
762
+ "type": "address"
763
+ }
764
+ ],
765
+ "stateMutability": "view",
766
+ "type": "function"
767
+ },
768
+ {
769
+ "inputs": [
770
+ {
771
+ "internalType": "address",
772
+ "name": "addr",
773
+ "type": "address"
774
+ },
775
+ {
776
+ "internalType": "bool",
777
+ "name": "isBatchPoster_",
778
+ "type": "bool"
779
+ }
780
+ ],
781
+ "name": "setIsBatchPoster",
782
+ "outputs": [],
783
+ "stateMutability": "nonpayable",
784
+ "type": "function"
785
+ },
786
+ {
787
+ "inputs": [
788
+ {
789
+ "internalType": "address",
790
+ "name": "addr",
791
+ "type": "address"
792
+ },
793
+ {
794
+ "internalType": "bool",
795
+ "name": "isSequencer_",
796
+ "type": "bool"
797
+ }
798
+ ],
799
+ "name": "setIsSequencer",
800
+ "outputs": [],
801
+ "stateMutability": "nonpayable",
802
+ "type": "function"
803
+ },
804
+ {
805
+ "inputs": [
806
+ {
807
+ "components": [
808
+ {
809
+ "internalType": "uint256",
810
+ "name": "delayBlocks",
811
+ "type": "uint256"
812
+ },
813
+ {
814
+ "internalType": "uint256",
815
+ "name": "futureBlocks",
816
+ "type": "uint256"
817
+ },
818
+ {
819
+ "internalType": "uint256",
820
+ "name": "delaySeconds",
821
+ "type": "uint256"
822
+ },
823
+ {
824
+ "internalType": "uint256",
825
+ "name": "futureSeconds",
826
+ "type": "uint256"
827
+ }
828
+ ],
829
+ "internalType": "struct ISequencerInbox.MaxTimeVariation",
830
+ "name": "maxTimeVariation_",
831
+ "type": "tuple"
832
+ }
833
+ ],
834
+ "name": "setMaxTimeVariation",
835
+ "outputs": [],
836
+ "stateMutability": "nonpayable",
837
+ "type": "function"
838
+ },
839
+ {
840
+ "inputs": [
841
+ {
842
+ "internalType": "bytes",
843
+ "name": "keysetBytes",
844
+ "type": "bytes"
845
+ }
846
+ ],
847
+ "name": "setValidKeyset",
848
+ "outputs": [],
849
+ "stateMutability": "nonpayable",
850
+ "type": "function"
851
+ },
852
+ {
853
+ "inputs": [],
854
+ "name": "totalDelayedMessagesRead",
855
+ "outputs": [
856
+ {
857
+ "internalType": "uint256",
858
+ "name": "",
859
+ "type": "uint256"
860
+ }
861
+ ],
862
+ "stateMutability": "view",
863
+ "type": "function"
864
+ }
865
+ ],
866
+ "bytecode": "0x60e0604052306080524660a05262000022620000c1602090811b620019f717901c565b151560c0523480156200003457600080fd5b5060405162002b7b38038062002b7b833981016040819052620000579162000177565b600180546001600160a01b039485166001600160a01b03199182161782556002805490911633179055815160045560208083015160055560408084015160065560609093015160075592909316600090815260039092529020805460ff1916909117905562000268565b60408051600481526024810182526020810180516001600160e01b03166302881c7960e11b1790529051600091829182916064916200010191906200022a565b600060405180830381855afa9150503d80600081146200013e576040519150601f19603f3d011682016040523d82523d6000602084013e62000143565b606091505b509150915081801562000157575080516020145b9250505090565b6001600160a01b03811681146200017457600080fd5b50565b600080600083850360c08112156200018e57600080fd5b84516200019b816200015e565b6020860151909450620001ae816200015e565b92506080603f1982011215620001c357600080fd5b50604051608081016001600160401b0381118282101715620001f557634e487b7160e01b600052604160045260246000fd5b806040525060408501518152606085015160208201526080850151604082015260a08501516060820152809150509250925092565b6000825160005b818110156200024d576020818601810151858301520162000231565b818111156200025d576000828501525b509190910192915050565b60805160a05160c0516128dc6200029f600039600081816112ec0152611c3701526000610fe40152600061048301526128dc6000f3fe608060405234801561001057600080fd5b50600436106101635760003560e01c80637fa3a40e116100ce578063d1ce8da811610087578063d1ce8da81461033f578063d9dd67ab14610352578063e0bc972914610365578063e5a358c814610378578063e78cea921461039c578063ebea461d146103af578063f1981578146103e557600080fd5b80637fa3a40e146102ca57806384420860146102d35780638f111f3c146102e657806396cc5c78146102f9578063b31761f814610301578063cb23bcb51461031457600080fd5b80636633ae85116101205780636633ae85146101f95780636d46e9871461020c5780636e7df3e71461022f5780636f12b0c914610242578063715ea34b1461025557806371c3e6fe146102a757600080fd5b806306f13056146101685780631637be48146101835780631f7a92b2146101b65780631f956632146101cb578063258f0495146101de57806327957a49146101f1575b600080fd5b6101706103f8565b6040519081526020015b60405180910390f35b6101a6610191366004612107565b60009081526008602052604090205460ff1690565b604051901515815260200161017a565b6101c96101c4366004612138565b610478565b005b6101c96101d9366004612187565b610630565b6101706101ec366004612107565b610736565b610170602881565b6101c9610207366004612107565b61079f565b6101a661021a3660046121c0565b60096020526000908152604090205460ff1681565b6101c961023d366004612187565b61098a565b6101c961025036600461222c565b610a90565b610288610263366004612107565b60086020526000908152604090205460ff81169061010090046001600160401b031682565b6040805192151583526001600160401b0390911660208301520161017a565b6101a66102b53660046121c0565b60036020526000908152604090205460ff1681565b61017060005481565b6101c96102e1366004612107565b610c7f565b6101c96102f4366004612296565b610dd2565b6101c9610fe1565b6101c961030f366004612312565b611058565b600254610327906001600160a01b031681565b6040516001600160a01b03909116815260200161017a565b6101c961034d366004612385565b611158565b610170610360366004612107565b61143c565b6101c9610373366004612296565b6114bf565b610383600160fe1b81565b6040516001600160f81b0319909116815260200161017a565b600154610327906001600160a01b031681565b6004546005546006546007546103c59392919084565b60408051948552602085019390935291830152606082015260800161017a565b6101c96103f33660046123c6565b611614565b600154604080516221048360e21b815290516000926001600160a01b0316916284120c916004808301926020929190829003018186803b15801561043b57600080fd5b505afa15801561044f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104739190612436565b905090565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561050b5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084015b60405180910390fd5b6001546001600160a01b03161561053557604051633bcd329760e21b815260040160405180910390fd5b6001600160a01b03821661055c57604051631ad0f74360e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0384169081179091556040805163cb23bcb560e01b8152905163cb23bcb591600480820192602092909190829003018186803b1580156105b057600080fd5b505afa1580156105c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e8919061244f565b600280546001600160a01b0319166001600160a01b03929092169190911790558035600490815560208201356005556040820135600655606082013560075581905b50505050565b600260009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561067e57600080fd5b505afa158015610692573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b6919061244f565b6001600160a01b0316336001600160a01b0316146106f857600254604051631194af8760e11b81526105029133916001600160a01b039091169060040161246c565b6001600160a01b038216600090815260096020526040808220805460ff19168415151790555160049160008051602061288783398151915291a25050565b600081815260086020908152604080832081518083019092525460ff81161515825261010090046001600160401b03169181018290529061078c5760405162f20c5d60e01b815260048101849052602401610502565b602001516001600160401b031692915050565b6000816040516020016107b491815260200190565b60408051808303601f190181529082905260015481516020830120638db5993b60e01b8452600b6004850152600060248501819052604485019190915291935090916001600160a01b0390911690638db5993b90606401602060405180830381600087803b15801561082557600080fd5b505af1158015610839573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085d9190612436565b905080156108a45760405162461bcd60e51b81526020600482015260146024820152731053149150511657d111531056515117d253925560621b6044820152606401610502565b807fff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b836040516108d491906124b2565b60405180910390a26000806108e96001611a8f565b915091506000806000806109038660016000806001611abb565b93509350935093508360001461094e5760405162461bcd60e51b815260206004820152601060248201526f1053149150511657d4d15457d253925560821b6044820152606401610502565b808385600080516020612867833981519152856000548a600260405161097794939291906124e5565b60405180910390a4505050505050505050565b600260009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109d857600080fd5b505afa1580156109ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a10919061244f565b6001600160a01b0316336001600160a01b031614610a5257600254604051631194af8760e11b81526105029133916001600160a01b039091169060040161246c565b6001600160a01b038216600090815260036020526040808220805460ff19168415151790555160019160008051602061288783398151915291a25050565b8060005a9050333214610ab65760405163feb3d07160e01b815260040160405180910390fd5b3360009081526003602052604090205460ff16610ae657604051632dd9fc9760e01b815260040160405180910390fd5b600080610af4888888611ebb565b90925090506000808080610b0b868b8d8480611abb565b93509350935093508c8414610b3d5760405163ac7411c960e01b815260048101859052602481018e9052604401610502565b80838e600080516020612867833981519152856000548a6000604051610b6694939291906124e5565b60405180910390a4505050506001600160a01b038416159150610c769050573660006020610b9583601f61256f565b610b9f9190612587565b9050610200610baf60028361268d565b610bb99190612587565b610bc482600661269c565b610bce919061256f565b610bd8908461256f565b9250333214610be657600091505b836001600160a01b031663e3db8a49335a610c0190876126bb565b856040518463ffffffff1660e01b8152600401610c20939291906126d2565b602060405180830381600087803b158015610c3a57600080fd5b505af1158015610c4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7291906126f3565b5050505b50505050505050565b600260009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ccd57600080fd5b505afa158015610ce1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d05919061244f565b6001600160a01b0316336001600160a01b031614610d4757600254604051631194af8760e11b81526105029133916001600160a01b039091169060040161246c565b60008181526008602052604090205460ff16610d785760405162f20c5d60e01b815260048101829052602401610502565b600081815260086020526040808220805460ff191690555182917f5cb4218b272fd214168ac43e90fb4d05d6c36f0b17ffb4c2dd07c234d744eb2a91a260405160039060008051602061288783398151915290600090a250565b8260005a9050333214610df85760405163feb3d07160e01b815260040160405180910390fd5b3360009081526003602052604090205460ff16610e2857604051632dd9fc9760e01b815260040160405180910390fd5b600080610e368a8a8a611ebb565b90925090508a81838b8b8a8a6000808080610e5489888a8989611abb565b93509350935093508a8414158015610e6e57506000198b14155b15610e965760405163ac7411c960e01b815260048101859052602481018c9052604401610502565b808385600080516020612867833981519152856000548f6000604051610ebf94939291906124e5565b60405180910390a4505050506001600160a01b038b16159850610fd6975050505050505050573660006020610ef583601f61256f565b610eff9190612587565b9050610200610f0f60028361268d565b610f199190612587565b610f2482600661269c565b610f2e919061256f565b610f38908461256f565b9250333214610f4657600091505b836001600160a01b031663e3db8a49335a610f6190876126bb565b856040518463ffffffff1660e01b8152600401610f80939291906126d2565b602060405180830381600087803b158015610f9a57600080fd5b505af1158015610fae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd291906126f3565b5050505b505050505050505050565b467f0000000000000000000000000000000000000000000000000000000000000000141561102257604051635180dd8360e11b815260040160405180910390fd5b60408051608081018252600180825260208201819052918101829052606001819052600481905560058190556006819055600755565b600260009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110a657600080fd5b505afa1580156110ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110de919061244f565b6001600160a01b0316336001600160a01b03161461112057600254604051631194af8760e11b81526105029133916001600160a01b039091169060040161246c565b80516004556020810151600555604080820151600655606082015160075551600090600080516020612887833981519152908290a250565b600260009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156111a657600080fd5b505afa1580156111ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111de919061244f565b6001600160a01b0316336001600160a01b03161461122057600254604051631194af8760e11b81526105029133916001600160a01b039091169060040161246c565b60008282604051611232929190612710565b604051908190038120607f60f91b6020830152602182015260410160408051601f1981840301815291905280516020909101209050600160ff1b81186201000083106112b65760405162461bcd60e51b81526020600482015260136024820152726b657973657420697320746f6f206c6172676560681b6044820152606401610502565b60008181526008602052604090205460ff16156112e957604051637d17eeed60e11b815260048101829052602401610502565b437f0000000000000000000000000000000000000000000000000000000000000000156113855760646001600160a01b031663a3b1b31d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561134a57600080fd5b505afa15801561135e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113829190612436565b90505b604080518082018252600181526001600160401b0383811660208084019182526000878152600890915284902092518354915168ffffffffffffffffff1990921690151568ffffffffffffffff0019161761010091909216021790555182907fabca9b7986bc22ad0160eb0cb88ae75411eacfba4052af0b457a9335ef655722906114139088908890612720565b60405180910390a260405160029060008051602061288783398151915290600090a25050505050565b6001546040516316bf557960e01b8152600481018390526000916001600160a01b0316906316bf55799060240160206040518083038186803b15801561148157600080fd5b505afa158015611495573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b99190612436565b92915050565b8260005a3360009081526003602052604090205490915060ff161580156114f157506002546001600160a01b03163314155b1561150f57604051632dd9fc9760e01b815260040160405180910390fd5b60008061151d8a8a8a611ebb565b909250905060008b82848b8a8a86808061153a8787838888611abb565b929c5090945092509050888a1480159061155657506000198914155b1561157e5760405163ac7411c960e01b8152600481018b9052602481018a9052604401610502565b80838b600080516020612867833981519152856000548d60016040516115a794939291906124e5565b60405180910390a4505050505050505050807ffe325ca1efe4c5c1062c981c3ee74b781debe4ea9440306a96d2a55759c66c208c8c6040516115ea929190612720565b60405180910390a25050506001600160a01b03821615610fd6573660006020610ef583601f61256f565b600054861161163657604051633eb9f37d60e11b815260040160405180910390fd5b60006116e6868461164a6020890189612765565b61165a60408a0160208b01612765565b61166560018d6126bb565b6040805160f89690961b6001600160f81b03191660208088019190915260609590951b6001600160601b031916602187015260c093841b6001600160c01b031990811660358801529290931b909116603d85015260458401526065830188905260858084018790528151808503909101815260a59093019052815191012090565b60045490915043906116fb6020880188612765565b6001600160401b031661170e919061256f565b1061172c5760405163ad3515d960e01b815260040160405180910390fd5b60065442906117416040880160208901612765565b6001600160401b0316611754919061256f565b106117725760405163c76d17e560e01b815260040160405180910390fd5b6000600188111561180a576001546001600160a01b031663d5719dc261179960028b6126bb565b6040518263ffffffff1660e01b81526004016117b791815260200190565b60206040518083038186803b1580156117cf57600080fd5b505afa1580156117e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118079190612436565b90505b60408051602080820184905281830185905282518083038401815260609092019092528051910120600180546001600160a01b03169063d5719dc290611850908c6126bb565b6040518263ffffffff1660e01b815260040161186e91815260200190565b60206040518083038186803b15801561188657600080fd5b505afa15801561189a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118be9190612436565b146118dc576040516313947fd760e01b815260040160405180910390fd5b6000806118e88a611a8f565b9150915060008a90506000600160009054906101000a90046001600160a01b03166001600160a01b0316635fca4a166040518163ffffffff1660e01b815260040160206040518083038186803b15801561194157600080fd5b505afa158015611955573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119799190612436565b9050600080548d8361198b919061256f565b61199591906126bb565b90506000806000806119ab898860008989611abb565b9350935093509350808385600080516020612867833981519152856000548d60026040516119dc94939291906124e5565b60405180910390a45050505050505050505050505050505050565b60408051600481526024810182526020810180516001600160e01b03166302881c7960e11b179052905160009182918291606491611a35919061278e565b600060405180830381855afa9150503d8060008114611a70576040519150601f19603f3d011682016040523d82523d6000602084013e611a75565b606091505b5091509150818015611a88575080516020145b9250505090565b6000611a996120e0565b600080611aa58561202e565b8151602090920191909120969095509350505050565b600080600080600054881015611ae457604051633eb9f37d60e11b815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663eca067ad6040518163ffffffff1660e01b815260040160206040518083038186803b158015611b3257600080fd5b505afa158015611b46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b6a9190612436565b881115611b8a5760405163925f8bd360e01b815260040160405180910390fd5b60015460405163432cc52b60e11b8152600481018b9052602481018a905260448101889052606481018790526001600160a01b03909116906386598a5690608401608060405180830381600087803b158015611be557600080fd5b505af1158015611bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1d91906127aa565b60008c9055929650909450925090508615611eaf573360607f000000000000000000000000000000000000000000000000000000000000000015611d8a576000606c6001600160a01b031663c6f7de0e6040518163ffffffff1660e01b815260040160206040518083038186803b158015611c9757600080fd5b505afa158015611cab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ccf9190612436565b90506000611cdd4883612587565b90506001600160401b03811115611d2a5760405162461bcd60e51b8152602060048201526011602482015270130c57d1d054d7d393d517d55253950d8d607a1b6044820152606401610502565b60408051426020820152606086901b6001600160601b03191681830152605481018f9052607481018a905248609482015260c09290921b6001600160c01b03191660b48301528051609c81840301815260bc90920190529150611dd39050565b604080514260208201526001600160601b0319606085901b1691810191909152605481018c90526074810187905248609482015260b40160405160208183030381529060405290505b60015481516020830120604051637a88b10760e01b81526000926001600160a01b031691637a88b10791611e1f9187916004016001600160a01b03929092168252602082015260400190565b602060405180830381600087803b158015611e3957600080fd5b505af1158015611e4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e719190612436565b9050807fff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b83604051611ea391906124b2565b60405180910390a25050505b95509550955095915050565b6000611ec56120e0565b84846000611ed482602861256f565b90506201cccc811115611f0657604051634634691b60e01b8152600481018290526201cccc6024820152604401610502565b8115801590611f3e5750600160fe1b808484600081611f2757611f2761274f565b9050013560f81c60f81b166001600160f81b031916145b15611f5c57604051631f97007f60e01b815260040160405180910390fd5b60218210801590611f8a575082826000818110611f7b57611f7b61274f565b90910135600160ff1b16151590505b15611fde576000611f9f6021600185876127e0565b611fa89161280a565b60008181526008602052604090205490915060ff16611fdc5760405162f20c5d60e01b815260048101829052602401610502565b505b600080611fea8861202e565b915091506000828b8b60405160200161200593929190612828565b60408051808303601f1901815291905280516020909101209b919a509098505050505050505050565b60606120386120e0565b60006120426120d5565b905060008160000151826020015183604001518460600151886040516020016120aa95949392919060c095861b6001600160c01b0319908116825294861b8516600882015292851b8416601084015290841b8316601883015290921b16602082015260280190565b604051602081830303815290604052905060288151146120cc576120cc612850565b94909350915050565b6120dd6120e0565b90565b60408051608081018252600080825260208201819052918101829052606081019190915290565b60006020828403121561211957600080fd5b5035919050565b6001600160a01b038116811461213557600080fd5b50565b60008082840360a081121561214c57600080fd5b833561215781612120565b92506080601f198201121561216b57600080fd5b506020830190509250929050565b801515811461213557600080fd5b6000806040838503121561219a57600080fd5b82356121a581612120565b915060208301356121b581612179565b809150509250929050565b6000602082840312156121d257600080fd5b81356121dd81612120565b9392505050565b60008083601f8401126121f657600080fd5b5081356001600160401b0381111561220d57600080fd5b60208301915083602082850101111561222557600080fd5b9250929050565b60008060008060006080868803121561224457600080fd5b8535945060208601356001600160401b0381111561226157600080fd5b61226d888289016121e4565b90955093505060408601359150606086013561228881612120565b809150509295509295909350565b600080600080600080600060c0888a0312156122b157600080fd5b8735965060208801356001600160401b038111156122ce57600080fd5b6122da8a828b016121e4565b9097509550506040880135935060608801356122f581612120565b969995985093969295946080840135945060a09093013592915050565b60006080828403121561232457600080fd5b604051608081018181106001600160401b038211171561235457634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b6000806020838503121561239857600080fd5b82356001600160401b038111156123ae57600080fd5b6123ba858286016121e4565b90969095509350505050565b60008060008060008060e087890312156123df57600080fd5b86359550602087013560ff811681146123f757600080fd5b9450608087018881111561240a57600080fd5b60408801945035925060a087013561242181612120565b8092505060c087013590509295509295509295565b60006020828403121561244857600080fd5b5051919050565b60006020828403121561246157600080fd5b81516121dd81612120565b6001600160a01b0392831681529116602082015260400190565b60005b838110156124a1578181015183820152602001612489565b8381111561062a5750506000910152565b60208152600082518060208401526124d1816040850160208701612486565b601f01601f19169190910160400192915050565b600060e0820190508582528460208301526001600160401b038085511660408401528060208601511660608401528060408601511660808401528060608601511660a0840152506003831061254a57634e487b7160e01b600052602160045260246000fd5b8260c083015295945050505050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561258257612582612559565b500190565b6000826125a457634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156125e45781600019048211156125ca576125ca612559565b808516156125d757918102915b93841c93908002906125ae565b509250929050565b6000826125fb575060016114b9565b81612608575060006114b9565b816001811461261e576002811461262857612644565b60019150506114b9565b60ff84111561263957612639612559565b50506001821b6114b9565b5060208310610133831016604e8410600b8410161715612667575081810a6114b9565b61267183836125a9565b806000190482111561268557612685612559565b029392505050565b60006121dd60ff8416836125ec565b60008160001904831182151516156126b6576126b6612559565b500290565b6000828210156126cd576126cd612559565b500390565b6001600160a01b039390931683526020830191909152604082015260600190565b60006020828403121561270557600080fd5b81516121dd81612179565b8183823760009101908152919050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561277757600080fd5b81356001600160401b03811681146121dd57600080fd5b600082516127a0818460208701612486565b9190910192915050565b600080600080608085870312156127c057600080fd5b505082516020840151604085015160609095015191969095509092509050565b600080858511156127f057600080fd5b838611156127fd57600080fd5b5050820193919092039150565b803560208310156114b957600019602084900360031b1b1692915050565b6000845161283a818460208901612486565b8201838582376000930192835250909392505050565b634e487b7160e01b600052600160045260246000fdfe7394f4a19a13c7b92b5bb71033245305946ef78452f7b4986ac1390b5df4ebd7ea8787f128d10b2cc0317b0c3960f9ad447f7f6c1ed189db1083ccffd20f456ea26469706673582212209ed54eb5c1bd3c1711d81a4a61025dfa8ccf5ac7a422be9c163d51cd078a1e3c64736f6c63430008090033",
867
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101635760003560e01c80637fa3a40e116100ce578063d1ce8da811610087578063d1ce8da81461033f578063d9dd67ab14610352578063e0bc972914610365578063e5a358c814610378578063e78cea921461039c578063ebea461d146103af578063f1981578146103e557600080fd5b80637fa3a40e146102ca57806384420860146102d35780638f111f3c146102e657806396cc5c78146102f9578063b31761f814610301578063cb23bcb51461031457600080fd5b80636633ae85116101205780636633ae85146101f95780636d46e9871461020c5780636e7df3e71461022f5780636f12b0c914610242578063715ea34b1461025557806371c3e6fe146102a757600080fd5b806306f13056146101685780631637be48146101835780631f7a92b2146101b65780631f956632146101cb578063258f0495146101de57806327957a49146101f1575b600080fd5b6101706103f8565b6040519081526020015b60405180910390f35b6101a6610191366004612107565b60009081526008602052604090205460ff1690565b604051901515815260200161017a565b6101c96101c4366004612138565b610478565b005b6101c96101d9366004612187565b610630565b6101706101ec366004612107565b610736565b610170602881565b6101c9610207366004612107565b61079f565b6101a661021a3660046121c0565b60096020526000908152604090205460ff1681565b6101c961023d366004612187565b61098a565b6101c961025036600461222c565b610a90565b610288610263366004612107565b60086020526000908152604090205460ff81169061010090046001600160401b031682565b6040805192151583526001600160401b0390911660208301520161017a565b6101a66102b53660046121c0565b60036020526000908152604090205460ff1681565b61017060005481565b6101c96102e1366004612107565b610c7f565b6101c96102f4366004612296565b610dd2565b6101c9610fe1565b6101c961030f366004612312565b611058565b600254610327906001600160a01b031681565b6040516001600160a01b03909116815260200161017a565b6101c961034d366004612385565b611158565b610170610360366004612107565b61143c565b6101c9610373366004612296565b6114bf565b610383600160fe1b81565b6040516001600160f81b0319909116815260200161017a565b600154610327906001600160a01b031681565b6004546005546006546007546103c59392919084565b60408051948552602085019390935291830152606082015260800161017a565b6101c96103f33660046123c6565b611614565b600154604080516221048360e21b815290516000926001600160a01b0316916284120c916004808301926020929190829003018186803b15801561043b57600080fd5b505afa15801561044f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104739190612436565b905090565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561050b5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084015b60405180910390fd5b6001546001600160a01b03161561053557604051633bcd329760e21b815260040160405180910390fd5b6001600160a01b03821661055c57604051631ad0f74360e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0384169081179091556040805163cb23bcb560e01b8152905163cb23bcb591600480820192602092909190829003018186803b1580156105b057600080fd5b505afa1580156105c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e8919061244f565b600280546001600160a01b0319166001600160a01b03929092169190911790558035600490815560208201356005556040820135600655606082013560075581905b50505050565b600260009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561067e57600080fd5b505afa158015610692573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b6919061244f565b6001600160a01b0316336001600160a01b0316146106f857600254604051631194af8760e11b81526105029133916001600160a01b039091169060040161246c565b6001600160a01b038216600090815260096020526040808220805460ff19168415151790555160049160008051602061288783398151915291a25050565b600081815260086020908152604080832081518083019092525460ff81161515825261010090046001600160401b03169181018290529061078c5760405162f20c5d60e01b815260048101849052602401610502565b602001516001600160401b031692915050565b6000816040516020016107b491815260200190565b60408051808303601f190181529082905260015481516020830120638db5993b60e01b8452600b6004850152600060248501819052604485019190915291935090916001600160a01b0390911690638db5993b90606401602060405180830381600087803b15801561082557600080fd5b505af1158015610839573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085d9190612436565b905080156108a45760405162461bcd60e51b81526020600482015260146024820152731053149150511657d111531056515117d253925560621b6044820152606401610502565b807fff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b836040516108d491906124b2565b60405180910390a26000806108e96001611a8f565b915091506000806000806109038660016000806001611abb565b93509350935093508360001461094e5760405162461bcd60e51b815260206004820152601060248201526f1053149150511657d4d15457d253925560821b6044820152606401610502565b808385600080516020612867833981519152856000548a600260405161097794939291906124e5565b60405180910390a4505050505050505050565b600260009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109d857600080fd5b505afa1580156109ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a10919061244f565b6001600160a01b0316336001600160a01b031614610a5257600254604051631194af8760e11b81526105029133916001600160a01b039091169060040161246c565b6001600160a01b038216600090815260036020526040808220805460ff19168415151790555160019160008051602061288783398151915291a25050565b8060005a9050333214610ab65760405163feb3d07160e01b815260040160405180910390fd5b3360009081526003602052604090205460ff16610ae657604051632dd9fc9760e01b815260040160405180910390fd5b600080610af4888888611ebb565b90925090506000808080610b0b868b8d8480611abb565b93509350935093508c8414610b3d5760405163ac7411c960e01b815260048101859052602481018e9052604401610502565b80838e600080516020612867833981519152856000548a6000604051610b6694939291906124e5565b60405180910390a4505050506001600160a01b038416159150610c769050573660006020610b9583601f61256f565b610b9f9190612587565b9050610200610baf60028361268d565b610bb99190612587565b610bc482600661269c565b610bce919061256f565b610bd8908461256f565b9250333214610be657600091505b836001600160a01b031663e3db8a49335a610c0190876126bb565b856040518463ffffffff1660e01b8152600401610c20939291906126d2565b602060405180830381600087803b158015610c3a57600080fd5b505af1158015610c4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7291906126f3565b5050505b50505050505050565b600260009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ccd57600080fd5b505afa158015610ce1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d05919061244f565b6001600160a01b0316336001600160a01b031614610d4757600254604051631194af8760e11b81526105029133916001600160a01b039091169060040161246c565b60008181526008602052604090205460ff16610d785760405162f20c5d60e01b815260048101829052602401610502565b600081815260086020526040808220805460ff191690555182917f5cb4218b272fd214168ac43e90fb4d05d6c36f0b17ffb4c2dd07c234d744eb2a91a260405160039060008051602061288783398151915290600090a250565b8260005a9050333214610df85760405163feb3d07160e01b815260040160405180910390fd5b3360009081526003602052604090205460ff16610e2857604051632dd9fc9760e01b815260040160405180910390fd5b600080610e368a8a8a611ebb565b90925090508a81838b8b8a8a6000808080610e5489888a8989611abb565b93509350935093508a8414158015610e6e57506000198b14155b15610e965760405163ac7411c960e01b815260048101859052602481018c9052604401610502565b808385600080516020612867833981519152856000548f6000604051610ebf94939291906124e5565b60405180910390a4505050506001600160a01b038b16159850610fd6975050505050505050573660006020610ef583601f61256f565b610eff9190612587565b9050610200610f0f60028361268d565b610f199190612587565b610f2482600661269c565b610f2e919061256f565b610f38908461256f565b9250333214610f4657600091505b836001600160a01b031663e3db8a49335a610f6190876126bb565b856040518463ffffffff1660e01b8152600401610f80939291906126d2565b602060405180830381600087803b158015610f9a57600080fd5b505af1158015610fae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd291906126f3565b5050505b505050505050505050565b467f0000000000000000000000000000000000000000000000000000000000000000141561102257604051635180dd8360e11b815260040160405180910390fd5b60408051608081018252600180825260208201819052918101829052606001819052600481905560058190556006819055600755565b600260009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110a657600080fd5b505afa1580156110ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110de919061244f565b6001600160a01b0316336001600160a01b03161461112057600254604051631194af8760e11b81526105029133916001600160a01b039091169060040161246c565b80516004556020810151600555604080820151600655606082015160075551600090600080516020612887833981519152908290a250565b600260009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156111a657600080fd5b505afa1580156111ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111de919061244f565b6001600160a01b0316336001600160a01b03161461122057600254604051631194af8760e11b81526105029133916001600160a01b039091169060040161246c565b60008282604051611232929190612710565b604051908190038120607f60f91b6020830152602182015260410160408051601f1981840301815291905280516020909101209050600160ff1b81186201000083106112b65760405162461bcd60e51b81526020600482015260136024820152726b657973657420697320746f6f206c6172676560681b6044820152606401610502565b60008181526008602052604090205460ff16156112e957604051637d17eeed60e11b815260048101829052602401610502565b437f0000000000000000000000000000000000000000000000000000000000000000156113855760646001600160a01b031663a3b1b31d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561134a57600080fd5b505afa15801561135e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113829190612436565b90505b604080518082018252600181526001600160401b0383811660208084019182526000878152600890915284902092518354915168ffffffffffffffffff1990921690151568ffffffffffffffff0019161761010091909216021790555182907fabca9b7986bc22ad0160eb0cb88ae75411eacfba4052af0b457a9335ef655722906114139088908890612720565b60405180910390a260405160029060008051602061288783398151915290600090a25050505050565b6001546040516316bf557960e01b8152600481018390526000916001600160a01b0316906316bf55799060240160206040518083038186803b15801561148157600080fd5b505afa158015611495573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b99190612436565b92915050565b8260005a3360009081526003602052604090205490915060ff161580156114f157506002546001600160a01b03163314155b1561150f57604051632dd9fc9760e01b815260040160405180910390fd5b60008061151d8a8a8a611ebb565b909250905060008b82848b8a8a86808061153a8787838888611abb565b929c5090945092509050888a1480159061155657506000198914155b1561157e5760405163ac7411c960e01b8152600481018b9052602481018a9052604401610502565b80838b600080516020612867833981519152856000548d60016040516115a794939291906124e5565b60405180910390a4505050505050505050807ffe325ca1efe4c5c1062c981c3ee74b781debe4ea9440306a96d2a55759c66c208c8c6040516115ea929190612720565b60405180910390a25050506001600160a01b03821615610fd6573660006020610ef583601f61256f565b600054861161163657604051633eb9f37d60e11b815260040160405180910390fd5b60006116e6868461164a6020890189612765565b61165a60408a0160208b01612765565b61166560018d6126bb565b6040805160f89690961b6001600160f81b03191660208088019190915260609590951b6001600160601b031916602187015260c093841b6001600160c01b031990811660358801529290931b909116603d85015260458401526065830188905260858084018790528151808503909101815260a59093019052815191012090565b60045490915043906116fb6020880188612765565b6001600160401b031661170e919061256f565b1061172c5760405163ad3515d960e01b815260040160405180910390fd5b60065442906117416040880160208901612765565b6001600160401b0316611754919061256f565b106117725760405163c76d17e560e01b815260040160405180910390fd5b6000600188111561180a576001546001600160a01b031663d5719dc261179960028b6126bb565b6040518263ffffffff1660e01b81526004016117b791815260200190565b60206040518083038186803b1580156117cf57600080fd5b505afa1580156117e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118079190612436565b90505b60408051602080820184905281830185905282518083038401815260609092019092528051910120600180546001600160a01b03169063d5719dc290611850908c6126bb565b6040518263ffffffff1660e01b815260040161186e91815260200190565b60206040518083038186803b15801561188657600080fd5b505afa15801561189a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118be9190612436565b146118dc576040516313947fd760e01b815260040160405180910390fd5b6000806118e88a611a8f565b9150915060008a90506000600160009054906101000a90046001600160a01b03166001600160a01b0316635fca4a166040518163ffffffff1660e01b815260040160206040518083038186803b15801561194157600080fd5b505afa158015611955573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119799190612436565b9050600080548d8361198b919061256f565b61199591906126bb565b90506000806000806119ab898860008989611abb565b9350935093509350808385600080516020612867833981519152856000548d60026040516119dc94939291906124e5565b60405180910390a45050505050505050505050505050505050565b60408051600481526024810182526020810180516001600160e01b03166302881c7960e11b179052905160009182918291606491611a35919061278e565b600060405180830381855afa9150503d8060008114611a70576040519150601f19603f3d011682016040523d82523d6000602084013e611a75565b606091505b5091509150818015611a88575080516020145b9250505090565b6000611a996120e0565b600080611aa58561202e565b8151602090920191909120969095509350505050565b600080600080600054881015611ae457604051633eb9f37d60e11b815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663eca067ad6040518163ffffffff1660e01b815260040160206040518083038186803b158015611b3257600080fd5b505afa158015611b46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b6a9190612436565b881115611b8a5760405163925f8bd360e01b815260040160405180910390fd5b60015460405163432cc52b60e11b8152600481018b9052602481018a905260448101889052606481018790526001600160a01b03909116906386598a5690608401608060405180830381600087803b158015611be557600080fd5b505af1158015611bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1d91906127aa565b60008c9055929650909450925090508615611eaf573360607f000000000000000000000000000000000000000000000000000000000000000015611d8a576000606c6001600160a01b031663c6f7de0e6040518163ffffffff1660e01b815260040160206040518083038186803b158015611c9757600080fd5b505afa158015611cab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ccf9190612436565b90506000611cdd4883612587565b90506001600160401b03811115611d2a5760405162461bcd60e51b8152602060048201526011602482015270130c57d1d054d7d393d517d55253950d8d607a1b6044820152606401610502565b60408051426020820152606086901b6001600160601b03191681830152605481018f9052607481018a905248609482015260c09290921b6001600160c01b03191660b48301528051609c81840301815260bc90920190529150611dd39050565b604080514260208201526001600160601b0319606085901b1691810191909152605481018c90526074810187905248609482015260b40160405160208183030381529060405290505b60015481516020830120604051637a88b10760e01b81526000926001600160a01b031691637a88b10791611e1f9187916004016001600160a01b03929092168252602082015260400190565b602060405180830381600087803b158015611e3957600080fd5b505af1158015611e4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e719190612436565b9050807fff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b83604051611ea391906124b2565b60405180910390a25050505b95509550955095915050565b6000611ec56120e0565b84846000611ed482602861256f565b90506201cccc811115611f0657604051634634691b60e01b8152600481018290526201cccc6024820152604401610502565b8115801590611f3e5750600160fe1b808484600081611f2757611f2761274f565b9050013560f81c60f81b166001600160f81b031916145b15611f5c57604051631f97007f60e01b815260040160405180910390fd5b60218210801590611f8a575082826000818110611f7b57611f7b61274f565b90910135600160ff1b16151590505b15611fde576000611f9f6021600185876127e0565b611fa89161280a565b60008181526008602052604090205490915060ff16611fdc5760405162f20c5d60e01b815260048101829052602401610502565b505b600080611fea8861202e565b915091506000828b8b60405160200161200593929190612828565b60408051808303601f1901815291905280516020909101209b919a509098505050505050505050565b60606120386120e0565b60006120426120d5565b905060008160000151826020015183604001518460600151886040516020016120aa95949392919060c095861b6001600160c01b0319908116825294861b8516600882015292851b8416601084015290841b8316601883015290921b16602082015260280190565b604051602081830303815290604052905060288151146120cc576120cc612850565b94909350915050565b6120dd6120e0565b90565b60408051608081018252600080825260208201819052918101829052606081019190915290565b60006020828403121561211957600080fd5b5035919050565b6001600160a01b038116811461213557600080fd5b50565b60008082840360a081121561214c57600080fd5b833561215781612120565b92506080601f198201121561216b57600080fd5b506020830190509250929050565b801515811461213557600080fd5b6000806040838503121561219a57600080fd5b82356121a581612120565b915060208301356121b581612179565b809150509250929050565b6000602082840312156121d257600080fd5b81356121dd81612120565b9392505050565b60008083601f8401126121f657600080fd5b5081356001600160401b0381111561220d57600080fd5b60208301915083602082850101111561222557600080fd5b9250929050565b60008060008060006080868803121561224457600080fd5b8535945060208601356001600160401b0381111561226157600080fd5b61226d888289016121e4565b90955093505060408601359150606086013561228881612120565b809150509295509295909350565b600080600080600080600060c0888a0312156122b157600080fd5b8735965060208801356001600160401b038111156122ce57600080fd5b6122da8a828b016121e4565b9097509550506040880135935060608801356122f581612120565b969995985093969295946080840135945060a09093013592915050565b60006080828403121561232457600080fd5b604051608081018181106001600160401b038211171561235457634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b6000806020838503121561239857600080fd5b82356001600160401b038111156123ae57600080fd5b6123ba858286016121e4565b90969095509350505050565b60008060008060008060e087890312156123df57600080fd5b86359550602087013560ff811681146123f757600080fd5b9450608087018881111561240a57600080fd5b60408801945035925060a087013561242181612120565b8092505060c087013590509295509295509295565b60006020828403121561244857600080fd5b5051919050565b60006020828403121561246157600080fd5b81516121dd81612120565b6001600160a01b0392831681529116602082015260400190565b60005b838110156124a1578181015183820152602001612489565b8381111561062a5750506000910152565b60208152600082518060208401526124d1816040850160208701612486565b601f01601f19169190910160400192915050565b600060e0820190508582528460208301526001600160401b038085511660408401528060208601511660608401528060408601511660808401528060608601511660a0840152506003831061254a57634e487b7160e01b600052602160045260246000fd5b8260c083015295945050505050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561258257612582612559565b500190565b6000826125a457634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156125e45781600019048211156125ca576125ca612559565b808516156125d757918102915b93841c93908002906125ae565b509250929050565b6000826125fb575060016114b9565b81612608575060006114b9565b816001811461261e576002811461262857612644565b60019150506114b9565b60ff84111561263957612639612559565b50506001821b6114b9565b5060208310610133831016604e8410600b8410161715612667575081810a6114b9565b61267183836125a9565b806000190482111561268557612685612559565b029392505050565b60006121dd60ff8416836125ec565b60008160001904831182151516156126b6576126b6612559565b500290565b6000828210156126cd576126cd612559565b500390565b6001600160a01b039390931683526020830191909152604082015260600190565b60006020828403121561270557600080fd5b81516121dd81612179565b8183823760009101908152919050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561277757600080fd5b81356001600160401b03811681146121dd57600080fd5b600082516127a0818460208701612486565b9190910192915050565b600080600080608085870312156127c057600080fd5b505082516020840151604085015160609095015191969095509092509050565b600080858511156127f057600080fd5b838611156127fd57600080fd5b5050820193919092039150565b803560208310156114b957600019602084900360031b1b1692915050565b6000845161283a818460208901612486565b8201838582376000930192835250909392505050565b634e487b7160e01b600052600160045260246000fdfe7394f4a19a13c7b92b5bb71033245305946ef78452f7b4986ac1390b5df4ebd7ea8787f128d10b2cc0317b0c3960f9ad447f7f6c1ed189db1083ccffd20f456ea26469706673582212209ed54eb5c1bd3c1711d81a4a61025dfa8ccf5ac7a422be9c163d51cd078a1e3c64736f6c63430008090033",
868
+ "linkReferences": {},
869
+ "deployedLinkReferences": {}
870
+ }