@arbitrum/nitro-contracts 2.1.1-beta.0 → 3.0.0-alpha.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (541) 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/Create2.sol/Create2.dbg.json +4 -0
  28. package/build/contracts/{src/express-lane-auction/ELCRound.sol/LatestELCRoundsLib.json → @openzeppelin/contracts/utils/Create2.sol/Create2.json} +4 -4
  29. package/build/contracts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.dbg.json +1 -1
  30. package/build/contracts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.json +2 -2
  31. package/build/contracts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json +1 -1
  32. package/build/contracts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +2 -2
  33. package/build/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol/AccessControlUpgradeable.dbg.json +1 -1
  34. package/build/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol/AccessControlUpgradeable.json +13 -0
  35. package/build/contracts/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol/IAccessControlUpgradeable.dbg.json +1 -1
  36. package/build/contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +1 -1
  37. package/build/contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.json +13 -0
  38. package/build/contracts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +1 -1
  39. package/build/contracts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.json +15 -1
  40. package/build/contracts/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol/PausableUpgradeable.dbg.json +1 -1
  41. package/build/contracts/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol/PausableUpgradeable.json +13 -0
  42. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +1 -1
  43. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.json +2 -2
  44. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +1 -1
  45. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.json +15 -1
  46. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/Create2Upgradeable.sol/Create2Upgradeable.dbg.json +4 -0
  47. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/Create2Upgradeable.sol/Create2Upgradeable.json +10 -0
  48. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol/StorageSlotUpgradeable.dbg.json +1 -1
  49. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol/StorageSlotUpgradeable.json +2 -2
  50. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol/StringsUpgradeable.dbg.json +1 -1
  51. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol/StringsUpgradeable.json +2 -2
  52. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol/ERC165Upgradeable.dbg.json +1 -1
  53. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol/ERC165Upgradeable.json +13 -0
  54. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol/IERC165Upgradeable.dbg.json +1 -1
  55. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/structs/EnumerableSetUpgradeable.sol/EnumerableSetUpgradeable.dbg.json +1 -1
  56. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/structs/EnumerableSetUpgradeable.sol/EnumerableSetUpgradeable.json +2 -2
  57. package/build/contracts/src/assertionStakingPool/AbsBoldStakingPool.sol/AbsBoldStakingPool.dbg.json +4 -0
  58. package/build/contracts/{@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.json → src/assertionStakingPool/AbsBoldStakingPool.sol/AbsBoldStakingPool.json} +41 -95
  59. package/build/contracts/src/assertionStakingPool/AssertionStakingPool.sol/AssertionStakingPool.dbg.json +4 -0
  60. package/build/contracts/src/assertionStakingPool/AssertionStakingPool.sol/AssertionStakingPool.json +340 -0
  61. package/build/contracts/src/assertionStakingPool/AssertionStakingPoolCreator.sol/AssertionStakingPoolCreator.dbg.json +4 -0
  62. package/build/contracts/src/assertionStakingPool/AssertionStakingPoolCreator.sol/AssertionStakingPoolCreator.json +89 -0
  63. package/build/contracts/src/assertionStakingPool/EdgeStakingPool.sol/EdgeStakingPool.dbg.json +4 -0
  64. package/build/contracts/src/assertionStakingPool/EdgeStakingPool.sol/EdgeStakingPool.json +248 -0
  65. package/build/contracts/src/assertionStakingPool/EdgeStakingPoolCreator.sol/EdgeStakingPoolCreator.dbg.json +4 -0
  66. package/build/contracts/src/assertionStakingPool/EdgeStakingPoolCreator.sol/EdgeStakingPoolCreator.json +83 -0
  67. package/build/contracts/src/assertionStakingPool/StakingPoolCreatorUtils.sol/StakingPoolCreatorUtils.dbg.json +4 -0
  68. package/build/contracts/src/assertionStakingPool/StakingPoolCreatorUtils.sol/StakingPoolCreatorUtils.json +16 -0
  69. package/build/contracts/src/assertionStakingPool/interfaces/IAbsBoldStakingPool.sol/IAbsBoldStakingPool.dbg.json +4 -0
  70. package/build/contracts/src/assertionStakingPool/interfaces/IAbsBoldStakingPool.sol/IAbsBoldStakingPool.json +140 -0
  71. package/build/contracts/src/assertionStakingPool/interfaces/IAssertionStakingPool.sol/IAssertionStakingPool.dbg.json +4 -0
  72. package/build/contracts/src/assertionStakingPool/interfaces/IAssertionStakingPool.sol/IAssertionStakingPool.json +324 -0
  73. package/build/contracts/src/assertionStakingPool/interfaces/IAssertionStakingPoolCreator.sol/IAssertionStakingPoolCreator.dbg.json +4 -0
  74. package/build/contracts/src/assertionStakingPool/interfaces/IAssertionStakingPoolCreator.sol/IAssertionStakingPoolCreator.json +84 -0
  75. package/build/contracts/src/assertionStakingPool/interfaces/IEdgeStakingPool.sol/IEdgeStakingPool.dbg.json +4 -0
  76. package/build/contracts/{@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol/IERC20MetadataUpgradeable.json → src/assertionStakingPool/interfaces/IEdgeStakingPool.sol/IEdgeStakingPool.json} +109 -110
  77. package/build/contracts/src/assertionStakingPool/interfaces/IEdgeStakingPoolCreator.sol/IEdgeStakingPoolCreator.dbg.json +4 -0
  78. package/build/contracts/src/assertionStakingPool/interfaces/IEdgeStakingPoolCreator.sol/IEdgeStakingPoolCreator.json +78 -0
  79. package/build/contracts/src/bridge/AbsBridge.sol/AbsBridge.dbg.json +1 -1
  80. package/build/contracts/src/bridge/AbsBridge.sol/AbsBridge.json +13 -0
  81. package/build/contracts/src/bridge/AbsInbox.sol/AbsInbox.dbg.json +1 -1
  82. package/build/contracts/src/bridge/AbsInbox.sol/AbsInbox.json +14 -1
  83. package/build/contracts/src/bridge/AbsOutbox.sol/AbsOutbox.dbg.json +1 -1
  84. package/build/contracts/src/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  85. package/build/contracts/src/bridge/Bridge.sol/Bridge.json +15 -2
  86. package/build/contracts/src/bridge/DelayBuffer.sol/DelayBuffer.dbg.json +4 -0
  87. package/build/contracts/src/bridge/DelayBuffer.sol/DelayBuffer.json +24 -0
  88. package/build/contracts/src/bridge/ERC20Bridge.sol/ERC20Bridge.dbg.json +1 -1
  89. package/build/contracts/src/bridge/ERC20Bridge.sol/ERC20Bridge.json +15 -2
  90. package/build/contracts/src/bridge/ERC20Inbox.sol/ERC20Inbox.dbg.json +1 -1
  91. package/build/contracts/src/bridge/ERC20Inbox.sol/ERC20Inbox.json +16 -3
  92. package/build/contracts/src/bridge/ERC20Outbox.sol/ERC20Outbox.dbg.json +1 -1
  93. package/build/contracts/src/bridge/ERC20Outbox.sol/ERC20Outbox.json +2 -2
  94. package/build/contracts/src/bridge/GasRefunder.sol/GasRefunder.dbg.json +1 -1
  95. package/build/contracts/src/bridge/GasRefunder.sol/GasRefunder.json +2 -2
  96. package/build/contracts/src/bridge/IBridge.sol/IBridge.dbg.json +1 -1
  97. package/build/contracts/src/bridge/IDelayedMessageProvider.sol/IDelayedMessageProvider.dbg.json +1 -1
  98. package/build/contracts/src/bridge/IERC20Bridge.sol/IERC20Bridge.dbg.json +1 -1
  99. package/build/contracts/src/bridge/IERC20Inbox.sol/IERC20Inbox.dbg.json +1 -1
  100. package/build/contracts/src/bridge/IEthBridge.sol/IEthBridge.dbg.json +1 -1
  101. package/build/contracts/src/bridge/IInbox.sol/IInbox.dbg.json +1 -1
  102. package/build/contracts/src/bridge/IInboxBase.sol/IInboxBase.dbg.json +1 -1
  103. package/build/contracts/src/bridge/IOutbox.sol/IOutbox.dbg.json +1 -1
  104. package/build/contracts/src/bridge/IOwnable.sol/IOwnable.dbg.json +1 -1
  105. package/build/contracts/src/bridge/ISequencerInbox.sol/ISequencerInbox.dbg.json +1 -1
  106. package/build/contracts/src/bridge/ISequencerInbox.sol/ISequencerInbox.json +441 -0
  107. package/build/contracts/src/bridge/Inbox.sol/Inbox.dbg.json +1 -1
  108. package/build/contracts/src/bridge/Inbox.sol/Inbox.json +20 -2
  109. package/build/contracts/src/bridge/Messages.sol/Messages.dbg.json +1 -1
  110. package/build/contracts/src/bridge/Messages.sol/Messages.json +2 -2
  111. package/build/contracts/src/bridge/Outbox.sol/Outbox.dbg.json +1 -1
  112. package/build/contracts/src/bridge/Outbox.sol/Outbox.json +2 -2
  113. package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.dbg.json +1 -1
  114. package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.json +566 -9
  115. package/build/contracts/src/chain/CacheManager.sol/CacheManager.dbg.json +1 -1
  116. package/build/contracts/src/chain/CacheManager.sol/CacheManager.json +15 -2
  117. package/build/contracts/src/challengeV2/EdgeChallengeManager.sol/EdgeChallengeManager.dbg.json +4 -0
  118. package/build/contracts/src/challengeV2/EdgeChallengeManager.sol/EdgeChallengeManager.json +1631 -0
  119. package/build/contracts/src/challengeV2/IAssertionChain.sol/IAssertionChain.dbg.json +4 -0
  120. package/build/contracts/src/challengeV2/IAssertionChain.sol/IAssertionChain.json +247 -0
  121. package/build/contracts/src/challengeV2/IEdgeChallengeManager.sol/IEdgeChallengeManager.dbg.json +4 -0
  122. package/build/contracts/src/challengeV2/IEdgeChallengeManager.sol/IEdgeChallengeManager.json +762 -0
  123. package/build/contracts/src/challengeV2/libraries/ArrayUtilsLib.sol/ArrayUtilsLib.dbg.json +4 -0
  124. package/build/contracts/src/challengeV2/libraries/ArrayUtilsLib.sol/ArrayUtilsLib.json +10 -0
  125. package/build/contracts/src/challengeV2/libraries/ChallengeEdgeLib.sol/ChallengeEdgeLib.dbg.json +4 -0
  126. package/build/contracts/{@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.json → src/challengeV2/libraries/ChallengeEdgeLib.sol/ChallengeEdgeLib.json} +4 -4
  127. package/build/contracts/src/challengeV2/libraries/EdgeChallengeManagerLib.sol/EdgeChallengeManagerLib.dbg.json +4 -0
  128. package/build/contracts/src/challengeV2/libraries/EdgeChallengeManagerLib.sol/EdgeChallengeManagerLib.json +24 -0
  129. package/build/contracts/src/challengeV2/libraries/MerkleTreeAccumulatorLib.sol/MerkleTreeAccumulatorLib.dbg.json +4 -0
  130. package/build/contracts/src/challengeV2/libraries/MerkleTreeAccumulatorLib.sol/MerkleTreeAccumulatorLib.json +24 -0
  131. package/build/contracts/src/challengeV2/libraries/UintUtilsLib.sol/UintUtilsLib.dbg.json +4 -0
  132. package/build/contracts/src/challengeV2/libraries/UintUtilsLib.sol/UintUtilsLib.json +10 -0
  133. package/build/contracts/src/libraries/AddressAliasHelper.sol/AddressAliasHelper.dbg.json +1 -1
  134. package/build/contracts/src/libraries/AddressAliasHelper.sol/AddressAliasHelper.json +2 -2
  135. package/build/contracts/src/libraries/AdminFallbackProxy.sol/AdminFallbackProxy.dbg.json +1 -1
  136. package/build/contracts/src/libraries/AdminFallbackProxy.sol/AdminFallbackProxy.json +2 -2
  137. package/build/contracts/src/libraries/AdminFallbackProxy.sol/DoubleLogicERC1967Upgrade.dbg.json +1 -1
  138. package/build/contracts/src/libraries/ArbitrumChecker.sol/ArbitrumChecker.dbg.json +1 -1
  139. package/build/contracts/src/libraries/ArbitrumChecker.sol/ArbitrumChecker.json +2 -2
  140. package/build/contracts/src/libraries/CallerChecker.sol/CallerChecker.dbg.json +4 -0
  141. package/build/contracts/src/{challenge/ChallengeLib.sol/ChallengeLib.json → libraries/CallerChecker.sol/CallerChecker.json} +4 -4
  142. package/build/contracts/src/libraries/CryptographyPrimitives.sol/CryptographyPrimitives.dbg.json +1 -1
  143. package/build/contracts/src/libraries/CryptographyPrimitives.sol/CryptographyPrimitives.json +2 -2
  144. package/build/contracts/src/libraries/DecimalsConverterHelper.sol/DecimalsConverterHelper.dbg.json +1 -1
  145. package/build/contracts/src/libraries/DecimalsConverterHelper.sol/DecimalsConverterHelper.json +2 -2
  146. package/build/contracts/src/libraries/DelegateCallAware.sol/DelegateCallAware.dbg.json +1 -1
  147. package/build/contracts/src/libraries/DoubleLogicUUPSUpgradeable.sol/DoubleLogicUUPSUpgradeable.dbg.json +1 -1
  148. package/build/contracts/src/libraries/GasRefundEnabled.sol/GasRefundEnabled.dbg.json +1 -1
  149. package/build/contracts/src/libraries/IGasRefunder.sol/IGasRefunder.dbg.json +1 -1
  150. package/build/contracts/src/libraries/IReader4844.sol/IReader4844.dbg.json +1 -1
  151. package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.dbg.json +1 -1
  152. package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.json +2 -2
  153. package/build/contracts/src/libraries/UUPSNotUpgradeable.sol/UUPSNotUpgradeable.dbg.json +1 -1
  154. package/build/contracts/src/mocks/Benchmarks.sol/Benchmarks.dbg.json +1 -1
  155. package/build/contracts/src/mocks/Benchmarks.sol/Benchmarks.json +2 -2
  156. package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.dbg.json +1 -1
  157. package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.json +8 -8
  158. package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.dbg.json +1 -1
  159. package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.json +15 -2
  160. package/build/contracts/src/mocks/CreateTest.sol/CreateTest.dbg.json +1 -1
  161. package/build/contracts/src/mocks/CreateTest.sol/CreateTest.json +2 -2
  162. package/build/contracts/src/mocks/HostioTest.sol/HostioTest.dbg.json +1 -1
  163. package/build/contracts/src/mocks/HostioTest.sol/HostioTest.json +2 -2
  164. package/build/contracts/src/mocks/InboxStub.sol/InboxStub.dbg.json +1 -1
  165. package/build/contracts/src/mocks/InboxStub.sol/InboxStub.json +2 -2
  166. package/build/contracts/src/mocks/MerkleTreeAccess.sol/MerkleTreeAccess.dbg.json +4 -0
  167. package/build/contracts/src/mocks/MerkleTreeAccess.sol/MerkleTreeAccess.json +227 -0
  168. package/build/contracts/src/mocks/MockRollupEventInbox.sol/MockRollupEventInbox.dbg.json +4 -0
  169. package/build/contracts/src/mocks/MockRollupEventInbox.sol/MockRollupEventInbox.json +133 -0
  170. package/build/contracts/src/mocks/MultiCallTest.sol/MultiCallTest.dbg.json +1 -1
  171. package/build/contracts/src/mocks/MultiCallTest.sol/MultiCallTest.json +2 -2
  172. package/build/contracts/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol/PendingBlkTimeAndNrAdvanceCheck.dbg.json +1 -1
  173. package/build/contracts/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol/PendingBlkTimeAndNrAdvanceCheck.json +2 -2
  174. package/build/contracts/src/mocks/Program.sol/ProgramTest.dbg.json +1 -1
  175. package/build/contracts/src/mocks/Program.sol/ProgramTest.json +2 -2
  176. package/build/contracts/src/mocks/ProxyAdminForBinding.sol/ProxyAdminForBinding.dbg.json +1 -1
  177. package/build/contracts/src/mocks/ProxyAdminForBinding.sol/ProxyAdminForBinding.json +2 -2
  178. package/build/contracts/src/mocks/SdkStorage.sol/SdkStorage.dbg.json +1 -1
  179. package/build/contracts/src/mocks/SdkStorage.sol/SdkStorage.json +2 -2
  180. package/build/contracts/src/mocks/SequencerInboxBlobMock.sol/SequencerInboxBlobMock.dbg.json +4 -0
  181. package/build/contracts/src/mocks/SequencerInboxBlobMock.sol/SequencerInboxBlobMock.json +1632 -0
  182. package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.dbg.json +1 -1
  183. package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.json +566 -9
  184. package/build/contracts/src/mocks/Simple.sol/Simple.dbg.json +1 -1
  185. package/build/contracts/src/mocks/Simple.sol/Simple.json +2 -2
  186. package/build/contracts/src/mocks/SimpleCacheManager.sol/SimpleCacheManager.dbg.json +1 -1
  187. package/build/contracts/src/mocks/SimpleCacheManager.sol/SimpleCacheManager.json +2 -2
  188. package/build/contracts/src/mocks/SimpleOneStepProofEntry.sol/SimpleOneStepProofEntry.dbg.json +4 -0
  189. package/build/contracts/src/mocks/SimpleOneStepProofEntry.sol/SimpleOneStepProofEntry.json +142 -0
  190. package/build/contracts/src/mocks/SimpleProxy.sol/SimpleProxy.dbg.json +1 -1
  191. package/build/contracts/src/mocks/SimpleProxy.sol/SimpleProxy.json +2 -2
  192. package/build/contracts/src/mocks/TestWETH9.sol/IWETH9.dbg.json +4 -0
  193. package/build/contracts/src/mocks/TestWETH9.sol/IWETH9.json +31 -0
  194. package/build/contracts/src/mocks/TestWETH9.sol/TestWETH9.dbg.json +4 -0
  195. package/build/contracts/src/mocks/TestWETH9.sol/TestWETH9.json +317 -0
  196. package/build/contracts/src/mocks/UpgradeExecutorMock.sol/UpgradeExecutorMock.dbg.json +1 -1
  197. package/build/contracts/src/mocks/UpgradeExecutorMock.sol/UpgradeExecutorMock.json +15 -2
  198. package/build/contracts/src/node-interface/NodeInterface.sol/NodeInterface.dbg.json +1 -1
  199. package/build/contracts/src/node-interface/NodeInterfaceDebug.sol/NodeInterfaceDebug.dbg.json +1 -1
  200. package/build/contracts/src/osp/HashProofHelper.sol/HashProofHelper.dbg.json +1 -1
  201. package/build/contracts/src/osp/HashProofHelper.sol/HashProofHelper.json +2 -2
  202. package/build/contracts/src/osp/IOneStepProofEntry.sol/IOneStepProofEntry.dbg.json +1 -1
  203. package/build/contracts/src/osp/IOneStepProofEntry.sol/IOneStepProofEntry.json +33 -9
  204. package/build/contracts/src/osp/IOneStepProofEntry.sol/OneStepProofEntryLib.dbg.json +1 -1
  205. package/build/contracts/src/osp/IOneStepProofEntry.sol/OneStepProofEntryLib.json +2 -2
  206. package/build/contracts/src/osp/IOneStepProver.sol/IOneStepProver.dbg.json +1 -1
  207. package/build/contracts/src/osp/IOneStepProver.sol/IOneStepProver.json +5 -0
  208. package/build/contracts/src/osp/OneStepProofEntry.sol/OneStepProofEntry.dbg.json +1 -1
  209. package/build/contracts/src/osp/OneStepProofEntry.sol/OneStepProofEntry.json +35 -11
  210. package/build/contracts/src/osp/OneStepProver0.sol/OneStepProver0.dbg.json +1 -1
  211. package/build/contracts/src/osp/OneStepProver0.sol/OneStepProver0.json +7 -2
  212. package/build/contracts/src/osp/OneStepProverHostIo.sol/OneStepProverHostIo.dbg.json +1 -1
  213. package/build/contracts/src/osp/OneStepProverHostIo.sol/OneStepProverHostIo.json +7 -2
  214. package/build/contracts/src/osp/OneStepProverMath.sol/OneStepProverMath.dbg.json +1 -1
  215. package/build/contracts/src/osp/OneStepProverMath.sol/OneStepProverMath.json +7 -2
  216. package/build/contracts/src/osp/OneStepProverMemory.sol/OneStepProverMemory.dbg.json +1 -1
  217. package/build/contracts/src/osp/OneStepProverMemory.sol/OneStepProverMemory.json +7 -2
  218. package/build/contracts/src/precompiles/ArbAddressTable.sol/ArbAddressTable.dbg.json +1 -1
  219. package/build/contracts/src/precompiles/ArbAggregator.sol/ArbAggregator.dbg.json +1 -1
  220. package/build/contracts/src/precompiles/ArbBLS.sol/ArbBLS.dbg.json +1 -1
  221. package/build/contracts/src/precompiles/ArbDebug.sol/ArbDebug.dbg.json +1 -1
  222. package/build/contracts/src/precompiles/ArbFunctionTable.sol/ArbFunctionTable.dbg.json +1 -1
  223. package/build/contracts/src/precompiles/ArbGasInfo.sol/ArbGasInfo.dbg.json +1 -1
  224. package/build/contracts/src/precompiles/ArbInfo.sol/ArbInfo.dbg.json +1 -1
  225. package/build/contracts/src/precompiles/ArbOwner.sol/ArbOwner.dbg.json +1 -1
  226. package/build/contracts/src/precompiles/ArbOwnerPublic.sol/ArbOwnerPublic.dbg.json +1 -1
  227. package/build/contracts/src/precompiles/ArbRetryableTx.sol/ArbRetryableTx.dbg.json +1 -1
  228. package/build/contracts/src/precompiles/ArbStatistics.sol/ArbStatistics.dbg.json +1 -1
  229. package/build/contracts/src/precompiles/ArbSys.sol/ArbSys.dbg.json +1 -1
  230. package/build/contracts/src/precompiles/ArbWasm.sol/ArbWasm.dbg.json +1 -1
  231. package/build/contracts/src/precompiles/ArbWasmCache.sol/ArbWasmCache.dbg.json +1 -1
  232. package/build/contracts/src/precompiles/ArbosActs.sol/ArbosActs.dbg.json +1 -1
  233. package/build/contracts/src/precompiles/ArbosTest.sol/ArbosTest.dbg.json +1 -1
  234. package/build/contracts/src/rollup/AbsRollupEventInbox.sol/AbsRollupEventInbox.dbg.json +1 -1
  235. package/build/contracts/src/rollup/Assertion.sol/AssertionNodeLib.dbg.json +4 -0
  236. package/build/contracts/src/rollup/{Node.sol/NodeLib.json → Assertion.sol/AssertionNodeLib.json} +4 -4
  237. package/build/contracts/src/rollup/AssertionState.sol/AssertionStateLib.dbg.json +4 -0
  238. package/build/contracts/src/{express-lane-auction/Balance.sol/BalanceLib.json → rollup/AssertionState.sol/AssertionStateLib.json} +4 -4
  239. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/BOLDUpgradeAction.dbg.json +4 -0
  240. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/BOLDUpgradeAction.json +807 -0
  241. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/ConstantArrayStorage.dbg.json +4 -0
  242. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/ConstantArrayStorage.json +35 -0
  243. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/IOldRollup.dbg.json +4 -0
  244. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/IOldRollup.json +361 -0
  245. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/IOldRollupAdmin.dbg.json +4 -0
  246. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/IOldRollupAdmin.json +38 -0
  247. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/ISeqInboxPostUpgradeInit.dbg.json +4 -0
  248. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/ISeqInboxPostUpgradeInit.json +41 -0
  249. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/RollupReader.dbg.json +4 -0
  250. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/RollupReader.json +385 -0
  251. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/StateHashPreImageLookup.dbg.json +4 -0
  252. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/StateHashPreImageLookup.json +203 -0
  253. package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.dbg.json +1 -1
  254. package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.json +62 -10
  255. package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.dbg.json +1 -1
  256. package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.json +2 -2
  257. package/build/contracts/src/rollup/ERC20RollupEventInbox.sol/ERC20RollupEventInbox.dbg.json +1 -1
  258. package/build/contracts/src/rollup/ERC20RollupEventInbox.sol/ERC20RollupEventInbox.json +2 -2
  259. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/FactoryDeployerHelper.dbg.json +1 -1
  260. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/FactoryDeployerHelper.json +2 -2
  261. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IDeployHelper.dbg.json +1 -1
  262. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IERC20.dbg.json +1 -1
  263. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IERC20Bridge.dbg.json +1 -1
  264. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IInboxBase.dbg.json +1 -1
  265. package/build/contracts/src/rollup/IRollupAdmin.sol/IRollupAdmin.dbg.json +1 -1
  266. package/build/contracts/src/rollup/IRollupAdmin.sol/IRollupAdmin.json +473 -99
  267. package/build/contracts/src/rollup/IRollupCore.sol/IRollupCore.dbg.json +1 -1
  268. package/build/contracts/src/rollup/IRollupCore.sol/IRollupCore.json +315 -221
  269. package/build/contracts/src/rollup/IRollupEventInbox.sol/IRollupEventInbox.dbg.json +1 -1
  270. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUser.dbg.json +1 -1
  271. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUser.json +678 -499
  272. package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.dbg.json +1 -1
  273. package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.json +806 -435
  274. package/build/contracts/src/rollup/RollupCore.sol/RollupCore.dbg.json +1 -1
  275. package/build/contracts/src/rollup/RollupCore.sol/RollupCore.json +323 -235
  276. package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.dbg.json +1 -1
  277. package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.json +98 -36
  278. package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.dbg.json +1 -1
  279. package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.json +2 -2
  280. package/build/contracts/src/rollup/RollupLib.sol/RollupLib.dbg.json +1 -1
  281. package/build/contracts/src/rollup/RollupLib.sol/RollupLib.json +2 -2
  282. package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.dbg.json +1 -1
  283. package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.json +97 -16
  284. package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.dbg.json +1 -1
  285. package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.json +924 -535
  286. package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.dbg.json +1 -1
  287. package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.json +15 -43
  288. package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.dbg.json +1 -1
  289. package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.json +2 -2
  290. package/build/contracts/src/state/Deserialize.sol/Deserialize.dbg.json +1 -1
  291. package/build/contracts/src/state/Deserialize.sol/Deserialize.json +2 -2
  292. package/build/contracts/src/state/GlobalState.sol/GlobalStateLib.dbg.json +1 -1
  293. package/build/contracts/src/state/GlobalState.sol/GlobalStateLib.json +2 -2
  294. package/build/contracts/src/state/Instructions.sol/Instructions.dbg.json +1 -1
  295. package/build/contracts/src/state/Instructions.sol/Instructions.json +2 -2
  296. package/build/contracts/src/state/Machine.sol/MachineLib.dbg.json +1 -1
  297. package/build/contracts/src/state/Machine.sol/MachineLib.json +2 -2
  298. package/build/contracts/src/state/MerkleProof.sol/MerkleProofLib.dbg.json +1 -1
  299. package/build/contracts/src/state/MerkleProof.sol/MerkleProofLib.json +2 -2
  300. package/build/contracts/src/state/Module.sol/ModuleLib.dbg.json +1 -1
  301. package/build/contracts/src/state/Module.sol/ModuleLib.json +2 -2
  302. package/build/contracts/src/state/ModuleMemory.sol/ModuleMemoryLib.dbg.json +1 -1
  303. package/build/contracts/src/state/ModuleMemory.sol/ModuleMemoryLib.json +2 -2
  304. package/build/contracts/src/state/ModuleMemoryCompact.sol/ModuleMemoryCompactLib.dbg.json +1 -1
  305. package/build/contracts/src/state/ModuleMemoryCompact.sol/ModuleMemoryCompactLib.json +2 -2
  306. package/build/contracts/src/state/MultiStack.sol/MultiStackLib.dbg.json +1 -1
  307. package/build/contracts/src/state/MultiStack.sol/MultiStackLib.json +2 -2
  308. package/build/contracts/src/state/PcArray.sol/PcArrayLib.dbg.json +1 -1
  309. package/build/contracts/src/state/PcArray.sol/PcArrayLib.json +2 -2
  310. package/build/contracts/src/state/StackFrame.sol/StackFrameLib.dbg.json +1 -1
  311. package/build/contracts/src/state/StackFrame.sol/StackFrameLib.json +2 -2
  312. package/build/contracts/src/state/Value.sol/ValueLib.dbg.json +1 -1
  313. package/build/contracts/src/state/Value.sol/ValueLib.json +2 -2
  314. package/build/contracts/src/state/ValueArray.sol/ValueArrayLib.dbg.json +1 -1
  315. package/build/contracts/src/state/ValueArray.sol/ValueArrayLib.json +2 -2
  316. package/build/contracts/src/state/ValueStack.sol/ValueStackLib.dbg.json +1 -1
  317. package/build/contracts/src/state/ValueStack.sol/ValueStackLib.json +2 -2
  318. package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.dbg.json +1 -1
  319. package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.json +15 -2
  320. package/build/contracts/src/test-helpers/CryptographyPrimitivesTester.sol/CryptographyPrimitivesTester.dbg.json +1 -1
  321. package/build/contracts/src/test-helpers/CryptographyPrimitivesTester.sol/CryptographyPrimitivesTester.json +2 -2
  322. package/build/contracts/src/test-helpers/EthVault.sol/EthVault.dbg.json +1 -1
  323. package/build/contracts/src/test-helpers/EthVault.sol/EthVault.json +2 -2
  324. package/build/contracts/src/test-helpers/MessageTester.sol/MessageTester.dbg.json +1 -1
  325. package/build/contracts/src/test-helpers/MessageTester.sol/MessageTester.json +2 -2
  326. package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.dbg.json +1 -1
  327. package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.json +2 -2
  328. package/build/contracts/src/test-helpers/RollupMock.sol/RollupMock.dbg.json +1 -1
  329. package/build/contracts/src/test-helpers/RollupMock.sol/RollupMock.json +2 -15
  330. package/build/contracts/src/test-helpers/TestToken.sol/TestToken.dbg.json +1 -1
  331. package/build/contracts/src/test-helpers/TestToken.sol/TestToken.json +2 -2
  332. package/build/contracts/src/test-helpers/ValueArrayTester.sol/ValueArrayTester.dbg.json +1 -1
  333. package/build/contracts/src/test-helpers/ValueArrayTester.sol/ValueArrayTester.json +2 -2
  334. package/out/yul/Reader4844.yul/Reader4844.json +1 -1
  335. package/package.json +11 -4
  336. package/src/assertionStakingPool/AbsBoldStakingPool.sol +66 -0
  337. package/src/assertionStakingPool/AssertionStakingPool.sol +70 -0
  338. package/src/assertionStakingPool/AssertionStakingPoolCreator.sol +35 -0
  339. package/src/assertionStakingPool/EdgeStakingPool.sol +57 -0
  340. package/src/assertionStakingPool/EdgeStakingPoolCreator.sol +34 -0
  341. package/src/assertionStakingPool/StakingPoolCreatorUtils.sol +25 -0
  342. package/src/assertionStakingPool/interfaces/IAbsBoldStakingPool.sol +41 -0
  343. package/src/assertionStakingPool/interfaces/IAssertionStakingPool.sol +36 -0
  344. package/src/assertionStakingPool/interfaces/IAssertionStakingPoolCreator.sol +31 -0
  345. package/src/assertionStakingPool/interfaces/IEdgeStakingPool.sol +27 -0
  346. package/src/assertionStakingPool/interfaces/IEdgeStakingPoolCreator.sol +28 -0
  347. package/src/bridge/AbsBridge.sol +38 -48
  348. package/src/bridge/AbsInbox.sol +89 -92
  349. package/src/bridge/AbsOutbox.sol +23 -37
  350. package/src/bridge/Bridge.sol +6 -4
  351. package/src/bridge/DelayBuffer.sol +123 -0
  352. package/src/bridge/DelayBufferTypes.sol +38 -0
  353. package/src/bridge/ERC20Bridge.sol +8 -4
  354. package/src/bridge/ERC20Inbox.sol +46 -53
  355. package/src/bridge/ERC20Outbox.sol +7 -3
  356. package/src/bridge/GasRefunder.sol +38 -24
  357. package/src/bridge/IBridge.sol +30 -21
  358. package/src/bridge/IERC20Bridge.sol +1 -1
  359. package/src/bridge/IERC20Inbox.sol +4 -2
  360. package/src/bridge/IEthBridge.sol +4 -2
  361. package/src/bridge/IInbox.sol +4 -2
  362. package/src/bridge/IInboxBase.sol +16 -8
  363. package/src/bridge/IOutbox.sol +13 -8
  364. package/src/bridge/ISequencerInbox.sol +118 -13
  365. package/src/bridge/Inbox.sol +134 -151
  366. package/src/bridge/Messages.sol +48 -18
  367. package/src/bridge/Outbox.sol +6 -2
  368. package/src/bridge/SequencerInbox.sol +343 -279
  369. package/src/chain/CacheManager.sol +49 -18
  370. package/src/challengeV2/EdgeChallengeManager.sol +559 -0
  371. package/src/challengeV2/IAssertionChain.sol +39 -0
  372. package/src/challengeV2/IEdgeChallengeManager.sol +233 -0
  373. package/src/challengeV2/libraries/ArrayUtilsLib.sol +61 -0
  374. package/src/challengeV2/libraries/ChallengeEdgeLib.sol +277 -0
  375. package/src/challengeV2/libraries/ChallengeErrors.sol +108 -0
  376. package/src/challengeV2/libraries/EdgeChallengeManagerLib.sol +819 -0
  377. package/src/challengeV2/libraries/Enums.sol +26 -0
  378. package/src/challengeV2/libraries/MerkleTreeAccumulatorLib.sol +390 -0
  379. package/src/challengeV2/libraries/Structs.sol +176 -0
  380. package/src/challengeV2/libraries/UintUtilsLib.sol +74 -0
  381. package/src/libraries/AddressAliasHelper.sol +6 -2
  382. package/src/libraries/AdminFallbackProxy.sol +8 -4
  383. package/src/libraries/ArbitrumChecker.sol +3 -4
  384. package/src/libraries/CallerChecker.sol +18 -0
  385. package/src/libraries/CryptographyPrimitives.sol +39 -46
  386. package/src/libraries/DecimalsConverterHelper.sol +2 -4
  387. package/src/libraries/DoubleLogicUUPSUpgradeable.sol +10 -7
  388. package/src/libraries/Error.sol +21 -3
  389. package/src/libraries/GasRefundEnabled.sol +5 -6
  390. package/src/libraries/MerkleLib.sol +6 -5
  391. package/src/libraries/UUPSNotUpgradeable.sol +2 -4
  392. package/src/mocks/BridgeStub.sol +50 -48
  393. package/src/mocks/CreateTest.sol +3 -1
  394. package/src/mocks/HostioTest.sol +20 -16
  395. package/src/mocks/InboxStub.sol +22 -17
  396. package/src/mocks/MerkleTreeAccess.sol +72 -0
  397. package/src/mocks/MockRollupEventInbox.sol +59 -0
  398. package/src/mocks/MultiCallTest.sol +3 -1
  399. package/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol +3 -1
  400. package/src/mocks/Program.sol +9 -7
  401. package/src/mocks/SequencerInboxBlobMock.sol +38 -0
  402. package/src/mocks/SequencerInboxStub.sol +9 -12
  403. package/src/mocks/Simple.sol +13 -25
  404. package/src/mocks/SimpleCacheManager.sol +10 -3
  405. package/src/mocks/SimpleOneStepProofEntry.sol +60 -0
  406. package/src/mocks/SimpleProxy.sol +3 -1
  407. package/src/mocks/TestWETH9.sol +30 -0
  408. package/src/mocks/UpgradeExecutorMock.sol +10 -17
  409. package/src/node-interface/NodeInterface.sol +23 -22
  410. package/src/node-interface/NodeInterfaceDebug.sol +5 -3
  411. package/src/osp/HashProofHelper.sol +9 -10
  412. package/src/osp/IOneStepProofEntry.sol +14 -9
  413. package/src/osp/IOneStepProver.sol +1 -0
  414. package/src/osp/OneStepProofEntry.sol +63 -54
  415. package/src/osp/OneStepProver0.sol +14 -27
  416. package/src/osp/OneStepProverHostIo.sol +31 -58
  417. package/src/osp/OneStepProverMath.sol +15 -23
  418. package/src/osp/OneStepProverMemory.sol +9 -23
  419. package/src/precompiles/ArbAddressTable.sol +19 -9
  420. package/src/precompiles/ArbAggregator.sol +12 -4
  421. package/src/precompiles/ArbBLS.sol +1 -3
  422. package/src/precompiles/ArbDebug.sol +5 -11
  423. package/src/precompiles/ArbFunctionTable.sol +7 -10
  424. package/src/precompiles/ArbGasInfo.sol +9 -43
  425. package/src/precompiles/ArbInfo.sol +6 -2
  426. package/src/precompiles/ArbOwner.sol +101 -34
  427. package/src/precompiles/ArbOwnerPublic.sol +6 -2
  428. package/src/precompiles/ArbRetryableTx.sol +15 -5
  429. package/src/precompiles/ArbStatistics.sol +1 -8
  430. package/src/precompiles/ArbSys.sol +16 -18
  431. package/src/precompiles/ArbWasm.sol +24 -14
  432. package/src/precompiles/ArbWasmCache.sol +15 -5
  433. package/src/precompiles/ArbosTest.sol +3 -1
  434. package/src/rollup/AbsRollupEventInbox.sol +15 -16
  435. package/src/rollup/Assertion.sol +100 -0
  436. package/src/rollup/AssertionState.sol +29 -0
  437. package/src/rollup/BOLDUpgradeAction.sol +631 -0
  438. package/src/rollup/BridgeCreator.sol +42 -15
  439. package/src/rollup/Config.sol +15 -7
  440. package/src/rollup/DeployHelper.sol +12 -31
  441. package/src/rollup/ERC20RollupEventInbox.sol +8 -9
  442. package/src/rollup/FactoryDeployerHelper.sol +8 -10
  443. package/src/rollup/IRollupAdmin.sol +127 -45
  444. package/src/rollup/IRollupCore.sol +64 -84
  445. package/src/rollup/IRollupEventInbox.sol +3 -1
  446. package/src/rollup/IRollupLogic.sol +35 -72
  447. package/src/rollup/RollupAdminLogic.sol +224 -203
  448. package/src/rollup/RollupCore.sol +407 -428
  449. package/src/rollup/RollupCreator.sol +84 -71
  450. package/src/rollup/RollupEventInbox.sol +7 -7
  451. package/src/rollup/RollupLib.sol +50 -86
  452. package/src/rollup/RollupProxy.sol +8 -12
  453. package/src/rollup/RollupUserLogic.sol +279 -644
  454. package/src/rollup/ValidatorUtils.sol +0 -242
  455. package/src/rollup/ValidatorWallet.sol +22 -38
  456. package/src/rollup/ValidatorWalletCreator.sol +8 -8
  457. package/src/state/Deserialize.sol +74 -96
  458. package/src/state/GlobalState.sol +74 -20
  459. package/src/state/Instructions.sol +4 -3
  460. package/src/state/Machine.sol +18 -19
  461. package/src/state/Module.sol +14 -13
  462. package/src/state/ModuleMemory.sol +6 -25
  463. package/src/state/ModuleMemoryCompact.sol +3 -1
  464. package/src/state/MultiStack.sol +16 -20
  465. package/src/state/PcArray.sol +7 -7
  466. package/src/state/StackFrame.sol +21 -14
  467. package/src/state/Value.sol +18 -6
  468. package/src/state/ValueArray.sol +7 -7
  469. package/src/state/ValueStack.sol +9 -3
  470. package/src/test-helpers/BridgeTester.sol +32 -42
  471. package/src/test-helpers/CryptographyPrimitivesTester.sol +12 -13
  472. package/src/test-helpers/EthVault.sol +4 -2
  473. package/src/test-helpers/InterfaceCompatibilityTester.sol +1 -1
  474. package/src/test-helpers/MessageTester.sol +3 -10
  475. package/src/test-helpers/OutboxWithoutOptTester.sol +12 -19
  476. package/src/test-helpers/RollupMock.sol +3 -7
  477. package/src/test-helpers/TestToken.sol +4 -2
  478. package/build/contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.dbg.json +0 -4
  479. package/build/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlEnumerableUpgradeable.sol/AccessControlEnumerableUpgradeable.dbg.json +0 -4
  480. package/build/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlEnumerableUpgradeable.sol/AccessControlEnumerableUpgradeable.json +0 -258
  481. package/build/contracts/@openzeppelin/contracts-upgradeable/access/IAccessControlEnumerableUpgradeable.sol/IAccessControlEnumerableUpgradeable.dbg.json +0 -4
  482. package/build/contracts/@openzeppelin/contracts-upgradeable/access/IAccessControlEnumerableUpgradeable.sol/IAccessControlEnumerableUpgradeable.json +0 -226
  483. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol/ERC20Upgradeable.dbg.json +0 -4
  484. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol/ERC20Upgradeable.json +0 -281
  485. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.dbg.json +0 -4
  486. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20BurnableUpgradeable.sol/ERC20BurnableUpgradeable.dbg.json +0 -4
  487. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20BurnableUpgradeable.sol/ERC20BurnableUpgradeable.json +0 -312
  488. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol/IERC20MetadataUpgradeable.dbg.json +0 -4
  489. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/cryptography/ECDSAUpgradeable.sol/ECDSAUpgradeable.dbg.json +0 -4
  490. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/cryptography/ECDSAUpgradeable.sol/ECDSAUpgradeable.json +0 -10
  491. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/cryptography/draft-EIP712Upgradeable.sol/EIP712Upgradeable.dbg.json +0 -4
  492. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/cryptography/draft-EIP712Upgradeable.sol/EIP712Upgradeable.json +0 -10
  493. package/build/contracts/src/challenge/ChallengeLib.sol/ChallengeLib.dbg.json +0 -4
  494. package/build/contracts/src/challenge/ChallengeManager.sol/ChallengeManager.dbg.json +0 -4
  495. package/build/contracts/src/challenge/ChallengeManager.sol/ChallengeManager.json +0 -746
  496. package/build/contracts/src/challenge/IChallengeManager.sol/IChallengeManager.dbg.json +0 -4
  497. package/build/contracts/src/challenge/IChallengeManager.sol/IChallengeManager.json +0 -441
  498. package/build/contracts/src/challenge/IChallengeResultReceiver.sol/IChallengeResultReceiver.dbg.json +0 -4
  499. package/build/contracts/src/challenge/IChallengeResultReceiver.sol/IChallengeResultReceiver.json +0 -34
  500. package/build/contracts/src/express-lane-auction/Balance.sol/BalanceLib.dbg.json +0 -4
  501. package/build/contracts/src/express-lane-auction/Burner.sol/Burner.dbg.json +0 -4
  502. package/build/contracts/src/express-lane-auction/Burner.sol/Burner.json +0 -47
  503. package/build/contracts/src/express-lane-auction/ELCRound.sol/LatestELCRoundsLib.dbg.json +0 -4
  504. package/build/contracts/src/express-lane-auction/ExpressLaneAuction.sol/ExpressLaneAuction.dbg.json +0 -4
  505. package/build/contracts/src/express-lane-auction/ExpressLaneAuction.sol/ExpressLaneAuction.json +0 -1588
  506. package/build/contracts/src/express-lane-auction/IExpressLaneAuction.sol/IExpressLaneAuction.dbg.json +0 -4
  507. package/build/contracts/src/express-lane-auction/IExpressLaneAuction.sol/IExpressLaneAuction.json +0 -1296
  508. package/build/contracts/src/express-lane-auction/RoundTimingInfo.sol/RoundTimingInfoLib.dbg.json +0 -4
  509. package/build/contracts/src/express-lane-auction/RoundTimingInfo.sol/RoundTimingInfoLib.json +0 -10
  510. package/build/contracts/src/mocks/MockResultReceiver.sol/MockResultReceiver.dbg.json +0 -4
  511. package/build/contracts/src/mocks/MockResultReceiver.sol/MockResultReceiver.json +0 -188
  512. package/build/contracts/src/mocks/SingleExecutionChallenge.sol/SingleExecutionChallenge.dbg.json +0 -4
  513. package/build/contracts/src/mocks/SingleExecutionChallenge.sol/SingleExecutionChallenge.json +0 -797
  514. package/build/contracts/src/mocks/TimedOutChallengeManager.sol/TimedOutChallengeManager.dbg.json +0 -4
  515. package/build/contracts/src/mocks/TimedOutChallengeManager.sol/TimedOutChallengeManager.json +0 -746
  516. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserAbs.dbg.json +0 -4
  517. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserAbs.json +0 -1332
  518. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserERC20.dbg.json +0 -4
  519. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserERC20.json +0 -1466
  520. package/build/contracts/src/rollup/Node.sol/NodeLib.dbg.json +0 -4
  521. package/build/contracts/src/rollup/RollupUserLogic.sol/AbsRollupUserLogic.dbg.json +0 -4
  522. package/build/contracts/src/rollup/RollupUserLogic.sol/AbsRollupUserLogic.json +0 -1614
  523. package/build/contracts/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic.dbg.json +0 -4
  524. package/build/contracts/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic.json +0 -1748
  525. package/build/contracts/src/rollup/ValidatorUtils.sol/ValidatorUtils.dbg.json +0 -4
  526. package/build/contracts/src/rollup/ValidatorUtils.sol/ValidatorUtils.json +0 -379
  527. package/src/challenge/ChallengeLib.sol +0 -88
  528. package/src/challenge/ChallengeManager.sol +0 -375
  529. package/src/challenge/IChallengeManager.sol +0 -86
  530. package/src/challenge/IChallengeResultReceiver.sol +0 -13
  531. package/src/express-lane-auction/Balance.sol +0 -142
  532. package/src/express-lane-auction/Burner.sol +0 -25
  533. package/src/express-lane-auction/ELCRound.sol +0 -73
  534. package/src/express-lane-auction/Errors.sol +0 -31
  535. package/src/express-lane-auction/ExpressLaneAuction.sol +0 -565
  536. package/src/express-lane-auction/IExpressLaneAuction.sol +0 -421
  537. package/src/express-lane-auction/RoundTimingInfo.sol +0 -115
  538. package/src/mocks/MockResultReceiver.sol +0 -59
  539. package/src/mocks/SingleExecutionChallenge.sol +0 -41
  540. package/src/mocks/TimedOutChallengeManager.sol +0 -13
  541. package/src/rollup/Node.sol +0 -113
@@ -0,0 +1,133 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MockRollupEventInbox",
4
+ "sourceName": "src/mocks/MockRollupEventInbox.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "AlreadyInit",
9
+ "type": "error"
10
+ },
11
+ {
12
+ "inputs": [],
13
+ "name": "HadZeroInit",
14
+ "type": "error"
15
+ },
16
+ {
17
+ "inputs": [
18
+ {
19
+ "internalType": "address",
20
+ "name": "sender",
21
+ "type": "address"
22
+ },
23
+ {
24
+ "internalType": "address",
25
+ "name": "owner",
26
+ "type": "address"
27
+ }
28
+ ],
29
+ "name": "NotOwner",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "anonymous": false,
34
+ "inputs": [
35
+ {
36
+ "indexed": true,
37
+ "internalType": "uint256",
38
+ "name": "messageNum",
39
+ "type": "uint256"
40
+ },
41
+ {
42
+ "indexed": false,
43
+ "internalType": "bytes",
44
+ "name": "data",
45
+ "type": "bytes"
46
+ }
47
+ ],
48
+ "name": "InboxMessageDelivered",
49
+ "type": "event"
50
+ },
51
+ {
52
+ "anonymous": false,
53
+ "inputs": [
54
+ {
55
+ "indexed": true,
56
+ "internalType": "uint256",
57
+ "name": "messageNum",
58
+ "type": "uint256"
59
+ }
60
+ ],
61
+ "name": "InboxMessageDeliveredFromOrigin",
62
+ "type": "event"
63
+ },
64
+ {
65
+ "inputs": [],
66
+ "name": "bridge",
67
+ "outputs": [
68
+ {
69
+ "internalType": "contract IBridge",
70
+ "name": "",
71
+ "type": "address"
72
+ }
73
+ ],
74
+ "stateMutability": "view",
75
+ "type": "function"
76
+ },
77
+ {
78
+ "inputs": [
79
+ {
80
+ "internalType": "contract IBridge",
81
+ "name": "_bridge",
82
+ "type": "address"
83
+ }
84
+ ],
85
+ "name": "initialize",
86
+ "outputs": [],
87
+ "stateMutability": "nonpayable",
88
+ "type": "function"
89
+ },
90
+ {
91
+ "inputs": [],
92
+ "name": "rollup",
93
+ "outputs": [
94
+ {
95
+ "internalType": "address",
96
+ "name": "",
97
+ "type": "address"
98
+ }
99
+ ],
100
+ "stateMutability": "view",
101
+ "type": "function"
102
+ },
103
+ {
104
+ "inputs": [
105
+ {
106
+ "internalType": "uint256",
107
+ "name": "chainId",
108
+ "type": "uint256"
109
+ },
110
+ {
111
+ "internalType": "string",
112
+ "name": "chainConfig",
113
+ "type": "string"
114
+ }
115
+ ],
116
+ "name": "rollupInitialized",
117
+ "outputs": [],
118
+ "stateMutability": "nonpayable",
119
+ "type": "function"
120
+ },
121
+ {
122
+ "inputs": [],
123
+ "name": "updateRollupAddress",
124
+ "outputs": [],
125
+ "stateMutability": "nonpayable",
126
+ "type": "function"
127
+ }
128
+ ],
129
+ "bytecode": "0x60a06040523060805234801561001457600080fd5b506080516109ae6100366000396000818160e801526102a701526109ae6000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063cb23bcb511610050578063cb23bcb514610089578063cf8d56d6146100b8578063e78cea92146100cb57600080fd5b80636ae71f121461006c578063c4d66de814610076575b600080fd5b6100746100de565b005b6100746100843660046107a2565b61029d565b60015461009c906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b6100746100c63660046107c6565b610491565b60005461009c906001600160a01b031681565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036101815760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084015b60405180910390fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038054336001600160a01b038216146101f7576040517f23295f0e0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0382166024820152604401610178565b60008054906101000a90046001600160a01b03166001600160a01b031663cb23bcb56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610248573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026c9190610842565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03929092169190911790555050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361033b5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610178565b6000546001600160a01b03161561037e576040517fef34ca5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166103be576040517f1ad0f74300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038316908117909155604080517fcb23bcb5000000000000000000000000000000000000000000000000000000008152905163cb23bcb5916004808201926020929091908290030181865afa15801561043d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104619190610842565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691909117905550565b6001546001600160a01b031633146104eb5760405162461bcd60e51b815260206004820152600b60248201527f4f4e4c595f524f4c4c55500000000000000000000000000000000000000000006044820152606401610178565b806105385760405162461bcd60e51b815260206004820152601260248201527f454d5054595f434841494e5f434f4e46494700000000000000000000000000006044820152606401610178565b6001806105436106c4565b156105b857606c6001600160a01b031663f5d6ded76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610587573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ab919061085f565b6105b59082610878565b90505b600085838387876040516020016105d39594939291906108b8565b60408051808303601f190181529082905260008054825160208401207f8db5993b000000000000000000000000000000000000000000000000000000008552600b6004860152602485018390526044850152919350916001600160a01b0390911690638db5993b906064016020604051808303816000875af115801561065d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610681919061085f565b9050807fff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b836040516106b39190610929565b60405180910390a250505050505050565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f051038f200000000000000000000000000000000000000000000000000000000179052905160009182918291606491610730919061095c565b600060405180830381855afa9150503d806000811461076b576040519150601f19603f3d011682016040523d82523d6000602084013e610770565b606091505b5091509150818015610783575080516020145b9250505090565b6001600160a01b038116811461079f57600080fd5b50565b6000602082840312156107b457600080fd5b81356107bf8161078a565b9392505050565b6000806000604084860312156107db57600080fd5b83359250602084013567ffffffffffffffff808211156107fa57600080fd5b818601915086601f83011261080e57600080fd5b81358181111561081d57600080fd5b87602082850101111561082f57600080fd5b6020830194508093505050509250925092565b60006020828403121561085457600080fd5b81516107bf8161078a565b60006020828403121561087157600080fd5b5051919050565b808201808211156108b2577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b8581527fff000000000000000000000000000000000000000000000000000000000000008560f81b1660208201528360218201528183604183013760009101604101908152949350505050565b60005b83811015610920578181015183820152602001610908565b50506000910152565b6020815260008251806020840152610948816040850160208701610905565b601f01601f19169190910160400192915050565b6000825161096e818460208701610905565b919091019291505056fea2646970667358221220e671ee7ba0f7a0055b05c96a92e2bef31fdfcad362cfb66b44559a6c2be8d7da64736f6c63430008110033",
130
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100675760003560e01c8063cb23bcb511610050578063cb23bcb514610089578063cf8d56d6146100b8578063e78cea92146100cb57600080fd5b80636ae71f121461006c578063c4d66de814610076575b600080fd5b6100746100de565b005b6100746100843660046107a2565b61029d565b60015461009c906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b6100746100c63660046107c6565b610491565b60005461009c906001600160a01b031681565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036101815760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084015b60405180910390fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038054336001600160a01b038216146101f7576040517f23295f0e0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0382166024820152604401610178565b60008054906101000a90046001600160a01b03166001600160a01b031663cb23bcb56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610248573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026c9190610842565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03929092169190911790555050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361033b5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610178565b6000546001600160a01b03161561037e576040517fef34ca5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166103be576040517f1ad0f74300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038316908117909155604080517fcb23bcb5000000000000000000000000000000000000000000000000000000008152905163cb23bcb5916004808201926020929091908290030181865afa15801561043d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104619190610842565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691909117905550565b6001546001600160a01b031633146104eb5760405162461bcd60e51b815260206004820152600b60248201527f4f4e4c595f524f4c4c55500000000000000000000000000000000000000000006044820152606401610178565b806105385760405162461bcd60e51b815260206004820152601260248201527f454d5054595f434841494e5f434f4e46494700000000000000000000000000006044820152606401610178565b6001806105436106c4565b156105b857606c6001600160a01b031663f5d6ded76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610587573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ab919061085f565b6105b59082610878565b90505b600085838387876040516020016105d39594939291906108b8565b60408051808303601f190181529082905260008054825160208401207f8db5993b000000000000000000000000000000000000000000000000000000008552600b6004860152602485018390526044850152919350916001600160a01b0390911690638db5993b906064016020604051808303816000875af115801561065d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610681919061085f565b9050807fff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b836040516106b39190610929565b60405180910390a250505050505050565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f051038f200000000000000000000000000000000000000000000000000000000179052905160009182918291606491610730919061095c565b600060405180830381855afa9150503d806000811461076b576040519150601f19603f3d011682016040523d82523d6000602084013e610770565b606091505b5091509150818015610783575080516020145b9250505090565b6001600160a01b038116811461079f57600080fd5b50565b6000602082840312156107b457600080fd5b81356107bf8161078a565b9392505050565b6000806000604084860312156107db57600080fd5b83359250602084013567ffffffffffffffff808211156107fa57600080fd5b818601915086601f83011261080e57600080fd5b81358181111561081d57600080fd5b87602082850101111561082f57600080fd5b6020830194508093505050509250925092565b60006020828403121561085457600080fd5b81516107bf8161078a565b60006020828403121561087157600080fd5b5051919050565b808201808211156108b2577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b8581527fff000000000000000000000000000000000000000000000000000000000000008560f81b1660208201528360218201528183604183013760009101604101908152949350505050565b60005b83811015610920578181015183820152602001610908565b50506000910152565b6020815260008251806020840152610948816040850160208701610905565b601f01601f19169190910160400192915050565b6000825161096e818460208701610905565b919091019291505056fea2646970667358221220e671ee7ba0f7a0055b05c96a92e2bef31fdfcad362cfb66b44559a6c2be8d7da64736f6c63430008110033",
131
+ "linkReferences": {},
132
+ "deployedLinkReferences": {}
133
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/671b0778dc33f2c1b20cf41504c8e4d9.json"
3
+ "buildInfo": "../../../build-info/20d3c20b27a0078f8acb7ef1c538821c.json"
4
4
  }
@@ -64,8 +64,8 @@
64
64
  "type": "fallback"
65
65
  }
66
66
  ],
67
- "bytecode": "0x608060405234801561001057600080fd5b5061072c806100206000396000f3fe608060405260003660608161001357600080fd5b6000838360008181106100285761002861054e565b919091013560f81c915061004190508360018187610564565b93509350606060005b8260ff168160ff1610156104e8576000610066878760046104f6565b9050610075866004818a610564565b909750955036600061008f63ffffffff8416828a8c610564565b90925090506100a68863ffffffff8516818c610564565b985098506000828260008181106100bf576100bf61054e565b919091013560f81c91506100d890508260018186610564565b909350915060f081166103615760006003821661010f576100fb848460206104f6565b905061010a8360208187610564565b935093505b600061011e6014828688610564565b6101279161058e565b60601c905036600061013c866014818a610564565b909250905060606000600387166101b457846001600160a01b03168685856040516101689291906105c3565b60006040518083038185875af1925050503d80600081146101a5576040519150601f19603f3d011682016040523d82523d6000602084013e6101aa565b606091505b50925090506102b7565b600160038816141561021557846001600160a01b031684846040516101da9291906105c3565b600060405180830381855af49150503d80600081146101a5576040519150601f19603f3d011682016040523d82523d6000602084013e6101aa565b600260038816141561027657846001600160a01b0316848460405161023b9291906105c3565b600060405180830381855afa9150503d80600081146101a5576040519150601f19603f3d011682016040523d82523d6000602084013e6101aa565b60405162461bcd60e51b81526020600482015260116024820152701d5b9adb9bdddb8818d85b1b081ada5b99607a1b60448201526064015b60405180910390fd5b806102eb57600487166102d857815180156102d3578060208401fd5b600080fd5b6040518060200160405280600081525091505b6008871615610332577f30ad2f9d9b34e611e2e65d13ec9bb22af3424e51619d6006cec561bc2c322cc5858e83856040516103299493929190610603565b60405180910390a15b8b82604051602001610345929190610658565b6040516020818303038152906040529b505050505050506104d1565b601060f08216141561049757600061037c6020828587610564565b61038591610687565b90506103948360208187610564565b9094509250600080600384166103c9576103b2602060008789610564565b6103bb91610687565b915060019050818355610444565b600160038516141561040557505080546040516000906103ef908a9084906020016106a6565b6040516020818303038152906040529850610444565b60405162461bcd60e51b81526020600482015260146024820152731d5b9adb9bdddb881cdd1bdc9859d9481ada5b9960621b60448201526064016102ae565b600884161561048f5760408051848152602081018490528215158183015290517f6ab08a9a891703dcd5859f8e8328215fef6d9f250e7d58267bee45aabaee2fa89181900360600190a15b5050506104d1565b60405162461bcd60e51b815260206004820152600f60248201526e1d5b9adb9bdddb8818dbdb5b585b99608a1b60448201526064016102ae565b5050505080806104e0906106c8565b91505061004a565b508051945060200192505050f35b600080805b8360ff168160ff16101561054557600882901b915085858260ff168181106105255761052561054e565b919091013560f81c9290921791508061053d816106c8565b9150506104fb565b50949350505050565b634e487b7160e01b600052603260045260246000fd5b6000808585111561057457600080fd5b8386111561058157600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff1981358181169160148510156105bb5780818660140360031b1b83161692505b505092915050565b8183823760009101908152919050565b60005b838110156105ee5781810151838201526020016105d6565b838111156105fd576000848401525b50505050565b60018060a01b038516815260ff84166020820152821515604082015260806060820152600082518060808401526106418160a08501602087016105d3565b601f01601f19169190910160a00195945050505050565b6000835161066a8184602088016105d3565b83519083019061067e8183602088016105d3565b01949350505050565b803560208310156106a057600019602084900360031b1b165b92915050565b600083516106b88184602088016105d3565b9190910191825250602001919050565b600060ff821660ff8114156106ed57634e487b7160e01b600052601160045260246000fd5b6001019291505056fea2646970667358221220f2e78137df29d5d63ed161371e5614c380dd2d72d1eb56b7abfd6437d496ee2264736f6c63430008090033",
68
- "deployedBytecode": "0x608060405260003660608161001357600080fd5b6000838360008181106100285761002861054e565b919091013560f81c915061004190508360018187610564565b93509350606060005b8260ff168160ff1610156104e8576000610066878760046104f6565b9050610075866004818a610564565b909750955036600061008f63ffffffff8416828a8c610564565b90925090506100a68863ffffffff8516818c610564565b985098506000828260008181106100bf576100bf61054e565b919091013560f81c91506100d890508260018186610564565b909350915060f081166103615760006003821661010f576100fb848460206104f6565b905061010a8360208187610564565b935093505b600061011e6014828688610564565b6101279161058e565b60601c905036600061013c866014818a610564565b909250905060606000600387166101b457846001600160a01b03168685856040516101689291906105c3565b60006040518083038185875af1925050503d80600081146101a5576040519150601f19603f3d011682016040523d82523d6000602084013e6101aa565b606091505b50925090506102b7565b600160038816141561021557846001600160a01b031684846040516101da9291906105c3565b600060405180830381855af49150503d80600081146101a5576040519150601f19603f3d011682016040523d82523d6000602084013e6101aa565b600260038816141561027657846001600160a01b0316848460405161023b9291906105c3565b600060405180830381855afa9150503d80600081146101a5576040519150601f19603f3d011682016040523d82523d6000602084013e6101aa565b60405162461bcd60e51b81526020600482015260116024820152701d5b9adb9bdddb8818d85b1b081ada5b99607a1b60448201526064015b60405180910390fd5b806102eb57600487166102d857815180156102d3578060208401fd5b600080fd5b6040518060200160405280600081525091505b6008871615610332577f30ad2f9d9b34e611e2e65d13ec9bb22af3424e51619d6006cec561bc2c322cc5858e83856040516103299493929190610603565b60405180910390a15b8b82604051602001610345929190610658565b6040516020818303038152906040529b505050505050506104d1565b601060f08216141561049757600061037c6020828587610564565b61038591610687565b90506103948360208187610564565b9094509250600080600384166103c9576103b2602060008789610564565b6103bb91610687565b915060019050818355610444565b600160038516141561040557505080546040516000906103ef908a9084906020016106a6565b6040516020818303038152906040529850610444565b60405162461bcd60e51b81526020600482015260146024820152731d5b9adb9bdddb881cdd1bdc9859d9481ada5b9960621b60448201526064016102ae565b600884161561048f5760408051848152602081018490528215158183015290517f6ab08a9a891703dcd5859f8e8328215fef6d9f250e7d58267bee45aabaee2fa89181900360600190a15b5050506104d1565b60405162461bcd60e51b815260206004820152600f60248201526e1d5b9adb9bdddb8818dbdb5b585b99608a1b60448201526064016102ae565b5050505080806104e0906106c8565b91505061004a565b508051945060200192505050f35b600080805b8360ff168160ff16101561054557600882901b915085858260ff168181106105255761052561054e565b919091013560f81c9290921791508061053d816106c8565b9150506104fb565b50949350505050565b634e487b7160e01b600052603260045260246000fd5b6000808585111561057457600080fd5b8386111561058157600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff1981358181169160148510156105bb5780818660140360031b1b83161692505b505092915050565b8183823760009101908152919050565b60005b838110156105ee5781810151838201526020016105d6565b838111156105fd576000848401525b50505050565b60018060a01b038516815260ff84166020820152821515604082015260806060820152600082518060808401526106418160a08501602087016105d3565b601f01601f19169190910160a00195945050505050565b6000835161066a8184602088016105d3565b83519083019061067e8183602088016105d3565b01949350505050565b803560208310156106a057600019602084900360031b1b165b92915050565b600083516106b88184602088016105d3565b9190910191825250602001919050565b600060ff821660ff8114156106ed57634e487b7160e01b600052601160045260246000fd5b6001019291505056fea2646970667358221220f2e78137df29d5d63ed161371e5614c380dd2d72d1eb56b7abfd6437d496ee2264736f6c63430008090033",
67
+ "bytecode": "0x608060405234801561001057600080fd5b50610800806100206000396000f3fe608060405260003660608161001357600080fd5b600083836000818110610028576100286105a0565b919091013560f81c9150610041905083600181876105cf565b93509350606060005b8260ff168160ff16101561053a57600061006687876004610548565b9050610075866004818a6105cf565b909750955036600061008f63ffffffff8416828a8c6105cf565b90925090506100a68863ffffffff8516818c6105cf565b985098506000828260008181106100bf576100bf6105a0565b919091013560f81c91506100d8905082600181866105cf565b909350915060f0811660000361039c5760006003821681036101145761010084846020610548565b905061010f83602081876105cf565b935093505b600061012360148286886105cf565b61012c916105f9565b60601c9050366000610141866014818a6105cf565b9092509050606060006003871681036101c8578473ffffffffffffffffffffffffffffffffffffffff1686858560405161017c929190610641565b60006040518083038185875af1925050503d80600081146101b9576040519150601f19603f3d011682016040523d82523d6000602084013e6101be565b606091505b50925090506102ef565b60038716600103610235578473ffffffffffffffffffffffffffffffffffffffff1684846040516101fa929190610641565b600060405180830381855af49150503d80600081146101b9576040519150601f19603f3d011682016040523d82523d6000602084013e6101be565b600387166002036102a2578473ffffffffffffffffffffffffffffffffffffffff168484604051610267929190610641565b600060405180830381855afa9150503d80600081146101b9576040519150601f19603f3d011682016040523d82523d6000602084013e6101be565b60405162461bcd60e51b815260206004820152601160248201527f756e6b6e6f776e2063616c6c206b696e6400000000000000000000000000000060448201526064015b60405180910390fd5b806103265760048716600003610313578151801561030e578060208401fd5b600080fd5b6040518060200160405280600081525091505b600887161561036d577f30ad2f9d9b34e611e2e65d13ec9bb22af3424e51619d6006cec561bc2c322cc5858e83856040516103649493929190610675565b60405180910390a15b8b826040516020016103809291906106f6565b6040516020818303038152906040529b50505050505050610523565b60f081166010036104db5760006103b660208285876105cf565b6103bf91610725565b90506103ce83602081876105cf565b9094509250600080600384168103610405576103ee6020600087896105cf565b6103f791610725565b915060019050818355610488565b60038416600103610440575050805460405160009061042a908a908490602001610762565b6040516020818303038152906040529850610488565b60405162461bcd60e51b815260206004820152601460248201527f756e6b6e6f776e2073746f72616765206b696e6400000000000000000000000060448201526064016102e6565b60088416156104d35760408051848152602081018490528215158183015290517f6ab08a9a891703dcd5859f8e8328215fef6d9f250e7d58267bee45aabaee2fa89181900360600190a15b505050610523565b60405162461bcd60e51b815260206004820152600f60248201527f756e6b6e6f776e20636f6d6d616e64000000000000000000000000000000000060448201526064016102e6565b50505050808061053290610784565b91505061004a565b508051945060200192505050f35b600080805b8360ff168160ff16101561059757600882901b915085858260ff16818110610577576105776105a0565b919091013560f81c9290921791508061058f81610784565b91505061054d565b50949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080858511156105df57600080fd5b838611156105ec57600080fd5b5050820193919092039150565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081358181169160148510156106395780818660140360031b1b83161692505b505092915050565b8183823760009101908152919050565b60005b8381101561066c578181015183820152602001610654565b50506000910152565b73ffffffffffffffffffffffffffffffffffffffff8516815260ff84166020820152821515604082015260806060820152600082518060808401526106c18160a0850160208701610651565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160a00195945050505050565b60008351610708818460208801610651565b83519083019061071c818360208801610651565b01949350505050565b8035602083101561075c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b165b92915050565b60008351610774818460208801610651565b9190910191825250602001919050565b600060ff821660ff81036107c1577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6001019291505056fea2646970667358221220b92445c25f54c0bac1aceb646756a61fc84928089e4fec16c01b77e3bcb11e2264736f6c63430008110033",
68
+ "deployedBytecode": "0x608060405260003660608161001357600080fd5b600083836000818110610028576100286105a0565b919091013560f81c9150610041905083600181876105cf565b93509350606060005b8260ff168160ff16101561053a57600061006687876004610548565b9050610075866004818a6105cf565b909750955036600061008f63ffffffff8416828a8c6105cf565b90925090506100a68863ffffffff8516818c6105cf565b985098506000828260008181106100bf576100bf6105a0565b919091013560f81c91506100d8905082600181866105cf565b909350915060f0811660000361039c5760006003821681036101145761010084846020610548565b905061010f83602081876105cf565b935093505b600061012360148286886105cf565b61012c916105f9565b60601c9050366000610141866014818a6105cf565b9092509050606060006003871681036101c8578473ffffffffffffffffffffffffffffffffffffffff1686858560405161017c929190610641565b60006040518083038185875af1925050503d80600081146101b9576040519150601f19603f3d011682016040523d82523d6000602084013e6101be565b606091505b50925090506102ef565b60038716600103610235578473ffffffffffffffffffffffffffffffffffffffff1684846040516101fa929190610641565b600060405180830381855af49150503d80600081146101b9576040519150601f19603f3d011682016040523d82523d6000602084013e6101be565b600387166002036102a2578473ffffffffffffffffffffffffffffffffffffffff168484604051610267929190610641565b600060405180830381855afa9150503d80600081146101b9576040519150601f19603f3d011682016040523d82523d6000602084013e6101be565b60405162461bcd60e51b815260206004820152601160248201527f756e6b6e6f776e2063616c6c206b696e6400000000000000000000000000000060448201526064015b60405180910390fd5b806103265760048716600003610313578151801561030e578060208401fd5b600080fd5b6040518060200160405280600081525091505b600887161561036d577f30ad2f9d9b34e611e2e65d13ec9bb22af3424e51619d6006cec561bc2c322cc5858e83856040516103649493929190610675565b60405180910390a15b8b826040516020016103809291906106f6565b6040516020818303038152906040529b50505050505050610523565b60f081166010036104db5760006103b660208285876105cf565b6103bf91610725565b90506103ce83602081876105cf565b9094509250600080600384168103610405576103ee6020600087896105cf565b6103f791610725565b915060019050818355610488565b60038416600103610440575050805460405160009061042a908a908490602001610762565b6040516020818303038152906040529850610488565b60405162461bcd60e51b815260206004820152601460248201527f756e6b6e6f776e2073746f72616765206b696e6400000000000000000000000060448201526064016102e6565b60088416156104d35760408051848152602081018490528215158183015290517f6ab08a9a891703dcd5859f8e8328215fef6d9f250e7d58267bee45aabaee2fa89181900360600190a15b505050610523565b60405162461bcd60e51b815260206004820152600f60248201527f756e6b6e6f776e20636f6d6d616e64000000000000000000000000000000000060448201526064016102e6565b50505050808061053290610784565b91505061004a565b508051945060200192505050f35b600080805b8360ff168160ff16101561059757600882901b915085858260ff16818110610577576105776105a0565b919091013560f81c9290921791508061058f81610784565b91505061054d565b50949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080858511156105df57600080fd5b838611156105ec57600080fd5b5050820193919092039150565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081358181169160148510156106395780818660140360031b1b83161692505b505092915050565b8183823760009101908152919050565b60005b8381101561066c578181015183820152602001610654565b50506000910152565b73ffffffffffffffffffffffffffffffffffffffff8516815260ff84166020820152821515604082015260806060820152600082518060808401526106c18160a0850160208701610651565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160a00195945050505050565b60008351610708818460208801610651565b83519083019061071c818360208801610651565b01949350505050565b8035602083101561075c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b165b92915050565b60008351610774818460208801610651565b9190910191825250602001919050565b600060ff821660ff81036107c1577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6001019291505056fea2646970667358221220b92445c25f54c0bac1aceb646756a61fc84928089e4fec16c01b77e3bcb11e2264736f6c63430008110033",
69
69
  "linkReferences": {},
70
70
  "deployedLinkReferences": {}
71
71
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/671b0778dc33f2c1b20cf41504c8e4d9.json"
3
+ "buildInfo": "../../../build-info/20d3c20b27a0078f8acb7ef1c538821c.json"
4
4
  }
@@ -29,8 +29,8 @@
29
29
  "type": "function"
30
30
  }
31
31
  ],
32
- "bytecode": "0x60c060405234801561001057600080fd5b50426080818152505060646001600160a01b031663a3b1b31d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561005357600080fd5b505afa158015610067573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061008b9190610093565b60a0526100ac565b6000602082840312156100a557600080fd5b5051919050565b60805160a0516103ad6100cf600039600060c401526000605a01526103ad6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634bc05a231461003b578063e46c80b614610045575b600080fd5b610043610058565b005b610043610053366004610320565b61019b565b7f000000000000000000000000000000000000000000000000000000000000000042116100c25760405162461bcd60e51b815260206004820152601360248201527254696d65206469646e277420616476616e636560681b60448201526064015b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000060646001600160a01b031663a3b1b31d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561011d57600080fd5b505afa158015610131573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101559190610339565b116101995760405162461bcd60e51b8152602060048201526014602482015273426c6f636b206469646e277420616476616e636560601b60448201526064016100b9565b565b600060646001600160a01b0316632b407a82600160646001600160a01b031663a3b1b31d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156101e957600080fd5b505afa1580156101fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102219190610339565b61022b9190610352565b6040518263ffffffff1660e01b815260040161024991815260200190565b60206040518083038186803b15801561026157600080fd5b505afa158015610275573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102999190610339565b9050806102da5760405162461bcd60e51b815260206004820152600f60248201526e0b48aa49ebe84989e8696be9082a69608b1b60448201526064016100b9565b81811461031c5760405162461bcd60e51b815260206004820152601060248201526f0aea49e9c8ebe84989e8696be9082a6960831b60448201526064016100b9565b5050565b60006020828403121561033257600080fd5b5035919050565b60006020828403121561034b57600080fd5b5051919050565b60008282101561037257634e487b7160e01b600052601160045260246000fd5b50039056fea26469706673582212202ff76cbf4de51d3cd6e280914d8f4ec0c8bf509de957e47db7e820a0cd1e5d4f64736f6c63430008090033",
33
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80634bc05a231461003b578063e46c80b614610045575b600080fd5b610043610058565b005b610043610053366004610320565b61019b565b7f000000000000000000000000000000000000000000000000000000000000000042116100c25760405162461bcd60e51b815260206004820152601360248201527254696d65206469646e277420616476616e636560681b60448201526064015b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000060646001600160a01b031663a3b1b31d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561011d57600080fd5b505afa158015610131573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101559190610339565b116101995760405162461bcd60e51b8152602060048201526014602482015273426c6f636b206469646e277420616476616e636560601b60448201526064016100b9565b565b600060646001600160a01b0316632b407a82600160646001600160a01b031663a3b1b31d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156101e957600080fd5b505afa1580156101fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102219190610339565b61022b9190610352565b6040518263ffffffff1660e01b815260040161024991815260200190565b60206040518083038186803b15801561026157600080fd5b505afa158015610275573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102999190610339565b9050806102da5760405162461bcd60e51b815260206004820152600f60248201526e0b48aa49ebe84989e8696be9082a69608b1b60448201526064016100b9565b81811461031c5760405162461bcd60e51b815260206004820152601060248201526f0aea49e9c8ebe84989e8696be9082a6960831b60448201526064016100b9565b5050565b60006020828403121561033257600080fd5b5035919050565b60006020828403121561034b57600080fd5b5051919050565b60008282101561037257634e487b7160e01b600052601160045260246000fd5b50039056fea26469706673582212202ff76cbf4de51d3cd6e280914d8f4ec0c8bf509de957e47db7e820a0cd1e5d4f64736f6c63430008090033",
32
+ "bytecode": "0x60c060405234801561001057600080fd5b50426080818152505060646001600160a01b031663a3b1b31d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610058573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061007c9190610084565b60a05261009d565b60006020828403121561009657600080fd5b5051919050565b60805160a0516103f06100c0600039600060ce01526000605a01526103f06000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634bc05a231461003b578063e46c80b614610045575b600080fd5b610043610058565b005b610043610053366004610348565b6101ac565b7f000000000000000000000000000000000000000000000000000000000000000042116100cc5760405162461bcd60e51b815260206004820152601360248201527f54696d65206469646e277420616476616e63650000000000000000000000000060448201526064015b60405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000606473ffffffffffffffffffffffffffffffffffffffff1663a3b1b31d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610139573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015d9190610361565b116101aa5760405162461bcd60e51b815260206004820152601460248201527f426c6f636b206469646e277420616476616e636500000000000000000000000060448201526064016100c3565b565b6000606473ffffffffffffffffffffffffffffffffffffffff16632b407a826001606473ffffffffffffffffffffffffffffffffffffffff1663a3b1b31d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610219573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023d9190610361565b610247919061037a565b6040518263ffffffff1660e01b815260040161026591815260200190565b602060405180830381865afa158015610282573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a69190610361565b9050806102f55760405162461bcd60e51b815260206004820152600f60248201527f5a45524f5f424c4f434b5f48415348000000000000000000000000000000000060448201526064016100c3565b8181146103445760405162461bcd60e51b815260206004820152601060248201527f57524f4e475f424c4f434b5f484153480000000000000000000000000000000060448201526064016100c3565b5050565b60006020828403121561035a57600080fd5b5035919050565b60006020828403121561037357600080fd5b5051919050565b818103818111156103b4577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9291505056fea26469706673582212205b1b78584f6e234c4d8d9963cfc3df6919a84cc716800734cbbc77a021c6e60364736f6c63430008110033",
33
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80634bc05a231461003b578063e46c80b614610045575b600080fd5b610043610058565b005b610043610053366004610348565b6101ac565b7f000000000000000000000000000000000000000000000000000000000000000042116100cc5760405162461bcd60e51b815260206004820152601360248201527f54696d65206469646e277420616476616e63650000000000000000000000000060448201526064015b60405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000606473ffffffffffffffffffffffffffffffffffffffff1663a3b1b31d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610139573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015d9190610361565b116101aa5760405162461bcd60e51b815260206004820152601460248201527f426c6f636b206469646e277420616476616e636500000000000000000000000060448201526064016100c3565b565b6000606473ffffffffffffffffffffffffffffffffffffffff16632b407a826001606473ffffffffffffffffffffffffffffffffffffffff1663a3b1b31d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610219573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023d9190610361565b610247919061037a565b6040518263ffffffff1660e01b815260040161026591815260200190565b602060405180830381865afa158015610282573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a69190610361565b9050806102f55760405162461bcd60e51b815260206004820152600f60248201527f5a45524f5f424c4f434b5f48415348000000000000000000000000000000000060448201526064016100c3565b8181146103445760405162461bcd60e51b815260206004820152601060248201527f57524f4e475f424c4f434b5f484153480000000000000000000000000000000060448201526064016100c3565b5050565b60006020828403121561035a57600080fd5b5035919050565b60006020828403121561037357600080fd5b5051919050565b818103818111156103b4577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9291505056fea26469706673582212205b1b78584f6e234c4d8d9963cfc3df6919a84cc716800734cbbc77a021c6e60364736f6c63430008110033",
34
34
  "linkReferences": {},
35
35
  "deployedLinkReferences": {}
36
36
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/671b0778dc33f2c1b20cf41504c8e4d9.json"
3
+ "buildInfo": "../../../build-info/20d3c20b27a0078f8acb7ef1c538821c.json"
4
4
  }
@@ -135,8 +135,8 @@
135
135
  "type": "function"
136
136
  }
137
137
  ],
138
- "bytecode": "0x608060405234801561001057600080fd5b50610fe6806100206000396000f3fe60806040526004361061004a5760003560e01c80631d00bae41461004f5780633fdd58e21461007157806396ec12e5146100a7578063aba8c4ba146100ba578063fd424462146100da575b600080fd5b34801561005b57600080fd5b5061006f61006a366004610ce7565b6100fa565b005b34801561007d57600080fd5b5061009161008c366004610ce7565b610200565b60405161009e9190610d86565b60405180910390f35b6100916100b5366004610da0565b61028a565b3480156100c657600080fd5b506100916100d5366004610e20565b610434565b3480156100e657600080fd5b5061006f6100f5366004610e82565b610a2c565b600080846001600160a01b03168484604051610117929190610e9d565b6000604051808303816000865af19150503d8060008114610154576040519150601f19603f3d011682016040523d82523d6000602084013e610159565b606091505b5091509150816101845760405162461bcd60e51b815260040161017b90610ead565b60405180910390fd5b600061018f82610ed2565b90507f224c8d9ad1bbf0f44a61d7bd8e7e9049b1a320e04b047da9910945675c31ba43816040516101c291815260200190565b60405180910390a16101d78460018188610ef9565b6040516101e5929190610e9d565b604051809103902081146101f857600080fd5b505050505050565b6060600080856001600160a01b0316858560405161021f929190610e9d565b600060405180830381855afa9150503d806000811461025a576040519150601f19603f3d011682016040523d82523d6000602084013e61025f565b606091505b5091509150816102815760405162461bcd60e51b815260040161017b90610ead565b95945050505050565b6060600080876001600160a01b03163488886040516102aa929190610e9d565b60006040518083038185875af1925050503d80600081146102e7576040519150601f19603f3d011682016040523d82523d6000602084013e6102ec565b606091505b509150915081156103345760405162461bcd60e51b8152602060048201526012602482015271756e6578706563746564207375636365737360701b604482015260640161017b565b8051841461037f5760405162461bcd60e51b81526020600482015260186024820152770eee4dedcce40e4caeccae4e840c8c2e8c240d8cadccee8d60431b604482015260640161017b565b60005b81518110156104285785858281811061039d5761039d610f23565b9050013560f81c60f81b6001600160f81b0319168282815181106103c3576103c3610f23565b01602001516001600160f81b031916146104165760405162461bcd60e51b81526020600482015260146024820152730e4caeccae4e840c8c2e8c240dad2e6dac2e8c6d60631b604482015260640161017b565b8061042081610f4f565b915050610382565b50979650505050505050565b6060600080876001600160a01b0316866001600160401b0316868660405161045d929190610e9d565b6000604051808303818686fa925050503d8060008114610499576040519150601f19603f3d011682016040523d82523d6000602084013e61049e565b606091505b5091509150816104c05760405162461bcd60e51b815260040161017b90610ead565b60408051808201909152600d81526c0313637b1b590373ab6b132b91609d1b60208201526069906001906104ff9084906104fa8443610f6a565b610b79565b9250610531836040518060400160405280600d81526020016c031b430b4b71034b2101010101609d1b81525046610b79565b9250610563836040518060400160405280600d81526020016c03130b9b2903332b2901010101609d1b81525048610b79565b9250610595836040518060400160405280600d81526020016c033b0b990383934b1b29010101609d1b8152503a610b79565b92506105c7836040518060400160405280600d81526020016c033b0b9903634b6b4ba1010101609d1b81525045610b79565b92506105fa836040518060400160405280600d81526020016c03b30b63ab2901010101010101609d1b8152506000610b79565b925061062c836040518060400160405280600d81526020016c03a34b6b2b9ba30b6b81010101609d1b81525042610b79565b9250610668836040518060400160405280600d81526020016c03130b630b731b290101010101609d1b8152508b6001600160a01b031631610b79565b92506106a3836040518060400160405280600d81526020016c0393ab9ba1030b2323932b9b99609d1b8152508c6001600160a01b0316610b79565b92506106de836040518060400160405280600d81526020016c039b2b73232b91010101010101609d1b815250306001600160a01b0316610b79565b9250610719836040518060400160405280600d81526020016c037b934b3b4b71010101010101609d1b815250326001600160a01b0316610b79565b9250610754836040518060400160405280600d81526020016c031b7b4b73130b9b2901010101609d1b815250416001600160a01b0316610b79565b9250610793836040518060400160405280600d81526020016c0e4eae6e840c6dec8cad0c2e6d609b1b8152508c6001600160a01b03163f60001c610b79565b92506107d2836040518060400160405280600d81526020016c030b9311031b7b232b430b9b41609d1b815250846001600160a01b03163f60001c610b79565b9250610811836040518060400160405280600d81526020016c032ba341031b7b232b430b9b41609d1b815250836001600160a01b03163f60001c610b79565b925060008a6001600160a01b03163b6001600160401b0381111561083757610837610f81565b6040519080825280601f01601f191660200182016040528015610861576020820181803683370190505b50905060005b8b6001600160a01b03163b8110156108d15784818151811061088b5761088b610f23565b602001015160f81c60f81b8282815181106108a8576108a8610f23565b60200101906001600160f81b031916908160001a905350806108c981610f4f565b915050610867565b508a6001600160a01b0316803b806020016040519081016040528181526000908060200190933c8051906020012081805190602001201461093d5760405162461bcd60e51b815260040161017b90602080825260049082015263636f646560e01b604082015260600190565b60008b6001600160a01b03163b85516109569190610f6a565b6001600160401b0381111561096d5761096d610f81565b6040519080825280601f01601f191660200182016040528015610997576020820181803683370190505b5090506001600160a01b038c163b5b8551811015610a1c578581815181106109c1576109c1610f23565b602001015160f81c60f81b828e6001600160a01b03163b836109e39190610f6a565b815181106109f3576109f3610f23565b60200101906001600160f81b031916908160001a90535080610a1481610f4f565b9150506109a6565b509b9a5050505050505050505050565b7feddecf107b5740cef7f5a01e3ea7e287665c4e75a8eb6afae2fda2e3d43677866401000003d0197fc6178c2de1078cd36c3bd302cde755340d7f17fcb3fcc0b9c333ba03b217029f820990507fc6178c2de1078cd36c3bd302cde755340d7f17fcb3fcc0b9c333ba03b217029f6401000003d0198208905067eddecf107b5740ce8167fffffffefffffc2f9190040a905067c6178c2de1078cd381069050600080836001600160a01b03166040516000604051808303816000865af19150503d8060008114610b18576040519150601f19603f3d011682016040523d82523d6000602084013e610b1d565b606091505b509150915081610b3f5760405162461bcd60e51b815260040161017b90610ead565b60408051602081018590520160405160208183030381529060405280519060200120818051906020012014610b7357600080fd5b50505050565b6060600084806020019051810190610b919190610f97565b905083838214610bb45760405162461bcd60e51b815260040161017b9190610d86565b50600060208651610bc59190610f6a565b6001600160401b03811115610bdc57610bdc610f81565b6040519080825280601f01601f191660200182016040528015610c06576020820181803683370190505b50905060205b8651811015610c7957868181518110610c2757610c27610f23565b602001015160f81c60f81b82602083610c409190610f6a565b81518110610c5057610c50610f23565b60200101906001600160f81b031916908160001a90535080610c7181610f4f565b915050610c0c565b5095945050505050565b80356001600160a01b0381168114610c9a57600080fd5b919050565b60008083601f840112610cb157600080fd5b5081356001600160401b03811115610cc857600080fd5b602083019150836020828501011115610ce057600080fd5b9250929050565b600080600060408486031215610cfc57600080fd5b610d0584610c83565b925060208401356001600160401b03811115610d2057600080fd5b610d2c86828701610c9f565b9497909650939450505050565b6000815180845260005b81811015610d5f57602081850181015186830182015201610d43565b81811115610d71576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610d996020830184610d39565b9392505050565b600080600080600060608688031215610db857600080fd5b610dc186610c83565b945060208601356001600160401b0380821115610ddd57600080fd5b610de989838a01610c9f565b90965094506040880135915080821115610e0257600080fd5b50610e0f88828901610c9f565b969995985093965092949392505050565b600080600080600060808688031215610e3857600080fd5b610e4186610c83565b9450610e4f60208701610c83565b935060408601356001600160401b038082168214610e6c57600080fd5b90935060608701359080821115610e0257600080fd5b600060208284031215610e9457600080fd5b610d9982610c83565b8183823760009101908152919050565b6020808252600b908201526a18d85b1b0819985a5b195960aa1b604082015260600190565b80516020808301519190811015610ef3576000198160200360031b1b821691505b50919050565b60008085851115610f0957600080fd5b83861115610f1657600080fd5b5050820193919092039150565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415610f6357610f63610f39565b5060010190565b600082821015610f7c57610f7c610f39565b500390565b634e487b7160e01b600052604160045260246000fd5b600060208284031215610fa957600080fd5b505191905056fea2646970667358221220388a0742d98b86782d22fe2487a420d61ab5abbe60420d82fe3a5a3e48bb517064736f6c63430008090033",
139
- "deployedBytecode": "0x60806040526004361061004a5760003560e01c80631d00bae41461004f5780633fdd58e21461007157806396ec12e5146100a7578063aba8c4ba146100ba578063fd424462146100da575b600080fd5b34801561005b57600080fd5b5061006f61006a366004610ce7565b6100fa565b005b34801561007d57600080fd5b5061009161008c366004610ce7565b610200565b60405161009e9190610d86565b60405180910390f35b6100916100b5366004610da0565b61028a565b3480156100c657600080fd5b506100916100d5366004610e20565b610434565b3480156100e657600080fd5b5061006f6100f5366004610e82565b610a2c565b600080846001600160a01b03168484604051610117929190610e9d565b6000604051808303816000865af19150503d8060008114610154576040519150601f19603f3d011682016040523d82523d6000602084013e610159565b606091505b5091509150816101845760405162461bcd60e51b815260040161017b90610ead565b60405180910390fd5b600061018f82610ed2565b90507f224c8d9ad1bbf0f44a61d7bd8e7e9049b1a320e04b047da9910945675c31ba43816040516101c291815260200190565b60405180910390a16101d78460018188610ef9565b6040516101e5929190610e9d565b604051809103902081146101f857600080fd5b505050505050565b6060600080856001600160a01b0316858560405161021f929190610e9d565b600060405180830381855afa9150503d806000811461025a576040519150601f19603f3d011682016040523d82523d6000602084013e61025f565b606091505b5091509150816102815760405162461bcd60e51b815260040161017b90610ead565b95945050505050565b6060600080876001600160a01b03163488886040516102aa929190610e9d565b60006040518083038185875af1925050503d80600081146102e7576040519150601f19603f3d011682016040523d82523d6000602084013e6102ec565b606091505b509150915081156103345760405162461bcd60e51b8152602060048201526012602482015271756e6578706563746564207375636365737360701b604482015260640161017b565b8051841461037f5760405162461bcd60e51b81526020600482015260186024820152770eee4dedcce40e4caeccae4e840c8c2e8c240d8cadccee8d60431b604482015260640161017b565b60005b81518110156104285785858281811061039d5761039d610f23565b9050013560f81c60f81b6001600160f81b0319168282815181106103c3576103c3610f23565b01602001516001600160f81b031916146104165760405162461bcd60e51b81526020600482015260146024820152730e4caeccae4e840c8c2e8c240dad2e6dac2e8c6d60631b604482015260640161017b565b8061042081610f4f565b915050610382565b50979650505050505050565b6060600080876001600160a01b0316866001600160401b0316868660405161045d929190610e9d565b6000604051808303818686fa925050503d8060008114610499576040519150601f19603f3d011682016040523d82523d6000602084013e61049e565b606091505b5091509150816104c05760405162461bcd60e51b815260040161017b90610ead565b60408051808201909152600d81526c0313637b1b590373ab6b132b91609d1b60208201526069906001906104ff9084906104fa8443610f6a565b610b79565b9250610531836040518060400160405280600d81526020016c031b430b4b71034b2101010101609d1b81525046610b79565b9250610563836040518060400160405280600d81526020016c03130b9b2903332b2901010101609d1b81525048610b79565b9250610595836040518060400160405280600d81526020016c033b0b990383934b1b29010101609d1b8152503a610b79565b92506105c7836040518060400160405280600d81526020016c033b0b9903634b6b4ba1010101609d1b81525045610b79565b92506105fa836040518060400160405280600d81526020016c03b30b63ab2901010101010101609d1b8152506000610b79565b925061062c836040518060400160405280600d81526020016c03a34b6b2b9ba30b6b81010101609d1b81525042610b79565b9250610668836040518060400160405280600d81526020016c03130b630b731b290101010101609d1b8152508b6001600160a01b031631610b79565b92506106a3836040518060400160405280600d81526020016c0393ab9ba1030b2323932b9b99609d1b8152508c6001600160a01b0316610b79565b92506106de836040518060400160405280600d81526020016c039b2b73232b91010101010101609d1b815250306001600160a01b0316610b79565b9250610719836040518060400160405280600d81526020016c037b934b3b4b71010101010101609d1b815250326001600160a01b0316610b79565b9250610754836040518060400160405280600d81526020016c031b7b4b73130b9b2901010101609d1b815250416001600160a01b0316610b79565b9250610793836040518060400160405280600d81526020016c0e4eae6e840c6dec8cad0c2e6d609b1b8152508c6001600160a01b03163f60001c610b79565b92506107d2836040518060400160405280600d81526020016c030b9311031b7b232b430b9b41609d1b815250846001600160a01b03163f60001c610b79565b9250610811836040518060400160405280600d81526020016c032ba341031b7b232b430b9b41609d1b815250836001600160a01b03163f60001c610b79565b925060008a6001600160a01b03163b6001600160401b0381111561083757610837610f81565b6040519080825280601f01601f191660200182016040528015610861576020820181803683370190505b50905060005b8b6001600160a01b03163b8110156108d15784818151811061088b5761088b610f23565b602001015160f81c60f81b8282815181106108a8576108a8610f23565b60200101906001600160f81b031916908160001a905350806108c981610f4f565b915050610867565b508a6001600160a01b0316803b806020016040519081016040528181526000908060200190933c8051906020012081805190602001201461093d5760405162461bcd60e51b815260040161017b90602080825260049082015263636f646560e01b604082015260600190565b60008b6001600160a01b03163b85516109569190610f6a565b6001600160401b0381111561096d5761096d610f81565b6040519080825280601f01601f191660200182016040528015610997576020820181803683370190505b5090506001600160a01b038c163b5b8551811015610a1c578581815181106109c1576109c1610f23565b602001015160f81c60f81b828e6001600160a01b03163b836109e39190610f6a565b815181106109f3576109f3610f23565b60200101906001600160f81b031916908160001a90535080610a1481610f4f565b9150506109a6565b509b9a5050505050505050505050565b7feddecf107b5740cef7f5a01e3ea7e287665c4e75a8eb6afae2fda2e3d43677866401000003d0197fc6178c2de1078cd36c3bd302cde755340d7f17fcb3fcc0b9c333ba03b217029f820990507fc6178c2de1078cd36c3bd302cde755340d7f17fcb3fcc0b9c333ba03b217029f6401000003d0198208905067eddecf107b5740ce8167fffffffefffffc2f9190040a905067c6178c2de1078cd381069050600080836001600160a01b03166040516000604051808303816000865af19150503d8060008114610b18576040519150601f19603f3d011682016040523d82523d6000602084013e610b1d565b606091505b509150915081610b3f5760405162461bcd60e51b815260040161017b90610ead565b60408051602081018590520160405160208183030381529060405280519060200120818051906020012014610b7357600080fd5b50505050565b6060600084806020019051810190610b919190610f97565b905083838214610bb45760405162461bcd60e51b815260040161017b9190610d86565b50600060208651610bc59190610f6a565b6001600160401b03811115610bdc57610bdc610f81565b6040519080825280601f01601f191660200182016040528015610c06576020820181803683370190505b50905060205b8651811015610c7957868181518110610c2757610c27610f23565b602001015160f81c60f81b82602083610c409190610f6a565b81518110610c5057610c50610f23565b60200101906001600160f81b031916908160001a90535080610c7181610f4f565b915050610c0c565b5095945050505050565b80356001600160a01b0381168114610c9a57600080fd5b919050565b60008083601f840112610cb157600080fd5b5081356001600160401b03811115610cc857600080fd5b602083019150836020828501011115610ce057600080fd5b9250929050565b600080600060408486031215610cfc57600080fd5b610d0584610c83565b925060208401356001600160401b03811115610d2057600080fd5b610d2c86828701610c9f565b9497909650939450505050565b6000815180845260005b81811015610d5f57602081850181015186830182015201610d43565b81811115610d71576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610d996020830184610d39565b9392505050565b600080600080600060608688031215610db857600080fd5b610dc186610c83565b945060208601356001600160401b0380821115610ddd57600080fd5b610de989838a01610c9f565b90965094506040880135915080821115610e0257600080fd5b50610e0f88828901610c9f565b969995985093965092949392505050565b600080600080600060808688031215610e3857600080fd5b610e4186610c83565b9450610e4f60208701610c83565b935060408601356001600160401b038082168214610e6c57600080fd5b90935060608701359080821115610e0257600080fd5b600060208284031215610e9457600080fd5b610d9982610c83565b8183823760009101908152919050565b6020808252600b908201526a18d85b1b0819985a5b195960aa1b604082015260600190565b80516020808301519190811015610ef3576000198160200360031b1b821691505b50919050565b60008085851115610f0957600080fd5b83861115610f1657600080fd5b5050820193919092039150565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415610f6357610f63610f39565b5060010190565b600082821015610f7c57610f7c610f39565b500390565b634e487b7160e01b600052604160045260246000fd5b600060208284031215610fa957600080fd5b505191905056fea2646970667358221220388a0742d98b86782d22fe2487a420d61ab5abbe60420d82fe3a5a3e48bb517064736f6c63430008090033",
138
+ "bytecode": "0x608060405234801561001057600080fd5b506111ff806100206000396000f3fe60806040526004361061005a5760003560e01c806396ec12e51161004357806396ec12e5146100b7578063aba8c4ba146100ca578063fd424462146100ea57600080fd5b80631d00bae41461005f5780633fdd58e214610081575b600080fd5b34801561006b57600080fd5b5061007f61007a366004610f0a565b61010a565b005b34801561008d57600080fd5b506100a161009c366004610f0a565b61022a565b6040516100ae9190610fc1565b60405180910390f35b6100a16100c5366004610fdb565b6102d2565b3480156100d657600080fd5b506100a16100e536600461105c565b6104c5565b3480156100f657600080fd5b5061007f6101053660046110bf565b610c17565b600080846001600160a01b031684846040516101279291906110da565b6000604051808303816000865af19150503d8060008114610164576040519150601f19603f3d011682016040523d82523d6000602084013e610169565b606091505b5091509150816101ae5760405162461bcd60e51b815260206004820152600b60248201526a18d85b1b0819985a5b195960aa1b60448201526064015b60405180910390fd5b60006101b9826110ea565b90507f224c8d9ad1bbf0f44a61d7bd8e7e9049b1a320e04b047da9910945675c31ba43816040516101ec91815260200190565b60405180910390a16102018460018188611111565b60405161020f9291906110da565b6040518091039020811461022257600080fd5b505050505050565b6060600080856001600160a01b031685856040516102499291906110da565b600060405180830381855afa9150503d8060008114610284576040519150601f19603f3d011682016040523d82523d6000602084013e610289565b606091505b5091509150816102c95760405162461bcd60e51b815260206004820152600b60248201526a18d85b1b0819985a5b195960aa1b60448201526064016101a5565b95945050505050565b6060600080876001600160a01b03163488886040516102f29291906110da565b60006040518083038185875af1925050503d806000811461032f576040519150601f19603f3d011682016040523d82523d6000602084013e610334565b606091505b509150915081156103875760405162461bcd60e51b815260206004820152601260248201527f756e65787065637465642073756363657373000000000000000000000000000060448201526064016101a5565b805184146103d75760405162461bcd60e51b815260206004820152601860248201527f77726f6e67207265766572742064617461206c656e677468000000000000000060448201526064016101a5565b60005b81518110156104b9578585828181106103f5576103f561113b565b9050013560f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168282815181106104335761043361113b565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016146104a75760405162461bcd60e51b815260206004820152601460248201527f7265766572742064617461206d69736d6174636800000000000000000000000060448201526064016101a5565b806104b181611167565b9150506103da565b50979650505050505050565b6060600080876001600160a01b03168667ffffffffffffffff1686866040516104ef9291906110da565b6000604051808303818686fa925050503d806000811461052b576040519150601f19603f3d011682016040523d82523d6000602084013e610530565b606091505b5091509150816105705760405162461bcd60e51b815260206004820152600b60248201526a18d85b1b0819985a5b195960aa1b60448201526064016101a5565b60408051808201909152600d81527f626c6f636b206e756d626572200000000000000000000000000000000000000060208201526069906001906105bf9084906105ba8443611181565b610d82565b9250610601836040518060400160405280600d81526020017f636861696e20696420202020200000000000000000000000000000000000000081525046610d82565b9250610643836040518060400160405280600d81526020017f626173652066656520202020200000000000000000000000000000000000000081525048610d82565b9250610685836040518060400160405280600d81526020017f67617320707269636520202020000000000000000000000000000000000000008152503a610d82565b92506106c7836040518060400160405280600d81526020017f676173206c696d6974202020200000000000000000000000000000000000000081525045610d82565b925061070a836040518060400160405280600d81526020017f76616c75652020202020202020000000000000000000000000000000000000008152506000610d82565b925061074c836040518060400160405280600d81526020017f74696d657374616d70202020200000000000000000000000000000000000000081525042610d82565b9250610798836040518060400160405280600d81526020017f62616c616e6365202020202020000000000000000000000000000000000000008152508b6001600160a01b031631610d82565b92506107e3836040518060400160405280600d81526020017f72757374206164647265737320000000000000000000000000000000000000008152508c6001600160a01b0316610d82565b925061082e836040518060400160405280600d81526020017f73656e6465722020202020202000000000000000000000000000000000000000815250306001600160a01b0316610d82565b9250610879836040518060400160405280600d81526020017f6f726967696e2020202020202000000000000000000000000000000000000000815250326001600160a01b0316610d82565b92506108c4836040518060400160405280600d81526020017f636f696e62617365202020202000000000000000000000000000000000000000815250416001600160a01b0316610d82565b9250610913836040518060400160405280600d81526020017f7275737420636f646568617368000000000000000000000000000000000000008152508c6001600160a01b03163f60001c610d82565b9250610962836040518060400160405280600d81526020017f61726220636f6465686173682000000000000000000000000000000000000000815250846001600160a01b03163f60001c610d82565b92506109b1836040518060400160405280600d81526020017f65746820636f6465686173682000000000000000000000000000000000000000815250836001600160a01b03163f60001c610d82565b925060008a6001600160a01b03163b67ffffffffffffffff8111156109d8576109d861119a565b6040519080825280601f01601f191660200182016040528015610a02576020820181803683370190505b50905060005b8b6001600160a01b03163b811015610a8a57848181518110610a2c57610a2c61113b565b602001015160f81c60f81b828281518110610a4957610a4961113b565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080610a8281611167565b915050610a08565b508a6001600160a01b0316803b806020016040519081016040528181526000908060200190933c80519060200120818051906020012014610b0f5760405162461bcd60e51b81526004016101a59060208082526004908201527f636f646500000000000000000000000000000000000000000000000000000000604082015260600190565b60008b6001600160a01b03163b8551610b289190611181565b67ffffffffffffffff811115610b4057610b4061119a565b6040519080825280601f01601f191660200182016040528015610b6a576020820181803683370190505b5090506001600160a01b038c163b5b8551811015610c0757858181518110610b9457610b9461113b565b602001015160f81c60f81b828e6001600160a01b03163b83610bb69190611181565b81518110610bc657610bc661113b565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080610bff81611167565b915050610b79565b509b9a5050505050505050505050565b7feddecf107b5740cef7f5a01e3ea7e287665c4e75a8eb6afae2fda2e3d43677866401000003d0197fc6178c2de1078cd36c3bd302cde755340d7f17fcb3fcc0b9c333ba03b217029f820990507fc6178c2de1078cd36c3bd302cde755340d7f17fcb3fcc0b9c333ba03b217029f6401000003d0198208905067eddecf107b5740ce8167fffffffefffffc2f9190040a905067c6178c2de1078cd381069050600080836001600160a01b03166040516000604051808303816000865af19150503d8060008114610d03576040519150601f19603f3d011682016040523d82523d6000602084013e610d08565b606091505b509150915081610d485760405162461bcd60e51b815260206004820152600b60248201526a18d85b1b0819985a5b195960aa1b60448201526064016101a5565b60408051602081018590520160405160208183030381529060405280519060200120818051906020012014610d7c57600080fd5b50505050565b6060600084806020019051810190610d9a91906111b0565b905083838214610dbd5760405162461bcd60e51b81526004016101a59190610fc1565b50600060208651610dce9190611181565b67ffffffffffffffff811115610de657610de661119a565b6040519080825280601f01601f191660200182016040528015610e10576020820181803683370190505b50905060205b8651811015610e9b57868181518110610e3157610e3161113b565b602001015160f81c60f81b82602083610e4a9190611181565b81518110610e5a57610e5a61113b565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080610e9381611167565b915050610e16565b5095945050505050565b80356001600160a01b0381168114610ebc57600080fd5b919050565b60008083601f840112610ed357600080fd5b50813567ffffffffffffffff811115610eeb57600080fd5b602083019150836020828501011115610f0357600080fd5b9250929050565b600080600060408486031215610f1f57600080fd5b610f2884610ea5565b9250602084013567ffffffffffffffff811115610f4457600080fd5b610f5086828701610ec1565b9497909650939450505050565b6000815180845260005b81811015610f8357602081850181015186830182015201610f67565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610fd46020830184610f5d565b9392505050565b600080600080600060608688031215610ff357600080fd5b610ffc86610ea5565b9450602086013567ffffffffffffffff8082111561101957600080fd5b61102589838a01610ec1565b9096509450604088013591508082111561103e57600080fd5b5061104b88828901610ec1565b969995985093965092949392505050565b60008060008060006080868803121561107457600080fd5b61107d86610ea5565b945061108b60208701610ea5565b9350604086013567ffffffffffffffff80821682146110a957600080fd5b9093506060870135908082111561103e57600080fd5b6000602082840312156110d157600080fd5b610fd482610ea5565b8183823760009101908152919050565b8051602080830151919081101561110b576000198160200360031b1b821691505b50919050565b6000808585111561112157600080fd5b8386111561112e57600080fd5b5050820193919092039150565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019820361117a5761117a611151565b5060010190565b8181038181111561119457611194611151565b92915050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156111c257600080fd5b505191905056fea2646970667358221220597cde1bb7eee207d3d4952b075dafdb1bb7db5e9892e0371a5a1c3aabcdf00f64736f6c63430008110033",
139
+ "deployedBytecode": "0x60806040526004361061005a5760003560e01c806396ec12e51161004357806396ec12e5146100b7578063aba8c4ba146100ca578063fd424462146100ea57600080fd5b80631d00bae41461005f5780633fdd58e214610081575b600080fd5b34801561006b57600080fd5b5061007f61007a366004610f0a565b61010a565b005b34801561008d57600080fd5b506100a161009c366004610f0a565b61022a565b6040516100ae9190610fc1565b60405180910390f35b6100a16100c5366004610fdb565b6102d2565b3480156100d657600080fd5b506100a16100e536600461105c565b6104c5565b3480156100f657600080fd5b5061007f6101053660046110bf565b610c17565b600080846001600160a01b031684846040516101279291906110da565b6000604051808303816000865af19150503d8060008114610164576040519150601f19603f3d011682016040523d82523d6000602084013e610169565b606091505b5091509150816101ae5760405162461bcd60e51b815260206004820152600b60248201526a18d85b1b0819985a5b195960aa1b60448201526064015b60405180910390fd5b60006101b9826110ea565b90507f224c8d9ad1bbf0f44a61d7bd8e7e9049b1a320e04b047da9910945675c31ba43816040516101ec91815260200190565b60405180910390a16102018460018188611111565b60405161020f9291906110da565b6040518091039020811461022257600080fd5b505050505050565b6060600080856001600160a01b031685856040516102499291906110da565b600060405180830381855afa9150503d8060008114610284576040519150601f19603f3d011682016040523d82523d6000602084013e610289565b606091505b5091509150816102c95760405162461bcd60e51b815260206004820152600b60248201526a18d85b1b0819985a5b195960aa1b60448201526064016101a5565b95945050505050565b6060600080876001600160a01b03163488886040516102f29291906110da565b60006040518083038185875af1925050503d806000811461032f576040519150601f19603f3d011682016040523d82523d6000602084013e610334565b606091505b509150915081156103875760405162461bcd60e51b815260206004820152601260248201527f756e65787065637465642073756363657373000000000000000000000000000060448201526064016101a5565b805184146103d75760405162461bcd60e51b815260206004820152601860248201527f77726f6e67207265766572742064617461206c656e677468000000000000000060448201526064016101a5565b60005b81518110156104b9578585828181106103f5576103f561113b565b9050013560f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168282815181106104335761043361113b565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016146104a75760405162461bcd60e51b815260206004820152601460248201527f7265766572742064617461206d69736d6174636800000000000000000000000060448201526064016101a5565b806104b181611167565b9150506103da565b50979650505050505050565b6060600080876001600160a01b03168667ffffffffffffffff1686866040516104ef9291906110da565b6000604051808303818686fa925050503d806000811461052b576040519150601f19603f3d011682016040523d82523d6000602084013e610530565b606091505b5091509150816105705760405162461bcd60e51b815260206004820152600b60248201526a18d85b1b0819985a5b195960aa1b60448201526064016101a5565b60408051808201909152600d81527f626c6f636b206e756d626572200000000000000000000000000000000000000060208201526069906001906105bf9084906105ba8443611181565b610d82565b9250610601836040518060400160405280600d81526020017f636861696e20696420202020200000000000000000000000000000000000000081525046610d82565b9250610643836040518060400160405280600d81526020017f626173652066656520202020200000000000000000000000000000000000000081525048610d82565b9250610685836040518060400160405280600d81526020017f67617320707269636520202020000000000000000000000000000000000000008152503a610d82565b92506106c7836040518060400160405280600d81526020017f676173206c696d6974202020200000000000000000000000000000000000000081525045610d82565b925061070a836040518060400160405280600d81526020017f76616c75652020202020202020000000000000000000000000000000000000008152506000610d82565b925061074c836040518060400160405280600d81526020017f74696d657374616d70202020200000000000000000000000000000000000000081525042610d82565b9250610798836040518060400160405280600d81526020017f62616c616e6365202020202020000000000000000000000000000000000000008152508b6001600160a01b031631610d82565b92506107e3836040518060400160405280600d81526020017f72757374206164647265737320000000000000000000000000000000000000008152508c6001600160a01b0316610d82565b925061082e836040518060400160405280600d81526020017f73656e6465722020202020202000000000000000000000000000000000000000815250306001600160a01b0316610d82565b9250610879836040518060400160405280600d81526020017f6f726967696e2020202020202000000000000000000000000000000000000000815250326001600160a01b0316610d82565b92506108c4836040518060400160405280600d81526020017f636f696e62617365202020202000000000000000000000000000000000000000815250416001600160a01b0316610d82565b9250610913836040518060400160405280600d81526020017f7275737420636f646568617368000000000000000000000000000000000000008152508c6001600160a01b03163f60001c610d82565b9250610962836040518060400160405280600d81526020017f61726220636f6465686173682000000000000000000000000000000000000000815250846001600160a01b03163f60001c610d82565b92506109b1836040518060400160405280600d81526020017f65746820636f6465686173682000000000000000000000000000000000000000815250836001600160a01b03163f60001c610d82565b925060008a6001600160a01b03163b67ffffffffffffffff8111156109d8576109d861119a565b6040519080825280601f01601f191660200182016040528015610a02576020820181803683370190505b50905060005b8b6001600160a01b03163b811015610a8a57848181518110610a2c57610a2c61113b565b602001015160f81c60f81b828281518110610a4957610a4961113b565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080610a8281611167565b915050610a08565b508a6001600160a01b0316803b806020016040519081016040528181526000908060200190933c80519060200120818051906020012014610b0f5760405162461bcd60e51b81526004016101a59060208082526004908201527f636f646500000000000000000000000000000000000000000000000000000000604082015260600190565b60008b6001600160a01b03163b8551610b289190611181565b67ffffffffffffffff811115610b4057610b4061119a565b6040519080825280601f01601f191660200182016040528015610b6a576020820181803683370190505b5090506001600160a01b038c163b5b8551811015610c0757858181518110610b9457610b9461113b565b602001015160f81c60f81b828e6001600160a01b03163b83610bb69190611181565b81518110610bc657610bc661113b565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080610bff81611167565b915050610b79565b509b9a5050505050505050505050565b7feddecf107b5740cef7f5a01e3ea7e287665c4e75a8eb6afae2fda2e3d43677866401000003d0197fc6178c2de1078cd36c3bd302cde755340d7f17fcb3fcc0b9c333ba03b217029f820990507fc6178c2de1078cd36c3bd302cde755340d7f17fcb3fcc0b9c333ba03b217029f6401000003d0198208905067eddecf107b5740ce8167fffffffefffffc2f9190040a905067c6178c2de1078cd381069050600080836001600160a01b03166040516000604051808303816000865af19150503d8060008114610d03576040519150601f19603f3d011682016040523d82523d6000602084013e610d08565b606091505b509150915081610d485760405162461bcd60e51b815260206004820152600b60248201526a18d85b1b0819985a5b195960aa1b60448201526064016101a5565b60408051602081018590520160405160208183030381529060405280519060200120818051906020012014610d7c57600080fd5b50505050565b6060600084806020019051810190610d9a91906111b0565b905083838214610dbd5760405162461bcd60e51b81526004016101a59190610fc1565b50600060208651610dce9190611181565b67ffffffffffffffff811115610de657610de661119a565b6040519080825280601f01601f191660200182016040528015610e10576020820181803683370190505b50905060205b8651811015610e9b57868181518110610e3157610e3161113b565b602001015160f81c60f81b82602083610e4a9190611181565b81518110610e5a57610e5a61113b565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080610e9381611167565b915050610e16565b5095945050505050565b80356001600160a01b0381168114610ebc57600080fd5b919050565b60008083601f840112610ed357600080fd5b50813567ffffffffffffffff811115610eeb57600080fd5b602083019150836020828501011115610f0357600080fd5b9250929050565b600080600060408486031215610f1f57600080fd5b610f2884610ea5565b9250602084013567ffffffffffffffff811115610f4457600080fd5b610f5086828701610ec1565b9497909650939450505050565b6000815180845260005b81811015610f8357602081850181015186830182015201610f67565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610fd46020830184610f5d565b9392505050565b600080600080600060608688031215610ff357600080fd5b610ffc86610ea5565b9450602086013567ffffffffffffffff8082111561101957600080fd5b61102589838a01610ec1565b9096509450604088013591508082111561103e57600080fd5b5061104b88828901610ec1565b969995985093965092949392505050565b60008060008060006080868803121561107457600080fd5b61107d86610ea5565b945061108b60208701610ea5565b9350604086013567ffffffffffffffff80821682146110a957600080fd5b9093506060870135908082111561103e57600080fd5b6000602082840312156110d157600080fd5b610fd482610ea5565b8183823760009101908152919050565b8051602080830151919081101561110b576000198160200360031b1b821691505b50919050565b6000808585111561112157600080fd5b8386111561112e57600080fd5b5050820193919092039150565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019820361117a5761117a611151565b5060010190565b8181038181111561119457611194611151565b92915050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156111c257600080fd5b505191905056fea2646970667358221220597cde1bb7eee207d3d4952b075dafdb1bb7db5e9892e0371a5a1c3aabcdf00f64736f6c63430008110033",
140
140
  "linkReferences": {},
141
141
  "deployedLinkReferences": {}
142
142
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/671b0778dc33f2c1b20cf41504c8e4d9.json"
3
+ "buildInfo": "../../../build-info/20d3c20b27a0078f8acb7ef1c538821c.json"
4
4
  }
@@ -153,8 +153,8 @@
153
153
  "type": "function"
154
154
  }
155
155
  ],
156
- "bytecode": "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6107408061007e6000396000f3fe60806040526004361061006b5760003560e01c8063204e1c7a14610070578063715018a6146100a65780637eff275e146100bd5780638da5cb5b146100dd5780639623609d146100f257806399a88ec414610105578063f2fde38b14610125578063f3b7dead14610145575b600080fd5b34801561007c57600080fd5b5061009061008b3660046104f6565b610165565b60405161009d919061051a565b60405180910390f35b3480156100b257600080fd5b506100bb6101f6565b005b3480156100c957600080fd5b506100bb6100d836600461052e565b61023a565b3480156100e957600080fd5b506100906102cb565b6100bb61010036600461057d565b6102da565b34801561011157600080fd5b506100bb61012036600461052e565b610370565b34801561013157600080fd5b506100bb6101403660046104f6565b6103cb565b34801561015157600080fd5b506100906101603660046104f6565b61046b565b6000806000836001600160a01b031660405161018b90635c60da1b60e01b815260040190565b600060405180830381855afa9150503d80600081146101c6576040519150601f19603f3d011682016040523d82523d6000602084013e6101cb565b606091505b5091509150816101da57600080fd5b808060200190518101906101ee9190610653565b949350505050565b336101ff6102cb565b6001600160a01b03161461022e5760405162461bcd60e51b815260040161022590610670565b60405180910390fd5b6102386000610491565b565b336102436102cb565b6001600160a01b0316146102695760405162461bcd60e51b815260040161022590610670565b6040516308f2839760e41b81526001600160a01b03831690638f2839709061029590849060040161051a565b600060405180830381600087803b1580156102af57600080fd5b505af11580156102c3573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031690565b336102e36102cb565b6001600160a01b0316146103095760405162461bcd60e51b815260040161022590610670565b60405163278f794360e11b81526001600160a01b03841690634f1ef28690349061033990869086906004016106a5565b6000604051808303818588803b15801561035257600080fd5b505af1158015610366573d6000803e3d6000fd5b5050505050505050565b336103796102cb565b6001600160a01b03161461039f5760405162461bcd60e51b815260040161022590610670565b604051631b2ce7f360e11b81526001600160a01b03831690633659cfe69061029590849060040161051a565b336103d46102cb565b6001600160a01b0316146103fa5760405162461bcd60e51b815260040161022590610670565b6001600160a01b03811661045f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610225565b61046881610491565b50565b6000806000836001600160a01b031660405161018b906303e1469160e61b815260040190565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461046857600080fd5b60006020828403121561050857600080fd5b8135610513816104e1565b9392505050565b6001600160a01b0391909116815260200190565b6000806040838503121561054157600080fd5b823561054c816104e1565b9150602083013561055c816104e1565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561059257600080fd5b833561059d816104e1565b925060208401356105ad816104e1565b9150604084013567ffffffffffffffff808211156105ca57600080fd5b818601915086601f8301126105de57600080fd5b8135818111156105f0576105f0610567565b604051601f8201601f19908116603f0116810190838211818310171561061857610618610567565b8160405282815289602084870101111561063157600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b60006020828403121561066557600080fd5b8151610513816104e1565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60018060a01b038316815260006020604081840152835180604085015260005b818110156106e1578581018301518582016060015282016106c5565b818111156106f3576000606083870101525b50601f01601f19169290920160600194935050505056fea264697066735822122030876067dd5282d3eb5b6a87529c77a035be5809eec6b650765b6feed77af1b464736f6c63430008090033",
157
- "deployedBytecode": "0x60806040526004361061006b5760003560e01c8063204e1c7a14610070578063715018a6146100a65780637eff275e146100bd5780638da5cb5b146100dd5780639623609d146100f257806399a88ec414610105578063f2fde38b14610125578063f3b7dead14610145575b600080fd5b34801561007c57600080fd5b5061009061008b3660046104f6565b610165565b60405161009d919061051a565b60405180910390f35b3480156100b257600080fd5b506100bb6101f6565b005b3480156100c957600080fd5b506100bb6100d836600461052e565b61023a565b3480156100e957600080fd5b506100906102cb565b6100bb61010036600461057d565b6102da565b34801561011157600080fd5b506100bb61012036600461052e565b610370565b34801561013157600080fd5b506100bb6101403660046104f6565b6103cb565b34801561015157600080fd5b506100906101603660046104f6565b61046b565b6000806000836001600160a01b031660405161018b90635c60da1b60e01b815260040190565b600060405180830381855afa9150503d80600081146101c6576040519150601f19603f3d011682016040523d82523d6000602084013e6101cb565b606091505b5091509150816101da57600080fd5b808060200190518101906101ee9190610653565b949350505050565b336101ff6102cb565b6001600160a01b03161461022e5760405162461bcd60e51b815260040161022590610670565b60405180910390fd5b6102386000610491565b565b336102436102cb565b6001600160a01b0316146102695760405162461bcd60e51b815260040161022590610670565b6040516308f2839760e41b81526001600160a01b03831690638f2839709061029590849060040161051a565b600060405180830381600087803b1580156102af57600080fd5b505af11580156102c3573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031690565b336102e36102cb565b6001600160a01b0316146103095760405162461bcd60e51b815260040161022590610670565b60405163278f794360e11b81526001600160a01b03841690634f1ef28690349061033990869086906004016106a5565b6000604051808303818588803b15801561035257600080fd5b505af1158015610366573d6000803e3d6000fd5b5050505050505050565b336103796102cb565b6001600160a01b03161461039f5760405162461bcd60e51b815260040161022590610670565b604051631b2ce7f360e11b81526001600160a01b03831690633659cfe69061029590849060040161051a565b336103d46102cb565b6001600160a01b0316146103fa5760405162461bcd60e51b815260040161022590610670565b6001600160a01b03811661045f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610225565b61046881610491565b50565b6000806000836001600160a01b031660405161018b906303e1469160e61b815260040190565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461046857600080fd5b60006020828403121561050857600080fd5b8135610513816104e1565b9392505050565b6001600160a01b0391909116815260200190565b6000806040838503121561054157600080fd5b823561054c816104e1565b9150602083013561055c816104e1565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561059257600080fd5b833561059d816104e1565b925060208401356105ad816104e1565b9150604084013567ffffffffffffffff808211156105ca57600080fd5b818601915086601f8301126105de57600080fd5b8135818111156105f0576105f0610567565b604051601f8201601f19908116603f0116810190838211818310171561061857610618610567565b8160405282815289602084870101111561063157600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b60006020828403121561066557600080fd5b8151610513816104e1565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60018060a01b038316815260006020604081840152835180604085015260005b818110156106e1578581018301518582016060015282016106c5565b818111156106f3576000606083870101525b50601f01601f19169290920160600194935050505056fea264697066735822122030876067dd5282d3eb5b6a87529c77a035be5809eec6b650765b6feed77af1b464736f6c63430008090033",
156
+ "bytecode": "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61078d8061007e6000396000f3fe60806040526004361061007b5760003560e01c80639623609d1161004e5780639623609d1461011157806399a88ec414610124578063f2fde38b14610144578063f3b7dead1461016457600080fd5b8063204e1c7a14610080578063715018a6146100bc5780637eff275e146100d35780638da5cb5b146100f3575b600080fd5b34801561008c57600080fd5b506100a061009b366004610579565b610184565b6040516001600160a01b03909116815260200160405180910390f35b3480156100c857600080fd5b506100d161022e565b005b3480156100df57600080fd5b506100d16100ee36600461059d565b610242565b3480156100ff57600080fd5b506000546001600160a01b03166100a0565b6100d161011f366004610605565b6102c3565b34801561013057600080fd5b506100d161013f36600461059d565b61034b565b34801561015057600080fd5b506100d161015f366004610579565b61039a565b34801561017057600080fd5b506100a061017f366004610579565b610449565b6000806000836001600160a01b03166040516101c3907f5c60da1b00000000000000000000000000000000000000000000000000000000815260040190565b600060405180830381855afa9150503d80600081146101fe576040519150601f19603f3d011682016040523d82523d6000602084013e610203565b606091505b50915091508161021257600080fd5b8080602001905181019061022691906106db565b949350505050565b610236610488565b61024060006104fc565b565b61024a610488565b6040517f8f2839700000000000000000000000000000000000000000000000000000000081526001600160a01b038281166004830152831690638f283970906024015b600060405180830381600087803b1580156102a757600080fd5b505af11580156102bb573d6000803e3d6000fd5b505050505050565b6102cb610488565b6040517f4f1ef2860000000000000000000000000000000000000000000000000000000081526001600160a01b03841690634f1ef28690349061031490869086906004016106f8565b6000604051808303818588803b15801561032d57600080fd5b505af1158015610341573d6000803e3d6000fd5b5050505050505050565b610353610488565b6040517f3659cfe60000000000000000000000000000000000000000000000000000000081526001600160a01b038281166004830152831690633659cfe69060240161028d565b6103a2610488565b6001600160a01b03811661043d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610446816104fc565b50565b6000806000836001600160a01b03166040516101c3907ff851a44000000000000000000000000000000000000000000000000000000000815260040190565b6000546001600160a01b03163314610240576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610434565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461044657600080fd5b60006020828403121561058b57600080fd5b813561059681610564565b9392505050565b600080604083850312156105b057600080fd5b82356105bb81610564565b915060208301356105cb81610564565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060006060848603121561061a57600080fd5b833561062581610564565b9250602084013561063581610564565b9150604084013567ffffffffffffffff8082111561065257600080fd5b818601915086601f83011261066657600080fd5b813581811115610678576106786105d6565b604051601f8201601f19908116603f011681019083821181831017156106a0576106a06105d6565b816040528281528960208487010111156106b957600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156106ed57600080fd5b815161059681610564565b6001600160a01b038316815260006020604081840152835180604085015260005b8181101561073557858101830151858201606001528201610719565b506000606082860101526060601f19601f83011685010192505050939250505056fea264697066735822122076d272eb6456a016cf2af94ef883f02aa3ffcaa0f2aeaae4c2d10b1a127ace0464736f6c63430008110033",
157
+ "deployedBytecode": "0x60806040526004361061007b5760003560e01c80639623609d1161004e5780639623609d1461011157806399a88ec414610124578063f2fde38b14610144578063f3b7dead1461016457600080fd5b8063204e1c7a14610080578063715018a6146100bc5780637eff275e146100d35780638da5cb5b146100f3575b600080fd5b34801561008c57600080fd5b506100a061009b366004610579565b610184565b6040516001600160a01b03909116815260200160405180910390f35b3480156100c857600080fd5b506100d161022e565b005b3480156100df57600080fd5b506100d16100ee36600461059d565b610242565b3480156100ff57600080fd5b506000546001600160a01b03166100a0565b6100d161011f366004610605565b6102c3565b34801561013057600080fd5b506100d161013f36600461059d565b61034b565b34801561015057600080fd5b506100d161015f366004610579565b61039a565b34801561017057600080fd5b506100a061017f366004610579565b610449565b6000806000836001600160a01b03166040516101c3907f5c60da1b00000000000000000000000000000000000000000000000000000000815260040190565b600060405180830381855afa9150503d80600081146101fe576040519150601f19603f3d011682016040523d82523d6000602084013e610203565b606091505b50915091508161021257600080fd5b8080602001905181019061022691906106db565b949350505050565b610236610488565b61024060006104fc565b565b61024a610488565b6040517f8f2839700000000000000000000000000000000000000000000000000000000081526001600160a01b038281166004830152831690638f283970906024015b600060405180830381600087803b1580156102a757600080fd5b505af11580156102bb573d6000803e3d6000fd5b505050505050565b6102cb610488565b6040517f4f1ef2860000000000000000000000000000000000000000000000000000000081526001600160a01b03841690634f1ef28690349061031490869086906004016106f8565b6000604051808303818588803b15801561032d57600080fd5b505af1158015610341573d6000803e3d6000fd5b5050505050505050565b610353610488565b6040517f3659cfe60000000000000000000000000000000000000000000000000000000081526001600160a01b038281166004830152831690633659cfe69060240161028d565b6103a2610488565b6001600160a01b03811661043d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610446816104fc565b50565b6000806000836001600160a01b03166040516101c3907ff851a44000000000000000000000000000000000000000000000000000000000815260040190565b6000546001600160a01b03163314610240576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610434565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461044657600080fd5b60006020828403121561058b57600080fd5b813561059681610564565b9392505050565b600080604083850312156105b057600080fd5b82356105bb81610564565b915060208301356105cb81610564565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060006060848603121561061a57600080fd5b833561062581610564565b9250602084013561063581610564565b9150604084013567ffffffffffffffff8082111561065257600080fd5b818601915086601f83011261066657600080fd5b813581811115610678576106786105d6565b604051601f8201601f19908116603f011681019083821181831017156106a0576106a06105d6565b816040528281528960208487010111156106b957600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156106ed57600080fd5b815161059681610564565b6001600160a01b038316815260006020604081840152835180604085015260005b8181101561073557858101830151858201606001528201610719565b506000606082860101526060601f19601f83011685010192505050939250505056fea264697066735822122076d272eb6456a016cf2af94ef883f02aa3ffcaa0f2aeaae4c2d10b1a127ace0464736f6c63430008110033",
158
158
  "linkReferences": {},
159
159
  "deployedLinkReferences": {}
160
160
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/671b0778dc33f2c1b20cf41504c8e4d9.json"
3
+ "buildInfo": "../../../build-info/20d3c20b27a0078f8acb7ef1c538821c.json"
4
4
  }
@@ -18,8 +18,8 @@
18
18
  "type": "function"
19
19
  }
20
20
  ],
21
- "bytecode": "0x608060405234801561001057600080fd5b5061148c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a7f437791461003b578063f809f20514610045575b600080fd5b61004361004d565b005b61004361041d565b6007805461005a906111b8565b159050610121576007805461006e816111b8565b8061008957634e487b7160e01b600052603160045260246000fd5b601f811180156100a057600181146100c257610118565b6001826021036101000a03600183039250600283028482191617935050610118565b8360005260206000208260208114610105576020600019808601828104949094018054601f959095169092036101000a0119909216825560011990940193610115565b81546000835560ff1916603e1794505b50505b5050905561004d565b601060088054610130906111b8565b905011156101f85760088054610145816111b8565b8061016057634e487b7160e01b600052603160045260246000fd5b601f811180156101775760018114610199576101ef565b6001826021036101000a036001830392506002830284821916179350506101ef565b83600052602060002082602081146101dc576020600019808601828104949094018054601f959095169092036101000a01199092168255600119909401936101ec565b81546000835560ff1916603e1794505b50505b50509055610121565b60408051808201909152600f8082526e7761736d2069732063757465203c3360881b602090920191825261022e91600991610e45565b505b6005541561027f576005805480610249576102496111f3565b60008281526020902060046000199092019182040180546001600160401b03600860038516026101000a02191690559055610230565b600654600110156102be57600680548061029b5761029b6111f3565b6001900381819060005260206000200160006102b79190610ec9565b905561027f565b60005b60088110156102f8576000818152600a6020526040902080546001600160a01b0319169055806102f08161121f565b9150506102c1565b5060086000908152600a60209081527f2c1fd36ba11b13b555f58753742999069764391f450ca8727fe8a3eeffe6777580546001600160a01b03191690911790555b6004816001600160a01b0316101561037f576001600160a01b0381166000908152600b6020526040812061036d91610eee565b806103778161123a565b91505061033a565b506004805480610391576103916111f3565b60008281526020812060026000199390930192830201805465ffffffffffff19168155600101819055915560188190556019819055601a819055601b556103da601c6000610f13565b6103e6601d6000610f34565b6021805465ffffffffffff19908116909155600060228190556023805483169055602481905560258054909216909155602655565b565b600080546001600160a81b0319166170011781556001805460306001600160a01b03199091161790556002805465ffffffffffff1916657fffffff002017905560406003555b6020816001600160401b031610156104e457600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db06004820401805460039092166008026101000a6001600160401b038181021990931692841602919091179055806104dc81611261565b915050610463565b50604d60056007815481106104fb576104fb61127e565b90600052602060002090600491828204019190066008026101000a8154816001600160401b0302191690836001600160401b0316021790555060005b600a81101561063f576006816001600160401b0381111561055a5761055a611294565b604051908082528060200260200182016040528015610583578160200160208202803683370190505b508154600181018355600092835260209283902082516105a99491909201920190610f70565b5060005b8181101561062c5780600683815481106105c9576105c961127e565b9060005260206000200182815481106105e4576105e461127e565b90600052602060002090600691828204019190066005026101000a81548164ffffffffff021916908364ffffffffff16021790555080806106249061121f565b9150506105ad565b50806106378161121f565b915050610537565b5060005b600a8110156107015760005b818110156106ee5760026006838154811061066c5761066c61127e565b9060005260206000200182815481106106875761068761127e565b90600052602060002090600691828204019190066005028282829054906101000a900464ffffffffff166106bb91906112aa565b92506101000a81548164ffffffffff021916908364ffffffffff16021790555080806106e69061121f565b91505061064f565b50806106f98161121f565b915050610643565b5060005b601f8160ff16101561075c576007816040516020016107259291906112d7565b60405160208183030381529060405260079080519060200190610749929190610e45565b50806107548161138c565b915050610705565b5060005b60508160ff1610156107b7576008816040516020016107809291906112d7565b604051602081830303815290604052600890805190602001906107a4929190610e45565b50806107af8161138c565b915050610760565b5060408051808201909152600f8082526e617262697472756d207374796c757360881b60209092019182526107ee91600991610e45565b5060005b6010811015610834576000818152600a6020526040902080546001600160a01b0319166001600160a01b0383161790558061082c8161121f565b9150506107f2565b5060005b6004816001600160a01b031610156108f85760408051600080825260208083018085526001600160a01b0386168352600b909152929020905161087b929061101d565b5060005b816001600160a01b031681116108e5576001600160a01b0382166000908152600b60209081526040822080546001810182559083529181902090820401805460ff601f9093166101000a92830219169091179055806108dd8161121f565b91505061087f565b50806108f08161123a565b915050610838565b5060005b60048160030b121561097b57600c8054600101808255600082905263ffffffff83169190829081106109305761093061127e565b60009182526020808320600386900b84529190910190526040902080546001600160a01b0319166001600160a01b039290921691909117905580610973816113ac565b9150506108fc565b5060005b60048160ff1610156109ed576109968160016113c6565b6001600160f81b031960f883901b166000908152600d6020526040812060ff9290921691906109c66002856113eb565b60ff16158152602081019190915260400160002055806109e58161138c565b91505061097f565b50604051657374796c757360d01b8152600290600e906006019081526040519081900360200190208154815461ffff19811661ffff9092169182178355835463ffffffff6201000091829004160265ffffffffffff1990911690911717815560019182015491015560005b6004811015610b0c5760048054600181018255600091909152600280547f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b928202928301805461ffff90921661ffff19831681178255925465ffffffffffff19909216909217620100009182900463ffffffff169091021790556003547f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19c9091015580610b048161121f565b915050610a58565b5060408051808201909152600e8082526d4c3220697320666f7220796f752160901b6020909201918252610b4291601191610e45565b5060005b6005811015610b9d578060148160058110610b6357610b6361127e565b600a91828204019190066003026101000a81548162ffffff021916908362ffffff1602179055508080610b959061121f565b915050610b46565b5060005b6002811015610bef578060168160028110610bbe57610bbe61127e565b0180546001600160a01b0319166001600160a01b039290921691909117905580610be78161121f565b915050610ba1565b5060005b6004811015610c85578060188160048110610c1057610c1061127e565b01805460ff191660ff9290921691909117905560188160048110610c3657610c3661127e565b0154610c469060ff1660016113c6565b60188260048110610c5957610c5961127e565b01805460ff929092166101000261ff001990921691909117905580610c7d8161121f565b915050610bf3565b5060005b6003811015610d2f57610c9a6110b0565b60005b6004811215610cd85780828260048110610cb957610cb961127e565b600b9290920b6020909202015280610cd08161141b565b915050610c9d565b50601c8054600181018255600091909152610d1a906002027f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211018260046110ce565b50508080610d279061121f565b915050610c89565b5060005b6004811015610dc25760005b600481600b0b1215610daf57601d8260048110610d5e57610d5e61127e565b01805460018082018355600092835260209092206002820401805492909116600c026101000a6001600160601b03818102199093169284160291909117905580610da781611434565b915050610d3f565b5080610dba8161121f565b915050610d33565b5060005b6003811015610e4257600260218260038110610de457610de461127e565b825460029190910291909101805461ffff90921661ffff19831681178255835465ffffffffffff1990931617620100009283900463ffffffff1690920291909117815560019182015491015580610e3a8161121f565b915050610dc6565b50565b828054610e51906111b8565b90600052602060002090601f016020900481019282610e735760008555610eb9565b82601f10610e8c57805160ff1916838001178555610eb9565b82800160010185558215610eb9579182015b82811115610eb9578251825591602001919060010190610e9e565b50610ec5929150611164565b5090565b508054600082556005016006900490600052602060002090810190610e429190611164565b50805460008255601f016020900490600052602060002090810190610e429190611164565b5080546000825560020290600052602060002090810190610e429190611179565b506000610f418282611193565b506001016000610f518282611193565b506001016000610f618282611193565b5061041b906001016000611193565b82805482825590600052602060002090600501600690048101928215610eb95791602002820160005b83821115610fdf57835183826101000a81548164ffffffffff021916908364ffffffffff1602179055509260200192600501602081600401049283019260010302610f99565b80156110105782816101000a81549064ffffffffff0219169055600501602081600401049283019260010302610fdf565b5050610ec5929150611164565b82805482825590600052602060002090601f01602090048101928215610eb95791602002820160005b8382111561108357835183826101000a81548160ff0219169083151502179055509260200192600101602081600001049283019260010302611046565b80156110105782816101000a81549060ff0219169055600101602081600001049283019260010302611083565b60405180608001604052806004906020820280368337509192915050565b600283019183908215610eb95791602002820160005b8382111561113157835183826101000a8154816001600160601b030219169083600b0b6001600160601b031602179055509260200192600c01602081600b010492830192600103026110e4565b80156110105782816101000a8154906001600160601b030219169055600c01602081600b01049283019260010302611131565b5b80821115610ec55760008155600101611165565b80821115610ec55760008082556001820155600201611179565b508054600082556001016002900490600052602060002090810190610e429190611164565b600181811c908216806111cc57607f821691505b602082108114156111ed57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141561123357611233611209565b5060010190565b60006001600160a01b038281168082141561125757611257611209565b6001019392505050565b60006001600160401b038083168181141561125757611257611209565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600064ffffffffff808316818516818304811182151516156112ce576112ce611209565b02949350505050565b600080845481600182811c9150808316806112f357607f831692505b602080841082141561131357634e487b7160e01b86526022600452602486fd5b818015611327576001811461133857611365565b60ff19861689528489019650611365565b60008b81526020902060005b8681101561135d5781548b820152908501908301611344565b505084890196505b50505061137e848860f81b6001600160f81b0319169052565b929092019695505050505050565b600060ff821660ff8114156113a3576113a3611209565b60010192915050565b60008160030b637fffffff8114156113a3576113a3611209565b600060ff821660ff84168060ff038211156113e3576113e3611209565b019392505050565b600060ff83168061140c57634e487b7160e01b600052601260045260246000fd5b8060ff84160691505092915050565b60006001600160ff1b0382141561123357611233611209565b600081600b0b6b7fffffffffffffffffffffff8114156113a3576113a361120956fea26469706673582212207fff0c6884ce2f8f45ede07cfe79337eaccb3448f321aae188fca64654463c7b64736f6c63430008090033",
22
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063a7f437791461003b578063f809f20514610045575b600080fd5b61004361004d565b005b61004361041d565b6007805461005a906111b8565b159050610121576007805461006e816111b8565b8061008957634e487b7160e01b600052603160045260246000fd5b601f811180156100a057600181146100c257610118565b6001826021036101000a03600183039250600283028482191617935050610118565b8360005260206000208260208114610105576020600019808601828104949094018054601f959095169092036101000a0119909216825560011990940193610115565b81546000835560ff1916603e1794505b50505b5050905561004d565b601060088054610130906111b8565b905011156101f85760088054610145816111b8565b8061016057634e487b7160e01b600052603160045260246000fd5b601f811180156101775760018114610199576101ef565b6001826021036101000a036001830392506002830284821916179350506101ef565b83600052602060002082602081146101dc576020600019808601828104949094018054601f959095169092036101000a01199092168255600119909401936101ec565b81546000835560ff1916603e1794505b50505b50509055610121565b60408051808201909152600f8082526e7761736d2069732063757465203c3360881b602090920191825261022e91600991610e45565b505b6005541561027f576005805480610249576102496111f3565b60008281526020902060046000199092019182040180546001600160401b03600860038516026101000a02191690559055610230565b600654600110156102be57600680548061029b5761029b6111f3565b6001900381819060005260206000200160006102b79190610ec9565b905561027f565b60005b60088110156102f8576000818152600a6020526040902080546001600160a01b0319169055806102f08161121f565b9150506102c1565b5060086000908152600a60209081527f2c1fd36ba11b13b555f58753742999069764391f450ca8727fe8a3eeffe6777580546001600160a01b03191690911790555b6004816001600160a01b0316101561037f576001600160a01b0381166000908152600b6020526040812061036d91610eee565b806103778161123a565b91505061033a565b506004805480610391576103916111f3565b60008281526020812060026000199390930192830201805465ffffffffffff19168155600101819055915560188190556019819055601a819055601b556103da601c6000610f13565b6103e6601d6000610f34565b6021805465ffffffffffff19908116909155600060228190556023805483169055602481905560258054909216909155602655565b565b600080546001600160a81b0319166170011781556001805460306001600160a01b03199091161790556002805465ffffffffffff1916657fffffff002017905560406003555b6020816001600160401b031610156104e457600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db06004820401805460039092166008026101000a6001600160401b038181021990931692841602919091179055806104dc81611261565b915050610463565b50604d60056007815481106104fb576104fb61127e565b90600052602060002090600491828204019190066008026101000a8154816001600160401b0302191690836001600160401b0316021790555060005b600a81101561063f576006816001600160401b0381111561055a5761055a611294565b604051908082528060200260200182016040528015610583578160200160208202803683370190505b508154600181018355600092835260209283902082516105a99491909201920190610f70565b5060005b8181101561062c5780600683815481106105c9576105c961127e565b9060005260206000200182815481106105e4576105e461127e565b90600052602060002090600691828204019190066005026101000a81548164ffffffffff021916908364ffffffffff16021790555080806106249061121f565b9150506105ad565b50806106378161121f565b915050610537565b5060005b600a8110156107015760005b818110156106ee5760026006838154811061066c5761066c61127e565b9060005260206000200182815481106106875761068761127e565b90600052602060002090600691828204019190066005028282829054906101000a900464ffffffffff166106bb91906112aa565b92506101000a81548164ffffffffff021916908364ffffffffff16021790555080806106e69061121f565b91505061064f565b50806106f98161121f565b915050610643565b5060005b601f8160ff16101561075c576007816040516020016107259291906112d7565b60405160208183030381529060405260079080519060200190610749929190610e45565b50806107548161138c565b915050610705565b5060005b60508160ff1610156107b7576008816040516020016107809291906112d7565b604051602081830303815290604052600890805190602001906107a4929190610e45565b50806107af8161138c565b915050610760565b5060408051808201909152600f8082526e617262697472756d207374796c757360881b60209092019182526107ee91600991610e45565b5060005b6010811015610834576000818152600a6020526040902080546001600160a01b0319166001600160a01b0383161790558061082c8161121f565b9150506107f2565b5060005b6004816001600160a01b031610156108f85760408051600080825260208083018085526001600160a01b0386168352600b909152929020905161087b929061101d565b5060005b816001600160a01b031681116108e5576001600160a01b0382166000908152600b60209081526040822080546001810182559083529181902090820401805460ff601f9093166101000a92830219169091179055806108dd8161121f565b91505061087f565b50806108f08161123a565b915050610838565b5060005b60048160030b121561097b57600c8054600101808255600082905263ffffffff83169190829081106109305761093061127e565b60009182526020808320600386900b84529190910190526040902080546001600160a01b0319166001600160a01b039290921691909117905580610973816113ac565b9150506108fc565b5060005b60048160ff1610156109ed576109968160016113c6565b6001600160f81b031960f883901b166000908152600d6020526040812060ff9290921691906109c66002856113eb565b60ff16158152602081019190915260400160002055806109e58161138c565b91505061097f565b50604051657374796c757360d01b8152600290600e906006019081526040519081900360200190208154815461ffff19811661ffff9092169182178355835463ffffffff6201000091829004160265ffffffffffff1990911690911717815560019182015491015560005b6004811015610b0c5760048054600181018255600091909152600280547f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b928202928301805461ffff90921661ffff19831681178255925465ffffffffffff19909216909217620100009182900463ffffffff169091021790556003547f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19c9091015580610b048161121f565b915050610a58565b5060408051808201909152600e8082526d4c3220697320666f7220796f752160901b6020909201918252610b4291601191610e45565b5060005b6005811015610b9d578060148160058110610b6357610b6361127e565b600a91828204019190066003026101000a81548162ffffff021916908362ffffff1602179055508080610b959061121f565b915050610b46565b5060005b6002811015610bef578060168160028110610bbe57610bbe61127e565b0180546001600160a01b0319166001600160a01b039290921691909117905580610be78161121f565b915050610ba1565b5060005b6004811015610c85578060188160048110610c1057610c1061127e565b01805460ff191660ff9290921691909117905560188160048110610c3657610c3661127e565b0154610c469060ff1660016113c6565b60188260048110610c5957610c5961127e565b01805460ff929092166101000261ff001990921691909117905580610c7d8161121f565b915050610bf3565b5060005b6003811015610d2f57610c9a6110b0565b60005b6004811215610cd85780828260048110610cb957610cb961127e565b600b9290920b6020909202015280610cd08161141b565b915050610c9d565b50601c8054600181018255600091909152610d1a906002027f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211018260046110ce565b50508080610d279061121f565b915050610c89565b5060005b6004811015610dc25760005b600481600b0b1215610daf57601d8260048110610d5e57610d5e61127e565b01805460018082018355600092835260209092206002820401805492909116600c026101000a6001600160601b03818102199093169284160291909117905580610da781611434565b915050610d3f565b5080610dba8161121f565b915050610d33565b5060005b6003811015610e4257600260218260038110610de457610de461127e565b825460029190910291909101805461ffff90921661ffff19831681178255835465ffffffffffff1990931617620100009283900463ffffffff1690920291909117815560019182015491015580610e3a8161121f565b915050610dc6565b50565b828054610e51906111b8565b90600052602060002090601f016020900481019282610e735760008555610eb9565b82601f10610e8c57805160ff1916838001178555610eb9565b82800160010185558215610eb9579182015b82811115610eb9578251825591602001919060010190610e9e565b50610ec5929150611164565b5090565b508054600082556005016006900490600052602060002090810190610e429190611164565b50805460008255601f016020900490600052602060002090810190610e429190611164565b5080546000825560020290600052602060002090810190610e429190611179565b506000610f418282611193565b506001016000610f518282611193565b506001016000610f618282611193565b5061041b906001016000611193565b82805482825590600052602060002090600501600690048101928215610eb95791602002820160005b83821115610fdf57835183826101000a81548164ffffffffff021916908364ffffffffff1602179055509260200192600501602081600401049283019260010302610f99565b80156110105782816101000a81549064ffffffffff0219169055600501602081600401049283019260010302610fdf565b5050610ec5929150611164565b82805482825590600052602060002090601f01602090048101928215610eb95791602002820160005b8382111561108357835183826101000a81548160ff0219169083151502179055509260200192600101602081600001049283019260010302611046565b80156110105782816101000a81549060ff0219169055600101602081600001049283019260010302611083565b60405180608001604052806004906020820280368337509192915050565b600283019183908215610eb95791602002820160005b8382111561113157835183826101000a8154816001600160601b030219169083600b0b6001600160601b031602179055509260200192600c01602081600b010492830192600103026110e4565b80156110105782816101000a8154906001600160601b030219169055600c01602081600b01049283019260010302611131565b5b80821115610ec55760008155600101611165565b80821115610ec55760008082556001820155600201611179565b508054600082556001016002900490600052602060002090810190610e429190611164565b600181811c908216806111cc57607f821691505b602082108114156111ed57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141561123357611233611209565b5060010190565b60006001600160a01b038281168082141561125757611257611209565b6001019392505050565b60006001600160401b038083168181141561125757611257611209565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600064ffffffffff808316818516818304811182151516156112ce576112ce611209565b02949350505050565b600080845481600182811c9150808316806112f357607f831692505b602080841082141561131357634e487b7160e01b86526022600452602486fd5b818015611327576001811461133857611365565b60ff19861689528489019650611365565b60008b81526020902060005b8681101561135d5781548b820152908501908301611344565b505084890196505b50505061137e848860f81b6001600160f81b0319169052565b929092019695505050505050565b600060ff821660ff8114156113a3576113a3611209565b60010192915050565b60008160030b637fffffff8114156113a3576113a3611209565b600060ff821660ff84168060ff038211156113e3576113e3611209565b019392505050565b600060ff83168061140c57634e487b7160e01b600052601260045260246000fd5b8060ff84160691505092915050565b60006001600160ff1b0382141561123357611233611209565b600081600b0b6b7fffffffffffffffffffffff8114156113a3576113a361120956fea26469706673582212207fff0c6884ce2f8f45ede07cfe79337eaccb3448f321aae188fca64654463c7b64736f6c63430008090033",
21
+ "bytecode": "0x608060405234801561001057600080fd5b5061160f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a7f437791461003b578063f809f20514610045575b600080fd5b61004361004d565b005b610043610443565b6007805461005a90611219565b159050610121576007805461006e81611219565b8061008957634e487b7160e01b600052603160045260246000fd5b601f811180156100a057600181146100c257610118565b6001826021036101000a03600183039250600283028482191617935050610118565b8360005260206000208260208114610105576020600019808601828104949094018054601f959095169092036101000a0119909216825560011990940193610115565b81546000835560ff1916603e1794505b50505b5050905561004d565b60106008805461013090611219565b905011156101f8576008805461014581611219565b8061016057634e487b7160e01b600052603160045260246000fd5b601f811180156101775760018114610199576101ef565b6001826021036101000a036001830392506002830284821916179350506101ef565b83600052602060002082602081146101dc576020600019808601828104949094018054601f959095169092036101000a01199092168255600119909401936101ec565b81546000835560ff1916603e1794505b50505b50509055610121565b60408051808201909152600f81527f7761736d2069732063757465203c330000000000000000000000000000000000602082015260099061023990826112b8565b505b6005541561028b57600580548061025457610254611396565b600082815260209020600460001990920191820401805467ffffffffffffffff600860038516026101000a0219169055905561023b565b600654600110156102ca5760068054806102a7576102a7611396565b6001900381819060005260206000200160006102c39190610f16565b905561028b565b60005b6008811015610311576000818152600a60205260409020805473ffffffffffffffffffffffffffffffffffffffff1916905580610309816113c2565b9150506102cd565b5060086000908152600a60209081527f2c1fd36ba11b13b555f58753742999069764391f450ca8727fe8a3eeffe67775805473ffffffffffffffffffffffffffffffffffffffff191690911790555b6004816001600160a01b031610156103a5576001600160a01b0381166000908152600b6020526040812061039391610f3b565b8061039d816113dc565b915050610360565b5060048054806103b7576103b7611396565b60008281526020812060026000199390930192830201805465ffffffffffff19168155600101819055915560188190556019819055601a819055601b55610400601c6000610f60565b61040c601d6000610f81565b6021805465ffffffffffff19908116909155600060228190556023805483169055602481905560258054909216909155602655565b565b600080547fffffffffffffffffffffff0000000000000000000000000000000000000000001661700117815560018054603073ffffffffffffffffffffffffffffffffffffffff199091161790556002805465ffffffffffff1916657fffffff002017905560406003555b60208167ffffffffffffffff16101561053157600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db06004820401805460039092166008026101000a67ffffffffffffffff81810219909316928416029190911790558061052981611402565b9150506104ae565b50604d60056007815481106105485761054861141f565b90600052602060002090600491828204019190066008026101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060005b600a81101561068f5760068167ffffffffffffffff8111156105aa576105aa611253565b6040519080825280602002602001820160405280156105d3578160200160208202803683370190505b508154600181018355600092835260209283902082516105f99491909201920190610fbd565b5060005b8181101561067c5780600683815481106106195761061961141f565b9060005260206000200182815481106106345761063461141f565b90600052602060002090600691828204019190066005026101000a81548164ffffffffff021916908364ffffffffff1602179055508080610674906113c2565b9150506105fd565b5080610687816113c2565b915050610586565b5060005b600a8110156107515760005b8181101561073e576002600683815481106106bc576106bc61141f565b9060005260206000200182815481106106d7576106d761141f565b90600052602060002090600691828204019190066005028282829054906101000a900464ffffffffff1661070b9190611435565b92506101000a81548164ffffffffff021916908364ffffffffff1602179055508080610736906113c2565b91505061069f565b5080610749816113c2565b915050610693565b5060005b601f8160ff1610156107a55760078160405160200161077592919061145e565b6040516020818303038152906040526007908161079291906112b8565b508061079d81611500565b915050610755565b5060005b60508160ff1610156107f9576008816040516020016107c992919061145e565b604051602081830303815290604052600890816107e691906112b8565b50806107f181611500565b9150506107a9565b5060408051808201909152600f81527f617262697472756d207374796c75730000000000000000000000000000000000602082015260099061083b90826112b8565b5060005b601081101561088e576000818152600a60205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03831617905580610886816113c2565b91505061083f565b5060005b6004816001600160a01b031610156109525760408051600080825260208083018085526001600160a01b0386168352600b90915292902090516108d5929061106f565b5060005b816001600160a01b0316811161093f576001600160a01b0382166000908152600b60209081526040822080546001810182559083529181902090820401805460ff601f9093166101000a9283021916909117905580610937816113c2565b9150506108d9565b508061094a816113dc565b915050610892565b5060005b60048160030b12156109e257600c8054600101808255600082905263ffffffff831691908290811061098a5761098a61141f565b60009182526020808320600386900b845291909101905260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055806109da8161151f565b915050610956565b5060005b60048160ff161015610a6c576109fd816001611538565b7fff0000000000000000000000000000000000000000000000000000000000000060f883901b166000908152600d6020526040812060ff929092169190610a45600285611557565b60ff1615815260208101919091526040016000205580610a6481611500565b9150506109e6565b506040517f7374796c757300000000000000000000000000000000000000000000000000008152600290600e906006019081526040519081900360200190208154815461ffff19811661ffff9092169182178355835463ffffffff6201000091829004160265ffffffffffff1990911690911717815560019182015491015560005b6004811015610ba25760048054600181018255600091909152600280547f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b928202928301805461ffff90921661ffff19831681178255925465ffffffffffff19909216909217620100009182900463ffffffff169091021790556003547f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19c9091015580610b9a816113c2565b915050610aee565b5060408051808201909152600e81527f4c3220697320666f7220796f75210000000000000000000000000000000000006020820152601190610be490826112b8565b5060005b6005811015610c3f578060148160058110610c0557610c0561141f565b600a91828204019190066003026101000a81548162ffffff021916908362ffffff1602179055508080610c37906113c2565b915050610be8565b5060005b6002811015610c9e578060168160028110610c6057610c6061141f565b01805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691909117905580610c96816113c2565b915050610c43565b5060005b6004811015610d51578060188160048110610cbf57610cbf61141f565b01805460ff191660ff9290921691909117905560188160048110610ce557610ce561141f565b0154610cf59060ff166001611538565b60188260048110610d0857610d0861141f565b01805460ff92909216610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff90921691909117905580610d49816113c2565b915050610ca2565b5060005b6003811015610dfb57610d66611102565b60005b6004811215610da45780828260048110610d8557610d8561141f565b600b9290920b6020909202015280610d9c81611587565b915050610d69565b50601c8054600181018255600091909152610de6906002027f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a21101826004611120565b50508080610df3906113c2565b915050610d55565b5060005b6004811015610e935760005b600481600b0b1215610e8057601d8260048110610e2a57610e2a61141f565b01805460018082018355600092835260209092206002820401805492909116600c026101000a6bffffffffffffffffffffffff818102199093169284160291909117905580610e78816115b8565b915050610e0b565b5080610e8b816113c2565b915050610dff565b5060005b6003811015610f1357600260218260038110610eb557610eb561141f565b825460029190910291909101805461ffff90921661ffff19831681178255835465ffffffffffff1990931617620100009283900463ffffffff1690920291909117815560019182015491015580610f0b816113c2565b915050610e97565b50565b508054600082556005016006900490600052602060002090810190610f1391906111c5565b50805460008255601f016020900490600052602060002090810190610f1391906111c5565b5080546000825560020290600052602060002090810190610f1391906111da565b506000610f8e82826111f4565b506001016000610f9e82826111f4565b506001016000610fae82826111f4565b506104419060010160006111f4565b8280548282559060005260206000209060050160069004810192821561105f5791602002820160005b8382111561102c57835183826101000a81548164ffffffffff021916908364ffffffffff1602179055509260200192600501602081600401049283019260010302610fe6565b801561105d5782816101000a81549064ffffffffff021916905560050160208160040104928301926001030261102c565b505b5061106b9291506111c5565b5090565b82805482825590600052602060002090601f0160209004810192821561105f5791602002820160005b838211156110d557835183826101000a81548160ff0219169083151502179055509260200192600101602081600001049283019260010302611098565b801561105d5782816101000a81549060ff02191690556001016020816000010492830192600103026110d5565b60405180608001604052806004906020820280368337509192915050565b60028301918390821561105f5791602002820160005b8382111561118d57835183826101000a8154816bffffffffffffffffffffffff0219169083600b0b6bffffffffffffffffffffffff1602179055509260200192600c01602081600b01049283019260010302611136565b801561105d5782816101000a8154906bffffffffffffffffffffffff0219169055600c01602081600b0104928301926001030261118d565b5b8082111561106b57600081556001016111c6565b8082111561106b57600080825560018201556002016111da565b508054600082556001016002900490600052602060002090810190610f1391906111c5565b600181811c9082168061122d57607f821691505b60208210810361124d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b601f8211156112b357600081815260208120601f850160051c810160208610156112905750805b601f850160051c820191505b818110156112af5782815560010161129c565b5050505b505050565b815167ffffffffffffffff8111156112d2576112d2611253565b6112e6816112e08454611219565b84611269565b602080601f83116001811461131b57600084156113035750858301515b600019600386901b1c1916600185901b1785556112af565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561136857888601518255948401946001909101908401611349565b50858210156113865787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982036113d5576113d56113ac565b5060010190565b60006001600160a01b038083168181036113f8576113f86113ac565b6001019392505050565b600067ffffffffffffffff8083168181036113f8576113f86113ac565b634e487b7160e01b600052603260045260246000fd5b64ffffffffff818116838216028082169190828114611456576114566113ac565b505092915050565b600080845461146c81611219565b600182811680156114845760018114611499576114c8565b60ff19841687528215158302870194506114c8565b8860005260208060002060005b858110156114bf5781548a8201529084019082016114a6565b50505082870194505b5060f89690961b7fff000000000000000000000000000000000000000000000000000000000000001683525050929092019392505050565b600060ff821660ff8103611516576115166113ac565b60010192915050565b60008160030b637fffffff8103611516576115166113ac565b60ff8181168382160190811115611551576115516113ac565b92915050565b600060ff83168061157857634e487b7160e01b600052601260045260246000fd5b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036113d5576113d56113ac565b600081600b0b6b7fffffffffffffffffffffff8103611516576115166113ac56fea26469706673582212204185a3eac006d533900698169b2c2ee5f92af0f8893f24b122c992abbe8db8e664736f6c63430008110033",
22
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063a7f437791461003b578063f809f20514610045575b600080fd5b61004361004d565b005b610043610443565b6007805461005a90611219565b159050610121576007805461006e81611219565b8061008957634e487b7160e01b600052603160045260246000fd5b601f811180156100a057600181146100c257610118565b6001826021036101000a03600183039250600283028482191617935050610118565b8360005260206000208260208114610105576020600019808601828104949094018054601f959095169092036101000a0119909216825560011990940193610115565b81546000835560ff1916603e1794505b50505b5050905561004d565b60106008805461013090611219565b905011156101f8576008805461014581611219565b8061016057634e487b7160e01b600052603160045260246000fd5b601f811180156101775760018114610199576101ef565b6001826021036101000a036001830392506002830284821916179350506101ef565b83600052602060002082602081146101dc576020600019808601828104949094018054601f959095169092036101000a01199092168255600119909401936101ec565b81546000835560ff1916603e1794505b50505b50509055610121565b60408051808201909152600f81527f7761736d2069732063757465203c330000000000000000000000000000000000602082015260099061023990826112b8565b505b6005541561028b57600580548061025457610254611396565b600082815260209020600460001990920191820401805467ffffffffffffffff600860038516026101000a0219169055905561023b565b600654600110156102ca5760068054806102a7576102a7611396565b6001900381819060005260206000200160006102c39190610f16565b905561028b565b60005b6008811015610311576000818152600a60205260409020805473ffffffffffffffffffffffffffffffffffffffff1916905580610309816113c2565b9150506102cd565b5060086000908152600a60209081527f2c1fd36ba11b13b555f58753742999069764391f450ca8727fe8a3eeffe67775805473ffffffffffffffffffffffffffffffffffffffff191690911790555b6004816001600160a01b031610156103a5576001600160a01b0381166000908152600b6020526040812061039391610f3b565b8061039d816113dc565b915050610360565b5060048054806103b7576103b7611396565b60008281526020812060026000199390930192830201805465ffffffffffff19168155600101819055915560188190556019819055601a819055601b55610400601c6000610f60565b61040c601d6000610f81565b6021805465ffffffffffff19908116909155600060228190556023805483169055602481905560258054909216909155602655565b565b600080547fffffffffffffffffffffff0000000000000000000000000000000000000000001661700117815560018054603073ffffffffffffffffffffffffffffffffffffffff199091161790556002805465ffffffffffff1916657fffffff002017905560406003555b60208167ffffffffffffffff16101561053157600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db06004820401805460039092166008026101000a67ffffffffffffffff81810219909316928416029190911790558061052981611402565b9150506104ae565b50604d60056007815481106105485761054861141f565b90600052602060002090600491828204019190066008026101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060005b600a81101561068f5760068167ffffffffffffffff8111156105aa576105aa611253565b6040519080825280602002602001820160405280156105d3578160200160208202803683370190505b508154600181018355600092835260209283902082516105f99491909201920190610fbd565b5060005b8181101561067c5780600683815481106106195761061961141f565b9060005260206000200182815481106106345761063461141f565b90600052602060002090600691828204019190066005026101000a81548164ffffffffff021916908364ffffffffff1602179055508080610674906113c2565b9150506105fd565b5080610687816113c2565b915050610586565b5060005b600a8110156107515760005b8181101561073e576002600683815481106106bc576106bc61141f565b9060005260206000200182815481106106d7576106d761141f565b90600052602060002090600691828204019190066005028282829054906101000a900464ffffffffff1661070b9190611435565b92506101000a81548164ffffffffff021916908364ffffffffff1602179055508080610736906113c2565b91505061069f565b5080610749816113c2565b915050610693565b5060005b601f8160ff1610156107a55760078160405160200161077592919061145e565b6040516020818303038152906040526007908161079291906112b8565b508061079d81611500565b915050610755565b5060005b60508160ff1610156107f9576008816040516020016107c992919061145e565b604051602081830303815290604052600890816107e691906112b8565b50806107f181611500565b9150506107a9565b5060408051808201909152600f81527f617262697472756d207374796c75730000000000000000000000000000000000602082015260099061083b90826112b8565b5060005b601081101561088e576000818152600a60205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03831617905580610886816113c2565b91505061083f565b5060005b6004816001600160a01b031610156109525760408051600080825260208083018085526001600160a01b0386168352600b90915292902090516108d5929061106f565b5060005b816001600160a01b0316811161093f576001600160a01b0382166000908152600b60209081526040822080546001810182559083529181902090820401805460ff601f9093166101000a9283021916909117905580610937816113c2565b9150506108d9565b508061094a816113dc565b915050610892565b5060005b60048160030b12156109e257600c8054600101808255600082905263ffffffff831691908290811061098a5761098a61141f565b60009182526020808320600386900b845291909101905260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055806109da8161151f565b915050610956565b5060005b60048160ff161015610a6c576109fd816001611538565b7fff0000000000000000000000000000000000000000000000000000000000000060f883901b166000908152600d6020526040812060ff929092169190610a45600285611557565b60ff1615815260208101919091526040016000205580610a6481611500565b9150506109e6565b506040517f7374796c757300000000000000000000000000000000000000000000000000008152600290600e906006019081526040519081900360200190208154815461ffff19811661ffff9092169182178355835463ffffffff6201000091829004160265ffffffffffff1990911690911717815560019182015491015560005b6004811015610ba25760048054600181018255600091909152600280547f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b928202928301805461ffff90921661ffff19831681178255925465ffffffffffff19909216909217620100009182900463ffffffff169091021790556003547f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19c9091015580610b9a816113c2565b915050610aee565b5060408051808201909152600e81527f4c3220697320666f7220796f75210000000000000000000000000000000000006020820152601190610be490826112b8565b5060005b6005811015610c3f578060148160058110610c0557610c0561141f565b600a91828204019190066003026101000a81548162ffffff021916908362ffffff1602179055508080610c37906113c2565b915050610be8565b5060005b6002811015610c9e578060168160028110610c6057610c6061141f565b01805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691909117905580610c96816113c2565b915050610c43565b5060005b6004811015610d51578060188160048110610cbf57610cbf61141f565b01805460ff191660ff9290921691909117905560188160048110610ce557610ce561141f565b0154610cf59060ff166001611538565b60188260048110610d0857610d0861141f565b01805460ff92909216610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff90921691909117905580610d49816113c2565b915050610ca2565b5060005b6003811015610dfb57610d66611102565b60005b6004811215610da45780828260048110610d8557610d8561141f565b600b9290920b6020909202015280610d9c81611587565b915050610d69565b50601c8054600181018255600091909152610de6906002027f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a21101826004611120565b50508080610df3906113c2565b915050610d55565b5060005b6004811015610e935760005b600481600b0b1215610e8057601d8260048110610e2a57610e2a61141f565b01805460018082018355600092835260209092206002820401805492909116600c026101000a6bffffffffffffffffffffffff818102199093169284160291909117905580610e78816115b8565b915050610e0b565b5080610e8b816113c2565b915050610dff565b5060005b6003811015610f1357600260218260038110610eb557610eb561141f565b825460029190910291909101805461ffff90921661ffff19831681178255835465ffffffffffff1990931617620100009283900463ffffffff1690920291909117815560019182015491015580610f0b816113c2565b915050610e97565b50565b508054600082556005016006900490600052602060002090810190610f1391906111c5565b50805460008255601f016020900490600052602060002090810190610f1391906111c5565b5080546000825560020290600052602060002090810190610f1391906111da565b506000610f8e82826111f4565b506001016000610f9e82826111f4565b506001016000610fae82826111f4565b506104419060010160006111f4565b8280548282559060005260206000209060050160069004810192821561105f5791602002820160005b8382111561102c57835183826101000a81548164ffffffffff021916908364ffffffffff1602179055509260200192600501602081600401049283019260010302610fe6565b801561105d5782816101000a81549064ffffffffff021916905560050160208160040104928301926001030261102c565b505b5061106b9291506111c5565b5090565b82805482825590600052602060002090601f0160209004810192821561105f5791602002820160005b838211156110d557835183826101000a81548160ff0219169083151502179055509260200192600101602081600001049283019260010302611098565b801561105d5782816101000a81549060ff02191690556001016020816000010492830192600103026110d5565b60405180608001604052806004906020820280368337509192915050565b60028301918390821561105f5791602002820160005b8382111561118d57835183826101000a8154816bffffffffffffffffffffffff0219169083600b0b6bffffffffffffffffffffffff1602179055509260200192600c01602081600b01049283019260010302611136565b801561105d5782816101000a8154906bffffffffffffffffffffffff0219169055600c01602081600b0104928301926001030261118d565b5b8082111561106b57600081556001016111c6565b8082111561106b57600080825560018201556002016111da565b508054600082556001016002900490600052602060002090810190610f1391906111c5565b600181811c9082168061122d57607f821691505b60208210810361124d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b601f8211156112b357600081815260208120601f850160051c810160208610156112905750805b601f850160051c820191505b818110156112af5782815560010161129c565b5050505b505050565b815167ffffffffffffffff8111156112d2576112d2611253565b6112e6816112e08454611219565b84611269565b602080601f83116001811461131b57600084156113035750858301515b600019600386901b1c1916600185901b1785556112af565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561136857888601518255948401946001909101908401611349565b50858210156113865787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982036113d5576113d56113ac565b5060010190565b60006001600160a01b038083168181036113f8576113f86113ac565b6001019392505050565b600067ffffffffffffffff8083168181036113f8576113f86113ac565b634e487b7160e01b600052603260045260246000fd5b64ffffffffff818116838216028082169190828114611456576114566113ac565b505092915050565b600080845461146c81611219565b600182811680156114845760018114611499576114c8565b60ff19841687528215158302870194506114c8565b8860005260208060002060005b858110156114bf5781548a8201529084019082016114a6565b50505082870194505b5060f89690961b7fff000000000000000000000000000000000000000000000000000000000000001683525050929092019392505050565b600060ff821660ff8103611516576115166113ac565b60010192915050565b60008160030b637fffffff8103611516576115166113ac565b60ff8181168382160190811115611551576115516113ac565b92915050565b600060ff83168061157857634e487b7160e01b600052601260045260246000fd5b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036113d5576113d56113ac565b600081600b0b6b7fffffffffffffffffffffff8103611516576115166113ac56fea26469706673582212204185a3eac006d533900698169b2c2ee5f92af0f8893f24b122c992abbe8db8e664736f6c63430008110033",
23
23
  "linkReferences": {},
24
24
  "deployedLinkReferences": {}
25
25
  }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/20d3c20b27a0078f8acb7ef1c538821c.json"
4
+ }