@pendle/core-v2 0.11.10-testnet → 0.12.0-testnet

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) hide show
  1. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  2. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  3. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.dbg.json +1 -1
  4. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.json +199 -30
  5. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSCY.sol/Pendle3CrvAndTokenSCY.dbg.json +4 -0
  6. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSCY.sol/Pendle3CrvAndTokenSCY.json +1030 -0
  7. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLP2PoolSCY.sol/PendleConvexCurveLP2PoolSCY.dbg.json +4 -0
  8. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLP2PoolSCY.sol/PendleConvexCurveLP2PoolSCY.json +1025 -0
  9. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLPSCY.sol/PendleConvexCurveLPSCY.dbg.json +4 -0
  10. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLPSCY.sol/PendleConvexCurveLPSCY.json +948 -0
  11. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.dbg.json +4 -0
  12. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.json +76 -0
  13. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.dbg.json +1 -1
  14. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.json +140 -25
  15. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBase.sol/SCYBase.dbg.json +1 -1
  16. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBase.sol/SCYBase.json +138 -23
  17. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +1 -1
  18. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.json +138 -23
  19. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +4 -0
  20. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +310 -0
  21. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +4 -0
  22. package/build/artifacts/contracts/core/LiquidityMining/{CelerAbstracts/CelerReceiverUpg.sol/CelerReceiverUpg.json → CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.json} +18 -85
  23. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +4 -0
  24. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +336 -0
  25. package/build/artifacts/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +4 -0
  26. package/build/artifacts/contracts/core/LiquidityMining/{CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.json → CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.json} +8 -21
  27. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.dbg.json +4 -0
  28. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.json +131 -0
  29. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +4 -0
  30. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +297 -0
  31. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.dbg.json +4 -0
  32. package/build/artifacts/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.json +376 -0
  33. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +11 -0
  35. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +29 -2
  37. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +40 -86
  39. package/build/artifacts/contracts/core/LiquidityMining/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +228 -40
  42. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json +232 -12
  44. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +164 -47
  46. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +25 -93
  48. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +222 -9
  51. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +106 -5
  53. package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +4 -0
  54. package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.json +329 -0
  55. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.json +13 -2
  57. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +87 -2
  60. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +80 -16
  62. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +164 -2
  64. package/build/artifacts/contracts/core/actions/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/actions/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +172 -4
  66. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.json +109 -2
  68. package/build/artifacts/contracts/core/actions/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/actions/ActionMintRedeem.sol/ActionMintRedeem.json +62 -4
  70. package/build/artifacts/contracts/core/actions/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/actions/ActionMisc.sol/ActionMisc.json +7 -2
  72. package/build/artifacts/contracts/core/actions/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/actions/ActionSwapPT.sol/ActionSwapPT.json +199 -4
  74. package/build/artifacts/contracts/core/actions/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/actions/ActionSwapPTYT.sol/ActionSwapPTYT.json +108 -2
  76. package/build/artifacts/contracts/core/actions/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/actions/ActionSwapYT.sol/ActionSwapYT.json +146 -4
  78. package/build/artifacts/contracts/core/actions/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/actions/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  80. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +4 -0
  81. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.json +177 -0
  82. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +4 -0
  83. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.json +78 -0
  84. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +4 -0
  85. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.json +24 -0
  86. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +4 -0
  87. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.json +264 -0
  88. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +4 -0
  89. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.json +305 -0
  90. package/build/artifacts/contracts/interfaces/IBoringOwnableUpgradeable.sol/IBoringOwnableUpgradeable.dbg.json +4 -0
  91. package/build/artifacts/contracts/interfaces/IBoringOwnableUpgradeable.sol/IBoringOwnableUpgradeable.json +34 -0
  92. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  93. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +31 -1
  94. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  95. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json +5 -0
  96. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  97. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +30 -0
  98. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +1 -1
  99. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.json +10 -0
  100. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +30 -0
  102. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  103. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +106 -1
  104. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +4 -0
  105. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.json +112 -0
  106. package/build/artifacts/contracts/interfaces/IPFeeDistributorFactory.sol/IPFeeDistributorFactory.dbg.json +4 -0
  107. package/build/artifacts/contracts/interfaces/IPFeeDistributorFactory.sol/IPFeeDistributorFactory.json +76 -0
  108. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +13 -0
  110. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +4 -0
  111. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.json +24 -0
  112. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +4 -0
  113. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.json +63 -0
  114. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  115. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.json +148 -0
  116. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +4 -0
  117. package/build/artifacts/contracts/interfaces/{IPVotingEscrow.sol/IPVotingEscrow.json → IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.json} +88 -2
  118. package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +1 -1
  119. package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.json +4 -28
  120. package/build/artifacts/contracts/libraries/Errors.sol/Errors.dbg.json +4 -0
  121. package/build/artifacts/contracts/libraries/Errors.sol/Errors.json +886 -0
  122. package/build/artifacts/contracts/libraries/OracleLib.sol/OracleLib.dbg.json +1 -1
  123. package/build/artifacts/contracts/libraries/OracleLib.sol/OracleLib.json +28 -2
  124. package/build/artifacts/contracts/libraries/RewardManager.sol/RewardManager.dbg.json +1 -1
  125. package/build/artifacts/contracts/libraries/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  126. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  127. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  128. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +4 -0
  129. package/build/artifacts/contracts/libraries/{solmate/SSTORE2.sol/SSTORE2.json → VeHistoryLib.sol/CheckpointHelper.json} +4 -4
  130. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  131. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  132. package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  133. package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.json +2 -2
  134. package/build/artifacts/contracts/libraries/helpers/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +4 -0
  135. package/build/artifacts/contracts/libraries/helpers/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +45 -0
  136. package/build/artifacts/contracts/libraries/helpers/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +4 -0
  137. package/build/artifacts/contracts/libraries/helpers/{SSTORE2Deployer.sol/SSTORE2Deployer.json → BaseSplitCodeFactory.sol/CodeDeployer.json} +4 -4
  138. package/build/artifacts/contracts/libraries/helpers/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  139. package/build/artifacts/contracts/libraries/helpers/PYIndex.sol/PYIndexLib.json +2 -2
  140. package/build/artifacts/contracts/libraries/helpers/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  141. package/build/artifacts/contracts/libraries/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +1 -1
  142. package/build/artifacts/contracts/libraries/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.json +2 -2
  143. package/build/artifacts/contracts/libraries/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +1 -1
  144. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  145. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  146. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  147. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  148. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  149. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.json +2 -2
  150. package/build/artifacts/contracts/libraries/math/Math.sol/Math.dbg.json +1 -1
  151. package/build/artifacts/contracts/libraries/math/Math.sol/Math.json +2 -2
  152. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.dbg.json +1 -1
  153. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.json +2 -2
  154. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +4 -0
  155. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +167 -0
  156. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
  157. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +182 -4
  158. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  159. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +126 -79
  160. package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol +3 -1
  161. package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol +19 -16
  162. package/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSCY.sol +135 -0
  163. package/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLP2PoolSCY.sol +96 -0
  164. package/contracts/SuperComposableYield/SCY-implementations/Convex/ConvexCurveLP/PendleConvexCurveLPSCY.sol +215 -0
  165. package/contracts/SuperComposableYield/SCY-implementations/Convex/Pendle3CrvHelper.sol +83 -0
  166. package/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol +10 -15
  167. package/contracts/SuperComposableYield/base-implementations/SCYBase.sol +30 -43
  168. package/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol +74 -0
  169. package/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol +38 -0
  170. package/contracts/core/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol +83 -0
  171. package/contracts/core/LiquidityMining/{CelerAbstracts/CelerSenderUpg.sol → CrossChainMsg/PendleMsgSenderAppUpg.sol} +12 -13
  172. package/contracts/core/LiquidityMining/FeeDistributor/EpochResultManager.sol +159 -0
  173. package/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol +96 -0
  174. package/contracts/core/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol +68 -0
  175. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +4 -3
  176. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol +6 -2
  177. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol +12 -4
  178. package/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +29 -19
  179. package/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +27 -19
  180. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +63 -27
  181. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +6 -5
  182. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol +2 -2
  183. package/contracts/core/Market/PendleMarket.sol +26 -24
  184. package/contracts/core/Market/PendleMarketFactory.sol +41 -20
  185. package/contracts/core/PendleERC20Permit.sol +84 -0
  186. package/contracts/core/PendleRouter.sol +2 -1
  187. package/contracts/core/YieldContracts/PendlePrincipalToken.sol +8 -7
  188. package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +37 -22
  189. package/contracts/core/YieldContracts/PendleYieldToken.sol +106 -35
  190. package/contracts/core/actions/ActionAddRemoveLiq.sol +58 -41
  191. package/contracts/core/actions/ActionCallback.sol +24 -14
  192. package/contracts/core/actions/ActionMintRedeem.sol +14 -4
  193. package/contracts/core/actions/ActionMisc.sol +2 -1
  194. package/contracts/core/actions/ActionSwapPT.sol +38 -19
  195. package/contracts/core/actions/ActionSwapPTYT.sol +7 -6
  196. package/contracts/core/actions/ActionSwapYT.sol +36 -19
  197. package/contracts/core/actions/base/ActionBaseMintRedeem.sol +15 -8
  198. package/contracts/interfaces/ConvexCurve/IBooster.sol +32 -0
  199. package/contracts/interfaces/ConvexCurve/ICrvDepositor.sol +20 -0
  200. package/contracts/interfaces/ConvexCurve/ICvxCrv.sol +6 -0
  201. package/contracts/interfaces/ConvexCurve/IRewards.sol +38 -0
  202. package/contracts/interfaces/Curve/ICrvPool.sol +69 -0
  203. package/contracts/interfaces/IBoringOwnableUpgradeable.sol +10 -0
  204. package/contracts/interfaces/IPActionAddRemoveLiq.sol +7 -7
  205. package/contracts/interfaces/IPActionMintRedeem.sol +1 -0
  206. package/contracts/interfaces/IPActionSwapPT.sol +6 -6
  207. package/contracts/interfaces/IPActionSwapPTYT.sol +2 -2
  208. package/contracts/interfaces/IPActionSwapYT.sol +13 -13
  209. package/contracts/interfaces/IPFeeDistributor.sol +19 -0
  210. package/contracts/interfaces/IPFeeDistributorFactory.sol +14 -0
  211. package/contracts/interfaces/IPMarket.sol +2 -0
  212. package/contracts/interfaces/IPMsgReceiverApp.sol +7 -0
  213. package/contracts/interfaces/IPMsgSendEndpoint.sol +17 -0
  214. package/contracts/interfaces/IPVotingController.sol +22 -0
  215. package/contracts/interfaces/{IPVotingEscrow.sol → IPVotingEscrowMainchain.sol} +11 -1
  216. package/contracts/interfaces/ISuperComposableYield.sol +2 -7
  217. package/contracts/libraries/Errors.sol +121 -0
  218. package/contracts/libraries/OracleLib.sol +6 -3
  219. package/contracts/libraries/VeBalanceLib.sol +5 -1
  220. package/contracts/libraries/VeHistoryLib.sol +20 -31
  221. package/contracts/libraries/helpers/ArrayLib.sol +0 -17
  222. package/contracts/libraries/helpers/BaseSplitCodeFactory.sol +288 -0
  223. package/contracts/libraries/helpers/TokenHelper.sol +4 -0
  224. package/contracts/libraries/kyberswap/AggregationRouterHelper.sol +0 -7
  225. package/contracts/libraries/math/MarketMathCore.sol +29 -25
  226. package/contracts/libraries/math/Math.sol +6 -2
  227. package/contracts/libraries/math/WeekMath.sol +2 -2
  228. package/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol +43 -0
  229. package/contracts/offchain-helpers/MarketMathStatic.sol +36 -36
  230. package/contracts/offchain-helpers/RouterStatic.sol +45 -37
  231. package/deployments/43113-core.json +11 -10
  232. package/deployments/43113-markets/benqi-market-QI-USDC-FEB-2ND.json +8 -0
  233. package/deployments/43113-markets/benqi-market-QI-WETH-DEC-1ST.json +8 -0
  234. package/deployments/43113-testenv.json +9 -9
  235. package/deployments/80001-core.json +10 -9
  236. package/deployments/80001-markets/benqi-market-QI-USDC-FEB-2ND.json +8 -0
  237. package/deployments/80001-markets/benqi-market-QI-WETH-DEC-1ST.json +8 -0
  238. package/deployments/80001-testenv.json +16 -16
  239. package/package.json +1 -1
  240. package/typechain-types/ActionAddRemoveLiq.ts +18 -6
  241. package/typechain-types/ActionMintRedeem.ts +9 -2
  242. package/typechain-types/ActionSwapPT.ts +18 -6
  243. package/typechain-types/ActionSwapPTYT.ts +6 -2
  244. package/typechain-types/ActionSwapYT.ts +18 -6
  245. package/typechain-types/Errors.ts +57 -0
  246. package/typechain-types/ICrvPool.ts +137 -22
  247. package/typechain-types/IPActionAddRemoveLiq.ts +19 -7
  248. package/typechain-types/IPActionMintRedeem.ts +9 -2
  249. package/typechain-types/IPActionSwapPT.ts +18 -6
  250. package/typechain-types/IPActionSwapPTYT.ts +6 -2
  251. package/typechain-types/IPActionSwapYT.ts +18 -6
  252. package/typechain-types/IPAllAction.ts +70 -23
  253. package/typechain-types/IPBatchSeller.ts +252 -0
  254. package/typechain-types/IPMarket.ts +13 -0
  255. package/typechain-types/IPVotingController.ts +244 -7
  256. package/typechain-types/IPVotingEscrowMainchain.ts +461 -0
  257. package/typechain-types/IRewards.ts +25 -10
  258. package/typechain-types/ISuperComposableYield.ts +7 -46
  259. package/typechain-types/MarketMathStatic.ts +139 -10
  260. package/typechain-types/Pendle3CrvAndTokenSCY.ts +1215 -0
  261. package/typechain-types/Pendle3CrvTokenSCY.ts +85 -185
  262. package/typechain-types/PendleBatchSeller.ts +626 -0
  263. package/typechain-types/PendleConvexCurveLP2PoolSCY.ts +185 -220
  264. package/typechain-types/PendleConvexCurveLPSCY.ts +159 -182
  265. package/typechain-types/PendleCvxCRVSCY.ts +0 -34
  266. package/typechain-types/PendleGaugeControllerSidechainUpg.ts +28 -149
  267. package/typechain-types/PendleMarket.ts +104 -0
  268. package/typechain-types/PendleMarketFactory.ts +76 -13
  269. package/typechain-types/PendlePrincipalToken.ts +104 -0
  270. package/typechain-types/PendleQiTokenSCY.ts +111 -46
  271. package/typechain-types/PendleVotingControllerUpg.ts +133 -77
  272. package/typechain-types/PendleWstEthSCY.ts +111 -46
  273. package/typechain-types/PendleYieldContractFactory.ts +84 -21
  274. package/typechain-types/PendleYieldToken.ts +175 -0
  275. package/typechain-types/PtAMMArb.ts +587 -0
  276. package/typechain-types/RouterStatic.ts +99 -75
  277. package/typechain-types/SCYBase.ts +111 -46
  278. package/typechain-types/SCYBaseWithRewards.ts +111 -46
  279. package/typechain-types/VotingControllerStorageUpg.ts +246 -27
  280. package/typechain-types/VotingEscrowPendleMainchain.ts +81 -93
  281. package/typechain-types/VotingEscrowPendleSidechain.ts +26 -171
  282. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +169 -1
  283. package/typechain-types/factories/ActionCallback__factory.ts +108 -1
  284. package/typechain-types/factories/ActionMintRedeem__factory.ts +59 -1
  285. package/typechain-types/factories/ActionMisc__factory.ts +6 -1
  286. package/typechain-types/factories/ActionSwapPTYT__factory.ts +107 -1
  287. package/typechain-types/factories/ActionSwapPT__factory.ts +196 -1
  288. package/typechain-types/factories/ActionSwapYT__factory.ts +143 -1
  289. package/typechain-types/factories/AggregationRouterHelper__factory.ts +1 -1
  290. package/typechain-types/factories/Errors__factory.ts +933 -0
  291. package/typechain-types/factories/ICrvPool__factory.ts +85 -12
  292. package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +31 -1
  293. package/typechain-types/factories/IPActionMintRedeem__factory.ts +5 -0
  294. package/typechain-types/factories/IPActionSwapPTYT__factory.ts +10 -0
  295. package/typechain-types/factories/IPActionSwapPT__factory.ts +30 -0
  296. package/typechain-types/factories/IPActionSwapYT__factory.ts +30 -0
  297. package/typechain-types/factories/IPAllAction__factory.ts +106 -1
  298. package/typechain-types/factories/IPBatchSeller__factory.ts +138 -0
  299. package/typechain-types/factories/IPMarket__factory.ts +13 -0
  300. package/typechain-types/factories/IPVotingController__factory.ts +148 -0
  301. package/typechain-types/factories/IPVotingEscrowMainchain__factory.ts +340 -0
  302. package/typechain-types/factories/IRewards__factory.ts +14 -1
  303. package/typechain-types/factories/ISuperComposableYield__factory.ts +4 -28
  304. package/typechain-types/factories/MarketMathStatic__factory.ts +181 -3
  305. package/typechain-types/factories/OracleLib__factory.ts +27 -1
  306. package/typechain-types/factories/Pendle3CrvAndTokenSCY__factory.ts +1130 -0
  307. package/typechain-types/factories/Pendle3CrvHelper__factory.ts +1 -1
  308. package/typechain-types/factories/Pendle3CrvTokenSCY__factory.ts +74 -128
  309. package/typechain-types/factories/PendleBatchSeller__factory.ts +558 -0
  310. package/typechain-types/factories/PendleConvexCurveLP2PoolSCY__factory.ts +207 -136
  311. package/typechain-types/factories/PendleConvexCurveLPSCY__factory.ts +170 -95
  312. package/typechain-types/factories/PendleCvxCRVSCY__factory.ts +1 -29
  313. package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
  314. package/typechain-types/factories/PendleFeeDistributorFactory__factory.ts +17 -1
  315. package/typechain-types/factories/PendleFeeDistributor__factory.ts +6 -1
  316. package/typechain-types/factories/PendleGaugeControllerBaseUpg__factory.ts +11 -0
  317. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +28 -1
  318. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +48 -86
  319. package/typechain-types/factories/PendleMarketFactory__factory.ts +129 -9
  320. package/typechain-types/factories/PendleMarket__factory.ts +214 -1
  321. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +17 -1
  322. package/typechain-types/factories/PendleMsgReceiverAppUpg__factory.ts +11 -0
  323. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +6 -1
  324. package/typechain-types/factories/PendlePrincipalToken__factory.ts +86 -1
  325. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  326. package/typechain-types/factories/PendleQiTokenSCY__factory.ts +198 -29
  327. package/typechain-types/factories/PendleRouter__factory.ts +12 -1
  328. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +235 -40
  329. package/typechain-types/factories/PendleWstEthSCY__factory.ts +137 -22
  330. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +103 -20
  331. package/typechain-types/factories/PendleYieldToken__factory.ts +163 -1
  332. package/typechain-types/factories/PtAMMArb__factory.ts +525 -0
  333. package/typechain-types/factories/RouterStatic__factory.ts +67 -20
  334. package/typechain-types/factories/SCYBaseWithRewards__factory.ts +136 -21
  335. package/typechain-types/factories/SCYBase__factory.ts +136 -21
  336. package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +232 -12
  337. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +171 -47
  338. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +31 -93
  339. package/typechain-types/hardhat.d.ts +99 -0
  340. package/typechain-types/index.ts +22 -0
  341. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.dbg.json +0 -4
  342. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.json +0 -810
  343. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/WadRayMath.sol/WadRayMath.dbg.json +0 -4
  344. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/WadRayMath.sol/WadRayMath.json +0 -10
  345. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiSAvaxSCY.sol/PendleQiSAvaxSCY.dbg.json +0 -4
  346. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiSAvaxSCY.sol/PendleQiSAvaxSCY.json +0 -833
  347. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol/PendleSAvaxSCY.dbg.json +0 -4
  348. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol/PendleSAvaxSCY.json +0 -723
  349. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol/PendleEulerSCY.dbg.json +0 -4
  350. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol/PendleEulerSCY.json +0 -728
  351. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.dbg.json +0 -4
  352. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.json +0 -705
  353. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.dbg.json +0 -4
  354. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.json +0 -864
  355. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultSCY.sol/PendleYearnVaultSCY.dbg.json +0 -4
  356. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultSCY.sol/PendleYearnVaultSCY.json +0 -718
  357. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol/PendleSJoeSCY.dbg.json +0 -4
  358. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol/PendleSJoeSCY.json +0 -784
  359. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol/CelerReceiverUpg.dbg.json +0 -4
  360. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.dbg.json +0 -4
  361. package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.dbg.json +0 -4
  362. package/build/artifacts/contracts/libraries/helpers/SSTORE2Deployer.sol/SSTORE2Deployer.dbg.json +0 -4
  363. package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.dbg.json +0 -4
  364. package/build/artifacts/contracts/offchain-helpers/SSTORE2DeployerContract.sol/SSTORE2DeployerContract.dbg.json +0 -4
  365. package/build/artifacts/contracts/offchain-helpers/SSTORE2DeployerContract.sol/SSTORE2DeployerContract.json +0 -134
  366. package/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol +0 -161
  367. package/contracts/SuperComposableYield/SCY-implementations/AaveV3/WadRayMath.sol +0 -126
  368. package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiSAvaxSCY.sol +0 -242
  369. package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol +0 -146
  370. package/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol +0 -176
  371. package/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol +0 -129
  372. package/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol +0 -193
  373. package/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultSCY.sol +0 -155
  374. package/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol +0 -182
  375. package/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol +0 -53
  376. package/contracts/libraries/helpers/SSTORE2Deployer.sol +0 -30
  377. package/contracts/libraries/solmate/SSTORE2.sol +0 -99
  378. package/contracts/offchain-helpers/SSTORE2DeployerContract.sol +0 -21
  379. package/deployments/43113-markets/benqi-market-10D931.json +0 -8
  380. package/deployments/43113-markets/benqi-market-9fbD64.json +0 -8
  381. package/deployments/43113-markets/benqi-market-A12361.json +0 -8
@@ -77,7 +77,7 @@ const _abi = [
77
77
  ];
78
78
 
79
79
  const _bytecode =
80
- "0x61013461003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610605b5760003560e01c80637535d24614606057806382bfefc814609657806389a302711460b0578063c54e44eb1460ca578063e0bab4c41460e4575b600080fd5b607a73bebc44782c7db0a1a60cb6fe97d0b483032ff1c781565b6040516001600160a01b03909116815260200160405180910390f35b607a736c3f90f043a72fa612cbac8115ee7e52bde6e49081565b607a73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881565b607a73dac17f958d2ee523a2206206994597c13d831ec781565b607a736b175474e89094c44da98b954eedeac495271d0f8156fea264697066735822122052a7cfd3c85266e485415620f0d57b416d36ebe46487bd7cfbcfaf5a46278f2f64736f6c634300080f0033";
80
+ "0x61013461003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610605b5760003560e01c80637535d24614606057806382bfefc814609657806389a302711460b0578063c54e44eb1460ca578063e0bab4c41460e4575b600080fd5b607a73bebc44782c7db0a1a60cb6fe97d0b483032ff1c781565b6040516001600160a01b03909116815260200160405180910390f35b607a736c3f90f043a72fa612cbac8115ee7e52bde6e49081565b607a73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881565b607a73dac17f958d2ee523a2206206994597c13d831ec781565b607a736b175474e89094c44da98b954eedeac495271d0f8156fea26469706673582212202825ebe48d94650bfe454638dbb27c0e58d79ecd0e576a2ce6aec769affa8f9664736f6c634300080f0033";
81
81
 
82
82
  type Pendle3CrvHelperConstructorParams =
83
83
  | [signer?: Signer]
@@ -40,7 +40,7 @@ const _abi = [
40
40
  },
41
41
  {
42
42
  internalType: "address",
43
- name: "_wrappedLpToken",
43
+ name: "_crvLpToken",
44
44
  type: "address",
45
45
  },
46
46
  {
@@ -53,11 +53,6 @@ const _abi = [
53
53
  name: "_baseCrvPool",
54
54
  type: "address",
55
55
  },
56
- {
57
- internalType: "address[]",
58
- name: "_currentExtraRewards",
59
- type: "address[]",
60
- },
61
56
  {
62
57
  internalType: "address[]",
63
58
  name: "_basePoolTokens",
@@ -216,71 +211,6 @@ const _abi = [
216
211
  name: "Transfer",
217
212
  type: "event",
218
213
  },
219
- {
220
- inputs: [],
221
- name: "BASEPOOL_TOKEN_1",
222
- outputs: [
223
- {
224
- internalType: "address",
225
- name: "",
226
- type: "address",
227
- },
228
- ],
229
- stateMutability: "view",
230
- type: "function",
231
- },
232
- {
233
- inputs: [],
234
- name: "BASEPOOL_TOKEN_2",
235
- outputs: [
236
- {
237
- internalType: "address",
238
- name: "",
239
- type: "address",
240
- },
241
- ],
242
- stateMutability: "view",
243
- type: "function",
244
- },
245
- {
246
- inputs: [],
247
- name: "BASE_CRV_POOL",
248
- outputs: [
249
- {
250
- internalType: "address",
251
- name: "",
252
- type: "address",
253
- },
254
- ],
255
- stateMutability: "view",
256
- type: "function",
257
- },
258
- {
259
- inputs: [],
260
- name: "BASE_REWARDS",
261
- outputs: [
262
- {
263
- internalType: "address",
264
- name: "",
265
- type: "address",
266
- },
267
- ],
268
- stateMutability: "view",
269
- type: "function",
270
- },
271
- {
272
- inputs: [],
273
- name: "BOOSTER",
274
- outputs: [
275
- {
276
- internalType: "address",
277
- name: "",
278
- type: "address",
279
- },
280
- ],
281
- stateMutability: "view",
282
- type: "function",
283
- },
284
214
  {
285
215
  inputs: [],
286
216
  name: "CRV",
@@ -294,19 +224,6 @@ const _abi = [
294
224
  stateMutability: "view",
295
225
  type: "function",
296
226
  },
297
- {
298
- inputs: [],
299
- name: "CRV_LP_TOKEN",
300
- outputs: [
301
- {
302
- internalType: "address",
303
- name: "",
304
- type: "address",
305
- },
306
- ],
307
- stateMutability: "view",
308
- type: "function",
309
- },
310
227
  {
311
228
  inputs: [],
312
229
  name: "CVX",
@@ -322,20 +239,7 @@ const _abi = [
322
239
  },
323
240
  {
324
241
  inputs: [],
325
- name: "PID",
326
- outputs: [
327
- {
328
- internalType: "uint256",
329
- name: "",
330
- type: "uint256",
331
- },
332
- ],
333
- stateMutability: "view",
334
- type: "function",
335
- },
336
- {
337
- inputs: [],
338
- name: "W_CRV_LP_TOKEN",
242
+ name: "LP",
339
243
  outputs: [
340
244
  {
341
245
  internalType: "address",
@@ -455,6 +359,32 @@ const _abi = [
455
359
  stateMutability: "view",
456
360
  type: "function",
457
361
  },
362
+ {
363
+ inputs: [],
364
+ name: "baseRewards",
365
+ outputs: [
366
+ {
367
+ internalType: "address",
368
+ name: "",
369
+ type: "address",
370
+ },
371
+ ],
372
+ stateMutability: "view",
373
+ type: "function",
374
+ },
375
+ {
376
+ inputs: [],
377
+ name: "booster",
378
+ outputs: [
379
+ {
380
+ internalType: "address",
381
+ name: "",
382
+ type: "address",
383
+ },
384
+ ],
385
+ stateMutability: "view",
386
+ type: "function",
387
+ },
458
388
  {
459
389
  inputs: [
460
390
  {
@@ -475,14 +405,8 @@ const _abi = [
475
405
  type: "function",
476
406
  },
477
407
  {
478
- inputs: [
479
- {
480
- internalType: "uint256",
481
- name: "",
482
- type: "uint256",
483
- },
484
- ],
485
- name: "currentExtraRewards",
408
+ inputs: [],
409
+ name: "crvPool",
486
410
  outputs: [
487
411
  {
488
412
  internalType: "address",
@@ -553,19 +477,6 @@ const _abi = [
553
477
  stateMutability: "view",
554
478
  type: "function",
555
479
  },
556
- {
557
- inputs: [],
558
- name: "getBaseTokenPoolLength",
559
- outputs: [
560
- {
561
- internalType: "uint256",
562
- name: "length",
563
- type: "uint256",
564
- },
565
- ],
566
- stateMutability: "pure",
567
- type: "function",
568
- },
569
480
  {
570
481
  inputs: [],
571
482
  name: "getRewardTokens",
@@ -669,6 +580,19 @@ const _abi = [
669
580
  stateMutability: "view",
670
581
  type: "function",
671
582
  },
583
+ {
584
+ inputs: [],
585
+ name: "pid",
586
+ outputs: [
587
+ {
588
+ internalType: "uint256",
589
+ name: "",
590
+ type: "uint256",
591
+ },
592
+ ],
593
+ stateMutability: "view",
594
+ type: "function",
595
+ },
672
596
  {
673
597
  inputs: [
674
598
  {
@@ -843,6 +767,32 @@ const _abi = [
843
767
  stateMutability: "view",
844
768
  type: "function",
845
769
  },
770
+ {
771
+ inputs: [],
772
+ name: "token1",
773
+ outputs: [
774
+ {
775
+ internalType: "address",
776
+ name: "",
777
+ type: "address",
778
+ },
779
+ ],
780
+ stateMutability: "view",
781
+ type: "function",
782
+ },
783
+ {
784
+ inputs: [],
785
+ name: "token2",
786
+ outputs: [
787
+ {
788
+ internalType: "address",
789
+ name: "",
790
+ type: "address",
791
+ },
792
+ ],
793
+ stateMutability: "view",
794
+ type: "function",
795
+ },
846
796
  {
847
797
  inputs: [],
848
798
  name: "totalSupply",
@@ -958,7 +908,7 @@ const _abi = [
958
908
  ];
959
909
 
960
910
  const _bytecode =
961
- "0x6102006040523480156200001257600080fd5b5060405162004e3b38038062004e3b8339810160408190526200003591620009f6565b8888888888888888888888888888888888878785838383838282828282826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000091573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000b7919062000b04565b6003620000c5848262000bbf565b506004620000d4838262000bbf565b5060ff166080525050600280546001600160f81b0316600160f81b1790556001600160a01b031660a05250600093505050505b8151811015620001825781818151811062000126576200012662000c8b565b60200260200101516008828154811062000144576200014462000c8b565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905580620001798162000ca1565b91505062000107565b5050506001600160a01b0385169150620001bb90505760405162461bcd60e51b8152600401620001b29062000cc9565b60405180910390fd5b6001600160a01b038216620001e45760405162461bcd60e51b8152600401620001b29062000cc9565b60c08690526001600160a01b03808416610160528481166101a05282811661012052851660e052620002168662000482565b6001600160a01b0390811661014052908116610100521661018081905260e0516200024591906000196200061b565b6200025f6101a05160e0516000196200061b60201b60201c565b50505050505050508051600214620002ba5760405162461bcd60e51b815260206004820152601e60248201527f62617365506f6f6c546f6b656e73206c656e677468206d69736d6174636800006044820152606401620001b2565b80600081518110620002d057620002d062000c8b565b60200260200101516001600160a01b03166101c0816001600160a01b0316815250508060018151811062000308576200030862000c8b565b60209081029190910101516001600160a01b03166101e0526101c051610120516200033791906000196200061b565b620003526101e051610120516000196200061b60201b60201c565b50505050505050505062000389736c3f90f043a72fa612cbac8115ee7e52bde6e490826200072f60201b620015271790919060201c565b620003d75760405162461bcd60e51b815260206004820152601b60248201527f3343727620506f6f6c2061646472657373206e6f7420666f756e6400000000006044820152606401620001b2565b6200040b736b175474e89094c44da98b954eedeac495271d0f73bebc44782c7db0a1a60cb6fe97d0b483032ff1c762000797565b6200043f73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4873bebc44782c7db0a1a60cb6fe97d0b483032ff1c762000797565b6200047373dac17f958d2ee523a2206206994597c13d831ec773bebc44782c7db0a1a60cb6fe97d0b483032ff1c762000797565b50505050505050505062000e2a565b600080600060e0516001600160a01b031663081e3eda6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004ee919062000cef565b8411156200052d5760405162461bcd60e51b815260206004820152600b60248201526a1a5b9d985b1a59081c1a5960aa1b6044820152606401620001b2565b60e051604051631526fe2760e01b8152600481018690526001600160a01b0390911690631526fe279060240160c060405180830381865afa15801562000577573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200059d919062000d1a565b505060e05160408051636a4874a160e01b815290519598509196506001600160a01b031693636a4874a19350600480830193506020928290030181865afa158015620005ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000613919062000d9b565b929491935050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b179052915160009283929087169162000679919062000db9565b6000604051808303816000865af19150503d8060008114620006b8576040519150601f19603f3d011682016040523d82523d6000602084013e620006bd565b606091505b5091509150818015620006eb575080511580620006eb575080806020019051810190620006eb919062000dd7565b620007285760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b6044820152606401620001b2565b5050505050565b8151600090815b818110156200078a57836001600160a01b03168582815181106200075e576200075e62000c8b565b60200260200101516001600160a01b031603620007815760019250505062000791565b60010162000736565b5060009150505b92915050565b6001600160a01b038216620007aa575050565b620007be60026001600160601b0362000df5565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa15801562000818573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200083e919062000cef565b101562000854576200085482826000196200061b565b5050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562000899576200089962000858565b604052919050565b60005b83811015620008be578181015183820152602001620008a4565b83811115620008ce576000848401525b50505050565b600082601f830112620008e657600080fd5b81516001600160401b0381111562000902576200090262000858565b62000917601f8201601f19166020016200086e565b8181528460208386010111156200092d57600080fd5b62000940826020830160208701620008a1565b949350505050565b80516001600160a01b03811681146200096057600080fd5b919050565b600082601f8301126200097757600080fd5b815160206001600160401b0382111562000995576200099562000858565b8160051b620009a68282016200086e565b9283528481018201928281019087851115620009c157600080fd5b83870192505b84831015620009eb57620009db8362000948565b82529183019190830190620009c7565b979650505050505050565b60008060008060008060008060006101208a8c03121562000a1657600080fd5b89516001600160401b038082111562000a2e57600080fd5b62000a3c8d838e01620008d4565b9a5060208c015191508082111562000a5357600080fd5b62000a618d838e01620008d4565b995060408c0151985062000a7860608d0162000948565b975062000a8860808d0162000948565b965062000a9860a08d0162000948565b955062000aa860c08d0162000948565b945060e08c015191508082111562000abf57600080fd5b62000acd8d838e0162000965565b93506101008c015191508082111562000ae557600080fd5b5062000af48c828d0162000965565b9150509295985092959850929598565b60006020828403121562000b1757600080fd5b815160ff8116811462000b2957600080fd5b9392505050565b600181811c9082168062000b4557607f821691505b60208210810362000b6657634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000bba57600081815260208120601f850160051c8101602086101562000b955750805b601f850160051c820191505b8181101562000bb65782815560010162000ba1565b5050505b505050565b81516001600160401b0381111562000bdb5762000bdb62000858565b62000bf38162000bec845462000b30565b8462000b6c565b602080601f83116001811462000c2b576000841562000c125750858301515b600019600386901b1c1916600185901b17855562000bb6565b600085815260208120601f198616915b8281101562000c5c5788860151825594840194600190910190840162000c3b565b508582101562000c7b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b60006001820162000cc257634e487b7160e01b600052601160045260246000fd5b5060010190565b6020808252600c908201526b7a65726f206164647265737360a01b604082015260600190565b60006020828403121562000d0257600080fd5b5051919050565b805180151581146200096057600080fd5b60008060008060008060c0878903121562000d3457600080fd5b62000d3f8762000948565b955062000d4f6020880162000948565b945062000d5f6040880162000948565b935062000d6f6060880162000948565b925062000d7f6080880162000948565b915062000d8f60a0880162000d09565b90509295509295509295565b60006020828403121562000dae57600080fd5b62000b298262000948565b6000825162000dcd818460208701620008a1565b9190910192915050565b60006020828403121562000dea57600080fd5b62000b298262000d09565b60006001600160601b038381168062000e1e57634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051613e9862000fa360003960008181610245015281816109cd01528181610fd901526135d20152600081816106e30152818161097901528181610f9d015281816131c601526135970152600081816103b30152818161092501528181610f610152818161258601528181612a2901528181612b090152612f8501526000818161068f015281816108d101528181610f26015281816110e5015281816111060152818161264701528181612a640152612b44015260006104bc015260006105780152600081816105c101528181610e820152818161276101528181612aa601528181612b8701526130b3015260008181610306015281816125d401528181612d2f01528181612fd9015261302d0152600081816104f00152818161269501526127f8015260008181610468015281816126c20152612825015260006105240152600061036d0152613e986000f3fe6080604052600436106101da5760003560e01c806306fdde03146101e6578063071bc3c91461021157806308bd7a1c14610233578063095ea7b314610274578063128fced1146102a457806318160ddd146102d15780631d73b7ea146102f457806320e8c56514610328578063213cae631461021157806323b872dd1461033b578063313ce5671461035b5780633a9dc7df146103a15780633ba0b9a9146103d55780635cbadbe4146103ea5780635eaec0e41461045657806370a082311461048a578063759cb53b146104aa57806375b0ffd1146104de57806376d5de8514610512578063784367d614610546578063945c91421461056657806395d89b411461059a578063a2004087146105af578063a23c982a146105e3578063a2bbcf1314610603578063a40bee5014610623578063a9059cbb14610647578063a9f8d18114610667578063b3b1cd341461067d578063b8f82b26146106b1578063bfa73160146106d1578063c1809d6014610705578063c4f59f9b14610719578063cbe52ae31461072e578063da88ecb41461074e578063dd62ed3e14610763578063ea64a82014610783578063ef5cfb8c146107c4578063f3f094a1146107e4578063f8b2f99114610804578063fa5a4f061461054657600080fd5b366101e157005b600080fd5b3480156101f257600080fd5b506101fb610819565b604051610208919061380a565b60405180910390f35b34801561021d57600080fd5b506102266108ab565b6040516102089190613881565b34801561023f57600080fd5b506102677f000000000000000000000000000000000000000000000000000000000000000081565b6040516102089190613894565b34801561028057600080fd5b5061029461028f3660046138bf565b610afa565b6040519015158152602001610208565b3480156102b057600080fd5b506102c46102bf3660046138e9565b610b14565b6040516102089190613934565b3480156102dd57600080fd5b506102e6610c20565b604051908152602001610208565b34801561030057600080fd5b506102677f000000000000000000000000000000000000000000000000000000000000000081565b6102e6610336366004613947565b610c2f565b34801561034757600080fd5b50610294610356366004613989565b610e00565b34801561036757600080fd5b5061038f7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610208565b3480156103ad57600080fd5b506102677f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e157600080fd5b506102e6610e7e565b3480156103f657600080fd5b506104366104053660046139c5565b60056020908152600092835260408084209091529082529020546001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610208565b34801561046257600080fd5b506102e67f000000000000000000000000000000000000000000000000000000000000000081565b34801561049657600080fd5b506102e66104a53660046138e9565b610f07565b3480156104b657600080fd5b506102677f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ea57600080fd5b506102677f000000000000000000000000000000000000000000000000000000000000000081565b34801561051e57600080fd5b506102677f000000000000000000000000000000000000000000000000000000000000000081565b34801561055257600080fd5b506102946105613660046138e9565b610f22565b34801561057257600080fd5b506102677f000000000000000000000000000000000000000000000000000000000000000081565b3480156105a657600080fd5b506101fb61101c565b3480156105bb57600080fd5b506102677f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ef57600080fd5b506102676105fe3660046139f8565b61102b565b34801561060f57600080fd5b506102e661061e366004613989565b611055565b34801561062f57600080fd5b506106386110dc565b60405161020893929190613a11565b34801561065357600080fd5b506102946106623660046138bf565b611191565b34801561067357600080fd5b506102e660065481565b34801561068957600080fd5b506102677f000000000000000000000000000000000000000000000000000000000000000081565b3480156106bd57600080fd5b506102e66106cc3660046138bf565b611203565b3480156106dd57600080fd5b506102677f000000000000000000000000000000000000000000000000000000000000000081565b34801561071157600080fd5b5060026102e6565b34801561072557600080fd5b5061022661123b565b34801561073a57600080fd5b506102e66107493660046138bf565b611245565b34801561075a57600080fd5b506102c461129e565b34801561076f57600080fd5b506102e661077e3660046139c5565b61136f565b34801561078f57600080fd5b5061043661079e3660046138e9565b6007602052600090815260409020546001600160801b0380821691600160801b90041682565b3480156107d057600080fd5b506102c46107df3660046138e9565b61139a565b3480156107f057600080fd5b506102e66107ff366004613a53565b611459565b34801561081057600080fd5b506102c46114b5565b60606003805461082890613a97565b80601f016020809104026020016040519081016040528092919081815260200182805461085490613a97565b80156108a15780601f10610876576101008083540402835291602001916108a1565b820191906000526020600020905b81548152906001019060200180831161088457829003601f168201915b5050505050905090565b60408051600780825261010082019092526060916020820160e0803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061090357610903613ae1565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061095757610957613ae1565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000000000000000000000000000000000000000000000816002815181106109ab576109ab613ae1565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000000000000000000000000000000000000000000000816003815181106109ff576109ff613ae1565b60200260200101906001600160a01b031690816001600160a01b031681525050736b175474e89094c44da98b954eedeac495271d0f81600481518110610a4757610a47613ae1565b60200260200101906001600160a01b031690816001600160a01b03168152505073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881600581518110610a8f57610a8f613ae1565b60200260200101906001600160a01b031690816001600160a01b03168152505073dac17f958d2ee523a2206206994597c13d831ec781600681518110610ad757610ad7613ae1565b60200260200101906001600160a01b031690816001600160a01b03168152505090565b600033610b08818585611586565b60019150505b92915050565b60606000610b206116aa565b905080516001600160401b03811115610b3b57610b3b613acb565b604051908082528060200260200182016040528015610b64578160200160208202803683370190505b50915060005b8151811015610c195760056000838381518110610b8957610b89613ae1565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000856001600160a01b03166001600160a01b0316815260200190815260200160002060000160109054906101000a90046001600160801b03166001600160801b0316838281518110610c0657610c06613ae1565b6020908102919091010152600101610b6a565b5050919050565b6002546001600160f81b031690565b600254600090600119600160f81b90910460ff1601610c695760405162461bcd60e51b8152600401610c6090613af7565b60405180910390fd5b600280546001600160f81b0316600160f91b179055610c8784610f22565b610ca35760405162461bcd60e51b8152600401610c6090613b2e565b82600003610d015760405162461bcd60e51b815260206004820152602560248201527f5343593a20616d6f756e74546f6b656e546f4465706f7369742063616e6e6f74604482015264020626520360dc1b6064820152608401610c60565b6001600160a01b038416610d5757823414610d525760405162461bcd60e51b81526020600482015260116024820152700a686b27440cae8d040dad2e6dac2e8c6d607b1b6044820152606401610c60565b610d62565b610d6284338561170b565b610d6c8484611777565b905081811015610d8e5760405162461bcd60e51b8152600401610c6090613b5c565b610d9885826117cc565b60408051848152602081018390526001600160a01b03808716929088169133917f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d59910160405180910390a4600280546001600160f81b0316600160f81b179055949350505050565b600254600090600119600160f81b90910460ff1601610e315760405162461bcd60e51b8152600401610c6090613af7565b600280546001600160f81b0316600160f91b17905533610e528582856118e2565b610e5d85858561195c565b6001915050600280546001600160f81b0316600160f81b1790559392505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bb7b8b806040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ede573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f029190613b8b565b905090565b6001600160a01b031660009081526020819052604090205490565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161480610f9557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b80610fd157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b8061100d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b80610b0e5750610b0e82611b7e565b60606004805461082890613a97565b6008818154811061103b57600080fd5b6000918252602090912001546001600160a01b0316905081565b600254600090600119600160f81b90910460ff16016110865760405162461bcd60e51b8152600401610c6090613af7565b600280546001600160f81b0316600160f91b17905560006110a630610f07565b90506110b23082611bf3565b6110be85828686611d79565b600280546001600160f81b0316600160f81b17905595945050505050565b600080600060017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611162573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111869190613ba4565b925092509250909192565b600254600090600119600160f81b90910460ff16016111c25760405162461bcd60e51b8152600401610c6090613af7565b600280546001600160f81b0316600160f91b179055336111e381858561195c565b6001915050600280546001600160f81b0316600160f81b17905592915050565b600061120e83610f22565b61122a5760405162461bcd60e51b8152600401610c6090613b2e565b6112348383611eb0565b9392505050565b6060610f026116aa565b600061125083610f22565b6112945760405162461bcd60e51b815260206004820152601560248201527414d0d64e88125b9d985b1a59081d1bdad95b93dd5d605a1b6044820152606401610c60565b6112348383611ef6565b606060006112aa6116aa565b905080516001600160401b038111156112c5576112c5613acb565b6040519080825280602002602001820160405280156112ee578160200160208202803683370190505b50915060005b815181101561136a576007600083838151811061131357611313613ae1565b6020908102919091018101516001600160a01b031682528101919091526040016000205483516001600160801b039091169084908390811061135757611357613ae1565b60209081029190910101526001016112f4565b505090565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600254606090600119600160f81b90910460ff16016113cb5760405162461bcd60e51b8152600401610c6090613af7565b600280546001600160f81b0316600160f91b1790556113e982611f3c565b6113f38283611f4a565b9050816001600160a01b03167f2193aa20a3717f5f4ac79482f4f553e5f0afe8f4e6ec3e3d1aa2e138adc4763f6114286116aa565b83604051611437929190613bc7565b60405180910390a2600280546001600160f81b0316600160f81b179055919050565b600254600090600119600160f81b90910460ff160161148a5760405162461bcd60e51b8152600401610c6090613af7565b600280546001600160f81b0316600160f91b1790556114a93385611bf3565b6110be85858585611d79565b600254606090600119600160f81b90910460ff16016114e65760405162461bcd60e51b8152600401610c6090613af7565b600280546001600160f81b0316600160f91b1790556115036121f2565b505061150d61129e565b9050600280546001600160f81b0316600160f81b17905590565b8151600090815b8181101561157b57836001600160a01b031685828151811061155257611552613ae1565b60200260200101516001600160a01b03160361157357600192505050610b0e565b60010161152e565b506000949350505050565b6001600160a01b0383166115e85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c60565b6001600160a01b0382166116495760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c60565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b606060088054806020026020016040519081016040528092919081815260200182805480156108a157602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116116e4575050505050905090565b6001600160a01b03831661175c578034146117575760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b6044820152606401610c60565b505050565b8015611757576117576001600160a01b03841683308461248d565b600061178283611b7e565b156117bb57600061179384846124f8565b90506117b3736c3f90f043a72fa612cbac8115ee7e52bde6e49082612582565b915050610b0e565b6117c58383612582565b9050610b0e565b6001600160a01b0382166118225760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610c60565b61182e60008383612895565b6118378161289f565b600280546000906118529084906001600160f81b0316613c0b565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555080600080846001600160a01b03166001600160a01b0316815260200190815260200160002060008282546118aa9190613c36565b90915550506040518181526001600160a01b03831690600090600080516020613e438339815191529060200160405180910390a35050565b60006118ee848461136f565b9050600019811461195657818110156119495760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610c60565b6119568484848403611586565b50505050565b6001600160a01b0383166119c05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610c60565b6001600160a01b038216611a225760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610c60565b816001600160a01b0316836001600160a01b031603611a7d5760405162461bcd60e51b815260206004820152601760248201527622a92199181d103a3930b739b332b9103a379039b2b63360491b6044820152606401610c60565b611a88838383612895565b6001600160a01b03831660009081526020819052604090205481811015611b005760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610c60565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611b37908490613c36565b92505081905550826001600160a01b0316846001600160a01b0316600080516020613e4383398151915284604051611b7191815260200190565b60405180910390a3611956565b60006001600160a01b038216736b175474e89094c44da98b954eedeac495271d0f1480611bc757506001600160a01b03821673a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48145b80610b0e57506001600160a01b03821673dac17f958d2ee523a2206206994597c13d831ec71492915050565b6001600160a01b038216611c535760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610c60565b611c5f82600083612895565b6001600160a01b03821660009081526020819052604090205481811015611cd35760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610c60565b6001600160a01b03831660009081526020819052604090208282039055611cf98261289f565b60028054600090611d149084906001600160f81b0316613c4e565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555060006001600160a01b0316836001600160a01b0316600080516020613e4383398151915284604051611d6c91815260200190565b60405180910390a3505050565b6000611d8483610f22565b611dc85760405162461bcd60e51b815260206004820152601560248201527414d0d64e881a5b9d985b1a59081d1bdad95b93dd5d605a1b6044820152606401610c60565b83600003611e265760405162461bcd60e51b815260206004820152602560248201527f5343593a20616d6f756e74536861726573546f52656465656d2063616e6e6f74604482015264020626520360dc1b6064820152608401610c60565b611e3083856128b9565b905081811015611e525760405162461bcd60e51b8152600401610c6090613b5c565b611e5d8386836128ff565b60408051858152602081018390526001600160a01b03808616929088169133917faee47cdf925cf525fdae94f9777ee5a06cac37e1c41220d0a8a89ed154f62d1c910160405180910390a4949350505050565b6000611ebb83611b7e565b15611eec576000611ecc84846129c3565b90506117b3736c3f90f043a72fa612cbac8115ee7e52bde6e49082612a25565b6117c58383612a25565b6000611f0183611b7e565b15611f32576000611f26736c3f90f043a72fa612cbac8115ee7e52bde6e49084612add565b90506117b38482612c38565b6117c58383612add565b611f47816000612c8d565b50565b60606000611f566116aa565b905080516001600160401b03811115611f7157611f71613acb565b604051908082528060200260200182016040528015611f9a578160200160208202803683370190505b50915060005b81518110156121ea5760056000838381518110611fbf57611fbf613ae1565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000866001600160a01b03166001600160a01b0316815260200190815260200160002060000160109054906101000a90046001600160801b03166001600160801b031683828151811061203c5761203c613ae1565b60200260200101818152505082818151811061205a5761205a613ae1565b60200260200101516000146121d85760006005600084848151811061208157612081613ae1565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000876001600160a01b03166001600160a01b0316815260200190815260200160002060000160106101000a8154816001600160801b0302191690836001600160801b0316021790555061211583828151811061210857612108613ae1565b6020026020010151612d0d565b6007600084848151811061212b5761212b613ae1565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060000160108282829054906101000a90046001600160801b03166121779190613c76565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506121d88282815181106121b0576121b0613ae1565b6020026020010151858584815181106121cb576121cb613ae1565b60200260200101516128ff565b806121e281613c96565b915050611fa0565b505092915050565b6060806121fd6116aa565b915081516001600160401b0381111561221857612218613acb565b604051908082528060200260200182016040528015612241578160200160208202803683370190505b5090508151600003612251579091565b436006541461240557436006556000612268612d23565b9050612272612d2d565b60005b835181101561240257600084828151811061229257612292613ae1565b6020908102919091018101516001600160a01b0381166000908152600790925260408220548751919350600160801b90046001600160801b0316906122f0908890869081106122e3576122e3613ae1565b6020026020010151612d9c565b6122fa9190613caf565b6001600160a01b0383166000908152600760205260408120549192506001600160801b039091169081900361232d575060015b841561234a5761233d8286612e26565b6123479082613c36565b90505b61235381612d0d565b6001600160a01b038416600090815260076020526040902080546001600160801b0319166001600160801b039290921691909117905561239282612d0d565b6001600160a01b038416600090815260076020526040902080546010906123ca908490600160801b90046001600160801b0316613cc6565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050806123fb90613c96565b9050612275565b50505b60005b8251811015612488576007600084838151811061242757612427613ae1565b6020908102919091018101516001600160a01b031682528101919091526040016000205482516001600160801b039091169083908390811061246b5761246b613ae1565b60209081029190910101528061248081613c96565b915050612408565b509091565b6040516001600160a01b03808516602483015283166044820152606481018290526119569085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612e55565b600073bebc44782c7db0a1a60cb6fe97d0b483032ff1c763a7256d0961251e8585612f27565b6000306040518463ffffffff1660e01b815260040161253f93929190613ce8565b6020604051808303816000875af115801561255e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112349190613b8b565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603612645576040516305dc812160e31b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632ee409089061260b9030908690600401613d1b565b600060405180830381600087803b15801561262557600080fd5b505af1158015612639573d6000803e3d6000fd5b50505050819050610b0e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03160361273b576040516321d0683360e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906343a0d066906126ef907f0000000000000000000000000000000000000000000000000000000000000000908690600190600401613d34565b6020604051808303816000875af115801561270e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127329190613d4c565b50819050610b0e565b60006127478484612f56565b60405163a7256d0960e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a7256d099061279b9084906000903090600401613ce8565b6020604051808303816000875af11580156127ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127de9190613b8b565b6040516321d0683360e11b81529092506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906343a0d06690612852907f0000000000000000000000000000000000000000000000000000000000000000908690600190600401613d34565b6020604051808303816000875af1158015612871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121ea9190613d4c565b6117578383612c8d565b60006001600160f81b038211156128b557600080fd5b5090565b60006128c483611b7e565b156128f55760006128e9736c3f90f043a72fa612cbac8115ee7e52bde6e49084612f81565b90506117b38482613158565b6117c58383612f81565b8060000361290c57505050565b6001600160a01b0383166129af576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612967576040519150601f19603f3d011682016040523d82523d6000602084013e61296c565b606091505b50509050806119565760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b6044820152606401610c60565b6117576001600160a01b03841683836131a3565b600073bebc44782c7db0a1a60cb6fe97d0b483032ff1c7633db06dd86129e98585612f27565b60016040518363ffffffff1660e01b8152600401612a08929190613d6e565b602060405180830381865afa15801561255e573d6000803e3d6000fd5b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161480612a9857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316145b15612aa4575080610b0e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633db06dd86129e98585612f56565b600080670de0b6b3a7640000612af1610e7e565b612afb9085613d92565b612b059190613dc7565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b03161480612b7857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316145b15612b8557809150612c31565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cc2b27d782612bc6612bc1886131c2565b61320e565b6040516001600160e01b031960e085901b1681526004810192909252600f0b6024820152604401602060405180830381865afa158015612c0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c2e9190613b8b565b91505b5092915050565b600073bebc44782c7db0a1a60cb6fe97d0b483032ff1c763cc2b27d783612c61612bc187613221565b6040516001600160e01b031960e085901b1681526004810192909252600f0b6024820152604401612a08565b600080612c986121f2565b915091508151600003612cab5750505050565b6001600160a01b03841615801590612ccc57506001600160a01b0384163014155b15612cdc57612cdc8483836132fc565b6001600160a01b03831615801590612cfd57506001600160a01b0383163014155b15611956576119568383836132fc565b60006001600160801b038211156128b557600080fd5b6000610f02610c20565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633d18b9126040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612d8857600080fd5b505af1158015611956573d6000803e3d6000fd5b60006001600160a01b03821615612e1f576040516370a0823160e01b81526001600160a01b038316906370a0823190612dd9903090600401613894565b602060405180830381865afa158015612df6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e1a9190613b8b565b610b0e565b4792915050565b600080612e3b670de0b6b3a764000085613d92565b9050828181612e4c57612e4c613db1565b04949350505050565b6000612eaa826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661357c9092919063ffffffff16565b8051909150156117575780806020019051810190612ec89190613d4c565b6117575760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610c60565b60608181612f3485613221565b81518110612f4457612f44613ae1565b60200260200101818152505092915050565b60408051600280825260608083018452926020830190803683370190505090508181612f34856131c2565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03160361301057604051631c683a1b60e11b815260048101839052600060248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906338d07436906044016126ef565b604051636197390160e11b815260048101839052600060248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c32e7202906044016020604051808303816000875af115801561307e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130a29190613d4c565b506130ac83613593565b15613152577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663081579a5836130ed612bc1876131c2565b6000306040518563ffffffff1660e01b815260040161310f9493929190613de9565b6020604051808303816000875af115801561312e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c59190613b8b565b50919050565b600073bebc44782c7db0a1a60cb6fe97d0b483032ff1c763081579a583613181612bc187613221565b6000306040518563ffffffff1660e01b815260040161253f9493929190613de9565b6117578363a9059cbb60e01b84846040516024016124c1929190613d1b565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03160361320557506000919050565b5060015b919050565b6000610b0e61321c8361360b565b613621565b6000736b175474e89094c44da98b954eedeac495271d0e196001600160a01b0383160161325057506000919050565b73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb47196001600160a01b0383160161327d57506001919050565b73dac17f958d2ee523a2206206994597c13d831ec6196001600160a01b038316016132aa57506002919050565b60405162461bcd60e51b815260206004820152602160248201527f50656e646c653343727648656c7065723a206e6f742076616c696420746f6b656044820152603760f91b6064820152608401610c60565b6001600160a01b0383161580159061331d57506001600160a01b0383163014155b61332957613329613e10565b60006133348461364b565b905060005b835181101561357557600084828151811061335657613356613ae1565b60200260200101519050600084838151811061337457613374613ae1565b6020908102919091018101516001600160a01b038085166000908152600584526040808220928c168252919093528220549092506001600160801b031690819003613410576133c282612d0d565b6001600160a01b039384166000908152600560209081526040808320968c1683529590529390932080546001600160801b0319166001600160801b0390941693909317909255506135659050565b81810361341f57505050613565565b600061342b8284613caf565b905060006134398783613656565b6001600160a01b038681166000908152600560209081526040808320938f1683529290529081205491925090613480908390600160801b90046001600160801b0316613c36565b9050604051806040016040528061349687612d0d565b6001600160801b031681526020016134ad83612d0d565b6001600160801b031681525060056000886001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816001600160801b0302191690836001600160801b031602179055509050505050505050505b61356e81613c96565b9050613339565b5050505050565b606061358b8484600085613674565b949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161480610b0e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161492915050565b60006001600160ff1b038211156128b557600080fd5b600060016001607f1b03198212801590613642575060016001607f1b038213155b6128b557600080fd5b6000610b0e82610f07565b6000806136638385613d92565b9050670de0b6b3a764000081612e4c565b6060824710156136d55760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610c60565b6001600160a01b0385163b61372c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610c60565b600080866001600160a01b031685876040516137489190613e26565b60006040518083038185875af1925050503d8060008114613785576040519150601f19603f3d011682016040523d82523d6000602084013e61378a565b606091505b509150915061379a8282866137a5565b979650505050505050565b606083156137b4575081611234565b8251156137c45782518084602001fd5b8160405162461bcd60e51b8152600401610c60919061380a565b60005b838110156137f95781810151838201526020016137e1565b838111156119565750506000910152565b60208152600082518060208401526138298160408501602087016137de565b601f01601f19169190910160400192915050565b600081518084526020808501945080840160005b838110156138765781516001600160a01b031687529582019590820190600101613851565b509495945050505050565b602081526000611234602083018461383d565b6001600160a01b0391909116815260200190565b80356001600160a01b038116811461320957600080fd5b600080604083850312156138d257600080fd5b6138db836138a8565b946020939093013593505050565b6000602082840312156138fb57600080fd5b611234826138a8565b600081518084526020808501945080840160005b8381101561387657815187529582019590820190600101613918565b6020815260006112346020830184613904565b6000806000806080858703121561395d57600080fd5b613966856138a8565b9350613974602086016138a8565b93969395505050506040820135916060013590565b60008060006060848603121561399e57600080fd5b6139a7846138a8565b92506139b5602085016138a8565b9150604084013590509250925092565b600080604083850312156139d857600080fd5b6139e1836138a8565b91506139ef602084016138a8565b90509250929050565b600060208284031215613a0a57600080fd5b5035919050565b6060810160028510613a3357634e487b7160e01b600052602160045260246000fd5b9381526001600160a01b0392909216602083015260ff1660409091015290565b60008060008060808587031215613a6957600080fd5b613a72856138a8565b935060208501359250613a87604086016138a8565b9396929550929360600135925050565b600181811c90821680613aab57607f821691505b60208210810361315257634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526014908201527329a1ac9d1024b73b30b634b2103a37b5b2b724b760611b604082015260600190565b60208082526015908201527414d0d64e881a5b9cdd59999a58da595b9d081bdd5d605a1b604082015260600190565b600060208284031215613b9d57600080fd5b5051919050565b600060208284031215613bb657600080fd5b815160ff8116811461123457600080fd5b604081526000613bda604083018561383d565b8281036020840152613bec8185613904565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b60006001600160f81b03828116848216808303821115613c2d57613c2d613bf5565b01949350505050565b60008219821115613c4957613c49613bf5565b500190565b60006001600160f81b0383811690831681811015613c6e57613c6e613bf5565b039392505050565b60006001600160801b0383811690831681811015613c6e57613c6e613bf5565b600060018201613ca857613ca8613bf5565b5060010190565b600082821015613cc157613cc1613bf5565b500390565b60006001600160801b03828116848216808303821115613c2d57613c2d613bf5565b606081526000613cfb6060830186613904565b6020830194909452506001600160a01b0391909116604090910152919050565b6001600160a01b03929092168252602082015260400190565b92835260208301919091521515604082015260600190565b600060208284031215613d5e57600080fd5b8151801515811461123457600080fd5b604081526000613d816040830185613904565b905082151560208301529392505050565b6000816000190483118215151615613dac57613dac613bf5565b500290565b634e487b7160e01b600052601260045260246000fd5b600082613de457634e487b7160e01b600052601260045260246000fd5b500490565b938452600f9290920b602084015260408301526001600160a01b0316606082015260800190565b634e487b7160e01b600052600160045260246000fd5b60008251613e388184602087016137de565b919091019291505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122084c5d1b530725f4426c9741769c6f8a8cce9e150c8a0a12d4408e7ece445e0eb64736f6c634300080f0033";
911
+ "0x6101e06040523480156200001257600080fd5b5060405162004d9b38038062004d9b83398101604081905262000035916200099e565b8787878787878787878787878787878686848282828282826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200008b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000b1919062000a84565b6003620000bf848262000b3f565b506004620000ce838262000b3f565b5060ff166080525050600280546001600160f81b0316600160f81b1790556001600160a01b0390811660a052871694506200012b93505050505760405162461bcd60e51b8152600401620001229062000c0b565b60405180910390fd5b6001600160a01b038116620001545760405162461bcd60e51b8152600401620001229062000c0b565b60c08590526001600160a01b038083166101605281811661012052841660e0526200017f856200042a565b6001600160a01b03908116610140529081166101005290811661018081905290841614620001f05760405162461bcd60e51b815260206004820152601a60248201527f70696420616e64206c70546f6b656e206d69736d617463686564000000000000604482015260640162000122565b6200020a6101805160e051600019620005c360201b60201c565b505050505050508051600214620002645760405162461bcd60e51b815260206004820152601e60248201527f62617365506f6f6c546f6b656e73206c656e677468206d69736d617463680000604482015260640162000122565b806000815181106200027a576200027a62000c31565b60200260200101516001600160a01b03166101a0816001600160a01b03168152505080600181518110620002b257620002b262000c31565b60209081029190910101516001600160a01b03166101c0526101a05161012051620002e19190600019620005c3565b620002fc6101c05161012051600019620005c360201b60201c565b505050505050505062000332736c3f90f043a72fa612cbac8115ee7e52bde6e49082620006d760201b620013e31790919060201c565b620003805760405162461bcd60e51b815260206004820152601b60248201527f3343727620506f6f6c2061646472657373206e6f7420666f756e640000000000604482015260640162000122565b620003b4736b175474e89094c44da98b954eedeac495271d0f73bebc44782c7db0a1a60cb6fe97d0b483032ff1c76200073f565b620003e873a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4873bebc44782c7db0a1a60cb6fe97d0b483032ff1c76200073f565b6200041c73dac17f958d2ee523a2206206994597c13d831ec773bebc44782c7db0a1a60cb6fe97d0b483032ff1c76200073f565b505050505050505062000d82565b600080600060e0516001600160a01b031663081e3eda6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000470573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000496919062000c47565b841115620004d55760405162461bcd60e51b815260206004820152600b60248201526a1a5b9d985b1a59081c1a5960aa1b604482015260640162000122565b60e051604051631526fe2760e01b8152600481018690526001600160a01b0390911690631526fe279060240160c060405180830381865afa1580156200051f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000545919062000c72565b505060e05160408051636a4874a160e01b815290519598509196506001600160a01b031693636a4874a19350600480830193506020928290030181865afa15801562000595573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005bb919062000cf3565b929491935050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b179052915160009283929087169162000621919062000d11565b6000604051808303816000865af19150503d806000811462000660576040519150601f19603f3d011682016040523d82523d6000602084013e62000665565b606091505b5091509150818015620006935750805115806200069357508080602001905181019062000693919062000d2f565b620006d05760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b604482015260640162000122565b5050505050565b8151600090815b818110156200073257836001600160a01b031685828151811062000706576200070662000c31565b60200260200101516001600160a01b031603620007295760019250505062000739565b600101620006de565b5060009150505b92915050565b6001600160a01b03821662000752575050565b6200076660026001600160601b0362000d4d565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa158015620007c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007e6919062000c47565b1015620007fc57620007fc8282600019620005c3565b5050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562000841576200084162000800565b604052919050565b60005b83811015620008665781810151838201526020016200084c565b8381111562000876576000848401525b50505050565b600082601f8301126200088e57600080fd5b81516001600160401b03811115620008aa57620008aa62000800565b620008bf601f8201601f191660200162000816565b818152846020838601011115620008d557600080fd5b620008e882602083016020870162000849565b949350505050565b80516001600160a01b03811681146200090857600080fd5b919050565b600082601f8301126200091f57600080fd5b815160206001600160401b038211156200093d576200093d62000800565b8160051b6200094e82820162000816565b92835284810182019282810190878511156200096957600080fd5b83870192505b8483101562000993576200098383620008f0565b825291830191908301906200096f565b979650505050505050565b600080600080600080600080610100898b031215620009bc57600080fd5b88516001600160401b0380821115620009d457600080fd5b620009e28c838d016200087c565b995060208b0151915080821115620009f957600080fd5b62000a078c838d016200087c565b985060408b0151975062000a1e60608c01620008f0565b965062000a2e60808c01620008f0565b955062000a3e60a08c01620008f0565b945062000a4e60c08c01620008f0565b935060e08b015191508082111562000a6557600080fd5b5062000a748b828c016200090d565b9150509295985092959890939650565b60006020828403121562000a9757600080fd5b815160ff8116811462000aa957600080fd5b9392505050565b600181811c9082168062000ac557607f821691505b60208210810362000ae657634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000b3a57600081815260208120601f850160051c8101602086101562000b155750805b601f850160051c820191505b8181101562000b365782815560010162000b21565b5050505b505050565b81516001600160401b0381111562000b5b5762000b5b62000800565b62000b738162000b6c845462000ab0565b8462000aec565b602080601f83116001811462000bab576000841562000b925750858301515b600019600386901b1c1916600185901b17855562000b36565b600085815260208120601f198616915b8281101562000bdc5788860151825594840194600190910190840162000bbb565b508582101562000bfb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020808252600c908201526b7a65726f206164647265737360a01b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121562000c5a57600080fd5b5051919050565b805180151581146200090857600080fd5b60008060008060008060c0878903121562000c8c57600080fd5b62000c9787620008f0565b955062000ca760208801620008f0565b945062000cb760408801620008f0565b935062000cc760608801620008f0565b925062000cd760808801620008f0565b915062000ce760a0880162000c61565b90509295509295509295565b60006020828403121562000d0657600080fd5b62000aa982620008f0565b6000825162000d2581846020870162000849565b9190910192915050565b60006020828403121562000d4257600080fd5b62000aa98262000c61565b60006001600160601b038381168062000d7657634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c051613ec762000ed460003960008181610318015281816108ef01528181610ebf01526135af01526000818161066f0152818161089b01528181610e83015281816131a301526135740152600081816105b20152818161084701528181610e4801528181610fa101528181610fc2015281816125830152818161267e015281816126b40152818161295101526129c501526000818161043301526115dc0152600081816104bb015261158801526000818161057e01528181610da401528181612a0601528181612e1401528181612f36015261316701526000818161025401528181612baf0152612ea301526000818161061b015281816125d101526126fc015260008181610739015281816125fe0152612729015260006104670152600061034c0152613ec76000f3fe6080604052600436106101b95760003560e01c806306fdde03146101c5578063071bc3c9146101f0578063095ea7b3146102125780630ef7d13914610242578063128fced11461028357806318160ddd146102b057806320e8c565146102d3578063213cae63146101f057806323b872dd146102e657806325be124e14610306578063313ce5671461033a5780633ba0b9a9146103805780635cbadbe41461039557806370a0823114610401578063759cb53b1461042157806376d5de8514610455578063784367d614610489578063945c9142146104a957806395d89b41146104dd578063a2bbcf13146104f2578063a40bee5014610512578063a9059cbb14610536578063a9f8d18114610556578063b20fdc0d1461056c578063b6fccf8a146105a0578063b8f82b26146105d4578063c4f59f9b146105f4578063c6def07614610609578063cbe52ae31461063d578063d21220a71461065d578063da88ecb414610691578063dd62ed3e146106a6578063ea64a820146106c6578063ef5cfb8c14610707578063f106845414610727578063f3f094a11461075b578063f8b2f9911461077b578063fa5a4f061461048957600080fd5b366101c057005b600080fd5b3480156101d157600080fd5b506101da610790565b6040516101e79190613823565b60405180910390f35b3480156101fc57600080fd5b50610205610822565b6040516101e7919061389a565b34801561021e57600080fd5b5061023261022d3660046138c4565b610a1c565b60405190151581526020016101e7565b34801561024e57600080fd5b506102767f000000000000000000000000000000000000000000000000000000000000000081565b6040516101e791906138ee565b34801561028f57600080fd5b506102a361029e366004613902565b610a36565b6040516101e7919061394d565b3480156102bc57600080fd5b506102c5610b42565b6040519081526020016101e7565b6102c56102e1366004613960565b610b51565b3480156102f257600080fd5b506102326103013660046139a2565b610d22565b34801561031257600080fd5b506102767f000000000000000000000000000000000000000000000000000000000000000081565b34801561034657600080fd5b5061036e7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016101e7565b34801561038c57600080fd5b506102c5610da0565b3480156103a157600080fd5b506103e16103b03660046139de565b60056020908152600092835260408084209091529082529020546001600160801b0380821691600160801b90041682565b604080516001600160801b039384168152929091166020830152016101e7565b34801561040d57600080fd5b506102c561041c366004613902565b610e29565b34801561042d57600080fd5b506102767f000000000000000000000000000000000000000000000000000000000000000081565b34801561046157600080fd5b506102767f000000000000000000000000000000000000000000000000000000000000000081565b34801561049557600080fd5b506102326104a4366004613902565b610e44565b3480156104b557600080fd5b506102767f000000000000000000000000000000000000000000000000000000000000000081565b3480156104e957600080fd5b506101da610f02565b3480156104fe57600080fd5b506102c561050d3660046139a2565b610f11565b34801561051e57600080fd5b50610527610f98565b6040516101e793929190613a11565b34801561054257600080fd5b506102326105513660046138c4565b61104d565b34801561056257600080fd5b506102c560065481565b34801561057857600080fd5b506102767f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ac57600080fd5b506102767f000000000000000000000000000000000000000000000000000000000000000081565b3480156105e057600080fd5b506102c56105ef3660046138c4565b6110bf565b34801561060057600080fd5b506102056110f7565b34801561061557600080fd5b506102767f000000000000000000000000000000000000000000000000000000000000000081565b34801561064957600080fd5b506102c56106583660046138c4565b611101565b34801561066957600080fd5b506102767f000000000000000000000000000000000000000000000000000000000000000081565b34801561069d57600080fd5b506102a361115a565b3480156106b257600080fd5b506102c56106c13660046139de565b61122b565b3480156106d257600080fd5b506103e16106e1366004613902565b6007602052600090815260409020546001600160801b0380821691600160801b90041682565b34801561071357600080fd5b506102a3610722366004613902565b611256565b34801561073357600080fd5b506102c57f000000000000000000000000000000000000000000000000000000000000000081565b34801561076757600080fd5b506102c5610776366004613a53565b611315565b34801561078757600080fd5b506102a3611371565b60606003805461079f90613a97565b80601f01602080910402602001604051908101604052809291908181526020018280546107cb90613a97565b80156108185780601f106107ed57610100808354040283529160200191610818565b820191906000526020600020905b8154815290600101906020018083116107fb57829003601f168201915b5050505050905090565b60408051600680825260e082019092526060916020820160c0803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061087957610879613ae1565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000000000000000000000000000000000000000000000816001815181106108cd576108cd613ae1565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160028151811061092157610921613ae1565b60200260200101906001600160a01b031690816001600160a01b031681525050736b175474e89094c44da98b954eedeac495271d0f8160038151811061096957610969613ae1565b60200260200101906001600160a01b031690816001600160a01b03168152505073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48816004815181106109b1576109b1613ae1565b60200260200101906001600160a01b031690816001600160a01b03168152505073dac17f958d2ee523a2206206994597c13d831ec7816005815181106109f9576109f9613ae1565b60200260200101906001600160a01b031690816001600160a01b03168152505090565b600033610a2a818585611442565b60019150505b92915050565b60606000610a42611566565b905080516001600160401b03811115610a5d57610a5d613acb565b604051908082528060200260200182016040528015610a86578160200160208202803683370190505b50915060005b8151811015610b3b5760056000838381518110610aab57610aab613ae1565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000856001600160a01b03166001600160a01b0316815260200190815260200160002060000160109054906101000a90046001600160801b03166001600160801b0316838281518110610b2857610b28613ae1565b6020908102919091010152600101610a8c565b5050919050565b6002546001600160f81b031690565b600254600090600119600160f81b90910460ff1601610b8b5760405162461bcd60e51b8152600401610b8290613af7565b60405180910390fd5b600280546001600160f81b0316600160f91b179055610ba984610e44565b610bc55760405162461bcd60e51b8152600401610b8290613b2e565b82600003610c235760405162461bcd60e51b815260206004820152602560248201527f5343593a20616d6f756e74546f6b656e546f4465706f7369742063616e6e6f74604482015264020626520360dc1b6064820152608401610b82565b6001600160a01b038416610c7957823414610c745760405162461bcd60e51b81526020600482015260116024820152700a686b27440cae8d040dad2e6dac2e8c6d607b1b6044820152606401610b82565b610c84565b610c8484338561160e565b610c8e848461167a565b905081811015610cb05760405162461bcd60e51b8152600401610b8290613b5c565b610cba85826116cf565b60408051848152602081018390526001600160a01b03808716929088169133917f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d59910160405180910390a4600280546001600160f81b0316600160f81b179055949350505050565b600254600090600119600160f81b90910460ff1601610d535760405162461bcd60e51b8152600401610b8290613af7565b600280546001600160f81b0316600160f91b17905533610d748582856117e5565b610d7f85858561185f565b6001915050600280546001600160f81b0316600160f81b1790559392505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bb7b8b806040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e249190613b8b565b905090565b6001600160a01b031660009081526020819052604090205490565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161480610eb757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b80610ef357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b80610a305750610a3082611a81565b60606004805461079f90613a97565b600254600090600119600160f81b90910460ff1601610f425760405162461bcd60e51b8152600401610b8290613af7565b600280546001600160f81b0316600160f91b1790556000610f6230610e29565b9050610f6e3082611af6565b610f7a85828686611c7c565b600280546001600160f81b0316600160f81b17905595945050505050565b600080600060017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561101e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110429190613ba4565b925092509250909192565b600254600090600119600160f81b90910460ff160161107e5760405162461bcd60e51b8152600401610b8290613af7565b600280546001600160f81b0316600160f91b1790553361109f81858561185f565b6001915050600280546001600160f81b0316600160f81b17905592915050565b60006110ca83610e44565b6110e65760405162461bcd60e51b8152600401610b8290613b2e565b6110f08383611db3565b9392505050565b6060610e24611566565b600061110c83610e44565b6111505760405162461bcd60e51b815260206004820152601560248201527414d0d64e88125b9d985b1a59081d1bdad95b93dd5d605a1b6044820152606401610b82565b6110f08383611df9565b60606000611166611566565b905080516001600160401b0381111561118157611181613acb565b6040519080825280602002602001820160405280156111aa578160200160208202803683370190505b50915060005b815181101561122657600760008383815181106111cf576111cf613ae1565b6020908102919091018101516001600160a01b031682528101919091526040016000205483516001600160801b039091169084908390811061121357611213613ae1565b60209081029190910101526001016111b0565b505090565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600254606090600119600160f81b90910460ff16016112875760405162461bcd60e51b8152600401610b8290613af7565b600280546001600160f81b0316600160f91b1790556112a582611e3f565b6112af8283611e4d565b9050816001600160a01b03167f2193aa20a3717f5f4ac79482f4f553e5f0afe8f4e6ec3e3d1aa2e138adc4763f6112e4611566565b836040516112f3929190613bc7565b60405180910390a2600280546001600160f81b0316600160f81b179055919050565b600254600090600119600160f81b90910460ff16016113465760405162461bcd60e51b8152600401610b8290613af7565b600280546001600160f81b0316600160f91b1790556113653385611af6565b610f7a85858585611c7c565b600254606090600119600160f81b90910460ff16016113a25760405162461bcd60e51b8152600401610b8290613af7565b600280546001600160f81b0316600160f91b1790556113bf6120f5565b50506113c961115a565b9050600280546001600160f81b0316600160f81b17905590565b8151600090815b8181101561143757836001600160a01b031685828151811061140e5761140e613ae1565b60200260200101516001600160a01b03160361142f57600192505050610a30565b6001016113ea565b506000949350505050565b6001600160a01b0383166114a45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b82565b6001600160a01b0382166115055760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b82565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60408051600280825260608083018452926020830190803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000816000815181106115ba576115ba613ae1565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000000000000000000000000000000000000000000000816001815181106109f9576109f9613ae1565b6001600160a01b03831661165f5780341461165a5760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b6044820152606401610b82565b505050565b801561165a5761165a6001600160a01b038416833084612390565b600061168583611a81565b156116be57600061169684846123fb565b90506116b6736c3f90f043a72fa612cbac8115ee7e52bde6e4908261257f565b915050610a30565b6116c8838361257f565b9050610a30565b6001600160a01b0382166117255760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610b82565b61173160008383612799565b61173a816127a3565b600280546000906117559084906001600160f81b0316613c02565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555080600080846001600160a01b03166001600160a01b0316815260200190815260200160002060008282546117ad9190613c2d565b90915550506040518181526001600160a01b03831690600090600080516020613e728339815191529060200160405180910390a35050565b60006117f1848461122b565b90506000198114611859578181101561184c5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610b82565b6118598484848403611442565b50505050565b6001600160a01b0383166118c35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610b82565b6001600160a01b0382166119255760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610b82565b816001600160a01b0316836001600160a01b0316036119805760405162461bcd60e51b815260206004820152601760248201527622a92199181d103a3930b739b332b9103a379039b2b63360491b6044820152606401610b82565b61198b838383612799565b6001600160a01b03831660009081526020819052604090205481811015611a035760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610b82565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611a3a908490613c2d565b92505081905550826001600160a01b0316846001600160a01b0316600080516020613e7283398151915284604051611a7491815260200190565b60405180910390a3611859565b60006001600160a01b038216736b175474e89094c44da98b954eedeac495271d0f1480611aca57506001600160a01b03821673a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48145b80610a3057506001600160a01b03821673dac17f958d2ee523a2206206994597c13d831ec71492915050565b6001600160a01b038216611b565760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610b82565b611b6282600083612799565b6001600160a01b03821660009081526020819052604090205481811015611bd65760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610b82565b6001600160a01b03831660009081526020819052604090208282039055611bfc826127a3565b60028054600090611c179084906001600160f81b0316613c45565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555060006001600160a01b0316836001600160a01b0316600080516020613e7283398151915284604051611c6f91815260200190565b60405180910390a3505050565b6000611c8783610e44565b611ccb5760405162461bcd60e51b815260206004820152601560248201527414d0d64e881a5b9d985b1a59081d1bdad95b93dd5d605a1b6044820152606401610b82565b83600003611d295760405162461bcd60e51b815260206004820152602560248201527f5343593a20616d6f756e74536861726573546f52656465656d2063616e6e6f74604482015264020626520360dc1b6064820152608401610b82565b611d3383856127bd565b905081811015611d555760405162461bcd60e51b8152600401610b8290613b5c565b611d60838683612803565b60408051858152602081018390526001600160a01b03808616929088169133917faee47cdf925cf525fdae94f9777ee5a06cac37e1c41220d0a8a89ed154f62d1c910160405180910390a4949350505050565b6000611dbe83611a81565b15611def576000611dcf84846128c7565b90506116b6736c3f90f043a72fa612cbac8115ee7e52bde6e4908261294d565b6116c8838361294d565b6000611e0483611a81565b15611e35576000611e29736c3f90f043a72fa612cbac8115ee7e52bde6e49084612999565b90506116b68482612ab8565b6116c88383612999565b611e4a816000612b0d565b50565b60606000611e59611566565b905080516001600160401b03811115611e7457611e74613acb565b604051908082528060200260200182016040528015611e9d578160200160208202803683370190505b50915060005b81518110156120ed5760056000838381518110611ec257611ec2613ae1565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000866001600160a01b03166001600160a01b0316815260200190815260200160002060000160109054906101000a90046001600160801b03166001600160801b0316838281518110611f3f57611f3f613ae1565b602002602001018181525050828181518110611f5d57611f5d613ae1565b60200260200101516000146120db57600060056000848481518110611f8457611f84613ae1565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000876001600160a01b03166001600160a01b0316815260200190815260200160002060000160106101000a8154816001600160801b0302191690836001600160801b0316021790555061201883828151811061200b5761200b613ae1565b6020026020010151612b8d565b6007600084848151811061202e5761202e613ae1565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060000160108282829054906101000a90046001600160801b031661207a9190613c6d565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506120db8282815181106120b3576120b3613ae1565b6020026020010151858584815181106120ce576120ce613ae1565b6020026020010151612803565b806120e581613c8d565b915050611ea3565b505092915050565b606080612100611566565b915081516001600160401b0381111561211b5761211b613acb565b604051908082528060200260200182016040528015612144578160200160208202803683370190505b5090508151600003612154579091565b43600654146123085743600655600061216b612ba3565b9050612175612bad565b60005b835181101561230557600084828151811061219557612195613ae1565b6020908102919091018101516001600160a01b0381166000908152600790925260408220548751919350600160801b90046001600160801b0316906121f3908890869081106121e6576121e6613ae1565b6020026020010151612c1c565b6121fd9190613ca6565b6001600160a01b0383166000908152600760205260408120549192506001600160801b0390911690819003612230575060015b841561224d576122408286612ca6565b61224a9082613c2d565b90505b61225681612b8d565b6001600160a01b038416600090815260076020526040902080546001600160801b0319166001600160801b039290921691909117905561229582612b8d565b6001600160a01b038416600090815260076020526040902080546010906122cd908490600160801b90046001600160801b0316613cbd565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050806122fe90613c8d565b9050612178565b50505b60005b825181101561238b576007600084838151811061232a5761232a613ae1565b6020908102919091018101516001600160a01b031682528101919091526040016000205482516001600160801b039091169083908390811061236e5761236e613ae1565b60209081029190910101528061238381613c8d565b91505061230b565b509091565b6040516001600160a01b03808516602483015283166044820152606481018290526118599085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612cd5565b6040516370a0823160e01b81526000908190736c3f90f043a72fa612cbac8115ee7e52bde6e490906370a08231906124379030906004016138ee565b602060405180830381865afa158015612454573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124789190613b8b565b905073bebc44782c7db0a1a60cb6fe97d0b483032ff1c7634515cef361249e8686612da7565b60006040518363ffffffff1660e01b81526004016124bd929190613d02565b600060405180830381600087803b1580156124d757600080fd5b505af11580156124eb573d6000803e3d6000fd5b50506040516370a0823160e01b815260009250736c3f90f043a72fa612cbac8115ee7e52bde6e49091506370a08231906125299030906004016138ee565b602060405180830381865afa158015612546573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061256a9190613b8b565b90506125768282613ca6565b95945050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603612677576040516321d0683360e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906343a0d0669061262b907f0000000000000000000000000000000000000000000000000000000000000000908690600190600401613d1d565b6020604051808303816000875af115801561264a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061266e9190613d35565b50819050610a30565b60006126a27f0000000000000000000000000000000000000000000000000000000000000000612c1c565b90506126ae8484612dd5565b806126d87f0000000000000000000000000000000000000000000000000000000000000000612c1c565b6126e29190613ca6565b6040516321d0683360e11b81529092506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906343a0d06690612756907f0000000000000000000000000000000000000000000000000000000000000000908690600190600401613d1d565b6020604051808303816000875af1158015612775573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ed9190613d35565b61165a8383612b0d565b60006001600160f81b038211156127b957600080fd5b5090565b60006127c883611a81565b156127f95760006127ed736c3f90f043a72fa612cbac8115ee7e52bde6e49084612e83565b90506116b68482612fdc565b6116c88383612e83565b8060000361281057505050565b6001600160a01b0383166128b3576000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461286b576040519150601f19603f3d011682016040523d82523d6000602084013e612870565b606091505b50509050806118595760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b6044820152606401610b82565b61165a6001600160a01b03841683836130f6565b600073bebc44782c7db0a1a60cb6fe97d0b483032ff1c7633883e1196128ed8585612da7565b60016040518363ffffffff1660e01b815260040161290c929190613d57565b602060405180830381865afa158015612929573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f09190613b8b565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03160361298f575080610a30565b6110f08383613126565b600080670de0b6b3a76400006129ad610da0565b6129b79085613d74565b6129c19190613da9565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031603612a0457809150612ab1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cc2b27d782612a45612a408861319f565b6131eb565b6040516001600160e01b031960e085901b1681526004810192909252600f0b60248201526044015b602060405180830381865afa158015612a8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aae9190613b8b565b91505b5092915050565b600073bebc44782c7db0a1a60cb6fe97d0b483032ff1c763cc2b27d783612ae1612a40876131fe565b6040516001600160e01b031960e085901b1681526004810192909252600f0b602482015260440161290c565b600080612b186120f5565b915091508151600003612b2b5750505050565b6001600160a01b03841615801590612b4c57506001600160a01b0384163014155b15612b5c57612b5c8483836132d9565b6001600160a01b03831615801590612b7d57506001600160a01b0383163014155b15611859576118598383836132d9565b60006001600160801b038211156127b957600080fd5b6000610e24610b42565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633d18b9126040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612c0857600080fd5b505af1158015611859573d6000803e3d6000fd5b60006001600160a01b03821615612c9f576040516370a0823160e01b81526001600160a01b038316906370a0823190612c599030906004016138ee565b602060405180830381865afa158015612c76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c9a9190613b8b565b610a30565b4792915050565b600080612cbb670de0b6b3a764000085613d74565b9050828181612ccc57612ccc613d93565b04949350505050565b6000612d2a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135599092919063ffffffff16565b80519091501561165a5780806020019051810190612d489190613d35565b61165a5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610b82565b612daf6137bb565b8181612dba856131fe565b60038110612dca57612dca613ae1565b602002015292915050565b612ddd6137d9565b8181612de88561319f565b60028110612df857612df8613ae1565b6020020152604051630b4c7e4d60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630b4c7e4d90612e4c908490600090600401613dee565b600060405180830381600087803b158015612e6657600080fd5b505af1158015612e7a573d6000803e3d6000fd5b50505050505050565b604051636197390160e11b815260048101829052600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c32e7202906044016020604051808303816000875af1158015612ef4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f189190613d35565b50612f2283613570565b15612fd6576000612f3284612c1c565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631a4d01d284612f70612a408861319f565b60006040518463ffffffff1660e01b8152600401612f9093929190613e09565b600060405180830381600087803b158015612faa57600080fd5b505af1158015612fbe573d6000803e3d6000fd5b5050505080612fcc85612c1c565b6116b69190613ca6565b50919050565b600080836001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161300b91906138ee565b602060405180830381865afa158015613028573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061304c9190613b8b565b905073bebc44782c7db0a1a60cb6fe97d0b483032ff1c7631a4d01d284613075612a40886131fe565b60006040518463ffffffff1660e01b815260040161309593929190613e09565b600060405180830381600087803b1580156130af57600080fd5b505af11580156130c3573d6000803e3d6000fd5b50506040516370a0823160e01b8152600092506001600160a01b03871691506370a08231906125299030906004016138ee565b6040516001600160a01b03831660248201526044810182905261165a90849063a9059cbb60e01b906064016123c4565b60006131306137d9565b828161313b8661319f565b6002811061314b5761314b613ae1565b602002015260405163ed8e84f360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ed8e84f390612a6d908490600190600401613e22565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036131e257506000919050565b5060015b919050565b6000610a306131f9836135e8565b6135fe565b6000736b175474e89094c44da98b954eedeac495271d0e196001600160a01b0383160161322d57506000919050565b73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb47196001600160a01b0383160161325a57506001919050565b73dac17f958d2ee523a2206206994597c13d831ec6196001600160a01b0383160161328757506002919050565b60405162461bcd60e51b815260206004820152602160248201527f50656e646c653343727648656c7065723a206e6f742076616c696420746f6b656044820152603760f91b6064820152608401610b82565b6001600160a01b038316158015906132fa57506001600160a01b0383163014155b61330657613306613e3f565b600061331184613628565b905060005b835181101561355257600084828151811061333357613333613ae1565b60200260200101519050600084838151811061335157613351613ae1565b6020908102919091018101516001600160a01b038085166000908152600584526040808220928c168252919093528220549092506001600160801b0316908190036133ed5761339f82612b8d565b6001600160a01b039384166000908152600560209081526040808320968c1683529590529390932080546001600160801b0319166001600160801b0390941693909317909255506135429050565b8181036133fc57505050613542565b60006134088284613ca6565b905060006134168783613633565b6001600160a01b038681166000908152600560209081526040808320938f168352929052908120549192509061345d908390600160801b90046001600160801b0316613c2d565b9050604051806040016040528061347387612b8d565b6001600160801b0316815260200161348a83612b8d565b6001600160801b031681525060056000886001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816001600160801b0302191690836001600160801b031602179055509050505050505050505b61354b81613c8d565b9050613316565b5050505050565b60606135688484600085613651565b949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161480610a3057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161492915050565b60006001600160ff1b038211156127b957600080fd5b600060016001607f1b0319821280159061361f575060016001607f1b038213155b6127b957600080fd5b6000610a3082610e29565b6000806136408385613d74565b9050670de0b6b3a764000081612ccc565b6060824710156136b25760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610b82565b6001600160a01b0385163b6137095760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610b82565b600080866001600160a01b031685876040516137259190613e55565b60006040518083038185875af1925050503d8060008114613762576040519150601f19603f3d011682016040523d82523d6000602084013e613767565b606091505b5091509150613777828286613782565b979650505050505050565b606083156137915750816110f0565b8251156137a15782518084602001fd5b8160405162461bcd60e51b8152600401610b829190613823565b60405180606001604052806003906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b60005b838110156138125781810151838201526020016137fa565b838111156118595750506000910152565b60208152600082518060208401526138428160408501602087016137f7565b601f01601f19169190910160400192915050565b600081518084526020808501945080840160005b8381101561388f5781516001600160a01b03168752958201959082019060010161386a565b509495945050505050565b6020815260006110f06020830184613856565b80356001600160a01b03811681146131e657600080fd5b600080604083850312156138d757600080fd5b6138e0836138ad565b946020939093013593505050565b6001600160a01b0391909116815260200190565b60006020828403121561391457600080fd5b6110f0826138ad565b600081518084526020808501945080840160005b8381101561388f57815187529582019590820190600101613931565b6020815260006110f0602083018461391d565b6000806000806080858703121561397657600080fd5b61397f856138ad565b935061398d602086016138ad565b93969395505050506040820135916060013590565b6000806000606084860312156139b757600080fd5b6139c0846138ad565b92506139ce602085016138ad565b9150604084013590509250925092565b600080604083850312156139f157600080fd5b6139fa836138ad565b9150613a08602084016138ad565b90509250929050565b6060810160028510613a3357634e487b7160e01b600052602160045260246000fd5b9381526001600160a01b0392909216602083015260ff1660409091015290565b60008060008060808587031215613a6957600080fd5b613a72856138ad565b935060208501359250613a87604086016138ad565b9396929550929360600135925050565b600181811c90821680613aab57607f821691505b602082108103612fd657634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526014908201527329a1ac9d1024b73b30b634b2103a37b5b2b724b760611b604082015260600190565b60208082526015908201527414d0d64e881a5b9cdd59999a58da595b9d081bdd5d605a1b604082015260600190565b600060208284031215613b9d57600080fd5b5051919050565b600060208284031215613bb657600080fd5b815160ff811681146110f057600080fd5b604081526000613bda6040830185613856565b8281036020840152612576818561391d565b634e487b7160e01b600052601160045260246000fd5b60006001600160f81b03828116848216808303821115613c2457613c24613bec565b01949350505050565b60008219821115613c4057613c40613bec565b500190565b60006001600160f81b0383811690831681811015613c6557613c65613bec565b039392505050565b60006001600160801b0383811690831681811015613c6557613c65613bec565b600060018201613c9f57613c9f613bec565b5060010190565b600082821015613cb857613cb8613bec565b500390565b60006001600160801b03828116848216808303821115613c2457613c24613bec565b8060005b6003811015611859578151845260209384019390910190600101613ce3565b60808101613d108285613cdf565b8260608301529392505050565b92835260208301919091521515604082015260600190565b600060208284031215613d4757600080fd5b815180151581146110f057600080fd5b60808101613d658285613cdf565b82151560608301529392505050565b6000816000190483118215151615613d8e57613d8e613bec565b500290565b634e487b7160e01b600052601260045260246000fd5b600082613dc657634e487b7160e01b600052601260045260246000fd5b500490565b8060005b6002811015611859578151845260209384019390910190600101613dcf565b60608101613dfc8285613dcb565b8260408301529392505050565b928352600f9190910b6020830152604082015260600190565b60608101613e308285613dcb565b82151560408301529392505050565b634e487b7160e01b600052600160045260246000fd5b60008251613e678184602087016137f7565b919091019291505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220fbb02dca8c05bf72d1a1f9781e92461ef725738139f47ed206895bc10433fb8464736f6c634300080f0033";
962
912
 
963
913
  type Pendle3CrvTokenSCYConstructorParams =
964
914
  | [signer?: Signer]
@@ -983,10 +933,9 @@ export class Pendle3CrvTokenSCY__factory extends ContractFactory {
983
933
  _symbol: string,
984
934
  _pid: BigNumberish,
985
935
  _convexBooster: string,
986
- _wrappedLpToken: string,
936
+ _crvLpToken: string,
987
937
  _cvx: string,
988
938
  _baseCrvPool: string,
989
- _currentExtraRewards: string[],
990
939
  _basePoolTokens: string[],
991
940
  overrides?: Overrides & { from?: string | Promise<string> }
992
941
  ): Promise<Pendle3CrvTokenSCY> {
@@ -995,10 +944,9 @@ export class Pendle3CrvTokenSCY__factory extends ContractFactory {
995
944
  _symbol,
996
945
  _pid,
997
946
  _convexBooster,
998
- _wrappedLpToken,
947
+ _crvLpToken,
999
948
  _cvx,
1000
949
  _baseCrvPool,
1001
- _currentExtraRewards,
1002
950
  _basePoolTokens,
1003
951
  overrides || {}
1004
952
  ) as Promise<Pendle3CrvTokenSCY>;
@@ -1008,10 +956,9 @@ export class Pendle3CrvTokenSCY__factory extends ContractFactory {
1008
956
  _symbol: string,
1009
957
  _pid: BigNumberish,
1010
958
  _convexBooster: string,
1011
- _wrappedLpToken: string,
959
+ _crvLpToken: string,
1012
960
  _cvx: string,
1013
961
  _baseCrvPool: string,
1014
- _currentExtraRewards: string[],
1015
962
  _basePoolTokens: string[],
1016
963
  overrides?: Overrides & { from?: string | Promise<string> }
1017
964
  ): TransactionRequest {
@@ -1020,10 +967,9 @@ export class Pendle3CrvTokenSCY__factory extends ContractFactory {
1020
967
  _symbol,
1021
968
  _pid,
1022
969
  _convexBooster,
1023
- _wrappedLpToken,
970
+ _crvLpToken,
1024
971
  _cvx,
1025
972
  _baseCrvPool,
1026
- _currentExtraRewards,
1027
973
  _basePoolTokens,
1028
974
  overrides || {}
1029
975
  );