@arbitrum/nitro-contracts 2.1.0 → 3.0.0-alpha.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (503) 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/@openzeppelin/contracts/utils/Create2.sol/Create2.json +10 -0
  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 +4 -0
  56. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/structs/EnumerableSetUpgradeable.sol/EnumerableSetUpgradeable.json +10 -0
  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/src/assertionStakingPool/interfaces/IEdgeStakingPool.sol/IEdgeStakingPool.json +232 -0
  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 +20 -7
  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 +22 -9
  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/IERC20Inbox.sol/IERC20Inbox.json +1 -1
  101. package/build/contracts/src/bridge/IEthBridge.sol/IEthBridge.dbg.json +1 -1
  102. package/build/contracts/src/bridge/IInbox.sol/IInbox.dbg.json +1 -1
  103. package/build/contracts/src/bridge/IInbox.sol/IInbox.json +1 -1
  104. package/build/contracts/src/bridge/IInboxBase.sol/IInboxBase.dbg.json +1 -1
  105. package/build/contracts/src/bridge/IInboxBase.sol/IInboxBase.json +1 -1
  106. package/build/contracts/src/bridge/IOutbox.sol/IOutbox.dbg.json +1 -1
  107. package/build/contracts/src/bridge/IOwnable.sol/IOwnable.dbg.json +1 -1
  108. package/build/contracts/src/bridge/ISequencerInbox.sol/ISequencerInbox.dbg.json +1 -1
  109. package/build/contracts/src/bridge/ISequencerInbox.sol/ISequencerInbox.json +441 -0
  110. package/build/contracts/src/bridge/Inbox.sol/Inbox.dbg.json +1 -1
  111. package/build/contracts/src/bridge/Inbox.sol/Inbox.json +22 -4
  112. package/build/contracts/src/bridge/Messages.sol/Messages.dbg.json +1 -1
  113. package/build/contracts/src/bridge/Messages.sol/Messages.json +2 -2
  114. package/build/contracts/src/bridge/Outbox.sol/Outbox.dbg.json +1 -1
  115. package/build/contracts/src/bridge/Outbox.sol/Outbox.json +2 -2
  116. package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.dbg.json +1 -1
  117. package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.json +564 -7
  118. package/build/contracts/src/chain/CacheManager.sol/CacheManager.dbg.json +1 -1
  119. package/build/contracts/src/chain/CacheManager.sol/CacheManager.json +15 -2
  120. package/build/contracts/src/challengeV2/EdgeChallengeManager.sol/EdgeChallengeManager.dbg.json +4 -0
  121. package/build/contracts/src/challengeV2/EdgeChallengeManager.sol/EdgeChallengeManager.json +1631 -0
  122. package/build/contracts/src/challengeV2/EdgeChallengeManager.sol/IEdgeChallengeManager.dbg.json +4 -0
  123. package/build/contracts/src/challengeV2/EdgeChallengeManager.sol/IEdgeChallengeManager.json +762 -0
  124. package/build/contracts/src/challengeV2/IAssertionChain.sol/IAssertionChain.dbg.json +4 -0
  125. package/build/contracts/src/challengeV2/IAssertionChain.sol/IAssertionChain.json +247 -0
  126. package/build/contracts/src/challengeV2/libraries/ArrayUtilsLib.sol/ArrayUtilsLib.dbg.json +4 -0
  127. package/build/contracts/src/challengeV2/libraries/ArrayUtilsLib.sol/ArrayUtilsLib.json +10 -0
  128. package/build/contracts/src/challengeV2/libraries/ChallengeEdgeLib.sol/ChallengeEdgeLib.dbg.json +4 -0
  129. package/build/contracts/src/challengeV2/libraries/ChallengeEdgeLib.sol/ChallengeEdgeLib.json +10 -0
  130. package/build/contracts/src/challengeV2/libraries/EdgeChallengeManagerLib.sol/EdgeChallengeManagerLib.dbg.json +4 -0
  131. package/build/contracts/src/challengeV2/libraries/EdgeChallengeManagerLib.sol/EdgeChallengeManagerLib.json +24 -0
  132. package/build/contracts/src/challengeV2/libraries/MerkleTreeAccumulatorLib.sol/MerkleTreeAccumulatorLib.dbg.json +4 -0
  133. package/build/contracts/src/challengeV2/libraries/MerkleTreeAccumulatorLib.sol/MerkleTreeAccumulatorLib.json +24 -0
  134. package/build/contracts/src/challengeV2/libraries/UintUtilsLib.sol/UintUtilsLib.dbg.json +4 -0
  135. package/build/contracts/src/challengeV2/libraries/UintUtilsLib.sol/UintUtilsLib.json +10 -0
  136. package/build/contracts/src/libraries/AddressAliasHelper.sol/AddressAliasHelper.dbg.json +1 -1
  137. package/build/contracts/src/libraries/AddressAliasHelper.sol/AddressAliasHelper.json +2 -2
  138. package/build/contracts/src/libraries/AdminFallbackProxy.sol/AdminFallbackProxy.dbg.json +1 -1
  139. package/build/contracts/src/libraries/AdminFallbackProxy.sol/AdminFallbackProxy.json +2 -2
  140. package/build/contracts/src/libraries/AdminFallbackProxy.sol/DoubleLogicERC1967Upgrade.dbg.json +1 -1
  141. package/build/contracts/src/libraries/ArbitrumChecker.sol/ArbitrumChecker.dbg.json +1 -1
  142. package/build/contracts/src/libraries/ArbitrumChecker.sol/ArbitrumChecker.json +2 -2
  143. package/build/contracts/src/libraries/CryptographyPrimitives.sol/CryptographyPrimitives.dbg.json +1 -1
  144. package/build/contracts/src/libraries/CryptographyPrimitives.sol/CryptographyPrimitives.json +2 -2
  145. package/build/contracts/src/libraries/DecimalsConverterHelper.sol/DecimalsConverterHelper.dbg.json +1 -1
  146. package/build/contracts/src/libraries/DecimalsConverterHelper.sol/DecimalsConverterHelper.json +2 -2
  147. package/build/contracts/src/libraries/DelegateCallAware.sol/DelegateCallAware.dbg.json +1 -1
  148. package/build/contracts/src/libraries/DoubleLogicUUPSUpgradeable.sol/DoubleLogicUUPSUpgradeable.dbg.json +1 -1
  149. package/build/contracts/src/libraries/GasRefundEnabled.sol/GasRefundEnabled.dbg.json +1 -1
  150. package/build/contracts/src/libraries/IGasRefunder.sol/IGasRefunder.dbg.json +1 -1
  151. package/build/contracts/src/libraries/IReader4844.sol/IReader4844.dbg.json +1 -1
  152. package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.dbg.json +1 -1
  153. package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.json +2 -2
  154. package/build/contracts/src/libraries/UUPSNotUpgradeable.sol/UUPSNotUpgradeable.dbg.json +1 -1
  155. package/build/contracts/src/mocks/Benchmarks.sol/Benchmarks.dbg.json +1 -1
  156. package/build/contracts/src/mocks/Benchmarks.sol/Benchmarks.json +2 -2
  157. package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.dbg.json +1 -1
  158. package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.json +8 -8
  159. package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.dbg.json +1 -1
  160. package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.json +28 -2
  161. package/build/contracts/src/mocks/InboxStub.sol/InboxStub.dbg.json +1 -1
  162. package/build/contracts/src/mocks/InboxStub.sol/InboxStub.json +2 -2
  163. package/build/contracts/src/mocks/MerkleTreeAccess.sol/MerkleTreeAccess.dbg.json +4 -0
  164. package/build/contracts/src/mocks/MerkleTreeAccess.sol/MerkleTreeAccess.json +227 -0
  165. package/build/contracts/src/mocks/MockRollupEventInbox.sol/MockRollupEventInbox.dbg.json +4 -0
  166. package/build/contracts/src/mocks/MockRollupEventInbox.sol/MockRollupEventInbox.json +133 -0
  167. package/build/contracts/src/mocks/MultiCallTest.sol/MultiCallTest.dbg.json +1 -1
  168. package/build/contracts/src/mocks/MultiCallTest.sol/MultiCallTest.json +2 -2
  169. package/build/contracts/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol/PendingBlkTimeAndNrAdvanceCheck.dbg.json +1 -1
  170. package/build/contracts/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol/PendingBlkTimeAndNrAdvanceCheck.json +2 -2
  171. package/build/contracts/src/mocks/Program.sol/ProgramTest.dbg.json +1 -1
  172. package/build/contracts/src/mocks/Program.sol/ProgramTest.json +2 -2
  173. package/build/contracts/src/mocks/ProxyAdminForBinding.sol/ProxyAdminForBinding.dbg.json +1 -1
  174. package/build/contracts/src/mocks/ProxyAdminForBinding.sol/ProxyAdminForBinding.json +2 -2
  175. package/build/contracts/src/mocks/SdkStorage.sol/SdkStorage.dbg.json +1 -1
  176. package/build/contracts/src/mocks/SdkStorage.sol/SdkStorage.json +2 -2
  177. package/build/contracts/src/mocks/SequencerInboxBlobMock.sol/SequencerInboxBlobMock.dbg.json +4 -0
  178. package/build/contracts/src/mocks/SequencerInboxBlobMock.sol/SequencerInboxBlobMock.json +1632 -0
  179. package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.dbg.json +1 -1
  180. package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.json +564 -7
  181. package/build/contracts/src/mocks/Simple.sol/Simple.dbg.json +1 -1
  182. package/build/contracts/src/mocks/Simple.sol/Simple.json +2 -2
  183. package/build/contracts/src/mocks/SimpleCacheManager.sol/SimpleCacheManager.dbg.json +1 -1
  184. package/build/contracts/src/mocks/SimpleCacheManager.sol/SimpleCacheManager.json +2 -2
  185. package/build/contracts/src/mocks/SimpleOneStepProofEntry.sol/SimpleOneStepProofEntry.dbg.json +4 -0
  186. package/build/contracts/src/mocks/SimpleOneStepProofEntry.sol/SimpleOneStepProofEntry.json +142 -0
  187. package/build/contracts/src/mocks/SimpleProxy.sol/SimpleProxy.dbg.json +1 -1
  188. package/build/contracts/src/mocks/SimpleProxy.sol/SimpleProxy.json +2 -2
  189. package/build/contracts/src/mocks/TestWETH9.sol/IWETH9.dbg.json +4 -0
  190. package/build/contracts/src/mocks/TestWETH9.sol/IWETH9.json +31 -0
  191. package/build/contracts/src/mocks/TestWETH9.sol/TestWETH9.dbg.json +4 -0
  192. package/build/contracts/src/mocks/TestWETH9.sol/TestWETH9.json +317 -0
  193. package/build/contracts/src/mocks/UpgradeExecutorMock.sol/UpgradeExecutorMock.dbg.json +1 -1
  194. package/build/contracts/src/mocks/UpgradeExecutorMock.sol/UpgradeExecutorMock.json +15 -2
  195. package/build/contracts/src/node-interface/NodeInterface.sol/NodeInterface.dbg.json +1 -1
  196. package/build/contracts/src/node-interface/NodeInterfaceDebug.sol/NodeInterfaceDebug.dbg.json +1 -1
  197. package/build/contracts/src/osp/HashProofHelper.sol/HashProofHelper.dbg.json +1 -1
  198. package/build/contracts/src/osp/HashProofHelper.sol/HashProofHelper.json +2 -2
  199. package/build/contracts/src/osp/IOneStepProofEntry.sol/IOneStepProofEntry.dbg.json +1 -1
  200. package/build/contracts/src/osp/IOneStepProofEntry.sol/IOneStepProofEntry.json +33 -9
  201. package/build/contracts/src/osp/IOneStepProofEntry.sol/OneStepProofEntryLib.dbg.json +1 -1
  202. package/build/contracts/src/osp/IOneStepProofEntry.sol/OneStepProofEntryLib.json +2 -2
  203. package/build/contracts/src/osp/IOneStepProver.sol/IOneStepProver.dbg.json +1 -1
  204. package/build/contracts/src/osp/IOneStepProver.sol/IOneStepProver.json +5 -0
  205. package/build/contracts/src/osp/OneStepProofEntry.sol/OneStepProofEntry.dbg.json +1 -1
  206. package/build/contracts/src/osp/OneStepProofEntry.sol/OneStepProofEntry.json +35 -11
  207. package/build/contracts/src/osp/OneStepProver0.sol/OneStepProver0.dbg.json +1 -1
  208. package/build/contracts/src/osp/OneStepProver0.sol/OneStepProver0.json +7 -2
  209. package/build/contracts/src/osp/OneStepProverHostIo.sol/OneStepProverHostIo.dbg.json +1 -1
  210. package/build/contracts/src/osp/OneStepProverHostIo.sol/OneStepProverHostIo.json +7 -2
  211. package/build/contracts/src/osp/OneStepProverMath.sol/OneStepProverMath.dbg.json +1 -1
  212. package/build/contracts/src/osp/OneStepProverMath.sol/OneStepProverMath.json +7 -2
  213. package/build/contracts/src/osp/OneStepProverMemory.sol/OneStepProverMemory.dbg.json +1 -1
  214. package/build/contracts/src/osp/OneStepProverMemory.sol/OneStepProverMemory.json +7 -2
  215. package/build/contracts/src/precompiles/ArbAddressTable.sol/ArbAddressTable.dbg.json +1 -1
  216. package/build/contracts/src/precompiles/ArbAggregator.sol/ArbAggregator.dbg.json +1 -1
  217. package/build/contracts/src/precompiles/ArbBLS.sol/ArbBLS.dbg.json +1 -1
  218. package/build/contracts/src/precompiles/ArbDebug.sol/ArbDebug.dbg.json +1 -1
  219. package/build/contracts/src/precompiles/ArbFunctionTable.sol/ArbFunctionTable.dbg.json +1 -1
  220. package/build/contracts/src/precompiles/ArbGasInfo.sol/ArbGasInfo.dbg.json +1 -1
  221. package/build/contracts/src/precompiles/ArbInfo.sol/ArbInfo.dbg.json +1 -1
  222. package/build/contracts/src/precompiles/ArbOwner.sol/ArbOwner.dbg.json +1 -1
  223. package/build/contracts/src/precompiles/ArbOwnerPublic.sol/ArbOwnerPublic.dbg.json +1 -1
  224. package/build/contracts/src/precompiles/ArbRetryableTx.sol/ArbRetryableTx.dbg.json +1 -1
  225. package/build/contracts/src/precompiles/ArbStatistics.sol/ArbStatistics.dbg.json +1 -1
  226. package/build/contracts/src/precompiles/ArbSys.sol/ArbSys.dbg.json +1 -1
  227. package/build/contracts/src/precompiles/ArbWasm.sol/ArbWasm.dbg.json +1 -1
  228. package/build/contracts/src/precompiles/ArbWasmCache.sol/ArbWasmCache.dbg.json +1 -1
  229. package/build/contracts/src/precompiles/ArbosActs.sol/ArbosActs.dbg.json +1 -1
  230. package/build/contracts/src/precompiles/ArbosTest.sol/ArbosTest.dbg.json +1 -1
  231. package/build/contracts/src/rollup/AbsRollupEventInbox.sol/AbsRollupEventInbox.dbg.json +1 -1
  232. package/build/contracts/src/rollup/Assertion.sol/AssertionNodeLib.dbg.json +4 -0
  233. package/build/contracts/src/rollup/{Node.sol/NodeLib.json → Assertion.sol/AssertionNodeLib.json} +4 -4
  234. package/build/contracts/src/rollup/AssertionState.sol/AssertionStateLib.dbg.json +4 -0
  235. package/build/contracts/src/{challenge/ChallengeLib.sol/ChallengeLib.json → rollup/AssertionState.sol/AssertionStateLib.json} +4 -4
  236. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/BOLDUpgradeAction.dbg.json +4 -0
  237. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/BOLDUpgradeAction.json +807 -0
  238. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/ConstantArrayStorage.dbg.json +4 -0
  239. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/ConstantArrayStorage.json +35 -0
  240. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/IOldRollup.dbg.json +4 -0
  241. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/IOldRollup.json +361 -0
  242. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/IOldRollupAdmin.dbg.json +4 -0
  243. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/IOldRollupAdmin.json +38 -0
  244. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/ISeqInboxPostUpgradeInit.dbg.json +4 -0
  245. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/ISeqInboxPostUpgradeInit.json +41 -0
  246. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/RollupReader.dbg.json +4 -0
  247. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/RollupReader.json +385 -0
  248. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/StateHashPreImageLookup.dbg.json +4 -0
  249. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/StateHashPreImageLookup.json +203 -0
  250. package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.dbg.json +1 -1
  251. package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.json +62 -10
  252. package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.dbg.json +1 -1
  253. package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.json +2 -2
  254. package/build/contracts/src/rollup/ERC20RollupEventInbox.sol/ERC20RollupEventInbox.dbg.json +1 -1
  255. package/build/contracts/src/rollup/ERC20RollupEventInbox.sol/ERC20RollupEventInbox.json +2 -2
  256. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/FactoryDeployerHelper.dbg.json +1 -1
  257. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/FactoryDeployerHelper.json +2 -2
  258. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IDeployHelper.dbg.json +1 -1
  259. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IERC20.dbg.json +1 -1
  260. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IERC20Bridge.dbg.json +1 -1
  261. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IInboxBase.dbg.json +1 -1
  262. package/build/contracts/src/rollup/IRollupAdmin.sol/IRollupAdmin.dbg.json +1 -1
  263. package/build/contracts/src/rollup/IRollupAdmin.sol/IRollupAdmin.json +473 -99
  264. package/build/contracts/src/rollup/IRollupCore.sol/IRollupCore.dbg.json +1 -1
  265. package/build/contracts/src/rollup/IRollupCore.sol/IRollupCore.json +315 -221
  266. package/build/contracts/src/rollup/IRollupEventInbox.sol/IRollupEventInbox.dbg.json +1 -1
  267. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUser.dbg.json +1 -1
  268. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUser.json +678 -499
  269. package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.dbg.json +1 -1
  270. package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.json +806 -435
  271. package/build/contracts/src/rollup/RollupCore.sol/RollupCore.dbg.json +1 -1
  272. package/build/contracts/src/rollup/RollupCore.sol/RollupCore.json +323 -235
  273. package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.dbg.json +1 -1
  274. package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.json +98 -36
  275. package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.dbg.json +1 -1
  276. package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.json +2 -2
  277. package/build/contracts/src/rollup/RollupLib.sol/RollupLib.dbg.json +1 -1
  278. package/build/contracts/src/rollup/RollupLib.sol/RollupLib.json +2 -2
  279. package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.dbg.json +1 -1
  280. package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.json +97 -16
  281. package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.dbg.json +1 -1
  282. package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.json +924 -535
  283. package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.dbg.json +1 -1
  284. package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.json +15 -43
  285. package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.dbg.json +1 -1
  286. package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.json +2 -2
  287. package/build/contracts/src/state/Deserialize.sol/Deserialize.dbg.json +1 -1
  288. package/build/contracts/src/state/Deserialize.sol/Deserialize.json +2 -2
  289. package/build/contracts/src/state/GlobalState.sol/GlobalStateLib.dbg.json +1 -1
  290. package/build/contracts/src/state/GlobalState.sol/GlobalStateLib.json +2 -2
  291. package/build/contracts/src/state/Instructions.sol/Instructions.dbg.json +1 -1
  292. package/build/contracts/src/state/Instructions.sol/Instructions.json +2 -2
  293. package/build/contracts/src/state/Machine.sol/MachineLib.dbg.json +1 -1
  294. package/build/contracts/src/state/Machine.sol/MachineLib.json +2 -2
  295. package/build/contracts/src/state/MerkleProof.sol/MerkleProofLib.dbg.json +1 -1
  296. package/build/contracts/src/state/MerkleProof.sol/MerkleProofLib.json +2 -2
  297. package/build/contracts/src/state/Module.sol/ModuleLib.dbg.json +1 -1
  298. package/build/contracts/src/state/Module.sol/ModuleLib.json +2 -2
  299. package/build/contracts/src/state/ModuleMemory.sol/ModuleMemoryLib.dbg.json +1 -1
  300. package/build/contracts/src/state/ModuleMemory.sol/ModuleMemoryLib.json +2 -2
  301. package/build/contracts/src/state/ModuleMemoryCompact.sol/ModuleMemoryCompactLib.dbg.json +1 -1
  302. package/build/contracts/src/state/ModuleMemoryCompact.sol/ModuleMemoryCompactLib.json +2 -2
  303. package/build/contracts/src/state/MultiStack.sol/MultiStackLib.dbg.json +1 -1
  304. package/build/contracts/src/state/MultiStack.sol/MultiStackLib.json +2 -2
  305. package/build/contracts/src/state/PcArray.sol/PcArrayLib.dbg.json +1 -1
  306. package/build/contracts/src/state/PcArray.sol/PcArrayLib.json +2 -2
  307. package/build/contracts/src/state/StackFrame.sol/StackFrameLib.dbg.json +1 -1
  308. package/build/contracts/src/state/StackFrame.sol/StackFrameLib.json +2 -2
  309. package/build/contracts/src/state/Value.sol/ValueLib.dbg.json +1 -1
  310. package/build/contracts/src/state/Value.sol/ValueLib.json +2 -2
  311. package/build/contracts/src/state/ValueArray.sol/ValueArrayLib.dbg.json +1 -1
  312. package/build/contracts/src/state/ValueArray.sol/ValueArrayLib.json +2 -2
  313. package/build/contracts/src/state/ValueStack.sol/ValueStackLib.dbg.json +1 -1
  314. package/build/contracts/src/state/ValueStack.sol/ValueStackLib.json +2 -2
  315. package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.dbg.json +1 -1
  316. package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.json +15 -2
  317. package/build/contracts/src/test-helpers/CryptographyPrimitivesTester.sol/CryptographyPrimitivesTester.dbg.json +1 -1
  318. package/build/contracts/src/test-helpers/CryptographyPrimitivesTester.sol/CryptographyPrimitivesTester.json +2 -2
  319. package/build/contracts/src/test-helpers/EthVault.sol/EthVault.dbg.json +1 -1
  320. package/build/contracts/src/test-helpers/EthVault.sol/EthVault.json +2 -2
  321. package/build/contracts/src/test-helpers/MessageTester.sol/MessageTester.dbg.json +1 -1
  322. package/build/contracts/src/test-helpers/MessageTester.sol/MessageTester.json +2 -2
  323. package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.dbg.json +1 -1
  324. package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.json +2 -2
  325. package/build/contracts/src/test-helpers/RollupMock.sol/RollupMock.dbg.json +1 -1
  326. package/build/contracts/src/test-helpers/RollupMock.sol/RollupMock.json +2 -15
  327. package/build/contracts/src/test-helpers/TestToken.sol/TestToken.dbg.json +1 -1
  328. package/build/contracts/src/test-helpers/TestToken.sol/TestToken.json +2 -2
  329. package/build/contracts/src/test-helpers/ValueArrayTester.sol/ValueArrayTester.dbg.json +1 -1
  330. package/build/contracts/src/test-helpers/ValueArrayTester.sol/ValueArrayTester.json +2 -2
  331. package/out/yul/Reader4844.yul/Reader4844.json +1 -1
  332. package/package.json +15 -5
  333. package/src/assertionStakingPool/AbsBoldStakingPool.sol +66 -0
  334. package/src/assertionStakingPool/AssertionStakingPool.sol +70 -0
  335. package/src/assertionStakingPool/AssertionStakingPoolCreator.sol +35 -0
  336. package/src/assertionStakingPool/EdgeStakingPool.sol +57 -0
  337. package/src/assertionStakingPool/EdgeStakingPoolCreator.sol +34 -0
  338. package/src/assertionStakingPool/StakingPoolCreatorUtils.sol +25 -0
  339. package/src/assertionStakingPool/interfaces/IAbsBoldStakingPool.sol +41 -0
  340. package/src/assertionStakingPool/interfaces/IAssertionStakingPool.sol +36 -0
  341. package/src/assertionStakingPool/interfaces/IAssertionStakingPoolCreator.sol +31 -0
  342. package/src/assertionStakingPool/interfaces/IEdgeStakingPool.sol +27 -0
  343. package/src/assertionStakingPool/interfaces/IEdgeStakingPoolCreator.sol +28 -0
  344. package/src/bridge/AbsBridge.sol +38 -48
  345. package/src/bridge/AbsInbox.sol +88 -97
  346. package/src/bridge/AbsOutbox.sol +23 -37
  347. package/src/bridge/Bridge.sol +6 -4
  348. package/src/bridge/DelayBuffer.sol +123 -0
  349. package/src/bridge/DelayBufferTypes.sol +38 -0
  350. package/src/bridge/ERC20Bridge.sol +8 -4
  351. package/src/bridge/ERC20Inbox.sol +46 -53
  352. package/src/bridge/ERC20Outbox.sol +7 -3
  353. package/src/bridge/GasRefunder.sol +38 -24
  354. package/src/bridge/IBridge.sol +30 -21
  355. package/src/bridge/IERC20Bridge.sol +1 -1
  356. package/src/bridge/IERC20Inbox.sol +4 -2
  357. package/src/bridge/IEthBridge.sol +4 -2
  358. package/src/bridge/IInbox.sol +4 -2
  359. package/src/bridge/IInboxBase.sol +17 -13
  360. package/src/bridge/IOutbox.sol +13 -8
  361. package/src/bridge/ISequencerInbox.sol +118 -13
  362. package/src/bridge/Inbox.sol +131 -151
  363. package/src/bridge/Messages.sol +48 -18
  364. package/src/bridge/Outbox.sol +6 -2
  365. package/src/bridge/SequencerInbox.sol +339 -274
  366. package/src/chain/CacheManager.sol +49 -18
  367. package/src/challengeV2/EdgeChallengeManager.sol +783 -0
  368. package/src/challengeV2/IAssertionChain.sol +39 -0
  369. package/src/challengeV2/libraries/ArrayUtilsLib.sol +61 -0
  370. package/src/challengeV2/libraries/ChallengeEdgeLib.sol +333 -0
  371. package/src/challengeV2/libraries/ChallengeErrors.sol +108 -0
  372. package/src/challengeV2/libraries/EdgeChallengeManagerLib.sol +930 -0
  373. package/src/challengeV2/libraries/Enums.sol +26 -0
  374. package/src/challengeV2/libraries/MerkleTreeAccumulatorLib.sol +390 -0
  375. package/src/challengeV2/libraries/UintUtilsLib.sol +74 -0
  376. package/src/libraries/AddressAliasHelper.sol +6 -2
  377. package/src/libraries/AdminFallbackProxy.sol +8 -4
  378. package/src/libraries/ArbitrumChecker.sol +3 -4
  379. package/src/libraries/CryptographyPrimitives.sol +39 -46
  380. package/src/libraries/DecimalsConverterHelper.sol +2 -4
  381. package/src/libraries/DoubleLogicUUPSUpgradeable.sol +10 -7
  382. package/src/libraries/Error.sol +18 -3
  383. package/src/libraries/GasRefundEnabled.sol +3 -4
  384. package/src/libraries/MerkleLib.sol +6 -5
  385. package/src/libraries/UUPSNotUpgradeable.sol +2 -4
  386. package/src/mocks/BridgeStub.sol +50 -48
  387. package/src/mocks/BridgeUnproxied.sol +2 -0
  388. package/src/mocks/InboxStub.sol +22 -17
  389. package/src/mocks/MerkleTreeAccess.sol +72 -0
  390. package/src/mocks/MockRollupEventInbox.sol +59 -0
  391. package/src/mocks/MultiCallTest.sol +3 -1
  392. package/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol +3 -1
  393. package/src/mocks/Program.sol +9 -7
  394. package/src/mocks/SequencerInboxBlobMock.sol +38 -0
  395. package/src/mocks/SequencerInboxStub.sol +9 -12
  396. package/src/mocks/Simple.sol +13 -25
  397. package/src/mocks/SimpleCacheManager.sol +10 -3
  398. package/src/mocks/SimpleOneStepProofEntry.sol +60 -0
  399. package/src/mocks/SimpleProxy.sol +3 -1
  400. package/src/mocks/TestWETH9.sol +30 -0
  401. package/src/mocks/UpgradeExecutorMock.sol +10 -17
  402. package/src/node-interface/NodeInterface.sol +23 -22
  403. package/src/node-interface/NodeInterfaceDebug.sol +5 -3
  404. package/src/osp/HashProofHelper.sol +9 -10
  405. package/src/osp/IOneStepProofEntry.sol +14 -9
  406. package/src/osp/IOneStepProver.sol +1 -0
  407. package/src/osp/OneStepProofEntry.sol +63 -54
  408. package/src/osp/OneStepProver0.sol +14 -27
  409. package/src/osp/OneStepProverHostIo.sol +31 -58
  410. package/src/osp/OneStepProverMath.sol +15 -23
  411. package/src/osp/OneStepProverMemory.sol +9 -23
  412. package/src/precompiles/ArbAddressTable.sol +19 -9
  413. package/src/precompiles/ArbAggregator.sol +12 -4
  414. package/src/precompiles/ArbBLS.sol +1 -3
  415. package/src/precompiles/ArbDebug.sol +5 -11
  416. package/src/precompiles/ArbFunctionTable.sol +7 -10
  417. package/src/precompiles/ArbGasInfo.sol +9 -43
  418. package/src/precompiles/ArbInfo.sol +6 -2
  419. package/src/precompiles/ArbOwner.sol +101 -34
  420. package/src/precompiles/ArbOwnerPublic.sol +6 -2
  421. package/src/precompiles/ArbRetryableTx.sol +15 -5
  422. package/src/precompiles/ArbStatistics.sol +1 -8
  423. package/src/precompiles/ArbSys.sol +16 -18
  424. package/src/precompiles/ArbWasm.sol +24 -14
  425. package/src/precompiles/ArbWasmCache.sol +15 -5
  426. package/src/precompiles/ArbosTest.sol +3 -1
  427. package/src/rollup/AbsRollupEventInbox.sol +15 -16
  428. package/src/rollup/Assertion.sol +100 -0
  429. package/src/rollup/AssertionState.sol +29 -0
  430. package/src/rollup/BOLDUpgradeAction.sol +631 -0
  431. package/src/rollup/BridgeCreator.sol +42 -15
  432. package/src/rollup/Config.sol +15 -7
  433. package/src/rollup/DeployHelper.sol +12 -31
  434. package/src/rollup/ERC20RollupEventInbox.sol +8 -9
  435. package/src/rollup/FactoryDeployerHelper.sol +8 -10
  436. package/src/rollup/IRollupAdmin.sol +127 -45
  437. package/src/rollup/IRollupCore.sol +64 -84
  438. package/src/rollup/IRollupEventInbox.sol +3 -1
  439. package/src/rollup/IRollupLogic.sol +35 -72
  440. package/src/rollup/RollupAdminLogic.sol +224 -203
  441. package/src/rollup/RollupCore.sol +407 -428
  442. package/src/rollup/RollupCreator.sol +88 -75
  443. package/src/rollup/RollupEventInbox.sol +7 -7
  444. package/src/rollup/RollupLib.sol +50 -86
  445. package/src/rollup/RollupProxy.sol +8 -12
  446. package/src/rollup/RollupUserLogic.sol +279 -644
  447. package/src/rollup/ValidatorUtils.sol +0 -242
  448. package/src/rollup/ValidatorWallet.sol +22 -38
  449. package/src/rollup/ValidatorWalletCreator.sol +8 -8
  450. package/src/state/Deserialize.sol +74 -96
  451. package/src/state/GlobalState.sol +74 -20
  452. package/src/state/Instructions.sol +4 -3
  453. package/src/state/Machine.sol +18 -19
  454. package/src/state/Module.sol +14 -13
  455. package/src/state/ModuleMemory.sol +6 -25
  456. package/src/state/ModuleMemoryCompact.sol +3 -1
  457. package/src/state/MultiStack.sol +16 -20
  458. package/src/state/PcArray.sol +7 -7
  459. package/src/state/StackFrame.sol +21 -14
  460. package/src/state/Value.sol +18 -6
  461. package/src/state/ValueArray.sol +7 -7
  462. package/src/state/ValueStack.sol +9 -3
  463. package/src/test-helpers/BridgeTester.sol +32 -42
  464. package/src/test-helpers/CryptographyPrimitivesTester.sol +12 -13
  465. package/src/test-helpers/EthVault.sol +4 -2
  466. package/src/test-helpers/InterfaceCompatibilityTester.sol +1 -1
  467. package/src/test-helpers/MessageTester.sol +3 -10
  468. package/src/test-helpers/OutboxWithoutOptTester.sol +12 -19
  469. package/src/test-helpers/RollupMock.sol +3 -7
  470. package/src/test-helpers/TestToken.sol +4 -2
  471. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.dbg.json +0 -4
  472. package/build/contracts/src/challenge/ChallengeLib.sol/ChallengeLib.dbg.json +0 -4
  473. package/build/contracts/src/challenge/ChallengeManager.sol/ChallengeManager.dbg.json +0 -4
  474. package/build/contracts/src/challenge/ChallengeManager.sol/ChallengeManager.json +0 -746
  475. package/build/contracts/src/challenge/IChallengeManager.sol/IChallengeManager.dbg.json +0 -4
  476. package/build/contracts/src/challenge/IChallengeManager.sol/IChallengeManager.json +0 -441
  477. package/build/contracts/src/challenge/IChallengeResultReceiver.sol/IChallengeResultReceiver.dbg.json +0 -4
  478. package/build/contracts/src/challenge/IChallengeResultReceiver.sol/IChallengeResultReceiver.json +0 -34
  479. package/build/contracts/src/mocks/MockResultReceiver.sol/MockResultReceiver.dbg.json +0 -4
  480. package/build/contracts/src/mocks/MockResultReceiver.sol/MockResultReceiver.json +0 -188
  481. package/build/contracts/src/mocks/SingleExecutionChallenge.sol/SingleExecutionChallenge.dbg.json +0 -4
  482. package/build/contracts/src/mocks/SingleExecutionChallenge.sol/SingleExecutionChallenge.json +0 -797
  483. package/build/contracts/src/mocks/TimedOutChallengeManager.sol/TimedOutChallengeManager.dbg.json +0 -4
  484. package/build/contracts/src/mocks/TimedOutChallengeManager.sol/TimedOutChallengeManager.json +0 -746
  485. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserAbs.dbg.json +0 -4
  486. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserAbs.json +0 -1332
  487. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserERC20.dbg.json +0 -4
  488. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserERC20.json +0 -1466
  489. package/build/contracts/src/rollup/Node.sol/NodeLib.dbg.json +0 -4
  490. package/build/contracts/src/rollup/RollupUserLogic.sol/AbsRollupUserLogic.dbg.json +0 -4
  491. package/build/contracts/src/rollup/RollupUserLogic.sol/AbsRollupUserLogic.json +0 -1614
  492. package/build/contracts/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic.dbg.json +0 -4
  493. package/build/contracts/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic.json +0 -1748
  494. package/build/contracts/src/rollup/ValidatorUtils.sol/ValidatorUtils.dbg.json +0 -4
  495. package/build/contracts/src/rollup/ValidatorUtils.sol/ValidatorUtils.json +0 -379
  496. package/src/challenge/ChallengeLib.sol +0 -88
  497. package/src/challenge/ChallengeManager.sol +0 -375
  498. package/src/challenge/IChallengeManager.sol +0 -86
  499. package/src/challenge/IChallengeResultReceiver.sol +0 -13
  500. package/src/mocks/MockResultReceiver.sol +0 -59
  501. package/src/mocks/SingleExecutionChallenge.sol +0 -41
  502. package/src/mocks/TimedOutChallengeManager.sol +0 -13
  503. package/src/rollup/Node.sol +0 -113
@@ -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/9ec5aeba34e8f7c0c281e147a2954d13.json"
3
+ "buildInfo": "../../../build-info/28754c4998b67fc9c9d6d849262cf39e.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/28754c4998b67fc9c9d6d849262cf39e.json"
4
+ }