@pendle/core-v2 0.6.8 → 0.7.0

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 (519) hide show
  1. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.dbg.json +4 -0
  2. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.json +751 -0
  3. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/WadRayMath.sol/WadRayMath.dbg.json +4 -0
  4. package/build/artifacts/contracts/{core/PendleSCYImpl → SuperComposableYield/SCY-implementations}/AaveV3/WadRayMath.sol/WadRayMath.json +3 -3
  5. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +4 -0
  6. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +27 -0
  7. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.dbg.json +4 -0
  8. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.json +761 -0
  9. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleBtrflySCY.sol/PendleBtrflyScy.dbg.json +4 -0
  10. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleBtrflySCY.sol/PendleBtrflyScy.json +635 -0
  11. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.dbg.json +4 -0
  12. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.json +609 -0
  13. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleJoeLpSCY.sol/PendleJoeLpSCY.dbg.json +4 -0
  14. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleJoeLpSCY.sol/PendleJoeLpSCY.json +653 -0
  15. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.dbg.json +4 -0
  16. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.json +622 -0
  17. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol/PendleYearnVaultSCY.dbg.json +4 -0
  18. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol/PendleYearnVaultSCY.json +622 -0
  19. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBase.sol/SCYBase.dbg.json +4 -0
  20. package/build/artifacts/contracts/SuperComposableYield/{ISuperComposableYield.sol/ISuperComposableYield.json → base-implementations/SCYBase.sol/SCYBase.json} +221 -141
  21. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +4 -0
  22. package/build/artifacts/contracts/SuperComposableYield/{implementations → base-implementations}/SCYBaseWithRewards.sol/SCYBaseWithRewards.json +247 -223
  23. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiver.sol/CelerReceiver.dbg.json +4 -0
  24. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiver.sol/CelerReceiver.json +128 -0
  25. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSender.sol/CelerSender.dbg.json +4 -0
  26. package/build/artifacts/contracts/{SuperComposableYield/implementations/IRewardManager.sol/IRewardManager.json → core/LiquidityMining/CelerAbstracts/CelerSender.sol/CelerSender.json} +29 -33
  27. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeController.sol/PendleGaugeController.dbg.json +4 -0
  28. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeController.sol/PendleGaugeController.json +193 -0
  29. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol/PendleGaugeControllerMainchain.dbg.json +4 -0
  30. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol/PendleGaugeControllerMainchain.json +255 -0
  31. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechain.sol/PendleGaugeControllerSidechain.dbg.json +4 -0
  32. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechain.sol/PendleGaugeControllerSidechain.json +318 -0
  33. package/build/artifacts/contracts/core/LiquidityMining/PendleGauge.sol/PendleGauge.dbg.json +4 -0
  34. package/build/artifacts/contracts/{interfaces/IPVotingEscrow.sol/IVotingEscrowPendle.json → core/LiquidityMining/PendleGauge.sol/PendleGauge.json} +57 -65
  35. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingController.sol/PendleVotingController.dbg.json +4 -0
  36. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingController.sol/PendleVotingController.json +707 -0
  37. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorage.sol/VotingControllerStorage.dbg.json +4 -0
  38. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorage.sol/VotingControllerStorage.json +342 -0
  39. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +4 -0
  40. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +547 -0
  41. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +4 -0
  42. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +353 -0
  43. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowToken.sol/VotingEscrowToken.dbg.json +4 -0
  44. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowToken.sol/VotingEscrowToken.json +138 -0
  45. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +4 -0
  46. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +922 -0
  47. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +4 -0
  48. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +345 -0
  49. package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.dbg.json +4 -0
  50. package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.json +254 -0
  51. package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +4 -0
  52. package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.json +329 -0
  53. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.json +2 -20
  55. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +4 -0
  56. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +445 -0
  57. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +4 -0
  58. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +344 -0
  59. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +4 -0
  60. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +750 -0
  61. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.json +2 -2
  63. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.json +123 -77
  65. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.json +39 -42
  67. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPTBase.sol/ActionSCYAndPTBase.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPTBase.sol/ActionSCYAndPTBase.json +163 -1
  69. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.json +0 -13
  71. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.json +1 -14
  73. package/build/artifacts/contracts/core/actions/base/CallbackHelper.sol/CallbackHelper.dbg.json +4 -0
  74. package/build/artifacts/contracts/core/actions/base/CallbackHelper.sol/CallbackHelper.json +10 -0
  75. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +1 -1
  76. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.json +39 -0
  77. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +1 -1
  78. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +1 -1
  79. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  80. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.json +13 -0
  81. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +4 -0
  82. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.json +74 -0
  83. package/build/artifacts/contracts/interfaces/ICelerMessageBus.sol/ICelerMessageBus.dbg.json +4 -0
  84. package/build/artifacts/contracts/interfaces/{IVePToken.sol/IVePToken.json → ICelerMessageBus.sol/ICelerMessageBus.json} +21 -11
  85. package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.dbg.json +4 -0
  86. package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.json +45 -0
  87. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +4 -0
  88. package/build/artifacts/contracts/{core/PendleBaseToken.sol/PendleBaseToken.json → interfaces/IERC4626.sol/IERC4626.json} +53 -68
  89. package/build/artifacts/contracts/interfaces/IJoePair.sol/IJoePair.dbg.json +1 -1
  90. package/build/artifacts/contracts/interfaces/IJoeRouter01.sol/IJoeRouter01.dbg.json +1 -1
  91. package/build/artifacts/contracts/interfaces/IJoeRouter02.sol/IJoeRouter02.dbg.json +4 -0
  92. package/build/artifacts/contracts/interfaces/IJoeRouter02.sol/IJoeRouter02.json +962 -0
  93. package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.dbg.json +1 -1
  94. package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.json +122 -58
  95. package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.dbg.json +1 -1
  96. package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.json +36 -21
  97. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  98. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +116 -81
  99. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +4 -0
  100. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.json +109 -0
  101. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +4 -0
  102. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.json +132 -0
  103. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +1 -1
  104. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  105. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +35 -54
  106. package/build/artifacts/contracts/interfaces/IPMarketAddRemoveCallback.sol/IPMarketAddRemoveCallback.dbg.json +1 -1
  107. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.json +31 -0
  109. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.json +5 -5
  113. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +4 -0
  115. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.json +99 -0
  116. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +4 -0
  117. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.json +167 -0
  118. package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.dbg.json +4 -0
  119. package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.json +148 -0
  120. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.json +85 -83
  123. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +4 -0
  124. package/build/artifacts/contracts/interfaces/{IPBaseToken.sol/IPBaseToken.json → IQiAvax.sol/IQiAvax.json} +106 -15
  125. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.json +117 -0
  127. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.json +117 -0
  129. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +4 -0
  131. package/build/artifacts/contracts/{periphery/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.json → interfaces/IRewardManager.sol/IRewardManager.json} +12 -14
  132. package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +4 -0
  133. package/build/artifacts/contracts/{SuperComposableYield/implementations/SCYBase.sol/SCYBase.json → interfaces/ISuperComposableYield.sol/ISuperComposableYield.json} +183 -181
  134. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.json +13 -0
  137. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.json +13 -0
  139. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.json +13 -0
  141. package/build/artifacts/contracts/libraries/RewardManager.sol/RewardManager.dbg.json +4 -0
  142. package/build/artifacts/contracts/{SuperComposableYield/implementations → libraries}/RewardManager.sol/RewardManager.json +44 -33
  143. package/build/artifacts/contracts/libraries/RewardManagerMini.sol/RewardManagerMini.dbg.json +4 -0
  144. package/build/artifacts/contracts/libraries/RewardManagerMini.sol/RewardManagerMini.json +101 -0
  145. package/build/artifacts/contracts/libraries/SCY/SCYIndex.sol/SCYIndexLib.dbg.json +4 -0
  146. package/build/artifacts/contracts/libraries/{SCYIndex.sol → SCY/SCYIndex.sol}/SCYIndexLib.json +3 -3
  147. package/build/artifacts/contracts/libraries/SCY/SCYUtils.sol/SCYUtils.dbg.json +4 -0
  148. package/build/artifacts/contracts/{SuperComposableYield → libraries/SCY}/SCYUtils.sol/SCYUtils.json +3 -3
  149. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +4 -0
  150. package/build/artifacts/contracts/libraries/{math/MarketMathAux.sol/MarketMathAux.json → VeBalanceLib.sol/VeBalanceLib.json} +4 -4
  151. package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.dbg.json +4 -0
  152. package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.json +10 -0
  153. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  154. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.json +2 -2
  155. package/build/artifacts/contracts/libraries/helpers/MiniDeployer.sol/MiniDeployer.dbg.json +4 -0
  156. package/build/artifacts/contracts/libraries/helpers/MiniDeployer.sol/MiniDeployer.json +10 -0
  157. package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.dbg.json +4 -0
  158. package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.json +10 -0
  159. package/build/artifacts/contracts/libraries/helpers/TokenHelper.sol/TokenHelper.dbg.json +4 -0
  160. package/build/artifacts/contracts/{core/actions/base/ActionType.sol/ActionType.json → libraries/helpers/TokenHelper.sol/TokenHelper.json} +2 -2
  161. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  162. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
  163. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.dbg.json +1 -1
  164. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.json +2 -2
  165. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  166. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.json +2 -2
  167. package/build/artifacts/contracts/libraries/math/Math.sol/Math.dbg.json +1 -1
  168. package/build/artifacts/contracts/libraries/math/Math.sol/Math.json +2 -2
  169. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.dbg.json +4 -0
  170. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.json +10 -0
  171. package/build/artifacts/contracts/libraries/solmate/Bytes32AddressLib.sol/Bytes32AddressLib.dbg.json +4 -0
  172. package/build/artifacts/contracts/libraries/solmate/Bytes32AddressLib.sol/Bytes32AddressLib.json +10 -0
  173. package/build/artifacts/contracts/libraries/solmate/LibRLP.sol/LibRLP.dbg.json +4 -0
  174. package/build/artifacts/contracts/libraries/solmate/LibRLP.sol/LibRLP.json +10 -0
  175. package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.dbg.json +4 -0
  176. package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.json +10 -0
  177. package/build/artifacts/contracts/libraries/traderjoe/JoeLibrary.sol/JoeLibrary.dbg.json +4 -0
  178. package/build/artifacts/contracts/libraries/{JoeLibrary.sol → traderjoe/JoeLibrary.sol}/JoeLibrary.json +3 -3
  179. package/build/artifacts/contracts/libraries/traderjoe/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.dbg.json +4 -0
  180. package/build/artifacts/contracts/libraries/traderjoe/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.json +24 -0
  181. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +4 -0
  182. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +862 -0
  183. package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.dbg.json +1 -1
  184. package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.json +2 -2
  185. package/build/artifacts/contracts/periphery/PermissionsV2Upg.sol/PermissionsV2Upg.dbg.json +1 -1
  186. package/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol +147 -0
  187. package/contracts/{core/PendleSCYImpl → SuperComposableYield/SCY-implementations}/AaveV3/WadRayMath.sol +1 -1
  188. package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol +74 -0
  189. package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol +187 -0
  190. package/contracts/SuperComposableYield/SCY-implementations/PendleBtrflySCY.sol +123 -0
  191. package/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol +99 -0
  192. package/contracts/SuperComposableYield/SCY-implementations/PendleJoeLpSCY.sol +245 -0
  193. package/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol +107 -0
  194. package/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol +120 -0
  195. package/contracts/SuperComposableYield/base-implementations/SCYBase.sol +197 -0
  196. package/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol +131 -0
  197. package/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiver.sol +47 -0
  198. package/contracts/core/LiquidityMining/CelerAbstracts/CelerSender.sol +52 -0
  199. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeController.sol +141 -0
  200. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol +30 -0
  201. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechain.sol +22 -0
  202. package/contracts/core/LiquidityMining/PendleGauge.sol +118 -0
  203. package/contracts/core/LiquidityMining/README.md +63 -0
  204. package/contracts/core/LiquidityMining/VotingController/PendleVotingController.sol +323 -0
  205. package/contracts/core/LiquidityMining/VotingController/VotingControllerStorage.sol +224 -0
  206. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +241 -0
  207. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +73 -0
  208. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowToken.sol +53 -0
  209. package/contracts/core/{PendleMarket.sol → Market/PendleMarket.sol} +139 -103
  210. package/contracts/core/{PendleMarketFactory.sol → Market/PendleMarketFactory.sol} +62 -19
  211. package/contracts/core/PendleERC20.sol +358 -0
  212. package/contracts/core/PendleERC20Permit.sol +84 -0
  213. package/contracts/core/PendleRouter.sol +6 -12
  214. package/contracts/core/YieldContracts/InterestManagerYT.sol +87 -0
  215. package/contracts/core/YieldContracts/PendlePrincipalToken.sol +52 -0
  216. package/contracts/core/{PendleYieldContractFactory.sol → YieldContracts/PendleYieldContractFactory.sol} +46 -25
  217. package/contracts/core/YieldContracts/PendleYieldToken.sol +340 -0
  218. package/contracts/core/actions/ActionCallback.sol +63 -43
  219. package/contracts/core/actions/ActionCore.sol +95 -78
  220. package/contracts/core/actions/ActionYT.sol +35 -86
  221. package/contracts/core/actions/base/ActionSCYAndPTBase.sol +133 -78
  222. package/contracts/core/actions/base/ActionSCYAndPYBase.sol +31 -46
  223. package/contracts/core/actions/base/ActionSCYAndYTBase.sol +127 -45
  224. package/contracts/core/actions/base/CallbackHelper.sol +81 -0
  225. package/contracts/interfaces/IAToken.sol +11 -1
  226. package/contracts/interfaces/IAavePool.sol +1 -1
  227. package/contracts/interfaces/IAaveRewardsController.sol +1 -1
  228. package/contracts/interfaces/IBenQiComptroller.sol +3 -1
  229. package/contracts/interfaces/IBenQiInterestRateModel.sol +16 -0
  230. package/contracts/interfaces/ICelerMessageBus.sol +28 -0
  231. package/contracts/interfaces/ICelerMessageReceiverApp.sol +25 -0
  232. package/contracts/interfaces/IERC4626.sol +39 -0
  233. package/contracts/interfaces/IJoeRouter01.sol +1 -1
  234. package/contracts/interfaces/IJoeRouter02.sol +52 -0
  235. package/contracts/interfaces/IPActionCore.sol +44 -27
  236. package/contracts/interfaces/IPActionYT.sol +12 -9
  237. package/contracts/interfaces/IPAllAction.sol +2 -3
  238. package/contracts/interfaces/IPGaugeController.sol +22 -0
  239. package/contracts/interfaces/IPGaugeControllerMainchain.sol +12 -0
  240. package/contracts/interfaces/IPGovernanceManager.sol +1 -1
  241. package/contracts/interfaces/IPInterestManagerYT.sol +9 -0
  242. package/contracts/interfaces/IPMarket.sol +13 -13
  243. package/contracts/interfaces/IPMarketAddRemoveCallback.sol +3 -3
  244. package/contracts/interfaces/IPMarketFactory.sol +8 -1
  245. package/contracts/interfaces/IPMarketSwapCallback.sol +1 -1
  246. package/contracts/interfaces/IPPermissionsV2Upg.sol +1 -1
  247. package/contracts/interfaces/IPPrincipalToken.sol +9 -5
  248. package/contracts/interfaces/IPRouterStatic.sol +1 -1
  249. package/contracts/interfaces/IPVeToken.sol +10 -5
  250. package/contracts/interfaces/IPVotingController.sol +21 -0
  251. package/contracts/interfaces/IPVotingEscrow.sol +14 -22
  252. package/contracts/interfaces/IPYieldContractFactory.sol +1 -1
  253. package/contracts/interfaces/IPYieldToken.sol +17 -17
  254. package/contracts/interfaces/IQiAvax.sol +31 -0
  255. package/contracts/interfaces/IQiErc20.sol +1 -1
  256. package/contracts/interfaces/IQiToken.sol +22 -1
  257. package/contracts/interfaces/IREDACTEDStaking.sol +1 -1
  258. package/contracts/interfaces/IRewardManager.sol +9 -0
  259. package/contracts/interfaces/ISuperComposableYield.sol +182 -0
  260. package/contracts/interfaces/IWETH.sol +1 -1
  261. package/contracts/interfaces/IWXBTRFLY.sol +3 -1
  262. package/contracts/interfaces/IWstETH.sol +3 -1
  263. package/contracts/interfaces/IYearnVault.sol +3 -1
  264. package/contracts/libraries/RewardManager.sol +78 -0
  265. package/contracts/libraries/RewardManagerAbstract.sol +81 -0
  266. package/contracts/libraries/{SCYIndex.sol → SCY/SCYIndex.sol} +8 -8
  267. package/contracts/libraries/SCY/SCYUtils.sol +18 -0
  268. package/contracts/libraries/VeBalanceLib.sol +114 -0
  269. package/contracts/libraries/helpers/ArrayLib.sol +65 -0
  270. package/contracts/libraries/helpers/ExpiryUtilsLib.sol +1 -1
  271. package/contracts/libraries/helpers/MiniDeployer.sol +23 -0
  272. package/contracts/libraries/helpers/MiniHelpers.sol +15 -0
  273. package/contracts/libraries/helpers/TokenHelper.sol +105 -0
  274. package/contracts/libraries/math/LogExpMath.sol +59 -1
  275. package/contracts/libraries/math/MarketApproxLib.sol +167 -164
  276. package/contracts/libraries/math/MarketMathCore.sol +106 -25
  277. package/contracts/libraries/math/Math.sol +28 -21
  278. package/contracts/libraries/math/WeekMath.sol +19 -0
  279. package/contracts/libraries/solmate/Bytes32AddressLib.sol +14 -0
  280. package/contracts/libraries/solmate/LibRLP.sol +30 -0
  281. package/contracts/libraries/solmate/SSTORE2.sol +99 -0
  282. package/contracts/libraries/{JoeLibrary.sol → traderjoe/JoeLibrary.sol} +3 -2
  283. package/contracts/{periphery → libraries/traderjoe}/PendleJoeSwapHelperUpg.sol +8 -10
  284. package/contracts/{core → offchain-helpers}/RouterStatic.sol +24 -19
  285. package/contracts/periphery/PendleGovernanceManager.sol +1 -1
  286. package/contracts/periphery/PermissionsV2Upg.sol +1 -1
  287. package/package.json +1 -1
  288. package/typechain-types/ActionCore.ts +169 -96
  289. package/typechain-types/ActionSCYAndPTBase.ts +210 -0
  290. package/typechain-types/ActionSCYAndPYBase.ts +0 -13
  291. package/typechain-types/ActionSCYAndYTBase.ts +8 -21
  292. package/typechain-types/ActionYT.ts +73 -64
  293. package/typechain-types/BeaconProxy.ts +97 -0
  294. package/typechain-types/CelerReceiver.ts +267 -0
  295. package/typechain-types/CelerSender.ts +197 -0
  296. package/typechain-types/ERC1967Upgrade.ts +97 -0
  297. package/typechain-types/ERC20Permit.ts +521 -0
  298. package/typechain-types/IAToken.ts +55 -0
  299. package/typechain-types/IBeacon.ts +87 -0
  300. package/typechain-types/IBenQiComptroller.ts +13 -0
  301. package/typechain-types/IBenQiInterestRateModel.ts +162 -0
  302. package/typechain-types/ICelerMessageBus.ts +134 -0
  303. package/typechain-types/ICelerMessageReceiverApp.ts +120 -0
  304. package/typechain-types/IERC1822Proxiable.ts +87 -0
  305. package/typechain-types/IERC20Permit.ts +175 -0
  306. package/typechain-types/IERC4626.ts +463 -0
  307. package/typechain-types/IJoeRouter02.ts +1420 -0
  308. package/typechain-types/IPActionCore.ts +169 -83
  309. package/typechain-types/IPActionYT.ts +65 -43
  310. package/typechain-types/IPAllAction.ts +190 -137
  311. package/typechain-types/IPGauge.ts +104 -0
  312. package/typechain-types/IPGaugeController.ts +191 -0
  313. package/typechain-types/IPGaugeControllerMainchain.ts +236 -0
  314. package/typechain-types/IPMarket.ts +73 -74
  315. package/typechain-types/IPMarketFactory.ts +27 -0
  316. package/typechain-types/IPPrincipalToken.ts +8 -20
  317. package/typechain-types/IPVeToken.ts +198 -0
  318. package/typechain-types/IPVotingController.ts +179 -0
  319. package/typechain-types/IPVotingEscrow.ts +217 -0
  320. package/typechain-types/IPVotingEscrowController.ts +154 -0
  321. package/typechain-types/IPYieldToken.ts +176 -213
  322. package/typechain-types/IQiAvax.ts +551 -0
  323. package/typechain-types/IQiErc20.ts +171 -0
  324. package/typechain-types/IQiToken.ts +171 -0
  325. package/typechain-types/IRewardManager.ts +16 -87
  326. package/typechain-types/ISuperComposableYield.ts +283 -269
  327. package/typechain-types/IWXBTRFLY.ts +13 -0
  328. package/typechain-types/IWstETH.ts +13 -0
  329. package/typechain-types/IYearnVault.ts +13 -0
  330. package/typechain-types/PendleAaveV3SCY.ts +382 -477
  331. package/typechain-types/PendleBtrflyScy.ts +287 -348
  332. package/typechain-types/PendleERC20.ts +339 -0
  333. package/typechain-types/PendleERC20Permit.ts +443 -0
  334. package/typechain-types/PendleERC4626SCY.ts +801 -0
  335. package/typechain-types/PendleGauge.ts +276 -0
  336. package/typechain-types/PendleGaugeController.ts +346 -0
  337. package/typechain-types/PendleGaugeControllerMainchain.ts +410 -0
  338. package/typechain-types/PendleGaugeControllerSidechain.ts +524 -0
  339. package/typechain-types/PendleJoeLpSCY.ts +837 -0
  340. package/typechain-types/PendleJoeSwapHelperUpg.ts +0 -13
  341. package/typechain-types/PendleMarket.ts +265 -151
  342. package/typechain-types/PendleMarketFactory.ts +111 -16
  343. package/typechain-types/PendleMarketRewards.ts +1317 -0
  344. package/typechain-types/PendlePrincipalToken.ts +103 -130
  345. package/typechain-types/PendleQiTokenHelper.ts +57 -0
  346. package/typechain-types/PendleQiTokenSCY.ts +991 -0
  347. package/typechain-types/PendleRouter.ts +0 -19
  348. package/typechain-types/PendleVotingController.ts +1042 -0
  349. package/typechain-types/PendleWstEthSCY.ts +813 -0
  350. package/typechain-types/PendleYearnVaultScy.ts +278 -339
  351. package/typechain-types/PendleYieldContractFactory.ts +43 -27
  352. package/typechain-types/PendleYieldToken.ts +297 -428
  353. package/typechain-types/RewardManager.ts +70 -69
  354. package/typechain-types/RewardManagerMini.ts +200 -0
  355. package/typechain-types/SCYBase.ts +276 -335
  356. package/typechain-types/SCYBaseWithRewards.ts +367 -424
  357. package/typechain-types/VotingControllerStorage.ts +507 -0
  358. package/typechain-types/VotingEscrowPendleMainchain.ts +854 -0
  359. package/typechain-types/VotingEscrowPendleSidechain.ts +546 -0
  360. package/typechain-types/VotingEscrowToken.ts +251 -0
  361. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  362. package/typechain-types/factories/ActionCore__factory.ts +122 -80
  363. package/typechain-types/factories/ActionRedeem__factory.ts +1 -1
  364. package/typechain-types/factories/ActionSCYAndPTBase__factory.ts +187 -0
  365. package/typechain-types/factories/ActionSCYAndPYBase__factory.ts +0 -13
  366. package/typechain-types/factories/ActionSCYAndYTBase__factory.ts +1 -14
  367. package/typechain-types/factories/ActionYT__factory.ts +39 -48
  368. package/typechain-types/factories/BeaconProxy__factory.ts +141 -0
  369. package/typechain-types/factories/CelerReceiver__factory.ts +140 -0
  370. package/typechain-types/factories/CelerSender__factory.ts +85 -0
  371. package/typechain-types/factories/ERC1967Upgrade__factory.ts +71 -0
  372. package/typechain-types/factories/ERC20Permit__factory.ts +368 -0
  373. package/typechain-types/factories/ERC20__factory.ts +1 -1
  374. package/typechain-types/factories/IAToken__factory.ts +39 -0
  375. package/typechain-types/factories/IBeacon__factory.ts +36 -0
  376. package/typechain-types/factories/IBenQiComptroller__factory.ts +13 -0
  377. package/typechain-types/factories/IBenQiInterestRateModel__factory.ts +93 -0
  378. package/typechain-types/factories/ICelerMessageBus__factory.ts +68 -0
  379. package/typechain-types/factories/ICelerMessageReceiverApp__factory.ts +64 -0
  380. package/typechain-types/factories/IERC1822Proxiable__factory.ts +39 -0
  381. package/typechain-types/factories/IERC20Permit__factory.ts +98 -0
  382. package/typechain-types/factories/IERC4626__factory.ts +330 -0
  383. package/typechain-types/factories/IJoeRouter02__factory.ts +974 -0
  384. package/typechain-types/factories/IPActionCore__factory.ts +122 -58
  385. package/typechain-types/factories/IPActionYT__factory.ts +36 -21
  386. package/typechain-types/factories/IPAllAction__factory.ts +116 -81
  387. package/typechain-types/factories/IPGaugeControllerMainchain__factory.ts +151 -0
  388. package/typechain-types/factories/IPGaugeController__factory.ts +124 -0
  389. package/typechain-types/factories/IPGauge__factory.ts +42 -0
  390. package/typechain-types/factories/IPMarketFactory__factory.ts +31 -0
  391. package/typechain-types/factories/IPMarket__factory.ts +35 -54
  392. package/typechain-types/factories/IPPrincipalToken__factory.ts +5 -5
  393. package/typechain-types/factories/IPVeToken__factory.ts +111 -0
  394. package/typechain-types/factories/IPVotingController__factory.ts +182 -0
  395. package/typechain-types/factories/IPVotingEscrowController__factory.ts +80 -0
  396. package/typechain-types/factories/IPVotingEscrow__factory.ts +163 -0
  397. package/typechain-types/factories/IPYieldToken__factory.ts +85 -83
  398. package/typechain-types/factories/IQiAvax__factory.ts +362 -0
  399. package/typechain-types/factories/IQiErc20__factory.ts +117 -0
  400. package/typechain-types/factories/IQiToken__factory.ts +117 -0
  401. package/typechain-types/factories/IRewardManager__factory.ts +5 -47
  402. package/typechain-types/factories/ISuperComposableYield__factory.ts +201 -138
  403. package/typechain-types/factories/IWXBTRFLY__factory.ts +13 -0
  404. package/typechain-types/factories/IWstETH__factory.ts +13 -0
  405. package/typechain-types/factories/IYearnVault__factory.ts +13 -0
  406. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +246 -315
  407. package/typechain-types/factories/PendleBtrflyScy__factory.ts +200 -234
  408. package/typechain-types/factories/PendleERC20Permit__factory.ts +405 -0
  409. package/typechain-types/factories/PendleERC20__factory.ts +327 -0
  410. package/typechain-types/factories/PendleERC4626SCY__factory.ts +678 -0
  411. package/typechain-types/factories/PendleGaugeControllerMainchain__factory.ts +332 -0
  412. package/typechain-types/factories/PendleGaugeControllerSidechain__factory.ts +391 -0
  413. package/typechain-types/factories/PendleGaugeController__factory.ts +212 -0
  414. package/typechain-types/factories/PendleGauge__factory.ts +171 -0
  415. package/typechain-types/factories/PendleGovernanceManager__factory.ts +1 -1
  416. package/typechain-types/factories/PendleJoeLpSCY__factory.ts +726 -0
  417. package/typechain-types/factories/PendleJoeSwapHelperUpg__factory.ts +0 -13
  418. package/typechain-types/factories/PendleMarketFactory__factory.ts +90 -5
  419. package/typechain-types/factories/PendleMarketRewards__factory.ts +1140 -0
  420. package/typechain-types/factories/PendleMarket__factory.ts +182 -94
  421. package/typechain-types/factories/PendlePrincipalToken__factory.ts +74 -77
  422. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +99 -0
  423. package/typechain-types/factories/PendleQiTokenSCY__factory.ts +845 -0
  424. package/typechain-types/factories/PendleRouter__factory.ts +1 -23
  425. package/typechain-types/factories/PendleVotingController__factory.ts +776 -0
  426. package/typechain-types/factories/PendleWstEthSCY__factory.ts +686 -0
  427. package/typechain-types/factories/PendleYearnVaultScy__factory.ts +218 -243
  428. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +39 -29
  429. package/typechain-types/factories/PendleYieldToken__factory.ts +153 -211
  430. package/typechain-types/factories/RewardManagerMini__factory.ts +116 -0
  431. package/typechain-types/factories/RewardManager__factory.ts +43 -32
  432. package/typechain-types/factories/RouterStatic__factory.ts +1 -1
  433. package/typechain-types/factories/SCYBaseWithRewards__factory.ts +242 -218
  434. package/typechain-types/factories/SCYBase__factory.ts +195 -176
  435. package/typechain-types/factories/VotingControllerStorage__factory.ts +361 -0
  436. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +616 -0
  437. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +415 -0
  438. package/typechain-types/factories/VotingEscrowToken__factory.ts +153 -0
  439. package/typechain-types/hardhat.d.ts +338 -131
  440. package/typechain-types/index.ts +92 -38
  441. package/build/artifacts/contracts/SuperComposableYield/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +0 -4
  442. package/build/artifacts/contracts/SuperComposableYield/SCYUtils.sol/SCYUtils.dbg.json +0 -4
  443. package/build/artifacts/contracts/SuperComposableYield/implementations/IRewardManager.sol/IRewardManager.dbg.json +0 -4
  444. package/build/artifacts/contracts/SuperComposableYield/implementations/RewardManager.sol/RewardManager.dbg.json +0 -4
  445. package/build/artifacts/contracts/SuperComposableYield/implementations/SCYBase.sol/SCYBase.dbg.json +0 -4
  446. package/build/artifacts/contracts/SuperComposableYield/implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +0 -4
  447. package/build/artifacts/contracts/core/PendleBaseToken.sol/PendleBaseToken.dbg.json +0 -4
  448. package/build/artifacts/contracts/core/PendleMarket.sol/PendleMarket.dbg.json +0 -4
  449. package/build/artifacts/contracts/core/PendleMarket.sol/PendleMarket.json +0 -842
  450. package/build/artifacts/contracts/core/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +0 -4
  451. package/build/artifacts/contracts/core/PendleMarketFactory.sol/PendleMarketFactory.json +0 -265
  452. package/build/artifacts/contracts/core/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +0 -4
  453. package/build/artifacts/contracts/core/PendlePrincipalToken.sol/PendlePrincipalToken.json +0 -452
  454. package/build/artifacts/contracts/core/PendleSCYImpl/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.dbg.json +0 -4
  455. package/build/artifacts/contracts/core/PendleSCYImpl/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.json +0 -783
  456. package/build/artifacts/contracts/core/PendleSCYImpl/AaveV3/WadRayMath.sol/WadRayMath.dbg.json +0 -4
  457. package/build/artifacts/contracts/core/PendleSCYImpl/PendleBenQiErc20SCY.sol/PendleBenQiErc20SCY.dbg.json +0 -4
  458. package/build/artifacts/contracts/core/PendleSCYImpl/PendleBenQiErc20SCY.sol/PendleBenQiErc20SCY.json +0 -766
  459. package/build/artifacts/contracts/core/PendleSCYImpl/PendleBtrflySCY.sol/PendleBtrflyScy.dbg.json +0 -4
  460. package/build/artifacts/contracts/core/PendleSCYImpl/PendleBtrflySCY.sol/PendleBtrflyScy.json +0 -641
  461. package/build/artifacts/contracts/core/PendleSCYImpl/PendleStETHSCY.sol/PendleStEthSCY.dbg.json +0 -4
  462. package/build/artifacts/contracts/core/PendleSCYImpl/PendleStETHSCY.sol/PendleStEthSCY.json +0 -623
  463. package/build/artifacts/contracts/core/PendleSCYImpl/PendleYearnVaultSCY.sol/PendleYearnVaultScy.dbg.json +0 -4
  464. package/build/artifacts/contracts/core/PendleSCYImpl/PendleYearnVaultSCY.sol/PendleYearnVaultScy.json +0 -623
  465. package/build/artifacts/contracts/core/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +0 -4
  466. package/build/artifacts/contracts/core/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +0 -339
  467. package/build/artifacts/contracts/core/PendleYieldToken.sol/PendleYieldToken.dbg.json +0 -4
  468. package/build/artifacts/contracts/core/PendleYieldToken.sol/PendleYieldToken.json +0 -808
  469. package/build/artifacts/contracts/core/RouterStatic.sol/RouterStatic.dbg.json +0 -4
  470. package/build/artifacts/contracts/core/RouterStatic.sol/RouterStatic.json +0 -862
  471. package/build/artifacts/contracts/core/actions/ActionRedeem.sol/ActionRedeem.dbg.json +0 -4
  472. package/build/artifacts/contracts/core/actions/ActionRedeem.sol/ActionRedeem.json +0 -55
  473. package/build/artifacts/contracts/core/actions/base/ActionType.sol/ActionType.dbg.json +0 -4
  474. package/build/artifacts/contracts/interfaces/IPActionRedeem.sol/IPActionRedeem.dbg.json +0 -4
  475. package/build/artifacts/contracts/interfaces/IPActionRedeem.sol/IPActionRedeem.json +0 -55
  476. package/build/artifacts/contracts/interfaces/IPBaseToken.sol/IPBaseToken.dbg.json +0 -4
  477. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPendleGauge.dbg.json +0 -4
  478. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPendleGauge.json +0 -113
  479. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IVePToken.dbg.json +0 -4
  480. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IVePToken.json +0 -43
  481. package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IVotingEscrowPendle.dbg.json +0 -4
  482. package/build/artifacts/contracts/interfaces/IPVotingEscrowController.sol/VotingEscrowController.dbg.json +0 -4
  483. package/build/artifacts/contracts/interfaces/IPVotingEscrowController.sol/VotingEscrowController.json +0 -61
  484. package/build/artifacts/contracts/interfaces/IPendleGauge.sol/IPendleGauge.dbg.json +0 -4
  485. package/build/artifacts/contracts/interfaces/IPendleGauge.sol/IPendleGauge.json +0 -113
  486. package/build/artifacts/contracts/interfaces/IVePToken.sol/IVePToken.dbg.json +0 -4
  487. package/build/artifacts/contracts/interfaces/IVotingEscrowController.sol/VotingEscrowController.dbg.json +0 -4
  488. package/build/artifacts/contracts/interfaces/IVotingEscrowController.sol/VotingEscrowController.json +0 -61
  489. package/build/artifacts/contracts/interfaces/IVotingEscrowPendle.sol/IVotingEscrowPendle.dbg.json +0 -4
  490. package/build/artifacts/contracts/interfaces/IVotingEscrowPendle.sol/IVotingEscrowPendle.json +0 -167
  491. package/build/artifacts/contracts/libraries/JoeLibrary.sol/JoeLibrary.dbg.json +0 -4
  492. package/build/artifacts/contracts/libraries/SCYIndex.sol/SCYIndexLib.dbg.json +0 -4
  493. package/build/artifacts/contracts/libraries/math/MarketMathAux.sol/MarketMathAux.dbg.json +0 -4
  494. package/build/artifacts/contracts/periphery/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.dbg.json +0 -4
  495. package/contracts/SuperComposableYield/ISuperComposableYield.sol +0 -80
  496. package/contracts/SuperComposableYield/SCYUtils.sol +0 -14
  497. package/contracts/SuperComposableYield/implementations/IRewardManager.sol +0 -16
  498. package/contracts/SuperComposableYield/implementations/RewardManager.sol +0 -151
  499. package/contracts/SuperComposableYield/implementations/SCYBase.sol +0 -166
  500. package/contracts/SuperComposableYield/implementations/SCYBaseWithRewards.sol +0 -88
  501. package/contracts/core/PendleBaseToken.sol +0 -35
  502. package/contracts/core/PendlePrincipalToken.sol +0 -54
  503. package/contracts/core/PendleSCYImpl/AaveV3/PendleAaveV3SCY.sol +0 -140
  504. package/contracts/core/PendleSCYImpl/PendleBenQiErc20SCY.sol +0 -133
  505. package/contracts/core/PendleSCYImpl/PendleBtrflySCY.sol +0 -120
  506. package/contracts/core/PendleSCYImpl/PendleStETHSCY.sol +0 -107
  507. package/contracts/core/PendleSCYImpl/PendleYearnVaultSCY.sol +0 -109
  508. package/contracts/core/PendleYieldToken.sol +0 -340
  509. package/contracts/core/actions/ActionRedeem.sol +0 -36
  510. package/contracts/core/actions/base/ActionType.sol +0 -11
  511. package/contracts/interfaces/IPActionRedeem.sol +0 -17
  512. package/contracts/interfaces/IPBaseToken.sol +0 -9
  513. package/contracts/interfaces/IPGauge.sol +0 -32
  514. package/contracts/interfaces/IPVotingEscrowController.sol +0 -14
  515. package/contracts/interfaces/IPendleGauge.sol +0 -32
  516. package/contracts/interfaces/IVePToken.sol +0 -14
  517. package/contracts/interfaces/IVotingEscrowController.sol +0 -14
  518. package/contracts/interfaces/IVotingEscrowPendle.sol +0 -32
  519. package/contracts/libraries/math/MarketMathAux.sol +0 -101
@@ -1,783 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "PendleAaveV3SCY",
4
- "sourceName": "contracts/core/PendleSCYImpl/AaveV3/PendleAaveV3SCY.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "string",
10
- "name": "_name",
11
- "type": "string"
12
- },
13
- {
14
- "internalType": "string",
15
- "name": "_symbol",
16
- "type": "string"
17
- },
18
- {
19
- "internalType": "uint8",
20
- "name": "__scydecimals",
21
- "type": "uint8"
22
- },
23
- {
24
- "internalType": "uint8",
25
- "name": "__assetDecimals",
26
- "type": "uint8"
27
- },
28
- {
29
- "internalType": "bytes32",
30
- "name": "__assetId",
31
- "type": "bytes32"
32
- },
33
- {
34
- "internalType": "address",
35
- "name": "_aavePool",
36
- "type": "address"
37
- },
38
- {
39
- "internalType": "address",
40
- "name": "_underlying",
41
- "type": "address"
42
- },
43
- {
44
- "internalType": "address",
45
- "name": "_aToken",
46
- "type": "address"
47
- },
48
- {
49
- "internalType": "address",
50
- "name": "_rewardsController",
51
- "type": "address"
52
- }
53
- ],
54
- "stateMutability": "nonpayable",
55
- "type": "constructor"
56
- },
57
- {
58
- "anonymous": false,
59
- "inputs": [
60
- {
61
- "indexed": true,
62
- "internalType": "address",
63
- "name": "owner",
64
- "type": "address"
65
- },
66
- {
67
- "indexed": true,
68
- "internalType": "address",
69
- "name": "spender",
70
- "type": "address"
71
- },
72
- {
73
- "indexed": false,
74
- "internalType": "uint256",
75
- "name": "value",
76
- "type": "uint256"
77
- }
78
- ],
79
- "name": "Approval",
80
- "type": "event"
81
- },
82
- {
83
- "anonymous": false,
84
- "inputs": [
85
- {
86
- "indexed": true,
87
- "internalType": "address",
88
- "name": "user",
89
- "type": "address"
90
- },
91
- {
92
- "indexed": false,
93
- "internalType": "uint256[]",
94
- "name": "rewardsOut",
95
- "type": "uint256[]"
96
- }
97
- ],
98
- "name": "RedeemReward",
99
- "type": "event"
100
- },
101
- {
102
- "anonymous": false,
103
- "inputs": [
104
- {
105
- "indexed": true,
106
- "internalType": "address",
107
- "name": "from",
108
- "type": "address"
109
- },
110
- {
111
- "indexed": true,
112
- "internalType": "address",
113
- "name": "to",
114
- "type": "address"
115
- },
116
- {
117
- "indexed": false,
118
- "internalType": "uint256",
119
- "name": "value",
120
- "type": "uint256"
121
- }
122
- ],
123
- "name": "Transfer",
124
- "type": "event"
125
- },
126
- {
127
- "anonymous": false,
128
- "inputs": [
129
- {
130
- "indexed": false,
131
- "internalType": "uint256",
132
- "name": "scyIndex",
133
- "type": "uint256"
134
- }
135
- ],
136
- "name": "UpdateScyIndex",
137
- "type": "event"
138
- },
139
- {
140
- "inputs": [],
141
- "name": "PRECISION_INDEX",
142
- "outputs": [
143
- {
144
- "internalType": "uint256",
145
- "name": "",
146
- "type": "uint256"
147
- }
148
- ],
149
- "stateMutability": "view",
150
- "type": "function"
151
- },
152
- {
153
- "inputs": [],
154
- "name": "aToken",
155
- "outputs": [
156
- {
157
- "internalType": "address",
158
- "name": "",
159
- "type": "address"
160
- }
161
- ],
162
- "stateMutability": "view",
163
- "type": "function"
164
- },
165
- {
166
- "inputs": [],
167
- "name": "aaveIndexCurrent",
168
- "outputs": [
169
- {
170
- "internalType": "uint256",
171
- "name": "res",
172
- "type": "uint256"
173
- }
174
- ],
175
- "stateMutability": "nonpayable",
176
- "type": "function"
177
- },
178
- {
179
- "inputs": [
180
- {
181
- "internalType": "address",
182
- "name": "owner",
183
- "type": "address"
184
- },
185
- {
186
- "internalType": "address",
187
- "name": "spender",
188
- "type": "address"
189
- }
190
- ],
191
- "name": "allowance",
192
- "outputs": [
193
- {
194
- "internalType": "uint256",
195
- "name": "",
196
- "type": "uint256"
197
- }
198
- ],
199
- "stateMutability": "view",
200
- "type": "function"
201
- },
202
- {
203
- "inputs": [
204
- {
205
- "internalType": "address",
206
- "name": "spender",
207
- "type": "address"
208
- },
209
- {
210
- "internalType": "uint256",
211
- "name": "amount",
212
- "type": "uint256"
213
- }
214
- ],
215
- "name": "approve",
216
- "outputs": [
217
- {
218
- "internalType": "bool",
219
- "name": "",
220
- "type": "bool"
221
- }
222
- ],
223
- "stateMutability": "nonpayable",
224
- "type": "function"
225
- },
226
- {
227
- "inputs": [],
228
- "name": "assetDecimals",
229
- "outputs": [
230
- {
231
- "internalType": "uint8",
232
- "name": "",
233
- "type": "uint8"
234
- }
235
- ],
236
- "stateMutability": "view",
237
- "type": "function"
238
- },
239
- {
240
- "inputs": [],
241
- "name": "assetId",
242
- "outputs": [
243
- {
244
- "internalType": "bytes32",
245
- "name": "",
246
- "type": "bytes32"
247
- }
248
- ],
249
- "stateMutability": "view",
250
- "type": "function"
251
- },
252
- {
253
- "inputs": [
254
- {
255
- "internalType": "address",
256
- "name": "account",
257
- "type": "address"
258
- }
259
- ],
260
- "name": "balanceOf",
261
- "outputs": [
262
- {
263
- "internalType": "uint256",
264
- "name": "",
265
- "type": "uint256"
266
- }
267
- ],
268
- "stateMutability": "view",
269
- "type": "function"
270
- },
271
- {
272
- "inputs": [],
273
- "name": "decimals",
274
- "outputs": [
275
- {
276
- "internalType": "uint8",
277
- "name": "",
278
- "type": "uint8"
279
- }
280
- ],
281
- "stateMutability": "view",
282
- "type": "function"
283
- },
284
- {
285
- "inputs": [
286
- {
287
- "internalType": "address",
288
- "name": "spender",
289
- "type": "address"
290
- },
291
- {
292
- "internalType": "uint256",
293
- "name": "subtractedValue",
294
- "type": "uint256"
295
- }
296
- ],
297
- "name": "decreaseAllowance",
298
- "outputs": [
299
- {
300
- "internalType": "bool",
301
- "name": "",
302
- "type": "bool"
303
- }
304
- ],
305
- "stateMutability": "nonpayable",
306
- "type": "function"
307
- },
308
- {
309
- "inputs": [],
310
- "name": "getBaseTokens",
311
- "outputs": [
312
- {
313
- "internalType": "address[]",
314
- "name": "res",
315
- "type": "address[]"
316
- }
317
- ],
318
- "stateMutability": "view",
319
- "type": "function"
320
- },
321
- {
322
- "inputs": [
323
- {
324
- "internalType": "address",
325
- "name": "rewardToken",
326
- "type": "address"
327
- }
328
- ],
329
- "name": "getGlobalReward",
330
- "outputs": [
331
- {
332
- "internalType": "uint256",
333
- "name": "index",
334
- "type": "uint256"
335
- },
336
- {
337
- "internalType": "uint256",
338
- "name": "lastBalance",
339
- "type": "uint256"
340
- }
341
- ],
342
- "stateMutability": "view",
343
- "type": "function"
344
- },
345
- {
346
- "inputs": [],
347
- "name": "getRewardTokens",
348
- "outputs": [
349
- {
350
- "internalType": "address[]",
351
- "name": "res",
352
- "type": "address[]"
353
- }
354
- ],
355
- "stateMutability": "view",
356
- "type": "function"
357
- },
358
- {
359
- "inputs": [
360
- {
361
- "internalType": "address",
362
- "name": "user",
363
- "type": "address"
364
- },
365
- {
366
- "internalType": "address",
367
- "name": "rewardToken",
368
- "type": "address"
369
- }
370
- ],
371
- "name": "getUserReward",
372
- "outputs": [
373
- {
374
- "internalType": "uint256",
375
- "name": "lastIndex",
376
- "type": "uint256"
377
- },
378
- {
379
- "internalType": "uint256",
380
- "name": "accruedReward",
381
- "type": "uint256"
382
- }
383
- ],
384
- "stateMutability": "view",
385
- "type": "function"
386
- },
387
- {
388
- "inputs": [
389
- {
390
- "internalType": "address",
391
- "name": "spender",
392
- "type": "address"
393
- },
394
- {
395
- "internalType": "uint256",
396
- "name": "addedValue",
397
- "type": "uint256"
398
- }
399
- ],
400
- "name": "increaseAllowance",
401
- "outputs": [
402
- {
403
- "internalType": "bool",
404
- "name": "",
405
- "type": "bool"
406
- }
407
- ],
408
- "stateMutability": "nonpayable",
409
- "type": "function"
410
- },
411
- {
412
- "inputs": [
413
- {
414
- "internalType": "address",
415
- "name": "token",
416
- "type": "address"
417
- }
418
- ],
419
- "name": "isValidBaseToken",
420
- "outputs": [
421
- {
422
- "internalType": "bool",
423
- "name": "res",
424
- "type": "bool"
425
- }
426
- ],
427
- "stateMutability": "view",
428
- "type": "function"
429
- },
430
- {
431
- "inputs": [],
432
- "name": "lastRewardUpdateBlock",
433
- "outputs": [
434
- {
435
- "internalType": "uint256",
436
- "name": "",
437
- "type": "uint256"
438
- }
439
- ],
440
- "stateMutability": "view",
441
- "type": "function"
442
- },
443
- {
444
- "inputs": [],
445
- "name": "lastScyIndex",
446
- "outputs": [
447
- {
448
- "internalType": "uint256",
449
- "name": "",
450
- "type": "uint256"
451
- }
452
- ],
453
- "stateMutability": "view",
454
- "type": "function"
455
- },
456
- {
457
- "inputs": [
458
- {
459
- "internalType": "address",
460
- "name": "receiver",
461
- "type": "address"
462
- },
463
- {
464
- "internalType": "address",
465
- "name": "baseTokenIn",
466
- "type": "address"
467
- },
468
- {
469
- "internalType": "uint256",
470
- "name": "amountBaseToPull",
471
- "type": "uint256"
472
- },
473
- {
474
- "internalType": "uint256",
475
- "name": "minAmountScyOut",
476
- "type": "uint256"
477
- }
478
- ],
479
- "name": "mint",
480
- "outputs": [
481
- {
482
- "internalType": "uint256",
483
- "name": "amountScyOut",
484
- "type": "uint256"
485
- }
486
- ],
487
- "stateMutability": "nonpayable",
488
- "type": "function"
489
- },
490
- {
491
- "inputs": [
492
- {
493
- "internalType": "address",
494
- "name": "receiver",
495
- "type": "address"
496
- },
497
- {
498
- "internalType": "address",
499
- "name": "baseTokenIn",
500
- "type": "address"
501
- },
502
- {
503
- "internalType": "uint256",
504
- "name": "minAmountScyOut",
505
- "type": "uint256"
506
- }
507
- ],
508
- "name": "mintNoPull",
509
- "outputs": [
510
- {
511
- "internalType": "uint256",
512
- "name": "",
513
- "type": "uint256"
514
- }
515
- ],
516
- "stateMutability": "nonpayable",
517
- "type": "function"
518
- },
519
- {
520
- "inputs": [],
521
- "name": "name",
522
- "outputs": [
523
- {
524
- "internalType": "string",
525
- "name": "",
526
- "type": "string"
527
- }
528
- ],
529
- "stateMutability": "view",
530
- "type": "function"
531
- },
532
- {
533
- "inputs": [],
534
- "name": "pool",
535
- "outputs": [
536
- {
537
- "internalType": "address",
538
- "name": "",
539
- "type": "address"
540
- }
541
- ],
542
- "stateMutability": "view",
543
- "type": "function"
544
- },
545
- {
546
- "inputs": [
547
- {
548
- "internalType": "address",
549
- "name": "receiver",
550
- "type": "address"
551
- },
552
- {
553
- "internalType": "address",
554
- "name": "baseTokenOut",
555
- "type": "address"
556
- },
557
- {
558
- "internalType": "uint256",
559
- "name": "amountScyToPull",
560
- "type": "uint256"
561
- },
562
- {
563
- "internalType": "uint256",
564
- "name": "minAmountBaseOut",
565
- "type": "uint256"
566
- }
567
- ],
568
- "name": "redeem",
569
- "outputs": [
570
- {
571
- "internalType": "uint256",
572
- "name": "amountBaseOut",
573
- "type": "uint256"
574
- }
575
- ],
576
- "stateMutability": "nonpayable",
577
- "type": "function"
578
- },
579
- {
580
- "inputs": [
581
- {
582
- "internalType": "address",
583
- "name": "receiver",
584
- "type": "address"
585
- },
586
- {
587
- "internalType": "address",
588
- "name": "baseTokenOut",
589
- "type": "address"
590
- },
591
- {
592
- "internalType": "uint256",
593
- "name": "minAmountBaseOut",
594
- "type": "uint256"
595
- }
596
- ],
597
- "name": "redeemNoPull",
598
- "outputs": [
599
- {
600
- "internalType": "uint256",
601
- "name": "",
602
- "type": "uint256"
603
- }
604
- ],
605
- "stateMutability": "nonpayable",
606
- "type": "function"
607
- },
608
- {
609
- "inputs": [
610
- {
611
- "internalType": "address",
612
- "name": "user",
613
- "type": "address"
614
- }
615
- ],
616
- "name": "redeemReward",
617
- "outputs": [
618
- {
619
- "internalType": "uint256[]",
620
- "name": "outAmounts",
621
- "type": "uint256[]"
622
- }
623
- ],
624
- "stateMutability": "nonpayable",
625
- "type": "function"
626
- },
627
- {
628
- "inputs": [],
629
- "name": "rewardsController",
630
- "outputs": [
631
- {
632
- "internalType": "address",
633
- "name": "",
634
- "type": "address"
635
- }
636
- ],
637
- "stateMutability": "view",
638
- "type": "function"
639
- },
640
- {
641
- "inputs": [],
642
- "name": "scyIndexCurrent",
643
- "outputs": [
644
- {
645
- "internalType": "uint256",
646
- "name": "res",
647
- "type": "uint256"
648
- }
649
- ],
650
- "stateMutability": "nonpayable",
651
- "type": "function"
652
- },
653
- {
654
- "inputs": [],
655
- "name": "scyIndexStored",
656
- "outputs": [
657
- {
658
- "internalType": "uint256",
659
- "name": "res",
660
- "type": "uint256"
661
- }
662
- ],
663
- "stateMutability": "view",
664
- "type": "function"
665
- },
666
- {
667
- "inputs": [],
668
- "name": "symbol",
669
- "outputs": [
670
- {
671
- "internalType": "string",
672
- "name": "",
673
- "type": "string"
674
- }
675
- ],
676
- "stateMutability": "view",
677
- "type": "function"
678
- },
679
- {
680
- "inputs": [],
681
- "name": "totalSupply",
682
- "outputs": [
683
- {
684
- "internalType": "uint256",
685
- "name": "",
686
- "type": "uint256"
687
- }
688
- ],
689
- "stateMutability": "view",
690
- "type": "function"
691
- },
692
- {
693
- "inputs": [
694
- {
695
- "internalType": "address",
696
- "name": "to",
697
- "type": "address"
698
- },
699
- {
700
- "internalType": "uint256",
701
- "name": "amount",
702
- "type": "uint256"
703
- }
704
- ],
705
- "name": "transfer",
706
- "outputs": [
707
- {
708
- "internalType": "bool",
709
- "name": "",
710
- "type": "bool"
711
- }
712
- ],
713
- "stateMutability": "nonpayable",
714
- "type": "function"
715
- },
716
- {
717
- "inputs": [
718
- {
719
- "internalType": "address",
720
- "name": "from",
721
- "type": "address"
722
- },
723
- {
724
- "internalType": "address",
725
- "name": "to",
726
- "type": "address"
727
- },
728
- {
729
- "internalType": "uint256",
730
- "name": "amount",
731
- "type": "uint256"
732
- }
733
- ],
734
- "name": "transferFrom",
735
- "outputs": [
736
- {
737
- "internalType": "bool",
738
- "name": "",
739
- "type": "bool"
740
- }
741
- ],
742
- "stateMutability": "nonpayable",
743
- "type": "function"
744
- },
745
- {
746
- "inputs": [],
747
- "name": "underlying",
748
- "outputs": [
749
- {
750
- "internalType": "address",
751
- "name": "",
752
- "type": "address"
753
- }
754
- ],
755
- "stateMutability": "view",
756
- "type": "function"
757
- },
758
- {
759
- "inputs": [],
760
- "name": "updateGlobalReward",
761
- "outputs": [],
762
- "stateMutability": "nonpayable",
763
- "type": "function"
764
- },
765
- {
766
- "inputs": [
767
- {
768
- "internalType": "address",
769
- "name": "user",
770
- "type": "address"
771
- }
772
- ],
773
- "name": "updateUserReward",
774
- "outputs": [],
775
- "stateMutability": "nonpayable",
776
- "type": "function"
777
- }
778
- ],
779
- "bytecode": "0x6101606040523480156200001257600080fd5b50604051620032d7380380620032d78339810160408190526200003591620005fe565b88888888888484848484848481600390805190602001906200005992919062000453565b5080516200006f90600490602084019062000453565b505060016005555060ff928316608052911660a05260c052505050506001600160a01b038581166101405287811661010081905287821660e081905291861661012052620000d294509092509050600019620000e1602090811b62000c8517901c565b505050505050505050620007d7565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e9060440160206040518083038186803b1580156200012e57600080fd5b505afa15801562000143573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001699190620006e2565b620001759190620006fc565b604080516001600160a01b038616602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152919250620001d191869190620001d716565b50505050565b600062000233826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620002be60201b62000d71179092919060201c565b805190915015620002b9578080602001905181019062000254919062000723565b620002b95760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084015b60405180910390fd5b505050565b6060620002cf8484600085620002d9565b90505b9392505050565b6060824710156200033c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401620002b0565b6001600160a01b0385163b620003955760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620002b0565b600080866001600160a01b03168587604051620003b3919062000747565b60006040518083038185875af1925050503d8060008114620003f2576040519150601f19603f3d011682016040523d82523d6000602084013e620003f7565b606091505b5090925090506200040a82828662000415565b979650505050505050565b6060831562000426575081620002d2565b825115620004375782518084602001fd5b8160405162461bcd60e51b8152600401620002b0919062000765565b82805462000461906200079a565b90600052602060002090601f016020900481019282620004855760008555620004d0565b82601f10620004a057805160ff1916838001178555620004d0565b82800160010185558215620004d0579182015b82811115620004d0578251825591602001919060010190620004b3565b50620004de929150620004e2565b5090565b5b80821115620004de5760008155600101620004e3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200052c57818101518382015260200162000512565b83811115620001d15750506000910152565b600082601f8301126200055057600080fd5b81516001600160401b03808211156200056d576200056d620004f9565b604051601f8301601f19908116603f01168101908282118183101715620005985762000598620004f9565b81604052838152866020858801011115620005b257600080fd5b620005c58460208301602089016200050f565b9695505050505050565b805160ff81168114620005e157600080fd5b919050565b80516001600160a01b0381168114620005e157600080fd5b60008060008060008060008060006101208a8c0312156200061e57600080fd5b89516001600160401b03808211156200063657600080fd5b620006448d838e016200053e565b9a5060208c01519150808211156200065b57600080fd5b506200066a8c828d016200053e565b9850506200067b60408b01620005cf565b96506200068b60608b01620005cf565b955060808a01519450620006a260a08b01620005e6565b9350620006b260c08b01620005e6565b9250620006c260e08b01620005e6565b9150620006d36101008b01620005e6565b90509295985092959850929598565b600060208284031215620006f557600080fd5b5051919050565b600082198211156200071e57634e487b7160e01b600052601160045260246000fd5b500190565b6000602082840312156200073657600080fd5b81518015158114620002d257600080fd5b600082516200075b8184602087016200050f565b9190910192915050565b6020815260008251806020840152620007868160408501602087016200050f565b601f01601f19169190910160400192915050565b600181811c90821680620007af57607f821691505b60208210811415620007d157634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c05160e051610100516101205161014051612a04620008d3600039600081816103d30152818161093d01528181610a0e01528181610b070152818161190901528181611a4101528181611a8f01528181611ade01528181611bb001528181611c7f01528181611d4c01528181611e680152611fa6015260008181610358015281816109e10152611ffd01526000818161020501528181610b85015281816119bd0152611dde01526000818161037f015281816108e901528181610acc01528181610bb20152818161198501528181611da20152611e3f0152600061029801526000610481015260006102510152612a046000f3fe608060405234801561001057600080fd5b50600436106101a15760003560e01c806306fdde03146101a6578063095ea7b3146101c457806314d94dd7146101e757806316f0115b1461020057806318160ddd1461023457806323b872dd1461023c578063313ce5671461024f578063395093511461028357806344de240a146102965780634be47418146102bc5780635ab764ed146102cf5780636265bc851461033757806369889d3a146103405780636bb65f53146103535780636f307dc31461037a57806370a08231146103a15780637695caa2146103b45780638e37b269146103be57806395d89b41146103c6578063a0c1f15e146103ce578063a457c2d7146103f5578063a9059cbb14610408578063b286de761461041b578063b3f1c93d1461043b578063ba50154d1461044e578063bed64c2f14610457578063c1129b1b1461046c578063c2d416011461047f578063c4f59f9b146104a5578063c6d6916c146104ad578063c9c0c082146104c0578063dd62ed3e146104d3578063df04cdf9146104e6578063f0481814146104ee578063f65d6fc814610534575b600080fd5b6101ae61053c565b6040516101bb91906123b4565b60405180910390f35b6101d76101d23660046123fc565b6105ce565b60405190151581526020016101bb565b6101f2633b9aca0081565b6040519081526020016101bb565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b6040516101bb9190612428565b6002546101f2565b6101d761024a36600461243c565b6105e8565b7f00000000000000000000000000000000000000000000000000000000000000005b60405160ff90911681526020016101bb565b6101d76102913660046123fc565b61060e565b7f00000000000000000000000000000000000000000000000000000000000000006101f2565b6101f26102ca36600461247d565b61064d565b6103226102dd3660046124c3565b6001600160a01b039182166000908152600960209081526040808320939094168252918252829020825180840190935280548084526001909101549290910182905291565b604080519283526020830191909152016101bb565b6101f2600a5481565b6101f261034e36600461243c565b6106a5565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b6101f26103af3660046124fc565b6106e7565b6103bc610702565b005b600a546101f2565b6101ae610739565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b6101d76104033660046123fc565b610748565b6101d76104163660046123fc565b6107e5565b61042e6104293660046124fc565b6107f3565b6040516101bb9190612519565b6101f261044936600461247d565b61087d565b6101f260075481565b61045f6108c7565b6040516101bb91906125a1565b6101f261047a36600461243c565b610992565b7f0000000000000000000000000000000000000000000000000000000000000000610271565b61045f6109c7565b6103bc6104bb3660046124fc565b610a8f565b6101d76104ce3660046124fc565b610ac8565b6101f26104e13660046124c3565b610b40565b6101f2610b6b565b6103226104fc3660046124fc565b6001600160a01b0316600090815260086020908152604091829020825180840190935280548084526001909101549290910182905291565b6101f2610c40565b60606003805461054b906125b4565b80601f0160208091040260200160405190810160405280929190818152602001828054610577906125b4565b80156105c45780601f10610599576101008083540402835291602001916105c4565b820191906000526020600020905b8154815290600101906020018083116105a757829003601f168201915b5050505050905090565b6000336105dc818585610d88565b60019150505b92915050565b6000336105f6858285610eac565b610601858585610f20565b60019150505b9392505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906105dc9082908690610648908790612605565b610d88565b60006002600554141561067b5760405162461bcd60e51b81526004016106729061261d565b60405180910390fd5b600260055561068b3330856105e8565b506106978585846110e7565b600160055595945050505050565b6000600260055414156106ca5760405162461bcd60e51b81526004016106729061261d565b60026005556106da848484611176565b6001600555949350505050565b6001600160a01b031660009081526020819052604090205490565b600260055414156107255760405162461bcd60e51b81526004016106729061261d565b60026005556107326111e0565b6001600555565b60606004805461054b906125b4565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156107cd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610672565b6107da8286868403610d88565b506001949350505050565b6000336105dc818585610f20565b6060600260055414156108185760405162461bcd60e51b81526004016106729061261d565b600260055561082682611359565b610830828361136d565b9050816001600160a01b03167f3a77fed7c9a4917745bde0b97b576d95b02425a5222ff309ebb6e1d34c18a10f8260405161086b9190612519565b60405180910390a26001600555919050565b6000600260055414156108a25760405162461bcd60e51b81526004016106729061261d565b60026005556108bc6001600160a01b03851633308661154a565b610697858584611176565b60408051600280825260608083018452926020830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061091b5761091b61266a565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061096f5761096f61266a565b60200260200101906001600160a01b031690816001600160a01b03168152505090565b6000600260055414156109b75760405162461bcd60e51b81526004016106729061261d565b60026005556106da8484846110e7565b604051636657732f60e01b81526060906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636657732f90610a36907f000000000000000000000000000000000000000000000000000000000000000090600401612428565b60006040518083038186803b158015610a4e57600080fd5b505afa158015610a62573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a8a9190810190612747565b905090565b60026005541415610ab25760405162461bcd60e51b81526004016106729061261d565b6002600555610ac081611359565b506001600555565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614806105e257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161492915050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60405163d15e005360e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d15e005390610bda907f000000000000000000000000000000000000000000000000000000000000000090600401612428565b60206040518083038186803b158015610bf257600080fd5b505afa158015610c06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2a919061277b565b9050610c3a633b9aca00826127aa565b600a5590565b6000610c4a610b6b565b5050600a546040518181527fbccccf411823b290c704d60c85a456e04528fff86811afd664d6ebf56347f5859060200160405180910390a190565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e9060440160206040518083038186803b158015610cd157600080fd5b505afa158015610ce5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d09919061277b565b610d139190612605565b9050610d6b8463095ea7b360e01b8584604051602401610d349291906127cc565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611582565b50505050565b6060610d808484600085611654565b949350505050565b6001600160a01b038316610dea5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610672565b6001600160a01b038216610e4b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610672565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610eb88484610b40565b90506000198114610d6b5781811015610f135760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610672565b610d6b8484848403610d88565b6001600160a01b038316610f845760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610672565b6001600160a01b038216610fe65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610672565b610ff1838383611785565b6001600160a01b038316600090815260208190526040902054818110156110695760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610672565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906110a0908490612605565b92505081905550826001600160a01b0316846001600160a01b03166000805160206129af833981519152846040516110da91815260200190565b60405180910390a3610d6b565b60006110f283610ac8565b61110e5760405162461bcd60e51b8152600401610672906127e5565b6000611119306106e7565b905061112530826117bd565b61112f8482611905565b9150828210156111515760405162461bcd60e51b815260040161067290612811565b6111656001600160a01b0385168684611a6e565b61116e84611a8d565b509392505050565b600061118183610ac8565b61119d5760405162461bcd60e51b8152600401610672906127e5565b60006111a884611bab565b90506111b48482611d48565b9150828210156111d65760405162461bcd60e51b815260040161067290612811565b61116e8583611e8c565b6111e8611f66565b6111ee57565b6111f6611f82565b600061120061208c565b9050600061120c6109c7565b905061121781612097565b60005b81518110156113545760008282815181106112375761123761266a565b602002602001015190506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161126f9190612428565b60206040518083038186803b15801561128757600080fd5b505afa15801561129b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bf919061277b565b90508415611327576001600160a01b0382166000908152600860205260409020600101546112f99086906112f3908461283b565b9061213a565b6001600160a01b03831660009081526008602052604081208054909190611321908490612605565b90915550505b6001600160a01b0390911660009081526008602052604090206001015561134d81612852565b905061121a565b505050565b6113616111e0565b61136a81612169565b50565b606060006113796109c7565b905080516001600160401b0381111561139457611394612654565b6040519080825280602002602001820160405280156113bd578160200160208202803683370190505b50915060005b81518110156115425760008282815181106113e0576113e061266a565b6020026020010151905060096000876001600160a01b03166001600160a01b031681526020019081526020016000206000826001600160a01b03166001600160a01b03168152602001908152602001600020600101548483815181106114485761144861266a565b6020908102919091018101919091526001600160a01b03808816600090815260098352604080822092851682529190925281206001015583518490839081106114935761149361266a565b602002602001015160086000836001600160a01b03166001600160a01b0316815260200190815260200160002060010160008282546114d2919061283b565b925050819055508382815181106114eb576114eb61266a565b602002602001015160001461153157611531858584815181106115105761151061266a565b6020026020010151836001600160a01b0316611a6e9092919063ffffffff16565b5061153b81612852565b90506113c3565b505092915050565b6040516001600160a01b0380851660248301528316604482015260648101829052610d6b9085906323b872dd60e01b90608401610d34565b60006115d7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610d719092919063ffffffff16565b80519091501561135457808060200190518101906115f5919061286d565b6113545760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610672565b6060824710156116b55760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610672565b6001600160a01b0385163b61170c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610672565b600080866001600160a01b03168587604051611728919061288f565b60006040518083038185875af1925050503d8060008114611765576040519150601f19603f3d011682016040523d82523d6000602084013e61176a565b606091505b509150915061177a8282866122e5565b979650505050505050565b61178d6111e0565b6001600160a01b038316156117a5576117a583612169565b6001600160a01b038216156113545761135482612169565b6001600160a01b03821661181d5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610672565b61182982600083611785565b6001600160a01b0382166000908152602081905260409020548181101561189d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610672565b6001600160a01b03831660009081526020819052604081208383039055600280548492906118cc90849061283b565b90915550506040518281526000906001600160a01b038516906000805160206129af8339815191529060200160405180910390a3505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316141561195a5761195361194c610b6b565b839061231e565b90506105e2565b600061196e611967610b6b565b849061231e565b604051631a4ca37b60e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390523060448301529192507f0000000000000000000000000000000000000000000000000000000000000000909116906369328dec90606401602060405180830381600087803b158015611a0357600080fd5b505af1158015611a17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a3b919061277b565b50611a657f0000000000000000000000000000000000000000000000000000000000000000611a8d565b610d8084611bab565b6113548363a9059cbb60e01b8484604051602401610d349291906127cc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b03161415611b7f57604051630ed1279f60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631da24f3e90611b13903090600401612428565b60206040518083038186803b158015611b2b57600080fd5b505afa158015611b3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b63919061277b565b6001600160a01b03821660009081526006602052604090205550565b6040516370a0823160e01b81526001600160a01b038216906370a0823190611b13903090600401612428565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614611c68576040516370a0823160e01b81526001600160a01b038416906370a0823190611c13903090600401612428565b60206040518083038186803b158015611c2b57600080fd5b505afa158015611c3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c63919061277b565b611d04565b604051630ed1279f60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631da24f3e90611cb4903090600401612428565b60206040518083038186803b158015611ccc57600080fd5b505afa158015611ce0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d04919061277b565b6001600160a01b038416600090815260066020526040902054909150611d2a908261283b565b6001600160a01b039093166000908152600660205260409020555090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415611d8b5750806105e2565b60405163617ba03760e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015260248201849052306044830152600060648301527f0000000000000000000000000000000000000000000000000000000000000000169063617ba03790608401600060405180830381600087803b158015611e2257600080fd5b505af1158015611e36573d6000803e3d6000fd5b50505050611e637f0000000000000000000000000000000000000000000000000000000000000000611a8d565b6106077f0000000000000000000000000000000000000000000000000000000000000000611bab565b6001600160a01b038216611ee25760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610672565b611eee60008383611785565b8060026000828254611f009190612605565b90915550506001600160a01b03821660009081526020819052604081208054839290611f2d908490612605565b90915550506040518181526001600160a01b038316906000906000805160206129af8339815191529060200160405180910390a35b5050565b6000436007541415611f785750600090565b5043600755600190565b604080516001808252818301909252600091602080830190803683370190505090507f000000000000000000000000000000000000000000000000000000000000000081600081518110611fd857611fd861266a565b6001600160a01b03928316602091820292909201015260405163bb492bf560e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063bb492bf59061203690849030906004016128ab565b600060405180830381600087803b15801561205057600080fd5b505af1158015612064573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261135491908101906128d5565b6000610a8a60025490565b60005b8151811015611f6257600860008383815181106120b9576120b961266a565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600001546000141561212a576001600860008484815181106121055761210561266a565b6020908102919091018101516001600160a01b03168252810191909152604001600020555b61213381612852565b905061209a565b60008061214f670de0b6b3a76400008561298f565b905082818161216057612160612794565b04949350505050565b60006121736109c7565b905060006121808361235f565b905060005b8251811015610d6b5760008382815181106121a2576121a261266a565b6020908102919091018101516001600160a01b038088166000908152600984526040808220928416825291845281812054600890945220549092508114156121eb5750506122d5565b8061222757506001600160a01b0390811660008181526008602090815260408083205494891683526009825280832093835292905220556122d5565b6001600160a01b03821660009081526008602052604081205461224b90839061283b565b90506000612259868361236a565b6001600160a01b03808a166000908152600960209081526040808320938916835292905290812060010180549293508392909190612298908490612605565b9091555050506001600160a01b03928316600081815260086020908152604080832054968b16835260098252808320938352929052209290925550505b6122de81612852565b9050612185565b606083156122f4575081610607565b8251156123045782518084602001fd5b8160405162461bcd60e51b815260040161067291906123b4565b60008115676765c793fa10079d601a1b198390048411151761233f57600080fd5b50676765c793fa10079d601b1b9102676765c793fa10079d601a1b010490565b60006105e2826106e7565b600080612377838561298f565b9050670de0b6b3a764000081612160565b60005b838110156123a357818101518382015260200161238b565b83811115610d6b5750506000910152565b60208152600082518060208401526123d3816040850160208701612388565b601f01601f19169190910160400192915050565b6001600160a01b038116811461136a57600080fd5b6000806040838503121561240f57600080fd5b823561241a816123e7565b946020939093013593505050565b6001600160a01b0391909116815260200190565b60008060006060848603121561245157600080fd5b833561245c816123e7565b9250602084013561246c816123e7565b929592945050506040919091013590565b6000806000806080858703121561249357600080fd5b843561249e816123e7565b935060208501356124ae816123e7565b93969395505050506040820135916060013590565b600080604083850312156124d657600080fd5b82356124e1816123e7565b915060208301356124f1816123e7565b809150509250929050565b60006020828403121561250e57600080fd5b8135610607816123e7565b6020808252825182820181905260009190848201906040850190845b8181101561255157835183529284019291840191600101612535565b50909695505050505050565b600081518084526020808501945080840160005b838110156125965781516001600160a01b031687529582019590820190600101612571565b509495945050505050565b602081526000610607602083018461255d565b600181811c908216806125c857607f821691505b602082108114156125e957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115612618576126186125ef565b500190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156126a8576126a8612654565b604052919050565b60006001600160401b038211156126c9576126c9612654565b5060051b60200190565b600082601f8301126126e457600080fd5b815160206126f96126f4836126b0565b612680565b82815260059290921b8401810191818101908684111561271857600080fd5b8286015b8481101561273c57805161272f816123e7565b835291830191830161271c565b509695505050505050565b60006020828403121561275957600080fd5b81516001600160401b0381111561276f57600080fd5b610d80848285016126d3565b60006020828403121561278d57600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fd5b6000826127c757634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b03929092168252602082015260400190565b60208082526012908201527134b73b30b634b2103130b9b2903a37b5b2b760711b604082015260600190565b60208082526010908201526f1a5b9cdd59999a58da595b9d081bdd5d60821b604082015260600190565b60008282101561284d5761284d6125ef565b500390565b6000600019821415612866576128666125ef565b5060010190565b60006020828403121561287f57600080fd5b8151801515811461060757600080fd5b600082516128a1818460208701612388565b9190910192915050565b6040815260006128be604083018561255d565b905060018060a01b03831660208301529392505050565b600080604083850312156128e857600080fd5b82516001600160401b03808211156128ff57600080fd5b61290b868387016126d3565b935060209150818501518181111561292257600080fd5b85019050601f8101861361293557600080fd5b80516129436126f4826126b0565b81815260059190911b8201830190838101908883111561296257600080fd5b928401925b8284101561298057835182529284019290840190612967565b80955050505050509250929050565b60008160001904831182151516156129a9576129a96125ef565b50029056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220987dd7e786c77ea3b9b89fca5559b3abddb563dfd1567f3b3eb8ec3347d9543d64736f6c63430008090033",
780
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101a15760003560e01c806306fdde03146101a6578063095ea7b3146101c457806314d94dd7146101e757806316f0115b1461020057806318160ddd1461023457806323b872dd1461023c578063313ce5671461024f578063395093511461028357806344de240a146102965780634be47418146102bc5780635ab764ed146102cf5780636265bc851461033757806369889d3a146103405780636bb65f53146103535780636f307dc31461037a57806370a08231146103a15780637695caa2146103b45780638e37b269146103be57806395d89b41146103c6578063a0c1f15e146103ce578063a457c2d7146103f5578063a9059cbb14610408578063b286de761461041b578063b3f1c93d1461043b578063ba50154d1461044e578063bed64c2f14610457578063c1129b1b1461046c578063c2d416011461047f578063c4f59f9b146104a5578063c6d6916c146104ad578063c9c0c082146104c0578063dd62ed3e146104d3578063df04cdf9146104e6578063f0481814146104ee578063f65d6fc814610534575b600080fd5b6101ae61053c565b6040516101bb91906123b4565b60405180910390f35b6101d76101d23660046123fc565b6105ce565b60405190151581526020016101bb565b6101f2633b9aca0081565b6040519081526020016101bb565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b6040516101bb9190612428565b6002546101f2565b6101d761024a36600461243c565b6105e8565b7f00000000000000000000000000000000000000000000000000000000000000005b60405160ff90911681526020016101bb565b6101d76102913660046123fc565b61060e565b7f00000000000000000000000000000000000000000000000000000000000000006101f2565b6101f26102ca36600461247d565b61064d565b6103226102dd3660046124c3565b6001600160a01b039182166000908152600960209081526040808320939094168252918252829020825180840190935280548084526001909101549290910182905291565b604080519283526020830191909152016101bb565b6101f2600a5481565b6101f261034e36600461243c565b6106a5565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b6101f26103af3660046124fc565b6106e7565b6103bc610702565b005b600a546101f2565b6101ae610739565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b6101d76104033660046123fc565b610748565b6101d76104163660046123fc565b6107e5565b61042e6104293660046124fc565b6107f3565b6040516101bb9190612519565b6101f261044936600461247d565b61087d565b6101f260075481565b61045f6108c7565b6040516101bb91906125a1565b6101f261047a36600461243c565b610992565b7f0000000000000000000000000000000000000000000000000000000000000000610271565b61045f6109c7565b6103bc6104bb3660046124fc565b610a8f565b6101d76104ce3660046124fc565b610ac8565b6101f26104e13660046124c3565b610b40565b6101f2610b6b565b6103226104fc3660046124fc565b6001600160a01b0316600090815260086020908152604091829020825180840190935280548084526001909101549290910182905291565b6101f2610c40565b60606003805461054b906125b4565b80601f0160208091040260200160405190810160405280929190818152602001828054610577906125b4565b80156105c45780601f10610599576101008083540402835291602001916105c4565b820191906000526020600020905b8154815290600101906020018083116105a757829003601f168201915b5050505050905090565b6000336105dc818585610d88565b60019150505b92915050565b6000336105f6858285610eac565b610601858585610f20565b60019150505b9392505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906105dc9082908690610648908790612605565b610d88565b60006002600554141561067b5760405162461bcd60e51b81526004016106729061261d565b60405180910390fd5b600260055561068b3330856105e8565b506106978585846110e7565b600160055595945050505050565b6000600260055414156106ca5760405162461bcd60e51b81526004016106729061261d565b60026005556106da848484611176565b6001600555949350505050565b6001600160a01b031660009081526020819052604090205490565b600260055414156107255760405162461bcd60e51b81526004016106729061261d565b60026005556107326111e0565b6001600555565b60606004805461054b906125b4565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156107cd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610672565b6107da8286868403610d88565b506001949350505050565b6000336105dc818585610f20565b6060600260055414156108185760405162461bcd60e51b81526004016106729061261d565b600260055561082682611359565b610830828361136d565b9050816001600160a01b03167f3a77fed7c9a4917745bde0b97b576d95b02425a5222ff309ebb6e1d34c18a10f8260405161086b9190612519565b60405180910390a26001600555919050565b6000600260055414156108a25760405162461bcd60e51b81526004016106729061261d565b60026005556108bc6001600160a01b03851633308661154a565b610697858584611176565b60408051600280825260608083018452926020830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061091b5761091b61266a565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061096f5761096f61266a565b60200260200101906001600160a01b031690816001600160a01b03168152505090565b6000600260055414156109b75760405162461bcd60e51b81526004016106729061261d565b60026005556106da8484846110e7565b604051636657732f60e01b81526060906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636657732f90610a36907f000000000000000000000000000000000000000000000000000000000000000090600401612428565b60006040518083038186803b158015610a4e57600080fd5b505afa158015610a62573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a8a9190810190612747565b905090565b60026005541415610ab25760405162461bcd60e51b81526004016106729061261d565b6002600555610ac081611359565b506001600555565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614806105e257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161492915050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60405163d15e005360e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d15e005390610bda907f000000000000000000000000000000000000000000000000000000000000000090600401612428565b60206040518083038186803b158015610bf257600080fd5b505afa158015610c06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2a919061277b565b9050610c3a633b9aca00826127aa565b600a5590565b6000610c4a610b6b565b5050600a546040518181527fbccccf411823b290c704d60c85a456e04528fff86811afd664d6ebf56347f5859060200160405180910390a190565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e9060440160206040518083038186803b158015610cd157600080fd5b505afa158015610ce5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d09919061277b565b610d139190612605565b9050610d6b8463095ea7b360e01b8584604051602401610d349291906127cc565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611582565b50505050565b6060610d808484600085611654565b949350505050565b6001600160a01b038316610dea5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610672565b6001600160a01b038216610e4b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610672565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610eb88484610b40565b90506000198114610d6b5781811015610f135760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610672565b610d6b8484848403610d88565b6001600160a01b038316610f845760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610672565b6001600160a01b038216610fe65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610672565b610ff1838383611785565b6001600160a01b038316600090815260208190526040902054818110156110695760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610672565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906110a0908490612605565b92505081905550826001600160a01b0316846001600160a01b03166000805160206129af833981519152846040516110da91815260200190565b60405180910390a3610d6b565b60006110f283610ac8565b61110e5760405162461bcd60e51b8152600401610672906127e5565b6000611119306106e7565b905061112530826117bd565b61112f8482611905565b9150828210156111515760405162461bcd60e51b815260040161067290612811565b6111656001600160a01b0385168684611a6e565b61116e84611a8d565b509392505050565b600061118183610ac8565b61119d5760405162461bcd60e51b8152600401610672906127e5565b60006111a884611bab565b90506111b48482611d48565b9150828210156111d65760405162461bcd60e51b815260040161067290612811565b61116e8583611e8c565b6111e8611f66565b6111ee57565b6111f6611f82565b600061120061208c565b9050600061120c6109c7565b905061121781612097565b60005b81518110156113545760008282815181106112375761123761266a565b602002602001015190506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161126f9190612428565b60206040518083038186803b15801561128757600080fd5b505afa15801561129b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bf919061277b565b90508415611327576001600160a01b0382166000908152600860205260409020600101546112f99086906112f3908461283b565b9061213a565b6001600160a01b03831660009081526008602052604081208054909190611321908490612605565b90915550505b6001600160a01b0390911660009081526008602052604090206001015561134d81612852565b905061121a565b505050565b6113616111e0565b61136a81612169565b50565b606060006113796109c7565b905080516001600160401b0381111561139457611394612654565b6040519080825280602002602001820160405280156113bd578160200160208202803683370190505b50915060005b81518110156115425760008282815181106113e0576113e061266a565b6020026020010151905060096000876001600160a01b03166001600160a01b031681526020019081526020016000206000826001600160a01b03166001600160a01b03168152602001908152602001600020600101548483815181106114485761144861266a565b6020908102919091018101919091526001600160a01b03808816600090815260098352604080822092851682529190925281206001015583518490839081106114935761149361266a565b602002602001015160086000836001600160a01b03166001600160a01b0316815260200190815260200160002060010160008282546114d2919061283b565b925050819055508382815181106114eb576114eb61266a565b602002602001015160001461153157611531858584815181106115105761151061266a565b6020026020010151836001600160a01b0316611a6e9092919063ffffffff16565b5061153b81612852565b90506113c3565b505092915050565b6040516001600160a01b0380851660248301528316604482015260648101829052610d6b9085906323b872dd60e01b90608401610d34565b60006115d7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610d719092919063ffffffff16565b80519091501561135457808060200190518101906115f5919061286d565b6113545760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610672565b6060824710156116b55760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610672565b6001600160a01b0385163b61170c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610672565b600080866001600160a01b03168587604051611728919061288f565b60006040518083038185875af1925050503d8060008114611765576040519150601f19603f3d011682016040523d82523d6000602084013e61176a565b606091505b509150915061177a8282866122e5565b979650505050505050565b61178d6111e0565b6001600160a01b038316156117a5576117a583612169565b6001600160a01b038216156113545761135482612169565b6001600160a01b03821661181d5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610672565b61182982600083611785565b6001600160a01b0382166000908152602081905260409020548181101561189d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610672565b6001600160a01b03831660009081526020819052604081208383039055600280548492906118cc90849061283b565b90915550506040518281526000906001600160a01b038516906000805160206129af8339815191529060200160405180910390a3505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316141561195a5761195361194c610b6b565b839061231e565b90506105e2565b600061196e611967610b6b565b849061231e565b604051631a4ca37b60e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390523060448301529192507f0000000000000000000000000000000000000000000000000000000000000000909116906369328dec90606401602060405180830381600087803b158015611a0357600080fd5b505af1158015611a17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a3b919061277b565b50611a657f0000000000000000000000000000000000000000000000000000000000000000611a8d565b610d8084611bab565b6113548363a9059cbb60e01b8484604051602401610d349291906127cc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b03161415611b7f57604051630ed1279f60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631da24f3e90611b13903090600401612428565b60206040518083038186803b158015611b2b57600080fd5b505afa158015611b3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b63919061277b565b6001600160a01b03821660009081526006602052604090205550565b6040516370a0823160e01b81526001600160a01b038216906370a0823190611b13903090600401612428565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614611c68576040516370a0823160e01b81526001600160a01b038416906370a0823190611c13903090600401612428565b60206040518083038186803b158015611c2b57600080fd5b505afa158015611c3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c63919061277b565b611d04565b604051630ed1279f60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631da24f3e90611cb4903090600401612428565b60206040518083038186803b158015611ccc57600080fd5b505afa158015611ce0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d04919061277b565b6001600160a01b038416600090815260066020526040902054909150611d2a908261283b565b6001600160a01b039093166000908152600660205260409020555090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415611d8b5750806105e2565b60405163617ba03760e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015260248201849052306044830152600060648301527f0000000000000000000000000000000000000000000000000000000000000000169063617ba03790608401600060405180830381600087803b158015611e2257600080fd5b505af1158015611e36573d6000803e3d6000fd5b50505050611e637f0000000000000000000000000000000000000000000000000000000000000000611a8d565b6106077f0000000000000000000000000000000000000000000000000000000000000000611bab565b6001600160a01b038216611ee25760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610672565b611eee60008383611785565b8060026000828254611f009190612605565b90915550506001600160a01b03821660009081526020819052604081208054839290611f2d908490612605565b90915550506040518181526001600160a01b038316906000906000805160206129af8339815191529060200160405180910390a35b5050565b6000436007541415611f785750600090565b5043600755600190565b604080516001808252818301909252600091602080830190803683370190505090507f000000000000000000000000000000000000000000000000000000000000000081600081518110611fd857611fd861266a565b6001600160a01b03928316602091820292909201015260405163bb492bf560e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063bb492bf59061203690849030906004016128ab565b600060405180830381600087803b15801561205057600080fd5b505af1158015612064573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261135491908101906128d5565b6000610a8a60025490565b60005b8151811015611f6257600860008383815181106120b9576120b961266a565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600001546000141561212a576001600860008484815181106121055761210561266a565b6020908102919091018101516001600160a01b03168252810191909152604001600020555b61213381612852565b905061209a565b60008061214f670de0b6b3a76400008561298f565b905082818161216057612160612794565b04949350505050565b60006121736109c7565b905060006121808361235f565b905060005b8251811015610d6b5760008382815181106121a2576121a261266a565b6020908102919091018101516001600160a01b038088166000908152600984526040808220928416825291845281812054600890945220549092508114156121eb5750506122d5565b8061222757506001600160a01b0390811660008181526008602090815260408083205494891683526009825280832093835292905220556122d5565b6001600160a01b03821660009081526008602052604081205461224b90839061283b565b90506000612259868361236a565b6001600160a01b03808a166000908152600960209081526040808320938916835292905290812060010180549293508392909190612298908490612605565b9091555050506001600160a01b03928316600081815260086020908152604080832054968b16835260098252808320938352929052209290925550505b6122de81612852565b9050612185565b606083156122f4575081610607565b8251156123045782518084602001fd5b8160405162461bcd60e51b815260040161067291906123b4565b60008115676765c793fa10079d601a1b198390048411151761233f57600080fd5b50676765c793fa10079d601b1b9102676765c793fa10079d601a1b010490565b60006105e2826106e7565b600080612377838561298f565b9050670de0b6b3a764000081612160565b60005b838110156123a357818101518382015260200161238b565b83811115610d6b5750506000910152565b60208152600082518060208401526123d3816040850160208701612388565b601f01601f19169190910160400192915050565b6001600160a01b038116811461136a57600080fd5b6000806040838503121561240f57600080fd5b823561241a816123e7565b946020939093013593505050565b6001600160a01b0391909116815260200190565b60008060006060848603121561245157600080fd5b833561245c816123e7565b9250602084013561246c816123e7565b929592945050506040919091013590565b6000806000806080858703121561249357600080fd5b843561249e816123e7565b935060208501356124ae816123e7565b93969395505050506040820135916060013590565b600080604083850312156124d657600080fd5b82356124e1816123e7565b915060208301356124f1816123e7565b809150509250929050565b60006020828403121561250e57600080fd5b8135610607816123e7565b6020808252825182820181905260009190848201906040850190845b8181101561255157835183529284019291840191600101612535565b50909695505050505050565b600081518084526020808501945080840160005b838110156125965781516001600160a01b031687529582019590820190600101612571565b509495945050505050565b602081526000610607602083018461255d565b600181811c908216806125c857607f821691505b602082108114156125e957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115612618576126186125ef565b500190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156126a8576126a8612654565b604052919050565b60006001600160401b038211156126c9576126c9612654565b5060051b60200190565b600082601f8301126126e457600080fd5b815160206126f96126f4836126b0565b612680565b82815260059290921b8401810191818101908684111561271857600080fd5b8286015b8481101561273c57805161272f816123e7565b835291830191830161271c565b509695505050505050565b60006020828403121561275957600080fd5b81516001600160401b0381111561276f57600080fd5b610d80848285016126d3565b60006020828403121561278d57600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fd5b6000826127c757634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b03929092168252602082015260400190565b60208082526012908201527134b73b30b634b2103130b9b2903a37b5b2b760711b604082015260600190565b60208082526010908201526f1a5b9cdd59999a58da595b9d081bdd5d60821b604082015260600190565b60008282101561284d5761284d6125ef565b500390565b6000600019821415612866576128666125ef565b5060010190565b60006020828403121561287f57600080fd5b8151801515811461060757600080fd5b600082516128a1818460208701612388565b9190910192915050565b6040815260006128be604083018561255d565b905060018060a01b03831660208301529392505050565b600080604083850312156128e857600080fd5b82516001600160401b03808211156128ff57600080fd5b61290b868387016126d3565b935060209150818501518181111561292257600080fd5b85019050601f8101861361293557600080fd5b80516129436126f4826126b0565b81815260059190911b8201830190838101908883111561296257600080fd5b928401925b8284101561298057835182529284019290840190612967565b80955050505050509250929050565b60008160001904831182151516156129a9576129a96125ef565b50029056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220987dd7e786c77ea3b9b89fca5559b3abddb563dfd1567f3b3eb8ec3347d9543d64736f6c63430008090033",
781
- "linkReferences": {},
782
- "deployedLinkReferences": {}
783
- }