@pendle/core-v2 0.7.0 → 0.7.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 (396) 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 +2 -39
  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 +2 -26
  9. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleBtrflySCY.sol/PendleBtrflyScy.dbg.json +1 -1
  10. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleBtrflySCY.sol/PendleBtrflyScy.json +2 -2
  11. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.dbg.json +1 -1
  12. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.json +2 -2
  13. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleJoeLpSCY.sol/PendleJoeLpSCY.dbg.json +1 -1
  14. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleJoeLpSCY.sol/PendleJoeLpSCY.json +2 -2
  15. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.dbg.json +1 -1
  16. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.json +2 -2
  17. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol/PendleYearnVaultSCY.dbg.json +1 -1
  18. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol/PendleYearnVaultSCY.json +2 -2
  19. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBase.sol/SCYBase.dbg.json +1 -1
  20. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +1 -1
  21. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.json +0 -24
  22. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol/CelerReceiverUpg.dbg.json +4 -0
  23. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/{CelerReceiver.sol/CelerReceiver.json → CelerReceiverUpg.sol/CelerReceiverUpg.json} +2 -2
  24. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.dbg.json +4 -0
  25. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/{CelerSender.sol/CelerSender.json → CelerSenderUpg.sol/CelerSenderUpg.json} +15 -2
  26. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +4 -0
  27. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/{PendleGaugeController.sol/PendleGaugeController.json → PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json} +2 -2
  28. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol/PendleGaugeControllerMainchainUpg.dbg.json +4 -0
  29. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol/PendleGaugeControllerMainchainUpg.json +255 -0
  30. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechain.sol/PendleGaugeControllerSidechainUpg.dbg.json +4 -0
  31. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechain.sol/PendleGaugeControllerSidechainUpg.json +318 -0
  32. package/build/artifacts/contracts/core/LiquidityMining/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/LiquidityMining/PendleGauge.sol/PendleGauge.json +0 -24
  34. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +4 -0
  35. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +776 -0
  36. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +4 -0
  37. package/build/artifacts/contracts/core/LiquidityMining/VotingController/{VotingControllerStorage.sol/VotingControllerStorage.json → VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json} +16 -49
  38. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +15 -43
  40. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  42. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +4 -0
  43. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/{VotingEscrowToken.sol/VotingEscrowToken.json → VotingEscrowTokenBase.sol/VotingEscrowTokenBase.json} +2 -2
  44. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -26
  46. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +13 -7
  48. package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.json +2 -2
  50. package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.json +2 -2
  52. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.json +2 -2
  54. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +4 -0
  55. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.json +35 -0
  56. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +15 -82
  58. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +15 -7
  60. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +77 -95
  62. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.json +2 -2
  64. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.json +2 -2
  66. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.json +2 -2
  68. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPTBase.sol/ActionSCYAndPTBase.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/actions/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  72. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +1 -1
  73. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +1 -1
  74. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +1 -1
  75. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  76. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  77. package/build/artifacts/contracts/interfaces/ICelerMessageBus.sol/ICelerMessageBus.dbg.json +1 -1
  78. package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.dbg.json +1 -1
  79. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  80. package/build/artifacts/contracts/interfaces/IJoePair.sol/IJoePair.dbg.json +1 -1
  81. package/build/artifacts/contracts/interfaces/IJoeRouter01.sol/IJoeRouter01.dbg.json +1 -1
  82. package/build/artifacts/contracts/interfaces/IJoeRouter02.sol/IJoeRouter02.dbg.json +1 -1
  83. package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.dbg.json +1 -1
  84. package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.dbg.json +1 -1
  85. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  86. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  87. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.json +26 -0
  88. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  89. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.json +26 -0
  90. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +1 -1
  91. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +4 -0
  92. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.json +35 -0
  93. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  94. package/build/artifacts/contracts/interfaces/IPMarketAddRemoveCallback.sol/IPMarketAddRemoveCallback.dbg.json +1 -1
  95. package/build/artifacts/contracts/interfaces/IPMarketAddRemoveCallback.sol/IPMarketAddRemoveCallback.json +2 -2
  96. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  97. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.json +6 -0
  98. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  99. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +1 -1
  100. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.json +13 -0
  102. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  103. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  104. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  105. package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.dbg.json +1 -1
  106. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  107. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.json +91 -43
  109. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.json +7 -2
  115. package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +1 -1
  116. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  119. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +1 -1
  120. package/build/artifacts/contracts/libraries/RewardManager.sol/RewardManager.dbg.json +1 -1
  121. package/build/artifacts/contracts/libraries/RewardManager.sol/RewardManager.json +0 -24
  122. package/build/artifacts/contracts/libraries/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +4 -0
  123. package/build/artifacts/contracts/libraries/RewardManagerAbstract.sol/RewardManagerAbstract.json +40 -0
  124. package/build/artifacts/contracts/libraries/SCY/SCYIndex.sol/SCYIndexLib.dbg.json +1 -1
  125. package/build/artifacts/contracts/libraries/SCY/SCYIndex.sol/SCYIndexLib.json +2 -2
  126. package/build/artifacts/contracts/libraries/SCY/SCYUtils.sol/SCYUtils.dbg.json +1 -1
  127. package/build/artifacts/contracts/libraries/SCY/SCYUtils.sol/SCYUtils.json +2 -2
  128. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  129. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  130. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +4 -0
  131. package/build/artifacts/contracts/libraries/{solmate/LibRLP.sol/LibRLP.json → VeHistoryLib.sol/Checkpoints.json} +4 -4
  132. package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  133. package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.json +2 -2
  134. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  135. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.json +2 -2
  136. package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  137. package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.json +2 -2
  138. package/build/artifacts/contracts/libraries/helpers/SSTORE2Deployer.sol/SSTORE2Deployer.dbg.json +4 -0
  139. package/build/artifacts/contracts/libraries/helpers/SSTORE2Deployer.sol/SSTORE2Deployer.json +10 -0
  140. package/build/artifacts/contracts/libraries/helpers/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  141. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  142. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
  143. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.dbg.json +1 -1
  144. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.json +2 -2
  145. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  146. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.json +2 -2
  147. package/build/artifacts/contracts/libraries/math/Math.sol/Math.dbg.json +1 -1
  148. package/build/artifacts/contracts/libraries/math/Math.sol/Math.json +2 -2
  149. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.dbg.json +1 -1
  150. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.json +2 -2
  151. package/build/artifacts/contracts/libraries/solmate/Bytes32AddressLib.sol/Bytes32AddressLib.dbg.json +1 -1
  152. package/build/artifacts/contracts/libraries/solmate/Bytes32AddressLib.sol/Bytes32AddressLib.json +2 -2
  153. package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.dbg.json +1 -1
  154. package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.json +2 -2
  155. package/build/artifacts/contracts/libraries/traderjoe/JoeLibrary.sol/JoeLibrary.dbg.json +1 -1
  156. package/build/artifacts/contracts/libraries/traderjoe/JoeLibrary.sol/JoeLibrary.json +2 -2
  157. package/build/artifacts/contracts/libraries/traderjoe/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.dbg.json +1 -1
  158. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  159. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +3 -3
  160. package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.dbg.json +1 -1
  161. package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.json +2 -2
  162. package/build/artifacts/contracts/periphery/PermissionsV2Upg.sol/PermissionsV2Upg.dbg.json +1 -1
  163. package/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol +1 -1
  164. package/contracts/SuperComposableYield/SCY-implementations/AaveV3/WadRayMath.sol +1 -1
  165. package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol +1 -1
  166. package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol +1 -1
  167. package/contracts/SuperComposableYield/SCY-implementations/PendleBtrflySCY.sol +1 -1
  168. package/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol +1 -1
  169. package/contracts/SuperComposableYield/SCY-implementations/PendleJoeLpSCY.sol +1 -1
  170. package/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol +1 -1
  171. package/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol +1 -1
  172. package/contracts/SuperComposableYield/base-implementations/SCYBase.sol +1 -1
  173. package/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol +1 -1
  174. package/contracts/core/LiquidityMining/CelerAbstracts/{CelerReceiver.sol → CelerReceiverUpg.sol} +8 -2
  175. package/contracts/core/LiquidityMining/CelerAbstracts/{CelerSender.sol → CelerSenderUpg.sol} +10 -3
  176. package/contracts/core/LiquidityMining/GaugeController/{PendleGaugeController.sol → PendleGaugeControllerBaseUpg.sol} +9 -4
  177. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol +7 -4
  178. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechain.sol +9 -5
  179. package/contracts/core/LiquidityMining/PendleGauge.sol +1 -1
  180. package/contracts/core/LiquidityMining/VotingController/{PendleVotingController.sol → PendleVotingControllerUpg.sol} +19 -6
  181. package/contracts/core/LiquidityMining/VotingController/{VotingControllerStorage.sol → VotingControllerStorageUpg.sol} +14 -10
  182. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +12 -8
  183. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +5 -5
  184. package/contracts/core/LiquidityMining/VotingEscrow/{VotingEscrowToken.sol → VotingEscrowTokenBase.sol} +2 -3
  185. package/contracts/core/Market/PendleMarket.sol +4 -5
  186. package/contracts/core/Market/PendleMarketFactory.sol +17 -20
  187. package/contracts/core/PendleRouter.sol +1 -1
  188. package/contracts/core/YieldContracts/InterestManagerYT.sol +1 -1
  189. package/contracts/core/YieldContracts/PendlePrincipalToken.sol +15 -7
  190. package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +18 -19
  191. package/contracts/core/YieldContracts/PendleYieldToken.sol +37 -28
  192. package/contracts/core/actions/ActionCallback.sol +1 -1
  193. package/contracts/core/actions/ActionCore.sol +1 -1
  194. package/contracts/core/actions/ActionYT.sol +1 -1
  195. package/contracts/core/actions/base/ActionSCYAndPTBase.sol +1 -1
  196. package/contracts/core/actions/base/ActionSCYAndPYBase.sol +1 -1
  197. package/contracts/core/actions/base/ActionSCYAndYTBase.sol +1 -1
  198. package/contracts/core/actions/base/CallbackHelper.sol +1 -1
  199. package/contracts/interfaces/IAToken.sol +1 -1
  200. package/contracts/interfaces/IAavePool.sol +1 -1
  201. package/contracts/interfaces/IAaveRewardsController.sol +1 -1
  202. package/contracts/interfaces/IBenQiComptroller.sol +1 -1
  203. package/contracts/interfaces/IBenQiInterestRateModel.sol +1 -1
  204. package/contracts/interfaces/IERC4626.sol +1 -1
  205. package/contracts/interfaces/IJoeRouter01.sol +1 -1
  206. package/contracts/interfaces/IJoeRouter02.sol +1 -1
  207. package/contracts/interfaces/IPActionCore.sol +1 -1
  208. package/contracts/interfaces/IPActionYT.sol +1 -1
  209. package/contracts/interfaces/IPAllAction.sol +1 -1
  210. package/contracts/interfaces/IPGaugeController.sol +7 -1
  211. package/contracts/interfaces/IPGaugeControllerMainchain.sol +1 -1
  212. package/contracts/interfaces/IPGovernanceManager.sol +1 -1
  213. package/contracts/interfaces/IPInterestManagerYT.sol +1 -1
  214. package/contracts/interfaces/IPMarket.sol +1 -1
  215. package/contracts/interfaces/IPMarketAddRemoveCallback.sol +1 -1
  216. package/contracts/interfaces/IPMarketFactory.sol +7 -2
  217. package/contracts/interfaces/IPMarketSwapCallback.sol +1 -1
  218. package/contracts/interfaces/IPPermissionsV2Upg.sol +1 -1
  219. package/contracts/interfaces/IPPrincipalToken.sol +3 -1
  220. package/contracts/interfaces/IPRouterStatic.sol +1 -1
  221. package/contracts/interfaces/IPVeToken.sol +1 -1
  222. package/contracts/interfaces/IPVotingController.sol +1 -1
  223. package/contracts/interfaces/IPVotingEscrow.sol +1 -1
  224. package/contracts/interfaces/IPYieldContractFactory.sol +1 -1
  225. package/contracts/interfaces/IPYieldToken.sol +14 -4
  226. package/contracts/interfaces/IQiAvax.sol +1 -1
  227. package/contracts/interfaces/IQiErc20.sol +1 -1
  228. package/contracts/interfaces/IQiToken.sol +1 -1
  229. package/contracts/interfaces/IREDACTEDStaking.sol +1 -1
  230. package/contracts/interfaces/IRewardManager.sol +1 -1
  231. package/contracts/interfaces/ISuperComposableYield.sol +1 -1
  232. package/contracts/interfaces/IWETH.sol +1 -1
  233. package/contracts/interfaces/IWXBTRFLY.sol +1 -1
  234. package/contracts/interfaces/IWstETH.sol +1 -1
  235. package/contracts/interfaces/IYearnVault.sol +1 -1
  236. package/contracts/libraries/RewardManager.sol +1 -1
  237. package/contracts/libraries/RewardManagerAbstract.sol +6 -2
  238. package/contracts/libraries/SCY/SCYIndex.sol +1 -1
  239. package/contracts/libraries/SCY/SCYUtils.sol +1 -1
  240. package/contracts/libraries/VeBalanceLib.sol +1 -35
  241. package/contracts/libraries/VeHistoryLib.sol +60 -0
  242. package/contracts/libraries/helpers/ExpiryUtilsLib.sol +1 -1
  243. package/contracts/libraries/helpers/MiniHelpers.sol +1 -1
  244. package/contracts/libraries/helpers/SSTORE2Deployer.sol +30 -0
  245. package/contracts/libraries/helpers/TokenHelper.sol +1 -1
  246. package/contracts/libraries/math/LogExpMath.sol +1 -1
  247. package/contracts/libraries/math/MarketApproxLib.sol +1 -1
  248. package/contracts/libraries/math/MarketMathCore.sol +1 -1
  249. package/contracts/libraries/math/Math.sol +1 -1
  250. package/contracts/libraries/math/WeekMath.sol +1 -1
  251. package/contracts/libraries/traderjoe/JoeLibrary.sol +1 -1
  252. package/contracts/libraries/traderjoe/PendleJoeSwapHelperUpg.sol +1 -1
  253. package/contracts/offchain-helpers/RouterStatic.sol +3 -3
  254. package/contracts/periphery/PendleGovernanceManager.sol +1 -1
  255. package/contracts/periphery/PermissionsV2Upg.sol +7 -1
  256. package/deployments/43113-benqi.json +6 -0
  257. package/deployments/43113-core.json +14 -0
  258. package/deployments/43113-markets/benqi-market.json +7 -0
  259. package/deployments/80001-benqi.json +6 -0
  260. package/deployments/80001-core.json +13 -0
  261. package/deployments/80001-markets/benqi-market.json +7 -0
  262. package/package.json +2 -2
  263. package/typechain-types/{CelerReceiver.ts → CelerReceiverUpg.ts} +5 -5
  264. package/typechain-types/{CelerSender.ts → CelerSenderUpg.ts} +24 -5
  265. package/typechain-types/IPGaugeController.ts +63 -0
  266. package/typechain-types/IPGaugeControllerMainchain.ts +62 -0
  267. package/typechain-types/{IVePToken.ts → IPInterestManagerYT.ts} +38 -27
  268. package/typechain-types/IPMarketAddRemoveCallback.ts +10 -10
  269. package/typechain-types/IPMarketFactory.ts +11 -4
  270. package/typechain-types/IPPrincipalToken.ts +25 -0
  271. package/typechain-types/IPYieldToken.ts +106 -106
  272. package/typechain-types/IRewardManager.ts +15 -14
  273. package/typechain-types/{IPGauge.ts → InterestManagerYT.ts} +27 -28
  274. package/typechain-types/PendleAaveV3SCY.ts +0 -70
  275. package/typechain-types/PendleGauge.ts +0 -39
  276. package/typechain-types/{PendleGaugeController.ts → PendleGaugeControllerBaseUpg.ts} +5 -5
  277. package/typechain-types/{PendleGaugeControllerMainchain.ts → PendleGaugeControllerMainchainUpg.ts} +5 -5
  278. package/typechain-types/{PendleGaugeControllerSidechain.ts → PendleGaugeControllerSidechainUpg.ts} +5 -5
  279. package/typechain-types/PendleMarket.ts +0 -39
  280. package/typechain-types/PendleMarketFactory.ts +18 -6
  281. package/typechain-types/PendlePrincipalToken.ts +25 -104
  282. package/typechain-types/PendleQiTokenSCY.ts +0 -39
  283. package/typechain-types/{PendleVotingController.ts → PendleVotingControllerUpg.ts} +165 -62
  284. package/typechain-types/{PendleYearnVaultScy.ts → PendleYearnVaultSCY.ts} +0 -0
  285. package/typechain-types/PendleYieldContractFactory.ts +31 -0
  286. package/typechain-types/PendleYieldToken.ts +84 -177
  287. package/typechain-types/RewardManager.ts +0 -39
  288. package/typechain-types/{IBeacon.ts → RewardManagerAbstract.ts} +38 -17
  289. package/typechain-types/RouterStatic.ts +5 -11
  290. package/typechain-types/SCYBaseWithRewards.ts +0 -39
  291. package/typechain-types/{VotingControllerStorage.ts → VotingControllerStorageUpg.ts} +28 -68
  292. package/typechain-types/VotingEscrowPendleMainchain.ts +19 -54
  293. package/typechain-types/{VotingEscrowToken.ts → VotingEscrowTokenBase.ts} +5 -5
  294. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  295. package/typechain-types/factories/ActionCore__factory.ts +1 -1
  296. package/typechain-types/factories/ActionYT__factory.ts +1 -1
  297. package/typechain-types/factories/{CelerReceiver__factory.ts → CelerReceiverUpg__factory.ts} +9 -6
  298. package/typechain-types/factories/{CelerSender__factory.ts → CelerSenderUpg__factory.ts} +22 -6
  299. package/typechain-types/factories/ERC20__factory.ts +1 -1
  300. package/typechain-types/factories/IPGaugeControllerMainchain__factory.ts +26 -0
  301. package/typechain-types/factories/IPGaugeController__factory.ts +26 -0
  302. package/typechain-types/factories/IPInterestManagerYT__factory.ts +50 -0
  303. package/typechain-types/factories/IPMarketAddRemoveCallback__factory.ts +2 -2
  304. package/typechain-types/factories/IPMarketFactory__factory.ts +6 -0
  305. package/typechain-types/factories/IPPrincipalToken__factory.ts +13 -0
  306. package/typechain-types/factories/IPYieldToken__factory.ts +91 -43
  307. package/typechain-types/factories/IRewardManager__factory.ts +7 -2
  308. package/typechain-types/factories/InterestManagerYT__factory.ts +50 -0
  309. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +1 -38
  310. package/typechain-types/factories/PendleBtrflyScy__factory.ts +1 -1
  311. package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
  312. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  313. package/typechain-types/factories/PendleERC4626SCY__factory.ts +1 -1
  314. package/typechain-types/factories/{PendleGaugeController__factory.ts → PendleGaugeControllerBaseUpg__factory.ts} +8 -8
  315. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +334 -0
  316. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +393 -0
  317. package/typechain-types/factories/PendleGauge__factory.ts +0 -24
  318. package/typechain-types/factories/PendleGovernanceManager__factory.ts +1 -1
  319. package/typechain-types/factories/PendleJoeLpSCY__factory.ts +1 -1
  320. package/typechain-types/factories/PendleMarketFactory__factory.ts +12 -11
  321. package/typechain-types/factories/PendleMarket__factory.ts +1 -25
  322. package/typechain-types/factories/PendlePrincipalToken__factory.ts +14 -85
  323. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  324. package/typechain-types/factories/PendleQiTokenSCY__factory.ts +1 -25
  325. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  326. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +845 -0
  327. package/typechain-types/factories/PendleWstEthSCY__factory.ts +1 -1
  328. package/typechain-types/factories/PendleYearnVaultSCY__factory.ts +691 -0
  329. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +14 -11
  330. package/typechain-types/factories/PendleYieldToken__factory.ts +76 -94
  331. package/typechain-types/factories/RewardManagerAbstract__factory.ts +59 -0
  332. package/typechain-types/factories/RewardManager__factory.ts +0 -24
  333. package/typechain-types/factories/RouterStatic__factory.ts +2 -2
  334. package/typechain-types/factories/SCYBaseWithRewards__factory.ts +0 -24
  335. package/typechain-types/factories/{VotingControllerStorage__factory.ts → VotingControllerStorageUpg__factory.ts} +22 -55
  336. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +14 -42
  337. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  338. package/typechain-types/factories/{VotingEscrowToken__factory.ts → VotingEscrowTokenBase__factory.ts} +12 -8
  339. package/typechain-types/hardhat.d.ts +54 -72
  340. package/typechain-types/index.ts +22 -26
  341. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiver.sol/CelerReceiver.dbg.json +0 -4
  342. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSender.sol/CelerSender.dbg.json +0 -4
  343. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeController.sol/PendleGaugeController.dbg.json +0 -4
  344. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol/PendleGaugeControllerMainchain.dbg.json +0 -4
  345. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol/PendleGaugeControllerMainchain.json +0 -255
  346. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechain.sol/PendleGaugeControllerSidechain.dbg.json +0 -4
  347. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechain.sol/PendleGaugeControllerSidechain.json +0 -318
  348. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingController.sol/PendleVotingController.dbg.json +0 -4
  349. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingController.sol/PendleVotingController.json +0 -707
  350. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorage.sol/VotingControllerStorage.dbg.json +0 -4
  351. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowToken.sol/VotingEscrowToken.dbg.json +0 -4
  352. package/build/artifacts/contracts/libraries/RewardManagerMini.sol/RewardManagerMini.dbg.json +0 -4
  353. package/build/artifacts/contracts/libraries/RewardManagerMini.sol/RewardManagerMini.json +0 -101
  354. package/build/artifacts/contracts/libraries/helpers/MiniDeployer.sol/MiniDeployer.dbg.json +0 -4
  355. package/build/artifacts/contracts/libraries/helpers/MiniDeployer.sol/MiniDeployer.json +0 -10
  356. package/build/artifacts/contracts/libraries/solmate/LibRLP.sol/LibRLP.dbg.json +0 -4
  357. package/contracts/libraries/helpers/MiniDeployer.sol +0 -23
  358. package/contracts/libraries/solmate/LibRLP.sol +0 -30
  359. package/deployments/kovan.json +0 -31
  360. package/typechain-types/ActionRedeem.ts +0 -125
  361. package/typechain-types/BeaconProxy.ts +0 -97
  362. package/typechain-types/ERC1967Upgrade.ts +0 -97
  363. package/typechain-types/IERC1822Proxiable.ts +0 -87
  364. package/typechain-types/IPActionRedeem.ts +0 -125
  365. package/typechain-types/IPBaseToken.ts +0 -365
  366. package/typechain-types/IPVotingEscrowController.ts +0 -154
  367. package/typechain-types/IPendleGauge.ts +0 -241
  368. package/typechain-types/IVotingEscrowPendle.ts +0 -297
  369. package/typechain-types/PendleBaseToken.ts +0 -475
  370. package/typechain-types/PendleBenQiErc20SCY.ts +0 -1050
  371. package/typechain-types/PendleMarketRewards.ts +0 -1317
  372. package/typechain-types/PendleStEthSCY.ts +0 -872
  373. package/typechain-types/RewardManagerMini.ts +0 -200
  374. package/typechain-types/VotingEscrowController.ts +0 -154
  375. package/typechain-types/factories/ActionRedeem__factory.ts +0 -105
  376. package/typechain-types/factories/BeaconProxy__factory.ts +0 -141
  377. package/typechain-types/factories/ERC1967Upgrade__factory.ts +0 -71
  378. package/typechain-types/factories/IBeacon__factory.ts +0 -36
  379. package/typechain-types/factories/IERC1822Proxiable__factory.ts +0 -39
  380. package/typechain-types/factories/IPActionRedeem__factory.ts +0 -70
  381. package/typechain-types/factories/IPBaseToken__factory.ts +0 -271
  382. package/typechain-types/factories/IPGauge__factory.ts +0 -42
  383. package/typechain-types/factories/IPVotingEscrowController__factory.ts +0 -80
  384. package/typechain-types/factories/IPendleGauge__factory.ts +0 -125
  385. package/typechain-types/factories/IVePToken__factory.ts +0 -55
  386. package/typechain-types/factories/IVotingEscrowPendle__factory.ts +0 -182
  387. package/typechain-types/factories/PendleBaseToken__factory.ts +0 -348
  388. package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +0 -871
  389. package/typechain-types/factories/PendleGaugeControllerMainchain__factory.ts +0 -332
  390. package/typechain-types/factories/PendleGaugeControllerSidechain__factory.ts +0 -391
  391. package/typechain-types/factories/PendleMarketRewards__factory.ts +0 -1140
  392. package/typechain-types/factories/PendleStEthSCY__factory.ts +0 -716
  393. package/typechain-types/factories/PendleVotingController__factory.ts +0 -776
  394. package/typechain-types/factories/PendleYearnVaultScy__factory.ts +0 -691
  395. package/typechain-types/factories/RewardManagerMini__factory.ts +0 -116
  396. package/typechain-types/factories/VotingEscrowController__factory.ts +0 -80
@@ -0,0 +1,776 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "PendleVotingControllerUpg",
4
+ "sourceName": "contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_vePendle",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "_governanceManager",
16
+ "type": "address"
17
+ }
18
+ ],
19
+ "stateMutability": "nonpayable",
20
+ "type": "constructor"
21
+ },
22
+ {
23
+ "anonymous": false,
24
+ "inputs": [
25
+ {
26
+ "indexed": true,
27
+ "internalType": "uint64",
28
+ "name": "chainId",
29
+ "type": "uint64"
30
+ },
31
+ {
32
+ "indexed": true,
33
+ "internalType": "address",
34
+ "name": "pool",
35
+ "type": "address"
36
+ }
37
+ ],
38
+ "name": "AddPool",
39
+ "type": "event"
40
+ },
41
+ {
42
+ "anonymous": false,
43
+ "inputs": [
44
+ {
45
+ "indexed": false,
46
+ "internalType": "address",
47
+ "name": "previousAdmin",
48
+ "type": "address"
49
+ },
50
+ {
51
+ "indexed": false,
52
+ "internalType": "address",
53
+ "name": "newAdmin",
54
+ "type": "address"
55
+ }
56
+ ],
57
+ "name": "AdminChanged",
58
+ "type": "event"
59
+ },
60
+ {
61
+ "anonymous": false,
62
+ "inputs": [
63
+ {
64
+ "indexed": true,
65
+ "internalType": "address",
66
+ "name": "beacon",
67
+ "type": "address"
68
+ }
69
+ ],
70
+ "name": "BeaconUpgraded",
71
+ "type": "event"
72
+ },
73
+ {
74
+ "anonymous": false,
75
+ "inputs": [
76
+ {
77
+ "indexed": true,
78
+ "internalType": "uint64",
79
+ "name": "chainId",
80
+ "type": "uint64"
81
+ },
82
+ {
83
+ "indexed": true,
84
+ "internalType": "uint128",
85
+ "name": "wTime",
86
+ "type": "uint128"
87
+ },
88
+ {
89
+ "indexed": false,
90
+ "internalType": "uint128",
91
+ "name": "totalPendlePerSec",
92
+ "type": "uint128"
93
+ }
94
+ ],
95
+ "name": "BroadcastResults",
96
+ "type": "event"
97
+ },
98
+ {
99
+ "anonymous": false,
100
+ "inputs": [
101
+ {
102
+ "indexed": true,
103
+ "internalType": "uint64",
104
+ "name": "chainId",
105
+ "type": "uint64"
106
+ },
107
+ {
108
+ "indexed": true,
109
+ "internalType": "address",
110
+ "name": "pool",
111
+ "type": "address"
112
+ }
113
+ ],
114
+ "name": "RemovePool",
115
+ "type": "event"
116
+ },
117
+ {
118
+ "anonymous": false,
119
+ "inputs": [
120
+ {
121
+ "indexed": false,
122
+ "internalType": "uint256",
123
+ "name": "newPendlePerSec",
124
+ "type": "uint256"
125
+ }
126
+ ],
127
+ "name": "SetPendlePerSec",
128
+ "type": "event"
129
+ },
130
+ {
131
+ "anonymous": false,
132
+ "inputs": [
133
+ {
134
+ "indexed": true,
135
+ "internalType": "address",
136
+ "name": "user",
137
+ "type": "address"
138
+ },
139
+ {
140
+ "indexed": true,
141
+ "internalType": "address",
142
+ "name": "pool",
143
+ "type": "address"
144
+ },
145
+ {
146
+ "components": [
147
+ {
148
+ "internalType": "uint128",
149
+ "name": "bias",
150
+ "type": "uint128"
151
+ },
152
+ {
153
+ "internalType": "uint128",
154
+ "name": "slope",
155
+ "type": "uint128"
156
+ }
157
+ ],
158
+ "indexed": false,
159
+ "internalType": "struct VeBalance",
160
+ "name": "vote",
161
+ "type": "tuple"
162
+ }
163
+ ],
164
+ "name": "Unvote",
165
+ "type": "event"
166
+ },
167
+ {
168
+ "anonymous": false,
169
+ "inputs": [
170
+ {
171
+ "indexed": true,
172
+ "internalType": "address",
173
+ "name": "implementation",
174
+ "type": "address"
175
+ }
176
+ ],
177
+ "name": "Upgraded",
178
+ "type": "event"
179
+ },
180
+ {
181
+ "anonymous": false,
182
+ "inputs": [
183
+ {
184
+ "indexed": true,
185
+ "internalType": "address",
186
+ "name": "user",
187
+ "type": "address"
188
+ },
189
+ {
190
+ "indexed": true,
191
+ "internalType": "address",
192
+ "name": "pool",
193
+ "type": "address"
194
+ },
195
+ {
196
+ "indexed": false,
197
+ "internalType": "uint64",
198
+ "name": "weight",
199
+ "type": "uint64"
200
+ },
201
+ {
202
+ "components": [
203
+ {
204
+ "internalType": "uint128",
205
+ "name": "bias",
206
+ "type": "uint128"
207
+ },
208
+ {
209
+ "internalType": "uint128",
210
+ "name": "slope",
211
+ "type": "uint128"
212
+ }
213
+ ],
214
+ "indexed": false,
215
+ "internalType": "struct VeBalance",
216
+ "name": "vote",
217
+ "type": "tuple"
218
+ }
219
+ ],
220
+ "name": "Vote",
221
+ "type": "event"
222
+ },
223
+ {
224
+ "inputs": [],
225
+ "name": "GOVERNANCE_PENDLE_VOTE",
226
+ "outputs": [
227
+ {
228
+ "internalType": "uint128",
229
+ "name": "",
230
+ "type": "uint128"
231
+ }
232
+ ],
233
+ "stateMutability": "view",
234
+ "type": "function"
235
+ },
236
+ {
237
+ "inputs": [],
238
+ "name": "MAX_LOCK_TIME",
239
+ "outputs": [
240
+ {
241
+ "internalType": "uint128",
242
+ "name": "",
243
+ "type": "uint128"
244
+ }
245
+ ],
246
+ "stateMutability": "view",
247
+ "type": "function"
248
+ },
249
+ {
250
+ "inputs": [],
251
+ "name": "USER_VOTE_MAX_WEIGHT",
252
+ "outputs": [
253
+ {
254
+ "internalType": "uint64",
255
+ "name": "",
256
+ "type": "uint64"
257
+ }
258
+ ],
259
+ "stateMutability": "view",
260
+ "type": "function"
261
+ },
262
+ {
263
+ "inputs": [],
264
+ "name": "WEEK",
265
+ "outputs": [
266
+ {
267
+ "internalType": "uint128",
268
+ "name": "",
269
+ "type": "uint128"
270
+ }
271
+ ],
272
+ "stateMutability": "view",
273
+ "type": "function"
274
+ },
275
+ {
276
+ "inputs": [
277
+ {
278
+ "internalType": "uint64",
279
+ "name": "chainId",
280
+ "type": "uint64"
281
+ },
282
+ {
283
+ "internalType": "address",
284
+ "name": "pool",
285
+ "type": "address"
286
+ }
287
+ ],
288
+ "name": "addPool",
289
+ "outputs": [],
290
+ "stateMutability": "nonpayable",
291
+ "type": "function"
292
+ },
293
+ {
294
+ "inputs": [
295
+ {
296
+ "internalType": "address",
297
+ "name": "_address",
298
+ "type": "address"
299
+ },
300
+ {
301
+ "internalType": "uint256",
302
+ "name": "_chainId",
303
+ "type": "uint256"
304
+ }
305
+ ],
306
+ "name": "addSidechainContract",
307
+ "outputs": [],
308
+ "stateMutability": "payable",
309
+ "type": "function"
310
+ },
311
+ {
312
+ "inputs": [
313
+ {
314
+ "internalType": "uint64",
315
+ "name": "chainId",
316
+ "type": "uint64"
317
+ }
318
+ ],
319
+ "name": "broadcastResults",
320
+ "outputs": [],
321
+ "stateMutability": "payable",
322
+ "type": "function"
323
+ },
324
+ {
325
+ "inputs": [],
326
+ "name": "celerMessageBus",
327
+ "outputs": [
328
+ {
329
+ "internalType": "contract ICelerMessageBus",
330
+ "name": "",
331
+ "type": "address"
332
+ }
333
+ ],
334
+ "stateMutability": "view",
335
+ "type": "function"
336
+ },
337
+ {
338
+ "inputs": [],
339
+ "name": "deployedWTime",
340
+ "outputs": [
341
+ {
342
+ "internalType": "uint128",
343
+ "name": "",
344
+ "type": "uint128"
345
+ }
346
+ ],
347
+ "stateMutability": "view",
348
+ "type": "function"
349
+ },
350
+ {
351
+ "inputs": [],
352
+ "name": "finalizeEpoch",
353
+ "outputs": [],
354
+ "stateMutability": "nonpayable",
355
+ "type": "function"
356
+ },
357
+ {
358
+ "inputs": [
359
+ {
360
+ "internalType": "uint64",
361
+ "name": "chainId",
362
+ "type": "uint64"
363
+ },
364
+ {
365
+ "internalType": "uint128",
366
+ "name": "wTime",
367
+ "type": "uint128"
368
+ },
369
+ {
370
+ "internalType": "uint128",
371
+ "name": "forcedPendlePerSec",
372
+ "type": "uint128"
373
+ }
374
+ ],
375
+ "name": "forceBroadcastResults",
376
+ "outputs": [],
377
+ "stateMutability": "payable",
378
+ "type": "function"
379
+ },
380
+ {
381
+ "inputs": [],
382
+ "name": "getAllPools",
383
+ "outputs": [
384
+ {
385
+ "internalType": "address[]",
386
+ "name": "",
387
+ "type": "address[]"
388
+ }
389
+ ],
390
+ "stateMutability": "view",
391
+ "type": "function"
392
+ },
393
+ {
394
+ "inputs": [],
395
+ "name": "getAllSidechainContracts",
396
+ "outputs": [
397
+ {
398
+ "internalType": "uint256[]",
399
+ "name": "chainIds",
400
+ "type": "uint256[]"
401
+ },
402
+ {
403
+ "internalType": "address[]",
404
+ "name": "addrs",
405
+ "type": "address[]"
406
+ }
407
+ ],
408
+ "stateMutability": "view",
409
+ "type": "function"
410
+ },
411
+ {
412
+ "inputs": [
413
+ {
414
+ "internalType": "uint64",
415
+ "name": "chainId",
416
+ "type": "uint64"
417
+ }
418
+ ],
419
+ "name": "getChainPools",
420
+ "outputs": [
421
+ {
422
+ "internalType": "address[]",
423
+ "name": "",
424
+ "type": "address[]"
425
+ }
426
+ ],
427
+ "stateMutability": "view",
428
+ "type": "function"
429
+ },
430
+ {
431
+ "inputs": [
432
+ {
433
+ "internalType": "address",
434
+ "name": "user",
435
+ "type": "address"
436
+ },
437
+ {
438
+ "internalType": "address",
439
+ "name": "pool",
440
+ "type": "address"
441
+ }
442
+ ],
443
+ "name": "getUserPoolVote",
444
+ "outputs": [
445
+ {
446
+ "components": [
447
+ {
448
+ "internalType": "uint64",
449
+ "name": "weight",
450
+ "type": "uint64"
451
+ },
452
+ {
453
+ "components": [
454
+ {
455
+ "internalType": "uint128",
456
+ "name": "bias",
457
+ "type": "uint128"
458
+ },
459
+ {
460
+ "internalType": "uint128",
461
+ "name": "slope",
462
+ "type": "uint128"
463
+ }
464
+ ],
465
+ "internalType": "struct VeBalance",
466
+ "name": "vote",
467
+ "type": "tuple"
468
+ }
469
+ ],
470
+ "internalType": "struct VotingControllerStorageUpg.UserPoolInfo",
471
+ "name": "",
472
+ "type": "tuple"
473
+ }
474
+ ],
475
+ "stateMutability": "view",
476
+ "type": "function"
477
+ },
478
+ {
479
+ "inputs": [
480
+ {
481
+ "internalType": "address",
482
+ "name": "user",
483
+ "type": "address"
484
+ },
485
+ {
486
+ "internalType": "address",
487
+ "name": "pool",
488
+ "type": "address"
489
+ },
490
+ {
491
+ "internalType": "uint128",
492
+ "name": "timestamp",
493
+ "type": "uint128"
494
+ }
495
+ ],
496
+ "name": "getUserPoolVoteAt",
497
+ "outputs": [
498
+ {
499
+ "internalType": "uint128",
500
+ "name": "",
501
+ "type": "uint128"
502
+ }
503
+ ],
504
+ "stateMutability": "view",
505
+ "type": "function"
506
+ },
507
+ {
508
+ "inputs": [],
509
+ "name": "governanceManager",
510
+ "outputs": [
511
+ {
512
+ "internalType": "address",
513
+ "name": "",
514
+ "type": "address"
515
+ }
516
+ ],
517
+ "stateMutability": "view",
518
+ "type": "function"
519
+ },
520
+ {
521
+ "inputs": [
522
+ {
523
+ "internalType": "uint128",
524
+ "name": "",
525
+ "type": "uint128"
526
+ }
527
+ ],
528
+ "name": "isEpochFinalized",
529
+ "outputs": [
530
+ {
531
+ "internalType": "bool",
532
+ "name": "",
533
+ "type": "bool"
534
+ }
535
+ ],
536
+ "stateMutability": "view",
537
+ "type": "function"
538
+ },
539
+ {
540
+ "inputs": [],
541
+ "name": "pendlePerSec",
542
+ "outputs": [
543
+ {
544
+ "internalType": "uint128",
545
+ "name": "",
546
+ "type": "uint128"
547
+ }
548
+ ],
549
+ "stateMutability": "view",
550
+ "type": "function"
551
+ },
552
+ {
553
+ "inputs": [
554
+ {
555
+ "internalType": "address",
556
+ "name": "",
557
+ "type": "address"
558
+ }
559
+ ],
560
+ "name": "poolInfo",
561
+ "outputs": [
562
+ {
563
+ "internalType": "uint64",
564
+ "name": "chainId",
565
+ "type": "uint64"
566
+ },
567
+ {
568
+ "internalType": "uint128",
569
+ "name": "lastUpdated",
570
+ "type": "uint128"
571
+ },
572
+ {
573
+ "components": [
574
+ {
575
+ "internalType": "uint128",
576
+ "name": "bias",
577
+ "type": "uint128"
578
+ },
579
+ {
580
+ "internalType": "uint128",
581
+ "name": "slope",
582
+ "type": "uint128"
583
+ }
584
+ ],
585
+ "internalType": "struct VeBalance",
586
+ "name": "vote",
587
+ "type": "tuple"
588
+ }
589
+ ],
590
+ "stateMutability": "view",
591
+ "type": "function"
592
+ },
593
+ {
594
+ "inputs": [],
595
+ "name": "proxiableUUID",
596
+ "outputs": [
597
+ {
598
+ "internalType": "bytes32",
599
+ "name": "",
600
+ "type": "bytes32"
601
+ }
602
+ ],
603
+ "stateMutability": "view",
604
+ "type": "function"
605
+ },
606
+ {
607
+ "inputs": [
608
+ {
609
+ "internalType": "address",
610
+ "name": "pool",
611
+ "type": "address"
612
+ }
613
+ ],
614
+ "name": "removePool",
615
+ "outputs": [],
616
+ "stateMutability": "nonpayable",
617
+ "type": "function"
618
+ },
619
+ {
620
+ "inputs": [
621
+ {
622
+ "internalType": "address",
623
+ "name": "_celerMessageBus",
624
+ "type": "address"
625
+ }
626
+ ],
627
+ "name": "setCelerMessageBus",
628
+ "outputs": [],
629
+ "stateMutability": "nonpayable",
630
+ "type": "function"
631
+ },
632
+ {
633
+ "inputs": [
634
+ {
635
+ "internalType": "uint128",
636
+ "name": "newPendlePerSec",
637
+ "type": "uint128"
638
+ }
639
+ ],
640
+ "name": "setPendlePerSec",
641
+ "outputs": [],
642
+ "stateMutability": "nonpayable",
643
+ "type": "function"
644
+ },
645
+ {
646
+ "inputs": [
647
+ {
648
+ "internalType": "address",
649
+ "name": "pool",
650
+ "type": "address"
651
+ }
652
+ ],
653
+ "name": "unvote",
654
+ "outputs": [],
655
+ "stateMutability": "nonpayable",
656
+ "type": "function"
657
+ },
658
+ {
659
+ "inputs": [
660
+ {
661
+ "internalType": "address",
662
+ "name": "pool",
663
+ "type": "address"
664
+ }
665
+ ],
666
+ "name": "updatePoolVotes",
667
+ "outputs": [],
668
+ "stateMutability": "nonpayable",
669
+ "type": "function"
670
+ },
671
+ {
672
+ "inputs": [
673
+ {
674
+ "internalType": "address",
675
+ "name": "newImplementation",
676
+ "type": "address"
677
+ }
678
+ ],
679
+ "name": "upgradeTo",
680
+ "outputs": [],
681
+ "stateMutability": "nonpayable",
682
+ "type": "function"
683
+ },
684
+ {
685
+ "inputs": [
686
+ {
687
+ "internalType": "address",
688
+ "name": "newImplementation",
689
+ "type": "address"
690
+ },
691
+ {
692
+ "internalType": "bytes",
693
+ "name": "data",
694
+ "type": "bytes"
695
+ }
696
+ ],
697
+ "name": "upgradeToAndCall",
698
+ "outputs": [],
699
+ "stateMutability": "payable",
700
+ "type": "function"
701
+ },
702
+ {
703
+ "inputs": [
704
+ {
705
+ "internalType": "address",
706
+ "name": "",
707
+ "type": "address"
708
+ }
709
+ ],
710
+ "name": "userData",
711
+ "outputs": [
712
+ {
713
+ "internalType": "uint64",
714
+ "name": "totalVotedWeight",
715
+ "type": "uint64"
716
+ }
717
+ ],
718
+ "stateMutability": "view",
719
+ "type": "function"
720
+ },
721
+ {
722
+ "inputs": [],
723
+ "name": "vePendle",
724
+ "outputs": [
725
+ {
726
+ "internalType": "contract IPVeToken",
727
+ "name": "",
728
+ "type": "address"
729
+ }
730
+ ],
731
+ "stateMutability": "view",
732
+ "type": "function"
733
+ },
734
+ {
735
+ "inputs": [
736
+ {
737
+ "internalType": "address",
738
+ "name": "pool",
739
+ "type": "address"
740
+ },
741
+ {
742
+ "internalType": "uint64",
743
+ "name": "weight",
744
+ "type": "uint64"
745
+ }
746
+ ],
747
+ "name": "vote",
748
+ "outputs": [],
749
+ "stateMutability": "nonpayable",
750
+ "type": "function"
751
+ },
752
+ {
753
+ "inputs": [
754
+ {
755
+ "internalType": "uint128",
756
+ "name": "",
757
+ "type": "uint128"
758
+ }
759
+ ],
760
+ "name": "weekData",
761
+ "outputs": [
762
+ {
763
+ "internalType": "uint128",
764
+ "name": "totalVotes",
765
+ "type": "uint128"
766
+ }
767
+ ],
768
+ "stateMutability": "view",
769
+ "type": "function"
770
+ }
771
+ ],
772
+ "bytecode": "0x6101006040523060e0523480156200001657600080fd5b50604051620036d2380380620036d2833981016040819052620000399162000119565b8181806001600160a01b038116620000865760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b604482015260640160405180910390fd5b6001600160a01b03908116608052821660a05250620000b0620000c6602090811b6200119c17901c565b6001600160801b031660c05250620001c4915050565b6000620000d342620000d8565b905090565b600062093a80620000ea818462000151565b620000f6919062000186565b92915050565b80516001600160a01b03811681146200011457600080fd5b919050565b600080604083850312156200012d57600080fd5b6200013883620000fc565b91506200014860208401620000fc565b90509250929050565b60006001600160801b03838116806200017a57634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b60006001600160801b0382811684821681151582840482111615620001bb57634e487b7160e01b600052601160045260246000fd5b02949350505050565b60805160a05160c05160e05161349c6200023660003960008181610870015281816108b001528181610a5401528181610a940152610b0c01526000818161044801526119830152600081816103300152818161078b015261213901526000818161059601526111ab015261349c6000f3fe6080604052600436106101735760003560e01c80631c62997b146101785780631c9bdb49146101b157806323342c38146101c6578063317f838d146101e65780633659cfe6146102065780633b7d0946146102265780634e91d0cb146102465780634f1ef2861461025957806352d1902d1461026c578063592557061461028f5780635cc04968146102af578063646fb67c146102dc57806382ae9ef71461030957806382dabb211461031e57806383fd4d42146103525780639a7b5f1114610392578063aed2377d14610416578063b292bf9514610436578063bfa5b32414610477578063c0202a4414610495578063c2811e2a146104cb578063c291230d146104eb578063c4c30dc2146104fe578063c891091314610521578063c9430f4814610557578063d2e6d1c314610584578063d569c7b7146105b8578063d68ffecb146105d8578063d88ff1f4146105f8578063f4359ce51461060d578063f7f03fea14610624578063fa78668f14610644575b600080fd5b34801561018457600080fd5b50610194670de0b6b3a764000081565b6040516001600160401b0390911681526020015b60405180910390f35b6101c46101bf366004612bec565b61065c565b005b3480156101d257600080fd5b506101c46101e1366004612c4a565b6106ad565b3480156101f257600080fd5b506101c4610201366004612c67565b610707565b34801561021257600080fd5b506101c4610221366004612c4a565b610866565b34801561023257600080fd5b506101c4610241366004612c4a565b61092e565b6101c4610254366004612c9c565b610a02565b6101c4610267366004612cde565b610a4a565b34801561027857600080fd5b50610281610aff565b6040519081526020016101a8565b34801561029b57600080fd5b506101c46102aa366004612da1565b610bad565b3480156102bb57600080fd5b506064546102cf906001600160a01b031681565b6040516101a89190612dbe565b3480156102e857600080fd5b506102fc6102f7366004612dd2565b610c3b565b6040516101a89190612e26565b34801561031557600080fd5b506101c4610cb3565b34801561032a57600080fd5b506102cf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561035e57600080fd5b5061038261036d366004612da1565b60d36020526000908152604090205460ff1681565b60405190151581526020016101a8565b34801561039e57600080fd5b506104076103ad366004612c4a565b60d060209081526000918252604091829020805483518085019094526001909101546001600160801b038082168552600160801b9091048116928401929092526001600160401b03811692600160401b9091049091169083565b6040516101a893929190612e4a565b34801561042257600080fd5b506101c4610431366004612c4a565b610cf3565b34801561044257600080fd5b5061046a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516101a89190612e7e565b34801561048357600080fd5b5061046a69d3c21bcecceda100000081565b3480156104a157600080fd5b5061046a6104b0366004612da1565b60d1602052600090815260409020546001600160801b031681565b3480156104d757600080fd5b5061046a6104e6366004612e92565b610d16565b6101c46104f9366004612ec2565b610d5a565b34801561050a57600080fd5b50610513610dde565b6040516101a8929190612f51565b34801561052d57600080fd5b5061019461053c366004612c4a565b60d2602052600090815260409020546001600160401b031681565b34801561056357600080fd5b50610577610572366004612ec2565b610ef2565b6040516101a89190612f76565b34801561059057600080fd5b506102cf7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105c457600080fd5b506101c46105d3366004612c4a565b610f16565b3480156105e457600080fd5b506101c46105f3366004612f89565b6110bb565b34801561060457600080fd5b5061057761118b565b34801561061957600080fd5b5061046a62093a8081565b34801561063057600080fd5b5060cc5461046a906001600160801b031681565b34801561065057600080fd5b5061046a6303bfc40081565b6106646111a7565b6001600160a01b0316336001600160a01b03161461069d5760405162461bcd60e51b815260040161069490612fa5565b60405180910390fd5b6106a883838361122b565b505050565b6106b56111a7565b6001600160a01b0316336001600160a01b0316146106e55760405162461bcd60e51b815260040161069490612fa5565b606480546001600160a01b0319166001600160a01b0392909216919091179055565b336001600160401b03821660000361074f5760405162461bcd60e51b815260206004820152600b60248201526a1e995c9bc81dd95a59da1d60aa1b6044820152606401610694565b610758836114e2565b6107745760405162461bcd60e51b815260040161069490612fce565b604051636a6c9c3b60e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d4d93876906107c0908490600401612dbe565b602060405180830381865afa1580156107dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108019190612ff4565b156108465760405162461bcd60e51b81526020600482015260156024820152741d5cd95c881c1bdcda5d1a5bdb88195e1c1a5c9959605a1b6044820152606401610694565b61084f83610f16565b61085b8184600061150f565b6106a881848461160e565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036108ae5760405162461bcd60e51b815260040161069490613016565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108e0611682565b6001600160a01b0316146109065760405162461bcd60e51b815260040161069490613050565b61090f8161169e565b6040805160008082526020820190925261092b918391906116d6565b50565b6109366111a7565b6001600160a01b0316336001600160a01b0316146109665760405162461bcd60e51b815260040161069490612fa5565b61096f816114e2565b61098b5760405162461bcd60e51b815260040161069490612fce565b6001600160a01b038116600090815260d060205260409020546001600160401b03166109b682610f16565b6109bf82611841565b6040516001600160a01b038316906001600160401b038316907ff2e3b584c4d1ed5ead9a4b7de2a8225fd42d13f09e417cd294d03f1dd07fc91490600090a35050565b610a0a6111a7565b6001600160a01b0316336001600160a01b031614610a3a5760405162461bcd60e51b815260040161069490612fa5565b6106a860658284611948565b5050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a925760405162461bcd60e51b815260040161069490613016565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610ac4611682565b6001600160a01b031614610aea5760405162461bcd60e51b815260040161069490613050565b610af38261169e565b610a46828260016116d6565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b9a5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610694565b5060008051602061342083398151915290565b610bb56111a7565b6001600160a01b0316336001600160a01b031614610be55760405162461bcd60e51b815260040161069490612fa5565b60cc80546001600160801b0319166001600160801b0383161790556040517ffe870af61f024df0d7f960ad100676f3ffaa7ea6a44bc6c7adf2756cb8cf4b3890610c30908390612e7e565b60405180910390a150565b610c43612b7c565b506001600160a01b03808316600090815260d260209081526040808320938516835260019384018252918290208251808401845281546001600160401b0316815283518085019094529301546001600160801b038082168452600160801b90910416828201528201525b92915050565b6000610cbf60cd61195e565b905060005b81811015610cea57610cda6105d360cd83611968565b610ce3816130a0565b9050610cc4565b5061092b611974565b610cfc816114e2565b15610d0a57610d0a81610f16565b61092b3382600161150f565b6001600160a01b03808416600090815260d4602090815260408083209386168352929052908120610d50906001600160801b038416611a18565b90505b9392505050565b6000610d6461119c565b6001600160801b038116600090815260d3602052604090205490915060ff16610dc55760405162461bcd60e51b8152602060048201526013602482015272195c1bd8da081b9bdd08199a5b985b1a5e9959606a1b6044820152606401610694565b60cc54610a4690839083906001600160801b031661122b565b6060806000610ded6065611b58565b9050806001600160401b03811115610e0757610e07612cc8565b604051908082528060200260200182016040528015610e30578160200160208202803683370190505b509250806001600160401b03811115610e4b57610e4b612cc8565b604051908082528060200260200182016040528015610e74578160200160208202803683370190505b50915060005b81811015610eec57610e8d606582611b63565b858381518110610e9f57610e9f6130b9565b60200260200101858481518110610eb857610eb86130b9565b60200260200101826001600160a01b03166001600160a01b031681525082815250505080610ee5906130a0565b9050610e7a565b50509091565b6001600160401b038116600090815260cf60205260409020606090610cad90611b7f565b610f1f816114e2565b610f3b5760405162461bcd60e51b815260040161069490612fce565b6001600160a01b038116600090815260d06020526040812054600160401b90046001600160801b031690610f6d61119c565b9050806001600160801b0316826001600160801b031610610f8d57505050565b6001600160a01b038316600090815260d060209081526040918290208251808401909352600101546001600160801b038082168452600160801b90910416908201525b816001600160801b0316836001600160801b0316101561105657610ff762093a80846130cf565b6001600160a01b038516600090815260d0602090815260408083206001600160801b03808616855260029091019092529091205491945061103b9183911685611b8c565b9050611051848461104c8482611bda565b611bf8565b610fd0565b6001600160a01b038416600090815260d0602090815260409091208251918301516001600160801b03908116600160801b029281169290921760018201558054918516600160401b02600160401b600160c01b03199092169190911790555b50505050565b6110c36111a7565b6001600160a01b0316336001600160a01b0316146110f35760405162461bcd60e51b815260040161069490612fa5565b6110fc816114e2565b1561113e5760405162461bcd60e51b81526020600482015260126024820152711c1bdbdb08185b1c9958591e48185919195960721b6044820152606401610694565b6111488282611c88565b6040516001600160a01b038216906001600160401b038416907f336f0b3cc523e98d21e261389542b62abaffc094a21a82f1eec2779d7c8323cb90600090a35050565b606061119760cd611b7f565b905090565b600061119742611dba565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b8152600401602060405180830381865afa158015611207573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119791906130fa565b6001600160801b03808316600090815260d16020526040812054909116908190036112565750505050565b6001600160401b038416600090815260cf602052604081206112779061195e565b905080600003611288575050505050565b6001600160401b038516600090815260cf602052604081206112a990611b7f565b90506000826001600160401b038111156112c5576112c5612cc8565b6040519080825280602002602001820160405280156112ee578160200160208202803683370190505b50905060005b838110156113c657600060d16000896001600160801b03166001600160801b03168152602001908152602001600020600101600085848151811061133a5761133a6130b9565b6020908102919091018101516001600160a01b031682528101919091526040016000908120546001600160801b039081169250879061137c9084908b16613117565b611386919061314c565b905061139562093a8082613117565b8484815181106113a7576113a76130b9565b6020026020010181815250505050806113bf906130a0565b90506112f4565b5046876001600160401b0316036114585760006113ed60656001600160401b038a16611dd4565b60405163072cbf8760e41b81529091506001600160a01b038216906372cbf87090611420908a9087908790600401613160565b600060405180830381600087803b15801561143a57600080fd5b505af115801561144e573d6000803e3d6000fd5b505050505061148e565b61148e876001600160401b031687848460405160200161147a93929190613160565b604051602081830303815290604052611de0565b856001600160801b0316876001600160401b03167fc78a580f215ba474e75ecbd7636c375e8d2cd25edb0f2467f99b2d0752e104ba876040516114d19190612e7e565b60405180910390a350505050505050565b6001600160a01b0316600090815260d06020526040902054600160401b90046001600160801b0316151590565b6001600160a01b03808416600090815260d260209081526040808320938616835260019384018252918290208251808401909352909201546001600160801b038082168352600160801b909104169181019190915261156d836114e2565b801561157d575061157d81611eea565b1561158c5761158c8382611f27565b6115968484612001565b81156115bd5760408051808201909152600080825260208201526115bd908590859061209e565b826001600160a01b0316846001600160a01b03167f9db2ca6056cbab558dc5c95284cdb4a39392d13ab84d0dda66e2895c1919ce448360405161160091906131a0565b60405180910390a350505050565b600061161a84836120cd565b90506116268382612208565b611632848484846122b9565b61163d84848361209e565b826001600160a01b0316846001600160a01b03167fc71e393f1527f71ce01b78ea87c9bd4fca84f1482359ce7ac9b73f358c61b1e184846040516116009291906131ae565b600080516020613420833981519152546001600160a01b031690565b6116a66111a7565b6001600160a01b0316336001600160a01b03161461092b5760405162461bcd60e51b815260040161069490612fa5565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611709576106a8836123d6565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611763575060408051601f3d908101601f19168201909252611760918101906131cb565b60015b6117c65760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610694565b60008051602061342083398151915281146118355760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610694565b506106a8838383612470565b6001600160a01b038116600090815260d060209081526040808320546001600160401b031680845260cf90925290912061187b9083612495565b6118c75760405162461bcd60e51b815260206004820152601d60248201527f49453a20636861696e506f6f6c732072656d6f76616c206661696c65640000006044820152606401610694565b6118d260cd83612495565b61191c5760405162461bcd60e51b815260206004820152601b60248201527a12514e88185b1b141bdbdb1cc81c995b5bdd985b0819985a5b1959602a1b6044820152606401610694565b506001600160a01b0316600090815260d06020526040812080546001600160c01b031916815560010155565b6000610d5084846001600160a01b0385166124aa565b6000610cad825490565b6000610d5383836124c7565b600061197e61119c565b90505b7f00000000000000000000000000000000000000000000000000000000000000006001600160801b0316816001600160801b0316101580156119dc57506001600160801b038116600090815260d3602052604090205460ff16155b1561092b576001600160801b038116600090815260d360205260409020805460ff19166001179055611a1162093a80826131e4565b9050611981565b6000428210611a695760405162461bcd60e51b815260206004820181905260248201527f436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e65646044820152606401610694565b825460005b81811015611adf5760006002611a84848461320c565b611a8e919061314c565b905084866000018281548110611aa657611aa66130b9565b600091825260209091206002909102015463ffffffff161115611acb57809250611ad9565b611ad681600161320c565b91505b50611a6e565b8115611b4c57611b4785611af4600185613224565b81548110611b0457611b046130b9565b60009182526020918290206040805180820190915260029290920201600101546001600160801b038082168352600160801b909104169181019190915285611bda565b611b4f565b60005b95945050505050565b6000610cad826124f1565b6000808080611b7286866124fc565b9097909650945050505050565b60606000610d5383612527565b611b94612ba4565b828460200151611ba491906131e4565b6001600160801b03166020820152611bbc828461323b565b8451611bc891906131e4565b6001600160801b031681529392505050565b6000818360200151611bec919061323b565b8351610d5391906131e4565b6001600160801b03808316600090815260d16020526040812080548493919291611c24918591166130cf565b82546101009290920a6001600160801b03818102199093169183160217909155928316600090815260d1602090815260408083206001600160a01b0397909716835260019690960190529390932080546001600160801b0319169190921617905550565b6001600160a01b038116600090815260d06020526040902080546001600160401b0319166001600160401b038416179055611cc161119c565b6001600160a01b038216600090815260d06020908152604080832080546001600160801b0395909516600160401b02600160401b600160c01b0319909516949094179093556001600160401b038516825260cf905220611d219082612583565b611d695760405162461bcd60e51b815260206004820152601960248201527812514e8818da185a5b941bdbdb1cc8191d5c1b1a58d85d1959603a1b6044820152606401610694565b611d7460cd82612583565b610a465760405162461bcd60e51b815260206004820152601760248201527612514e88185b1b141bdbdb1cc8191d5c1b1a58d85d1959604a1b6044820152606401610694565b600062093a80611dca818461326a565b610cad919061323b565b6000610d538383612598565b611deb606583612608565b611df757611df7613290565b6000611e04606584611dd4565b60645460405163299aee5160e11b81529192506000916001600160a01b0390911690635335dca290611e3a9086906004016132fe565b602060405180830381865afa158015611e57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7b91906131cb565b606454604051634f9e72ad60e11b81529192506001600160a01b031690639f3ce55a908390611eb290869089908990600401613311565b6000604051808303818588803b158015611ecb57600080fd5b505af1158015611edf573d6000803e3d6000fd5b505050505050505050565b600081602001516001600160801b0316600014158015610cad5750611f20611f1183612614565b6001600160801b031642101590565b1592915050565b6001600160a01b038216600090815260d06020908152604091829020825180840190935260018101546001600160801b038082168552600160801b909104169183019190915290611f789083612654565b80516020918201516001600160801b03908116600160801b029116176001830155820151600282016000611fab85612614565b6001600160801b0390811682526020820192909252604001600090812080549092611fd8918591166131e4565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050565b6001600160a01b03808316600090815260d26020908152604080832093851683526001840190915281205482546001600160401b03918216928492909161204a91859116613338565b82546001600160401b039182166101009390930a9283029190920219909116179055506001600160a01b03909116600090815260019182016020526040812080546001600160401b03191681559091015550565b6001600160a01b03808416600090815260d4602090815260408083209386168352929052206106a8908261269d565b6120d5612ba4565b6000806120e06111a7565b6001600160a01b0316856001600160a01b0316036121225769d3c21bcecceda1000000915061211b6121166303bfc400426130cf565b611dba565b90506121b4565b6040516332dad3cf60e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063cb6b4f3c9061216e908890600401612dbe565b6040805180830381865afa15801561218a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121ae9190613358565b90925090505b6121ec670de0b6b3a76400006121dc6001600160401b0387166001600160801b038616613117565b6121e6919061314c565b826127a9565b6001600160801b03908116602086015216835250909392505050565b6001600160a01b038216600090815260d06020908152604091829020825180840190935260018101546001600160801b038082168552600160801b90910416918301919091529061225990836127f1565b80516020918201516001600160801b03908116600160801b02911617600183015582015160028201600061228c85612614565b6001600160801b0390811682526020820192909252604001600090812080549092611fd8918591166130cf565b6001600160a01b038416600090815260d2602052604081208054909184918391906122ee9084906001600160401b0316613387565b82546101009290920a6001600160401b038181021990931691831602179091558254670de0b6b3a76400009116111590506123615760405162461bcd60e51b8152602060048201526013602482015272195e18d959591959081b585e081dd95a59da1d606a1b6044820152606401610694565b6040805180820182526001600160401b03948516815260208082019485526001600160a01b03909616600090815260019384018752919091209051815494166001600160401b0319909416939093178355905180519301516001600160801b03908116600160801b0293169290921791015550565b6123df81612826565b6124415760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610694565b60008051602061342083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61247983612835565b6000825111806124865750805b156106a8576110b58383612875565b6000610d53836001600160a01b03841661295e565b60008281526002840160205260408120829055610d508484612a58565b60008260000182815481106124de576124de6130b9565b9060005260206000200154905092915050565b6000610cad8261195e565b6000808061250a8585611968565b600081815260029690960160205260409095205494959350505050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561257757602002820191906000526020600020905b815481526020019060010190808311612563575b50505050509050919050565b6000610d53836001600160a01b038416612a60565b6000818152600283016020526040812054801515806125bc57506125bc8484612aaa565b610d535760405162461bcd60e51b815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b657900006044820152606401610694565b6000610d538383612aaa565b600081602001516001600160801b03166000036126435760405162461bcd60e51b8152600401610694906133a9565b60208201518251610cad919061326a565b61265c612ba4565b8151835161266a91906131e4565b6001600160801b031681526020808301519084015161268991906131e4565b6001600160801b0316602082015292915050565b815480158015906126df575042836126b6600184613224565b815481106126c6576126c66130b9565b600091825260209091206002909102015463ffffffff16145b1561273e5781836126f1600184613224565b81548110612701576127016130b9565b6000918252602091829020835193909201516001600160801b03908116600160801b02931692909217600160029093029091019190910155505050565b6040805180820190915263ffffffff4281168252602080830185815286546001818101895560008981528490209551600290920290950180549190941663ffffffff199091161783555180519101516001600160801b03908116600160801b02911617910155505050565b60008060006127dd6040518060400160405280876001600160801b03168152602001866001600160801b0316815250612ab6565b805160209091015190969095509350505050565b6127f9612ba4565b8151835161280791906130cf565b6001600160801b031681526020808301519084015161268991906130cf565b6001600160a01b03163b151590565b61283e816123d6565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061288083612826565b6128db5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610694565b600080846001600160a01b0316846040516128f691906133cd565b600060405180830381855af49150503d8060008114612931576040519150601f19603f3d011682016040523d82523d6000602084013e612936565b606091505b5091509150611b4f828260405180606001604052806027815260200161344060279139612b1f565b60008181526001830160205260408120548015612a47576000612982600183613224565b855490915060009061299690600190613224565b90508181146129fb5760008660000182815481106129b6576129b66130b9565b90600052602060002001549050808760000184815481106129d9576129d96130b9565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612a0c57612a0c6133e9565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610cad565b6000915050610cad565b5092915050565b6000610d5383835b6000612a6c8383612b58565b612aa257508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610cad565b506000610cad565b6000610d538383612b70565b612abe612ba4565b8151612acf906303bfc4009061326a565b6001600160801b031660208201819052612afb5760405162461bcd60e51b8152600401610694906133a9565b81602001518160200151612b0f919061323b565b6001600160801b03168152919050565b60608315612b2e575081610d53565b825115612b3e5782518084602001fd5b8160405162461bcd60e51b815260040161069491906132fe565b60009081526001919091016020526040902054151590565b6000610d538383612b58565b604051806040016040528060006001600160401b03168152602001612b9f612ba4565b905290565b604080518082019091526000808252602082015290565b80356001600160401b0381168114612bd257600080fd5b919050565b6001600160801b038116811461092b57600080fd5b600080600060608486031215612c0157600080fd5b612c0a84612bbb565b92506020840135612c1a81612bd7565b91506040840135612c2a81612bd7565b809150509250925092565b6001600160a01b038116811461092b57600080fd5b600060208284031215612c5c57600080fd5b8135610d5381612c35565b60008060408385031215612c7a57600080fd5b8235612c8581612c35565b9150612c9360208401612bbb565b90509250929050565b60008060408385031215612caf57600080fd5b8235612cba81612c35565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215612cf157600080fd5b8235612cfc81612c35565b915060208301356001600160401b0380821115612d1857600080fd5b818501915085601f830112612d2c57600080fd5b813581811115612d3e57612d3e612cc8565b604051601f8201601f19908116603f01168101908382118183101715612d6657612d66612cc8565b81604052828152886020848701011115612d7f57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208284031215612db357600080fd5b8135610d5381612bd7565b6001600160a01b0391909116815260200190565b60008060408385031215612de557600080fd5b8235612df081612c35565b91506020830135612e0081612c35565b809150509250929050565b80516001600160801b03908116835260209182015116910152565b81516001600160401b031681526020808301516060830191612a5190840182612e0b565b6001600160401b03841681526001600160801b038316602082015260808101612e766040830184612e0b565b949350505050565b6001600160801b0391909116815260200190565b600080600060608486031215612ea757600080fd5b8335612eb281612c35565b92506020840135612c1a81612c35565b600060208284031215612ed457600080fd5b610d5382612bbb565b600081518084526020808501945080840160005b83811015612f0d57815187529582019590820190600101612ef1565b509495945050505050565b600081518084526020808501945080840160005b83811015612f0d5781516001600160a01b031687529582019590820190600101612f2c565b604081526000612f646040830185612edd565b8281036020840152611b4f8185612f18565b602081526000610d536020830184612f18565b60008060408385031215612f9c57600080fd5b612df083612bbb565b6020808252600f908201526e4f4e4c595f474f5645524e414e434560881b604082015260600190565b6020808252600c908201526b1a5b9d985b1a59081c1bdbdb60a21b604082015260600190565b60006020828403121561300657600080fd5b81518015158114610d5357600080fd5b6020808252602c9082015260008051602061340083398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061340083398151915260408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b6000600182016130b2576130b261308a565b5060010190565b634e487b7160e01b600052603260045260246000fd5b60006001600160801b038281168482168083038211156130f1576130f161308a565b01949350505050565b60006020828403121561310c57600080fd5b8151610d5381612c35565b60008160001904831182151516156131315761313161308a565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261315b5761315b613136565b500490565b6001600160801b038416815260606020820181905260009061318490830185612f18565b82810360408401526131968185612edd565b9695505050505050565b60408101610cad8284612e0b565b6001600160401b038316815260608101610d536020830184612e0b565b6000602082840312156131dd57600080fd5b5051919050565b60006001600160801b03838116908316818110156132045761320461308a565b039392505050565b6000821982111561321f5761321f61308a565b500190565b6000828210156132365761323661308a565b500390565b60006001600160801b03828116848216811515828404821116156132615761326161308a565b02949350505050565b60006001600160801b038381168061328457613284613136565b92169190910492915050565b634e487b7160e01b600052600160045260246000fd5b60005b838110156132c15781810151838201526020016132a9565b838111156110b55750506000910152565b600081518084526132ea8160208601602086016132a6565b601f01601f19169290920160200192915050565b602081526000610d5360208301846132d2565b60018060a01b0384168152826020820152606060408201526000611b4f60608301846132d2565b60006001600160401b03838116908316818110156132045761320461308a565b6000806040838503121561336b57600080fd5b825161337681612bd7565b6020840151909250612e0081612bd7565b60006001600160401b038281168482168083038211156130f1576130f161308a565b6020808252600a90820152697a65726f20736c6f706560b01b604082015260600190565b600082516133df8184602087016132a6565b9190910192915050565b634e487b7160e01b600052603160045260246000fdfe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212209edc813d3c2403c4bf249d4e418d5e8c193e1f4ed40fdc574c16df8fc0dbe32064736f6c634300080f0033",
773
+ "deployedBytecode": "0x6080604052600436106101735760003560e01c80631c62997b146101785780631c9bdb49146101b157806323342c38146101c6578063317f838d146101e65780633659cfe6146102065780633b7d0946146102265780634e91d0cb146102465780634f1ef2861461025957806352d1902d1461026c578063592557061461028f5780635cc04968146102af578063646fb67c146102dc57806382ae9ef71461030957806382dabb211461031e57806383fd4d42146103525780639a7b5f1114610392578063aed2377d14610416578063b292bf9514610436578063bfa5b32414610477578063c0202a4414610495578063c2811e2a146104cb578063c291230d146104eb578063c4c30dc2146104fe578063c891091314610521578063c9430f4814610557578063d2e6d1c314610584578063d569c7b7146105b8578063d68ffecb146105d8578063d88ff1f4146105f8578063f4359ce51461060d578063f7f03fea14610624578063fa78668f14610644575b600080fd5b34801561018457600080fd5b50610194670de0b6b3a764000081565b6040516001600160401b0390911681526020015b60405180910390f35b6101c46101bf366004612bec565b61065c565b005b3480156101d257600080fd5b506101c46101e1366004612c4a565b6106ad565b3480156101f257600080fd5b506101c4610201366004612c67565b610707565b34801561021257600080fd5b506101c4610221366004612c4a565b610866565b34801561023257600080fd5b506101c4610241366004612c4a565b61092e565b6101c4610254366004612c9c565b610a02565b6101c4610267366004612cde565b610a4a565b34801561027857600080fd5b50610281610aff565b6040519081526020016101a8565b34801561029b57600080fd5b506101c46102aa366004612da1565b610bad565b3480156102bb57600080fd5b506064546102cf906001600160a01b031681565b6040516101a89190612dbe565b3480156102e857600080fd5b506102fc6102f7366004612dd2565b610c3b565b6040516101a89190612e26565b34801561031557600080fd5b506101c4610cb3565b34801561032a57600080fd5b506102cf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561035e57600080fd5b5061038261036d366004612da1565b60d36020526000908152604090205460ff1681565b60405190151581526020016101a8565b34801561039e57600080fd5b506104076103ad366004612c4a565b60d060209081526000918252604091829020805483518085019094526001909101546001600160801b038082168552600160801b9091048116928401929092526001600160401b03811692600160401b9091049091169083565b6040516101a893929190612e4a565b34801561042257600080fd5b506101c4610431366004612c4a565b610cf3565b34801561044257600080fd5b5061046a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516101a89190612e7e565b34801561048357600080fd5b5061046a69d3c21bcecceda100000081565b3480156104a157600080fd5b5061046a6104b0366004612da1565b60d1602052600090815260409020546001600160801b031681565b3480156104d757600080fd5b5061046a6104e6366004612e92565b610d16565b6101c46104f9366004612ec2565b610d5a565b34801561050a57600080fd5b50610513610dde565b6040516101a8929190612f51565b34801561052d57600080fd5b5061019461053c366004612c4a565b60d2602052600090815260409020546001600160401b031681565b34801561056357600080fd5b50610577610572366004612ec2565b610ef2565b6040516101a89190612f76565b34801561059057600080fd5b506102cf7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105c457600080fd5b506101c46105d3366004612c4a565b610f16565b3480156105e457600080fd5b506101c46105f3366004612f89565b6110bb565b34801561060457600080fd5b5061057761118b565b34801561061957600080fd5b5061046a62093a8081565b34801561063057600080fd5b5060cc5461046a906001600160801b031681565b34801561065057600080fd5b5061046a6303bfc40081565b6106646111a7565b6001600160a01b0316336001600160a01b03161461069d5760405162461bcd60e51b815260040161069490612fa5565b60405180910390fd5b6106a883838361122b565b505050565b6106b56111a7565b6001600160a01b0316336001600160a01b0316146106e55760405162461bcd60e51b815260040161069490612fa5565b606480546001600160a01b0319166001600160a01b0392909216919091179055565b336001600160401b03821660000361074f5760405162461bcd60e51b815260206004820152600b60248201526a1e995c9bc81dd95a59da1d60aa1b6044820152606401610694565b610758836114e2565b6107745760405162461bcd60e51b815260040161069490612fce565b604051636a6c9c3b60e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d4d93876906107c0908490600401612dbe565b602060405180830381865afa1580156107dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108019190612ff4565b156108465760405162461bcd60e51b81526020600482015260156024820152741d5cd95c881c1bdcda5d1a5bdb88195e1c1a5c9959605a1b6044820152606401610694565b61084f83610f16565b61085b8184600061150f565b6106a881848461160e565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036108ae5760405162461bcd60e51b815260040161069490613016565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108e0611682565b6001600160a01b0316146109065760405162461bcd60e51b815260040161069490613050565b61090f8161169e565b6040805160008082526020820190925261092b918391906116d6565b50565b6109366111a7565b6001600160a01b0316336001600160a01b0316146109665760405162461bcd60e51b815260040161069490612fa5565b61096f816114e2565b61098b5760405162461bcd60e51b815260040161069490612fce565b6001600160a01b038116600090815260d060205260409020546001600160401b03166109b682610f16565b6109bf82611841565b6040516001600160a01b038316906001600160401b038316907ff2e3b584c4d1ed5ead9a4b7de2a8225fd42d13f09e417cd294d03f1dd07fc91490600090a35050565b610a0a6111a7565b6001600160a01b0316336001600160a01b031614610a3a5760405162461bcd60e51b815260040161069490612fa5565b6106a860658284611948565b5050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a925760405162461bcd60e51b815260040161069490613016565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610ac4611682565b6001600160a01b031614610aea5760405162461bcd60e51b815260040161069490613050565b610af38261169e565b610a46828260016116d6565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b9a5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610694565b5060008051602061342083398151915290565b610bb56111a7565b6001600160a01b0316336001600160a01b031614610be55760405162461bcd60e51b815260040161069490612fa5565b60cc80546001600160801b0319166001600160801b0383161790556040517ffe870af61f024df0d7f960ad100676f3ffaa7ea6a44bc6c7adf2756cb8cf4b3890610c30908390612e7e565b60405180910390a150565b610c43612b7c565b506001600160a01b03808316600090815260d260209081526040808320938516835260019384018252918290208251808401845281546001600160401b0316815283518085019094529301546001600160801b038082168452600160801b90910416828201528201525b92915050565b6000610cbf60cd61195e565b905060005b81811015610cea57610cda6105d360cd83611968565b610ce3816130a0565b9050610cc4565b5061092b611974565b610cfc816114e2565b15610d0a57610d0a81610f16565b61092b3382600161150f565b6001600160a01b03808416600090815260d4602090815260408083209386168352929052908120610d50906001600160801b038416611a18565b90505b9392505050565b6000610d6461119c565b6001600160801b038116600090815260d3602052604090205490915060ff16610dc55760405162461bcd60e51b8152602060048201526013602482015272195c1bd8da081b9bdd08199a5b985b1a5e9959606a1b6044820152606401610694565b60cc54610a4690839083906001600160801b031661122b565b6060806000610ded6065611b58565b9050806001600160401b03811115610e0757610e07612cc8565b604051908082528060200260200182016040528015610e30578160200160208202803683370190505b509250806001600160401b03811115610e4b57610e4b612cc8565b604051908082528060200260200182016040528015610e74578160200160208202803683370190505b50915060005b81811015610eec57610e8d606582611b63565b858381518110610e9f57610e9f6130b9565b60200260200101858481518110610eb857610eb86130b9565b60200260200101826001600160a01b03166001600160a01b031681525082815250505080610ee5906130a0565b9050610e7a565b50509091565b6001600160401b038116600090815260cf60205260409020606090610cad90611b7f565b610f1f816114e2565b610f3b5760405162461bcd60e51b815260040161069490612fce565b6001600160a01b038116600090815260d06020526040812054600160401b90046001600160801b031690610f6d61119c565b9050806001600160801b0316826001600160801b031610610f8d57505050565b6001600160a01b038316600090815260d060209081526040918290208251808401909352600101546001600160801b038082168452600160801b90910416908201525b816001600160801b0316836001600160801b0316101561105657610ff762093a80846130cf565b6001600160a01b038516600090815260d0602090815260408083206001600160801b03808616855260029091019092529091205491945061103b9183911685611b8c565b9050611051848461104c8482611bda565b611bf8565b610fd0565b6001600160a01b038416600090815260d0602090815260409091208251918301516001600160801b03908116600160801b029281169290921760018201558054918516600160401b02600160401b600160c01b03199092169190911790555b50505050565b6110c36111a7565b6001600160a01b0316336001600160a01b0316146110f35760405162461bcd60e51b815260040161069490612fa5565b6110fc816114e2565b1561113e5760405162461bcd60e51b81526020600482015260126024820152711c1bdbdb08185b1c9958591e48185919195960721b6044820152606401610694565b6111488282611c88565b6040516001600160a01b038216906001600160401b038416907f336f0b3cc523e98d21e261389542b62abaffc094a21a82f1eec2779d7c8323cb90600090a35050565b606061119760cd611b7f565b905090565b600061119742611dba565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b8152600401602060405180830381865afa158015611207573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119791906130fa565b6001600160801b03808316600090815260d16020526040812054909116908190036112565750505050565b6001600160401b038416600090815260cf602052604081206112779061195e565b905080600003611288575050505050565b6001600160401b038516600090815260cf602052604081206112a990611b7f565b90506000826001600160401b038111156112c5576112c5612cc8565b6040519080825280602002602001820160405280156112ee578160200160208202803683370190505b50905060005b838110156113c657600060d16000896001600160801b03166001600160801b03168152602001908152602001600020600101600085848151811061133a5761133a6130b9565b6020908102919091018101516001600160a01b031682528101919091526040016000908120546001600160801b039081169250879061137c9084908b16613117565b611386919061314c565b905061139562093a8082613117565b8484815181106113a7576113a76130b9565b6020026020010181815250505050806113bf906130a0565b90506112f4565b5046876001600160401b0316036114585760006113ed60656001600160401b038a16611dd4565b60405163072cbf8760e41b81529091506001600160a01b038216906372cbf87090611420908a9087908790600401613160565b600060405180830381600087803b15801561143a57600080fd5b505af115801561144e573d6000803e3d6000fd5b505050505061148e565b61148e876001600160401b031687848460405160200161147a93929190613160565b604051602081830303815290604052611de0565b856001600160801b0316876001600160401b03167fc78a580f215ba474e75ecbd7636c375e8d2cd25edb0f2467f99b2d0752e104ba876040516114d19190612e7e565b60405180910390a350505050505050565b6001600160a01b0316600090815260d06020526040902054600160401b90046001600160801b0316151590565b6001600160a01b03808416600090815260d260209081526040808320938616835260019384018252918290208251808401909352909201546001600160801b038082168352600160801b909104169181019190915261156d836114e2565b801561157d575061157d81611eea565b1561158c5761158c8382611f27565b6115968484612001565b81156115bd5760408051808201909152600080825260208201526115bd908590859061209e565b826001600160a01b0316846001600160a01b03167f9db2ca6056cbab558dc5c95284cdb4a39392d13ab84d0dda66e2895c1919ce448360405161160091906131a0565b60405180910390a350505050565b600061161a84836120cd565b90506116268382612208565b611632848484846122b9565b61163d84848361209e565b826001600160a01b0316846001600160a01b03167fc71e393f1527f71ce01b78ea87c9bd4fca84f1482359ce7ac9b73f358c61b1e184846040516116009291906131ae565b600080516020613420833981519152546001600160a01b031690565b6116a66111a7565b6001600160a01b0316336001600160a01b03161461092b5760405162461bcd60e51b815260040161069490612fa5565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611709576106a8836123d6565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611763575060408051601f3d908101601f19168201909252611760918101906131cb565b60015b6117c65760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610694565b60008051602061342083398151915281146118355760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610694565b506106a8838383612470565b6001600160a01b038116600090815260d060209081526040808320546001600160401b031680845260cf90925290912061187b9083612495565b6118c75760405162461bcd60e51b815260206004820152601d60248201527f49453a20636861696e506f6f6c732072656d6f76616c206661696c65640000006044820152606401610694565b6118d260cd83612495565b61191c5760405162461bcd60e51b815260206004820152601b60248201527a12514e88185b1b141bdbdb1cc81c995b5bdd985b0819985a5b1959602a1b6044820152606401610694565b506001600160a01b0316600090815260d06020526040812080546001600160c01b031916815560010155565b6000610d5084846001600160a01b0385166124aa565b6000610cad825490565b6000610d5383836124c7565b600061197e61119c565b90505b7f00000000000000000000000000000000000000000000000000000000000000006001600160801b0316816001600160801b0316101580156119dc57506001600160801b038116600090815260d3602052604090205460ff16155b1561092b576001600160801b038116600090815260d360205260409020805460ff19166001179055611a1162093a80826131e4565b9050611981565b6000428210611a695760405162461bcd60e51b815260206004820181905260248201527f436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e65646044820152606401610694565b825460005b81811015611adf5760006002611a84848461320c565b611a8e919061314c565b905084866000018281548110611aa657611aa66130b9565b600091825260209091206002909102015463ffffffff161115611acb57809250611ad9565b611ad681600161320c565b91505b50611a6e565b8115611b4c57611b4785611af4600185613224565b81548110611b0457611b046130b9565b60009182526020918290206040805180820190915260029290920201600101546001600160801b038082168352600160801b909104169181019190915285611bda565b611b4f565b60005b95945050505050565b6000610cad826124f1565b6000808080611b7286866124fc565b9097909650945050505050565b60606000610d5383612527565b611b94612ba4565b828460200151611ba491906131e4565b6001600160801b03166020820152611bbc828461323b565b8451611bc891906131e4565b6001600160801b031681529392505050565b6000818360200151611bec919061323b565b8351610d5391906131e4565b6001600160801b03808316600090815260d16020526040812080548493919291611c24918591166130cf565b82546101009290920a6001600160801b03818102199093169183160217909155928316600090815260d1602090815260408083206001600160a01b0397909716835260019690960190529390932080546001600160801b0319169190921617905550565b6001600160a01b038116600090815260d06020526040902080546001600160401b0319166001600160401b038416179055611cc161119c565b6001600160a01b038216600090815260d06020908152604080832080546001600160801b0395909516600160401b02600160401b600160c01b0319909516949094179093556001600160401b038516825260cf905220611d219082612583565b611d695760405162461bcd60e51b815260206004820152601960248201527812514e8818da185a5b941bdbdb1cc8191d5c1b1a58d85d1959603a1b6044820152606401610694565b611d7460cd82612583565b610a465760405162461bcd60e51b815260206004820152601760248201527612514e88185b1b141bdbdb1cc8191d5c1b1a58d85d1959604a1b6044820152606401610694565b600062093a80611dca818461326a565b610cad919061323b565b6000610d538383612598565b611deb606583612608565b611df757611df7613290565b6000611e04606584611dd4565b60645460405163299aee5160e11b81529192506000916001600160a01b0390911690635335dca290611e3a9086906004016132fe565b602060405180830381865afa158015611e57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7b91906131cb565b606454604051634f9e72ad60e11b81529192506001600160a01b031690639f3ce55a908390611eb290869089908990600401613311565b6000604051808303818588803b158015611ecb57600080fd5b505af1158015611edf573d6000803e3d6000fd5b505050505050505050565b600081602001516001600160801b0316600014158015610cad5750611f20611f1183612614565b6001600160801b031642101590565b1592915050565b6001600160a01b038216600090815260d06020908152604091829020825180840190935260018101546001600160801b038082168552600160801b909104169183019190915290611f789083612654565b80516020918201516001600160801b03908116600160801b029116176001830155820151600282016000611fab85612614565b6001600160801b0390811682526020820192909252604001600090812080549092611fd8918591166131e4565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050565b6001600160a01b03808316600090815260d26020908152604080832093851683526001840190915281205482546001600160401b03918216928492909161204a91859116613338565b82546001600160401b039182166101009390930a9283029190920219909116179055506001600160a01b03909116600090815260019182016020526040812080546001600160401b03191681559091015550565b6001600160a01b03808416600090815260d4602090815260408083209386168352929052206106a8908261269d565b6120d5612ba4565b6000806120e06111a7565b6001600160a01b0316856001600160a01b0316036121225769d3c21bcecceda1000000915061211b6121166303bfc400426130cf565b611dba565b90506121b4565b6040516332dad3cf60e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063cb6b4f3c9061216e908890600401612dbe565b6040805180830381865afa15801561218a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121ae9190613358565b90925090505b6121ec670de0b6b3a76400006121dc6001600160401b0387166001600160801b038616613117565b6121e6919061314c565b826127a9565b6001600160801b03908116602086015216835250909392505050565b6001600160a01b038216600090815260d06020908152604091829020825180840190935260018101546001600160801b038082168552600160801b90910416918301919091529061225990836127f1565b80516020918201516001600160801b03908116600160801b02911617600183015582015160028201600061228c85612614565b6001600160801b0390811682526020820192909252604001600090812080549092611fd8918591166130cf565b6001600160a01b038416600090815260d2602052604081208054909184918391906122ee9084906001600160401b0316613387565b82546101009290920a6001600160401b038181021990931691831602179091558254670de0b6b3a76400009116111590506123615760405162461bcd60e51b8152602060048201526013602482015272195e18d959591959081b585e081dd95a59da1d606a1b6044820152606401610694565b6040805180820182526001600160401b03948516815260208082019485526001600160a01b03909616600090815260019384018752919091209051815494166001600160401b0319909416939093178355905180519301516001600160801b03908116600160801b0293169290921791015550565b6123df81612826565b6124415760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610694565b60008051602061342083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61247983612835565b6000825111806124865750805b156106a8576110b58383612875565b6000610d53836001600160a01b03841661295e565b60008281526002840160205260408120829055610d508484612a58565b60008260000182815481106124de576124de6130b9565b9060005260206000200154905092915050565b6000610cad8261195e565b6000808061250a8585611968565b600081815260029690960160205260409095205494959350505050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561257757602002820191906000526020600020905b815481526020019060010190808311612563575b50505050509050919050565b6000610d53836001600160a01b038416612a60565b6000818152600283016020526040812054801515806125bc57506125bc8484612aaa565b610d535760405162461bcd60e51b815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b657900006044820152606401610694565b6000610d538383612aaa565b600081602001516001600160801b03166000036126435760405162461bcd60e51b8152600401610694906133a9565b60208201518251610cad919061326a565b61265c612ba4565b8151835161266a91906131e4565b6001600160801b031681526020808301519084015161268991906131e4565b6001600160801b0316602082015292915050565b815480158015906126df575042836126b6600184613224565b815481106126c6576126c66130b9565b600091825260209091206002909102015463ffffffff16145b1561273e5781836126f1600184613224565b81548110612701576127016130b9565b6000918252602091829020835193909201516001600160801b03908116600160801b02931692909217600160029093029091019190910155505050565b6040805180820190915263ffffffff4281168252602080830185815286546001818101895560008981528490209551600290920290950180549190941663ffffffff199091161783555180519101516001600160801b03908116600160801b02911617910155505050565b60008060006127dd6040518060400160405280876001600160801b03168152602001866001600160801b0316815250612ab6565b805160209091015190969095509350505050565b6127f9612ba4565b8151835161280791906130cf565b6001600160801b031681526020808301519084015161268991906130cf565b6001600160a01b03163b151590565b61283e816123d6565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061288083612826565b6128db5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610694565b600080846001600160a01b0316846040516128f691906133cd565b600060405180830381855af49150503d8060008114612931576040519150601f19603f3d011682016040523d82523d6000602084013e612936565b606091505b5091509150611b4f828260405180606001604052806027815260200161344060279139612b1f565b60008181526001830160205260408120548015612a47576000612982600183613224565b855490915060009061299690600190613224565b90508181146129fb5760008660000182815481106129b6576129b66130b9565b90600052602060002001549050808760000184815481106129d9576129d96130b9565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612a0c57612a0c6133e9565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610cad565b6000915050610cad565b5092915050565b6000610d5383835b6000612a6c8383612b58565b612aa257508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610cad565b506000610cad565b6000610d538383612b70565b612abe612ba4565b8151612acf906303bfc4009061326a565b6001600160801b031660208201819052612afb5760405162461bcd60e51b8152600401610694906133a9565b81602001518160200151612b0f919061323b565b6001600160801b03168152919050565b60608315612b2e575081610d53565b825115612b3e5782518084602001fd5b8160405162461bcd60e51b815260040161069491906132fe565b60009081526001919091016020526040902054151590565b6000610d538383612b58565b604051806040016040528060006001600160401b03168152602001612b9f612ba4565b905290565b604080518082019091526000808252602082015290565b80356001600160401b0381168114612bd257600080fd5b919050565b6001600160801b038116811461092b57600080fd5b600080600060608486031215612c0157600080fd5b612c0a84612bbb565b92506020840135612c1a81612bd7565b91506040840135612c2a81612bd7565b809150509250925092565b6001600160a01b038116811461092b57600080fd5b600060208284031215612c5c57600080fd5b8135610d5381612c35565b60008060408385031215612c7a57600080fd5b8235612c8581612c35565b9150612c9360208401612bbb565b90509250929050565b60008060408385031215612caf57600080fd5b8235612cba81612c35565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215612cf157600080fd5b8235612cfc81612c35565b915060208301356001600160401b0380821115612d1857600080fd5b818501915085601f830112612d2c57600080fd5b813581811115612d3e57612d3e612cc8565b604051601f8201601f19908116603f01168101908382118183101715612d6657612d66612cc8565b81604052828152886020848701011115612d7f57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208284031215612db357600080fd5b8135610d5381612bd7565b6001600160a01b0391909116815260200190565b60008060408385031215612de557600080fd5b8235612df081612c35565b91506020830135612e0081612c35565b809150509250929050565b80516001600160801b03908116835260209182015116910152565b81516001600160401b031681526020808301516060830191612a5190840182612e0b565b6001600160401b03841681526001600160801b038316602082015260808101612e766040830184612e0b565b949350505050565b6001600160801b0391909116815260200190565b600080600060608486031215612ea757600080fd5b8335612eb281612c35565b92506020840135612c1a81612c35565b600060208284031215612ed457600080fd5b610d5382612bbb565b600081518084526020808501945080840160005b83811015612f0d57815187529582019590820190600101612ef1565b509495945050505050565b600081518084526020808501945080840160005b83811015612f0d5781516001600160a01b031687529582019590820190600101612f2c565b604081526000612f646040830185612edd565b8281036020840152611b4f8185612f18565b602081526000610d536020830184612f18565b60008060408385031215612f9c57600080fd5b612df083612bbb565b6020808252600f908201526e4f4e4c595f474f5645524e414e434560881b604082015260600190565b6020808252600c908201526b1a5b9d985b1a59081c1bdbdb60a21b604082015260600190565b60006020828403121561300657600080fd5b81518015158114610d5357600080fd5b6020808252602c9082015260008051602061340083398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061340083398151915260408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b6000600182016130b2576130b261308a565b5060010190565b634e487b7160e01b600052603260045260246000fd5b60006001600160801b038281168482168083038211156130f1576130f161308a565b01949350505050565b60006020828403121561310c57600080fd5b8151610d5381612c35565b60008160001904831182151516156131315761313161308a565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261315b5761315b613136565b500490565b6001600160801b038416815260606020820181905260009061318490830185612f18565b82810360408401526131968185612edd565b9695505050505050565b60408101610cad8284612e0b565b6001600160401b038316815260608101610d536020830184612e0b565b6000602082840312156131dd57600080fd5b5051919050565b60006001600160801b03838116908316818110156132045761320461308a565b039392505050565b6000821982111561321f5761321f61308a565b500190565b6000828210156132365761323661308a565b500390565b60006001600160801b03828116848216811515828404821116156132615761326161308a565b02949350505050565b60006001600160801b038381168061328457613284613136565b92169190910492915050565b634e487b7160e01b600052600160045260246000fd5b60005b838110156132c15781810151838201526020016132a9565b838111156110b55750506000910152565b600081518084526132ea8160208601602086016132a6565b601f01601f19169290920160200192915050565b602081526000610d5360208301846132d2565b60018060a01b0384168152826020820152606060408201526000611b4f60608301846132d2565b60006001600160401b03838116908316818110156132045761320461308a565b6000806040838503121561336b57600080fd5b825161337681612bd7565b6020840151909250612e0081612bd7565b60006001600160401b038281168482168083038211156130f1576130f161308a565b6020808252600a90820152697a65726f20736c6f706560b01b604082015260600190565b600082516133df8184602087016132a6565b9190910192915050565b634e487b7160e01b600052603160045260246000fdfe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212209edc813d3c2403c4bf249d4e418d5e8c193e1f4ed40fdc574c16df8fc0dbe32064736f6c634300080f0033",
774
+ "linkReferences": {},
775
+ "deployedLinkReferences": {}
776
+ }