@pendle/core-v2 0.16.2-testnet → 0.16.3-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 (319) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +15 -2
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +15 -2
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.json +13 -0
  8. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +15 -2
  11. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.json +15 -2
  13. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +13 -0
  15. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +15 -2
  17. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +15 -2
  19. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +15 -2
  21. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +15 -2
  24. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +15 -2
  26. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  30. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  31. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  32. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  33. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +4 -0
  35. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +695 -0
  36. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +4 -0
  37. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +531 -0
  38. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +4 -0
  39. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +10 -0
  40. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  42. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  44. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  47. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +15 -2
  49. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  53. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +4 -0
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.json +89 -0
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  64. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +15 -2
  67. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +15 -2
  69. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  71. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +2 -2
  73. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.json +2 -2
  75. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +2 -2
  77. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.json +2 -2
  79. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.json +13 -0
  81. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.json +2 -2
  83. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  84. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +208 -2
  85. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  86. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  87. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  88. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.json +30 -83
  89. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +1 -1
  90. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  91. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  92. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +91 -17
  93. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  94. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json +50 -0
  95. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  96. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +20 -0
  97. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +1 -1
  98. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  99. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +20 -0
  100. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +181 -17
  102. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +4 -0
  103. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.json +173 -0
  104. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +4 -0
  105. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.json +86 -0
  106. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +4 -0
  107. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.json +34 -0
  108. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  115. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  116. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  119. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.json +45 -0
  120. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  123. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  124. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +15 -2
  125. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +4 -0
  126. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +67 -0
  127. package/build/artifacts/contracts/offchain-helpers/ImplicitSwapfeeContract.sol/ImplicitSwapfeeContract.dbg.json +1 -1
  128. package/build/artifacts/contracts/offchain-helpers/ImplicitSwapfeeContract.sol/ImplicitSwapfeeContract.json +2 -2
  129. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
  130. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +2 -36
  131. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  132. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +237 -61
  133. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  134. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +120 -41
  135. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.dbg.json +1 -1
  136. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.json +2 -2
  137. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  138. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +79 -24
  139. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  140. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +2 -2
  141. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  142. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +49 -24
  143. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +1 -1
  144. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.json +2 -2
  145. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  146. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +49 -24
  147. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  148. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +15 -2
  149. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  150. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json +14 -1
  151. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  152. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  153. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  154. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  155. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +1 -1
  156. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.json +191 -2
  157. package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.dbg.json +4 -0
  158. package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.json +35 -0
  159. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +1 -1
  160. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.json +1 -1
  161. package/contracts/core/BulkSeller/BulkSeller.sol +250 -0
  162. package/contracts/core/BulkSeller/BulkSellerFactory.sol +89 -0
  163. package/contracts/core/BulkSeller/BulkSellerMathCore.sol +143 -0
  164. package/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/PendleConvexLPSY.sol +2 -4
  165. package/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol +107 -0
  166. package/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol +19 -4
  167. package/contracts/core/libraries/Errors.sol +17 -0
  168. package/contracts/interfaces/Curve/ICrvPool.sol +9 -27
  169. package/contracts/interfaces/IPActionAddRemoveLiq.sol +3 -5
  170. package/contracts/interfaces/IPActionMintRedeem.sol +2 -0
  171. package/contracts/interfaces/IPBulkSeller.sol +28 -0
  172. package/contracts/interfaces/IPBulkSellerFactory.sol +12 -0
  173. package/contracts/interfaces/IPBulkSellerSYCallback.sol +10 -0
  174. package/contracts/interfaces/IStETH.sol +6 -0
  175. package/contracts/offchain-helpers/BulkSellerOffchain.sol +43 -0
  176. package/contracts/offchain-helpers/MarketMathStatic.sol +0 -144
  177. package/contracts/offchain-helpers/RouterStatic.sol +167 -51
  178. package/contracts/router/ActionAddRemoveLiq.sol +60 -44
  179. package/contracts/router/ActionMintRedeem.sol +19 -15
  180. package/contracts/router/ActionSwapPT.sol +3 -3
  181. package/contracts/router/ActionSwapYT.sol +11 -4
  182. package/contracts/router/base/ActionBaseMintRedeem.sol +73 -74
  183. package/contracts/router/kyberswap/AggregationRouterHelper.sol +17 -1
  184. package/contracts/router/kyberswap/IAggregatorRouterHelper.sol +10 -0
  185. package/contracts/router/kyberswap/KyberSwapHelper.sol +17 -8
  186. package/deployments/43113-core.json +3 -2
  187. package/deployments/43113-markets/benqi-market-QI-AVAX-FEB-2ND.json +9 -0
  188. package/deployments/80001-core.json +3 -2
  189. package/package.json +3 -2
  190. package/typechain-types/AccessControl.ts +360 -0
  191. package/typechain-types/ActionAddRemoveLiq.ts +83 -52
  192. package/typechain-types/ActionBaseMintRedeem.ts +27 -8
  193. package/typechain-types/ActionMintRedeem.ts +68 -17
  194. package/typechain-types/ActionSwapPT.ts +53 -12
  195. package/typechain-types/ActionSwapYT.ts +53 -12
  196. package/typechain-types/AggregationRouterHelper.ts +287 -3
  197. package/typechain-types/BaseSplitCodeFactoryContract.ts +9 -0
  198. package/typechain-types/BeaconProxy.ts +97 -0
  199. package/typechain-types/BoringOwnableUpgradeable.ts +9 -0
  200. package/typechain-types/BulkSeller.ts +776 -0
  201. package/typechain-types/BulkSellerFactory.ts +707 -0
  202. package/typechain-types/BulkSellerOffchain.ts +117 -0
  203. package/typechain-types/Curve3CrvPoolHelper.ts +236 -0
  204. package/typechain-types/CurveFraxUsdcPoolHelper.ts +158 -0
  205. package/typechain-types/CurveUsdd3CrvPoolHelper.ts +184 -0
  206. package/typechain-types/ERC165.ts +102 -0
  207. package/typechain-types/IAccessControl.ts +305 -0
  208. package/typechain-types/IAggregationRouterHelper.ts +108 -0
  209. package/typechain-types/ICrvPool.ts +66 -164
  210. package/typechain-types/IERC165.ts +102 -0
  211. package/typechain-types/IPActionAddRemoveLiq.ts +56 -44
  212. package/typechain-types/IPActionMintRedeem.ts +41 -9
  213. package/typechain-types/IPActionSwapPT.ts +26 -4
  214. package/typechain-types/IPActionSwapYT.ts +26 -4
  215. package/typechain-types/IPAllAction.ts +77 -55
  216. package/typechain-types/IPBulkSeller.ts +290 -0
  217. package/typechain-types/IPBulkSellerCallback.ts +115 -0
  218. package/typechain-types/IPBulkSellerFactory.ts +147 -0
  219. package/typechain-types/IStETH.ts +56 -0
  220. package/typechain-types/ITriCrvPool.ts +345 -0
  221. package/typechain-types/Initializable.ts +68 -0
  222. package/typechain-types/KyberSwapHelper.ts +8 -8
  223. package/typechain-types/MarketMathStatic.ts +0 -50
  224. package/typechain-types/PendleCurveFraxUsdcSY.ts +1228 -0
  225. package/typechain-types/PendleCurveUsdd3CrvSY.ts +1299 -0
  226. package/typechain-types/PendleFeeDistributor.ts +9 -0
  227. package/typechain-types/PendleFeeDistributorFactory.ts +9 -0
  228. package/typechain-types/PendleGaugeControllerBaseUpg.ts +9 -0
  229. package/typechain-types/PendleGaugeControllerMainchainUpg.ts +9 -0
  230. package/typechain-types/PendleGaugeControllerSidechainUpg.ts +9 -0
  231. package/typechain-types/PendleMarketFactory.ts +9 -0
  232. package/typechain-types/PendleMsgReceiveEndpointUpg.ts +9 -0
  233. package/typechain-types/PendleMsgSendEndpointUpg.ts +9 -0
  234. package/typechain-types/PendleMsgSenderAppUpg.ts +9 -0
  235. package/typechain-types/PendlePrincipalToken.ts +9 -0
  236. package/typechain-types/PendleRouter.ts +9 -0
  237. package/typechain-types/PendleVotingControllerUpg.ts +9 -0
  238. package/typechain-types/PendleYieldContractFactory.ts +9 -0
  239. package/typechain-types/ReentrancyGuardUpgradeable.ts +68 -0
  240. package/typechain-types/RouterStatic.ts +203 -22
  241. package/typechain-types/VotingEscrowPendleMainchain.ts +9 -0
  242. package/typechain-types/VotingEscrowPendleSidechain.ts +9 -0
  243. package/typechain-types/factories/AccessControl__factory.ts +227 -0
  244. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +131 -59
  245. package/typechain-types/factories/ActionBaseMintRedeem__factory.ts +14 -1
  246. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  247. package/typechain-types/factories/ActionMintRedeem__factory.ts +90 -42
  248. package/typechain-types/factories/ActionMisc__factory.ts +1 -1
  249. package/typechain-types/factories/ActionSwapPTYT__factory.ts +1 -1
  250. package/typechain-types/factories/ActionSwapPT__factory.ts +60 -42
  251. package/typechain-types/factories/ActionSwapYT__factory.ts +60 -42
  252. package/typechain-types/factories/AggregationRouterHelper__factory.ts +190 -1
  253. package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +14 -1
  254. package/typechain-types/factories/BaseSplitCodeFactory__factory.ts +1 -1
  255. package/typechain-types/factories/BeaconProxy__factory.ts +141 -0
  256. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
  257. package/typechain-types/factories/BoringOwnableUpgradeable__factory.ts +13 -0
  258. package/typechain-types/factories/BulkSellerFactory__factory.ts +584 -0
  259. package/typechain-types/factories/BulkSellerOffchain__factory.ts +120 -0
  260. package/typechain-types/factories/BulkSeller__factory.ts +745 -0
  261. package/typechain-types/factories/Curve3CrvPoolHelper__factory.ts +220 -0
  262. package/typechain-types/factories/CurveFraxUsdcPoolHelper__factory.ts +146 -0
  263. package/typechain-types/factories/CurveUsdd3CrvPoolHelper__factory.ts +172 -0
  264. package/typechain-types/factories/ERC165__factory.ts +39 -0
  265. package/typechain-types/factories/ERC20__factory.ts +1 -1
  266. package/typechain-types/factories/Errors__factory.ts +207 -1
  267. package/typechain-types/factories/IAccessControl__factory.ts +198 -0
  268. package/typechain-types/factories/IAggregationRouterHelper__factory.ts +54 -0
  269. package/typechain-types/factories/ICrvPool__factory.ts +30 -83
  270. package/typechain-types/factories/IERC165__factory.ts +42 -0
  271. package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +91 -17
  272. package/typechain-types/factories/IPActionMintRedeem__factory.ts +50 -0
  273. package/typechain-types/factories/IPActionSwapPT__factory.ts +20 -0
  274. package/typechain-types/factories/IPActionSwapYT__factory.ts +20 -0
  275. package/typechain-types/factories/IPAllAction__factory.ts +181 -17
  276. package/typechain-types/factories/IPBulkSellerCallback__factory.ts +53 -0
  277. package/typechain-types/factories/IPBulkSellerFactory__factory.ts +101 -0
  278. package/typechain-types/factories/IPBulkSeller__factory.ts +185 -0
  279. package/typechain-types/factories/IStETH__factory.ts +45 -0
  280. package/typechain-types/factories/ITriCrvPool__factory.ts +225 -0
  281. package/typechain-types/factories/ImplicitSwapfeeContract__factory.ts +1 -1
  282. package/typechain-types/factories/Initializable__factory.ts +36 -0
  283. package/typechain-types/factories/KyberSwapHelper__factory.ts +1 -1
  284. package/typechain-types/factories/MarketMathStatic__factory.ts +1 -35
  285. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  286. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1068 -0
  287. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1168 -0
  288. package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
  289. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  290. package/typechain-types/factories/PendleFeeDistributorFactory__factory.ts +14 -1
  291. package/typechain-types/factories/PendleFeeDistributor__factory.ts +14 -1
  292. package/typechain-types/factories/PendleGaugeControllerBaseUpg__factory.ts +13 -0
  293. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +14 -1
  294. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +14 -1
  295. package/typechain-types/factories/PendleMarketFactory__factory.ts +14 -1
  296. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  297. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +14 -1
  298. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +14 -1
  299. package/typechain-types/factories/PendleMsgSenderAppUpg__factory.ts +13 -0
  300. package/typechain-types/factories/PendlePrincipalToken__factory.ts +14 -1
  301. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  302. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  303. package/typechain-types/factories/PendleRouter__factory.ts +14 -1
  304. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +14 -1
  305. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  306. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +14 -1
  307. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  308. package/typechain-types/factories/ReentrancyGuardUpgradeable__factory.ts +43 -0
  309. package/typechain-types/factories/RouterStatic__factory.ts +182 -2
  310. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +14 -1
  311. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +14 -1
  312. package/typechain-types/hardhat.d.ts +139 -13
  313. package/typechain-types/index.ts +30 -4
  314. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSY.sol/Pendle3CrvAndTokenSY.dbg.json +0 -4
  315. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSY.sol/Pendle3CrvAndTokenSY.json +0 -1018
  316. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.dbg.json +0 -4
  317. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/Pendle3CrvHelper.sol/Pendle3CrvHelper.json +0 -76
  318. package/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/Pendle3CrvAndTokenSY.sol +0 -167
  319. package/contracts/core/StandardizedYield/implementations/Convex/Pendle3CrvHelper.sol +0 -83
@@ -0,0 +1,1168 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
5
+ import { Provider, TransactionRequest } from "@ethersproject/providers";
6
+ import type {
7
+ PendleCurveUsdd3CrvSY,
8
+ PendleCurveUsdd3CrvSYInterface,
9
+ } from "../PendleCurveUsdd3CrvSY";
10
+
11
+ const _abi = [
12
+ {
13
+ inputs: [
14
+ {
15
+ internalType: "string",
16
+ name: "_name",
17
+ type: "string",
18
+ },
19
+ {
20
+ internalType: "string",
21
+ name: "_symbol",
22
+ type: "string",
23
+ },
24
+ ],
25
+ stateMutability: "nonpayable",
26
+ type: "constructor",
27
+ },
28
+ {
29
+ inputs: [],
30
+ name: "SYCurveInvalidPid",
31
+ type: "error",
32
+ },
33
+ {
34
+ inputs: [
35
+ {
36
+ internalType: "uint256",
37
+ name: "actualSharesOut",
38
+ type: "uint256",
39
+ },
40
+ {
41
+ internalType: "uint256",
42
+ name: "requiredSharesOut",
43
+ type: "uint256",
44
+ },
45
+ ],
46
+ name: "SYInsufficientSharesOut",
47
+ type: "error",
48
+ },
49
+ {
50
+ inputs: [
51
+ {
52
+ internalType: "uint256",
53
+ name: "actualTokenOut",
54
+ type: "uint256",
55
+ },
56
+ {
57
+ internalType: "uint256",
58
+ name: "requiredTokenOut",
59
+ type: "uint256",
60
+ },
61
+ ],
62
+ name: "SYInsufficientTokenOut",
63
+ type: "error",
64
+ },
65
+ {
66
+ inputs: [
67
+ {
68
+ internalType: "address",
69
+ name: "token",
70
+ type: "address",
71
+ },
72
+ ],
73
+ name: "SYInvalidTokenIn",
74
+ type: "error",
75
+ },
76
+ {
77
+ inputs: [
78
+ {
79
+ internalType: "address",
80
+ name: "token",
81
+ type: "address",
82
+ },
83
+ ],
84
+ name: "SYInvalidTokenOut",
85
+ type: "error",
86
+ },
87
+ {
88
+ inputs: [],
89
+ name: "SYZeroDeposit",
90
+ type: "error",
91
+ },
92
+ {
93
+ inputs: [],
94
+ name: "SYZeroRedeem",
95
+ type: "error",
96
+ },
97
+ {
98
+ anonymous: false,
99
+ inputs: [
100
+ {
101
+ indexed: true,
102
+ internalType: "address",
103
+ name: "owner",
104
+ type: "address",
105
+ },
106
+ {
107
+ indexed: true,
108
+ internalType: "address",
109
+ name: "spender",
110
+ type: "address",
111
+ },
112
+ {
113
+ indexed: false,
114
+ internalType: "uint256",
115
+ name: "value",
116
+ type: "uint256",
117
+ },
118
+ ],
119
+ name: "Approval",
120
+ type: "event",
121
+ },
122
+ {
123
+ anonymous: false,
124
+ inputs: [
125
+ {
126
+ indexed: true,
127
+ internalType: "address",
128
+ name: "user",
129
+ type: "address",
130
+ },
131
+ {
132
+ indexed: false,
133
+ internalType: "address[]",
134
+ name: "rewardTokens",
135
+ type: "address[]",
136
+ },
137
+ {
138
+ indexed: false,
139
+ internalType: "uint256[]",
140
+ name: "rewardAmounts",
141
+ type: "uint256[]",
142
+ },
143
+ ],
144
+ name: "ClaimRewards",
145
+ type: "event",
146
+ },
147
+ {
148
+ anonymous: false,
149
+ inputs: [
150
+ {
151
+ indexed: true,
152
+ internalType: "address",
153
+ name: "caller",
154
+ type: "address",
155
+ },
156
+ {
157
+ indexed: true,
158
+ internalType: "address",
159
+ name: "receiver",
160
+ type: "address",
161
+ },
162
+ {
163
+ indexed: true,
164
+ internalType: "address",
165
+ name: "tokenIn",
166
+ type: "address",
167
+ },
168
+ {
169
+ indexed: false,
170
+ internalType: "uint256",
171
+ name: "amountDeposited",
172
+ type: "uint256",
173
+ },
174
+ {
175
+ indexed: false,
176
+ internalType: "uint256",
177
+ name: "amountSyOut",
178
+ type: "uint256",
179
+ },
180
+ ],
181
+ name: "Deposit",
182
+ type: "event",
183
+ },
184
+ {
185
+ anonymous: false,
186
+ inputs: [
187
+ {
188
+ indexed: true,
189
+ internalType: "address",
190
+ name: "caller",
191
+ type: "address",
192
+ },
193
+ {
194
+ indexed: true,
195
+ internalType: "address",
196
+ name: "receiver",
197
+ type: "address",
198
+ },
199
+ {
200
+ indexed: true,
201
+ internalType: "address",
202
+ name: "tokenOut",
203
+ type: "address",
204
+ },
205
+ {
206
+ indexed: false,
207
+ internalType: "uint256",
208
+ name: "amountSyToRedeem",
209
+ type: "uint256",
210
+ },
211
+ {
212
+ indexed: false,
213
+ internalType: "uint256",
214
+ name: "amountTokenOut",
215
+ type: "uint256",
216
+ },
217
+ ],
218
+ name: "Redeem",
219
+ type: "event",
220
+ },
221
+ {
222
+ anonymous: false,
223
+ inputs: [
224
+ {
225
+ indexed: true,
226
+ internalType: "address",
227
+ name: "from",
228
+ type: "address",
229
+ },
230
+ {
231
+ indexed: true,
232
+ internalType: "address",
233
+ name: "to",
234
+ type: "address",
235
+ },
236
+ {
237
+ indexed: false,
238
+ internalType: "uint256",
239
+ name: "value",
240
+ type: "uint256",
241
+ },
242
+ ],
243
+ name: "Transfer",
244
+ type: "event",
245
+ },
246
+ {
247
+ inputs: [],
248
+ name: "BOOSTER",
249
+ outputs: [
250
+ {
251
+ internalType: "address",
252
+ name: "",
253
+ type: "address",
254
+ },
255
+ ],
256
+ stateMutability: "view",
257
+ type: "function",
258
+ },
259
+ {
260
+ inputs: [],
261
+ name: "CRV",
262
+ outputs: [
263
+ {
264
+ internalType: "address",
265
+ name: "",
266
+ type: "address",
267
+ },
268
+ ],
269
+ stateMutability: "view",
270
+ type: "function",
271
+ },
272
+ {
273
+ inputs: [],
274
+ name: "CVX",
275
+ outputs: [
276
+ {
277
+ internalType: "address",
278
+ name: "",
279
+ type: "address",
280
+ },
281
+ ],
282
+ stateMutability: "view",
283
+ type: "function",
284
+ },
285
+ {
286
+ inputs: [],
287
+ name: "DAI",
288
+ outputs: [
289
+ {
290
+ internalType: "address",
291
+ name: "",
292
+ type: "address",
293
+ },
294
+ ],
295
+ stateMutability: "view",
296
+ type: "function",
297
+ },
298
+ {
299
+ inputs: [],
300
+ name: "DOMAIN_SEPARATOR",
301
+ outputs: [
302
+ {
303
+ internalType: "bytes32",
304
+ name: "",
305
+ type: "bytes32",
306
+ },
307
+ ],
308
+ stateMutability: "view",
309
+ type: "function",
310
+ },
311
+ {
312
+ inputs: [],
313
+ name: "INDEX_OF_3CRV",
314
+ outputs: [
315
+ {
316
+ internalType: "uint256",
317
+ name: "",
318
+ type: "uint256",
319
+ },
320
+ ],
321
+ stateMutability: "view",
322
+ type: "function",
323
+ },
324
+ {
325
+ inputs: [],
326
+ name: "LP_3CRV",
327
+ outputs: [
328
+ {
329
+ internalType: "address",
330
+ name: "",
331
+ type: "address",
332
+ },
333
+ ],
334
+ stateMutability: "view",
335
+ type: "function",
336
+ },
337
+ {
338
+ inputs: [],
339
+ name: "PID",
340
+ outputs: [
341
+ {
342
+ internalType: "uint256",
343
+ name: "",
344
+ type: "uint256",
345
+ },
346
+ ],
347
+ stateMutability: "view",
348
+ type: "function",
349
+ },
350
+ {
351
+ inputs: [],
352
+ name: "POOL_3CRV",
353
+ outputs: [
354
+ {
355
+ internalType: "address",
356
+ name: "",
357
+ type: "address",
358
+ },
359
+ ],
360
+ stateMutability: "view",
361
+ type: "function",
362
+ },
363
+ {
364
+ inputs: [],
365
+ name: "USDC",
366
+ outputs: [
367
+ {
368
+ internalType: "address",
369
+ name: "",
370
+ type: "address",
371
+ },
372
+ ],
373
+ stateMutability: "view",
374
+ type: "function",
375
+ },
376
+ {
377
+ inputs: [],
378
+ name: "USDD",
379
+ outputs: [
380
+ {
381
+ internalType: "address",
382
+ name: "",
383
+ type: "address",
384
+ },
385
+ ],
386
+ stateMutability: "view",
387
+ type: "function",
388
+ },
389
+ {
390
+ inputs: [],
391
+ name: "USDT",
392
+ outputs: [
393
+ {
394
+ internalType: "address",
395
+ name: "",
396
+ type: "address",
397
+ },
398
+ ],
399
+ stateMutability: "view",
400
+ type: "function",
401
+ },
402
+ {
403
+ inputs: [
404
+ {
405
+ internalType: "address",
406
+ name: "user",
407
+ type: "address",
408
+ },
409
+ ],
410
+ name: "accruedRewards",
411
+ outputs: [
412
+ {
413
+ internalType: "uint256[]",
414
+ name: "rewardAmounts",
415
+ type: "uint256[]",
416
+ },
417
+ ],
418
+ stateMutability: "view",
419
+ type: "function",
420
+ },
421
+ {
422
+ inputs: [
423
+ {
424
+ internalType: "address",
425
+ name: "owner",
426
+ type: "address",
427
+ },
428
+ {
429
+ internalType: "address",
430
+ name: "spender",
431
+ type: "address",
432
+ },
433
+ ],
434
+ name: "allowance",
435
+ outputs: [
436
+ {
437
+ internalType: "uint256",
438
+ name: "",
439
+ type: "uint256",
440
+ },
441
+ ],
442
+ stateMutability: "view",
443
+ type: "function",
444
+ },
445
+ {
446
+ inputs: [
447
+ {
448
+ internalType: "address",
449
+ name: "spender",
450
+ type: "address",
451
+ },
452
+ {
453
+ internalType: "uint256",
454
+ name: "amount",
455
+ type: "uint256",
456
+ },
457
+ ],
458
+ name: "approve",
459
+ outputs: [
460
+ {
461
+ internalType: "bool",
462
+ name: "",
463
+ type: "bool",
464
+ },
465
+ ],
466
+ stateMutability: "nonpayable",
467
+ type: "function",
468
+ },
469
+ {
470
+ inputs: [],
471
+ name: "assetInfo",
472
+ outputs: [
473
+ {
474
+ internalType: "enum IStandardizedYield.AssetType",
475
+ name: "assetType",
476
+ type: "uint8",
477
+ },
478
+ {
479
+ internalType: "address",
480
+ name: "assetAddress",
481
+ type: "address",
482
+ },
483
+ {
484
+ internalType: "uint8",
485
+ name: "assetDecimals",
486
+ type: "uint8",
487
+ },
488
+ ],
489
+ stateMutability: "view",
490
+ type: "function",
491
+ },
492
+ {
493
+ inputs: [
494
+ {
495
+ internalType: "address",
496
+ name: "account",
497
+ type: "address",
498
+ },
499
+ ],
500
+ name: "balanceOf",
501
+ outputs: [
502
+ {
503
+ internalType: "uint256",
504
+ name: "",
505
+ type: "uint256",
506
+ },
507
+ ],
508
+ stateMutability: "view",
509
+ type: "function",
510
+ },
511
+ {
512
+ inputs: [
513
+ {
514
+ internalType: "address",
515
+ name: "user",
516
+ type: "address",
517
+ },
518
+ ],
519
+ name: "claimRewards",
520
+ outputs: [
521
+ {
522
+ internalType: "uint256[]",
523
+ name: "rewardAmounts",
524
+ type: "uint256[]",
525
+ },
526
+ ],
527
+ stateMutability: "nonpayable",
528
+ type: "function",
529
+ },
530
+ {
531
+ inputs: [],
532
+ name: "crvLp",
533
+ outputs: [
534
+ {
535
+ internalType: "address",
536
+ name: "",
537
+ type: "address",
538
+ },
539
+ ],
540
+ stateMutability: "view",
541
+ type: "function",
542
+ },
543
+ {
544
+ inputs: [],
545
+ name: "crvPool",
546
+ outputs: [
547
+ {
548
+ internalType: "address",
549
+ name: "",
550
+ type: "address",
551
+ },
552
+ ],
553
+ stateMutability: "view",
554
+ type: "function",
555
+ },
556
+ {
557
+ inputs: [],
558
+ name: "cvxPid",
559
+ outputs: [
560
+ {
561
+ internalType: "uint256",
562
+ name: "",
563
+ type: "uint256",
564
+ },
565
+ ],
566
+ stateMutability: "view",
567
+ type: "function",
568
+ },
569
+ {
570
+ inputs: [],
571
+ name: "cvxRewardManager",
572
+ outputs: [
573
+ {
574
+ internalType: "address",
575
+ name: "",
576
+ type: "address",
577
+ },
578
+ ],
579
+ stateMutability: "view",
580
+ type: "function",
581
+ },
582
+ {
583
+ inputs: [],
584
+ name: "decimals",
585
+ outputs: [
586
+ {
587
+ internalType: "uint8",
588
+ name: "",
589
+ type: "uint8",
590
+ },
591
+ ],
592
+ stateMutability: "view",
593
+ type: "function",
594
+ },
595
+ {
596
+ inputs: [
597
+ {
598
+ internalType: "address",
599
+ name: "receiver",
600
+ type: "address",
601
+ },
602
+ {
603
+ internalType: "address",
604
+ name: "tokenIn",
605
+ type: "address",
606
+ },
607
+ {
608
+ internalType: "uint256",
609
+ name: "amountTokenToDeposit",
610
+ type: "uint256",
611
+ },
612
+ {
613
+ internalType: "uint256",
614
+ name: "minSharesOut",
615
+ type: "uint256",
616
+ },
617
+ ],
618
+ name: "deposit",
619
+ outputs: [
620
+ {
621
+ internalType: "uint256",
622
+ name: "amountSharesOut",
623
+ type: "uint256",
624
+ },
625
+ ],
626
+ stateMutability: "payable",
627
+ type: "function",
628
+ },
629
+ {
630
+ inputs: [],
631
+ name: "exchangeRate",
632
+ outputs: [
633
+ {
634
+ internalType: "uint256",
635
+ name: "",
636
+ type: "uint256",
637
+ },
638
+ ],
639
+ stateMutability: "view",
640
+ type: "function",
641
+ },
642
+ {
643
+ inputs: [],
644
+ name: "getRewardTokens",
645
+ outputs: [
646
+ {
647
+ internalType: "address[]",
648
+ name: "rewardTokens",
649
+ type: "address[]",
650
+ },
651
+ ],
652
+ stateMutability: "view",
653
+ type: "function",
654
+ },
655
+ {
656
+ inputs: [],
657
+ name: "getTokensIn",
658
+ outputs: [
659
+ {
660
+ internalType: "address[]",
661
+ name: "res",
662
+ type: "address[]",
663
+ },
664
+ ],
665
+ stateMutability: "view",
666
+ type: "function",
667
+ },
668
+ {
669
+ inputs: [],
670
+ name: "getTokensOut",
671
+ outputs: [
672
+ {
673
+ internalType: "address[]",
674
+ name: "res",
675
+ type: "address[]",
676
+ },
677
+ ],
678
+ stateMutability: "view",
679
+ type: "function",
680
+ },
681
+ {
682
+ inputs: [
683
+ {
684
+ internalType: "address",
685
+ name: "token",
686
+ type: "address",
687
+ },
688
+ ],
689
+ name: "isValidTokenIn",
690
+ outputs: [
691
+ {
692
+ internalType: "bool",
693
+ name: "res",
694
+ type: "bool",
695
+ },
696
+ ],
697
+ stateMutability: "view",
698
+ type: "function",
699
+ },
700
+ {
701
+ inputs: [
702
+ {
703
+ internalType: "address",
704
+ name: "token",
705
+ type: "address",
706
+ },
707
+ ],
708
+ name: "isValidTokenOut",
709
+ outputs: [
710
+ {
711
+ internalType: "bool",
712
+ name: "res",
713
+ type: "bool",
714
+ },
715
+ ],
716
+ stateMutability: "view",
717
+ type: "function",
718
+ },
719
+ {
720
+ inputs: [],
721
+ name: "lastRewardBlock",
722
+ outputs: [
723
+ {
724
+ internalType: "uint256",
725
+ name: "",
726
+ type: "uint256",
727
+ },
728
+ ],
729
+ stateMutability: "view",
730
+ type: "function",
731
+ },
732
+ {
733
+ inputs: [],
734
+ name: "name",
735
+ outputs: [
736
+ {
737
+ internalType: "string",
738
+ name: "",
739
+ type: "string",
740
+ },
741
+ ],
742
+ stateMutability: "view",
743
+ type: "function",
744
+ },
745
+ {
746
+ inputs: [
747
+ {
748
+ internalType: "address",
749
+ name: "owner",
750
+ type: "address",
751
+ },
752
+ ],
753
+ name: "nonces",
754
+ outputs: [
755
+ {
756
+ internalType: "uint256",
757
+ name: "",
758
+ type: "uint256",
759
+ },
760
+ ],
761
+ stateMutability: "view",
762
+ type: "function",
763
+ },
764
+ {
765
+ inputs: [
766
+ {
767
+ internalType: "address",
768
+ name: "owner",
769
+ type: "address",
770
+ },
771
+ {
772
+ internalType: "address",
773
+ name: "spender",
774
+ type: "address",
775
+ },
776
+ {
777
+ internalType: "uint256",
778
+ name: "value",
779
+ type: "uint256",
780
+ },
781
+ {
782
+ internalType: "uint256",
783
+ name: "deadline",
784
+ type: "uint256",
785
+ },
786
+ {
787
+ internalType: "uint8",
788
+ name: "v",
789
+ type: "uint8",
790
+ },
791
+ {
792
+ internalType: "bytes32",
793
+ name: "r",
794
+ type: "bytes32",
795
+ },
796
+ {
797
+ internalType: "bytes32",
798
+ name: "s",
799
+ type: "bytes32",
800
+ },
801
+ ],
802
+ name: "permit",
803
+ outputs: [],
804
+ stateMutability: "nonpayable",
805
+ type: "function",
806
+ },
807
+ {
808
+ inputs: [
809
+ {
810
+ internalType: "address",
811
+ name: "tokenIn",
812
+ type: "address",
813
+ },
814
+ {
815
+ internalType: "uint256",
816
+ name: "amountTokenToDeposit",
817
+ type: "uint256",
818
+ },
819
+ ],
820
+ name: "previewDeposit",
821
+ outputs: [
822
+ {
823
+ internalType: "uint256",
824
+ name: "amountSharesOut",
825
+ type: "uint256",
826
+ },
827
+ ],
828
+ stateMutability: "view",
829
+ type: "function",
830
+ },
831
+ {
832
+ inputs: [
833
+ {
834
+ internalType: "address",
835
+ name: "tokenOut",
836
+ type: "address",
837
+ },
838
+ {
839
+ internalType: "uint256",
840
+ name: "amountSharesToRedeem",
841
+ type: "uint256",
842
+ },
843
+ ],
844
+ name: "previewRedeem",
845
+ outputs: [
846
+ {
847
+ internalType: "uint256",
848
+ name: "amountTokenOut",
849
+ type: "uint256",
850
+ },
851
+ ],
852
+ stateMutability: "view",
853
+ type: "function",
854
+ },
855
+ {
856
+ inputs: [
857
+ {
858
+ internalType: "address",
859
+ name: "receiver",
860
+ type: "address",
861
+ },
862
+ {
863
+ internalType: "uint256",
864
+ name: "amountSharesToRedeem",
865
+ type: "uint256",
866
+ },
867
+ {
868
+ internalType: "address",
869
+ name: "tokenOut",
870
+ type: "address",
871
+ },
872
+ {
873
+ internalType: "uint256",
874
+ name: "minTokenOut",
875
+ type: "uint256",
876
+ },
877
+ {
878
+ internalType: "bool",
879
+ name: "burnFromInternalBalance",
880
+ type: "bool",
881
+ },
882
+ ],
883
+ name: "redeem",
884
+ outputs: [
885
+ {
886
+ internalType: "uint256",
887
+ name: "amountTokenOut",
888
+ type: "uint256",
889
+ },
890
+ ],
891
+ stateMutability: "nonpayable",
892
+ type: "function",
893
+ },
894
+ {
895
+ inputs: [],
896
+ name: "rewardIndexesCurrent",
897
+ outputs: [
898
+ {
899
+ internalType: "uint256[]",
900
+ name: "indexes",
901
+ type: "uint256[]",
902
+ },
903
+ ],
904
+ stateMutability: "nonpayable",
905
+ type: "function",
906
+ },
907
+ {
908
+ inputs: [],
909
+ name: "rewardIndexesStored",
910
+ outputs: [
911
+ {
912
+ internalType: "uint256[]",
913
+ name: "indexes",
914
+ type: "uint256[]",
915
+ },
916
+ ],
917
+ stateMutability: "view",
918
+ type: "function",
919
+ },
920
+ {
921
+ inputs: [
922
+ {
923
+ internalType: "address",
924
+ name: "",
925
+ type: "address",
926
+ },
927
+ ],
928
+ name: "rewardState",
929
+ outputs: [
930
+ {
931
+ internalType: "uint128",
932
+ name: "index",
933
+ type: "uint128",
934
+ },
935
+ {
936
+ internalType: "uint128",
937
+ name: "lastBalance",
938
+ type: "uint128",
939
+ },
940
+ ],
941
+ stateMutability: "view",
942
+ type: "function",
943
+ },
944
+ {
945
+ inputs: [],
946
+ name: "symbol",
947
+ outputs: [
948
+ {
949
+ internalType: "string",
950
+ name: "",
951
+ type: "string",
952
+ },
953
+ ],
954
+ stateMutability: "view",
955
+ type: "function",
956
+ },
957
+ {
958
+ inputs: [],
959
+ name: "totalSupply",
960
+ outputs: [
961
+ {
962
+ internalType: "uint256",
963
+ name: "",
964
+ type: "uint256",
965
+ },
966
+ ],
967
+ stateMutability: "view",
968
+ type: "function",
969
+ },
970
+ {
971
+ inputs: [
972
+ {
973
+ internalType: "address",
974
+ name: "to",
975
+ type: "address",
976
+ },
977
+ {
978
+ internalType: "uint256",
979
+ name: "amount",
980
+ type: "uint256",
981
+ },
982
+ ],
983
+ name: "transfer",
984
+ outputs: [
985
+ {
986
+ internalType: "bool",
987
+ name: "",
988
+ type: "bool",
989
+ },
990
+ ],
991
+ stateMutability: "nonpayable",
992
+ type: "function",
993
+ },
994
+ {
995
+ inputs: [
996
+ {
997
+ internalType: "address",
998
+ name: "from",
999
+ type: "address",
1000
+ },
1001
+ {
1002
+ internalType: "address",
1003
+ name: "to",
1004
+ type: "address",
1005
+ },
1006
+ {
1007
+ internalType: "uint256",
1008
+ name: "amount",
1009
+ type: "uint256",
1010
+ },
1011
+ ],
1012
+ name: "transferFrom",
1013
+ outputs: [
1014
+ {
1015
+ internalType: "bool",
1016
+ name: "",
1017
+ type: "bool",
1018
+ },
1019
+ ],
1020
+ stateMutability: "nonpayable",
1021
+ type: "function",
1022
+ },
1023
+ {
1024
+ inputs: [
1025
+ {
1026
+ internalType: "address",
1027
+ name: "",
1028
+ type: "address",
1029
+ },
1030
+ {
1031
+ internalType: "address",
1032
+ name: "",
1033
+ type: "address",
1034
+ },
1035
+ ],
1036
+ name: "userReward",
1037
+ outputs: [
1038
+ {
1039
+ internalType: "uint128",
1040
+ name: "index",
1041
+ type: "uint128",
1042
+ },
1043
+ {
1044
+ internalType: "uint128",
1045
+ name: "accrued",
1046
+ type: "uint128",
1047
+ },
1048
+ ],
1049
+ stateMutability: "view",
1050
+ type: "function",
1051
+ },
1052
+ {
1053
+ inputs: [],
1054
+ name: "yieldToken",
1055
+ outputs: [
1056
+ {
1057
+ internalType: "address",
1058
+ name: "",
1059
+ type: "address",
1060
+ },
1061
+ ],
1062
+ stateMutability: "view",
1063
+ type: "function",
1064
+ },
1065
+ {
1066
+ stateMutability: "payable",
1067
+ type: "receive",
1068
+ },
1069
+ ];
1070
+
1071
+ const _bytecode =
1072
+ "0x6102006040523480156200001257600080fd5b5060405162005e4f38038062005e4f83398101604081905262000035916200070c565b8181606073e6b5cc1b4b47305c58392ce3d359b10282fc36ea808484838282828282826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000096573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000bc919062000776565b6040805180820190915260018152603160f81b602082015283908184846003620000e7848262000831565b506004620000f6838262000831565b5060ff166080525050600280546001600160f81b0316600160f81b17905581516020808401919091208251918301919091206101008290526101208190524660c0527f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f620001a98184846040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b60a0523060e05261014052505050506001600160a01b039384166101605250505061018089905286166101c05250620001e9935086925050620003459050565b6001600160a01b039081166101a0529081166101e0819052908316146200022357604051631738e62160e11b815260040160405180910390fd5b6101e0516200024a9073f403c135812408bfbe8713b5a23a04b3d48aae3160001962000467565b505050505062000278730c10bf8fcb7bf5412187a595ab97a3609160b5c66101c0516200057e60201b60201c565b620002a1736c3f90f043a72fa612cbac8115ee7e52bde6e4906101c0516200057e60201b60201c565b620002d5736b175474e89094c44da98b954eedeac495271d0f73bebc44782c7db0a1a60cb6fe97d0b483032ff1c76200057e565b6200030973a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4873bebc44782c7db0a1a60cb6fe97d0b483032ff1c76200057e565b6200033d73dac17f958d2ee523a2206206994597c13d831ec773bebc44782c7db0a1a60cb6fe97d0b483032ff1c76200057e565b505062000a37565b60008073f403c135812408bfbe8713b5a23a04b3d48aae316001600160a01b031663081e3eda6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200039b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003c19190620008fd565b831115620003e257604051631738e62160e11b815260040160405180910390fd5b604051631526fe2760e01b81526004810184905273f403c135812408bfbe8713b5a23a04b3d48aae3190631526fe279060240160c060405180830381865afa15801562000433573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000459919062000945565b509397909650945050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b1790529151600092839290871691620004c59190620009c6565b6000604051808303816000865af19150503d806000811462000504576040519150601f19603f3d011682016040523d82523d6000602084013e62000509565b606091505b50915091508180156200053757508051158062000537575080806020019051810190620005379190620009e4565b620005775760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b604482015260640160405180910390fd5b5050505050565b6001600160a01b03821662000591575050565b620005a560026001600160601b0362000a02565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa158015620005ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006259190620008fd565b10156200063b576200063b828260001962000467565b5050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200067257818101518382015260200162000658565b50506000910152565b600082601f8301126200068d57600080fd5b81516001600160401b0380821115620006aa57620006aa6200063f565b604051601f8301601f19908116603f01168101908282118183101715620006d557620006d56200063f565b81604052838152866020858801011115620006ef57600080fd5b6200070284602083016020890162000655565b9695505050505050565b600080604083850312156200072057600080fd5b82516001600160401b03808211156200073857600080fd5b62000746868387016200067b565b935060208501519150808211156200075d57600080fd5b506200076c858286016200067b565b9150509250929050565b6000602082840312156200078957600080fd5b815160ff811681146200079b57600080fd5b9392505050565b600181811c90821680620007b757607f821691505b602082108103620007d857634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200082c57600081815260208120601f850160051c81016020861015620008075750805b601f850160051c820191505b81811015620008285782815560010162000813565b5050505b505050565b81516001600160401b038111156200084d576200084d6200063f565b62000865816200085e8454620007a2565b84620007de565b602080601f8311600181146200089d5760008415620008845750858301515b600019600386901b1c1916600185901b17855562000828565b600085815260208120601f198616915b82811015620008ce57888601518255948401946001909101908401620008ad565b5085821015620008ed5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200091057600080fd5b5051919050565b80516001600160a01b03811681146200092f57600080fd5b919050565b805180151581146200092f57600080fd5b60008060008060008060c087890312156200095f57600080fd5b6200096a8762000917565b95506200097a6020880162000917565b94506200098a6040880162000917565b93506200099a6060880162000917565b9250620009aa6080880162000917565b9150620009ba60a0880162000934565b90509295509295509295565b60008251620009da81846020870162000655565b9190910192915050565b600060208284031215620009f757600080fd5b6200079b8262000934565b60006001600160601b038381168062000a2b57634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161530f62000b40600039600081816105dd015281816109520152818161100f015281816110c9015281816110ea0152818161181501528181612001015281816120d00152818161211c015281816127c601526128d301526000818161070701528181610e1b01528181612851015281816129840152612b860152600081816102ac01528181611f890152612f8a015260008181610424015261186f0152600061056901526000611d4601526000611d9501526000611d7001526000611cc901526000611cf301526000611d1d01526000610392015261530f6000f3fe6080604052600436106102115760003560e01c806306fdde031461021d578063071bc3c914610248578063095ea7b31461026a5780630b1e10311461029a578063128fced1146102db57806318160ddd146103085780631fcc3d291461032b57806320e8c5651461034d578063213cae631461024857806323b872dd14610360578063313ce5671461038057806332c8ffa3146103c65780633644e515146103e85780633ba0b9a9146103fd57806347aea09f146104125780635cbadbe4146104465780635eaec0e4146104b257806370a08231146104c7578063759cb53b146104e757806375b0ffd11461050f578063769f8e5d1461053757806376d5de8514610557578063784367d61461058b5780637ecebe00146105ab5780637f44579b146105cb57806389a30271146105ff578063945c91421461062757806395d89b411461064f5780639c7aad3414610664578063a3abb14414610686578063a40bee501461069b578063a9059cbb146106bf578063a9f8d181146106df578063b20fdc0d146106f5578063b8f82b2614610729578063c4f59f9b14610749578063c54e44eb1461075e578063cbe52ae314610786578063d505accf146107a6578063da88ecb4146107c8578063dd62ed3e146107dd578063e0bab4c4146107fd578063ea64a82014610825578063ef5cfb8c14610866578063f8b2f99114610886578063fa5a4f061461058b57600080fd5b3661021857005b600080fd5b34801561022957600080fd5b5061023261089b565b60405161023f9190614c2d565b60405180910390f35b34801561025457600080fd5b5061025d61092d565b60405161023f9190614ca4565b34801561027657600080fd5b5061028a610285366004614cd3565b610b03565b604051901515815260200161023f565b3480156102a657600080fd5b506102ce7f000000000000000000000000000000000000000000000000000000000000000081565b60405161023f9190614cfd565b3480156102e757600080fd5b506102fb6102f6366004614d11565b610b1d565b60405161023f9190614d5c565b34801561031457600080fd5b5061031d610c29565b60405190815260200161023f565b34801561033757600080fd5b506102ce60008051602061529a83398151915281565b61031d61035b366004614d6f565b610c38565b34801561036c57600080fd5b5061028a61037b366004614db1565b610d8a565b34801561038c57600080fd5b506103b47f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff909116815260200161023f565b3480156103d257600080fd5b506102ce60008051602061525a83398151915281565b3480156103f457600080fd5b5061031d610e08565b34801561040957600080fd5b5061031d610e17565b34801561041e57600080fd5b5061031d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561045257600080fd5b50610492610461366004614ded565b60066020908152600092835260408084209091529082529020546001600160801b0380821691600160801b90041682565b604080516001600160801b0393841681529290911660208301520161023f565b3480156104be57600080fd5b5061031d606081565b3480156104d357600080fd5b5061031d6104e2366004614d11565b610e9b565b3480156104f357600080fd5b506102ce734e3fbd56cd56c3e72c1403e103b45db9da5b9d2b81565b34801561051b57600080fd5b506102ce73f403c135812408bfbe8713b5a23a04b3d48aae3181565b34801561054357600080fd5b5061031d610552366004614e2e565b610eb6565b34801561056357600080fd5b506102ce7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059757600080fd5b5061028a6105a6366004614d11565b61100b565b3480156105b757600080fd5b5061031d6105c6366004614d11565b611093565b3480156105d757600080fd5b506102ce7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060b57600080fd5b506102ce73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881565b34801561063357600080fd5b506102ce73d533a949740bb3306d119cc777fa900ba034cd5281565b34801561065b57600080fd5b506102326110b1565b34801561067057600080fd5b506102ce60008051602061527a83398151915281565b34801561069257600080fd5b5061031d600181565b3480156106a757600080fd5b506106b06110c0565b60405161023f93929190614e9f565b3480156106cb57600080fd5b5061028a6106da366004614cd3565b611175565b3480156106eb57600080fd5b5061031d60075481565b34801561070157600080fd5b506102ce7f000000000000000000000000000000000000000000000000000000000000000081565b34801561073557600080fd5b5061031d610744366004614cd3565b6111e7565b34801561075557600080fd5b5061025d611222565b34801561076a57600080fd5b506102ce73dac17f958d2ee523a2206206994597c13d831ec781565b34801561079257600080fd5b5061031d6107a1366004614cd3565b61122c565b3480156107b257600080fd5b506107c66107c1366004614ef0565b611260565b005b3480156107d457600080fd5b506102fb6113c4565b3480156107e957600080fd5b5061031d6107f8366004614ded565b611495565b34801561080957600080fd5b506102ce736b175474e89094c44da98b954eedeac495271d0f81565b34801561083157600080fd5b50610492610840366004614d11565b6008602052600090815260409020546001600160801b0380821691600160801b90041682565b34801561087257600080fd5b506102fb610881366004614d11565b6114c0565b34801561089257600080fd5b506102fb61157f565b6060600380546108aa90614f5d565b80601f01602080910402602001604051908101604052809291908181526020018280546108d690614f5d565b80156109235780601f106108f857610100808354040283529160200191610923565b820191906000526020600020905b81548152906001019060200180831161090657829003601f168201915b5050505050905090565b60408051600680825260e082019092526060916020820160c0803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061098457610984614fa7565b60200260200101906001600160a01b031690816001600160a01b03168152505060008051602061525a833981519152816001815181106109c6576109c6614fa7565b60200260200101906001600160a01b031690816001600160a01b03168152505060008051602061527a83398151915281600281518110610a0857610a08614fa7565b60200260200101906001600160a01b031690816001600160a01b031681525050736b175474e89094c44da98b954eedeac495271d0f81600381518110610a5057610a50614fa7565b60200260200101906001600160a01b031690816001600160a01b03168152505073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881600481518110610a9857610a98614fa7565b60200260200101906001600160a01b031690816001600160a01b03168152505073dac17f958d2ee523a2206206994597c13d831ec781600581518110610ae057610ae0614fa7565b60200260200101906001600160a01b031690816001600160a01b03168152505090565b600033610b118185856115f1565b60019150505b92915050565b60606000610b29611715565b905080516001600160401b03811115610b4457610b44614f91565b604051908082528060200260200182016040528015610b6d578160200160208202803683370190505b50915060005b8151811015610c225760066000838381518110610b9257610b92614fa7565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000856001600160a01b03166001600160a01b0316815260200190815260200160002060000160109054906101000a90046001600160801b03166001600160801b0316838281518110610c0f57610c0f614fa7565b6020908102919091010152600101610b73565b5050919050565b6002546001600160f81b031690565b600254600090600119600160f81b90910460ff1601610c725760405162461bcd60e51b8152600401610c6990614fbd565b60405180910390fd5b600280546001600160f81b0316600160f91b179055610c908461100b565b610caf57836040516315d57ce360e31b8152600401610c699190614cfd565b82600003610cd057604051630a907f2f60e41b815260040160405180910390fd5b610cdb8433856117a5565b610ce58484611811565b905081811015610d0c578082604051635e38f95d60e11b8152600401610c69929190614ff4565b610d16858261190a565b836001600160a01b0316856001600160a01b0316336001600160a01b03167f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d598685604051610d65929190614ff4565b60405180910390a4600280546001600160f81b0316600160f81b179055949350505050565b600254600090600119600160f81b90910460ff1601610dbb5760405162461bcd60e51b8152600401610c6990614fbd565b600280546001600160f81b0316600160f91b17905533610ddc858285611a20565b610de7858585611a9a565b6001915050600280546001600160f81b0316600160f81b1790559392505050565b6000610e12611cbc565b905090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bb7b8b806040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e129190615002565b6001600160a01b031660009081526020819052604090205490565b600254600090600119600160f81b90910460ff1601610ee75760405162461bcd60e51b8152600401610c6990614fbd565b600280546001600160f81b0316600160f91b179055610f058461100b565b610f2457836040516388a5056160e01b8152600401610c699190614cfd565b84600003610f455760405163c3d83b0760e01b815260040160405180910390fd5b8115610f5a57610f553086611de3565b610f64565b610f643386611de3565b610f6f868587611f69565b905082811015610f965780836040516305ff726560e51b8152600401610c69929190614ff4565b836001600160a01b0316866001600160a01b0316336001600160a01b03167faee47cdf925cf525fdae94f9777ee5a06cac37e1c41220d0a8a89ed154f62d1c8885604051610fe5929190614ff4565b60405180910390a4600280546001600160f81b0316600160f81b17905595945050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316148061106357506001600160a01b03821660008051602061525a833981519152145b8061108457506001600160a01b03821660008051602061527a833981519152145b80610b175750610b1782612057565b6001600160a01b038116600090815260056020526040812054610b17565b6060600480546108aa90614f5d565b600080600060017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611146573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116a919061501b565b925092509250909192565b600254600090600119600160f81b90910460ff16016111a65760405162461bcd60e51b8152600401610c6990614fbd565b600280546001600160f81b0316600160f91b179055336111c7818585611a9a565b6001915050600280546001600160f81b0316600160f81b17905592915050565b60006111f28361100b565b61121157826040516315d57ce360e31b8152600401610c699190614cfd565b61121b83836120cc565b9392505050565b6060610e12611715565b60006112378361100b565b61125657826040516388a5056160e01b8152600401610c699190614cfd565b61121b8383612118565b834211156112b05760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610c69565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886112df8c612164565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061133a8261218c565b9050600061134a828787876121da565b9050896001600160a01b0316816001600160a01b0316146113ad5760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610c69565b6113b88a8a8a6115f1565b50505050505050505050565b606060006113d0611715565b905080516001600160401b038111156113eb576113eb614f91565b604051908082528060200260200182016040528015611414578160200160208202803683370190505b50915060005b8151811015611490576008600083838151811061143957611439614fa7565b6020908102919091018101516001600160a01b031682528101919091526040016000205483516001600160801b039091169084908390811061147d5761147d614fa7565b602090810291909101015260010161141a565b505090565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600254606090600119600160f81b90910460ff16016114f15760405162461bcd60e51b8152600401610c6990614fbd565b600280546001600160f81b0316600160f91b17905561150f82612202565b6115198283612210565b9050816001600160a01b03167f2193aa20a3717f5f4ac79482f4f553e5f0afe8f4e6ec3e3d1aa2e138adc4763f61154e611715565b8360405161155d929190615038565b60405180910390a2600280546001600160f81b0316600160f81b179055919050565b600254606090600119600160f81b90910460ff16016115b05760405162461bcd60e51b8152600401610c6990614fbd565b600280546001600160f81b0316600160f91b1790556115cd6124b8565b50506115d76113c4565b9050600280546001600160f81b0316600160f81b17905590565b6001600160a01b0383166116535760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c69565b6001600160a01b0382166116b45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c69565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b604080516002808252606080830184529260208301908036833701905050905073d533a949740bb3306d119cc777fa900ba034cd528160008151811061175d5761175d614fa7565b60200260200101906001600160a01b031690816001600160a01b031681525050734e3fbd56cd56c3e72c1403e103b45db9da5b9d2b81600181518110610ae057610ae0614fa7565b6001600160a01b0383166117f6578034146117f15760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b6044820152606401610c69565b505050565b80156117f1576117f16001600160a01b038416833084612753565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603611853575080611860565b61185d83836127be565b90505b6040516321d0683360e11b81527f00000000000000000000000000000000000000000000000000000000000000006004820152602481018290526001604482015273f403c135812408bfbe8713b5a23a04b3d48aae31906343a0d066906064016020604051808303816000875af11580156118df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611903919061505d565b5092915050565b6001600160a01b0382166119605760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610c69565b61196c6000838361290a565b61197581612914565b600280546000906119909084906001600160f81b0316615090565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555080600080846001600160a01b03166001600160a01b0316815260200190815260200160002060008282546119e891906150b0565b90915550506040518181526001600160a01b038316906000906000805160206152ba8339815191529060200160405180910390a35050565b6000611a2c8484611495565b90506000198114611a945781811015611a875760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610c69565b611a9484848484036115f1565b50505050565b6001600160a01b038316611afe5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610c69565b6001600160a01b038216611b605760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610c69565b816001600160a01b0316836001600160a01b031603611bbb5760405162461bcd60e51b815260206004820152601760248201527622a92199181d103a3930b739b332b9103a379039b2b63360491b6044820152606401610c69565b611bc683838361290a565b6001600160a01b03831660009081526020819052604090205481811015611c3e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610c69565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611c759084906150b0565b92505081905550826001600160a01b0316846001600160a01b03166000805160206152ba83398151915284604051611caf91815260200190565b60405180910390a3611a94565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611d1557507f000000000000000000000000000000000000000000000000000000000000000046145b15611d3f57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6001600160a01b038216611e435760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610c69565b611e4f8260008361290a565b6001600160a01b03821660009081526020819052604090205481811015611ec35760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610c69565b6001600160a01b03831660009081526020819052604090208282039055611ee982612914565b60028054600090611f049084906001600160f81b03166150c3565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555060006001600160a01b0316836001600160a01b03166000805160206152ba83398151915284604051611f5c91815260200190565b60405180910390a3505050565b604051636197390160e11b815260048101829052600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c32e7202906044016020604051808303816000875af1158015611fda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ffe919061505d565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03160361203f57508061204c565b612049838361292e565b90505b61121b838583612a6b565b60006001600160a01b038216736b175474e89094c44da98b954eedeac495271d0f14806120a057506001600160a01b03821673a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48145b80610b1757506001600160a01b03821673dac17f958d2ee523a2206206994597c13d831ec71492915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03160361210e575080610b17565b61121b8383612b2f565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03160361215a575080610b17565b61121b8383612b3b565b6001600160a01b03811660009081526005602052604090208054600181018255905b50919050565b6000610b17612199611cbc565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b60008060006121eb87878787612c54565b915091506121f881612d37565b5095945050505050565b61220d816000612ee8565b50565b6060600061221c611715565b905080516001600160401b0381111561223757612237614f91565b604051908082528060200260200182016040528015612260578160200160208202803683370190505b50915060005b81518110156124b0576006600083838151811061228557612285614fa7565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000866001600160a01b03166001600160a01b0316815260200190815260200160002060000160109054906101000a90046001600160801b03166001600160801b031683828151811061230257612302614fa7565b60200260200101818152505082818151811061232057612320614fa7565b602002602001015160001461249e5760006006600084848151811061234757612347614fa7565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000876001600160a01b03166001600160a01b0316815260200190815260200160002060000160106101000a8154816001600160801b0302191690836001600160801b031602179055506123db8382815181106123ce576123ce614fa7565b6020026020010151612f68565b600860008484815181106123f1576123f1614fa7565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060000160108282829054906101000a90046001600160801b031661243d91906150e3565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061249e82828151811061247657612476614fa7565b60200260200101518585848151811061249157612491614fa7565b6020026020010151612a6b565b806124a881615103565b915050612266565b505092915050565b6060806124c3611715565b915081516001600160401b038111156124de576124de614f91565b604051908082528060200260200182016040528015612507578160200160208202803683370190505b5090508151600003612517579091565b43600754146126cb5743600755600061252e612f7e565b9050612538612f88565b60005b83518110156126c857600084828151811061255857612558614fa7565b6020908102919091018101516001600160a01b0381166000908152600890925260408220548751919350600160801b90046001600160801b0316906125b6908890869081106125a9576125a9614fa7565b6020026020010151612ff7565b6125c0919061511c565b6001600160a01b0383166000908152600860205260408120549192506001600160801b03909116908190036125f3575060015b8415612610576126038286613081565b61260d90826150b0565b90505b61261981612f68565b6001600160a01b038416600090815260086020526040902080546001600160801b0319166001600160801b039290921691909117905561265882612f68565b6001600160a01b03841660009081526008602052604090208054601090612690908490600160801b90046001600160801b031661512f565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050806126c190615103565b905061253b565b50505b60005b825181101561274e57600860008483815181106126ed576126ed614fa7565b6020908102919091018101516001600160a01b031682528101919091526040016000205482516001600160801b039091169083908390811061273157612731614fa7565b60209081029190910101528061274681615103565b9150506126ce565b509091565b6040516001600160a01b0380851660248301528316604482015260648101829052611a949085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526130b0565b6000806127ea7f0000000000000000000000000000000000000000000000000000000000000000612ff7565b90506127f4614bcd565b6127fd85612057565b1561281957600061280e8686613182565b60208301525061283a565b8381612824876132eb565b6002811061283457612834614fa7565b60200201525b604051630b4c7e4d60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630b4c7e4d9061288990849060009060040161514f565b6020604051808303816000875af11580156128a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128cc9190615002565b50816128f77f0000000000000000000000000000000000000000000000000000000000000000612ff7565b612901919061511c565b95945050505050565b6117f18383612ee8565b60006001600160f81b0382111561292a57600080fd5b5090565b6000806001600160a01b03841660008051602061525a833981519152146129635760008051602061527a833981519152612973565b60008051602061525a8339815191525b9050600061298082612ff7565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631a4d01d2856129c36129be866132eb565b61331e565b60006040518463ffffffff1660e01b81526004016129e393929190615187565b6020604051808303816000875af1158015612a02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a269190615002565b50600081612a3384612ff7565b612a3d919061511c565b9050612a4886612057565b15612a5e57612a578682613331565b9350612a62565b8093505b50505092915050565b80600003612a7857505050565b6001600160a01b038316612b1b576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612ad3576040519150601f19603f3d011682016040523d82523d6000602084013e612ad8565b606091505b5050905080611a945760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b6044820152606401610c69565b6117f16001600160a01b0384168383613445565b600061121b8383613475565b6000806001600160a01b03841660008051602061525a83398151915214612b705760008051602061527a833981519152612b80565b60008051602061525a8339815191525b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cc2b27d785612bc06129be866132eb565b6040516001600160e01b031960e085901b1681526004810192909252600f0b6024820152604401602060405180830381865afa158015612c04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c289190615002565b9050612c3385612057565b15612c4b57612c4285826138af565b92505050610b17565b9150610b179050565b6000806fa2a8918ca85bafe22016d0b997e4df60600160ff1b03831115612c815750600090506003612d2e565b8460ff16601b14158015612c9957508460ff16601c14155b15612caa5750600090506004612d2e565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612cfe573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612d2757600060019250925050612d2e565b9150600090505b94509492505050565b6000816004811115612d4b57612d4b614e89565b03612d535750565b6001816004811115612d6757612d67614e89565b03612daf5760405162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b6044820152606401610c69565b6002816004811115612dc357612dc3614e89565b03612e105760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610c69565b6003816004811115612e2457612e24614e89565b03612e7c5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610c69565b6004816004811115612e9057612e90614e89565b0361220d5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610c69565b600080612ef36124b8565b915091508151600003612f065750505050565b6001600160a01b03841615801590612f2757506001600160a01b0384163014155b15612f3757612f3784838361393a565b6001600160a01b03831615801590612f5857506001600160a01b0383163014155b15611a9457611a9483838361393a565b60006001600160801b0382111561292a57600080fd5b6000610e12610c29565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633d18b9126040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612fe357600080fd5b505af1158015611a94573d6000803e3d6000fd5b60006001600160a01b0382161561307a576040516370a0823160e01b81526001600160a01b038316906370a0823190613034903090600401614cfd565b602060405180830381865afa158015613051573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130759190615002565b610b17565b4792915050565b600080613096670de0b6b3a7640000856151a0565b90508281816130a7576130a76151b7565b04949350505050565b6000613105826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613bba9092919063ffffffff16565b8051909150156117f15780806020019051810190613123919061505d565b6117f15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610c69565b6040516370a0823160e01b8152600090819060008051602061527a833981519152906370a08231906131b8903090600401614cfd565b602060405180830381865afa1580156131d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131f99190615002565b905060008051602061529a833981519152634515cef36132198686613bd1565b60006040518363ffffffff1660e01b81526004016132389291906151cd565b600060405180830381600087803b15801561325257600080fd5b505af1158015613266573d6000803e3d6000fd5b50506040516370a0823160e01b81526000925060008051602061527a83398151915291506370a082319061329e903090600401614cfd565b602060405180830381865afa1580156132bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132df9190615002565b9050612901828261511c565b60006001600160a01b03821660008051602061525a83398151915214613312576001613315565b60005b60ff1692915050565b6000610b1761332c83613bff565b613c15565b600080836001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016133609190614cfd565b602060405180830381865afa15801561337d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133a19190615002565b905060008051602061529a833981519152631a4d01d2846133c46129be88613c3f565b60006040518463ffffffff1660e01b81526004016133e493929190615187565b600060405180830381600087803b1580156133fe57600080fd5b505af1158015613412573d6000803e3d6000fd5b50506040516370a0823160e01b8152600092506001600160a01b03871691506370a082319061329e903090600401614cfd565b6040516001600160a01b0383166024820152604481018290526117f190849063a9059cbb60e01b90606401612787565b60008073__$aa6891d51b3aa03416e706f4d51a3c173a$__63bb7b8b806040518163ffffffff1660e01b8152600401602060405180830381865af41580156134c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134e59190615002565b90506134f084612057565b15613516576134ff8484613d1a565b60008051602061527a833981519152955090935090505b6000613522858561419f565b9050600073e6b5cc1b4b47305c58392ce3d359b10282fc36ea6001600160a01b03166376a2f0f06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613578573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061359c9190615002565b905060006135a86141e4565b90506135b2614bcd565b6135bc81836142e2565b60006135c983858861432c565b9050600073e6b5cc1b4b47305c58392ce3d359b10282fc36ea6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561361f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136439190615002565b905060005b600281101561369e5786816002811061366357613663614fa7565b602002015184826002811061367a5761367a614fa7565b6020020181815161368b91906150b0565b90525061369781615103565b9050613648565b5060006136ac84878a61432c565b90508281116136bd576136bd615205565b6136c5614bcd565b60006136d36001600261511c565b6136de9060046151a0565b600273e6b5cc1b4b47305c58392ce3d359b10282fc36ea6001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015613732573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137569190615002565b61376091906151a0565b61376a919061521b565b905060005b600281101561386e5760008689836002811061378d5761378d614fa7565b602002015161379c90876151a0565b6137a6919061521b565b90506000808984600281106137bd576137bd614fa7565b60200201519050808311156137dd576137d6818461511c565b91506137ea565b6137e7838261511c565b91505b6402540be4006137fa83876151a0565b613804919061521b565b86856002811061381657613816614fa7565b602002015285846002811061382d5761382d614fa7565b60200201518a856002811061384457613844614fa7565b60200201818151613855919061511c565b90525061386792508391506151039050565b905061376f565b50600061387c878a8d61432c565b905085613889818361511c565b61389390876151a0565b61389d919061521b565b9e9d5050505050505050505050505050565b600060008051602061529a83398151915263cc2b27d7836138d26129be87613c3f565b6040516001600160e01b031960e085901b1681526004810192909252600f0b6024820152604401602060405180830381865afa158015613916573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121b9190615002565b6001600160a01b0383161580159061395b57506001600160a01b0383163014155b61396757613967615205565b60006139728461438a565b905060005b8351811015613bb357600084828151811061399457613994614fa7565b6020026020010151905060008483815181106139b2576139b2614fa7565b6020908102919091018101516001600160a01b038085166000908152600684526040808220928c168252919093528220549092506001600160801b031690819003613a4e57613a0082612f68565b6001600160a01b039384166000908152600660209081526040808320968c1683529590529390932080546001600160801b0319166001600160801b039094169390931790925550613ba39050565b818103613a5d57505050613ba3565b6000613a69828461511c565b90506000613a778783614395565b6001600160a01b038681166000908152600660209081526040808320938f1683529290529081205491925090613abe908390600160801b90046001600160801b03166150b0565b90506040518060400160405280613ad487612f68565b6001600160801b03168152602001613aeb83612f68565b6001600160801b031681525060066000886001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816001600160801b0302191690836001600160801b031602179055509050505050505050505b613bac81615103565b9050613977565b5050505050565b6060613bc984846000856143b3565b949350505050565b613bd9614beb565b8181613be485613c3f565b60038110613bf457613bf4614fa7565b602002015292915050565b60006001600160ff1b0382111561292a57600080fd5b600060016001607f1b03198212801590613c36575060016001607f1b038213155b61292a57600080fd5b6000736b175474e89094c44da98b954eedeac495271d0e196001600160a01b03831601613c6e57506000919050565b73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb47196001600160a01b03831601613c9b57506001919050565b73dac17f958d2ee523a2206206994597c13d831ec6196001600160a01b03831601613cc857506002919050565b60405162461bcd60e51b815260206004820152602160248201527f50656e646c653343727648656c7065723a206e6f742076616c696420746f6b656044820152603760f91b6064820152608401610c69565b6000806000613d298585613bd1565b9050600060008051602061529a8339815191526001600160a01b031663f446c1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613d79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d9d9190615002565b9050600060008051602061529a8339815191526001600160a01b031663fee3f7f96040518163ffffffff1660e01b8152600401602060405180830381865afa158015613ded573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e119190615002565b90506000613e1d6144e4565b9050613e27614beb565b613e2f614beb565b613e398284614645565b613e438184614645565b6000613e4f848761468f565b9050600060008051602061527a8339815191526001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613e9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ec39190615002565b905060005b6003811015613f1e57888160038110613ee357613ee3614fa7565b6020020151858260038110613efa57613efa614fa7565b60200201818151613f0b91906150b0565b905250613f1781615103565b9050613ec8565b506000613f2b858961468f565b9050828111613f3c57613f3c615205565b613f44614beb565b6000613f526001600361511c565b613f5d9060046151a0565b600360008051602061529a8339815191526001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015613fab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613fcf9190615002565b613fd991906151a0565b613fe3919061521b565b905060005b6003811015614151576000868a836003811061400657614006614fa7565b602002015161401590876151a0565b61401f919061521b565b90506000808a846003811061403657614036614fa7565b60200201519050808311156140565761404f818461511c565b9150614063565b614060838261511c565b91505b6402540be40061407383876151a0565b61407d919061521b565b86856003811061408f5761408f614fa7565b60200201526402540be4008d8786600381106140ad576140ad614fa7565b60200201516140bc91906151a0565b6140c6919061521b565b8b85600381106140d8576140d8614fa7565b60200201516140e7919061511c565b8a85600381106140f9576140f9614fa7565b602002015285846003811061411057614110614fa7565b60200201518b856003811061412757614127614fa7565b60200201818151614138919061511c565b90525061414a92508391506151039050565b9050613fe8565b50600061415e888c61468f565b90508561416b818361511c565b61417590876151a0565b61417f919061521b565b9d5061418a8761472d565b9c505050505050505050505050509250929050565b6141a7614bcd565b81816001600160a01b03851660008051602061525a833981519152146141ce5760016141d1565b60005b60ff1660028110613bf457613bf4614fa7565b6141ec614bcd565b604051634903b0d160e01b81526000600482015273e6b5cc1b4b47305c58392ce3d359b10282fc36ea90634903b0d190602401602060405180830381865afa15801561423c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142609190615002565b8152604051634903b0d160e01b81526001600482015273e6b5cc1b4b47305c58392ce3d359b10282fc36ea90634903b0d190602401602060405180830381865afa1580156142b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142d69190615002565b8160015b602002015290565b60005b60028110156117f15781816002811061430057614300614fa7565b602002015183826002811061431757614317614fa7565b602002015261432581615103565b90506142e5565b6000614336614bcd565b8451670de0b6b3a76400009061434c90826151a0565b614356919061521b565b81526020850151670de0b6b3a76400009061437190856151a0565b61437b919061521b565b6020820152612901818561483c565b6000610b1782610e9b565b6000806143a283856151a0565b9050670de0b6b3a7640000816130a7565b6060824710156144145760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610c69565b6001600160a01b0385163b61446b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610c69565b600080866001600160a01b03168587604051614487919061523d565b60006040518083038185875af1925050503d80600081146144c4576040519150601f19603f3d011682016040523d82523d6000602084013e6144c9565b606091505b50915091506144d98282866149fd565b979650505050505050565b6144ec614beb565b604051634903b0d160e01b81526000600482015260008051602061529a83398151915290634903b0d190602401602060405180830381865afa158015614536573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061455a9190615002565b8152604051634903b0d160e01b81526001600482015260008051602061529a83398151915290634903b0d190602401602060405180830381865afa1580156145a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145ca9190615002565b6020820152604051634903b0d160e01b81526002600482015260008051602061529a83398151915290634903b0d190602401602060405180830381865afa158015614619573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061463d9190615002565b8160026142da565b60005b60038110156117f15781816003811061466357614663614fa7565b602002015183826003811061467a5761467a614fa7565b602002015261468881615103565b9050614648565b6000614699614beb565b8351670de0b6b3a7640000906146af90826151a0565b6146b9919061521b565b81526020840151670de0b6b3a7640000906146e09068327cb2734119d3b7a9601e1b6151a0565b6146ea919061521b565b60208201526040840151670de0b6b3a7640000906147149068327cb2734119d3b7a9601e1b6151a0565b61471e919061521b565b6040820152613bc98184614a36565b60008060008051602061529a8339815191526001600160a01b031663f446c1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561477c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147a09190615002565b905060006147ae848361468f565b905060008051602061527a8339815191526001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156147fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148209190615002565b614832670de0b6b3a7640000836151a0565b613bc9919061521b565b60008080805b600281101561487e5785816002811061485d5761485d614fa7565b602002015161486c90846150b0565b925061487781615103565b9050614842565b508160000361489257600092505050610b17565b8160006148a06002876151a0565b905060005b60ff8110156149ea578260005b60028110156149045760028a82600281106148cf576148cf614fa7565b60200201516148de91906151a0565b6148e886846151a0565b6148f2919061521b565b91506148fd81615103565b90506148b2565b50839450806002600161491791906150b0565b61492191906151a0565b60648561492e828761511c565b61493891906151a0565b614942919061521b565b61494c91906150b0565b846149586002846151a0565b60646149648a886151a0565b61496e919061521b565b61497891906150b0565b61498291906151a0565b61498c919061521b565b9350848411156149ba5760016149a2868661511c565b116149b557839650505050505050610b17565b6149d9565b60016149c6858761511c565b116149d957839650505050505050610b17565b506149e381615103565b90506148a5565b506149f3615205565b5050505092915050565b60608315614a0c57508161121b565b825115614a1c5782518084602001fd5b8160405162461bcd60e51b8152600401610c699190614c2d565b60008080805b6003811015614a7857858160038110614a5757614a57614fa7565b6020020151614a6690846150b0565b9250614a7181615103565b9050614a3c565b5081600003614a8c57600092505050610b17565b816000614a9a6003876151a0565b905060005b60ff8110156149ea578260005b6003811015614afe5760038a8260038110614ac957614ac9614fa7565b6020020151614ad891906151a0565b614ae286846151a0565b614aec919061521b565b9150614af781615103565b9050614aac565b508394508060036001614b1191906150b0565b614b1b91906151a0565b84614b2760018661511c565b614b3191906151a0565b614b3b91906150b0565b84614b476003846151a0565b614b5189876151a0565b614b5b91906150b0565b614b6591906151a0565b614b6f919061521b565b935084841115614b9d576001614b85868661511c565b11614b9857839650505050505050610b17565b614bbc565b6001614ba9858761511c565b11614bbc57839650505050505050610b17565b50614bc681615103565b9050614a9f565b60405180604001604052806002906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b60005b83811015614c24578181015183820152602001614c0c565b50506000910152565b6020815260008251806020840152614c4c816040850160208701614c09565b601f01601f19169190910160400192915050565b600081518084526020808501945080840160005b83811015614c995781516001600160a01b031687529582019590820190600101614c74565b509495945050505050565b60208152600061121b6020830184614c60565b80356001600160a01b0381168114614cce57600080fd5b919050565b60008060408385031215614ce657600080fd5b614cef83614cb7565b946020939093013593505050565b6001600160a01b0391909116815260200190565b600060208284031215614d2357600080fd5b61121b82614cb7565b600081518084526020808501945080840160005b83811015614c9957815187529582019590820190600101614d40565b60208152600061121b6020830184614d2c565b60008060008060808587031215614d8557600080fd5b614d8e85614cb7565b9350614d9c60208601614cb7565b93969395505050506040820135916060013590565b600080600060608486031215614dc657600080fd5b614dcf84614cb7565b9250614ddd60208501614cb7565b9150604084013590509250925092565b60008060408385031215614e0057600080fd5b614e0983614cb7565b9150614e1760208401614cb7565b90509250929050565b801515811461220d57600080fd5b600080600080600060a08688031215614e4657600080fd5b614e4f86614cb7565b945060208601359350614e6460408701614cb7565b9250606086013591506080860135614e7b81614e20565b809150509295509295909350565b634e487b7160e01b600052602160045260246000fd5b6060810160028510614ec157634e487b7160e01b600052602160045260246000fd5b9381526001600160a01b0392909216602083015260ff1660409091015290565b60ff8116811461220d57600080fd5b600080600080600080600060e0888a031215614f0b57600080fd5b614f1488614cb7565b9650614f2260208901614cb7565b955060408801359450606088013593506080880135614f4081614ee1565b9699959850939692959460a0840135945060c09093013592915050565b600181811c90821680614f7157607f821691505b60208210810361218657634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b918252602082015260400190565b60006020828403121561501457600080fd5b5051919050565b60006020828403121561502d57600080fd5b815161121b81614ee1565b60408152600061504b6040830185614c60565b82810360208401526129018185614d2c565b60006020828403121561506f57600080fd5b815161121b81614e20565b634e487b7160e01b600052601160045260246000fd5b6001600160f81b038181168382160190808211156119035761190361507a565b80820180821115610b1757610b1761507a565b6001600160f81b038281168282160390808211156119035761190361507a565b6001600160801b038281168282160390808211156119035761190361507a565b6000600182016151155761511561507a565b5060010190565b81810381811115610b1757610b1761507a565b6001600160801b038181168382160190808211156119035761190361507a565b60608101818460005b6002811015615177578151835260209283019290910190600101615158565b5050508260408301529392505050565b928352600f9190910b6020830152604082015260600190565b8082028115828204841417610b1757610b1761507a565b634e487b7160e01b600052601260045260246000fd5b60808101818460005b60038110156151f55781518352602092830192909101906001016151d6565b5050508260608301529392505050565b634e487b7160e01b600052600160045260246000fd5b60008261523857634e487b7160e01b600052601260045260246000fd5b500490565b6000825161524f818460208701614c09565b919091019291505056fe0000000000000000000000000c10bf8fcb7bf5412187a595ab97a3609160b5c60000000000000000000000006c3f90f043a72fa612cbac8115ee7e52bde6e490000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c7ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220d9a785e8bbb61f7c8793b44a0a83e2fee5710a7b2f058b513ac161f150f7dba464736f6c63430008110033";
1073
+
1074
+ type PendleCurveUsdd3CrvSYConstructorParams =
1075
+ | [
1076
+ linkLibraryAddresses: PendleCurveUsdd3CrvSYLibraryAddresses,
1077
+ signer?: Signer
1078
+ ]
1079
+ | ConstructorParameters<typeof ContractFactory>;
1080
+
1081
+ const isSuperArgs = (
1082
+ xs: PendleCurveUsdd3CrvSYConstructorParams
1083
+ ): xs is ConstructorParameters<typeof ContractFactory> => {
1084
+ return (
1085
+ typeof xs[0] === "string" ||
1086
+ (Array.isArray as (arg: any) => arg is readonly any[])(xs[0]) ||
1087
+ "_isInterface" in xs[0]
1088
+ );
1089
+ };
1090
+
1091
+ export class PendleCurveUsdd3CrvSY__factory extends ContractFactory {
1092
+ constructor(...args: PendleCurveUsdd3CrvSYConstructorParams) {
1093
+ if (isSuperArgs(args)) {
1094
+ super(...args);
1095
+ } else {
1096
+ const [linkLibraryAddresses, signer] = args;
1097
+ super(
1098
+ _abi,
1099
+ PendleCurveUsdd3CrvSY__factory.linkBytecode(linkLibraryAddresses),
1100
+ signer
1101
+ );
1102
+ }
1103
+ this.contractName = "PendleCurveUsdd3CrvSY";
1104
+ }
1105
+
1106
+ static linkBytecode(
1107
+ linkLibraryAddresses: PendleCurveUsdd3CrvSYLibraryAddresses
1108
+ ): string {
1109
+ let linkedBytecode = _bytecode;
1110
+
1111
+ linkedBytecode = linkedBytecode.replace(
1112
+ new RegExp("__\\$aa6891d51b3aa03416e706f4d51a3c173a\\$__", "g"),
1113
+ linkLibraryAddresses[
1114
+ "contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol:Curve3CrvPoolHelper"
1115
+ ]
1116
+ .replace(/^0x/, "")
1117
+ .toLowerCase()
1118
+ );
1119
+
1120
+ return linkedBytecode;
1121
+ }
1122
+
1123
+ deploy(
1124
+ _name: string,
1125
+ _symbol: string,
1126
+ overrides?: Overrides & { from?: string | Promise<string> }
1127
+ ): Promise<PendleCurveUsdd3CrvSY> {
1128
+ return super.deploy(
1129
+ _name,
1130
+ _symbol,
1131
+ overrides || {}
1132
+ ) as Promise<PendleCurveUsdd3CrvSY>;
1133
+ }
1134
+ getDeployTransaction(
1135
+ _name: string,
1136
+ _symbol: string,
1137
+ overrides?: Overrides & { from?: string | Promise<string> }
1138
+ ): TransactionRequest {
1139
+ return super.getDeployTransaction(_name, _symbol, overrides || {});
1140
+ }
1141
+ attach(address: string): PendleCurveUsdd3CrvSY {
1142
+ return super.attach(address) as PendleCurveUsdd3CrvSY;
1143
+ }
1144
+ connect(signer: Signer): PendleCurveUsdd3CrvSY__factory {
1145
+ return super.connect(signer) as PendleCurveUsdd3CrvSY__factory;
1146
+ }
1147
+ static readonly contractName: "PendleCurveUsdd3CrvSY";
1148
+ public readonly contractName: "PendleCurveUsdd3CrvSY";
1149
+ static readonly bytecode = _bytecode;
1150
+ static readonly abi = _abi;
1151
+ static createInterface(): PendleCurveUsdd3CrvSYInterface {
1152
+ return new utils.Interface(_abi) as PendleCurveUsdd3CrvSYInterface;
1153
+ }
1154
+ static connect(
1155
+ address: string,
1156
+ signerOrProvider: Signer | Provider
1157
+ ): PendleCurveUsdd3CrvSY {
1158
+ return new Contract(
1159
+ address,
1160
+ _abi,
1161
+ signerOrProvider
1162
+ ) as PendleCurveUsdd3CrvSY;
1163
+ }
1164
+ }
1165
+
1166
+ export interface PendleCurveUsdd3CrvSYLibraryAddresses {
1167
+ ["contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol:Curve3CrvPoolHelper"]: string;
1168
+ }