@pendle/core-v2 0.8.0-beta-11 → 0.8.1-beta

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 (286) hide show
  1. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.dbg.json +1 -1
  2. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.json +39 -7
  3. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/WadRayMath.sol/WadRayMath.dbg.json +1 -1
  4. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/WadRayMath.sol/WadRayMath.json +2 -2
  5. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  6. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  7. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.dbg.json +1 -1
  8. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.json +39 -7
  9. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.dbg.json +1 -1
  10. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.json +38 -6
  11. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.dbg.json +4 -0
  12. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.json +864 -0
  13. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.dbg.json +1 -1
  14. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.json +38 -6
  15. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol/PendleYearnVaultSCY.dbg.json +1 -1
  16. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol/PendleYearnVaultSCY.json +38 -6
  17. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBase.sol/SCYBase.dbg.json +1 -1
  18. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBase.sol/SCYBase.json +36 -4
  19. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +1 -1
  20. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.json +36 -4
  21. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol/CelerReceiverUpg.dbg.json +1 -1
  22. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.dbg.json +1 -1
  23. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  24. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +4 -0
  25. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +242 -0
  26. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +4 -0
  27. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/{PendleGaugeControllerSidechain.sol → PendleGaugeControllerSidechainUpg.sol}/PendleGaugeControllerSidechainUpg.json +3 -3
  28. package/build/artifacts/contracts/core/LiquidityMining/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  29. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -15
  31. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json +0 -13
  33. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  35. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  37. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +30 -105
  40. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  42. package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.json +2 -2
  44. package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.json +2 -2
  46. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.json +2 -2
  48. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  51. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  53. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +83 -2
  55. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.json +2 -2
  57. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.json +706 -32
  59. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.json +12 -117
  61. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPTBase.sol/ActionSCYAndPTBase.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPTBase.sol/ActionSCYAndPTBase.json +0 -148
  63. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.json +0 -148
  65. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.json +0 -173
  67. package/build/artifacts/contracts/core/actions/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  68. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +1 -1
  69. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +1 -1
  70. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +1 -1
  71. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  72. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  73. package/build/artifacts/contracts/interfaces/ICelerMessageBus.sol/ICelerMessageBus.dbg.json +1 -1
  74. package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.dbg.json +1 -1
  75. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  76. package/build/artifacts/contracts/interfaces/IJoePair.sol/IJoePair.dbg.json +1 -1
  77. package/build/artifacts/contracts/interfaces/IJoeRouter01.sol/IJoeRouter01.dbg.json +1 -1
  78. package/build/artifacts/contracts/interfaces/IJoeRouter02.sol/IJoeRouter02.dbg.json +1 -1
  79. package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.dbg.json +1 -1
  80. package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.json +837 -15
  81. package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.dbg.json +1 -1
  82. package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.json +68 -0
  83. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  84. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +905 -15
  85. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  86. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  87. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +1 -1
  88. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  89. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  90. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +28 -28
  91. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  92. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  93. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +1 -1
  94. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  95. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  96. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +15 -0
  97. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  98. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  99. package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.dbg.json +1 -1
  100. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  102. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.json +81 -0
  103. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  104. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  105. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  106. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +1 -1
  107. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.json +90 -0
  110. package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.json +79 -0
  112. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.json +36 -4
  115. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  116. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +1 -1
  119. package/build/artifacts/contracts/libraries/RewardManager.sol/RewardManager.dbg.json +1 -1
  120. package/build/artifacts/contracts/libraries/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  121. package/build/artifacts/contracts/libraries/SCY/SCYIndex.sol/SCYIndexLib.dbg.json +1 -1
  122. package/build/artifacts/contracts/libraries/SCY/SCYIndex.sol/SCYIndexLib.json +2 -2
  123. package/build/artifacts/contracts/libraries/SCY/SCYUtils.sol/SCYUtils.dbg.json +1 -1
  124. package/build/artifacts/contracts/libraries/SCY/SCYUtils.sol/SCYUtils.json +2 -2
  125. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  126. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  127. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  128. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  129. package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  130. package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.json +2 -2
  131. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  132. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.json +2 -2
  133. package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  134. package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.json +2 -2
  135. package/build/artifacts/contracts/libraries/helpers/SSTORE2Deployer.sol/SSTORE2Deployer.dbg.json +1 -1
  136. package/build/artifacts/contracts/libraries/helpers/SSTORE2Deployer.sol/SSTORE2Deployer.json +2 -2
  137. package/build/artifacts/contracts/libraries/helpers/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  138. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  139. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
  140. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.dbg.json +1 -1
  141. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.json +2 -2
  142. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  143. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.json +2 -2
  144. package/build/artifacts/contracts/libraries/math/Math.sol/Math.dbg.json +1 -1
  145. package/build/artifacts/contracts/libraries/math/Math.sol/Math.json +2 -2
  146. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.dbg.json +1 -1
  147. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.json +2 -2
  148. package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.dbg.json +1 -1
  149. package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.json +2 -2
  150. package/build/artifacts/contracts/libraries/traderjoe/JoeLibrary.sol/JoeLibrary.dbg.json +1 -1
  151. package/build/artifacts/contracts/libraries/traderjoe/JoeLibrary.sol/JoeLibrary.json +2 -2
  152. package/build/artifacts/contracts/libraries/traderjoe/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.dbg.json +1 -1
  153. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  154. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +324 -2
  155. package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.dbg.json +1 -1
  156. package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.json +2 -2
  157. package/build/artifacts/contracts/periphery/PermissionsV2Upg.sol/PermissionsV2Upg.dbg.json +1 -1
  158. package/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol +13 -3
  159. package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol +13 -9
  160. package/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol +12 -2
  161. package/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol +194 -0
  162. package/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol +12 -8
  163. package/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol +12 -8
  164. package/contracts/SuperComposableYield/base-implementations/SCYBase.sol +10 -12
  165. package/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol +1 -2
  166. package/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol +1 -0
  167. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +1 -1
  168. package/contracts/core/LiquidityMining/GaugeController/{PendleGaugeControllerMainchain.sol → PendleGaugeControllerMainchainUpg.sol} +0 -0
  169. package/contracts/core/LiquidityMining/GaugeController/{PendleGaugeControllerSidechain.sol → PendleGaugeControllerSidechainUpg.sol} +0 -0
  170. package/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +18 -24
  171. package/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +8 -10
  172. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +3 -3
  173. package/contracts/core/Market/PendleMarketFactory.sol +1 -0
  174. package/contracts/core/PendleERC20.sol +1 -1
  175. package/contracts/core/YieldContracts/PendleYieldToken.sol +0 -7
  176. package/contracts/core/actions/ActionCallback.sol +3 -1
  177. package/contracts/core/actions/base/ActionSCYAndYTBase.sol +1 -0
  178. package/contracts/core/actions/base/CallbackHelper.sol +1 -1
  179. package/contracts/interfaces/IPGaugeController.sol +1 -1
  180. package/contracts/interfaces/IPRouterStatic.sol +15 -3
  181. package/contracts/interfaces/IStargateLPStaking.sol +47 -0
  182. package/contracts/interfaces/IStargatePool.sol +49 -0
  183. package/contracts/interfaces/IStargateRouter.sol +37 -0
  184. package/contracts/interfaces/ISuperComposableYield.sol +6 -9
  185. package/contracts/libraries/RewardManager.sol +2 -3
  186. package/contracts/libraries/RewardManagerAbstract.sol +1 -0
  187. package/contracts/libraries/VeBalanceLib.sol +13 -0
  188. package/contracts/libraries/helpers/ArrayLib.sol +0 -17
  189. package/contracts/libraries/helpers/TokenHelper.sol +4 -2
  190. package/contracts/libraries/math/LogExpMath.sol +46 -44
  191. package/contracts/libraries/math/MarketApproxLib.sol +5 -7
  192. package/contracts/libraries/math/MarketMathCore.sol +14 -5
  193. package/contracts/libraries/math/Math.sol +14 -0
  194. package/contracts/offchain-helpers/RouterStatic.sol +163 -34
  195. package/deployments/43113-core.json +7 -7
  196. package/deployments/43113-markets/benqi-market-4Ccb97.json +7 -0
  197. package/deployments/43113-markets/benqi-market-534471.json +7 -0
  198. package/deployments/80001-core.json +6 -6
  199. package/deployments/80001-markets/benqi-market-109acB.json +7 -0
  200. package/deployments/80001-markets/benqi-market-4e470E.json +7 -0
  201. package/package.json +3 -3
  202. package/typechain-types/ActionCore.ts +669 -38
  203. package/typechain-types/ActionSCYAndPTBase.ts +3 -129
  204. package/typechain-types/ActionSCYAndPYBase.ts +3 -129
  205. package/typechain-types/ActionSCYAndYTBase.ts +3 -149
  206. package/typechain-types/ActionYT.ts +31 -117
  207. package/typechain-types/IPActionCore.ts +760 -3
  208. package/typechain-types/IPActionYT.ts +63 -3
  209. package/typechain-types/IPAllAction.ts +818 -3
  210. package/typechain-types/IPMarket.ts +38 -38
  211. package/typechain-types/IPRouterStatic.ts +45 -9
  212. package/typechain-types/IPYieldToken.ts +74 -0
  213. package/typechain-types/IStargateLPStaking.ts +108 -0
  214. package/typechain-types/IStargatePool.ts +94 -0
  215. package/typechain-types/ISuperComposableYield.ts +72 -26
  216. package/typechain-types/PendleAaveV3SCY.ts +74 -28
  217. package/typechain-types/PendleERC4626SCY.ts +73 -27
  218. package/typechain-types/PendleMarket.ts +38 -142
  219. package/typechain-types/PendleQiTokenSCY.ts +74 -28
  220. package/typechain-types/PendleStargatePool.ts +73 -27
  221. package/typechain-types/PendleStargateSCY.ts +1135 -0
  222. package/typechain-types/PendleVotingControllerUpg.ts +0 -21
  223. package/typechain-types/PendleWstEthSCY.ts +73 -27
  224. package/typechain-types/PendleYearnVaultScy.ts +73 -27
  225. package/typechain-types/PendleYieldToken.ts +74 -0
  226. package/typechain-types/RouterStatic.ts +520 -36
  227. package/typechain-types/SCYBase.ts +73 -27
  228. package/typechain-types/SCYBaseWithRewards.ts +73 -27
  229. package/typechain-types/VotingControllerStorageUpg.ts +0 -21
  230. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  231. package/typechain-types/factories/ActionCore__factory.ts +705 -31
  232. package/typechain-types/factories/ActionSCYAndPTBase__factory.ts +0 -148
  233. package/typechain-types/factories/ActionSCYAndPYBase__factory.ts +0 -148
  234. package/typechain-types/factories/ActionSCYAndYTBase__factory.ts +0 -173
  235. package/typechain-types/factories/ActionYT__factory.ts +11 -116
  236. package/typechain-types/factories/ERC20__factory.ts +1 -1
  237. package/typechain-types/factories/IPActionCore__factory.ts +837 -15
  238. package/typechain-types/factories/IPActionYT__factory.ts +68 -0
  239. package/typechain-types/factories/IPAllAction__factory.ts +905 -15
  240. package/typechain-types/factories/IPMarket__factory.ts +28 -28
  241. package/typechain-types/factories/IPRouterStatic__factory.ts +15 -0
  242. package/typechain-types/factories/IPYieldToken__factory.ts +81 -0
  243. package/typechain-types/factories/IStargateLPStaking__factory.ts +90 -0
  244. package/typechain-types/factories/IStargatePool__factory.ts +79 -0
  245. package/typechain-types/factories/ISuperComposableYield__factory.ts +36 -4
  246. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +38 -6
  247. package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
  248. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  249. package/typechain-types/factories/PendleERC4626SCY__factory.ts +37 -5
  250. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  251. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  252. package/typechain-types/factories/PendleGovernanceManager__factory.ts +1 -1
  253. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  254. package/typechain-types/factories/PendleMarket__factory.ts +29 -104
  255. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  256. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  257. package/typechain-types/factories/PendleQiTokenSCY__factory.ts +38 -6
  258. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  259. package/typechain-types/factories/PendleStargatePool__factory.ts +37 -5
  260. package/typechain-types/factories/PendleStargateSCY__factory.ts +952 -0
  261. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -14
  262. package/typechain-types/factories/PendleWstEthSCY__factory.ts +37 -5
  263. package/typechain-types/factories/PendleYearnVaultScy__factory.ts +37 -5
  264. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  265. package/typechain-types/factories/PendleYieldToken__factory.ts +82 -1
  266. package/typechain-types/factories/RouterStatic__factory.ts +323 -1
  267. package/typechain-types/factories/SCYBaseWithRewards__factory.ts +36 -4
  268. package/typechain-types/factories/SCYBase__factory.ts +36 -4
  269. package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +0 -13
  270. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  271. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  272. package/typechain-types/hardhat.d.ts +9 -0
  273. package/typechain-types/index.ts +2 -0
  274. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargatePool.dbg.json +0 -4
  275. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargatePool.json +0 -837
  276. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol/PendleGaugeControllerMainchainUpg.dbg.json +0 -4
  277. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol/PendleGaugeControllerMainchainUpg.json +0 -242
  278. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechain.sol/PendleGaugeControllerSidechainUpg.dbg.json +0 -4
  279. package/deployments/43113-markets/benqi-market-5C60ba.json +0 -7
  280. package/deployments/43113-markets/benqi-market-611eA3.json +0 -7
  281. package/deployments/43113-markets/benqi-market-A386eA.json +0 -7
  282. package/deployments/43113-markets/benqi-market-bf8841.json +0 -7
  283. package/deployments/80001-markets/benqi-market-5E1104.json +0 -7
  284. package/deployments/80001-markets/benqi-market-899134.json +0 -7
  285. package/deployments/80001-markets/benqi-market-94C86f.json +0 -7
  286. package/deployments/80001-markets/benqi-market-c68429.json +0 -7
@@ -1,837 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "PendleStargatePool",
4
- "sourceName": "contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.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": "address",
20
- "name": "_stgRouter",
21
- "type": "address"
22
- },
23
- {
24
- "internalType": "address",
25
- "name": "_stgStakingLP",
26
- "type": "address"
27
- },
28
- {
29
- "internalType": "uint256",
30
- "name": "_pid",
31
- "type": "uint256"
32
- },
33
- {
34
- "internalType": "address",
35
- "name": "_stgPool",
36
- "type": "address"
37
- },
38
- {
39
- "internalType": "address",
40
- "name": "_stgToken",
41
- "type": "address"
42
- }
43
- ],
44
- "stateMutability": "nonpayable",
45
- "type": "constructor"
46
- },
47
- {
48
- "anonymous": false,
49
- "inputs": [
50
- {
51
- "indexed": true,
52
- "internalType": "address",
53
- "name": "owner",
54
- "type": "address"
55
- },
56
- {
57
- "indexed": true,
58
- "internalType": "address",
59
- "name": "spender",
60
- "type": "address"
61
- },
62
- {
63
- "indexed": false,
64
- "internalType": "uint256",
65
- "name": "value",
66
- "type": "uint256"
67
- }
68
- ],
69
- "name": "Approval",
70
- "type": "event"
71
- },
72
- {
73
- "anonymous": false,
74
- "inputs": [
75
- {
76
- "indexed": true,
77
- "internalType": "address",
78
- "name": "user",
79
- "type": "address"
80
- },
81
- {
82
- "indexed": false,
83
- "internalType": "address[]",
84
- "name": "rewardTokens",
85
- "type": "address[]"
86
- },
87
- {
88
- "indexed": false,
89
- "internalType": "uint256[]",
90
- "name": "rewardAmounts",
91
- "type": "uint256[]"
92
- }
93
- ],
94
- "name": "ClaimRewards",
95
- "type": "event"
96
- },
97
- {
98
- "anonymous": false,
99
- "inputs": [
100
- {
101
- "indexed": true,
102
- "internalType": "address",
103
- "name": "caller",
104
- "type": "address"
105
- },
106
- {
107
- "indexed": true,
108
- "internalType": "address",
109
- "name": "receiver",
110
- "type": "address"
111
- },
112
- {
113
- "indexed": true,
114
- "internalType": "address",
115
- "name": "tokenIn",
116
- "type": "address"
117
- },
118
- {
119
- "indexed": false,
120
- "internalType": "uint256",
121
- "name": "amountDeposited",
122
- "type": "uint256"
123
- },
124
- {
125
- "indexed": false,
126
- "internalType": "uint256",
127
- "name": "amountScyOut",
128
- "type": "uint256"
129
- }
130
- ],
131
- "name": "Deposit",
132
- "type": "event"
133
- },
134
- {
135
- "anonymous": false,
136
- "inputs": [
137
- {
138
- "indexed": true,
139
- "internalType": "address",
140
- "name": "caller",
141
- "type": "address"
142
- },
143
- {
144
- "indexed": true,
145
- "internalType": "address",
146
- "name": "receiver",
147
- "type": "address"
148
- },
149
- {
150
- "indexed": true,
151
- "internalType": "address",
152
- "name": "tokenOut",
153
- "type": "address"
154
- },
155
- {
156
- "indexed": false,
157
- "internalType": "uint256",
158
- "name": "amountScyToRedeem",
159
- "type": "uint256"
160
- },
161
- {
162
- "indexed": false,
163
- "internalType": "uint256",
164
- "name": "amountTokenOut",
165
- "type": "uint256"
166
- }
167
- ],
168
- "name": "Redeem",
169
- "type": "event"
170
- },
171
- {
172
- "anonymous": false,
173
- "inputs": [
174
- {
175
- "indexed": true,
176
- "internalType": "address",
177
- "name": "from",
178
- "type": "address"
179
- },
180
- {
181
- "indexed": true,
182
- "internalType": "address",
183
- "name": "to",
184
- "type": "address"
185
- },
186
- {
187
- "indexed": false,
188
- "internalType": "uint256",
189
- "name": "value",
190
- "type": "uint256"
191
- }
192
- ],
193
- "name": "Transfer",
194
- "type": "event"
195
- },
196
- {
197
- "inputs": [
198
- {
199
- "internalType": "address",
200
- "name": "user",
201
- "type": "address"
202
- }
203
- ],
204
- "name": "accruedRewards",
205
- "outputs": [
206
- {
207
- "internalType": "uint256[]",
208
- "name": "rewardAmounts",
209
- "type": "uint256[]"
210
- }
211
- ],
212
- "stateMutability": "view",
213
- "type": "function"
214
- },
215
- {
216
- "inputs": [
217
- {
218
- "internalType": "address",
219
- "name": "owner",
220
- "type": "address"
221
- },
222
- {
223
- "internalType": "address",
224
- "name": "spender",
225
- "type": "address"
226
- }
227
- ],
228
- "name": "allowance",
229
- "outputs": [
230
- {
231
- "internalType": "uint256",
232
- "name": "",
233
- "type": "uint256"
234
- }
235
- ],
236
- "stateMutability": "view",
237
- "type": "function"
238
- },
239
- {
240
- "inputs": [
241
- {
242
- "internalType": "address",
243
- "name": "spender",
244
- "type": "address"
245
- },
246
- {
247
- "internalType": "uint256",
248
- "name": "amount",
249
- "type": "uint256"
250
- }
251
- ],
252
- "name": "approve",
253
- "outputs": [
254
- {
255
- "internalType": "bool",
256
- "name": "",
257
- "type": "bool"
258
- }
259
- ],
260
- "stateMutability": "nonpayable",
261
- "type": "function"
262
- },
263
- {
264
- "inputs": [],
265
- "name": "assetInfo",
266
- "outputs": [
267
- {
268
- "internalType": "enum ISuperComposableYield.AssetType",
269
- "name": "assetType",
270
- "type": "uint8"
271
- },
272
- {
273
- "internalType": "address",
274
- "name": "assetAddress",
275
- "type": "address"
276
- },
277
- {
278
- "internalType": "uint8",
279
- "name": "assetDecimals",
280
- "type": "uint8"
281
- }
282
- ],
283
- "stateMutability": "view",
284
- "type": "function"
285
- },
286
- {
287
- "inputs": [
288
- {
289
- "internalType": "address",
290
- "name": "account",
291
- "type": "address"
292
- }
293
- ],
294
- "name": "balanceOf",
295
- "outputs": [
296
- {
297
- "internalType": "uint256",
298
- "name": "",
299
- "type": "uint256"
300
- }
301
- ],
302
- "stateMutability": "view",
303
- "type": "function"
304
- },
305
- {
306
- "inputs": [
307
- {
308
- "internalType": "address",
309
- "name": "user",
310
- "type": "address"
311
- }
312
- ],
313
- "name": "claimRewards",
314
- "outputs": [
315
- {
316
- "internalType": "uint256[]",
317
- "name": "rewardAmounts",
318
- "type": "uint256[]"
319
- }
320
- ],
321
- "stateMutability": "nonpayable",
322
- "type": "function"
323
- },
324
- {
325
- "inputs": [],
326
- "name": "decimals",
327
- "outputs": [
328
- {
329
- "internalType": "uint8",
330
- "name": "",
331
- "type": "uint8"
332
- }
333
- ],
334
- "stateMutability": "view",
335
- "type": "function"
336
- },
337
- {
338
- "inputs": [
339
- {
340
- "internalType": "address",
341
- "name": "receiver",
342
- "type": "address"
343
- },
344
- {
345
- "internalType": "address",
346
- "name": "tokenIn",
347
- "type": "address"
348
- },
349
- {
350
- "internalType": "uint256",
351
- "name": "amountTokenToDeposit",
352
- "type": "uint256"
353
- },
354
- {
355
- "internalType": "uint256",
356
- "name": "minSharesOut",
357
- "type": "uint256"
358
- }
359
- ],
360
- "name": "deposit",
361
- "outputs": [
362
- {
363
- "internalType": "uint256",
364
- "name": "amountSharesOut",
365
- "type": "uint256"
366
- }
367
- ],
368
- "stateMutability": "payable",
369
- "type": "function"
370
- },
371
- {
372
- "inputs": [],
373
- "name": "exchangeRate",
374
- "outputs": [
375
- {
376
- "internalType": "uint256",
377
- "name": "currentRate",
378
- "type": "uint256"
379
- }
380
- ],
381
- "stateMutability": "view",
382
- "type": "function"
383
- },
384
- {
385
- "inputs": [],
386
- "name": "getBaseTokens",
387
- "outputs": [
388
- {
389
- "internalType": "address[]",
390
- "name": "res",
391
- "type": "address[]"
392
- }
393
- ],
394
- "stateMutability": "view",
395
- "type": "function"
396
- },
397
- {
398
- "inputs": [],
399
- "name": "getRewardTokens",
400
- "outputs": [
401
- {
402
- "internalType": "address[]",
403
- "name": "rewardTokens",
404
- "type": "address[]"
405
- }
406
- ],
407
- "stateMutability": "view",
408
- "type": "function"
409
- },
410
- {
411
- "inputs": [
412
- {
413
- "internalType": "address",
414
- "name": "token",
415
- "type": "address"
416
- }
417
- ],
418
- "name": "isValidBaseToken",
419
- "outputs": [
420
- {
421
- "internalType": "bool",
422
- "name": "",
423
- "type": "bool"
424
- }
425
- ],
426
- "stateMutability": "view",
427
- "type": "function"
428
- },
429
- {
430
- "inputs": [],
431
- "name": "lastRewardBlock",
432
- "outputs": [
433
- {
434
- "internalType": "uint256",
435
- "name": "",
436
- "type": "uint256"
437
- }
438
- ],
439
- "stateMutability": "view",
440
- "type": "function"
441
- },
442
- {
443
- "inputs": [],
444
- "name": "name",
445
- "outputs": [
446
- {
447
- "internalType": "string",
448
- "name": "",
449
- "type": "string"
450
- }
451
- ],
452
- "stateMutability": "view",
453
- "type": "function"
454
- },
455
- {
456
- "inputs": [],
457
- "name": "pid",
458
- "outputs": [
459
- {
460
- "internalType": "uint256",
461
- "name": "",
462
- "type": "uint256"
463
- }
464
- ],
465
- "stateMutability": "view",
466
- "type": "function"
467
- },
468
- {
469
- "inputs": [
470
- {
471
- "internalType": "address",
472
- "name": "tokenIn",
473
- "type": "address"
474
- },
475
- {
476
- "internalType": "uint256",
477
- "name": "amountTokenToDeposit",
478
- "type": "uint256"
479
- }
480
- ],
481
- "name": "previewDeposit",
482
- "outputs": [
483
- {
484
- "internalType": "uint256",
485
- "name": "amountSharesOut",
486
- "type": "uint256"
487
- }
488
- ],
489
- "stateMutability": "view",
490
- "type": "function"
491
- },
492
- {
493
- "inputs": [
494
- {
495
- "internalType": "address",
496
- "name": "tokenOut",
497
- "type": "address"
498
- },
499
- {
500
- "internalType": "uint256",
501
- "name": "amountSharesToRedeem",
502
- "type": "uint256"
503
- }
504
- ],
505
- "name": "previewRedeem",
506
- "outputs": [
507
- {
508
- "internalType": "uint256",
509
- "name": "amountTokenOut",
510
- "type": "uint256"
511
- }
512
- ],
513
- "stateMutability": "view",
514
- "type": "function"
515
- },
516
- {
517
- "inputs": [
518
- {
519
- "internalType": "address",
520
- "name": "receiver",
521
- "type": "address"
522
- },
523
- {
524
- "internalType": "uint256",
525
- "name": "amountSharesToRedeem",
526
- "type": "uint256"
527
- },
528
- {
529
- "internalType": "address",
530
- "name": "tokenOut",
531
- "type": "address"
532
- },
533
- {
534
- "internalType": "uint256",
535
- "name": "minTokenOut",
536
- "type": "uint256"
537
- }
538
- ],
539
- "name": "redeem",
540
- "outputs": [
541
- {
542
- "internalType": "uint256",
543
- "name": "amountTokenOut",
544
- "type": "uint256"
545
- }
546
- ],
547
- "stateMutability": "nonpayable",
548
- "type": "function"
549
- },
550
- {
551
- "inputs": [
552
- {
553
- "internalType": "address",
554
- "name": "receiver",
555
- "type": "address"
556
- },
557
- {
558
- "internalType": "address",
559
- "name": "tokenOut",
560
- "type": "address"
561
- },
562
- {
563
- "internalType": "uint256",
564
- "name": "minTokenOut",
565
- "type": "uint256"
566
- }
567
- ],
568
- "name": "redeemAfterTransfer",
569
- "outputs": [
570
- {
571
- "internalType": "uint256",
572
- "name": "amountTokenOut",
573
- "type": "uint256"
574
- }
575
- ],
576
- "stateMutability": "nonpayable",
577
- "type": "function"
578
- },
579
- {
580
- "inputs": [],
581
- "name": "rewardIndexesCurrent",
582
- "outputs": [
583
- {
584
- "internalType": "uint256[]",
585
- "name": "indexes",
586
- "type": "uint256[]"
587
- }
588
- ],
589
- "stateMutability": "nonpayable",
590
- "type": "function"
591
- },
592
- {
593
- "inputs": [],
594
- "name": "rewardIndexesStored",
595
- "outputs": [
596
- {
597
- "internalType": "uint256[]",
598
- "name": "indexes",
599
- "type": "uint256[]"
600
- }
601
- ],
602
- "stateMutability": "view",
603
- "type": "function"
604
- },
605
- {
606
- "inputs": [
607
- {
608
- "internalType": "address",
609
- "name": "",
610
- "type": "address"
611
- }
612
- ],
613
- "name": "rewardState",
614
- "outputs": [
615
- {
616
- "internalType": "uint128",
617
- "name": "index",
618
- "type": "uint128"
619
- },
620
- {
621
- "internalType": "uint128",
622
- "name": "lastBalance",
623
- "type": "uint128"
624
- }
625
- ],
626
- "stateMutability": "view",
627
- "type": "function"
628
- },
629
- {
630
- "inputs": [],
631
- "name": "stgPool",
632
- "outputs": [
633
- {
634
- "internalType": "address",
635
- "name": "",
636
- "type": "address"
637
- }
638
- ],
639
- "stateMutability": "view",
640
- "type": "function"
641
- },
642
- {
643
- "inputs": [],
644
- "name": "stgRouter",
645
- "outputs": [
646
- {
647
- "internalType": "address",
648
- "name": "",
649
- "type": "address"
650
- }
651
- ],
652
- "stateMutability": "view",
653
- "type": "function"
654
- },
655
- {
656
- "inputs": [],
657
- "name": "stgRouterPoolId",
658
- "outputs": [
659
- {
660
- "internalType": "uint16",
661
- "name": "",
662
- "type": "uint16"
663
- }
664
- ],
665
- "stateMutability": "view",
666
- "type": "function"
667
- },
668
- {
669
- "inputs": [],
670
- "name": "stgStakingLP",
671
- "outputs": [
672
- {
673
- "internalType": "address",
674
- "name": "",
675
- "type": "address"
676
- }
677
- ],
678
- "stateMutability": "view",
679
- "type": "function"
680
- },
681
- {
682
- "inputs": [],
683
- "name": "stgToken",
684
- "outputs": [
685
- {
686
- "internalType": "address",
687
- "name": "",
688
- "type": "address"
689
- }
690
- ],
691
- "stateMutability": "view",
692
- "type": "function"
693
- },
694
- {
695
- "inputs": [],
696
- "name": "symbol",
697
- "outputs": [
698
- {
699
- "internalType": "string",
700
- "name": "",
701
- "type": "string"
702
- }
703
- ],
704
- "stateMutability": "view",
705
- "type": "function"
706
- },
707
- {
708
- "inputs": [],
709
- "name": "totalSupply",
710
- "outputs": [
711
- {
712
- "internalType": "uint256",
713
- "name": "",
714
- "type": "uint256"
715
- }
716
- ],
717
- "stateMutability": "view",
718
- "type": "function"
719
- },
720
- {
721
- "inputs": [
722
- {
723
- "internalType": "address",
724
- "name": "to",
725
- "type": "address"
726
- },
727
- {
728
- "internalType": "uint256",
729
- "name": "amount",
730
- "type": "uint256"
731
- }
732
- ],
733
- "name": "transfer",
734
- "outputs": [
735
- {
736
- "internalType": "bool",
737
- "name": "",
738
- "type": "bool"
739
- }
740
- ],
741
- "stateMutability": "nonpayable",
742
- "type": "function"
743
- },
744
- {
745
- "inputs": [
746
- {
747
- "internalType": "address",
748
- "name": "from",
749
- "type": "address"
750
- },
751
- {
752
- "internalType": "address",
753
- "name": "to",
754
- "type": "address"
755
- },
756
- {
757
- "internalType": "uint256",
758
- "name": "amount",
759
- "type": "uint256"
760
- }
761
- ],
762
- "name": "transferFrom",
763
- "outputs": [
764
- {
765
- "internalType": "bool",
766
- "name": "",
767
- "type": "bool"
768
- }
769
- ],
770
- "stateMutability": "nonpayable",
771
- "type": "function"
772
- },
773
- {
774
- "inputs": [],
775
- "name": "underlying",
776
- "outputs": [
777
- {
778
- "internalType": "address",
779
- "name": "",
780
- "type": "address"
781
- }
782
- ],
783
- "stateMutability": "view",
784
- "type": "function"
785
- },
786
- {
787
- "inputs": [
788
- {
789
- "internalType": "address",
790
- "name": "",
791
- "type": "address"
792
- },
793
- {
794
- "internalType": "address",
795
- "name": "",
796
- "type": "address"
797
- }
798
- ],
799
- "name": "userReward",
800
- "outputs": [
801
- {
802
- "internalType": "uint128",
803
- "name": "index",
804
- "type": "uint128"
805
- },
806
- {
807
- "internalType": "uint128",
808
- "name": "accrued",
809
- "type": "uint128"
810
- }
811
- ],
812
- "stateMutability": "view",
813
- "type": "function"
814
- },
815
- {
816
- "inputs": [],
817
- "name": "yieldToken",
818
- "outputs": [
819
- {
820
- "internalType": "address",
821
- "name": "",
822
- "type": "address"
823
- }
824
- ],
825
- "stateMutability": "view",
826
- "type": "function"
827
- },
828
- {
829
- "stateMutability": "payable",
830
- "type": "receive"
831
- }
832
- ],
833
- "bytecode": "0x6101a06040523480156200001257600080fd5b5060405162003b2838038062003b288339810160408190526200003591620004e9565b8686838282828282826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200007c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000a29190620005a7565b8251620000b79060039060208601906200034c565b508151620000cd9060049060208501906200034c565b5060ff166080525050600280546001600160f81b0316600160f81b1790556001600160a01b0390811660a0528a811660c05260408051631f06e1a760e11b815290519189169650633e0dc34e955060048082019550602094509192508290030181865afa15801562000143573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001699190620005d3565b61ffff1660e0526001600160a01b03808516610100526101208490528281166101608190529082166101805260408051637e062a3560e11b8152905163fc0c546a916004808201926020929091908290030181865afa158015620001d1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f79190620005ed565b6001600160a01b031661014081905262000215908660001962000235565b6101605162000228908560001962000235565b5050505050505062000689565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b17905291516000928392908716916200029391906200060b565b6000604051808303816000865af19150503d8060008114620002d2576040519150601f19603f3d011682016040523d82523d6000602084013e620002d7565b606091505b5091509150818015620003055750805115806200030557508080602001905181019062000305919062000629565b620003455760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b604482015260640160405180910390fd5b5050505050565b8280546200035a906200064d565b90600052602060002090601f0160209004810192826200037e5760008555620003c9565b82601f106200039957805160ff1916838001178555620003c9565b82800160010185558215620003c9579182015b82811115620003c9578251825591602001919060010190620003ac565b50620003d7929150620003db565b5090565b5b80821115620003d75760008155600101620003dc565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004255781810151838201526020016200040b565b8381111562000435576000848401525b50505050565b600082601f8301126200044d57600080fd5b81516001600160401b03808211156200046a576200046a620003f2565b604051601f8301601f19908116603f01168101908282118183101715620004955762000495620003f2565b81604052838152866020858801011115620004af57600080fd5b620004c284602083016020890162000408565b9695505050505050565b80516001600160a01b0381168114620004e457600080fd5b919050565b600080600080600080600060e0888a0312156200050557600080fd5b87516001600160401b03808211156200051d57600080fd5b6200052b8b838c016200043b565b985060208a01519150808211156200054257600080fd5b50620005518a828b016200043b565b9650506200056260408901620004cc565b94506200057260608901620004cc565b9350608088015192506200058960a08901620004cc565b91506200059960c08901620004cc565b905092959891949750929550565b600060208284031215620005ba57600080fd5b815160ff81168114620005cc57600080fd5b9392505050565b600060208284031215620005e657600080fd5b5051919050565b6000602082840312156200060057600080fd5b620005cc82620004cc565b600082516200061f81846020870162000408565b9190910192915050565b6000602082840312156200063c57600080fd5b81518015158114620005cc57600080fd5b600181811c908216806200066257607f821691505b6020821081036200068357634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c05160e0516101005161012051610140516101605161018051613378620007b06000396000818161044101526112e801526000818161062301528181610b4701528181610c7801528181610c9901528181610df001528181610ea7015281816113560152818161139b0152818161146a01528181611bb401528181611c1a0152818161237e015281816123d6015261250801526000818161039701528181610e440152610ee20152600081816106b8015281816114e0015281816123200152612794015260008181610495015281816114b3015281816122f30152612767015260008181610350015281816114060152612493015260008181610523015281816113d90152612466015260006103f80152600061028901526133786000f3fe60806040526004361061018d5760003560e01c806306fdde0314610199578063095ea7b3146101c4578063128fced1146101f457806318160ddd1461022157806320e8c5651461024457806323b872dd14610257578063313ce567146102775780633ba0b9a9146102bd5780635cbadbe4146102d25780636c9dea8c1461033e5780636f307dc31461038557806370a08231146103c657806376d5de85146103e657806395d89b411461041a5780639afb25de1461042f578063a2bbcf1314610463578063a380237e14610483578063a40bee50146104b7578063a9059cbb146104db578063a9f8d181146104fb578063b298e8e914610511578063b8f82b2614610545578063bed64c2f14610565578063c4f59f9b14610587578063c9c0c0821461059c578063cbe52ae3146105bc578063da88ecb4146105dc578063dd62ed3e146105f1578063df47be4514610611578063ea64a82014610645578063ef5cfb8c14610686578063f1068454146106a6578063f3f094a1146106da578063f8b2f991146106fa57600080fd5b3661019457005b600080fd5b3480156101a557600080fd5b506101ae61070f565b6040516101bb9190612d74565b60405180910390f35b3480156101d057600080fd5b506101e46101df366004612dc3565b6107a1565b60405190151581526020016101bb565b34801561020057600080fd5b5061021461020f366004612ded565b6107bb565b6040516101bb9190612e43565b34801561022d57600080fd5b506102366108bd565b6040519081526020016101bb565b610236610252366004612e56565b6108cc565b34801561026357600080fd5b506101e4610272366004612e98565b610aa9565b34801561028357600080fd5b506102ab7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016101bb565b3480156102c957600080fd5b50610236610b27565b3480156102de57600080fd5b5061031e6102ed366004612ed4565b60056020908152600092835260408084209091529082529020546001600160801b0380821691600160801b90041682565b604080516001600160801b039384168152929091166020830152016101bb565b34801561034a57600080fd5b506103727f000000000000000000000000000000000000000000000000000000000000000081565b60405161ffff90911681526020016101bb565b34801561039157600080fd5b506103b97f000000000000000000000000000000000000000000000000000000000000000081565b6040516101bb9190612f07565b3480156103d257600080fd5b506102366103e1366004612ded565b610bbf565b3480156103f257600080fd5b506103b97f000000000000000000000000000000000000000000000000000000000000000081565b34801561042657600080fd5b506101ae610bda565b34801561043b57600080fd5b506103b97f000000000000000000000000000000000000000000000000000000000000000081565b34801561046f57600080fd5b5061023661047e366004612e98565b610be9565b34801561048f57600080fd5b506103b97f000000000000000000000000000000000000000000000000000000000000000081565b3480156104c357600080fd5b506104cc610c70565b6040516101bb93929190612f1b565b3480156104e757600080fd5b506101e46104f6366004612dc3565b610d24565b34801561050757600080fd5b5061023660065481565b34801561051d57600080fd5b506103b97f000000000000000000000000000000000000000000000000000000000000000081565b34801561055157600080fd5b50610236610560366004612dc3565b610d96565b34801561057157600080fd5b5061057a610dce565b6040516101bb9190612f96565b34801561059357600080fd5b5061057a610e99565b3480156105a857600080fd5b506101e46105b7366004612ded565b610ea3565b3480156105c857600080fd5b506102366105d7366004612dc3565b610f1b565b3480156105e857600080fd5b50610214610f74565b3480156105fd57600080fd5b5061023661060c366004612ed4565b611045565b34801561061d57600080fd5b506103b97f000000000000000000000000000000000000000000000000000000000000000081565b34801561065157600080fd5b5061031e610660366004612ded565b6007602052600090815260409020546001600160801b0380821691600160801b90041682565b34801561069257600080fd5b506102146106a1366004612ded565b611070565b3480156106b257600080fd5b506102367f000000000000000000000000000000000000000000000000000000000000000081565b3480156106e657600080fd5b506102366106f5366004612fa9565b61112f565b34801561070657600080fd5b5061021461118b565b60606003805461071e90612fed565b80601f016020809104026020016040519081016040528092919081815260200182805461074a90612fed565b80156107975780601f1061076c57610100808354040283529160200191610797565b820191906000526020600020905b81548152906001019060200180831161077a57829003601f168201915b5050505050905090565b6000336107af81858561119f565b60019150505b92915050565b606060006107c76112c4565b905080516001600160401b038111156107e2576107e2613027565b60405190808252806020026020018201604052801561080b578160200160208202803683370190505b50915060005b81518110156108b6576001600160a01b038416600090815260056020526040812083519091908490849081106108495761084961303d565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060000160109054906101000a90046001600160801b03166001600160801b03168382815181106108a3576108a361303d565b6020908102919091010152600101610811565b5050919050565b6002546001600160f81b031690565b600254600090600119600160f81b90910460ff16016109065760405162461bcd60e51b81526004016108fd90613053565b60405180910390fd5b600280546001600160f81b0316600160f91b17905561092484610ea3565b6109405760405162461bcd60e51b81526004016108fd9061308a565b8260000361099e5760405162461bcd60e51b815260206004820152602560248201527f5343593a20616d6f756e74546f6b656e546f4465706f7369742063616e6e6f74604482015264020626520360dc1b60648201526084016108fd565b6001600160a01b0384166109f4578234146109ef5760405162461bcd60e51b81526020600482015260116024820152700a686b27440cae8d040dad2e6dac2e8c6d607b1b60448201526064016108fd565b6109ff565b6109ff84338561131a565b610a098484611352565b905081811015610a2b5760405162461bcd60e51b81526004016108fd906130b8565b610a358582611542565b836001600160a01b0316856001600160a01b0316336001600160a01b03167f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d598685604051610a849291906130e7565b60405180910390a4600280546001600160f81b0316600160f81b179055949350505050565b600254600090600119600160f81b90910460ff1601610ada5760405162461bcd60e51b81526004016108fd90613053565b600280546001600160f81b0316600160f91b17905533610afb858285611658565b610b068585856116d2565b6001915050600280546001600160f81b0316600160f81b1790559392505050565b604051637b669af760e11b8152670de0b6b3a764000060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f6cd35ee90602401602060405180830381865afa158015610b96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bba91906130f5565b905090565b6001600160a01b031660009081526020819052604090205490565b60606004805461071e90612fed565b600254600090600119600160f81b90910460ff1601610c1a5760405162461bcd60e51b81526004016108fd90613053565b600280546001600160f81b0316600160f91b1790556000610c3a30610bbf565b9050610c4630826118f4565b610c5285828686611a6d565b600280546001600160f81b0316600160f81b17905595945050505050565b6000806000807f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d19919061310e565b925092509250909192565b600254600090600119600160f81b90910460ff1601610d555760405162461bcd60e51b81526004016108fd90613053565b600280546001600160f81b0316600160f91b17905533610d768185856116d2565b6001915050600280546001600160f81b0316600160f81b17905592915050565b6000610da183610ea3565b610dbd5760405162461bcd60e51b81526004016108fd9061308a565b610dc78383611bb0565b9392505050565b60408051600280825260608083018452926020830190803683370190505090507f000000000000000000000000000000000000000000000000000000000000000081600081518110610e2257610e2261303d565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610e7657610e7661303d565b60200260200101906001600160a01b031690816001600160a01b03168152505090565b6060610bba6112c4565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614806107b557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161492915050565b6000610f2683610ea3565b610f6a5760405162461bcd60e51b815260206004820152601560248201527414d0d64e88125b9d985b1a59081d1bdad95b93dd5d605a1b60448201526064016108fd565b610dc78383611c16565b60606000610f806112c4565b905080516001600160401b03811115610f9b57610f9b613027565b604051908082528060200260200182016040528015610fc4578160200160208202803683370190505b50915060005b81518110156110405760076000838381518110610fe957610fe961303d565b6020908102919091018101516001600160a01b031682528101919091526040016000205483516001600160801b039091169084908390811061102d5761102d61303d565b6020908102919091010152600101610fca565b505090565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600254606090600119600160f81b90910460ff16016110a15760405162461bcd60e51b81526004016108fd90613053565b600280546001600160f81b0316600160f91b1790556110bf82611c73565b6110c98283611c81565b9050816001600160a01b03167f2193aa20a3717f5f4ac79482f4f553e5f0afe8f4e6ec3e3d1aa2e138adc4763f6110fe6112c4565b8360405161110d929190613131565b60405180910390a2600280546001600160f81b0316600160f81b179055919050565b600254600090600119600160f81b90910460ff16016111605760405162461bcd60e51b81526004016108fd90613053565b600280546001600160f81b0316600160f91b17905561117f33856118f4565b610c5285858585611a6d565b6060611195611f29565b5050610bba610f74565b6001600160a01b0383166112015760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108fd565b6001600160a01b0382166112625760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108fd565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b604080516001808252818301909252606091602080830190803683370190505090507f000000000000000000000000000000000000000000000000000000000000000081600081518110610e7657610e7661303d565b80158061132e57506001600160a01b038316155b1561133857505050565b61134d6001600160a01b0384168330846121c4565b505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03160361139457508061149c565b60006113bf7f000000000000000000000000000000000000000000000000000000000000000061222f565b6040516321ec87bf60e21b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906387b21efc90611432907f0000000000000000000000000000000000000000000000000000000000000000908790309060040161315f565b600060405180830381600087803b15801561144c57600080fd5b505af1158015611460573d6000803e3d6000fd5b505050508061148e7f000000000000000000000000000000000000000000000000000000000000000061222f565b611498919061319a565b9150505b604051631c57762b60e31b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e2bbb1589061150a907f00000000000000000000000000000000000000000000000000000000000000009085906004016130e7565b600060405180830381600087803b15801561152457600080fd5b505af1158015611538573d6000803e3d6000fd5b5050505092915050565b6001600160a01b0382166115985760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016108fd565b6115a4600083836122b9565b6115ad816122c3565b600280546000906115c89084906001600160f81b03166131b1565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555080600080846001600160a01b03166001600160a01b03168152602001908152602001600020600082825461162091906131dc565b90915550506040518181526001600160a01b038316906000906000805160206133238339815191529060200160405180910390a35050565b60006116648484611045565b905060001981146116cc57818110156116bf5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016108fd565b6116cc848484840361119f565b50505050565b6001600160a01b0383166117365760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108fd565b6001600160a01b0382166117985760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108fd565b816001600160a01b0316836001600160a01b0316036117f35760405162461bcd60e51b815260206004820152601760248201527622a92199181d103a3930b739b332b9103a379039b2b63360491b60448201526064016108fd565b6117fe8383836122b9565b6001600160a01b038316600090815260208190526040902054818110156118765760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016108fd565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906118ad9084906131dc565b92505081905550826001600160a01b0316846001600160a01b0316600080516020613323833981519152846040516118e791815260200190565b60405180910390a36116cc565b6001600160a01b0382166119545760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016108fd565b611960826000836122b9565b6001600160a01b038216600090815260208190526040902054818110156119d45760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016108fd565b6001600160a01b038316600090815260208190526040902082820390556119fa826122c3565b60028054600090611a159084906001600160f81b03166131f4565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555060006001600160a01b0316836001600160a01b0316600080516020613323833981519152846040516112b791815260200190565b6000611a7883610ea3565b611abc5760405162461bcd60e51b815260206004820152601560248201527414d0d64e881a5b9d985b1a59081d1bdad95b93dd5d605a1b60448201526064016108fd565b83600003611b1a5760405162461bcd60e51b815260206004820152602560248201527f5343593a20616d6f756e74536861726573546f52656465656d2063616e6e6f74604482015264020626520360dc1b60648201526084016108fd565b611b2483856122d9565b905081811015611b465760405162461bcd60e51b81526004016108fd906130b8565b611b518386836125ec565b826001600160a01b0316856001600160a01b0316336001600160a01b03167faee47cdf925cf525fdae94f9777ee5a06cac37e1c41220d0a8a89ed154f62d1c8785604051611ba09291906130e7565b60405180910390a4949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603611bf25750806107b5565b611bfa610b27565b611c0c670de0b6b3a76400008461321c565b610dc79190613251565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603611c585750806107b5565b670de0b6b3a7640000611c69610b27565b611c0c908461321c565b611c7e8160006126b0565b50565b60606000611c8d6112c4565b905080516001600160401b03811115611ca857611ca8613027565b604051908082528060200260200182016040528015611cd1578160200160208202803683370190505b50915060005b8151811015611f215760056000838381518110611cf657611cf661303d565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000866001600160a01b03166001600160a01b0316815260200190815260200160002060000160109054906101000a90046001600160801b03166001600160801b0316838281518110611d7357611d7361303d565b602002602001018181525050828181518110611d9157611d9161303d565b6020026020010151600014611f0f57600060056000848481518110611db857611db861303d565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000876001600160a01b03166001600160a01b0316815260200190815260200160002060000160106101000a8154816001600160801b0302191690836001600160801b03160217905550611e4c838281518110611e3f57611e3f61303d565b6020026020010151612730565b60076000848481518110611e6257611e6261303d565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060000160108282829054906101000a90046001600160801b0316611eae9190613273565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f0f828281518110611ee757611ee761303d565b602002602001015185858481518110611f0257611f0261303d565b60200260200101516125ec565b80611f1981613293565b915050611cd7565b505092915050565b606080611f346112c4565b915081516001600160401b03811115611f4f57611f4f613027565b604051908082528060200260200182016040528015611f78578160200160208202803683370190505b5090508151600003611f88579091565b436006541461213c57436006556000611f9f612746565b9050611fa9612750565b60005b8351811015612139576000848281518110611fc957611fc961303d565b6020908102919091018101516001600160a01b0381166000908152600790925260408220548751919350600160801b90046001600160801b0316906120279088908690811061201a5761201a61303d565b602002602001015161222f565b612031919061319a565b6001600160a01b0383166000908152600760205260408120549192506001600160801b0390911690819003612064575060015b84156120815761207482866127ed565b61207e90826131dc565b90505b61208a81612730565b6001600160a01b038416600090815260076020526040902080546001600160801b0319166001600160801b03929092169190911790556120c982612730565b6001600160a01b03841660009081526007602052604090208054601090612101908490600160801b90046001600160801b03166132ac565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050508061213290613293565b9050611fac565b50505b60005b82518110156121bf576007600084838151811061215e5761215e61303d565b6020908102919091018101516001600160a01b031682528101919091526040016000205482516001600160801b03909116908390839081106121a2576121a261303d565b6020908102919091010152806121b781613293565b91505061213f565b509091565b6040516001600160a01b03808516602483015283166044820152606481018290526116cc9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261281c565b60006001600160a01b038216156122b2576040516370a0823160e01b81526001600160a01b038316906370a082319061226c903090600401612f07565b602060405180830381865afa158015612289573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122ad91906130f5565b6107b5565b4792915050565b61134d83836126b0565b6000600160f81b82106122d557600080fd5b5090565b604051630441a3e760e41b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063441a3e709061234a907f00000000000000000000000000000000000000000000000000000000000000009086906004016130e7565b600060405180830381600087803b15801561236457600080fd5b505af1158015612378573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316036123bc5750806107b5565b6040516370a0823160e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a082319061240b903090600401612f07565b602060405180830381865afa158015612428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061244c91906130f5565b60405163c4de93a560e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c4de93a5906124bf907f0000000000000000000000000000000000000000000000000000000000000000908790309060040161315f565b6020604051808303816000875af11580156124de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250291906130f5565b915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016125529190612f07565b602060405180830381865afa15801561256f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061259391906130f5565b61259d908361319a565b9050838114611f215760405162461bcd60e51b815260206004820152601b60248201527a696e73756666696369656e742066756e6420746f2072656465656d60281b60448201526064016108fd565b806000036125f957505050565b6001600160a01b03831661269c576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612654576040519150601f19603f3d011682016040523d82523d6000602084013e612659565b606091505b50509050806116cc5760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b60448201526064016108fd565b61134d6001600160a01b03841683836128ee565b6000806126bb611f29565b9150915081516000036126ce5750505050565b6001600160a01b038416158015906126ef57506001600160a01b0384163014155b156126ff576126ff84838361291e565b6001600160a01b0383161580159061272057506001600160a01b0383163014155b156116cc576116cc83838361291e565b60006001600160801b038211156122d557600080fd5b6000610bba6108bd565b604051630441a3e760e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063441a3e70906127bf907f0000000000000000000000000000000000000000000000000000000000000000906000906004016130e7565b600060405180830381600087803b1580156127d957600080fd5b505af11580156116cc573d6000803e3d6000fd5b600080612802670de0b6b3a76400008561321c565b90508281816128135761281361323b565b04949350505050565b6000612871826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612b9e9092919063ffffffff16565b80519091501561134d578080602001905181019061288f91906132ce565b61134d5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016108fd565b6040516001600160a01b03831660248201526044810182905261134d90849063a9059cbb60e01b906064016121f8565b6001600160a01b0383161580159061293f57506001600160a01b0383163014155b61294b5761294b6132f0565b600061295684612bb5565b905060005b8351811015612b975760008482815181106129785761297861303d565b6020026020010151905060008483815181106129965761299661303d565b6020908102919091018101516001600160a01b038085166000908152600584526040808220928c168252919093528220549092506001600160801b031690819003612a32576129e482612730565b6001600160a01b039384166000908152600560209081526040808320968c1683529590529390932080546001600160801b0319166001600160801b039094169390931790925550612b879050565b818103612a4157505050612b87565b6000612a4d828461319a565b90506000612a5b8783612bc0565b6001600160a01b038681166000908152600560209081526040808320938f1683529290529081205491925090612aa2908390600160801b90046001600160801b03166131dc565b90506040518060400160405280612ab887612730565b6001600160801b03168152602001612acf83612730565b6001600160801b031681525060056000886001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816001600160801b0302191690836001600160801b031602179055509050505050505050505b612b9081613293565b905061295b565b5050505050565b6060612bad8484600085612bde565b949350505050565b60006107b582610bbf565b600080612bcd838561321c565b9050670de0b6b3a764000081612813565b606082471015612c3f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016108fd565b6001600160a01b0385163b612c965760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016108fd565b600080866001600160a01b03168587604051612cb29190613306565b60006040518083038185875af1925050503d8060008114612cef576040519150601f19603f3d011682016040523d82523d6000602084013e612cf4565b606091505b5091509150612d04828286612d0f565b979650505050505050565b60608315612d1e575081610dc7565b825115612d2e5782518084602001fd5b8160405162461bcd60e51b81526004016108fd9190612d74565b60005b83811015612d63578181015183820152602001612d4b565b838111156116cc5750506000910152565b6020815260008251806020840152612d93816040850160208701612d48565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114612dbe57600080fd5b919050565b60008060408385031215612dd657600080fd5b612ddf83612da7565b946020939093013593505050565b600060208284031215612dff57600080fd5b610dc782612da7565b600081518084526020808501945080840160005b83811015612e3857815187529582019590820190600101612e1c565b509495945050505050565b602081526000610dc76020830184612e08565b60008060008060808587031215612e6c57600080fd5b612e7585612da7565b9350612e8360208601612da7565b93969395505050506040820135916060013590565b600080600060608486031215612ead57600080fd5b612eb684612da7565b9250612ec460208501612da7565b9150604084013590509250925092565b60008060408385031215612ee757600080fd5b612ef083612da7565b9150612efe60208401612da7565b90509250929050565b6001600160a01b0391909116815260200190565b6060810160028510612f3d57634e487b7160e01b600052602160045260246000fd5b9381526001600160a01b0392909216602083015260ff1660409091015290565b600081518084526020808501945080840160005b83811015612e385781516001600160a01b031687529582019590820190600101612f71565b602081526000610dc76020830184612f5d565b60008060008060808587031215612fbf57600080fd5b612fc885612da7565b935060208501359250612fdd60408601612da7565b9396929550929360600135925050565b600181811c9082168061300157607f821691505b60208210810361302157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526014908201527329a1ac9d1024b73b30b634b2103a37b5b2b724b760611b604082015260600190565b60208082526015908201527414d0d64e881a5b9cdd59999a58da595b9d081bdd5d605a1b604082015260600190565b918252602082015260400190565b60006020828403121561310757600080fd5b5051919050565b60006020828403121561312057600080fd5b815160ff81168114610dc757600080fd5b6040815260006131446040830185612f5d565b82810360208401526131568185612e08565b95945050505050565b61ffff93909316835260208301919091526001600160a01b0316604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000828210156131ac576131ac613184565b500390565b60006001600160f81b038281168482168083038211156131d3576131d3613184565b01949350505050565b600082198211156131ef576131ef613184565b500190565b60006001600160f81b038381169083168181101561321457613214613184565b039392505050565b600081600019048311821515161561323657613236613184565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261326e57634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160801b038381169083168181101561321457613214613184565b6000600182016132a5576132a5613184565b5060010190565b60006001600160801b038281168482168083038211156131d3576131d3613184565b6000602082840312156132e057600080fd5b81518015158114610dc757600080fd5b634e487b7160e01b600052600160045260246000fd5b60008251613318818460208701612d48565b919091019291505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220940ce6ac24e607946357fa0a13ced2a444c5cdb26616f96ddb44c63fb2e5954664736f6c634300080d0033",
834
- "deployedBytecode": "0x60806040526004361061018d5760003560e01c806306fdde0314610199578063095ea7b3146101c4578063128fced1146101f457806318160ddd1461022157806320e8c5651461024457806323b872dd14610257578063313ce567146102775780633ba0b9a9146102bd5780635cbadbe4146102d25780636c9dea8c1461033e5780636f307dc31461038557806370a08231146103c657806376d5de85146103e657806395d89b411461041a5780639afb25de1461042f578063a2bbcf1314610463578063a380237e14610483578063a40bee50146104b7578063a9059cbb146104db578063a9f8d181146104fb578063b298e8e914610511578063b8f82b2614610545578063bed64c2f14610565578063c4f59f9b14610587578063c9c0c0821461059c578063cbe52ae3146105bc578063da88ecb4146105dc578063dd62ed3e146105f1578063df47be4514610611578063ea64a82014610645578063ef5cfb8c14610686578063f1068454146106a6578063f3f094a1146106da578063f8b2f991146106fa57600080fd5b3661019457005b600080fd5b3480156101a557600080fd5b506101ae61070f565b6040516101bb9190612d74565b60405180910390f35b3480156101d057600080fd5b506101e46101df366004612dc3565b6107a1565b60405190151581526020016101bb565b34801561020057600080fd5b5061021461020f366004612ded565b6107bb565b6040516101bb9190612e43565b34801561022d57600080fd5b506102366108bd565b6040519081526020016101bb565b610236610252366004612e56565b6108cc565b34801561026357600080fd5b506101e4610272366004612e98565b610aa9565b34801561028357600080fd5b506102ab7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016101bb565b3480156102c957600080fd5b50610236610b27565b3480156102de57600080fd5b5061031e6102ed366004612ed4565b60056020908152600092835260408084209091529082529020546001600160801b0380821691600160801b90041682565b604080516001600160801b039384168152929091166020830152016101bb565b34801561034a57600080fd5b506103727f000000000000000000000000000000000000000000000000000000000000000081565b60405161ffff90911681526020016101bb565b34801561039157600080fd5b506103b97f000000000000000000000000000000000000000000000000000000000000000081565b6040516101bb9190612f07565b3480156103d257600080fd5b506102366103e1366004612ded565b610bbf565b3480156103f257600080fd5b506103b97f000000000000000000000000000000000000000000000000000000000000000081565b34801561042657600080fd5b506101ae610bda565b34801561043b57600080fd5b506103b97f000000000000000000000000000000000000000000000000000000000000000081565b34801561046f57600080fd5b5061023661047e366004612e98565b610be9565b34801561048f57600080fd5b506103b97f000000000000000000000000000000000000000000000000000000000000000081565b3480156104c357600080fd5b506104cc610c70565b6040516101bb93929190612f1b565b3480156104e757600080fd5b506101e46104f6366004612dc3565b610d24565b34801561050757600080fd5b5061023660065481565b34801561051d57600080fd5b506103b97f000000000000000000000000000000000000000000000000000000000000000081565b34801561055157600080fd5b50610236610560366004612dc3565b610d96565b34801561057157600080fd5b5061057a610dce565b6040516101bb9190612f96565b34801561059357600080fd5b5061057a610e99565b3480156105a857600080fd5b506101e46105b7366004612ded565b610ea3565b3480156105c857600080fd5b506102366105d7366004612dc3565b610f1b565b3480156105e857600080fd5b50610214610f74565b3480156105fd57600080fd5b5061023661060c366004612ed4565b611045565b34801561061d57600080fd5b506103b97f000000000000000000000000000000000000000000000000000000000000000081565b34801561065157600080fd5b5061031e610660366004612ded565b6007602052600090815260409020546001600160801b0380821691600160801b90041682565b34801561069257600080fd5b506102146106a1366004612ded565b611070565b3480156106b257600080fd5b506102367f000000000000000000000000000000000000000000000000000000000000000081565b3480156106e657600080fd5b506102366106f5366004612fa9565b61112f565b34801561070657600080fd5b5061021461118b565b60606003805461071e90612fed565b80601f016020809104026020016040519081016040528092919081815260200182805461074a90612fed565b80156107975780601f1061076c57610100808354040283529160200191610797565b820191906000526020600020905b81548152906001019060200180831161077a57829003601f168201915b5050505050905090565b6000336107af81858561119f565b60019150505b92915050565b606060006107c76112c4565b905080516001600160401b038111156107e2576107e2613027565b60405190808252806020026020018201604052801561080b578160200160208202803683370190505b50915060005b81518110156108b6576001600160a01b038416600090815260056020526040812083519091908490849081106108495761084961303d565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060000160109054906101000a90046001600160801b03166001600160801b03168382815181106108a3576108a361303d565b6020908102919091010152600101610811565b5050919050565b6002546001600160f81b031690565b600254600090600119600160f81b90910460ff16016109065760405162461bcd60e51b81526004016108fd90613053565b60405180910390fd5b600280546001600160f81b0316600160f91b17905561092484610ea3565b6109405760405162461bcd60e51b81526004016108fd9061308a565b8260000361099e5760405162461bcd60e51b815260206004820152602560248201527f5343593a20616d6f756e74546f6b656e546f4465706f7369742063616e6e6f74604482015264020626520360dc1b60648201526084016108fd565b6001600160a01b0384166109f4578234146109ef5760405162461bcd60e51b81526020600482015260116024820152700a686b27440cae8d040dad2e6dac2e8c6d607b1b60448201526064016108fd565b6109ff565b6109ff84338561131a565b610a098484611352565b905081811015610a2b5760405162461bcd60e51b81526004016108fd906130b8565b610a358582611542565b836001600160a01b0316856001600160a01b0316336001600160a01b03167f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d598685604051610a849291906130e7565b60405180910390a4600280546001600160f81b0316600160f81b179055949350505050565b600254600090600119600160f81b90910460ff1601610ada5760405162461bcd60e51b81526004016108fd90613053565b600280546001600160f81b0316600160f91b17905533610afb858285611658565b610b068585856116d2565b6001915050600280546001600160f81b0316600160f81b1790559392505050565b604051637b669af760e11b8152670de0b6b3a764000060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f6cd35ee90602401602060405180830381865afa158015610b96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bba91906130f5565b905090565b6001600160a01b031660009081526020819052604090205490565b60606004805461071e90612fed565b600254600090600119600160f81b90910460ff1601610c1a5760405162461bcd60e51b81526004016108fd90613053565b600280546001600160f81b0316600160f91b1790556000610c3a30610bbf565b9050610c4630826118f4565b610c5285828686611a6d565b600280546001600160f81b0316600160f81b17905595945050505050565b6000806000807f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d19919061310e565b925092509250909192565b600254600090600119600160f81b90910460ff1601610d555760405162461bcd60e51b81526004016108fd90613053565b600280546001600160f81b0316600160f91b17905533610d768185856116d2565b6001915050600280546001600160f81b0316600160f81b17905592915050565b6000610da183610ea3565b610dbd5760405162461bcd60e51b81526004016108fd9061308a565b610dc78383611bb0565b9392505050565b60408051600280825260608083018452926020830190803683370190505090507f000000000000000000000000000000000000000000000000000000000000000081600081518110610e2257610e2261303d565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610e7657610e7661303d565b60200260200101906001600160a01b031690816001600160a01b03168152505090565b6060610bba6112c4565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614806107b557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161492915050565b6000610f2683610ea3565b610f6a5760405162461bcd60e51b815260206004820152601560248201527414d0d64e88125b9d985b1a59081d1bdad95b93dd5d605a1b60448201526064016108fd565b610dc78383611c16565b60606000610f806112c4565b905080516001600160401b03811115610f9b57610f9b613027565b604051908082528060200260200182016040528015610fc4578160200160208202803683370190505b50915060005b81518110156110405760076000838381518110610fe957610fe961303d565b6020908102919091018101516001600160a01b031682528101919091526040016000205483516001600160801b039091169084908390811061102d5761102d61303d565b6020908102919091010152600101610fca565b505090565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600254606090600119600160f81b90910460ff16016110a15760405162461bcd60e51b81526004016108fd90613053565b600280546001600160f81b0316600160f91b1790556110bf82611c73565b6110c98283611c81565b9050816001600160a01b03167f2193aa20a3717f5f4ac79482f4f553e5f0afe8f4e6ec3e3d1aa2e138adc4763f6110fe6112c4565b8360405161110d929190613131565b60405180910390a2600280546001600160f81b0316600160f81b179055919050565b600254600090600119600160f81b90910460ff16016111605760405162461bcd60e51b81526004016108fd90613053565b600280546001600160f81b0316600160f91b17905561117f33856118f4565b610c5285858585611a6d565b6060611195611f29565b5050610bba610f74565b6001600160a01b0383166112015760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108fd565b6001600160a01b0382166112625760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108fd565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b604080516001808252818301909252606091602080830190803683370190505090507f000000000000000000000000000000000000000000000000000000000000000081600081518110610e7657610e7661303d565b80158061132e57506001600160a01b038316155b1561133857505050565b61134d6001600160a01b0384168330846121c4565b505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03160361139457508061149c565b60006113bf7f000000000000000000000000000000000000000000000000000000000000000061222f565b6040516321ec87bf60e21b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906387b21efc90611432907f0000000000000000000000000000000000000000000000000000000000000000908790309060040161315f565b600060405180830381600087803b15801561144c57600080fd5b505af1158015611460573d6000803e3d6000fd5b505050508061148e7f000000000000000000000000000000000000000000000000000000000000000061222f565b611498919061319a565b9150505b604051631c57762b60e31b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e2bbb1589061150a907f00000000000000000000000000000000000000000000000000000000000000009085906004016130e7565b600060405180830381600087803b15801561152457600080fd5b505af1158015611538573d6000803e3d6000fd5b5050505092915050565b6001600160a01b0382166115985760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016108fd565b6115a4600083836122b9565b6115ad816122c3565b600280546000906115c89084906001600160f81b03166131b1565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555080600080846001600160a01b03166001600160a01b03168152602001908152602001600020600082825461162091906131dc565b90915550506040518181526001600160a01b038316906000906000805160206133238339815191529060200160405180910390a35050565b60006116648484611045565b905060001981146116cc57818110156116bf5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016108fd565b6116cc848484840361119f565b50505050565b6001600160a01b0383166117365760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108fd565b6001600160a01b0382166117985760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108fd565b816001600160a01b0316836001600160a01b0316036117f35760405162461bcd60e51b815260206004820152601760248201527622a92199181d103a3930b739b332b9103a379039b2b63360491b60448201526064016108fd565b6117fe8383836122b9565b6001600160a01b038316600090815260208190526040902054818110156118765760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016108fd565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906118ad9084906131dc565b92505081905550826001600160a01b0316846001600160a01b0316600080516020613323833981519152846040516118e791815260200190565b60405180910390a36116cc565b6001600160a01b0382166119545760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016108fd565b611960826000836122b9565b6001600160a01b038216600090815260208190526040902054818110156119d45760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016108fd565b6001600160a01b038316600090815260208190526040902082820390556119fa826122c3565b60028054600090611a159084906001600160f81b03166131f4565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555060006001600160a01b0316836001600160a01b0316600080516020613323833981519152846040516112b791815260200190565b6000611a7883610ea3565b611abc5760405162461bcd60e51b815260206004820152601560248201527414d0d64e881a5b9d985b1a59081d1bdad95b93dd5d605a1b60448201526064016108fd565b83600003611b1a5760405162461bcd60e51b815260206004820152602560248201527f5343593a20616d6f756e74536861726573546f52656465656d2063616e6e6f74604482015264020626520360dc1b60648201526084016108fd565b611b2483856122d9565b905081811015611b465760405162461bcd60e51b81526004016108fd906130b8565b611b518386836125ec565b826001600160a01b0316856001600160a01b0316336001600160a01b03167faee47cdf925cf525fdae94f9777ee5a06cac37e1c41220d0a8a89ed154f62d1c8785604051611ba09291906130e7565b60405180910390a4949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603611bf25750806107b5565b611bfa610b27565b611c0c670de0b6b3a76400008461321c565b610dc79190613251565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603611c585750806107b5565b670de0b6b3a7640000611c69610b27565b611c0c908461321c565b611c7e8160006126b0565b50565b60606000611c8d6112c4565b905080516001600160401b03811115611ca857611ca8613027565b604051908082528060200260200182016040528015611cd1578160200160208202803683370190505b50915060005b8151811015611f215760056000838381518110611cf657611cf661303d565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000866001600160a01b03166001600160a01b0316815260200190815260200160002060000160109054906101000a90046001600160801b03166001600160801b0316838281518110611d7357611d7361303d565b602002602001018181525050828181518110611d9157611d9161303d565b6020026020010151600014611f0f57600060056000848481518110611db857611db861303d565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000876001600160a01b03166001600160a01b0316815260200190815260200160002060000160106101000a8154816001600160801b0302191690836001600160801b03160217905550611e4c838281518110611e3f57611e3f61303d565b6020026020010151612730565b60076000848481518110611e6257611e6261303d565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060000160108282829054906101000a90046001600160801b0316611eae9190613273565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f0f828281518110611ee757611ee761303d565b602002602001015185858481518110611f0257611f0261303d565b60200260200101516125ec565b80611f1981613293565b915050611cd7565b505092915050565b606080611f346112c4565b915081516001600160401b03811115611f4f57611f4f613027565b604051908082528060200260200182016040528015611f78578160200160208202803683370190505b5090508151600003611f88579091565b436006541461213c57436006556000611f9f612746565b9050611fa9612750565b60005b8351811015612139576000848281518110611fc957611fc961303d565b6020908102919091018101516001600160a01b0381166000908152600790925260408220548751919350600160801b90046001600160801b0316906120279088908690811061201a5761201a61303d565b602002602001015161222f565b612031919061319a565b6001600160a01b0383166000908152600760205260408120549192506001600160801b0390911690819003612064575060015b84156120815761207482866127ed565b61207e90826131dc565b90505b61208a81612730565b6001600160a01b038416600090815260076020526040902080546001600160801b0319166001600160801b03929092169190911790556120c982612730565b6001600160a01b03841660009081526007602052604090208054601090612101908490600160801b90046001600160801b03166132ac565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505050508061213290613293565b9050611fac565b50505b60005b82518110156121bf576007600084838151811061215e5761215e61303d565b6020908102919091018101516001600160a01b031682528101919091526040016000205482516001600160801b03909116908390839081106121a2576121a261303d565b6020908102919091010152806121b781613293565b91505061213f565b509091565b6040516001600160a01b03808516602483015283166044820152606481018290526116cc9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261281c565b60006001600160a01b038216156122b2576040516370a0823160e01b81526001600160a01b038316906370a082319061226c903090600401612f07565b602060405180830381865afa158015612289573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122ad91906130f5565b6107b5565b4792915050565b61134d83836126b0565b6000600160f81b82106122d557600080fd5b5090565b604051630441a3e760e41b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063441a3e709061234a907f00000000000000000000000000000000000000000000000000000000000000009086906004016130e7565b600060405180830381600087803b15801561236457600080fd5b505af1158015612378573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316036123bc5750806107b5565b6040516370a0823160e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a082319061240b903090600401612f07565b602060405180830381865afa158015612428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061244c91906130f5565b60405163c4de93a560e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c4de93a5906124bf907f0000000000000000000000000000000000000000000000000000000000000000908790309060040161315f565b6020604051808303816000875af11580156124de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250291906130f5565b915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016125529190612f07565b602060405180830381865afa15801561256f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061259391906130f5565b61259d908361319a565b9050838114611f215760405162461bcd60e51b815260206004820152601b60248201527a696e73756666696369656e742066756e6420746f2072656465656d60281b60448201526064016108fd565b806000036125f957505050565b6001600160a01b03831661269c576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612654576040519150601f19603f3d011682016040523d82523d6000602084013e612659565b606091505b50509050806116cc5760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b60448201526064016108fd565b61134d6001600160a01b03841683836128ee565b6000806126bb611f29565b9150915081516000036126ce5750505050565b6001600160a01b038416158015906126ef57506001600160a01b0384163014155b156126ff576126ff84838361291e565b6001600160a01b0383161580159061272057506001600160a01b0383163014155b156116cc576116cc83838361291e565b60006001600160801b038211156122d557600080fd5b6000610bba6108bd565b604051630441a3e760e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063441a3e70906127bf907f0000000000000000000000000000000000000000000000000000000000000000906000906004016130e7565b600060405180830381600087803b1580156127d957600080fd5b505af11580156116cc573d6000803e3d6000fd5b600080612802670de0b6b3a76400008561321c565b90508281816128135761281361323b565b04949350505050565b6000612871826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612b9e9092919063ffffffff16565b80519091501561134d578080602001905181019061288f91906132ce565b61134d5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016108fd565b6040516001600160a01b03831660248201526044810182905261134d90849063a9059cbb60e01b906064016121f8565b6001600160a01b0383161580159061293f57506001600160a01b0383163014155b61294b5761294b6132f0565b600061295684612bb5565b905060005b8351811015612b975760008482815181106129785761297861303d565b6020026020010151905060008483815181106129965761299661303d565b6020908102919091018101516001600160a01b038085166000908152600584526040808220928c168252919093528220549092506001600160801b031690819003612a32576129e482612730565b6001600160a01b039384166000908152600560209081526040808320968c1683529590529390932080546001600160801b0319166001600160801b039094169390931790925550612b879050565b818103612a4157505050612b87565b6000612a4d828461319a565b90506000612a5b8783612bc0565b6001600160a01b038681166000908152600560209081526040808320938f1683529290529081205491925090612aa2908390600160801b90046001600160801b03166131dc565b90506040518060400160405280612ab887612730565b6001600160801b03168152602001612acf83612730565b6001600160801b031681525060056000886001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816001600160801b0302191690836001600160801b031602179055509050505050505050505b612b9081613293565b905061295b565b5050505050565b6060612bad8484600085612bde565b949350505050565b60006107b582610bbf565b600080612bcd838561321c565b9050670de0b6b3a764000081612813565b606082471015612c3f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016108fd565b6001600160a01b0385163b612c965760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016108fd565b600080866001600160a01b03168587604051612cb29190613306565b60006040518083038185875af1925050503d8060008114612cef576040519150601f19603f3d011682016040523d82523d6000602084013e612cf4565b606091505b5091509150612d04828286612d0f565b979650505050505050565b60608315612d1e575081610dc7565b825115612d2e5782518084602001fd5b8160405162461bcd60e51b81526004016108fd9190612d74565b60005b83811015612d63578181015183820152602001612d4b565b838111156116cc5750506000910152565b6020815260008251806020840152612d93816040850160208701612d48565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114612dbe57600080fd5b919050565b60008060408385031215612dd657600080fd5b612ddf83612da7565b946020939093013593505050565b600060208284031215612dff57600080fd5b610dc782612da7565b600081518084526020808501945080840160005b83811015612e3857815187529582019590820190600101612e1c565b509495945050505050565b602081526000610dc76020830184612e08565b60008060008060808587031215612e6c57600080fd5b612e7585612da7565b9350612e8360208601612da7565b93969395505050506040820135916060013590565b600080600060608486031215612ead57600080fd5b612eb684612da7565b9250612ec460208501612da7565b9150604084013590509250925092565b60008060408385031215612ee757600080fd5b612ef083612da7565b9150612efe60208401612da7565b90509250929050565b6001600160a01b0391909116815260200190565b6060810160028510612f3d57634e487b7160e01b600052602160045260246000fd5b9381526001600160a01b0392909216602083015260ff1660409091015290565b600081518084526020808501945080840160005b83811015612e385781516001600160a01b031687529582019590820190600101612f71565b602081526000610dc76020830184612f5d565b60008060008060808587031215612fbf57600080fd5b612fc885612da7565b935060208501359250612fdd60408601612da7565b9396929550929360600135925050565b600181811c9082168061300157607f821691505b60208210810361302157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526014908201527329a1ac9d1024b73b30b634b2103a37b5b2b724b760611b604082015260600190565b60208082526015908201527414d0d64e881a5b9cdd59999a58da595b9d081bdd5d605a1b604082015260600190565b918252602082015260400190565b60006020828403121561310757600080fd5b5051919050565b60006020828403121561312057600080fd5b815160ff81168114610dc757600080fd5b6040815260006131446040830185612f5d565b82810360208401526131568185612e08565b95945050505050565b61ffff93909316835260208301919091526001600160a01b0316604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000828210156131ac576131ac613184565b500390565b60006001600160f81b038281168482168083038211156131d3576131d3613184565b01949350505050565b600082198211156131ef576131ef613184565b500190565b60006001600160f81b038381169083168181101561321457613214613184565b039392505050565b600081600019048311821515161561323657613236613184565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261326e57634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160801b038381169083168181101561321457613214613184565b6000600182016132a5576132a5613184565b5060010190565b60006001600160801b038281168482168083038211156131d3576131d3613184565b6000602082840312156132e057600080fd5b81518015158114610dc757600080fd5b634e487b7160e01b600052600160045260246000fd5b60008251613318818460208701612d48565b919091019291505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220940ce6ac24e607946357fa0a13ced2a444c5cdb26616f96ddb44c63fb2e5954664736f6c634300080d0033",
835
- "linkReferences": {},
836
- "deployedLinkReferences": {}
837
- }