@pendle/core-v2 0.15.2-mainnet → 0.16.0-testnet

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (420) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +48 -110
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +21 -75
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.json +0 -39
  8. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -15
  11. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.json +2 -15
  13. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +0 -13
  15. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -15
  17. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -15
  19. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -46
  21. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +8 -52
  24. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -15
  26. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  30. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  31. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  32. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  33. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  36. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  38. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  41. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +17 -77
  43. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  47. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSY.sol/Pendle3CrvAndTokenSY.dbg.json +4 -0
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSY.sol/Pendle3CrvAndTokenSY.json +1018 -0
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +4 -0
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/{base → ConvexCurveLP}/PendleConvexLPSY.sol/PendleConvexLPSY.json +1 -1
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.dbg.json +4 -0
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.json +76 -0
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStaking.sol/PendleLooksStaking.dbg.json +4 -0
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/{PendleLooksStakingSY.sol/PendleLooksStakingSY.json → PendleLooksStaking.sol/PendleLooksStaking.json} +4 -4
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  63. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -15
  66. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +4 -85
  68. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +4 -17
  70. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +2 -2
  72. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.json +2 -2
  74. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +38 -3
  76. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.json +2 -2
  78. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.json +0 -13
  80. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  81. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.json +2 -2
  82. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  83. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +35 -319
  84. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  85. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  86. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.json +1 -1
  87. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  88. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.json +85 -39
  89. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +1 -1
  90. package/build/artifacts/contracts/interfaces/ICelerMessageBus.sol/ICelerMessageBus.dbg.json +4 -0
  91. package/build/artifacts/contracts/interfaces/ICelerMessageBus.sol/ICelerMessageBus.json +53 -0
  92. package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.dbg.json +4 -0
  93. package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.json +45 -0
  94. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  95. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
  96. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
  97. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.json +0 -7
  98. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  99. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +17 -91
  100. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json +0 -50
  102. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  103. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +0 -20
  104. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +1 -1
  105. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  106. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +0 -20
  107. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +17 -181
  109. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.json +2 -2
  112. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.json +2 -12
  114. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  115. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  116. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.json +1 -1
  119. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  125. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.json +0 -45
  126. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  129. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  130. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +2 -15
  131. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
  132. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +80 -2
  133. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  134. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +60 -299
  135. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  136. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +41 -118
  137. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.dbg.json +1 -1
  138. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.json +2 -2
  139. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  140. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +24 -61
  141. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  142. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +2 -2
  143. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  144. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +24 -31
  145. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +1 -1
  146. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.json +2 -2
  147. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  148. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +24 -31
  149. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  150. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -15
  151. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  152. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json +1 -1
  153. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  154. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  155. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  156. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  157. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +1 -1
  158. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.json +2 -191
  159. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +1 -1
  160. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.json +1 -1
  161. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol +1 -1
  162. package/contracts/core/Market/PendleMarket.sol +7 -18
  163. package/contracts/core/Market/PendleMarketFactory.sol +5 -15
  164. package/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSY.sol +167 -0
  165. package/contracts/core/StandardizedYield/implementations/Convex/{base → ConvexCurveLP}/PendleConvexLPSY.sol +4 -2
  166. package/contracts/core/StandardizedYield/implementations/Convex/Pendle3CrvHelper.sol +83 -0
  167. package/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol +4 -19
  168. package/contracts/core/YieldContracts/PendlePrincipalToken.sol +3 -3
  169. package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +7 -21
  170. package/contracts/core/YieldContracts/PendleYieldToken.sol +21 -54
  171. package/contracts/core/erc20/PendleERC20.sol +7 -4
  172. package/contracts/core/libraries/BaseSplitCodeFactory.sol +1 -1
  173. package/contracts/core/libraries/BoringOwnableUpgradeable.sol +1 -1
  174. package/contracts/core/libraries/Errors.sol +2 -28
  175. package/contracts/core/libraries/TokenHelper.sol +0 -9
  176. package/contracts/interfaces/ConvexCurve/IBooster.sol +1 -1
  177. package/contracts/interfaces/Curve/ICrvPool.sol +31 -12
  178. package/contracts/interfaces/IPActionAddRemoveLiq.sol +5 -3
  179. package/contracts/interfaces/IPActionMintRedeem.sol +0 -2
  180. package/contracts/interfaces/IPMarketFactory.sol +1 -1
  181. package/contracts/interfaces/IPYieldContractFactory.sol +1 -1
  182. package/contracts/interfaces/IStETH.sol +0 -6
  183. package/contracts/interfaces/IStandardizedYield.sol +10 -15
  184. package/contracts/offchain-helpers/ImplicitSwapfeeContract.sol +30 -0
  185. package/contracts/offchain-helpers/MarketMathStatic.sol +173 -0
  186. package/contracts/offchain-helpers/RouterStatic.sol +50 -189
  187. package/contracts/router/ActionAddRemoveLiq.sol +52 -71
  188. package/contracts/router/ActionCallback.sol +8 -4
  189. package/contracts/router/ActionMintRedeem.sol +18 -27
  190. package/contracts/router/ActionSwapPT.sol +9 -8
  191. package/contracts/router/ActionSwapPTYT.sol +7 -3
  192. package/contracts/router/ActionSwapYT.sol +10 -15
  193. package/contracts/router/PendleRouter.sol +0 -3
  194. package/contracts/router/base/ActionBaseMintRedeem.sol +83 -78
  195. package/contracts/router/base/MarketApproxLib.sol +1 -1
  196. package/contracts/router/kyberswap/AggregationRouterHelper.sol +1 -17
  197. package/contracts/router/kyberswap/KyberSwapHelper.sol +8 -21
  198. package/deployments/43113-core.json +16 -0
  199. package/deployments/43113-helper.json +3 -0
  200. package/deployments/43113-markets/benqi-market-QI-USDC-FEB-2ND.json +8 -0
  201. package/deployments/43113-markets/benqi-market-QI-WETH-DEC-1ST.json +8 -0
  202. package/deployments/43113-testenv.json +22 -0
  203. package/deployments/80001-core.json +15 -0
  204. package/deployments/80001-markets/benqi-market-QI-USDC-FEB-2ND.json +8 -0
  205. package/deployments/80001-markets/benqi-market-QI-WETH-DEC-1ST.json +8 -0
  206. package/deployments/80001-testenv.json +22 -0
  207. package/package.json +2 -3
  208. package/typechain-types/ActionAddRemoveLiq.ts +52 -64
  209. package/typechain-types/ActionBaseMintRedeem.ts +8 -8
  210. package/typechain-types/ActionMintRedeem.ts +16 -48
  211. package/typechain-types/ActionSwapPT.ts +12 -34
  212. package/typechain-types/ActionSwapYT.ts +12 -34
  213. package/typechain-types/AggregationRouterHelper.ts +3 -287
  214. package/typechain-types/BaseSplitCodeFactoryContract.ts +0 -9
  215. package/typechain-types/BoringOwnableUpgradeable.ts +0 -9
  216. package/typechain-types/IBooster.ts +3 -9
  217. package/typechain-types/ICrvPool.ts +172 -69
  218. package/typechain-types/ILooksStaking.ts +0 -27
  219. package/typechain-types/IPActionAddRemoveLiq.ts +44 -56
  220. package/typechain-types/IPActionMintRedeem.ts +8 -40
  221. package/typechain-types/IPActionSwapPT.ts +4 -26
  222. package/typechain-types/IPActionSwapYT.ts +4 -26
  223. package/typechain-types/IPAllAction.ts +54 -76
  224. package/typechain-types/IPMarketFactory.ts +2 -2
  225. package/typechain-types/IPMsgSendEndpoint.ts +14 -24
  226. package/typechain-types/IPYieldContractFactory.ts +3 -3
  227. package/typechain-types/IStETH.ts +0 -56
  228. package/typechain-types/ImplicitSwapfeeContract.ts +17 -9
  229. package/typechain-types/KyberSwapHelper.ts +8 -8
  230. package/typechain-types/MarketMathStatic.ts +117 -0
  231. package/typechain-types/PendleFeeDistributor.ts +0 -9
  232. package/typechain-types/PendleFeeDistributorFactory.ts +0 -9
  233. package/typechain-types/PendleGaugeControllerBaseUpg.ts +0 -9
  234. package/typechain-types/PendleGaugeControllerMainchainUpg.ts +0 -9
  235. package/typechain-types/PendleGaugeControllerSidechainUpg.ts +0 -9
  236. package/typechain-types/PendleMarketFactory.ts +2 -51
  237. package/typechain-types/PendleMsgReceiveEndpointUpg.ts +68 -135
  238. package/typechain-types/PendleMsgSendEndpointUpg.ts +39 -108
  239. package/typechain-types/PendleMsgSenderAppUpg.ts +0 -64
  240. package/typechain-types/PendlePrincipalToken.ts +0 -9
  241. package/typechain-types/PendleRouter.ts +0 -9
  242. package/typechain-types/PendleVotingControllerUpg.ts +0 -64
  243. package/typechain-types/PendleYieldContractFactory.ts +8 -57
  244. package/typechain-types/PendleYieldToken.ts +0 -21
  245. package/typechain-types/RouterStatic.ts +20 -302
  246. package/typechain-types/VotingEscrowPendleMainchain.ts +6 -70
  247. package/typechain-types/VotingEscrowPendleSidechain.ts +0 -9
  248. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +59 -122
  249. package/typechain-types/factories/ActionBaseMintRedeem__factory.ts +1 -1
  250. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  251. package/typechain-types/factories/ActionMintRedeem__factory.ts +42 -65
  252. package/typechain-types/factories/ActionMisc__factory.ts +1 -1
  253. package/typechain-types/factories/ActionSwapPTYT__factory.ts +1 -1
  254. package/typechain-types/factories/ActionSwapPT__factory.ts +42 -35
  255. package/typechain-types/factories/ActionSwapYT__factory.ts +42 -35
  256. package/typechain-types/factories/AggregationRouterHelper__factory.ts +1 -190
  257. package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +1 -14
  258. package/typechain-types/factories/BaseSplitCodeFactory__factory.ts +1 -1
  259. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
  260. package/typechain-types/factories/BoringOwnableUpgradeable__factory.ts +0 -13
  261. package/typechain-types/factories/ERC20__factory.ts +1 -1
  262. package/typechain-types/factories/Errors__factory.ts +34 -318
  263. package/typechain-types/factories/IBooster__factory.ts +1 -1
  264. package/typechain-types/factories/ICrvPool__factory.ts +85 -39
  265. package/typechain-types/factories/ILooksStaking__factory.ts +0 -7
  266. package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +17 -91
  267. package/typechain-types/factories/IPActionMintRedeem__factory.ts +0 -50
  268. package/typechain-types/factories/IPActionSwapPT__factory.ts +0 -20
  269. package/typechain-types/factories/IPActionSwapYT__factory.ts +0 -20
  270. package/typechain-types/factories/IPAllAction__factory.ts +17 -181
  271. package/typechain-types/factories/IPMarketFactory__factory.ts +2 -2
  272. package/typechain-types/factories/IPMsgSendEndpoint__factory.ts +2 -12
  273. package/typechain-types/factories/IPYieldContractFactory__factory.ts +1 -1
  274. package/typechain-types/factories/IStETH__factory.ts +0 -45
  275. package/typechain-types/factories/ImplicitSwapfeeContract__factory.ts +12 -4
  276. package/typechain-types/factories/KyberSwapHelper__factory.ts +1 -1
  277. package/typechain-types/factories/MarketMathStatic__factory.ts +79 -1
  278. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  279. package/typechain-types/factories/Pendle3CrvAndTokenSY__factory.ts +1 -1
  280. package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
  281. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  282. package/typechain-types/factories/PendleFeeDistributorFactory__factory.ts +1 -14
  283. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -14
  284. package/typechain-types/factories/PendleGaugeControllerBaseUpg__factory.ts +0 -13
  285. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -14
  286. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -14
  287. package/typechain-types/factories/PendleMarketFactory__factory.ts +16 -76
  288. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  289. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +51 -113
  290. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +23 -84
  291. package/typechain-types/factories/PendleMsgSenderAppUpg__factory.ts +0 -39
  292. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -14
  293. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  294. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  295. package/typechain-types/factories/PendleRouter__factory.ts +1 -14
  296. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +2 -57
  297. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  298. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +3 -84
  299. package/typechain-types/factories/PendleYieldToken__factory.ts +3 -16
  300. package/typechain-types/factories/RouterStatic__factory.ts +1 -244
  301. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +8 -63
  302. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -14
  303. package/typechain-types/hardhat.d.ts +39 -219
  304. package/typechain-types/index.ts +12 -48
  305. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +0 -4
  306. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.json +0 -10
  307. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +0 -4
  308. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +0 -10
  309. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +0 -4
  310. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +0 -699
  311. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +0 -4
  312. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +0 -515
  313. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +0 -4
  314. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +0 -10
  315. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +0 -4
  316. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +0 -1003
  317. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +0 -4
  318. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +0 -1068
  319. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +0 -4
  320. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.json +0 -10
  321. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +0 -4
  322. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.json +0 -10
  323. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +0 -4
  324. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.json +0 -10
  325. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +0 -4
  326. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +0 -4
  327. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +0 -4
  328. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.json +0 -213
  329. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +0 -4
  330. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.json +0 -119
  331. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +0 -4
  332. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.json +0 -39
  333. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +0 -4
  334. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.json +0 -173
  335. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +0 -4
  336. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.json +0 -86
  337. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +0 -4
  338. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.json +0 -34
  339. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +0 -4
  340. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +0 -35
  341. package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.dbg.json +0 -4
  342. package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.json +0 -35
  343. package/contracts/core/BulkSeller/BulkSeller.sol +0 -259
  344. package/contracts/core/BulkSeller/BulkSellerFactory.sol +0 -88
  345. package/contracts/core/BulkSeller/BulkSellerMathCore.sol +0 -143
  346. package/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol +0 -102
  347. package/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol +0 -160
  348. package/contracts/core/StandardizedYield/implementations/Convex/README.md +0 -29
  349. package/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol +0 -215
  350. package/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol +0 -127
  351. package/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol +0 -152
  352. package/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol +0 -122
  353. package/contracts/interfaces/Curve/ITriCrvPool.sol +0 -41
  354. package/contracts/interfaces/ILooksFeeSharing.sol +0 -5
  355. package/contracts/interfaces/ILooksStaking.sol +0 -13
  356. package/contracts/interfaces/IPBulkSeller.sol +0 -28
  357. package/contracts/interfaces/IPBulkSellerFactory.sol +0 -12
  358. package/contracts/interfaces/IPBulkSellerSYCallback.sol +0 -10
  359. package/contracts/offchain-helpers/BulkSellerOffchain.sol +0 -43
  360. package/contracts/router/kyberswap/IAggregatorRouterHelper.sol +0 -10
  361. package/deployments/1-core.json +0 -16
  362. package/deployments/1-markets/FRAX_30_MAR_23.json +0 -8
  363. package/deployments/1-markets/LOOKS_30_MAR_23.json +0 -8
  364. package/deployments/1-markets/STETH_MARCH_30.json +0 -8
  365. package/deployments/1-markets/USDD_MARCH_30.json +0 -8
  366. package/deployments/1-offchain-helper.json +0 -3
  367. package/typechain-types/AccessControl.ts +0 -360
  368. package/typechain-types/AccessControlUpgradeable.ts +0 -369
  369. package/typechain-types/BeaconProxy.ts +0 -97
  370. package/typechain-types/BulkSeller.ts +0 -777
  371. package/typechain-types/BulkSellerFactory.ts +0 -707
  372. package/typechain-types/BulkSellerOffchain.ts +0 -117
  373. package/typechain-types/ContextUpgradeable.ts +0 -68
  374. package/typechain-types/Curve3CrvPoolHelper.ts +0 -236
  375. package/typechain-types/CurveFraxUsdcPoolHelper.ts +0 -158
  376. package/typechain-types/CurveUsdd3CrvPoolHelper.ts +0 -184
  377. package/typechain-types/ERC165.ts +0 -102
  378. package/typechain-types/ERC165Upgradeable.ts +0 -113
  379. package/typechain-types/IAccessControl.ts +0 -305
  380. package/typechain-types/IAccessControlUpgradeable.ts +0 -305
  381. package/typechain-types/IAggregationRouterHelper.ts +0 -108
  382. package/typechain-types/IERC165.ts +0 -102
  383. package/typechain-types/IERC165Upgradeable.ts +0 -102
  384. package/typechain-types/IPBulkSeller.ts +0 -290
  385. package/typechain-types/IPBulkSellerCallback.ts +0 -115
  386. package/typechain-types/IPBulkSellerFactory.ts +0 -147
  387. package/typechain-types/ITriCrvPool.ts +0 -345
  388. package/typechain-types/Initializable.ts +0 -68
  389. package/typechain-types/PendleConvex2TokensSY.ts +0 -1215
  390. package/typechain-types/PendleCurveFraxUsdcSY.ts +0 -1228
  391. package/typechain-types/PendleCurveUsdd3CrvSY.ts +0 -1299
  392. package/typechain-types/PendleLooksStakingSY.ts +0 -1052
  393. package/typechain-types/ReentrancyGuardUpgradeable.ts +0 -68
  394. package/typechain-types/factories/AccessControlUpgradeable__factory.ts +0 -247
  395. package/typechain-types/factories/AccessControl__factory.ts +0 -227
  396. package/typechain-types/factories/BeaconProxy__factory.ts +0 -141
  397. package/typechain-types/factories/BulkSellerFactory__factory.ts +0 -568
  398. package/typechain-types/factories/BulkSellerOffchain__factory.ts +0 -88
  399. package/typechain-types/factories/BulkSeller__factory.ts +0 -749
  400. package/typechain-types/factories/ContextUpgradeable__factory.ts +0 -39
  401. package/typechain-types/factories/Curve3CrvPoolHelper__factory.ts +0 -220
  402. package/typechain-types/factories/CurveFraxUsdcPoolHelper__factory.ts +0 -146
  403. package/typechain-types/factories/CurveUsdd3CrvPoolHelper__factory.ts +0 -172
  404. package/typechain-types/factories/ERC165Upgradeable__factory.ts +0 -58
  405. package/typechain-types/factories/ERC165__factory.ts +0 -39
  406. package/typechain-types/factories/IAccessControlUpgradeable__factory.ts +0 -202
  407. package/typechain-types/factories/IAccessControl__factory.ts +0 -198
  408. package/typechain-types/factories/IAggregationRouterHelper__factory.ts +0 -54
  409. package/typechain-types/factories/IERC165Upgradeable__factory.ts +0 -45
  410. package/typechain-types/factories/IERC165__factory.ts +0 -42
  411. package/typechain-types/factories/IPBulkSellerCallback__factory.ts +0 -53
  412. package/typechain-types/factories/IPBulkSellerFactory__factory.ts +0 -101
  413. package/typechain-types/factories/IPBulkSeller__factory.ts +0 -185
  414. package/typechain-types/factories/ITriCrvPool__factory.ts +0 -225
  415. package/typechain-types/factories/Initializable__factory.ts +0 -36
  416. package/typechain-types/factories/PendleConvex2TokensSY__factory.ts +0 -1093
  417. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +0 -1068
  418. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +0 -1133
  419. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +0 -937
  420. package/typechain-types/factories/ReentrancyGuardUpgradeable__factory.ts +0 -43
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/f4b555d268740d9496645b4780a3ecb3.json"
3
+ "buildInfo": "../../../../build-info/2191e2c241e59d243cb1f474b38065b7.json"
4
4
  }
@@ -6,8 +6,8 @@
6
6
  {
7
7
  "inputs": [
8
8
  {
9
- "internalType": "address",
10
- "name": "_lzEndpoint",
9
+ "internalType": "contract ICelerMessageBus",
10
+ "name": "_celerMessageBus",
11
11
  "type": "address"
12
12
  },
13
13
  {
@@ -27,14 +27,9 @@
27
27
  {
28
28
  "inputs": [
29
29
  {
30
- "internalType": "uint16",
31
- "name": "srcChainId",
32
- "type": "uint16"
33
- },
34
- {
35
- "internalType": "bytes",
36
- "name": "path",
37
- "type": "bytes"
30
+ "internalType": "address",
31
+ "name": "sender",
32
+ "type": "address"
38
33
  }
39
34
  ],
40
35
  "name": "MsgNotFromSendEndpoint",
@@ -42,7 +37,7 @@
42
37
  },
43
38
  {
44
39
  "inputs": [],
45
- "name": "OnlyLayerZeroEndpoint",
40
+ "name": "OnlyCelerBus",
46
41
  "type": "error"
47
42
  },
48
43
  {
@@ -77,56 +72,6 @@
77
72
  "name": "BeaconUpgraded",
78
73
  "type": "event"
79
74
  },
80
- {
81
- "anonymous": false,
82
- "inputs": [
83
- {
84
- "indexed": false,
85
- "internalType": "uint8",
86
- "name": "version",
87
- "type": "uint8"
88
- }
89
- ],
90
- "name": "Initialized",
91
- "type": "event"
92
- },
93
- {
94
- "anonymous": false,
95
- "inputs": [
96
- {
97
- "indexed": false,
98
- "internalType": "uint16",
99
- "name": "_srcChainId",
100
- "type": "uint16"
101
- },
102
- {
103
- "indexed": false,
104
- "internalType": "bytes",
105
- "name": "_path",
106
- "type": "bytes"
107
- },
108
- {
109
- "indexed": false,
110
- "internalType": "uint64",
111
- "name": "_nonce",
112
- "type": "uint64"
113
- },
114
- {
115
- "indexed": false,
116
- "internalType": "bytes",
117
- "name": "_payload",
118
- "type": "bytes"
119
- },
120
- {
121
- "indexed": false,
122
- "internalType": "bytes",
123
- "name": "_reason",
124
- "type": "bytes"
125
- }
126
- ],
127
- "name": "MessageFailed",
128
- "type": "event"
129
- },
130
75
  {
131
76
  "anonymous": false,
132
77
  "inputs": [
@@ -159,6 +104,19 @@
159
104
  "name": "Upgraded",
160
105
  "type": "event"
161
106
  },
107
+ {
108
+ "inputs": [],
109
+ "name": "celerMessageBus",
110
+ "outputs": [
111
+ {
112
+ "internalType": "contract ICelerMessageBus",
113
+ "name": "",
114
+ "type": "address"
115
+ }
116
+ ],
117
+ "stateMutability": "view",
118
+ "type": "function"
119
+ },
162
120
  {
163
121
  "inputs": [],
164
122
  "name": "claimOwnership",
@@ -170,64 +128,57 @@
170
128
  "inputs": [
171
129
  {
172
130
  "internalType": "address",
173
- "name": "receiver",
131
+ "name": "srcAddress",
174
132
  "type": "address"
175
133
  },
134
+ {
135
+ "internalType": "uint64",
136
+ "name": "srcChainId",
137
+ "type": "uint64"
138
+ },
176
139
  {
177
140
  "internalType": "bytes",
178
141
  "name": "message",
179
142
  "type": "bytes"
143
+ },
144
+ {
145
+ "internalType": "address",
146
+ "name": "",
147
+ "type": "address"
180
148
  }
181
149
  ],
182
- "name": "govExecuteMessage",
183
- "outputs": [],
184
- "stateMutability": "payable",
185
- "type": "function"
186
- },
187
- {
188
- "inputs": [],
189
- "name": "initialize",
190
- "outputs": [],
191
- "stateMutability": "nonpayable",
192
- "type": "function"
193
- },
194
- {
195
- "inputs": [],
196
- "name": "lzEndpoint",
150
+ "name": "executeMessage",
197
151
  "outputs": [
198
152
  {
199
- "internalType": "address",
153
+ "internalType": "enum ICelerMessageReceiverApp.ExecutionStatus",
200
154
  "name": "",
201
- "type": "address"
155
+ "type": "uint8"
202
156
  }
203
157
  ],
204
- "stateMutability": "view",
158
+ "stateMutability": "payable",
205
159
  "type": "function"
206
160
  },
207
161
  {
208
162
  "inputs": [
209
163
  {
210
- "internalType": "uint16",
211
- "name": "_srcChainId",
212
- "type": "uint16"
213
- },
214
- {
215
- "internalType": "bytes",
216
- "name": "_path",
217
- "type": "bytes"
218
- },
219
- {
220
- "internalType": "uint64",
221
- "name": "_nonce",
222
- "type": "uint64"
164
+ "internalType": "address",
165
+ "name": "receiver",
166
+ "type": "address"
223
167
  },
224
168
  {
225
169
  "internalType": "bytes",
226
- "name": "_payload",
170
+ "name": "message",
227
171
  "type": "bytes"
228
172
  }
229
173
  ],
230
- "name": "lzReceive",
174
+ "name": "govExecuteMessage",
175
+ "outputs": [],
176
+ "stateMutability": "payable",
177
+ "type": "function"
178
+ },
179
+ {
180
+ "inputs": [],
181
+ "name": "initialize",
231
182
  "outputs": [],
232
183
  "stateMutability": "nonpayable",
233
184
  "type": "function"
@@ -297,19 +248,6 @@
297
248
  "stateMutability": "view",
298
249
  "type": "function"
299
250
  },
300
- {
301
- "inputs": [
302
- {
303
- "internalType": "uint16",
304
- "name": "_newVersion",
305
- "type": "uint16"
306
- }
307
- ],
308
- "name": "setLzReceiveVersion",
309
- "outputs": [],
310
- "stateMutability": "nonpayable",
311
- "type": "function"
312
- },
313
251
  {
314
252
  "inputs": [
315
253
  {
@@ -365,8 +303,8 @@
365
303
  "type": "function"
366
304
  }
367
305
  ],
368
- "bytecode": "0x610100604052306080523480156200001657600080fd5b50604051620018a0380380620018a08339810160408190526200003991620001ca565b600154600160a81b900460ff161580801562000060575060018054600160a01b900460ff16105b806200009657506200007d306200019e60201b62000af01760201c565b15801562000096575060018054600160a01b900460ff16145b620000fe5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6001805460ff60a01b1916600160a01b17905580156200012c576001805460ff60a81b1916600160a81b1790555b6001600160a01b0380851660a052831660c0526001600160401b03821660e052801562000194576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505062000224565b6001600160a01b03163b151590565b80516001600160a01b0381168114620001c557600080fd5b919050565b600080600060608486031215620001e057600080fd5b620001eb84620001ad565b9250620001fb60208501620001ad565b60408501519092506001600160401b03811681146200021957600080fd5b809150509250925092565b60805160a05160c05160e05161160a620002966000396000818161022901526103890152600081816101f5015261034e015260008181610275015281816102c2015261081e0152600081816105b9015281816105f90152818161072c0152818161076c0152610892015261160a6000f3fe6080604052600436106100ac5760003560e01c80621d3567146100b1578063078dfbe7146100d35780633659cfe6146100f35780634e71e0c8146101135780634f1ef28614610128578063510653ea1461013b57806352d1902d1461015b5780637efec77a146101835780638129fc1c146101965780638da5cb5b146101ab5780638e0dec4d146101e3578063931a11d914610217578063b353aaa714610263578063e30c397814610297575b600080fd5b3480156100bd57600080fd5b506100d16100cc3660046110b2565b6102b7565b005b3480156100df57600080fd5b506100d16100ee366004611170565b6104b3565b3480156100ff57600080fd5b506100d161010e3660046111b5565b6105af565b34801561011f57600080fd5b506100d1610677565b6100d1610136366004611274565b610722565b34801561014757600080fd5b506100d16101563660046112c3565b6107db565b34801561016757600080fd5b50610170610885565b6040519081526020015b60405180910390f35b6100d16101913660046112de565b610933565b3480156101a257600080fd5b506100d16109c2565b3480156101b757600080fd5b506000546101cb906001600160a01b031681565b6040516001600160a01b03909116815260200161017a565b3480156101ef57600080fd5b506101cb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561022357600080fd5b5061024b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160401b03909116815260200161017a565b34801561026f57600080fd5b506101cb7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102a357600080fd5b506001546101cb906001600160a01b031681565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461030057604051632ec667eb60e01b815260040160405180910390fd5b8585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506103439250839150610aff9050565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806103b4575061038782610b06565b7f00000000000000000000000000000000000000000000000000000000000000006001600160401b031614155b156103df578181604051634b5e187360e11b81526004016103d6929190611382565b60405180910390fd5b6000806103ee85870187611274565b915091506000806104585a609663e0299bf560e01b8660405160240161041491906113a7565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526001600160a01b038816929190610b57565b91509150816104a5577fe183f33de2837795525b4792ca4cd60535bd77c53b7e7030060bfcf5734d6b0c8c8c8c8c8c8c8760405161049c97969594939291906113e3565b60405180910390a15b505050505050505050505050565b6000546001600160a01b031633146104dd5760405162461bcd60e51b81526004016103d690611445565b811561058e576001600160a01b0383161515806104f75750805b61053b5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b60448201526064016103d6565b600080546040516001600160a01b038087169392169160008051602061158e83398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105f75760405162461bcd60e51b81526004016103d69061147a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610629610be1565b6001600160a01b03161461064f5760405162461bcd60e51b81526004016103d6906114b4565b61065881610bfd565b6040805160008082526020820190925261067491839190610c27565b50565b6001546001600160a01b03163381146106d25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e657260448201526064016103d6565b600080546040516001600160a01b038085169392169160008051602061158e83398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361076a5760405162461bcd60e51b81526004016103d69061147a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661079c610be1565b6001600160a01b0316146107c25760405162461bcd60e51b81526004016103d6906114b4565b6107cb82610bfd565b6107d782826001610c27565b5050565b6000546001600160a01b031633146108055760405162461bcd60e51b81526004016103d690611445565b6040516310ddb13760e01b815261ffff821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906310ddb13790602401600060405180830381600087803b15801561086a57600080fd5b505af115801561087e573d6000803e3d6000fd5b5050505050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109205760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016103d6565b5060008051602061156e83398151915290565b6000546001600160a01b0316331461095d5760405162461bcd60e51b81526004016103d690611445565b60405163e0299bf560e01b81526001600160a01b0384169063e0299bf59061098b90859085906004016114ee565b600060405180830381600087803b1580156109a557600080fd5b505af11580156109b9573d6000803e3d6000fd5b50505050505050565b600154600160a81b900460ff16158080156109e8575060018054600160a01b900460ff16105b80610a0f57506109f730610af0565b158015610a0f575060018054600160a01b900460ff16145b610a725760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016103d6565b6001805460ff60a01b1916600160a01b1790558015610a9f576001805460ff60a81b1916600160a81b1790555b610aa7610d92565b8015610674576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6001600160a01b03163b151590565b6014015190565b60008161ffff1661277a03610b1e575061a869919050565b8161ffff1661277d03610b35575062013881919050565b8161ffff16606a03610b4a575061a86a919050565b610b52611502565b919050565b6000606060008060008661ffff166001600160401b03811115610b7c57610b7c6111d2565b6040519080825280601f01601f191660200182016040528015610ba6576020820181803683370190505b50905060008087516020890160008d8df191503d925086831115610bc8578692505b828152826000602083013e909890975095505050505050565b60008051602061156e833981519152546001600160a01b031690565b6000546001600160a01b031633146106745760405162461bcd60e51b81526004016103d690611445565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610c5a576105aa83610e13565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cb4575060408051601f3d908101601f19168201909252610cb191810190611518565b60015b610d175760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016103d6565b60008051602061156e8339815191528114610d865760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016103d6565b506105aa838383610ead565b600154600160a81b900460ff16610dff5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016103d6565b600080546001600160a01b03191633179055565b610e1c81610af0565b610e7e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016103d6565b60008051602061156e83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610eb683610ed8565b600082511180610ec35750805b156105aa57610ed28383610f18565b50505050565b610ee181610e13565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610f3d83836040518060600160405280602781526020016115ae60279139610f44565b9392505050565b6060610f4f84610af0565b610faa5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016103d6565b600080856001600160a01b031685604051610fc59190611531565b600060405180830381855af49150503d8060008114611000576040519150601f19603f3d011682016040523d82523d6000602084013e611005565b606091505b509150915061101582828661101f565b9695505050505050565b6060831561102e575081610f3d565b82511561103e5782518084602001fd5b8160405162461bcd60e51b81526004016103d691906113a7565b803561ffff81168114610b5257600080fd5b60008083601f84011261107c57600080fd5b5081356001600160401b0381111561109357600080fd5b6020830191508360208285010111156110ab57600080fd5b9250929050565b600080600080600080608087890312156110cb57600080fd5b6110d487611058565b955060208701356001600160401b03808211156110f057600080fd5b6110fc8a838b0161106a565b909750955060408901359150808216821461111657600080fd5b9093506060880135908082111561112c57600080fd5b5061113989828a0161106a565b979a9699509497509295939492505050565b6001600160a01b038116811461067457600080fd5b80358015158114610b5257600080fd5b60008060006060848603121561118557600080fd5b83356111908161114b565b925061119e60208501611160565b91506111ac60408501611160565b90509250925092565b6000602082840312156111c757600080fd5b8135610f3d8161114b565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126111f957600080fd5b81356001600160401b0380821115611213576112136111d2565b604051601f8301601f19908116603f0116810190828211818310171561123b5761123b6111d2565b8160405283815286602085880101111561125457600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561128757600080fd5b82356112928161114b565b915060208301356001600160401b038111156112ad57600080fd5b6112b9858286016111e8565b9150509250929050565b6000602082840312156112d557600080fd5b610f3d82611058565b6000806000604084860312156112f357600080fd5b83356112fe8161114b565b925060208401356001600160401b0381111561131957600080fd5b6113258682870161106a565b9497909650939450505050565b60005b8381101561134d578181015183820152602001611335565b50506000910152565b6000815180845261136e816020860160208601611332565b601f01601f19169290920160200192915050565b61ffff8316815260406020820152600061139f6040830184611356565b949350505050565b602081526000610f3d6020830184611356565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b61ffff8816815260a06020820152600061140160a08301888a6113ba565b6001600160401b038716604084015282810360608401526114238186886113ba565b905082810360808401526114378185611356565b9a9950505050505050505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c9082015260008051602061154e83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061154e83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60208152600061139f6020830184866113ba565b634e487b7160e01b600052600160045260246000fd5b60006020828403121561152a57600080fd5b5051919050565b60008251611543818460208701611332565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212208ca900fadde9a8170536cab2d658bfac95150d04f5a74b2132a93830e80cf10664736f6c63430008110033",
369
- "deployedBytecode": "0x6080604052600436106100ac5760003560e01c80621d3567146100b1578063078dfbe7146100d35780633659cfe6146100f35780634e71e0c8146101135780634f1ef28614610128578063510653ea1461013b57806352d1902d1461015b5780637efec77a146101835780638129fc1c146101965780638da5cb5b146101ab5780638e0dec4d146101e3578063931a11d914610217578063b353aaa714610263578063e30c397814610297575b600080fd5b3480156100bd57600080fd5b506100d16100cc3660046110b2565b6102b7565b005b3480156100df57600080fd5b506100d16100ee366004611170565b6104b3565b3480156100ff57600080fd5b506100d161010e3660046111b5565b6105af565b34801561011f57600080fd5b506100d1610677565b6100d1610136366004611274565b610722565b34801561014757600080fd5b506100d16101563660046112c3565b6107db565b34801561016757600080fd5b50610170610885565b6040519081526020015b60405180910390f35b6100d16101913660046112de565b610933565b3480156101a257600080fd5b506100d16109c2565b3480156101b757600080fd5b506000546101cb906001600160a01b031681565b6040516001600160a01b03909116815260200161017a565b3480156101ef57600080fd5b506101cb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561022357600080fd5b5061024b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160401b03909116815260200161017a565b34801561026f57600080fd5b506101cb7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102a357600080fd5b506001546101cb906001600160a01b031681565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461030057604051632ec667eb60e01b815260040160405180910390fd5b8585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506103439250839150610aff9050565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806103b4575061038782610b06565b7f00000000000000000000000000000000000000000000000000000000000000006001600160401b031614155b156103df578181604051634b5e187360e11b81526004016103d6929190611382565b60405180910390fd5b6000806103ee85870187611274565b915091506000806104585a609663e0299bf560e01b8660405160240161041491906113a7565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526001600160a01b038816929190610b57565b91509150816104a5577fe183f33de2837795525b4792ca4cd60535bd77c53b7e7030060bfcf5734d6b0c8c8c8c8c8c8c8760405161049c97969594939291906113e3565b60405180910390a15b505050505050505050505050565b6000546001600160a01b031633146104dd5760405162461bcd60e51b81526004016103d690611445565b811561058e576001600160a01b0383161515806104f75750805b61053b5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b60448201526064016103d6565b600080546040516001600160a01b038087169392169160008051602061158e83398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105f75760405162461bcd60e51b81526004016103d69061147a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610629610be1565b6001600160a01b03161461064f5760405162461bcd60e51b81526004016103d6906114b4565b61065881610bfd565b6040805160008082526020820190925261067491839190610c27565b50565b6001546001600160a01b03163381146106d25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e657260448201526064016103d6565b600080546040516001600160a01b038085169392169160008051602061158e83398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361076a5760405162461bcd60e51b81526004016103d69061147a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661079c610be1565b6001600160a01b0316146107c25760405162461bcd60e51b81526004016103d6906114b4565b6107cb82610bfd565b6107d782826001610c27565b5050565b6000546001600160a01b031633146108055760405162461bcd60e51b81526004016103d690611445565b6040516310ddb13760e01b815261ffff821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906310ddb13790602401600060405180830381600087803b15801561086a57600080fd5b505af115801561087e573d6000803e3d6000fd5b5050505050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109205760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016103d6565b5060008051602061156e83398151915290565b6000546001600160a01b0316331461095d5760405162461bcd60e51b81526004016103d690611445565b60405163e0299bf560e01b81526001600160a01b0384169063e0299bf59061098b90859085906004016114ee565b600060405180830381600087803b1580156109a557600080fd5b505af11580156109b9573d6000803e3d6000fd5b50505050505050565b600154600160a81b900460ff16158080156109e8575060018054600160a01b900460ff16105b80610a0f57506109f730610af0565b158015610a0f575060018054600160a01b900460ff16145b610a725760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016103d6565b6001805460ff60a01b1916600160a01b1790558015610a9f576001805460ff60a81b1916600160a81b1790555b610aa7610d92565b8015610674576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6001600160a01b03163b151590565b6014015190565b60008161ffff1661277a03610b1e575061a869919050565b8161ffff1661277d03610b35575062013881919050565b8161ffff16606a03610b4a575061a86a919050565b610b52611502565b919050565b6000606060008060008661ffff166001600160401b03811115610b7c57610b7c6111d2565b6040519080825280601f01601f191660200182016040528015610ba6576020820181803683370190505b50905060008087516020890160008d8df191503d925086831115610bc8578692505b828152826000602083013e909890975095505050505050565b60008051602061156e833981519152546001600160a01b031690565b6000546001600160a01b031633146106745760405162461bcd60e51b81526004016103d690611445565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610c5a576105aa83610e13565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cb4575060408051601f3d908101601f19168201909252610cb191810190611518565b60015b610d175760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016103d6565b60008051602061156e8339815191528114610d865760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016103d6565b506105aa838383610ead565b600154600160a81b900460ff16610dff5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016103d6565b600080546001600160a01b03191633179055565b610e1c81610af0565b610e7e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016103d6565b60008051602061156e83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610eb683610ed8565b600082511180610ec35750805b156105aa57610ed28383610f18565b50505050565b610ee181610e13565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610f3d83836040518060600160405280602781526020016115ae60279139610f44565b9392505050565b6060610f4f84610af0565b610faa5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016103d6565b600080856001600160a01b031685604051610fc59190611531565b600060405180830381855af49150503d8060008114611000576040519150601f19603f3d011682016040523d82523d6000602084013e611005565b606091505b509150915061101582828661101f565b9695505050505050565b6060831561102e575081610f3d565b82511561103e5782518084602001fd5b8160405162461bcd60e51b81526004016103d691906113a7565b803561ffff81168114610b5257600080fd5b60008083601f84011261107c57600080fd5b5081356001600160401b0381111561109357600080fd5b6020830191508360208285010111156110ab57600080fd5b9250929050565b600080600080600080608087890312156110cb57600080fd5b6110d487611058565b955060208701356001600160401b03808211156110f057600080fd5b6110fc8a838b0161106a565b909750955060408901359150808216821461111657600080fd5b9093506060880135908082111561112c57600080fd5b5061113989828a0161106a565b979a9699509497509295939492505050565b6001600160a01b038116811461067457600080fd5b80358015158114610b5257600080fd5b60008060006060848603121561118557600080fd5b83356111908161114b565b925061119e60208501611160565b91506111ac60408501611160565b90509250925092565b6000602082840312156111c757600080fd5b8135610f3d8161114b565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126111f957600080fd5b81356001600160401b0380821115611213576112136111d2565b604051601f8301601f19908116603f0116810190828211818310171561123b5761123b6111d2565b8160405283815286602085880101111561125457600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561128757600080fd5b82356112928161114b565b915060208301356001600160401b038111156112ad57600080fd5b6112b9858286016111e8565b9150509250929050565b6000602082840312156112d557600080fd5b610f3d82611058565b6000806000604084860312156112f357600080fd5b83356112fe8161114b565b925060208401356001600160401b0381111561131957600080fd5b6113258682870161106a565b9497909650939450505050565b60005b8381101561134d578181015183820152602001611335565b50506000910152565b6000815180845261136e816020860160208601611332565b601f01601f19169290920160200192915050565b61ffff8316815260406020820152600061139f6040830184611356565b949350505050565b602081526000610f3d6020830184611356565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b61ffff8816815260a06020820152600061140160a08301888a6113ba565b6001600160401b038716604084015282810360608401526114238186886113ba565b905082810360808401526114378185611356565b9a9950505050505050505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c9082015260008051602061154e83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061154e83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60208152600061139f6020830184866113ba565b634e487b7160e01b600052600160045260246000fd5b60006020828403121561152a57600080fd5b5051919050565b60008251611543818460208701611332565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212208ca900fadde9a8170536cab2d658bfac95150d04f5a74b2132a93830e80cf10664736f6c63430008110033",
306
+ "bytecode": "0x610100604052306080523480156200001657600080fd5b506040516200151238038062001512833981016040819052620000399162000181565b600154600160a81b900460ff166200005f57600154600160a01b900460ff161562000069565b620000696200013b565b620000d15760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b600154600160a81b900460ff16158015620000fc576001805461ffff60a01b191661010160a01b1790555b6001600160a01b0380851660a052831660c0526001600160401b03821660e052801562000131576001805460ff60a81b191690555b50505050620001e0565b600062000153306200015960201b620009291760201c565b15905090565b6001600160a01b03163b151590565b6001600160a01b03811681146200017e57600080fd5b50565b6000806000606084860312156200019757600080fd5b8351620001a48162000168565b6020850151909350620001b78162000168565b60408501519092506001600160401b0381168114620001d557600080fd5b809150509250925092565b60805160a05160c05160e0516112c76200024b6000396000818161020801526108520152600081816101d4015261081601526000818161014b01526107d4015260008181610391015281816103d1015281816105040152818161054401526105c001526112c76000f3fe6080604052600436106100a25760003560e01c8063078dfbe7146100a75780633659cfe6146100c95780634e71e0c8146100e95780634f1ef286146100fe57806352d1902d146101115780635cc04968146101395780637efec77a1461017a5780638129fc1c1461018d5780638da5cb5b146101a25780638e0dec4d146101c2578063931a11d9146101f65780639c649fdf14610242578063e30c397814610262575b600080fd5b3480156100b357600080fd5b506100c76100c2366004610dea565b610282565b005b3480156100d557600080fd5b506100c76100e4366004610e2f565b610387565b3480156100f557600080fd5b506100c761044f565b6100c761010c366004610eee565b6104fa565b34801561011d57600080fd5b506101266105b3565b6040519081526020015b60405180910390f35b34801561014557600080fd5b5061016d7f000000000000000000000000000000000000000000000000000000000000000081565b6040516101309190610f3d565b6100c7610188366004610f99565b610661565b34801561019957600080fd5b506100c76106f0565b3480156101ae57600080fd5b5060005461016d906001600160a01b031681565b3480156101ce57600080fd5b5061016d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561020257600080fd5b5061022a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160401b039091168152602001610130565b610255610250366004610fed565b6107c7565b6040516101309190611072565b34801561026e57600080fd5b5060015461016d906001600160a01b031681565b6000546001600160a01b031633146102b55760405162461bcd60e51b81526004016102ac9061109a565b60405180910390fd5b8115610366576001600160a01b0383161515806102cf5750805b6103135760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b60448201526064016102ac565b600080546040516001600160a01b038087169392169160008051602061124b83398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103cf5760405162461bcd60e51b81526004016102ac906110cf565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610401610938565b6001600160a01b0316146104275760405162461bcd60e51b81526004016102ac90611109565b61043081610954565b6040805160008082526020820190925261044c9183919061097e565b50565b6001546001600160a01b03163381146104aa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e657260448201526064016102ac565b600080546040516001600160a01b038085169392169160008051602061124b83398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105425760405162461bcd60e51b81526004016102ac906110cf565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610574610938565b6001600160a01b03161461059a5760405162461bcd60e51b81526004016102ac90611109565b6105a382610954565b6105af8282600161097e565b5050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461064e5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016102ac565b5060008051602061122b83398151915290565b6000546001600160a01b0316331461068b5760405162461bcd60e51b81526004016102ac9061109a565b60405163e0299bf560e01b81526001600160a01b0384169063e0299bf5906106b99085908590600401611143565b600060405180830381600087803b1580156106d357600080fd5b505af11580156106e7573d6000803e3d6000fd5b50505050505050565b600154600160a81b900460ff1661071457600154600160a01b900460ff161561071c565b61071c610ae9565b61077f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016102ac565b600154600160a81b900460ff161580156107a9576001805461ffff60a01b191661010160a01b1790555b6107b1610afa565b801561044c576001805460ff60a81b1916905550565b6000336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461081257604051634af7524b60e01b815260040160405180910390fd5b85857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614158061088757507f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316816001600160401b031614155b156108a757336040516329c4416360e01b81526004016102ac9190610f3d565b6000806108b687890189610eee565b60405163e0299bf560e01b815291935091506001600160a01b0383169063e0299bf5906108e79084906004016111c2565b600060405180830381600087803b15801561090157600080fd5b505af1158015610915573d6000803e3d6000fd5b5060019d9c50505050505050505050505050565b6001600160a01b03163b151590565b60008051602061122b833981519152546001600160a01b031690565b6000546001600160a01b0316331461044c5760405162461bcd60e51b81526004016102ac9061109a565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156109b15761038283610b7b565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610a0b575060408051601f3d908101601f19168201909252610a08918101906111d5565b60015b610a6e5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016102ac565b60008051602061122b8339815191528114610add5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016102ac565b50610382838383610c15565b6000610af430610929565b15905090565b600154600160a81b900460ff16610b675760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016102ac565b600080546001600160a01b03191633179055565b610b8481610929565b610be65760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ac565b60008051602061122b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610c1e83610c40565b600082511180610c2b5750805b1561038257610c3a8383610c80565b50505050565b610c4981610b7b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610ca5838360405180606001604052806027815260200161126b60279139610cac565b9392505050565b6060610cb784610929565b610d125760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016102ac565b600080856001600160a01b031685604051610d2d91906111ee565b600060405180830381855af49150503d8060008114610d68576040519150601f19603f3d011682016040523d82523d6000602084013e610d6d565b606091505b5091509150610d7d828286610d87565b9695505050505050565b60608315610d96575081610ca5565b825115610da65782518084602001fd5b8160405162461bcd60e51b81526004016102ac91906111c2565b6001600160a01b038116811461044c57600080fd5b80358015158114610de557600080fd5b919050565b600080600060608486031215610dff57600080fd5b8335610e0a81610dc0565b9250610e1860208501610dd5565b9150610e2660408501610dd5565b90509250925092565b600060208284031215610e4157600080fd5b8135610ca581610dc0565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610e7357600080fd5b81356001600160401b0380821115610e8d57610e8d610e4c565b604051601f8301601f19908116603f01168101908282118183101715610eb557610eb5610e4c565b81604052838152866020858801011115610ece57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215610f0157600080fd5b8235610f0c81610dc0565b915060208301356001600160401b03811115610f2757600080fd5b610f3385828601610e62565b9150509250929050565b6001600160a01b0391909116815260200190565b60008083601f840112610f6357600080fd5b5081356001600160401b03811115610f7a57600080fd5b602083019150836020828501011115610f9257600080fd5b9250929050565b600080600060408486031215610fae57600080fd5b8335610fb981610dc0565b925060208401356001600160401b03811115610fd457600080fd5b610fe086828701610f51565b9497909650939450505050565b60008060008060006080868803121561100557600080fd5b853561101081610dc0565b945060208601356001600160401b03808216821461102d57600080fd5b9094506040870135908082111561104357600080fd5b5061105088828901610f51565b909450925050606086013561106481610dc0565b809150509295509295909350565b602081016003831061109457634e487b7160e01b600052602160045260246000fd5b91905290565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c9082015260008051602061120b83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061120b83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b60005b8381101561118d578181015183820152602001611175565b50506000910152565b600081518084526111ae816020860160208601611172565b601f01601f19169290920160200192915050565b602081526000610ca56020830184611196565b6000602082840312156111e757600080fd5b5051919050565b60008251611200818460208701611172565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122099431d46c666ff1cfb4683a40ac600ace97457f935d979e9d2280892913f9b4764736f6c63430008110033",
307
+ "deployedBytecode": "0x6080604052600436106100a25760003560e01c8063078dfbe7146100a75780633659cfe6146100c95780634e71e0c8146100e95780634f1ef286146100fe57806352d1902d146101115780635cc04968146101395780637efec77a1461017a5780638129fc1c1461018d5780638da5cb5b146101a25780638e0dec4d146101c2578063931a11d9146101f65780639c649fdf14610242578063e30c397814610262575b600080fd5b3480156100b357600080fd5b506100c76100c2366004610dea565b610282565b005b3480156100d557600080fd5b506100c76100e4366004610e2f565b610387565b3480156100f557600080fd5b506100c761044f565b6100c761010c366004610eee565b6104fa565b34801561011d57600080fd5b506101266105b3565b6040519081526020015b60405180910390f35b34801561014557600080fd5b5061016d7f000000000000000000000000000000000000000000000000000000000000000081565b6040516101309190610f3d565b6100c7610188366004610f99565b610661565b34801561019957600080fd5b506100c76106f0565b3480156101ae57600080fd5b5060005461016d906001600160a01b031681565b3480156101ce57600080fd5b5061016d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561020257600080fd5b5061022a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160401b039091168152602001610130565b610255610250366004610fed565b6107c7565b6040516101309190611072565b34801561026e57600080fd5b5060015461016d906001600160a01b031681565b6000546001600160a01b031633146102b55760405162461bcd60e51b81526004016102ac9061109a565b60405180910390fd5b8115610366576001600160a01b0383161515806102cf5750805b6103135760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b60448201526064016102ac565b600080546040516001600160a01b038087169392169160008051602061124b83398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103cf5760405162461bcd60e51b81526004016102ac906110cf565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610401610938565b6001600160a01b0316146104275760405162461bcd60e51b81526004016102ac90611109565b61043081610954565b6040805160008082526020820190925261044c9183919061097e565b50565b6001546001600160a01b03163381146104aa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e657260448201526064016102ac565b600080546040516001600160a01b038085169392169160008051602061124b83398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105425760405162461bcd60e51b81526004016102ac906110cf565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610574610938565b6001600160a01b03161461059a5760405162461bcd60e51b81526004016102ac90611109565b6105a382610954565b6105af8282600161097e565b5050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461064e5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016102ac565b5060008051602061122b83398151915290565b6000546001600160a01b0316331461068b5760405162461bcd60e51b81526004016102ac9061109a565b60405163e0299bf560e01b81526001600160a01b0384169063e0299bf5906106b99085908590600401611143565b600060405180830381600087803b1580156106d357600080fd5b505af11580156106e7573d6000803e3d6000fd5b50505050505050565b600154600160a81b900460ff1661071457600154600160a01b900460ff161561071c565b61071c610ae9565b61077f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016102ac565b600154600160a81b900460ff161580156107a9576001805461ffff60a01b191661010160a01b1790555b6107b1610afa565b801561044c576001805460ff60a81b1916905550565b6000336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461081257604051634af7524b60e01b815260040160405180910390fd5b85857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614158061088757507f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316816001600160401b031614155b156108a757336040516329c4416360e01b81526004016102ac9190610f3d565b6000806108b687890189610eee565b60405163e0299bf560e01b815291935091506001600160a01b0383169063e0299bf5906108e79084906004016111c2565b600060405180830381600087803b15801561090157600080fd5b505af1158015610915573d6000803e3d6000fd5b5060019d9c50505050505050505050505050565b6001600160a01b03163b151590565b60008051602061122b833981519152546001600160a01b031690565b6000546001600160a01b0316331461044c5760405162461bcd60e51b81526004016102ac9061109a565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156109b15761038283610b7b565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610a0b575060408051601f3d908101601f19168201909252610a08918101906111d5565b60015b610a6e5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016102ac565b60008051602061122b8339815191528114610add5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016102ac565b50610382838383610c15565b6000610af430610929565b15905090565b600154600160a81b900460ff16610b675760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016102ac565b600080546001600160a01b03191633179055565b610b8481610929565b610be65760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ac565b60008051602061122b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610c1e83610c40565b600082511180610c2b5750805b1561038257610c3a8383610c80565b50505050565b610c4981610b7b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610ca5838360405180606001604052806027815260200161126b60279139610cac565b9392505050565b6060610cb784610929565b610d125760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016102ac565b600080856001600160a01b031685604051610d2d91906111ee565b600060405180830381855af49150503d8060008114610d68576040519150601f19603f3d011682016040523d82523d6000602084013e610d6d565b606091505b5091509150610d7d828286610d87565b9695505050505050565b60608315610d96575081610ca5565b825115610da65782518084602001fd5b8160405162461bcd60e51b81526004016102ac91906111c2565b6001600160a01b038116811461044c57600080fd5b80358015158114610de557600080fd5b919050565b600080600060608486031215610dff57600080fd5b8335610e0a81610dc0565b9250610e1860208501610dd5565b9150610e2660408501610dd5565b90509250925092565b600060208284031215610e4157600080fd5b8135610ca581610dc0565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610e7357600080fd5b81356001600160401b0380821115610e8d57610e8d610e4c565b604051601f8301601f19908116603f01168101908282118183101715610eb557610eb5610e4c565b81604052838152866020858801011115610ece57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215610f0157600080fd5b8235610f0c81610dc0565b915060208301356001600160401b03811115610f2757600080fd5b610f3385828601610e62565b9150509250929050565b6001600160a01b0391909116815260200190565b60008083601f840112610f6357600080fd5b5081356001600160401b03811115610f7a57600080fd5b602083019150836020828501011115610f9257600080fd5b9250929050565b600080600060408486031215610fae57600080fd5b8335610fb981610dc0565b925060208401356001600160401b03811115610fd457600080fd5b610fe086828701610f51565b9497909650939450505050565b60008060008060006080868803121561100557600080fd5b853561101081610dc0565b945060208601356001600160401b03808216821461102d57600080fd5b9094506040870135908082111561104357600080fd5b5061105088828901610f51565b909450925050606086013561106481610dc0565b809150509295509295909350565b602081016003831061109457634e487b7160e01b600052602160045260246000fd5b91905290565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c9082015260008051602061120b83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061120b83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b60005b8381101561118d578181015183820152602001611175565b50506000910152565b600081518084526111ae816020860160208601611172565b601f01601f19169290920160200192915050565b602081526000610ca56020830184611196565b6000602082840312156111e757600080fd5b5051919050565b60008251611200818460208701611172565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122099431d46c666ff1cfb4683a40ac600ace97457f935d979e9d2280892913f9b4764736f6c63430008110033",
370
308
  "linkReferences": {},
371
309
  "deployedLinkReferences": {}
372
310
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/f4b555d268740d9496645b4780a3ecb3.json"
3
+ "buildInfo": "../../../../build-info/2191e2c241e59d243cb1f474b38065b7.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/f4b555d268740d9496645b4780a3ecb3.json"
3
+ "buildInfo": "../../../../build-info/2191e2c241e59d243cb1f474b38065b7.json"
4
4
  }
@@ -6,13 +6,8 @@
6
6
  {
7
7
  "inputs": [
8
8
  {
9
- "internalType": "address",
10
- "name": "_refundAddress",
11
- "type": "address"
12
- },
13
- {
14
- "internalType": "contract ILayerZeroEndpoint",
15
- "name": "_lzEndpoint",
9
+ "internalType": "contract ICelerMessageBus",
10
+ "name": "_celerMessageBus",
16
11
  "type": "address"
17
12
  }
18
13
  ],
@@ -56,19 +51,6 @@
56
51
  "name": "BeaconUpgraded",
57
52
  "type": "event"
58
53
  },
59
- {
60
- "anonymous": false,
61
- "inputs": [
62
- {
63
- "indexed": false,
64
- "internalType": "uint8",
65
- "name": "version",
66
- "type": "uint8"
67
- }
68
- ],
69
- "name": "Initialized",
70
- "type": "event"
71
- },
72
54
  {
73
55
  "anonymous": false,
74
56
  "inputs": [
@@ -128,31 +110,39 @@
128
110
  },
129
111
  {
130
112
  "internalType": "uint256",
131
- "name": "dstChainId",
113
+ "name": "",
132
114
  "type": "uint256"
133
115
  },
134
116
  {
135
117
  "internalType": "bytes",
136
- "name": "payload",
118
+ "name": "message",
137
119
  "type": "bytes"
138
- },
139
- {
140
- "internalType": "uint256",
141
- "name": "estimatedGasAmount",
142
- "type": "uint256"
143
120
  }
144
121
  ],
145
122
  "name": "calcFee",
146
123
  "outputs": [
147
124
  {
148
125
  "internalType": "uint256",
149
- "name": "fee",
126
+ "name": "",
150
127
  "type": "uint256"
151
128
  }
152
129
  ],
153
130
  "stateMutability": "view",
154
131
  "type": "function"
155
132
  },
133
+ {
134
+ "inputs": [],
135
+ "name": "celerMessageBus",
136
+ "outputs": [
137
+ {
138
+ "internalType": "contract ICelerMessageBus",
139
+ "name": "",
140
+ "type": "address"
141
+ }
142
+ ],
143
+ "stateMutability": "view",
144
+ "type": "function"
145
+ },
156
146
  {
157
147
  "inputs": [],
158
148
  "name": "claimOwnership",
@@ -204,19 +194,6 @@
204
194
  "stateMutability": "view",
205
195
  "type": "function"
206
196
  },
207
- {
208
- "inputs": [],
209
- "name": "lzEndpoint",
210
- "outputs": [
211
- {
212
- "internalType": "contract ILayerZeroEndpoint",
213
- "name": "",
214
- "type": "address"
215
- }
216
- ],
217
- "stateMutability": "view",
218
- "type": "function"
219
- },
220
197
  {
221
198
  "inputs": [],
222
199
  "name": "owner",
@@ -256,19 +233,6 @@
256
233
  "stateMutability": "view",
257
234
  "type": "function"
258
235
  },
259
- {
260
- "inputs": [],
261
- "name": "refundAddress",
262
- "outputs": [
263
- {
264
- "internalType": "address payable",
265
- "name": "",
266
- "type": "address"
267
- }
268
- ],
269
- "stateMutability": "view",
270
- "type": "function"
271
- },
272
236
  {
273
237
  "inputs": [
274
238
  {
@@ -283,13 +247,8 @@
283
247
  },
284
248
  {
285
249
  "internalType": "bytes",
286
- "name": "payload",
250
+ "name": "message",
287
251
  "type": "bytes"
288
- },
289
- {
290
- "internalType": "uint256",
291
- "name": "estimatedGasAmount",
292
- "type": "uint256"
293
252
  }
294
253
  ],
295
254
  "name": "sendMessage",
@@ -297,19 +256,6 @@
297
256
  "stateMutability": "payable",
298
257
  "type": "function"
299
258
  },
300
- {
301
- "inputs": [
302
- {
303
- "internalType": "uint16",
304
- "name": "_newVersion",
305
- "type": "uint16"
306
- }
307
- ],
308
- "name": "setLzSendVersion",
309
- "outputs": [],
310
- "stateMutability": "nonpayable",
311
- "type": "function"
312
- },
313
259
  {
314
260
  "inputs": [
315
261
  {
@@ -383,8 +329,8 @@
383
329
  "type": "function"
384
330
  }
385
331
  ],
386
- "bytecode": "0x60e0604052306080523480156200001557600080fd5b5060405162001cd738038062001cd78339810160408190526200003891620001b7565b600154600160a81b900460ff16158080156200005f575060018054600160a01b900460ff16105b806200009557506200007c306200018f60201b62000cae1760201c565b15801562000095575060018054600160a01b900460ff16145b620000fd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6001805460ff60a01b1916600160a01b17905580156200012b576001805460ff60a81b1916600160a81b1790555b6001600160a01b0380841660a052821660c052801562000186576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050620001f6565b6001600160a01b03163b151590565b6001600160a01b0381168114620001b457600080fd5b50565b60008060408385031215620001cb57600080fd5b8251620001d8816200019e565b6020840151909250620001eb816200019e565b809150509250929050565b60805160a05160c051611a796200025e6000396000818161029e0152818161083401528181610a0d0152610c470152600081816101070152610a6b01526000818161043201528181610472015281816105a5015281816105e501526106610152611a796000f3fe6080604052600436106100ce5760003560e01c8063078dfbe7146100d35780630cb61f6c146100f55780633659cfe6146101465780633af32abf146101665780634e71e0c8146101a65780634f1ef286146101bb57806352d1902d146101ce5780638129fc1c146101f157806384fe1721146102065780638da5cb5b146102265780639281aa0b1461024657806393bf751e14610266578063b2267a7b14610279578063b353aaa71461028c578063e30c3978146102c0578063f080765a146102e0578063f4f4d34e14610303575b600080fd5b3480156100df57600080fd5b506100f36100ee3660046113a7565b610323565b005b34801561010157600080fd5b506101297f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015257600080fd5b506100f36101613660046113ea565b610428565b34801561017257600080fd5b506101966101813660046113ea565b60356020526000908152604090205460ff1681565b604051901515815260200161013d565b3480156101b257600080fd5b506100f36104f0565b6100f36101c93660046114a7565b61059b565b3480156101da57600080fd5b506101e3610654565b60405190815260200161013d565b3480156101fd57600080fd5b506100f3610702565b34801561021257600080fd5b506101e36102213660046114f4565b610830565b34801561023257600080fd5b50600054610129906001600160a01b031681565b34801561025257600080fd5b506100f3610261366004611552565b61090c565b6100f3610274366004611585565b610961565b6100f36102873660046115af565b610997565b34801561029857600080fd5b506101297f000000000000000000000000000000000000000000000000000000000000000081565b3480156102cc57600080fd5b50600154610129906001600160a01b031681565b3480156102ec57600080fd5b506102f5610af0565b60405161013d92919061163d565b34801561030f57600080fd5b506100f361031e3660046116c1565b610c04565b6000546001600160a01b031633146103565760405162461bcd60e51b815260040161034d906116e5565b60405180910390fd5b8115610407576001600160a01b0383161515806103705750805b6103b45760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b604482015260640161034d565b600080546040516001600160a01b03808716939216916000805160206119fd83398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036104705760405162461bcd60e51b815260040161034d9061171a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166104a2610cbd565b6001600160a01b0316146104c85760405162461bcd60e51b815260040161034d90611754565b6104d181610cd9565b604080516000808252602082019092526104ed91839190610d03565b50565b6001546001600160a01b031633811461054b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e6572604482015260640161034d565b600080546040516001600160a01b03808516939216916000805160206119fd83398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105e35760405162461bcd60e51b815260040161034d9061171a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610615610cbd565b6001600160a01b03161461063b5760405162461bcd60e51b815260040161034d90611754565b61064482610cd9565b61065082826001610d03565b5050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106ef5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161034d565b506000805160206119dd83398151915290565b600154600160a81b900460ff1615808015610728575060018054600160a01b900460ff16105b8061074f575061073730610cae565b15801561074f575060018054600160a01b900460ff16145b6107b25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161034d565b6001805460ff60a01b1916600160a01b17905580156107df576001805460ff60a81b1916600160a81b1790555b6107e7610e6e565b80156104ed576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166340a7bb1061086a86610eef565b610875603288610f34565b88876040516020016108889291906117de565b60405160208183030381529060405260006108a288610f49565b6040518663ffffffff1660e01b81526004016108c2959493929190611802565b6040805180830381865afa1580156108de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109029190611856565b5095945050505050565b6000546001600160a01b031633146109365760405162461bcd60e51b815260040161034d906116e5565b6001600160a01b03919091166000908152603560205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461098b5760405162461bcd60e51b815260040161034d906116e5565b61042360328284610f72565b3360009081526035602052604090205460ff166109c6576040516286200b60e81b815260040160405180910390fd5b60006109d3603286610f34565b6040516001600160601b0319606092831b811660208301523090921b909116603482015260480160405160208183030381529060405290507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c580310034610a4488610eef565b848a8989604051602001610a5a9392919061187a565b6040516020818303038152906040527f00000000000000000000000000000000000000000000000000000000000000006000610a958a610f49565b6040518863ffffffff1660e01b8152600401610ab6969594939291906118ba565b6000604051808303818588803b158015610acf57600080fd5b505af1158015610ae3573d6000803e3d6000fd5b5050505050505050505050565b6060806000610aff6032610f92565b9050806001600160401b03811115610b1957610b19611405565b604051908082528060200260200182016040528015610b42578160200160208202803683370190505b509250806001600160401b03811115610b5d57610b5d611405565b604051908082528060200260200182016040528015610b86578160200160208202803683370190505b50915060005b81811015610bfe57610b9f603282610f9d565b858381518110610bb157610bb1611921565b60200260200101858481518110610bca57610bca611921565b60200260200101826001600160a01b03166001600160a01b031681525082815250505080610bf790611937565b9050610b8c565b50509091565b6000546001600160a01b03163314610c2e5760405162461bcd60e51b815260040161034d906116e5565b6040516307e0db1760e01b815261ffff821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906307e0db1790602401600060405180830381600087803b158015610c9357600080fd5b505af1158015610ca7573d6000803e3d6000fd5b5050505050565b6001600160a01b03163b151590565b6000805160206119dd833981519152546001600160a01b031690565b6000546001600160a01b031633146104ed5760405162461bcd60e51b815260040161034d906116e5565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610d365761042383610fb9565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610d90575060408051601f3d908101601f19168201909252610d8d9181019061195e565b60015b610df35760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161034d565b6000805160206119dd8339815191528114610e625760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161034d565b50610423838383611053565b600154600160a81b900460ff16610edb5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840161034d565b600080546001600160a01b03191633179055565b60008161a86903610f03575061277a919050565b816201388103610f16575061277d919050565b8161a86a03610f275750606a919050565b610f2f611977565b919050565b6000610f40838361107e565b90505b92915050565b60408051600160f01b602082015260228082019390935281518082039093018352604201905290565b6000610f8884846001600160a01b0385166110ee565b90505b9392505050565b6000610f438261110b565b6000808080610fac8686611116565b9097909650945050505050565b610fc281610cae565b6110245760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161034d565b6000805160206119dd83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61105c83611141565b6000825111806110695750805b15610423576110788383611181565b50505050565b6000818152600283016020526040812054801515806110a257506110a284846111a6565b610f405760405162461bcd60e51b815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b65790000604482015260640161034d565b60008281526002840160205260408120829055610f8884846111b2565b6000610f43826111be565b6000808061112485856111c8565b600081815260029690960160205260409095205494959350505050565b61114a81610fb9565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610f408383604051806060016040528060278152602001611a1d602791396111d4565b6000610f4083836112af565b6000610f4083836112bb565b6000610f43825490565b6000610f408383611305565b60606111df84610cae565b61123a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840161034d565b600080856001600160a01b031685604051611255919061198d565b600060405180830381855af49150503d8060008114611290576040519150601f19603f3d011682016040523d82523d6000602084013e611295565b606091505b50915091506112a582828661132f565b9695505050505050565b6000610f408383611368565b60006112c78383611368565b6112fd57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610f43565b506000610f43565b600082600001828154811061131c5761131c611921565b9060005260206000200154905092915050565b6060831561133e575081610f8b565b82511561134e5782518084602001fd5b8160405162461bcd60e51b815260040161034d91906119a9565b60009081526001919091016020526040902054151590565b80356001600160a01b0381168114610f2f57600080fd5b80358015158114610f2f57600080fd5b6000806000606084860312156113bc57600080fd5b6113c584611380565b92506113d360208501611397565b91506113e160408501611397565b90509250925092565b6000602082840312156113fc57600080fd5b610f4082611380565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261142c57600080fd5b81356001600160401b038082111561144657611446611405565b604051601f8301601f19908116603f0116810190828211818310171561146e5761146e611405565b8160405283815286602085880101111561148757600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080604083850312156114ba57600080fd5b6114c383611380565b915060208301356001600160401b038111156114de57600080fd5b6114ea8582860161141b565b9150509250929050565b6000806000806080858703121561150a57600080fd5b61151385611380565b93506020850135925060408501356001600160401b0381111561153557600080fd5b6115418782880161141b565b949793965093946060013593505050565b6000806040838503121561156557600080fd5b61156e83611380565b915061157c60208401611397565b90509250929050565b6000806040838503121561159857600080fd5b6115a183611380565b946020939093013593505050565b6000806000806000608086880312156115c757600080fd5b6115d086611380565b94506020860135935060408601356001600160401b03808211156115f357600080fd5b818801915088601f83011261160757600080fd5b81358181111561161657600080fd5b89602082850101111561162857600080fd5b96999598505060200195606001359392505050565b604080825283519082018190526000906020906060840190828701845b828110156116765781518452928401929084019060010161165a565b5050508381038285015284518082528583019183019060005b818110156116b45783516001600160a01b03168352928401929184019160010161168f565b5090979650505050505050565b6000602082840312156116d357600080fd5b813561ffff81168114610f4057600080fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c908201526000805160206119bd83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206119bd83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60005b838110156117a9578181015183820152602001611791565b50506000910152565b600081518084526117ca81602086016020860161178e565b601f01601f19169290920160200192915050565b6001600160a01b0383168152604060208201819052600090610f88908301846117b2565b61ffff861681526001600160a01b038516602082015260a060408201819052600090611830908301866117b2565b8415156060840152828103608084015261184a81856117b2565b98975050505050505050565b6000806040838503121561186957600080fd5b505080516020909101519092909150565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b61ffff8716815260c0602082015260006118d760c08301886117b2565b82810360408401526118e981886117b2565b6001600160a01b0387811660608601528616608085015283810360a0850152905061191481856117b2565b9998505050505050505050565b634e487b7160e01b600052603260045260246000fd5b60006001820161195757634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561197057600080fd5b5051919050565b634e487b7160e01b600052600160045260246000fd5b6000825161199f81846020870161178e565b9190910192915050565b602081526000610f4060208301846117b256fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c9c7340266277a1460039718afd3dc29a048a7f2710b35f0fc9a411f2c5355bc64736f6c63430008110033",
387
- "deployedBytecode": "0x6080604052600436106100ce5760003560e01c8063078dfbe7146100d35780630cb61f6c146100f55780633659cfe6146101465780633af32abf146101665780634e71e0c8146101a65780634f1ef286146101bb57806352d1902d146101ce5780638129fc1c146101f157806384fe1721146102065780638da5cb5b146102265780639281aa0b1461024657806393bf751e14610266578063b2267a7b14610279578063b353aaa71461028c578063e30c3978146102c0578063f080765a146102e0578063f4f4d34e14610303575b600080fd5b3480156100df57600080fd5b506100f36100ee3660046113a7565b610323565b005b34801561010157600080fd5b506101297f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015257600080fd5b506100f36101613660046113ea565b610428565b34801561017257600080fd5b506101966101813660046113ea565b60356020526000908152604090205460ff1681565b604051901515815260200161013d565b3480156101b257600080fd5b506100f36104f0565b6100f36101c93660046114a7565b61059b565b3480156101da57600080fd5b506101e3610654565b60405190815260200161013d565b3480156101fd57600080fd5b506100f3610702565b34801561021257600080fd5b506101e36102213660046114f4565b610830565b34801561023257600080fd5b50600054610129906001600160a01b031681565b34801561025257600080fd5b506100f3610261366004611552565b61090c565b6100f3610274366004611585565b610961565b6100f36102873660046115af565b610997565b34801561029857600080fd5b506101297f000000000000000000000000000000000000000000000000000000000000000081565b3480156102cc57600080fd5b50600154610129906001600160a01b031681565b3480156102ec57600080fd5b506102f5610af0565b60405161013d92919061163d565b34801561030f57600080fd5b506100f361031e3660046116c1565b610c04565b6000546001600160a01b031633146103565760405162461bcd60e51b815260040161034d906116e5565b60405180910390fd5b8115610407576001600160a01b0383161515806103705750805b6103b45760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b604482015260640161034d565b600080546040516001600160a01b03808716939216916000805160206119fd83398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036104705760405162461bcd60e51b815260040161034d9061171a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166104a2610cbd565b6001600160a01b0316146104c85760405162461bcd60e51b815260040161034d90611754565b6104d181610cd9565b604080516000808252602082019092526104ed91839190610d03565b50565b6001546001600160a01b031633811461054b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e6572604482015260640161034d565b600080546040516001600160a01b03808516939216916000805160206119fd83398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105e35760405162461bcd60e51b815260040161034d9061171a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610615610cbd565b6001600160a01b03161461063b5760405162461bcd60e51b815260040161034d90611754565b61064482610cd9565b61065082826001610d03565b5050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106ef5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161034d565b506000805160206119dd83398151915290565b600154600160a81b900460ff1615808015610728575060018054600160a01b900460ff16105b8061074f575061073730610cae565b15801561074f575060018054600160a01b900460ff16145b6107b25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161034d565b6001805460ff60a01b1916600160a01b17905580156107df576001805460ff60a81b1916600160a81b1790555b6107e7610e6e565b80156104ed576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166340a7bb1061086a86610eef565b610875603288610f34565b88876040516020016108889291906117de565b60405160208183030381529060405260006108a288610f49565b6040518663ffffffff1660e01b81526004016108c2959493929190611802565b6040805180830381865afa1580156108de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109029190611856565b5095945050505050565b6000546001600160a01b031633146109365760405162461bcd60e51b815260040161034d906116e5565b6001600160a01b03919091166000908152603560205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461098b5760405162461bcd60e51b815260040161034d906116e5565b61042360328284610f72565b3360009081526035602052604090205460ff166109c6576040516286200b60e81b815260040160405180910390fd5b60006109d3603286610f34565b6040516001600160601b0319606092831b811660208301523090921b909116603482015260480160405160208183030381529060405290507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c580310034610a4488610eef565b848a8989604051602001610a5a9392919061187a565b6040516020818303038152906040527f00000000000000000000000000000000000000000000000000000000000000006000610a958a610f49565b6040518863ffffffff1660e01b8152600401610ab6969594939291906118ba565b6000604051808303818588803b158015610acf57600080fd5b505af1158015610ae3573d6000803e3d6000fd5b5050505050505050505050565b6060806000610aff6032610f92565b9050806001600160401b03811115610b1957610b19611405565b604051908082528060200260200182016040528015610b42578160200160208202803683370190505b509250806001600160401b03811115610b5d57610b5d611405565b604051908082528060200260200182016040528015610b86578160200160208202803683370190505b50915060005b81811015610bfe57610b9f603282610f9d565b858381518110610bb157610bb1611921565b60200260200101858481518110610bca57610bca611921565b60200260200101826001600160a01b03166001600160a01b031681525082815250505080610bf790611937565b9050610b8c565b50509091565b6000546001600160a01b03163314610c2e5760405162461bcd60e51b815260040161034d906116e5565b6040516307e0db1760e01b815261ffff821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906307e0db1790602401600060405180830381600087803b158015610c9357600080fd5b505af1158015610ca7573d6000803e3d6000fd5b5050505050565b6001600160a01b03163b151590565b6000805160206119dd833981519152546001600160a01b031690565b6000546001600160a01b031633146104ed5760405162461bcd60e51b815260040161034d906116e5565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610d365761042383610fb9565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610d90575060408051601f3d908101601f19168201909252610d8d9181019061195e565b60015b610df35760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161034d565b6000805160206119dd8339815191528114610e625760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161034d565b50610423838383611053565b600154600160a81b900460ff16610edb5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840161034d565b600080546001600160a01b03191633179055565b60008161a86903610f03575061277a919050565b816201388103610f16575061277d919050565b8161a86a03610f275750606a919050565b610f2f611977565b919050565b6000610f40838361107e565b90505b92915050565b60408051600160f01b602082015260228082019390935281518082039093018352604201905290565b6000610f8884846001600160a01b0385166110ee565b90505b9392505050565b6000610f438261110b565b6000808080610fac8686611116565b9097909650945050505050565b610fc281610cae565b6110245760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161034d565b6000805160206119dd83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61105c83611141565b6000825111806110695750805b15610423576110788383611181565b50505050565b6000818152600283016020526040812054801515806110a257506110a284846111a6565b610f405760405162461bcd60e51b815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b65790000604482015260640161034d565b60008281526002840160205260408120829055610f8884846111b2565b6000610f43826111be565b6000808061112485856111c8565b600081815260029690960160205260409095205494959350505050565b61114a81610fb9565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610f408383604051806060016040528060278152602001611a1d602791396111d4565b6000610f4083836112af565b6000610f4083836112bb565b6000610f43825490565b6000610f408383611305565b60606111df84610cae565b61123a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840161034d565b600080856001600160a01b031685604051611255919061198d565b600060405180830381855af49150503d8060008114611290576040519150601f19603f3d011682016040523d82523d6000602084013e611295565b606091505b50915091506112a582828661132f565b9695505050505050565b6000610f408383611368565b60006112c78383611368565b6112fd57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610f43565b506000610f43565b600082600001828154811061131c5761131c611921565b9060005260206000200154905092915050565b6060831561133e575081610f8b565b82511561134e5782518084602001fd5b8160405162461bcd60e51b815260040161034d91906119a9565b60009081526001919091016020526040902054151590565b80356001600160a01b0381168114610f2f57600080fd5b80358015158114610f2f57600080fd5b6000806000606084860312156113bc57600080fd5b6113c584611380565b92506113d360208501611397565b91506113e160408501611397565b90509250925092565b6000602082840312156113fc57600080fd5b610f4082611380565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261142c57600080fd5b81356001600160401b038082111561144657611446611405565b604051601f8301601f19908116603f0116810190828211818310171561146e5761146e611405565b8160405283815286602085880101111561148757600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080604083850312156114ba57600080fd5b6114c383611380565b915060208301356001600160401b038111156114de57600080fd5b6114ea8582860161141b565b9150509250929050565b6000806000806080858703121561150a57600080fd5b61151385611380565b93506020850135925060408501356001600160401b0381111561153557600080fd5b6115418782880161141b565b949793965093946060013593505050565b6000806040838503121561156557600080fd5b61156e83611380565b915061157c60208401611397565b90509250929050565b6000806040838503121561159857600080fd5b6115a183611380565b946020939093013593505050565b6000806000806000608086880312156115c757600080fd5b6115d086611380565b94506020860135935060408601356001600160401b03808211156115f357600080fd5b818801915088601f83011261160757600080fd5b81358181111561161657600080fd5b89602082850101111561162857600080fd5b96999598505060200195606001359392505050565b604080825283519082018190526000906020906060840190828701845b828110156116765781518452928401929084019060010161165a565b5050508381038285015284518082528583019183019060005b818110156116b45783516001600160a01b03168352928401929184019160010161168f565b5090979650505050505050565b6000602082840312156116d357600080fd5b813561ffff81168114610f4057600080fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c908201526000805160206119bd83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206119bd83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60005b838110156117a9578181015183820152602001611791565b50506000910152565b600081518084526117ca81602086016020860161178e565b601f01601f19169290920160200192915050565b6001600160a01b0383168152604060208201819052600090610f88908301846117b2565b61ffff861681526001600160a01b038516602082015260a060408201819052600090611830908301866117b2565b8415156060840152828103608084015261184a81856117b2565b98975050505050505050565b6000806040838503121561186957600080fd5b505080516020909101519092909150565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b61ffff8716815260c0602082015260006118d760c08301886117b2565b82810360408401526118e981886117b2565b6001600160a01b0387811660608601528616608085015283810360a0850152905061191481856117b2565b9998505050505050505050565b634e487b7160e01b600052603260045260246000fd5b60006001820161195757634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561197057600080fd5b5051919050565b634e487b7160e01b600052600160045260246000fd5b6000825161199f81846020870161178e565b9190910192915050565b602081526000610f4060208301846117b256fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c9c7340266277a1460039718afd3dc29a048a7f2710b35f0fc9a411f2c5355bc64736f6c63430008110033",
332
+ "bytecode": "0x60c0604052306080523480156200001557600080fd5b50604051620018f1380380620018f1833981016040819052620000389162000152565b600154600160a81b900460ff166200005e57600154600160a01b900460ff161562000068565b6200006862000125565b620000d05760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b600154600160a81b900460ff16158015620000fb576001805461ffff60a01b191661010160a01b1790555b6001600160a01b03821660a05280156200011d576001805460ff60a81b191690555b505062000184565b60006200013d306200014360201b62000aad1760201c565b15905090565b6001600160a01b03163b151590565b6000602082840312156200016557600080fd5b81516001600160a01b03811681146200017d57600080fd5b9392505050565b60805160a05161171d620001d4600039600081816101a10152818161083301526108e30152600081816103c8015281816104080152818161053b0152818161057b01526105f7015261171d6000f3fe6080604052600436106100b85760003560e01c8063078dfbe7146100bd5780633659cfe6146100df5780633af32abf146100ff5780634e71e0c8146101445780634f1ef2861461015957806352d1902d1461016c5780635cc049681461018f5780638129fc1c146101db5780638da5cb5b146101f05780639281aa0b1461021057806393bf751e146102305780639f3ce55a14610243578063b43f0b1e14610256578063e30c397814610276578063f080765a14610296575b600080fd5b3480156100c957600080fd5b506100dd6100d8366004611144565b6102b9565b005b3480156100eb57600080fd5b506100dd6100fa366004611187565b6103be565b34801561010b57600080fd5b5061012f61011a366004611187565b60356020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561015057600080fd5b506100dd610486565b6100dd610167366004611244565b610531565b34801561017857600080fd5b506101816105ea565b60405190815260200161013b565b34801561019b57600080fd5b506101c37f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161013b565b3480156101e757600080fd5b506100dd610698565b3480156101fc57600080fd5b506000546101c3906001600160a01b031681565b34801561021c57600080fd5b506100dd61022b366004611291565b61076f565b6100dd61023e3660046112c4565b6107c4565b6100dd6102513660046112ee565b6107fa565b34801561026257600080fd5b50610181610271366004611374565b6108df565b34801561028257600080fd5b506001546101c3906001600160a01b031681565b3480156102a257600080fd5b506102ab610999565b60405161013b9291906113ca565b6000546001600160a01b031633146102ec5760405162461bcd60e51b81526004016102e39061144e565b60405180910390fd5b811561039d576001600160a01b0383161515806103065750805b61034a5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b60448201526064016102e3565b600080546040516001600160a01b03808716939216916000805160206116a183398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036104065760405162461bcd60e51b81526004016102e390611483565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610438610abc565b6001600160a01b03161461045e5760405162461bcd60e51b81526004016102e3906114bd565b61046781610ad8565b6040805160008082526020820190925261048391839190610b02565b50565b6001546001600160a01b03163381146104e15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e657260448201526064016102e3565b600080546040516001600160a01b03808516939216916000805160206116a183398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105795760405162461bcd60e51b81526004016102e390611483565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166105ab610abc565b6001600160a01b0316146105d15760405162461bcd60e51b81526004016102e3906114bd565b6105da82610ad8565b6105e682826001610b02565b5050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106855760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016102e3565b5060008051602061168183398151915290565b600154600160a81b900460ff166106bc57600154600160a01b900460ff16156106c4565b6106c4610c6d565b6107275760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016102e3565b600154600160a81b900460ff16158015610751576001805461ffff60a01b191661010160a01b1790555b610759610c7e565b8015610483576001805460ff60a81b1916905550565b6000546001600160a01b031633146107995760405162461bcd60e51b81526004016102e39061144e565b6001600160a01b03919091166000908152603560205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107ee5760405162461bcd60e51b81526004016102e39061144e565b6103b960328284610cff565b3360009081526035602052604090205460ff16610829576040516286200b60e81b815260040160405180910390fd5b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016639f3ce55a34610864603287610d15565b8688878760405160200161087a939291906114f7565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016108a793929190611587565b6000604051808303818588803b1580156108c057600080fd5b505af11580156108d4573d6000803e3d6000fd5b505050505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635335dca285846040516020016109239291906115b7565b6040516020818303038152906040526040518263ffffffff1660e01b815260040161094e91906115db565b602060405180830381865afa15801561096b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098f91906115ee565b90505b9392505050565b60608060006109a86032610d2a565b9050806001600160401b038111156109c2576109c26111a2565b6040519080825280602002602001820160405280156109eb578160200160208202803683370190505b509250806001600160401b03811115610a0657610a066111a2565b604051908082528060200260200182016040528015610a2f578160200160208202803683370190505b50915060005b81811015610aa757610a48603282610d35565b858381518110610a5a57610a5a611607565b60200260200101858481518110610a7357610a73611607565b60200260200101826001600160a01b03166001600160a01b031681525082815250505080610aa09061161d565b9050610a35565b50509091565b6001600160a01b03163b151590565b600080516020611681833981519152546001600160a01b031690565b6000546001600160a01b031633146104835760405162461bcd60e51b81526004016102e39061144e565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610b35576103b983610d51565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610b8f575060408051601f3d908101601f19168201909252610b8c918101906115ee565b60015b610bf25760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016102e3565b6000805160206116818339815191528114610c615760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016102e3565b506103b9838383610deb565b6000610c7830610aad565b15905090565b600154600160a81b900460ff16610ceb5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016102e3565b600080546001600160a01b03191633179055565b600061098f84846001600160a01b038516610e16565b6000610d218383610e33565b90505b92915050565b6000610d2482610ea3565b6000808080610d448686610eae565b9097909650945050505050565b610d5a81610aad565b610dbc5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102e3565b60008051602061168183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610df483610ed9565b600082511180610e015750805b156103b957610e108383610f19565b50505050565b6000828152600284016020526040812082905561098f8484610f3e565b600081815260028301602052604081205480151580610e575750610e578484610f4a565b610d215760405162461bcd60e51b815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b6579000060448201526064016102e3565b6000610d2482610f56565b60008080610ebc8585610f60565b600081815260029690960160205260409095205494959350505050565b610ee281610d51565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610d2183836040518060600160405280602781526020016116c160279139610f6c565b6000610d218383611047565b6000610d218383611091565b6000610d24825490565b6000610d21838361109d565b6060610f7784610aad565b610fd25760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016102e3565b600080856001600160a01b031685604051610fed9190611644565b600060405180830381855af49150503d8060008114611028576040519150601f19603f3d011682016040523d82523d6000602084013e61102d565b606091505b509150915061103d8282866110c7565b9695505050505050565b60006110538383611100565b61108957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610d24565b506000610d24565b6000610d218383611100565b60008260000182815481106110b4576110b4611607565b9060005260206000200154905092915050565b606083156110d6575081610992565b8251156110e65782518084602001fd5b8160405162461bcd60e51b81526004016102e391906115db565b60009081526001919091016020526040902054151590565b80356001600160a01b038116811461112f57600080fd5b919050565b8035801515811461112f57600080fd5b60008060006060848603121561115957600080fd5b61116284611118565b925061117060208501611134565b915061117e60408501611134565b90509250925092565b60006020828403121561119957600080fd5b610d2182611118565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126111c957600080fd5b81356001600160401b03808211156111e3576111e36111a2565b604051601f8301601f19908116603f0116810190828211818310171561120b5761120b6111a2565b8160405283815286602085880101111561122457600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561125757600080fd5b61126083611118565b915060208301356001600160401b0381111561127b57600080fd5b611287858286016111b8565b9150509250929050565b600080604083850312156112a457600080fd5b6112ad83611118565b91506112bb60208401611134565b90509250929050565b600080604083850312156112d757600080fd5b6112e083611118565b946020939093013593505050565b6000806000806060858703121561130457600080fd5b61130d85611118565b93506020850135925060408501356001600160401b038082111561133057600080fd5b818701915087601f83011261134457600080fd5b81358181111561135357600080fd5b88602082850101111561136557600080fd5b95989497505060200194505050565b60008060006060848603121561138957600080fd5b61139284611118565b92506020840135915060408401356001600160401b038111156113b457600080fd5b6113c0868287016111b8565b9150509250925092565b604080825283519082018190526000906020906060840190828701845b82811015611403578151845292840192908401906001016113e7565b5050508381038285015284518082528583019183019060005b818110156114415783516001600160a01b03168352928401929184019160010161141c565b5090979650505050505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c9082015260008051602061166183398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061166183398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b60005b8381101561155257818101518382015260200161153a565b50506000910152565b60008151808452611573816020860160208601611537565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006115ae606083018461155b565b95945050505050565b6001600160a01b038316815260406020820181905260009061098f9083018461155b565b602081526000610d21602083018461155b565b60006020828403121561160057600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b60006001820161163d57634e487b7160e01b600052601160045260246000fd5b5060010190565b60008251611656818460208701611537565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122076ebfba5bc93b8922baa17c1deb379e2d3842c69fc405a773747bfe08459a39964736f6c63430008110033",
333
+ "deployedBytecode": "0x6080604052600436106100b85760003560e01c8063078dfbe7146100bd5780633659cfe6146100df5780633af32abf146100ff5780634e71e0c8146101445780634f1ef2861461015957806352d1902d1461016c5780635cc049681461018f5780638129fc1c146101db5780638da5cb5b146101f05780639281aa0b1461021057806393bf751e146102305780639f3ce55a14610243578063b43f0b1e14610256578063e30c397814610276578063f080765a14610296575b600080fd5b3480156100c957600080fd5b506100dd6100d8366004611144565b6102b9565b005b3480156100eb57600080fd5b506100dd6100fa366004611187565b6103be565b34801561010b57600080fd5b5061012f61011a366004611187565b60356020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561015057600080fd5b506100dd610486565b6100dd610167366004611244565b610531565b34801561017857600080fd5b506101816105ea565b60405190815260200161013b565b34801561019b57600080fd5b506101c37f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161013b565b3480156101e757600080fd5b506100dd610698565b3480156101fc57600080fd5b506000546101c3906001600160a01b031681565b34801561021c57600080fd5b506100dd61022b366004611291565b61076f565b6100dd61023e3660046112c4565b6107c4565b6100dd6102513660046112ee565b6107fa565b34801561026257600080fd5b50610181610271366004611374565b6108df565b34801561028257600080fd5b506001546101c3906001600160a01b031681565b3480156102a257600080fd5b506102ab610999565b60405161013b9291906113ca565b6000546001600160a01b031633146102ec5760405162461bcd60e51b81526004016102e39061144e565b60405180910390fd5b811561039d576001600160a01b0383161515806103065750805b61034a5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b60448201526064016102e3565b600080546040516001600160a01b03808716939216916000805160206116a183398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036104065760405162461bcd60e51b81526004016102e390611483565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610438610abc565b6001600160a01b03161461045e5760405162461bcd60e51b81526004016102e3906114bd565b61046781610ad8565b6040805160008082526020820190925261048391839190610b02565b50565b6001546001600160a01b03163381146104e15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e657260448201526064016102e3565b600080546040516001600160a01b03808516939216916000805160206116a183398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105795760405162461bcd60e51b81526004016102e390611483565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166105ab610abc565b6001600160a01b0316146105d15760405162461bcd60e51b81526004016102e3906114bd565b6105da82610ad8565b6105e682826001610b02565b5050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106855760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016102e3565b5060008051602061168183398151915290565b600154600160a81b900460ff166106bc57600154600160a01b900460ff16156106c4565b6106c4610c6d565b6107275760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016102e3565b600154600160a81b900460ff16158015610751576001805461ffff60a01b191661010160a01b1790555b610759610c7e565b8015610483576001805460ff60a81b1916905550565b6000546001600160a01b031633146107995760405162461bcd60e51b81526004016102e39061144e565b6001600160a01b03919091166000908152603560205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107ee5760405162461bcd60e51b81526004016102e39061144e565b6103b960328284610cff565b3360009081526035602052604090205460ff16610829576040516286200b60e81b815260040160405180910390fd5b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016639f3ce55a34610864603287610d15565b8688878760405160200161087a939291906114f7565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016108a793929190611587565b6000604051808303818588803b1580156108c057600080fd5b505af11580156108d4573d6000803e3d6000fd5b505050505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635335dca285846040516020016109239291906115b7565b6040516020818303038152906040526040518263ffffffff1660e01b815260040161094e91906115db565b602060405180830381865afa15801561096b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098f91906115ee565b90505b9392505050565b60608060006109a86032610d2a565b9050806001600160401b038111156109c2576109c26111a2565b6040519080825280602002602001820160405280156109eb578160200160208202803683370190505b509250806001600160401b03811115610a0657610a066111a2565b604051908082528060200260200182016040528015610a2f578160200160208202803683370190505b50915060005b81811015610aa757610a48603282610d35565b858381518110610a5a57610a5a611607565b60200260200101858481518110610a7357610a73611607565b60200260200101826001600160a01b03166001600160a01b031681525082815250505080610aa09061161d565b9050610a35565b50509091565b6001600160a01b03163b151590565b600080516020611681833981519152546001600160a01b031690565b6000546001600160a01b031633146104835760405162461bcd60e51b81526004016102e39061144e565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610b35576103b983610d51565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610b8f575060408051601f3d908101601f19168201909252610b8c918101906115ee565b60015b610bf25760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016102e3565b6000805160206116818339815191528114610c615760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016102e3565b506103b9838383610deb565b6000610c7830610aad565b15905090565b600154600160a81b900460ff16610ceb5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016102e3565b600080546001600160a01b03191633179055565b600061098f84846001600160a01b038516610e16565b6000610d218383610e33565b90505b92915050565b6000610d2482610ea3565b6000808080610d448686610eae565b9097909650945050505050565b610d5a81610aad565b610dbc5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102e3565b60008051602061168183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610df483610ed9565b600082511180610e015750805b156103b957610e108383610f19565b50505050565b6000828152600284016020526040812082905561098f8484610f3e565b600081815260028301602052604081205480151580610e575750610e578484610f4a565b610d215760405162461bcd60e51b815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b6579000060448201526064016102e3565b6000610d2482610f56565b60008080610ebc8585610f60565b600081815260029690960160205260409095205494959350505050565b610ee281610d51565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610d2183836040518060600160405280602781526020016116c160279139610f6c565b6000610d218383611047565b6000610d218383611091565b6000610d24825490565b6000610d21838361109d565b6060610f7784610aad565b610fd25760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016102e3565b600080856001600160a01b031685604051610fed9190611644565b600060405180830381855af49150503d8060008114611028576040519150601f19603f3d011682016040523d82523d6000602084013e61102d565b606091505b509150915061103d8282866110c7565b9695505050505050565b60006110538383611100565b61108957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610d24565b506000610d24565b6000610d218383611100565b60008260000182815481106110b4576110b4611607565b9060005260206000200154905092915050565b606083156110d6575081610992565b8251156110e65782518084602001fd5b8160405162461bcd60e51b81526004016102e391906115db565b60009081526001919091016020526040902054151590565b80356001600160a01b038116811461112f57600080fd5b919050565b8035801515811461112f57600080fd5b60008060006060848603121561115957600080fd5b61116284611118565b925061117060208501611134565b915061117e60408501611134565b90509250925092565b60006020828403121561119957600080fd5b610d2182611118565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126111c957600080fd5b81356001600160401b03808211156111e3576111e36111a2565b604051601f8301601f19908116603f0116810190828211818310171561120b5761120b6111a2565b8160405283815286602085880101111561122457600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561125757600080fd5b61126083611118565b915060208301356001600160401b0381111561127b57600080fd5b611287858286016111b8565b9150509250929050565b600080604083850312156112a457600080fd5b6112ad83611118565b91506112bb60208401611134565b90509250929050565b600080604083850312156112d757600080fd5b6112e083611118565b946020939093013593505050565b6000806000806060858703121561130457600080fd5b61130d85611118565b93506020850135925060408501356001600160401b038082111561133057600080fd5b818701915087601f83011261134457600080fd5b81358181111561135357600080fd5b88602082850101111561136557600080fd5b95989497505060200194505050565b60008060006060848603121561138957600080fd5b61139284611118565b92506020840135915060408401356001600160401b038111156113b457600080fd5b6113c0868287016111b8565b9150509250925092565b604080825283519082018190526000906020906060840190828701845b82811015611403578151845292840192908401906001016113e7565b5050508381038285015284518082528583019183019060005b818110156114415783516001600160a01b03168352928401929184019160010161141c565b5090979650505050505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c9082015260008051602061166183398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061166183398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b60005b8381101561155257818101518382015260200161153a565b50506000910152565b60008151808452611573816020860160208601611537565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006115ae606083018461155b565b95945050505050565b6001600160a01b038316815260406020820181905260009061098f9083018461155b565b602081526000610d21602083018461155b565b60006020828403121561160057600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b60006001820161163d57634e487b7160e01b600052601160045260246000fd5b5060010190565b60008251611656818460208701611537565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122076ebfba5bc93b8922baa17c1deb379e2d3842c69fc405a773747bfe08459a39964736f6c63430008110033",
388
334
  "linkReferences": {},
389
335
  "deployedLinkReferences": {}
390
336
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/f4b555d268740d9496645b4780a3ecb3.json"
3
+ "buildInfo": "../../../../build-info/2191e2c241e59d243cb1f474b38065b7.json"
4
4
  }