@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
@@ -0,0 +1,864 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "PendleStargateSCY",
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
+ "stateMutability": "nonpayable",
40
+ "type": "constructor"
41
+ },
42
+ {
43
+ "anonymous": false,
44
+ "inputs": [
45
+ {
46
+ "indexed": true,
47
+ "internalType": "address",
48
+ "name": "owner",
49
+ "type": "address"
50
+ },
51
+ {
52
+ "indexed": true,
53
+ "internalType": "address",
54
+ "name": "spender",
55
+ "type": "address"
56
+ },
57
+ {
58
+ "indexed": false,
59
+ "internalType": "uint256",
60
+ "name": "value",
61
+ "type": "uint256"
62
+ }
63
+ ],
64
+ "name": "Approval",
65
+ "type": "event"
66
+ },
67
+ {
68
+ "anonymous": false,
69
+ "inputs": [
70
+ {
71
+ "indexed": true,
72
+ "internalType": "address",
73
+ "name": "user",
74
+ "type": "address"
75
+ },
76
+ {
77
+ "indexed": false,
78
+ "internalType": "address[]",
79
+ "name": "rewardTokens",
80
+ "type": "address[]"
81
+ },
82
+ {
83
+ "indexed": false,
84
+ "internalType": "uint256[]",
85
+ "name": "rewardAmounts",
86
+ "type": "uint256[]"
87
+ }
88
+ ],
89
+ "name": "ClaimRewards",
90
+ "type": "event"
91
+ },
92
+ {
93
+ "anonymous": false,
94
+ "inputs": [
95
+ {
96
+ "indexed": true,
97
+ "internalType": "address",
98
+ "name": "caller",
99
+ "type": "address"
100
+ },
101
+ {
102
+ "indexed": true,
103
+ "internalType": "address",
104
+ "name": "receiver",
105
+ "type": "address"
106
+ },
107
+ {
108
+ "indexed": true,
109
+ "internalType": "address",
110
+ "name": "tokenIn",
111
+ "type": "address"
112
+ },
113
+ {
114
+ "indexed": false,
115
+ "internalType": "uint256",
116
+ "name": "amountDeposited",
117
+ "type": "uint256"
118
+ },
119
+ {
120
+ "indexed": false,
121
+ "internalType": "uint256",
122
+ "name": "amountScyOut",
123
+ "type": "uint256"
124
+ }
125
+ ],
126
+ "name": "Deposit",
127
+ "type": "event"
128
+ },
129
+ {
130
+ "anonymous": false,
131
+ "inputs": [
132
+ {
133
+ "indexed": true,
134
+ "internalType": "address",
135
+ "name": "caller",
136
+ "type": "address"
137
+ },
138
+ {
139
+ "indexed": true,
140
+ "internalType": "address",
141
+ "name": "receiver",
142
+ "type": "address"
143
+ },
144
+ {
145
+ "indexed": true,
146
+ "internalType": "address",
147
+ "name": "tokenOut",
148
+ "type": "address"
149
+ },
150
+ {
151
+ "indexed": false,
152
+ "internalType": "uint256",
153
+ "name": "amountScyToRedeem",
154
+ "type": "uint256"
155
+ },
156
+ {
157
+ "indexed": false,
158
+ "internalType": "uint256",
159
+ "name": "amountTokenOut",
160
+ "type": "uint256"
161
+ }
162
+ ],
163
+ "name": "Redeem",
164
+ "type": "event"
165
+ },
166
+ {
167
+ "anonymous": false,
168
+ "inputs": [
169
+ {
170
+ "indexed": true,
171
+ "internalType": "address",
172
+ "name": "from",
173
+ "type": "address"
174
+ },
175
+ {
176
+ "indexed": true,
177
+ "internalType": "address",
178
+ "name": "to",
179
+ "type": "address"
180
+ },
181
+ {
182
+ "indexed": false,
183
+ "internalType": "uint256",
184
+ "name": "value",
185
+ "type": "uint256"
186
+ }
187
+ ],
188
+ "name": "Transfer",
189
+ "type": "event"
190
+ },
191
+ {
192
+ "inputs": [
193
+ {
194
+ "internalType": "address",
195
+ "name": "user",
196
+ "type": "address"
197
+ }
198
+ ],
199
+ "name": "accruedRewards",
200
+ "outputs": [
201
+ {
202
+ "internalType": "uint256[]",
203
+ "name": "rewardAmounts",
204
+ "type": "uint256[]"
205
+ }
206
+ ],
207
+ "stateMutability": "view",
208
+ "type": "function"
209
+ },
210
+ {
211
+ "inputs": [
212
+ {
213
+ "internalType": "address",
214
+ "name": "owner",
215
+ "type": "address"
216
+ },
217
+ {
218
+ "internalType": "address",
219
+ "name": "spender",
220
+ "type": "address"
221
+ }
222
+ ],
223
+ "name": "allowance",
224
+ "outputs": [
225
+ {
226
+ "internalType": "uint256",
227
+ "name": "",
228
+ "type": "uint256"
229
+ }
230
+ ],
231
+ "stateMutability": "view",
232
+ "type": "function"
233
+ },
234
+ {
235
+ "inputs": [
236
+ {
237
+ "internalType": "address",
238
+ "name": "spender",
239
+ "type": "address"
240
+ },
241
+ {
242
+ "internalType": "uint256",
243
+ "name": "amount",
244
+ "type": "uint256"
245
+ }
246
+ ],
247
+ "name": "approve",
248
+ "outputs": [
249
+ {
250
+ "internalType": "bool",
251
+ "name": "",
252
+ "type": "bool"
253
+ }
254
+ ],
255
+ "stateMutability": "nonpayable",
256
+ "type": "function"
257
+ },
258
+ {
259
+ "inputs": [],
260
+ "name": "assetInfo",
261
+ "outputs": [
262
+ {
263
+ "internalType": "enum ISuperComposableYield.AssetType",
264
+ "name": "assetType",
265
+ "type": "uint8"
266
+ },
267
+ {
268
+ "internalType": "address",
269
+ "name": "assetAddress",
270
+ "type": "address"
271
+ },
272
+ {
273
+ "internalType": "uint8",
274
+ "name": "assetDecimals",
275
+ "type": "uint8"
276
+ }
277
+ ],
278
+ "stateMutability": "view",
279
+ "type": "function"
280
+ },
281
+ {
282
+ "inputs": [
283
+ {
284
+ "internalType": "address",
285
+ "name": "account",
286
+ "type": "address"
287
+ }
288
+ ],
289
+ "name": "balanceOf",
290
+ "outputs": [
291
+ {
292
+ "internalType": "uint256",
293
+ "name": "",
294
+ "type": "uint256"
295
+ }
296
+ ],
297
+ "stateMutability": "view",
298
+ "type": "function"
299
+ },
300
+ {
301
+ "inputs": [
302
+ {
303
+ "internalType": "address",
304
+ "name": "user",
305
+ "type": "address"
306
+ }
307
+ ],
308
+ "name": "claimRewards",
309
+ "outputs": [
310
+ {
311
+ "internalType": "uint256[]",
312
+ "name": "rewardAmounts",
313
+ "type": "uint256[]"
314
+ }
315
+ ],
316
+ "stateMutability": "nonpayable",
317
+ "type": "function"
318
+ },
319
+ {
320
+ "inputs": [],
321
+ "name": "decimals",
322
+ "outputs": [
323
+ {
324
+ "internalType": "uint8",
325
+ "name": "",
326
+ "type": "uint8"
327
+ }
328
+ ],
329
+ "stateMutability": "view",
330
+ "type": "function"
331
+ },
332
+ {
333
+ "inputs": [
334
+ {
335
+ "internalType": "address",
336
+ "name": "receiver",
337
+ "type": "address"
338
+ },
339
+ {
340
+ "internalType": "address",
341
+ "name": "tokenIn",
342
+ "type": "address"
343
+ },
344
+ {
345
+ "internalType": "uint256",
346
+ "name": "amountTokenToDeposit",
347
+ "type": "uint256"
348
+ },
349
+ {
350
+ "internalType": "uint256",
351
+ "name": "minSharesOut",
352
+ "type": "uint256"
353
+ }
354
+ ],
355
+ "name": "deposit",
356
+ "outputs": [
357
+ {
358
+ "internalType": "uint256",
359
+ "name": "amountSharesOut",
360
+ "type": "uint256"
361
+ }
362
+ ],
363
+ "stateMutability": "payable",
364
+ "type": "function"
365
+ },
366
+ {
367
+ "inputs": [],
368
+ "name": "exchangeRate",
369
+ "outputs": [
370
+ {
371
+ "internalType": "uint256",
372
+ "name": "currentRate",
373
+ "type": "uint256"
374
+ }
375
+ ],
376
+ "stateMutability": "view",
377
+ "type": "function"
378
+ },
379
+ {
380
+ "inputs": [],
381
+ "name": "getRewardTokens",
382
+ "outputs": [
383
+ {
384
+ "internalType": "address[]",
385
+ "name": "rewardTokens",
386
+ "type": "address[]"
387
+ }
388
+ ],
389
+ "stateMutability": "view",
390
+ "type": "function"
391
+ },
392
+ {
393
+ "inputs": [],
394
+ "name": "getTokensIn",
395
+ "outputs": [
396
+ {
397
+ "internalType": "address[]",
398
+ "name": "res",
399
+ "type": "address[]"
400
+ }
401
+ ],
402
+ "stateMutability": "view",
403
+ "type": "function"
404
+ },
405
+ {
406
+ "inputs": [],
407
+ "name": "getTokensOut",
408
+ "outputs": [
409
+ {
410
+ "internalType": "address[]",
411
+ "name": "res",
412
+ "type": "address[]"
413
+ }
414
+ ],
415
+ "stateMutability": "view",
416
+ "type": "function"
417
+ },
418
+ {
419
+ "inputs": [
420
+ {
421
+ "internalType": "address",
422
+ "name": "token",
423
+ "type": "address"
424
+ }
425
+ ],
426
+ "name": "isValidTokenIn",
427
+ "outputs": [
428
+ {
429
+ "internalType": "bool",
430
+ "name": "",
431
+ "type": "bool"
432
+ }
433
+ ],
434
+ "stateMutability": "view",
435
+ "type": "function"
436
+ },
437
+ {
438
+ "inputs": [
439
+ {
440
+ "internalType": "address",
441
+ "name": "token",
442
+ "type": "address"
443
+ }
444
+ ],
445
+ "name": "isValidTokenOut",
446
+ "outputs": [
447
+ {
448
+ "internalType": "bool",
449
+ "name": "",
450
+ "type": "bool"
451
+ }
452
+ ],
453
+ "stateMutability": "view",
454
+ "type": "function"
455
+ },
456
+ {
457
+ "inputs": [],
458
+ "name": "lastRewardBlock",
459
+ "outputs": [
460
+ {
461
+ "internalType": "uint256",
462
+ "name": "",
463
+ "type": "uint256"
464
+ }
465
+ ],
466
+ "stateMutability": "view",
467
+ "type": "function"
468
+ },
469
+ {
470
+ "inputs": [],
471
+ "name": "name",
472
+ "outputs": [
473
+ {
474
+ "internalType": "string",
475
+ "name": "",
476
+ "type": "string"
477
+ }
478
+ ],
479
+ "stateMutability": "view",
480
+ "type": "function"
481
+ },
482
+ {
483
+ "inputs": [],
484
+ "name": "pid",
485
+ "outputs": [
486
+ {
487
+ "internalType": "uint256",
488
+ "name": "",
489
+ "type": "uint256"
490
+ }
491
+ ],
492
+ "stateMutability": "view",
493
+ "type": "function"
494
+ },
495
+ {
496
+ "inputs": [
497
+ {
498
+ "internalType": "address",
499
+ "name": "tokenIn",
500
+ "type": "address"
501
+ },
502
+ {
503
+ "internalType": "uint256",
504
+ "name": "amountTokenToDeposit",
505
+ "type": "uint256"
506
+ }
507
+ ],
508
+ "name": "previewDeposit",
509
+ "outputs": [
510
+ {
511
+ "internalType": "uint256",
512
+ "name": "amountSharesOut",
513
+ "type": "uint256"
514
+ }
515
+ ],
516
+ "stateMutability": "view",
517
+ "type": "function"
518
+ },
519
+ {
520
+ "inputs": [
521
+ {
522
+ "internalType": "address",
523
+ "name": "tokenOut",
524
+ "type": "address"
525
+ },
526
+ {
527
+ "internalType": "uint256",
528
+ "name": "amountSharesToRedeem",
529
+ "type": "uint256"
530
+ }
531
+ ],
532
+ "name": "previewRedeem",
533
+ "outputs": [
534
+ {
535
+ "internalType": "uint256",
536
+ "name": "amountTokenOut",
537
+ "type": "uint256"
538
+ }
539
+ ],
540
+ "stateMutability": "view",
541
+ "type": "function"
542
+ },
543
+ {
544
+ "inputs": [
545
+ {
546
+ "internalType": "address",
547
+ "name": "receiver",
548
+ "type": "address"
549
+ },
550
+ {
551
+ "internalType": "uint256",
552
+ "name": "amountSharesToRedeem",
553
+ "type": "uint256"
554
+ },
555
+ {
556
+ "internalType": "address",
557
+ "name": "tokenOut",
558
+ "type": "address"
559
+ },
560
+ {
561
+ "internalType": "uint256",
562
+ "name": "minTokenOut",
563
+ "type": "uint256"
564
+ }
565
+ ],
566
+ "name": "redeem",
567
+ "outputs": [
568
+ {
569
+ "internalType": "uint256",
570
+ "name": "amountTokenOut",
571
+ "type": "uint256"
572
+ }
573
+ ],
574
+ "stateMutability": "nonpayable",
575
+ "type": "function"
576
+ },
577
+ {
578
+ "inputs": [
579
+ {
580
+ "internalType": "address",
581
+ "name": "receiver",
582
+ "type": "address"
583
+ },
584
+ {
585
+ "internalType": "address",
586
+ "name": "tokenOut",
587
+ "type": "address"
588
+ },
589
+ {
590
+ "internalType": "uint256",
591
+ "name": "minTokenOut",
592
+ "type": "uint256"
593
+ }
594
+ ],
595
+ "name": "redeemAfterTransfer",
596
+ "outputs": [
597
+ {
598
+ "internalType": "uint256",
599
+ "name": "amountTokenOut",
600
+ "type": "uint256"
601
+ }
602
+ ],
603
+ "stateMutability": "nonpayable",
604
+ "type": "function"
605
+ },
606
+ {
607
+ "inputs": [],
608
+ "name": "rewardIndexesCurrent",
609
+ "outputs": [
610
+ {
611
+ "internalType": "uint256[]",
612
+ "name": "indexes",
613
+ "type": "uint256[]"
614
+ }
615
+ ],
616
+ "stateMutability": "nonpayable",
617
+ "type": "function"
618
+ },
619
+ {
620
+ "inputs": [],
621
+ "name": "rewardIndexesStored",
622
+ "outputs": [
623
+ {
624
+ "internalType": "uint256[]",
625
+ "name": "indexes",
626
+ "type": "uint256[]"
627
+ }
628
+ ],
629
+ "stateMutability": "view",
630
+ "type": "function"
631
+ },
632
+ {
633
+ "inputs": [
634
+ {
635
+ "internalType": "address",
636
+ "name": "",
637
+ "type": "address"
638
+ }
639
+ ],
640
+ "name": "rewardState",
641
+ "outputs": [
642
+ {
643
+ "internalType": "uint128",
644
+ "name": "index",
645
+ "type": "uint128"
646
+ },
647
+ {
648
+ "internalType": "uint128",
649
+ "name": "lastBalance",
650
+ "type": "uint128"
651
+ }
652
+ ],
653
+ "stateMutability": "view",
654
+ "type": "function"
655
+ },
656
+ {
657
+ "inputs": [],
658
+ "name": "stgPool",
659
+ "outputs": [
660
+ {
661
+ "internalType": "address",
662
+ "name": "",
663
+ "type": "address"
664
+ }
665
+ ],
666
+ "stateMutability": "view",
667
+ "type": "function"
668
+ },
669
+ {
670
+ "inputs": [],
671
+ "name": "stgRouter",
672
+ "outputs": [
673
+ {
674
+ "internalType": "address",
675
+ "name": "",
676
+ "type": "address"
677
+ }
678
+ ],
679
+ "stateMutability": "view",
680
+ "type": "function"
681
+ },
682
+ {
683
+ "inputs": [],
684
+ "name": "stgRouterPoolId",
685
+ "outputs": [
686
+ {
687
+ "internalType": "uint16",
688
+ "name": "",
689
+ "type": "uint16"
690
+ }
691
+ ],
692
+ "stateMutability": "view",
693
+ "type": "function"
694
+ },
695
+ {
696
+ "inputs": [],
697
+ "name": "stgStakingLP",
698
+ "outputs": [
699
+ {
700
+ "internalType": "address",
701
+ "name": "",
702
+ "type": "address"
703
+ }
704
+ ],
705
+ "stateMutability": "view",
706
+ "type": "function"
707
+ },
708
+ {
709
+ "inputs": [],
710
+ "name": "stgToken",
711
+ "outputs": [
712
+ {
713
+ "internalType": "address",
714
+ "name": "",
715
+ "type": "address"
716
+ }
717
+ ],
718
+ "stateMutability": "view",
719
+ "type": "function"
720
+ },
721
+ {
722
+ "inputs": [],
723
+ "name": "symbol",
724
+ "outputs": [
725
+ {
726
+ "internalType": "string",
727
+ "name": "",
728
+ "type": "string"
729
+ }
730
+ ],
731
+ "stateMutability": "view",
732
+ "type": "function"
733
+ },
734
+ {
735
+ "inputs": [],
736
+ "name": "totalSupply",
737
+ "outputs": [
738
+ {
739
+ "internalType": "uint256",
740
+ "name": "",
741
+ "type": "uint256"
742
+ }
743
+ ],
744
+ "stateMutability": "view",
745
+ "type": "function"
746
+ },
747
+ {
748
+ "inputs": [
749
+ {
750
+ "internalType": "address",
751
+ "name": "to",
752
+ "type": "address"
753
+ },
754
+ {
755
+ "internalType": "uint256",
756
+ "name": "amount",
757
+ "type": "uint256"
758
+ }
759
+ ],
760
+ "name": "transfer",
761
+ "outputs": [
762
+ {
763
+ "internalType": "bool",
764
+ "name": "",
765
+ "type": "bool"
766
+ }
767
+ ],
768
+ "stateMutability": "nonpayable",
769
+ "type": "function"
770
+ },
771
+ {
772
+ "inputs": [
773
+ {
774
+ "internalType": "address",
775
+ "name": "from",
776
+ "type": "address"
777
+ },
778
+ {
779
+ "internalType": "address",
780
+ "name": "to",
781
+ "type": "address"
782
+ },
783
+ {
784
+ "internalType": "uint256",
785
+ "name": "amount",
786
+ "type": "uint256"
787
+ }
788
+ ],
789
+ "name": "transferFrom",
790
+ "outputs": [
791
+ {
792
+ "internalType": "bool",
793
+ "name": "",
794
+ "type": "bool"
795
+ }
796
+ ],
797
+ "stateMutability": "nonpayable",
798
+ "type": "function"
799
+ },
800
+ {
801
+ "inputs": [],
802
+ "name": "underlying",
803
+ "outputs": [
804
+ {
805
+ "internalType": "address",
806
+ "name": "",
807
+ "type": "address"
808
+ }
809
+ ],
810
+ "stateMutability": "view",
811
+ "type": "function"
812
+ },
813
+ {
814
+ "inputs": [
815
+ {
816
+ "internalType": "address",
817
+ "name": "",
818
+ "type": "address"
819
+ },
820
+ {
821
+ "internalType": "address",
822
+ "name": "",
823
+ "type": "address"
824
+ }
825
+ ],
826
+ "name": "userReward",
827
+ "outputs": [
828
+ {
829
+ "internalType": "uint128",
830
+ "name": "index",
831
+ "type": "uint128"
832
+ },
833
+ {
834
+ "internalType": "uint128",
835
+ "name": "accrued",
836
+ "type": "uint128"
837
+ }
838
+ ],
839
+ "stateMutability": "view",
840
+ "type": "function"
841
+ },
842
+ {
843
+ "inputs": [],
844
+ "name": "yieldToken",
845
+ "outputs": [
846
+ {
847
+ "internalType": "address",
848
+ "name": "",
849
+ "type": "address"
850
+ }
851
+ ],
852
+ "stateMutability": "view",
853
+ "type": "function"
854
+ },
855
+ {
856
+ "stateMutability": "payable",
857
+ "type": "receive"
858
+ }
859
+ ],
860
+ "bytecode": "0x6101a06040523480156200001257600080fd5b5060405162003d7738038062003d77833981016040819052620000359162000563565b8585828282828282826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200007c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000a291906200060d565b6003620000b08482620006c8565b506004620000bf8382620006c8565b5060ff166080525050600280546001600160f81b0316600160f81b1790556001600160a01b0390811660a05289811660c05260408051631f06e1a760e11b815290519188169650633e0dc34e955060048082019550602094509192508290030181865afa15801562000135573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200015b919062000794565b61ffff1660e0526001600160a01b038084166101008190526101208490529082166101605260408051633604cef760e11b81529051636c099dee916004808201926020929091908290030181865afa158015620001bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e29190620007ae565b6001600160a01b0316610180816001600160a01b031681525050610160516001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002649190620007ae565b6001600160a01b0390811661014052604051631526fe2760e01b81526004810184905282821691851690631526fe2790602401608060405180830381865afa158015620002b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002db9190620007cc565b516001600160a01b031614620003265760405162461bcd60e51b815260206004820152600b60248201526a1a5b9d985b1a59081c1a5960aa1b60448201526064015b60405180910390fd5b6101405162000339908560001962000358565b610160516200034c908460001962000358565b5050505050506200087e565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b1790529151600092839290871691620003b691906200083c565b6000604051808303816000865af19150503d8060008114620003f5576040519150601f19603f3d011682016040523d82523d6000602084013e620003fa565b606091505b509150915081801562000428575080511580620004285750808060200190518101906200042891906200085a565b620004655760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b60448201526064016200031d565b5050505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200049f57818101518382015260200162000485565b83811115620004af576000848401525b50505050565b600082601f830112620004c757600080fd5b81516001600160401b0380821115620004e457620004e46200046c565b604051601f8301601f19908116603f011681019082821181831017156200050f576200050f6200046c565b816040528381528660208588010111156200052957600080fd5b6200053c84602083016020890162000482565b9695505050505050565b80516001600160a01b03811681146200055e57600080fd5b919050565b60008060008060008060c087890312156200057d57600080fd5b86516001600160401b03808211156200059557600080fd5b620005a38a838b01620004b5565b97506020890151915080821115620005ba57600080fd5b50620005c989828a01620004b5565b955050620005da6040880162000546565b9350620005ea6060880162000546565b9250608087015191506200060160a0880162000546565b90509295509295509295565b6000602082840312156200062057600080fd5b815160ff811681146200063257600080fd5b9392505050565b600181811c908216806200064e57607f821691505b6020821081036200066f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620006c357600081815260208120601f850160051c810160208610156200069e5750805b601f850160051c820191505b81811015620006bf57828155600101620006aa565b5050505b505050565b81516001600160401b03811115620006e457620006e46200046c565b620006fc81620006f5845462000639565b8462000675565b602080601f8311600181146200073457600084156200071b5750858301515b600019600386901b1c1916600185901b178555620006bf565b600085815260208120601f198616915b82811015620007655788860151825594840194600190910190840162000744565b5085821015620007845787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620007a757600080fd5b5051919050565b600060208284031215620007c157600080fd5b620006328262000546565b600060808284031215620007df57600080fd5b604051608081016001600160401b03811182821017156200080457620008046200046c565b604052620008128362000546565b81526020830151602082015260408301516040820152606083015160608201528091505092915050565b600082516200085081846020870162000482565b9190910192915050565b6000602082840312156200086d57600080fd5b815180151581146200063257600080fd5b60805160a05160c05160e05161010051610120516101405161016051610180516133d2620009a56000396000818161049901526112fd015260008181610639015281816107d901528181610c2801528181610cbf01528181610dd101528181610df20152818161139f015281816113e4015281816114b301528181611c0a01528181611c70015281816123d80152818161243001526125620152600081816103cf0152818161082d0152610cfa0152600081816106ce015281816115290152818161237a01526127ee0152600081816104ed015281816114fc0152818161234d01526127c10152600081816103880152818161144f01526124ed01526000818161057b0152818161142201526124c001526000610430015260006102c101526133d26000f3fe6080604052600436106101a35760003560e01c806306fdde03146101af578063071bc3c9146101da578063095ea7b3146101fc578063128fced11461022c57806318160ddd1461025957806320e8c5651461027c578063213cae63146101da57806323b872dd1461028f578063313ce567146102af5780633ba0b9a9146102f55780635cbadbe41461030a5780636c9dea8c146103765780636f307dc3146103bd57806370a08231146103fe57806376d5de851461041e578063784367d61461045257806395d89b41146104725780639afb25de14610487578063a2bbcf13146104bb578063a380237e146104db578063a40bee501461050f578063a9059cbb14610533578063a9f8d18114610553578063b298e8e914610569578063b8f82b261461059d578063c4f59f9b146105bd578063cbe52ae3146105d2578063da88ecb4146105f2578063dd62ed3e14610607578063df47be4514610627578063ea64a8201461065b578063ef5cfb8c1461069c578063f1068454146106bc578063f3f094a1146106f0578063f8b2f99114610710578063fa5a4f061461045257600080fd5b366101aa57005b600080fd5b3480156101bb57600080fd5b506101c4610725565b6040516101d19190612dce565b60405180910390f35b3480156101e657600080fd5b506101ef6107b7565b6040516101d19190612e45565b34801561020857600080fd5b5061021c610217366004612e74565b610882565b60405190151581526020016101d1565b34801561023857600080fd5b5061024c610247366004612e9e565b61089c565b6040516101d19190612ee9565b34801561026557600080fd5b5061026e61099e565b6040519081526020016101d1565b61026e61028a366004612efc565b6109ad565b34801561029b57600080fd5b5061021c6102aa366004612f3e565b610b8a565b3480156102bb57600080fd5b506102e37f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016101d1565b34801561030157600080fd5b5061026e610c08565b34801561031657600080fd5b50610356610325366004612f7a565b60056020908152600092835260408084209091529082529020546001600160801b0380821691600160801b90041682565b604080516001600160801b039384168152929091166020830152016101d1565b34801561038257600080fd5b506103aa7f000000000000000000000000000000000000000000000000000000000000000081565b60405161ffff90911681526020016101d1565b3480156103c957600080fd5b506103f17f000000000000000000000000000000000000000000000000000000000000000081565b6040516101d19190612fad565b34801561040a57600080fd5b5061026e610419366004612e9e565b610ca0565b34801561042a57600080fd5b506103f17f000000000000000000000000000000000000000000000000000000000000000081565b34801561045e57600080fd5b5061021c61046d366004612e9e565b610cbb565b34801561047e57600080fd5b506101c4610d33565b34801561049357600080fd5b506103f17f000000000000000000000000000000000000000000000000000000000000000081565b3480156104c757600080fd5b5061026e6104d6366004612f3e565b610d42565b3480156104e757600080fd5b506103f17f000000000000000000000000000000000000000000000000000000000000000081565b34801561051b57600080fd5b50610524610dc9565b6040516101d193929190612fc1565b34801561053f57600080fd5b5061021c61054e366004612e74565b610e7d565b34801561055f57600080fd5b5061026e60065481565b34801561057557600080fd5b506103f17f000000000000000000000000000000000000000000000000000000000000000081565b3480156105a957600080fd5b5061026e6105b8366004612e74565b610eef565b3480156105c957600080fd5b506101ef610f27565b3480156105de57600080fd5b5061026e6105ed366004612e74565b610f31565b3480156105fe57600080fd5b5061024c610f8a565b34801561061357600080fd5b5061026e610622366004612f7a565b61105b565b34801561063357600080fd5b506103f17f000000000000000000000000000000000000000000000000000000000000000081565b34801561066757600080fd5b50610356610676366004612e9e565b6007602052600090815260409020546001600160801b0380821691600160801b90041682565b3480156106a857600080fd5b5061024c6106b7366004612e9e565b611086565b3480156106c857600080fd5b5061026e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156106fc57600080fd5b5061026e61070b366004613003565b611145565b34801561071c57600080fd5b5061024c6111a1565b60606003805461073490613047565b80601f016020809104026020016040519081016040528092919081815260200182805461076090613047565b80156107ad5780601f10610782576101008083540402835291602001916107ad565b820191906000526020600020905b81548152906001019060200180831161079057829003601f168201915b5050505050905090565b60408051600280825260608083018452926020830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061080b5761080b613097565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061085f5761085f613097565b60200260200101906001600160a01b031690816001600160a01b03168152505090565b6000336108908185856111b5565b60019150505b92915050565b606060006108a86112d9565b905080516001600160401b038111156108c3576108c3613081565b6040519080825280602002602001820160405280156108ec578160200160208202803683370190505b50915060005b8151811015610997576001600160a01b0384166000908152600560205260408120835190919084908490811061092a5761092a613097565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060000160109054906101000a90046001600160801b03166001600160801b031683828151811061098457610984613097565b60209081029190910101526001016108f2565b5050919050565b6002546001600160f81b031690565b600254600090600119600160f81b90910460ff16016109e75760405162461bcd60e51b81526004016109de906130ad565b60405180910390fd5b600280546001600160f81b0316600160f91b179055610a0584610cbb565b610a215760405162461bcd60e51b81526004016109de906130e4565b82600003610a7f5760405162461bcd60e51b815260206004820152602560248201527f5343593a20616d6f756e74546f6b656e546f4465706f7369742063616e6e6f74604482015264020626520360dc1b60648201526084016109de565b6001600160a01b038416610ad557823414610ad05760405162461bcd60e51b81526020600482015260116024820152700a686b27440cae8d040dad2e6dac2e8c6d607b1b60448201526064016109de565b610ae0565b610ae084338561132f565b610aea848461139b565b905081811015610b0c5760405162461bcd60e51b81526004016109de90613112565b610b16858261158b565b836001600160a01b0316856001600160a01b0316336001600160a01b03167f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d598685604051610b65929190613141565b60405180910390a4600280546001600160f81b0316600160f81b179055949350505050565b600254600090600119600160f81b90910460ff1601610bbb5760405162461bcd60e51b81526004016109de906130ad565b600280546001600160f81b0316600160f91b17905533610bdc8582856116a1565b610be785858561171b565b6001915050600280546001600160f81b0316600160f81b1790559392505050565b604051637b669af760e11b8152670de0b6b3a764000060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f6cd35ee90602401602060405180830381865afa158015610c77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9b919061314f565b905090565b6001600160a01b031660009081526020819052604090205490565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316148061089657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161492915050565b60606004805461073490613047565b600254600090600119600160f81b90910460ff1601610d735760405162461bcd60e51b81526004016109de906130ad565b600280546001600160f81b0316600160f91b1790556000610d9330610ca0565b9050610d9f308261193d565b610dab85828686611ac3565b600280546001600160f81b0316600160f81b17905595945050505050565b6000806000807f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e729190613168565b925092509250909192565b600254600090600119600160f81b90910460ff1601610eae5760405162461bcd60e51b81526004016109de906130ad565b600280546001600160f81b0316600160f91b17905533610ecf81858561171b565b6001915050600280546001600160f81b0316600160f81b17905592915050565b6000610efa83610cbb565b610f165760405162461bcd60e51b81526004016109de906130e4565b610f208383611c06565b9392505050565b6060610c9b6112d9565b6000610f3c83610cbb565b610f805760405162461bcd60e51b815260206004820152601560248201527414d0d64e88125b9d985b1a59081d1bdad95b93dd5d605a1b60448201526064016109de565b610f208383611c6c565b60606000610f966112d9565b905080516001600160401b03811115610fb157610fb1613081565b604051908082528060200260200182016040528015610fda578160200160208202803683370190505b50915060005b81518110156110565760076000838381518110610fff57610fff613097565b6020908102919091018101516001600160a01b031682528101919091526040016000205483516001600160801b039091169084908390811061104357611043613097565b6020908102919091010152600101610fe0565b505090565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600254606090600119600160f81b90910460ff16016110b75760405162461bcd60e51b81526004016109de906130ad565b600280546001600160f81b0316600160f91b1790556110d582611cc9565b6110df8283611cd7565b9050816001600160a01b03167f2193aa20a3717f5f4ac79482f4f553e5f0afe8f4e6ec3e3d1aa2e138adc4763f6111146112d9565b8360405161112392919061318b565b60405180910390a2600280546001600160f81b0316600160f81b179055919050565b600254600090600119600160f81b90910460ff16016111765760405162461bcd60e51b81526004016109de906130ad565b600280546001600160f81b0316600160f91b179055611195338561193d565b610dab85858585611ac3565b60606111ab611f7f565b5050610c9b610f8a565b6001600160a01b0383166112175760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016109de565b6001600160a01b0382166112785760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016109de565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b604080516001808252818301909252606091602080830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061085f5761085f613097565b6001600160a01b0383166113805780341461137b5760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b60448201526064016109de565b505050565b801561137b5761137b6001600160a01b03841683308461221a565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316036113dd5750806114e5565b60006114087f0000000000000000000000000000000000000000000000000000000000000000612285565b6040516321ec87bf60e21b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906387b21efc9061147b907f000000000000000000000000000000000000000000000000000000000000000090879030906004016131b9565b600060405180830381600087803b15801561149557600080fd5b505af11580156114a9573d6000803e3d6000fd5b50505050806114d77f0000000000000000000000000000000000000000000000000000000000000000612285565b6114e191906131f4565b9150505b604051631c57762b60e31b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e2bbb15890611553907f0000000000000000000000000000000000000000000000000000000000000000908590600401613141565b600060405180830381600087803b15801561156d57600080fd5b505af1158015611581573d6000803e3d6000fd5b5050505092915050565b6001600160a01b0382166115e15760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016109de565b6115ed6000838361230f565b6115f681612319565b600280546000906116119084906001600160f81b031661320b565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555080600080846001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116699190613236565b90915550506040518181526001600160a01b0383169060009060008051602061337d8339815191529060200160405180910390a35050565b60006116ad848461105b565b9050600019811461171557818110156117085760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016109de565b61171584848484036111b5565b50505050565b6001600160a01b03831661177f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016109de565b6001600160a01b0382166117e15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016109de565b816001600160a01b0316836001600160a01b03160361183c5760405162461bcd60e51b815260206004820152601760248201527622a92199181d103a3930b739b332b9103a379039b2b63360491b60448201526064016109de565b61184783838361230f565b6001600160a01b038316600090815260208190526040902054818110156118bf5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016109de565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906118f6908490613236565b92505081905550826001600160a01b0316846001600160a01b031660008051602061337d8339815191528460405161193091815260200190565b60405180910390a3611715565b6001600160a01b03821661199d5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016109de565b6119a98260008361230f565b6001600160a01b03821660009081526020819052604090205481811015611a1d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016109de565b6001600160a01b03831660009081526020819052604090208282039055611a4382612319565b60028054600090611a5e9084906001600160f81b031661324e565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555060006001600160a01b0316836001600160a01b031660008051602061337d83398151915284604051611ab691815260200190565b60405180910390a3505050565b6000611ace83610cbb565b611b125760405162461bcd60e51b815260206004820152601560248201527414d0d64e881a5b9d985b1a59081d1bdad95b93dd5d605a1b60448201526064016109de565b83600003611b705760405162461bcd60e51b815260206004820152602560248201527f5343593a20616d6f756e74536861726573546f52656465656d2063616e6e6f74604482015264020626520360dc1b60648201526084016109de565b611b7a8385612333565b905081811015611b9c5760405162461bcd60e51b81526004016109de90613112565b611ba7838683612646565b826001600160a01b0316856001600160a01b0316336001600160a01b03167faee47cdf925cf525fdae94f9777ee5a06cac37e1c41220d0a8a89ed154f62d1c8785604051611bf6929190613141565b60405180910390a4949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603611c48575080610896565b611c50610c08565b611c62670de0b6b3a764000084613276565b610f2091906132ab565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603611cae575080610896565b670de0b6b3a7640000611cbf610c08565b611c629084613276565b611cd481600061270a565b50565b60606000611ce36112d9565b905080516001600160401b03811115611cfe57611cfe613081565b604051908082528060200260200182016040528015611d27578160200160208202803683370190505b50915060005b8151811015611f775760056000838381518110611d4c57611d4c613097565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000866001600160a01b03166001600160a01b0316815260200190815260200160002060000160109054906101000a90046001600160801b03166001600160801b0316838281518110611dc957611dc9613097565b602002602001018181525050828181518110611de757611de7613097565b6020026020010151600014611f6557600060056000848481518110611e0e57611e0e613097565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000876001600160a01b03166001600160a01b0316815260200190815260200160002060000160106101000a8154816001600160801b0302191690836001600160801b03160217905550611ea2838281518110611e9557611e95613097565b602002602001015161278a565b60076000848481518110611eb857611eb8613097565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060000160108282829054906101000a90046001600160801b0316611f0491906132cd565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f65828281518110611f3d57611f3d613097565b602002602001015185858481518110611f5857611f58613097565b6020026020010151612646565b80611f6f816132ed565b915050611d2d565b505092915050565b606080611f8a6112d9565b915081516001600160401b03811115611fa557611fa5613081565b604051908082528060200260200182016040528015611fce578160200160208202803683370190505b5090508151600003611fde579091565b436006541461219257436006556000611ff56127a0565b9050611fff6127aa565b60005b835181101561218f57600084828151811061201f5761201f613097565b6020908102919091018101516001600160a01b0381166000908152600790925260408220548751919350600160801b90046001600160801b03169061207d9088908690811061207057612070613097565b6020026020010151612285565b61208791906131f4565b6001600160a01b0383166000908152600760205260408120549192506001600160801b03909116908190036120ba575060015b84156120d7576120ca8286612847565b6120d49082613236565b90505b6120e08161278a565b6001600160a01b038416600090815260076020526040902080546001600160801b0319166001600160801b039290921691909117905561211f8261278a565b6001600160a01b03841660009081526007602052604090208054601090612157908490600160801b90046001600160801b0316613306565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505080612188906132ed565b9050612002565b50505b60005b825181101561221557600760008483815181106121b4576121b4613097565b6020908102919091018101516001600160a01b031682528101919091526040016000205482516001600160801b03909116908390839081106121f8576121f8613097565b60209081029190910101528061220d816132ed565b915050612195565b509091565b6040516001600160a01b03808516602483015283166044820152606481018290526117159085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612876565b60006001600160a01b03821615612308576040516370a0823160e01b81526001600160a01b038316906370a08231906122c2903090600401612fad565b602060405180830381865afa1580156122df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612303919061314f565b610896565b4792915050565b61137b838361270a565b60006001600160f81b0382111561232f57600080fd5b5090565b604051630441a3e760e41b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063441a3e70906123a4907f0000000000000000000000000000000000000000000000000000000000000000908690600401613141565b600060405180830381600087803b1580156123be57600080fd5b505af11580156123d2573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603612416575080610896565b6040516370a0823160e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190612465903090600401612fad565b602060405180830381865afa158015612482573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124a6919061314f565b60405163c4de93a560e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c4de93a590612519907f000000000000000000000000000000000000000000000000000000000000000090879030906004016131b9565b6020604051808303816000875af1158015612538573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061255c919061314f565b915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016125ac9190612fad565b602060405180830381865afa1580156125c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ed919061314f565b6125f790836131f4565b9050838114611f775760405162461bcd60e51b815260206004820152601b60248201527a696e73756666696369656e742066756e6420746f2072656465656d60281b60448201526064016109de565b8060000361265357505050565b6001600160a01b0383166126f6576000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146126ae576040519150601f19603f3d011682016040523d82523d6000602084013e6126b3565b606091505b50509050806117155760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b60448201526064016109de565b61137b6001600160a01b0384168383612948565b600080612715611f7f565b9150915081516000036127285750505050565b6001600160a01b0384161580159061274957506001600160a01b0384163014155b1561275957612759848383612978565b6001600160a01b0383161580159061277a57506001600160a01b0383163014155b1561171557611715838383612978565b60006001600160801b0382111561232f57600080fd5b6000610c9b61099e565b604051630441a3e760e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063441a3e7090612819907f000000000000000000000000000000000000000000000000000000000000000090600090600401613141565b600060405180830381600087803b15801561283357600080fd5b505af1158015611715573d6000803e3d6000fd5b60008061285c670de0b6b3a764000085613276565b905082818161286d5761286d613295565b04949350505050565b60006128cb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612bf89092919063ffffffff16565b80519091501561137b57808060200190518101906128e99190613328565b61137b5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016109de565b6040516001600160a01b03831660248201526044810182905261137b90849063a9059cbb60e01b9060640161224e565b6001600160a01b0383161580159061299957506001600160a01b0383163014155b6129a5576129a561334a565b60006129b084612c0f565b905060005b8351811015612bf15760008482815181106129d2576129d2613097565b6020026020010151905060008483815181106129f0576129f0613097565b6020908102919091018101516001600160a01b038085166000908152600584526040808220928c168252919093528220549092506001600160801b031690819003612a8c57612a3e8261278a565b6001600160a01b039384166000908152600560209081526040808320968c1683529590529390932080546001600160801b0319166001600160801b039094169390931790925550612be19050565b818103612a9b57505050612be1565b6000612aa782846131f4565b90506000612ab58783612c1a565b6001600160a01b038681166000908152600560209081526040808320938f1683529290529081205491925090612afc908390600160801b90046001600160801b0316613236565b90506040518060400160405280612b128761278a565b6001600160801b03168152602001612b298361278a565b6001600160801b031681525060056000886001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816001600160801b0302191690836001600160801b031602179055509050505050505050505b612bea816132ed565b90506129b5565b5050505050565b6060612c078484600085612c38565b949350505050565b600061089682610ca0565b600080612c278385613276565b9050670de0b6b3a76400008161286d565b606082471015612c995760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016109de565b6001600160a01b0385163b612cf05760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016109de565b600080866001600160a01b03168587604051612d0c9190613360565b60006040518083038185875af1925050503d8060008114612d49576040519150601f19603f3d011682016040523d82523d6000602084013e612d4e565b606091505b5091509150612d5e828286612d69565b979650505050505050565b60608315612d78575081610f20565b825115612d885782518084602001fd5b8160405162461bcd60e51b81526004016109de9190612dce565b60005b83811015612dbd578181015183820152602001612da5565b838111156117155750506000910152565b6020815260008251806020840152612ded816040850160208701612da2565b601f01601f19169190910160400192915050565b600081518084526020808501945080840160005b83811015612e3a5781516001600160a01b031687529582019590820190600101612e15565b509495945050505050565b602081526000610f206020830184612e01565b80356001600160a01b0381168114612e6f57600080fd5b919050565b60008060408385031215612e8757600080fd5b612e9083612e58565b946020939093013593505050565b600060208284031215612eb057600080fd5b610f2082612e58565b600081518084526020808501945080840160005b83811015612e3a57815187529582019590820190600101612ecd565b602081526000610f206020830184612eb9565b60008060008060808587031215612f1257600080fd5b612f1b85612e58565b9350612f2960208601612e58565b93969395505050506040820135916060013590565b600080600060608486031215612f5357600080fd5b612f5c84612e58565b9250612f6a60208501612e58565b9150604084013590509250925092565b60008060408385031215612f8d57600080fd5b612f9683612e58565b9150612fa460208401612e58565b90509250929050565b6001600160a01b0391909116815260200190565b6060810160028510612fe357634e487b7160e01b600052602160045260246000fd5b9381526001600160a01b0392909216602083015260ff1660409091015290565b6000806000806080858703121561301957600080fd5b61302285612e58565b93506020850135925061303760408601612e58565b9396929550929360600135925050565b600181811c9082168061305b57607f821691505b60208210810361307b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526014908201527329a1ac9d1024b73b30b634b2103a37b5b2b724b760611b604082015260600190565b60208082526015908201527414d0d64e881a5b9cdd59999a58da595b9d081bdd5d605a1b604082015260600190565b918252602082015260400190565b60006020828403121561316157600080fd5b5051919050565b60006020828403121561317a57600080fd5b815160ff81168114610f2057600080fd5b60408152600061319e6040830185612e01565b82810360208401526131b08185612eb9565b95945050505050565b61ffff93909316835260208301919091526001600160a01b0316604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082821015613206576132066131de565b500390565b60006001600160f81b0382811684821680830382111561322d5761322d6131de565b01949350505050565b60008219821115613249576132496131de565b500190565b60006001600160f81b038381169083168181101561326e5761326e6131de565b039392505050565b6000816000190483118215151615613290576132906131de565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826132c857634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160801b038381169083168181101561326e5761326e6131de565b6000600182016132ff576132ff6131de565b5060010190565b60006001600160801b0382811684821680830382111561322d5761322d6131de565b60006020828403121561333a57600080fd5b81518015158114610f2057600080fd5b634e487b7160e01b600052600160045260246000fd5b60008251613372818460208701612da2565b919091019291505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220b38aacba0b31fb824621bbc671f246164e89580864e44a5f84b7cef51c3ba38864736f6c634300080f0033",
861
+ "deployedBytecode": "0x6080604052600436106101a35760003560e01c806306fdde03146101af578063071bc3c9146101da578063095ea7b3146101fc578063128fced11461022c57806318160ddd1461025957806320e8c5651461027c578063213cae63146101da57806323b872dd1461028f578063313ce567146102af5780633ba0b9a9146102f55780635cbadbe41461030a5780636c9dea8c146103765780636f307dc3146103bd57806370a08231146103fe57806376d5de851461041e578063784367d61461045257806395d89b41146104725780639afb25de14610487578063a2bbcf13146104bb578063a380237e146104db578063a40bee501461050f578063a9059cbb14610533578063a9f8d18114610553578063b298e8e914610569578063b8f82b261461059d578063c4f59f9b146105bd578063cbe52ae3146105d2578063da88ecb4146105f2578063dd62ed3e14610607578063df47be4514610627578063ea64a8201461065b578063ef5cfb8c1461069c578063f1068454146106bc578063f3f094a1146106f0578063f8b2f99114610710578063fa5a4f061461045257600080fd5b366101aa57005b600080fd5b3480156101bb57600080fd5b506101c4610725565b6040516101d19190612dce565b60405180910390f35b3480156101e657600080fd5b506101ef6107b7565b6040516101d19190612e45565b34801561020857600080fd5b5061021c610217366004612e74565b610882565b60405190151581526020016101d1565b34801561023857600080fd5b5061024c610247366004612e9e565b61089c565b6040516101d19190612ee9565b34801561026557600080fd5b5061026e61099e565b6040519081526020016101d1565b61026e61028a366004612efc565b6109ad565b34801561029b57600080fd5b5061021c6102aa366004612f3e565b610b8a565b3480156102bb57600080fd5b506102e37f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016101d1565b34801561030157600080fd5b5061026e610c08565b34801561031657600080fd5b50610356610325366004612f7a565b60056020908152600092835260408084209091529082529020546001600160801b0380821691600160801b90041682565b604080516001600160801b039384168152929091166020830152016101d1565b34801561038257600080fd5b506103aa7f000000000000000000000000000000000000000000000000000000000000000081565b60405161ffff90911681526020016101d1565b3480156103c957600080fd5b506103f17f000000000000000000000000000000000000000000000000000000000000000081565b6040516101d19190612fad565b34801561040a57600080fd5b5061026e610419366004612e9e565b610ca0565b34801561042a57600080fd5b506103f17f000000000000000000000000000000000000000000000000000000000000000081565b34801561045e57600080fd5b5061021c61046d366004612e9e565b610cbb565b34801561047e57600080fd5b506101c4610d33565b34801561049357600080fd5b506103f17f000000000000000000000000000000000000000000000000000000000000000081565b3480156104c757600080fd5b5061026e6104d6366004612f3e565b610d42565b3480156104e757600080fd5b506103f17f000000000000000000000000000000000000000000000000000000000000000081565b34801561051b57600080fd5b50610524610dc9565b6040516101d193929190612fc1565b34801561053f57600080fd5b5061021c61054e366004612e74565b610e7d565b34801561055f57600080fd5b5061026e60065481565b34801561057557600080fd5b506103f17f000000000000000000000000000000000000000000000000000000000000000081565b3480156105a957600080fd5b5061026e6105b8366004612e74565b610eef565b3480156105c957600080fd5b506101ef610f27565b3480156105de57600080fd5b5061026e6105ed366004612e74565b610f31565b3480156105fe57600080fd5b5061024c610f8a565b34801561061357600080fd5b5061026e610622366004612f7a565b61105b565b34801561063357600080fd5b506103f17f000000000000000000000000000000000000000000000000000000000000000081565b34801561066757600080fd5b50610356610676366004612e9e565b6007602052600090815260409020546001600160801b0380821691600160801b90041682565b3480156106a857600080fd5b5061024c6106b7366004612e9e565b611086565b3480156106c857600080fd5b5061026e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156106fc57600080fd5b5061026e61070b366004613003565b611145565b34801561071c57600080fd5b5061024c6111a1565b60606003805461073490613047565b80601f016020809104026020016040519081016040528092919081815260200182805461076090613047565b80156107ad5780601f10610782576101008083540402835291602001916107ad565b820191906000526020600020905b81548152906001019060200180831161079057829003601f168201915b5050505050905090565b60408051600280825260608083018452926020830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061080b5761080b613097565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061085f5761085f613097565b60200260200101906001600160a01b031690816001600160a01b03168152505090565b6000336108908185856111b5565b60019150505b92915050565b606060006108a86112d9565b905080516001600160401b038111156108c3576108c3613081565b6040519080825280602002602001820160405280156108ec578160200160208202803683370190505b50915060005b8151811015610997576001600160a01b0384166000908152600560205260408120835190919084908490811061092a5761092a613097565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060000160109054906101000a90046001600160801b03166001600160801b031683828151811061098457610984613097565b60209081029190910101526001016108f2565b5050919050565b6002546001600160f81b031690565b600254600090600119600160f81b90910460ff16016109e75760405162461bcd60e51b81526004016109de906130ad565b60405180910390fd5b600280546001600160f81b0316600160f91b179055610a0584610cbb565b610a215760405162461bcd60e51b81526004016109de906130e4565b82600003610a7f5760405162461bcd60e51b815260206004820152602560248201527f5343593a20616d6f756e74546f6b656e546f4465706f7369742063616e6e6f74604482015264020626520360dc1b60648201526084016109de565b6001600160a01b038416610ad557823414610ad05760405162461bcd60e51b81526020600482015260116024820152700a686b27440cae8d040dad2e6dac2e8c6d607b1b60448201526064016109de565b610ae0565b610ae084338561132f565b610aea848461139b565b905081811015610b0c5760405162461bcd60e51b81526004016109de90613112565b610b16858261158b565b836001600160a01b0316856001600160a01b0316336001600160a01b03167f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d598685604051610b65929190613141565b60405180910390a4600280546001600160f81b0316600160f81b179055949350505050565b600254600090600119600160f81b90910460ff1601610bbb5760405162461bcd60e51b81526004016109de906130ad565b600280546001600160f81b0316600160f91b17905533610bdc8582856116a1565b610be785858561171b565b6001915050600280546001600160f81b0316600160f81b1790559392505050565b604051637b669af760e11b8152670de0b6b3a764000060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f6cd35ee90602401602060405180830381865afa158015610c77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9b919061314f565b905090565b6001600160a01b031660009081526020819052604090205490565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316148061089657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161492915050565b60606004805461073490613047565b600254600090600119600160f81b90910460ff1601610d735760405162461bcd60e51b81526004016109de906130ad565b600280546001600160f81b0316600160f91b1790556000610d9330610ca0565b9050610d9f308261193d565b610dab85828686611ac3565b600280546001600160f81b0316600160f81b17905595945050505050565b6000806000807f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e729190613168565b925092509250909192565b600254600090600119600160f81b90910460ff1601610eae5760405162461bcd60e51b81526004016109de906130ad565b600280546001600160f81b0316600160f91b17905533610ecf81858561171b565b6001915050600280546001600160f81b0316600160f81b17905592915050565b6000610efa83610cbb565b610f165760405162461bcd60e51b81526004016109de906130e4565b610f208383611c06565b9392505050565b6060610c9b6112d9565b6000610f3c83610cbb565b610f805760405162461bcd60e51b815260206004820152601560248201527414d0d64e88125b9d985b1a59081d1bdad95b93dd5d605a1b60448201526064016109de565b610f208383611c6c565b60606000610f966112d9565b905080516001600160401b03811115610fb157610fb1613081565b604051908082528060200260200182016040528015610fda578160200160208202803683370190505b50915060005b81518110156110565760076000838381518110610fff57610fff613097565b6020908102919091018101516001600160a01b031682528101919091526040016000205483516001600160801b039091169084908390811061104357611043613097565b6020908102919091010152600101610fe0565b505090565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600254606090600119600160f81b90910460ff16016110b75760405162461bcd60e51b81526004016109de906130ad565b600280546001600160f81b0316600160f91b1790556110d582611cc9565b6110df8283611cd7565b9050816001600160a01b03167f2193aa20a3717f5f4ac79482f4f553e5f0afe8f4e6ec3e3d1aa2e138adc4763f6111146112d9565b8360405161112392919061318b565b60405180910390a2600280546001600160f81b0316600160f81b179055919050565b600254600090600119600160f81b90910460ff16016111765760405162461bcd60e51b81526004016109de906130ad565b600280546001600160f81b0316600160f91b179055611195338561193d565b610dab85858585611ac3565b60606111ab611f7f565b5050610c9b610f8a565b6001600160a01b0383166112175760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016109de565b6001600160a01b0382166112785760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016109de565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b604080516001808252818301909252606091602080830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061085f5761085f613097565b6001600160a01b0383166113805780341461137b5760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b60448201526064016109de565b505050565b801561137b5761137b6001600160a01b03841683308461221a565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316036113dd5750806114e5565b60006114087f0000000000000000000000000000000000000000000000000000000000000000612285565b6040516321ec87bf60e21b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906387b21efc9061147b907f000000000000000000000000000000000000000000000000000000000000000090879030906004016131b9565b600060405180830381600087803b15801561149557600080fd5b505af11580156114a9573d6000803e3d6000fd5b50505050806114d77f0000000000000000000000000000000000000000000000000000000000000000612285565b6114e191906131f4565b9150505b604051631c57762b60e31b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e2bbb15890611553907f0000000000000000000000000000000000000000000000000000000000000000908590600401613141565b600060405180830381600087803b15801561156d57600080fd5b505af1158015611581573d6000803e3d6000fd5b5050505092915050565b6001600160a01b0382166115e15760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016109de565b6115ed6000838361230f565b6115f681612319565b600280546000906116119084906001600160f81b031661320b565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555080600080846001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116699190613236565b90915550506040518181526001600160a01b0383169060009060008051602061337d8339815191529060200160405180910390a35050565b60006116ad848461105b565b9050600019811461171557818110156117085760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016109de565b61171584848484036111b5565b50505050565b6001600160a01b03831661177f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016109de565b6001600160a01b0382166117e15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016109de565b816001600160a01b0316836001600160a01b03160361183c5760405162461bcd60e51b815260206004820152601760248201527622a92199181d103a3930b739b332b9103a379039b2b63360491b60448201526064016109de565b61184783838361230f565b6001600160a01b038316600090815260208190526040902054818110156118bf5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016109de565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906118f6908490613236565b92505081905550826001600160a01b0316846001600160a01b031660008051602061337d8339815191528460405161193091815260200190565b60405180910390a3611715565b6001600160a01b03821661199d5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016109de565b6119a98260008361230f565b6001600160a01b03821660009081526020819052604090205481811015611a1d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016109de565b6001600160a01b03831660009081526020819052604090208282039055611a4382612319565b60028054600090611a5e9084906001600160f81b031661324e565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555060006001600160a01b0316836001600160a01b031660008051602061337d83398151915284604051611ab691815260200190565b60405180910390a3505050565b6000611ace83610cbb565b611b125760405162461bcd60e51b815260206004820152601560248201527414d0d64e881a5b9d985b1a59081d1bdad95b93dd5d605a1b60448201526064016109de565b83600003611b705760405162461bcd60e51b815260206004820152602560248201527f5343593a20616d6f756e74536861726573546f52656465656d2063616e6e6f74604482015264020626520360dc1b60648201526084016109de565b611b7a8385612333565b905081811015611b9c5760405162461bcd60e51b81526004016109de90613112565b611ba7838683612646565b826001600160a01b0316856001600160a01b0316336001600160a01b03167faee47cdf925cf525fdae94f9777ee5a06cac37e1c41220d0a8a89ed154f62d1c8785604051611bf6929190613141565b60405180910390a4949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603611c48575080610896565b611c50610c08565b611c62670de0b6b3a764000084613276565b610f2091906132ab565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603611cae575080610896565b670de0b6b3a7640000611cbf610c08565b611c629084613276565b611cd481600061270a565b50565b60606000611ce36112d9565b905080516001600160401b03811115611cfe57611cfe613081565b604051908082528060200260200182016040528015611d27578160200160208202803683370190505b50915060005b8151811015611f775760056000838381518110611d4c57611d4c613097565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000866001600160a01b03166001600160a01b0316815260200190815260200160002060000160109054906101000a90046001600160801b03166001600160801b0316838281518110611dc957611dc9613097565b602002602001018181525050828181518110611de757611de7613097565b6020026020010151600014611f6557600060056000848481518110611e0e57611e0e613097565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000876001600160a01b03166001600160a01b0316815260200190815260200160002060000160106101000a8154816001600160801b0302191690836001600160801b03160217905550611ea2838281518110611e9557611e95613097565b602002602001015161278a565b60076000848481518110611eb857611eb8613097565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060000160108282829054906101000a90046001600160801b0316611f0491906132cd565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550611f65828281518110611f3d57611f3d613097565b602002602001015185858481518110611f5857611f58613097565b6020026020010151612646565b80611f6f816132ed565b915050611d2d565b505092915050565b606080611f8a6112d9565b915081516001600160401b03811115611fa557611fa5613081565b604051908082528060200260200182016040528015611fce578160200160208202803683370190505b5090508151600003611fde579091565b436006541461219257436006556000611ff56127a0565b9050611fff6127aa565b60005b835181101561218f57600084828151811061201f5761201f613097565b6020908102919091018101516001600160a01b0381166000908152600790925260408220548751919350600160801b90046001600160801b03169061207d9088908690811061207057612070613097565b6020026020010151612285565b61208791906131f4565b6001600160a01b0383166000908152600760205260408120549192506001600160801b03909116908190036120ba575060015b84156120d7576120ca8286612847565b6120d49082613236565b90505b6120e08161278a565b6001600160a01b038416600090815260076020526040902080546001600160801b0319166001600160801b039290921691909117905561211f8261278a565b6001600160a01b03841660009081526007602052604090208054601090612157908490600160801b90046001600160801b0316613306565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505080612188906132ed565b9050612002565b50505b60005b825181101561221557600760008483815181106121b4576121b4613097565b6020908102919091018101516001600160a01b031682528101919091526040016000205482516001600160801b03909116908390839081106121f8576121f8613097565b60209081029190910101528061220d816132ed565b915050612195565b509091565b6040516001600160a01b03808516602483015283166044820152606481018290526117159085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612876565b60006001600160a01b03821615612308576040516370a0823160e01b81526001600160a01b038316906370a08231906122c2903090600401612fad565b602060405180830381865afa1580156122df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612303919061314f565b610896565b4792915050565b61137b838361270a565b60006001600160f81b0382111561232f57600080fd5b5090565b604051630441a3e760e41b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063441a3e70906123a4907f0000000000000000000000000000000000000000000000000000000000000000908690600401613141565b600060405180830381600087803b1580156123be57600080fd5b505af11580156123d2573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603612416575080610896565b6040516370a0823160e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190612465903090600401612fad565b602060405180830381865afa158015612482573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124a6919061314f565b60405163c4de93a560e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c4de93a590612519907f000000000000000000000000000000000000000000000000000000000000000090879030906004016131b9565b6020604051808303816000875af1158015612538573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061255c919061314f565b915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016125ac9190612fad565b602060405180830381865afa1580156125c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ed919061314f565b6125f790836131f4565b9050838114611f775760405162461bcd60e51b815260206004820152601b60248201527a696e73756666696369656e742066756e6420746f2072656465656d60281b60448201526064016109de565b8060000361265357505050565b6001600160a01b0383166126f6576000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146126ae576040519150601f19603f3d011682016040523d82523d6000602084013e6126b3565b606091505b50509050806117155760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b60448201526064016109de565b61137b6001600160a01b0384168383612948565b600080612715611f7f565b9150915081516000036127285750505050565b6001600160a01b0384161580159061274957506001600160a01b0384163014155b1561275957612759848383612978565b6001600160a01b0383161580159061277a57506001600160a01b0383163014155b1561171557611715838383612978565b60006001600160801b0382111561232f57600080fd5b6000610c9b61099e565b604051630441a3e760e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063441a3e7090612819907f000000000000000000000000000000000000000000000000000000000000000090600090600401613141565b600060405180830381600087803b15801561283357600080fd5b505af1158015611715573d6000803e3d6000fd5b60008061285c670de0b6b3a764000085613276565b905082818161286d5761286d613295565b04949350505050565b60006128cb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612bf89092919063ffffffff16565b80519091501561137b57808060200190518101906128e99190613328565b61137b5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016109de565b6040516001600160a01b03831660248201526044810182905261137b90849063a9059cbb60e01b9060640161224e565b6001600160a01b0383161580159061299957506001600160a01b0383163014155b6129a5576129a561334a565b60006129b084612c0f565b905060005b8351811015612bf15760008482815181106129d2576129d2613097565b6020026020010151905060008483815181106129f0576129f0613097565b6020908102919091018101516001600160a01b038085166000908152600584526040808220928c168252919093528220549092506001600160801b031690819003612a8c57612a3e8261278a565b6001600160a01b039384166000908152600560209081526040808320968c1683529590529390932080546001600160801b0319166001600160801b039094169390931790925550612be19050565b818103612a9b57505050612be1565b6000612aa782846131f4565b90506000612ab58783612c1a565b6001600160a01b038681166000908152600560209081526040808320938f1683529290529081205491925090612afc908390600160801b90046001600160801b0316613236565b90506040518060400160405280612b128761278a565b6001600160801b03168152602001612b298361278a565b6001600160801b031681525060056000886001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816001600160801b0302191690836001600160801b031602179055509050505050505050505b612bea816132ed565b90506129b5565b5050505050565b6060612c078484600085612c38565b949350505050565b600061089682610ca0565b600080612c278385613276565b9050670de0b6b3a76400008161286d565b606082471015612c995760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016109de565b6001600160a01b0385163b612cf05760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016109de565b600080866001600160a01b03168587604051612d0c9190613360565b60006040518083038185875af1925050503d8060008114612d49576040519150601f19603f3d011682016040523d82523d6000602084013e612d4e565b606091505b5091509150612d5e828286612d69565b979650505050505050565b60608315612d78575081610f20565b825115612d885782518084602001fd5b8160405162461bcd60e51b81526004016109de9190612dce565b60005b83811015612dbd578181015183820152602001612da5565b838111156117155750506000910152565b6020815260008251806020840152612ded816040850160208701612da2565b601f01601f19169190910160400192915050565b600081518084526020808501945080840160005b83811015612e3a5781516001600160a01b031687529582019590820190600101612e15565b509495945050505050565b602081526000610f206020830184612e01565b80356001600160a01b0381168114612e6f57600080fd5b919050565b60008060408385031215612e8757600080fd5b612e9083612e58565b946020939093013593505050565b600060208284031215612eb057600080fd5b610f2082612e58565b600081518084526020808501945080840160005b83811015612e3a57815187529582019590820190600101612ecd565b602081526000610f206020830184612eb9565b60008060008060808587031215612f1257600080fd5b612f1b85612e58565b9350612f2960208601612e58565b93969395505050506040820135916060013590565b600080600060608486031215612f5357600080fd5b612f5c84612e58565b9250612f6a60208501612e58565b9150604084013590509250925092565b60008060408385031215612f8d57600080fd5b612f9683612e58565b9150612fa460208401612e58565b90509250929050565b6001600160a01b0391909116815260200190565b6060810160028510612fe357634e487b7160e01b600052602160045260246000fd5b9381526001600160a01b0392909216602083015260ff1660409091015290565b6000806000806080858703121561301957600080fd5b61302285612e58565b93506020850135925061303760408601612e58565b9396929550929360600135925050565b600181811c9082168061305b57607f821691505b60208210810361307b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526014908201527329a1ac9d1024b73b30b634b2103a37b5b2b724b760611b604082015260600190565b60208082526015908201527414d0d64e881a5b9cdd59999a58da595b9d081bdd5d605a1b604082015260600190565b918252602082015260400190565b60006020828403121561316157600080fd5b5051919050565b60006020828403121561317a57600080fd5b815160ff81168114610f2057600080fd5b60408152600061319e6040830185612e01565b82810360208401526131b08185612eb9565b95945050505050565b61ffff93909316835260208301919091526001600160a01b0316604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082821015613206576132066131de565b500390565b60006001600160f81b0382811684821680830382111561322d5761322d6131de565b01949350505050565b60008219821115613249576132496131de565b500190565b60006001600160f81b038381169083168181101561326e5761326e6131de565b039392505050565b6000816000190483118215151615613290576132906131de565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826132c857634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160801b038381169083168181101561326e5761326e6131de565b6000600182016132ff576132ff6131de565b5060010190565b60006001600160801b0382811684821680830382111561322d5761322d6131de565b60006020828403121561333a57600080fd5b81518015158114610f2057600080fd5b634e487b7160e01b600052600160045260246000fd5b60008251613372818460208701612da2565b919091019291505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220b38aacba0b31fb824621bbc671f246164e89580864e44a5f84b7cef51c3ba38864736f6c634300080f0033",
862
+ "linkReferences": {},
863
+ "deployedLinkReferences": {}
864
+ }