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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (257) hide show
  1. package/LICENSE.md +1 -1
  2. package/build/contracts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +1 -1
  3. package/build/contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.dbg.json +1 -1
  4. package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +1 -1
  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/transparent/ProxyAdmin.sol/ProxyAdmin.dbg.json +1 -1
  10. package/build/contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.dbg.json +1 -1
  11. package/build/contracts/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol/UUPSUpgradeable.dbg.json +1 -1
  12. package/build/contracts/@openzeppelin/contracts/security/ReentrancyGuard.sol/ReentrancyGuard.dbg.json +1 -1
  13. package/build/contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +1 -1
  14. package/build/contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +1 -1
  15. package/build/contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +1 -1
  16. package/build/contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol/SafeERC20.dbg.json +1 -1
  17. package/build/contracts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json +1 -1
  18. package/build/contracts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +1 -1
  19. package/build/contracts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.dbg.json +1 -1
  20. package/build/contracts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json +1 -1
  21. package/build/contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.dbg.json +4 -0
  22. package/build/contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.json +10 -0
  23. package/build/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlEnumerableUpgradeable.sol/AccessControlEnumerableUpgradeable.dbg.json +4 -0
  24. package/build/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlEnumerableUpgradeable.sol/AccessControlEnumerableUpgradeable.json +258 -0
  25. package/build/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol/AccessControlUpgradeable.dbg.json +1 -1
  26. package/build/contracts/@openzeppelin/contracts-upgradeable/access/IAccessControlEnumerableUpgradeable.sol/IAccessControlEnumerableUpgradeable.dbg.json +4 -0
  27. package/build/contracts/@openzeppelin/contracts-upgradeable/access/IAccessControlEnumerableUpgradeable.sol/IAccessControlEnumerableUpgradeable.json +226 -0
  28. package/build/contracts/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol/IAccessControlUpgradeable.dbg.json +1 -1
  29. package/build/contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +1 -1
  30. package/build/contracts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +1 -1
  31. package/build/contracts/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol/PausableUpgradeable.dbg.json +1 -1
  32. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol/ERC20Upgradeable.dbg.json +4 -0
  33. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol/ERC20Upgradeable.json +281 -0
  34. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.dbg.json +1 -1
  35. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20BurnableUpgradeable.sol/ERC20BurnableUpgradeable.dbg.json +4 -0
  36. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20BurnableUpgradeable.sol/ERC20BurnableUpgradeable.json +312 -0
  37. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol/IERC20MetadataUpgradeable.dbg.json +4 -0
  38. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol/IERC20MetadataUpgradeable.json +233 -0
  39. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +1 -1
  40. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +1 -1
  41. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol/StorageSlotUpgradeable.dbg.json +1 -1
  42. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol/StringsUpgradeable.dbg.json +1 -1
  43. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/cryptography/ECDSAUpgradeable.sol/ECDSAUpgradeable.dbg.json +4 -0
  44. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/cryptography/ECDSAUpgradeable.sol/ECDSAUpgradeable.json +10 -0
  45. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/cryptography/draft-EIP712Upgradeable.sol/EIP712Upgradeable.dbg.json +4 -0
  46. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/cryptography/draft-EIP712Upgradeable.sol/EIP712Upgradeable.json +10 -0
  47. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol/ERC165Upgradeable.dbg.json +1 -1
  48. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol/IERC165Upgradeable.dbg.json +1 -1
  49. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/structs/EnumerableSetUpgradeable.sol/EnumerableSetUpgradeable.dbg.json +4 -0
  50. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/structs/EnumerableSetUpgradeable.sol/EnumerableSetUpgradeable.json +10 -0
  51. package/build/contracts/src/bridge/AbsBridge.sol/AbsBridge.dbg.json +1 -1
  52. package/build/contracts/src/bridge/AbsInbox.sol/AbsInbox.dbg.json +1 -1
  53. package/build/contracts/src/bridge/AbsOutbox.sol/AbsOutbox.dbg.json +1 -1
  54. package/build/contracts/src/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  55. package/build/contracts/src/bridge/Bridge.sol/Bridge.json +2 -2
  56. package/build/contracts/src/bridge/ERC20Bridge.sol/ERC20Bridge.dbg.json +1 -1
  57. package/build/contracts/src/bridge/ERC20Bridge.sol/ERC20Bridge.json +2 -2
  58. package/build/contracts/src/bridge/ERC20Inbox.sol/ERC20Inbox.dbg.json +1 -1
  59. package/build/contracts/src/bridge/ERC20Inbox.sol/ERC20Inbox.json +2 -2
  60. package/build/contracts/src/bridge/ERC20Outbox.sol/ERC20Outbox.dbg.json +1 -1
  61. package/build/contracts/src/bridge/ERC20Outbox.sol/ERC20Outbox.json +2 -2
  62. package/build/contracts/src/bridge/GasRefunder.sol/GasRefunder.dbg.json +1 -1
  63. package/build/contracts/src/bridge/IBridge.sol/IBridge.dbg.json +1 -1
  64. package/build/contracts/src/bridge/IDelayedMessageProvider.sol/IDelayedMessageProvider.dbg.json +1 -1
  65. package/build/contracts/src/bridge/IERC20Bridge.sol/IERC20Bridge.dbg.json +1 -1
  66. package/build/contracts/src/bridge/IERC20Inbox.sol/IERC20Inbox.dbg.json +1 -1
  67. package/build/contracts/src/bridge/IEthBridge.sol/IEthBridge.dbg.json +1 -1
  68. package/build/contracts/src/bridge/IInbox.sol/IInbox.dbg.json +1 -1
  69. package/build/contracts/src/bridge/IInboxBase.sol/IInboxBase.dbg.json +1 -1
  70. package/build/contracts/src/bridge/IOutbox.sol/IOutbox.dbg.json +1 -1
  71. package/build/contracts/src/bridge/IOwnable.sol/IOwnable.dbg.json +1 -1
  72. package/build/contracts/src/bridge/ISequencerInbox.sol/ISequencerInbox.dbg.json +1 -1
  73. package/build/contracts/src/bridge/Inbox.sol/Inbox.dbg.json +1 -1
  74. package/build/contracts/src/bridge/Inbox.sol/Inbox.json +2 -2
  75. package/build/contracts/src/bridge/Messages.sol/Messages.dbg.json +1 -1
  76. package/build/contracts/src/bridge/Outbox.sol/Outbox.dbg.json +1 -1
  77. package/build/contracts/src/bridge/Outbox.sol/Outbox.json +2 -2
  78. package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.dbg.json +1 -1
  79. package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.json +2 -2
  80. package/build/contracts/src/chain/CacheManager.sol/CacheManager.dbg.json +1 -1
  81. package/build/contracts/src/chain/CacheManager.sol/CacheManager.json +2 -2
  82. package/build/contracts/src/challenge/ChallengeLib.sol/ChallengeLib.dbg.json +1 -1
  83. package/build/contracts/src/challenge/ChallengeManager.sol/ChallengeManager.dbg.json +1 -1
  84. package/build/contracts/src/challenge/ChallengeManager.sol/ChallengeManager.json +2 -2
  85. package/build/contracts/src/challenge/IChallengeManager.sol/IChallengeManager.dbg.json +1 -1
  86. package/build/contracts/src/challenge/IChallengeResultReceiver.sol/IChallengeResultReceiver.dbg.json +1 -1
  87. package/build/contracts/src/express-lane-auction/Balance.sol/BalanceLib.dbg.json +4 -0
  88. package/build/contracts/src/express-lane-auction/Balance.sol/BalanceLib.json +10 -0
  89. package/build/contracts/src/express-lane-auction/Burner.sol/Burner.dbg.json +4 -0
  90. package/build/contracts/src/express-lane-auction/Burner.sol/Burner.json +47 -0
  91. package/build/contracts/src/express-lane-auction/ELCRound.sol/LatestELCRoundsLib.dbg.json +4 -0
  92. package/build/contracts/src/express-lane-auction/ELCRound.sol/LatestELCRoundsLib.json +10 -0
  93. package/build/contracts/src/express-lane-auction/ExpressLaneAuction.sol/ExpressLaneAuction.dbg.json +4 -0
  94. package/build/contracts/src/express-lane-auction/ExpressLaneAuction.sol/ExpressLaneAuction.json +1588 -0
  95. package/build/contracts/src/express-lane-auction/IExpressLaneAuction.sol/IExpressLaneAuction.dbg.json +4 -0
  96. package/build/contracts/src/express-lane-auction/IExpressLaneAuction.sol/IExpressLaneAuction.json +1296 -0
  97. package/build/contracts/src/express-lane-auction/RoundTimingInfo.sol/RoundTimingInfoLib.dbg.json +4 -0
  98. package/build/contracts/src/express-lane-auction/RoundTimingInfo.sol/RoundTimingInfoLib.json +10 -0
  99. package/build/contracts/src/libraries/AddressAliasHelper.sol/AddressAliasHelper.dbg.json +1 -1
  100. package/build/contracts/src/libraries/AdminFallbackProxy.sol/AdminFallbackProxy.dbg.json +1 -1
  101. package/build/contracts/src/libraries/AdminFallbackProxy.sol/DoubleLogicERC1967Upgrade.dbg.json +1 -1
  102. package/build/contracts/src/libraries/ArbitrumChecker.sol/ArbitrumChecker.dbg.json +1 -1
  103. package/build/contracts/src/libraries/ArbitrumChecker.sol/ArbitrumChecker.json +2 -2
  104. package/build/contracts/src/libraries/CryptographyPrimitives.sol/CryptographyPrimitives.dbg.json +1 -1
  105. package/build/contracts/src/libraries/DecimalsConverterHelper.sol/DecimalsConverterHelper.dbg.json +1 -1
  106. package/build/contracts/src/libraries/DelegateCallAware.sol/DelegateCallAware.dbg.json +1 -1
  107. package/build/contracts/src/libraries/DoubleLogicUUPSUpgradeable.sol/DoubleLogicUUPSUpgradeable.dbg.json +1 -1
  108. package/build/contracts/src/libraries/GasRefundEnabled.sol/GasRefundEnabled.dbg.json +1 -1
  109. package/build/contracts/src/libraries/IGasRefunder.sol/IGasRefunder.dbg.json +1 -1
  110. package/build/contracts/src/libraries/IReader4844.sol/IReader4844.dbg.json +1 -1
  111. package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.dbg.json +1 -1
  112. package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.json +2 -2
  113. package/build/contracts/src/libraries/UUPSNotUpgradeable.sol/UUPSNotUpgradeable.dbg.json +1 -1
  114. package/build/contracts/src/mocks/Benchmarks.sol/Benchmarks.dbg.json +1 -1
  115. package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.dbg.json +1 -1
  116. package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.json +2 -2
  117. package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.dbg.json +1 -1
  118. package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.json +15 -2
  119. package/build/contracts/src/mocks/CreateTest.sol/CreateTest.dbg.json +4 -0
  120. package/build/contracts/src/mocks/CreateTest.sol/CreateTest.json +15 -0
  121. package/build/contracts/src/mocks/HostioTest.sol/HostioTest.dbg.json +4 -0
  122. package/build/contracts/src/mocks/HostioTest.sol/HostioTest.json +513 -0
  123. package/build/contracts/src/mocks/InboxStub.sol/InboxStub.dbg.json +1 -1
  124. package/build/contracts/src/mocks/InboxStub.sol/InboxStub.json +2 -2
  125. package/build/contracts/src/mocks/MockResultReceiver.sol/MockResultReceiver.dbg.json +1 -1
  126. package/build/contracts/src/mocks/MultiCallTest.sol/MultiCallTest.dbg.json +1 -1
  127. package/build/contracts/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol/PendingBlkTimeAndNrAdvanceCheck.dbg.json +1 -1
  128. package/build/contracts/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol/PendingBlkTimeAndNrAdvanceCheck.json +2 -2
  129. package/build/contracts/src/mocks/Program.sol/ProgramTest.dbg.json +1 -1
  130. package/build/contracts/src/mocks/Program.sol/ProgramTest.json +2 -2
  131. package/build/contracts/src/mocks/ProxyAdminForBinding.sol/ProxyAdminForBinding.dbg.json +1 -1
  132. package/build/contracts/src/mocks/SdkStorage.sol/SdkStorage.dbg.json +1 -1
  133. package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.dbg.json +1 -1
  134. package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.json +2 -2
  135. package/build/contracts/src/mocks/Simple.sol/Simple.dbg.json +1 -1
  136. package/build/contracts/src/mocks/Simple.sol/Simple.json +2 -2
  137. package/build/contracts/src/mocks/SimpleCacheManager.sol/SimpleCacheManager.dbg.json +1 -1
  138. package/build/contracts/src/mocks/SimpleProxy.sol/SimpleProxy.dbg.json +1 -1
  139. package/build/contracts/src/mocks/SingleExecutionChallenge.sol/SingleExecutionChallenge.dbg.json +1 -1
  140. package/build/contracts/src/mocks/SingleExecutionChallenge.sol/SingleExecutionChallenge.json +2 -2
  141. package/build/contracts/src/mocks/TimedOutChallengeManager.sol/TimedOutChallengeManager.dbg.json +1 -1
  142. package/build/contracts/src/mocks/TimedOutChallengeManager.sol/TimedOutChallengeManager.json +2 -2
  143. package/build/contracts/src/mocks/UpgradeExecutorMock.sol/UpgradeExecutorMock.dbg.json +1 -1
  144. package/build/contracts/src/node-interface/NodeInterface.sol/NodeInterface.dbg.json +1 -1
  145. package/build/contracts/src/node-interface/NodeInterfaceDebug.sol/NodeInterfaceDebug.dbg.json +1 -1
  146. package/build/contracts/src/osp/HashProofHelper.sol/HashProofHelper.dbg.json +1 -1
  147. package/build/contracts/src/osp/IOneStepProofEntry.sol/IOneStepProofEntry.dbg.json +1 -1
  148. package/build/contracts/src/osp/IOneStepProofEntry.sol/OneStepProofEntryLib.dbg.json +1 -1
  149. package/build/contracts/src/osp/IOneStepProver.sol/IOneStepProver.dbg.json +1 -1
  150. package/build/contracts/src/osp/OneStepProofEntry.sol/OneStepProofEntry.dbg.json +1 -1
  151. package/build/contracts/src/osp/OneStepProver0.sol/OneStepProver0.dbg.json +1 -1
  152. package/build/contracts/src/osp/OneStepProverHostIo.sol/OneStepProverHostIo.dbg.json +1 -1
  153. package/build/contracts/src/osp/OneStepProverMath.sol/OneStepProverMath.dbg.json +1 -1
  154. package/build/contracts/src/osp/OneStepProverMemory.sol/OneStepProverMemory.dbg.json +1 -1
  155. package/build/contracts/src/precompiles/ArbAddressTable.sol/ArbAddressTable.dbg.json +1 -1
  156. package/build/contracts/src/precompiles/ArbAggregator.sol/ArbAggregator.dbg.json +1 -1
  157. package/build/contracts/src/precompiles/ArbBLS.sol/ArbBLS.dbg.json +1 -1
  158. package/build/contracts/src/precompiles/ArbDebug.sol/ArbDebug.dbg.json +1 -1
  159. package/build/contracts/src/precompiles/ArbFunctionTable.sol/ArbFunctionTable.dbg.json +1 -1
  160. package/build/contracts/src/precompiles/ArbGasInfo.sol/ArbGasInfo.dbg.json +1 -1
  161. package/build/contracts/src/precompiles/ArbInfo.sol/ArbInfo.dbg.json +1 -1
  162. package/build/contracts/src/precompiles/ArbOwner.sol/ArbOwner.dbg.json +1 -1
  163. package/build/contracts/src/precompiles/ArbOwnerPublic.sol/ArbOwnerPublic.dbg.json +1 -1
  164. package/build/contracts/src/precompiles/ArbRetryableTx.sol/ArbRetryableTx.dbg.json +1 -1
  165. package/build/contracts/src/precompiles/ArbStatistics.sol/ArbStatistics.dbg.json +1 -1
  166. package/build/contracts/src/precompiles/ArbSys.sol/ArbSys.dbg.json +1 -1
  167. package/build/contracts/src/precompiles/ArbWasm.sol/ArbWasm.dbg.json +1 -1
  168. package/build/contracts/src/precompiles/ArbWasm.sol/ArbWasm.json +4 -4
  169. package/build/contracts/src/precompiles/ArbWasmCache.sol/ArbWasmCache.dbg.json +1 -1
  170. package/build/contracts/src/precompiles/ArbosActs.sol/ArbosActs.dbg.json +1 -1
  171. package/build/contracts/src/precompiles/ArbosTest.sol/ArbosTest.dbg.json +1 -1
  172. package/build/contracts/src/rollup/AbsRollupEventInbox.sol/AbsRollupEventInbox.dbg.json +1 -1
  173. package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.dbg.json +1 -1
  174. package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.json +2 -2
  175. package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.dbg.json +1 -1
  176. package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.json +2 -2
  177. package/build/contracts/src/rollup/ERC20RollupEventInbox.sol/ERC20RollupEventInbox.dbg.json +1 -1
  178. package/build/contracts/src/rollup/ERC20RollupEventInbox.sol/ERC20RollupEventInbox.json +2 -2
  179. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/FactoryDeployerHelper.dbg.json +1 -1
  180. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IDeployHelper.dbg.json +1 -1
  181. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IERC20.dbg.json +1 -1
  182. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IERC20Bridge.dbg.json +1 -1
  183. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IInboxBase.dbg.json +1 -1
  184. package/build/contracts/src/rollup/IRollupAdmin.sol/IRollupAdmin.dbg.json +1 -1
  185. package/build/contracts/src/rollup/IRollupCore.sol/IRollupCore.dbg.json +1 -1
  186. package/build/contracts/src/rollup/IRollupEventInbox.sol/IRollupEventInbox.dbg.json +1 -1
  187. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUser.dbg.json +1 -1
  188. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUser.json +5 -0
  189. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserAbs.dbg.json +1 -1
  190. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserAbs.json +5 -0
  191. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserERC20.dbg.json +1 -1
  192. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserERC20.json +5 -0
  193. package/build/contracts/src/rollup/Node.sol/NodeLib.dbg.json +1 -1
  194. package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.dbg.json +1 -1
  195. package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.json +2 -2
  196. package/build/contracts/src/rollup/RollupCore.sol/RollupCore.dbg.json +1 -1
  197. package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.dbg.json +1 -1
  198. package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.json +2 -2
  199. package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.dbg.json +1 -1
  200. package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.json +2 -2
  201. package/build/contracts/src/rollup/RollupLib.sol/RollupLib.dbg.json +1 -1
  202. package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.dbg.json +1 -1
  203. package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.json +2 -2
  204. package/build/contracts/src/rollup/RollupUserLogic.sol/AbsRollupUserLogic.dbg.json +1 -1
  205. package/build/contracts/src/rollup/RollupUserLogic.sol/AbsRollupUserLogic.json +5 -0
  206. package/build/contracts/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic.dbg.json +1 -1
  207. package/build/contracts/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic.json +7 -2
  208. package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.dbg.json +1 -1
  209. package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.json +7 -2
  210. package/build/contracts/src/rollup/ValidatorUtils.sol/ValidatorUtils.dbg.json +1 -1
  211. package/build/contracts/src/rollup/ValidatorUtils.sol/ValidatorUtils.json +2 -2
  212. package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.dbg.json +1 -1
  213. package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.json +2 -2
  214. package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.dbg.json +1 -1
  215. package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.json +2 -2
  216. package/build/contracts/src/state/Deserialize.sol/Deserialize.dbg.json +1 -1
  217. package/build/contracts/src/state/GlobalState.sol/GlobalStateLib.dbg.json +1 -1
  218. package/build/contracts/src/state/Instructions.sol/Instructions.dbg.json +1 -1
  219. package/build/contracts/src/state/Machine.sol/MachineLib.dbg.json +1 -1
  220. package/build/contracts/src/state/MerkleProof.sol/MerkleProofLib.dbg.json +1 -1
  221. package/build/contracts/src/state/Module.sol/ModuleLib.dbg.json +1 -1
  222. package/build/contracts/src/state/ModuleMemory.sol/ModuleMemoryLib.dbg.json +1 -1
  223. package/build/contracts/src/state/ModuleMemoryCompact.sol/ModuleMemoryCompactLib.dbg.json +1 -1
  224. package/build/contracts/src/state/MultiStack.sol/MultiStackLib.dbg.json +1 -1
  225. package/build/contracts/src/state/PcArray.sol/PcArrayLib.dbg.json +1 -1
  226. package/build/contracts/src/state/StackFrame.sol/StackFrameLib.dbg.json +1 -1
  227. package/build/contracts/src/state/Value.sol/ValueLib.dbg.json +1 -1
  228. package/build/contracts/src/state/ValueArray.sol/ValueArrayLib.dbg.json +1 -1
  229. package/build/contracts/src/state/ValueStack.sol/ValueStackLib.dbg.json +1 -1
  230. package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.dbg.json +1 -1
  231. package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.json +2 -2
  232. package/build/contracts/src/test-helpers/CryptographyPrimitivesTester.sol/CryptographyPrimitivesTester.dbg.json +1 -1
  233. package/build/contracts/src/test-helpers/EthVault.sol/EthVault.dbg.json +1 -1
  234. package/build/contracts/src/test-helpers/MessageTester.sol/MessageTester.dbg.json +1 -1
  235. package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.dbg.json +1 -1
  236. package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.json +2 -2
  237. package/build/contracts/src/test-helpers/RollupMock.sol/RollupMock.dbg.json +1 -1
  238. package/build/contracts/src/test-helpers/TestToken.sol/TestToken.dbg.json +1 -1
  239. package/build/contracts/src/test-helpers/ValueArrayTester.sol/ValueArrayTester.dbg.json +1 -1
  240. package/out/yul/Reader4844.yul/Reader4844.json +1 -1
  241. package/package.json +6 -3
  242. package/src/express-lane-auction/Balance.sol +142 -0
  243. package/src/express-lane-auction/Burner.sol +25 -0
  244. package/src/express-lane-auction/ELCRound.sol +73 -0
  245. package/src/express-lane-auction/Errors.sol +31 -0
  246. package/src/express-lane-auction/ExpressLaneAuction.sol +565 -0
  247. package/src/express-lane-auction/IExpressLaneAuction.sol +421 -0
  248. package/src/express-lane-auction/RoundTimingInfo.sol +115 -0
  249. package/src/libraries/Error.sol +0 -9
  250. package/src/mocks/BridgeUnproxied.sol +2 -0
  251. package/src/mocks/CreateTest.sol +42 -0
  252. package/src/mocks/HostioTest.sol +196 -0
  253. package/src/precompiles/ArbSys.sol +2 -1
  254. package/src/precompiles/ArbWasm.sol +1 -1
  255. package/src/rollup/IRollupLogic.sol +5 -1
  256. package/src/rollup/RollupCreator.sol +4 -4
  257. package/src/rollup/RollupUserLogic.sol +10 -8
@@ -0,0 +1,233 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "IERC20MetadataUpgradeable",
4
+ "sourceName": "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": true,
11
+ "internalType": "address",
12
+ "name": "owner",
13
+ "type": "address"
14
+ },
15
+ {
16
+ "indexed": true,
17
+ "internalType": "address",
18
+ "name": "spender",
19
+ "type": "address"
20
+ },
21
+ {
22
+ "indexed": false,
23
+ "internalType": "uint256",
24
+ "name": "value",
25
+ "type": "uint256"
26
+ }
27
+ ],
28
+ "name": "Approval",
29
+ "type": "event"
30
+ },
31
+ {
32
+ "anonymous": false,
33
+ "inputs": [
34
+ {
35
+ "indexed": true,
36
+ "internalType": "address",
37
+ "name": "from",
38
+ "type": "address"
39
+ },
40
+ {
41
+ "indexed": true,
42
+ "internalType": "address",
43
+ "name": "to",
44
+ "type": "address"
45
+ },
46
+ {
47
+ "indexed": false,
48
+ "internalType": "uint256",
49
+ "name": "value",
50
+ "type": "uint256"
51
+ }
52
+ ],
53
+ "name": "Transfer",
54
+ "type": "event"
55
+ },
56
+ {
57
+ "inputs": [
58
+ {
59
+ "internalType": "address",
60
+ "name": "owner",
61
+ "type": "address"
62
+ },
63
+ {
64
+ "internalType": "address",
65
+ "name": "spender",
66
+ "type": "address"
67
+ }
68
+ ],
69
+ "name": "allowance",
70
+ "outputs": [
71
+ {
72
+ "internalType": "uint256",
73
+ "name": "",
74
+ "type": "uint256"
75
+ }
76
+ ],
77
+ "stateMutability": "view",
78
+ "type": "function"
79
+ },
80
+ {
81
+ "inputs": [
82
+ {
83
+ "internalType": "address",
84
+ "name": "spender",
85
+ "type": "address"
86
+ },
87
+ {
88
+ "internalType": "uint256",
89
+ "name": "amount",
90
+ "type": "uint256"
91
+ }
92
+ ],
93
+ "name": "approve",
94
+ "outputs": [
95
+ {
96
+ "internalType": "bool",
97
+ "name": "",
98
+ "type": "bool"
99
+ }
100
+ ],
101
+ "stateMutability": "nonpayable",
102
+ "type": "function"
103
+ },
104
+ {
105
+ "inputs": [
106
+ {
107
+ "internalType": "address",
108
+ "name": "account",
109
+ "type": "address"
110
+ }
111
+ ],
112
+ "name": "balanceOf",
113
+ "outputs": [
114
+ {
115
+ "internalType": "uint256",
116
+ "name": "",
117
+ "type": "uint256"
118
+ }
119
+ ],
120
+ "stateMutability": "view",
121
+ "type": "function"
122
+ },
123
+ {
124
+ "inputs": [],
125
+ "name": "decimals",
126
+ "outputs": [
127
+ {
128
+ "internalType": "uint8",
129
+ "name": "",
130
+ "type": "uint8"
131
+ }
132
+ ],
133
+ "stateMutability": "view",
134
+ "type": "function"
135
+ },
136
+ {
137
+ "inputs": [],
138
+ "name": "name",
139
+ "outputs": [
140
+ {
141
+ "internalType": "string",
142
+ "name": "",
143
+ "type": "string"
144
+ }
145
+ ],
146
+ "stateMutability": "view",
147
+ "type": "function"
148
+ },
149
+ {
150
+ "inputs": [],
151
+ "name": "symbol",
152
+ "outputs": [
153
+ {
154
+ "internalType": "string",
155
+ "name": "",
156
+ "type": "string"
157
+ }
158
+ ],
159
+ "stateMutability": "view",
160
+ "type": "function"
161
+ },
162
+ {
163
+ "inputs": [],
164
+ "name": "totalSupply",
165
+ "outputs": [
166
+ {
167
+ "internalType": "uint256",
168
+ "name": "",
169
+ "type": "uint256"
170
+ }
171
+ ],
172
+ "stateMutability": "view",
173
+ "type": "function"
174
+ },
175
+ {
176
+ "inputs": [
177
+ {
178
+ "internalType": "address",
179
+ "name": "to",
180
+ "type": "address"
181
+ },
182
+ {
183
+ "internalType": "uint256",
184
+ "name": "amount",
185
+ "type": "uint256"
186
+ }
187
+ ],
188
+ "name": "transfer",
189
+ "outputs": [
190
+ {
191
+ "internalType": "bool",
192
+ "name": "",
193
+ "type": "bool"
194
+ }
195
+ ],
196
+ "stateMutability": "nonpayable",
197
+ "type": "function"
198
+ },
199
+ {
200
+ "inputs": [
201
+ {
202
+ "internalType": "address",
203
+ "name": "from",
204
+ "type": "address"
205
+ },
206
+ {
207
+ "internalType": "address",
208
+ "name": "to",
209
+ "type": "address"
210
+ },
211
+ {
212
+ "internalType": "uint256",
213
+ "name": "amount",
214
+ "type": "uint256"
215
+ }
216
+ ],
217
+ "name": "transferFrom",
218
+ "outputs": [
219
+ {
220
+ "internalType": "bool",
221
+ "name": "",
222
+ "type": "bool"
223
+ }
224
+ ],
225
+ "stateMutability": "nonpayable",
226
+ "type": "function"
227
+ }
228
+ ],
229
+ "bytecode": "0x",
230
+ "deployedBytecode": "0x",
231
+ "linkReferences": {},
232
+ "deployedLinkReferences": {}
233
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/c1d194c598f27e74e5febef0e822787e.json"
3
+ "buildInfo": "../../../../build-info/671b0778dc33f2c1b20cf41504c8e4d9.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/c1d194c598f27e74e5febef0e822787e.json"
3
+ "buildInfo": "../../../../build-info/671b0778dc33f2c1b20cf41504c8e4d9.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/c1d194c598f27e74e5febef0e822787e.json"
3
+ "buildInfo": "../../../../build-info/671b0778dc33f2c1b20cf41504c8e4d9.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/c1d194c598f27e74e5febef0e822787e.json"
3
+ "buildInfo": "../../../../build-info/671b0778dc33f2c1b20cf41504c8e4d9.json"
4
4
  }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../../build-info/671b0778dc33f2c1b20cf41504c8e4d9.json"
4
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ECDSAUpgradeable",
4
+ "sourceName": "@openzeppelin/contracts-upgradeable/utils/cryptography/ECDSAUpgradeable.sol",
5
+ "abi": [],
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122083e9ccb1885d076e08a7a12ba75be911797f294e45070879523769d0a34dd85964736f6c63430008090033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122083e9ccb1885d076e08a7a12ba75be911797f294e45070879523769d0a34dd85964736f6c63430008090033",
8
+ "linkReferences": {},
9
+ "deployedLinkReferences": {}
10
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../../build-info/671b0778dc33f2c1b20cf41504c8e4d9.json"
4
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "EIP712Upgradeable",
4
+ "sourceName": "@openzeppelin/contracts-upgradeable/utils/cryptography/draft-EIP712Upgradeable.sol",
5
+ "abi": [],
6
+ "bytecode": "0x",
7
+ "deployedBytecode": "0x",
8
+ "linkReferences": {},
9
+ "deployedLinkReferences": {}
10
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/c1d194c598f27e74e5febef0e822787e.json"
3
+ "buildInfo": "../../../../../build-info/671b0778dc33f2c1b20cf41504c8e4d9.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/c1d194c598f27e74e5febef0e822787e.json"
3
+ "buildInfo": "../../../../../build-info/671b0778dc33f2c1b20cf41504c8e4d9.json"
4
4
  }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../../build-info/671b0778dc33f2c1b20cf41504c8e4d9.json"
4
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "EnumerableSetUpgradeable",
4
+ "sourceName": "@openzeppelin/contracts-upgradeable/utils/structs/EnumerableSetUpgradeable.sol",
5
+ "abi": [],
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220bf7a662f32ab5693606f1f9bb9d20611b42a133760462be874c368df80abf45264736f6c63430008090033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220bf7a662f32ab5693606f1f9bb9d20611b42a133760462be874c368df80abf45264736f6c63430008090033",
8
+ "linkReferences": {},
9
+ "deployedLinkReferences": {}
10
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c1d194c598f27e74e5febef0e822787e.json"
3
+ "buildInfo": "../../../build-info/671b0778dc33f2c1b20cf41504c8e4d9.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c1d194c598f27e74e5febef0e822787e.json"
3
+ "buildInfo": "../../../build-info/671b0778dc33f2c1b20cf41504c8e4d9.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c1d194c598f27e74e5febef0e822787e.json"
3
+ "buildInfo": "../../../build-info/671b0778dc33f2c1b20cf41504c8e4d9.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c1d194c598f27e74e5febef0e822787e.json"
3
+ "buildInfo": "../../../build-info/671b0778dc33f2c1b20cf41504c8e4d9.json"
4
4
  }
@@ -669,8 +669,8 @@
669
669
  "type": "function"
670
670
  }
671
671
  ],
672
- "bytecode": "0x60a06040523060805234801561001457600080fd5b506080516118186100306000396000610db801526118186000f3fe60806040526004361061013f5760003560e01c80639e5d4c49116100b6578063d5719dc21161006f578063d5719dc214610393578063e76f5c8d146103b3578063e77145f4146101d8578063eca067ad146103d3578063ee35f327146103e8578063f81ff3b31461040857600080fd5b80639e5d4c49146102d0578063ab5d8943146102fe578063ae60bd1314610313578063c4d66de814610333578063cb23bcb514610353578063cee3d7281461037357600080fd5b80635fca4a16116101085780635fca4a16146101fa5780637a88b1071461021057806386598a56146102305780638db5993b14610270578063919cc70614610283578063945e1147146102a357600080fd5b806284120c1461014457806316bf557914610168578063413b35bd1461018857806347fb24c5146101b85780634f61f850146101da575b600080fd5b34801561015057600080fd5b506007545b6040519081526020015b60405180910390f35b34801561017457600080fd5b506101556101833660046114cc565b610428565b34801561019457600080fd5b506101a86101a33660046114fa565b610449565b604051901515815260200161015f565b3480156101c457600080fd5b506101d86101d3366004611517565b61046a565b005b3480156101e657600080fd5b506101d86101f53660046114fa565b610760565b34801561020657600080fd5b50610155600a5481565b34801561021c57600080fd5b5061015561022b366004611555565b610885565b34801561023c57600080fd5b5061025061024b366004611581565b6108cb565b60408051948552602085019390935291830152606082015260800161015f565b61015561027e3660046115b3565b610a32565b34801561028f57600080fd5b506101d861029e3660046114fa565b610a48565b3480156102af57600080fd5b506102c36102be3660046114cc565b610b62565b60405161015f91906115fa565b3480156102dc57600080fd5b506102f06102eb36600461160e565b610b8c565b60405161015f9291906116c3565b34801561030a57600080fd5b506102c3610cc1565b34801561031f57600080fd5b506101a861032e3660046114fa565b610ce7565b34801561033f57600080fd5b506101d861034e3660046114fa565b610d09565b34801561035f57600080fd5b506008546102c3906001600160a01b031681565b34801561037f57600080fd5b506101d861038e366004611517565b610e7d565b34801561039f57600080fd5b506101556103ae3660046114cc565b611196565b3480156103bf57600080fd5b506102c36103ce3660046114cc565b6111a6565b3480156103df57600080fd5b50600654610155565b3480156103f457600080fd5b506009546102c3906001600160a01b031681565b34801561041457600080fd5b506101d86104233660046114cc565b6111b6565b6007818154811061043857600080fd5b600091825260209091200154905081565b6001600160a01b031660009081526002602052604090206001015460ff1690565b6008546001600160a01b031633146105425760085460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156104c157600080fd5b505afa1580156104d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f991906116ff565b9050336001600160a01b0382161461054057600854604051630739600760e01b81526105379133916001600160a01b0390911690849060040161171c565b60405180910390fd5b505b6001600160a01b0382166000818152600160208181526040928390209182015492518515158152919360ff90931692917f6675ce8882cb71637de5903a193d218cc0544be9c0650cb83e0955f6aa2bf521910160405180910390a282151581151514156105af5750505050565b821561063d57604080518082018252600380548252600160208084018281526001600160a01b038a166000818152928490529582209451855551938201805460ff1916941515949094179093558154908101825591527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b0319169091179055610759565b6003805461064d9060019061173f565b8154811061065d5761065d611764565b6000918252602090912001548254600380546001600160a01b0390931692909190811061068c5761068c611764565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081600001546001600060038560000154815481106106da576106da611764565b60009182526020808320909101546001600160a01b0316835282019290925260400190205560038054806107105761071061177a565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03861682526001908190526040822091825501805460ff191690555b50505b5050565b6008546001600160a01b0316331461082f5760085460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156107b757600080fd5b505afa1580156107cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ef91906116ff565b9050336001600160a01b0382161461082d57600854604051630739600760e01b81526105379133916001600160a01b0390911690849060040161171c565b505b600980546001600160a01b0319166001600160a01b0383161790556040517f8c1e6003ed33ca6748d4ad3dd4ecc949065c89dceb31fdf546a5289202763c6a9061087a9083906115fa565b60405180910390a150565b6009546000906001600160a01b031633146108b5573360405163223e13c160e21b815260040161053791906115fa565b6108c4600d844342488761128a565b9392505050565b6009546000908190819081906001600160a01b03163314610901573360405163223e13c160e21b815260040161053791906115fa565b85600a541415801561091257508515155b801561091f5750600a5415155b1561094b57600a5460405163e2051feb60e01b8152600481019190915260248101879052604401610537565b600a85905560075493508315610989576007805461096b9060019061173f565b8154811061097b5761097b611764565b906000526020600020015492505b86156109ba57600661099c60018961173f565b815481106109ac576109ac611764565b906000526020600020015491505b60408051602081018590529081018990526060810183905260800160408051601f198184030181529190528051602090910120600780546001810182556000919091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688018190559398929750909550919350915050565b6000610a4084848434611419565b949350505050565b6008546001600160a01b03163314610b175760085460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015610a9f57600080fd5b505afa158015610ab3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad791906116ff565b9050336001600160a01b03821614610b1557600854604051630739600760e01b81526105379133916001600160a01b0390911690849060040161171c565b505b600880546001600160a01b0319166001600160a01b0383161790556040517fae1f5aa15f6ff844896347ceca2a3c24c8d3a27785efdeacd581a0a95172784a9061087a9083906115fa565b60048181548110610b7257600080fd5b6000918252602090912001546001600160a01b0316905081565b60006060610b9933610449565b610bb857336040516332ea82ab60e01b815260040161053791906115fa565b8215801590610bcf57506001600160a01b0386163b155b15610bef578560405163b5cf5b8f60e01b815260040161053791906115fa565b600580546001600160a01b031981163317909155604080516020601f87018190048102820181019092528581526001600160a01b0390921691610c509189918991899089908190840183828082843760009201919091525061145d92505050565b600580546001600160a01b0319166001600160a01b038581169190911790915560405192955090935088169033907f2d9d115ef3e4a606d698913b1eae831a3cdfe20d9a83d48007b0526749c3d46690610caf908a908a908a90611790565b60405180910390a35094509492505050565b6005546000906001600160a01b0390811690811415610ce257600091505090565b919050565b6001600160a01b03166000908152600160208190526040909120015460ff1690565b600054610100900460ff16610d245760005460ff1615610d28565b303b155b610d8b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610537565b600054610100900460ff16158015610dad576000805461ffff19166101011790555b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610e3b5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610537565b600580546001600160a01b036001600160a01b0319918216811790925560088054909116918416919091179055801561075c576000805461ff00191690555050565b6008546001600160a01b03163314610f4c5760085460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015610ed457600080fd5b505afa158015610ee8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0c91906116ff565b9050336001600160a01b03821614610f4a57600854604051630739600760e01b81526105379133916001600160a01b0390911690849060040161171c565b505b6001600160a01b038281161415610f78578160405163077abed160e41b815260040161053791906115fa565b6001600160a01b038216600081815260026020908152604091829020600181015492518515158152909360ff90931692917f49477e7356dbcb654ab85d7534b50126772d938130d1350e23e2540370c8dffa910160405180910390a28215158115151415610fe65750505050565b821561107557604080518082018252600480548252600160208084018281526001600160a01b038a16600081815260029093529582209451855551938201805460ff1916941515949094179093558154908101825591527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319169091179055610759565b600480546110859060019061173f565b8154811061109557611095611764565b6000918252602090912001548254600480546001600160a01b039093169290919081106110c4576110c4611764565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550816000015460026000600485600001548154811061111257611112611764565b60009182526020808320909101546001600160a01b0316835282019290925260400190205560048054806111485761114861177a565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03861682526002905260408120908155600101805460ff1916905550505050565b6006818154811061043857600080fd5b60038181548110610b7257600080fd5b6008546001600160a01b031633146112855760085460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b15801561120d57600080fd5b505afa158015611221573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124591906116ff565b9050336001600160a01b0382161461128357600854604051630739600760e01b81526105379133916001600160a01b0390911690849060040161171c565b505b600a55565b600654604080516001600160f81b031960f88a901b166020808301919091526bffffffffffffffffffffffff1960608a901b1660218301526001600160c01b031960c089811b8216603585015288901b16603d830152604582018490526065820186905260858083018690528351808403909101815260a59092019092528051910120600091906000821561134457600661132660018561173f565b8154811061133657611336611764565b906000526020600020015490505b6040805160208082018490528183018590528251808303840181526060830180855281519190920120600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f015533905260ff8c1660808201526001600160a01b038b1660a082015260c0810187905260e0810188905267ffffffffffffffff89166101008201529051829185917f5e3c1311ea442664e8b1611bfabef659120ea7a0a2cfc0667700bebc69cbffe1918190036101200190a3509098975050505050505050565b600061142433610ce7565b611443573360405163b6c60ea360e01b815260040161053791906115fa565b600061145386864342488961128a565b9695505050505050565b60006060846001600160a01b0316848460405161147a91906117c6565b60006040518083038185875af1925050503d80600081146114b7576040519150601f19603f3d011682016040523d82523d6000602084013e6114bc565b606091505b5090969095509350505050565b50565b6000602082840312156114de57600080fd5b5035919050565b6001600160a01b03811681146114c957600080fd5b60006020828403121561150c57600080fd5b81356108c4816114e5565b6000806040838503121561152a57600080fd5b8235611535816114e5565b91506020830135801515811461154a57600080fd5b809150509250929050565b6000806040838503121561156857600080fd5b8235611573816114e5565b946020939093013593505050565b6000806000806080858703121561159757600080fd5b5050823594602084013594506040840135936060013592509050565b6000806000606084860312156115c857600080fd5b833560ff811681146115d957600080fd5b925060208401356115e9816114e5565b929592945050506040919091013590565b6001600160a01b0391909116815260200190565b6000806000806060858703121561162457600080fd5b843561162f816114e5565b935060208501359250604085013567ffffffffffffffff8082111561165357600080fd5b818701915087601f83011261166757600080fd5b81358181111561167657600080fd5b88602082850101111561168857600080fd5b95989497505060200194505050565b60005b838110156116b257818101518382015260200161169a565b838111156107595750506000910152565b821515815260406020820152600082518060408401526116ea816060850160208701611697565b601f01601f1916919091016060019392505050565b60006020828403121561171157600080fd5b81516108c4816114e5565b6001600160a01b0393841681529183166020830152909116604082015260600190565b60008282101561175f57634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b600082516117d8818460208701611697565b919091019291505056fea2646970667358221220506ed7ef8395a03cfb43943c618809bd281b51ea77ecd261aed28bb30a8d8b9364736f6c63430008090033",
673
- "deployedBytecode": "0x60806040526004361061013f5760003560e01c80639e5d4c49116100b6578063d5719dc21161006f578063d5719dc214610393578063e76f5c8d146103b3578063e77145f4146101d8578063eca067ad146103d3578063ee35f327146103e8578063f81ff3b31461040857600080fd5b80639e5d4c49146102d0578063ab5d8943146102fe578063ae60bd1314610313578063c4d66de814610333578063cb23bcb514610353578063cee3d7281461037357600080fd5b80635fca4a16116101085780635fca4a16146101fa5780637a88b1071461021057806386598a56146102305780638db5993b14610270578063919cc70614610283578063945e1147146102a357600080fd5b806284120c1461014457806316bf557914610168578063413b35bd1461018857806347fb24c5146101b85780634f61f850146101da575b600080fd5b34801561015057600080fd5b506007545b6040519081526020015b60405180910390f35b34801561017457600080fd5b506101556101833660046114cc565b610428565b34801561019457600080fd5b506101a86101a33660046114fa565b610449565b604051901515815260200161015f565b3480156101c457600080fd5b506101d86101d3366004611517565b61046a565b005b3480156101e657600080fd5b506101d86101f53660046114fa565b610760565b34801561020657600080fd5b50610155600a5481565b34801561021c57600080fd5b5061015561022b366004611555565b610885565b34801561023c57600080fd5b5061025061024b366004611581565b6108cb565b60408051948552602085019390935291830152606082015260800161015f565b61015561027e3660046115b3565b610a32565b34801561028f57600080fd5b506101d861029e3660046114fa565b610a48565b3480156102af57600080fd5b506102c36102be3660046114cc565b610b62565b60405161015f91906115fa565b3480156102dc57600080fd5b506102f06102eb36600461160e565b610b8c565b60405161015f9291906116c3565b34801561030a57600080fd5b506102c3610cc1565b34801561031f57600080fd5b506101a861032e3660046114fa565b610ce7565b34801561033f57600080fd5b506101d861034e3660046114fa565b610d09565b34801561035f57600080fd5b506008546102c3906001600160a01b031681565b34801561037f57600080fd5b506101d861038e366004611517565b610e7d565b34801561039f57600080fd5b506101556103ae3660046114cc565b611196565b3480156103bf57600080fd5b506102c36103ce3660046114cc565b6111a6565b3480156103df57600080fd5b50600654610155565b3480156103f457600080fd5b506009546102c3906001600160a01b031681565b34801561041457600080fd5b506101d86104233660046114cc565b6111b6565b6007818154811061043857600080fd5b600091825260209091200154905081565b6001600160a01b031660009081526002602052604090206001015460ff1690565b6008546001600160a01b031633146105425760085460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156104c157600080fd5b505afa1580156104d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f991906116ff565b9050336001600160a01b0382161461054057600854604051630739600760e01b81526105379133916001600160a01b0390911690849060040161171c565b60405180910390fd5b505b6001600160a01b0382166000818152600160208181526040928390209182015492518515158152919360ff90931692917f6675ce8882cb71637de5903a193d218cc0544be9c0650cb83e0955f6aa2bf521910160405180910390a282151581151514156105af5750505050565b821561063d57604080518082018252600380548252600160208084018281526001600160a01b038a166000818152928490529582209451855551938201805460ff1916941515949094179093558154908101825591527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b0319169091179055610759565b6003805461064d9060019061173f565b8154811061065d5761065d611764565b6000918252602090912001548254600380546001600160a01b0390931692909190811061068c5761068c611764565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081600001546001600060038560000154815481106106da576106da611764565b60009182526020808320909101546001600160a01b0316835282019290925260400190205560038054806107105761071061177a565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03861682526001908190526040822091825501805460ff191690555b50505b5050565b6008546001600160a01b0316331461082f5760085460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156107b757600080fd5b505afa1580156107cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ef91906116ff565b9050336001600160a01b0382161461082d57600854604051630739600760e01b81526105379133916001600160a01b0390911690849060040161171c565b505b600980546001600160a01b0319166001600160a01b0383161790556040517f8c1e6003ed33ca6748d4ad3dd4ecc949065c89dceb31fdf546a5289202763c6a9061087a9083906115fa565b60405180910390a150565b6009546000906001600160a01b031633146108b5573360405163223e13c160e21b815260040161053791906115fa565b6108c4600d844342488761128a565b9392505050565b6009546000908190819081906001600160a01b03163314610901573360405163223e13c160e21b815260040161053791906115fa565b85600a541415801561091257508515155b801561091f5750600a5415155b1561094b57600a5460405163e2051feb60e01b8152600481019190915260248101879052604401610537565b600a85905560075493508315610989576007805461096b9060019061173f565b8154811061097b5761097b611764565b906000526020600020015492505b86156109ba57600661099c60018961173f565b815481106109ac576109ac611764565b906000526020600020015491505b60408051602081018590529081018990526060810183905260800160408051601f198184030181529190528051602090910120600780546001810182556000919091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688018190559398929750909550919350915050565b6000610a4084848434611419565b949350505050565b6008546001600160a01b03163314610b175760085460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015610a9f57600080fd5b505afa158015610ab3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad791906116ff565b9050336001600160a01b03821614610b1557600854604051630739600760e01b81526105379133916001600160a01b0390911690849060040161171c565b505b600880546001600160a01b0319166001600160a01b0383161790556040517fae1f5aa15f6ff844896347ceca2a3c24c8d3a27785efdeacd581a0a95172784a9061087a9083906115fa565b60048181548110610b7257600080fd5b6000918252602090912001546001600160a01b0316905081565b60006060610b9933610449565b610bb857336040516332ea82ab60e01b815260040161053791906115fa565b8215801590610bcf57506001600160a01b0386163b155b15610bef578560405163b5cf5b8f60e01b815260040161053791906115fa565b600580546001600160a01b031981163317909155604080516020601f87018190048102820181019092528581526001600160a01b0390921691610c509189918991899089908190840183828082843760009201919091525061145d92505050565b600580546001600160a01b0319166001600160a01b038581169190911790915560405192955090935088169033907f2d9d115ef3e4a606d698913b1eae831a3cdfe20d9a83d48007b0526749c3d46690610caf908a908a908a90611790565b60405180910390a35094509492505050565b6005546000906001600160a01b0390811690811415610ce257600091505090565b919050565b6001600160a01b03166000908152600160208190526040909120015460ff1690565b600054610100900460ff16610d245760005460ff1615610d28565b303b155b610d8b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610537565b600054610100900460ff16158015610dad576000805461ffff19166101011790555b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610e3b5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610537565b600580546001600160a01b036001600160a01b0319918216811790925560088054909116918416919091179055801561075c576000805461ff00191690555050565b6008546001600160a01b03163314610f4c5760085460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015610ed457600080fd5b505afa158015610ee8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0c91906116ff565b9050336001600160a01b03821614610f4a57600854604051630739600760e01b81526105379133916001600160a01b0390911690849060040161171c565b505b6001600160a01b038281161415610f78578160405163077abed160e41b815260040161053791906115fa565b6001600160a01b038216600081815260026020908152604091829020600181015492518515158152909360ff90931692917f49477e7356dbcb654ab85d7534b50126772d938130d1350e23e2540370c8dffa910160405180910390a28215158115151415610fe65750505050565b821561107557604080518082018252600480548252600160208084018281526001600160a01b038a16600081815260029093529582209451855551938201805460ff1916941515949094179093558154908101825591527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319169091179055610759565b600480546110859060019061173f565b8154811061109557611095611764565b6000918252602090912001548254600480546001600160a01b039093169290919081106110c4576110c4611764565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550816000015460026000600485600001548154811061111257611112611764565b60009182526020808320909101546001600160a01b0316835282019290925260400190205560048054806111485761114861177a565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03861682526002905260408120908155600101805460ff1916905550505050565b6006818154811061043857600080fd5b60038181548110610b7257600080fd5b6008546001600160a01b031633146112855760085460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b15801561120d57600080fd5b505afa158015611221573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124591906116ff565b9050336001600160a01b0382161461128357600854604051630739600760e01b81526105379133916001600160a01b0390911690849060040161171c565b505b600a55565b600654604080516001600160f81b031960f88a901b166020808301919091526bffffffffffffffffffffffff1960608a901b1660218301526001600160c01b031960c089811b8216603585015288901b16603d830152604582018490526065820186905260858083018690528351808403909101815260a59092019092528051910120600091906000821561134457600661132660018561173f565b8154811061133657611336611764565b906000526020600020015490505b6040805160208082018490528183018590528251808303840181526060830180855281519190920120600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f015533905260ff8c1660808201526001600160a01b038b1660a082015260c0810187905260e0810188905267ffffffffffffffff89166101008201529051829185917f5e3c1311ea442664e8b1611bfabef659120ea7a0a2cfc0667700bebc69cbffe1918190036101200190a3509098975050505050505050565b600061142433610ce7565b611443573360405163b6c60ea360e01b815260040161053791906115fa565b600061145386864342488961128a565b9695505050505050565b60006060846001600160a01b0316848460405161147a91906117c6565b60006040518083038185875af1925050503d80600081146114b7576040519150601f19603f3d011682016040523d82523d6000602084013e6114bc565b606091505b5090969095509350505050565b50565b6000602082840312156114de57600080fd5b5035919050565b6001600160a01b03811681146114c957600080fd5b60006020828403121561150c57600080fd5b81356108c4816114e5565b6000806040838503121561152a57600080fd5b8235611535816114e5565b91506020830135801515811461154a57600080fd5b809150509250929050565b6000806040838503121561156857600080fd5b8235611573816114e5565b946020939093013593505050565b6000806000806080858703121561159757600080fd5b5050823594602084013594506040840135936060013592509050565b6000806000606084860312156115c857600080fd5b833560ff811681146115d957600080fd5b925060208401356115e9816114e5565b929592945050506040919091013590565b6001600160a01b0391909116815260200190565b6000806000806060858703121561162457600080fd5b843561162f816114e5565b935060208501359250604085013567ffffffffffffffff8082111561165357600080fd5b818701915087601f83011261166757600080fd5b81358181111561167657600080fd5b88602082850101111561168857600080fd5b95989497505060200194505050565b60005b838110156116b257818101518382015260200161169a565b838111156107595750506000910152565b821515815260406020820152600082518060408401526116ea816060850160208701611697565b601f01601f1916919091016060019392505050565b60006020828403121561171157600080fd5b81516108c4816114e5565b6001600160a01b0393841681529183166020830152909116604082015260600190565b60008282101561175f57634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b600082516117d8818460208701611697565b919091019291505056fea2646970667358221220506ed7ef8395a03cfb43943c618809bd281b51ea77ecd261aed28bb30a8d8b9364736f6c63430008090033",
672
+ "bytecode": "0x60a06040523060805234801561001457600080fd5b506080516118186100306000396000610db801526118186000f3fe60806040526004361061013f5760003560e01c80639e5d4c49116100b6578063d5719dc21161006f578063d5719dc214610393578063e76f5c8d146103b3578063e77145f4146101d8578063eca067ad146103d3578063ee35f327146103e8578063f81ff3b31461040857600080fd5b80639e5d4c49146102d0578063ab5d8943146102fe578063ae60bd1314610313578063c4d66de814610333578063cb23bcb514610353578063cee3d7281461037357600080fd5b80635fca4a16116101085780635fca4a16146101fa5780637a88b1071461021057806386598a56146102305780638db5993b14610270578063919cc70614610283578063945e1147146102a357600080fd5b806284120c1461014457806316bf557914610168578063413b35bd1461018857806347fb24c5146101b85780634f61f850146101da575b600080fd5b34801561015057600080fd5b506007545b6040519081526020015b60405180910390f35b34801561017457600080fd5b506101556101833660046114cc565b610428565b34801561019457600080fd5b506101a86101a33660046114fa565b610449565b604051901515815260200161015f565b3480156101c457600080fd5b506101d86101d3366004611517565b61046a565b005b3480156101e657600080fd5b506101d86101f53660046114fa565b610760565b34801561020657600080fd5b50610155600a5481565b34801561021c57600080fd5b5061015561022b366004611555565b610885565b34801561023c57600080fd5b5061025061024b366004611581565b6108cb565b60408051948552602085019390935291830152606082015260800161015f565b61015561027e3660046115b3565b610a32565b34801561028f57600080fd5b506101d861029e3660046114fa565b610a48565b3480156102af57600080fd5b506102c36102be3660046114cc565b610b62565b60405161015f91906115fa565b3480156102dc57600080fd5b506102f06102eb36600461160e565b610b8c565b60405161015f9291906116c3565b34801561030a57600080fd5b506102c3610cc1565b34801561031f57600080fd5b506101a861032e3660046114fa565b610ce7565b34801561033f57600080fd5b506101d861034e3660046114fa565b610d09565b34801561035f57600080fd5b506008546102c3906001600160a01b031681565b34801561037f57600080fd5b506101d861038e366004611517565b610e7d565b34801561039f57600080fd5b506101556103ae3660046114cc565b611196565b3480156103bf57600080fd5b506102c36103ce3660046114cc565b6111a6565b3480156103df57600080fd5b50600654610155565b3480156103f457600080fd5b506009546102c3906001600160a01b031681565b34801561041457600080fd5b506101d86104233660046114cc565b6111b6565b6007818154811061043857600080fd5b600091825260209091200154905081565b6001600160a01b031660009081526002602052604090206001015460ff1690565b6008546001600160a01b031633146105425760085460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156104c157600080fd5b505afa1580156104d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f991906116ff565b9050336001600160a01b0382161461054057600854604051630739600760e01b81526105379133916001600160a01b0390911690849060040161171c565b60405180910390fd5b505b6001600160a01b0382166000818152600160208181526040928390209182015492518515158152919360ff90931692917f6675ce8882cb71637de5903a193d218cc0544be9c0650cb83e0955f6aa2bf521910160405180910390a282151581151514156105af5750505050565b821561063d57604080518082018252600380548252600160208084018281526001600160a01b038a166000818152928490529582209451855551938201805460ff1916941515949094179093558154908101825591527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b0319169091179055610759565b6003805461064d9060019061173f565b8154811061065d5761065d611764565b6000918252602090912001548254600380546001600160a01b0390931692909190811061068c5761068c611764565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081600001546001600060038560000154815481106106da576106da611764565b60009182526020808320909101546001600160a01b0316835282019290925260400190205560038054806107105761071061177a565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03861682526001908190526040822091825501805460ff191690555b50505b5050565b6008546001600160a01b0316331461082f5760085460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156107b757600080fd5b505afa1580156107cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ef91906116ff565b9050336001600160a01b0382161461082d57600854604051630739600760e01b81526105379133916001600160a01b0390911690849060040161171c565b505b600980546001600160a01b0319166001600160a01b0383161790556040517f8c1e6003ed33ca6748d4ad3dd4ecc949065c89dceb31fdf546a5289202763c6a9061087a9083906115fa565b60405180910390a150565b6009546000906001600160a01b031633146108b5573360405163223e13c160e21b815260040161053791906115fa565b6108c4600d844342488761128a565b9392505050565b6009546000908190819081906001600160a01b03163314610901573360405163223e13c160e21b815260040161053791906115fa565b85600a541415801561091257508515155b801561091f5750600a5415155b1561094b57600a5460405163e2051feb60e01b8152600481019190915260248101879052604401610537565b600a85905560075493508315610989576007805461096b9060019061173f565b8154811061097b5761097b611764565b906000526020600020015492505b86156109ba57600661099c60018961173f565b815481106109ac576109ac611764565b906000526020600020015491505b60408051602081018590529081018990526060810183905260800160408051601f198184030181529190528051602090910120600780546001810182556000919091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688018190559398929750909550919350915050565b6000610a4084848434611419565b949350505050565b6008546001600160a01b03163314610b175760085460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015610a9f57600080fd5b505afa158015610ab3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad791906116ff565b9050336001600160a01b03821614610b1557600854604051630739600760e01b81526105379133916001600160a01b0390911690849060040161171c565b505b600880546001600160a01b0319166001600160a01b0383161790556040517fae1f5aa15f6ff844896347ceca2a3c24c8d3a27785efdeacd581a0a95172784a9061087a9083906115fa565b60048181548110610b7257600080fd5b6000918252602090912001546001600160a01b0316905081565b60006060610b9933610449565b610bb857336040516332ea82ab60e01b815260040161053791906115fa565b8215801590610bcf57506001600160a01b0386163b155b15610bef578560405163b5cf5b8f60e01b815260040161053791906115fa565b600580546001600160a01b031981163317909155604080516020601f87018190048102820181019092528581526001600160a01b0390921691610c509189918991899089908190840183828082843760009201919091525061145d92505050565b600580546001600160a01b0319166001600160a01b038581169190911790915560405192955090935088169033907f2d9d115ef3e4a606d698913b1eae831a3cdfe20d9a83d48007b0526749c3d46690610caf908a908a908a90611790565b60405180910390a35094509492505050565b6005546000906001600160a01b0390811690811415610ce257600091505090565b919050565b6001600160a01b03166000908152600160208190526040909120015460ff1690565b600054610100900460ff16610d245760005460ff1615610d28565b303b155b610d8b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610537565b600054610100900460ff16158015610dad576000805461ffff19166101011790555b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610e3b5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610537565b600580546001600160a01b036001600160a01b0319918216811790925560088054909116918416919091179055801561075c576000805461ff00191690555050565b6008546001600160a01b03163314610f4c5760085460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015610ed457600080fd5b505afa158015610ee8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0c91906116ff565b9050336001600160a01b03821614610f4a57600854604051630739600760e01b81526105379133916001600160a01b0390911690849060040161171c565b505b6001600160a01b038281161415610f78578160405163077abed160e41b815260040161053791906115fa565b6001600160a01b038216600081815260026020908152604091829020600181015492518515158152909360ff90931692917f49477e7356dbcb654ab85d7534b50126772d938130d1350e23e2540370c8dffa910160405180910390a28215158115151415610fe65750505050565b821561107557604080518082018252600480548252600160208084018281526001600160a01b038a16600081815260029093529582209451855551938201805460ff1916941515949094179093558154908101825591527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319169091179055610759565b600480546110859060019061173f565b8154811061109557611095611764565b6000918252602090912001548254600480546001600160a01b039093169290919081106110c4576110c4611764565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550816000015460026000600485600001548154811061111257611112611764565b60009182526020808320909101546001600160a01b0316835282019290925260400190205560048054806111485761114861177a565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03861682526002905260408120908155600101805460ff1916905550505050565b6006818154811061043857600080fd5b60038181548110610b7257600080fd5b6008546001600160a01b031633146112855760085460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b15801561120d57600080fd5b505afa158015611221573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124591906116ff565b9050336001600160a01b0382161461128357600854604051630739600760e01b81526105379133916001600160a01b0390911690849060040161171c565b505b600a55565b600654604080516001600160f81b031960f88a901b166020808301919091526bffffffffffffffffffffffff1960608a901b1660218301526001600160c01b031960c089811b8216603585015288901b16603d830152604582018490526065820186905260858083018690528351808403909101815260a59092019092528051910120600091906000821561134457600661132660018561173f565b8154811061133657611336611764565b906000526020600020015490505b6040805160208082018490528183018590528251808303840181526060830180855281519190920120600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f015533905260ff8c1660808201526001600160a01b038b1660a082015260c0810187905260e0810188905267ffffffffffffffff89166101008201529051829185917f5e3c1311ea442664e8b1611bfabef659120ea7a0a2cfc0667700bebc69cbffe1918190036101200190a3509098975050505050505050565b600061142433610ce7565b611443573360405163b6c60ea360e01b815260040161053791906115fa565b600061145386864342488961128a565b9695505050505050565b60006060846001600160a01b0316848460405161147a91906117c6565b60006040518083038185875af1925050503d80600081146114b7576040519150601f19603f3d011682016040523d82523d6000602084013e6114bc565b606091505b5090969095509350505050565b50565b6000602082840312156114de57600080fd5b5035919050565b6001600160a01b03811681146114c957600080fd5b60006020828403121561150c57600080fd5b81356108c4816114e5565b6000806040838503121561152a57600080fd5b8235611535816114e5565b91506020830135801515811461154a57600080fd5b809150509250929050565b6000806040838503121561156857600080fd5b8235611573816114e5565b946020939093013593505050565b6000806000806080858703121561159757600080fd5b5050823594602084013594506040840135936060013592509050565b6000806000606084860312156115c857600080fd5b833560ff811681146115d957600080fd5b925060208401356115e9816114e5565b929592945050506040919091013590565b6001600160a01b0391909116815260200190565b6000806000806060858703121561162457600080fd5b843561162f816114e5565b935060208501359250604085013567ffffffffffffffff8082111561165357600080fd5b818701915087601f83011261166757600080fd5b81358181111561167657600080fd5b88602082850101111561168857600080fd5b95989497505060200194505050565b60005b838110156116b257818101518382015260200161169a565b838111156107595750506000910152565b821515815260406020820152600082518060408401526116ea816060850160208701611697565b601f01601f1916919091016060019392505050565b60006020828403121561171157600080fd5b81516108c4816114e5565b6001600160a01b0393841681529183166020830152909116604082015260600190565b60008282101561175f57634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b600082516117d8818460208701611697565b919091019291505056fea26469706673582212206c38d558afd13c030589dace1d3b4f8d157625dfc5f1ee771258bbf86c5db4e264736f6c63430008090033",
673
+ "deployedBytecode": "0x60806040526004361061013f5760003560e01c80639e5d4c49116100b6578063d5719dc21161006f578063d5719dc214610393578063e76f5c8d146103b3578063e77145f4146101d8578063eca067ad146103d3578063ee35f327146103e8578063f81ff3b31461040857600080fd5b80639e5d4c49146102d0578063ab5d8943146102fe578063ae60bd1314610313578063c4d66de814610333578063cb23bcb514610353578063cee3d7281461037357600080fd5b80635fca4a16116101085780635fca4a16146101fa5780637a88b1071461021057806386598a56146102305780638db5993b14610270578063919cc70614610283578063945e1147146102a357600080fd5b806284120c1461014457806316bf557914610168578063413b35bd1461018857806347fb24c5146101b85780634f61f850146101da575b600080fd5b34801561015057600080fd5b506007545b6040519081526020015b60405180910390f35b34801561017457600080fd5b506101556101833660046114cc565b610428565b34801561019457600080fd5b506101a86101a33660046114fa565b610449565b604051901515815260200161015f565b3480156101c457600080fd5b506101d86101d3366004611517565b61046a565b005b3480156101e657600080fd5b506101d86101f53660046114fa565b610760565b34801561020657600080fd5b50610155600a5481565b34801561021c57600080fd5b5061015561022b366004611555565b610885565b34801561023c57600080fd5b5061025061024b366004611581565b6108cb565b60408051948552602085019390935291830152606082015260800161015f565b61015561027e3660046115b3565b610a32565b34801561028f57600080fd5b506101d861029e3660046114fa565b610a48565b3480156102af57600080fd5b506102c36102be3660046114cc565b610b62565b60405161015f91906115fa565b3480156102dc57600080fd5b506102f06102eb36600461160e565b610b8c565b60405161015f9291906116c3565b34801561030a57600080fd5b506102c3610cc1565b34801561031f57600080fd5b506101a861032e3660046114fa565b610ce7565b34801561033f57600080fd5b506101d861034e3660046114fa565b610d09565b34801561035f57600080fd5b506008546102c3906001600160a01b031681565b34801561037f57600080fd5b506101d861038e366004611517565b610e7d565b34801561039f57600080fd5b506101556103ae3660046114cc565b611196565b3480156103bf57600080fd5b506102c36103ce3660046114cc565b6111a6565b3480156103df57600080fd5b50600654610155565b3480156103f457600080fd5b506009546102c3906001600160a01b031681565b34801561041457600080fd5b506101d86104233660046114cc565b6111b6565b6007818154811061043857600080fd5b600091825260209091200154905081565b6001600160a01b031660009081526002602052604090206001015460ff1690565b6008546001600160a01b031633146105425760085460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156104c157600080fd5b505afa1580156104d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f991906116ff565b9050336001600160a01b0382161461054057600854604051630739600760e01b81526105379133916001600160a01b0390911690849060040161171c565b60405180910390fd5b505b6001600160a01b0382166000818152600160208181526040928390209182015492518515158152919360ff90931692917f6675ce8882cb71637de5903a193d218cc0544be9c0650cb83e0955f6aa2bf521910160405180910390a282151581151514156105af5750505050565b821561063d57604080518082018252600380548252600160208084018281526001600160a01b038a166000818152928490529582209451855551938201805460ff1916941515949094179093558154908101825591527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b0319169091179055610759565b6003805461064d9060019061173f565b8154811061065d5761065d611764565b6000918252602090912001548254600380546001600160a01b0390931692909190811061068c5761068c611764565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081600001546001600060038560000154815481106106da576106da611764565b60009182526020808320909101546001600160a01b0316835282019290925260400190205560038054806107105761071061177a565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03861682526001908190526040822091825501805460ff191690555b50505b5050565b6008546001600160a01b0316331461082f5760085460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156107b757600080fd5b505afa1580156107cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ef91906116ff565b9050336001600160a01b0382161461082d57600854604051630739600760e01b81526105379133916001600160a01b0390911690849060040161171c565b505b600980546001600160a01b0319166001600160a01b0383161790556040517f8c1e6003ed33ca6748d4ad3dd4ecc949065c89dceb31fdf546a5289202763c6a9061087a9083906115fa565b60405180910390a150565b6009546000906001600160a01b031633146108b5573360405163223e13c160e21b815260040161053791906115fa565b6108c4600d844342488761128a565b9392505050565b6009546000908190819081906001600160a01b03163314610901573360405163223e13c160e21b815260040161053791906115fa565b85600a541415801561091257508515155b801561091f5750600a5415155b1561094b57600a5460405163e2051feb60e01b8152600481019190915260248101879052604401610537565b600a85905560075493508315610989576007805461096b9060019061173f565b8154811061097b5761097b611764565b906000526020600020015492505b86156109ba57600661099c60018961173f565b815481106109ac576109ac611764565b906000526020600020015491505b60408051602081018590529081018990526060810183905260800160408051601f198184030181529190528051602090910120600780546001810182556000919091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688018190559398929750909550919350915050565b6000610a4084848434611419565b949350505050565b6008546001600160a01b03163314610b175760085460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015610a9f57600080fd5b505afa158015610ab3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad791906116ff565b9050336001600160a01b03821614610b1557600854604051630739600760e01b81526105379133916001600160a01b0390911690849060040161171c565b505b600880546001600160a01b0319166001600160a01b0383161790556040517fae1f5aa15f6ff844896347ceca2a3c24c8d3a27785efdeacd581a0a95172784a9061087a9083906115fa565b60048181548110610b7257600080fd5b6000918252602090912001546001600160a01b0316905081565b60006060610b9933610449565b610bb857336040516332ea82ab60e01b815260040161053791906115fa565b8215801590610bcf57506001600160a01b0386163b155b15610bef578560405163b5cf5b8f60e01b815260040161053791906115fa565b600580546001600160a01b031981163317909155604080516020601f87018190048102820181019092528581526001600160a01b0390921691610c509189918991899089908190840183828082843760009201919091525061145d92505050565b600580546001600160a01b0319166001600160a01b038581169190911790915560405192955090935088169033907f2d9d115ef3e4a606d698913b1eae831a3cdfe20d9a83d48007b0526749c3d46690610caf908a908a908a90611790565b60405180910390a35094509492505050565b6005546000906001600160a01b0390811690811415610ce257600091505090565b919050565b6001600160a01b03166000908152600160208190526040909120015460ff1690565b600054610100900460ff16610d245760005460ff1615610d28565b303b155b610d8b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610537565b600054610100900460ff16158015610dad576000805461ffff19166101011790555b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610e3b5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610537565b600580546001600160a01b036001600160a01b0319918216811790925560088054909116918416919091179055801561075c576000805461ff00191690555050565b6008546001600160a01b03163314610f4c5760085460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015610ed457600080fd5b505afa158015610ee8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0c91906116ff565b9050336001600160a01b03821614610f4a57600854604051630739600760e01b81526105379133916001600160a01b0390911690849060040161171c565b505b6001600160a01b038281161415610f78578160405163077abed160e41b815260040161053791906115fa565b6001600160a01b038216600081815260026020908152604091829020600181015492518515158152909360ff90931692917f49477e7356dbcb654ab85d7534b50126772d938130d1350e23e2540370c8dffa910160405180910390a28215158115151415610fe65750505050565b821561107557604080518082018252600480548252600160208084018281526001600160a01b038a16600081815260029093529582209451855551938201805460ff1916941515949094179093558154908101825591527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319169091179055610759565b600480546110859060019061173f565b8154811061109557611095611764565b6000918252602090912001548254600480546001600160a01b039093169290919081106110c4576110c4611764565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550816000015460026000600485600001548154811061111257611112611764565b60009182526020808320909101546001600160a01b0316835282019290925260400190205560048054806111485761114861177a565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03861682526002905260408120908155600101805460ff1916905550505050565b6006818154811061043857600080fd5b60038181548110610b7257600080fd5b6008546001600160a01b031633146112855760085460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b15801561120d57600080fd5b505afa158015611221573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124591906116ff565b9050336001600160a01b0382161461128357600854604051630739600760e01b81526105379133916001600160a01b0390911690849060040161171c565b505b600a55565b600654604080516001600160f81b031960f88a901b166020808301919091526bffffffffffffffffffffffff1960608a901b1660218301526001600160c01b031960c089811b8216603585015288901b16603d830152604582018490526065820186905260858083018690528351808403909101815260a59092019092528051910120600091906000821561134457600661132660018561173f565b8154811061133657611336611764565b906000526020600020015490505b6040805160208082018490528183018590528251808303840181526060830180855281519190920120600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f015533905260ff8c1660808201526001600160a01b038b1660a082015260c0810187905260e0810188905267ffffffffffffffff89166101008201529051829185917f5e3c1311ea442664e8b1611bfabef659120ea7a0a2cfc0667700bebc69cbffe1918190036101200190a3509098975050505050505050565b600061142433610ce7565b611443573360405163b6c60ea360e01b815260040161053791906115fa565b600061145386864342488961128a565b9695505050505050565b60006060846001600160a01b0316848460405161147a91906117c6565b60006040518083038185875af1925050503d80600081146114b7576040519150601f19603f3d011682016040523d82523d6000602084013e6114bc565b606091505b5090969095509350505050565b50565b6000602082840312156114de57600080fd5b5035919050565b6001600160a01b03811681146114c957600080fd5b60006020828403121561150c57600080fd5b81356108c4816114e5565b6000806040838503121561152a57600080fd5b8235611535816114e5565b91506020830135801515811461154a57600080fd5b809150509250929050565b6000806040838503121561156857600080fd5b8235611573816114e5565b946020939093013593505050565b6000806000806080858703121561159757600080fd5b5050823594602084013594506040840135936060013592509050565b6000806000606084860312156115c857600080fd5b833560ff811681146115d957600080fd5b925060208401356115e9816114e5565b929592945050506040919091013590565b6001600160a01b0391909116815260200190565b6000806000806060858703121561162457600080fd5b843561162f816114e5565b935060208501359250604085013567ffffffffffffffff8082111561165357600080fd5b818701915087601f83011261166757600080fd5b81358181111561167657600080fd5b88602082850101111561168857600080fd5b95989497505060200194505050565b60005b838110156116b257818101518382015260200161169a565b838111156107595750506000910152565b821515815260406020820152600082518060408401526116ea816060850160208701611697565b601f01601f1916919091016060019392505050565b60006020828403121561171157600080fd5b81516108c4816114e5565b6001600160a01b0393841681529183166020830152909116604082015260600190565b60008282101561175f57634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b600082516117d8818460208701611697565b919091019291505056fea26469706673582212206c38d558afd13c030589dace1d3b4f8d157625dfc5f1ee771258bbf86c5db4e264736f6c63430008090033",
674
674
  "linkReferences": {},
675
675
  "deployedLinkReferences": {}
676
676
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c1d194c598f27e74e5febef0e822787e.json"
3
+ "buildInfo": "../../../build-info/671b0778dc33f2c1b20cf41504c8e4d9.json"
4
4
  }