@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,142 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ProgramTest",
4
+ "sourceName": "src/mocks/Program.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": false,
11
+ "internalType": "bytes32",
12
+ "name": "result",
13
+ "type": "bytes32"
14
+ }
15
+ ],
16
+ "name": "Hash",
17
+ "type": "event"
18
+ },
19
+ {
20
+ "inputs": [
21
+ {
22
+ "internalType": "address",
23
+ "name": "program",
24
+ "type": "address"
25
+ },
26
+ {
27
+ "internalType": "bytes",
28
+ "name": "data",
29
+ "type": "bytes"
30
+ }
31
+ ],
32
+ "name": "callKeccak",
33
+ "outputs": [],
34
+ "stateMutability": "nonpayable",
35
+ "type": "function"
36
+ },
37
+ {
38
+ "inputs": [
39
+ {
40
+ "internalType": "address",
41
+ "name": "program",
42
+ "type": "address"
43
+ },
44
+ {
45
+ "internalType": "bytes",
46
+ "name": "data",
47
+ "type": "bytes"
48
+ },
49
+ {
50
+ "internalType": "bytes",
51
+ "name": "expected",
52
+ "type": "bytes"
53
+ }
54
+ ],
55
+ "name": "checkRevertData",
56
+ "outputs": [
57
+ {
58
+ "internalType": "bytes",
59
+ "name": "",
60
+ "type": "bytes"
61
+ }
62
+ ],
63
+ "stateMutability": "payable",
64
+ "type": "function"
65
+ },
66
+ {
67
+ "inputs": [
68
+ {
69
+ "internalType": "address",
70
+ "name": "program",
71
+ "type": "address"
72
+ }
73
+ ],
74
+ "name": "mathTest",
75
+ "outputs": [],
76
+ "stateMutability": "nonpayable",
77
+ "type": "function"
78
+ },
79
+ {
80
+ "inputs": [
81
+ {
82
+ "internalType": "address",
83
+ "name": "program",
84
+ "type": "address"
85
+ },
86
+ {
87
+ "internalType": "address",
88
+ "name": "fundedAccount",
89
+ "type": "address"
90
+ },
91
+ {
92
+ "internalType": "uint64",
93
+ "name": "gas",
94
+ "type": "uint64"
95
+ },
96
+ {
97
+ "internalType": "bytes",
98
+ "name": "data",
99
+ "type": "bytes"
100
+ }
101
+ ],
102
+ "name": "staticcallEvmData",
103
+ "outputs": [
104
+ {
105
+ "internalType": "bytes",
106
+ "name": "",
107
+ "type": "bytes"
108
+ }
109
+ ],
110
+ "stateMutability": "view",
111
+ "type": "function"
112
+ },
113
+ {
114
+ "inputs": [
115
+ {
116
+ "internalType": "address",
117
+ "name": "program",
118
+ "type": "address"
119
+ },
120
+ {
121
+ "internalType": "bytes",
122
+ "name": "data",
123
+ "type": "bytes"
124
+ }
125
+ ],
126
+ "name": "staticcallProgram",
127
+ "outputs": [
128
+ {
129
+ "internalType": "bytes",
130
+ "name": "",
131
+ "type": "bytes"
132
+ }
133
+ ],
134
+ "stateMutability": "view",
135
+ "type": "function"
136
+ }
137
+ ],
138
+ "bytecode": "0x608060405234801561001057600080fd5b50610fe6806100206000396000f3fe60806040526004361061004a5760003560e01c80631d00bae41461004f5780633fdd58e21461007157806396ec12e5146100a7578063aba8c4ba146100ba578063fd424462146100da575b600080fd5b34801561005b57600080fd5b5061006f61006a366004610ce7565b6100fa565b005b34801561007d57600080fd5b5061009161008c366004610ce7565b610200565b60405161009e9190610d86565b60405180910390f35b6100916100b5366004610da0565b61028a565b3480156100c657600080fd5b506100916100d5366004610e20565b610434565b3480156100e657600080fd5b5061006f6100f5366004610e82565b610a2c565b600080846001600160a01b03168484604051610117929190610e9d565b6000604051808303816000865af19150503d8060008114610154576040519150601f19603f3d011682016040523d82523d6000602084013e610159565b606091505b5091509150816101845760405162461bcd60e51b815260040161017b90610ead565b60405180910390fd5b600061018f82610ed2565b90507f224c8d9ad1bbf0f44a61d7bd8e7e9049b1a320e04b047da9910945675c31ba43816040516101c291815260200190565b60405180910390a16101d78460018188610ef9565b6040516101e5929190610e9d565b604051809103902081146101f857600080fd5b505050505050565b6060600080856001600160a01b0316858560405161021f929190610e9d565b600060405180830381855afa9150503d806000811461025a576040519150601f19603f3d011682016040523d82523d6000602084013e61025f565b606091505b5091509150816102815760405162461bcd60e51b815260040161017b90610ead565b95945050505050565b6060600080876001600160a01b03163488886040516102aa929190610e9d565b60006040518083038185875af1925050503d80600081146102e7576040519150601f19603f3d011682016040523d82523d6000602084013e6102ec565b606091505b509150915081156103345760405162461bcd60e51b8152602060048201526012602482015271756e6578706563746564207375636365737360701b604482015260640161017b565b8051841461037f5760405162461bcd60e51b81526020600482015260186024820152770eee4dedcce40e4caeccae4e840c8c2e8c240d8cadccee8d60431b604482015260640161017b565b60005b81518110156104285785858281811061039d5761039d610f23565b9050013560f81c60f81b6001600160f81b0319168282815181106103c3576103c3610f23565b01602001516001600160f81b031916146104165760405162461bcd60e51b81526020600482015260146024820152730e4caeccae4e840c8c2e8c240dad2e6dac2e8c6d60631b604482015260640161017b565b8061042081610f4f565b915050610382565b50979650505050505050565b6060600080876001600160a01b0316866001600160401b0316868660405161045d929190610e9d565b6000604051808303818686fa925050503d8060008114610499576040519150601f19603f3d011682016040523d82523d6000602084013e61049e565b606091505b5091509150816104c05760405162461bcd60e51b815260040161017b90610ead565b60408051808201909152600d81526c0313637b1b590373ab6b132b91609d1b60208201526069906001906104ff9084906104fa8443610f6a565b610b79565b9250610531836040518060400160405280600d81526020016c031b430b4b71034b2101010101609d1b81525046610b79565b9250610563836040518060400160405280600d81526020016c03130b9b2903332b2901010101609d1b81525048610b79565b9250610595836040518060400160405280600d81526020016c033b0b990383934b1b29010101609d1b8152503a610b79565b92506105c7836040518060400160405280600d81526020016c033b0b9903634b6b4ba1010101609d1b81525045610b79565b92506105fa836040518060400160405280600d81526020016c03b30b63ab2901010101010101609d1b8152506000610b79565b925061062c836040518060400160405280600d81526020016c03a34b6b2b9ba30b6b81010101609d1b81525042610b79565b9250610668836040518060400160405280600d81526020016c03130b630b731b290101010101609d1b8152508b6001600160a01b031631610b79565b92506106a3836040518060400160405280600d81526020016c0393ab9ba1030b2323932b9b99609d1b8152508c6001600160a01b0316610b79565b92506106de836040518060400160405280600d81526020016c039b2b73232b91010101010101609d1b815250306001600160a01b0316610b79565b9250610719836040518060400160405280600d81526020016c037b934b3b4b71010101010101609d1b815250326001600160a01b0316610b79565b9250610754836040518060400160405280600d81526020016c031b7b4b73130b9b2901010101609d1b815250416001600160a01b0316610b79565b9250610793836040518060400160405280600d81526020016c0e4eae6e840c6dec8cad0c2e6d609b1b8152508c6001600160a01b03163f60001c610b79565b92506107d2836040518060400160405280600d81526020016c030b9311031b7b232b430b9b41609d1b815250846001600160a01b03163f60001c610b79565b9250610811836040518060400160405280600d81526020016c032ba341031b7b232b430b9b41609d1b815250836001600160a01b03163f60001c610b79565b925060008a6001600160a01b03163b6001600160401b0381111561083757610837610f81565b6040519080825280601f01601f191660200182016040528015610861576020820181803683370190505b50905060005b8b6001600160a01b03163b8110156108d15784818151811061088b5761088b610f23565b602001015160f81c60f81b8282815181106108a8576108a8610f23565b60200101906001600160f81b031916908160001a905350806108c981610f4f565b915050610867565b508a6001600160a01b0316803b806020016040519081016040528181526000908060200190933c8051906020012081805190602001201461093d5760405162461bcd60e51b815260040161017b90602080825260049082015263636f646560e01b604082015260600190565b60008b6001600160a01b03163b85516109569190610f6a565b6001600160401b0381111561096d5761096d610f81565b6040519080825280601f01601f191660200182016040528015610997576020820181803683370190505b5090506001600160a01b038c163b5b8551811015610a1c578581815181106109c1576109c1610f23565b602001015160f81c60f81b828e6001600160a01b03163b836109e39190610f6a565b815181106109f3576109f3610f23565b60200101906001600160f81b031916908160001a90535080610a1481610f4f565b9150506109a6565b509b9a5050505050505050505050565b7feddecf107b5740cef7f5a01e3ea7e287665c4e75a8eb6afae2fda2e3d43677866401000003d0197fc6178c2de1078cd36c3bd302cde755340d7f17fcb3fcc0b9c333ba03b217029f820990507fc6178c2de1078cd36c3bd302cde755340d7f17fcb3fcc0b9c333ba03b217029f6401000003d0198208905067eddecf107b5740ce8167fffffffefffffc2f9190040a905067c6178c2de1078cd381069050600080836001600160a01b03166040516000604051808303816000865af19150503d8060008114610b18576040519150601f19603f3d011682016040523d82523d6000602084013e610b1d565b606091505b509150915081610b3f5760405162461bcd60e51b815260040161017b90610ead565b60408051602081018590520160405160208183030381529060405280519060200120818051906020012014610b7357600080fd5b50505050565b6060600084806020019051810190610b919190610f97565b905083838214610bb45760405162461bcd60e51b815260040161017b9190610d86565b50600060208651610bc59190610f6a565b6001600160401b03811115610bdc57610bdc610f81565b6040519080825280601f01601f191660200182016040528015610c06576020820181803683370190505b50905060205b8651811015610c7957868181518110610c2757610c27610f23565b602001015160f81c60f81b82602083610c409190610f6a565b81518110610c5057610c50610f23565b60200101906001600160f81b031916908160001a90535080610c7181610f4f565b915050610c0c565b5095945050505050565b80356001600160a01b0381168114610c9a57600080fd5b919050565b60008083601f840112610cb157600080fd5b5081356001600160401b03811115610cc857600080fd5b602083019150836020828501011115610ce057600080fd5b9250929050565b600080600060408486031215610cfc57600080fd5b610d0584610c83565b925060208401356001600160401b03811115610d2057600080fd5b610d2c86828701610c9f565b9497909650939450505050565b6000815180845260005b81811015610d5f57602081850181015186830182015201610d43565b81811115610d71576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610d996020830184610d39565b9392505050565b600080600080600060608688031215610db857600080fd5b610dc186610c83565b945060208601356001600160401b0380821115610ddd57600080fd5b610de989838a01610c9f565b90965094506040880135915080821115610e0257600080fd5b50610e0f88828901610c9f565b969995985093965092949392505050565b600080600080600060808688031215610e3857600080fd5b610e4186610c83565b9450610e4f60208701610c83565b935060408601356001600160401b038082168214610e6c57600080fd5b90935060608701359080821115610e0257600080fd5b600060208284031215610e9457600080fd5b610d9982610c83565b8183823760009101908152919050565b6020808252600b908201526a18d85b1b0819985a5b195960aa1b604082015260600190565b80516020808301519190811015610ef3576000198160200360031b1b821691505b50919050565b60008085851115610f0957600080fd5b83861115610f1657600080fd5b5050820193919092039150565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415610f6357610f63610f39565b5060010190565b600082821015610f7c57610f7c610f39565b500390565b634e487b7160e01b600052604160045260246000fd5b600060208284031215610fa957600080fd5b505191905056fea2646970667358221220c1bf9e3bece513d0d218fa3d45bf80bfd6e1954c4dd92f87aa411211fe9b253764736f6c63430008090033",
139
+ "deployedBytecode": "0x60806040526004361061004a5760003560e01c80631d00bae41461004f5780633fdd58e21461007157806396ec12e5146100a7578063aba8c4ba146100ba578063fd424462146100da575b600080fd5b34801561005b57600080fd5b5061006f61006a366004610ce7565b6100fa565b005b34801561007d57600080fd5b5061009161008c366004610ce7565b610200565b60405161009e9190610d86565b60405180910390f35b6100916100b5366004610da0565b61028a565b3480156100c657600080fd5b506100916100d5366004610e20565b610434565b3480156100e657600080fd5b5061006f6100f5366004610e82565b610a2c565b600080846001600160a01b03168484604051610117929190610e9d565b6000604051808303816000865af19150503d8060008114610154576040519150601f19603f3d011682016040523d82523d6000602084013e610159565b606091505b5091509150816101845760405162461bcd60e51b815260040161017b90610ead565b60405180910390fd5b600061018f82610ed2565b90507f224c8d9ad1bbf0f44a61d7bd8e7e9049b1a320e04b047da9910945675c31ba43816040516101c291815260200190565b60405180910390a16101d78460018188610ef9565b6040516101e5929190610e9d565b604051809103902081146101f857600080fd5b505050505050565b6060600080856001600160a01b0316858560405161021f929190610e9d565b600060405180830381855afa9150503d806000811461025a576040519150601f19603f3d011682016040523d82523d6000602084013e61025f565b606091505b5091509150816102815760405162461bcd60e51b815260040161017b90610ead565b95945050505050565b6060600080876001600160a01b03163488886040516102aa929190610e9d565b60006040518083038185875af1925050503d80600081146102e7576040519150601f19603f3d011682016040523d82523d6000602084013e6102ec565b606091505b509150915081156103345760405162461bcd60e51b8152602060048201526012602482015271756e6578706563746564207375636365737360701b604482015260640161017b565b8051841461037f5760405162461bcd60e51b81526020600482015260186024820152770eee4dedcce40e4caeccae4e840c8c2e8c240d8cadccee8d60431b604482015260640161017b565b60005b81518110156104285785858281811061039d5761039d610f23565b9050013560f81c60f81b6001600160f81b0319168282815181106103c3576103c3610f23565b01602001516001600160f81b031916146104165760405162461bcd60e51b81526020600482015260146024820152730e4caeccae4e840c8c2e8c240dad2e6dac2e8c6d60631b604482015260640161017b565b8061042081610f4f565b915050610382565b50979650505050505050565b6060600080876001600160a01b0316866001600160401b0316868660405161045d929190610e9d565b6000604051808303818686fa925050503d8060008114610499576040519150601f19603f3d011682016040523d82523d6000602084013e61049e565b606091505b5091509150816104c05760405162461bcd60e51b815260040161017b90610ead565b60408051808201909152600d81526c0313637b1b590373ab6b132b91609d1b60208201526069906001906104ff9084906104fa8443610f6a565b610b79565b9250610531836040518060400160405280600d81526020016c031b430b4b71034b2101010101609d1b81525046610b79565b9250610563836040518060400160405280600d81526020016c03130b9b2903332b2901010101609d1b81525048610b79565b9250610595836040518060400160405280600d81526020016c033b0b990383934b1b29010101609d1b8152503a610b79565b92506105c7836040518060400160405280600d81526020016c033b0b9903634b6b4ba1010101609d1b81525045610b79565b92506105fa836040518060400160405280600d81526020016c03b30b63ab2901010101010101609d1b8152506000610b79565b925061062c836040518060400160405280600d81526020016c03a34b6b2b9ba30b6b81010101609d1b81525042610b79565b9250610668836040518060400160405280600d81526020016c03130b630b731b290101010101609d1b8152508b6001600160a01b031631610b79565b92506106a3836040518060400160405280600d81526020016c0393ab9ba1030b2323932b9b99609d1b8152508c6001600160a01b0316610b79565b92506106de836040518060400160405280600d81526020016c039b2b73232b91010101010101609d1b815250306001600160a01b0316610b79565b9250610719836040518060400160405280600d81526020016c037b934b3b4b71010101010101609d1b815250326001600160a01b0316610b79565b9250610754836040518060400160405280600d81526020016c031b7b4b73130b9b2901010101609d1b815250416001600160a01b0316610b79565b9250610793836040518060400160405280600d81526020016c0e4eae6e840c6dec8cad0c2e6d609b1b8152508c6001600160a01b03163f60001c610b79565b92506107d2836040518060400160405280600d81526020016c030b9311031b7b232b430b9b41609d1b815250846001600160a01b03163f60001c610b79565b9250610811836040518060400160405280600d81526020016c032ba341031b7b232b430b9b41609d1b815250836001600160a01b03163f60001c610b79565b925060008a6001600160a01b03163b6001600160401b0381111561083757610837610f81565b6040519080825280601f01601f191660200182016040528015610861576020820181803683370190505b50905060005b8b6001600160a01b03163b8110156108d15784818151811061088b5761088b610f23565b602001015160f81c60f81b8282815181106108a8576108a8610f23565b60200101906001600160f81b031916908160001a905350806108c981610f4f565b915050610867565b508a6001600160a01b0316803b806020016040519081016040528181526000908060200190933c8051906020012081805190602001201461093d5760405162461bcd60e51b815260040161017b90602080825260049082015263636f646560e01b604082015260600190565b60008b6001600160a01b03163b85516109569190610f6a565b6001600160401b0381111561096d5761096d610f81565b6040519080825280601f01601f191660200182016040528015610997576020820181803683370190505b5090506001600160a01b038c163b5b8551811015610a1c578581815181106109c1576109c1610f23565b602001015160f81c60f81b828e6001600160a01b03163b836109e39190610f6a565b815181106109f3576109f3610f23565b60200101906001600160f81b031916908160001a90535080610a1481610f4f565b9150506109a6565b509b9a5050505050505050505050565b7feddecf107b5740cef7f5a01e3ea7e287665c4e75a8eb6afae2fda2e3d43677866401000003d0197fc6178c2de1078cd36c3bd302cde755340d7f17fcb3fcc0b9c333ba03b217029f820990507fc6178c2de1078cd36c3bd302cde755340d7f17fcb3fcc0b9c333ba03b217029f6401000003d0198208905067eddecf107b5740ce8167fffffffefffffc2f9190040a905067c6178c2de1078cd381069050600080836001600160a01b03166040516000604051808303816000865af19150503d8060008114610b18576040519150601f19603f3d011682016040523d82523d6000602084013e610b1d565b606091505b509150915081610b3f5760405162461bcd60e51b815260040161017b90610ead565b60408051602081018590520160405160208183030381529060405280519060200120818051906020012014610b7357600080fd5b50505050565b6060600084806020019051810190610b919190610f97565b905083838214610bb45760405162461bcd60e51b815260040161017b9190610d86565b50600060208651610bc59190610f6a565b6001600160401b03811115610bdc57610bdc610f81565b6040519080825280601f01601f191660200182016040528015610c06576020820181803683370190505b50905060205b8651811015610c7957868181518110610c2757610c27610f23565b602001015160f81c60f81b82602083610c409190610f6a565b81518110610c5057610c50610f23565b60200101906001600160f81b031916908160001a90535080610c7181610f4f565b915050610c0c565b5095945050505050565b80356001600160a01b0381168114610c9a57600080fd5b919050565b60008083601f840112610cb157600080fd5b5081356001600160401b03811115610cc857600080fd5b602083019150836020828501011115610ce057600080fd5b9250929050565b600080600060408486031215610cfc57600080fd5b610d0584610c83565b925060208401356001600160401b03811115610d2057600080fd5b610d2c86828701610c9f565b9497909650939450505050565b6000815180845260005b81811015610d5f57602081850181015186830182015201610d43565b81811115610d71576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610d996020830184610d39565b9392505050565b600080600080600060608688031215610db857600080fd5b610dc186610c83565b945060208601356001600160401b0380821115610ddd57600080fd5b610de989838a01610c9f565b90965094506040880135915080821115610e0257600080fd5b50610e0f88828901610c9f565b969995985093965092949392505050565b600080600080600060808688031215610e3857600080fd5b610e4186610c83565b9450610e4f60208701610c83565b935060408601356001600160401b038082168214610e6c57600080fd5b90935060608701359080821115610e0257600080fd5b600060208284031215610e9457600080fd5b610d9982610c83565b8183823760009101908152919050565b6020808252600b908201526a18d85b1b0819985a5b195960aa1b604082015260600190565b80516020808301519190811015610ef3576000198160200360031b1b821691505b50919050565b60008085851115610f0957600080fd5b83861115610f1657600080fd5b5050820193919092039150565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415610f6357610f63610f39565b5060010190565b600082821015610f7c57610f7c610f39565b500390565b634e487b7160e01b600052604160045260246000fd5b600060208284031215610fa957600080fd5b505191905056fea2646970667358221220c1bf9e3bece513d0d218fa3d45bf80bfd6e1954c4dd92f87aa411211fe9b253764736f6c63430008090033",
140
+ "linkReferences": {},
141
+ "deployedLinkReferences": {}
142
+ }
@@ -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
  }
@@ -153,8 +153,8 @@
153
153
  "type": "function"
154
154
  }
155
155
  ],
156
- "bytecode": "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6107408061007e6000396000f3fe60806040526004361061006b5760003560e01c8063204e1c7a14610070578063715018a6146100a65780637eff275e146100bd5780638da5cb5b146100dd5780639623609d146100f257806399a88ec414610105578063f2fde38b14610125578063f3b7dead14610145575b600080fd5b34801561007c57600080fd5b5061009061008b3660046104f6565b610165565b60405161009d919061051a565b60405180910390f35b3480156100b257600080fd5b506100bb6101f6565b005b3480156100c957600080fd5b506100bb6100d836600461052e565b61023a565b3480156100e957600080fd5b506100906102cb565b6100bb61010036600461057d565b6102da565b34801561011157600080fd5b506100bb61012036600461052e565b610370565b34801561013157600080fd5b506100bb6101403660046104f6565b6103cb565b34801561015157600080fd5b506100906101603660046104f6565b61046b565b6000806000836001600160a01b031660405161018b90635c60da1b60e01b815260040190565b600060405180830381855afa9150503d80600081146101c6576040519150601f19603f3d011682016040523d82523d6000602084013e6101cb565b606091505b5091509150816101da57600080fd5b808060200190518101906101ee9190610653565b949350505050565b336101ff6102cb565b6001600160a01b03161461022e5760405162461bcd60e51b815260040161022590610670565b60405180910390fd5b6102386000610491565b565b336102436102cb565b6001600160a01b0316146102695760405162461bcd60e51b815260040161022590610670565b6040516308f2839760e41b81526001600160a01b03831690638f2839709061029590849060040161051a565b600060405180830381600087803b1580156102af57600080fd5b505af11580156102c3573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031690565b336102e36102cb565b6001600160a01b0316146103095760405162461bcd60e51b815260040161022590610670565b60405163278f794360e11b81526001600160a01b03841690634f1ef28690349061033990869086906004016106a5565b6000604051808303818588803b15801561035257600080fd5b505af1158015610366573d6000803e3d6000fd5b5050505050505050565b336103796102cb565b6001600160a01b03161461039f5760405162461bcd60e51b815260040161022590610670565b604051631b2ce7f360e11b81526001600160a01b03831690633659cfe69061029590849060040161051a565b336103d46102cb565b6001600160a01b0316146103fa5760405162461bcd60e51b815260040161022590610670565b6001600160a01b03811661045f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610225565b61046881610491565b50565b6000806000836001600160a01b031660405161018b906303e1469160e61b815260040190565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461046857600080fd5b60006020828403121561050857600080fd5b8135610513816104e1565b9392505050565b6001600160a01b0391909116815260200190565b6000806040838503121561054157600080fd5b823561054c816104e1565b9150602083013561055c816104e1565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561059257600080fd5b833561059d816104e1565b925060208401356105ad816104e1565b9150604084013567ffffffffffffffff808211156105ca57600080fd5b818601915086601f8301126105de57600080fd5b8135818111156105f0576105f0610567565b604051601f8201601f19908116603f0116810190838211818310171561061857610618610567565b8160405282815289602084870101111561063157600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b60006020828403121561066557600080fd5b8151610513816104e1565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60018060a01b038316815260006020604081840152835180604085015260005b818110156106e1578581018301518582016060015282016106c5565b818111156106f3576000606083870101525b50601f01601f19169290920160600194935050505056fea264697066735822122030876067dd5282d3eb5b6a87529c77a035be5809eec6b650765b6feed77af1b464736f6c63430008090033",
157
- "deployedBytecode": "0x60806040526004361061006b5760003560e01c8063204e1c7a14610070578063715018a6146100a65780637eff275e146100bd5780638da5cb5b146100dd5780639623609d146100f257806399a88ec414610105578063f2fde38b14610125578063f3b7dead14610145575b600080fd5b34801561007c57600080fd5b5061009061008b3660046104f6565b610165565b60405161009d919061051a565b60405180910390f35b3480156100b257600080fd5b506100bb6101f6565b005b3480156100c957600080fd5b506100bb6100d836600461052e565b61023a565b3480156100e957600080fd5b506100906102cb565b6100bb61010036600461057d565b6102da565b34801561011157600080fd5b506100bb61012036600461052e565b610370565b34801561013157600080fd5b506100bb6101403660046104f6565b6103cb565b34801561015157600080fd5b506100906101603660046104f6565b61046b565b6000806000836001600160a01b031660405161018b90635c60da1b60e01b815260040190565b600060405180830381855afa9150503d80600081146101c6576040519150601f19603f3d011682016040523d82523d6000602084013e6101cb565b606091505b5091509150816101da57600080fd5b808060200190518101906101ee9190610653565b949350505050565b336101ff6102cb565b6001600160a01b03161461022e5760405162461bcd60e51b815260040161022590610670565b60405180910390fd5b6102386000610491565b565b336102436102cb565b6001600160a01b0316146102695760405162461bcd60e51b815260040161022590610670565b6040516308f2839760e41b81526001600160a01b03831690638f2839709061029590849060040161051a565b600060405180830381600087803b1580156102af57600080fd5b505af11580156102c3573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031690565b336102e36102cb565b6001600160a01b0316146103095760405162461bcd60e51b815260040161022590610670565b60405163278f794360e11b81526001600160a01b03841690634f1ef28690349061033990869086906004016106a5565b6000604051808303818588803b15801561035257600080fd5b505af1158015610366573d6000803e3d6000fd5b5050505050505050565b336103796102cb565b6001600160a01b03161461039f5760405162461bcd60e51b815260040161022590610670565b604051631b2ce7f360e11b81526001600160a01b03831690633659cfe69061029590849060040161051a565b336103d46102cb565b6001600160a01b0316146103fa5760405162461bcd60e51b815260040161022590610670565b6001600160a01b03811661045f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610225565b61046881610491565b50565b6000806000836001600160a01b031660405161018b906303e1469160e61b815260040190565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461046857600080fd5b60006020828403121561050857600080fd5b8135610513816104e1565b9392505050565b6001600160a01b0391909116815260200190565b6000806040838503121561054157600080fd5b823561054c816104e1565b9150602083013561055c816104e1565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561059257600080fd5b833561059d816104e1565b925060208401356105ad816104e1565b9150604084013567ffffffffffffffff808211156105ca57600080fd5b818601915086601f8301126105de57600080fd5b8135818111156105f0576105f0610567565b604051601f8201601f19908116603f0116810190838211818310171561061857610618610567565b8160405282815289602084870101111561063157600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b60006020828403121561066557600080fd5b8151610513816104e1565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60018060a01b038316815260006020604081840152835180604085015260005b818110156106e1578581018301518582016060015282016106c5565b818111156106f3576000606083870101525b50601f01601f19169290920160600194935050505056fea264697066735822122030876067dd5282d3eb5b6a87529c77a035be5809eec6b650765b6feed77af1b464736f6c63430008090033",
156
+ "bytecode": "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6106988061007e6000396000f3fe60806040526004361061006b5760003560e01c8063204e1c7a14610070578063715018a6146100a65780637eff275e146100bd5780638da5cb5b146100dd5780639623609d146100fb57806399a88ec41461010e578063f2fde38b1461012e578063f3b7dead1461014e575b600080fd5b34801561007c57600080fd5b5061009061008b366004610483565b61016e565b60405161009d91906104a7565b60405180910390f35b3480156100b257600080fd5b506100bb6101ff565b005b3480156100c957600080fd5b506100bb6100d83660046104bb565b610213565b3480156100e957600080fd5b506000546001600160a01b0316610090565b6100bb61010936600461050a565b61027d565b34801561011a57600080fd5b506100bb6101293660046104bb565b6102ec565b34801561013a57600080fd5b506100bb610149366004610483565b610320565b34801561015a57600080fd5b50610090610169366004610483565b61039e565b6000806000836001600160a01b031660405161019490635c60da1b60e01b815260040190565b600060405180830381855afa9150503d80600081146101cf576040519150601f19603f3d011682016040523d82523d6000602084013e6101d4565b606091505b5091509150816101e357600080fd5b808060200190518101906101f791906105e0565b949350505050565b6102076103c4565b610211600061041e565b565b61021b6103c4565b6040516308f2839760e41b81526001600160a01b03831690638f283970906102479084906004016104a7565b600060405180830381600087803b15801561026157600080fd5b505af1158015610275573d6000803e3d6000fd5b505050505050565b6102856103c4565b60405163278f794360e11b81526001600160a01b03841690634f1ef2869034906102b590869086906004016105fd565b6000604051808303818588803b1580156102ce57600080fd5b505af11580156102e2573d6000803e3d6000fd5b5050505050505050565b6102f46103c4565b604051631b2ce7f360e11b81526001600160a01b03831690633659cfe6906102479084906004016104a7565b6103286103c4565b6001600160a01b0381166103925760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61039b8161041e565b50565b6000806000836001600160a01b0316604051610194906303e1469160e61b815260040190565b6000546001600160a01b031633146102115760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610389565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461039b57600080fd5b60006020828403121561049557600080fd5b81356104a08161046e565b9392505050565b6001600160a01b0391909116815260200190565b600080604083850312156104ce57600080fd5b82356104d98161046e565b915060208301356104e98161046e565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561051f57600080fd5b833561052a8161046e565b9250602084013561053a8161046e565b9150604084013567ffffffffffffffff8082111561055757600080fd5b818601915086601f83011261056b57600080fd5b81358181111561057d5761057d6104f4565b604051601f8201601f19908116603f011681019083821181831017156105a5576105a56104f4565b816040528281528960208487010111156105be57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156105f257600080fd5b81516104a08161046e565b60018060a01b038316815260006020604081840152835180604085015260005b818110156106395785810183015185820160600152820161061d565b8181111561064b576000606083870101525b50601f01601f19169290920160600194935050505056fea2646970667358221220f885a4563278ea6a174cfc4df8f03a3c74fbdc6db91544306473e75047c6c68e64736f6c63430008090033",
157
+ "deployedBytecode": "0x60806040526004361061006b5760003560e01c8063204e1c7a14610070578063715018a6146100a65780637eff275e146100bd5780638da5cb5b146100dd5780639623609d146100fb57806399a88ec41461010e578063f2fde38b1461012e578063f3b7dead1461014e575b600080fd5b34801561007c57600080fd5b5061009061008b366004610483565b61016e565b60405161009d91906104a7565b60405180910390f35b3480156100b257600080fd5b506100bb6101ff565b005b3480156100c957600080fd5b506100bb6100d83660046104bb565b610213565b3480156100e957600080fd5b506000546001600160a01b0316610090565b6100bb61010936600461050a565b61027d565b34801561011a57600080fd5b506100bb6101293660046104bb565b6102ec565b34801561013a57600080fd5b506100bb610149366004610483565b610320565b34801561015a57600080fd5b50610090610169366004610483565b61039e565b6000806000836001600160a01b031660405161019490635c60da1b60e01b815260040190565b600060405180830381855afa9150503d80600081146101cf576040519150601f19603f3d011682016040523d82523d6000602084013e6101d4565b606091505b5091509150816101e357600080fd5b808060200190518101906101f791906105e0565b949350505050565b6102076103c4565b610211600061041e565b565b61021b6103c4565b6040516308f2839760e41b81526001600160a01b03831690638f283970906102479084906004016104a7565b600060405180830381600087803b15801561026157600080fd5b505af1158015610275573d6000803e3d6000fd5b505050505050565b6102856103c4565b60405163278f794360e11b81526001600160a01b03841690634f1ef2869034906102b590869086906004016105fd565b6000604051808303818588803b1580156102ce57600080fd5b505af11580156102e2573d6000803e3d6000fd5b5050505050505050565b6102f46103c4565b604051631b2ce7f360e11b81526001600160a01b03831690633659cfe6906102479084906004016104a7565b6103286103c4565b6001600160a01b0381166103925760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61039b8161041e565b50565b6000806000836001600160a01b0316604051610194906303e1469160e61b815260040190565b6000546001600160a01b031633146102115760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610389565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461039b57600080fd5b60006020828403121561049557600080fd5b81356104a08161046e565b9392505050565b6001600160a01b0391909116815260200190565b600080604083850312156104ce57600080fd5b82356104d98161046e565b915060208301356104e98161046e565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561051f57600080fd5b833561052a8161046e565b9250602084013561053a8161046e565b9150604084013567ffffffffffffffff8082111561055757600080fd5b818601915086601f83011261056b57600080fd5b81358181111561057d5761057d6104f4565b604051601f8201601f19908116603f011681019083821181831017156105a5576105a56104f4565b816040528281528960208487010111156105be57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156105f257600080fd5b81516104a08161046e565b60018060a01b038316815260006020604081840152835180604085015260005b818110156106395785810183015185820160600152820161061d565b8181111561064b576000606083870101525b50601f01601f19169290920160600194935050505056fea2646970667358221220f885a4563278ea6a174cfc4df8f03a3c74fbdc6db91544306473e75047c6c68e64736f6c63430008090033",
158
158
  "linkReferences": {},
159
159
  "deployedLinkReferences": {}
160
160
  }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/83d3fd0b633e3a3120fc5455f62bf6b6.json"
4
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "SdkStorage",
4
+ "sourceName": "src/mocks/SdkStorage.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "populate",
9
+ "outputs": [],
10
+ "stateMutability": "nonpayable",
11
+ "type": "function"
12
+ },
13
+ {
14
+ "inputs": [],
15
+ "name": "remove",
16
+ "outputs": [],
17
+ "stateMutability": "nonpayable",
18
+ "type": "function"
19
+ }
20
+ ],
21
+ "bytecode": "0x608060405234801561001057600080fd5b5061148c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a7f437791461003b578063f809f20514610045575b600080fd5b61004361004d565b005b61004361041d565b6007805461005a906111b8565b159050610121576007805461006e816111b8565b8061008957634e487b7160e01b600052603160045260246000fd5b601f811180156100a057600181146100c257610118565b6001826021036101000a03600183039250600283028482191617935050610118565b8360005260206000208260208114610105576020600019808601828104949094018054601f959095169092036101000a0119909216825560011990940193610115565b81546000835560ff1916603e1794505b50505b5050905561004d565b601060088054610130906111b8565b905011156101f85760088054610145816111b8565b8061016057634e487b7160e01b600052603160045260246000fd5b601f811180156101775760018114610199576101ef565b6001826021036101000a036001830392506002830284821916179350506101ef565b83600052602060002082602081146101dc576020600019808601828104949094018054601f959095169092036101000a01199092168255600119909401936101ec565b81546000835560ff1916603e1794505b50505b50509055610121565b60408051808201909152600f8082526e7761736d2069732063757465203c3360881b602090920191825261022e91600991610e45565b505b6005541561027f576005805480610249576102496111f3565b60008281526020902060046000199092019182040180546001600160401b03600860038516026101000a02191690559055610230565b600654600110156102be57600680548061029b5761029b6111f3565b6001900381819060005260206000200160006102b79190610ec9565b905561027f565b60005b60088110156102f8576000818152600a6020526040902080546001600160a01b0319169055806102f08161121f565b9150506102c1565b5060086000908152600a60209081527f2c1fd36ba11b13b555f58753742999069764391f450ca8727fe8a3eeffe6777580546001600160a01b03191690911790555b6004816001600160a01b0316101561037f576001600160a01b0381166000908152600b6020526040812061036d91610eee565b806103778161123a565b91505061033a565b506004805480610391576103916111f3565b60008281526020812060026000199390930192830201805465ffffffffffff19168155600101819055915560188190556019819055601a819055601b556103da601c6000610f13565b6103e6601d6000610f34565b6021805465ffffffffffff19908116909155600060228190556023805483169055602481905560258054909216909155602655565b565b600080546001600160a81b0319166170011781556001805460306001600160a01b03199091161790556002805465ffffffffffff1916657fffffff002017905560406003555b6020816001600160401b031610156104e457600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db06004820401805460039092166008026101000a6001600160401b038181021990931692841602919091179055806104dc81611261565b915050610463565b50604d60056007815481106104fb576104fb61127e565b90600052602060002090600491828204019190066008026101000a8154816001600160401b0302191690836001600160401b0316021790555060005b600a81101561063f576006816001600160401b0381111561055a5761055a611294565b604051908082528060200260200182016040528015610583578160200160208202803683370190505b508154600181018355600092835260209283902082516105a99491909201920190610f70565b5060005b8181101561062c5780600683815481106105c9576105c961127e565b9060005260206000200182815481106105e4576105e461127e565b90600052602060002090600691828204019190066005026101000a81548164ffffffffff021916908364ffffffffff16021790555080806106249061121f565b9150506105ad565b50806106378161121f565b915050610537565b5060005b600a8110156107015760005b818110156106ee5760026006838154811061066c5761066c61127e565b9060005260206000200182815481106106875761068761127e565b90600052602060002090600691828204019190066005028282829054906101000a900464ffffffffff166106bb91906112aa565b92506101000a81548164ffffffffff021916908364ffffffffff16021790555080806106e69061121f565b91505061064f565b50806106f98161121f565b915050610643565b5060005b601f8160ff16101561075c576007816040516020016107259291906112d7565b60405160208183030381529060405260079080519060200190610749929190610e45565b50806107548161138c565b915050610705565b5060005b60508160ff1610156107b7576008816040516020016107809291906112d7565b604051602081830303815290604052600890805190602001906107a4929190610e45565b50806107af8161138c565b915050610760565b5060408051808201909152600f8082526e617262697472756d207374796c757360881b60209092019182526107ee91600991610e45565b5060005b6010811015610834576000818152600a6020526040902080546001600160a01b0319166001600160a01b0383161790558061082c8161121f565b9150506107f2565b5060005b6004816001600160a01b031610156108f85760408051600080825260208083018085526001600160a01b0386168352600b909152929020905161087b929061101d565b5060005b816001600160a01b031681116108e5576001600160a01b0382166000908152600b60209081526040822080546001810182559083529181902090820401805460ff601f9093166101000a92830219169091179055806108dd8161121f565b91505061087f565b50806108f08161123a565b915050610838565b5060005b60048160030b121561097b57600c8054600101808255600082905263ffffffff83169190829081106109305761093061127e565b60009182526020808320600386900b84529190910190526040902080546001600160a01b0319166001600160a01b039290921691909117905580610973816113ac565b9150506108fc565b5060005b60048160ff1610156109ed576109968160016113c6565b6001600160f81b031960f883901b166000908152600d6020526040812060ff9290921691906109c66002856113eb565b60ff16158152602081019190915260400160002055806109e58161138c565b91505061097f565b50604051657374796c757360d01b8152600290600e906006019081526040519081900360200190208154815461ffff19811661ffff9092169182178355835463ffffffff6201000091829004160265ffffffffffff1990911690911717815560019182015491015560005b6004811015610b0c5760048054600181018255600091909152600280547f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b928202928301805461ffff90921661ffff19831681178255925465ffffffffffff19909216909217620100009182900463ffffffff169091021790556003547f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19c9091015580610b048161121f565b915050610a58565b5060408051808201909152600e8082526d4c3220697320666f7220796f752160901b6020909201918252610b4291601191610e45565b5060005b6005811015610b9d578060148160058110610b6357610b6361127e565b600a91828204019190066003026101000a81548162ffffff021916908362ffffff1602179055508080610b959061121f565b915050610b46565b5060005b6002811015610bef578060168160028110610bbe57610bbe61127e565b0180546001600160a01b0319166001600160a01b039290921691909117905580610be78161121f565b915050610ba1565b5060005b6004811015610c85578060188160048110610c1057610c1061127e565b01805460ff191660ff9290921691909117905560188160048110610c3657610c3661127e565b0154610c469060ff1660016113c6565b60188260048110610c5957610c5961127e565b01805460ff929092166101000261ff001990921691909117905580610c7d8161121f565b915050610bf3565b5060005b6003811015610d2f57610c9a6110b0565b60005b6004811215610cd85780828260048110610cb957610cb961127e565b600b9290920b6020909202015280610cd08161141b565b915050610c9d565b50601c8054600181018255600091909152610d1a906002027f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211018260046110ce565b50508080610d279061121f565b915050610c89565b5060005b6004811015610dc25760005b600481600b0b1215610daf57601d8260048110610d5e57610d5e61127e565b01805460018082018355600092835260209092206002820401805492909116600c026101000a6001600160601b03818102199093169284160291909117905580610da781611434565b915050610d3f565b5080610dba8161121f565b915050610d33565b5060005b6003811015610e4257600260218260038110610de457610de461127e565b825460029190910291909101805461ffff90921661ffff19831681178255835465ffffffffffff1990931617620100009283900463ffffffff1690920291909117815560019182015491015580610e3a8161121f565b915050610dc6565b50565b828054610e51906111b8565b90600052602060002090601f016020900481019282610e735760008555610eb9565b82601f10610e8c57805160ff1916838001178555610eb9565b82800160010185558215610eb9579182015b82811115610eb9578251825591602001919060010190610e9e565b50610ec5929150611164565b5090565b508054600082556005016006900490600052602060002090810190610e429190611164565b50805460008255601f016020900490600052602060002090810190610e429190611164565b5080546000825560020290600052602060002090810190610e429190611179565b506000610f418282611193565b506001016000610f518282611193565b506001016000610f618282611193565b5061041b906001016000611193565b82805482825590600052602060002090600501600690048101928215610eb95791602002820160005b83821115610fdf57835183826101000a81548164ffffffffff021916908364ffffffffff1602179055509260200192600501602081600401049283019260010302610f99565b80156110105782816101000a81549064ffffffffff0219169055600501602081600401049283019260010302610fdf565b5050610ec5929150611164565b82805482825590600052602060002090601f01602090048101928215610eb95791602002820160005b8382111561108357835183826101000a81548160ff0219169083151502179055509260200192600101602081600001049283019260010302611046565b80156110105782816101000a81549060ff0219169055600101602081600001049283019260010302611083565b60405180608001604052806004906020820280368337509192915050565b600283019183908215610eb95791602002820160005b8382111561113157835183826101000a8154816001600160601b030219169083600b0b6001600160601b031602179055509260200192600c01602081600b010492830192600103026110e4565b80156110105782816101000a8154906001600160601b030219169055600c01602081600b01049283019260010302611131565b5b80821115610ec55760008155600101611165565b80821115610ec55760008082556001820155600201611179565b508054600082556001016002900490600052602060002090810190610e429190611164565b600181811c908216806111cc57607f821691505b602082108114156111ed57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141561123357611233611209565b5060010190565b60006001600160a01b038281168082141561125757611257611209565b6001019392505050565b60006001600160401b038083168181141561125757611257611209565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600064ffffffffff808316818516818304811182151516156112ce576112ce611209565b02949350505050565b600080845481600182811c9150808316806112f357607f831692505b602080841082141561131357634e487b7160e01b86526022600452602486fd5b818015611327576001811461133857611365565b60ff19861689528489019650611365565b60008b81526020902060005b8681101561135d5781548b820152908501908301611344565b505084890196505b50505061137e848860f81b6001600160f81b0319169052565b929092019695505050505050565b600060ff821660ff8114156113a3576113a3611209565b60010192915050565b60008160030b637fffffff8114156113a3576113a3611209565b600060ff821660ff84168060ff038211156113e3576113e3611209565b019392505050565b600060ff83168061140c57634e487b7160e01b600052601260045260246000fd5b8060ff84160691505092915050565b60006001600160ff1b0382141561123357611233611209565b600081600b0b6b7fffffffffffffffffffffff8114156113a3576113a361120956fea26469706673582212207fff0c6884ce2f8f45ede07cfe79337eaccb3448f321aae188fca64654463c7b64736f6c63430008090033",
22
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063a7f437791461003b578063f809f20514610045575b600080fd5b61004361004d565b005b61004361041d565b6007805461005a906111b8565b159050610121576007805461006e816111b8565b8061008957634e487b7160e01b600052603160045260246000fd5b601f811180156100a057600181146100c257610118565b6001826021036101000a03600183039250600283028482191617935050610118565b8360005260206000208260208114610105576020600019808601828104949094018054601f959095169092036101000a0119909216825560011990940193610115565b81546000835560ff1916603e1794505b50505b5050905561004d565b601060088054610130906111b8565b905011156101f85760088054610145816111b8565b8061016057634e487b7160e01b600052603160045260246000fd5b601f811180156101775760018114610199576101ef565b6001826021036101000a036001830392506002830284821916179350506101ef565b83600052602060002082602081146101dc576020600019808601828104949094018054601f959095169092036101000a01199092168255600119909401936101ec565b81546000835560ff1916603e1794505b50505b50509055610121565b60408051808201909152600f8082526e7761736d2069732063757465203c3360881b602090920191825261022e91600991610e45565b505b6005541561027f576005805480610249576102496111f3565b60008281526020902060046000199092019182040180546001600160401b03600860038516026101000a02191690559055610230565b600654600110156102be57600680548061029b5761029b6111f3565b6001900381819060005260206000200160006102b79190610ec9565b905561027f565b60005b60088110156102f8576000818152600a6020526040902080546001600160a01b0319169055806102f08161121f565b9150506102c1565b5060086000908152600a60209081527f2c1fd36ba11b13b555f58753742999069764391f450ca8727fe8a3eeffe6777580546001600160a01b03191690911790555b6004816001600160a01b0316101561037f576001600160a01b0381166000908152600b6020526040812061036d91610eee565b806103778161123a565b91505061033a565b506004805480610391576103916111f3565b60008281526020812060026000199390930192830201805465ffffffffffff19168155600101819055915560188190556019819055601a819055601b556103da601c6000610f13565b6103e6601d6000610f34565b6021805465ffffffffffff19908116909155600060228190556023805483169055602481905560258054909216909155602655565b565b600080546001600160a81b0319166170011781556001805460306001600160a01b03199091161790556002805465ffffffffffff1916657fffffff002017905560406003555b6020816001600160401b031610156104e457600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db06004820401805460039092166008026101000a6001600160401b038181021990931692841602919091179055806104dc81611261565b915050610463565b50604d60056007815481106104fb576104fb61127e565b90600052602060002090600491828204019190066008026101000a8154816001600160401b0302191690836001600160401b0316021790555060005b600a81101561063f576006816001600160401b0381111561055a5761055a611294565b604051908082528060200260200182016040528015610583578160200160208202803683370190505b508154600181018355600092835260209283902082516105a99491909201920190610f70565b5060005b8181101561062c5780600683815481106105c9576105c961127e565b9060005260206000200182815481106105e4576105e461127e565b90600052602060002090600691828204019190066005026101000a81548164ffffffffff021916908364ffffffffff16021790555080806106249061121f565b9150506105ad565b50806106378161121f565b915050610537565b5060005b600a8110156107015760005b818110156106ee5760026006838154811061066c5761066c61127e565b9060005260206000200182815481106106875761068761127e565b90600052602060002090600691828204019190066005028282829054906101000a900464ffffffffff166106bb91906112aa565b92506101000a81548164ffffffffff021916908364ffffffffff16021790555080806106e69061121f565b91505061064f565b50806106f98161121f565b915050610643565b5060005b601f8160ff16101561075c576007816040516020016107259291906112d7565b60405160208183030381529060405260079080519060200190610749929190610e45565b50806107548161138c565b915050610705565b5060005b60508160ff1610156107b7576008816040516020016107809291906112d7565b604051602081830303815290604052600890805190602001906107a4929190610e45565b50806107af8161138c565b915050610760565b5060408051808201909152600f8082526e617262697472756d207374796c757360881b60209092019182526107ee91600991610e45565b5060005b6010811015610834576000818152600a6020526040902080546001600160a01b0319166001600160a01b0383161790558061082c8161121f565b9150506107f2565b5060005b6004816001600160a01b031610156108f85760408051600080825260208083018085526001600160a01b0386168352600b909152929020905161087b929061101d565b5060005b816001600160a01b031681116108e5576001600160a01b0382166000908152600b60209081526040822080546001810182559083529181902090820401805460ff601f9093166101000a92830219169091179055806108dd8161121f565b91505061087f565b50806108f08161123a565b915050610838565b5060005b60048160030b121561097b57600c8054600101808255600082905263ffffffff83169190829081106109305761093061127e565b60009182526020808320600386900b84529190910190526040902080546001600160a01b0319166001600160a01b039290921691909117905580610973816113ac565b9150506108fc565b5060005b60048160ff1610156109ed576109968160016113c6565b6001600160f81b031960f883901b166000908152600d6020526040812060ff9290921691906109c66002856113eb565b60ff16158152602081019190915260400160002055806109e58161138c565b91505061097f565b50604051657374796c757360d01b8152600290600e906006019081526040519081900360200190208154815461ffff19811661ffff9092169182178355835463ffffffff6201000091829004160265ffffffffffff1990911690911717815560019182015491015560005b6004811015610b0c5760048054600181018255600091909152600280547f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b928202928301805461ffff90921661ffff19831681178255925465ffffffffffff19909216909217620100009182900463ffffffff169091021790556003547f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19c9091015580610b048161121f565b915050610a58565b5060408051808201909152600e8082526d4c3220697320666f7220796f752160901b6020909201918252610b4291601191610e45565b5060005b6005811015610b9d578060148160058110610b6357610b6361127e565b600a91828204019190066003026101000a81548162ffffff021916908362ffffff1602179055508080610b959061121f565b915050610b46565b5060005b6002811015610bef578060168160028110610bbe57610bbe61127e565b0180546001600160a01b0319166001600160a01b039290921691909117905580610be78161121f565b915050610ba1565b5060005b6004811015610c85578060188160048110610c1057610c1061127e565b01805460ff191660ff9290921691909117905560188160048110610c3657610c3661127e565b0154610c469060ff1660016113c6565b60188260048110610c5957610c5961127e565b01805460ff929092166101000261ff001990921691909117905580610c7d8161121f565b915050610bf3565b5060005b6003811015610d2f57610c9a6110b0565b60005b6004811215610cd85780828260048110610cb957610cb961127e565b600b9290920b6020909202015280610cd08161141b565b915050610c9d565b50601c8054600181018255600091909152610d1a906002027f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211018260046110ce565b50508080610d279061121f565b915050610c89565b5060005b6004811015610dc25760005b600481600b0b1215610daf57601d8260048110610d5e57610d5e61127e565b01805460018082018355600092835260209092206002820401805492909116600c026101000a6001600160601b03818102199093169284160291909117905580610da781611434565b915050610d3f565b5080610dba8161121f565b915050610d33565b5060005b6003811015610e4257600260218260038110610de457610de461127e565b825460029190910291909101805461ffff90921661ffff19831681178255835465ffffffffffff1990931617620100009283900463ffffffff1690920291909117815560019182015491015580610e3a8161121f565b915050610dc6565b50565b828054610e51906111b8565b90600052602060002090601f016020900481019282610e735760008555610eb9565b82601f10610e8c57805160ff1916838001178555610eb9565b82800160010185558215610eb9579182015b82811115610eb9578251825591602001919060010190610e9e565b50610ec5929150611164565b5090565b508054600082556005016006900490600052602060002090810190610e429190611164565b50805460008255601f016020900490600052602060002090810190610e429190611164565b5080546000825560020290600052602060002090810190610e429190611179565b506000610f418282611193565b506001016000610f518282611193565b506001016000610f618282611193565b5061041b906001016000611193565b82805482825590600052602060002090600501600690048101928215610eb95791602002820160005b83821115610fdf57835183826101000a81548164ffffffffff021916908364ffffffffff1602179055509260200192600501602081600401049283019260010302610f99565b80156110105782816101000a81549064ffffffffff0219169055600501602081600401049283019260010302610fdf565b5050610ec5929150611164565b82805482825590600052602060002090601f01602090048101928215610eb95791602002820160005b8382111561108357835183826101000a81548160ff0219169083151502179055509260200192600101602081600001049283019260010302611046565b80156110105782816101000a81549060ff0219169055600101602081600001049283019260010302611083565b60405180608001604052806004906020820280368337509192915050565b600283019183908215610eb95791602002820160005b8382111561113157835183826101000a8154816001600160601b030219169083600b0b6001600160601b031602179055509260200192600c01602081600b010492830192600103026110e4565b80156110105782816101000a8154906001600160601b030219169055600c01602081600b01049283019260010302611131565b5b80821115610ec55760008155600101611165565b80821115610ec55760008082556001820155600201611179565b508054600082556001016002900490600052602060002090810190610e429190611164565b600181811c908216806111cc57607f821691505b602082108114156111ed57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141561123357611233611209565b5060010190565b60006001600160a01b038281168082141561125757611257611209565b6001019392505050565b60006001600160401b038083168181141561125757611257611209565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600064ffffffffff808316818516818304811182151516156112ce576112ce611209565b02949350505050565b600080845481600182811c9150808316806112f357607f831692505b602080841082141561131357634e487b7160e01b86526022600452602486fd5b818015611327576001811461133857611365565b60ff19861689528489019650611365565b60008b81526020902060005b8681101561135d5781548b820152908501908301611344565b505084890196505b50505061137e848860f81b6001600160f81b0319169052565b929092019695505050505050565b600060ff821660ff8114156113a3576113a3611209565b60010192915050565b60008160030b637fffffff8114156113a3576113a3611209565b600060ff821660ff84168060ff038211156113e3576113e3611209565b019392505050565b600060ff83168061140c57634e487b7160e01b600052601260045260246000fd5b8060ff84160691505092915050565b60006001600160ff1b0382141561123357611233611209565b600081600b0b6b7fffffffffffffffffffffff8114156113a3576113a361120956fea26469706673582212207fff0c6884ce2f8f45ede07cfe79337eaccb3448f321aae188fca64654463c7b64736f6c63430008090033",
23
+ "linkReferences": {},
24
+ "deployedLinkReferences": {}
25
+ }
@@ -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
  }