@pendle/core-v2 2.18.0 → 2.19.0-tradingbot

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 (437) 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/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  13. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  15. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  17. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  19. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  22. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  24. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  26. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  30. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  31. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
  33. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
  35. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
  37. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  39. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  41. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  44. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  46. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.json +2 -2
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +2 -2
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +2 -2
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +2 -2
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +2 -2
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAPoolHelper.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAWethHelper.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
  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/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  97. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  98. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
  100. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  101. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  102. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldDecisionHelper.sol/LongYieldDecisionHelper.dbg.json +4 -0
  103. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldDecisionHelper.sol/LongYieldDecisionHelper.json +1215 -0
  104. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldTradingBot.sol/LongYieldTradingBot.dbg.json +4 -0
  105. package/build/artifacts/contracts/core/TradingBot/LongYield/LongYieldTradingBot.sol/LongYieldTradingBot.json +1681 -0
  106. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldDecisionHelper.sol/ShortYieldDecisionHelper.dbg.json +4 -0
  107. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldDecisionHelper.sol/ShortYieldDecisionHelper.json +1215 -0
  108. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldTradingBot.sol/ShortYieldTradingBot.dbg.json +4 -0
  109. package/build/artifacts/contracts/core/TradingBot/ShortYield/ShortYieldTradingBot.sol/ShortYieldTradingBot.json +1535 -0
  110. package/build/artifacts/contracts/core/TradingBot/base/BotActionCallback.sol/BotActionCallback.dbg.json +4 -0
  111. package/build/artifacts/contracts/core/TradingBot/base/BotActionCallback.sol/BotActionCallback.json +932 -0
  112. package/build/artifacts/contracts/core/TradingBot/base/BotActionHelper.sol/BotActionHelper.dbg.json +4 -0
  113. package/build/artifacts/contracts/core/TradingBot/base/BotActionHelper.sol/BotActionHelper.json +932 -0
  114. package/build/artifacts/contracts/core/TradingBot/base/BotDecisionHelperBase.sol/BotDecisionHelperBase.dbg.json +4 -0
  115. package/build/artifacts/contracts/core/TradingBot/base/BotDecisionHelperBase.sol/BotDecisionHelperBase.json +789 -0
  116. package/build/artifacts/contracts/core/TradingBot/base/TradingBotBase.sol/TradingBotBase.dbg.json +4 -0
  117. package/build/artifacts/contracts/core/TradingBot/base/TradingBotBase.sol/TradingBotBase.json +882 -0
  118. package/build/artifacts/contracts/core/TradingBot/libraries/BotSimulationLib.sol/BotSimulationLib.dbg.json +4 -0
  119. package/build/artifacts/contracts/core/TradingBot/libraries/BotSimulationLib.sol/BotSimulationLib.json +10 -0
  120. package/build/artifacts/contracts/core/TradingBot/libraries/MarketExtLib.sol/MarketExtLib.dbg.json +4 -0
  121. package/build/artifacts/contracts/core/TradingBot/libraries/MarketExtLib.sol/MarketExtLib.json +24 -0
  122. package/build/artifacts/contracts/core/TradingBot/libraries/SpecSegmentLib.sol/SpecSegmentLib.dbg.json +4 -0
  123. package/build/artifacts/contracts/core/TradingBot/libraries/SpecSegmentLib.sol/SpecSegmentLib.json +10 -0
  124. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  125. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  126. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  127. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  128. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  129. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  130. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  131. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  132. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  133. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +2 -2
  134. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  135. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  136. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  137. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
  138. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  139. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  140. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +151 -2
  141. package/build/artifacts/contracts/core/libraries/TokenAmountLib.sol/TokenAmountLib.dbg.json +4 -0
  142. package/build/artifacts/contracts/core/libraries/TokenAmountLib.sol/TokenAmountLib.json +10 -0
  143. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/Balancer/IERC4626LinearPool.sol/IERC4626LinearPool.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  156. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  157. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  158. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  159. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  160. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  161. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  164. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  168. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  169. package/build/artifacts/contracts/interfaces/TradingBot/IBotDecisionHelper.sol/IBotDecisionHelper.dbg.json +4 -0
  170. package/build/artifacts/contracts/interfaces/TradingBot/IBotDecisionHelper.sol/IBotDecisionHelper.json +652 -0
  171. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldDecisionHelper.sol/ILongYieldDecisionHelper.dbg.json +4 -0
  172. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldDecisionHelper.sol/ILongYieldDecisionHelper.json +671 -0
  173. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.dbg.json +4 -0
  174. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.json +1094 -0
  175. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldDecisionHelper.sol/IShortYieldDecisionHelper.dbg.json +4 -0
  176. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldDecisionHelper.sol/IShortYieldDecisionHelper.json +652 -0
  177. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldTradingBot.sol/IShortYieldTradingBot.dbg.json +4 -0
  178. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldTradingBot.sol/IShortYieldTradingBot.json +1075 -0
  179. package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.dbg.json +4 -0
  180. package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.json +632 -0
  181. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.dbg.json +4 -0
  182. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.json +10 -0
  183. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  184. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  185. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  186. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  187. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  188. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
  189. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +2 -2
  190. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  191. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  192. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  193. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  194. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  195. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  196. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  197. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  198. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  199. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  200. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  201. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  202. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  203. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  204. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  205. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  206. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  207. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
  208. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.json +2 -2
  209. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
  210. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.json +2 -2
  211. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.dbg.json +4 -0
  212. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.json +166 -0
  213. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
  214. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.json +2 -2
  215. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
  216. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  217. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
  218. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  219. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
  220. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  221. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
  222. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  223. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
  224. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  225. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  226. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  227. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +2 -2
  228. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  229. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  230. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  231. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  232. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  233. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  234. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  235. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  236. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
  237. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol/IExecutorHelper.dbg.json +1 -1
  238. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IHashflow.sol/IHashflow.dbg.json +1 -1
  239. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
  240. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol/KyberInputScalingHelper.dbg.json +1 -1
  241. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.dbg.json +1 -1
  242. package/contracts/core/TradingBot/LongYield/LongYieldDecisionHelper.sol +216 -0
  243. package/contracts/core/TradingBot/LongYield/LongYieldTradingBot.sol +97 -0
  244. package/contracts/core/TradingBot/README.md +153 -0
  245. package/contracts/core/TradingBot/ShortYield/ShortYieldDecisionHelper.sol +198 -0
  246. package/contracts/core/TradingBot/ShortYield/ShortYieldTradingBot.sol +101 -0
  247. package/contracts/core/TradingBot/base/BotActionCallback.sol +112 -0
  248. package/contracts/core/TradingBot/base/BotActionHelper.sol +178 -0
  249. package/contracts/core/TradingBot/base/BotDecisionHelperBase.sol +235 -0
  250. package/contracts/core/TradingBot/base/TradingBotBase.sol +184 -0
  251. package/contracts/core/TradingBot/libraries/BotSimulationLib.sol +155 -0
  252. package/contracts/core/TradingBot/libraries/MarketExtLib.sol +310 -0
  253. package/contracts/core/TradingBot/libraries/SpecSegmentLib.sol +62 -0
  254. package/contracts/core/libraries/Errors.sol +12 -0
  255. package/contracts/core/libraries/TokenAmountLib.sol +47 -0
  256. package/contracts/interfaces/TradingBot/IBotDecisionHelper.sol +57 -0
  257. package/contracts/interfaces/TradingBot/ILongYieldDecisionHelper.sol +8 -0
  258. package/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol +51 -0
  259. package/contracts/interfaces/TradingBot/IShortYieldDecisionHelper.sol +7 -0
  260. package/contracts/interfaces/TradingBot/IShortYieldTradingBot.sol +27 -0
  261. package/contracts/interfaces/TradingBot/ITradingBotBase.sol +67 -0
  262. package/contracts/offchain-helpers/BoringLpSeller.sol +47 -0
  263. package/contracts/oracles/samples/PendleLpGlpOracle.sol +49 -0
  264. package/package.json +1 -1
  265. package/typechain-types/BotActionCallback.ts +950 -0
  266. package/typechain-types/BotActionHelper.ts +950 -0
  267. package/typechain-types/BotDecisionHelper.ts +561 -0
  268. package/typechain-types/BotDecisionHelperBase.ts +484 -0
  269. package/typechain-types/BotDecisionLib.ts +335 -0
  270. package/typechain-types/CamelotV1LpHelper.ts +203 -0
  271. package/typechain-types/CamelotV1Preview.ts +431 -0
  272. package/typechain-types/I1inchAggregationRouterV5.ts +257 -0
  273. package/typechain-types/IAnkrBNB.ts +150 -0
  274. package/typechain-types/IAnkrLiquidStaking.ts +253 -0
  275. package/typechain-types/IBotDecisionHelper.ts +452 -0
  276. package/typechain-types/ICamelotSY.ts +100 -0
  277. package/typechain-types/IExecutorHelper1.ts +643 -0
  278. package/typechain-types/IExecutorHelper2.ts +115 -0
  279. package/typechain-types/IExecutorHelperEthereum1.ts +643 -0
  280. package/typechain-types/ILongYieldDecisionHelper.ts +486 -0
  281. package/typechain-types/ILongYieldTradingBot.ts +928 -0
  282. package/typechain-types/IPExternalRewardDistributor.ts +192 -0
  283. package/typechain-types/IPMarketFactoryV2.ts +253 -0
  284. package/typechain-types/IPendlePreviewHelper.ts +147 -0
  285. package/typechain-types/IShortYieldDecisionHelper.ts +452 -0
  286. package/typechain-types/IShortYieldTradingBot.ts +820 -0
  287. package/typechain-types/ISwETH.ts +123 -0
  288. package/typechain-types/IThenaFactory.ts +245 -0
  289. package/typechain-types/IThenaGaugeV2.ts +206 -0
  290. package/typechain-types/IThenaPair.ts +579 -0
  291. package/typechain-types/IThenaRouter.ts +313 -0
  292. package/typechain-types/IThenaSY.ts +81 -0
  293. package/typechain-types/ITradingBotBase.ts +619 -0
  294. package/typechain-types/IWBETH.ts +128 -0
  295. package/typechain-types/LongYieldDecisionHelper.ts +601 -0
  296. package/typechain-types/LongYieldTradingBot.ts +1414 -0
  297. package/typechain-types/MarketExtLib.ts +81 -0
  298. package/typechain-types/PendleAnkrBNBSY.ts +1235 -0
  299. package/typechain-types/PendleAuraWstethAnkreth.ts +1511 -0
  300. package/typechain-types/PendleBinanceEth.ts +1229 -0
  301. package/typechain-types/PendleCamelotV1SY.ts +1961 -0
  302. package/typechain-types/PendleExternalRewardDistributor.ts +546 -0
  303. package/typechain-types/PendleGaugeV2.ts +225 -0
  304. package/typechain-types/PendleLpGlpOracle.ts +145 -0
  305. package/typechain-types/PendleMarketFactoryV2.ts +930 -0
  306. package/typechain-types/PendleMarketV2.ts +1311 -0
  307. package/typechain-types/PendleSwETH.ts +1216 -0
  308. package/typechain-types/PendleSwapArbitrum.ts +126 -0
  309. package/typechain-types/PendleSwapEthereum.ts +126 -0
  310. package/typechain-types/PendleThenaSY.ts +1598 -0
  311. package/typechain-types/PendleWbEthSY.ts +1229 -0
  312. package/typechain-types/PtAndLpToAsset.ts +136 -0
  313. package/typechain-types/ShortYieldDecisionHelper.ts +601 -0
  314. package/typechain-types/ShortYieldTradingBot.ts +1306 -0
  315. package/typechain-types/ThenaLpHelper.ts +191 -0
  316. package/typechain-types/ThenaMath.ts +87 -0
  317. package/typechain-types/ThenaPreview.ts +450 -0
  318. package/typechain-types/TradingBotBase.ts +906 -0
  319. package/typechain-types/TradingBotOffchain.ts +568 -0
  320. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  321. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  322. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  323. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  324. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  325. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  326. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  327. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  328. package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
  329. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  330. package/typechain-types/factories/BotActionCallback__factory.ts +947 -0
  331. package/typechain-types/factories/BotActionHelper__factory.ts +947 -0
  332. package/typechain-types/factories/BotDecisionHelperBase__factory.ts +808 -0
  333. package/typechain-types/factories/BotDecisionHelper__factory.ts +1192 -0
  334. package/typechain-types/factories/BotDecisionLib__factory.ts +642 -0
  335. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  336. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  337. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  338. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  339. package/typechain-types/factories/CamelotV1LpHelper__factory.ts +143 -0
  340. package/typechain-types/factories/CamelotV1Preview__factory.ts +309 -0
  341. package/typechain-types/factories/Errors__factory.ts +150 -1
  342. package/typechain-types/factories/I1inchAggregationRouterV5__factory.ts +179 -0
  343. package/typechain-types/factories/IAnkrBNB__factory.ts +74 -0
  344. package/typechain-types/factories/IAnkrLiquidStaking__factory.ts +123 -0
  345. package/typechain-types/factories/IBotDecisionHelper__factory.ts +667 -0
  346. package/typechain-types/factories/ICamelotSY__factory.ts +49 -0
  347. package/typechain-types/factories/IExecutorHelper1__factory.ts +403 -0
  348. package/typechain-types/factories/IExecutorHelper2__factory.ts +55 -0
  349. package/typechain-types/factories/IExecutorHelperEthereum1__factory.ts +407 -0
  350. package/typechain-types/factories/ILongYieldDecisionHelper__factory.ts +690 -0
  351. package/typechain-types/factories/ILongYieldTradingBot__factory.ts +1113 -0
  352. package/typechain-types/factories/IPExternalRewardDistributor__factory.ts +128 -0
  353. package/typechain-types/factories/IPMarketFactoryV2__factory.ts +181 -0
  354. package/typechain-types/factories/IPendlePreviewHelper__factory.ts +78 -0
  355. package/typechain-types/factories/IShortYieldDecisionHelper__factory.ts +671 -0
  356. package/typechain-types/factories/IShortYieldTradingBot__factory.ts +1094 -0
  357. package/typechain-types/factories/ISwETH__factory.ts +53 -0
  358. package/typechain-types/factories/IThenaFactory__factory.ts +164 -0
  359. package/typechain-types/factories/IThenaGaugeV2__factory.ts +83 -0
  360. package/typechain-types/factories/IThenaPair__factory.ts +421 -0
  361. package/typechain-types/factories/IThenaRouter__factory.ts +200 -0
  362. package/typechain-types/factories/IThenaSY__factory.ts +36 -0
  363. package/typechain-types/factories/ITradingBotBase__factory.ts +647 -0
  364. package/typechain-types/factories/IWBETH__factory.ts +51 -0
  365. package/typechain-types/factories/LongYieldDecisionHelper__factory.ts +1272 -0
  366. package/typechain-types/factories/LongYieldTradingBot__factory.ts +1754 -0
  367. package/typechain-types/factories/MarketExtLib__factory.ts +74 -0
  368. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  369. package/typechain-types/factories/PendleAnkrBNBSY__factory.ts +1100 -0
  370. package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +27 -2
  371. package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1 -1
  372. package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
  373. package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
  374. package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
  375. package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
  376. package/typechain-types/factories/PendleAuraWstethAnkreth__factory.ts +1244 -0
  377. package/typechain-types/factories/PendleBinanceEth__factory.ts +1052 -0
  378. package/typechain-types/factories/PendleCamelotV1SY__factory.ts +1595 -0
  379. package/typechain-types/factories/PendleCamelotV1VolatileSY__factory.ts +1 -1
  380. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  381. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  382. package/typechain-types/factories/PendleExternalRewardDistributor__factory.ts +414 -0
  383. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  384. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  385. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  386. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  387. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  388. package/typechain-types/factories/PendleGaugeV2__factory.ts +140 -0
  389. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  390. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  391. package/typechain-types/factories/PendleLpGlpOracle__factory.ts +246 -0
  392. package/typechain-types/factories/PendleMarketFactoryV2__factory.ts +770 -0
  393. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  394. package/typechain-types/factories/PendleMarketV2__factory.ts +1290 -0
  395. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  396. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  397. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  398. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
  399. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  400. package/typechain-types/factories/PendlePtGlpOracle__factory.ts +1 -1
  401. package/typechain-types/factories/PendlePtOracle__factory.ts +1 -1
  402. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  403. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  404. package/typechain-types/factories/PendleRouterHelper__factory.ts +1 -1
  405. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  406. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  407. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  408. package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
  409. package/typechain-types/factories/PendleSwETH__factory.ts +1022 -0
  410. package/typechain-types/factories/PendleSwapArbitrum__factory.ts +129 -0
  411. package/typechain-types/factories/PendleSwapEthereum__factory.ts +129 -0
  412. package/typechain-types/factories/PendleThenaSY__factory.ts +1352 -0
  413. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  414. package/typechain-types/factories/PendleWbEthSY__factory.ts +1049 -0
  415. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  416. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  417. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  418. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  419. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  420. package/typechain-types/factories/PtAndLpToAsset__factory.ts +150 -0
  421. package/typechain-types/factories/SAPE__factory.ts +1 -1
  422. package/typechain-types/factories/ShortYieldDecisionHelper__factory.ts +1272 -0
  423. package/typechain-types/factories/ShortYieldTradingBot__factory.ts +1612 -0
  424. package/typechain-types/factories/ThenaLpHelper__factory.ts +140 -0
  425. package/typechain-types/factories/ThenaMath__factory.ts +36 -0
  426. package/typechain-types/factories/ThenaPreview__factory.ts +319 -0
  427. package/typechain-types/factories/TradingBotBase__factory.ts +897 -0
  428. package/typechain-types/factories/TradingBotOffchain__factory.ts +1133 -0
  429. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  430. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  431. package/typechain-types/hardhat.d.ts +144 -9
  432. package/typechain-types/index.ts +32 -2
  433. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.dbg.json +0 -4
  434. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.json +0 -966
  435. package/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol +0 -114
  436. package/deployments/42161-markets/RETH-ARBITRUM-JUNE2024.json +0 -10
  437. package/deployments/42161-markets/WSTETH-ARBITRUM-JUNE2024.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": "0x608060405234801561001057600080fd5b50613510806100206000396000f3fe608060405234801561001057600080fd5b50600436106100835760003560e01c806303270af414610088578063194d91fc146100ae578063394dd045146100c15780638e727446146100f45780639d2a679f14610114578063a76541e51461011d578063ac4c7e8414610130578063cf0933611461013d578063cf209b601461015e575b600080fd5b61009b610096366004612fbd565b610242565b6040519081526020015b60405180910390f35b61009b6100bc36600461302c565b61043e565b6100d46100cf366004613049565b61050a565b6040805194855260208501939093529183015260608201526080016100a5565b61010761010236600461302c565b610531565b6040516100a5919061307c565b61009b60001981565b61009b61012b366004613049565b6106ff565b61009b655af3107a400081565b61015061014b3660046130dd565b610726565b6040516100a592919061311d565b61017161016c36600461312b565b610792565b6040516100a593929190600061022082019050841515825283516020830152602084015160408301526040840151606083015260608401516080830152608084015160a08301528251805160c0840152602081015160e08401526040810151610100818186015260018060a01b03606084015116610120860152608083015161014086015260a083015161016086015260c083015161018086015260e08301516101a0860152808301516101c086015250505060208301516101e08301526040830151610200830152949350505050565b600080604051806060016040528089815260200188600481111561026857610268613066565b81526020018790526040850151909150156102b657600161029482866040015188886080015188610820565b60028111156102a5576102a5613066565b036102b65750506040820151610434565b60006102cb89600001518a602001518a6108e5565b905080856020015111156102e157602085018190525b60208501518551111561032c5787600481111561030057610300613066565b8551602087015160405163f25ccea360e01b81526103239392919060040161317e565b60405180910390fd5b50600261034482866020015188886080015188610820565b600281111561035557610355613066565b146103665750506020820151610434565b60005b846060015181101561041a57600060028660000151876020015161038d91906131aa565b61039791906131d3565b86516103a391906131e7565b905060006103b884838a8a608001518a610820565b905060018160028111156103ce576103ce613066565b036103de57509250610434915050565b60008160028111156103f2576103f2613066565b036103ff57818752610407565b602087018290525b505080610413906131fa565b9050610369565b5060405163fef33c9d60e01b815260040160405180910390fd5b9695505050505050565b600080826001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102c0604051808303816000875af1158015610482573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a69190613276565b90506000806104bd83600001518460200151610919565b5092505091508260400151606001518110156104de57506000949350505050565b60408084015101516104f190839061098d565b83516060015161050191906131aa565b95945050505050565b60008060008061052285600001518660200151610919565b93509350935093509193509193565b61056b6040805160c08101909152806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000826001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102c0604051808303816000875af11580156105ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d29190613276565b905060006105e382602001516109b0565b90506105f882600001518360400151836109fd565b6020840181905260000361061157505060008152919050565b610628826000015183604001518560200151610a12565b6040840152602083015160001990600013156106775760038452600061064d84610a66565b905061066f818660200151866000015160800151876040015160a00151610b86565b9150506106a4565b60048452825160208082015190860151608090920151604086015160a001516106a1939190610b86565b90505b806000036106b457505050919050565b6106d5838560000151866040015160006106cd86610c26565b610096610c62565b60608501819052602084015185516106ec92610726565b608086015260a085015250919392505050565b60006107208260000151836040015161071b85602001516109b0565b6109fd565b92915050565b600080600384600481111561073d5761073d613066565b036107685761075e8361074e610c62565b61075788610ca2565b9190610ce0565b909250905061078a565b61078483610774610c62565b61077d88610ca2565b9190610d29565b90925090505b935093915050565b600061079c612c76565b6107a4612ca5565b86516107af90610d67565b91506107be8760200151610ca2565b905060038660048111156107d4576107d4613066565b036107ec576107e582828787610db1565b9250610816565b600486600481111561080057610800613066565b03610811576107e582828787610e0f565b600092505b9450945094915050565b6000806000610839886000015189602001518987610792565b92505091508161084e57600292505050610501565b6000610859826109b0565b905060038960200151600481111561087357610873613066565b036108955788604001518111156108905760029350505050610501565b6108ad565b88604001518110156108ad5760029350505050610501565b6108bc818a6040015188610e5e565b156108cd5760019350505050610501565b60009350505050610501565b50505095945050505050565b600060038260048111156108fb576108fb613066565b0361090b57506040830151610912565b5060208301515b9392505050565b60008080806109288686610ea6565b9350610933856109b0565b60608701519093506109459085610f94565b91506000610960876000015161095a88610ca2565b90610fba565b915050801561097d5760208701516109789082610f94565b610981565b6000195b91505092959194509250565b60008061099a83856133af565b9050670de0b6b3a7640000815b04949350505050565b6000670de0b6b3a76400006109f36109e48460400151856000015160a001516109d991906131aa565b6301e1338090610f94565b6109ed85611071565b906110be565b61072091906131aa565b6000610a0a838584611267565b949350505050565b600081600003610a2457610a246133c6565b6000610a30858461127c565b90506000831215610a5857610a50610a498260016131e7565b85906112c3565b915050610912565b610a50610a496001836131aa565b600080610a7b83600001518460200151610919565b9350505050826040015160800151811115610a995750600092915050565b6000610aac846000015160400151610c26565b90506000610ab8610c62565b90505b8151610ac89060016131e7565b82602001511115610b7d576000600283600001518460200151610aeb91906131aa565b610af591906131d3565b8351610b0191906131e7565b90506000806000610b158960038688610792565b92509250925082610b3a57610b2b6001856131aa565b602087015250610abb92505050565b6000610b468383610919565b93505050508960400151608001518111610b6257848752610b73565b610b6d6001866131aa565b60208801525b5050505050610abb565b50519392505050565b600083600003610b9857610b986133c6565b6000808512610bbc5783610bad8460026133af565b610bb791906131aa565b610bbe565b835b9050600081670de0b6b3a7640000610bd588611332565b610bdf91906133af565b610be991906131d3565b90506000670de0b6b3a7640000610c04836109ed81846131e7565b610c0e91906131aa565b9050610c1a888261098d565b98975050505050505050565b610c2e612c76565b506040805160a0810182526001815260208101929092526000908201526101006060820152655af3107a4000608082015290565b610c6a612c76565b6040518060a00160405280600181526020016000198152602001600081526020016101008152602001655af3107a4000815250905090565b610caa612ca5565b6040518060600160405280610cc2846000015161134d565b81526020018360200151815260200183604001518152509050919050565b6020830151604084015184516000928392610cff9291908790876113ca565b50602087015160408801518851939550919350610d1e929184906114eb565b505050935093915050565b6020830151604084015184516000928392610d4892919087908761153c565b50602087015160408801518851939550919350610d1e92918490611631565b610d6f612c76565b6040518060a001604052808360000151815260200183602001518152602001836040015181526020018360600151815260200183608001518152509050919050565b60008460400151831115610dc757506000610a0a565b6000610dd4858585610ce0565b5090508386604001818151610de991906131aa565b905250602086018051829190610e009083906131e7565b90525060019695505050505050565b60008460200151831115610e2557506000610a0a565b6000610e32858585610d29565b5090508086604001818151610e4791906131e7565b905250602086018051859190610e009083906131aa565b600083610e7c84610e7785670de0b6b3a76400006131aa565b61098d565b11158015610a0a5750610e9b83610e7784670de0b6b3a76400006131e7565b909311159392505050565b600080610eb283610ca2565b9050600080610ece866000015184610fba90919063ffffffff16565b915091506000828760600151610ee491906131e7565b90506000876040015183610ef891906131e7565b905087602001518111610f4657610f0f858261165a565b610f1990836131e7565b9150610f35818960200151610f2e91906131aa565b869061166c565b610f3f90836131e7565b9150610f89565b6020880151610f5690869061165a565b610f6090836131e7565b9150610f7c886020015182610f7591906131aa565b86906116c7565b610f8690836131e7565b91505b509695505050505050565b600080610fa9670de0b6b3a7640000856133af565b90508281816109a7576109a76131bd565b6000806000610fc8846116eb565b85516040810151602090910151919250600091610fe590846133dc565b610fef919061340c565b86516040810151905191925060009161100890856133dc565b611012919061340c565b8751604001519091506110259084611701565b8751604001528651516110389082611701565b87515286516020015161104b9083611701565b87516020015261105a82611748565b61106382611748565b945094505050509250929050565b602081015160408201518251600092839261108d929190611757565b905060006110b38460000151600001518360200151846000015185604001516000611851565b9050610a0a81611748565b6000816000036110d75750670de0b6b3a7640000610720565b826000036110e757506000610720565b600160ff1b831061112c5760405162461bcd60e51b815260206004820152600f60248201526e78206f7574206f6620626f756e647360881b6044820152606401610323565b82770bce5086492111aea88f4bb1ca6bcf584181ea8059f7653283106111865760405162461bcd60e51b815260206004820152600f60248201526e79206f7574206f6620626f756e647360881b6044820152606401610323565b826000670c7d713b49da0000831380156111a75750670f43fc2c04ee000083125b156111de5760006111b7846118fd565b9050670de0b6b3a764000080820784020583670de0b6b3a7640000830502019150506111ec565b816111e884611a1c565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff19811280159061121a575068070c1cc73b00c800008113155b61125e5760405162461bcd60e51b815260206004820152601560248201527470726f64756374206f7574206f6620626f756e647360581b6044820152606401610323565b61043481611dbf565b6000610a0a8361127786856121d4565b612240565b60008160000361128e5761128e6133c6565b600182126112a457816112a08161343a565b9250505b6109126112b484608001516116eb565b6112be9084613452565b611748565b600081158015906112e3575060a08301516112df9060026133af565b8214155b6112ef576112ef6133c6565b60006112fa84612277565b90506113076002826131d3565b6113126001856131aa565b61131c90836133af565b855161132891906131e7565b610a0a91906131e7565b6000808213611349576113448261347a565b610720565b5090565b611355612ccc565b60405180610120016040528083600001518152602001836020015181526020018360400151815260200183606001516001600160a01b03168152602001836080015181526020018360a0015181526020018360c0015181526020018360e0015181526020018361010001518152509050919050565b60008080806113da898988611757565b9050846040015160000361141c5784516113f490886122a5565b8552602085015161140e906114098b846122bb565b61233f565b602086015261141c8561234e565b60005b85606001518110156114c6576000611437878361239c565b90506000806114488d868e86612401565b509092509050600061145a8d84612432565b9050600061146882866131aa565b90508c811161149f57611480818e8d6080015161243e565b15611497575097509195509093506114e092505050565b848b526114b0565b6114aa6001866131aa565b60208c01525b5050505050806114bf906131fa565b905061141f565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b6000806000806000806115088a8a6115028b61246c565b8a612483565b92509250925061151783611748565b955061152282611748565b945061152d81611748565b93505050509450945094915050565b600080808061154c898988611757565b9050846040015160000361158d57845161156690886122a5565b85526020850151895161157f9190611409908490612516565b602086015261158d8561234e565b60005b85606001518110156114c65760006115a8878361239c565b90506000806115b98d868e866125ae565b50909250905060006115cb8d846125e0565b90508b811161160b576115e3818d8c6080015161243e565b15611603576115f281856131aa565b985092965094506114e09350505050565b838a5261161c565b6116166001856131aa565b60208b01525b505050508061162a906131fa565b9050611590565b6000806000806000806116488a8a6115028b6116eb565b9250925092506115176112be846125ed565b602082015160009061091290836125fb565b602082015160408301518351600092839261168a9291908690611631565b5050905060006116a78286602001516125e090919063ffffffff16565b905060006116b582866131aa565b602087015190915061043490826125fb565b6020820151604083015183516000926116e19285906114eb565b5090949350505050565b60006001600160ff1b0382111561134957600080fd5b60008183121561173e5760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b6044820152606401610323565b6109128284613496565b60008082121561134957600080fd5b6117826040518060800160405280600081526020016000815260200160008152602001600081525090565b60a084015182106117a65760405163b2094b5960e01b815260040160405180910390fd5b6000828560a001516117b891906131aa565b90506117c48582612607565b825260208501516117d6908590612668565b6020830152845115806117eb57506020820151155b15611812578451602083015160405163b1c4aefb60e01b815261032392919060040161311d565b6118308560000151866101000151846020015185600001518561269f565b604083015260c08501516118449082612720565b6060830152509392505050565b60008061185e8784611701565b9050600061187661186f888a613452565b8390612754565b9050670d529ae9e86000008113156118ad5780670d529ae9e8600000604051637e34684f60e11b815260040161032392919061311d565b60006118b882612783565b9050856118c58289612754565b6118cf9190613452565b9350670de0b6b3a76400008412156108d95760405163329e322960e21b815260048101859052602401610323565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161193e5761193e6131bd565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215611a5d57611a54826a0c097ce7bc90715b34b9f160241b81611a4e57611a4e6131bd565b05611a1c565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312611aa85772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312611adf576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611b27576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312611b62576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312611b9957693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312611bd057690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312611c055768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312611c3057680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312611c65576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312611c9a576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312611cce576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312611d02576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281611d2b57611d2b6131bd565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6000680238fd42c5cf03ffff198212158015611de4575068070c1cc73b00c800008213155b611e235760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610323565b6000821215611e5b57611e3882600003611dbf565b6a0c097ce7bc90715b34b9f160241b81611e5457611e546131bd565b0592915050565b60006806f05b59d3b20000008312611e9957506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b611ecf565b6803782dace9d90000008312611ecb57506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380611ecf565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412611f1f5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412611f5b576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412611f9557682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412611fcf576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261200857680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126120415768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b1880000841261207a576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126120b35768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b81516000908210156121e857506000610720565b82602001518211156122165760a08301516122049060026133af565b61220f9060016131e7565b9050610720565b61221f83612277565b835161222b90846131aa565b61223591906131d3565b6109129060016131e7565b60008061225084608001516116eb565b612259846116eb565b6122639190613496565b9050600181126109125780610501816134bd565b60008160a00151600261228a91906133af565b8251602084015161229b91906131aa565b61072091906131d3565b60008183116122b45781610912565b5090919050565b600080600090506000600184602001516122d591906131aa565b90505b80821461233757600060026122ed83856131e7565b6122f89060016131e7565b61230291906131d3565b90506000612315868860000151846127d6565b121561232d576123266001826131aa565b9150612331565b8092505b506122d8565b509392505050565b60008183106122b45781610912565b60208101518151118061236c5750670de0b6b3a76400008160800151115b1561239957805160208201516080830151604051632cc06bc160e21b81526103239392919060040161317e565b50565b6000811580156123af5750604083015115155b156123bf57506040820151610720565b60208301518351116123e857602083015183516002916123de916131e7565b61220f91906131d3565b604051637d388ed960e11b815260040160405180910390fd5b6000808080808061241f89896124168a61347a565b8d9291906128c8565b919c909b50909950975050505050505050565b60006109128383612a1c565b6000828411158015610a0a575061246183610e7784670de0b6b3a76400006131aa565b909310159392505050565b6000612477826116eb565b610720906000196133dc565b60008060006124968760a0015185101590565b156124b45760405163b2094b5960e01b815260040160405180910390fd5b865185126124da578651604051632185509b60e21b81526103239190879060040161311d565b60006124e7888887611757565b90506124f5888289896128c8565b9195509350915061250b8882898988878b612a3b565b509450945094915050565b60008061254361253e8560000151866040015187606001516125389190613496565b90612acd565b611dbf565b9050600061255c61186f670de0b6b3a764000084613452565b9050600061257a8660200151866125739190613452565b8390612acd565b905060006125888287613496565b90506103e8612599826103e76133af565b6125a391906131d3565b979650505050505050565b600080808080806125c18a8a8a8a6128c8565b925092509250826125d19061347a565b9a919950975095505050505050565b600082610a0a8184612aeb565b6000610720826000196133dc565b60006109128383612b17565b6000612612826116eb565b6126296126246201518061016d6133af565b6116eb565b846080015161263891906133dc565b612642919061340c565b90506000811361072057604051630e520c3b60e11b815260048101829052602401610323565b6000806000831261267a57600161267e565b6000195b90506126956126248561269086611332565b612a1c565b610a0a90826133dc565b6000806126ac8684612720565b9050670de0b6b3a76400008112156126da5760405163329e322960e21b815260048101829052602401610323565b60006126f06126e9878a613452565b8990612754565b905060006126fd82612783565b90506127098187612754565b6127139084613496565b9998505050505050505050565b6000806127326201518061016d6133af565b61273c84866133af565b61274691906131d3565b9050610a0a61253e826116eb565b600080612769670de0b6b3a7640000856133dc565b905082818161277a5761277a6131bd565b05949350505050565b6000670de0b6b3a764000082036127ad5760405163a9c8b14d60e01b815260040160405180910390fd5b60006127cb6127c484670de0b6b3a7640000613496565b8490612754565b905061091281612b2c565b6000808285602001516127e99190613496565b905060006127f78585613452565b90506000821380156128095750600081135b61284a5760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b6044820152606401610323565b600061287861285984846133dc565b60208901516128689089613452565b61287290886133dc565b90612754565b9050600061288e6128898486612754565b612b2c565b88519091506000906128a990670de0b6b3a764000090612754565b90506128b9816125388486613496565b89604001516127139190613496565b6000806000806128eb8860000151886020015189600001518a6040015189611851565b905060006129016128fc8784612754565b6125ed565b6060890151909150600087131561297057600061291e8483612754565b9050670de0b6b3a764000081121561294c5760405163329e322960e21b815260048101829052602401610323565b61296861296183670de0b6b3a7640000613496565b8490612acd565b91505061299d565b61299a8161298681670de0b6b3a7640000613496565b61299090856133dc565b6128fc919061340c565b90505b600060646129ae8c60e001516116eb565b6129b890846133dc565b6129c2919061340c565b905060006129d08385613496565b9050600081126129e9576129e48a82612bbd565b6129f3565b6129f38a82612bea565b97506129ff8a84612bbd565b9650612a0b8a83612bbd565b955050505050509450945094915050565b6000670de0b6b3a7640000612a3184846133af565b61091291906131d3565b6000818860a00151612a4d91906131aa565b8851909150612a5c9086611701565b8852612a76612a6b8486613452565b60208a015190611701565b602089018190528851612a9b91612a8e908990612668565b895160408b015185612c17565b6101008901819052600003612ac357604051635534d70f60e11b815260040160405180910390fd5b5050505050505050565b600080612ada83856133dc565b9050670de0b6b3a76400008161277a565b6000670de0b6b3a7640000600181612b0386866133af565b612b0d91906131e7565b612a3191906131aa565b600082612a31670de0b6b3a7640000846133af565b6000808213612b6d5760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610323565b670c7d713b49da000082138015612b8b5750670f43fc2c04ee000082125b15612baf57670de0b6b3a7640000612ba2836118fd565b81611e5457611e546131bd565b61072082611a1c565b919050565b60008060008312612bcf576001612bd3565b6000195b905061269561262485612be586611332565b612b17565b60008060008312612bfc576001612c00565b6000195b905061269561262485612c1286611332565b612c5e565b600080612c28878787876000611851565b90506000612c386112be83612b2c565b905083612c4a6201518061016d6133af565b612c5490836133af565b610c1a91906131d3565b600082600181612b03670de0b6b3a7640000866133af565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060600160405280612cb8612ccc565b815260200160008152602001600081525090565b60405180610120016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b60405160a081016001600160401b0381118282101715612d5157634e487b7160e01b600052604160045260246000fd5b60405290565b604051606081016001600160401b0381118282101715612d5157634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715612d5157634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b0381118282101715612d5157634e487b7160e01b600052604160045260246000fd5b600060a08284031215612dfa57600080fd5b612e02612d21565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015292915050565b6001600160a01b038116811461239957600080fd5b8035612bb881612e36565b6000818303610160811215612e6a57600080fd5b612e72612d57565b915061012080821215612e8457600080fd5b612e8c612d87565b9150833582526020840135602083015260408401356040830152612eb260608501612e4b565b60608301526080840135608083015260a084013560a083015260c084013560c083015260e084013560e08301526101008085013581840152508183528084013560208401525050610140820135604082015292915050565b60008183036102c0811215612f1e57600080fd5b612f26612d57565b9150612f328484612de8565b8252612f418460a08501612e56565b602083015260c06101ff1982011215612f5957600080fd5b50612f62612db8565b610200830135815261022083013560208201526102408301356040820152610260830135606082015261028083013560808201526102a083013560a08201528060408301525092915050565b803560058110612bb857600080fd5b6000806000806000806104608789031215612fd757600080fd5b612fe18888612f0a565b9550612ff06102c08801612fae565b94506102e087013593506103008701359250613010886103208901612de8565b9150613020886103c08901612de8565b90509295509295509295565b60006020828403121561303e57600080fd5b813561091281612e36565b60006102c0828403121561305c57600080fd5b6109128383612f0a565b634e487b7160e01b600052602160045260246000fd5b815160c0820190600581106130a157634e487b7160e01b600052602160045260246000fd5b808352506020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b60008060006101a084860312156130f357600080fd5b6130fd8585612e56565b925061310c6101608501612fae565b915061018084013590509250925092565b918252602082015260400190565b6000806000806103a0858703121561314257600080fd5b61314c8686612f0a565b935061315b6102c08601612fae565b92506102e08501359150613173866103008701612de8565b905092959194509250565b9283526020830191909152604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561072057610720613194565b634e487b7160e01b600052601260045260246000fd5b6000826131e2576131e26131bd565b500490565b8082018082111561072057610720613194565b60006001820161320c5761320c613194565b5060010190565b8051612bb881612e36565b600060c0828403121561323057600080fd5b613238612db8565b9050815181526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b60008183036102c081121561328a57600080fd5b613292612d57565b60a08212156132a057600080fd5b6132a8612d21565b845181526020850151602082015260408501516040820152606085015160608201526080850151608082015280825250609f1982019150610160808312156132ef57600080fd5b6132f7612d57565b6101208085121561330757600080fd5b61330f612d87565b945060a0870151855260c0870151602086015260e0870151604086015261010061333a818901613213565b606087015281880151608087015261014088015160a08701528388015160c087015261018088015160e08701526101a08801518187015250508381526101c086015160208201526101e0860151604082015280602084015250506133a285610200860161321e565b6040820152949350505050565b808202811582820484141761072057610720613194565b634e487b7160e01b600052600160045260246000fd5b80820260008212600160ff1b841416156133f8576133f8613194565b818105831482151761072057610720613194565b60008261341b5761341b6131bd565b600160ff1b82146000198414161561343557613435613194565b500590565b60006001600160ff1b01820161320c5761320c613194565b808201828112600083128015821682158216171561347257613472613194565b505092915050565b6000600160ff1b820161348f5761348f613194565b5060000390565b81810360008312801583831316838312821617156134b6576134b6613194565b5092915050565b6000600160ff1b82016134d2576134d2613194565b50600019019056fea2646970667358221220b38968e7d5baaebd5d0094cb35583c9e89ae3c92ea77c2b5af1bf8e52594f95564736f6c63430008110033",
1212
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100835760003560e01c806303270af414610088578063194d91fc146100ae578063394dd045146100c15780638e727446146100f45780639d2a679f14610114578063a76541e51461011d578063ac4c7e8414610130578063cf0933611461013d578063cf209b601461015e575b600080fd5b61009b610096366004612fbd565b610242565b6040519081526020015b60405180910390f35b61009b6100bc36600461302c565b61043e565b6100d46100cf366004613049565b61050a565b6040805194855260208501939093529183015260608201526080016100a5565b61010761010236600461302c565b610531565b6040516100a5919061307c565b61009b60001981565b61009b61012b366004613049565b6106ff565b61009b655af3107a400081565b61015061014b3660046130dd565b610726565b6040516100a592919061311d565b61017161016c36600461312b565b610792565b6040516100a593929190600061022082019050841515825283516020830152602084015160408301526040840151606083015260608401516080830152608084015160a08301528251805160c0840152602081015160e08401526040810151610100818186015260018060a01b03606084015116610120860152608083015161014086015260a083015161016086015260c083015161018086015260e08301516101a0860152808301516101c086015250505060208301516101e08301526040830151610200830152949350505050565b600080604051806060016040528089815260200188600481111561026857610268613066565b81526020018790526040850151909150156102b657600161029482866040015188886080015188610820565b60028111156102a5576102a5613066565b036102b65750506040820151610434565b60006102cb89600001518a602001518a6108e5565b905080856020015111156102e157602085018190525b60208501518551111561032c5787600481111561030057610300613066565b8551602087015160405163f25ccea360e01b81526103239392919060040161317e565b60405180910390fd5b50600261034482866020015188886080015188610820565b600281111561035557610355613066565b146103665750506020820151610434565b60005b846060015181101561041a57600060028660000151876020015161038d91906131aa565b61039791906131d3565b86516103a391906131e7565b905060006103b884838a8a608001518a610820565b905060018160028111156103ce576103ce613066565b036103de57509250610434915050565b60008160028111156103f2576103f2613066565b036103ff57818752610407565b602087018290525b505080610413906131fa565b9050610369565b5060405163fef33c9d60e01b815260040160405180910390fd5b9695505050505050565b600080826001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102c0604051808303816000875af1158015610482573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a69190613276565b90506000806104bd83600001518460200151610919565b5092505091508260400151606001518110156104de57506000949350505050565b60408084015101516104f190839061098d565b83516060015161050191906131aa565b95945050505050565b60008060008061052285600001518660200151610919565b93509350935093509193509193565b61056b6040805160c08101909152806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000826001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102c0604051808303816000875af11580156105ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d29190613276565b905060006105e382602001516109b0565b90506105f882600001518360400151836109fd565b6020840181905260000361061157505060008152919050565b610628826000015183604001518560200151610a12565b6040840152602083015160001990600013156106775760038452600061064d84610a66565b905061066f818660200151866000015160800151876040015160a00151610b86565b9150506106a4565b60048452825160208082015190860151608090920151604086015160a001516106a1939190610b86565b90505b806000036106b457505050919050565b6106d5838560000151866040015160006106cd86610c26565b610096610c62565b60608501819052602084015185516106ec92610726565b608086015260a085015250919392505050565b60006107208260000151836040015161071b85602001516109b0565b6109fd565b92915050565b600080600384600481111561073d5761073d613066565b036107685761075e8361074e610c62565b61075788610ca2565b9190610ce0565b909250905061078a565b61078483610774610c62565b61077d88610ca2565b9190610d29565b90925090505b935093915050565b600061079c612c76565b6107a4612ca5565b86516107af90610d67565b91506107be8760200151610ca2565b905060038660048111156107d4576107d4613066565b036107ec576107e582828787610db1565b9250610816565b600486600481111561080057610800613066565b03610811576107e582828787610e0f565b600092505b9450945094915050565b6000806000610839886000015189602001518987610792565b92505091508161084e57600292505050610501565b6000610859826109b0565b905060038960200151600481111561087357610873613066565b036108955788604001518111156108905760029350505050610501565b6108ad565b88604001518110156108ad5760029350505050610501565b6108bc818a6040015188610e5e565b156108cd5760019350505050610501565b60009350505050610501565b50505095945050505050565b600060038260048111156108fb576108fb613066565b0361090b57506040830151610912565b5060208301515b9392505050565b60008080806109288686610ea6565b9350610933856109b0565b60608701519093506109459085610f94565b91506000610960876000015161095a88610ca2565b90610fba565b915050801561097d5760208701516109789082610f94565b610981565b6000195b91505092959194509250565b60008061099a83856133af565b9050670de0b6b3a7640000815b04949350505050565b6000670de0b6b3a76400006109f36109e48460400151856000015160a001516109d991906131aa565b6301e1338090610f94565b6109ed85611071565b906110be565b61072091906131aa565b6000610a0a838584611267565b949350505050565b600081600003610a2457610a246133c6565b6000610a30858461127c565b90506000831215610a5857610a50610a498260016131e7565b85906112c3565b915050610912565b610a50610a496001836131aa565b600080610a7b83600001518460200151610919565b9350505050826040015160800151811115610a995750600092915050565b6000610aac846000015160400151610c26565b90506000610ab8610c62565b90505b8151610ac89060016131e7565b82602001511115610b7d576000600283600001518460200151610aeb91906131aa565b610af591906131d3565b8351610b0191906131e7565b90506000806000610b158960038688610792565b92509250925082610b3a57610b2b6001856131aa565b602087015250610abb92505050565b6000610b468383610919565b93505050508960400151608001518111610b6257848752610b73565b610b6d6001866131aa565b60208801525b5050505050610abb565b50519392505050565b600083600003610b9857610b986133c6565b6000808512610bbc5783610bad8460026133af565b610bb791906131aa565b610bbe565b835b9050600081670de0b6b3a7640000610bd588611332565b610bdf91906133af565b610be991906131d3565b90506000670de0b6b3a7640000610c04836109ed81846131e7565b610c0e91906131aa565b9050610c1a888261098d565b98975050505050505050565b610c2e612c76565b506040805160a0810182526001815260208101929092526000908201526101006060820152655af3107a4000608082015290565b610c6a612c76565b6040518060a00160405280600181526020016000198152602001600081526020016101008152602001655af3107a4000815250905090565b610caa612ca5565b6040518060600160405280610cc2846000015161134d565b81526020018360200151815260200183604001518152509050919050565b6020830151604084015184516000928392610cff9291908790876113ca565b50602087015160408801518851939550919350610d1e929184906114eb565b505050935093915050565b6020830151604084015184516000928392610d4892919087908761153c565b50602087015160408801518851939550919350610d1e92918490611631565b610d6f612c76565b6040518060a001604052808360000151815260200183602001518152602001836040015181526020018360600151815260200183608001518152509050919050565b60008460400151831115610dc757506000610a0a565b6000610dd4858585610ce0565b5090508386604001818151610de991906131aa565b905250602086018051829190610e009083906131e7565b90525060019695505050505050565b60008460200151831115610e2557506000610a0a565b6000610e32858585610d29565b5090508086604001818151610e4791906131e7565b905250602086018051859190610e009083906131aa565b600083610e7c84610e7785670de0b6b3a76400006131aa565b61098d565b11158015610a0a5750610e9b83610e7784670de0b6b3a76400006131e7565b909311159392505050565b600080610eb283610ca2565b9050600080610ece866000015184610fba90919063ffffffff16565b915091506000828760600151610ee491906131e7565b90506000876040015183610ef891906131e7565b905087602001518111610f4657610f0f858261165a565b610f1990836131e7565b9150610f35818960200151610f2e91906131aa565b869061166c565b610f3f90836131e7565b9150610f89565b6020880151610f5690869061165a565b610f6090836131e7565b9150610f7c886020015182610f7591906131aa565b86906116c7565b610f8690836131e7565b91505b509695505050505050565b600080610fa9670de0b6b3a7640000856133af565b90508281816109a7576109a76131bd565b6000806000610fc8846116eb565b85516040810151602090910151919250600091610fe590846133dc565b610fef919061340c565b86516040810151905191925060009161100890856133dc565b611012919061340c565b8751604001519091506110259084611701565b8751604001528651516110389082611701565b87515286516020015161104b9083611701565b87516020015261105a82611748565b61106382611748565b945094505050509250929050565b602081015160408201518251600092839261108d929190611757565b905060006110b38460000151600001518360200151846000015185604001516000611851565b9050610a0a81611748565b6000816000036110d75750670de0b6b3a7640000610720565b826000036110e757506000610720565b600160ff1b831061112c5760405162461bcd60e51b815260206004820152600f60248201526e78206f7574206f6620626f756e647360881b6044820152606401610323565b82770bce5086492111aea88f4bb1ca6bcf584181ea8059f7653283106111865760405162461bcd60e51b815260206004820152600f60248201526e79206f7574206f6620626f756e647360881b6044820152606401610323565b826000670c7d713b49da0000831380156111a75750670f43fc2c04ee000083125b156111de5760006111b7846118fd565b9050670de0b6b3a764000080820784020583670de0b6b3a7640000830502019150506111ec565b816111e884611a1c565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff19811280159061121a575068070c1cc73b00c800008113155b61125e5760405162461bcd60e51b815260206004820152601560248201527470726f64756374206f7574206f6620626f756e647360581b6044820152606401610323565b61043481611dbf565b6000610a0a8361127786856121d4565b612240565b60008160000361128e5761128e6133c6565b600182126112a457816112a08161343a565b9250505b6109126112b484608001516116eb565b6112be9084613452565b611748565b600081158015906112e3575060a08301516112df9060026133af565b8214155b6112ef576112ef6133c6565b60006112fa84612277565b90506113076002826131d3565b6113126001856131aa565b61131c90836133af565b855161132891906131e7565b610a0a91906131e7565b6000808213611349576113448261347a565b610720565b5090565b611355612ccc565b60405180610120016040528083600001518152602001836020015181526020018360400151815260200183606001516001600160a01b03168152602001836080015181526020018360a0015181526020018360c0015181526020018360e0015181526020018361010001518152509050919050565b60008080806113da898988611757565b9050846040015160000361141c5784516113f490886122a5565b8552602085015161140e906114098b846122bb565b61233f565b602086015261141c8561234e565b60005b85606001518110156114c6576000611437878361239c565b90506000806114488d868e86612401565b509092509050600061145a8d84612432565b9050600061146882866131aa565b90508c811161149f57611480818e8d6080015161243e565b15611497575097509195509093506114e092505050565b848b526114b0565b6114aa6001866131aa565b60208c01525b5050505050806114bf906131fa565b905061141f565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b6000806000806000806115088a8a6115028b61246c565b8a612483565b92509250925061151783611748565b955061152282611748565b945061152d81611748565b93505050509450945094915050565b600080808061154c898988611757565b9050846040015160000361158d57845161156690886122a5565b85526020850151895161157f9190611409908490612516565b602086015261158d8561234e565b60005b85606001518110156114c65760006115a8878361239c565b90506000806115b98d868e866125ae565b50909250905060006115cb8d846125e0565b90508b811161160b576115e3818d8c6080015161243e565b15611603576115f281856131aa565b985092965094506114e09350505050565b838a5261161c565b6116166001856131aa565b60208b01525b505050508061162a906131fa565b9050611590565b6000806000806000806116488a8a6115028b6116eb565b9250925092506115176112be846125ed565b602082015160009061091290836125fb565b602082015160408301518351600092839261168a9291908690611631565b5050905060006116a78286602001516125e090919063ffffffff16565b905060006116b582866131aa565b602087015190915061043490826125fb565b6020820151604083015183516000926116e19285906114eb565b5090949350505050565b60006001600160ff1b0382111561134957600080fd5b60008183121561173e5760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b6044820152606401610323565b6109128284613496565b60008082121561134957600080fd5b6117826040518060800160405280600081526020016000815260200160008152602001600081525090565b60a084015182106117a65760405163b2094b5960e01b815260040160405180910390fd5b6000828560a001516117b891906131aa565b90506117c48582612607565b825260208501516117d6908590612668565b6020830152845115806117eb57506020820151155b15611812578451602083015160405163b1c4aefb60e01b815261032392919060040161311d565b6118308560000151866101000151846020015185600001518561269f565b604083015260c08501516118449082612720565b6060830152509392505050565b60008061185e8784611701565b9050600061187661186f888a613452565b8390612754565b9050670d529ae9e86000008113156118ad5780670d529ae9e8600000604051637e34684f60e11b815260040161032392919061311d565b60006118b882612783565b9050856118c58289612754565b6118cf9190613452565b9350670de0b6b3a76400008412156108d95760405163329e322960e21b815260048101859052602401610323565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161193e5761193e6131bd565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215611a5d57611a54826a0c097ce7bc90715b34b9f160241b81611a4e57611a4e6131bd565b05611a1c565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312611aa85772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312611adf576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611b27576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312611b62576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312611b9957693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312611bd057690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312611c055768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312611c3057680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312611c65576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312611c9a576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312611cce576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312611d02576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281611d2b57611d2b6131bd565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6000680238fd42c5cf03ffff198212158015611de4575068070c1cc73b00c800008213155b611e235760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610323565b6000821215611e5b57611e3882600003611dbf565b6a0c097ce7bc90715b34b9f160241b81611e5457611e546131bd565b0592915050565b60006806f05b59d3b20000008312611e9957506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b611ecf565b6803782dace9d90000008312611ecb57506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380611ecf565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412611f1f5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412611f5b576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412611f9557682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412611fcf576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261200857680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126120415768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b1880000841261207a576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126120b35768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b81516000908210156121e857506000610720565b82602001518211156122165760a08301516122049060026133af565b61220f9060016131e7565b9050610720565b61221f83612277565b835161222b90846131aa565b61223591906131d3565b6109129060016131e7565b60008061225084608001516116eb565b612259846116eb565b6122639190613496565b9050600181126109125780610501816134bd565b60008160a00151600261228a91906133af565b8251602084015161229b91906131aa565b61072091906131d3565b60008183116122b45781610912565b5090919050565b600080600090506000600184602001516122d591906131aa565b90505b80821461233757600060026122ed83856131e7565b6122f89060016131e7565b61230291906131d3565b90506000612315868860000151846127d6565b121561232d576123266001826131aa565b9150612331565b8092505b506122d8565b509392505050565b60008183106122b45781610912565b60208101518151118061236c5750670de0b6b3a76400008160800151115b1561239957805160208201516080830151604051632cc06bc160e21b81526103239392919060040161317e565b50565b6000811580156123af5750604083015115155b156123bf57506040820151610720565b60208301518351116123e857602083015183516002916123de916131e7565b61220f91906131d3565b604051637d388ed960e11b815260040160405180910390fd5b6000808080808061241f89896124168a61347a565b8d9291906128c8565b919c909b50909950975050505050505050565b60006109128383612a1c565b6000828411158015610a0a575061246183610e7784670de0b6b3a76400006131aa565b909310159392505050565b6000612477826116eb565b610720906000196133dc565b60008060006124968760a0015185101590565b156124b45760405163b2094b5960e01b815260040160405180910390fd5b865185126124da578651604051632185509b60e21b81526103239190879060040161311d565b60006124e7888887611757565b90506124f5888289896128c8565b9195509350915061250b8882898988878b612a3b565b509450945094915050565b60008061254361253e8560000151866040015187606001516125389190613496565b90612acd565b611dbf565b9050600061255c61186f670de0b6b3a764000084613452565b9050600061257a8660200151866125739190613452565b8390612acd565b905060006125888287613496565b90506103e8612599826103e76133af565b6125a391906131d3565b979650505050505050565b600080808080806125c18a8a8a8a6128c8565b925092509250826125d19061347a565b9a919950975095505050505050565b600082610a0a8184612aeb565b6000610720826000196133dc565b60006109128383612b17565b6000612612826116eb565b6126296126246201518061016d6133af565b6116eb565b846080015161263891906133dc565b612642919061340c565b90506000811361072057604051630e520c3b60e11b815260048101829052602401610323565b6000806000831261267a57600161267e565b6000195b90506126956126248561269086611332565b612a1c565b610a0a90826133dc565b6000806126ac8684612720565b9050670de0b6b3a76400008112156126da5760405163329e322960e21b815260048101829052602401610323565b60006126f06126e9878a613452565b8990612754565b905060006126fd82612783565b90506127098187612754565b6127139084613496565b9998505050505050505050565b6000806127326201518061016d6133af565b61273c84866133af565b61274691906131d3565b9050610a0a61253e826116eb565b600080612769670de0b6b3a7640000856133dc565b905082818161277a5761277a6131bd565b05949350505050565b6000670de0b6b3a764000082036127ad5760405163a9c8b14d60e01b815260040160405180910390fd5b60006127cb6127c484670de0b6b3a7640000613496565b8490612754565b905061091281612b2c565b6000808285602001516127e99190613496565b905060006127f78585613452565b90506000821380156128095750600081135b61284a5760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b6044820152606401610323565b600061287861285984846133dc565b60208901516128689089613452565b61287290886133dc565b90612754565b9050600061288e6128898486612754565b612b2c565b88519091506000906128a990670de0b6b3a764000090612754565b90506128b9816125388486613496565b89604001516127139190613496565b6000806000806128eb8860000151886020015189600001518a6040015189611851565b905060006129016128fc8784612754565b6125ed565b6060890151909150600087131561297057600061291e8483612754565b9050670de0b6b3a764000081121561294c5760405163329e322960e21b815260048101829052602401610323565b61296861296183670de0b6b3a7640000613496565b8490612acd565b91505061299d565b61299a8161298681670de0b6b3a7640000613496565b61299090856133dc565b6128fc919061340c565b90505b600060646129ae8c60e001516116eb565b6129b890846133dc565b6129c2919061340c565b905060006129d08385613496565b9050600081126129e9576129e48a82612bbd565b6129f3565b6129f38a82612bea565b97506129ff8a84612bbd565b9650612a0b8a83612bbd565b955050505050509450945094915050565b6000670de0b6b3a7640000612a3184846133af565b61091291906131d3565b6000818860a00151612a4d91906131aa565b8851909150612a5c9086611701565b8852612a76612a6b8486613452565b60208a015190611701565b602089018190528851612a9b91612a8e908990612668565b895160408b015185612c17565b6101008901819052600003612ac357604051635534d70f60e11b815260040160405180910390fd5b5050505050505050565b600080612ada83856133dc565b9050670de0b6b3a76400008161277a565b6000670de0b6b3a7640000600181612b0386866133af565b612b0d91906131e7565b612a3191906131aa565b600082612a31670de0b6b3a7640000846133af565b6000808213612b6d5760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610323565b670c7d713b49da000082138015612b8b5750670f43fc2c04ee000082125b15612baf57670de0b6b3a7640000612ba2836118fd565b81611e5457611e546131bd565b61072082611a1c565b919050565b60008060008312612bcf576001612bd3565b6000195b905061269561262485612be586611332565b612b17565b60008060008312612bfc576001612c00565b6000195b905061269561262485612c1286611332565b612c5e565b600080612c28878787876000611851565b90506000612c386112be83612b2c565b905083612c4a6201518061016d6133af565b612c5490836133af565b610c1a91906131d3565b600082600181612b03670de0b6b3a7640000866133af565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060600160405280612cb8612ccc565b815260200160008152602001600081525090565b60405180610120016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b60405160a081016001600160401b0381118282101715612d5157634e487b7160e01b600052604160045260246000fd5b60405290565b604051606081016001600160401b0381118282101715612d5157634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715612d5157634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b0381118282101715612d5157634e487b7160e01b600052604160045260246000fd5b600060a08284031215612dfa57600080fd5b612e02612d21565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015292915050565b6001600160a01b038116811461239957600080fd5b8035612bb881612e36565b6000818303610160811215612e6a57600080fd5b612e72612d57565b915061012080821215612e8457600080fd5b612e8c612d87565b9150833582526020840135602083015260408401356040830152612eb260608501612e4b565b60608301526080840135608083015260a084013560a083015260c084013560c083015260e084013560e08301526101008085013581840152508183528084013560208401525050610140820135604082015292915050565b60008183036102c0811215612f1e57600080fd5b612f26612d57565b9150612f328484612de8565b8252612f418460a08501612e56565b602083015260c06101ff1982011215612f5957600080fd5b50612f62612db8565b610200830135815261022083013560208201526102408301356040820152610260830135606082015261028083013560808201526102a083013560a08201528060408301525092915050565b803560058110612bb857600080fd5b6000806000806000806104608789031215612fd757600080fd5b612fe18888612f0a565b9550612ff06102c08801612fae565b94506102e087013593506103008701359250613010886103208901612de8565b9150613020886103c08901612de8565b90509295509295509295565b60006020828403121561303e57600080fd5b813561091281612e36565b60006102c0828403121561305c57600080fd5b6109128383612f0a565b634e487b7160e01b600052602160045260246000fd5b815160c0820190600581106130a157634e487b7160e01b600052602160045260246000fd5b808352506020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b60008060006101a084860312156130f357600080fd5b6130fd8585612e56565b925061310c6101608501612fae565b915061018084013590509250925092565b918252602082015260400190565b6000806000806103a0858703121561314257600080fd5b61314c8686612f0a565b935061315b6102c08601612fae565b92506102e08501359150613173866103008701612de8565b905092959194509250565b9283526020830191909152604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561072057610720613194565b634e487b7160e01b600052601260045260246000fd5b6000826131e2576131e26131bd565b500490565b8082018082111561072057610720613194565b60006001820161320c5761320c613194565b5060010190565b8051612bb881612e36565b600060c0828403121561323057600080fd5b613238612db8565b9050815181526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b60008183036102c081121561328a57600080fd5b613292612d57565b60a08212156132a057600080fd5b6132a8612d21565b845181526020850151602082015260408501516040820152606085015160608201526080850151608082015280825250609f1982019150610160808312156132ef57600080fd5b6132f7612d57565b6101208085121561330757600080fd5b61330f612d87565b945060a0870151855260c0870151602086015260e0870151604086015261010061333a818901613213565b606087015281880151608087015261014088015160a08701528388015160c087015261018088015160e08701526101a08801518187015250508381526101c086015160208201526101e0860151604082015280602084015250506133a285610200860161321e565b6040820152949350505050565b808202811582820484141761072057610720613194565b634e487b7160e01b600052600160045260246000fd5b80820260008212600160ff1b841416156133f8576133f8613194565b818105831482151761072057610720613194565b60008261341b5761341b6131bd565b600160ff1b82146000198414161561343557613435613194565b500590565b60006001600160ff1b01820161320c5761320c613194565b808201828112600083128015821682158216171561347257613472613194565b505092915050565b6000600160ff1b820161348f5761348f613194565b5060000390565b81810360008312801583831316838312821617156134b6576134b6613194565b5092915050565b6000600160ff1b82016134d2576134d2613194565b50600019019056fea2646970667358221220b38968e7d5baaebd5d0094cb35583c9e89ae3c92ea77c2b5af1bf8e52594f95564736f6c63430008110033",
1213
+ "linkReferences": {},
1214
+ "deployedLinkReferences": {}
1215
+ }