@arbitrum/nitro-contracts 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (218) hide show
  1. package/{LICENSE → LICENSE.md} +18 -16
  2. package/README.md +14 -0
  3. package/build/contracts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +1 -1
  4. package/build/contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.dbg.json +1 -1
  5. package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +1 -1
  6. package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.dbg.json +1 -1
  7. package/build/contracts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.dbg.json +1 -1
  8. package/build/contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.dbg.json +1 -1
  9. package/build/contracts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +1 -1
  10. package/build/contracts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.dbg.json +1 -1
  11. package/build/contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.dbg.json +1 -1
  12. package/build/contracts/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol/UUPSUpgradeable.dbg.json +1 -1
  13. package/build/contracts/@openzeppelin/contracts/security/ReentrancyGuard.sol/ReentrancyGuard.dbg.json +1 -1
  14. package/build/contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +1 -1
  15. package/build/contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +1 -1
  16. package/build/contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +1 -1
  17. package/build/contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol/SafeERC20.dbg.json +1 -1
  18. package/build/contracts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json +1 -1
  19. package/build/contracts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +1 -1
  20. package/build/contracts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.dbg.json +1 -1
  21. package/build/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol/AccessControlUpgradeable.dbg.json +1 -1
  22. package/build/contracts/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol/IAccessControlUpgradeable.dbg.json +1 -1
  23. package/build/contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +1 -1
  24. package/build/contracts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +1 -1
  25. package/build/contracts/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol/PausableUpgradeable.dbg.json +1 -1
  26. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.dbg.json +1 -1
  27. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +1 -1
  28. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +1 -1
  29. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol/StorageSlotUpgradeable.dbg.json +1 -1
  30. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol/StringsUpgradeable.dbg.json +1 -1
  31. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol/ERC165Upgradeable.dbg.json +1 -1
  32. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol/IERC165Upgradeable.dbg.json +1 -1
  33. package/build/contracts/src/bridge/AbsBridge.sol/AbsBridge.dbg.json +1 -1
  34. package/build/contracts/src/bridge/AbsInbox.sol/AbsInbox.dbg.json +1 -1
  35. package/build/contracts/src/bridge/AbsOutbox.sol/AbsOutbox.dbg.json +1 -1
  36. package/build/contracts/src/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  37. package/build/contracts/src/bridge/Bridge.sol/Bridge.json +2 -2
  38. package/build/contracts/src/bridge/ERC20Bridge.sol/ERC20Bridge.dbg.json +1 -1
  39. package/build/contracts/src/bridge/ERC20Bridge.sol/ERC20Bridge.json +2 -2
  40. package/build/contracts/src/bridge/ERC20Inbox.sol/ERC20Inbox.dbg.json +1 -1
  41. package/build/contracts/src/bridge/ERC20Inbox.sol/ERC20Inbox.json +2 -2
  42. package/build/contracts/src/bridge/ERC20Outbox.sol/ERC20Outbox.dbg.json +1 -1
  43. package/build/contracts/src/bridge/ERC20Outbox.sol/ERC20Outbox.json +2 -2
  44. package/build/contracts/src/bridge/GasRefunder.sol/GasRefunder.dbg.json +1 -1
  45. package/build/contracts/src/bridge/GasRefunder.sol/GasRefunder.json +2 -2
  46. package/build/contracts/src/bridge/IBridge.sol/IBridge.dbg.json +1 -1
  47. package/build/contracts/src/bridge/IDelayedMessageProvider.sol/IDelayedMessageProvider.dbg.json +1 -1
  48. package/build/contracts/src/bridge/IERC20Bridge.sol/IERC20Bridge.dbg.json +1 -1
  49. package/build/contracts/src/bridge/IERC20Inbox.sol/IERC20Inbox.dbg.json +1 -1
  50. package/build/contracts/src/bridge/IEthBridge.sol/IEthBridge.dbg.json +1 -1
  51. package/build/contracts/src/bridge/IInbox.sol/IInbox.dbg.json +1 -1
  52. package/build/contracts/src/bridge/IInboxBase.sol/IInboxBase.dbg.json +1 -1
  53. package/build/contracts/src/bridge/IOutbox.sol/IOutbox.dbg.json +1 -1
  54. package/build/contracts/src/bridge/IOwnable.sol/IOwnable.dbg.json +1 -1
  55. package/build/contracts/src/bridge/ISequencerInbox.sol/ISequencerInbox.dbg.json +1 -1
  56. package/build/contracts/src/bridge/ISequencerInbox.sol/ISequencerInbox.json +184 -22
  57. package/build/contracts/src/bridge/Inbox.sol/Inbox.dbg.json +1 -1
  58. package/build/contracts/src/bridge/Inbox.sol/Inbox.json +2 -2
  59. package/build/contracts/src/bridge/Messages.sol/Messages.dbg.json +1 -1
  60. package/build/contracts/src/bridge/Outbox.sol/Outbox.dbg.json +1 -1
  61. package/build/contracts/src/bridge/Outbox.sol/Outbox.json +2 -2
  62. package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.dbg.json +1 -1
  63. package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.json +249 -29
  64. package/build/contracts/src/challenge/ChallengeLib.sol/ChallengeLib.dbg.json +1 -1
  65. package/build/contracts/src/challenge/ChallengeManager.sol/ChallengeManager.dbg.json +1 -1
  66. package/build/contracts/src/challenge/ChallengeManager.sol/ChallengeManager.json +31 -2
  67. package/build/contracts/src/challenge/IChallengeManager.sol/IChallengeManager.dbg.json +1 -1
  68. package/build/contracts/src/challenge/IChallengeResultReceiver.sol/IChallengeResultReceiver.dbg.json +1 -1
  69. package/build/contracts/src/libraries/AddressAliasHelper.sol/AddressAliasHelper.dbg.json +1 -1
  70. package/build/contracts/src/libraries/AdminFallbackProxy.sol/AdminFallbackProxy.dbg.json +1 -1
  71. package/build/contracts/src/libraries/AdminFallbackProxy.sol/DoubleLogicERC1967Upgrade.dbg.json +1 -1
  72. package/build/contracts/src/libraries/ArbitrumChecker.sol/ArbitrumChecker.dbg.json +1 -1
  73. package/build/contracts/src/libraries/CryptographyPrimitives.sol/CryptographyPrimitives.dbg.json +1 -1
  74. package/build/contracts/src/libraries/DelegateCallAware.sol/DelegateCallAware.dbg.json +1 -1
  75. package/build/contracts/src/libraries/DoubleLogicUUPSUpgradeable.sol/DoubleLogicUUPSUpgradeable.dbg.json +1 -1
  76. package/build/contracts/src/libraries/GasRefundEnabled.sol/GasRefundEnabled.dbg.json +4 -0
  77. package/build/contracts/src/libraries/{IGasRefunder.sol → GasRefundEnabled.sol}/GasRefundEnabled.json +1 -1
  78. package/build/contracts/src/libraries/IGasRefunder.sol/IGasRefunder.dbg.json +1 -1
  79. package/build/contracts/src/libraries/IReader4844.sol/IReader4844.dbg.json +4 -0
  80. package/build/contracts/src/libraries/IReader4844.sol/IReader4844.json +37 -0
  81. package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.dbg.json +1 -1
  82. package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.json +2 -2
  83. package/build/contracts/src/libraries/UUPSNotUpgradeable.sol/UUPSNotUpgradeable.dbg.json +1 -1
  84. package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.dbg.json +1 -1
  85. package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.json +2 -2
  86. package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.dbg.json +1 -1
  87. package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.json +2 -2
  88. package/build/contracts/src/mocks/InboxStub.sol/InboxStub.dbg.json +1 -1
  89. package/build/contracts/src/mocks/InboxStub.sol/InboxStub.json +4 -4
  90. package/build/contracts/src/mocks/MockResultReceiver.sol/MockResultReceiver.dbg.json +1 -1
  91. package/build/contracts/src/mocks/MockResultReceiver.sol/MockResultReceiver.json +2 -2
  92. package/build/contracts/src/mocks/ProxyAdminForBinding.sol/ProxyAdminForBinding.dbg.json +1 -1
  93. package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.dbg.json +1 -1
  94. package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.json +257 -37
  95. package/build/contracts/src/mocks/Simple.sol/Simple.dbg.json +1 -1
  96. package/build/contracts/src/mocks/Simple.sol/Simple.json +45 -2
  97. package/build/contracts/src/mocks/SimpleProxy.sol/SimpleProxy.dbg.json +1 -1
  98. package/build/contracts/src/mocks/SingleExecutionChallenge.sol/SingleExecutionChallenge.dbg.json +1 -1
  99. package/build/contracts/src/mocks/SingleExecutionChallenge.sol/SingleExecutionChallenge.json +31 -2
  100. package/build/contracts/src/mocks/TimedOutChallengeManager.sol/TimedOutChallengeManager.dbg.json +1 -1
  101. package/build/contracts/src/mocks/TimedOutChallengeManager.sol/TimedOutChallengeManager.json +31 -2
  102. package/build/contracts/src/mocks/UpgradeExecutorMock.sol/UpgradeExecutorMock.dbg.json +1 -1
  103. package/build/contracts/src/node-interface/NodeInterface.sol/NodeInterface.dbg.json +1 -1
  104. package/build/contracts/src/node-interface/NodeInterfaceDebug.sol/NodeInterfaceDebug.dbg.json +1 -1
  105. package/build/contracts/src/osp/HashProofHelper.sol/HashProofHelper.dbg.json +1 -1
  106. package/build/contracts/src/osp/IOneStepProofEntry.sol/IOneStepProofEntry.dbg.json +1 -1
  107. package/build/contracts/src/osp/IOneStepProofEntry.sol/OneStepProofEntryLib.dbg.json +1 -1
  108. package/build/contracts/src/osp/IOneStepProofEntry.sol/OneStepProofEntryLib.json +2 -2
  109. package/build/contracts/src/osp/IOneStepProver.sol/IOneStepProver.dbg.json +1 -1
  110. package/build/contracts/src/osp/OneStepProofEntry.sol/OneStepProofEntry.dbg.json +1 -1
  111. package/build/contracts/src/osp/OneStepProofEntry.sol/OneStepProofEntry.json +2 -2
  112. package/build/contracts/src/osp/OneStepProver0.sol/OneStepProver0.dbg.json +1 -1
  113. package/build/contracts/src/osp/OneStepProver0.sol/OneStepProver0.json +2 -2
  114. package/build/contracts/src/osp/OneStepProverHostIo.sol/OneStepProverHostIo.dbg.json +1 -1
  115. package/build/contracts/src/osp/OneStepProverHostIo.sol/OneStepProverHostIo.json +2 -2
  116. package/build/contracts/src/osp/OneStepProverMath.sol/OneStepProverMath.dbg.json +1 -1
  117. package/build/contracts/src/osp/OneStepProverMath.sol/OneStepProverMath.json +2 -2
  118. package/build/contracts/src/osp/OneStepProverMemory.sol/OneStepProverMemory.dbg.json +1 -1
  119. package/build/contracts/src/osp/OneStepProverMemory.sol/OneStepProverMemory.json +2 -2
  120. package/build/contracts/src/precompiles/ArbAddressTable.sol/ArbAddressTable.dbg.json +1 -1
  121. package/build/contracts/src/precompiles/ArbAggregator.sol/ArbAggregator.dbg.json +1 -1
  122. package/build/contracts/src/precompiles/ArbBLS.sol/ArbBLS.dbg.json +1 -1
  123. package/build/contracts/src/precompiles/ArbDebug.sol/ArbDebug.dbg.json +1 -1
  124. package/build/contracts/src/precompiles/ArbFunctionTable.sol/ArbFunctionTable.dbg.json +1 -1
  125. package/build/contracts/src/precompiles/ArbGasInfo.sol/ArbGasInfo.dbg.json +1 -1
  126. package/build/contracts/src/precompiles/ArbGasInfo.sol/ArbGasInfo.json +65 -0
  127. package/build/contracts/src/precompiles/ArbInfo.sol/ArbInfo.dbg.json +1 -1
  128. package/build/contracts/src/precompiles/ArbOwner.sol/ArbOwner.dbg.json +1 -1
  129. package/build/contracts/src/precompiles/ArbOwnerPublic.sol/ArbOwnerPublic.dbg.json +1 -1
  130. package/build/contracts/src/precompiles/ArbOwnerPublic.sol/ArbOwnerPublic.json +18 -0
  131. package/build/contracts/src/precompiles/ArbRetryableTx.sol/ArbRetryableTx.dbg.json +1 -1
  132. package/build/contracts/src/precompiles/ArbStatistics.sol/ArbStatistics.dbg.json +1 -1
  133. package/build/contracts/src/precompiles/ArbSys.sol/ArbSys.dbg.json +1 -1
  134. package/build/contracts/src/precompiles/ArbosActs.sol/ArbosActs.dbg.json +1 -1
  135. package/build/contracts/src/precompiles/ArbosTest.sol/ArbosTest.dbg.json +1 -1
  136. package/build/contracts/src/rollup/AbsRollupEventInbox.sol/AbsRollupEventInbox.dbg.json +1 -1
  137. package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.dbg.json +1 -1
  138. package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.json +10 -10
  139. package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.dbg.json +1 -1
  140. package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.json +2 -2
  141. package/build/contracts/src/rollup/ERC20RollupEventInbox.sol/ERC20RollupEventInbox.dbg.json +1 -1
  142. package/build/contracts/src/rollup/ERC20RollupEventInbox.sol/ERC20RollupEventInbox.json +2 -2
  143. package/build/contracts/src/rollup/IRollupAdmin.sol/IRollupAdmin.dbg.json +1 -1
  144. package/build/contracts/src/rollup/IRollupAdmin.sol/IRollupAdmin.json +8 -8
  145. package/build/contracts/src/rollup/IRollupCore.sol/IRollupCore.dbg.json +1 -1
  146. package/build/contracts/src/rollup/IRollupEventInbox.sol/IRollupEventInbox.dbg.json +1 -1
  147. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUser.dbg.json +1 -1
  148. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserAbs.dbg.json +1 -1
  149. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserERC20.dbg.json +1 -1
  150. package/build/contracts/src/rollup/Node.sol/NodeLib.dbg.json +1 -1
  151. package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.dbg.json +1 -1
  152. package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.json +10 -10
  153. package/build/contracts/src/rollup/RollupCore.sol/RollupCore.dbg.json +1 -1
  154. package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.dbg.json +1 -1
  155. package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.json +20 -15
  156. package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.dbg.json +1 -1
  157. package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.json +2 -2
  158. package/build/contracts/src/rollup/RollupLib.sol/RollupLib.dbg.json +1 -1
  159. package/build/contracts/src/rollup/RollupLib.sol/RollupLib.json +2 -2
  160. package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.dbg.json +1 -1
  161. package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.json +10 -10
  162. package/build/contracts/src/rollup/RollupUserLogic.sol/AbsRollupUserLogic.dbg.json +1 -1
  163. package/build/contracts/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic.dbg.json +1 -1
  164. package/build/contracts/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic.json +2 -2
  165. package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.dbg.json +1 -1
  166. package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.json +2 -2
  167. package/build/contracts/src/rollup/ValidatorUtils.sol/ValidatorUtils.dbg.json +1 -1
  168. package/build/contracts/src/rollup/ValidatorUtils.sol/ValidatorUtils.json +2 -2
  169. package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.dbg.json +1 -1
  170. package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.json +2 -2
  171. package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.dbg.json +1 -1
  172. package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.json +2 -2
  173. package/build/contracts/src/state/Deserialize.sol/Deserialize.dbg.json +1 -1
  174. package/build/contracts/src/state/GlobalState.sol/GlobalStateLib.dbg.json +1 -1
  175. package/build/contracts/src/state/Instructions.sol/Instructions.dbg.json +1 -1
  176. package/build/contracts/src/state/Machine.sol/MachineLib.dbg.json +1 -1
  177. package/build/contracts/src/state/MerkleProof.sol/MerkleProofLib.dbg.json +1 -1
  178. package/build/contracts/src/state/Module.sol/ModuleLib.dbg.json +1 -1
  179. package/build/contracts/src/state/ModuleMemory.sol/ModuleMemoryLib.dbg.json +1 -1
  180. package/build/contracts/src/state/ModuleMemoryCompact.sol/ModuleMemoryCompactLib.dbg.json +1 -1
  181. package/build/contracts/src/state/PcArray.sol/PcArrayLib.dbg.json +1 -1
  182. package/build/contracts/src/state/StackFrame.sol/StackFrameLib.dbg.json +1 -1
  183. package/build/contracts/src/state/Value.sol/ValueLib.dbg.json +1 -1
  184. package/build/contracts/src/state/ValueArray.sol/ValueArrayLib.dbg.json +1 -1
  185. package/build/contracts/src/state/ValueStack.sol/ValueStackLib.dbg.json +1 -1
  186. package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.dbg.json +1 -1
  187. package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.json +2 -2
  188. package/build/contracts/src/test-helpers/CryptographyPrimitivesTester.sol/CryptographyPrimitivesTester.dbg.json +1 -1
  189. package/build/contracts/src/test-helpers/EthVault.sol/EthVault.dbg.json +1 -1
  190. package/build/contracts/src/test-helpers/MessageTester.sol/MessageTester.dbg.json +1 -1
  191. package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.dbg.json +1 -1
  192. package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.json +2 -2
  193. package/build/contracts/src/test-helpers/RollupMock.sol/RollupMock.dbg.json +1 -1
  194. package/build/contracts/src/test-helpers/RollupMock.sol/RollupMock.json +26 -2
  195. package/build/contracts/src/test-helpers/TestToken.sol/TestToken.dbg.json +1 -1
  196. package/build/contracts/src/test-helpers/ValueArrayTester.sol/ValueArrayTester.dbg.json +1 -1
  197. package/out/yul/Reader4844.yul/Reader4844.json +1 -0
  198. package/package.json +12 -7
  199. package/src/bridge/GasRefunder.sol +2 -0
  200. package/src/bridge/IBridge.sol +22 -0
  201. package/src/bridge/ISequencerInbox.sol +73 -26
  202. package/src/bridge/SequencerInbox.sol +426 -140
  203. package/src/challenge/ChallengeManager.sol +6 -0
  204. package/src/libraries/Error.sol +27 -0
  205. package/src/libraries/GasRefundEnabled.sol +52 -0
  206. package/src/libraries/IGasRefunder.sol +0 -25
  207. package/src/libraries/IReader4844.sol +13 -0
  208. package/src/mocks/InboxStub.sol +2 -2
  209. package/src/mocks/SequencerInboxStub.sol +11 -6
  210. package/src/mocks/Simple.sol +31 -1
  211. package/src/osp/OneStepProverHostIo.sol +100 -7
  212. package/src/precompiles/ArbGasInfo.sol +20 -0
  213. package/src/precompiles/ArbOwnerPublic.sol +8 -0
  214. package/src/rollup/BridgeCreator.sol +1 -1
  215. package/src/rollup/RollupCreator.sol +31 -19
  216. package/src/rollup/ValidatorWallet.sol +4 -3
  217. package/src/test-helpers/RollupMock.sol +6 -0
  218. package/build/contracts/src/libraries/IGasRefunder.sol/GasRefundEnabled.dbg.json +0 -4
@@ -579,8 +579,8 @@
579
579
  "type": "function"
580
580
  }
581
581
  ],
582
- "bytecode": "0x60a06040523060805234801561001457600080fd5b506080516116cd6100376000396000818161067a015261088501526116cd6000f3fe608060405234801561001057600080fd5b506004361061012b5760003560e01c806395fcea78116100ad578063c4d66de811610071578063c4d66de81461023e578063c75184df14610251578063cb23bcb514610271578063d5b5cc2314610284578063e78cea92146102a457600080fd5b806395fcea78146101e85780639f0c04bf146101f0578063a04cee6014610203578063ae6dead714610216578063b0f305371461023657600080fd5b80635a129efe116100f45780635a129efe1461018d5780636ae71f12146101b057806372f2a8c7146101b857806380648b02146101c05780638515bc6a146101e057600080fd5b80627436d31461013057806308635a9514610156578063119852711461016b578063288e5b10146101725780634654779014610185575b600080fd5b61014361013e366004610fa3565b6102b7565b6040519081526020015b60405180910390f35b6101696101643660046110c3565b6102f4565b005b6000610143565b6101696101803660046111b7565b610367565b6101436103a2565b6101a061019b366004611252565b6103d1565b604051901515815260200161014d565b6101696103ee565b6101436105fb565b6101c8610618565b6040516001600160a01b03909116815260200161014d565b610143610639565b61016961066f565b6101436101fe36600461126b565b610792565b6101696102113660046112f9565b6107d7565b610143610224366004611252565b60036020526000908152604090205481565b610143610852565b61016961024c36600461131b565b61087a565b610259600281565b6040516001600160801b03909116815260200161014d565b6000546101c8906001600160a01b031681565b610143610292366004611252565b60026020526000908152604090205481565b6001546101c8906001600160a01b031681565b60006102ec8484846040516020016102d191815260200190565b60405160208183030381529060405280519060200120610a19565b949350505050565b60006103068989898989898989610792565b90506103488c8c808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508e9250859150610abc9050565b6103598a8a8a8a8a8a8a8a8a610bc5565b505050505050505050505050565b331561038657604051630e13b69d60e01b815260040160405180910390fd5b610397898989898989898989610bc5565b505050505050505050565b6004546000906001600160801b03908116908114156103c357600091505090565b6001600160801b0316919050565b60008060006103df84610e49565b92509250506102ec8282610e86565b60008054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561043a57600080fd5b505afa15801561044e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610472919061133f565b6001600160a01b0316336001600160a01b03161461052a5760005460408051638da5cb5b60e01b8152905133926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156104ce57600080fd5b505afa1580156104e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610506919061133f565b604051631194af8760e11b815260040161052192919061135c565b60405180910390fd5b6001546040805163cb23bcb560e01b815290516000926001600160a01b03169163cb23bcb5916004808301926020929190829003018186803b15801561056f57600080fd5b505afa158015610583573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a7919061133f565b6000549091506001600160a01b03808316911614156105d95760405163d054909f60e01b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60055460009060001981141561061357506000919050565b919050565b6006546000906001600160a01b039081169081141561061357600091505090565b6006546000906001600160601b03600160a01b90910481169081141561066157600091505090565b6001600160601b0316919050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156106b85760405162461bcd60e51b815260040161052190611376565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038054336001600160a01b03821614610708573381604051631194af8760e11b815260040161052192919061135c565b6004546001600160801b03908116146107345760405163d0afb66160e01b815260040160405180910390fd5b50506040805160c0810182526001600160801b0380825260208201526000199181018290526001600160a01b0360608201526001600160601b036080820152600060a090910181905260048290556005829055600691909155600755565b600088888888888888886040516020016107b39897969594939291906113c2565b60405160208183030381529060405280519060200120905098975050505050505050565b6000546001600160a01b0316331461081357600054604051630e4cf1bf60e21b81526105219133916001600160a01b039091169060040161135c565b60008281526003602052604080822083905551829184917fb4df3847300f076a369cd76d2314b470a1194d9e8a6bb97f1860aee88a5f67489190a35050565b6004546000906001600160801b03600160801b9091048116908114156103c357600091505090565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156108c35760405162461bcd60e51b815260040161052190611376565b6001600160a01b0381166108ea57604051631ad0f74360e01b815260040160405180910390fd5b6001546001600160a01b03161561091457604051633bcd329760e21b815260040160405180910390fd5b6040805160c0810182526001600160801b038082526020808301919091526000198284018190526001600160a01b03606084018190526001600160601b036080850152600060a090940184905260048281556005839055600692909255600793909355600180546001600160a01b0319169386169384179055835163cb23bcb560e01b81529351929363cb23bcb59381830193929091829003018186803b1580156109be57600080fd5b505afa1580156109d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f6919061133f565b600080546001600160a01b0319166001600160a01b039290921691909117905550565b8251600090610100811115610a4c57604051637ed6198f60e11b8152600481018290526101006024820152604401610521565b8260005b82811015610ab2576000878281518110610a6c57610a6c611416565b60200260200101519050816001901b871660001415610a9957826000528060205260406000209250610aa9565b8060005282602052604060002092505b50600101610a50565b5095945050505050565b610100835110610ae457825160405163ab6a068360e01b815260040161052191815260200190565b8251610af1906002611526565b8210610b28578183516002610b069190611526565b604051630b8a724b60e01b815260048101929092526024820152604401610521565b6000610b358484846102b7565b600081815260036020526040902054909150610b67576040516310e61af960e31b815260048101829052602401610521565b6000806000610b7586610e49565b925092509250610b858282610e86565b15610ba657604051639715b8d360e01b815260048101879052602401610521565b600092835260026020526040909220600190911b909117905550505050565b6000886001600160a01b0316886001600160a01b03167f20af7f3bbfe38132b8900ae295cd9c8d1914be7052d061a511f3f728dab189648c604051610c0c91815260200190565b60405180910390a4600060046040518060c00160405290816000820160009054906101000a90046001600160801b03166001600160801b03166001600160801b031681526020016000820160109054906101000a90046001600160801b03166001600160801b03166001600160801b03168152602001600182015481526020016002820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016002820160149054906101000a90046001600160601b03166001600160601b03166001600160601b0316815260200160038201548152505090506040518060c00160405280886001600160801b03168152602001866001600160801b031681526020018b60001b81526020018a6001600160a01b03168152602001876001600160601b03168152602001610d4d600090565b905280516020808301516001600160801b03908116600160801b02921691909117600455604080830151600555606083015160808401516001600160601b0316600160a01b026001600160a01b039091161760065560a0909201516007558151601f8501829004820281018201909252838252610de9918a918791908790879081908401838280828437600092019190915250610e9592505050565b805160208201516001600160801b03908116600160801b029116176004556040810151600555606081015160808201516001600160601b0316600160a01b026001600160a01b039091161760065560a00151600755505050505050505050565b6000808080610e5960ff86611548565b90506000610e6860ff8761155c565b60008381526002602052604090205492979096509194509092505050565b80821c60011615155b92915050565b600154604051639e5d4c4960e01b815260009182916001600160a01b0390911690639e5d4c4990610ece908890889088906004016115a0565b600060405180830381600087803b158015610ee857600080fd5b505af1158015610efc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2491908101906115e9565b9150915081610f5657805115610f3d5780518082602001fd5b604051631bb7daad60e11b815260040160405180910390fd5b5050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715610f9b57610f9b610f5d565b604052919050565b600080600060608486031215610fb857600080fd5b83356001600160401b0380821115610fcf57600080fd5b818601915086601f830112610fe357600080fd5b8135602082821115610ff757610ff7610f5d565b8160051b9250611008818401610f73565b828152928401810192818101908a85111561102257600080fd5b948201945b8486101561104057853582529482019490820190611027565b9a918901359950506040909701359695505050505050565b6001600160a01b038116811461106d57600080fd5b50565b803561061381611058565b60008083601f84011261108d57600080fd5b5081356001600160401b038111156110a457600080fd5b6020830191508360208285010111156110bc57600080fd5b9250929050565b60008060008060008060008060008060006101208c8e0312156110e557600080fd5b8b356001600160401b03808211156110fc57600080fd5b818e0191508e601f83011261111057600080fd5b81358181111561111f57600080fd5b8f60208260051b850101111561113457600080fd5b60208381019e50909c508e01359a5061114f60408f01611070565b995061115d60608f01611070565b985060808e0135975060a08e0135965060c08e0135955060e08e013594506101008e013591508082111561119057600080fd5b5061119d8e828f0161107b565b915080935050809150509295989b509295989b9093969950565b60008060008060008060008060006101008a8c0312156111d657600080fd5b8935985060208a01356111e881611058565b975060408a01356111f881611058565b965060608a0135955060808a0135945060a08a0135935060c08a0135925060e08a01356001600160401b0381111561122f57600080fd5b61123b8c828d0161107b565b915080935050809150509295985092959850929598565b60006020828403121561126457600080fd5b5035919050565b60008060008060008060008060e0898b03121561128757600080fd5b883561129281611058565b975060208901356112a281611058565b965060408901359550606089013594506080890135935060a0890135925060c08901356001600160401b038111156112d957600080fd5b6112e58b828c0161107b565b999c989b5096995094979396929594505050565b6000806040838503121561130c57600080fd5b50508035926020909101359150565b60006020828403121561132d57600080fd5b813561133881611058565b9392505050565b60006020828403121561135157600080fd5b815161133881611058565b6001600160a01b0392831681529116602082015260400190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b60006001600160601b0319808b60601b168352808a60601b16601484015250876028830152866048830152856068830152846088830152828460a8840137506000910160a801908152979650505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561147d5781600019048211156114635761146361142c565b8085161561147057918102915b93841c9390800290611447565b509250929050565b60008261149457506001610e8f565b816114a157506000610e8f565b81600181146114b757600281146114c1576114dd565b6001915050610e8f565b60ff8411156114d2576114d261142c565b50506001821b610e8f565b5060208310610133831016604e8410600b8410161715611500575081810a610e8f565b61150a8383611442565b806000190482111561151e5761151e61142c565b029392505050565b60006113388383611485565b634e487b7160e01b600052601260045260246000fd5b60008261155757611557611532565b500490565b60008261156b5761156b611532565b500690565b60005b8381101561158b578181015183820152602001611573565b8381111561159a576000848401525b50505050565b60018060a01b038416815282602082015260606040820152600082518060608401526115d3816080850160208701611570565b601f01601f191691909101608001949350505050565b600080604083850312156115fc57600080fd5b8251801515811461160c57600080fd5b60208401519092506001600160401b038082111561162957600080fd5b818501915085601f83011261163d57600080fd5b81518181111561164f5761164f610f5d565b611662601f8201601f1916602001610f73565b915080825286602082850101111561167957600080fd5b61168a816020840160208601611570565b508092505050925092905056fea26469706673582212201d864fde4d3fe778dfcfa436cd8c3f70afcdc0a4b262612322c379ba38ffea5164736f6c63430008090033",
583
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061012b5760003560e01c806395fcea78116100ad578063c4d66de811610071578063c4d66de81461023e578063c75184df14610251578063cb23bcb514610271578063d5b5cc2314610284578063e78cea92146102a457600080fd5b806395fcea78146101e85780639f0c04bf146101f0578063a04cee6014610203578063ae6dead714610216578063b0f305371461023657600080fd5b80635a129efe116100f45780635a129efe1461018d5780636ae71f12146101b057806372f2a8c7146101b857806380648b02146101c05780638515bc6a146101e057600080fd5b80627436d31461013057806308635a9514610156578063119852711461016b578063288e5b10146101725780634654779014610185575b600080fd5b61014361013e366004610fa3565b6102b7565b6040519081526020015b60405180910390f35b6101696101643660046110c3565b6102f4565b005b6000610143565b6101696101803660046111b7565b610367565b6101436103a2565b6101a061019b366004611252565b6103d1565b604051901515815260200161014d565b6101696103ee565b6101436105fb565b6101c8610618565b6040516001600160a01b03909116815260200161014d565b610143610639565b61016961066f565b6101436101fe36600461126b565b610792565b6101696102113660046112f9565b6107d7565b610143610224366004611252565b60036020526000908152604090205481565b610143610852565b61016961024c36600461131b565b61087a565b610259600281565b6040516001600160801b03909116815260200161014d565b6000546101c8906001600160a01b031681565b610143610292366004611252565b60026020526000908152604090205481565b6001546101c8906001600160a01b031681565b60006102ec8484846040516020016102d191815260200190565b60405160208183030381529060405280519060200120610a19565b949350505050565b60006103068989898989898989610792565b90506103488c8c808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508e9250859150610abc9050565b6103598a8a8a8a8a8a8a8a8a610bc5565b505050505050505050505050565b331561038657604051630e13b69d60e01b815260040160405180910390fd5b610397898989898989898989610bc5565b505050505050505050565b6004546000906001600160801b03908116908114156103c357600091505090565b6001600160801b0316919050565b60008060006103df84610e49565b92509250506102ec8282610e86565b60008054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561043a57600080fd5b505afa15801561044e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610472919061133f565b6001600160a01b0316336001600160a01b03161461052a5760005460408051638da5cb5b60e01b8152905133926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156104ce57600080fd5b505afa1580156104e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610506919061133f565b604051631194af8760e11b815260040161052192919061135c565b60405180910390fd5b6001546040805163cb23bcb560e01b815290516000926001600160a01b03169163cb23bcb5916004808301926020929190829003018186803b15801561056f57600080fd5b505afa158015610583573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a7919061133f565b6000549091506001600160a01b03808316911614156105d95760405163d054909f60e01b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60055460009060001981141561061357506000919050565b919050565b6006546000906001600160a01b039081169081141561061357600091505090565b6006546000906001600160601b03600160a01b90910481169081141561066157600091505090565b6001600160601b0316919050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156106b85760405162461bcd60e51b815260040161052190611376565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038054336001600160a01b03821614610708573381604051631194af8760e11b815260040161052192919061135c565b6004546001600160801b03908116146107345760405163d0afb66160e01b815260040160405180910390fd5b50506040805160c0810182526001600160801b0380825260208201526000199181018290526001600160a01b0360608201526001600160601b036080820152600060a090910181905260048290556005829055600691909155600755565b600088888888888888886040516020016107b39897969594939291906113c2565b60405160208183030381529060405280519060200120905098975050505050505050565b6000546001600160a01b0316331461081357600054604051630e4cf1bf60e21b81526105219133916001600160a01b039091169060040161135c565b60008281526003602052604080822083905551829184917fb4df3847300f076a369cd76d2314b470a1194d9e8a6bb97f1860aee88a5f67489190a35050565b6004546000906001600160801b03600160801b9091048116908114156103c357600091505090565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156108c35760405162461bcd60e51b815260040161052190611376565b6001600160a01b0381166108ea57604051631ad0f74360e01b815260040160405180910390fd5b6001546001600160a01b03161561091457604051633bcd329760e21b815260040160405180910390fd5b6040805160c0810182526001600160801b038082526020808301919091526000198284018190526001600160a01b03606084018190526001600160601b036080850152600060a090940184905260048281556005839055600692909255600793909355600180546001600160a01b0319169386169384179055835163cb23bcb560e01b81529351929363cb23bcb59381830193929091829003018186803b1580156109be57600080fd5b505afa1580156109d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f6919061133f565b600080546001600160a01b0319166001600160a01b039290921691909117905550565b8251600090610100811115610a4c57604051637ed6198f60e11b8152600481018290526101006024820152604401610521565b8260005b82811015610ab2576000878281518110610a6c57610a6c611416565b60200260200101519050816001901b871660001415610a9957826000528060205260406000209250610aa9565b8060005282602052604060002092505b50600101610a50565b5095945050505050565b610100835110610ae457825160405163ab6a068360e01b815260040161052191815260200190565b8251610af1906002611526565b8210610b28578183516002610b069190611526565b604051630b8a724b60e01b815260048101929092526024820152604401610521565b6000610b358484846102b7565b600081815260036020526040902054909150610b67576040516310e61af960e31b815260048101829052602401610521565b6000806000610b7586610e49565b925092509250610b858282610e86565b15610ba657604051639715b8d360e01b815260048101879052602401610521565b600092835260026020526040909220600190911b909117905550505050565b6000886001600160a01b0316886001600160a01b03167f20af7f3bbfe38132b8900ae295cd9c8d1914be7052d061a511f3f728dab189648c604051610c0c91815260200190565b60405180910390a4600060046040518060c00160405290816000820160009054906101000a90046001600160801b03166001600160801b03166001600160801b031681526020016000820160109054906101000a90046001600160801b03166001600160801b03166001600160801b03168152602001600182015481526020016002820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016002820160149054906101000a90046001600160601b03166001600160601b03166001600160601b0316815260200160038201548152505090506040518060c00160405280886001600160801b03168152602001866001600160801b031681526020018b60001b81526020018a6001600160a01b03168152602001876001600160601b03168152602001610d4d600090565b905280516020808301516001600160801b03908116600160801b02921691909117600455604080830151600555606083015160808401516001600160601b0316600160a01b026001600160a01b039091161760065560a0909201516007558151601f8501829004820281018201909252838252610de9918a918791908790879081908401838280828437600092019190915250610e9592505050565b805160208201516001600160801b03908116600160801b029116176004556040810151600555606081015160808201516001600160601b0316600160a01b026001600160a01b039091161760065560a00151600755505050505050505050565b6000808080610e5960ff86611548565b90506000610e6860ff8761155c565b60008381526002602052604090205492979096509194509092505050565b80821c60011615155b92915050565b600154604051639e5d4c4960e01b815260009182916001600160a01b0390911690639e5d4c4990610ece908890889088906004016115a0565b600060405180830381600087803b158015610ee857600080fd5b505af1158015610efc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2491908101906115e9565b9150915081610f5657805115610f3d5780518082602001fd5b604051631bb7daad60e11b815260040160405180910390fd5b5050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715610f9b57610f9b610f5d565b604052919050565b600080600060608486031215610fb857600080fd5b83356001600160401b0380821115610fcf57600080fd5b818601915086601f830112610fe357600080fd5b8135602082821115610ff757610ff7610f5d565b8160051b9250611008818401610f73565b828152928401810192818101908a85111561102257600080fd5b948201945b8486101561104057853582529482019490820190611027565b9a918901359950506040909701359695505050505050565b6001600160a01b038116811461106d57600080fd5b50565b803561061381611058565b60008083601f84011261108d57600080fd5b5081356001600160401b038111156110a457600080fd5b6020830191508360208285010111156110bc57600080fd5b9250929050565b60008060008060008060008060008060006101208c8e0312156110e557600080fd5b8b356001600160401b03808211156110fc57600080fd5b818e0191508e601f83011261111057600080fd5b81358181111561111f57600080fd5b8f60208260051b850101111561113457600080fd5b60208381019e50909c508e01359a5061114f60408f01611070565b995061115d60608f01611070565b985060808e0135975060a08e0135965060c08e0135955060e08e013594506101008e013591508082111561119057600080fd5b5061119d8e828f0161107b565b915080935050809150509295989b509295989b9093969950565b60008060008060008060008060006101008a8c0312156111d657600080fd5b8935985060208a01356111e881611058565b975060408a01356111f881611058565b965060608a0135955060808a0135945060a08a0135935060c08a0135925060e08a01356001600160401b0381111561122f57600080fd5b61123b8c828d0161107b565b915080935050809150509295985092959850929598565b60006020828403121561126457600080fd5b5035919050565b60008060008060008060008060e0898b03121561128757600080fd5b883561129281611058565b975060208901356112a281611058565b965060408901359550606089013594506080890135935060a0890135925060c08901356001600160401b038111156112d957600080fd5b6112e58b828c0161107b565b999c989b5096995094979396929594505050565b6000806040838503121561130c57600080fd5b50508035926020909101359150565b60006020828403121561132d57600080fd5b813561133881611058565b9392505050565b60006020828403121561135157600080fd5b815161133881611058565b6001600160a01b0392831681529116602082015260400190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b60006001600160601b0319808b60601b168352808a60601b16601484015250876028830152866048830152856068830152846088830152828460a8840137506000910160a801908152979650505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561147d5781600019048211156114635761146361142c565b8085161561147057918102915b93841c9390800290611447565b509250929050565b60008261149457506001610e8f565b816114a157506000610e8f565b81600181146114b757600281146114c1576114dd565b6001915050610e8f565b60ff8411156114d2576114d261142c565b50506001821b610e8f565b5060208310610133831016604e8410600b8410161715611500575081810a610e8f565b61150a8383611442565b806000190482111561151e5761151e61142c565b029392505050565b60006113388383611485565b634e487b7160e01b600052601260045260246000fd5b60008261155757611557611532565b500490565b60008261156b5761156b611532565b500690565b60005b8381101561158b578181015183820152602001611573565b8381111561159a576000848401525b50505050565b60018060a01b038416815282602082015260606040820152600082518060608401526115d3816080850160208701611570565b601f01601f191691909101608001949350505050565b600080604083850312156115fc57600080fd5b8251801515811461160c57600080fd5b60208401519092506001600160401b038082111561162957600080fd5b818501915085601f83011261163d57600080fd5b81518181111561164f5761164f610f5d565b611662601f8201601f1916602001610f73565b915080825286602082850101111561167957600080fd5b61168a816020840160208601611570565b508092505050925092905056fea26469706673582212201d864fde4d3fe778dfcfa436cd8c3f70afcdc0a4b262612322c379ba38ffea5164736f6c63430008090033",
582
+ "bytecode": "0x60a06040523060805234801561001457600080fd5b506080516116cd6100376000396000818161067a015261088501526116cd6000f3fe608060405234801561001057600080fd5b506004361061012b5760003560e01c806395fcea78116100ad578063c4d66de811610071578063c4d66de81461023e578063c75184df14610251578063cb23bcb514610271578063d5b5cc2314610284578063e78cea92146102a457600080fd5b806395fcea78146101e85780639f0c04bf146101f0578063a04cee6014610203578063ae6dead714610216578063b0f305371461023657600080fd5b80635a129efe116100f45780635a129efe1461018d5780636ae71f12146101b057806372f2a8c7146101b857806380648b02146101c05780638515bc6a146101e057600080fd5b80627436d31461013057806308635a9514610156578063119852711461016b578063288e5b10146101725780634654779014610185575b600080fd5b61014361013e366004610fa3565b6102b7565b6040519081526020015b60405180910390f35b6101696101643660046110c3565b6102f4565b005b6000610143565b6101696101803660046111b7565b610367565b6101436103a2565b6101a061019b366004611252565b6103d1565b604051901515815260200161014d565b6101696103ee565b6101436105fb565b6101c8610618565b6040516001600160a01b03909116815260200161014d565b610143610639565b61016961066f565b6101436101fe36600461126b565b610792565b6101696102113660046112f9565b6107d7565b610143610224366004611252565b60036020526000908152604090205481565b610143610852565b61016961024c36600461131b565b61087a565b610259600281565b6040516001600160801b03909116815260200161014d565b6000546101c8906001600160a01b031681565b610143610292366004611252565b60026020526000908152604090205481565b6001546101c8906001600160a01b031681565b60006102ec8484846040516020016102d191815260200190565b60405160208183030381529060405280519060200120610a19565b949350505050565b60006103068989898989898989610792565b90506103488c8c808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508e9250859150610abc9050565b6103598a8a8a8a8a8a8a8a8a610bc5565b505050505050505050505050565b331561038657604051630e13b69d60e01b815260040160405180910390fd5b610397898989898989898989610bc5565b505050505050505050565b6004546000906001600160801b03908116908114156103c357600091505090565b6001600160801b0316919050565b60008060006103df84610e49565b92509250506102ec8282610e86565b60008054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561043a57600080fd5b505afa15801561044e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610472919061133f565b6001600160a01b0316336001600160a01b03161461052a5760005460408051638da5cb5b60e01b8152905133926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156104ce57600080fd5b505afa1580156104e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610506919061133f565b604051631194af8760e11b815260040161052192919061135c565b60405180910390fd5b6001546040805163cb23bcb560e01b815290516000926001600160a01b03169163cb23bcb5916004808301926020929190829003018186803b15801561056f57600080fd5b505afa158015610583573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a7919061133f565b6000549091506001600160a01b03808316911614156105d95760405163d054909f60e01b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60055460009060001981141561061357506000919050565b919050565b6006546000906001600160a01b039081169081141561061357600091505090565b6006546000906001600160601b03600160a01b90910481169081141561066157600091505090565b6001600160601b0316919050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156106b85760405162461bcd60e51b815260040161052190611376565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038054336001600160a01b03821614610708573381604051631194af8760e11b815260040161052192919061135c565b6004546001600160801b03908116146107345760405163d0afb66160e01b815260040160405180910390fd5b50506040805160c0810182526001600160801b0380825260208201526000199181018290526001600160a01b0360608201526001600160601b036080820152600060a090910181905260048290556005829055600691909155600755565b600088888888888888886040516020016107b39897969594939291906113c2565b60405160208183030381529060405280519060200120905098975050505050505050565b6000546001600160a01b0316331461081357600054604051630e4cf1bf60e21b81526105219133916001600160a01b039091169060040161135c565b60008281526003602052604080822083905551829184917fb4df3847300f076a369cd76d2314b470a1194d9e8a6bb97f1860aee88a5f67489190a35050565b6004546000906001600160801b03600160801b9091048116908114156103c357600091505090565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156108c35760405162461bcd60e51b815260040161052190611376565b6001600160a01b0381166108ea57604051631ad0f74360e01b815260040160405180910390fd5b6001546001600160a01b03161561091457604051633bcd329760e21b815260040160405180910390fd5b6040805160c0810182526001600160801b038082526020808301919091526000198284018190526001600160a01b03606084018190526001600160601b036080850152600060a090940184905260048281556005839055600692909255600793909355600180546001600160a01b0319169386169384179055835163cb23bcb560e01b81529351929363cb23bcb59381830193929091829003018186803b1580156109be57600080fd5b505afa1580156109d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f6919061133f565b600080546001600160a01b0319166001600160a01b039290921691909117905550565b8251600090610100811115610a4c57604051637ed6198f60e11b8152600481018290526101006024820152604401610521565b8260005b82811015610ab2576000878281518110610a6c57610a6c611416565b60200260200101519050816001901b871660001415610a9957826000528060205260406000209250610aa9565b8060005282602052604060002092505b50600101610a50565b5095945050505050565b610100835110610ae457825160405163ab6a068360e01b815260040161052191815260200190565b8251610af1906002611526565b8210610b28578183516002610b069190611526565b604051630b8a724b60e01b815260048101929092526024820152604401610521565b6000610b358484846102b7565b600081815260036020526040902054909150610b67576040516310e61af960e31b815260048101829052602401610521565b6000806000610b7586610e49565b925092509250610b858282610e86565b15610ba657604051639715b8d360e01b815260048101879052602401610521565b600092835260026020526040909220600190911b909117905550505050565b6000886001600160a01b0316886001600160a01b03167f20af7f3bbfe38132b8900ae295cd9c8d1914be7052d061a511f3f728dab189648c604051610c0c91815260200190565b60405180910390a4600060046040518060c00160405290816000820160009054906101000a90046001600160801b03166001600160801b03166001600160801b031681526020016000820160109054906101000a90046001600160801b03166001600160801b03166001600160801b03168152602001600182015481526020016002820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016002820160149054906101000a90046001600160601b03166001600160601b03166001600160601b0316815260200160038201548152505090506040518060c00160405280886001600160801b03168152602001866001600160801b031681526020018b60001b81526020018a6001600160a01b03168152602001876001600160601b03168152602001610d4d600090565b905280516020808301516001600160801b03908116600160801b02921691909117600455604080830151600555606083015160808401516001600160601b0316600160a01b026001600160a01b039091161760065560a0909201516007558151601f8501829004820281018201909252838252610de9918a918791908790879081908401838280828437600092019190915250610e9592505050565b805160208201516001600160801b03908116600160801b029116176004556040810151600555606081015160808201516001600160601b0316600160a01b026001600160a01b039091161760065560a00151600755505050505050505050565b6000808080610e5960ff86611548565b90506000610e6860ff8761155c565b60008381526002602052604090205492979096509194509092505050565b80821c60011615155b92915050565b600154604051639e5d4c4960e01b815260009182916001600160a01b0390911690639e5d4c4990610ece908890889088906004016115a0565b600060405180830381600087803b158015610ee857600080fd5b505af1158015610efc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2491908101906115e9565b9150915081610f5657805115610f3d5780518082602001fd5b604051631bb7daad60e11b815260040160405180910390fd5b5050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715610f9b57610f9b610f5d565b604052919050565b600080600060608486031215610fb857600080fd5b83356001600160401b0380821115610fcf57600080fd5b818601915086601f830112610fe357600080fd5b8135602082821115610ff757610ff7610f5d565b8160051b9250611008818401610f73565b828152928401810192818101908a85111561102257600080fd5b948201945b8486101561104057853582529482019490820190611027565b9a918901359950506040909701359695505050505050565b6001600160a01b038116811461106d57600080fd5b50565b803561061381611058565b60008083601f84011261108d57600080fd5b5081356001600160401b038111156110a457600080fd5b6020830191508360208285010111156110bc57600080fd5b9250929050565b60008060008060008060008060008060006101208c8e0312156110e557600080fd5b8b356001600160401b03808211156110fc57600080fd5b818e0191508e601f83011261111057600080fd5b81358181111561111f57600080fd5b8f60208260051b850101111561113457600080fd5b60208381019e50909c508e01359a5061114f60408f01611070565b995061115d60608f01611070565b985060808e0135975060a08e0135965060c08e0135955060e08e013594506101008e013591508082111561119057600080fd5b5061119d8e828f0161107b565b915080935050809150509295989b509295989b9093969950565b60008060008060008060008060006101008a8c0312156111d657600080fd5b8935985060208a01356111e881611058565b975060408a01356111f881611058565b965060608a0135955060808a0135945060a08a0135935060c08a0135925060e08a01356001600160401b0381111561122f57600080fd5b61123b8c828d0161107b565b915080935050809150509295985092959850929598565b60006020828403121561126457600080fd5b5035919050565b60008060008060008060008060e0898b03121561128757600080fd5b883561129281611058565b975060208901356112a281611058565b965060408901359550606089013594506080890135935060a0890135925060c08901356001600160401b038111156112d957600080fd5b6112e58b828c0161107b565b999c989b5096995094979396929594505050565b6000806040838503121561130c57600080fd5b50508035926020909101359150565b60006020828403121561132d57600080fd5b813561133881611058565b9392505050565b60006020828403121561135157600080fd5b815161133881611058565b6001600160a01b0392831681529116602082015260400190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b60006001600160601b0319808b60601b168352808a60601b16601484015250876028830152866048830152856068830152846088830152828460a8840137506000910160a801908152979650505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561147d5781600019048211156114635761146361142c565b8085161561147057918102915b93841c9390800290611447565b509250929050565b60008261149457506001610e8f565b816114a157506000610e8f565b81600181146114b757600281146114c1576114dd565b6001915050610e8f565b60ff8411156114d2576114d261142c565b50506001821b610e8f565b5060208310610133831016604e8410600b8410161715611500575081810a610e8f565b61150a8383611442565b806000190482111561151e5761151e61142c565b029392505050565b60006113388383611485565b634e487b7160e01b600052601260045260246000fd5b60008261155757611557611532565b500490565b60008261156b5761156b611532565b500690565b60005b8381101561158b578181015183820152602001611573565b8381111561159a576000848401525b50505050565b60018060a01b038416815282602082015260606040820152600082518060608401526115d3816080850160208701611570565b601f01601f191691909101608001949350505050565b600080604083850312156115fc57600080fd5b8251801515811461160c57600080fd5b60208401519092506001600160401b038082111561162957600080fd5b818501915085601f83011261163d57600080fd5b81518181111561164f5761164f610f5d565b611662601f8201601f1916602001610f73565b915080825286602082850101111561167957600080fd5b61168a816020840160208601611570565b508092505050925092905056fea2646970667358221220324fe920adb7fc8e18fda5429b0a59fdc3a84ac491d73cd406e43f96c670c27f64736f6c63430008090033",
583
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061012b5760003560e01c806395fcea78116100ad578063c4d66de811610071578063c4d66de81461023e578063c75184df14610251578063cb23bcb514610271578063d5b5cc2314610284578063e78cea92146102a457600080fd5b806395fcea78146101e85780639f0c04bf146101f0578063a04cee6014610203578063ae6dead714610216578063b0f305371461023657600080fd5b80635a129efe116100f45780635a129efe1461018d5780636ae71f12146101b057806372f2a8c7146101b857806380648b02146101c05780638515bc6a146101e057600080fd5b80627436d31461013057806308635a9514610156578063119852711461016b578063288e5b10146101725780634654779014610185575b600080fd5b61014361013e366004610fa3565b6102b7565b6040519081526020015b60405180910390f35b6101696101643660046110c3565b6102f4565b005b6000610143565b6101696101803660046111b7565b610367565b6101436103a2565b6101a061019b366004611252565b6103d1565b604051901515815260200161014d565b6101696103ee565b6101436105fb565b6101c8610618565b6040516001600160a01b03909116815260200161014d565b610143610639565b61016961066f565b6101436101fe36600461126b565b610792565b6101696102113660046112f9565b6107d7565b610143610224366004611252565b60036020526000908152604090205481565b610143610852565b61016961024c36600461131b565b61087a565b610259600281565b6040516001600160801b03909116815260200161014d565b6000546101c8906001600160a01b031681565b610143610292366004611252565b60026020526000908152604090205481565b6001546101c8906001600160a01b031681565b60006102ec8484846040516020016102d191815260200190565b60405160208183030381529060405280519060200120610a19565b949350505050565b60006103068989898989898989610792565b90506103488c8c808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508e9250859150610abc9050565b6103598a8a8a8a8a8a8a8a8a610bc5565b505050505050505050505050565b331561038657604051630e13b69d60e01b815260040160405180910390fd5b610397898989898989898989610bc5565b505050505050505050565b6004546000906001600160801b03908116908114156103c357600091505090565b6001600160801b0316919050565b60008060006103df84610e49565b92509250506102ec8282610e86565b60008054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561043a57600080fd5b505afa15801561044e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610472919061133f565b6001600160a01b0316336001600160a01b03161461052a5760005460408051638da5cb5b60e01b8152905133926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156104ce57600080fd5b505afa1580156104e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610506919061133f565b604051631194af8760e11b815260040161052192919061135c565b60405180910390fd5b6001546040805163cb23bcb560e01b815290516000926001600160a01b03169163cb23bcb5916004808301926020929190829003018186803b15801561056f57600080fd5b505afa158015610583573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a7919061133f565b6000549091506001600160a01b03808316911614156105d95760405163d054909f60e01b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60055460009060001981141561061357506000919050565b919050565b6006546000906001600160a01b039081169081141561061357600091505090565b6006546000906001600160601b03600160a01b90910481169081141561066157600091505090565b6001600160601b0316919050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156106b85760405162461bcd60e51b815260040161052190611376565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038054336001600160a01b03821614610708573381604051631194af8760e11b815260040161052192919061135c565b6004546001600160801b03908116146107345760405163d0afb66160e01b815260040160405180910390fd5b50506040805160c0810182526001600160801b0380825260208201526000199181018290526001600160a01b0360608201526001600160601b036080820152600060a090910181905260048290556005829055600691909155600755565b600088888888888888886040516020016107b39897969594939291906113c2565b60405160208183030381529060405280519060200120905098975050505050505050565b6000546001600160a01b0316331461081357600054604051630e4cf1bf60e21b81526105219133916001600160a01b039091169060040161135c565b60008281526003602052604080822083905551829184917fb4df3847300f076a369cd76d2314b470a1194d9e8a6bb97f1860aee88a5f67489190a35050565b6004546000906001600160801b03600160801b9091048116908114156103c357600091505090565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156108c35760405162461bcd60e51b815260040161052190611376565b6001600160a01b0381166108ea57604051631ad0f74360e01b815260040160405180910390fd5b6001546001600160a01b03161561091457604051633bcd329760e21b815260040160405180910390fd5b6040805160c0810182526001600160801b038082526020808301919091526000198284018190526001600160a01b03606084018190526001600160601b036080850152600060a090940184905260048281556005839055600692909255600793909355600180546001600160a01b0319169386169384179055835163cb23bcb560e01b81529351929363cb23bcb59381830193929091829003018186803b1580156109be57600080fd5b505afa1580156109d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f6919061133f565b600080546001600160a01b0319166001600160a01b039290921691909117905550565b8251600090610100811115610a4c57604051637ed6198f60e11b8152600481018290526101006024820152604401610521565b8260005b82811015610ab2576000878281518110610a6c57610a6c611416565b60200260200101519050816001901b871660001415610a9957826000528060205260406000209250610aa9565b8060005282602052604060002092505b50600101610a50565b5095945050505050565b610100835110610ae457825160405163ab6a068360e01b815260040161052191815260200190565b8251610af1906002611526565b8210610b28578183516002610b069190611526565b604051630b8a724b60e01b815260048101929092526024820152604401610521565b6000610b358484846102b7565b600081815260036020526040902054909150610b67576040516310e61af960e31b815260048101829052602401610521565b6000806000610b7586610e49565b925092509250610b858282610e86565b15610ba657604051639715b8d360e01b815260048101879052602401610521565b600092835260026020526040909220600190911b909117905550505050565b6000886001600160a01b0316886001600160a01b03167f20af7f3bbfe38132b8900ae295cd9c8d1914be7052d061a511f3f728dab189648c604051610c0c91815260200190565b60405180910390a4600060046040518060c00160405290816000820160009054906101000a90046001600160801b03166001600160801b03166001600160801b031681526020016000820160109054906101000a90046001600160801b03166001600160801b03166001600160801b03168152602001600182015481526020016002820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016002820160149054906101000a90046001600160601b03166001600160601b03166001600160601b0316815260200160038201548152505090506040518060c00160405280886001600160801b03168152602001866001600160801b031681526020018b60001b81526020018a6001600160a01b03168152602001876001600160601b03168152602001610d4d600090565b905280516020808301516001600160801b03908116600160801b02921691909117600455604080830151600555606083015160808401516001600160601b0316600160a01b026001600160a01b039091161760065560a0909201516007558151601f8501829004820281018201909252838252610de9918a918791908790879081908401838280828437600092019190915250610e9592505050565b805160208201516001600160801b03908116600160801b029116176004556040810151600555606081015160808201516001600160601b0316600160a01b026001600160a01b039091161760065560a00151600755505050505050505050565b6000808080610e5960ff86611548565b90506000610e6860ff8761155c565b60008381526002602052604090205492979096509194509092505050565b80821c60011615155b92915050565b600154604051639e5d4c4960e01b815260009182916001600160a01b0390911690639e5d4c4990610ece908890889088906004016115a0565b600060405180830381600087803b158015610ee857600080fd5b505af1158015610efc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2491908101906115e9565b9150915081610f5657805115610f3d5780518082602001fd5b604051631bb7daad60e11b815260040160405180910390fd5b5050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715610f9b57610f9b610f5d565b604052919050565b600080600060608486031215610fb857600080fd5b83356001600160401b0380821115610fcf57600080fd5b818601915086601f830112610fe357600080fd5b8135602082821115610ff757610ff7610f5d565b8160051b9250611008818401610f73565b828152928401810192818101908a85111561102257600080fd5b948201945b8486101561104057853582529482019490820190611027565b9a918901359950506040909701359695505050505050565b6001600160a01b038116811461106d57600080fd5b50565b803561061381611058565b60008083601f84011261108d57600080fd5b5081356001600160401b038111156110a457600080fd5b6020830191508360208285010111156110bc57600080fd5b9250929050565b60008060008060008060008060008060006101208c8e0312156110e557600080fd5b8b356001600160401b03808211156110fc57600080fd5b818e0191508e601f83011261111057600080fd5b81358181111561111f57600080fd5b8f60208260051b850101111561113457600080fd5b60208381019e50909c508e01359a5061114f60408f01611070565b995061115d60608f01611070565b985060808e0135975060a08e0135965060c08e0135955060e08e013594506101008e013591508082111561119057600080fd5b5061119d8e828f0161107b565b915080935050809150509295989b509295989b9093969950565b60008060008060008060008060006101008a8c0312156111d657600080fd5b8935985060208a01356111e881611058565b975060408a01356111f881611058565b965060608a0135955060808a0135945060a08a0135935060c08a0135925060e08a01356001600160401b0381111561122f57600080fd5b61123b8c828d0161107b565b915080935050809150509295985092959850929598565b60006020828403121561126457600080fd5b5035919050565b60008060008060008060008060e0898b03121561128757600080fd5b883561129281611058565b975060208901356112a281611058565b965060408901359550606089013594506080890135935060a0890135925060c08901356001600160401b038111156112d957600080fd5b6112e58b828c0161107b565b999c989b5096995094979396929594505050565b6000806040838503121561130c57600080fd5b50508035926020909101359150565b60006020828403121561132d57600080fd5b813561133881611058565b9392505050565b60006020828403121561135157600080fd5b815161133881611058565b6001600160a01b0392831681529116602082015260400190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b60006001600160601b0319808b60601b168352808a60601b16601484015250876028830152866048830152856068830152846088830152828460a8840137506000910160a801908152979650505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561147d5781600019048211156114635761146361142c565b8085161561147057918102915b93841c9390800290611447565b509250929050565b60008261149457506001610e8f565b816114a157506000610e8f565b81600181146114b757600281146114c1576114dd565b6001915050610e8f565b60ff8411156114d2576114d261142c565b50506001821b610e8f565b5060208310610133831016604e8410600b8410161715611500575081810a610e8f565b61150a8383611442565b806000190482111561151e5761151e61142c565b029392505050565b60006113388383611485565b634e487b7160e01b600052601260045260246000fd5b60008261155757611557611532565b500490565b60008261156b5761156b611532565b500690565b60005b8381101561158b578181015183820152602001611573565b8381111561159a576000848401525b50505050565b60018060a01b038416815282602082015260606040820152600082518060608401526115d3816080850160208701611570565b601f01601f191691909101608001949350505050565b600080604083850312156115fc57600080fd5b8251801515811461160c57600080fd5b60208401519092506001600160401b038082111561162957600080fd5b818501915085601f83011261163d57600080fd5b81518181111561164f5761164f610f5d565b611662601f8201601f1916602001610f73565b915080825286602082850101111561167957600080fd5b61168a816020840160208601611570565b508092505050925092905056fea2646970667358221220324fe920adb7fc8e18fda5429b0a59fdc3a84ac491d73cd406e43f96c670c27f64736f6c63430008090033",
584
584
  "linkReferences": {},
585
585
  "deployedLinkReferences": {}
586
586
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/bd6d911e8af19014a6d3612fec6f93ac.json"
3
+ "buildInfo": "../../../build-info/06c4d509e20993c3089a7fd027c7b28b.json"
4
4
  }