@pendle/core-v2 0.7.0 → 0.7.1-beta-2

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 (399) 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/IPRouterStatic.sol/IPRouterStatic.json +20 -15
  104. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  105. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  106. package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.dbg.json +1 -1
  107. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.json +91 -43
  110. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  115. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.json +7 -2
  116. package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +1 -1
  119. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +1 -1
  121. package/build/artifacts/contracts/libraries/RewardManager.sol/RewardManager.dbg.json +1 -1
  122. package/build/artifacts/contracts/libraries/RewardManager.sol/RewardManager.json +0 -24
  123. package/build/artifacts/contracts/libraries/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +4 -0
  124. package/build/artifacts/contracts/libraries/RewardManagerAbstract.sol/RewardManagerAbstract.json +40 -0
  125. package/build/artifacts/contracts/libraries/SCY/SCYIndex.sol/SCYIndexLib.dbg.json +1 -1
  126. package/build/artifacts/contracts/libraries/SCY/SCYIndex.sol/SCYIndexLib.json +2 -2
  127. package/build/artifacts/contracts/libraries/SCY/SCYUtils.sol/SCYUtils.dbg.json +1 -1
  128. package/build/artifacts/contracts/libraries/SCY/SCYUtils.sol/SCYUtils.json +2 -2
  129. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  130. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  131. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +4 -0
  132. package/build/artifacts/contracts/libraries/{solmate/LibRLP.sol/LibRLP.json → VeHistoryLib.sol/Checkpoints.json} +4 -4
  133. package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  134. package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.json +2 -2
  135. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  136. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.json +2 -2
  137. package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  138. package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.json +2 -2
  139. package/build/artifacts/contracts/libraries/helpers/SSTORE2Deployer.sol/SSTORE2Deployer.dbg.json +4 -0
  140. package/build/artifacts/contracts/libraries/helpers/SSTORE2Deployer.sol/SSTORE2Deployer.json +10 -0
  141. package/build/artifacts/contracts/libraries/helpers/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  142. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  143. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
  144. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.dbg.json +1 -1
  145. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.json +2 -2
  146. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  147. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.json +2 -2
  148. package/build/artifacts/contracts/libraries/math/Math.sol/Math.dbg.json +1 -1
  149. package/build/artifacts/contracts/libraries/math/Math.sol/Math.json +2 -2
  150. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.dbg.json +1 -1
  151. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.json +2 -2
  152. package/build/artifacts/contracts/libraries/solmate/Bytes32AddressLib.sol/Bytes32AddressLib.dbg.json +1 -1
  153. package/build/artifacts/contracts/libraries/solmate/Bytes32AddressLib.sol/Bytes32AddressLib.json +2 -2
  154. package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.dbg.json +1 -1
  155. package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.json +2 -2
  156. package/build/artifacts/contracts/libraries/traderjoe/JoeLibrary.sol/JoeLibrary.dbg.json +1 -1
  157. package/build/artifacts/contracts/libraries/traderjoe/JoeLibrary.sol/JoeLibrary.json +2 -2
  158. package/build/artifacts/contracts/libraries/traderjoe/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.dbg.json +1 -1
  159. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  160. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +167 -14
  161. package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.dbg.json +1 -1
  162. package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.json +2 -2
  163. package/build/artifacts/contracts/periphery/PermissionsV2Upg.sol/PermissionsV2Upg.dbg.json +1 -1
  164. package/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol +1 -1
  165. package/contracts/SuperComposableYield/SCY-implementations/AaveV3/WadRayMath.sol +1 -1
  166. package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol +1 -1
  167. package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol +1 -1
  168. package/contracts/SuperComposableYield/SCY-implementations/PendleBtrflySCY.sol +1 -1
  169. package/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol +1 -1
  170. package/contracts/SuperComposableYield/SCY-implementations/PendleJoeLpSCY.sol +1 -1
  171. package/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol +1 -1
  172. package/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol +1 -1
  173. package/contracts/SuperComposableYield/base-implementations/SCYBase.sol +1 -1
  174. package/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol +1 -1
  175. package/contracts/core/LiquidityMining/CelerAbstracts/{CelerReceiver.sol → CelerReceiverUpg.sol} +8 -2
  176. package/contracts/core/LiquidityMining/CelerAbstracts/{CelerSender.sol → CelerSenderUpg.sol} +10 -3
  177. package/contracts/core/LiquidityMining/GaugeController/{PendleGaugeController.sol → PendleGaugeControllerBaseUpg.sol} +9 -4
  178. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol +7 -4
  179. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechain.sol +9 -5
  180. package/contracts/core/LiquidityMining/PendleGauge.sol +1 -1
  181. package/contracts/core/LiquidityMining/VotingController/{PendleVotingController.sol → PendleVotingControllerUpg.sol} +19 -6
  182. package/contracts/core/LiquidityMining/VotingController/{VotingControllerStorage.sol → VotingControllerStorageUpg.sol} +14 -10
  183. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +12 -8
  184. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +5 -5
  185. package/contracts/core/LiquidityMining/VotingEscrow/{VotingEscrowToken.sol → VotingEscrowTokenBase.sol} +2 -3
  186. package/contracts/core/Market/PendleMarket.sol +4 -5
  187. package/contracts/core/Market/PendleMarketFactory.sol +17 -20
  188. package/contracts/core/PendleRouter.sol +1 -1
  189. package/contracts/core/YieldContracts/InterestManagerYT.sol +1 -1
  190. package/contracts/core/YieldContracts/PendlePrincipalToken.sol +15 -7
  191. package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +18 -19
  192. package/contracts/core/YieldContracts/PendleYieldToken.sol +37 -28
  193. package/contracts/core/actions/ActionCallback.sol +1 -1
  194. package/contracts/core/actions/ActionCore.sol +1 -1
  195. package/contracts/core/actions/ActionYT.sol +1 -1
  196. package/contracts/core/actions/base/ActionSCYAndPTBase.sol +1 -1
  197. package/contracts/core/actions/base/ActionSCYAndPYBase.sol +1 -1
  198. package/contracts/core/actions/base/ActionSCYAndYTBase.sol +1 -1
  199. package/contracts/core/actions/base/CallbackHelper.sol +1 -1
  200. package/contracts/interfaces/IAToken.sol +1 -1
  201. package/contracts/interfaces/IAavePool.sol +1 -1
  202. package/contracts/interfaces/IAaveRewardsController.sol +1 -1
  203. package/contracts/interfaces/IBenQiComptroller.sol +1 -1
  204. package/contracts/interfaces/IBenQiInterestRateModel.sol +1 -1
  205. package/contracts/interfaces/IERC4626.sol +1 -1
  206. package/contracts/interfaces/IJoeRouter01.sol +1 -1
  207. package/contracts/interfaces/IJoeRouter02.sol +1 -1
  208. package/contracts/interfaces/IPActionCore.sol +1 -1
  209. package/contracts/interfaces/IPActionYT.sol +1 -1
  210. package/contracts/interfaces/IPAllAction.sol +1 -1
  211. package/contracts/interfaces/IPGaugeController.sol +7 -1
  212. package/contracts/interfaces/IPGaugeControllerMainchain.sol +1 -1
  213. package/contracts/interfaces/IPGovernanceManager.sol +1 -1
  214. package/contracts/interfaces/IPInterestManagerYT.sol +1 -1
  215. package/contracts/interfaces/IPMarket.sol +1 -1
  216. package/contracts/interfaces/IPMarketAddRemoveCallback.sol +1 -1
  217. package/contracts/interfaces/IPMarketFactory.sol +7 -2
  218. package/contracts/interfaces/IPMarketSwapCallback.sol +1 -1
  219. package/contracts/interfaces/IPPermissionsV2Upg.sol +1 -1
  220. package/contracts/interfaces/IPPrincipalToken.sol +3 -1
  221. package/contracts/interfaces/IPRouterStatic.sol +68 -48
  222. package/contracts/interfaces/IPVeToken.sol +1 -1
  223. package/contracts/interfaces/IPVotingController.sol +1 -1
  224. package/contracts/interfaces/IPVotingEscrow.sol +1 -1
  225. package/contracts/interfaces/IPYieldContractFactory.sol +1 -1
  226. package/contracts/interfaces/IPYieldToken.sol +14 -4
  227. package/contracts/interfaces/IQiAvax.sol +1 -1
  228. package/contracts/interfaces/IQiErc20.sol +1 -1
  229. package/contracts/interfaces/IQiToken.sol +1 -1
  230. package/contracts/interfaces/IREDACTEDStaking.sol +1 -1
  231. package/contracts/interfaces/IRewardManager.sol +1 -1
  232. package/contracts/interfaces/ISuperComposableYield.sol +1 -1
  233. package/contracts/interfaces/IWETH.sol +1 -1
  234. package/contracts/interfaces/IWXBTRFLY.sol +1 -1
  235. package/contracts/interfaces/IWstETH.sol +1 -1
  236. package/contracts/interfaces/IYearnVault.sol +1 -1
  237. package/contracts/libraries/RewardManager.sol +1 -1
  238. package/contracts/libraries/RewardManagerAbstract.sol +6 -2
  239. package/contracts/libraries/SCY/SCYIndex.sol +1 -1
  240. package/contracts/libraries/SCY/SCYUtils.sol +1 -1
  241. package/contracts/libraries/VeBalanceLib.sol +1 -35
  242. package/contracts/libraries/VeHistoryLib.sol +60 -0
  243. package/contracts/libraries/helpers/ExpiryUtilsLib.sol +1 -1
  244. package/contracts/libraries/helpers/MiniHelpers.sol +1 -1
  245. package/contracts/libraries/helpers/SSTORE2Deployer.sol +30 -0
  246. package/contracts/libraries/helpers/TokenHelper.sol +1 -1
  247. package/contracts/libraries/math/LogExpMath.sol +1 -1
  248. package/contracts/libraries/math/MarketApproxLib.sol +1 -1
  249. package/contracts/libraries/math/MarketMathCore.sol +1 -1
  250. package/contracts/libraries/math/Math.sol +1 -1
  251. package/contracts/libraries/math/WeekMath.sol +1 -1
  252. package/contracts/libraries/traderjoe/JoeLibrary.sol +1 -1
  253. package/contracts/libraries/traderjoe/PendleJoeSwapHelperUpg.sol +1 -1
  254. package/contracts/offchain-helpers/RouterStatic.sol +145 -116
  255. package/contracts/periphery/PendleGovernanceManager.sol +1 -1
  256. package/contracts/periphery/PermissionsV2Upg.sol +7 -1
  257. package/deployments/43113-benqi.json +6 -0
  258. package/deployments/43113-core.json +16 -0
  259. package/deployments/43113-markets/benqi-market.json +7 -0
  260. package/deployments/80001-benqi.json +6 -0
  261. package/deployments/80001-core.json +15 -0
  262. package/deployments/80001-markets/benqi-market.json +7 -0
  263. package/package.json +2 -2
  264. package/typechain-types/{CelerReceiver.ts → CelerReceiverUpg.ts} +5 -5
  265. package/typechain-types/{CelerSender.ts → CelerSenderUpg.ts} +24 -5
  266. package/typechain-types/IPGaugeController.ts +63 -0
  267. package/typechain-types/IPGaugeControllerMainchain.ts +62 -0
  268. package/typechain-types/{IVePToken.ts → IPInterestManagerYT.ts} +38 -27
  269. package/typechain-types/IPMarketAddRemoveCallback.ts +10 -10
  270. package/typechain-types/IPMarketFactory.ts +11 -4
  271. package/typechain-types/IPPrincipalToken.ts +25 -0
  272. package/typechain-types/IPRouterStatic.ts +64 -41
  273. package/typechain-types/IPYieldToken.ts +106 -106
  274. package/typechain-types/IRewardManager.ts +15 -14
  275. package/typechain-types/{IPGauge.ts → InterestManagerYT.ts} +27 -28
  276. package/typechain-types/PendleAaveV3SCY.ts +0 -70
  277. package/typechain-types/PendleGauge.ts +0 -39
  278. package/typechain-types/{PendleGaugeController.ts → PendleGaugeControllerBaseUpg.ts} +5 -5
  279. package/typechain-types/{PendleGaugeControllerMainchain.ts → PendleGaugeControllerMainchainUpg.ts} +5 -5
  280. package/typechain-types/{PendleGaugeControllerSidechain.ts → PendleGaugeControllerSidechainUpg.ts} +5 -5
  281. package/typechain-types/PendleMarket.ts +0 -39
  282. package/typechain-types/PendleMarketFactory.ts +18 -6
  283. package/typechain-types/PendlePrincipalToken.ts +25 -104
  284. package/typechain-types/PendleQiTokenSCY.ts +0 -39
  285. package/typechain-types/{PendleVotingController.ts → PendleVotingControllerUpg.ts} +165 -62
  286. package/typechain-types/{PendleYearnVaultScy.ts → PendleYearnVaultSCY.ts} +0 -0
  287. package/typechain-types/PendleYieldContractFactory.ts +31 -0
  288. package/typechain-types/PendleYieldToken.ts +84 -177
  289. package/typechain-types/RewardManager.ts +0 -39
  290. package/typechain-types/{IBeacon.ts → RewardManagerAbstract.ts} +38 -17
  291. package/typechain-types/RouterStatic.ts +298 -31
  292. package/typechain-types/SCYBaseWithRewards.ts +0 -39
  293. package/typechain-types/{VotingControllerStorage.ts → VotingControllerStorageUpg.ts} +28 -68
  294. package/typechain-types/VotingEscrowPendleMainchain.ts +19 -54
  295. package/typechain-types/{VotingEscrowToken.ts → VotingEscrowTokenBase.ts} +5 -5
  296. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  297. package/typechain-types/factories/ActionCore__factory.ts +1 -1
  298. package/typechain-types/factories/ActionYT__factory.ts +1 -1
  299. package/typechain-types/factories/{CelerReceiver__factory.ts → CelerReceiverUpg__factory.ts} +9 -6
  300. package/typechain-types/factories/{CelerSender__factory.ts → CelerSenderUpg__factory.ts} +22 -6
  301. package/typechain-types/factories/ERC20__factory.ts +1 -1
  302. package/typechain-types/factories/IPGaugeControllerMainchain__factory.ts +26 -0
  303. package/typechain-types/factories/IPGaugeController__factory.ts +26 -0
  304. package/typechain-types/factories/IPInterestManagerYT__factory.ts +50 -0
  305. package/typechain-types/factories/IPMarketAddRemoveCallback__factory.ts +2 -2
  306. package/typechain-types/factories/IPMarketFactory__factory.ts +6 -0
  307. package/typechain-types/factories/IPPrincipalToken__factory.ts +13 -0
  308. package/typechain-types/factories/IPRouterStatic__factory.ts +20 -15
  309. package/typechain-types/factories/IPYieldToken__factory.ts +91 -43
  310. package/typechain-types/factories/IRewardManager__factory.ts +7 -2
  311. package/typechain-types/factories/InterestManagerYT__factory.ts +50 -0
  312. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +1 -38
  313. package/typechain-types/factories/PendleBtrflyScy__factory.ts +1 -1
  314. package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
  315. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  316. package/typechain-types/factories/PendleERC4626SCY__factory.ts +1 -1
  317. package/typechain-types/factories/{PendleGaugeController__factory.ts → PendleGaugeControllerBaseUpg__factory.ts} +8 -8
  318. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +334 -0
  319. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +393 -0
  320. package/typechain-types/factories/PendleGauge__factory.ts +0 -24
  321. package/typechain-types/factories/PendleGovernanceManager__factory.ts +1 -1
  322. package/typechain-types/factories/PendleJoeLpSCY__factory.ts +1 -1
  323. package/typechain-types/factories/PendleMarketFactory__factory.ts +12 -11
  324. package/typechain-types/factories/PendleMarket__factory.ts +1 -25
  325. package/typechain-types/factories/PendlePrincipalToken__factory.ts +14 -85
  326. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  327. package/typechain-types/factories/PendleQiTokenSCY__factory.ts +1 -25
  328. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  329. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +845 -0
  330. package/typechain-types/factories/PendleWstEthSCY__factory.ts +1 -1
  331. package/typechain-types/factories/PendleYearnVaultSCY__factory.ts +691 -0
  332. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +14 -11
  333. package/typechain-types/factories/PendleYieldToken__factory.ts +76 -94
  334. package/typechain-types/factories/RewardManagerAbstract__factory.ts +59 -0
  335. package/typechain-types/factories/RewardManager__factory.ts +0 -24
  336. package/typechain-types/factories/RouterStatic__factory.ts +166 -13
  337. package/typechain-types/factories/SCYBaseWithRewards__factory.ts +0 -24
  338. package/typechain-types/factories/{VotingControllerStorage__factory.ts → VotingControllerStorageUpg__factory.ts} +22 -55
  339. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +14 -42
  340. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  341. package/typechain-types/factories/{VotingEscrowToken__factory.ts → VotingEscrowTokenBase__factory.ts} +12 -8
  342. package/typechain-types/hardhat.d.ts +54 -72
  343. package/typechain-types/index.ts +22 -26
  344. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiver.sol/CelerReceiver.dbg.json +0 -4
  345. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSender.sol/CelerSender.dbg.json +0 -4
  346. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeController.sol/PendleGaugeController.dbg.json +0 -4
  347. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol/PendleGaugeControllerMainchain.dbg.json +0 -4
  348. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol/PendleGaugeControllerMainchain.json +0 -255
  349. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechain.sol/PendleGaugeControllerSidechain.dbg.json +0 -4
  350. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechain.sol/PendleGaugeControllerSidechain.json +0 -318
  351. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingController.sol/PendleVotingController.dbg.json +0 -4
  352. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingController.sol/PendleVotingController.json +0 -707
  353. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorage.sol/VotingControllerStorage.dbg.json +0 -4
  354. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowToken.sol/VotingEscrowToken.dbg.json +0 -4
  355. package/build/artifacts/contracts/libraries/RewardManagerMini.sol/RewardManagerMini.dbg.json +0 -4
  356. package/build/artifacts/contracts/libraries/RewardManagerMini.sol/RewardManagerMini.json +0 -101
  357. package/build/artifacts/contracts/libraries/helpers/MiniDeployer.sol/MiniDeployer.dbg.json +0 -4
  358. package/build/artifacts/contracts/libraries/helpers/MiniDeployer.sol/MiniDeployer.json +0 -10
  359. package/build/artifacts/contracts/libraries/solmate/LibRLP.sol/LibRLP.dbg.json +0 -4
  360. package/contracts/libraries/helpers/MiniDeployer.sol +0 -23
  361. package/contracts/libraries/solmate/LibRLP.sol +0 -30
  362. package/deployments/kovan.json +0 -31
  363. package/typechain-types/ActionRedeem.ts +0 -125
  364. package/typechain-types/BeaconProxy.ts +0 -97
  365. package/typechain-types/ERC1967Upgrade.ts +0 -97
  366. package/typechain-types/IERC1822Proxiable.ts +0 -87
  367. package/typechain-types/IPActionRedeem.ts +0 -125
  368. package/typechain-types/IPBaseToken.ts +0 -365
  369. package/typechain-types/IPVotingEscrowController.ts +0 -154
  370. package/typechain-types/IPendleGauge.ts +0 -241
  371. package/typechain-types/IVotingEscrowPendle.ts +0 -297
  372. package/typechain-types/PendleBaseToken.ts +0 -475
  373. package/typechain-types/PendleBenQiErc20SCY.ts +0 -1050
  374. package/typechain-types/PendleMarketRewards.ts +0 -1317
  375. package/typechain-types/PendleStEthSCY.ts +0 -872
  376. package/typechain-types/RewardManagerMini.ts +0 -200
  377. package/typechain-types/VotingEscrowController.ts +0 -154
  378. package/typechain-types/factories/ActionRedeem__factory.ts +0 -105
  379. package/typechain-types/factories/BeaconProxy__factory.ts +0 -141
  380. package/typechain-types/factories/ERC1967Upgrade__factory.ts +0 -71
  381. package/typechain-types/factories/IBeacon__factory.ts +0 -36
  382. package/typechain-types/factories/IERC1822Proxiable__factory.ts +0 -39
  383. package/typechain-types/factories/IPActionRedeem__factory.ts +0 -70
  384. package/typechain-types/factories/IPBaseToken__factory.ts +0 -271
  385. package/typechain-types/factories/IPGauge__factory.ts +0 -42
  386. package/typechain-types/factories/IPVotingEscrowController__factory.ts +0 -80
  387. package/typechain-types/factories/IPendleGauge__factory.ts +0 -125
  388. package/typechain-types/factories/IVePToken__factory.ts +0 -55
  389. package/typechain-types/factories/IVotingEscrowPendle__factory.ts +0 -182
  390. package/typechain-types/factories/PendleBaseToken__factory.ts +0 -348
  391. package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +0 -871
  392. package/typechain-types/factories/PendleGaugeControllerMainchain__factory.ts +0 -332
  393. package/typechain-types/factories/PendleGaugeControllerSidechain__factory.ts +0 -391
  394. package/typechain-types/factories/PendleMarketRewards__factory.ts +0 -1140
  395. package/typechain-types/factories/PendleStEthSCY__factory.ts +0 -716
  396. package/typechain-types/factories/PendleVotingController__factory.ts +0 -776
  397. package/typechain-types/factories/PendleYearnVaultScy__factory.ts +0 -691
  398. package/typechain-types/factories/RewardManagerMini__factory.ts +0 -116
  399. package/typechain-types/factories/VotingEscrowController__factory.ts +0 -80
@@ -73,30 +73,6 @@ const _abi = [
73
73
  stateMutability: "view",
74
74
  type: "function",
75
75
  },
76
- {
77
- inputs: [
78
- {
79
- internalType: "address",
80
- name: "token",
81
- type: "address",
82
- },
83
- {
84
- internalType: "address",
85
- name: "user",
86
- type: "address",
87
- },
88
- ],
89
- name: "userRewardAccrued",
90
- outputs: [
91
- {
92
- internalType: "uint128",
93
- name: "",
94
- type: "uint128",
95
- },
96
- ],
97
- stateMutability: "view",
98
- type: "function",
99
- },
100
76
  ];
101
77
 
102
78
  export class RewardManager__factory {
@@ -22,6 +22,70 @@ const _abi = [
22
22
  stateMutability: "nonpayable",
23
23
  type: "constructor",
24
24
  },
25
+ {
26
+ anonymous: false,
27
+ inputs: [
28
+ {
29
+ indexed: false,
30
+ internalType: "address",
31
+ name: "previousAdmin",
32
+ type: "address",
33
+ },
34
+ {
35
+ indexed: false,
36
+ internalType: "address",
37
+ name: "newAdmin",
38
+ type: "address",
39
+ },
40
+ ],
41
+ name: "AdminChanged",
42
+ type: "event",
43
+ },
44
+ {
45
+ anonymous: false,
46
+ inputs: [
47
+ {
48
+ indexed: true,
49
+ internalType: "address",
50
+ name: "beacon",
51
+ type: "address",
52
+ },
53
+ ],
54
+ name: "BeaconUpgraded",
55
+ type: "event",
56
+ },
57
+ {
58
+ anonymous: false,
59
+ inputs: [
60
+ {
61
+ indexed: true,
62
+ internalType: "address",
63
+ name: "previousOwner",
64
+ type: "address",
65
+ },
66
+ {
67
+ indexed: true,
68
+ internalType: "address",
69
+ name: "newOwner",
70
+ type: "address",
71
+ },
72
+ ],
73
+ name: "OwnershipTransferred",
74
+ type: "event",
75
+ },
76
+ {
77
+ anonymous: false,
78
+ inputs: [
79
+ {
80
+ indexed: true,
81
+ internalType: "address",
82
+ name: "implementation",
83
+ type: "address",
84
+ },
85
+ ],
86
+ name: "Upgraded",
87
+ type: "event",
88
+ },
25
89
  {
26
90
  inputs: [
27
91
  {
@@ -58,7 +122,7 @@ const _abi = [
58
122
  type: "uint256",
59
123
  },
60
124
  ],
61
- stateMutability: "nonpayable",
125
+ stateMutability: "view",
62
126
  type: "function",
63
127
  },
64
128
  {
@@ -153,11 +217,6 @@ const _abi = [
153
217
  name: "impliedYield",
154
218
  type: "int256",
155
219
  },
156
- {
157
- internalType: "uint256",
158
- name: "exchangeRate",
159
- type: "uint256",
160
- },
161
220
  ],
162
221
  stateMutability: "view",
163
222
  type: "function",
@@ -338,9 +397,14 @@ const _abi = [
338
397
  },
339
398
  {
340
399
  components: [
400
+ {
401
+ internalType: "enum ISuperComposableYield.AssetType",
402
+ name: "assetType",
403
+ type: "uint8",
404
+ },
341
405
  {
342
406
  internalType: "address",
343
- name: "token",
407
+ name: "assetAddress",
344
408
  type: "address",
345
409
  },
346
410
  {
@@ -349,7 +413,7 @@ const _abi = [
349
413
  type: "uint256",
350
414
  },
351
415
  ],
352
- internalType: "struct IPRouterStatic.TokenAmount",
416
+ internalType: "struct IPRouterStatic.AssetAmount",
353
417
  name: "assetBalance",
354
418
  type: "tuple",
355
419
  },
@@ -425,9 +489,14 @@ const _abi = [
425
489
  },
426
490
  {
427
491
  components: [
492
+ {
493
+ internalType: "enum ISuperComposableYield.AssetType",
494
+ name: "assetType",
495
+ type: "uint8",
496
+ },
428
497
  {
429
498
  internalType: "address",
430
- name: "token",
499
+ name: "assetAddress",
431
500
  type: "address",
432
501
  },
433
502
  {
@@ -436,7 +505,7 @@ const _abi = [
436
505
  type: "uint256",
437
506
  },
438
507
  ],
439
- internalType: "struct IPRouterStatic.TokenAmount",
508
+ internalType: "struct IPRouterStatic.AssetAmount",
440
509
  name: "assetBalance",
441
510
  type: "tuple",
442
511
  },
@@ -725,6 +794,13 @@ const _abi = [
725
794
  stateMutability: "pure",
726
795
  type: "function",
727
796
  },
797
+ {
798
+ inputs: [],
799
+ name: "initialize",
800
+ outputs: [],
801
+ stateMutability: "nonpayable",
802
+ type: "function",
803
+ },
728
804
  {
729
805
  inputs: [],
730
806
  name: "marketFactory",
@@ -738,6 +814,32 @@ const _abi = [
738
814
  stateMutability: "view",
739
815
  type: "function",
740
816
  },
817
+ {
818
+ inputs: [],
819
+ name: "owner",
820
+ outputs: [
821
+ {
822
+ internalType: "address",
823
+ name: "",
824
+ type: "address",
825
+ },
826
+ ],
827
+ stateMutability: "view",
828
+ type: "function",
829
+ },
830
+ {
831
+ inputs: [],
832
+ name: "proxiableUUID",
833
+ outputs: [
834
+ {
835
+ internalType: "bytes32",
836
+ name: "",
837
+ type: "bytes32",
838
+ },
839
+ ],
840
+ stateMutability: "view",
841
+ type: "function",
842
+ },
741
843
  {
742
844
  inputs: [
743
845
  {
@@ -767,6 +869,13 @@ const _abi = [
767
869
  stateMutability: "view",
768
870
  type: "function",
769
871
  },
872
+ {
873
+ inputs: [],
874
+ name: "renounceOwnership",
875
+ outputs: [],
876
+ stateMutability: "nonpayable",
877
+ type: "function",
878
+ },
770
879
  {
771
880
  inputs: [
772
881
  {
@@ -783,7 +892,7 @@ const _abi = [
783
892
  type: "uint256",
784
893
  },
785
894
  ],
786
- stateMutability: "nonpayable",
895
+ stateMutability: "view",
787
896
  type: "function",
788
897
  },
789
898
  {
@@ -812,7 +921,7 @@ const _abi = [
812
921
  type: "uint256",
813
922
  },
814
923
  ],
815
- stateMutability: "nonpayable",
924
+ stateMutability: "view",
816
925
  type: "function",
817
926
  },
818
927
  {
@@ -841,9 +950,53 @@ const _abi = [
841
950
  type: "uint256",
842
951
  },
843
952
  ],
953
+ stateMutability: "view",
954
+ type: "function",
955
+ },
956
+ {
957
+ inputs: [
958
+ {
959
+ internalType: "address",
960
+ name: "newOwner",
961
+ type: "address",
962
+ },
963
+ ],
964
+ name: "transferOwnership",
965
+ outputs: [],
966
+ stateMutability: "nonpayable",
967
+ type: "function",
968
+ },
969
+ {
970
+ inputs: [
971
+ {
972
+ internalType: "address",
973
+ name: "newImplementation",
974
+ type: "address",
975
+ },
976
+ ],
977
+ name: "upgradeTo",
978
+ outputs: [],
844
979
  stateMutability: "nonpayable",
845
980
  type: "function",
846
981
  },
982
+ {
983
+ inputs: [
984
+ {
985
+ internalType: "address",
986
+ name: "newImplementation",
987
+ type: "address",
988
+ },
989
+ {
990
+ internalType: "bytes",
991
+ name: "data",
992
+ type: "bytes",
993
+ },
994
+ ],
995
+ name: "upgradeToAndCall",
996
+ outputs: [],
997
+ stateMutability: "payable",
998
+ type: "function",
999
+ },
847
1000
  {
848
1001
  inputs: [],
849
1002
  name: "yieldContractFactory",
@@ -860,7 +1013,7 @@ const _abi = [
860
1013
  ];
861
1014
 
862
1015
  const _bytecode =
863
- "0x60c06040523480156200001157600080fd5b5060405162003ba138038062003ba1833981016040819052620000349162000065565b6001600160a01b039182166080521660a052620000a4565b6001600160a01b03811681146200006257600080fd5b50565b600080604083850312156200007957600080fd5b825162000086816200004c565b602084015190925062000099816200004c565b809150509250929050565b60805160a051613abc620000e56000396000818160f001526114c9015260008181610260015281816104d20152818161137e015261142e0152613abc6000f3fe608060405234801561001057600080fd5b50600436106100e65760003560e01c806306ae7095146100eb5780630cf85bcc14610128578063227501f51461014c57806332e12d791461016d578063372cfb931461019b5780633857a07b146101bb57806355a7bae2146101dd57806355b4fff51461020557806355bbcd73146102255780635805908c1461024857806387a409a21461025b5780639225afd614610282578063a71f7895146102a2578063a749840a146102b5578063c74141f1146102d5578063d52eacb2146102f6578063e4a4442614610328578063e83316041461033b575b600080fd5b6101127f000000000000000000000000000000000000000000000000000000000000000081565b60405161011f9190612e82565b60405180910390f35b61013b610136366004612eae565b61035c565b60405161011f959493929190612ecb565b61015f61015a366004612eae565b6104cd565b60405161011f929190612f9a565b61018061017b366004612fb4565b610637565b6040805193845260208401929092529082015260600161011f565b6101ae6101a9366004612fe9565b6106d4565b60405161011f919061308f565b6101ce6101c9366004612eae565b61081d565b60405161011f9392919061309e565b6101f06101eb3660046130fc565b610ae2565b6040805192835260208301919091520161011f565b610218610213366004613128565b610b6d565b60405161011f91906131af565b61023861023336600461337e565b610c34565b604051901515815260200161011f565b6101f06102563660046130fc565b610c75565b6101127f000000000000000000000000000000000000000000000000000000000000000081565b610295610290366004612fe9565b610cfd565b60405161011f91906134d9565b6101f06102b03660046130fc565b61119c565b6102c86102c3366004613128565b611224565b60405161011f91906134ec565b6102e86102e3366004612eae565b6112e3565b60405190815260200161011f565b610309610304366004612eae565b611377565b604080519315158452911515602084015215159082015260600161011f565b6102e8610336366004612eae565b61154f565b61034e610349366004612fe9565b6115c8565b60405161011f92919061354e565b6000806103cc6040518061018001604052806000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000806000869050600080886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610415573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104399190613567565b50604051631cf38c7b60e11b8152600160048201529099509097508792508891506001600160a01b038416906339e718f69060240161018060405180830381865afa15801561048c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b091906135bf565b95506104bb896112e3565b94506000935050505091939590929450565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371846aa8846040518263ffffffff1660e01b815260040161051c9190612e82565b602060405180830381865afa158015610539573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055d9190613660565b156105ce57829050826001600160a01b031663d94073d46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c79190613682565b9150915091565b826001600160a01b031663781c18db6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561060c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106309190613682565b9293915050565b604051631cf38c7b60e11b8152600060048201819052908190819081906001600160a01b038816906339e718f69060240161018060405180830381865afa158015610686573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106aa91906135bf565b90506106c36106b88861154f565b8290888860006117ff565b919a90995090975095505050505050565b6106dc612ddf565b6001600160a01b0383168082526040516370a0823160e01b81528491906370a082319061070d908690600401612e82565b602060405180830381865afa15801561072a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074e919061369f565b826020018181525050600080856001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bc9190613567565b506040805180820182526001600160a01b039283168152600060208083018290528984019290925282518084018452949093168452838101839052606088019390935280518082019091528181529182015260808501525091949350505050565b6000806060600061082d856104cd565b5090506000819050806001600160a01b031663b9d9a4536040518163ffffffff1660e01b8152600401602060405180830381865afa158015610873573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610897919061369f565b9450806001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fb919061369f565b93506000816001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561093d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261096591908101906136b8565b905080516001600160401b03811115610980576109806131fe565b6040519080825280602002602001820160405280156109c557816020015b604080518082019091526000808252602082015281526020019060019003908161099e5790505b5093506000826001600160a01b031663f8b2f9916040518163ffffffff1660e01b81526004016000604051808303816000875af1158015610a0a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a329190810190613751565b905060005b8251811015610ad6576000838281518110610a5457610a546137d6565b6020026020010151905080878381518110610a7157610a716137d6565b60209081029190910101516001600160a01b0390911690528251839083908110610a9d57610a9d6137d6565b6020026020010151878381518110610ab757610ab76137d6565b602090810291909101810151015250610acf81613802565b9050610a37565b50505050509193909250565b604051631cf38c7b60e11b815260006004820181905290819081906001600160a01b038616906339e718f69060240161018060405180830381865afa158015610b2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5391906135bf565b9050610b618185600061186c565b90969095509350505050565b6060816001600160401b03811115610b8757610b876131fe565b604051908082528060200260200182016040528015610bc057816020015b610bad612ddf565b815260200190600190039081610ba55790505b50905060005b82811015610c2c57610bfe848483818110610be357610be36137d6565b9050602002016020810190610bf89190612eae565b866106d4565b828281518110610c1057610c106137d6565b602002602001018190525080610c2590613802565b9050610bc6565b509392505050565b60008082604001511180610c4c575060008260600151115b80610c5f57506000826080015160200151115b80610c6f575060008260a0015151115b92915050565b604051631cf38c7b60e11b815260006004820181905290819081906001600160a01b038616906339e718f69060240161018060405180830381865afa158015610cc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce691906135bf565b9050610b61610cf48661154f565b829086426118a9565b610d05612e1d565b610d0e836104cd565b6001600160a01b039081166020840152168082526040516370a0823160e01b815281906370a0823190610d45908690600401612e82565b602060405180830381865afa158015610d62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d86919061369f565b82604001818152505081602001516001600160a01b03166370a08231846040518263ffffffff1660e01b8152600401610dbf9190612e82565b602060405180830381865afa158015610ddc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e00919061369f565b826060018181525050806001600160a01b03166347bfac626040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6b9190613682565b60808301516001600160a01b03918216905260405163d68076c360e01b81529082169063d68076c390610ea2908690600401612e82565b6040805180830381865afa158015610ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee29190613832565b9050806001600160801b03169050826080015160200181815250506000816001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610f3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f6591908101906136b8565b9050600081516001600160401b03811115610f8257610f826131fe565b604051908082528060200260200182016040528015610fbb57816020015b610fa8612e6b565b815260200190600190039081610fa05790505b5090506000805b83518110156110e2576000848281518110610fdf57610fdf6137d6565b602002602001015190506000866001600160a01b0316636b8ae5f3838b6040518363ffffffff1660e01b8152600401611019929190612f9a565b602060405180830381865afa158015611036573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105a9190613865565b6001600160801b0316905080156110cf578185858151811061107e5761107e6137d6565b6020026020010151600001906001600160a01b031690816001600160a01b031681525050808585815181106110b5576110b56137d6565b60209081029190910181015101526110cc84613802565b93505b5050806110db90613802565b9050610fc2565b50806001600160401b038111156110fb576110fb6131fe565b60405190808252806020026020018201604052801561113457816020015b611121612e6b565b8152602001906001900390816111195790505b5060a086015260005b8181101561119157828181518110611157576111576137d6565b60200260200101518660a001518281518110611175576111756137d6565b60200260200101819052508061118a90613802565b905061113d565b505050505092915050565b604051631cf38c7b60e11b815260006004820181905290819081906001600160a01b038616906339e718f69060240161018060405180830381865afa1580156111e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120d91906135bf565b9050610b6161121b8661154f565b829086426118f0565b6060816001600160401b0381111561123e5761123e6131fe565b60405190808252806020026020018201604052801561127757816020015b611264612e1d565b81526020019060019003908161125c5790505b50905060005b82811015610c2c576112b584848381811061129a5761129a6137d6565b90506020020160208101906112af9190612eae565b86610cfd565b8282815181106112c7576112c76137d6565b6020026020010181905250806112dc90613802565b905061127d565b604051631cf38c7b60e11b81526000600482018190529081906001600160a01b038416906339e718f69060240161018060405180830381865afa15801561132e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135291906135bf565b90506000611364826101400151611911565b905061136f8161192b565b949350505050565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318b7373d856040518263ffffffff1660e01b81526004016113c89190612e82565b602060405180830381865afa1580156113e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114099190613660565b156114175760019250611548565b604051630e308d5560e31b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906371846aa890611463908790600401612e82565b602060405180830381865afa158015611480573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a49190613660565b156114b25760019150611548565b6040516358e6309f60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f906114fe908790600401612e82565b602060405180830381865afa15801561151b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153f9190613660565b15611548575060015b9193909250565b600080826001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611590573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b49190613567565b505090506115c181611d45565b9392505050565b6040516370a0823160e01b815260009060609084906001600160a01b038216906370a08231906115fc908490600401612e82565b602060405180830381865afa158015611619573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061163d919061369f565b92506000816001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561167f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116a791908101906136b8565b905080516001600160401b038111156116c2576116c26131fe565b6040519080825280602002602001820160405280156116fb57816020015b6116e8612e6b565b8152602001906001900390816116e05790505b50925060005b81518110156117f557600082828151811061171e5761171e6137d6565b602002602001015190508085838151811061173b5761173b6137d6565b60209081029190910101516001600160a01b039182169052604051636b8ae5f360e01b815290891690636b8ae5f39061177a9084908b90600401612f9a565b602060405180830381865afa158015611797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bb9190613865565b6001600160801b03168583815181106117d6576117d66137d6565b6020908102919091018101510152506117ee81613802565b9050611701565b5050509250929050565b6000806000806000806000806118288d8d6118198e611911565b6118228e611911565b8d611da9565b935093509350935061183984611f7b565b975061184483611f7b565b965061184f82611f7b565b955061185a81611f7b565b94505050505095509550955095915050565b6000806000806118858761187f88611911565b87611f8a565b9150915061189282611f7b565b935061189d81611f7b565b92505050935093915050565b6000806000806118c388886118bd89611911565b886120a3565b915091506118d86118d38361216f565b611f7b565b93506118e381611f7b565b9250505094509492505050565b60008060008061190488886118bd8961217d565b915091506118d882611f7b565b60006001600160ff1b0382111561192757600080fd5b5090565b6000680238fd42c5cf03ffff198212158015611950575068070c1cc73b00c800008213155b6119945760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b60448201526064015b60405180910390fd5b60008212156119cc576119a98260000361192b565b6a0c097ce7bc90715b34b9f160241b816119c5576119c5613880565b0592915050565b60006806f05b59d3b20000008312611a0a57506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b611a40565b6803782dace9d90000008312611a3c57506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380611a40565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412611a905768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412611acc576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412611b0657682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412611b40576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412611b7957680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412611bb25768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412611beb576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412611c245768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6000816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6f919061369f565b600080600080600087138015611dbf5750600086135b611dfa5760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f414d4f554e545360a01b604482015260640161198b565b8860400151600003611e2e57611e1c6103e8611e168a8a612194565b906121d0565b92506103e89350869150859050611ed1565b885160408a015160009190611e439089613896565b611e4d919061391b565b905060008a602001518b604001518a611e669190613896565b611e70919061391b565b905080821215611ea6578194508792508a60400151858c60200151611e959190613896565b611e9f919061391b565b9350611ece565b8094508893508a60400151858c60000151611ec19190613896565b611ecb919061391b565b92505b50505b60008313611f215760405162461bcd60e51b815260206004820152601d60248201527f494e53554646494349454e545f4c49515549444954595f4d494e544544000000604482015260640161198b565b8415611f6f578189602001818151611f399190613949565b905250885181908a90611f4d908390613949565b905250611f5a8484613949565b89604001818151611f6b9190613949565b9052505b95509550955095915050565b60008082121561192757600080fd5b60008060008413611fd15760405162461bcd60e51b81526020600482015260116024820152701a5b9d985b1a59081b1c08185b5bdd5b9d607a1b604482015260640161198b565b60408501516020860151611fe59086613896565b611fef919061391b565b60408601518651919350906120049086613896565b61200e919061391b565b9050600082138061201f5750600081135b61205e5760405162461bcd60e51b815260206004820152601060248201526f1e995c9bc8185b5bdd5b9d1cc81bdd5d60821b604482015260640161198b565b821561209b57604085015161207390856121d0565b6040860152845161208490826121d0565b8552602085015161209590836121d0565b60208601525b935093915050565b6000806120b586610100015184101590565b156120d25760405162461bcd60e51b815260040161198b9061398a565b8551841261211b5760405162461bcd60e51b8152602060048201526016602482015275696e73756666696369656e74206c697175696469747960501b604482015260640161198b565b6000612128878786612217565b9050600080612138898489612331565b9092509050612147888361243e565b9450612153888261243e565b935061216389848a8a898b61246b565b50505094509492505050565b6000610c6f82600019613896565b600061218882611911565b610c6f90600019613896565b600080600083126121a65760016121aa565b6000195b90506121c66121c1856121bc86612520565b612537565b611911565b61136f9082613896565b60008183121561220d5760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b604482015260640161198b565b6115c182846139b2565b6122426040518060800160405280600081526020016000815260200160008152602001600081525090565b61010084015182106122665760405162461bcd60e51b815260040161198b9061398a565b60008285610100015161227991906139f1565b90506122858582612556565b82526020850151612297908590612194565b60208301528451158015906122af5750602082015115155b6122f25760405162461bcd60e51b8152602060048201526014602482015273696e76616c6964206d61726b657420737461746560601b604482015260640161198b565b612310856000015186610140015184602001518560000151856125d5565b604083015260c08501516123249082612652565b6060830152509392505050565b600080600061235386600001518660200151876000015188604001518861268b565b90506000612369612364868461275c565b61216f565b606087015190915060008613156123d4576000612386848361275c565b9050670de0b6b3a76400008112156123b05760405162461bcd60e51b815260040161198b90613a08565b6123cc6123c583670de0b6b3a76400006139b2565b849061278b565b915050612401565b6123fe816123ea81670de0b6b3a76400006139b2565b6123f49085613896565b612364919061391b565b90505b6064612411896101200151611911565b61241b9083613896565b612425919061391b565b935061243181836139b2565b9450505050935093915050565b60008060008312612450576001612454565b6000195b90506121c66121c18561246686612520565b6127a9565b60008187610100015161247e91906139f1565b6101608801839052875190915061249590856121d0565b875260208701516124a690846121d0565b6020880181905287516124cb916124be908890612194565b885160408a0151856127be565b61014088018190526000036125175760405162461bcd60e51b81526020600482015260126024820152717a65726f206c6e496d706c6965645261746560701b604482015260640161198b565b50505050505050565b60008082136119275761253282613a37565b610c6f565b6000670de0b6b3a764000061254c8484613a53565b6115c19190613a72565b600061256182611911565b6125736121c16201518061016d613a53565b8460a001516125829190613896565b61258c919061391b565b905060008113610c6f5760405162461bcd60e51b8152602060048201526014602482015273726174655363616c617220756e646572666c6f7760601b604482015260640161198b565b6000806125e28684612652565b9050670de0b6b3a764000081121561260c5760405162461bcd60e51b815260040161198b90613a08565b600061262261261b878a613949565b899061275c565b9050600061262f82612811565b905061263b818761275c565b61264590846139b2565b9998505050505050505050565b6000806126646201518061016d613a53565b61266e8486613a53565b6126789190613a72565b905061136f61268682611911565b61192b565b60008061269887846121d0565b905060006126b06126a9888a613949565b839061275c565b9050670d529ae9e86000008113156127045760405162461bcd60e51b81526020600482015260176024820152761b585e081c1c9bdc1bdc9d1a5bdb88195e18d959591959604a1b604482015260640161198b565b600061270f82612811565b90508561271c828961275c565b6127269190613949565b9350670de0b6b3a76400008412156127505760405162461bcd60e51b815260040161198b90613a08565b50505095945050505050565b600080612771670de0b6b3a764000085613896565b905082818161278257612782613880565b05949350505050565b6000806127988385613896565b9050670de0b6b3a764000081612782565b60008261254c670de0b6b3a764000084613a53565b6000806127cf87878787600061268b565b905060006127df6118d38361288c565b9050836127f16201518061016d613a53565b6127fb9083613a53565b6128059190613a72565b98975050505050505050565b6000670de0b6b3a764000082036128675760405162461bcd60e51b815260206004820152601a60248201527970726f706f7274696f6e206d757374206e6f74206265206f6e6560301b604482015260640161198b565b600061288561287e84670de0b6b3a76400006139b2565b849061275c565b90506115c1815b60008082136128cd5760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b604482015260640161198b565b670c7d713b49da0000821380156128eb5750670f43fc2c04ee000082125b1561290f57670de0b6b3a76400006129028361291d565b816119c5576119c5613880565b610c6f82612a3c565b919050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161295e5761295e613880565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215612a7d57612a74826a0c097ce7bc90715b34b9f160241b81612a6e57612a6e613880565b05612a3c565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312612ac85772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312612aff576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312612b47576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312612b82576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312612bb957693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312612bf057690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312612c255768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312612c5057680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312612c85576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312612cba576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312612cee576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312612d22576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281612d4b57612d4b613880565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6040805160a08101825260008082526020820152908101612dfe612e6b565b8152602001612e0b612e6b565b8152602001612e18612e6b565b905290565b6040518060c0016040528060006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001612e5e612e6b565b8152602001606081525090565b604080518082019091526000808252602082015290565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114612eab57600080fd5b50565b600060208284031215612ec057600080fd5b81356115c181612e96565b60006102008201905060018060a01b038088168352808716602084015250845160408301526020850151606083015260408501516080830152606085015160a08301526080850151612f2860c08401826001600160a01b03169052565b5060a085015160e08381019190915260c08601516101008085019190915290860151610120808501919091529086015161014080850191909152908601516101608085019190915290860151610180840152909401516101a08201526101c08101929092526101e09091015292915050565b6001600160a01b0392831681529116602082015260400190565b600080600060608486031215612fc957600080fd5b8335612fd481612e96565b95602085013595506040909401359392505050565b60008060408385031215612ffc57600080fd5b823561300781612e96565b9150602083013561301781612e96565b809150509250929050565b80516001600160a01b03168252602090810151910152565b80516001600160a01b03168252602080820151908301526040808201519061306490840182613022565b5060608101516130776080840182613022565b50608081015161308a60c0840182613022565b505050565b6101008101610c6f828461303a565b600060608201858352602085818501526040606081860152828651808552608087019150838801945060005b818110156130ed576130dd838751613022565b94840194918301916001016130ca565b50909998505050505050505050565b6000806040838503121561310f57600080fd5b823561311a81612e96565b946020939093013593505050565b60008060006040848603121561313d57600080fd5b833561314881612e96565b925060208401356001600160401b038082111561316457600080fd5b818601915086601f83011261317857600080fd5b81358181111561318757600080fd5b8760208260051b850101111561319c57600080fd5b6020830194508093505050509250925092565b6020808252825182820181905260009190848201906040850190845b818110156131f2576131de83855161303a565b9284019261010092909201916001016131cb565b50909695505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b0381118282101715613236576132366131fe565b60405290565b60405161018081016001600160401b0381118282101715613236576132366131fe565b604051601f8201601f191681016001600160401b0381118282101715613287576132876131fe565b604052919050565b6000604082840312156132a157600080fd5b604080519081016001600160401b03811182821017156132c3576132c36131fe565b60405290508082356132d481612e96565b8152602092830135920191909152919050565b60006001600160401b03821115613300576133006131fe565b5060051b60200190565b600082601f83011261331b57600080fd5b8135602061333061332b836132e7565b61325f565b82815260069290921b8401810191818101908684111561334f57600080fd5b8286015b8481101561337357613365888261328f565b835291830191604001613353565b509695505050505050565b60006020828403121561339057600080fd5b81356001600160401b03808211156133a757600080fd5b9083019060e082860312156133bb57600080fd5b6133c3613214565b82356133ce81612e96565b815260208301356133de81612e96565b806020830152506040830135604082015260608301356060820152613406866080850161328f565b608082015260c08301358281111561341d57600080fd5b6134298782860161330a565b60a08301525095945050505050565b600081518084526020808501945080840160005b838110156134725761345f878351613022565b604096909601959082019060010161344c565b509495945050505050565b600060018060a01b0380835116845280602084015116602085015250604082015160408401526060820151606084015260808201516134bf6080850182613022565b5060a082015160e060c085015261136f60e0850182613438565b6020815260006115c1602083018461347d565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561354157603f1988860301845261352f85835161347d565b94509285019290850190600101613513565b5092979650505050505050565b82815260406020820152600061136f6040830184613438565b60008060006060848603121561357c57600080fd5b835161358781612e96565b602085015190935061359881612e96565b60408501519092506135a981612e96565b809150509250925092565b805161291881612e96565b600061018082840312156135d257600080fd5b6135da61323c565b82518152602083015160208201526040830151604082015260608301516060820152613608608084016135b4565b608082015260a0838101519082015260c0808401519082015260e08084015190820152610100808401519082015261012080840151908201526101408084015190820152610160928301519281019290925250919050565b60006020828403121561367257600080fd5b815180151581146115c157600080fd5b60006020828403121561369457600080fd5b81516115c181612e96565b6000602082840312156136b157600080fd5b5051919050565b600060208083850312156136cb57600080fd5b82516001600160401b038111156136e157600080fd5b8301601f810185136136f257600080fd5b805161370061332b826132e7565b81815260059190911b8201830190838101908783111561371f57600080fd5b928401925b8284101561374657835161373781612e96565b82529284019290840190613724565b979650505050505050565b6000602080838503121561376457600080fd5b82516001600160401b0381111561377a57600080fd5b8301601f8101851361378b57600080fd5b805161379961332b826132e7565b81815260059190911b820183019083810190878311156137b857600080fd5b928401925b82841015613746578351825292840192908401906137bd565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201613814576138146137ec565b5060010190565b80516001600160801b038116811461291857600080fd5b6000806040838503121561384557600080fd5b61384e8361381b565b915061385c6020840161381b565b90509250929050565b60006020828403121561387757600080fd5b6115c18261381b565b634e487b7160e01b600052601260045260246000fd5b60006001600160ff1b03818413828413808216868404861116156138bc576138bc6137ec565b600160ff1b60008712828116878305891216156138db576138db6137ec565b600087129250878205871284841616156138f7576138f76137ec565b8785058712818416161561390d5761390d6137ec565b505050929093029392505050565b60008261392a5761392a613880565b600160ff1b821460001984141615613944576139446137ec565b500590565b600080821280156001600160ff1b038490038513161561396b5761396b6137ec565b600160ff1b8390038412811615613984576139846137ec565b50500190565b6020808252600e908201526d1b585c9ad95d08195e1c1a5c995960921b604082015260600190565b60008083128015600160ff1b8501841216156139d0576139d06137ec565b6001600160ff1b03840183138116156139eb576139eb6137ec565b50500390565b600082821015613a0357613a036137ec565b500390565b60208082526015908201527465786368616e676520726174652062656c6f77203160581b604082015260600190565b6000600160ff1b8201613a4c57613a4c6137ec565b5060000390565b6000816000190483118215151615613a6d57613a6d6137ec565b500290565b600082613a8157613a81613880565b50049056fea26469706673582212209246b770c1a8628e7b0698db40c3528a61ae62845c4ec70993b721f7354e3a2964736f6c634300080d0033";
1016
+ "0x60e0604052306080523480156200001557600080fd5b5060405162004b1b38038062004b1b83398101604081905262000038916200015f565b600054610100900460ff16620000555760005460ff16156200005f565b6200005f62000119565b620000c75760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b600054610100900460ff16158015620000ea576000805461ffff19166101011790555b6001600160a01b0380841660a052821660c052801562000110576000805461ff00191690555b5050506200019e565b600062000131306200013760201b62001f9c1760201c565b15905090565b6001600160a01b03163b151590565b6001600160a01b03811681146200015c57600080fd5b50565b600080604083850312156200017357600080fd5b8251620001808162000146565b6020840151909250620001938162000146565b809150509250929050565b60805160a05160c051614915620002066000396000818161013d0152611bc50152600081816103b00152818161069c01528181611a7a0152611b2a0152600081816108a7015281816108f001528181610f6701528181610fa7015261102301526149156000f3fe6080604052600436106101265760003560e01c806306ae70951461012b5780630cf85bcc14610175578063227501f5146101a557806332e12d79146101d35780633659cfe61461020e578063372cfb93146102305780633857a07b1461025d5780634f1ef2861461028c57806352d1902d1461029f57806355a7bae2146102c257806355b4fff5146102f757806355bbcd73146103245780635805908c14610354578063715018a6146103745780638129fc1c1461038957806387a409a21461039e5780638da5cb5b146103d25780639225afd6146103e7578063a71f789514610414578063a749840a14610434578063c74141f114610461578063d52eacb214610481578063e4a44426146104c0578063e8331604146104e0578063f2fde38b1461050e575b600080fd5b34801561013757600080fd5b5061015f7f000000000000000000000000000000000000000000000000000000000000000081565b60405161016c9190613b0e565b60405180910390f35b34801561018157600080fd5b50610195610190366004613b37565b61052e565b60405161016c9493929190613b54565b3480156101b157600080fd5b506101c56101c0366004613b37565b610697565b60405161016c929190613c18565b3480156101df57600080fd5b506101f36101ee366004613c32565b610800565b6040805193845260208401929092529082015260600161016c565b34801561021a57600080fd5b5061022e610229366004613b37565b61089d565b005b34801561023c57600080fd5b5061025061024b366004613c67565b61096e565b60405161016c9190613d53565b34801561026957600080fd5b5061027d610278366004613b37565b610c96565b60405161016c93929190613d62565b61022e61029a366004613e2f565b610f5d565b3480156102ab57600080fd5b506102b4611016565b60405190815260200161016c565b3480156102ce57600080fd5b506102e26102dd366004613ed6565b6110c4565b6040805192835260208301919091520161016c565b34801561030357600080fd5b50610317610312366004613f02565b61114f565b60405161016c9190613f89565b34801561033057600080fd5b5061034461033f366004613fd8565b611216565b604051901515815260200161016c565b34801561036057600080fd5b506102e261036f366004613ed6565b61125b565b34801561038057600080fd5b5061022e6112e3565b34801561039557600080fd5b5061022e61131e565b3480156103aa57600080fd5b5061015f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103de57600080fd5b5061015f6113ea565b3480156103f357600080fd5b50610407610402366004613c67565b6113f9565b60405161016c91906140b3565b34801561042057600080fd5b506102e261042f366004613ed6565b611898565b34801561044057600080fd5b5061045461044f366004613f02565b611920565b60405161016c91906140c6565b34801561046d57600080fd5b506102b461047c366004613b37565b6119df565b34801561048d57600080fd5b506104a161049c366004613b37565b611a73565b604080519315158452911515602084015215159082015260600161016c565b3480156104cc57600080fd5b506102b46104db366004613b37565b611c4b565b3480156104ec57600080fd5b506105006104fb366004613c67565b611cc4565b60405161016c929190614128565b34801561051a57600080fd5b5061022e610529366004613b37565b611eff565b60008061059e6040518061018001604052806000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600080859050600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156105e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106099190614141565b50604051631cf38c7b60e11b8152600160048201529098509096508692508791506001600160a01b038416906339e718f69060240161018060405180830381865afa15801561065c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106809190614199565b945061068b886119df565b93505050509193509193565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371846aa8846040518263ffffffff1660e01b81526004016106e69190613b0e565b602060405180830381865afa158015610703573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610727919061423a565b1561079457826001600160a01b031663d94073d46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561076a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078e919061425c565b93915050565b829150826001600160a01b031663781c18db6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f9919061425c565b9050915091565b604051631cf38c7b60e11b8152600060048201819052908190819081906001600160a01b038816906339e718f69060240161018060405180830381865afa15801561084f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108739190614199565b905061088c61088188611c4b565b829088886000611fab565b919a90995090975095505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036108ee5760405162461bcd60e51b81526004016108e590614279565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610920612018565b6001600160a01b0316146109465760405162461bcd60e51b81526004016108e5906142b3565b61094f81612034565b6040805160008082526020820190925261096b91839190612063565b50565b610976613a5a565b6040516370a0823160e01b815283906000906001600160a01b038316906370a08231906109a7908790600401613b0e565b602060405180830381865afa1580156109c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e891906142ed565b6001600160a01b03868116855260208501829052604051631cf38c7b60e11b815260016004820152919250600091908416906339e718f69060240161018060405180830381865afa158015610a41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a659190614199565b60408101518151919250906000908290610a7f908661431c565b610a899190614351565b9050600082846020015186610a9e919061431c565b610aa89190614351565b9050600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190614141565b50915091506040518060400160405280826001600160a01b031681526020018581525089604001819052506040518060400160405280836001600160a01b03168152602001848152508960600181905250816001600160a01b031663a40bee506040518163ffffffff1660e01b8152600401606060405180830381865afa158015610b9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc29190614365565b5060808b01516001600160a01b0382166020820152826001811115610be957610be9613cb8565b6001811115610bfa57610bfa613cb8565b8152505050670de0b6b3a7640000826001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6a91906142ed565b610c74908561431c565b610c7e9190614351565b60808a01516040015250969998505050505050505050565b60008060606000610ca685610697565b5090506000819050806001600160a01b031663f65d6fc86040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610cee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1291906142ed565b9450806001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7691906142ed565b93506000816001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610db8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610de091908101906143d4565b905080516001600160401b03811115610dfb57610dfb613dc0565b604051908082528060200260200182016040528015610e4057816020015b6040805180820190915260008082526020820152815260200190600190039081610e195790505b5093506000826001600160a01b031663f8b2f9916040518163ffffffff1660e01b81526004016000604051808303816000875af1158015610e85573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ead9190810190614472565b905060005b8251811015610f51576000838281518110610ecf57610ecf6144f7565b6020026020010151905080878381518110610eec57610eec6144f7565b60209081029190910101516001600160a01b0390911690528251839083908110610f1857610f186144f7565b6020026020010151878381518110610f3257610f326144f7565b602090810291909101810151015250610f4a8161450d565b9050610eb2565b50505050509193909250565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610fa55760405162461bcd60e51b81526004016108e590614279565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610fd7612018565b6001600160a01b031614610ffd5760405162461bcd60e51b81526004016108e5906142b3565b61100682612034565b61101282826001612063565b5050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110b15760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016108e5565b5060008051602061489983398151915290565b604051631cf38c7b60e11b815260006004820181905290819081906001600160a01b038616906339e718f69060240161018060405180830381865afa158015611111573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111359190614199565b9050611143818560006121d3565b90969095509350505050565b6060816001600160401b0381111561116957611169613dc0565b6040519080825280602002602001820160405280156111a257816020015b61118f613a5a565b8152602001906001900390816111875790505b50905060005b8281101561120e576111e08484838181106111c5576111c56144f7565b90506020020160208101906111da9190613b37565b8661096e565b8282815181106111f2576111f26144f7565b6020026020010181905250806112079061450d565b90506111a8565b509392505050565b6000808260400135118061122e575060008260600135115b8061123c575060a082013515155b806112555750600061125160c0840184614526565b9050115b92915050565b604051631cf38c7b60e11b815260006004820181905290819081906001600160a01b038616906339e718f69060240161018060405180830381865afa1580156112a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cc9190614199565b90506111436112da86611c4b565b82908642612210565b336112ec6113ea565b6001600160a01b0316146113125760405162461bcd60e51b81526004016108e590614576565b61131c6000612257565b565b600054610100900460ff166113395760005460ff1615611341565b6113416122a9565b6113a45760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016108e5565b600054610100900460ff161580156113c6576000805461ffff19166101011790555b6113ce6122ba565b6113d66122e1565b801561096b576000805461ff001916905550565b6097546001600160a01b031690565b611401613aa9565b61140a83610697565b6001600160a01b039081166020840152168082526040516370a0823160e01b815281906370a0823190611441908690600401613b0e565b602060405180830381865afa15801561145e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148291906142ed565b82604001818152505081602001516001600160a01b03166370a08231846040518263ffffffff1660e01b81526004016114bb9190613b0e565b602060405180830381865afa1580156114d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114fc91906142ed565b826060018181525050806001600160a01b03166347bfac626040518163ffffffff1660e01b8152600401602060405180830381865afa158015611543573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611567919061425c565b60808301516001600160a01b03918216905260405163d68076c360e01b81529082169063d68076c39061159e908690600401613b0e565b6040805180830381865afa1580156115ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115de91906145c2565b9050806001600160801b03169050826080015160200181815250506000816001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611639573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261166191908101906143d4565b9050600081516001600160401b0381111561167e5761167e613dc0565b6040519080825280602002602001820160405280156116b757816020015b6116a4613af7565b81526020019060019003908161169c5790505b5090506000805b83518110156117de5760008482815181106116db576116db6144f7565b602002602001015190506000866001600160a01b0316635cbadbe4838b6040518363ffffffff1660e01b8152600401611715929190613c18565b6040805180830381865afa158015611731573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175591906145c2565b6001600160801b031691505080156117cb578185858151811061177a5761177a6144f7565b6020026020010151600001906001600160a01b031690816001600160a01b031681525050808585815181106117b1576117b16144f7565b60209081029190910181015101526117c88461450d565b93505b5050806117d79061450d565b90506116be565b50806001600160401b038111156117f7576117f7613dc0565b60405190808252806020026020018201604052801561183057816020015b61181d613af7565b8152602001906001900390816118155790505b5060a086015260005b8181101561188d57828181518110611853576118536144f7565b60200260200101518660a001518281518110611871576118716144f7565b6020026020010181905250806118869061450d565b9050611839565b505050505092915050565b604051631cf38c7b60e11b815260006004820181905290819081906001600160a01b038616906339e718f69060240161018060405180830381865afa1580156118e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119099190614199565b905061114361191786611c4b565b82908642612310565b6060816001600160401b0381111561193a5761193a613dc0565b60405190808252806020026020018201604052801561197357816020015b611960613aa9565b8152602001906001900390816119585790505b50905060005b8281101561120e576119b1848483818110611996576119966144f7565b90506020020160208101906119ab9190613b37565b866113f9565b8282815181106119c3576119c36144f7565b6020026020010181905250806119d89061450d565b9050611979565b604051631cf38c7b60e11b81526000600482018190529081906001600160a01b038416906339e718f69060240161018060405180830381865afa158015611a2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a4e9190614199565b90506000611a60826101400151612331565b9050611a6b8161234b565b949350505050565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318b7373d856040518263ffffffff1660e01b8152600401611ac49190613b0e565b602060405180830381865afa158015611ae1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b05919061423a565b15611b135760019250611c44565b604051630e308d5560e31b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906371846aa890611b5f908790600401613b0e565b602060405180830381865afa158015611b7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ba0919061423a565b15611bae5760019150611c44565b6040516358e6309f60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f90611bfa908790600401613b0e565b602060405180830381865afa158015611c17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c3b919061423a565b15611c44575060015b9193909250565b600080826001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611c8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb09190614141565b50509050611cbd81612760565b9392505050565b6040516370a0823160e01b815260009060609084906001600160a01b038216906370a0823190611cf8908490600401613b0e565b602060405180830381865afa158015611d15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d3991906142ed565b92506000816001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611d7b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611da391908101906143d4565b905080516001600160401b03811115611dbe57611dbe613dc0565b604051908082528060200260200182016040528015611df757816020015b611de4613af7565b815260200190600190039081611ddc5790505b50925060005b8151811015611ef5576000828281518110611e1a57611e1a6144f7565b6020026020010151905080858381518110611e3757611e376144f7565b60209081029190910101516001600160a01b03918216905260405163172eb6f960e21b815290891690635cbadbe490611e769084908b90600401613c18565b6040805180830381865afa158015611e92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eb691906145c2565b9050806001600160801b03169050858381518110611ed657611ed66144f7565b602090810291909101810151015250611eee8161450d565b9050611dfd565b5050509250929050565b33611f086113ea565b6001600160a01b031614611f2e5760405162461bcd60e51b81526004016108e590614576565b6001600160a01b038116611f935760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108e5565b61096b81612257565b6001600160a01b03163b151590565b600080600080600080600080611fd48d8d611fc58e612331565b611fce8e612331565b8d6127c4565b9350935093509350611fe584612996565b9750611ff083612996565b9650611ffb82612996565b955061200681612996565b94505050505095509550955095915050565b600080516020614899833981519152546001600160a01b031690565b3361203d6113ea565b6001600160a01b03161461096b5760405162461bcd60e51b81526004016108e590614576565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561209b57612096836129a5565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156120f5575060408051601f3d908101601f191682019092526120f2918101906142ed565b60015b6121585760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016108e5565b60008051602061489983398151915281146121c75760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016108e5565b50612096838383612a3f565b6000806000806121ec876121e688612331565b87612a6a565b915091506121f982612996565b935061220481612996565b92505050935093915050565b60008060008061222a888861222489612331565b88612b83565b9150915061223f61223a83612c4f565b612996565b935061224a81612996565b9250505094509492505050565b609780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006122b430611f9c565b15905090565b600054610100900460ff1661131c5760405162461bcd60e51b81526004016108e5906145f5565b600054610100900460ff166123085760405162461bcd60e51b81526004016108e5906145f5565b61131c612c5d565b600080600080612324888861222489612c8d565b9150915061223f82612996565b60006001600160ff1b0382111561234757600080fd5b5090565b6000680238fd42c5cf03ffff198212158015612370575068070c1cc73b00c800008213155b6123af5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b60448201526064016108e5565b60008212156123e7576123c48260000361234b565b6a0c097ce7bc90715b34b9f160241b816123e0576123e061433b565b0592915050565b60006806f05b59d3b2000000831261242557506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61245b565b6803782dace9d9000000831261245757506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061245b565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126124ab5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126124e7576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261252157682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c400000841261255b576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261259457680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126125cd5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412612606576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c40000841261263f5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6000816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127a0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125591906142ed565b6000806000806000871380156127da5750600086135b6128155760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f414d4f554e545360a01b60448201526064016108e5565b8860400151600003612849576128376103e86128318a8a612ca4565b90612ce0565b92506103e893508691508590506128ec565b885160408a01516000919061285e9089614640565b61286891906146c5565b905060008a602001518b604001518a6128819190614640565b61288b91906146c5565b9050808212156128c1578194508792508a60400151858c602001516128b09190614640565b6128ba91906146c5565b93506128e9565b8094508893508a60400151858c600001516128dc9190614640565b6128e691906146c5565b92505b50505b6000831361293c5760405162461bcd60e51b815260206004820152601d60248201527f494e53554646494349454e545f4c49515549444954595f4d494e54454400000060448201526064016108e5565b841561298a57818960200181815161295491906146f3565b905250885181908a906129689083906146f3565b90525061297584846146f3565b8960400181815161298691906146f3565b9052505b95509550955095915050565b60008082121561234757600080fd5b6129ae81611f9c565b612a105760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016108e5565b60008051602061489983398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612a4883612d27565b600082511180612a555750805b1561209657612a648383612d67565b50505050565b60008060008413612ab15760405162461bcd60e51b81526020600482015260116024820152701a5b9d985b1a59081b1c08185b5bdd5b9d607a1b60448201526064016108e5565b60408501516020860151612ac59086614640565b612acf91906146c5565b6040860151865191935090612ae49086614640565b612aee91906146c5565b90506000821380612aff5750600081135b612b3e5760405162461bcd60e51b815260206004820152601060248201526f1e995c9bc8185b5bdd5b9d1cc81bdd5d60821b60448201526064016108e5565b8215612b7b576040850151612b539085612ce0565b60408601528451612b649082612ce0565b85526020850151612b759083612ce0565b60208601525b935093915050565b600080612b9586610100015184101590565b15612bb25760405162461bcd60e51b81526004016108e590614734565b85518412612bfb5760405162461bcd60e51b8152602060048201526016602482015275696e73756666696369656e74206c697175696469747960501b60448201526064016108e5565b6000612c08878786612e59565b9050600080612c18898489612f73565b9092509050612c278883613080565b9450612c338882613080565b9350612c4389848a8a898b6130ad565b50505094509492505050565b600061125582600019614640565b600054610100900460ff16612c845760405162461bcd60e51b81526004016108e5906145f5565b61131c33612257565b6000612c9882612331565b61125590600019614640565b60008060008312612cb6576001612cba565b6000195b9050612cd6612cd185612ccc86613162565b613179565b612331565b611a6b9082614640565b600081831215612d1d5760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b60448201526064016108e5565b611cbd828461475c565b612d30816129a5565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060612d7283611f9c565b612dcd5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016108e5565b600080846001600160a01b031684604051612de891906147c7565b600060405180830381855af49150503d8060008114612e23576040519150601f19603f3d011682016040523d82523d6000602084013e612e28565b606091505b5091509150612e5082826040518060600160405280602781526020016148b960279139613198565b95945050505050565b612e846040518060800160405280600081526020016000815260200160008152602001600081525090565b6101008401518210612ea85760405162461bcd60e51b81526004016108e590614734565b600082856101000151612ebb91906147e3565b9050612ec785826131d1565b82526020850151612ed9908590612ca4565b6020830152845115801590612ef15750602082015115155b612f345760405162461bcd60e51b8152602060048201526014602482015273696e76616c6964206d61726b657420737461746560601b60448201526064016108e5565b612f5285600001518661014001518460200151856000015185613250565b604083015260c0850151612f6690826132cd565b6060830152509392505050565b6000806000612f95866000015186602001518760000151886040015188613306565b90506000612fab612fa686846133d7565b612c4f565b60608701519091506000861315613016576000612fc884836133d7565b9050670de0b6b3a7640000811215612ff25760405162461bcd60e51b81526004016108e5906147fa565b61300e61300783670de0b6b3a764000061475c565b8490613406565b915050613043565b6130408161302c81670de0b6b3a764000061475c565b6130369085614640565b612fa691906146c5565b90505b6064613053896101200151612331565b61305d9083614640565b61306791906146c5565b9350613073818361475c565b9450505050935093915050565b60008060008312613092576001613096565b6000195b9050612cd6612cd1856130a886613162565b613424565b6000818761010001516130c091906147e3565b610160880183905287519091506130d79085612ce0565b875260208701516130e89084612ce0565b60208801819052875161310d91613100908890612ca4565b885160408a015185613439565b61014088018190526000036131595760405162461bcd60e51b81526020600482015260126024820152717a65726f206c6e496d706c6965645261746560701b60448201526064016108e5565b50505050505050565b60008082136123475761317482614829565b611255565b6000670de0b6b3a764000061318e848461431c565b611cbd9190614351565b606083156131a7575081611cbd565b8251156131b75782518084602001fd5b8160405162461bcd60e51b81526004016108e59190614845565b60006131dc82612331565b6131ee612cd16201518061016d61431c565b8460a001516131fd9190614640565b61320791906146c5565b9050600081136112555760405162461bcd60e51b8152602060048201526014602482015273726174655363616c617220756e646572666c6f7760601b60448201526064016108e5565b60008061325d86846132cd565b9050670de0b6b3a76400008112156132875760405162461bcd60e51b81526004016108e5906147fa565b600061329d613296878a6146f3565b89906133d7565b905060006132aa8261348c565b90506132b681876133d7565b6132c0908461475c565b9998505050505050505050565b6000806132df6201518061016d61431c565b6132e9848661431c565b6132f39190614351565b9050611a6b61330182612331565b61234b565b6000806133138784612ce0565b9050600061332b613324888a6146f3565b83906133d7565b9050670d529ae9e860000081131561337f5760405162461bcd60e51b81526020600482015260176024820152761b585e081c1c9bdc1bdc9d1a5bdb88195e18d959591959604a1b60448201526064016108e5565b600061338a8261348c565b90508561339782896133d7565b6133a191906146f3565b9350670de0b6b3a76400008412156133cb5760405162461bcd60e51b81526004016108e5906147fa565b50505095945050505050565b6000806133ec670de0b6b3a764000085614640565b90508281816133fd576133fd61433b565b05949350505050565b6000806134138385614640565b9050670de0b6b3a7640000816133fd565b60008261318e670de0b6b3a76400008461431c565b60008061344a878787876000613306565b9050600061345a61223a83613507565b90508361346c6201518061016d61431c565b613476908361431c565b6134809190614351565b98975050505050505050565b6000670de0b6b3a764000082036134e25760405162461bcd60e51b815260206004820152601a60248201527970726f706f7274696f6e206d757374206e6f74206265206f6e6560301b60448201526064016108e5565b60006135006134f984670de0b6b3a764000061475c565b84906133d7565b9050611cbd815b60008082136135485760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b60448201526064016108e5565b670c7d713b49da0000821380156135665750670f43fc2c04ee000082125b1561358a57670de0b6b3a764000061357d83613598565b816123e0576123e061433b565b611255826136b7565b919050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff19850102816135d9576135d961433b565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a76400008212156136f8576136ef826a0c097ce7bc90715b34b9f160241b816136e9576136e961433b565b056136b7565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126137435772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b831261377a576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff008400083126137c2576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70083126137fd576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261383457693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e2831261386b57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126138a05768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb4174612111083126138cb57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312613900576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312613935576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312613969576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac831261399d576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d6310000080860302816139c6576139c661433b565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6040805160a08101825260008082526020820152908101613a79613af7565b8152602001613a86613af7565b815260408051606081018252600080825260208281018290529282015291015290565b6040518060c0016040528060006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001613aea613af7565b8152602001606081525090565b604080518082019091526000808252602082015290565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461096b57600080fd5b600060208284031215613b4957600080fd5b8135611cbd81613b22565b60006101e08201905060018060a01b038087168352808616602084015250835160408301526020840151606083015260408401516080830152606084015160a08301526080840151613bb160c08401826001600160a01b03169052565b5060a084015160e08381019190915260c08501516101008085019190915290850151610120808501919091529085015161014080850191909152908501516101608085019190915290850151610180840152909301516101a08201526101c0015292915050565b6001600160a01b0392831681529116602082015260400190565b600080600060608486031215613c4757600080fd5b8335613c5281613b22565b95602085013595506040909401359392505050565b60008060408385031215613c7a57600080fd5b8235613c8581613b22565b91506020830135613c9581613b22565b809150509250929050565b80516001600160a01b03168252602090810151910152565b634e487b7160e01b600052602160045260246000fd5b60018060a01b03808251168352602082015160208401526040820151613cf76040850182613ca0565b506060820151613d0a6080850182613ca0565b506080820151805160028110613d3057634e487b7160e01b600052602160045260246000fd5b60c0850152602081015190911660e0840152604001516101009092019190915250565b61012081016112558284613cce565b600060608201858352602085818501526040606081860152828651808552608087019150838801945060005b81811015613db157613da1838751613ca0565b9484019491830191600101613d8e565b50909998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b0381118282101715613df957613df9613dc0565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613e2757613e27613dc0565b604052919050565b60008060408385031215613e4257600080fd5b8235613e4d81613b22565b91506020838101356001600160401b0380821115613e6a57600080fd5b818601915086601f830112613e7e57600080fd5b813581811115613e9057613e90613dc0565b613ea2601f8201601f19168501613dff565b91508082528784828501011115613eb857600080fd5b80848401858401376000848284010152508093505050509250929050565b60008060408385031215613ee957600080fd5b8235613ef481613b22565b946020939093013593505050565b600080600060408486031215613f1757600080fd5b8335613f2281613b22565b925060208401356001600160401b0380821115613f3e57600080fd5b818601915086601f830112613f5257600080fd5b813581811115613f6157600080fd5b8760208260051b8501011115613f7657600080fd5b6020830194508093505050509250925092565b6020808252825182820181905260009190848201906040850190845b81811015613fcc57613fb8838551613cce565b928401926101209290920191600101613fa5565b50909695505050505050565b600060208284031215613fea57600080fd5b81356001600160401b0381111561400057600080fd5b820160e08185031215611cbd57600080fd5b600081518084526020808501945080840160005b8381101561404c57614039878351613ca0565b6040969096019590820190600101614026565b509495945050505050565b600060018060a01b0380835116845280602084015116602085015250604082015160408401526060820151606084015260808201516140996080850182613ca0565b5060a082015160e060c0850152611a6b60e0850182614012565b602081526000611cbd6020830184614057565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561411b57603f19888603018452614109858351614057565b945092850192908501906001016140ed565b5092979650505050505050565b828152604060208201526000611a6b6040830184614012565b60008060006060848603121561415657600080fd5b835161416181613b22565b602085015190935061417281613b22565b604085015190925061418381613b22565b809150509250925092565b805161359381613b22565b600061018082840312156141ac57600080fd5b6141b4613dd6565b825181526020830151602082015260408301516040820152606083015160608201526141e26080840161418e565b608082015260a0838101519082015260c0808401519082015260e08084015190820152610100808401519082015261012080840151908201526101408084015190820152610160928301519281019290925250919050565b60006020828403121561424c57600080fd5b81518015158114611cbd57600080fd5b60006020828403121561426e57600080fd5b8151611cbd81613b22565b6020808252602c9082015260008051602061487983398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061487983398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156142ff57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561433657614336614306565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826143605761436061433b565b500490565b60008060006060848603121561437a57600080fd5b83516002811061438957600080fd5b602085015190935061439a81613b22565b604085015190925060ff8116811461418357600080fd5b60006001600160401b038211156143ca576143ca613dc0565b5060051b60200190565b600060208083850312156143e757600080fd5b82516001600160401b038111156143fd57600080fd5b8301601f8101851361440e57600080fd5b805161442161441c826143b1565b613dff565b81815260059190911b8201830190838101908783111561444057600080fd5b928401925b8284101561446757835161445881613b22565b82529284019290840190614445565b979650505050505050565b6000602080838503121561448557600080fd5b82516001600160401b0381111561449b57600080fd5b8301601f810185136144ac57600080fd5b80516144ba61441c826143b1565b81815260059190911b820183019083810190878311156144d957600080fd5b928401925b82841015614467578351825292840192908401906144de565b634e487b7160e01b600052603260045260246000fd5b60006001820161451f5761451f614306565b5060010190565b6000808335601e1984360301811261453d57600080fd5b8301803591506001600160401b0382111561455757600080fd5b6020019150600681901b360382131561456f57600080fd5b9250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b80516001600160801b038116811461359357600080fd5b600080604083850312156145d557600080fd5b6145de836145ab565b91506145ec602084016145ab565b90509250929050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006001600160ff1b038184138284138082168684048611161561466657614666614306565b600160ff1b600087128281168783058912161561468557614685614306565b600087129250878205871284841616156146a1576146a1614306565b878505871281841616156146b7576146b7614306565b505050929093029392505050565b6000826146d4576146d461433b565b600160ff1b8214600019841416156146ee576146ee614306565b500590565b600080821280156001600160ff1b038490038513161561471557614715614306565b600160ff1b839003841281161561472e5761472e614306565b50500190565b6020808252600e908201526d1b585c9ad95d08195e1c1a5c995960921b604082015260600190565b60008083128015600160ff1b85018412161561477a5761477a614306565b6001600160ff1b038401831381161561479557614795614306565b50500390565b60005b838110156147b657818101518382015260200161479e565b83811115612a645750506000910152565b600082516147d981846020870161479b565b9190910192915050565b6000828210156147f5576147f5614306565b500390565b60208082526015908201527465786368616e676520726174652062656c6f77203160581b604082015260600190565b6000600160ff1b820161483e5761483e614306565b5060000390565b602081526000825180602084015261486481604085016020870161479b565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212202d3fa7794487f1ad25ea63fead594edffde49c87cca6fe02ca74609b8854110664736f6c634300080f0033";
864
1017
 
865
1018
  type RouterStaticConstructorParams =
866
1019
  | [signer?: Signer]
@@ -610,30 +610,6 @@ const _abi = [
610
610
  stateMutability: "view",
611
611
  type: "function",
612
612
  },
613
- {
614
- inputs: [
615
- {
616
- internalType: "address",
617
- name: "token",
618
- type: "address",
619
- },
620
- {
621
- internalType: "address",
622
- name: "user",
623
- type: "address",
624
- },
625
- ],
626
- name: "userRewardAccrued",
627
- outputs: [
628
- {
629
- internalType: "uint128",
630
- name: "",
631
- type: "uint128",
632
- },
633
- ],
634
- stateMutability: "view",
635
- type: "function",
636
- },
637
613
  {
638
614
  inputs: [],
639
615
  name: "yieldToken",
@@ -5,9 +5,9 @@
5
5
  import { Contract, Signer, utils } from "ethers";
6
6
  import { Provider } from "@ethersproject/providers";
7
7
  import type {
8
- VotingControllerStorage,
9
- VotingControllerStorageInterface,
10
- } from "../VotingControllerStorage";
8
+ VotingControllerStorageUpg,
9
+ VotingControllerStorageUpgInterface,
10
+ } from "../VotingControllerStorageUpg";
11
11
 
12
12
  const _abi = [
13
13
  {
@@ -23,6 +23,19 @@ const _abi = [
23
23
  stateMutability: "view",
24
24
  type: "function",
25
25
  },
26
+ {
27
+ inputs: [],
28
+ name: "MAX_LOCK_TIME",
29
+ outputs: [
30
+ {
31
+ internalType: "uint128",
32
+ name: "",
33
+ type: "uint128",
34
+ },
35
+ ],
36
+ stateMutability: "view",
37
+ type: "function",
38
+ },
26
39
  {
27
40
  inputs: [],
28
41
  name: "USER_VOTE_MAX_WEIGHT",
@@ -134,7 +147,7 @@ const _abi = [
134
147
  type: "tuple",
135
148
  },
136
149
  ],
137
- internalType: "struct VotingControllerStorage.UserPoolInfo",
150
+ internalType: "struct VotingControllerStorageUpg.UserPoolInfo",
138
151
  name: "",
139
152
  type: "tuple",
140
153
  },
@@ -263,52 +276,6 @@ const _abi = [
263
276
  stateMutability: "view",
264
277
  type: "function",
265
278
  },
266
- {
267
- inputs: [
268
- {
269
- internalType: "address",
270
- name: "",
271
- type: "address",
272
- },
273
- {
274
- internalType: "address",
275
- name: "",
276
- type: "address",
277
- },
278
- {
279
- internalType: "uint256",
280
- name: "",
281
- type: "uint256",
282
- },
283
- ],
284
- name: "userPoolCheckpoints",
285
- outputs: [
286
- {
287
- components: [
288
- {
289
- internalType: "uint128",
290
- name: "bias",
291
- type: "uint128",
292
- },
293
- {
294
- internalType: "uint128",
295
- name: "slope",
296
- type: "uint128",
297
- },
298
- ],
299
- internalType: "struct VeBalance",
300
- name: "balance",
301
- type: "tuple",
302
- },
303
- {
304
- internalType: "uint128",
305
- name: "timestamp",
306
- type: "uint128",
307
- },
308
- ],
309
- stateMutability: "view",
310
- type: "function",
311
- },
312
279
  {
313
280
  inputs: [],
314
281
  name: "vePendle",
@@ -343,19 +310,19 @@ const _abi = [
343
310
  },
344
311
  ];
345
312
 
346
- export class VotingControllerStorage__factory {
313
+ export class VotingControllerStorageUpg__factory {
347
314
  static readonly abi = _abi;
348
- static createInterface(): VotingControllerStorageInterface {
349
- return new utils.Interface(_abi) as VotingControllerStorageInterface;
315
+ static createInterface(): VotingControllerStorageUpgInterface {
316
+ return new utils.Interface(_abi) as VotingControllerStorageUpgInterface;
350
317
  }
351
318
  static connect(
352
319
  address: string,
353
320
  signerOrProvider: Signer | Provider
354
- ): VotingControllerStorage {
321
+ ): VotingControllerStorageUpg {
355
322
  return new Contract(
356
323
  address,
357
324
  _abi,
358
325
  signerOrProvider
359
- ) as VotingControllerStorage;
326
+ ) as VotingControllerStorageUpg;
360
327
  }
361
328
  }