@pendle/core-v2 0.8.0-beta-11 → 0.8.1-beta

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 (286) hide show
  1. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.dbg.json +1 -1
  2. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.json +39 -7
  3. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/WadRayMath.sol/WadRayMath.dbg.json +1 -1
  4. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/WadRayMath.sol/WadRayMath.json +2 -2
  5. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  6. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  7. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.dbg.json +1 -1
  8. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.json +39 -7
  9. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.dbg.json +1 -1
  10. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.json +38 -6
  11. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.dbg.json +4 -0
  12. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.json +864 -0
  13. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.dbg.json +1 -1
  14. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.json +38 -6
  15. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol/PendleYearnVaultSCY.dbg.json +1 -1
  16. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol/PendleYearnVaultSCY.json +38 -6
  17. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBase.sol/SCYBase.dbg.json +1 -1
  18. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBase.sol/SCYBase.json +36 -4
  19. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +1 -1
  20. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.json +36 -4
  21. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol/CelerReceiverUpg.dbg.json +1 -1
  22. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.dbg.json +1 -1
  23. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  24. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +4 -0
  25. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +242 -0
  26. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +4 -0
  27. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/{PendleGaugeControllerSidechain.sol → PendleGaugeControllerSidechainUpg.sol}/PendleGaugeControllerSidechainUpg.json +3 -3
  28. package/build/artifacts/contracts/core/LiquidityMining/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  29. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -15
  31. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json +0 -13
  33. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  35. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  37. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +30 -105
  40. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  42. package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.json +2 -2
  44. package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.json +2 -2
  46. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.json +2 -2
  48. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  51. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  53. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +83 -2
  55. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.json +2 -2
  57. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.json +706 -32
  59. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.json +12 -117
  61. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPTBase.sol/ActionSCYAndPTBase.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPTBase.sol/ActionSCYAndPTBase.json +0 -148
  63. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.json +0 -148
  65. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.json +0 -173
  67. package/build/artifacts/contracts/core/actions/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  68. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +1 -1
  69. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +1 -1
  70. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +1 -1
  71. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  72. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  73. package/build/artifacts/contracts/interfaces/ICelerMessageBus.sol/ICelerMessageBus.dbg.json +1 -1
  74. package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.dbg.json +1 -1
  75. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  76. package/build/artifacts/contracts/interfaces/IJoePair.sol/IJoePair.dbg.json +1 -1
  77. package/build/artifacts/contracts/interfaces/IJoeRouter01.sol/IJoeRouter01.dbg.json +1 -1
  78. package/build/artifacts/contracts/interfaces/IJoeRouter02.sol/IJoeRouter02.dbg.json +1 -1
  79. package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.dbg.json +1 -1
  80. package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.json +837 -15
  81. package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.dbg.json +1 -1
  82. package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.json +68 -0
  83. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  84. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +905 -15
  85. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  86. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  87. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +1 -1
  88. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  89. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  90. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +28 -28
  91. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  92. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  93. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +1 -1
  94. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  95. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  96. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +15 -0
  97. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  98. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  99. package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.dbg.json +1 -1
  100. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  102. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.json +81 -0
  103. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  104. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  105. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  106. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +1 -1
  107. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.json +90 -0
  110. package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.json +79 -0
  112. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.json +36 -4
  115. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  116. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +1 -1
  119. package/build/artifacts/contracts/libraries/RewardManager.sol/RewardManager.dbg.json +1 -1
  120. package/build/artifacts/contracts/libraries/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  121. package/build/artifacts/contracts/libraries/SCY/SCYIndex.sol/SCYIndexLib.dbg.json +1 -1
  122. package/build/artifacts/contracts/libraries/SCY/SCYIndex.sol/SCYIndexLib.json +2 -2
  123. package/build/artifacts/contracts/libraries/SCY/SCYUtils.sol/SCYUtils.dbg.json +1 -1
  124. package/build/artifacts/contracts/libraries/SCY/SCYUtils.sol/SCYUtils.json +2 -2
  125. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  126. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  127. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  128. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  129. package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  130. package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.json +2 -2
  131. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  132. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.json +2 -2
  133. package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  134. package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.json +2 -2
  135. package/build/artifacts/contracts/libraries/helpers/SSTORE2Deployer.sol/SSTORE2Deployer.dbg.json +1 -1
  136. package/build/artifacts/contracts/libraries/helpers/SSTORE2Deployer.sol/SSTORE2Deployer.json +2 -2
  137. package/build/artifacts/contracts/libraries/helpers/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  138. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  139. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
  140. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.dbg.json +1 -1
  141. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.json +2 -2
  142. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  143. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.json +2 -2
  144. package/build/artifacts/contracts/libraries/math/Math.sol/Math.dbg.json +1 -1
  145. package/build/artifacts/contracts/libraries/math/Math.sol/Math.json +2 -2
  146. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.dbg.json +1 -1
  147. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.json +2 -2
  148. package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.dbg.json +1 -1
  149. package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.json +2 -2
  150. package/build/artifacts/contracts/libraries/traderjoe/JoeLibrary.sol/JoeLibrary.dbg.json +1 -1
  151. package/build/artifacts/contracts/libraries/traderjoe/JoeLibrary.sol/JoeLibrary.json +2 -2
  152. package/build/artifacts/contracts/libraries/traderjoe/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.dbg.json +1 -1
  153. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  154. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +324 -2
  155. package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.dbg.json +1 -1
  156. package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.json +2 -2
  157. package/build/artifacts/contracts/periphery/PermissionsV2Upg.sol/PermissionsV2Upg.dbg.json +1 -1
  158. package/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol +13 -3
  159. package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol +13 -9
  160. package/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol +12 -2
  161. package/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol +194 -0
  162. package/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol +12 -8
  163. package/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol +12 -8
  164. package/contracts/SuperComposableYield/base-implementations/SCYBase.sol +10 -12
  165. package/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol +1 -2
  166. package/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol +1 -0
  167. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +1 -1
  168. package/contracts/core/LiquidityMining/GaugeController/{PendleGaugeControllerMainchain.sol → PendleGaugeControllerMainchainUpg.sol} +0 -0
  169. package/contracts/core/LiquidityMining/GaugeController/{PendleGaugeControllerSidechain.sol → PendleGaugeControllerSidechainUpg.sol} +0 -0
  170. package/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +18 -24
  171. package/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +8 -10
  172. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +3 -3
  173. package/contracts/core/Market/PendleMarketFactory.sol +1 -0
  174. package/contracts/core/PendleERC20.sol +1 -1
  175. package/contracts/core/YieldContracts/PendleYieldToken.sol +0 -7
  176. package/contracts/core/actions/ActionCallback.sol +3 -1
  177. package/contracts/core/actions/base/ActionSCYAndYTBase.sol +1 -0
  178. package/contracts/core/actions/base/CallbackHelper.sol +1 -1
  179. package/contracts/interfaces/IPGaugeController.sol +1 -1
  180. package/contracts/interfaces/IPRouterStatic.sol +15 -3
  181. package/contracts/interfaces/IStargateLPStaking.sol +47 -0
  182. package/contracts/interfaces/IStargatePool.sol +49 -0
  183. package/contracts/interfaces/IStargateRouter.sol +37 -0
  184. package/contracts/interfaces/ISuperComposableYield.sol +6 -9
  185. package/contracts/libraries/RewardManager.sol +2 -3
  186. package/contracts/libraries/RewardManagerAbstract.sol +1 -0
  187. package/contracts/libraries/VeBalanceLib.sol +13 -0
  188. package/contracts/libraries/helpers/ArrayLib.sol +0 -17
  189. package/contracts/libraries/helpers/TokenHelper.sol +4 -2
  190. package/contracts/libraries/math/LogExpMath.sol +46 -44
  191. package/contracts/libraries/math/MarketApproxLib.sol +5 -7
  192. package/contracts/libraries/math/MarketMathCore.sol +14 -5
  193. package/contracts/libraries/math/Math.sol +14 -0
  194. package/contracts/offchain-helpers/RouterStatic.sol +163 -34
  195. package/deployments/43113-core.json +7 -7
  196. package/deployments/43113-markets/benqi-market-4Ccb97.json +7 -0
  197. package/deployments/43113-markets/benqi-market-534471.json +7 -0
  198. package/deployments/80001-core.json +6 -6
  199. package/deployments/80001-markets/benqi-market-109acB.json +7 -0
  200. package/deployments/80001-markets/benqi-market-4e470E.json +7 -0
  201. package/package.json +3 -3
  202. package/typechain-types/ActionCore.ts +669 -38
  203. package/typechain-types/ActionSCYAndPTBase.ts +3 -129
  204. package/typechain-types/ActionSCYAndPYBase.ts +3 -129
  205. package/typechain-types/ActionSCYAndYTBase.ts +3 -149
  206. package/typechain-types/ActionYT.ts +31 -117
  207. package/typechain-types/IPActionCore.ts +760 -3
  208. package/typechain-types/IPActionYT.ts +63 -3
  209. package/typechain-types/IPAllAction.ts +818 -3
  210. package/typechain-types/IPMarket.ts +38 -38
  211. package/typechain-types/IPRouterStatic.ts +45 -9
  212. package/typechain-types/IPYieldToken.ts +74 -0
  213. package/typechain-types/IStargateLPStaking.ts +108 -0
  214. package/typechain-types/IStargatePool.ts +94 -0
  215. package/typechain-types/ISuperComposableYield.ts +72 -26
  216. package/typechain-types/PendleAaveV3SCY.ts +74 -28
  217. package/typechain-types/PendleERC4626SCY.ts +73 -27
  218. package/typechain-types/PendleMarket.ts +38 -142
  219. package/typechain-types/PendleQiTokenSCY.ts +74 -28
  220. package/typechain-types/PendleStargatePool.ts +73 -27
  221. package/typechain-types/PendleStargateSCY.ts +1135 -0
  222. package/typechain-types/PendleVotingControllerUpg.ts +0 -21
  223. package/typechain-types/PendleWstEthSCY.ts +73 -27
  224. package/typechain-types/PendleYearnVaultScy.ts +73 -27
  225. package/typechain-types/PendleYieldToken.ts +74 -0
  226. package/typechain-types/RouterStatic.ts +520 -36
  227. package/typechain-types/SCYBase.ts +73 -27
  228. package/typechain-types/SCYBaseWithRewards.ts +73 -27
  229. package/typechain-types/VotingControllerStorageUpg.ts +0 -21
  230. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  231. package/typechain-types/factories/ActionCore__factory.ts +705 -31
  232. package/typechain-types/factories/ActionSCYAndPTBase__factory.ts +0 -148
  233. package/typechain-types/factories/ActionSCYAndPYBase__factory.ts +0 -148
  234. package/typechain-types/factories/ActionSCYAndYTBase__factory.ts +0 -173
  235. package/typechain-types/factories/ActionYT__factory.ts +11 -116
  236. package/typechain-types/factories/ERC20__factory.ts +1 -1
  237. package/typechain-types/factories/IPActionCore__factory.ts +837 -15
  238. package/typechain-types/factories/IPActionYT__factory.ts +68 -0
  239. package/typechain-types/factories/IPAllAction__factory.ts +905 -15
  240. package/typechain-types/factories/IPMarket__factory.ts +28 -28
  241. package/typechain-types/factories/IPRouterStatic__factory.ts +15 -0
  242. package/typechain-types/factories/IPYieldToken__factory.ts +81 -0
  243. package/typechain-types/factories/IStargateLPStaking__factory.ts +90 -0
  244. package/typechain-types/factories/IStargatePool__factory.ts +79 -0
  245. package/typechain-types/factories/ISuperComposableYield__factory.ts +36 -4
  246. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +38 -6
  247. package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
  248. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  249. package/typechain-types/factories/PendleERC4626SCY__factory.ts +37 -5
  250. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  251. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  252. package/typechain-types/factories/PendleGovernanceManager__factory.ts +1 -1
  253. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  254. package/typechain-types/factories/PendleMarket__factory.ts +29 -104
  255. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  256. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  257. package/typechain-types/factories/PendleQiTokenSCY__factory.ts +38 -6
  258. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  259. package/typechain-types/factories/PendleStargatePool__factory.ts +37 -5
  260. package/typechain-types/factories/PendleStargateSCY__factory.ts +952 -0
  261. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -14
  262. package/typechain-types/factories/PendleWstEthSCY__factory.ts +37 -5
  263. package/typechain-types/factories/PendleYearnVaultScy__factory.ts +37 -5
  264. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  265. package/typechain-types/factories/PendleYieldToken__factory.ts +82 -1
  266. package/typechain-types/factories/RouterStatic__factory.ts +323 -1
  267. package/typechain-types/factories/SCYBaseWithRewards__factory.ts +36 -4
  268. package/typechain-types/factories/SCYBase__factory.ts +36 -4
  269. package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +0 -13
  270. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  271. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  272. package/typechain-types/hardhat.d.ts +9 -0
  273. package/typechain-types/index.ts +2 -0
  274. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargatePool.dbg.json +0 -4
  275. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargatePool.json +0 -837
  276. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol/PendleGaugeControllerMainchainUpg.dbg.json +0 -4
  277. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol/PendleGaugeControllerMainchainUpg.json +0 -242
  278. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechain.sol/PendleGaugeControllerSidechainUpg.dbg.json +0 -4
  279. package/deployments/43113-markets/benqi-market-5C60ba.json +0 -7
  280. package/deployments/43113-markets/benqi-market-611eA3.json +0 -7
  281. package/deployments/43113-markets/benqi-market-A386eA.json +0 -7
  282. package/deployments/43113-markets/benqi-market-bf8841.json +0 -7
  283. package/deployments/80001-markets/benqi-market-5E1104.json +0 -7
  284. package/deployments/80001-markets/benqi-market-899134.json +0 -7
  285. package/deployments/80001-markets/benqi-market-94C86f.json +0 -7
  286. package/deployments/80001-markets/benqi-market-c68429.json +0 -7
@@ -342,7 +342,20 @@
342
342
  },
343
343
  {
344
344
  "inputs": [],
345
- "name": "getBaseTokens",
345
+ "name": "getRewardTokens",
346
+ "outputs": [
347
+ {
348
+ "internalType": "address[]",
349
+ "name": "rewardTokens",
350
+ "type": "address[]"
351
+ }
352
+ ],
353
+ "stateMutability": "view",
354
+ "type": "function"
355
+ },
356
+ {
357
+ "inputs": [],
358
+ "name": "getTokensIn",
346
359
  "outputs": [
347
360
  {
348
361
  "internalType": "address[]",
@@ -355,11 +368,11 @@
355
368
  },
356
369
  {
357
370
  "inputs": [],
358
- "name": "getRewardTokens",
371
+ "name": "getTokensOut",
359
372
  "outputs": [
360
373
  {
361
374
  "internalType": "address[]",
362
- "name": "rewardTokens",
375
+ "name": "res",
363
376
  "type": "address[]"
364
377
  }
365
378
  ],
@@ -374,7 +387,26 @@
374
387
  "type": "address"
375
388
  }
376
389
  ],
377
- "name": "isValidBaseToken",
390
+ "name": "isValidTokenIn",
391
+ "outputs": [
392
+ {
393
+ "internalType": "bool",
394
+ "name": "",
395
+ "type": "bool"
396
+ }
397
+ ],
398
+ "stateMutability": "view",
399
+ "type": "function"
400
+ },
401
+ {
402
+ "inputs": [
403
+ {
404
+ "internalType": "address",
405
+ "name": "token",
406
+ "type": "address"
407
+ }
408
+ ],
409
+ "name": "isValidTokenOut",
378
410
  "outputs": [
379
411
  {
380
412
  "internalType": "bool",
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/3b83d9911e204e5de66c32a50a55a4fa.json"
3
+ "buildInfo": "../../../../../build-info/5288c52e2bad622975ca99f52d1a47ff.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/3b83d9911e204e5de66c32a50a55a4fa.json"
3
+ "buildInfo": "../../../../../build-info/5288c52e2bad622975ca99f52d1a47ff.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/3b83d9911e204e5de66c32a50a55a4fa.json"
3
+ "buildInfo": "../../../../../build-info/5288c52e2bad622975ca99f52d1a47ff.json"
4
4
  }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../../build-info/5288c52e2bad622975ca99f52d1a47ff.json"
4
+ }
@@ -0,0 +1,242 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "PendleGaugeControllerMainchainUpg",
4
+ "sourceName": "contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_votingController",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "_pendle",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "address",
20
+ "name": "_marketFactory",
21
+ "type": "address"
22
+ },
23
+ {
24
+ "internalType": "address",
25
+ "name": "_governanceManager",
26
+ "type": "address"
27
+ }
28
+ ],
29
+ "stateMutability": "nonpayable",
30
+ "type": "constructor"
31
+ },
32
+ {
33
+ "anonymous": false,
34
+ "inputs": [
35
+ {
36
+ "indexed": true,
37
+ "internalType": "address",
38
+ "name": "market",
39
+ "type": "address"
40
+ },
41
+ {
42
+ "indexed": false,
43
+ "internalType": "uint256",
44
+ "name": "amount",
45
+ "type": "uint256"
46
+ }
47
+ ],
48
+ "name": "MarketClaimReward",
49
+ "type": "event"
50
+ },
51
+ {
52
+ "anonymous": false,
53
+ "inputs": [
54
+ {
55
+ "indexed": false,
56
+ "internalType": "uint128",
57
+ "name": "wTime",
58
+ "type": "uint128"
59
+ },
60
+ {
61
+ "indexed": false,
62
+ "internalType": "address[]",
63
+ "name": "markets",
64
+ "type": "address[]"
65
+ },
66
+ {
67
+ "indexed": false,
68
+ "internalType": "uint256[]",
69
+ "name": "pendleAmounts",
70
+ "type": "uint256[]"
71
+ }
72
+ ],
73
+ "name": "ReceiveVotingResults",
74
+ "type": "event"
75
+ },
76
+ {
77
+ "inputs": [],
78
+ "name": "claimMarketReward",
79
+ "outputs": [],
80
+ "stateMutability": "nonpayable",
81
+ "type": "function"
82
+ },
83
+ {
84
+ "inputs": [
85
+ {
86
+ "internalType": "uint128",
87
+ "name": "",
88
+ "type": "uint128"
89
+ }
90
+ ],
91
+ "name": "epochRewardReceived",
92
+ "outputs": [
93
+ {
94
+ "internalType": "bool",
95
+ "name": "",
96
+ "type": "bool"
97
+ }
98
+ ],
99
+ "stateMutability": "view",
100
+ "type": "function"
101
+ },
102
+ {
103
+ "inputs": [
104
+ {
105
+ "internalType": "uint256",
106
+ "name": "amount",
107
+ "type": "uint256"
108
+ }
109
+ ],
110
+ "name": "fundPendle",
111
+ "outputs": [],
112
+ "stateMutability": "nonpayable",
113
+ "type": "function"
114
+ },
115
+ {
116
+ "inputs": [],
117
+ "name": "governanceManager",
118
+ "outputs": [
119
+ {
120
+ "internalType": "address",
121
+ "name": "",
122
+ "type": "address"
123
+ }
124
+ ],
125
+ "stateMutability": "view",
126
+ "type": "function"
127
+ },
128
+ {
129
+ "inputs": [],
130
+ "name": "marketFactory",
131
+ "outputs": [
132
+ {
133
+ "internalType": "contract IPMarketFactory",
134
+ "name": "",
135
+ "type": "address"
136
+ }
137
+ ],
138
+ "stateMutability": "view",
139
+ "type": "function"
140
+ },
141
+ {
142
+ "inputs": [],
143
+ "name": "pendle",
144
+ "outputs": [
145
+ {
146
+ "internalType": "address",
147
+ "name": "",
148
+ "type": "address"
149
+ }
150
+ ],
151
+ "stateMutability": "view",
152
+ "type": "function"
153
+ },
154
+ {
155
+ "inputs": [
156
+ {
157
+ "internalType": "address",
158
+ "name": "",
159
+ "type": "address"
160
+ }
161
+ ],
162
+ "name": "rewardData",
163
+ "outputs": [
164
+ {
165
+ "internalType": "uint128",
166
+ "name": "pendlePerSec",
167
+ "type": "uint128"
168
+ },
169
+ {
170
+ "internalType": "uint128",
171
+ "name": "accumulatedPendle",
172
+ "type": "uint128"
173
+ },
174
+ {
175
+ "internalType": "uint128",
176
+ "name": "lastUpdated",
177
+ "type": "uint128"
178
+ },
179
+ {
180
+ "internalType": "uint128",
181
+ "name": "incentiveEndsAt",
182
+ "type": "uint128"
183
+ }
184
+ ],
185
+ "stateMutability": "view",
186
+ "type": "function"
187
+ },
188
+ {
189
+ "inputs": [
190
+ {
191
+ "internalType": "uint128",
192
+ "name": "wTime",
193
+ "type": "uint128"
194
+ },
195
+ {
196
+ "internalType": "address[]",
197
+ "name": "markets",
198
+ "type": "address[]"
199
+ },
200
+ {
201
+ "internalType": "uint256[]",
202
+ "name": "pendleSpeeds",
203
+ "type": "uint256[]"
204
+ }
205
+ ],
206
+ "name": "updateVotingResults",
207
+ "outputs": [],
208
+ "stateMutability": "nonpayable",
209
+ "type": "function"
210
+ },
211
+ {
212
+ "inputs": [],
213
+ "name": "votingController",
214
+ "outputs": [
215
+ {
216
+ "internalType": "address",
217
+ "name": "",
218
+ "type": "address"
219
+ }
220
+ ],
221
+ "stateMutability": "view",
222
+ "type": "function"
223
+ },
224
+ {
225
+ "inputs": [
226
+ {
227
+ "internalType": "uint256",
228
+ "name": "amount",
229
+ "type": "uint256"
230
+ }
231
+ ],
232
+ "name": "withdrawPendle",
233
+ "outputs": [],
234
+ "stateMutability": "nonpayable",
235
+ "type": "function"
236
+ }
237
+ ],
238
+ "bytecode": "0x6101006040523480156200001257600080fd5b506040516200124f3803806200124f8339810160408190526200003591620000c9565b8282826001600160a01b038116620000825760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b604482015260640160405180910390fd5b6001600160a01b0390811660805291821660a052811660c0529390931660e0525062000126915050565b80516001600160a01b0381168114620000c457600080fd5b919050565b60008060008060808587031215620000e057600080fd5b620000eb85620000ac565b9350620000fb60208601620000ac565b92506200010b60408601620000ac565b91506200011b60608601620000ac565b905092959194509250565b60805160a05160c05160e0516110c6620001896000396000818161017e015261023c01526000818160d001526102cd0152600081816101d501528181610417015281816104ec01526105230152600081816101fc01526107bf01526110c66000f3fe608060405234801561001057600080fd5b506004361061008e5760003560e01c8063049e0c8c1461009357806306ae7095146100cb57806348e5d9f8146100ff578063517afbcf1461017957806372cbf870146101a05780638b419c77146101b5578063a0262b3b146101bd578063a2c530da146101d0578063d2e6d1c3146101f7578063f26f2cb41461021e575b600080fd5b6100b66100a1366004610c23565b60656020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6100f27f000000000000000000000000000000000000000000000000000000000000000081565b6040516100c29190610c3e565b61014661010d366004610c67565b606460205260009081526040902080546001909101546001600160801b0380831692600160801b90819004821692808316929190041684565b604080516001600160801b03958616815293851660208501529184169183019190915290911660608201526080016100c2565b6100f27f000000000000000000000000000000000000000000000000000000000000000081565b6101b36101ae366004610d58565b610231565b005b6101b36102b6565b6101b36101cb366004610e2b565b610485565b6100f27f000000000000000000000000000000000000000000000000000000000000000081565b6100f27f000000000000000000000000000000000000000000000000000000000000000081565b6101b361022c366004610e2b565b610516565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102a65760405162461bcd60e51b81526020600482015260156024820152743737ba103b37ba34b7339031b7b73a3937b63632b960591b60448201526064015b60405180910390fd5b6102b183838361054b565b505050565b6040516358e6309f60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f90610302903390600401610c3e565b602060405180830381865afa15801561031f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103439190610e44565b6103805760405162461bcd60e51b815260206004820152600e60248201526d1a5b9d985b1a59081b585c9ad95d60921b604482015260640161029d565b3361038a8161067d565b6001600160a01b0382166000908152606460209081526040918290208351918401516001600160801b03928316600160801b9184168202178083559385015160609095015194831694831681029490941760019091015591900416801561043e576001600160a01b03808316600090815260646020526040902080546001600160801b0316905561043e907f0000000000000000000000000000000000000000000000000000000000000000168383610758565b816001600160a01b03167ff7823f78d472190ac0f94e11854ed334dce4a2e571e5f1bf7a8aec9469891d978260405161047991815260200190565b60405180910390a25050565b61048d6107bb565b6001600160a01b0316336001600160a01b0316146104df5760405162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015260640161029d565b6105136001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163383610758565b50565b6105136001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333084610844565b80518251146105955760405162461bcd60e51b81526020600482015260166024820152750d2dcecc2d8d2c840dac2e4d6cae8e640d8cadccee8d60531b604482015260640161029d565b6001600160801b03831660009081526065602052604090205460ff16156105bb57505050565b6001600160801b0383166000908152606560205260408120805460ff191660011790555b825181101561063c5761062c8382815181106105fd576105fd610e66565b602002602001015161062784848151811061061a5761061a610e66565b6020026020010151610882565b61089c565b61063581610e92565b90506105df565b507fc2a95122fde68f77e93e8f353620af282e72051c5b744320e519fc07ed708ba383838360405161067093929190610eab565b60405180910390a1505050565b60408051608080820183526000808352602080840182905283850182905260608085018390526001600160a01b0387168352606482528583208651948501875280546001600160801b038082168752600160801b9182900481169487019490945260019091015480841697860197909752909504811694830185905292939192909161070b9142169061099c565b905081604001518161071d9190610f42565b82516107299190610f6a565b8260200181815161073a9190610f99565b6001600160801b039081169091529190911660408301525092915050565b6040516001600160a01b0383166024820152604481018290526102b190849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526109b4565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b8152600401602060405180830381865afa15801561081b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083f9190610fc4565b905090565b6040516001600160a01b038085166024830152831660448201526064810182905261087c9085906323b872dd60e01b90608401610784565b50505050565b60006001600160801b0382111561089857600080fd5b5090565b60006108a78361067d565b905060008160000151826040015183606001516108c49190610f42565b6108ce9190610f6a565b9050600062093a806108e08584610f99565b6108ea9190610fe1565b90506040518060800160405280826001600160801b0316815260200184602001516001600160801b03168152602001426001600160801b0316815260200162093a80426109379190610f99565b6001600160801b039081169091526001600160a01b039096166000908152606460209081526040918290208351918401518916600160801b908102928a1692909217815591830151606090930151881602919096161760019095019490945550505050565b60008183106109ab57816109ad565b825b9392505050565b6000610a09826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610a869092919063ffffffff16565b8051909150156102b15780806020019051810190610a279190610e44565b6102b15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161029d565b6060610a958484600085610a9d565b949350505050565b606082471015610afe5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161029d565b6001600160a01b0385163b610b555760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161029d565b600080866001600160a01b03168587604051610b719190611041565b60006040518083038185875af1925050503d8060008114610bae576040519150601f19603f3d011682016040523d82523d6000602084013e610bb3565b606091505b5091509150610bc3828286610bce565b979650505050505050565b60608315610bdd5750816109ad565b825115610bed5782518084602001fd5b8160405162461bcd60e51b815260040161029d919061105d565b80356001600160801b0381168114610c1e57600080fd5b919050565b600060208284031215610c3557600080fd5b6109ad82610c07565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461051357600080fd5b600060208284031215610c7957600080fd5b81356109ad81610c52565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715610cc257610cc2610c84565b604052919050565b60006001600160401b03821115610ce357610ce3610c84565b5060051b60200190565b600082601f830112610cfe57600080fd5b81356020610d13610d0e83610cca565b610c9a565b82815260059290921b84018101918181019086841115610d3257600080fd5b8286015b84811015610d4d5780358352918301918301610d36565b509695505050505050565b600080600060608486031215610d6d57600080fd5b610d7684610c07565b92506020848101356001600160401b0380821115610d9357600080fd5b818701915087601f830112610da757600080fd5b8135610db5610d0e82610cca565b81815260059190911b8301840190848101908a831115610dd457600080fd5b938501935b82851015610dfb578435610dec81610c52565b82529385019390850190610dd9565b965050506040870135925080831115610e1357600080fd5b5050610e2186828701610ced565b9150509250925092565b600060208284031215610e3d57600080fd5b5035919050565b600060208284031215610e5657600080fd5b815180151581146109ad57600080fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610ea457610ea4610e7c565b5060010190565b6001600160801b038416815260606020808301829052845191830182905260009185820191906080850190845b81811015610efd5784516001600160a01b031683529383019391830191600101610ed8565b50508481036040860152855180825290820192508186019060005b81811015610f3457825185529383019391830191600101610f18565b509298975050505050505050565b60006001600160801b0383811690831681811015610f6257610f62610e7c565b039392505050565b60006001600160801b0382811684821681151582840482111615610f9057610f90610e7c565b02949350505050565b60006001600160801b03828116848216808303821115610fbb57610fbb610e7c565b01949350505050565b600060208284031215610fd657600080fd5b81516109ad81610c52565b60006001600160801b038381168061100957634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b60005b83811015611030578181015183820152602001611018565b8381111561087c5750506000910152565b60008251611053818460208701611015565b9190910192915050565b602081526000825180602084015261107c816040850160208701611015565b601f01601f1916919091016040019291505056fea264697066735822122011eb3eb16671c9dee947fc85156cfe16b96bc756c83a9173d212126947d9fbf664736f6c634300080f0033",
239
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061008e5760003560e01c8063049e0c8c1461009357806306ae7095146100cb57806348e5d9f8146100ff578063517afbcf1461017957806372cbf870146101a05780638b419c77146101b5578063a0262b3b146101bd578063a2c530da146101d0578063d2e6d1c3146101f7578063f26f2cb41461021e575b600080fd5b6100b66100a1366004610c23565b60656020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6100f27f000000000000000000000000000000000000000000000000000000000000000081565b6040516100c29190610c3e565b61014661010d366004610c67565b606460205260009081526040902080546001909101546001600160801b0380831692600160801b90819004821692808316929190041684565b604080516001600160801b03958616815293851660208501529184169183019190915290911660608201526080016100c2565b6100f27f000000000000000000000000000000000000000000000000000000000000000081565b6101b36101ae366004610d58565b610231565b005b6101b36102b6565b6101b36101cb366004610e2b565b610485565b6100f27f000000000000000000000000000000000000000000000000000000000000000081565b6100f27f000000000000000000000000000000000000000000000000000000000000000081565b6101b361022c366004610e2b565b610516565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102a65760405162461bcd60e51b81526020600482015260156024820152743737ba103b37ba34b7339031b7b73a3937b63632b960591b60448201526064015b60405180910390fd5b6102b183838361054b565b505050565b6040516358e6309f60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f90610302903390600401610c3e565b602060405180830381865afa15801561031f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103439190610e44565b6103805760405162461bcd60e51b815260206004820152600e60248201526d1a5b9d985b1a59081b585c9ad95d60921b604482015260640161029d565b3361038a8161067d565b6001600160a01b0382166000908152606460209081526040918290208351918401516001600160801b03928316600160801b9184168202178083559385015160609095015194831694831681029490941760019091015591900416801561043e576001600160a01b03808316600090815260646020526040902080546001600160801b0316905561043e907f0000000000000000000000000000000000000000000000000000000000000000168383610758565b816001600160a01b03167ff7823f78d472190ac0f94e11854ed334dce4a2e571e5f1bf7a8aec9469891d978260405161047991815260200190565b60405180910390a25050565b61048d6107bb565b6001600160a01b0316336001600160a01b0316146104df5760405162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015260640161029d565b6105136001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163383610758565b50565b6105136001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333084610844565b80518251146105955760405162461bcd60e51b81526020600482015260166024820152750d2dcecc2d8d2c840dac2e4d6cae8e640d8cadccee8d60531b604482015260640161029d565b6001600160801b03831660009081526065602052604090205460ff16156105bb57505050565b6001600160801b0383166000908152606560205260408120805460ff191660011790555b825181101561063c5761062c8382815181106105fd576105fd610e66565b602002602001015161062784848151811061061a5761061a610e66565b6020026020010151610882565b61089c565b61063581610e92565b90506105df565b507fc2a95122fde68f77e93e8f353620af282e72051c5b744320e519fc07ed708ba383838360405161067093929190610eab565b60405180910390a1505050565b60408051608080820183526000808352602080840182905283850182905260608085018390526001600160a01b0387168352606482528583208651948501875280546001600160801b038082168752600160801b9182900481169487019490945260019091015480841697860197909752909504811694830185905292939192909161070b9142169061099c565b905081604001518161071d9190610f42565b82516107299190610f6a565b8260200181815161073a9190610f99565b6001600160801b039081169091529190911660408301525092915050565b6040516001600160a01b0383166024820152604481018290526102b190849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526109b4565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b8152600401602060405180830381865afa15801561081b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083f9190610fc4565b905090565b6040516001600160a01b038085166024830152831660448201526064810182905261087c9085906323b872dd60e01b90608401610784565b50505050565b60006001600160801b0382111561089857600080fd5b5090565b60006108a78361067d565b905060008160000151826040015183606001516108c49190610f42565b6108ce9190610f6a565b9050600062093a806108e08584610f99565b6108ea9190610fe1565b90506040518060800160405280826001600160801b0316815260200184602001516001600160801b03168152602001426001600160801b0316815260200162093a80426109379190610f99565b6001600160801b039081169091526001600160a01b039096166000908152606460209081526040918290208351918401518916600160801b908102928a1692909217815591830151606090930151881602919096161760019095019490945550505050565b60008183106109ab57816109ad565b825b9392505050565b6000610a09826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610a869092919063ffffffff16565b8051909150156102b15780806020019051810190610a279190610e44565b6102b15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161029d565b6060610a958484600085610a9d565b949350505050565b606082471015610afe5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161029d565b6001600160a01b0385163b610b555760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161029d565b600080866001600160a01b03168587604051610b719190611041565b60006040518083038185875af1925050503d8060008114610bae576040519150601f19603f3d011682016040523d82523d6000602084013e610bb3565b606091505b5091509150610bc3828286610bce565b979650505050505050565b60608315610bdd5750816109ad565b825115610bed5782518084602001fd5b8160405162461bcd60e51b815260040161029d919061105d565b80356001600160801b0381168114610c1e57600080fd5b919050565b600060208284031215610c3557600080fd5b6109ad82610c07565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461051357600080fd5b600060208284031215610c7957600080fd5b81356109ad81610c52565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715610cc257610cc2610c84565b604052919050565b60006001600160401b03821115610ce357610ce3610c84565b5060051b60200190565b600082601f830112610cfe57600080fd5b81356020610d13610d0e83610cca565b610c9a565b82815260059290921b84018101918181019086841115610d3257600080fd5b8286015b84811015610d4d5780358352918301918301610d36565b509695505050505050565b600080600060608486031215610d6d57600080fd5b610d7684610c07565b92506020848101356001600160401b0380821115610d9357600080fd5b818701915087601f830112610da757600080fd5b8135610db5610d0e82610cca565b81815260059190911b8301840190848101908a831115610dd457600080fd5b938501935b82851015610dfb578435610dec81610c52565b82529385019390850190610dd9565b965050506040870135925080831115610e1357600080fd5b5050610e2186828701610ced565b9150509250925092565b600060208284031215610e3d57600080fd5b5035919050565b600060208284031215610e5657600080fd5b815180151581146109ad57600080fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610ea457610ea4610e7c565b5060010190565b6001600160801b038416815260606020808301829052845191830182905260009185820191906080850190845b81811015610efd5784516001600160a01b031683529383019391830191600101610ed8565b50508481036040860152855180825290820192508186019060005b81811015610f3457825185529383019391830191600101610f18565b509298975050505050505050565b60006001600160801b0383811690831681811015610f6257610f62610e7c565b039392505050565b60006001600160801b0382811684821681151582840482111615610f9057610f90610e7c565b02949350505050565b60006001600160801b03828116848216808303821115610fbb57610fbb610e7c565b01949350505050565b600060208284031215610fd657600080fd5b81516109ad81610c52565b60006001600160801b038381168061100957634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b60005b83811015611030578181015183820152602001611018565b8381111561087c5750506000910152565b60008251611053818460208701611015565b9190910192915050565b602081526000825180602084015261107c816040850160208701611015565b601f01601f1916919091016040019291505056fea264697066735822122011eb3eb16671c9dee947fc85156cfe16b96bc756c83a9173d212126947d9fbf664736f6c634300080f0033",
240
+ "linkReferences": {},
241
+ "deployedLinkReferences": {}
242
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../../build-info/5288c52e2bad622975ca99f52d1a47ff.json"
4
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "_format": "hh-sol-artifact-1",
3
3
  "contractName": "PendleGaugeControllerSidechainUpg",
4
- "sourceName": "contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechain.sol",
4
+ "sourceName": "contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol",
5
5
  "abi": [
6
6
  {
7
7
  "inputs": [
@@ -298,8 +298,8 @@
298
298
  "type": "function"
299
299
  }
300
300
  ],
301
- "bytecode": "0x60e06040523480156200001157600080fd5b506040516200159a3803806200159a8339810160408190526200003491620000c2565b808383826001600160a01b038116620000825760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b604482015260640160405180910390fd5b6001600160a01b0390811660805291821660a0521660c052506200010c92505050565b80516001600160a01b0381168114620000bd57600080fd5b919050565b600080600060608486031215620000d857600080fd5b620000e384620000a5565b9250620000f360208501620000a5565b91506200010360408501620000a5565b90509250925092565b60805160a05160c05161143b6200015f60003960008181610109015261041a0152600081816102ac0152818161056401528181610718015261074f0152600081816102e0015261077b015261143b6000f3fe6080604052600436106100ad5760003560e01c8063049e0c8c146100b257806306ae7095146100f75780630ac7f5611461013857806323342c381461015c57806348e5d9f81461017e5780634fb7015f146102055780635cc04968146102255780638b419c77146102455780639c649fdf1461025a578063a0262b3b1461027a578063a2c530da1461029a578063d2e6d1c3146102ce578063e517fedd14610302578063f26f2cb414610322575b600080fd5b3480156100be57600080fd5b506100e26100cd366004610e55565b60656020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561010357600080fd5b5061012b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100ee9190610e72565b34801561014457600080fd5b5061014e60cc5481565b6040519081526020016100ee565b34801561016857600080fd5b5061017c610177366004610eab565b610342565b005b34801561018a57600080fd5b506101d2610199366004610eab565b606460205260009081526040902080546001909101546001600160801b0380831692600160801b90819004821692808316929190041684565b604080516001600160801b03958616815293851660208501529184169183019190915290911660608201526080016100ee565b34801561021157600080fd5b5061017c610220366004610ec8565b6103a5565b34801561023157600080fd5b5060ca5461012b906001600160a01b031681565b34801561025157600080fd5b5061017c610403565b61026d610268366004610ef4565b6105d2565b6040516100ee9190610fa3565b34801561028657600080fd5b5061017c610295366004610fcb565b6106d3565b3480156102a657600080fd5b5061012b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102da57600080fd5b5061012b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561030e57600080fd5b5060cb5461012b906001600160a01b031681565b34801561032e57600080fd5b5061017c61033d366004610fcb565b610742565b61034a610777565b6001600160a01b0316336001600160a01b0316146103835760405162461bcd60e51b815260040161037a90610fe4565b60405180910390fd5b60ca80546001600160a01b0319166001600160a01b0392909216919091179055565b6103ad610777565b6001600160a01b0316336001600160a01b0316146103dd5760405162461bcd60e51b815260040161037a90610fe4565b60cb80546001600160a01b0319166001600160a01b03939093169290921790915560cc55565b6040516358e6309f60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f9061044f903390600401610e72565b602060405180830381865afa15801561046c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610490919061100d565b6104cd5760405162461bcd60e51b815260206004820152600e60248201526d1a5b9d985b1a59081b585c9ad95d60921b604482015260640161037a565b336104d781610800565b6001600160a01b0382166000908152606460209081526040918290208351918401516001600160801b03928316600160801b9184168202178083559385015160609095015194831694831681029490941760019091015591900416801561058b576001600160a01b03808316600090815260646020526040902080546001600160801b0316905561058b907f00000000000000000000000000000000000000000000000000000000000000001683836108db565b816001600160a01b03167ff7823f78d472190ac0f94e11854ed334dce4a2e571e5f1bf7a8aec9469891d97826040516105c691815260200190565b60405180910390a25050565b60ca546000906001600160a01b031633148061060657506105f1610777565b6001600160a01b0316336001600160a01b0316145b6106525760405162461bcd60e51b815260206004820152601d60248201527f6f6e6c792063656c6572206d65737361676520627573206f7220676f76000000604482015260640161037a565b60cb546001600160a01b03878116911614158061067a575060cc54856001600160401b031614155b15610687575060006106ca565b6106c684848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061094392505050565b5060015b95945050505050565b6106db610777565b6001600160a01b0316336001600160a01b03161461070b5760405162461bcd60e51b815260040161037a90610fe4565b61073f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633836108db565b50565b61073f6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333084610973565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fb919061102f565b905090565b60408051608080820183526000808352602080840182905283850182905260608085018390526001600160a01b0387168352606482528583208651948501875280546001600160801b038082168752600160801b9182900481169487019490945260019091015480841697860197909752909504811694830185905292939192909161088e914216906109ab565b90508160400151816108a09190611062565b82516108ac919061108a565b826020018181516108bd91906110b9565b6001600160801b039081169091529190911660408301525092915050565b6040516001600160a01b03831660248201526044810182905261093e90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526109c3565b505050565b60008060008380602001905181019061095c91906111b8565b92509250925061096d838383610a95565b50505050565b6040516001600160a01b038085166024830152831660448201526064810182905261096d9085906323b872dd60e01b90608401610907565b60008183106109ba57816109bc565b825b9392505050565b6000610a18826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610bbf9092919063ffffffff16565b80519091501561093e5780806020019051810190610a36919061100d565b61093e5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161037a565b8051825114610adf5760405162461bcd60e51b81526020600482015260166024820152750d2dcecc2d8d2c840dac2e4d6cae8e640d8cadccee8d60531b604482015260640161037a565b6001600160801b03831660009081526065602052604090205460ff1615610b0557505050565b6001600160801b0383166000908152606560205260408120805460ff191660011790555b8251811015610b7e57610b6e838281518110610b4757610b47611290565b6020026020010151838381518110610b6157610b61611290565b6020026020010151610bd6565b610b77816112a6565b9050610b29565b507fc2a95122fde68f77e93e8f353620af282e72051c5b744320e519fc07ed708ba3838383604051610bb2939291906112bf565b60405180910390a1505050565b6060610bce8484600085610cd6565b949350505050565b6000610be183610800565b90506000816000015182604001518360600151610bfe9190611062565b610c08919061108a565b9050600062093a80610c1a85846110b9565b610c249190611356565b90506040518060800160405280826001600160801b0316815260200184602001516001600160801b03168152602001426001600160801b0316815260200162093a8042610c7191906110b9565b6001600160801b039081169091526001600160a01b039096166000908152606460209081526040918290208351918401518916600160801b908102928a1692909217815591830151606090930151881602919096161760019095019490945550505050565b606082471015610d375760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161037a565b6001600160a01b0385163b610d8e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161037a565b600080866001600160a01b03168587604051610daa91906113b6565b60006040518083038185875af1925050503d8060008114610de7576040519150601f19603f3d011682016040523d82523d6000602084013e610dec565b606091505b5091509150610dfc828286610e07565b979650505050505050565b60608315610e165750816109bc565b825115610e265782518084602001fd5b8160405162461bcd60e51b815260040161037a91906113d2565b6001600160801b038116811461073f57600080fd5b600060208284031215610e6757600080fd5b81356109bc81610e40565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461073f57600080fd5b8035610ea681610e86565b919050565b600060208284031215610ebd57600080fd5b81356109bc81610e86565b60008060408385031215610edb57600080fd5b8235610ee681610e86565b946020939093013593505050565b600080600080600060808688031215610f0c57600080fd5b8535610f1781610e86565b945060208601356001600160401b038082168214610f3457600080fd5b90945060408701359080821115610f4a57600080fd5b818801915088601f830112610f5e57600080fd5b813581811115610f6d57600080fd5b896020828501011115610f7f57600080fd5b602083019550809450505050610f9760608701610e9b565b90509295509295909350565b6020810160038310610fc557634e487b7160e01b600052602160045260246000fd5b91905290565b600060208284031215610fdd57600080fd5b5035919050565b6020808252600f908201526e4f4e4c595f474f5645524e414e434560881b604082015260600190565b60006020828403121561101f57600080fd5b815180151581146109bc57600080fd5b60006020828403121561104157600080fd5b81516109bc81610e86565b634e487b7160e01b600052601160045260246000fd5b60006001600160801b03838116908316818110156110825761108261104c565b039392505050565b60006001600160801b03828116848216811515828404821116156110b0576110b061104c565b02949350505050565b60006001600160801b038281168482168083038211156110db576110db61104c565b01949350505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611122576111226110e4565b604052919050565b60006001600160401b03821115611143576111436110e4565b5060051b60200190565b600082601f83011261115e57600080fd5b8151602061117361116e8361112a565b6110fa565b82815260059290921b8401810191818101908684111561119257600080fd5b8286015b848110156111ad5780518352918301918301611196565b509695505050505050565b6000806000606084860312156111cd57600080fd5b83516111d881610e40565b602085810151919450906001600160401b03808211156111f757600080fd5b818701915087601f83011261120b57600080fd5b815161121961116e8261112a565b81815260059190911b8301840190848101908a83111561123857600080fd5b938501935b8285101561125f57845161125081610e86565b8252938501939085019061123d565b60408a0151909750945050508083111561127857600080fd5b50506112868682870161114d565b9150509250925092565b634e487b7160e01b600052603260045260246000fd5b6000600182016112b8576112b861104c565b5060010190565b6001600160801b038416815260606020808301829052845191830182905260009185820191906080850190845b818110156113115784516001600160a01b0316835293830193918301916001016112ec565b50508481036040860152855180825290820192508186019060005b818110156113485782518552938301939183019160010161132c565b509298975050505050505050565b60006001600160801b038381168061137e57634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b60005b838110156113a557818101518382015260200161138d565b8381111561096d5750506000910152565b600082516113c881846020870161138a565b9190910192915050565b60208152600082518060208401526113f181604085016020870161138a565b601f01601f1916919091016040019291505056fea2646970667358221220cc0cbdcb88aef4867fafacf9a87dfce94cf9d32764162c710277ddb294a8ba2464736f6c634300080d0033",
302
- "deployedBytecode": "0x6080604052600436106100ad5760003560e01c8063049e0c8c146100b257806306ae7095146100f75780630ac7f5611461013857806323342c381461015c57806348e5d9f81461017e5780634fb7015f146102055780635cc04968146102255780638b419c77146102455780639c649fdf1461025a578063a0262b3b1461027a578063a2c530da1461029a578063d2e6d1c3146102ce578063e517fedd14610302578063f26f2cb414610322575b600080fd5b3480156100be57600080fd5b506100e26100cd366004610e55565b60656020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561010357600080fd5b5061012b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100ee9190610e72565b34801561014457600080fd5b5061014e60cc5481565b6040519081526020016100ee565b34801561016857600080fd5b5061017c610177366004610eab565b610342565b005b34801561018a57600080fd5b506101d2610199366004610eab565b606460205260009081526040902080546001909101546001600160801b0380831692600160801b90819004821692808316929190041684565b604080516001600160801b03958616815293851660208501529184169183019190915290911660608201526080016100ee565b34801561021157600080fd5b5061017c610220366004610ec8565b6103a5565b34801561023157600080fd5b5060ca5461012b906001600160a01b031681565b34801561025157600080fd5b5061017c610403565b61026d610268366004610ef4565b6105d2565b6040516100ee9190610fa3565b34801561028657600080fd5b5061017c610295366004610fcb565b6106d3565b3480156102a657600080fd5b5061012b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102da57600080fd5b5061012b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561030e57600080fd5b5060cb5461012b906001600160a01b031681565b34801561032e57600080fd5b5061017c61033d366004610fcb565b610742565b61034a610777565b6001600160a01b0316336001600160a01b0316146103835760405162461bcd60e51b815260040161037a90610fe4565b60405180910390fd5b60ca80546001600160a01b0319166001600160a01b0392909216919091179055565b6103ad610777565b6001600160a01b0316336001600160a01b0316146103dd5760405162461bcd60e51b815260040161037a90610fe4565b60cb80546001600160a01b0319166001600160a01b03939093169290921790915560cc55565b6040516358e6309f60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f9061044f903390600401610e72565b602060405180830381865afa15801561046c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610490919061100d565b6104cd5760405162461bcd60e51b815260206004820152600e60248201526d1a5b9d985b1a59081b585c9ad95d60921b604482015260640161037a565b336104d781610800565b6001600160a01b0382166000908152606460209081526040918290208351918401516001600160801b03928316600160801b9184168202178083559385015160609095015194831694831681029490941760019091015591900416801561058b576001600160a01b03808316600090815260646020526040902080546001600160801b0316905561058b907f00000000000000000000000000000000000000000000000000000000000000001683836108db565b816001600160a01b03167ff7823f78d472190ac0f94e11854ed334dce4a2e571e5f1bf7a8aec9469891d97826040516105c691815260200190565b60405180910390a25050565b60ca546000906001600160a01b031633148061060657506105f1610777565b6001600160a01b0316336001600160a01b0316145b6106525760405162461bcd60e51b815260206004820152601d60248201527f6f6e6c792063656c6572206d65737361676520627573206f7220676f76000000604482015260640161037a565b60cb546001600160a01b03878116911614158061067a575060cc54856001600160401b031614155b15610687575060006106ca565b6106c684848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061094392505050565b5060015b95945050505050565b6106db610777565b6001600160a01b0316336001600160a01b03161461070b5760405162461bcd60e51b815260040161037a90610fe4565b61073f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633836108db565b50565b61073f6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333084610973565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fb919061102f565b905090565b60408051608080820183526000808352602080840182905283850182905260608085018390526001600160a01b0387168352606482528583208651948501875280546001600160801b038082168752600160801b9182900481169487019490945260019091015480841697860197909752909504811694830185905292939192909161088e914216906109ab565b90508160400151816108a09190611062565b82516108ac919061108a565b826020018181516108bd91906110b9565b6001600160801b039081169091529190911660408301525092915050565b6040516001600160a01b03831660248201526044810182905261093e90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526109c3565b505050565b60008060008380602001905181019061095c91906111b8565b92509250925061096d838383610a95565b50505050565b6040516001600160a01b038085166024830152831660448201526064810182905261096d9085906323b872dd60e01b90608401610907565b60008183106109ba57816109bc565b825b9392505050565b6000610a18826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610bbf9092919063ffffffff16565b80519091501561093e5780806020019051810190610a36919061100d565b61093e5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161037a565b8051825114610adf5760405162461bcd60e51b81526020600482015260166024820152750d2dcecc2d8d2c840dac2e4d6cae8e640d8cadccee8d60531b604482015260640161037a565b6001600160801b03831660009081526065602052604090205460ff1615610b0557505050565b6001600160801b0383166000908152606560205260408120805460ff191660011790555b8251811015610b7e57610b6e838281518110610b4757610b47611290565b6020026020010151838381518110610b6157610b61611290565b6020026020010151610bd6565b610b77816112a6565b9050610b29565b507fc2a95122fde68f77e93e8f353620af282e72051c5b744320e519fc07ed708ba3838383604051610bb2939291906112bf565b60405180910390a1505050565b6060610bce8484600085610cd6565b949350505050565b6000610be183610800565b90506000816000015182604001518360600151610bfe9190611062565b610c08919061108a565b9050600062093a80610c1a85846110b9565b610c249190611356565b90506040518060800160405280826001600160801b0316815260200184602001516001600160801b03168152602001426001600160801b0316815260200162093a8042610c7191906110b9565b6001600160801b039081169091526001600160a01b039096166000908152606460209081526040918290208351918401518916600160801b908102928a1692909217815591830151606090930151881602919096161760019095019490945550505050565b606082471015610d375760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161037a565b6001600160a01b0385163b610d8e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161037a565b600080866001600160a01b03168587604051610daa91906113b6565b60006040518083038185875af1925050503d8060008114610de7576040519150601f19603f3d011682016040523d82523d6000602084013e610dec565b606091505b5091509150610dfc828286610e07565b979650505050505050565b60608315610e165750816109bc565b825115610e265782518084602001fd5b8160405162461bcd60e51b815260040161037a91906113d2565b6001600160801b038116811461073f57600080fd5b600060208284031215610e6757600080fd5b81356109bc81610e40565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461073f57600080fd5b8035610ea681610e86565b919050565b600060208284031215610ebd57600080fd5b81356109bc81610e86565b60008060408385031215610edb57600080fd5b8235610ee681610e86565b946020939093013593505050565b600080600080600060808688031215610f0c57600080fd5b8535610f1781610e86565b945060208601356001600160401b038082168214610f3457600080fd5b90945060408701359080821115610f4a57600080fd5b818801915088601f830112610f5e57600080fd5b813581811115610f6d57600080fd5b896020828501011115610f7f57600080fd5b602083019550809450505050610f9760608701610e9b565b90509295509295909350565b6020810160038310610fc557634e487b7160e01b600052602160045260246000fd5b91905290565b600060208284031215610fdd57600080fd5b5035919050565b6020808252600f908201526e4f4e4c595f474f5645524e414e434560881b604082015260600190565b60006020828403121561101f57600080fd5b815180151581146109bc57600080fd5b60006020828403121561104157600080fd5b81516109bc81610e86565b634e487b7160e01b600052601160045260246000fd5b60006001600160801b03838116908316818110156110825761108261104c565b039392505050565b60006001600160801b03828116848216811515828404821116156110b0576110b061104c565b02949350505050565b60006001600160801b038281168482168083038211156110db576110db61104c565b01949350505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611122576111226110e4565b604052919050565b60006001600160401b03821115611143576111436110e4565b5060051b60200190565b600082601f83011261115e57600080fd5b8151602061117361116e8361112a565b6110fa565b82815260059290921b8401810191818101908684111561119257600080fd5b8286015b848110156111ad5780518352918301918301611196565b509695505050505050565b6000806000606084860312156111cd57600080fd5b83516111d881610e40565b602085810151919450906001600160401b03808211156111f757600080fd5b818701915087601f83011261120b57600080fd5b815161121961116e8261112a565b81815260059190911b8301840190848101908a83111561123857600080fd5b938501935b8285101561125f57845161125081610e86565b8252938501939085019061123d565b60408a0151909750945050508083111561127857600080fd5b50506112868682870161114d565b9150509250925092565b634e487b7160e01b600052603260045260246000fd5b6000600182016112b8576112b861104c565b5060010190565b6001600160801b038416815260606020808301829052845191830182905260009185820191906080850190845b818110156113115784516001600160a01b0316835293830193918301916001016112ec565b50508481036040860152855180825290820192508186019060005b818110156113485782518552938301939183019160010161132c565b509298975050505050505050565b60006001600160801b038381168061137e57634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b60005b838110156113a557818101518382015260200161138d565b8381111561096d5750506000910152565b600082516113c881846020870161138a565b9190910192915050565b60208152600082518060208401526113f181604085016020870161138a565b601f01601f1916919091016040019291505056fea2646970667358221220cc0cbdcb88aef4867fafacf9a87dfce94cf9d32764162c710277ddb294a8ba2464736f6c634300080d0033",
301
+ "bytecode": "0x60e06040523480156200001157600080fd5b50604051620015bc380380620015bc8339810160408190526200003491620000c2565b808383826001600160a01b038116620000825760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b604482015260640160405180910390fd5b6001600160a01b0390811660805291821660a0521660c052506200010c92505050565b80516001600160a01b0381168114620000bd57600080fd5b919050565b600080600060608486031215620000d857600080fd5b620000e384620000a5565b9250620000f360208501620000a5565b91506200010360408501620000a5565b90509250925092565b60805160a05160c05161145d6200015f60003960008181610109015261041a0152600081816102ac0152818161056401528181610718015261074f0152600081816102e0015261077b015261145d6000f3fe6080604052600436106100ad5760003560e01c8063049e0c8c146100b257806306ae7095146100f75780630ac7f5611461013857806323342c381461015c57806348e5d9f81461017e5780634fb7015f146102055780635cc04968146102255780638b419c77146102455780639c649fdf1461025a578063a0262b3b1461027a578063a2c530da1461029a578063d2e6d1c3146102ce578063e517fedd14610302578063f26f2cb414610322575b600080fd5b3480156100be57600080fd5b506100e26100cd366004610e77565b60656020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561010357600080fd5b5061012b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100ee9190610e94565b34801561014457600080fd5b5061014e60cc5481565b6040519081526020016100ee565b34801561016857600080fd5b5061017c610177366004610ecd565b610342565b005b34801561018a57600080fd5b506101d2610199366004610ecd565b606460205260009081526040902080546001909101546001600160801b0380831692600160801b90819004821692808316929190041684565b604080516001600160801b03958616815293851660208501529184169183019190915290911660608201526080016100ee565b34801561021157600080fd5b5061017c610220366004610eea565b6103a5565b34801561023157600080fd5b5060ca5461012b906001600160a01b031681565b34801561025157600080fd5b5061017c610403565b61026d610268366004610f16565b6105d2565b6040516100ee9190610fc5565b34801561028657600080fd5b5061017c610295366004610fed565b6106d3565b3480156102a657600080fd5b5061012b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102da57600080fd5b5061012b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561030e57600080fd5b5060cb5461012b906001600160a01b031681565b34801561032e57600080fd5b5061017c61033d366004610fed565b610742565b61034a610777565b6001600160a01b0316336001600160a01b0316146103835760405162461bcd60e51b815260040161037a90611006565b60405180910390fd5b60ca80546001600160a01b0319166001600160a01b0392909216919091179055565b6103ad610777565b6001600160a01b0316336001600160a01b0316146103dd5760405162461bcd60e51b815260040161037a90611006565b60cb80546001600160a01b0319166001600160a01b03939093169290921790915560cc55565b6040516358e6309f60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f9061044f903390600401610e94565b602060405180830381865afa15801561046c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610490919061102f565b6104cd5760405162461bcd60e51b815260206004820152600e60248201526d1a5b9d985b1a59081b585c9ad95d60921b604482015260640161037a565b336104d781610800565b6001600160a01b0382166000908152606460209081526040918290208351918401516001600160801b03928316600160801b9184168202178083559385015160609095015194831694831681029490941760019091015591900416801561058b576001600160a01b03808316600090815260646020526040902080546001600160801b0316905561058b907f00000000000000000000000000000000000000000000000000000000000000001683836108db565b816001600160a01b03167ff7823f78d472190ac0f94e11854ed334dce4a2e571e5f1bf7a8aec9469891d97826040516105c691815260200190565b60405180910390a25050565b60ca546000906001600160a01b031633148061060657506105f1610777565b6001600160a01b0316336001600160a01b0316145b6106525760405162461bcd60e51b815260206004820152601d60248201527f6f6e6c792063656c6572206d65737361676520627573206f7220676f76000000604482015260640161037a565b60cb546001600160a01b03878116911614158061067a575060cc54856001600160401b031614155b15610687575060006106ca565b6106c684848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061094392505050565b5060015b95945050505050565b6106db610777565b6001600160a01b0316336001600160a01b03161461070b5760405162461bcd60e51b815260040161037a90611006565b61073f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633836108db565b50565b61073f6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333084610973565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fb9190611051565b905090565b60408051608080820183526000808352602080840182905283850182905260608085018390526001600160a01b0387168352606482528583208651948501875280546001600160801b038082168752600160801b9182900481169487019490945260019091015480841697860197909752909504811694830185905292939192909161088e914216906109ab565b90508160400151816108a09190611084565b82516108ac91906110ac565b826020018181516108bd91906110db565b6001600160801b039081169091529190911660408301525092915050565b6040516001600160a01b03831660248201526044810182905261093e90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526109c3565b505050565b60008060008380602001905181019061095c91906111da565b92509250925061096d838383610a95565b50505050565b6040516001600160a01b038085166024830152831660448201526064810182905261096d9085906323b872dd60e01b90608401610907565b60008183106109ba57816109bc565b825b9392505050565b6000610a18826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610bc79092919063ffffffff16565b80519091501561093e5780806020019051810190610a36919061102f565b61093e5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161037a565b8051825114610adf5760405162461bcd60e51b81526020600482015260166024820152750d2dcecc2d8d2c840dac2e4d6cae8e640d8cadccee8d60531b604482015260640161037a565b6001600160801b03831660009081526065602052604090205460ff1615610b0557505050565b6001600160801b0383166000908152606560205260408120805460ff191660011790555b8251811015610b8657610b76838281518110610b4757610b476112b2565b6020026020010151610b71848481518110610b6457610b646112b2565b6020026020010151610bde565b610bf8565b610b7f816112c8565b9050610b29565b507fc2a95122fde68f77e93e8f353620af282e72051c5b744320e519fc07ed708ba3838383604051610bba939291906112e1565b60405180910390a1505050565b6060610bd68484600085610cf8565b949350505050565b60006001600160801b03821115610bf457600080fd5b5090565b6000610c0383610800565b90506000816000015182604001518360600151610c209190611084565b610c2a91906110ac565b9050600062093a80610c3c85846110db565b610c469190611378565b90506040518060800160405280826001600160801b0316815260200184602001516001600160801b03168152602001426001600160801b0316815260200162093a8042610c9391906110db565b6001600160801b039081169091526001600160a01b039096166000908152606460209081526040918290208351918401518916600160801b908102928a1692909217815591830151606090930151881602919096161760019095019490945550505050565b606082471015610d595760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161037a565b6001600160a01b0385163b610db05760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161037a565b600080866001600160a01b03168587604051610dcc91906113d8565b60006040518083038185875af1925050503d8060008114610e09576040519150601f19603f3d011682016040523d82523d6000602084013e610e0e565b606091505b5091509150610e1e828286610e29565b979650505050505050565b60608315610e385750816109bc565b825115610e485782518084602001fd5b8160405162461bcd60e51b815260040161037a91906113f4565b6001600160801b038116811461073f57600080fd5b600060208284031215610e8957600080fd5b81356109bc81610e62565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461073f57600080fd5b8035610ec881610ea8565b919050565b600060208284031215610edf57600080fd5b81356109bc81610ea8565b60008060408385031215610efd57600080fd5b8235610f0881610ea8565b946020939093013593505050565b600080600080600060808688031215610f2e57600080fd5b8535610f3981610ea8565b945060208601356001600160401b038082168214610f5657600080fd5b90945060408701359080821115610f6c57600080fd5b818801915088601f830112610f8057600080fd5b813581811115610f8f57600080fd5b896020828501011115610fa157600080fd5b602083019550809450505050610fb960608701610ebd565b90509295509295909350565b6020810160038310610fe757634e487b7160e01b600052602160045260246000fd5b91905290565b600060208284031215610fff57600080fd5b5035919050565b6020808252600f908201526e4f4e4c595f474f5645524e414e434560881b604082015260600190565b60006020828403121561104157600080fd5b815180151581146109bc57600080fd5b60006020828403121561106357600080fd5b81516109bc81610ea8565b634e487b7160e01b600052601160045260246000fd5b60006001600160801b03838116908316818110156110a4576110a461106e565b039392505050565b60006001600160801b03828116848216811515828404821116156110d2576110d261106e565b02949350505050565b60006001600160801b038281168482168083038211156110fd576110fd61106e565b01949350505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561114457611144611106565b604052919050565b60006001600160401b0382111561116557611165611106565b5060051b60200190565b600082601f83011261118057600080fd5b815160206111956111908361114c565b61111c565b82815260059290921b840181019181810190868411156111b457600080fd5b8286015b848110156111cf57805183529183019183016111b8565b509695505050505050565b6000806000606084860312156111ef57600080fd5b83516111fa81610e62565b602085810151919450906001600160401b038082111561121957600080fd5b818701915087601f83011261122d57600080fd5b815161123b6111908261114c565b81815260059190911b8301840190848101908a83111561125a57600080fd5b938501935b8285101561128157845161127281610ea8565b8252938501939085019061125f565b60408a0151909750945050508083111561129a57600080fd5b50506112a88682870161116f565b9150509250925092565b634e487b7160e01b600052603260045260246000fd5b6000600182016112da576112da61106e565b5060010190565b6001600160801b038416815260606020808301829052845191830182905260009185820191906080850190845b818110156113335784516001600160a01b03168352938301939183019160010161130e565b50508481036040860152855180825290820192508186019060005b8181101561136a5782518552938301939183019160010161134e565b509298975050505050505050565b60006001600160801b03838116806113a057634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b60005b838110156113c75781810151838201526020016113af565b8381111561096d5750506000910152565b600082516113ea8184602087016113ac565b9190910192915050565b60208152600082518060208401526114138160408501602087016113ac565b601f01601f1916919091016040019291505056fea264697066735822122062d787412f885aeececdd3fa3a3e1c4485cf1daabd873f5ba962dac6cd25d01c64736f6c634300080f0033",
302
+ "deployedBytecode": "0x6080604052600436106100ad5760003560e01c8063049e0c8c146100b257806306ae7095146100f75780630ac7f5611461013857806323342c381461015c57806348e5d9f81461017e5780634fb7015f146102055780635cc04968146102255780638b419c77146102455780639c649fdf1461025a578063a0262b3b1461027a578063a2c530da1461029a578063d2e6d1c3146102ce578063e517fedd14610302578063f26f2cb414610322575b600080fd5b3480156100be57600080fd5b506100e26100cd366004610e77565b60656020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561010357600080fd5b5061012b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100ee9190610e94565b34801561014457600080fd5b5061014e60cc5481565b6040519081526020016100ee565b34801561016857600080fd5b5061017c610177366004610ecd565b610342565b005b34801561018a57600080fd5b506101d2610199366004610ecd565b606460205260009081526040902080546001909101546001600160801b0380831692600160801b90819004821692808316929190041684565b604080516001600160801b03958616815293851660208501529184169183019190915290911660608201526080016100ee565b34801561021157600080fd5b5061017c610220366004610eea565b6103a5565b34801561023157600080fd5b5060ca5461012b906001600160a01b031681565b34801561025157600080fd5b5061017c610403565b61026d610268366004610f16565b6105d2565b6040516100ee9190610fc5565b34801561028657600080fd5b5061017c610295366004610fed565b6106d3565b3480156102a657600080fd5b5061012b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102da57600080fd5b5061012b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561030e57600080fd5b5060cb5461012b906001600160a01b031681565b34801561032e57600080fd5b5061017c61033d366004610fed565b610742565b61034a610777565b6001600160a01b0316336001600160a01b0316146103835760405162461bcd60e51b815260040161037a90611006565b60405180910390fd5b60ca80546001600160a01b0319166001600160a01b0392909216919091179055565b6103ad610777565b6001600160a01b0316336001600160a01b0316146103dd5760405162461bcd60e51b815260040161037a90611006565b60cb80546001600160a01b0319166001600160a01b03939093169290921790915560cc55565b6040516358e6309f60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f9061044f903390600401610e94565b602060405180830381865afa15801561046c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610490919061102f565b6104cd5760405162461bcd60e51b815260206004820152600e60248201526d1a5b9d985b1a59081b585c9ad95d60921b604482015260640161037a565b336104d781610800565b6001600160a01b0382166000908152606460209081526040918290208351918401516001600160801b03928316600160801b9184168202178083559385015160609095015194831694831681029490941760019091015591900416801561058b576001600160a01b03808316600090815260646020526040902080546001600160801b0316905561058b907f00000000000000000000000000000000000000000000000000000000000000001683836108db565b816001600160a01b03167ff7823f78d472190ac0f94e11854ed334dce4a2e571e5f1bf7a8aec9469891d97826040516105c691815260200190565b60405180910390a25050565b60ca546000906001600160a01b031633148061060657506105f1610777565b6001600160a01b0316336001600160a01b0316145b6106525760405162461bcd60e51b815260206004820152601d60248201527f6f6e6c792063656c6572206d65737361676520627573206f7220676f76000000604482015260640161037a565b60cb546001600160a01b03878116911614158061067a575060cc54856001600160401b031614155b15610687575060006106ca565b6106c684848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061094392505050565b5060015b95945050505050565b6106db610777565b6001600160a01b0316336001600160a01b03161461070b5760405162461bcd60e51b815260040161037a90611006565b61073f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633836108db565b50565b61073f6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333084610973565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fb9190611051565b905090565b60408051608080820183526000808352602080840182905283850182905260608085018390526001600160a01b0387168352606482528583208651948501875280546001600160801b038082168752600160801b9182900481169487019490945260019091015480841697860197909752909504811694830185905292939192909161088e914216906109ab565b90508160400151816108a09190611084565b82516108ac91906110ac565b826020018181516108bd91906110db565b6001600160801b039081169091529190911660408301525092915050565b6040516001600160a01b03831660248201526044810182905261093e90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526109c3565b505050565b60008060008380602001905181019061095c91906111da565b92509250925061096d838383610a95565b50505050565b6040516001600160a01b038085166024830152831660448201526064810182905261096d9085906323b872dd60e01b90608401610907565b60008183106109ba57816109bc565b825b9392505050565b6000610a18826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610bc79092919063ffffffff16565b80519091501561093e5780806020019051810190610a36919061102f565b61093e5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161037a565b8051825114610adf5760405162461bcd60e51b81526020600482015260166024820152750d2dcecc2d8d2c840dac2e4d6cae8e640d8cadccee8d60531b604482015260640161037a565b6001600160801b03831660009081526065602052604090205460ff1615610b0557505050565b6001600160801b0383166000908152606560205260408120805460ff191660011790555b8251811015610b8657610b76838281518110610b4757610b476112b2565b6020026020010151610b71848481518110610b6457610b646112b2565b6020026020010151610bde565b610bf8565b610b7f816112c8565b9050610b29565b507fc2a95122fde68f77e93e8f353620af282e72051c5b744320e519fc07ed708ba3838383604051610bba939291906112e1565b60405180910390a1505050565b6060610bd68484600085610cf8565b949350505050565b60006001600160801b03821115610bf457600080fd5b5090565b6000610c0383610800565b90506000816000015182604001518360600151610c209190611084565b610c2a91906110ac565b9050600062093a80610c3c85846110db565b610c469190611378565b90506040518060800160405280826001600160801b0316815260200184602001516001600160801b03168152602001426001600160801b0316815260200162093a8042610c9391906110db565b6001600160801b039081169091526001600160a01b039096166000908152606460209081526040918290208351918401518916600160801b908102928a1692909217815591830151606090930151881602919096161760019095019490945550505050565b606082471015610d595760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161037a565b6001600160a01b0385163b610db05760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161037a565b600080866001600160a01b03168587604051610dcc91906113d8565b60006040518083038185875af1925050503d8060008114610e09576040519150601f19603f3d011682016040523d82523d6000602084013e610e0e565b606091505b5091509150610e1e828286610e29565b979650505050505050565b60608315610e385750816109bc565b825115610e485782518084602001fd5b8160405162461bcd60e51b815260040161037a91906113f4565b6001600160801b038116811461073f57600080fd5b600060208284031215610e8957600080fd5b81356109bc81610e62565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461073f57600080fd5b8035610ec881610ea8565b919050565b600060208284031215610edf57600080fd5b81356109bc81610ea8565b60008060408385031215610efd57600080fd5b8235610f0881610ea8565b946020939093013593505050565b600080600080600060808688031215610f2e57600080fd5b8535610f3981610ea8565b945060208601356001600160401b038082168214610f5657600080fd5b90945060408701359080821115610f6c57600080fd5b818801915088601f830112610f8057600080fd5b813581811115610f8f57600080fd5b896020828501011115610fa157600080fd5b602083019550809450505050610fb960608701610ebd565b90509295509295909350565b6020810160038310610fe757634e487b7160e01b600052602160045260246000fd5b91905290565b600060208284031215610fff57600080fd5b5035919050565b6020808252600f908201526e4f4e4c595f474f5645524e414e434560881b604082015260600190565b60006020828403121561104157600080fd5b815180151581146109bc57600080fd5b60006020828403121561106357600080fd5b81516109bc81610ea8565b634e487b7160e01b600052601160045260246000fd5b60006001600160801b03838116908316818110156110a4576110a461106e565b039392505050565b60006001600160801b03828116848216811515828404821116156110d2576110d261106e565b02949350505050565b60006001600160801b038281168482168083038211156110fd576110fd61106e565b01949350505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561114457611144611106565b604052919050565b60006001600160401b0382111561116557611165611106565b5060051b60200190565b600082601f83011261118057600080fd5b815160206111956111908361114c565b61111c565b82815260059290921b840181019181810190868411156111b457600080fd5b8286015b848110156111cf57805183529183019183016111b8565b509695505050505050565b6000806000606084860312156111ef57600080fd5b83516111fa81610e62565b602085810151919450906001600160401b038082111561121957600080fd5b818701915087601f83011261122d57600080fd5b815161123b6111908261114c565b81815260059190911b8301840190848101908a83111561125a57600080fd5b938501935b8285101561128157845161127281610ea8565b8252938501939085019061125f565b60408a0151909750945050508083111561129a57600080fd5b50506112a88682870161116f565b9150509250925092565b634e487b7160e01b600052603260045260246000fd5b6000600182016112da576112da61106e565b5060010190565b6001600160801b038416815260606020808301829052845191830182905260009185820191906080850190845b818110156113335784516001600160a01b03168352938301939183019160010161130e565b50508481036040860152855180825290820192508186019060005b8181101561136a5782518552938301939183019160010161134e565b509298975050505050505050565b60006001600160801b03838116806113a057634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b60005b838110156113c75781810151838201526020016113af565b8381111561096d5750506000910152565b600082516113ea8184602087016113ac565b9190910192915050565b60208152600082518060208401526114138160408501602087016113ac565b601f01601f1916919091016040019291505056fea264697066735822122062d787412f885aeececdd3fa3a3e1c4485cf1daabd873f5ba962dac6cd25d01c64736f6c634300080f0033",
303
303
  "linkReferences": {},
304
304
  "deployedLinkReferences": {}
305
305
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/3b83d9911e204e5de66c32a50a55a4fa.json"
3
+ "buildInfo": "../../../../build-info/5288c52e2bad622975ca99f52d1a47ff.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../../build-info/3b83d9911e204e5de66c32a50a55a4fa.json"
3
+ "buildInfo": "../../../../../build-info/5288c52e2bad622975ca99f52d1a47ff.json"
4
4
  }