@pendle/core-v2 2.22.2 → 2.22.3

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 (397) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +2 -2
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +2 -2
  9. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  12. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  14. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  16. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  18. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  20. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  23. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  24. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  25. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  26. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  30. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  31. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  32. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
  34. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
  36. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
  38. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  40. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  42. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.json +0 -19
  44. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -21
  46. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  48. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  52. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.json +2 -2
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +2 -2
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +2 -2
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +2 -2
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +2 -2
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAPoolHelper.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAWethHelper.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.json +2 -2
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.json +2 -2
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.json +2 -2
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.json +2 -2
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.json +2 -2
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.json +2 -2
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.json +2 -2
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  97. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  98. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  99. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  100. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  101. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  102. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
  103. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  104. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  105. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldActionHelper.sol/LongYieldActionHelper.dbg.json +4 -0
  106. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldActionHelper.sol/LongYieldActionHelper.json +815 -0
  107. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldDecisionHelper.sol/LongYieldDecisionHelper.dbg.json +4 -0
  108. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldDecisionHelper.sol/LongYieldDecisionHelper.json +1215 -0
  109. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldTradingBot.sol/LongYieldTradingBot.dbg.json +4 -0
  110. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldTradingBot.sol/LongYieldTradingBot.json +1564 -0
  111. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldActionHelper.sol/ShortYieldActionHelper.dbg.json +4 -0
  112. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldActionHelper.sol/ShortYieldActionHelper.json +765 -0
  113. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldDecisionHelper.sol/ShortYieldDecisionHelper.dbg.json +4 -0
  114. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldDecisionHelper.sol/ShortYieldDecisionHelper.json +1215 -0
  115. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldTradingBot.sol/ShortYieldTradingBot.dbg.json +4 -0
  116. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldTradingBot.sol/ShortYieldTradingBot.json +1368 -0
  117. package/build/artifacts/contracts/core/TradingBot/base/BotActionCallback.sol/BotActionCallback.dbg.json +4 -0
  118. package/build/artifacts/contracts/core/TradingBot/base/BotActionCallback.sol/BotActionCallback.json +815 -0
  119. package/build/artifacts/contracts/core/TradingBot/base/BotDecisionHelperBase.sol/BotDecisionHelperBase.dbg.json +4 -0
  120. package/build/artifacts/contracts/core/TradingBot/base/BotDecisionHelperBase.sol/BotDecisionHelperBase.json +789 -0
  121. package/build/artifacts/contracts/core/TradingBot/base/TradingBotBase.sol/TradingBotBase.dbg.json +4 -0
  122. package/build/artifacts/contracts/core/TradingBot/base/TradingBotBase.sol/TradingBotBase.json +765 -0
  123. package/build/artifacts/contracts/core/TradingBot/libraries/BotSimulationLib.sol/BotSimulationLib.dbg.json +4 -0
  124. package/build/artifacts/contracts/core/TradingBot/libraries/BotSimulationLib.sol/BotSimulationLib.json +10 -0
  125. package/build/artifacts/contracts/core/TradingBot/libraries/MarketExtLib.sol/MarketExtLib.dbg.json +4 -0
  126. package/build/artifacts/contracts/core/TradingBot/libraries/MarketExtLib.sol/MarketExtLib.json +24 -0
  127. package/build/artifacts/contracts/core/TradingBot/libraries/SpecSegmentLib.sol/SpecSegmentLib.dbg.json +4 -0
  128. package/build/artifacts/contracts/core/TradingBot/libraries/SpecSegmentLib.sol/SpecSegmentLib.json +10 -0
  129. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  130. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  131. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  132. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  133. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  134. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  135. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  136. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  137. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  138. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +2 -2
  139. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  140. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  141. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  142. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
  143. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  144. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +151 -2
  145. package/build/artifacts/contracts/core/libraries/TokenAmountLib.sol/TokenAmountLib.dbg.json +4 -0
  146. package/build/artifacts/contracts/core/libraries/TokenAmountLib.sol/TokenAmountLib.json +10 -0
  147. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
  148. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.json +2 -2
  149. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.json +0 -13
  151. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.json +0 -13
  153. package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.json +0 -26
  155. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  156. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  157. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  158. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.json +6 -82
  159. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  160. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.json +22 -22
  161. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.json +4 -42
  164. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  168. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  169. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  170. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.json +0 -19
  171. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  172. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +0 -19
  173. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  174. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  175. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +32 -146
  176. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  177. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  178. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  179. package/build/artifacts/contracts/interfaces/TradingBot/IBotDecisionHelper.sol/IBotDecisionHelper.dbg.json +4 -0
  180. package/build/artifacts/contracts/interfaces/TradingBot/IBotDecisionHelper.sol/IBotDecisionHelper.json +652 -0
  181. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldDecisionHelper.sol/ILongYieldDecisionHelper.dbg.json +4 -0
  182. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldDecisionHelper.sol/ILongYieldDecisionHelper.json +671 -0
  183. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.dbg.json +4 -0
  184. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.json +977 -0
  185. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldDecisionHelper.sol/IShortYieldDecisionHelper.dbg.json +4 -0
  186. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldDecisionHelper.sol/IShortYieldDecisionHelper.json +652 -0
  187. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldTradingBot.sol/IShortYieldTradingBot.dbg.json +4 -0
  188. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldTradingBot.sol/IShortYieldTradingBot.json +958 -0
  189. package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.dbg.json +4 -0
  190. package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.json +515 -0
  191. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  192. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  193. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  194. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  195. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  196. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  197. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
  198. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +2 -2
  199. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  200. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  201. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  202. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  203. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  204. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +8 -84
  205. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  206. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +24 -24
  207. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  208. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +6 -44
  209. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  210. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  211. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  212. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  213. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  214. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  215. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  216. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
  217. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.json +2 -2
  218. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
  219. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.json +2 -2
  220. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.dbg.json +1 -1
  221. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.json +2 -2
  222. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
  223. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.json +2 -2
  224. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
  225. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.json +2 -2
  226. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  227. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
  228. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  229. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
  230. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  231. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
  232. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  233. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
  234. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  235. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  236. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  237. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +2 -2
  238. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  239. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  240. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  241. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  242. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  243. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  244. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  245. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  246. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -18
  247. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol/IExecutorHelper.dbg.json +1 -1
  248. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol/IExecutorHelper.json +118 -76
  249. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IHashflow.sol/IHashflow.dbg.json +4 -0
  250. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IHashflow.sol/IHashflow.json +101 -0
  251. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol/KyberInputScalingHelper.dbg.json +1 -1
  252. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.dbg.json +1 -1
  253. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.json +2 -2
  254. package/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol +160 -0
  255. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol +23 -23
  256. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol +25 -21
  257. package/package.json +1 -1
  258. package/typechain-types/ActionMarketAuxStatic.ts +38 -191
  259. package/typechain-types/ActionMarketCoreStatic.ts +134 -600
  260. package/typechain-types/ActionMintRedeemStatic.ts +26 -92
  261. package/typechain-types/AuraEthxBbAWethSY.ts +1532 -0
  262. package/typechain-types/ICamelotNFTPool.ts +0 -19
  263. package/typechain-types/ICamelotNitroPool.ts +0 -19
  264. package/typechain-types/ICamelotPair.ts +0 -42
  265. package/typechain-types/IExecutorHelper.ts +331 -310
  266. package/typechain-types/IPActionMarketAuxStatic.ts +38 -191
  267. package/typechain-types/IPActionMarketCoreStatic.ts +134 -600
  268. package/typechain-types/IPActionMintRedeemStatic.ts +26 -92
  269. package/typechain-types/IPGauge.ts +3 -23
  270. package/typechain-types/IPMarket.ts +0 -18
  271. package/typechain-types/IPRouterStatic.ts +197 -888
  272. package/typechain-types/PendleGauge.ts +3 -23
  273. package/typechain-types/PendleMarket.ts +0 -18
  274. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  275. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  276. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +7 -83
  277. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +23 -23
  278. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +5 -43
  279. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  280. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  281. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  282. package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
  283. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  284. package/typechain-types/factories/AuraEthxBbAWethSY__factory.ts +1240 -0
  285. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  286. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  287. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  288. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  289. package/typechain-types/factories/CamelotRewardHelper__factory.ts +1 -1
  290. package/typechain-types/factories/CamelotV1VolatilePreview__factory.ts +1 -1
  291. package/typechain-types/factories/Errors__factory.ts +150 -1
  292. package/typechain-types/factories/ICamelotNFTPool__factory.ts +0 -13
  293. package/typechain-types/factories/ICamelotNitroPool__factory.ts +0 -13
  294. package/typechain-types/factories/ICamelotPair__factory.ts +0 -26
  295. package/typechain-types/factories/IExecutorHelper__factory.ts +116 -74
  296. package/typechain-types/factories/IPActionMarketAuxStatic__factory.ts +6 -82
  297. package/typechain-types/factories/IPActionMarketCoreStatic__factory.ts +22 -22
  298. package/typechain-types/factories/IPActionMintRedeemStatic__factory.ts +4 -42
  299. package/typechain-types/factories/IPGauge__factory.ts +0 -19
  300. package/typechain-types/factories/IPMarket__factory.ts +0 -19
  301. package/typechain-types/factories/IPRouterStatic__factory.ts +32 -146
  302. package/typechain-types/factories/LongYieldDecisionHelper__factory.ts +1 -1
  303. package/typechain-types/factories/LongYieldTradingBot__factory.ts +1 -1
  304. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  305. package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1 -1
  306. package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
  307. package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
  308. package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
  309. package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
  310. package/typechain-types/factories/PendleCamelotV1VolatileSY__factory.ts +1 -1
  311. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  312. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  313. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  314. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  315. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  316. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  317. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  318. package/typechain-types/factories/PendleGauge__factory.ts +0 -19
  319. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  320. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  321. package/typechain-types/factories/PendleLpGlpOracle__factory.ts +1 -1
  322. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  323. package/typechain-types/factories/PendleMarket__factory.ts +1 -20
  324. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  325. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  326. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
  327. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  328. package/typechain-types/factories/PendlePtGlpOracle__factory.ts +1 -1
  329. package/typechain-types/factories/PendlePtOracle__factory.ts +1 -1
  330. package/typechain-types/factories/PendlePtUsdChainlinkOracle__factory.ts +1 -1
  331. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  332. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  333. package/typechain-types/factories/PendleRouterHelper__factory.ts +1 -1
  334. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  335. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  336. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  337. package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
  338. package/typechain-types/factories/PendleSwap__factory.ts +1 -17
  339. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  340. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  341. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  342. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  343. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  344. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  345. package/typechain-types/factories/SAPE__factory.ts +1 -1
  346. package/typechain-types/factories/ShortYieldDecisionHelper__factory.ts +1 -1
  347. package/typechain-types/factories/ShortYieldTradingBot__factory.ts +1 -1
  348. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  349. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  350. package/typechain-types/hardhat.d.ts +9 -0
  351. package/typechain-types/index.ts +2 -0
  352. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.dbg.json +0 -4
  353. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.json +0 -1027
  354. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethVethSY.sol/PendleAuraWethVethSY.dbg.json +0 -4
  355. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethVethSY.sol/PendleAuraWethVethSY.json +0 -1166
  356. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.dbg.json +0 -4
  357. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.json +0 -1171
  358. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.dbg.json +0 -4
  359. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.json +0 -976
  360. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.dbg.json +0 -4
  361. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.json +0 -979
  362. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.dbg.json +0 -4
  363. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.json +0 -961
  364. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.dbg.json +0 -4
  365. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.json +0 -1266
  366. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaLpHelper.sol/ThenaLpHelper.dbg.json +0 -4
  367. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaLpHelper.sol/ThenaLpHelper.json +0 -128
  368. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaMath.sol/ThenaMath.dbg.json +0 -4
  369. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaMath.sol/ThenaMath.json +0 -24
  370. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/IThenaSY.dbg.json +0 -4
  371. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/IThenaSY.json +0 -24
  372. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/ThenaPreview.dbg.json +0 -4
  373. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/ThenaPreview.json +0 -267
  374. package/build/artifacts/contracts/interfaces/Ankr/IAnkrBNB.sol/IAnkrBNB.dbg.json +0 -4
  375. package/build/artifacts/contracts/interfaces/Ankr/IAnkrBNB.sol/IAnkrBNB.json +0 -62
  376. package/build/artifacts/contracts/interfaces/Ankr/IAnkrLiquidStaking.sol/IAnkrLiquidStaking.dbg.json +0 -4
  377. package/build/artifacts/contracts/interfaces/Ankr/IAnkrLiquidStaking.sol/IAnkrLiquidStaking.json +0 -108
  378. package/build/artifacts/contracts/interfaces/BinanceEth/IWBETH.sol/IWBETH.dbg.json +0 -4
  379. package/build/artifacts/contracts/interfaces/BinanceEth/IWBETH.sol/IWBETH.json +0 -42
  380. package/build/artifacts/contracts/interfaces/IPendlePreviewHelper.sol/IPendlePreviewHelper.dbg.json +0 -4
  381. package/build/artifacts/contracts/interfaces/IPendlePreviewHelper.sol/IPendlePreviewHelper.json +0 -59
  382. package/build/artifacts/contracts/interfaces/ISwETH.sol/ISwETH.dbg.json +0 -4
  383. package/build/artifacts/contracts/interfaces/ISwETH.sol/ISwETH.json +0 -44
  384. package/build/artifacts/contracts/interfaces/Thena/IThenaFactory.sol/IThenaFactory.dbg.json +0 -4
  385. package/build/artifacts/contracts/interfaces/Thena/IThenaFactory.sol/IThenaFactory.json +0 -152
  386. package/build/artifacts/contracts/interfaces/Thena/IThenaGaugeV2.sol/IThenaGaugeV2.dbg.json +0 -4
  387. package/build/artifacts/contracts/interfaces/Thena/IThenaGaugeV2.sol/IThenaGaugeV2.json +0 -71
  388. package/build/artifacts/contracts/interfaces/Thena/IThenaPair.sol/IThenaPair.dbg.json +0 -4
  389. package/build/artifacts/contracts/interfaces/Thena/IThenaPair.sol/IThenaPair.json +0 -409
  390. package/build/artifacts/contracts/interfaces/Thena/IThenaRouter.sol/IThenaRouter.dbg.json +0 -4
  391. package/build/artifacts/contracts/interfaces/Thena/IThenaRouter.sol/IThenaRouter.json +0 -188
  392. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.dbg.json +0 -4
  393. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.json +0 -97
  394. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +0 -4
  395. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.json +0 -160
  396. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +0 -4
  397. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.json +0 -10
@@ -0,0 +1,1215 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ShortYieldDecisionHelper",
4
+ "sourceName": "contracts/core/TradingBot/ShortYield/ShortYieldDecisionHelper.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "ApproxFail",
9
+ "type": "error"
10
+ },
11
+ {
12
+ "inputs": [
13
+ {
14
+ "internalType": "uint256",
15
+ "name": "guessMin",
16
+ "type": "uint256"
17
+ },
18
+ {
19
+ "internalType": "uint256",
20
+ "name": "guessMax",
21
+ "type": "uint256"
22
+ },
23
+ {
24
+ "internalType": "uint256",
25
+ "name": "eps",
26
+ "type": "uint256"
27
+ }
28
+ ],
29
+ "name": "ApproxParamsInvalid",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [],
34
+ "name": "BotBinarySearchFail",
35
+ "type": "error"
36
+ },
37
+ {
38
+ "inputs": [
39
+ {
40
+ "internalType": "uint256",
41
+ "name": "action",
42
+ "type": "uint256"
43
+ },
44
+ {
45
+ "internalType": "uint256",
46
+ "name": "guessMin",
47
+ "type": "uint256"
48
+ },
49
+ {
50
+ "internalType": "uint256",
51
+ "name": "guessMax",
52
+ "type": "uint256"
53
+ }
54
+ ],
55
+ "name": "BotBinarySearchInvalidRange",
56
+ "type": "error"
57
+ },
58
+ {
59
+ "inputs": [
60
+ {
61
+ "internalType": "int256",
62
+ "name": "exchangeRate",
63
+ "type": "int256"
64
+ }
65
+ ],
66
+ "name": "MarketExchangeRateBelowOne",
67
+ "type": "error"
68
+ },
69
+ {
70
+ "inputs": [],
71
+ "name": "MarketExpired",
72
+ "type": "error"
73
+ },
74
+ {
75
+ "inputs": [
76
+ {
77
+ "internalType": "int256",
78
+ "name": "currentAmount",
79
+ "type": "int256"
80
+ },
81
+ {
82
+ "internalType": "int256",
83
+ "name": "requiredAmount",
84
+ "type": "int256"
85
+ }
86
+ ],
87
+ "name": "MarketInsufficientPtForTrade",
88
+ "type": "error"
89
+ },
90
+ {
91
+ "inputs": [],
92
+ "name": "MarketProportionMustNotEqualOne",
93
+ "type": "error"
94
+ },
95
+ {
96
+ "inputs": [
97
+ {
98
+ "internalType": "int256",
99
+ "name": "proportion",
100
+ "type": "int256"
101
+ },
102
+ {
103
+ "internalType": "int256",
104
+ "name": "maxProportion",
105
+ "type": "int256"
106
+ }
107
+ ],
108
+ "name": "MarketProportionTooHigh",
109
+ "type": "error"
110
+ },
111
+ {
112
+ "inputs": [
113
+ {
114
+ "internalType": "int256",
115
+ "name": "rateScalar",
116
+ "type": "int256"
117
+ }
118
+ ],
119
+ "name": "MarketRateScalarBelowZero",
120
+ "type": "error"
121
+ },
122
+ {
123
+ "inputs": [],
124
+ "name": "MarketZeroLnImpliedRate",
125
+ "type": "error"
126
+ },
127
+ {
128
+ "inputs": [
129
+ {
130
+ "internalType": "int256",
131
+ "name": "totalPt",
132
+ "type": "int256"
133
+ },
134
+ {
135
+ "internalType": "int256",
136
+ "name": "totalAsset",
137
+ "type": "int256"
138
+ }
139
+ ],
140
+ "name": "MarketZeroTotalPtOrTotalAsset",
141
+ "type": "error"
142
+ },
143
+ {
144
+ "inputs": [],
145
+ "name": "INF",
146
+ "outputs": [
147
+ {
148
+ "internalType": "uint256",
149
+ "name": "",
150
+ "type": "uint256"
151
+ }
152
+ ],
153
+ "stateMutability": "view",
154
+ "type": "function"
155
+ },
156
+ {
157
+ "inputs": [],
158
+ "name": "MINIMAL_EPS",
159
+ "outputs": [
160
+ {
161
+ "internalType": "uint256",
162
+ "name": "",
163
+ "type": "uint256"
164
+ }
165
+ ],
166
+ "stateMutability": "view",
167
+ "type": "function"
168
+ },
169
+ {
170
+ "inputs": [
171
+ {
172
+ "components": [
173
+ {
174
+ "components": [
175
+ {
176
+ "internalType": "int256",
177
+ "name": "totalPt",
178
+ "type": "int256"
179
+ },
180
+ {
181
+ "internalType": "int256",
182
+ "name": "totalSy",
183
+ "type": "int256"
184
+ },
185
+ {
186
+ "internalType": "int256",
187
+ "name": "totalLp",
188
+ "type": "int256"
189
+ },
190
+ {
191
+ "internalType": "address",
192
+ "name": "treasury",
193
+ "type": "address"
194
+ },
195
+ {
196
+ "internalType": "int256",
197
+ "name": "scalarRoot",
198
+ "type": "int256"
199
+ },
200
+ {
201
+ "internalType": "uint256",
202
+ "name": "expiry",
203
+ "type": "uint256"
204
+ },
205
+ {
206
+ "internalType": "uint256",
207
+ "name": "lnFeeRateRoot",
208
+ "type": "uint256"
209
+ },
210
+ {
211
+ "internalType": "uint256",
212
+ "name": "reserveFeePercent",
213
+ "type": "uint256"
214
+ },
215
+ {
216
+ "internalType": "uint256",
217
+ "name": "lastLnImpliedRate",
218
+ "type": "uint256"
219
+ }
220
+ ],
221
+ "internalType": "struct MarketState",
222
+ "name": "state",
223
+ "type": "tuple"
224
+ },
225
+ {
226
+ "internalType": "PYIndex",
227
+ "name": "index",
228
+ "type": "uint256"
229
+ },
230
+ {
231
+ "internalType": "uint256",
232
+ "name": "blockTime",
233
+ "type": "uint256"
234
+ }
235
+ ],
236
+ "internalType": "struct MarketExtState",
237
+ "name": "marketExt",
238
+ "type": "tuple"
239
+ },
240
+ {
241
+ "internalType": "enum ActionType",
242
+ "name": "action",
243
+ "type": "uint8"
244
+ },
245
+ {
246
+ "internalType": "uint256",
247
+ "name": "botParam",
248
+ "type": "uint256"
249
+ }
250
+ ],
251
+ "name": "_calcAmountOutAndIntParams",
252
+ "outputs": [
253
+ {
254
+ "internalType": "uint256",
255
+ "name": "amountOut",
256
+ "type": "uint256"
257
+ },
258
+ {
259
+ "internalType": "uint256",
260
+ "name": "intParams",
261
+ "type": "uint256"
262
+ }
263
+ ],
264
+ "stateMutability": "pure",
265
+ "type": "function"
266
+ },
267
+ {
268
+ "inputs": [
269
+ {
270
+ "components": [
271
+ {
272
+ "components": [
273
+ {
274
+ "internalType": "uint256",
275
+ "name": "lpBalance",
276
+ "type": "uint256"
277
+ },
278
+ {
279
+ "internalType": "uint256",
280
+ "name": "ytBalance",
281
+ "type": "uint256"
282
+ },
283
+ {
284
+ "internalType": "uint256",
285
+ "name": "ptBalance",
286
+ "type": "uint256"
287
+ },
288
+ {
289
+ "internalType": "uint256",
290
+ "name": "syBalance",
291
+ "type": "uint256"
292
+ },
293
+ {
294
+ "internalType": "uint256",
295
+ "name": "buyBins",
296
+ "type": "uint256"
297
+ }
298
+ ],
299
+ "internalType": "struct BotState",
300
+ "name": "botState",
301
+ "type": "tuple"
302
+ },
303
+ {
304
+ "components": [
305
+ {
306
+ "components": [
307
+ {
308
+ "internalType": "int256",
309
+ "name": "totalPt",
310
+ "type": "int256"
311
+ },
312
+ {
313
+ "internalType": "int256",
314
+ "name": "totalSy",
315
+ "type": "int256"
316
+ },
317
+ {
318
+ "internalType": "int256",
319
+ "name": "totalLp",
320
+ "type": "int256"
321
+ },
322
+ {
323
+ "internalType": "address",
324
+ "name": "treasury",
325
+ "type": "address"
326
+ },
327
+ {
328
+ "internalType": "int256",
329
+ "name": "scalarRoot",
330
+ "type": "int256"
331
+ },
332
+ {
333
+ "internalType": "uint256",
334
+ "name": "expiry",
335
+ "type": "uint256"
336
+ },
337
+ {
338
+ "internalType": "uint256",
339
+ "name": "lnFeeRateRoot",
340
+ "type": "uint256"
341
+ },
342
+ {
343
+ "internalType": "uint256",
344
+ "name": "reserveFeePercent",
345
+ "type": "uint256"
346
+ },
347
+ {
348
+ "internalType": "uint256",
349
+ "name": "lastLnImpliedRate",
350
+ "type": "uint256"
351
+ }
352
+ ],
353
+ "internalType": "struct MarketState",
354
+ "name": "state",
355
+ "type": "tuple"
356
+ },
357
+ {
358
+ "internalType": "PYIndex",
359
+ "name": "index",
360
+ "type": "uint256"
361
+ },
362
+ {
363
+ "internalType": "uint256",
364
+ "name": "blockTime",
365
+ "type": "uint256"
366
+ }
367
+ ],
368
+ "internalType": "struct MarketExtState",
369
+ "name": "marketExt",
370
+ "type": "tuple"
371
+ },
372
+ {
373
+ "components": [
374
+ {
375
+ "internalType": "uint256",
376
+ "name": "buyYtIy",
377
+ "type": "uint256"
378
+ },
379
+ {
380
+ "internalType": "uint256",
381
+ "name": "sellYtIy",
382
+ "type": "uint256"
383
+ },
384
+ {
385
+ "internalType": "uint256",
386
+ "name": "targetSyRatio",
387
+ "type": "uint256"
388
+ },
389
+ {
390
+ "internalType": "uint256",
391
+ "name": "maxSyRatio",
392
+ "type": "uint256"
393
+ },
394
+ {
395
+ "internalType": "uint256",
396
+ "name": "targetYtPtRatio",
397
+ "type": "uint256"
398
+ },
399
+ {
400
+ "internalType": "uint256",
401
+ "name": "numOfBins",
402
+ "type": "uint256"
403
+ }
404
+ ],
405
+ "internalType": "struct TradingSpecs",
406
+ "name": "specs",
407
+ "type": "tuple"
408
+ }
409
+ ],
410
+ "internalType": "struct StrategyData",
411
+ "name": "strategyData",
412
+ "type": "tuple"
413
+ }
414
+ ],
415
+ "name": "botExtStats",
416
+ "outputs": [
417
+ {
418
+ "internalType": "uint256",
419
+ "name": "tvlInSy",
420
+ "type": "uint256"
421
+ },
422
+ {
423
+ "internalType": "uint256",
424
+ "name": "iy",
425
+ "type": "uint256"
426
+ },
427
+ {
428
+ "internalType": "uint256",
429
+ "name": "currentSyRatio",
430
+ "type": "uint256"
431
+ },
432
+ {
433
+ "internalType": "uint256",
434
+ "name": "currentYtPtRatio",
435
+ "type": "uint256"
436
+ }
437
+ ],
438
+ "stateMutability": "pure",
439
+ "type": "function"
440
+ },
441
+ {
442
+ "inputs": [
443
+ {
444
+ "internalType": "address",
445
+ "name": "botAddress",
446
+ "type": "address"
447
+ }
448
+ ],
449
+ "name": "getActionDetails",
450
+ "outputs": [
451
+ {
452
+ "components": [
453
+ {
454
+ "internalType": "enum ActionType",
455
+ "name": "action",
456
+ "type": "uint8"
457
+ },
458
+ {
459
+ "internalType": "int256",
460
+ "name": "currentBin",
461
+ "type": "int256"
462
+ },
463
+ {
464
+ "internalType": "uint256",
465
+ "name": "targetIy",
466
+ "type": "uint256"
467
+ },
468
+ {
469
+ "internalType": "uint256",
470
+ "name": "guessBotParams",
471
+ "type": "uint256"
472
+ },
473
+ {
474
+ "internalType": "uint256",
475
+ "name": "guessIntParams",
476
+ "type": "uint256"
477
+ },
478
+ {
479
+ "internalType": "uint256",
480
+ "name": "amountOut",
481
+ "type": "uint256"
482
+ }
483
+ ],
484
+ "internalType": "struct IBotDecisionHelper.ActionToTakeResult",
485
+ "name": "res",
486
+ "type": "tuple"
487
+ }
488
+ ],
489
+ "stateMutability": "nonpayable",
490
+ "type": "function"
491
+ },
492
+ {
493
+ "inputs": [
494
+ {
495
+ "components": [
496
+ {
497
+ "components": [
498
+ {
499
+ "internalType": "uint256",
500
+ "name": "lpBalance",
501
+ "type": "uint256"
502
+ },
503
+ {
504
+ "internalType": "uint256",
505
+ "name": "ytBalance",
506
+ "type": "uint256"
507
+ },
508
+ {
509
+ "internalType": "uint256",
510
+ "name": "ptBalance",
511
+ "type": "uint256"
512
+ },
513
+ {
514
+ "internalType": "uint256",
515
+ "name": "syBalance",
516
+ "type": "uint256"
517
+ },
518
+ {
519
+ "internalType": "uint256",
520
+ "name": "buyBins",
521
+ "type": "uint256"
522
+ }
523
+ ],
524
+ "internalType": "struct BotState",
525
+ "name": "botState",
526
+ "type": "tuple"
527
+ },
528
+ {
529
+ "components": [
530
+ {
531
+ "components": [
532
+ {
533
+ "internalType": "int256",
534
+ "name": "totalPt",
535
+ "type": "int256"
536
+ },
537
+ {
538
+ "internalType": "int256",
539
+ "name": "totalSy",
540
+ "type": "int256"
541
+ },
542
+ {
543
+ "internalType": "int256",
544
+ "name": "totalLp",
545
+ "type": "int256"
546
+ },
547
+ {
548
+ "internalType": "address",
549
+ "name": "treasury",
550
+ "type": "address"
551
+ },
552
+ {
553
+ "internalType": "int256",
554
+ "name": "scalarRoot",
555
+ "type": "int256"
556
+ },
557
+ {
558
+ "internalType": "uint256",
559
+ "name": "expiry",
560
+ "type": "uint256"
561
+ },
562
+ {
563
+ "internalType": "uint256",
564
+ "name": "lnFeeRateRoot",
565
+ "type": "uint256"
566
+ },
567
+ {
568
+ "internalType": "uint256",
569
+ "name": "reserveFeePercent",
570
+ "type": "uint256"
571
+ },
572
+ {
573
+ "internalType": "uint256",
574
+ "name": "lastLnImpliedRate",
575
+ "type": "uint256"
576
+ }
577
+ ],
578
+ "internalType": "struct MarketState",
579
+ "name": "state",
580
+ "type": "tuple"
581
+ },
582
+ {
583
+ "internalType": "PYIndex",
584
+ "name": "index",
585
+ "type": "uint256"
586
+ },
587
+ {
588
+ "internalType": "uint256",
589
+ "name": "blockTime",
590
+ "type": "uint256"
591
+ }
592
+ ],
593
+ "internalType": "struct MarketExtState",
594
+ "name": "marketExt",
595
+ "type": "tuple"
596
+ },
597
+ {
598
+ "components": [
599
+ {
600
+ "internalType": "uint256",
601
+ "name": "buyYtIy",
602
+ "type": "uint256"
603
+ },
604
+ {
605
+ "internalType": "uint256",
606
+ "name": "sellYtIy",
607
+ "type": "uint256"
608
+ },
609
+ {
610
+ "internalType": "uint256",
611
+ "name": "targetSyRatio",
612
+ "type": "uint256"
613
+ },
614
+ {
615
+ "internalType": "uint256",
616
+ "name": "maxSyRatio",
617
+ "type": "uint256"
618
+ },
619
+ {
620
+ "internalType": "uint256",
621
+ "name": "targetYtPtRatio",
622
+ "type": "uint256"
623
+ },
624
+ {
625
+ "internalType": "uint256",
626
+ "name": "numOfBins",
627
+ "type": "uint256"
628
+ }
629
+ ],
630
+ "internalType": "struct TradingSpecs",
631
+ "name": "specs",
632
+ "type": "tuple"
633
+ }
634
+ ],
635
+ "internalType": "struct StrategyData",
636
+ "name": "strategyData",
637
+ "type": "tuple"
638
+ }
639
+ ],
640
+ "name": "getCurrentBin",
641
+ "outputs": [
642
+ {
643
+ "internalType": "int256",
644
+ "name": "",
645
+ "type": "int256"
646
+ }
647
+ ],
648
+ "stateMutability": "pure",
649
+ "type": "function"
650
+ },
651
+ {
652
+ "inputs": [
653
+ {
654
+ "internalType": "address",
655
+ "name": "botAddress",
656
+ "type": "address"
657
+ }
658
+ ],
659
+ "name": "getFloatingSyAmount",
660
+ "outputs": [
661
+ {
662
+ "internalType": "uint256",
663
+ "name": "floatingSyAmount",
664
+ "type": "uint256"
665
+ }
666
+ ],
667
+ "stateMutability": "nonpayable",
668
+ "type": "function"
669
+ },
670
+ {
671
+ "inputs": [
672
+ {
673
+ "components": [
674
+ {
675
+ "components": [
676
+ {
677
+ "internalType": "uint256",
678
+ "name": "lpBalance",
679
+ "type": "uint256"
680
+ },
681
+ {
682
+ "internalType": "uint256",
683
+ "name": "ytBalance",
684
+ "type": "uint256"
685
+ },
686
+ {
687
+ "internalType": "uint256",
688
+ "name": "ptBalance",
689
+ "type": "uint256"
690
+ },
691
+ {
692
+ "internalType": "uint256",
693
+ "name": "syBalance",
694
+ "type": "uint256"
695
+ },
696
+ {
697
+ "internalType": "uint256",
698
+ "name": "buyBins",
699
+ "type": "uint256"
700
+ }
701
+ ],
702
+ "internalType": "struct BotState",
703
+ "name": "botState",
704
+ "type": "tuple"
705
+ },
706
+ {
707
+ "components": [
708
+ {
709
+ "components": [
710
+ {
711
+ "internalType": "int256",
712
+ "name": "totalPt",
713
+ "type": "int256"
714
+ },
715
+ {
716
+ "internalType": "int256",
717
+ "name": "totalSy",
718
+ "type": "int256"
719
+ },
720
+ {
721
+ "internalType": "int256",
722
+ "name": "totalLp",
723
+ "type": "int256"
724
+ },
725
+ {
726
+ "internalType": "address",
727
+ "name": "treasury",
728
+ "type": "address"
729
+ },
730
+ {
731
+ "internalType": "int256",
732
+ "name": "scalarRoot",
733
+ "type": "int256"
734
+ },
735
+ {
736
+ "internalType": "uint256",
737
+ "name": "expiry",
738
+ "type": "uint256"
739
+ },
740
+ {
741
+ "internalType": "uint256",
742
+ "name": "lnFeeRateRoot",
743
+ "type": "uint256"
744
+ },
745
+ {
746
+ "internalType": "uint256",
747
+ "name": "reserveFeePercent",
748
+ "type": "uint256"
749
+ },
750
+ {
751
+ "internalType": "uint256",
752
+ "name": "lastLnImpliedRate",
753
+ "type": "uint256"
754
+ }
755
+ ],
756
+ "internalType": "struct MarketState",
757
+ "name": "state",
758
+ "type": "tuple"
759
+ },
760
+ {
761
+ "internalType": "PYIndex",
762
+ "name": "index",
763
+ "type": "uint256"
764
+ },
765
+ {
766
+ "internalType": "uint256",
767
+ "name": "blockTime",
768
+ "type": "uint256"
769
+ }
770
+ ],
771
+ "internalType": "struct MarketExtState",
772
+ "name": "marketExt",
773
+ "type": "tuple"
774
+ },
775
+ {
776
+ "components": [
777
+ {
778
+ "internalType": "uint256",
779
+ "name": "buyYtIy",
780
+ "type": "uint256"
781
+ },
782
+ {
783
+ "internalType": "uint256",
784
+ "name": "sellYtIy",
785
+ "type": "uint256"
786
+ },
787
+ {
788
+ "internalType": "uint256",
789
+ "name": "targetSyRatio",
790
+ "type": "uint256"
791
+ },
792
+ {
793
+ "internalType": "uint256",
794
+ "name": "maxSyRatio",
795
+ "type": "uint256"
796
+ },
797
+ {
798
+ "internalType": "uint256",
799
+ "name": "targetYtPtRatio",
800
+ "type": "uint256"
801
+ },
802
+ {
803
+ "internalType": "uint256",
804
+ "name": "numOfBins",
805
+ "type": "uint256"
806
+ }
807
+ ],
808
+ "internalType": "struct TradingSpecs",
809
+ "name": "specs",
810
+ "type": "tuple"
811
+ }
812
+ ],
813
+ "internalType": "struct StrategyData",
814
+ "name": "strategyData",
815
+ "type": "tuple"
816
+ },
817
+ {
818
+ "internalType": "enum ActionType",
819
+ "name": "action",
820
+ "type": "uint8"
821
+ },
822
+ {
823
+ "internalType": "uint256",
824
+ "name": "botParam",
825
+ "type": "uint256"
826
+ },
827
+ {
828
+ "components": [
829
+ {
830
+ "internalType": "uint256",
831
+ "name": "guessMin",
832
+ "type": "uint256"
833
+ },
834
+ {
835
+ "internalType": "uint256",
836
+ "name": "guessMax",
837
+ "type": "uint256"
838
+ },
839
+ {
840
+ "internalType": "uint256",
841
+ "name": "guessOffchain",
842
+ "type": "uint256"
843
+ },
844
+ {
845
+ "internalType": "uint256",
846
+ "name": "maxIteration",
847
+ "type": "uint256"
848
+ },
849
+ {
850
+ "internalType": "uint256",
851
+ "name": "eps",
852
+ "type": "uint256"
853
+ }
854
+ ],
855
+ "internalType": "struct ApproxParams",
856
+ "name": "intParams",
857
+ "type": "tuple"
858
+ }
859
+ ],
860
+ "name": "previewAction",
861
+ "outputs": [
862
+ {
863
+ "internalType": "bool",
864
+ "name": "success",
865
+ "type": "bool"
866
+ },
867
+ {
868
+ "components": [
869
+ {
870
+ "internalType": "uint256",
871
+ "name": "lpBalance",
872
+ "type": "uint256"
873
+ },
874
+ {
875
+ "internalType": "uint256",
876
+ "name": "ytBalance",
877
+ "type": "uint256"
878
+ },
879
+ {
880
+ "internalType": "uint256",
881
+ "name": "ptBalance",
882
+ "type": "uint256"
883
+ },
884
+ {
885
+ "internalType": "uint256",
886
+ "name": "syBalance",
887
+ "type": "uint256"
888
+ },
889
+ {
890
+ "internalType": "uint256",
891
+ "name": "buyBins",
892
+ "type": "uint256"
893
+ }
894
+ ],
895
+ "internalType": "struct BotState",
896
+ "name": "bot",
897
+ "type": "tuple"
898
+ },
899
+ {
900
+ "components": [
901
+ {
902
+ "components": [
903
+ {
904
+ "internalType": "int256",
905
+ "name": "totalPt",
906
+ "type": "int256"
907
+ },
908
+ {
909
+ "internalType": "int256",
910
+ "name": "totalSy",
911
+ "type": "int256"
912
+ },
913
+ {
914
+ "internalType": "int256",
915
+ "name": "totalLp",
916
+ "type": "int256"
917
+ },
918
+ {
919
+ "internalType": "address",
920
+ "name": "treasury",
921
+ "type": "address"
922
+ },
923
+ {
924
+ "internalType": "int256",
925
+ "name": "scalarRoot",
926
+ "type": "int256"
927
+ },
928
+ {
929
+ "internalType": "uint256",
930
+ "name": "expiry",
931
+ "type": "uint256"
932
+ },
933
+ {
934
+ "internalType": "uint256",
935
+ "name": "lnFeeRateRoot",
936
+ "type": "uint256"
937
+ },
938
+ {
939
+ "internalType": "uint256",
940
+ "name": "reserveFeePercent",
941
+ "type": "uint256"
942
+ },
943
+ {
944
+ "internalType": "uint256",
945
+ "name": "lastLnImpliedRate",
946
+ "type": "uint256"
947
+ }
948
+ ],
949
+ "internalType": "struct MarketState",
950
+ "name": "state",
951
+ "type": "tuple"
952
+ },
953
+ {
954
+ "internalType": "PYIndex",
955
+ "name": "index",
956
+ "type": "uint256"
957
+ },
958
+ {
959
+ "internalType": "uint256",
960
+ "name": "blockTime",
961
+ "type": "uint256"
962
+ }
963
+ ],
964
+ "internalType": "struct MarketExtState",
965
+ "name": "marketExt",
966
+ "type": "tuple"
967
+ }
968
+ ],
969
+ "stateMutability": "pure",
970
+ "type": "function"
971
+ },
972
+ {
973
+ "inputs": [
974
+ {
975
+ "components": [
976
+ {
977
+ "components": [
978
+ {
979
+ "internalType": "uint256",
980
+ "name": "lpBalance",
981
+ "type": "uint256"
982
+ },
983
+ {
984
+ "internalType": "uint256",
985
+ "name": "ytBalance",
986
+ "type": "uint256"
987
+ },
988
+ {
989
+ "internalType": "uint256",
990
+ "name": "ptBalance",
991
+ "type": "uint256"
992
+ },
993
+ {
994
+ "internalType": "uint256",
995
+ "name": "syBalance",
996
+ "type": "uint256"
997
+ },
998
+ {
999
+ "internalType": "uint256",
1000
+ "name": "buyBins",
1001
+ "type": "uint256"
1002
+ }
1003
+ ],
1004
+ "internalType": "struct BotState",
1005
+ "name": "botState",
1006
+ "type": "tuple"
1007
+ },
1008
+ {
1009
+ "components": [
1010
+ {
1011
+ "components": [
1012
+ {
1013
+ "internalType": "int256",
1014
+ "name": "totalPt",
1015
+ "type": "int256"
1016
+ },
1017
+ {
1018
+ "internalType": "int256",
1019
+ "name": "totalSy",
1020
+ "type": "int256"
1021
+ },
1022
+ {
1023
+ "internalType": "int256",
1024
+ "name": "totalLp",
1025
+ "type": "int256"
1026
+ },
1027
+ {
1028
+ "internalType": "address",
1029
+ "name": "treasury",
1030
+ "type": "address"
1031
+ },
1032
+ {
1033
+ "internalType": "int256",
1034
+ "name": "scalarRoot",
1035
+ "type": "int256"
1036
+ },
1037
+ {
1038
+ "internalType": "uint256",
1039
+ "name": "expiry",
1040
+ "type": "uint256"
1041
+ },
1042
+ {
1043
+ "internalType": "uint256",
1044
+ "name": "lnFeeRateRoot",
1045
+ "type": "uint256"
1046
+ },
1047
+ {
1048
+ "internalType": "uint256",
1049
+ "name": "reserveFeePercent",
1050
+ "type": "uint256"
1051
+ },
1052
+ {
1053
+ "internalType": "uint256",
1054
+ "name": "lastLnImpliedRate",
1055
+ "type": "uint256"
1056
+ }
1057
+ ],
1058
+ "internalType": "struct MarketState",
1059
+ "name": "state",
1060
+ "type": "tuple"
1061
+ },
1062
+ {
1063
+ "internalType": "PYIndex",
1064
+ "name": "index",
1065
+ "type": "uint256"
1066
+ },
1067
+ {
1068
+ "internalType": "uint256",
1069
+ "name": "blockTime",
1070
+ "type": "uint256"
1071
+ }
1072
+ ],
1073
+ "internalType": "struct MarketExtState",
1074
+ "name": "marketExt",
1075
+ "type": "tuple"
1076
+ },
1077
+ {
1078
+ "components": [
1079
+ {
1080
+ "internalType": "uint256",
1081
+ "name": "buyYtIy",
1082
+ "type": "uint256"
1083
+ },
1084
+ {
1085
+ "internalType": "uint256",
1086
+ "name": "sellYtIy",
1087
+ "type": "uint256"
1088
+ },
1089
+ {
1090
+ "internalType": "uint256",
1091
+ "name": "targetSyRatio",
1092
+ "type": "uint256"
1093
+ },
1094
+ {
1095
+ "internalType": "uint256",
1096
+ "name": "maxSyRatio",
1097
+ "type": "uint256"
1098
+ },
1099
+ {
1100
+ "internalType": "uint256",
1101
+ "name": "targetYtPtRatio",
1102
+ "type": "uint256"
1103
+ },
1104
+ {
1105
+ "internalType": "uint256",
1106
+ "name": "numOfBins",
1107
+ "type": "uint256"
1108
+ }
1109
+ ],
1110
+ "internalType": "struct TradingSpecs",
1111
+ "name": "specs",
1112
+ "type": "tuple"
1113
+ }
1114
+ ],
1115
+ "internalType": "struct StrategyData",
1116
+ "name": "strategyData",
1117
+ "type": "tuple"
1118
+ },
1119
+ {
1120
+ "internalType": "enum ActionType",
1121
+ "name": "action",
1122
+ "type": "uint8"
1123
+ },
1124
+ {
1125
+ "internalType": "uint256",
1126
+ "name": "targetIy",
1127
+ "type": "uint256"
1128
+ },
1129
+ {
1130
+ "internalType": "uint256",
1131
+ "name": "rebalanceAdditionalCheck",
1132
+ "type": "uint256"
1133
+ },
1134
+ {
1135
+ "components": [
1136
+ {
1137
+ "internalType": "uint256",
1138
+ "name": "guessMin",
1139
+ "type": "uint256"
1140
+ },
1141
+ {
1142
+ "internalType": "uint256",
1143
+ "name": "guessMax",
1144
+ "type": "uint256"
1145
+ },
1146
+ {
1147
+ "internalType": "uint256",
1148
+ "name": "guessOffchain",
1149
+ "type": "uint256"
1150
+ },
1151
+ {
1152
+ "internalType": "uint256",
1153
+ "name": "maxIteration",
1154
+ "type": "uint256"
1155
+ },
1156
+ {
1157
+ "internalType": "uint256",
1158
+ "name": "eps",
1159
+ "type": "uint256"
1160
+ }
1161
+ ],
1162
+ "internalType": "struct ApproxParams",
1163
+ "name": "botParams",
1164
+ "type": "tuple"
1165
+ },
1166
+ {
1167
+ "components": [
1168
+ {
1169
+ "internalType": "uint256",
1170
+ "name": "guessMin",
1171
+ "type": "uint256"
1172
+ },
1173
+ {
1174
+ "internalType": "uint256",
1175
+ "name": "guessMax",
1176
+ "type": "uint256"
1177
+ },
1178
+ {
1179
+ "internalType": "uint256",
1180
+ "name": "guessOffchain",
1181
+ "type": "uint256"
1182
+ },
1183
+ {
1184
+ "internalType": "uint256",
1185
+ "name": "maxIteration",
1186
+ "type": "uint256"
1187
+ },
1188
+ {
1189
+ "internalType": "uint256",
1190
+ "name": "eps",
1191
+ "type": "uint256"
1192
+ }
1193
+ ],
1194
+ "internalType": "struct ApproxParams",
1195
+ "name": "intParams",
1196
+ "type": "tuple"
1197
+ }
1198
+ ],
1199
+ "name": "searchForBotParam",
1200
+ "outputs": [
1201
+ {
1202
+ "internalType": "uint256",
1203
+ "name": "",
1204
+ "type": "uint256"
1205
+ }
1206
+ ],
1207
+ "stateMutability": "pure",
1208
+ "type": "function"
1209
+ }
1210
+ ],
1211
+ "bytecode": "0x608060405234801561001057600080fd5b5061353d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100835760003560e01c806303270af414610088578063194d91fc146100ae578063394dd045146100c15780638e727446146100f45780639d2a679f14610114578063a76541e51461011d578063ac4c7e8414610130578063cf0933611461013d578063cf209b601461015e575b600080fd5b61009b610096366004612fea565b610242565b6040519081526020015b60405180910390f35b61009b6100bc366004613059565b61043e565b6100d46100cf366004613076565b61050a565b6040805194855260208501939093529183015260608201526080016100a5565b610107610102366004613059565b610531565b6040516100a591906130a9565b61009b60001981565b61009b61012b366004613076565b610703565b61009b655af3107a400081565b61015061014b36600461310a565b61072a565b6040516100a592919061314a565b61017161016c366004613158565b610796565b6040516100a593929190600061022082019050841515825283516020830152602084015160408301526040840151606083015260608401516080830152608084015160a08301528251805160c0840152602081015160e08401526040810151610100818186015260018060a01b03606084015116610120860152608083015161014086015260a083015161016086015260c083015161018086015260e08301516101a0860152808301516101c086015250505060208301516101e08301526040830151610200830152949350505050565b600080604051806060016040528089815260200188600481111561026857610268613093565b81526020018790526040850151909150156102b657600161029482866040015188886080015188610824565b60028111156102a5576102a5613093565b036102b65750506040820151610434565b60006102cb89600001518a602001518a6108e9565b905080856020015111156102e157602085018190525b60208501518551111561032c5787600481111561030057610300613093565b8551602087015160405163f25ccea360e01b8152610323939291906004016131ab565b60405180910390fd5b50600261034482866020015188886080015188610824565b600281111561035557610355613093565b146103665750506020820151610434565b60005b846060015181101561041a57600060028660000151876020015161038d91906131d7565b6103979190613200565b86516103a39190613214565b905060006103b884838a8a608001518a610824565b905060018160028111156103ce576103ce613093565b036103de57509250610434915050565b60008160028111156103f2576103f2613093565b036103ff57818752610407565b602087018290525b50508061041390613227565b9050610369565b5060405163fef33c9d60e01b815260040160405180910390fd5b9695505050505050565b600080826001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102c0604051808303816000875af1158015610482573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a691906132a3565b90506000806104bd8360000151846020015161091d565b5092505091508260400151606001518110156104de57506000949350505050565b60408084015101516104f19083906109a6565b83516060015161050191906131d7565b95945050505050565b6000806000806105228560000151866020015161091d565b93509350935093509193509193565b61056b6040805160c08101909152806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000826001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102c0604051808303816000875af11580156105ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d291906132a3565b905060006105e382602001516109c9565b90506105f88260000151836040015183610a16565b6020840181905260000361061157505060008152919050565b610628826000015183604001518560200151610a2b565b6040840152602083015160001990600013156106775760038452600061064d84610a7f565b905061066f818660200151866000015160800151876040015160a00151610b9f565b9150506106a4565b60048452825160208082015190860151608090920151604086015160a001516106a1939190610b9f565b90505b806000036106b85750506000825250919050565b6106d9838560000151866040015160006106d186610c3f565b610096610c7b565b60608501819052602084015185516106f09261072a565b608086015260a085015250919392505050565b60006107248260000151836040015161071f85602001516109c9565b610a16565b92915050565b600080600384600481111561074157610741613093565b0361076c5761076283610752610c7b565b61075b88610cbb565b9190610cf9565b909250905061078e565b61078883610778610c7b565b61078188610cbb565b9190610d42565b90925090505b935093915050565b60006107a0612ca3565b6107a8612cd2565b86516107b390610d80565b91506107c28760200151610cbb565b905060038660048111156107d8576107d8613093565b036107f0576107e982828787610dca565b925061081a565b600486600481111561080457610804613093565b03610815576107e982828787610e32565b600092505b9450945094915050565b600080600061083d886000015189602001518987610796565b92505091508161085257600292505050610501565b600061085d826109c9565b905060038960200151600481111561087757610877613093565b036108995788604001518111156108945760029350505050610501565b6108b1565b88604001518110156108b15760029350505050610501565b6108c0818a6040015188610e8b565b156108d15760019350505050610501565b60009350505050610501565b50505095945050505050565b600060038260048111156108ff576108ff613093565b0361090f57506040830151610916565b5060208301515b9392505050565b600080808061092c8686610ed3565b9350610937856109c9565b60608701519093506109499085610fc1565b91506000610964876000015161095e88610cbb565b90610fe7565b91505060008760400151826109799190613214565b905080156109955760208801516109909082610fc1565b610999565b6000195b9250505092959194509250565b6000806109b383856133dc565b9050670de0b6b3a7640000815b04949350505050565b6000670de0b6b3a7640000610a0c6109fd8460400151856000015160a001516109f291906131d7565b6301e1338090610fc1565b610a068561109e565b906110eb565b61072491906131d7565b6000610a23838584611294565b949350505050565b600081600003610a3d57610a3d6133f3565b6000610a4985846112a9565b90506000831215610a7157610a69610a62826001613214565b85906112f0565b915050610916565b610a69610a626001836131d7565b600080610a948360000151846020015161091d565b9350505050826040015160800151811115610ab25750600092915050565b6000610ac5846000015160400151610c3f565b90506000610ad1610c7b565b90505b8151610ae1906001613214565b82602001511115610b96576000600283600001518460200151610b0491906131d7565b610b0e9190613200565b8351610b1a9190613214565b90506000806000610b2e8960038688610796565b92509250925082610b5357610b446001856131d7565b602087015250610ad492505050565b6000610b5f838361091d565b93505050508960400151608001518111610b7b57848752610b8c565b610b866001866131d7565b60208801525b5050505050610ad4565b50519392505050565b600083600003610bb157610bb16133f3565b6000808512610bd55783610bc68460026133dc565b610bd091906131d7565b610bd7565b835b9050600081670de0b6b3a7640000610bee8861135f565b610bf891906133dc565b610c029190613200565b90506000670de0b6b3a7640000610c1d83610a068184613214565b610c2791906131d7565b9050610c3388826109a6565b98975050505050505050565b610c47612ca3565b506040805160a0810182526001815260208101929092526000908201526101006060820152655af3107a4000608082015290565b610c83612ca3565b6040518060a00160405280600181526020016000198152602001600081526020016101008152602001655af3107a4000815250905090565b610cc3612cd2565b6040518060600160405280610cdb846000015161137a565b81526020018360200151815260200183604001518152509050919050565b6020830151604084015184516000928392610d189291908790876113f7565b50602087015160408801518851939550919350610d3792918490611518565b505050935093915050565b6020830151604084015184516000928392610d61929190879087611569565b50602087015160408801518851939550919350610d379291849061165e565b610d88612ca3565b6040518060a001604052808360000151815260200183602001518152602001836040015181526020018360600151815260200183608001518152509050919050565b60008460400151831115610de057506000610a23565b6000610df784610def85610d80565b879190610cf9565b5090508386604001818151610e0c91906131d7565b905250602086018051829190610e23908390613214565b90525060019695505050505050565b60008460200151831115610e4857506000610a23565b6000610e5f84610e5785610d80565b879190610d42565b5090508086604001818151610e749190613214565b905250602086018051859190610e239083906131d7565b600083610ea984610ea485670de0b6b3a76400006131d7565b6109a6565b11158015610a235750610ec883610ea484670de0b6b3a7640000613214565b909311159392505050565b600080610edf83610cbb565b9050600080610efb866000015184610fe790919063ffffffff16565b915091506000828760600151610f119190613214565b90506000876040015183610f259190613214565b905087602001518111610f7357610f3c8582611687565b610f469083613214565b9150610f62818960200151610f5b91906131d7565b8690611699565b610f6c9083613214565b9150610fb6565b6020880151610f83908690611687565b610f8d9083613214565b9150610fa9886020015182610fa291906131d7565b86906116f4565b610fb39083613214565b91505b509695505050505050565b600080610fd6670de0b6b3a7640000856133dc565b90508281816109c0576109c06131ea565b6000806000610ff584611718565b855160408101516020909101519192506000916110129084613409565b61101c9190613439565b8651604081015190519192506000916110359085613409565b61103f9190613439565b875160400151909150611052908461172e565b875160400152865151611065908261172e565b875152865160200151611078908361172e565b87516020015261108782611775565b61109082611775565b945094505050509250929050565b60208101516040820151825160009283926110ba929190611784565b905060006110e0846000015160000151836020015184600001518560400151600061187e565b9050610a2381611775565b6000816000036111045750670de0b6b3a7640000610724565b8260000361111457506000610724565b600160ff1b83106111595760405162461bcd60e51b815260206004820152600f60248201526e78206f7574206f6620626f756e647360881b6044820152606401610323565b82770bce5086492111aea88f4bb1ca6bcf584181ea8059f7653283106111b35760405162461bcd60e51b815260206004820152600f60248201526e79206f7574206f6620626f756e647360881b6044820152606401610323565b826000670c7d713b49da0000831380156111d45750670f43fc2c04ee000083125b1561120b5760006111e48461192a565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050611219565b8161121584611a49565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590611247575068070c1cc73b00c800008113155b61128b5760405162461bcd60e51b815260206004820152601560248201527470726f64756374206f7574206f6620626f756e647360581b6044820152606401610323565b61043481611dec565b6000610a23836112a48685612201565b61226d565b6000816000036112bb576112bb6133f3565b600182126112d157816112cd81613467565b9250505b6109166112e18460800151611718565b6112eb908461347f565b611775565b60008115801590611310575060a083015161130c9060026133dc565b8214155b61131c5761131c6133f3565b6000611327846122a4565b9050611334600282613200565b61133f6001856131d7565b61134990836133dc565b85516113559190613214565b610a239190613214565b600080821361137657611371826134a7565b610724565b5090565b611382612cf9565b60405180610120016040528083600001518152602001836020015181526020018360400151815260200183606001516001600160a01b03168152602001836080015181526020018360a0015181526020018360c0015181526020018360e0015181526020018361010001518152509050919050565b6000808080611407898988611784565b9050846040015160000361144957845161142190886122d2565b8552602085015161143b906114368b846122e8565b61236c565b60208601526114498561237b565b60005b85606001518110156114f357600061146487836123c9565b90506000806114758d868e8661242e565b50909250905060006114878d8461245f565b9050600061149582866131d7565b90508c81116114cc576114ad818e8d6080015161246b565b156114c45750975091955090935061150d92505050565b848b526114dd565b6114d76001866131d7565b60208c01525b5050505050806114ec90613227565b905061144c565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b6000806000806000806115358a8a61152f8b612499565b8a6124b0565b92509250925061154483611775565b955061154f82611775565b945061155a81611775565b93505050509450945094915050565b6000808080611579898988611784565b905084604001516000036115ba57845161159390886122d2565b8552602085015189516115ac9190611436908490612543565b60208601526115ba8561237b565b60005b85606001518110156114f35760006115d587836123c9565b90506000806115e68d868e866125db565b50909250905060006115f88d8461260d565b90508b811161163857611610818d8c6080015161246b565b156116305761161f81856131d7565b9850929650945061150d9350505050565b838a52611649565b6116436001856131d7565b60208b01525b505050508061165790613227565b90506115bd565b6000806000806000806116758a8a61152f8b611718565b9250925092506115446112eb8461261a565b60208201516000906109169083612628565b60208201516040830151835160009283926116b7929190869061165e565b5050905060006116d482866020015161260d90919063ffffffff16565b905060006116e282866131d7565b60208701519091506104349082612628565b60208201516040830151835160009261170e928590611518565b5090949350505050565b60006001600160ff1b0382111561137657600080fd5b60008183121561176b5760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b6044820152606401610323565b61091682846134c3565b60008082121561137657600080fd5b6117af6040518060800160405280600081526020016000815260200160008152602001600081525090565b60a084015182106117d35760405163b2094b5960e01b815260040160405180910390fd5b6000828560a001516117e591906131d7565b90506117f18582612634565b82526020850151611803908590612695565b60208301528451158061181857506020820151155b1561183f578451602083015160405163b1c4aefb60e01b815261032392919060040161314a565b61185d856000015186610100015184602001518560000151856126cc565b604083015260c0850151611871908261274d565b6060830152509392505050565b60008061188b878461172e565b905060006118a361189c888a61347f565b8390612781565b9050670d529ae9e86000008113156118da5780670d529ae9e8600000604051637e34684f60e11b815260040161032392919061314a565b60006118e5826127b0565b9050856118f28289612781565b6118fc919061347f565b9350670de0b6b3a76400008412156108dd5760405163329e322960e21b815260048101859052602401610323565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161196b5761196b6131ea565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215611a8a57611a81826a0c097ce7bc90715b34b9f160241b81611a7b57611a7b6131ea565b05611a49565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312611ad55772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312611b0c576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611b54576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312611b8f576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312611bc657693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312611bfd57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312611c325768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312611c5d57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312611c92576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312611cc7576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312611cfb576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312611d2f576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281611d5857611d586131ea565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6000680238fd42c5cf03ffff198212158015611e11575068070c1cc73b00c800008213155b611e505760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610323565b6000821215611e8857611e6582600003611dec565b6a0c097ce7bc90715b34b9f160241b81611e8157611e816131ea565b0592915050565b60006806f05b59d3b20000008312611ec657506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b611efc565b6803782dace9d90000008312611ef857506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380611efc565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412611f4c5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412611f88576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412611fc257682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412611ffc576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261203557680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d63100000841261206e5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126120a7576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126120e05768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b815160009082101561221557506000610724565b82602001518211156122435760a08301516122319060026133dc565b61223c906001613214565b9050610724565b61224c836122a4565b835161225890846131d7565b6122629190613200565b610916906001613214565b60008061227d8460800151611718565b61228684611718565b61229091906134c3565b9050600181126109165780610501816134ea565b60008160a0015160026122b791906133dc565b825160208401516122c891906131d7565b6107249190613200565b60008183116122e15781610916565b5090919050565b6000806000905060006001846020015161230291906131d7565b90505b808214612364576000600261231a8385613214565b612325906001613214565b61232f9190613200565b9050600061234286886000015184612803565b121561235a576123536001826131d7565b915061235e565b8092505b50612305565b509392505050565b60008183106122e15781610916565b6020810151815111806123995750670de0b6b3a76400008160800151115b156123c657805160208201516080830151604051632cc06bc160e21b8152610323939291906004016131ab565b50565b6000811580156123dc5750604083015115155b156123ec57506040820151610724565b6020830151835111612415576020830151835160029161240b91613214565b61223c9190613200565b604051637d388ed960e11b815260040160405180910390fd5b6000808080808061244c89896124438a6134a7565b8d9291906128f5565b919c909b50909950975050505050505050565b60006109168383612a49565b6000828411158015610a23575061248e83610ea484670de0b6b3a76400006131d7565b909310159392505050565b60006124a482611718565b61072490600019613409565b60008060006124c38760a0015185101590565b156124e15760405163b2094b5960e01b815260040160405180910390fd5b86518512612507578651604051632185509b60e21b81526103239190879060040161314a565b6000612514888887611784565b9050612522888289896128f5565b919550935091506125388882898988878b612a68565b509450945094915050565b60008061257061256b85600001518660400151876060015161256591906134c3565b90612afa565b611dec565b9050600061258961189c670de0b6b3a76400008461347f565b905060006125a78660200151866125a0919061347f565b8390612afa565b905060006125b582876134c3565b90506103e86125c6826103e76133dc565b6125d09190613200565b979650505050505050565b600080808080806125ee8a8a8a8a6128f5565b925092509250826125fe906134a7565b9a919950975095505050505050565b600082610a238184612b18565b600061072482600019613409565b60006109168383612b44565b600061263f82611718565b6126566126516201518061016d6133dc565b611718565b84608001516126659190613409565b61266f9190613439565b90506000811361072457604051630e520c3b60e11b815260048101829052602401610323565b600080600083126126a75760016126ab565b6000195b90506126c2612651856126bd8661135f565b612a49565b610a239082613409565b6000806126d9868461274d565b9050670de0b6b3a76400008112156127075760405163329e322960e21b815260048101829052602401610323565b600061271d612716878a61347f565b8990612781565b9050600061272a826127b0565b90506127368187612781565b61274090846134c3565b9998505050505050505050565b60008061275f6201518061016d6133dc565b61276984866133dc565b6127739190613200565b9050610a2361256b82611718565b600080612796670de0b6b3a764000085613409565b90508281816127a7576127a76131ea565b05949350505050565b6000670de0b6b3a764000082036127da5760405163a9c8b14d60e01b815260040160405180910390fd5b60006127f86127f184670de0b6b3a76400006134c3565b8490612781565b905061091681612b59565b60008082856020015161281691906134c3565b90506000612824858561347f565b90506000821380156128365750600081135b6128775760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b6044820152606401610323565b60006128a56128868484613409565b6020890151612895908961347f565b61289f9088613409565b90612781565b905060006128bb6128b68486612781565b612b59565b88519091506000906128d690670de0b6b3a764000090612781565b90506128e68161256584866134c3565b896040015161274091906134c3565b6000806000806129188860000151886020015189600001518a604001518961187e565b9050600061292e6129298784612781565b61261a565b6060890151909150600087131561299d57600061294b8483612781565b9050670de0b6b3a76400008112156129795760405163329e322960e21b815260048101829052602401610323565b61299561298e83670de0b6b3a76400006134c3565b8490612afa565b9150506129ca565b6129c7816129b381670de0b6b3a76400006134c3565b6129bd9085613409565b6129299190613439565b90505b600060646129db8c60e00151611718565b6129e59084613409565b6129ef9190613439565b905060006129fd83856134c3565b905060008112612a1657612a118a82612bea565b612a20565b612a208a82612c17565b9750612a2c8a84612bea565b9650612a388a83612bea565b955050505050509450945094915050565b6000670de0b6b3a7640000612a5e84846133dc565b6109169190613200565b6000818860a00151612a7a91906131d7565b8851909150612a89908661172e565b8852612aa3612a98848661347f565b60208a01519061172e565b602089018190528851612ac891612abb908990612695565b895160408b015185612c44565b6101008901819052600003612af057604051635534d70f60e11b815260040160405180910390fd5b5050505050505050565b600080612b078385613409565b9050670de0b6b3a7640000816127a7565b6000670de0b6b3a7640000600181612b3086866133dc565b612b3a9190613214565b612a5e91906131d7565b600082612a5e670de0b6b3a7640000846133dc565b6000808213612b9a5760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610323565b670c7d713b49da000082138015612bb85750670f43fc2c04ee000082125b15612bdc57670de0b6b3a7640000612bcf8361192a565b81611e8157611e816131ea565b61072482611a49565b919050565b60008060008312612bfc576001612c00565b6000195b90506126c261265185612c128661135f565b612b44565b60008060008312612c29576001612c2d565b6000195b90506126c261265185612c3f8661135f565b612c8b565b600080612c5587878787600061187e565b90506000612c656112eb83612b59565b905083612c776201518061016d6133dc565b612c8190836133dc565b610c339190613200565b600082600181612b30670de0b6b3a7640000866133dc565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060600160405280612ce5612cf9565b815260200160008152602001600081525090565b60405180610120016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b60405160a081016001600160401b0381118282101715612d7e57634e487b7160e01b600052604160045260246000fd5b60405290565b604051606081016001600160401b0381118282101715612d7e57634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715612d7e57634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b0381118282101715612d7e57634e487b7160e01b600052604160045260246000fd5b600060a08284031215612e2757600080fd5b612e2f612d4e565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015292915050565b6001600160a01b03811681146123c657600080fd5b8035612be581612e63565b6000818303610160811215612e9757600080fd5b612e9f612d84565b915061012080821215612eb157600080fd5b612eb9612db4565b9150833582526020840135602083015260408401356040830152612edf60608501612e78565b60608301526080840135608083015260a084013560a083015260c084013560c083015260e084013560e08301526101008085013581840152508183528084013560208401525050610140820135604082015292915050565b60008183036102c0811215612f4b57600080fd5b612f53612d84565b9150612f5f8484612e15565b8252612f6e8460a08501612e83565b602083015260c06101ff1982011215612f8657600080fd5b50612f8f612de5565b610200830135815261022083013560208201526102408301356040820152610260830135606082015261028083013560808201526102a083013560a08201528060408301525092915050565b803560058110612be557600080fd5b600080600080600080610460878903121561300457600080fd5b61300e8888612f37565b955061301d6102c08801612fdb565b94506102e08701359350610300870135925061303d886103208901612e15565b915061304d886103c08901612e15565b90509295509295509295565b60006020828403121561306b57600080fd5b813561091681612e63565b60006102c0828403121561308957600080fd5b6109168383612f37565b634e487b7160e01b600052602160045260246000fd5b815160c0820190600581106130ce57634e487b7160e01b600052602160045260246000fd5b808352506020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b60008060006101a0848603121561312057600080fd5b61312a8585612e83565b92506131396101608501612fdb565b915061018084013590509250925092565b918252602082015260400190565b6000806000806103a0858703121561316f57600080fd5b6131798686612f37565b93506131886102c08601612fdb565b92506102e085013591506131a0866103008701612e15565b905092959194509250565b9283526020830191909152604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115610724576107246131c1565b634e487b7160e01b600052601260045260246000fd5b60008261320f5761320f6131ea565b500490565b80820180821115610724576107246131c1565b600060018201613239576132396131c1565b5060010190565b8051612be581612e63565b600060c0828403121561325d57600080fd5b613265612de5565b9050815181526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b60008183036102c08112156132b757600080fd5b6132bf612d84565b60a08212156132cd57600080fd5b6132d5612d4e565b845181526020850151602082015260408501516040820152606085015160608201526080850151608082015280825250609f19820191506101608083121561331c57600080fd5b613324612d84565b6101208085121561333457600080fd5b61333c612db4565b945060a0870151855260c0870151602086015260e08701516040860152610100613367818901613240565b606087015281880151608087015261014088015160a08701528388015160c087015261018088015160e08701526101a08801518187015250508381526101c086015160208201526101e0860151604082015280602084015250506133cf85610200860161324b565b6040820152949350505050565b8082028115828204841417610724576107246131c1565b634e487b7160e01b600052600160045260246000fd5b80820260008212600160ff1b84141615613425576134256131c1565b8181058314821517610724576107246131c1565b600082613448576134486131ea565b600160ff1b821460001984141615613462576134626131c1565b500590565b60006001600160ff1b018201613239576132396131c1565b808201828112600083128015821682158216171561349f5761349f6131c1565b505092915050565b6000600160ff1b82016134bc576134bc6131c1565b5060000390565b81810360008312801583831316838312821617156134e3576134e36131c1565b5092915050565b6000600160ff1b82016134ff576134ff6131c1565b50600019019056fea2646970667358221220bfe4c61a1f2f17da321f6fc7c5cd8aa1d49cf6793e2fa14188ace8513a60115464736f6c63430008110033",
1212
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100835760003560e01c806303270af414610088578063194d91fc146100ae578063394dd045146100c15780638e727446146100f45780639d2a679f14610114578063a76541e51461011d578063ac4c7e8414610130578063cf0933611461013d578063cf209b601461015e575b600080fd5b61009b610096366004612fea565b610242565b6040519081526020015b60405180910390f35b61009b6100bc366004613059565b61043e565b6100d46100cf366004613076565b61050a565b6040805194855260208501939093529183015260608201526080016100a5565b610107610102366004613059565b610531565b6040516100a591906130a9565b61009b60001981565b61009b61012b366004613076565b610703565b61009b655af3107a400081565b61015061014b36600461310a565b61072a565b6040516100a592919061314a565b61017161016c366004613158565b610796565b6040516100a593929190600061022082019050841515825283516020830152602084015160408301526040840151606083015260608401516080830152608084015160a08301528251805160c0840152602081015160e08401526040810151610100818186015260018060a01b03606084015116610120860152608083015161014086015260a083015161016086015260c083015161018086015260e08301516101a0860152808301516101c086015250505060208301516101e08301526040830151610200830152949350505050565b600080604051806060016040528089815260200188600481111561026857610268613093565b81526020018790526040850151909150156102b657600161029482866040015188886080015188610824565b60028111156102a5576102a5613093565b036102b65750506040820151610434565b60006102cb89600001518a602001518a6108e9565b905080856020015111156102e157602085018190525b60208501518551111561032c5787600481111561030057610300613093565b8551602087015160405163f25ccea360e01b8152610323939291906004016131ab565b60405180910390fd5b50600261034482866020015188886080015188610824565b600281111561035557610355613093565b146103665750506020820151610434565b60005b846060015181101561041a57600060028660000151876020015161038d91906131d7565b6103979190613200565b86516103a39190613214565b905060006103b884838a8a608001518a610824565b905060018160028111156103ce576103ce613093565b036103de57509250610434915050565b60008160028111156103f2576103f2613093565b036103ff57818752610407565b602087018290525b50508061041390613227565b9050610369565b5060405163fef33c9d60e01b815260040160405180910390fd5b9695505050505050565b600080826001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102c0604051808303816000875af1158015610482573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a691906132a3565b90506000806104bd8360000151846020015161091d565b5092505091508260400151606001518110156104de57506000949350505050565b60408084015101516104f19083906109a6565b83516060015161050191906131d7565b95945050505050565b6000806000806105228560000151866020015161091d565b93509350935093509193509193565b61056b6040805160c08101909152806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000826001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102c0604051808303816000875af11580156105ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d291906132a3565b905060006105e382602001516109c9565b90506105f88260000151836040015183610a16565b6020840181905260000361061157505060008152919050565b610628826000015183604001518560200151610a2b565b6040840152602083015160001990600013156106775760038452600061064d84610a7f565b905061066f818660200151866000015160800151876040015160a00151610b9f565b9150506106a4565b60048452825160208082015190860151608090920151604086015160a001516106a1939190610b9f565b90505b806000036106b85750506000825250919050565b6106d9838560000151866040015160006106d186610c3f565b610096610c7b565b60608501819052602084015185516106f09261072a565b608086015260a085015250919392505050565b60006107248260000151836040015161071f85602001516109c9565b610a16565b92915050565b600080600384600481111561074157610741613093565b0361076c5761076283610752610c7b565b61075b88610cbb565b9190610cf9565b909250905061078e565b61078883610778610c7b565b61078188610cbb565b9190610d42565b90925090505b935093915050565b60006107a0612ca3565b6107a8612cd2565b86516107b390610d80565b91506107c28760200151610cbb565b905060038660048111156107d8576107d8613093565b036107f0576107e982828787610dca565b925061081a565b600486600481111561080457610804613093565b03610815576107e982828787610e32565b600092505b9450945094915050565b600080600061083d886000015189602001518987610796565b92505091508161085257600292505050610501565b600061085d826109c9565b905060038960200151600481111561087757610877613093565b036108995788604001518111156108945760029350505050610501565b6108b1565b88604001518110156108b15760029350505050610501565b6108c0818a6040015188610e8b565b156108d15760019350505050610501565b60009350505050610501565b50505095945050505050565b600060038260048111156108ff576108ff613093565b0361090f57506040830151610916565b5060208301515b9392505050565b600080808061092c8686610ed3565b9350610937856109c9565b60608701519093506109499085610fc1565b91506000610964876000015161095e88610cbb565b90610fe7565b91505060008760400151826109799190613214565b905080156109955760208801516109909082610fc1565b610999565b6000195b9250505092959194509250565b6000806109b383856133dc565b9050670de0b6b3a7640000815b04949350505050565b6000670de0b6b3a7640000610a0c6109fd8460400151856000015160a001516109f291906131d7565b6301e1338090610fc1565b610a068561109e565b906110eb565b61072491906131d7565b6000610a23838584611294565b949350505050565b600081600003610a3d57610a3d6133f3565b6000610a4985846112a9565b90506000831215610a7157610a69610a62826001613214565b85906112f0565b915050610916565b610a69610a626001836131d7565b600080610a948360000151846020015161091d565b9350505050826040015160800151811115610ab25750600092915050565b6000610ac5846000015160400151610c3f565b90506000610ad1610c7b565b90505b8151610ae1906001613214565b82602001511115610b96576000600283600001518460200151610b0491906131d7565b610b0e9190613200565b8351610b1a9190613214565b90506000806000610b2e8960038688610796565b92509250925082610b5357610b446001856131d7565b602087015250610ad492505050565b6000610b5f838361091d565b93505050508960400151608001518111610b7b57848752610b8c565b610b866001866131d7565b60208801525b5050505050610ad4565b50519392505050565b600083600003610bb157610bb16133f3565b6000808512610bd55783610bc68460026133dc565b610bd091906131d7565b610bd7565b835b9050600081670de0b6b3a7640000610bee8861135f565b610bf891906133dc565b610c029190613200565b90506000670de0b6b3a7640000610c1d83610a068184613214565b610c2791906131d7565b9050610c3388826109a6565b98975050505050505050565b610c47612ca3565b506040805160a0810182526001815260208101929092526000908201526101006060820152655af3107a4000608082015290565b610c83612ca3565b6040518060a00160405280600181526020016000198152602001600081526020016101008152602001655af3107a4000815250905090565b610cc3612cd2565b6040518060600160405280610cdb846000015161137a565b81526020018360200151815260200183604001518152509050919050565b6020830151604084015184516000928392610d189291908790876113f7565b50602087015160408801518851939550919350610d3792918490611518565b505050935093915050565b6020830151604084015184516000928392610d61929190879087611569565b50602087015160408801518851939550919350610d379291849061165e565b610d88612ca3565b6040518060a001604052808360000151815260200183602001518152602001836040015181526020018360600151815260200183608001518152509050919050565b60008460400151831115610de057506000610a23565b6000610df784610def85610d80565b879190610cf9565b5090508386604001818151610e0c91906131d7565b905250602086018051829190610e23908390613214565b90525060019695505050505050565b60008460200151831115610e4857506000610a23565b6000610e5f84610e5785610d80565b879190610d42565b5090508086604001818151610e749190613214565b905250602086018051859190610e239083906131d7565b600083610ea984610ea485670de0b6b3a76400006131d7565b6109a6565b11158015610a235750610ec883610ea484670de0b6b3a7640000613214565b909311159392505050565b600080610edf83610cbb565b9050600080610efb866000015184610fe790919063ffffffff16565b915091506000828760600151610f119190613214565b90506000876040015183610f259190613214565b905087602001518111610f7357610f3c8582611687565b610f469083613214565b9150610f62818960200151610f5b91906131d7565b8690611699565b610f6c9083613214565b9150610fb6565b6020880151610f83908690611687565b610f8d9083613214565b9150610fa9886020015182610fa291906131d7565b86906116f4565b610fb39083613214565b91505b509695505050505050565b600080610fd6670de0b6b3a7640000856133dc565b90508281816109c0576109c06131ea565b6000806000610ff584611718565b855160408101516020909101519192506000916110129084613409565b61101c9190613439565b8651604081015190519192506000916110359085613409565b61103f9190613439565b875160400151909150611052908461172e565b875160400152865151611065908261172e565b875152865160200151611078908361172e565b87516020015261108782611775565b61109082611775565b945094505050509250929050565b60208101516040820151825160009283926110ba929190611784565b905060006110e0846000015160000151836020015184600001518560400151600061187e565b9050610a2381611775565b6000816000036111045750670de0b6b3a7640000610724565b8260000361111457506000610724565b600160ff1b83106111595760405162461bcd60e51b815260206004820152600f60248201526e78206f7574206f6620626f756e647360881b6044820152606401610323565b82770bce5086492111aea88f4bb1ca6bcf584181ea8059f7653283106111b35760405162461bcd60e51b815260206004820152600f60248201526e79206f7574206f6620626f756e647360881b6044820152606401610323565b826000670c7d713b49da0000831380156111d45750670f43fc2c04ee000083125b1561120b5760006111e48461192a565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050611219565b8161121584611a49565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590611247575068070c1cc73b00c800008113155b61128b5760405162461bcd60e51b815260206004820152601560248201527470726f64756374206f7574206f6620626f756e647360581b6044820152606401610323565b61043481611dec565b6000610a23836112a48685612201565b61226d565b6000816000036112bb576112bb6133f3565b600182126112d157816112cd81613467565b9250505b6109166112e18460800151611718565b6112eb908461347f565b611775565b60008115801590611310575060a083015161130c9060026133dc565b8214155b61131c5761131c6133f3565b6000611327846122a4565b9050611334600282613200565b61133f6001856131d7565b61134990836133dc565b85516113559190613214565b610a239190613214565b600080821361137657611371826134a7565b610724565b5090565b611382612cf9565b60405180610120016040528083600001518152602001836020015181526020018360400151815260200183606001516001600160a01b03168152602001836080015181526020018360a0015181526020018360c0015181526020018360e0015181526020018361010001518152509050919050565b6000808080611407898988611784565b9050846040015160000361144957845161142190886122d2565b8552602085015161143b906114368b846122e8565b61236c565b60208601526114498561237b565b60005b85606001518110156114f357600061146487836123c9565b90506000806114758d868e8661242e565b50909250905060006114878d8461245f565b9050600061149582866131d7565b90508c81116114cc576114ad818e8d6080015161246b565b156114c45750975091955090935061150d92505050565b848b526114dd565b6114d76001866131d7565b60208c01525b5050505050806114ec90613227565b905061144c565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b6000806000806000806115358a8a61152f8b612499565b8a6124b0565b92509250925061154483611775565b955061154f82611775565b945061155a81611775565b93505050509450945094915050565b6000808080611579898988611784565b905084604001516000036115ba57845161159390886122d2565b8552602085015189516115ac9190611436908490612543565b60208601526115ba8561237b565b60005b85606001518110156114f35760006115d587836123c9565b90506000806115e68d868e866125db565b50909250905060006115f88d8461260d565b90508b811161163857611610818d8c6080015161246b565b156116305761161f81856131d7565b9850929650945061150d9350505050565b838a52611649565b6116436001856131d7565b60208b01525b505050508061165790613227565b90506115bd565b6000806000806000806116758a8a61152f8b611718565b9250925092506115446112eb8461261a565b60208201516000906109169083612628565b60208201516040830151835160009283926116b7929190869061165e565b5050905060006116d482866020015161260d90919063ffffffff16565b905060006116e282866131d7565b60208701519091506104349082612628565b60208201516040830151835160009261170e928590611518565b5090949350505050565b60006001600160ff1b0382111561137657600080fd5b60008183121561176b5760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b6044820152606401610323565b61091682846134c3565b60008082121561137657600080fd5b6117af6040518060800160405280600081526020016000815260200160008152602001600081525090565b60a084015182106117d35760405163b2094b5960e01b815260040160405180910390fd5b6000828560a001516117e591906131d7565b90506117f18582612634565b82526020850151611803908590612695565b60208301528451158061181857506020820151155b1561183f578451602083015160405163b1c4aefb60e01b815261032392919060040161314a565b61185d856000015186610100015184602001518560000151856126cc565b604083015260c0850151611871908261274d565b6060830152509392505050565b60008061188b878461172e565b905060006118a361189c888a61347f565b8390612781565b9050670d529ae9e86000008113156118da5780670d529ae9e8600000604051637e34684f60e11b815260040161032392919061314a565b60006118e5826127b0565b9050856118f28289612781565b6118fc919061347f565b9350670de0b6b3a76400008412156108dd5760405163329e322960e21b815260048101859052602401610323565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161196b5761196b6131ea565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215611a8a57611a81826a0c097ce7bc90715b34b9f160241b81611a7b57611a7b6131ea565b05611a49565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312611ad55772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312611b0c576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611b54576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312611b8f576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312611bc657693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312611bfd57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312611c325768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312611c5d57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312611c92576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312611cc7576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312611cfb576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312611d2f576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281611d5857611d586131ea565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6000680238fd42c5cf03ffff198212158015611e11575068070c1cc73b00c800008213155b611e505760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610323565b6000821215611e8857611e6582600003611dec565b6a0c097ce7bc90715b34b9f160241b81611e8157611e816131ea565b0592915050565b60006806f05b59d3b20000008312611ec657506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b611efc565b6803782dace9d90000008312611ef857506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380611efc565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412611f4c5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412611f88576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412611fc257682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412611ffc576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261203557680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d63100000841261206e5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126120a7576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126120e05768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b815160009082101561221557506000610724565b82602001518211156122435760a08301516122319060026133dc565b61223c906001613214565b9050610724565b61224c836122a4565b835161225890846131d7565b6122629190613200565b610916906001613214565b60008061227d8460800151611718565b61228684611718565b61229091906134c3565b9050600181126109165780610501816134ea565b60008160a0015160026122b791906133dc565b825160208401516122c891906131d7565b6107249190613200565b60008183116122e15781610916565b5090919050565b6000806000905060006001846020015161230291906131d7565b90505b808214612364576000600261231a8385613214565b612325906001613214565b61232f9190613200565b9050600061234286886000015184612803565b121561235a576123536001826131d7565b915061235e565b8092505b50612305565b509392505050565b60008183106122e15781610916565b6020810151815111806123995750670de0b6b3a76400008160800151115b156123c657805160208201516080830151604051632cc06bc160e21b8152610323939291906004016131ab565b50565b6000811580156123dc5750604083015115155b156123ec57506040820151610724565b6020830151835111612415576020830151835160029161240b91613214565b61223c9190613200565b604051637d388ed960e11b815260040160405180910390fd5b6000808080808061244c89896124438a6134a7565b8d9291906128f5565b919c909b50909950975050505050505050565b60006109168383612a49565b6000828411158015610a23575061248e83610ea484670de0b6b3a76400006131d7565b909310159392505050565b60006124a482611718565b61072490600019613409565b60008060006124c38760a0015185101590565b156124e15760405163b2094b5960e01b815260040160405180910390fd5b86518512612507578651604051632185509b60e21b81526103239190879060040161314a565b6000612514888887611784565b9050612522888289896128f5565b919550935091506125388882898988878b612a68565b509450945094915050565b60008061257061256b85600001518660400151876060015161256591906134c3565b90612afa565b611dec565b9050600061258961189c670de0b6b3a76400008461347f565b905060006125a78660200151866125a0919061347f565b8390612afa565b905060006125b582876134c3565b90506103e86125c6826103e76133dc565b6125d09190613200565b979650505050505050565b600080808080806125ee8a8a8a8a6128f5565b925092509250826125fe906134a7565b9a919950975095505050505050565b600082610a238184612b18565b600061072482600019613409565b60006109168383612b44565b600061263f82611718565b6126566126516201518061016d6133dc565b611718565b84608001516126659190613409565b61266f9190613439565b90506000811361072457604051630e520c3b60e11b815260048101829052602401610323565b600080600083126126a75760016126ab565b6000195b90506126c2612651856126bd8661135f565b612a49565b610a239082613409565b6000806126d9868461274d565b9050670de0b6b3a76400008112156127075760405163329e322960e21b815260048101829052602401610323565b600061271d612716878a61347f565b8990612781565b9050600061272a826127b0565b90506127368187612781565b61274090846134c3565b9998505050505050505050565b60008061275f6201518061016d6133dc565b61276984866133dc565b6127739190613200565b9050610a2361256b82611718565b600080612796670de0b6b3a764000085613409565b90508281816127a7576127a76131ea565b05949350505050565b6000670de0b6b3a764000082036127da5760405163a9c8b14d60e01b815260040160405180910390fd5b60006127f86127f184670de0b6b3a76400006134c3565b8490612781565b905061091681612b59565b60008082856020015161281691906134c3565b90506000612824858561347f565b90506000821380156128365750600081135b6128775760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b6044820152606401610323565b60006128a56128868484613409565b6020890151612895908961347f565b61289f9088613409565b90612781565b905060006128bb6128b68486612781565b612b59565b88519091506000906128d690670de0b6b3a764000090612781565b90506128e68161256584866134c3565b896040015161274091906134c3565b6000806000806129188860000151886020015189600001518a604001518961187e565b9050600061292e6129298784612781565b61261a565b6060890151909150600087131561299d57600061294b8483612781565b9050670de0b6b3a76400008112156129795760405163329e322960e21b815260048101829052602401610323565b61299561298e83670de0b6b3a76400006134c3565b8490612afa565b9150506129ca565b6129c7816129b381670de0b6b3a76400006134c3565b6129bd9085613409565b6129299190613439565b90505b600060646129db8c60e00151611718565b6129e59084613409565b6129ef9190613439565b905060006129fd83856134c3565b905060008112612a1657612a118a82612bea565b612a20565b612a208a82612c17565b9750612a2c8a84612bea565b9650612a388a83612bea565b955050505050509450945094915050565b6000670de0b6b3a7640000612a5e84846133dc565b6109169190613200565b6000818860a00151612a7a91906131d7565b8851909150612a89908661172e565b8852612aa3612a98848661347f565b60208a01519061172e565b602089018190528851612ac891612abb908990612695565b895160408b015185612c44565b6101008901819052600003612af057604051635534d70f60e11b815260040160405180910390fd5b5050505050505050565b600080612b078385613409565b9050670de0b6b3a7640000816127a7565b6000670de0b6b3a7640000600181612b3086866133dc565b612b3a9190613214565b612a5e91906131d7565b600082612a5e670de0b6b3a7640000846133dc565b6000808213612b9a5760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610323565b670c7d713b49da000082138015612bb85750670f43fc2c04ee000082125b15612bdc57670de0b6b3a7640000612bcf8361192a565b81611e8157611e816131ea565b61072482611a49565b919050565b60008060008312612bfc576001612c00565b6000195b90506126c261265185612c128661135f565b612b44565b60008060008312612c29576001612c2d565b6000195b90506126c261265185612c3f8661135f565b612c8b565b600080612c5587878787600061187e565b90506000612c656112eb83612b59565b905083612c776201518061016d6133dc565b612c8190836133dc565b610c339190613200565b600082600181612b30670de0b6b3a7640000866133dc565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060600160405280612ce5612cf9565b815260200160008152602001600081525090565b60405180610120016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b60405160a081016001600160401b0381118282101715612d7e57634e487b7160e01b600052604160045260246000fd5b60405290565b604051606081016001600160401b0381118282101715612d7e57634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715612d7e57634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b0381118282101715612d7e57634e487b7160e01b600052604160045260246000fd5b600060a08284031215612e2757600080fd5b612e2f612d4e565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015292915050565b6001600160a01b03811681146123c657600080fd5b8035612be581612e63565b6000818303610160811215612e9757600080fd5b612e9f612d84565b915061012080821215612eb157600080fd5b612eb9612db4565b9150833582526020840135602083015260408401356040830152612edf60608501612e78565b60608301526080840135608083015260a084013560a083015260c084013560c083015260e084013560e08301526101008085013581840152508183528084013560208401525050610140820135604082015292915050565b60008183036102c0811215612f4b57600080fd5b612f53612d84565b9150612f5f8484612e15565b8252612f6e8460a08501612e83565b602083015260c06101ff1982011215612f8657600080fd5b50612f8f612de5565b610200830135815261022083013560208201526102408301356040820152610260830135606082015261028083013560808201526102a083013560a08201528060408301525092915050565b803560058110612be557600080fd5b600080600080600080610460878903121561300457600080fd5b61300e8888612f37565b955061301d6102c08801612fdb565b94506102e08701359350610300870135925061303d886103208901612e15565b915061304d886103c08901612e15565b90509295509295509295565b60006020828403121561306b57600080fd5b813561091681612e63565b60006102c0828403121561308957600080fd5b6109168383612f37565b634e487b7160e01b600052602160045260246000fd5b815160c0820190600581106130ce57634e487b7160e01b600052602160045260246000fd5b808352506020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b60008060006101a0848603121561312057600080fd5b61312a8585612e83565b92506131396101608501612fdb565b915061018084013590509250925092565b918252602082015260400190565b6000806000806103a0858703121561316f57600080fd5b6131798686612f37565b93506131886102c08601612fdb565b92506102e085013591506131a0866103008701612e15565b905092959194509250565b9283526020830191909152604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115610724576107246131c1565b634e487b7160e01b600052601260045260246000fd5b60008261320f5761320f6131ea565b500490565b80820180821115610724576107246131c1565b600060018201613239576132396131c1565b5060010190565b8051612be581612e63565b600060c0828403121561325d57600080fd5b613265612de5565b9050815181526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b60008183036102c08112156132b757600080fd5b6132bf612d84565b60a08212156132cd57600080fd5b6132d5612d4e565b845181526020850151602082015260408501516040820152606085015160608201526080850151608082015280825250609f19820191506101608083121561331c57600080fd5b613324612d84565b6101208085121561333457600080fd5b61333c612db4565b945060a0870151855260c0870151602086015260e08701516040860152610100613367818901613240565b606087015281880151608087015261014088015160a08701528388015160c087015261018088015160e08701526101a08801518187015250508381526101c086015160208201526101e0860151604082015280602084015250506133cf85610200860161324b565b6040820152949350505050565b8082028115828204841417610724576107246131c1565b634e487b7160e01b600052600160045260246000fd5b80820260008212600160ff1b84141615613425576134256131c1565b8181058314821517610724576107246131c1565b600082613448576134486131ea565b600160ff1b821460001984141615613462576134626131c1565b500590565b60006001600160ff1b018201613239576132396131c1565b808201828112600083128015821682158216171561349f5761349f6131c1565b505092915050565b6000600160ff1b82016134bc576134bc6131c1565b5060000390565b81810360008312801583831316838312821617156134e3576134e36131c1565b5092915050565b6000600160ff1b82016134ff576134ff6131c1565b50600019019056fea2646970667358221220bfe4c61a1f2f17da321f6fc7c5cd8aa1d49cf6793e2fa14188ace8513a60115464736f6c63430008110033",
1213
+ "linkReferences": {},
1214
+ "deployedLinkReferences": {}
1215
+ }