@pendle/core-v2 0.20.2-testnet → 0.21.0-testnet

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) 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 +2 -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 +2 -2
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  10. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  12. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  14. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  16. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  19. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  21. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  24. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  26. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  28. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  29. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
  30. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
  32. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
  34. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  36. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  38. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  40. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  42. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.json +1 -41
  46. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  48. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol/PendleAura3EthSY.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol/PendleAura3EthSY.json +2 -41
  50. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol/PendleAuraCbethWstethSY.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol/PendleAuraCbethWstethSY.json +2 -41
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.json +2 -2
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.json +2 -41
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  70. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  72. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  74. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  76. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +2 -39
  78. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  79. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  80. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +32 -80
  81. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  82. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json +40 -100
  83. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  84. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +16 -40
  85. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +1 -1
  86. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  87. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +16 -40
  88. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  89. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +104 -260
  90. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  91. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  92. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  93. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  94. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  95. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  96. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
  97. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +2 -2
  98. package/build/artifacts/contracts/offchain-helpers/PendleMulticall.sol/PendleMulticall.dbg.json +4 -0
  99. package/build/artifacts/contracts/offchain-helpers/PendleMulticall.sol/PendleMulticall.json +47 -0
  100. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  101. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +2 -2
  102. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  103. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +53 -96
  104. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.dbg.json +1 -1
  105. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.json +2 -2
  106. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  107. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +61 -116
  108. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  109. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +2 -2
  110. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  111. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +25 -44
  112. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +1 -1
  113. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.json +2 -2
  114. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  115. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +25 -44
  116. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  117. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  118. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  119. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json +1 -1
  120. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  121. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  122. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  123. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  124. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +4 -0
  125. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.json +224 -0
  126. package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.dbg.json +4 -0
  127. package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.json +35 -0
  128. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +4 -0
  129. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.json +24 -0
  130. package/build/artifacts/contracts/router/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.dbg.json +4 -0
  131. package/build/artifacts/contracts/router/{swap-aggregator/kyberswap → kyberswap}/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.json +3 -3
  132. package/build/artifacts/contracts/router/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +4 -0
  133. package/build/artifacts/contracts/router/{swap-aggregator/kyberswap → kyberswap}/interfaces/IAggregationExecutor.sol/IAggregationExecutor.json +1 -1
  134. package/build/artifacts/contracts/router/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +4 -0
  135. package/build/artifacts/contracts/router/{swap-aggregator/kyberswap → kyberswap}/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.json +30 -1
  136. package/build/artifacts/contracts/router/kyberswap/interfaces/IHashflow.sol/IHashflow.dbg.json +4 -0
  137. package/build/artifacts/contracts/router/{swap-aggregator/kyberswap → kyberswap}/interfaces/IHashflow.sol/IHashflow.json +1 -1
  138. package/build/artifacts/contracts/router/kyberswap/interfaces/IMetaAggregationRouter.sol/IMetaAggregationRouter.dbg.json +4 -0
  139. package/build/artifacts/contracts/router/{swap-aggregator/kyberswap → kyberswap}/interfaces/IMetaAggregationRouter.sol/IMetaAggregationRouter.json +1 -1
  140. package/build/artifacts/contracts/router/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +4 -0
  141. package/build/artifacts/contracts/router/{swap-aggregator/kyberswap → kyberswap}/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json +1 -1
  142. package/contracts/core/StandardizedYield/StEthHelper.sol +4 -4
  143. package/contracts/core/libraries/Errors.sol +0 -4
  144. package/contracts/interfaces/IApeStaking.sol +1 -1
  145. package/contracts/interfaces/IPActionAddRemoveLiq.sol +1 -1
  146. package/contracts/interfaces/IPActionMintRedeem.sol +3 -2
  147. package/contracts/interfaces/IPActionSwapPT.sol +1 -1
  148. package/contracts/interfaces/IPActionSwapPTYT.sol +1 -1
  149. package/contracts/interfaces/IPActionSwapYT.sol +1 -1
  150. package/contracts/offchain-helpers/PendleMulticall.sol +26 -0
  151. package/contracts/router/ActionAddRemoveLiq.sol +2 -2
  152. package/contracts/router/ActionMintRedeem.sol +9 -7
  153. package/contracts/router/ActionSwapPT.sol +2 -2
  154. package/contracts/router/ActionSwapYT.sol +2 -2
  155. package/contracts/router/base/ActionBaseMintRedeem.sol +14 -51
  156. package/contracts/router/{swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol → kyberswap/AggregationRouterHelper.sol} +22 -5
  157. package/contracts/router/kyberswap/IAggregatorRouterHelper.sol +10 -0
  158. package/contracts/router/kyberswap/KyberSwapHelper.sol +79 -0
  159. package/contracts/router/{swap-aggregator/kyberswap → kyberswap}/ScaleDataHelperEthereum1.sol +13 -0
  160. package/contracts/router/{swap-aggregator/kyberswap → kyberswap}/interfaces/IAggregationExecutor.sol +0 -0
  161. package/contracts/router/{swap-aggregator/kyberswap → kyberswap}/interfaces/IExecutorHelperEthereum1.sol +6 -0
  162. package/contracts/router/{swap-aggregator/kyberswap → kyberswap}/interfaces/IHashflow.sol +0 -0
  163. package/contracts/router/{swap-aggregator/kyberswap → kyberswap}/interfaces/IMetaAggregationRouter.sol +0 -0
  164. package/contracts/router/{swap-aggregator/kyberswap → kyberswap}/interfaces/IMetaAggregationRouterV2.sol +0 -0
  165. package/deployments/43113-core.json +1 -1
  166. package/deployments/43113-helper.json +2 -1
  167. package/deployments/80001-core.json +1 -1
  168. package/deployments/80001-helper.json +2 -1
  169. package/deployments/80001-markets/USDC-DEC-8TH.json +10 -0
  170. package/package.json +1 -1
  171. package/typechain-types/ActionAddRemoveLiq.ts +35 -41
  172. package/typechain-types/ActionBaseMintRedeem.ts +8 -8
  173. package/typechain-types/ActionMintRedeem.ts +42 -45
  174. package/typechain-types/ActionSwapPT.ts +22 -28
  175. package/typechain-types/ActionSwapYT.ts +22 -28
  176. package/typechain-types/GMXPreviewHelper.ts +134 -0
  177. package/typechain-types/IExecutorHelperEthereum1.ts +44 -0
  178. package/typechain-types/IGMXVault.ts +494 -0
  179. package/typechain-types/IGlpManager.ts +115 -0
  180. package/typechain-types/IPActionAddRemoveLiq.ts +16 -22
  181. package/typechain-types/IPActionMintRedeem.ts +23 -26
  182. package/typechain-types/IPActionSwapPT.ts +14 -20
  183. package/typechain-types/IPActionSwapYT.ts +14 -20
  184. package/typechain-types/IPAllAction.ts +31 -34
  185. package/typechain-types/IPYieldTokenV2.ts +915 -0
  186. package/typechain-types/IRewardRouterV2.ts +303 -0
  187. package/typechain-types/IVaultPriceFeed.ts +114 -0
  188. package/typechain-types/InterestManagerYTV2.ts +124 -0
  189. package/typechain-types/PendleAura3EthSY.ts +0 -39
  190. package/typechain-types/PendleAuraCbethWstethSY.ts +0 -39
  191. package/typechain-types/PendleAuraWethWstethSY.ts +0 -39
  192. package/typechain-types/PendleGlpSY.ts +1449 -0
  193. package/typechain-types/PendleMulticall.ts +110 -0
  194. package/typechain-types/PendlePrincipalTokenV2.ts +614 -0
  195. package/typechain-types/PendleYieldContractFactoryV2.ts +801 -0
  196. package/typechain-types/PendleYieldTokenV2.ts +1304 -0
  197. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +56 -99
  198. package/typechain-types/factories/ActionBaseMintRedeem__factory.ts +1 -1
  199. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  200. package/typechain-types/factories/ActionMintRedeem__factory.ts +64 -119
  201. package/typechain-types/factories/ActionMisc__factory.ts +1 -1
  202. package/typechain-types/factories/ActionSwapPTYT__factory.ts +1 -1
  203. package/typechain-types/factories/ActionSwapPT__factory.ts +28 -47
  204. package/typechain-types/factories/ActionSwapYT__factory.ts +28 -47
  205. package/typechain-types/factories/AggregationRouterHelper__factory.ts +1 -1
  206. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  207. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  208. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  209. package/typechain-types/factories/Errors__factory.ts +1 -38
  210. package/typechain-types/factories/GMXPreviewHelper__factory.ts +78 -0
  211. package/typechain-types/factories/IExecutorHelperEthereum1__factory.ts +29 -0
  212. package/typechain-types/factories/IGMXVault__factory.ts +320 -0
  213. package/typechain-types/factories/IGlpManager__factory.ts +55 -0
  214. package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +32 -80
  215. package/typechain-types/factories/IPActionMintRedeem__factory.ts +40 -100
  216. package/typechain-types/factories/IPActionSwapPT__factory.ts +16 -40
  217. package/typechain-types/factories/IPActionSwapYT__factory.ts +16 -40
  218. package/typechain-types/factories/IPAllAction__factory.ts +104 -260
  219. package/typechain-types/factories/IPYieldTokenV2__factory.ts +702 -0
  220. package/typechain-types/factories/IRewardRouterV2__factory.ts +180 -0
  221. package/typechain-types/factories/IVaultPriceFeed__factory.ts +60 -0
  222. package/typechain-types/factories/InterestManagerYTV2__factory.ts +63 -0
  223. package/typechain-types/factories/MarketMathStatic__factory.ts +1 -1
  224. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  225. package/typechain-types/factories/PendleAura3EthSY__factory.ts +1 -40
  226. package/typechain-types/factories/PendleAuraCbethWstethSY__factory.ts +1 -40
  227. package/typechain-types/factories/PendleAuraWethRethSY__factory.ts +1 -1
  228. package/typechain-types/factories/PendleAuraWethWstethSY__factory.ts +1 -40
  229. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  230. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  231. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  232. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  233. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  234. package/typechain-types/factories/PendleGlpSY__factory.ts +1255 -0
  235. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  236. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  237. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  238. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  239. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  240. package/typechain-types/factories/PendleMulticall__factory.ts +100 -0
  241. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +564 -0
  242. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  243. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  244. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  245. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  246. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  247. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  248. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +674 -0
  249. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  250. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1122 -0
  251. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  252. package/typechain-types/factories/RouterStatic__factory.ts +1 -1
  253. package/typechain-types/factories/SAPE__factory.ts +1 -1
  254. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  255. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  256. package/typechain-types/hardhat.d.ts +84 -30
  257. package/typechain-types/index.ts +22 -10
  258. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +0 -4
  259. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.json +0 -160
  260. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +0 -4
  261. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.json +0 -10
  262. package/build/artifacts/contracts/router/swap-aggregator/ISwapAggregator.sol/ISwapAggregator.dbg.json +0 -4
  263. package/build/artifacts/contracts/router/swap-aggregator/ISwapAggregator.sol/ISwapAggregator.json +0 -51
  264. package/build/artifacts/contracts/router/swap-aggregator/SwapAggregator.sol/SwapAggregator.dbg.json +0 -4
  265. package/build/artifacts/contracts/router/swap-aggregator/SwapAggregator.sol/SwapAggregator.json +0 -256
  266. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol/KyberAggregationRouterHelper.dbg.json +0 -4
  267. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol/KyberAggregationRouterHelper.json +0 -10
  268. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.dbg.json +0 -4
  269. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +0 -4
  270. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +0 -4
  271. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IHashflow.sol/IHashflow.dbg.json +0 -4
  272. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouter.sol/IMetaAggregationRouter.dbg.json +0 -4
  273. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +0 -4
  274. package/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol +0 -45
  275. package/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol +0 -71
  276. package/contracts/router/swap-aggregator/ISwapAggregator.sol +0 -21
  277. package/contracts/router/swap-aggregator/SwapAggregator.sol +0 -62
@@ -0,0 +1,1255 @@
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 { PendleGlpSY, PendleGlpSYInterface } from "../PendleGlpSY";
7
+
8
+ const _abi = [
9
+ {
10
+ inputs: [
11
+ {
12
+ internalType: "string",
13
+ name: "_name",
14
+ type: "string",
15
+ },
16
+ {
17
+ internalType: "string",
18
+ name: "_symbol",
19
+ type: "string",
20
+ },
21
+ {
22
+ internalType: "address",
23
+ name: "_glp",
24
+ type: "address",
25
+ },
26
+ {
27
+ internalType: "address",
28
+ name: "_fsGlp",
29
+ type: "address",
30
+ },
31
+ {
32
+ internalType: "address",
33
+ name: "_stakedGlp",
34
+ type: "address",
35
+ },
36
+ {
37
+ internalType: "address",
38
+ name: "_rewardRouter",
39
+ type: "address",
40
+ },
41
+ {
42
+ internalType: "address",
43
+ name: "_glpRouter",
44
+ type: "address",
45
+ },
46
+ {
47
+ internalType: "address",
48
+ name: "_vault",
49
+ type: "address",
50
+ },
51
+ ],
52
+ stateMutability: "nonpayable",
53
+ type: "constructor",
54
+ },
55
+ {
56
+ inputs: [
57
+ {
58
+ internalType: "uint256",
59
+ name: "actualSharesOut",
60
+ type: "uint256",
61
+ },
62
+ {
63
+ internalType: "uint256",
64
+ name: "requiredSharesOut",
65
+ type: "uint256",
66
+ },
67
+ ],
68
+ name: "SYInsufficientSharesOut",
69
+ type: "error",
70
+ },
71
+ {
72
+ inputs: [
73
+ {
74
+ internalType: "uint256",
75
+ name: "actualTokenOut",
76
+ type: "uint256",
77
+ },
78
+ {
79
+ internalType: "uint256",
80
+ name: "requiredTokenOut",
81
+ type: "uint256",
82
+ },
83
+ ],
84
+ name: "SYInsufficientTokenOut",
85
+ type: "error",
86
+ },
87
+ {
88
+ inputs: [
89
+ {
90
+ internalType: "address",
91
+ name: "token",
92
+ type: "address",
93
+ },
94
+ ],
95
+ name: "SYInvalidTokenIn",
96
+ type: "error",
97
+ },
98
+ {
99
+ inputs: [
100
+ {
101
+ internalType: "address",
102
+ name: "token",
103
+ type: "address",
104
+ },
105
+ ],
106
+ name: "SYInvalidTokenOut",
107
+ type: "error",
108
+ },
109
+ {
110
+ inputs: [],
111
+ name: "SYZeroDeposit",
112
+ type: "error",
113
+ },
114
+ {
115
+ inputs: [],
116
+ name: "SYZeroRedeem",
117
+ type: "error",
118
+ },
119
+ {
120
+ anonymous: false,
121
+ inputs: [
122
+ {
123
+ indexed: true,
124
+ internalType: "address",
125
+ name: "owner",
126
+ type: "address",
127
+ },
128
+ {
129
+ indexed: true,
130
+ internalType: "address",
131
+ name: "spender",
132
+ type: "address",
133
+ },
134
+ {
135
+ indexed: false,
136
+ internalType: "uint256",
137
+ name: "value",
138
+ type: "uint256",
139
+ },
140
+ ],
141
+ name: "Approval",
142
+ type: "event",
143
+ },
144
+ {
145
+ anonymous: false,
146
+ inputs: [
147
+ {
148
+ indexed: true,
149
+ internalType: "address",
150
+ name: "user",
151
+ type: "address",
152
+ },
153
+ {
154
+ indexed: false,
155
+ internalType: "address[]",
156
+ name: "rewardTokens",
157
+ type: "address[]",
158
+ },
159
+ {
160
+ indexed: false,
161
+ internalType: "uint256[]",
162
+ name: "rewardAmounts",
163
+ type: "uint256[]",
164
+ },
165
+ ],
166
+ name: "ClaimRewards",
167
+ type: "event",
168
+ },
169
+ {
170
+ anonymous: false,
171
+ inputs: [
172
+ {
173
+ indexed: true,
174
+ internalType: "address",
175
+ name: "caller",
176
+ type: "address",
177
+ },
178
+ {
179
+ indexed: true,
180
+ internalType: "address",
181
+ name: "receiver",
182
+ type: "address",
183
+ },
184
+ {
185
+ indexed: true,
186
+ internalType: "address",
187
+ name: "tokenIn",
188
+ type: "address",
189
+ },
190
+ {
191
+ indexed: false,
192
+ internalType: "uint256",
193
+ name: "amountDeposited",
194
+ type: "uint256",
195
+ },
196
+ {
197
+ indexed: false,
198
+ internalType: "uint256",
199
+ name: "amountSyOut",
200
+ type: "uint256",
201
+ },
202
+ ],
203
+ name: "Deposit",
204
+ type: "event",
205
+ },
206
+ {
207
+ anonymous: false,
208
+ inputs: [
209
+ {
210
+ indexed: false,
211
+ internalType: "uint8",
212
+ name: "version",
213
+ type: "uint8",
214
+ },
215
+ ],
216
+ name: "Initialized",
217
+ type: "event",
218
+ },
219
+ {
220
+ anonymous: false,
221
+ inputs: [
222
+ {
223
+ indexed: true,
224
+ internalType: "address",
225
+ name: "previousOwner",
226
+ type: "address",
227
+ },
228
+ {
229
+ indexed: true,
230
+ internalType: "address",
231
+ name: "newOwner",
232
+ type: "address",
233
+ },
234
+ ],
235
+ name: "OwnershipTransferred",
236
+ type: "event",
237
+ },
238
+ {
239
+ anonymous: false,
240
+ inputs: [
241
+ {
242
+ indexed: false,
243
+ internalType: "address",
244
+ name: "account",
245
+ type: "address",
246
+ },
247
+ ],
248
+ name: "Paused",
249
+ type: "event",
250
+ },
251
+ {
252
+ anonymous: false,
253
+ inputs: [
254
+ {
255
+ indexed: true,
256
+ internalType: "address",
257
+ name: "caller",
258
+ type: "address",
259
+ },
260
+ {
261
+ indexed: true,
262
+ internalType: "address",
263
+ name: "receiver",
264
+ type: "address",
265
+ },
266
+ {
267
+ indexed: true,
268
+ internalType: "address",
269
+ name: "tokenOut",
270
+ type: "address",
271
+ },
272
+ {
273
+ indexed: false,
274
+ internalType: "uint256",
275
+ name: "amountSyToRedeem",
276
+ type: "uint256",
277
+ },
278
+ {
279
+ indexed: false,
280
+ internalType: "uint256",
281
+ name: "amountTokenOut",
282
+ type: "uint256",
283
+ },
284
+ ],
285
+ name: "Redeem",
286
+ type: "event",
287
+ },
288
+ {
289
+ anonymous: false,
290
+ inputs: [
291
+ {
292
+ indexed: true,
293
+ internalType: "address",
294
+ name: "from",
295
+ type: "address",
296
+ },
297
+ {
298
+ indexed: true,
299
+ internalType: "address",
300
+ name: "to",
301
+ type: "address",
302
+ },
303
+ {
304
+ indexed: false,
305
+ internalType: "uint256",
306
+ name: "value",
307
+ type: "uint256",
308
+ },
309
+ ],
310
+ name: "Transfer",
311
+ type: "event",
312
+ },
313
+ {
314
+ anonymous: false,
315
+ inputs: [
316
+ {
317
+ indexed: false,
318
+ internalType: "address",
319
+ name: "account",
320
+ type: "address",
321
+ },
322
+ ],
323
+ name: "Unpaused",
324
+ type: "event",
325
+ },
326
+ {
327
+ inputs: [],
328
+ name: "BASIS_POINTS_DIVISOR",
329
+ outputs: [
330
+ {
331
+ internalType: "uint256",
332
+ name: "",
333
+ type: "uint256",
334
+ },
335
+ ],
336
+ stateMutability: "view",
337
+ type: "function",
338
+ },
339
+ {
340
+ inputs: [],
341
+ name: "DOMAIN_SEPARATOR",
342
+ outputs: [
343
+ {
344
+ internalType: "bytes32",
345
+ name: "",
346
+ type: "bytes32",
347
+ },
348
+ ],
349
+ stateMutability: "view",
350
+ type: "function",
351
+ },
352
+ {
353
+ inputs: [],
354
+ name: "PRICE_PRECISION",
355
+ outputs: [
356
+ {
357
+ internalType: "uint256",
358
+ name: "",
359
+ type: "uint256",
360
+ },
361
+ ],
362
+ stateMutability: "view",
363
+ type: "function",
364
+ },
365
+ {
366
+ inputs: [
367
+ {
368
+ internalType: "address",
369
+ name: "user",
370
+ type: "address",
371
+ },
372
+ ],
373
+ name: "accruedRewards",
374
+ outputs: [
375
+ {
376
+ internalType: "uint256[]",
377
+ name: "rewardAmounts",
378
+ type: "uint256[]",
379
+ },
380
+ ],
381
+ stateMutability: "view",
382
+ type: "function",
383
+ },
384
+ {
385
+ inputs: [
386
+ {
387
+ internalType: "address",
388
+ name: "owner",
389
+ type: "address",
390
+ },
391
+ {
392
+ internalType: "address",
393
+ name: "spender",
394
+ type: "address",
395
+ },
396
+ ],
397
+ name: "allowance",
398
+ outputs: [
399
+ {
400
+ internalType: "uint256",
401
+ name: "",
402
+ type: "uint256",
403
+ },
404
+ ],
405
+ stateMutability: "view",
406
+ type: "function",
407
+ },
408
+ {
409
+ inputs: [
410
+ {
411
+ internalType: "address",
412
+ name: "spender",
413
+ type: "address",
414
+ },
415
+ {
416
+ internalType: "uint256",
417
+ name: "amount",
418
+ type: "uint256",
419
+ },
420
+ ],
421
+ name: "approve",
422
+ outputs: [
423
+ {
424
+ internalType: "bool",
425
+ name: "",
426
+ type: "bool",
427
+ },
428
+ ],
429
+ stateMutability: "nonpayable",
430
+ type: "function",
431
+ },
432
+ {
433
+ inputs: [],
434
+ name: "assetInfo",
435
+ outputs: [
436
+ {
437
+ internalType: "enum IStandardizedYield.AssetType",
438
+ name: "assetType",
439
+ type: "uint8",
440
+ },
441
+ {
442
+ internalType: "address",
443
+ name: "assetAddress",
444
+ type: "address",
445
+ },
446
+ {
447
+ internalType: "uint8",
448
+ name: "assetDecimals",
449
+ type: "uint8",
450
+ },
451
+ ],
452
+ stateMutability: "view",
453
+ type: "function",
454
+ },
455
+ {
456
+ inputs: [
457
+ {
458
+ internalType: "address",
459
+ name: "account",
460
+ type: "address",
461
+ },
462
+ ],
463
+ name: "balanceOf",
464
+ outputs: [
465
+ {
466
+ internalType: "uint256",
467
+ name: "",
468
+ type: "uint256",
469
+ },
470
+ ],
471
+ stateMutability: "view",
472
+ type: "function",
473
+ },
474
+ {
475
+ inputs: [],
476
+ name: "claimOwnership",
477
+ outputs: [],
478
+ stateMutability: "nonpayable",
479
+ type: "function",
480
+ },
481
+ {
482
+ inputs: [
483
+ {
484
+ internalType: "address",
485
+ name: "user",
486
+ type: "address",
487
+ },
488
+ ],
489
+ name: "claimRewards",
490
+ outputs: [
491
+ {
492
+ internalType: "uint256[]",
493
+ name: "rewardAmounts",
494
+ type: "uint256[]",
495
+ },
496
+ ],
497
+ stateMutability: "nonpayable",
498
+ type: "function",
499
+ },
500
+ {
501
+ inputs: [],
502
+ name: "decimals",
503
+ outputs: [
504
+ {
505
+ internalType: "uint8",
506
+ name: "",
507
+ type: "uint8",
508
+ },
509
+ ],
510
+ stateMutability: "view",
511
+ type: "function",
512
+ },
513
+ {
514
+ inputs: [
515
+ {
516
+ internalType: "address",
517
+ name: "receiver",
518
+ type: "address",
519
+ },
520
+ {
521
+ internalType: "address",
522
+ name: "tokenIn",
523
+ type: "address",
524
+ },
525
+ {
526
+ internalType: "uint256",
527
+ name: "amountTokenToDeposit",
528
+ type: "uint256",
529
+ },
530
+ {
531
+ internalType: "uint256",
532
+ name: "minSharesOut",
533
+ type: "uint256",
534
+ },
535
+ ],
536
+ name: "deposit",
537
+ outputs: [
538
+ {
539
+ internalType: "uint256",
540
+ name: "amountSharesOut",
541
+ type: "uint256",
542
+ },
543
+ ],
544
+ stateMutability: "payable",
545
+ type: "function",
546
+ },
547
+ {
548
+ inputs: [],
549
+ name: "exchangeRate",
550
+ outputs: [
551
+ {
552
+ internalType: "uint256",
553
+ name: "",
554
+ type: "uint256",
555
+ },
556
+ ],
557
+ stateMutability: "view",
558
+ type: "function",
559
+ },
560
+ {
561
+ inputs: [],
562
+ name: "getRewardTokens",
563
+ outputs: [
564
+ {
565
+ internalType: "address[]",
566
+ name: "rewardTokens",
567
+ type: "address[]",
568
+ },
569
+ ],
570
+ stateMutability: "view",
571
+ type: "function",
572
+ },
573
+ {
574
+ inputs: [],
575
+ name: "getTokensIn",
576
+ outputs: [
577
+ {
578
+ internalType: "address[]",
579
+ name: "res",
580
+ type: "address[]",
581
+ },
582
+ ],
583
+ stateMutability: "view",
584
+ type: "function",
585
+ },
586
+ {
587
+ inputs: [],
588
+ name: "getTokensOut",
589
+ outputs: [
590
+ {
591
+ internalType: "address[]",
592
+ name: "res",
593
+ type: "address[]",
594
+ },
595
+ ],
596
+ stateMutability: "view",
597
+ type: "function",
598
+ },
599
+ {
600
+ inputs: [],
601
+ name: "glp",
602
+ outputs: [
603
+ {
604
+ internalType: "address",
605
+ name: "",
606
+ type: "address",
607
+ },
608
+ ],
609
+ stateMutability: "view",
610
+ type: "function",
611
+ },
612
+ {
613
+ inputs: [],
614
+ name: "glpManager",
615
+ outputs: [
616
+ {
617
+ internalType: "address",
618
+ name: "",
619
+ type: "address",
620
+ },
621
+ ],
622
+ stateMutability: "view",
623
+ type: "function",
624
+ },
625
+ {
626
+ inputs: [],
627
+ name: "glpRouter",
628
+ outputs: [
629
+ {
630
+ internalType: "address",
631
+ name: "",
632
+ type: "address",
633
+ },
634
+ ],
635
+ stateMutability: "view",
636
+ type: "function",
637
+ },
638
+ {
639
+ inputs: [
640
+ {
641
+ internalType: "address",
642
+ name: "token",
643
+ type: "address",
644
+ },
645
+ ],
646
+ name: "isValidTokenIn",
647
+ outputs: [
648
+ {
649
+ internalType: "bool",
650
+ name: "",
651
+ type: "bool",
652
+ },
653
+ ],
654
+ stateMutability: "view",
655
+ type: "function",
656
+ },
657
+ {
658
+ inputs: [
659
+ {
660
+ internalType: "address",
661
+ name: "token",
662
+ type: "address",
663
+ },
664
+ ],
665
+ name: "isValidTokenOut",
666
+ outputs: [
667
+ {
668
+ internalType: "bool",
669
+ name: "",
670
+ type: "bool",
671
+ },
672
+ ],
673
+ stateMutability: "view",
674
+ type: "function",
675
+ },
676
+ {
677
+ inputs: [],
678
+ name: "lastRewardBlock",
679
+ outputs: [
680
+ {
681
+ internalType: "uint256",
682
+ name: "",
683
+ type: "uint256",
684
+ },
685
+ ],
686
+ stateMutability: "view",
687
+ type: "function",
688
+ },
689
+ {
690
+ inputs: [],
691
+ name: "name",
692
+ outputs: [
693
+ {
694
+ internalType: "string",
695
+ name: "",
696
+ type: "string",
697
+ },
698
+ ],
699
+ stateMutability: "view",
700
+ type: "function",
701
+ },
702
+ {
703
+ inputs: [
704
+ {
705
+ internalType: "address",
706
+ name: "owner",
707
+ type: "address",
708
+ },
709
+ ],
710
+ name: "nonces",
711
+ outputs: [
712
+ {
713
+ internalType: "uint256",
714
+ name: "",
715
+ type: "uint256",
716
+ },
717
+ ],
718
+ stateMutability: "view",
719
+ type: "function",
720
+ },
721
+ {
722
+ inputs: [],
723
+ name: "owner",
724
+ outputs: [
725
+ {
726
+ internalType: "address",
727
+ name: "",
728
+ type: "address",
729
+ },
730
+ ],
731
+ stateMutability: "view",
732
+ type: "function",
733
+ },
734
+ {
735
+ inputs: [],
736
+ name: "pause",
737
+ outputs: [],
738
+ stateMutability: "nonpayable",
739
+ type: "function",
740
+ },
741
+ {
742
+ inputs: [],
743
+ name: "paused",
744
+ outputs: [
745
+ {
746
+ internalType: "bool",
747
+ name: "",
748
+ type: "bool",
749
+ },
750
+ ],
751
+ stateMutability: "view",
752
+ type: "function",
753
+ },
754
+ {
755
+ inputs: [],
756
+ name: "pendingOwner",
757
+ outputs: [
758
+ {
759
+ internalType: "address",
760
+ name: "",
761
+ type: "address",
762
+ },
763
+ ],
764
+ stateMutability: "view",
765
+ type: "function",
766
+ },
767
+ {
768
+ inputs: [
769
+ {
770
+ internalType: "address",
771
+ name: "owner",
772
+ type: "address",
773
+ },
774
+ {
775
+ internalType: "address",
776
+ name: "spender",
777
+ type: "address",
778
+ },
779
+ {
780
+ internalType: "uint256",
781
+ name: "value",
782
+ type: "uint256",
783
+ },
784
+ {
785
+ internalType: "uint256",
786
+ name: "deadline",
787
+ type: "uint256",
788
+ },
789
+ {
790
+ internalType: "uint8",
791
+ name: "v",
792
+ type: "uint8",
793
+ },
794
+ {
795
+ internalType: "bytes32",
796
+ name: "r",
797
+ type: "bytes32",
798
+ },
799
+ {
800
+ internalType: "bytes32",
801
+ name: "s",
802
+ type: "bytes32",
803
+ },
804
+ ],
805
+ name: "permit",
806
+ outputs: [],
807
+ stateMutability: "nonpayable",
808
+ type: "function",
809
+ },
810
+ {
811
+ inputs: [
812
+ {
813
+ internalType: "address",
814
+ name: "tokenIn",
815
+ type: "address",
816
+ },
817
+ {
818
+ internalType: "uint256",
819
+ name: "amountTokenToDeposit",
820
+ type: "uint256",
821
+ },
822
+ ],
823
+ name: "previewDeposit",
824
+ outputs: [
825
+ {
826
+ internalType: "uint256",
827
+ name: "amountSharesOut",
828
+ type: "uint256",
829
+ },
830
+ ],
831
+ stateMutability: "view",
832
+ type: "function",
833
+ },
834
+ {
835
+ inputs: [
836
+ {
837
+ internalType: "address",
838
+ name: "tokenOut",
839
+ type: "address",
840
+ },
841
+ {
842
+ internalType: "uint256",
843
+ name: "amountSharesToRedeem",
844
+ type: "uint256",
845
+ },
846
+ ],
847
+ name: "previewRedeem",
848
+ outputs: [
849
+ {
850
+ internalType: "uint256",
851
+ name: "amountTokenOut",
852
+ type: "uint256",
853
+ },
854
+ ],
855
+ stateMutability: "view",
856
+ type: "function",
857
+ },
858
+ {
859
+ inputs: [
860
+ {
861
+ internalType: "address",
862
+ name: "receiver",
863
+ type: "address",
864
+ },
865
+ {
866
+ internalType: "uint256",
867
+ name: "amountSharesToRedeem",
868
+ type: "uint256",
869
+ },
870
+ {
871
+ internalType: "address",
872
+ name: "tokenOut",
873
+ type: "address",
874
+ },
875
+ {
876
+ internalType: "uint256",
877
+ name: "minTokenOut",
878
+ type: "uint256",
879
+ },
880
+ {
881
+ internalType: "bool",
882
+ name: "burnFromInternalBalance",
883
+ type: "bool",
884
+ },
885
+ ],
886
+ name: "redeem",
887
+ outputs: [
888
+ {
889
+ internalType: "uint256",
890
+ name: "amountTokenOut",
891
+ type: "uint256",
892
+ },
893
+ ],
894
+ stateMutability: "nonpayable",
895
+ type: "function",
896
+ },
897
+ {
898
+ inputs: [],
899
+ name: "rewardIndexesCurrent",
900
+ outputs: [
901
+ {
902
+ internalType: "uint256[]",
903
+ name: "indexes",
904
+ type: "uint256[]",
905
+ },
906
+ ],
907
+ stateMutability: "nonpayable",
908
+ type: "function",
909
+ },
910
+ {
911
+ inputs: [],
912
+ name: "rewardIndexesStored",
913
+ outputs: [
914
+ {
915
+ internalType: "uint256[]",
916
+ name: "indexes",
917
+ type: "uint256[]",
918
+ },
919
+ ],
920
+ stateMutability: "view",
921
+ type: "function",
922
+ },
923
+ {
924
+ inputs: [],
925
+ name: "rewardRouter",
926
+ outputs: [
927
+ {
928
+ internalType: "address",
929
+ name: "",
930
+ type: "address",
931
+ },
932
+ ],
933
+ stateMutability: "view",
934
+ type: "function",
935
+ },
936
+ {
937
+ inputs: [
938
+ {
939
+ internalType: "address",
940
+ name: "",
941
+ type: "address",
942
+ },
943
+ ],
944
+ name: "rewardState",
945
+ outputs: [
946
+ {
947
+ internalType: "uint128",
948
+ name: "index",
949
+ type: "uint128",
950
+ },
951
+ {
952
+ internalType: "uint128",
953
+ name: "lastBalance",
954
+ type: "uint128",
955
+ },
956
+ ],
957
+ stateMutability: "view",
958
+ type: "function",
959
+ },
960
+ {
961
+ inputs: [],
962
+ name: "stakedGlp",
963
+ outputs: [
964
+ {
965
+ internalType: "address",
966
+ name: "",
967
+ type: "address",
968
+ },
969
+ ],
970
+ stateMutability: "view",
971
+ type: "function",
972
+ },
973
+ {
974
+ inputs: [],
975
+ name: "symbol",
976
+ outputs: [
977
+ {
978
+ internalType: "string",
979
+ name: "",
980
+ type: "string",
981
+ },
982
+ ],
983
+ stateMutability: "view",
984
+ type: "function",
985
+ },
986
+ {
987
+ inputs: [],
988
+ name: "totalSupply",
989
+ outputs: [
990
+ {
991
+ internalType: "uint256",
992
+ name: "",
993
+ type: "uint256",
994
+ },
995
+ ],
996
+ stateMutability: "view",
997
+ type: "function",
998
+ },
999
+ {
1000
+ inputs: [
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: "transfer",
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: "from",
1028
+ type: "address",
1029
+ },
1030
+ {
1031
+ internalType: "address",
1032
+ name: "to",
1033
+ type: "address",
1034
+ },
1035
+ {
1036
+ internalType: "uint256",
1037
+ name: "amount",
1038
+ type: "uint256",
1039
+ },
1040
+ ],
1041
+ name: "transferFrom",
1042
+ outputs: [
1043
+ {
1044
+ internalType: "bool",
1045
+ name: "",
1046
+ type: "bool",
1047
+ },
1048
+ ],
1049
+ stateMutability: "nonpayable",
1050
+ type: "function",
1051
+ },
1052
+ {
1053
+ inputs: [
1054
+ {
1055
+ internalType: "address",
1056
+ name: "newOwner",
1057
+ type: "address",
1058
+ },
1059
+ {
1060
+ internalType: "bool",
1061
+ name: "direct",
1062
+ type: "bool",
1063
+ },
1064
+ {
1065
+ internalType: "bool",
1066
+ name: "renounce",
1067
+ type: "bool",
1068
+ },
1069
+ ],
1070
+ name: "transferOwnership",
1071
+ outputs: [],
1072
+ stateMutability: "nonpayable",
1073
+ type: "function",
1074
+ },
1075
+ {
1076
+ inputs: [],
1077
+ name: "unpause",
1078
+ outputs: [],
1079
+ stateMutability: "nonpayable",
1080
+ type: "function",
1081
+ },
1082
+ {
1083
+ inputs: [],
1084
+ name: "usdg",
1085
+ outputs: [
1086
+ {
1087
+ internalType: "address",
1088
+ name: "",
1089
+ type: "address",
1090
+ },
1091
+ ],
1092
+ stateMutability: "view",
1093
+ type: "function",
1094
+ },
1095
+ {
1096
+ inputs: [
1097
+ {
1098
+ internalType: "address",
1099
+ name: "",
1100
+ type: "address",
1101
+ },
1102
+ {
1103
+ internalType: "address",
1104
+ name: "",
1105
+ type: "address",
1106
+ },
1107
+ ],
1108
+ name: "userReward",
1109
+ outputs: [
1110
+ {
1111
+ internalType: "uint128",
1112
+ name: "index",
1113
+ type: "uint128",
1114
+ },
1115
+ {
1116
+ internalType: "uint128",
1117
+ name: "accrued",
1118
+ type: "uint128",
1119
+ },
1120
+ ],
1121
+ stateMutability: "view",
1122
+ type: "function",
1123
+ },
1124
+ {
1125
+ inputs: [],
1126
+ name: "vault",
1127
+ outputs: [
1128
+ {
1129
+ internalType: "contract IGMXVault",
1130
+ name: "",
1131
+ type: "address",
1132
+ },
1133
+ ],
1134
+ stateMutability: "view",
1135
+ type: "function",
1136
+ },
1137
+ {
1138
+ inputs: [],
1139
+ name: "weth",
1140
+ outputs: [
1141
+ {
1142
+ internalType: "address",
1143
+ name: "",
1144
+ type: "address",
1145
+ },
1146
+ ],
1147
+ stateMutability: "view",
1148
+ type: "function",
1149
+ },
1150
+ {
1151
+ inputs: [],
1152
+ name: "yieldToken",
1153
+ outputs: [
1154
+ {
1155
+ internalType: "address",
1156
+ name: "",
1157
+ type: "address",
1158
+ },
1159
+ ],
1160
+ stateMutability: "view",
1161
+ type: "function",
1162
+ },
1163
+ {
1164
+ stateMutability: "payable",
1165
+ type: "receive",
1166
+ },
1167
+ ];
1168
+
1169
+ const _bytecode =
1170
+ "0x6102806040523480156200001257600080fd5b506040516200600438038062006004833981016040819052620000359162000923565b808888878282828282826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200007d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000a39190620009fd565b6040805180820190915260018152603160f81b602082015283908184846003620000ce848262000ab8565b506004620000dd838262000ab8565b5060ff166080525050600280546001600160f81b0316600160f81b17905581516020808401919091208251918301919091206101008290526101208190524660c0527f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f620001908184846040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b60a0523060e0526101405250506038805460ff191690555050600754600160a81b900460ff16159250829150508015620001d757506007546001600160a01b90910460ff16105b806200020e5750620001f430620005c460201b62001d611760201c565b1580156200020e5750600754600160a01b900460ff166001145b620002775760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6007805460ff60a01b1916600160a01b1790558015620002a5576007805460ff60a81b1916600160a81b1790555b6001600160a01b03821661016052620002bd620005d3565b801562000306576007805460ff60a81b19169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050506001600160a01b0385166101808190526040805163f5b91b7b60e01b8152905191955063f5b91b7b94506004808201945060209350908290030181865afa15801562000359573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200037f919062000b84565b6001600160a01b039081166101a0528781166101c0528581166101e05284811661020052831661022081905260408051633e9b6c6f60e21b8152905191925063fa6db1bc9160048083019260209291908290030181865afa158015620003e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200040f919062000b84565b6001600160a01b0316610240816001600160a01b031681525050610220516001600160a01b0316633fc8cef36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200046b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000491919062000b84565b6001600160a01b0316610260816001600160a01b0316815250506000610180516001600160a01b0316630842b0766040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000515919062000ba2565b905060005b81811015620005b45761018051604051630e468baf60e41b815260048101839052620005a1916001600160a01b03169063e468baf090602401602060405180830381865afa15801562000571573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000597919062000b84565b6102405162000656565b620005ac8162000bbc565b90506200051a565b5050505050505050505062000c5b565b6001600160a01b03163b151590565b600754600160a81b900460ff16620006425760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200026e565b600680546001600160a01b03191633179055565b6001600160a01b03821662000669575050565b6200067d60026001600160601b0362000be4565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa158015620006d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006fd919062000ba2565b10156200072157620007128282600062000725565b62000721828260001962000725565b5050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b179052915160009283929087169162000783919062000c19565b6000604051808303816000865af19150503d8060008114620007c2576040519150601f19603f3d011682016040523d82523d6000602084013e620007c7565b606091505b5091509150818015620007f5575080511580620007f5575080806020019051810190620007f5919062000c37565b620008325760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b60448201526064016200026e565b5050505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200086c57818101518382015260200162000852565b50506000910152565b600082601f8301126200088757600080fd5b81516001600160401b0380821115620008a457620008a462000839565b604051601f8301601f19908116603f01168101908282118183101715620008cf57620008cf62000839565b81604052838152866020858801011115620008e957600080fd5b620008fc8460208301602089016200084f565b9695505050505050565b80516001600160a01b03811681146200091e57600080fd5b919050565b600080600080600080600080610100898b0312156200094157600080fd5b88516001600160401b03808211156200095957600080fd5b620009678c838d0162000875565b995060208b01519150808211156200097e57600080fd5b506200098d8b828c0162000875565b9750506200099e60408a0162000906565b9550620009ae60608a0162000906565b9450620009be60808a0162000906565b9350620009ce60a08a0162000906565b9250620009de60c08a0162000906565b9150620009ee60e08a0162000906565b90509295985092959890939650565b60006020828403121562000a1057600080fd5b815160ff8116811462000a2257600080fd5b9392505050565b600181811c9082168062000a3e57607f821691505b60208210810362000a5f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000ab357600081815260208120601f850160051c8101602086101562000a8e5750805b601f850160051c820191505b8181101562000aaf5782815560010162000a9a565b5050505b505050565b81516001600160401b0381111562000ad45762000ad462000839565b62000aec8162000ae5845462000a29565b8462000a65565b602080601f83116001811462000b24576000841562000b0b5750858301515b600019600386901b1c1916600185901b17855562000aaf565b600085815260208120601f198616915b8281101562000b555788860151825594840194600190910190840162000b34565b508582101562000b745787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121562000b9757600080fd5b62000a228262000906565b60006020828403121562000bb557600080fd5b5051919050565b60006001820162000bdd57634e487b7160e01b600052601160045260246000fd5b5060010190565b60006001600160601b038381168062000c0d57634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b6000825162000c2d8184602087016200084f565b9190910192915050565b60006020828403121562000c4a57600080fd5b8151801515811462000a2257600080fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161519b62000e696000396000818161045e01528181611eb9015281816129d40152612b990152600081816108b301528181612a0f0152612bd40152600081816107b501528181611fdc015281816120940152818161282701526128d00152600081816104a70152613eb20152600081816102e401528181610a6f0152818161119b015281816116fe01528181611f79015281816127a3015281816129860152612b4b0152600081816105f30152818161183e0152818161185f01528181612a880152612c4d01526000818161086a015281816135e301528181613841015281816138bd01526147310152600081816108e70152818161099f01528181610b0001528181610ba601528181610c33015281816110cb0152818161122c015281816112d20152818161135f01528181611760015281816134fd015281816135b2015281816136b90152818161373b015281816138100152818161390e015281816139f901528181613a7b015281816140ce0152818161416f01528181614205015281816142aa015281816147e901526148630152600061059f0152600061253d0152600061258c01526000612567015260006124c0015260006124ea01526000612514015260006103d3015261519b6000f3fe6080604052600436106102275760003560e01c806306fdde0314610233578063071bc3c91461025e578063078dfbe714610280578063095ea7b3146102a25780630ddc56d3146102d2578063126082cf14610313578063128fced11461033757806318160ddd1461036457806320e8c56514610379578063213cae631461038c57806323b872dd146103a1578063313ce567146103c15780633644e515146104075780633ba0b9a91461041c5780633f4ba83a146104375780633fc8cef31461044c5780634e71e0c8146104805780635a3bb989146104955780635c975abb146104c95780635cbadbe4146104e157806370a082311461054d578063769f8e5d1461056d57806376d5de851461058d578063784367d6146105c157806378a207ee146105e15780637ecebe00146106155780638456cb59146106355780638da5cb5b1461064a57806395082d251461066a57806395d89b411461068a578063a40bee501461069f578063a9059cbb146106c3578063a9f8d181146106e3578063b8f82b26146106f9578063c4f59f9b14610719578063cbe52ae31461072e578063d505accf1461074e578063da88ecb41461076e578063dd62ed3e14610783578063e016e44b146107a3578063e30c3978146107d7578063ea64a820146107f7578063ef5cfb8c14610838578063f5b91b7b14610858578063f8b2f9911461088c578063fa5a4f06146105c1578063fa6db1bc146108a1578063fbfa77cf146108d557600080fd5b3661022e57005b600080fd5b34801561023f57600080fd5b50610248610909565b6040516102559190614a92565b60405180910390f35b34801561026a57600080fd5b5061027361099b565b6040516102559190614b09565b34801561028c57600080fd5b506102a061029b366004614b3f565b610d4c565b005b3480156102ae57600080fd5b506102c26102bd366004614b8a565b610e49565b6040519015158152602001610255565b3480156102de57600080fd5b506103067f000000000000000000000000000000000000000000000000000000000000000081565b6040516102559190614bb6565b34801561031f57600080fd5b5061032961271081565b604051908152602001610255565b34801561034357600080fd5b50610357610352366004614bca565b610e63565b6040516102559190614c17565b34801561037057600080fd5b50610329610f6f565b610329610387366004614c2a565b610f7e565b34801561039857600080fd5b506102736110c7565b3480156103ad57600080fd5b506102c26103bc366004614c70565b61141d565b3480156103cd57600080fd5b506103f57f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610255565b34801561041357600080fd5b5061032961149b565b34801561042857600080fd5b50670de0b6b3a7640000610329565b34801561044357600080fd5b506102a06114aa565b34801561045857600080fd5b506103067f000000000000000000000000000000000000000000000000000000000000000081565b34801561048c57600080fd5b506102a06114de565b3480156104a157600080fd5b506103067f000000000000000000000000000000000000000000000000000000000000000081565b3480156104d557600080fd5b5060385460ff166102c2565b3480156104ed57600080fd5b5061052d6104fc366004614cb1565b60396020908152600092835260408084209091529082529020546001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610255565b34801561055957600080fd5b50610329610568366004614bca565b61158a565b34801561057957600080fd5b50610329610588366004614cea565b6115a5565b34801561059957600080fd5b506103067f000000000000000000000000000000000000000000000000000000000000000081565b3480156105cd57600080fd5b506102c26105dc366004614bca565b6116fa565b3480156105ed57600080fd5b506103067f000000000000000000000000000000000000000000000000000000000000000081565b34801561062157600080fd5b50610329610630366004614bca565b6117d6565b34801561064157600080fd5b506102a06117f4565b34801561065657600080fd5b50600654610306906001600160a01b031681565b34801561067657600080fd5b5061032968327cb2734119d3b7a9601e1b81565b34801561069657600080fd5b50610248611826565b3480156106ab57600080fd5b506106b4611835565b60405161025593929190614d5f565b3480156106cf57600080fd5b506102c26106de366004614b8a565b6118ea565b3480156106ef57600080fd5b50610329603a5481565b34801561070557600080fd5b50610329610714366004614b8a565b61195c565b34801561072557600080fd5b50610273611997565b34801561073a57600080fd5b50610329610749366004614b8a565b6119a1565b34801561075a57600080fd5b506102a0610769366004614db0565b6119d5565b34801561077a57600080fd5b50610357611b39565b34801561078f57600080fd5b5061032961079e366004614cb1565b611c05565b3480156107af57600080fd5b506103067f000000000000000000000000000000000000000000000000000000000000000081565b3480156107e357600080fd5b50600754610306906001600160a01b031681565b34801561080357600080fd5b5061052d610812366004614bca565b603b602052600090815260409020546001600160801b0380821691600160801b90041682565b34801561084457600080fd5b50610357610853366004614bca565b611c30565b34801561086457600080fd5b506103067f000000000000000000000000000000000000000000000000000000000000000081565b34801561089857600080fd5b50610357611cef565b3480156108ad57600080fd5b506103067f000000000000000000000000000000000000000000000000000000000000000081565b3480156108e157600080fd5b506103067f000000000000000000000000000000000000000000000000000000000000000081565b60606003805461091890614e21565b80601f016020809104026020016040519081016040528092919081815260200182805461094490614e21565b80156109915780601f1061096657610100808354040283529160200191610991565b820191906000526020600020905b81548152906001019060200180831161097457829003601f168201915b5050505050905090565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166362287a326040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109fb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1f9190614e55565b610a2a906002614e84565b6001600160401b03811115610a4157610a41614e97565b604051908082528060200260200182016040528015610a6a578160200160208202803683370190505b5090507f000000000000000000000000000000000000000000000000000000000000000081600081518110610aa157610aa1614ead565b60200260200101906001600160a01b031690816001600160a01b031681525050600081600181518110610ad657610ad6614ead565b60200260200101906001600160a01b031690816001600160a01b03168152505060006002905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630842b0766040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b809190614e55565b905060005b81811015610cf157604051630e468baf60e41b8152600481018290526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e468baf090602401602060405180830381865afa158015610bf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c199190614ec3565b604051630daf9c2160e41b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063daf9c21090610c68908490600401614bb6565b602060405180830381865afa158015610c85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca99190614ee0565b15610ce85780858581518110610cc157610cc1614ead565b60200260200101906001600160a01b031690816001600160a01b0316815250508360010193505b50600101610b85565b5082518214610d475760405162461bcd60e51b815260206004820152601e60248201527f57726f6e672077686974656c697374656420746f6b656e7320636f756e74000060448201526064015b60405180910390fd5b505090565b6006546001600160a01b03163314610d765760405162461bcd60e51b8152600401610d3e90614efd565b8115610e28576001600160a01b038316151580610d905750805b610dd45760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610d3e565b6006546040516001600160a01b0380861692169060008051602061512683398151915290600090a3600680546001600160a01b0385166001600160a01b031991821617909155600780549091169055505050565b600780546001600160a01b0319166001600160a01b0385161790555b505050565b600033610e57818585611d70565b60019150505b92915050565b60606000610e6f611e95565b905080516001600160401b03811115610e8a57610e8a614e97565b604051908082528060200260200182016040528015610eb3578160200160208202803683370190505b50915060005b8151811015610f685760396000838381518110610ed857610ed8614ead565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000856001600160a01b03166001600160a01b0316815260200190815260200160002060000160109054906101000a90046001600160801b03166001600160801b0316838281518110610f5557610f55614ead565b6020908102919091010152600101610eb9565b5050919050565b6002546001600160f81b031690565b600254600090600119600160f81b90910460ff1601610faf5760405162461bcd60e51b8152600401610d3e90614f32565b600280546001600160f81b0316600160f91b179055610fcd846116fa565b610fec57836040516315d57ce360e31b8152600401610d3e9190614bb6565b8260000361100d57604051630a907f2f60e41b815260040160405180910390fd5b611018843385611f0e565b6110228484611f75565b905081811015611049578082604051635e38f95d60e11b8152600401610d3e929190614f69565b6110538582612101565b836001600160a01b0316856001600160a01b0316336001600160a01b03167f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d5986856040516110a2929190614f69565b60405180910390a4600280546001600160f81b0316600160f81b179055949350505050565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166362287a326040518163ffffffff1660e01b8152600401602060405180830381865afa158015611127573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114b9190614e55565b611156906002614e84565b6001600160401b0381111561116d5761116d614e97565b604051908082528060200260200182016040528015611196578160200160208202803683370190505b5090507f0000000000000000000000000000000000000000000000000000000000000000816000815181106111cd576111cd614ead565b60200260200101906001600160a01b031690816001600160a01b03168152505060008160018151811061120257611202614ead565b60200260200101906001600160a01b031690816001600160a01b03168152505060006002905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630842b0766040518163ffffffff1660e01b8152600401602060405180830381865afa158015611288573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ac9190614e55565b905060005b81811015610cf157604051630e468baf60e41b8152600481018290526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e468baf090602401602060405180830381865afa158015611321573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113459190614ec3565b604051630daf9c2160e41b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063daf9c21090611394908490600401614bb6565b602060405180830381865afa1580156113b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d59190614ee0565b1561141457808585815181106113ed576113ed614ead565b60200260200101906001600160a01b031690816001600160a01b0316815250508360010193505b506001016112b1565b600254600090600119600160f81b90910460ff160161144e5760405162461bcd60e51b8152600401610d3e90614f32565b600280546001600160f81b0316600160f91b1790553361146f858285612217565b61147a858585612291565b6001915050600280546001600160f81b0316600160f81b1790559392505050565b60006114a56124b3565b905090565b6006546001600160a01b031633146114d45760405162461bcd60e51b8152600401610d3e90614efd565b6114dc6125da565b565b6007546001600160a01b03163381146115395760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610d3e565b6006546040516001600160a01b0380841692169060008051602061512683398151915290600090a3600680546001600160a01b039092166001600160a01b0319928316179055600780549091169055565b6001600160a01b031660009081526020819052604090205490565b600254600090600119600160f81b90910460ff16016115d65760405162461bcd60e51b8152600401610d3e90614f32565b600280546001600160f81b0316600160f91b1790556115f4846116fa565b61161357836040516388a5056160e01b8152600401610d3e9190614bb6565b846000036116345760405163c3d83b0760e01b815260040160405180910390fd5b8115611649576116443086612626565b611653565b6116533386612626565b61165e86858761279f565b9050828110156116855780836040516305ff726560e51b8152600401610d3e929190614f69565b836001600160a01b0316866001600160a01b0316336001600160a01b03167faee47cdf925cf525fdae94f9777ee5a06cac37e1c41220d0a8a89ed154f62d1c88856040516116d4929190614f69565b60405180910390a4600280546001600160f81b0316600160f81b17905595945050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316148061174357506001600160a01b038216155b80610e5d5750604051630daf9c2160e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063daf9c21090611795908590600401614bb6565b602060405180830381865afa1580156117b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5d9190614ee0565b6001600160a01b038116600090815260056020526040812054610e5d565b6006546001600160a01b0316331461181e5760405162461bcd60e51b8152600401610d3e90614efd565b6114dc612945565b60606004805461091890614e21565b600080600060017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118df9190614f77565b925092509250909192565b600254600090600119600160f81b90910460ff160161191b5760405162461bcd60e51b8152600401610d3e90614f32565b600280546001600160f81b0316600160f91b1790553361193c818585612291565b6001915050600280546001600160f81b0316600160f81b17905592915050565b6000611967836116fa565b61198657826040516315d57ce360e31b8152600401610d3e9190614bb6565b6119908383612982565b9392505050565b60606114a5611e95565b60006119ac836116fa565b6119cb57826040516388a5056160e01b8152600401610d3e9190614bb6565b6119908383612b47565b83421115611a255760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610d3e565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611a548c612cf4565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000611aaf82612d1c565b90506000611abf82878787612d6a565b9050896001600160a01b0316816001600160a01b031614611b225760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610d3e565b611b2d8a8a8a611d70565b50505050505050505050565b60606000611b45611e95565b905080516001600160401b03811115611b6057611b60614e97565b604051908082528060200260200182016040528015611b89578160200160208202803683370190505b50915060005b8151811015610d4757603b6000838381518110611bae57611bae614ead565b6020908102919091018101516001600160a01b031682528101919091526040016000205483516001600160801b0390911690849083908110611bf257611bf2614ead565b6020908102919091010152600101611b8f565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600254606090600119600160f81b90910460ff1601611c615760405162461bcd60e51b8152600401610d3e90614f32565b600280546001600160f81b0316600160f91b179055611c7f82612d92565b611c898283612da0565b9050816001600160a01b03167f2193aa20a3717f5f4ac79482f4f553e5f0afe8f4e6ec3e3d1aa2e138adc4763f611cbe611e95565b83604051611ccd929190614f94565b60405180910390a2600280546001600160f81b0316600160f81b179055919050565b600254606090600119600160f81b90910460ff1601611d205760405162461bcd60e51b8152600401610d3e90614f32565b600280546001600160f81b0316600160f91b179055611d3d613048565b5050611d47611b39565b9050600280546001600160f81b0316600160f81b17905590565b6001600160a01b03163b151590565b6001600160a01b038316611dd25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610d3e565b6001600160a01b038216611e335760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610d3e565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b604080516001808252818301909252606091602080830190803683370190505090507f000000000000000000000000000000000000000000000000000000000000000081600081518110611eeb57611eeb614ead565b60200260200101906001600160a01b031690816001600160a01b03168152505090565b6001600160a01b038316611f5a57803414610e445760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b6044820152606401610d3e565b8015610e4457610e446001600160a01b0384168330846132e3565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603611fb7575080610e5d565b6001600160a01b038316612060576040516353a8aa0360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906353a8aa03903490612016906000908190600401614f69565b60206040518083038185885af1158015612034573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906120599190614e55565b9050610e5d565b60405163364e231160e01b81526001600160a01b0384811660048301526024820184905260006044830181905260648301527f0000000000000000000000000000000000000000000000000000000000000000169063364e2311906084016020604051808303816000875af11580156120dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119909190614e55565b6001600160a01b0382166121575760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610d3e565b6121636000838361334e565b61216c81613358565b600280546000906121879084906001600160f81b0316614fb9565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555080600080846001600160a01b03166001600160a01b0316815260200190815260200160002060008282546121df9190614e84565b90915550506040518181526001600160a01b038316906000906000805160206151468339815191529060200160405180910390a35050565b60006122238484611c05565b9050600019811461228b578181101561227e5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610d3e565b61228b8484848403611d70565b50505050565b6001600160a01b0383166122f55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610d3e565b6001600160a01b0382166123575760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610d3e565b816001600160a01b0316836001600160a01b0316036123b25760405162461bcd60e51b815260206004820152601760248201527622a92199181d103a3930b739b332b9103a379039b2b63360491b6044820152606401610d3e565b6123bd83838361334e565b6001600160a01b038316600090815260208190526040902054818110156124355760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610d3e565b6001600160a01b0380851660009081526020819052604080822085850390559185168152908120805484929061246c908490614e84565b92505081905550826001600160a01b0316846001600160a01b0316600080516020615146833981519152846040516124a691815260200190565b60405180910390a361228b565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561250c57507f000000000000000000000000000000000000000000000000000000000000000046145b1561253657507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6125e2613372565b6038805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405161261c9190614bb6565b60405180910390a1565b6001600160a01b0382166126865760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610d3e565b6126928260008361334e565b6001600160a01b038216600090815260208190526040902054818110156127065760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610d3e565b6001600160a01b0383166000908152602081905260409020828203905561272c82613358565b600280546000906127479084906001600160f81b0316614fe0565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555060006001600160a01b0316836001600160a01b031660008051602061514683398151915284604051611e8891815260200190565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316036127ec5750806127e78385836133bb565b611990565b6001600160a01b03831661289b576040516355daf2f160e11b815260048101839052600060248201526001600160a01b0385811660448301527f0000000000000000000000000000000000000000000000000000000000000000169063abb5e5e2906064016020604051808303816000875af1158015612870573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128949190614e55565b9050611990565b6040516303cea95560e21b81526001600160a01b038481166004830152602482018490526000604483015285811660648301527f00000000000000000000000000000000000000000000000000000000000000001690630f3aa554906084016020604051808303816000875af1158015612919573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061293d9190614e55565b949350505050565b61294d61347f565b6038805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861260f3390565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316036129c4575080610e5d565b6001600160a01b0383166129f6577f000000000000000000000000000000000000000000000000000000000000000092505b604051630345051f60e51b8152600160048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906368a0a3e090602401602060405180830381865afa158015612a5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a829190614e55565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ae4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b089190614e55565b90506000612b1686866134c5565b905060008315612b3a5783612b2b8484615000565b612b35919061502d565b612b3c565b815b979650505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603612b89575080610e5d565b6001600160a01b038316612bbb577f000000000000000000000000000000000000000000000000000000000000000092505b604051630345051f60e51b8152600060048201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906368a0a3e090602401602060405180830381865afa158015612c23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c479190614e55565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ca9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ccd9190614e55565b9050600081612cdc8487615000565b612ce6919061502d565b90506000612b3c87836138b6565b6001600160a01b03811660009081526005602052604090208054600181018255905b50919050565b6000610e5d612d296124b3565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000806000612d7b87878787613b7c565b91509150612d8881613c5f565b5095945050505050565b612d9d816000613e10565b50565b60606000612dac611e95565b905080516001600160401b03811115612dc757612dc7614e97565b604051908082528060200260200182016040528015612df0578160200160208202803683370190505b50915060005b81518110156130405760396000838381518110612e1557612e15614ead565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000866001600160a01b03166001600160a01b0316815260200190815260200160002060000160109054906101000a90046001600160801b03166001600160801b0316838281518110612e9257612e92614ead565b602002602001018181525050828181518110612eb057612eb0614ead565b602002602001015160001461302e57600060396000848481518110612ed757612ed7614ead565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000876001600160a01b03166001600160a01b0316815260200190815260200160002060000160106101000a8154816001600160801b0302191690836001600160801b03160217905550612f6b838281518110612f5e57612f5e614ead565b6020026020010151613e90565b603b6000848481518110612f8157612f81614ead565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060000160108282829054906101000a90046001600160801b0316612fcd919061504f565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061302e82828151811061300657613006614ead565b60200260200101518585848151811061302157613021614ead565b60200260200101516133bb565b806130388161506f565b915050612df6565b505092915050565b606080613053611e95565b915081516001600160401b0381111561306e5761306e614e97565b604051908082528060200260200182016040528015613097578160200160208202803683370190505b50905081516000036130a7579091565b43603a541461325b5743603a5560006130be613ea6565b90506130c8613eb0565b60005b83518110156132585760008482815181106130e8576130e8614ead565b6020908102919091018101516001600160a01b0381166000908152603b90925260408220548751919350600160801b90046001600160801b0316906131469088908690811061313957613139614ead565b6020026020010151613f1f565b6131509190615088565b6001600160a01b0383166000908152603b60205260408120549192506001600160801b0390911690819003613183575060015b84156131a0576131938286613fa9565b61319d9082614e84565b90505b6131a981613e90565b6001600160a01b0384166000908152603b6020526040902080546001600160801b0319166001600160801b03929092169190911790556131e882613e90565b6001600160a01b0384166000908152603b602052604090208054601090613220908490600160801b90046001600160801b031661509b565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505050806132519061506f565b90506130cb565b50505b60005b82518110156132de57603b600084838151811061327d5761327d614ead565b6020908102919091018101516001600160a01b031682528101919091526040016000205482516001600160801b03909116908390839081106132c1576132c1614ead565b6020908102919091010152806132d68161506f565b91505061325e565b509091565b6040516001600160a01b038085166024830152831660448201526064810182905261228b9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613fd8565b610e448383613e10565b60006001600160f81b0382111561336e57600080fd5b5090565b60385460ff166114dc5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610d3e565b806000036133c857505050565b6001600160a01b03831661346b576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114613423576040519150601f19603f3d011682016040523d82523d6000602084013e613428565b606091505b505090508061228b5760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b6044820152606401610d3e565b610e446001600160a01b03841683836140aa565b60385460ff16156114dc5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610d3e565b60006134d183836140c9565b9150600082116134e3576134e36150bb565b6040516340d3096b60e11b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906381a612d690613532908790600401614bb6565b602060405180830381865afa15801561354f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135739190614e55565b9050600068327cb2734119d3b7a9601e1b61358e8386615000565b613598919061502d565b604051634215287360e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063421528739061360b90849089907f0000000000000000000000000000000000000000000000000000000000000000906004016150d1565b602060405180830381865afa158015613628573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061364c9190614e55565b9050600081116136ae5760405162461bcd60e51b815260206004820152602760248201527f7072657669657720627579555344473a2075736467416d6f756e74206d7573746044820152660206265203e20360cc1b6064820152608401610d3e565b60006137c2868360007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634d47b3046040518163ffffffff1660e01b8152600401602060405180830381865afa158015613715573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137399190614e55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637a210a2b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137bb9190614e55565b6001614201565b905060006137d1878784614478565b9050600068327cb2734119d3b7a9601e1b6137ec8684615000565b6137f6919061502d565b604051634215287360e01b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906342152873906138699084908c907f0000000000000000000000000000000000000000000000000000000000000000906004016150d1565b602060405180830381865afa158015613886573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138aa9190614e55565b98975050505050505050565b60006138e27f0000000000000000000000000000000000000000000000000000000000000000836140c9565b9150600082116138f4576138f46150bb565b604051632c668ec160e01b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632c668ec19061394590879087906004016150f0565b602060405180830381865afa158015613962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139869190614e55565b9050600081116139ef5760405162461bcd60e51b815260206004820152602e60248201527f707265766965772073656c6c555344473a20726564656d7074696f6e416d6f7560448201526d06e74206d757374206265203e20360941b6064820152608401610d3e565b6000613b028585867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634d47b3046040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a799190614e55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637a210a2b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613ad7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613afb9190614e55565b6000614201565b90506000613b11868484614478565b905060008111613b735760405162461bcd60e51b815260206004820152602760248201527f707265766965772073656c6c555344473a20616d6f756e744f7574206d7573746044820152660206265203e20360cc1b6064820152608401610d3e565b95945050505050565b6000806fa2a8918ca85bafe22016d0b997e4df60600160ff1b03831115613ba95750600090506003613c56565b8460ff16601b14158015613bc157508460ff16601c14155b15613bd25750600090506004613c56565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613c26573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116613c4f57600060019250925050613c56565b9150600090505b94509492505050565b6000816004811115613c7357613c73614d49565b03613c7b5750565b6001816004811115613c8f57613c8f614d49565b03613cd75760405162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b6044820152606401610d3e565b6002816004811115613ceb57613ceb614d49565b03613d385760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610d3e565b6003816004811115613d4c57613d4c614d49565b03613da45760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610d3e565b6004816004811115613db857613db8614d49565b03612d9d5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610d3e565b600080613e1b613048565b915091508151600003613e2e5750505050565b6001600160a01b03841615801590613e4f57506001600160a01b0384163014155b15613e5f57613e5f84838361449c565b6001600160a01b03831615801590613e8057506001600160a01b0383163014155b1561228b5761228b83838361449c565b60006001600160801b0382111561336e57600080fd5b60006114a5610f6f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634e71d92d6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015613f0b57600080fd5b505af115801561228b573d6000803e3d6000fd5b60006001600160a01b03821615613fa2576040516370a0823160e01b81526001600160a01b038316906370a0823190613f5c903090600401614bb6565b602060405180830381865afa158015613f79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f9d9190614e55565b610e5d565b4792915050565b600080613fbe670de0b6b3a764000085615000565b9050828181613fcf57613fcf615017565b04949350505050565b600061402d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661471c9092919063ffffffff16565b805190915015610e44578080602001905181019061404b9190614ee0565b610e445760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610d3e565b610e448363a9059cbb60e01b84846040516024016133179291906150f0565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663523fba7f856040518263ffffffff1660e01b81526004016141189190614bb6565b602060405180830381865afa158015614135573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141599190614e55565b9050600083856001600160a01b03166370a082317f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016141aa9190614bb6565b602060405180830381865afa1580156141c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141eb9190614e55565b6141f59190614e84565b9050613b738282615088565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639f392eb36040518163ffffffff1660e01b8152600401602060405180830381865afa158015614261573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142859190614ee0565b61429057508261446e565b604051631aa4ace560e01b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631aa4ace5906142df908b90600401614bb6565b602060405180830381865afa1580156142fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143209190614e55565b90508581101561433157600061433b565b61433b8682615088565b905060006143498883614e84565b90508361436c57818811614366576143618883615088565b614369565b60005b90505b60006143788a8961472b565b90508060000361438d5786935050505061446e565b60008184116143a5576143a08483615088565b6143af565b6143af8285615088565b905060008284116143c9576143c48484615088565b6143d3565b6143d38385615088565b90508181101561441c576000836143ea848b615000565b6143f4919061502d565b905089811161440c57614407818b615088565b61440f565b60005b965050505050505061446e565b6000600261442a8385614e84565b614434919061502d565b9050838111156144415750825b60008461444e838c615000565b614458919061502d565b9050614464818c614e84565b9750505050505050505b9695505050505050565b6000806127106144888482615088565b6144929086615000565b613b73919061502d565b6001600160a01b038316158015906144bd57506001600160a01b0383163014155b6144c9576144c96150bb565b60006144d4846148ed565b905060005b83518110156147155760008482815181106144f6576144f6614ead565b60200260200101519050600084838151811061451457614514614ead565b6020908102919091018101516001600160a01b038085166000908152603984526040808220928c168252919093528220549092506001600160801b0316908190036145b05761456282613e90565b6001600160a01b039384166000908152603960209081526040808320968c1683529590529390932080546001600160801b0319166001600160801b0390941693909317909255506147059050565b8181036145bf57505050614705565b60006145cb8284615088565b905060006145d987836148f8565b6001600160a01b038681166000908152603960209081526040808320938f1683529290529081205491925090614620908390600160801b90046001600160801b0316614e84565b9050604051806040016040528061463687613e90565b6001600160801b0316815260200161464d83613e90565b6001600160801b031681525060396000886001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816001600160801b0302191690836001600160801b031602179055509050505050505050505b61470e8161506f565b90506144d9565b5050505050565b606061293d8484600085614916565b600080827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561478d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147b19190614e55565b6147bb9190615088565b9050806000036147cf576000915050610e5d565b604051632acbceb560e21b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab2f3ad49061481e908890600401614bb6565b602060405180830381865afa15801561483b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061485f9190614e55565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663dc8f5fac6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156148bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148e39190614e55565b6144928383615000565b6000610e5d8261158a565b6000806149058385615000565b9050670de0b6b3a764000081613fcf565b6060824710156149775760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610d3e565b61498085611d61565b6149cc5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610d3e565b600080866001600160a01b031685876040516149e89190615109565b60006040518083038185875af1925050503d8060008114614a25576040519150601f19603f3d011682016040523d82523d6000602084013e614a2a565b606091505b5091509150612b3c82828660608315614a44575081611990565b825115614a545782518084602001fd5b8160405162461bcd60e51b8152600401610d3e9190614a92565b60005b83811015614a89578181015183820152602001614a71565b50506000910152565b6020815260008251806020840152614ab1816040850160208701614a6e565b601f01601f19169190910160400192915050565b600081518084526020808501945080840160005b83811015614afe5781516001600160a01b031687529582019590820190600101614ad9565b509495945050505050565b6020815260006119906020830184614ac5565b6001600160a01b0381168114612d9d57600080fd5b8015158114612d9d57600080fd5b600080600060608486031215614b5457600080fd5b8335614b5f81614b1c565b92506020840135614b6f81614b31565b91506040840135614b7f81614b31565b809150509250925092565b60008060408385031215614b9d57600080fd5b8235614ba881614b1c565b946020939093013593505050565b6001600160a01b0391909116815260200190565b600060208284031215614bdc57600080fd5b813561199081614b1c565b600081518084526020808501945080840160005b83811015614afe57815187529582019590820190600101614bfb565b6020815260006119906020830184614be7565b60008060008060808587031215614c4057600080fd5b8435614c4b81614b1c565b93506020850135614c5b81614b1c565b93969395505050506040820135916060013590565b600080600060608486031215614c8557600080fd5b8335614c9081614b1c565b92506020840135614ca081614b1c565b929592945050506040919091013590565b60008060408385031215614cc457600080fd5b8235614ccf81614b1c565b91506020830135614cdf81614b1c565b809150509250929050565b600080600080600060a08688031215614d0257600080fd5b8535614d0d81614b1c565b9450602086013593506040860135614d2481614b1c565b9250606086013591506080860135614d3b81614b31565b809150509295509295909350565b634e487b7160e01b600052602160045260246000fd5b6060810160028510614d8157634e487b7160e01b600052602160045260246000fd5b9381526001600160a01b0392909216602083015260ff1660409091015290565b60ff81168114612d9d57600080fd5b600080600080600080600060e0888a031215614dcb57600080fd5b8735614dd681614b1c565b96506020880135614de681614b1c565b955060408801359450606088013593506080880135614e0481614da1565b9699959850939692959460a0840135945060c09093013592915050565b600181811c90821680614e3557607f821691505b602082108103612d1657634e487b7160e01b600052602260045260246000fd5b600060208284031215614e6757600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610e5d57610e5d614e6e565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060208284031215614ed557600080fd5b815161199081614b1c565b600060208284031215614ef257600080fd5b815161199081614b31565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b918252602082015260400190565b600060208284031215614f8957600080fd5b815161199081614da1565b604081526000614fa76040830185614ac5565b8281036020840152613b738185614be7565b6001600160f81b03818116838216019080821115614fd957614fd9614e6e565b5092915050565b6001600160f81b03828116828216039080821115614fd957614fd9614e6e565b8082028115828204841417610e5d57610e5d614e6e565b634e487b7160e01b600052601260045260246000fd5b60008261504a57634e487b7160e01b600052601260045260246000fd5b500490565b6001600160801b03828116828216039080821115614fd957614fd9614e6e565b60006001820161508157615081614e6e565b5060010190565b81810381811115610e5d57610e5d614e6e565b6001600160801b03818116838216019080821115614fd957614fd9614e6e565b634e487b7160e01b600052600160045260246000fd5b9283526001600160a01b03918216602084015216604082015260600190565b6001600160a01b03929092168252602082015260400190565b6000825161511b818460208701614a6e565b919091019291505056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212208cf78fa318de9579e835f69341c87a8b14beb0d2f6dfe8b865164189fb3108f864736f6c63430008110033";
1171
+
1172
+ type PendleGlpSYConstructorParams =
1173
+ | [signer?: Signer]
1174
+ | ConstructorParameters<typeof ContractFactory>;
1175
+
1176
+ const isSuperArgs = (
1177
+ xs: PendleGlpSYConstructorParams
1178
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
1179
+
1180
+ export class PendleGlpSY__factory extends ContractFactory {
1181
+ constructor(...args: PendleGlpSYConstructorParams) {
1182
+ if (isSuperArgs(args)) {
1183
+ super(...args);
1184
+ } else {
1185
+ super(_abi, _bytecode, args[0]);
1186
+ }
1187
+ this.contractName = "PendleGlpSY";
1188
+ }
1189
+
1190
+ deploy(
1191
+ _name: string,
1192
+ _symbol: string,
1193
+ _glp: string,
1194
+ _fsGlp: string,
1195
+ _stakedGlp: string,
1196
+ _rewardRouter: string,
1197
+ _glpRouter: string,
1198
+ _vault: string,
1199
+ overrides?: Overrides & { from?: string | Promise<string> }
1200
+ ): Promise<PendleGlpSY> {
1201
+ return super.deploy(
1202
+ _name,
1203
+ _symbol,
1204
+ _glp,
1205
+ _fsGlp,
1206
+ _stakedGlp,
1207
+ _rewardRouter,
1208
+ _glpRouter,
1209
+ _vault,
1210
+ overrides || {}
1211
+ ) as Promise<PendleGlpSY>;
1212
+ }
1213
+ getDeployTransaction(
1214
+ _name: string,
1215
+ _symbol: string,
1216
+ _glp: string,
1217
+ _fsGlp: string,
1218
+ _stakedGlp: string,
1219
+ _rewardRouter: string,
1220
+ _glpRouter: string,
1221
+ _vault: string,
1222
+ overrides?: Overrides & { from?: string | Promise<string> }
1223
+ ): TransactionRequest {
1224
+ return super.getDeployTransaction(
1225
+ _name,
1226
+ _symbol,
1227
+ _glp,
1228
+ _fsGlp,
1229
+ _stakedGlp,
1230
+ _rewardRouter,
1231
+ _glpRouter,
1232
+ _vault,
1233
+ overrides || {}
1234
+ );
1235
+ }
1236
+ attach(address: string): PendleGlpSY {
1237
+ return super.attach(address) as PendleGlpSY;
1238
+ }
1239
+ connect(signer: Signer): PendleGlpSY__factory {
1240
+ return super.connect(signer) as PendleGlpSY__factory;
1241
+ }
1242
+ static readonly contractName: "PendleGlpSY";
1243
+ public readonly contractName: "PendleGlpSY";
1244
+ static readonly bytecode = _bytecode;
1245
+ static readonly abi = _abi;
1246
+ static createInterface(): PendleGlpSYInterface {
1247
+ return new utils.Interface(_abi) as PendleGlpSYInterface;
1248
+ }
1249
+ static connect(
1250
+ address: string,
1251
+ signerOrProvider: Signer | Provider
1252
+ ): PendleGlpSY {
1253
+ return new Contract(address, _abi, signerOrProvider) as PendleGlpSY;
1254
+ }
1255
+ }