@arbitrum/nitro-contracts 1.2.0 → 2.0.0-beta.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (291) hide show
  1. package/build/contracts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +1 -1
  2. package/build/contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.dbg.json +1 -1
  3. package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +1 -1
  4. package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.json +2 -2
  5. package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.dbg.json +1 -1
  6. package/build/contracts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.dbg.json +1 -1
  7. package/build/contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.dbg.json +1 -1
  8. package/build/contracts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +1 -1
  9. package/build/contracts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.json +2 -2
  10. package/build/contracts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.dbg.json +1 -1
  11. package/build/contracts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.json +2 -2
  12. package/build/contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.dbg.json +1 -1
  13. package/build/contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +2 -2
  14. package/build/contracts/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol/UUPSUpgradeable.dbg.json +1 -1
  15. package/build/contracts/@openzeppelin/contracts/security/ReentrancyGuard.sol/ReentrancyGuard.dbg.json +1 -1
  16. package/build/contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +1 -1
  17. package/build/contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +2 -2
  18. package/build/contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +1 -1
  19. package/build/contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +1 -1
  20. package/build/contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit.dbg.json +4 -0
  21. package/build/contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit.json +86 -0
  22. package/build/contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol/SafeERC20.dbg.json +1 -1
  23. package/build/contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol/SafeERC20.json +2 -2
  24. package/build/contracts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json +1 -1
  25. package/build/contracts/@openzeppelin/contracts/utils/Address.sol/Address.json +2 -2
  26. package/build/contracts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +1 -1
  27. package/build/contracts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.dbg.json +1 -1
  28. package/build/contracts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.json +2 -2
  29. package/build/contracts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json +4 -0
  30. package/build/contracts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +10 -0
  31. package/build/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol/AccessControlUpgradeable.dbg.json +1 -1
  32. package/build/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol/AccessControlUpgradeable.json +13 -0
  33. package/build/contracts/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol/IAccessControlUpgradeable.dbg.json +1 -1
  34. package/build/contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +1 -1
  35. package/build/contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.json +13 -0
  36. package/build/contracts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +1 -1
  37. package/build/contracts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.json +15 -1
  38. package/build/contracts/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol/PausableUpgradeable.dbg.json +1 -1
  39. package/build/contracts/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol/PausableUpgradeable.json +13 -0
  40. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.dbg.json +1 -1
  41. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +1 -1
  42. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.json +2 -2
  43. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +1 -1
  44. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.json +15 -1
  45. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol/StorageSlotUpgradeable.dbg.json +1 -1
  46. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol/StorageSlotUpgradeable.json +2 -2
  47. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol/StringsUpgradeable.dbg.json +1 -1
  48. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol/StringsUpgradeable.json +2 -2
  49. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol/ERC165Upgradeable.dbg.json +1 -1
  50. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol/ERC165Upgradeable.json +13 -0
  51. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol/IERC165Upgradeable.dbg.json +1 -1
  52. package/build/contracts/src/bridge/AbsBridge.sol/AbsBridge.dbg.json +1 -1
  53. package/build/contracts/src/bridge/AbsBridge.sol/AbsBridge.json +13 -0
  54. package/build/contracts/src/bridge/AbsInbox.sol/AbsInbox.dbg.json +1 -1
  55. package/build/contracts/src/bridge/AbsInbox.sol/AbsInbox.json +13 -0
  56. package/build/contracts/src/bridge/AbsOutbox.sol/AbsOutbox.dbg.json +1 -1
  57. package/build/contracts/src/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  58. package/build/contracts/src/bridge/Bridge.sol/Bridge.json +15 -2
  59. package/build/contracts/src/bridge/ERC20Bridge.sol/ERC20Bridge.dbg.json +1 -1
  60. package/build/contracts/src/bridge/ERC20Bridge.sol/ERC20Bridge.json +15 -2
  61. package/build/contracts/src/bridge/ERC20Inbox.sol/ERC20Inbox.dbg.json +1 -1
  62. package/build/contracts/src/bridge/ERC20Inbox.sol/ERC20Inbox.json +15 -2
  63. package/build/contracts/src/bridge/ERC20Outbox.sol/ERC20Outbox.dbg.json +1 -1
  64. package/build/contracts/src/bridge/ERC20Outbox.sol/ERC20Outbox.json +2 -2
  65. package/build/contracts/src/bridge/GasRefunder.sol/GasRefunder.dbg.json +1 -1
  66. package/build/contracts/src/bridge/GasRefunder.sol/GasRefunder.json +2 -2
  67. package/build/contracts/src/bridge/IBridge.sol/IBridge.dbg.json +1 -1
  68. package/build/contracts/src/bridge/IDelayedMessageProvider.sol/IDelayedMessageProvider.dbg.json +1 -1
  69. package/build/contracts/src/bridge/IERC20Bridge.sol/IERC20Bridge.dbg.json +1 -1
  70. package/build/contracts/src/bridge/IERC20Inbox.sol/IERC20Inbox.dbg.json +1 -1
  71. package/build/contracts/src/bridge/IEthBridge.sol/IEthBridge.dbg.json +1 -1
  72. package/build/contracts/src/bridge/IInbox.sol/IInbox.dbg.json +1 -1
  73. package/build/contracts/src/bridge/IInboxBase.sol/IInboxBase.dbg.json +1 -1
  74. package/build/contracts/src/bridge/IOutbox.sol/IOutbox.dbg.json +1 -1
  75. package/build/contracts/src/bridge/IOwnable.sol/IOwnable.dbg.json +1 -1
  76. package/build/contracts/src/bridge/ISequencerInbox.sol/ISequencerInbox.dbg.json +1 -1
  77. package/build/contracts/src/bridge/ISequencerInbox.sol/ISequencerInbox.json +16 -16
  78. package/build/contracts/src/bridge/Inbox.sol/Inbox.dbg.json +1 -1
  79. package/build/contracts/src/bridge/Inbox.sol/Inbox.json +15 -2
  80. package/build/contracts/src/bridge/Messages.sol/Messages.dbg.json +1 -1
  81. package/build/contracts/src/bridge/Outbox.sol/Outbox.dbg.json +1 -1
  82. package/build/contracts/src/bridge/Outbox.sol/Outbox.json +2 -2
  83. package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.dbg.json +1 -1
  84. package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.json +23 -18
  85. package/build/contracts/src/chain/CacheManager.sol/CacheManager.dbg.json +4 -0
  86. package/build/contracts/src/chain/CacheManager.sol/CacheManager.json +490 -0
  87. package/build/contracts/src/challenge/ChallengeLib.sol/ChallengeLib.dbg.json +1 -1
  88. package/build/contracts/src/challenge/ChallengeLib.sol/ChallengeLib.json +2 -2
  89. package/build/contracts/src/challenge/ChallengeManager.sol/ChallengeManager.dbg.json +1 -1
  90. package/build/contracts/src/challenge/ChallengeManager.sol/ChallengeManager.json +50 -2
  91. package/build/contracts/src/challenge/IChallengeManager.sol/IChallengeManager.dbg.json +1 -1
  92. package/build/contracts/src/challenge/IChallengeManager.sol/IChallengeManager.json +55 -0
  93. package/build/contracts/src/challenge/IChallengeResultReceiver.sol/IChallengeResultReceiver.dbg.json +1 -1
  94. package/build/contracts/src/libraries/AddressAliasHelper.sol/AddressAliasHelper.dbg.json +1 -1
  95. package/build/contracts/src/libraries/AdminFallbackProxy.sol/AdminFallbackProxy.dbg.json +1 -1
  96. package/build/contracts/src/libraries/AdminFallbackProxy.sol/AdminFallbackProxy.json +2 -2
  97. package/build/contracts/src/libraries/AdminFallbackProxy.sol/DoubleLogicERC1967Upgrade.dbg.json +1 -1
  98. package/build/contracts/src/libraries/ArbitrumChecker.sol/ArbitrumChecker.dbg.json +1 -1
  99. package/build/contracts/src/libraries/CryptographyPrimitives.sol/CryptographyPrimitives.dbg.json +1 -1
  100. package/build/contracts/src/libraries/DelegateCallAware.sol/DelegateCallAware.dbg.json +1 -1
  101. package/build/contracts/src/libraries/DoubleLogicUUPSUpgradeable.sol/DoubleLogicUUPSUpgradeable.dbg.json +1 -1
  102. package/build/contracts/src/libraries/GasRefundEnabled.sol/GasRefundEnabled.dbg.json +1 -1
  103. package/build/contracts/src/libraries/IGasRefunder.sol/IGasRefunder.dbg.json +1 -1
  104. package/build/contracts/src/libraries/IReader4844.sol/IReader4844.dbg.json +1 -1
  105. package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.dbg.json +1 -1
  106. package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.json +2 -2
  107. package/build/contracts/src/libraries/UUPSNotUpgradeable.sol/UUPSNotUpgradeable.dbg.json +1 -1
  108. package/build/contracts/src/mocks/Benchmarks.sol/Benchmarks.dbg.json +4 -0
  109. package/build/contracts/src/mocks/Benchmarks.sol/Benchmarks.json +46 -0
  110. package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.dbg.json +1 -1
  111. package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.json +2 -2
  112. package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.dbg.json +1 -1
  113. package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.json +15 -2
  114. package/build/contracts/src/mocks/InboxStub.sol/InboxStub.dbg.json +1 -1
  115. package/build/contracts/src/mocks/InboxStub.sol/InboxStub.json +2 -2
  116. package/build/contracts/src/mocks/MockResultReceiver.sol/MockResultReceiver.dbg.json +1 -1
  117. package/build/contracts/src/mocks/MockResultReceiver.sol/MockResultReceiver.json +2 -2
  118. package/build/contracts/src/mocks/MultiCallTest.sol/MultiCallTest.dbg.json +4 -0
  119. package/build/contracts/src/mocks/MultiCallTest.sol/MultiCallTest.json +71 -0
  120. package/build/contracts/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol/PendingBlkTimeAndNrAdvanceCheck.dbg.json +4 -0
  121. package/build/contracts/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol/PendingBlkTimeAndNrAdvanceCheck.json +36 -0
  122. package/build/contracts/src/mocks/Program.sol/ProgramTest.dbg.json +4 -0
  123. package/build/contracts/src/mocks/Program.sol/ProgramTest.json +142 -0
  124. package/build/contracts/src/mocks/ProxyAdminForBinding.sol/ProxyAdminForBinding.dbg.json +1 -1
  125. package/build/contracts/src/mocks/ProxyAdminForBinding.sol/ProxyAdminForBinding.json +2 -2
  126. package/build/contracts/src/mocks/SdkStorage.sol/SdkStorage.dbg.json +4 -0
  127. package/build/contracts/src/mocks/SdkStorage.sol/SdkStorage.json +25 -0
  128. package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.dbg.json +1 -1
  129. package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.json +31 -26
  130. package/build/contracts/src/mocks/Simple.sol/Simple.dbg.json +1 -1
  131. package/build/contracts/src/mocks/Simple.sol/Simple.json +2 -2
  132. package/build/contracts/src/mocks/SimpleCacheManager.sol/SimpleCacheManager.dbg.json +4 -0
  133. package/build/contracts/src/mocks/SimpleCacheManager.sol/SimpleCacheManager.json +37 -0
  134. package/build/contracts/src/mocks/SimpleProxy.sol/SimpleProxy.dbg.json +1 -1
  135. package/build/contracts/src/mocks/SimpleProxy.sol/SimpleProxy.json +2 -2
  136. package/build/contracts/src/mocks/SingleExecutionChallenge.sol/SingleExecutionChallenge.dbg.json +1 -1
  137. package/build/contracts/src/mocks/SingleExecutionChallenge.sol/SingleExecutionChallenge.json +50 -2
  138. package/build/contracts/src/mocks/TimedOutChallengeManager.sol/TimedOutChallengeManager.dbg.json +1 -1
  139. package/build/contracts/src/mocks/TimedOutChallengeManager.sol/TimedOutChallengeManager.json +50 -2
  140. package/build/contracts/src/mocks/UpgradeExecutorMock.sol/UpgradeExecutorMock.dbg.json +1 -1
  141. package/build/contracts/src/mocks/UpgradeExecutorMock.sol/UpgradeExecutorMock.json +15 -2
  142. package/build/contracts/src/node-interface/NodeInterface.sol/NodeInterface.dbg.json +1 -1
  143. package/build/contracts/src/node-interface/NodeInterfaceDebug.sol/NodeInterfaceDebug.dbg.json +1 -1
  144. package/build/contracts/src/osp/HashProofHelper.sol/HashProofHelper.dbg.json +1 -1
  145. package/build/contracts/src/osp/IOneStepProofEntry.sol/IOneStepProofEntry.dbg.json +1 -1
  146. package/build/contracts/src/osp/IOneStepProofEntry.sol/IOneStepProofEntry.json +48 -0
  147. package/build/contracts/src/osp/IOneStepProofEntry.sol/OneStepProofEntryLib.dbg.json +1 -1
  148. package/build/contracts/src/osp/IOneStepProofEntry.sol/OneStepProofEntryLib.json +2 -2
  149. package/build/contracts/src/osp/IOneStepProver.sol/IOneStepProver.dbg.json +1 -1
  150. package/build/contracts/src/osp/IOneStepProver.sol/IOneStepProver.json +88 -0
  151. package/build/contracts/src/osp/OneStepProofEntry.sol/OneStepProofEntry.dbg.json +1 -1
  152. package/build/contracts/src/osp/OneStepProofEntry.sol/OneStepProofEntry.json +50 -2
  153. package/build/contracts/src/osp/OneStepProver0.sol/OneStepProver0.dbg.json +1 -1
  154. package/build/contracts/src/osp/OneStepProver0.sol/OneStepProver0.json +90 -2
  155. package/build/contracts/src/osp/OneStepProverHostIo.sol/OneStepProverHostIo.dbg.json +1 -1
  156. package/build/contracts/src/osp/OneStepProverHostIo.sol/OneStepProverHostIo.json +90 -2
  157. package/build/contracts/src/osp/OneStepProverMath.sol/OneStepProverMath.dbg.json +1 -1
  158. package/build/contracts/src/osp/OneStepProverMath.sol/OneStepProverMath.json +90 -2
  159. package/build/contracts/src/osp/OneStepProverMemory.sol/OneStepProverMemory.dbg.json +1 -1
  160. package/build/contracts/src/osp/OneStepProverMemory.sol/OneStepProverMemory.json +90 -2
  161. package/build/contracts/src/precompiles/ArbAddressTable.sol/ArbAddressTable.dbg.json +1 -1
  162. package/build/contracts/src/precompiles/ArbAggregator.sol/ArbAggregator.dbg.json +1 -1
  163. package/build/contracts/src/precompiles/ArbBLS.sol/ArbBLS.dbg.json +1 -1
  164. package/build/contracts/src/precompiles/ArbDebug.sol/ArbDebug.dbg.json +1 -1
  165. package/build/contracts/src/precompiles/ArbDebug.sol/ArbDebug.json +7 -0
  166. package/build/contracts/src/precompiles/ArbFunctionTable.sol/ArbFunctionTable.dbg.json +1 -1
  167. package/build/contracts/src/precompiles/ArbGasInfo.sol/ArbGasInfo.dbg.json +1 -1
  168. package/build/contracts/src/precompiles/ArbInfo.sol/ArbInfo.dbg.json +1 -1
  169. package/build/contracts/src/precompiles/ArbOwner.sol/ArbOwner.dbg.json +1 -1
  170. package/build/contracts/src/precompiles/ArbOwner.sol/ArbOwner.json +161 -0
  171. package/build/contracts/src/precompiles/ArbOwnerPublic.sol/ArbOwnerPublic.dbg.json +1 -1
  172. package/build/contracts/src/precompiles/ArbRetryableTx.sol/ArbRetryableTx.dbg.json +1 -1
  173. package/build/contracts/src/precompiles/ArbStatistics.sol/ArbStatistics.dbg.json +1 -1
  174. package/build/contracts/src/precompiles/ArbSys.sol/ArbSys.dbg.json +1 -1
  175. package/build/contracts/src/precompiles/ArbWasm.sol/ArbWasm.dbg.json +4 -0
  176. package/build/contracts/src/precompiles/ArbWasm.sol/ArbWasm.json +453 -0
  177. package/build/contracts/src/precompiles/ArbWasmCache.sol/ArbWasmCache.dbg.json +4 -0
  178. package/build/contracts/src/precompiles/ArbWasmCache.sol/ArbWasmCache.json +113 -0
  179. package/build/contracts/src/precompiles/ArbosActs.sol/ArbosActs.dbg.json +1 -1
  180. package/build/contracts/src/precompiles/ArbosTest.sol/ArbosTest.dbg.json +1 -1
  181. package/build/contracts/src/rollup/AbsRollupEventInbox.sol/AbsRollupEventInbox.dbg.json +1 -1
  182. package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.dbg.json +1 -1
  183. package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.json +10 -10
  184. package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.dbg.json +1 -1
  185. package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.json +2 -2
  186. package/build/contracts/src/rollup/ERC20RollupEventInbox.sol/ERC20RollupEventInbox.dbg.json +1 -1
  187. package/build/contracts/src/rollup/ERC20RollupEventInbox.sol/ERC20RollupEventInbox.json +2 -2
  188. package/build/contracts/src/rollup/IRollupAdmin.sol/IRollupAdmin.dbg.json +1 -1
  189. package/build/contracts/src/rollup/IRollupAdmin.sol/IRollupAdmin.json +8 -8
  190. package/build/contracts/src/rollup/IRollupCore.sol/IRollupCore.dbg.json +1 -1
  191. package/build/contracts/src/rollup/IRollupEventInbox.sol/IRollupEventInbox.dbg.json +1 -1
  192. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUser.dbg.json +1 -1
  193. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserAbs.dbg.json +1 -1
  194. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserERC20.dbg.json +1 -1
  195. package/build/contracts/src/rollup/Node.sol/NodeLib.dbg.json +1 -1
  196. package/build/contracts/src/rollup/Node.sol/NodeLib.json +2 -2
  197. package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.dbg.json +1 -1
  198. package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.json +23 -10
  199. package/build/contracts/src/rollup/RollupCore.sol/RollupCore.dbg.json +1 -1
  200. package/build/contracts/src/rollup/RollupCore.sol/RollupCore.json +13 -0
  201. package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.dbg.json +1 -1
  202. package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.json +10 -10
  203. package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.dbg.json +1 -1
  204. package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.json +2 -2
  205. package/build/contracts/src/rollup/RollupLib.sol/RollupLib.dbg.json +1 -1
  206. package/build/contracts/src/rollup/RollupLib.sol/RollupLib.json +2 -2
  207. package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.dbg.json +1 -1
  208. package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.json +10 -10
  209. package/build/contracts/src/rollup/RollupUserLogic.sol/AbsRollupUserLogic.dbg.json +1 -1
  210. package/build/contracts/src/rollup/RollupUserLogic.sol/AbsRollupUserLogic.json +13 -0
  211. package/build/contracts/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic.dbg.json +1 -1
  212. package/build/contracts/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic.json +15 -2
  213. package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.dbg.json +1 -1
  214. package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.json +15 -2
  215. package/build/contracts/src/rollup/ValidatorUtils.sol/ValidatorUtils.dbg.json +1 -1
  216. package/build/contracts/src/rollup/ValidatorUtils.sol/ValidatorUtils.json +2 -2
  217. package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.dbg.json +1 -1
  218. package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.json +15 -2
  219. package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.dbg.json +1 -1
  220. package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.json +2 -2
  221. package/build/contracts/src/state/Deserialize.sol/Deserialize.dbg.json +1 -1
  222. package/build/contracts/src/state/Deserialize.sol/Deserialize.json +2 -2
  223. package/build/contracts/src/state/GlobalState.sol/GlobalStateLib.dbg.json +1 -1
  224. package/build/contracts/src/state/Instructions.sol/Instructions.dbg.json +1 -1
  225. package/build/contracts/src/state/Instructions.sol/Instructions.json +2 -2
  226. package/build/contracts/src/state/Machine.sol/MachineLib.dbg.json +1 -1
  227. package/build/contracts/src/state/Machine.sol/MachineLib.json +2 -2
  228. package/build/contracts/src/state/MerkleProof.sol/MerkleProofLib.dbg.json +1 -1
  229. package/build/contracts/src/state/MerkleProof.sol/MerkleProofLib.json +2 -2
  230. package/build/contracts/src/state/Module.sol/ModuleLib.dbg.json +1 -1
  231. package/build/contracts/src/state/Module.sol/ModuleLib.json +2 -2
  232. package/build/contracts/src/state/ModuleMemory.sol/ModuleMemoryLib.dbg.json +1 -1
  233. package/build/contracts/src/state/ModuleMemory.sol/ModuleMemoryLib.json +2 -2
  234. package/build/contracts/src/state/ModuleMemoryCompact.sol/ModuleMemoryCompactLib.dbg.json +1 -1
  235. package/build/contracts/src/state/MultiStack.sol/MultiStackLib.dbg.json +4 -0
  236. package/build/contracts/src/state/MultiStack.sol/MultiStackLib.json +10 -0
  237. package/build/contracts/src/state/PcArray.sol/PcArrayLib.dbg.json +1 -1
  238. package/build/contracts/src/state/StackFrame.sol/StackFrameLib.dbg.json +1 -1
  239. package/build/contracts/src/state/StackFrame.sol/StackFrameLib.json +2 -2
  240. package/build/contracts/src/state/Value.sol/ValueLib.dbg.json +1 -1
  241. package/build/contracts/src/state/Value.sol/ValueLib.json +2 -2
  242. package/build/contracts/src/state/ValueArray.sol/ValueArrayLib.dbg.json +1 -1
  243. package/build/contracts/src/state/ValueArray.sol/ValueArrayLib.json +2 -2
  244. package/build/contracts/src/state/ValueStack.sol/ValueStackLib.dbg.json +1 -1
  245. package/build/contracts/src/state/ValueStack.sol/ValueStackLib.json +2 -2
  246. package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.dbg.json +1 -1
  247. package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.json +15 -2
  248. package/build/contracts/src/test-helpers/CryptographyPrimitivesTester.sol/CryptographyPrimitivesTester.dbg.json +1 -1
  249. package/build/contracts/src/test-helpers/EthVault.sol/EthVault.dbg.json +1 -1
  250. package/build/contracts/src/test-helpers/MessageTester.sol/MessageTester.dbg.json +1 -1
  251. package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.dbg.json +1 -1
  252. package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.json +2 -2
  253. package/build/contracts/src/test-helpers/RollupMock.sol/RollupMock.dbg.json +1 -1
  254. package/build/contracts/src/test-helpers/TestToken.sol/TestToken.dbg.json +1 -1
  255. package/build/contracts/src/test-helpers/TestToken.sol/TestToken.json +2 -2
  256. package/build/contracts/src/test-helpers/ValueArrayTester.sol/ValueArrayTester.dbg.json +1 -1
  257. package/build/contracts/src/test-helpers/ValueArrayTester.sol/ValueArrayTester.json +2 -2
  258. package/package.json +14 -7
  259. package/src/bridge/ISequencerInbox.sol +4 -4
  260. package/src/bridge/SequencerInbox.sol +38 -30
  261. package/src/chain/CacheManager.sol +283 -0
  262. package/src/challenge/ChallengeLib.sol +0 -45
  263. package/src/challenge/ChallengeManager.sol +24 -9
  264. package/src/challenge/IChallengeManager.sol +13 -0
  265. package/src/libraries/Error.sol +3 -9
  266. package/src/mocks/Benchmarks.sol +52 -0
  267. package/src/mocks/MultiCallTest.sol +117 -0
  268. package/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol +29 -0
  269. package/src/mocks/Program.sol +126 -0
  270. package/src/mocks/SdkStorage.sol +176 -0
  271. package/src/mocks/SequencerInboxStub.sol +4 -4
  272. package/src/mocks/SimpleCacheManager.sol +22 -0
  273. package/src/osp/IOneStepProofEntry.sol +10 -0
  274. package/src/osp/OneStepProofEntry.sol +81 -7
  275. package/src/osp/OneStepProver0.sol +64 -20
  276. package/src/osp/OneStepProverHostIo.sol +201 -2
  277. package/src/osp/OneStepProverMemory.sol +4 -33
  278. package/src/precompiles/ArbDebug.sol +2 -0
  279. package/src/precompiles/ArbOwner.sol +51 -9
  280. package/src/precompiles/ArbWasm.sol +119 -0
  281. package/src/precompiles/ArbWasmCache.sol +33 -0
  282. package/src/state/Deserialize.sol +88 -47
  283. package/src/state/Instructions.sol +38 -3
  284. package/src/state/Machine.sol +92 -15
  285. package/src/state/MerkleProof.sol +22 -4
  286. package/src/state/Module.sol +3 -1
  287. package/src/state/ModuleMemory.sol +54 -0
  288. package/src/state/MultiStack.sol +58 -0
  289. package/src/state/StackFrame.sol +6 -1
  290. package/src/state/Value.sol +13 -1
  291. package/src/state/ValueStack.sol +6 -1
@@ -0,0 +1,490 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "CacheManager",
4
+ "sourceName": "src/chain/CacheManager.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "uint64",
10
+ "name": "initCacheSize",
11
+ "type": "uint64"
12
+ },
13
+ {
14
+ "internalType": "uint64",
15
+ "name": "initDecay",
16
+ "type": "uint64"
17
+ }
18
+ ],
19
+ "stateMutability": "nonpayable",
20
+ "type": "constructor"
21
+ },
22
+ {
23
+ "inputs": [
24
+ {
25
+ "internalType": "bytes32",
26
+ "name": "codehash",
27
+ "type": "bytes32"
28
+ }
29
+ ],
30
+ "name": "AlreadyCached",
31
+ "type": "error"
32
+ },
33
+ {
34
+ "inputs": [
35
+ {
36
+ "internalType": "uint256",
37
+ "name": "asm",
38
+ "type": "uint256"
39
+ },
40
+ {
41
+ "internalType": "uint256",
42
+ "name": "queueSize",
43
+ "type": "uint256"
44
+ },
45
+ {
46
+ "internalType": "uint256",
47
+ "name": "cacheSize",
48
+ "type": "uint256"
49
+ }
50
+ ],
51
+ "name": "AsmTooLarge",
52
+ "type": "error"
53
+ },
54
+ {
55
+ "inputs": [
56
+ {
57
+ "internalType": "uint256",
58
+ "name": "bid",
59
+ "type": "uint256"
60
+ }
61
+ ],
62
+ "name": "BidTooLarge",
63
+ "type": "error"
64
+ },
65
+ {
66
+ "inputs": [
67
+ {
68
+ "internalType": "uint192",
69
+ "name": "bid",
70
+ "type": "uint192"
71
+ },
72
+ {
73
+ "internalType": "uint192",
74
+ "name": "min",
75
+ "type": "uint192"
76
+ }
77
+ ],
78
+ "name": "BidTooSmall",
79
+ "type": "error"
80
+ },
81
+ {
82
+ "inputs": [],
83
+ "name": "BidsArePaused",
84
+ "type": "error"
85
+ },
86
+ {
87
+ "inputs": [
88
+ {
89
+ "internalType": "uint64",
90
+ "name": "size",
91
+ "type": "uint64"
92
+ },
93
+ {
94
+ "internalType": "uint64",
95
+ "name": "limit",
96
+ "type": "uint64"
97
+ }
98
+ ],
99
+ "name": "MakeSpaceTooLarge",
100
+ "type": "error"
101
+ },
102
+ {
103
+ "inputs": [
104
+ {
105
+ "internalType": "address",
106
+ "name": "sender",
107
+ "type": "address"
108
+ }
109
+ ],
110
+ "name": "NotChainOwner",
111
+ "type": "error"
112
+ },
113
+ {
114
+ "anonymous": false,
115
+ "inputs": [
116
+ {
117
+ "indexed": true,
118
+ "internalType": "bytes32",
119
+ "name": "codehash",
120
+ "type": "bytes32"
121
+ },
122
+ {
123
+ "indexed": false,
124
+ "internalType": "uint192",
125
+ "name": "bid",
126
+ "type": "uint192"
127
+ },
128
+ {
129
+ "indexed": false,
130
+ "internalType": "uint64",
131
+ "name": "size",
132
+ "type": "uint64"
133
+ }
134
+ ],
135
+ "name": "DeleteBid",
136
+ "type": "event"
137
+ },
138
+ {
139
+ "anonymous": false,
140
+ "inputs": [
141
+ {
142
+ "indexed": true,
143
+ "internalType": "bytes32",
144
+ "name": "codehash",
145
+ "type": "bytes32"
146
+ },
147
+ {
148
+ "indexed": false,
149
+ "internalType": "uint192",
150
+ "name": "bid",
151
+ "type": "uint192"
152
+ },
153
+ {
154
+ "indexed": false,
155
+ "internalType": "uint64",
156
+ "name": "size",
157
+ "type": "uint64"
158
+ }
159
+ ],
160
+ "name": "InsertBid",
161
+ "type": "event"
162
+ },
163
+ {
164
+ "anonymous": false,
165
+ "inputs": [],
166
+ "name": "Pause",
167
+ "type": "event"
168
+ },
169
+ {
170
+ "anonymous": false,
171
+ "inputs": [
172
+ {
173
+ "indexed": false,
174
+ "internalType": "uint64",
175
+ "name": "size",
176
+ "type": "uint64"
177
+ }
178
+ ],
179
+ "name": "SetCacheSize",
180
+ "type": "event"
181
+ },
182
+ {
183
+ "anonymous": false,
184
+ "inputs": [
185
+ {
186
+ "indexed": false,
187
+ "internalType": "uint64",
188
+ "name": "decay",
189
+ "type": "uint64"
190
+ }
191
+ ],
192
+ "name": "SetDecayRate",
193
+ "type": "event"
194
+ },
195
+ {
196
+ "anonymous": false,
197
+ "inputs": [],
198
+ "name": "Unpause",
199
+ "type": "event"
200
+ },
201
+ {
202
+ "inputs": [],
203
+ "name": "cacheSize",
204
+ "outputs": [
205
+ {
206
+ "internalType": "uint64",
207
+ "name": "",
208
+ "type": "uint64"
209
+ }
210
+ ],
211
+ "stateMutability": "view",
212
+ "type": "function"
213
+ },
214
+ {
215
+ "inputs": [],
216
+ "name": "decay",
217
+ "outputs": [
218
+ {
219
+ "internalType": "uint64",
220
+ "name": "",
221
+ "type": "uint64"
222
+ }
223
+ ],
224
+ "stateMutability": "view",
225
+ "type": "function"
226
+ },
227
+ {
228
+ "inputs": [
229
+ {
230
+ "internalType": "uint256",
231
+ "name": "",
232
+ "type": "uint256"
233
+ }
234
+ ],
235
+ "name": "entries",
236
+ "outputs": [
237
+ {
238
+ "internalType": "bytes32",
239
+ "name": "code",
240
+ "type": "bytes32"
241
+ },
242
+ {
243
+ "internalType": "uint64",
244
+ "name": "size",
245
+ "type": "uint64"
246
+ },
247
+ {
248
+ "internalType": "uint192",
249
+ "name": "bid",
250
+ "type": "uint192"
251
+ }
252
+ ],
253
+ "stateMutability": "view",
254
+ "type": "function"
255
+ },
256
+ {
257
+ "inputs": [],
258
+ "name": "evictAll",
259
+ "outputs": [],
260
+ "stateMutability": "nonpayable",
261
+ "type": "function"
262
+ },
263
+ {
264
+ "inputs": [
265
+ {
266
+ "internalType": "uint256",
267
+ "name": "count",
268
+ "type": "uint256"
269
+ }
270
+ ],
271
+ "name": "evictPrograms",
272
+ "outputs": [],
273
+ "stateMutability": "nonpayable",
274
+ "type": "function"
275
+ },
276
+ {
277
+ "inputs": [],
278
+ "name": "getEntries",
279
+ "outputs": [
280
+ {
281
+ "components": [
282
+ {
283
+ "internalType": "bytes32",
284
+ "name": "code",
285
+ "type": "bytes32"
286
+ },
287
+ {
288
+ "internalType": "uint64",
289
+ "name": "size",
290
+ "type": "uint64"
291
+ },
292
+ {
293
+ "internalType": "uint192",
294
+ "name": "bid",
295
+ "type": "uint192"
296
+ }
297
+ ],
298
+ "internalType": "struct CacheManager.Entry[]",
299
+ "name": "",
300
+ "type": "tuple[]"
301
+ }
302
+ ],
303
+ "stateMutability": "view",
304
+ "type": "function"
305
+ },
306
+ {
307
+ "inputs": [
308
+ {
309
+ "internalType": "bytes32",
310
+ "name": "codehash",
311
+ "type": "bytes32"
312
+ }
313
+ ],
314
+ "name": "getMinBid",
315
+ "outputs": [
316
+ {
317
+ "internalType": "uint192",
318
+ "name": "min",
319
+ "type": "uint192"
320
+ }
321
+ ],
322
+ "stateMutability": "view",
323
+ "type": "function"
324
+ },
325
+ {
326
+ "inputs": [
327
+ {
328
+ "internalType": "uint64",
329
+ "name": "size",
330
+ "type": "uint64"
331
+ }
332
+ ],
333
+ "name": "getMinBid",
334
+ "outputs": [
335
+ {
336
+ "internalType": "uint192",
337
+ "name": "min",
338
+ "type": "uint192"
339
+ }
340
+ ],
341
+ "stateMutability": "view",
342
+ "type": "function"
343
+ },
344
+ {
345
+ "inputs": [
346
+ {
347
+ "internalType": "uint256",
348
+ "name": "k",
349
+ "type": "uint256"
350
+ }
351
+ ],
352
+ "name": "getSmallestEntries",
353
+ "outputs": [
354
+ {
355
+ "components": [
356
+ {
357
+ "internalType": "bytes32",
358
+ "name": "code",
359
+ "type": "bytes32"
360
+ },
361
+ {
362
+ "internalType": "uint64",
363
+ "name": "size",
364
+ "type": "uint64"
365
+ },
366
+ {
367
+ "internalType": "uint192",
368
+ "name": "bid",
369
+ "type": "uint192"
370
+ }
371
+ ],
372
+ "internalType": "struct CacheManager.Entry[]",
373
+ "name": "result",
374
+ "type": "tuple[]"
375
+ }
376
+ ],
377
+ "stateMutability": "view",
378
+ "type": "function"
379
+ },
380
+ {
381
+ "inputs": [],
382
+ "name": "isPaused",
383
+ "outputs": [
384
+ {
385
+ "internalType": "bool",
386
+ "name": "",
387
+ "type": "bool"
388
+ }
389
+ ],
390
+ "stateMutability": "view",
391
+ "type": "function"
392
+ },
393
+ {
394
+ "inputs": [
395
+ {
396
+ "internalType": "uint64",
397
+ "name": "size",
398
+ "type": "uint64"
399
+ }
400
+ ],
401
+ "name": "makeSpace",
402
+ "outputs": [
403
+ {
404
+ "internalType": "uint64",
405
+ "name": "space",
406
+ "type": "uint64"
407
+ }
408
+ ],
409
+ "stateMutability": "payable",
410
+ "type": "function"
411
+ },
412
+ {
413
+ "inputs": [],
414
+ "name": "paused",
415
+ "outputs": [],
416
+ "stateMutability": "nonpayable",
417
+ "type": "function"
418
+ },
419
+ {
420
+ "inputs": [
421
+ {
422
+ "internalType": "bytes32",
423
+ "name": "codehash",
424
+ "type": "bytes32"
425
+ }
426
+ ],
427
+ "name": "placeBid",
428
+ "outputs": [],
429
+ "stateMutability": "payable",
430
+ "type": "function"
431
+ },
432
+ {
433
+ "inputs": [],
434
+ "name": "queueSize",
435
+ "outputs": [
436
+ {
437
+ "internalType": "uint64",
438
+ "name": "",
439
+ "type": "uint64"
440
+ }
441
+ ],
442
+ "stateMutability": "view",
443
+ "type": "function"
444
+ },
445
+ {
446
+ "inputs": [
447
+ {
448
+ "internalType": "uint64",
449
+ "name": "newSize",
450
+ "type": "uint64"
451
+ }
452
+ ],
453
+ "name": "setCacheSize",
454
+ "outputs": [],
455
+ "stateMutability": "nonpayable",
456
+ "type": "function"
457
+ },
458
+ {
459
+ "inputs": [
460
+ {
461
+ "internalType": "uint64",
462
+ "name": "newDecay",
463
+ "type": "uint64"
464
+ }
465
+ ],
466
+ "name": "setDecayRate",
467
+ "outputs": [],
468
+ "stateMutability": "nonpayable",
469
+ "type": "function"
470
+ },
471
+ {
472
+ "inputs": [],
473
+ "name": "sweepFunds",
474
+ "outputs": [],
475
+ "stateMutability": "nonpayable",
476
+ "type": "function"
477
+ },
478
+ {
479
+ "inputs": [],
480
+ "name": "unpause",
481
+ "outputs": [],
482
+ "stateMutability": "nonpayable",
483
+ "type": "function"
484
+ }
485
+ ],
486
+ "bytecode": "0x60806040523480156200001157600080fd5b5060405162001c2438038062001c2483398101604081905262000034916200009e565b600280546001600160401b03928316600160801b027fffffffffffffffff0000000000000000ffffffffffffffff00000000000000009091169290931691909117919091179055620000d6565b80516001600160401b03811681146200009957600080fd5b919050565b60008060408385031215620000b257600080fd5b620000bd8362000081565b9150620000cd6020840162000081565b90509250929050565b611b3e80620000e66000396000f3fe6080604052600436106100e95760003560e01c8063b187bd2611610085578063b187bd2614610201578063b30906d414610232578063bae6c2ad1461027e578063c1c013c4146102a5578063c565a208146102b8578063c77ed13e146102f0578063cadb43e214610310578063d29b303e14610330578063e9c1bc0f1461035057600080fd5b806317be85c3146100ee5780632dd4f566146101195780633f4ba83a1461013b578063497ecfc51461015057806354fac919146101635780635c32e943146101a25780635c975abb146101b7578063674a64e0146101cc578063a8d6fe04146101ec575b600080fd5b3480156100fa57600080fd5b50610103610370565b6040516101109190611874565b60405180910390f35b34801561012557600080fd5b506101396101343660046118df565b6103fd565b005b34801561014757600080fd5b506101396104ef565b61013961015e366004611908565b6105ba565b34801561016f57600080fd5b5060025461018a90600160801b90046001600160401b031681565b6040516001600160401b039091168152602001610110565b3480156101ae57600080fd5b5061013961063e565b3480156101c357600080fd5b506101396106ea565b3480156101d857600080fd5b5060025461018a906001600160401b031681565b3480156101f857600080fd5b506101396107bb565b34801561020d57600080fd5b5060025461022290600160c01b900460ff1681565b6040519015158152602001610110565b34801561023e57600080fd5b5061025261024d366004611908565b610895565b604080519384526001600160401b0390921660208401526001600160c01b031690820152606001610110565b34801561028a57600080fd5b5060025461018a90600160401b90046001600160401b031681565b61018a6102b33660046118df565b6108de565b3480156102c457600080fd5b506102d86102d3366004611908565b61097d565b6040516001600160c01b039091168152602001610110565b3480156102fc57600080fd5b5061013961030b3660046118df565b61098b565b34801561031c57600080fd5b5061013961032b366004611908565b610a79565b34801561033c57600080fd5b506102d861034b3660046118df565b610b5f565b34801561035c57600080fd5b5061010361036b366004611908565b610d44565b60606001805480602002602001604051908101604052809291908181526020016000905b828210156103f45760008481526020908190206040805160608101825260028602909201805483526001908101546001600160401b03811684860152600160401b90046001600160c01b0316918301919091529083529092019101610394565b50505050905090565b6040516304ddefed60e31b8152606b906326ef7f6890610421903390600401611921565b60206040518083038186803b15801561043957600080fd5b505afa15801561044d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104719190611935565b6104995733604051639531eff160e01b81526004016104909190611921565b60405180910390fd5b6002805467ffffffffffffffff19166001600160401b0383169081179091556040519081527fca22875e098f3b9c06ff3950c0cded621c968253a16623e890165451094c1839906020015b60405180910390a150565b6040516304ddefed60e31b8152606b906326ef7f6890610513903390600401611921565b60206040518083038186803b15801561052b57600080fd5b505afa15801561053f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105639190611935565b6105825733604051639531eff160e01b81526004016104909190611921565b6002805460ff60c01b191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b600254600160c01b900460ff16156105e5576040516323d5725b60e21b815260040160405180910390fd5b6105ee81610eac565b1561060f5760405163c7e2d8e560e01b815260048101829052602401610490565b600061061a82610f1f565b905060008061062883610fbd565b915091506106388285858461107f565b50505050565b6040516304ddefed60e31b8152606b906326ef7f6890610662903390600401611921565b60206040518083038186803b15801561067a57600080fd5b505afa15801561068e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b29190611935565b6106d15733604051639531eff160e01b81526004016104909190611921565b6106dc600019610a79565b6106e860016000611839565b565b6040516304ddefed60e31b8152606b906326ef7f689061070e903390600401611921565b60206040518083038186803b15801561072657600080fd5b505afa15801561073a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075e9190611935565b61077d5733604051639531eff160e01b81526004016104909190611921565b6002805460ff60c01b1916600160c01b1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600080606b6001600160a01b0316632d9125e96040518163ffffffff1660e01b815260040160206040518083038186803b1580156107f857600080fd5b505afa15801561080c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108309190611957565b6001600160a01b03164760405160006040518083038185875af1925050503d806000811461087a576040519150601f19603f3d011682016040523d82523d6000602084013e61087f565b606091505b50915091508161089157805160208201fd5b5050565b600181815481106108a557600080fd5b6000918252602090912060029091020180546001909101549091506001600160401b03811690600160401b90046001600160c01b031683565b600254600090600160c01b900460ff161561090c576040516323d5725b60e21b815260040160405180910390fd5b625000006001600160401b038316111561094d5760405163e6b801f360e01b81526001600160401b0383166004820152625000006024820152604401610490565b61095682610fbd565b5050600254610977906001600160401b03600160401b820481169116611996565b92915050565b600061097761034b83610f1f565b6040516304ddefed60e31b8152606b906326ef7f68906109af903390600401611921565b60206040518083038186803b1580156109c757600080fd5b505afa1580156109db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ff9190611935565b610a1e5733604051639531eff160e01b81526004016104909190611921565b6002805467ffffffffffffffff60801b1916600160801b6001600160401b038416908102919091179091556040519081527fd5ad38a519f54c97117f5a79fa7e82b03f32d2719f3ce4a27d4b561217cfea0c906020016104e4565b6040516304ddefed60e31b8152606b906326ef7f6890610a9d903390600401611921565b60206040518083038186803b158015610ab557600080fd5b505afa158015610ac9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aed9190611935565b610b0c5733604051639531eff160e01b81526004016104909190611921565b60005415801590610b1d5750600081115b15610b5c57600080610b3a610b32600061131d565b604081901c91565b91509150610b48828261132d565b610b536001846119be565b92505050610b0c565b50565b6002546000906001600160401b039081169083161115610bb05760025460405163bcc27c3760e01b81526001600160401b038085166004830152600060248301529091166044820152606401610490565b6110006001600160401b0383161015610bcb57611000610bcd565b815b600254909250600090610bf1908490600160401b90046001600160401b03166119d5565b6002546001600160401b039182169250168111610c115750600092915050565b600254600090610c2a906001600160401b0316836119be565b905060006110006001610c3d8285611a00565b610c4791906119be565b610c519190611a18565b90506000610c5e82610d44565b905060005b8151811015610d0457818181518110610c7e57610c7e611a3a565b6020026020010151602001516001600160401b03168411610cbe57818181518110610cab57610cab611a3a565b6020026020010151604001519550610d04565b818181518110610cd057610cd0611a3a565b6020026020010151602001516001600160401b031684610cf091906119be565b935080610cfc81611a50565b915050610c63565b506000610d0f6114b2565b905080866001600160c01b03161015610d2f575060009695505050505050565b610d398187611a6b565b979650505050505050565b606081610d5060005490565b1015610d5c5760005491505b6000610d6881846114d7565b905080516001600160401b03811115610d8357610d83611a8b565b604051908082528060200260200182016040528015610dce57816020015b6040805160608101825260008082526020808301829052928201528252600019909201910181610da15790505b50915060005b8151811015610ea5576000610e04838381518110610df457610df4611a3a565b6020026020010151604081901c91565b9150506001816001600160401b031681548110610e2357610e23611a3a565b60009182526020918290206040805160608101825260029390930290910180548352600101546001600160401b03811693830193909352600160401b9092046001600160c01b0316918101919091528451859084908110610e8657610e86611a3a565b6020026020010181905250508080610e9d90611a50565b915050610dd4565b5050919050565b60405163a72f179b60e01b81526004810182905260009060729063a72f179b9060240160206040518083038186803b158015610ee757600080fd5b505afa158015610efb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109779190611935565b604051634089267f60e01b8152600481018290526000908190607190634089267f9060240160206040518083038186803b158015610f5c57600080fd5b505afa158015610f70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f949190611aa1565b905061100063ffffffff82161015610fae57611000610fb6565b8063ffffffff165b9392505050565b600080610fc934611681565b60015460025491935091506000906001600160401b03165b6002546001600160401b0380831691611003918891600160401b9004166119d5565b6001600160401b031611156110325761101f610b32600061131d565b9350915061102d828461132d565b610fe1565b816001600160c01b0316846001600160c01b0316101561107857604051631be6e1c960e31b81526001600160c01b03808616600483015283166024820152604401610490565b5050915091565b6002546001600160401b03808216916110a1918591600160401b9004166119d5565b6001600160401b031611156110ee5760025460405163bcc27c3760e01b81526001600160401b038085166004830152600160401b8304811660248301529091166044820152606401610490565b604080516060810182528481526001600160401b03841660208201526001600160c01b038616818301529051634ceac81760e01b815260048101859052607290634ceac81790602401600060405180830381600087803b15801561115157600080fd5b505af1158015611165573d6000803e3d6000fd5b506111909250505067ffffffffffffffff19604087901b166001600160401b038416176000906116c3565b82600260088282829054906101000a90046001600160401b03166111b491906119d5565b92506101000a8154816001600160401b0302191690836001600160401b03160217905550600180549050826001600160401b0316141561127a57600180548082018255600091909152815160029091027fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6810191909155602082015160408301516001600160c01b0316600160401b026001600160401b03909116177fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf7909101556112dc565b806001836001600160401b03168154811061129757611297611a3a565b60009182526020918290208351600290920201908155908201516040909201516001600160c01b0316600160401b026001600160401b03909216919091176001909101555b837fb5660cfc6c0afd838b3dc96244fa4b22b2e68203736b0ef80acef9e70cab3049868560405161130e929190611ac7565b60405180910390a25050505050565b6000610fb68260008060026116cd565b60006001826001600160401b03168154811061134b5761134b611a3a565b60009182526020918290206040805160608101825260029390930290910180548084526001909101546001600160401b03811694840194909452600160401b9093046001600160c01b0316828201525163ce97201360e01b81526004810192909252915060729063ce97201390602401600060405180830381600087803b1580156113d557600080fd5b505af11580156113e9573d6000803e3d6000fd5b505050508060200151600260088282829054906101000a90046001600160401b03166114159190611996565b92506101000a8154816001600160401b0302191690836001600160401b0316021790555080600001517f65905594d332f592fa6d4b86efc250c300a286b9d4f07f2ae89c3147dc4f39e7848360200151604051611473929190611ac7565b60405180910390a26001826001600160401b03168154811061149757611497611a3a565b60009182526020822060029091020181815560010155505050565b6002546000906114d290600160801b90046001600160401b031642611ae9565b905090565b606061159c565b6001820360011c6114f5818360069190911b015190565b851083026115035750611524565b600681811b830180516020918201519286901b8501908152015291506114de565b600682901b8101848152602001839052610638565b600060015b83811015611588576001810184118101600690811b84015182821b8501511190910180821b840180516020918201519385901b860190815201919091529050600181811b0161153e565b50611595858583856114de565b5050505050565b5060408051600084815260208082208654815487821882891002821860051b86018085019182529096019390935292939084019190808314155b80156116685781518452836020019350818414156115f357611668565b602082015160019060011b018381106116375760018203915061163161161f838560069190911b015190565b600684901b8501602001518486611539565b506115d6565b61164681870154828486611539565b6001018381146116315761165f818701548284866114de565b506001016115d6565b505050601f198382030160051c83526040525092915050565b60008061168c6114b2565b6116969084611a00565b90506001600160c01b0381111561097757604051631edd0da560e31b815260048101829052602401610490565b6106388282600060035b6000808554866000526020600020600080198661172557876116ee576117a7565b87841461170757505060018281018955935081816117b5565b825489811061171657506117b5565b600396509450600190506117b5565b600287116117685783611737576117a7565b600287141561175c57600184039350838a558383015498508894508361175c576117b5565b508154935060016117b5565b600387141561178057505060018201885581816117b5565b8894508361178d576117b5565b825489811061179c57506117b5565b9450600190506117b5565b63a6ca772e6000526004601cfd5b5b838110156117ef57808301546001820180850154808310878310116117db5750829050815b938501939093555050600181811b016117b6565b811561181d576001820360011c935083830154808a1061180f575061181d565b8083850155508391506117ef565b600181011561182c5788828401555b5050505094509492505050565b5080546000825560020290600052602060002090810190610b5c91905b808211156118705760008082556001820155600201611856565b5090565b602080825282518282018190526000919060409081850190868401855b828110156118d257815180518552868101516001600160401b0316878601528501516001600160c01b03168585015260609093019290850190600101611891565b5091979650505050505050565b6000602082840312156118f157600080fd5b81356001600160401b0381168114610fb657600080fd5b60006020828403121561191a57600080fd5b5035919050565b6001600160a01b0391909116815260200190565b60006020828403121561194757600080fd5b81518015158114610fb657600080fd5b60006020828403121561196957600080fd5b81516001600160a01b0381168114610fb657600080fd5b634e487b7160e01b600052601160045260246000fd5b60006001600160401b03838116908316818110156119b6576119b6611980565b039392505050565b6000828210156119d0576119d0611980565b500390565b60006001600160401b038083168185168083038211156119f7576119f7611980565b01949350505050565b60008219821115611a1357611a13611980565b500190565b600082611a3557634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611a6457611a64611980565b5060010190565b60006001600160c01b03838116908316818110156119b6576119b6611980565b634e487b7160e01b600052604160045260246000fd5b600060208284031215611ab357600080fd5b815163ffffffff81168114610fb657600080fd5b6001600160c01b039290921682526001600160401b0316602082015260400190565b6000816000190483118215151615611b0357611b03611980565b50029056fea26469706673582212209f99e8a1a45710e448944e1c94c179d0be6981afdb94ac2e15fd896d5480748764736f6c63430008090033",
487
+ "deployedBytecode": "0x6080604052600436106100e95760003560e01c8063b187bd2611610085578063b187bd2614610201578063b30906d414610232578063bae6c2ad1461027e578063c1c013c4146102a5578063c565a208146102b8578063c77ed13e146102f0578063cadb43e214610310578063d29b303e14610330578063e9c1bc0f1461035057600080fd5b806317be85c3146100ee5780632dd4f566146101195780633f4ba83a1461013b578063497ecfc51461015057806354fac919146101635780635c32e943146101a25780635c975abb146101b7578063674a64e0146101cc578063a8d6fe04146101ec575b600080fd5b3480156100fa57600080fd5b50610103610370565b6040516101109190611874565b60405180910390f35b34801561012557600080fd5b506101396101343660046118df565b6103fd565b005b34801561014757600080fd5b506101396104ef565b61013961015e366004611908565b6105ba565b34801561016f57600080fd5b5060025461018a90600160801b90046001600160401b031681565b6040516001600160401b039091168152602001610110565b3480156101ae57600080fd5b5061013961063e565b3480156101c357600080fd5b506101396106ea565b3480156101d857600080fd5b5060025461018a906001600160401b031681565b3480156101f857600080fd5b506101396107bb565b34801561020d57600080fd5b5060025461022290600160c01b900460ff1681565b6040519015158152602001610110565b34801561023e57600080fd5b5061025261024d366004611908565b610895565b604080519384526001600160401b0390921660208401526001600160c01b031690820152606001610110565b34801561028a57600080fd5b5060025461018a90600160401b90046001600160401b031681565b61018a6102b33660046118df565b6108de565b3480156102c457600080fd5b506102d86102d3366004611908565b61097d565b6040516001600160c01b039091168152602001610110565b3480156102fc57600080fd5b5061013961030b3660046118df565b61098b565b34801561031c57600080fd5b5061013961032b366004611908565b610a79565b34801561033c57600080fd5b506102d861034b3660046118df565b610b5f565b34801561035c57600080fd5b5061010361036b366004611908565b610d44565b60606001805480602002602001604051908101604052809291908181526020016000905b828210156103f45760008481526020908190206040805160608101825260028602909201805483526001908101546001600160401b03811684860152600160401b90046001600160c01b0316918301919091529083529092019101610394565b50505050905090565b6040516304ddefed60e31b8152606b906326ef7f6890610421903390600401611921565b60206040518083038186803b15801561043957600080fd5b505afa15801561044d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104719190611935565b6104995733604051639531eff160e01b81526004016104909190611921565b60405180910390fd5b6002805467ffffffffffffffff19166001600160401b0383169081179091556040519081527fca22875e098f3b9c06ff3950c0cded621c968253a16623e890165451094c1839906020015b60405180910390a150565b6040516304ddefed60e31b8152606b906326ef7f6890610513903390600401611921565b60206040518083038186803b15801561052b57600080fd5b505afa15801561053f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105639190611935565b6105825733604051639531eff160e01b81526004016104909190611921565b6002805460ff60c01b191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b600254600160c01b900460ff16156105e5576040516323d5725b60e21b815260040160405180910390fd5b6105ee81610eac565b1561060f5760405163c7e2d8e560e01b815260048101829052602401610490565b600061061a82610f1f565b905060008061062883610fbd565b915091506106388285858461107f565b50505050565b6040516304ddefed60e31b8152606b906326ef7f6890610662903390600401611921565b60206040518083038186803b15801561067a57600080fd5b505afa15801561068e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b29190611935565b6106d15733604051639531eff160e01b81526004016104909190611921565b6106dc600019610a79565b6106e860016000611839565b565b6040516304ddefed60e31b8152606b906326ef7f689061070e903390600401611921565b60206040518083038186803b15801561072657600080fd5b505afa15801561073a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075e9190611935565b61077d5733604051639531eff160e01b81526004016104909190611921565b6002805460ff60c01b1916600160c01b1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600080606b6001600160a01b0316632d9125e96040518163ffffffff1660e01b815260040160206040518083038186803b1580156107f857600080fd5b505afa15801561080c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108309190611957565b6001600160a01b03164760405160006040518083038185875af1925050503d806000811461087a576040519150601f19603f3d011682016040523d82523d6000602084013e61087f565b606091505b50915091508161089157805160208201fd5b5050565b600181815481106108a557600080fd5b6000918252602090912060029091020180546001909101549091506001600160401b03811690600160401b90046001600160c01b031683565b600254600090600160c01b900460ff161561090c576040516323d5725b60e21b815260040160405180910390fd5b625000006001600160401b038316111561094d5760405163e6b801f360e01b81526001600160401b0383166004820152625000006024820152604401610490565b61095682610fbd565b5050600254610977906001600160401b03600160401b820481169116611996565b92915050565b600061097761034b83610f1f565b6040516304ddefed60e31b8152606b906326ef7f68906109af903390600401611921565b60206040518083038186803b1580156109c757600080fd5b505afa1580156109db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ff9190611935565b610a1e5733604051639531eff160e01b81526004016104909190611921565b6002805467ffffffffffffffff60801b1916600160801b6001600160401b038416908102919091179091556040519081527fd5ad38a519f54c97117f5a79fa7e82b03f32d2719f3ce4a27d4b561217cfea0c906020016104e4565b6040516304ddefed60e31b8152606b906326ef7f6890610a9d903390600401611921565b60206040518083038186803b158015610ab557600080fd5b505afa158015610ac9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aed9190611935565b610b0c5733604051639531eff160e01b81526004016104909190611921565b60005415801590610b1d5750600081115b15610b5c57600080610b3a610b32600061131d565b604081901c91565b91509150610b48828261132d565b610b536001846119be565b92505050610b0c565b50565b6002546000906001600160401b039081169083161115610bb05760025460405163bcc27c3760e01b81526001600160401b038085166004830152600060248301529091166044820152606401610490565b6110006001600160401b0383161015610bcb57611000610bcd565b815b600254909250600090610bf1908490600160401b90046001600160401b03166119d5565b6002546001600160401b039182169250168111610c115750600092915050565b600254600090610c2a906001600160401b0316836119be565b905060006110006001610c3d8285611a00565b610c4791906119be565b610c519190611a18565b90506000610c5e82610d44565b905060005b8151811015610d0457818181518110610c7e57610c7e611a3a565b6020026020010151602001516001600160401b03168411610cbe57818181518110610cab57610cab611a3a565b6020026020010151604001519550610d04565b818181518110610cd057610cd0611a3a565b6020026020010151602001516001600160401b031684610cf091906119be565b935080610cfc81611a50565b915050610c63565b506000610d0f6114b2565b905080866001600160c01b03161015610d2f575060009695505050505050565b610d398187611a6b565b979650505050505050565b606081610d5060005490565b1015610d5c5760005491505b6000610d6881846114d7565b905080516001600160401b03811115610d8357610d83611a8b565b604051908082528060200260200182016040528015610dce57816020015b6040805160608101825260008082526020808301829052928201528252600019909201910181610da15790505b50915060005b8151811015610ea5576000610e04838381518110610df457610df4611a3a565b6020026020010151604081901c91565b9150506001816001600160401b031681548110610e2357610e23611a3a565b60009182526020918290206040805160608101825260029390930290910180548352600101546001600160401b03811693830193909352600160401b9092046001600160c01b0316918101919091528451859084908110610e8657610e86611a3a565b6020026020010181905250508080610e9d90611a50565b915050610dd4565b5050919050565b60405163a72f179b60e01b81526004810182905260009060729063a72f179b9060240160206040518083038186803b158015610ee757600080fd5b505afa158015610efb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109779190611935565b604051634089267f60e01b8152600481018290526000908190607190634089267f9060240160206040518083038186803b158015610f5c57600080fd5b505afa158015610f70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f949190611aa1565b905061100063ffffffff82161015610fae57611000610fb6565b8063ffffffff165b9392505050565b600080610fc934611681565b60015460025491935091506000906001600160401b03165b6002546001600160401b0380831691611003918891600160401b9004166119d5565b6001600160401b031611156110325761101f610b32600061131d565b9350915061102d828461132d565b610fe1565b816001600160c01b0316846001600160c01b0316101561107857604051631be6e1c960e31b81526001600160c01b03808616600483015283166024820152604401610490565b5050915091565b6002546001600160401b03808216916110a1918591600160401b9004166119d5565b6001600160401b031611156110ee5760025460405163bcc27c3760e01b81526001600160401b038085166004830152600160401b8304811660248301529091166044820152606401610490565b604080516060810182528481526001600160401b03841660208201526001600160c01b038616818301529051634ceac81760e01b815260048101859052607290634ceac81790602401600060405180830381600087803b15801561115157600080fd5b505af1158015611165573d6000803e3d6000fd5b506111909250505067ffffffffffffffff19604087901b166001600160401b038416176000906116c3565b82600260088282829054906101000a90046001600160401b03166111b491906119d5565b92506101000a8154816001600160401b0302191690836001600160401b03160217905550600180549050826001600160401b0316141561127a57600180548082018255600091909152815160029091027fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6810191909155602082015160408301516001600160c01b0316600160401b026001600160401b03909116177fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf7909101556112dc565b806001836001600160401b03168154811061129757611297611a3a565b60009182526020918290208351600290920201908155908201516040909201516001600160c01b0316600160401b026001600160401b03909216919091176001909101555b837fb5660cfc6c0afd838b3dc96244fa4b22b2e68203736b0ef80acef9e70cab3049868560405161130e929190611ac7565b60405180910390a25050505050565b6000610fb68260008060026116cd565b60006001826001600160401b03168154811061134b5761134b611a3a565b60009182526020918290206040805160608101825260029390930290910180548084526001909101546001600160401b03811694840194909452600160401b9093046001600160c01b0316828201525163ce97201360e01b81526004810192909252915060729063ce97201390602401600060405180830381600087803b1580156113d557600080fd5b505af11580156113e9573d6000803e3d6000fd5b505050508060200151600260088282829054906101000a90046001600160401b03166114159190611996565b92506101000a8154816001600160401b0302191690836001600160401b0316021790555080600001517f65905594d332f592fa6d4b86efc250c300a286b9d4f07f2ae89c3147dc4f39e7848360200151604051611473929190611ac7565b60405180910390a26001826001600160401b03168154811061149757611497611a3a565b60009182526020822060029091020181815560010155505050565b6002546000906114d290600160801b90046001600160401b031642611ae9565b905090565b606061159c565b6001820360011c6114f5818360069190911b015190565b851083026115035750611524565b600681811b830180516020918201519286901b8501908152015291506114de565b600682901b8101848152602001839052610638565b600060015b83811015611588576001810184118101600690811b84015182821b8501511190910180821b840180516020918201519385901b860190815201919091529050600181811b0161153e565b50611595858583856114de565b5050505050565b5060408051600084815260208082208654815487821882891002821860051b86018085019182529096019390935292939084019190808314155b80156116685781518452836020019350818414156115f357611668565b602082015160019060011b018381106116375760018203915061163161161f838560069190911b015190565b600684901b8501602001518486611539565b506115d6565b61164681870154828486611539565b6001018381146116315761165f818701548284866114de565b506001016115d6565b505050601f198382030160051c83526040525092915050565b60008061168c6114b2565b6116969084611a00565b90506001600160c01b0381111561097757604051631edd0da560e31b815260048101829052602401610490565b6106388282600060035b6000808554866000526020600020600080198661172557876116ee576117a7565b87841461170757505060018281018955935081816117b5565b825489811061171657506117b5565b600396509450600190506117b5565b600287116117685783611737576117a7565b600287141561175c57600184039350838a558383015498508894508361175c576117b5565b508154935060016117b5565b600387141561178057505060018201885581816117b5565b8894508361178d576117b5565b825489811061179c57506117b5565b9450600190506117b5565b63a6ca772e6000526004601cfd5b5b838110156117ef57808301546001820180850154808310878310116117db5750829050815b938501939093555050600181811b016117b6565b811561181d576001820360011c935083830154808a1061180f575061181d565b8083850155508391506117ef565b600181011561182c5788828401555b5050505094509492505050565b5080546000825560020290600052602060002090810190610b5c91905b808211156118705760008082556001820155600201611856565b5090565b602080825282518282018190526000919060409081850190868401855b828110156118d257815180518552868101516001600160401b0316878601528501516001600160c01b03168585015260609093019290850190600101611891565b5091979650505050505050565b6000602082840312156118f157600080fd5b81356001600160401b0381168114610fb657600080fd5b60006020828403121561191a57600080fd5b5035919050565b6001600160a01b0391909116815260200190565b60006020828403121561194757600080fd5b81518015158114610fb657600080fd5b60006020828403121561196957600080fd5b81516001600160a01b0381168114610fb657600080fd5b634e487b7160e01b600052601160045260246000fd5b60006001600160401b03838116908316818110156119b6576119b6611980565b039392505050565b6000828210156119d0576119d0611980565b500390565b60006001600160401b038083168185168083038211156119f7576119f7611980565b01949350505050565b60008219821115611a1357611a13611980565b500190565b600082611a3557634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611a6457611a64611980565b5060010190565b60006001600160c01b03838116908316818110156119b6576119b6611980565b634e487b7160e01b600052604160045260246000fd5b600060208284031215611ab357600080fd5b815163ffffffff81168114610fb657600080fd5b6001600160c01b039290921682526001600160401b0316602082015260400190565b6000816000190483118215151615611b0357611b03611980565b50029056fea26469706673582212209f99e8a1a45710e448944e1c94c179d0be6981afdb94ac2e15fd896d5480748764736f6c63430008090033",
488
+ "linkReferences": {},
489
+ "deployedLinkReferences": {}
490
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/06c4d509e20993c3089a7fd027c7b28b.json"
3
+ "buildInfo": "../../../build-info/83d3fd0b633e3a3120fc5455f62bf6b6.json"
4
4
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "ChallengeLib",
4
4
  "sourceName": "src/challenge/ChallengeLib.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220be45a96ce6243b77a059183fe5e02a3439a1cffd58f2017cfb910ec79b578a3c64736f6c63430008090033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220be45a96ce6243b77a059183fe5e02a3439a1cffd58f2017cfb910ec79b578a3c64736f6c63430008090033",
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122061be17751f5e97fb60b2309e008b8d79e1acd48d559da96540694217eab782c864736f6c63430008090033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122061be17751f5e97fb60b2309e008b8d79e1acd48d559da96540694217eab782c864736f6c63430008090033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/06c4d509e20993c3089a7fd027c7b28b.json"
3
+ "buildInfo": "../../../build-info/83d3fd0b633e3a3120fc5455f62bf6b6.json"
4
4
  }