@pendle/core-v2 2.17.5-tradingbot → 2.17.7-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 (162) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  6. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  18. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  19. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  20. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  21. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  22. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  23. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  24. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  25. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  27. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  28. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  29. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/TradingBot/BotActionCallback.sol/BotActionCallback.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/TradingBot/BotActionCallback.sol/BotActionCallback.json +25 -0
  49. package/build/artifacts/contracts/core/TradingBot/BotActionHelper.sol/BotActionHelper.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/TradingBot/BotActionHelper.sol/BotActionHelper.json +25 -0
  51. package/build/artifacts/contracts/core/TradingBot/BotDecisionHelper.sol/BotDecisionHelper.dbg.json +4 -0
  52. package/build/artifacts/contracts/core/TradingBot/BotDecisionHelper.sol/BotDecisionHelper.json +1070 -0
  53. package/build/artifacts/contracts/core/TradingBot/BotSimulationLib.sol/BotSimulationLib.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/TradingBot/BotSimulationLib.sol/BotSimulationLib.json +2 -2
  55. package/build/artifacts/contracts/core/TradingBot/LongYieldTradingBot.sol/LongYieldTradingBot.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/TradingBot/LongYieldTradingBot.sol/LongYieldTradingBot.json +60 -180
  57. package/build/artifacts/contracts/core/TradingBot/MarketExtLib.sol/MarketExtLib.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/TradingBot/MarketExtLib.sol/MarketExtLib.json +2 -2
  59. package/build/artifacts/contracts/core/TradingBot/TradingBotBase.sol/TradingBotBase.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/TradingBot/TradingBotBase.sol/TradingBotBase.json +25 -0
  61. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/libraries/TokenAmountLib.sol/TokenAmountLib.dbg.json +1 -1
  69. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  70. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  71. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  72. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  73. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  74. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  75. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  76. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  77. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  78. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  79. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  80. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  81. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  82. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  83. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  84. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  85. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  86. package/build/artifacts/contracts/interfaces/TradingBot/IBotDecisionHelper.sol/IBotDecisionHelper.dbg.json +4 -0
  87. package/build/artifacts/contracts/interfaces/TradingBot/IBotDecisionHelper.sol/IBotDecisionHelper.json +917 -0
  88. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.dbg.json +1 -1
  89. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.json +425 -161
  90. package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.dbg.json +1 -1
  91. package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.json +50 -0
  92. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  93. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  94. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  95. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  96. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
  97. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  98. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  99. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  100. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  101. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  102. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  103. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  104. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  105. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  106. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
  107. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
  108. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.dbg.json +1 -1
  109. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
  110. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  111. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  112. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  113. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  114. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  115. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  116. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  117. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  118. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  119. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  120. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  121. package/contracts/core/TradingBot/BotActionCallback.sol +1 -1
  122. package/contracts/core/TradingBot/BotDecisionHelper.sol +306 -0
  123. package/contracts/core/TradingBot/BotSimulationLib.sol +8 -7
  124. package/contracts/core/TradingBot/LongYieldTradingBot.sol +20 -24
  125. package/contracts/core/TradingBot/MarketExtLib.sol +64 -31
  126. package/contracts/core/TradingBot/README.md +27 -25
  127. package/contracts/core/TradingBot/TradingBotBase.sol +36 -16
  128. package/contracts/interfaces/TradingBot/IBotDecisionHelper.sol +91 -0
  129. package/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol +7 -32
  130. package/contracts/interfaces/TradingBot/ITradingBotBase.sol +6 -4
  131. package/package.json +1 -1
  132. package/typechain-types/BotActionCallback.ts +36 -0
  133. package/typechain-types/BotActionHelper.ts +36 -0
  134. package/typechain-types/BotDecisionHelper.ts +527 -0
  135. package/typechain-types/IBotDecisionHelper.ts +507 -0
  136. package/typechain-types/ILongYieldTradingBot.ts +481 -129
  137. package/typechain-types/ITradingBotBase.ts +76 -0
  138. package/typechain-types/IWBETH.ts +128 -0
  139. package/typechain-types/LongYieldTradingBot.ts +85 -141
  140. package/typechain-types/PendleBinanceEth.ts +1229 -0
  141. package/typechain-types/PtAndLpToAsset.ts +136 -0
  142. package/typechain-types/TradingBotBase.ts +36 -0
  143. package/typechain-types/factories/BotActionCallback__factory.ts +25 -0
  144. package/typechain-types/factories/BotActionHelper__factory.ts +25 -0
  145. package/typechain-types/factories/BotDecisionHelper__factory.ts +1123 -0
  146. package/typechain-types/factories/IBotDecisionHelper__factory.ts +932 -0
  147. package/typechain-types/factories/ILongYieldTradingBot__factory.ts +425 -161
  148. package/typechain-types/factories/ITradingBotBase__factory.ts +50 -0
  149. package/typechain-types/factories/IWBETH__factory.ts +51 -0
  150. package/typechain-types/factories/LongYieldTradingBot__factory.ts +63 -183
  151. package/typechain-types/factories/MarketExtLib__factory.ts +1 -1
  152. package/typechain-types/factories/PendleBinanceEth__factory.ts +1052 -0
  153. package/typechain-types/factories/PtAndLpToAsset__factory.ts +150 -0
  154. package/typechain-types/factories/TradingBotBase__factory.ts +25 -0
  155. package/typechain-types/hardhat.d.ts +49 -13
  156. package/typechain-types/index.ts +12 -4
  157. package/build/artifacts/contracts/core/TradingBot/BotDecisionLib.sol/BotDecisionLib.dbg.json +0 -4
  158. package/build/artifacts/contracts/core/TradingBot/BotDecisionLib.sol/BotDecisionLib.json +0 -589
  159. package/build/artifacts/contracts/core/TradingBot/TradingBotOffchain.sol/TradingBotOffchain.dbg.json +0 -4
  160. package/build/artifacts/contracts/core/TradingBot/TradingBotOffchain.sol/TradingBotOffchain.json +0 -1075
  161. package/contracts/core/TradingBot/BotDecisionLib.sol +0 -274
  162. package/contracts/core/TradingBot/TradingBotOffchain.sol +0 -141
@@ -9,6 +9,7 @@ import {
9
9
  CallOverrides,
10
10
  ContractTransaction,
11
11
  Overrides,
12
+ PayableOverrides,
12
13
  PopulatedTransaction,
13
14
  Signer,
14
15
  utils,
@@ -22,16 +23,6 @@ import type {
22
23
  OnEvent,
23
24
  } from "./common";
24
25
 
25
- export type StrategyStateStruct = {
26
- iyFlag: BigNumberish;
27
- syRatioFlag: BigNumberish;
28
- };
29
-
30
- export type StrategyStateStructOutput = [number, number] & {
31
- iyFlag: number;
32
- syRatioFlag: number;
33
- };
34
-
35
26
  export type ApproxParamsStruct = {
36
27
  guessMin: BigNumberish;
37
28
  guessMax: BigNumberish;
@@ -54,14 +45,122 @@ export type ApproxParamsStructOutput = [
54
45
  eps: BigNumber;
55
46
  };
56
47
 
48
+ export type SwapDataStruct = {
49
+ swapType: BigNumberish;
50
+ extRouter: string;
51
+ extCalldata: BytesLike;
52
+ needScale: boolean;
53
+ };
54
+
55
+ export type SwapDataStructOutput = [number, string, string, boolean] & {
56
+ swapType: number;
57
+ extRouter: string;
58
+ extCalldata: string;
59
+ needScale: boolean;
60
+ };
61
+
62
+ export type TokenInputStruct = {
63
+ tokenIn: string;
64
+ netTokenIn: BigNumberish;
65
+ tokenMintSy: string;
66
+ bulk: string;
67
+ pendleSwap: string;
68
+ swapData: SwapDataStruct;
69
+ };
70
+
71
+ export type TokenInputStructOutput = [
72
+ string,
73
+ BigNumber,
74
+ string,
75
+ string,
76
+ string,
77
+ SwapDataStructOutput
78
+ ] & {
79
+ tokenIn: string;
80
+ netTokenIn: BigNumber;
81
+ tokenMintSy: string;
82
+ bulk: string;
83
+ pendleSwap: string;
84
+ swapData: SwapDataStructOutput;
85
+ };
86
+
87
+ export type TokenAmountStruct = { token: string; amount: BigNumberish };
88
+
89
+ export type TokenAmountStructOutput = [string, BigNumber] & {
90
+ token: string;
91
+ amount: BigNumber;
92
+ };
93
+
94
+ export type BotStateStruct = {
95
+ lpBalance: BigNumberish;
96
+ ytBalance: BigNumberish;
97
+ syBalance: BigNumberish;
98
+ };
99
+
100
+ export type BotStateStructOutput = [BigNumber, BigNumber, BigNumber] & {
101
+ lpBalance: BigNumber;
102
+ ytBalance: BigNumber;
103
+ syBalance: BigNumber;
104
+ };
105
+
106
+ export type MarketStateStruct = {
107
+ totalPt: BigNumberish;
108
+ totalSy: BigNumberish;
109
+ totalLp: BigNumberish;
110
+ treasury: string;
111
+ scalarRoot: BigNumberish;
112
+ expiry: BigNumberish;
113
+ lnFeeRateRoot: BigNumberish;
114
+ reserveFeePercent: BigNumberish;
115
+ lastLnImpliedRate: BigNumberish;
116
+ };
117
+
118
+ export type MarketStateStructOutput = [
119
+ BigNumber,
120
+ BigNumber,
121
+ BigNumber,
122
+ string,
123
+ BigNumber,
124
+ BigNumber,
125
+ BigNumber,
126
+ BigNumber,
127
+ BigNumber
128
+ ] & {
129
+ totalPt: BigNumber;
130
+ totalSy: BigNumber;
131
+ totalLp: BigNumber;
132
+ treasury: string;
133
+ scalarRoot: BigNumber;
134
+ expiry: BigNumber;
135
+ lnFeeRateRoot: BigNumber;
136
+ reserveFeePercent: BigNumber;
137
+ lastLnImpliedRate: BigNumber;
138
+ };
139
+
140
+ export type MarketExtStateStruct = {
141
+ state: MarketStateStruct;
142
+ index: BigNumberish;
143
+ blockTime: BigNumberish;
144
+ };
145
+
146
+ export type MarketExtStateStructOutput = [
147
+ MarketStateStructOutput,
148
+ BigNumber,
149
+ BigNumber
150
+ ] & { state: MarketStateStructOutput; index: BigNumber; blockTime: BigNumber };
151
+
57
152
  export type LongTradingSpecsStruct = {
58
153
  lowerIyLimit: BigNumberish;
59
154
  upperIyLimit: BigNumberish;
60
155
  floatingSyRatioLimit: BigNumberish;
156
+ floatingSyRatioTarget: BigNumberish;
61
157
  ytPtRatioLimit: BigNumberish;
158
+ ytPtRatioTarget: BigNumberish;
62
159
  };
63
160
 
64
161
  export type LongTradingSpecsStructOutput = [
162
+ BigNumber,
163
+ BigNumber,
65
164
  BigNumber,
66
165
  BigNumber,
67
166
  BigNumber,
@@ -70,58 +169,88 @@ export type LongTradingSpecsStructOutput = [
70
169
  lowerIyLimit: BigNumber;
71
170
  upperIyLimit: BigNumber;
72
171
  floatingSyRatioLimit: BigNumber;
172
+ floatingSyRatioTarget: BigNumber;
73
173
  ytPtRatioLimit: BigNumber;
174
+ ytPtRatioTarget: BigNumber;
74
175
  };
75
176
 
177
+ export declare namespace ITradingBotBase {
178
+ export type MultiApprovalStruct = { tokens: string[]; spender: string };
179
+
180
+ export type MultiApprovalStructOutput = [string[], string] & {
181
+ tokens: string[];
182
+ spender: string;
183
+ };
184
+ }
185
+
76
186
  export interface ILongYieldTradingBotInterface extends utils.Interface {
77
187
  contractName: "ILongYieldTradingBot";
78
188
  functions: {
79
- "addLiqFromSy((uint8,uint8),(uint256,uint256,uint256,uint256,uint256),uint256,uint256)": FunctionFragment;
80
- "addLiqFromYt((uint8,uint8),(uint256,uint256,uint256,uint256,uint256),uint256,uint256)": FunctionFragment;
81
- "addLiqKeepYt(address,(uint8,uint8),(uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256)": FunctionFragment;
82
- "removeLiqToYt((uint8,uint8),(uint256,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256,uint256),uint256,uint256)": FunctionFragment;
83
- "setSpecs((uint256,uint256,uint256,uint256))": FunctionFragment;
84
- "swapSyToYt(address,(uint8,uint8),(uint256,uint256,uint256,uint256,uint256),uint256,uint256)": FunctionFragment;
189
+ "addLiqFromSy((uint256,uint256,uint256,uint256,uint256),uint256,uint256)": FunctionFragment;
190
+ "addLiqFromYt((uint256,uint256,uint256,uint256,uint256),uint256,uint256)": FunctionFragment;
191
+ "addLiqKeepYt(address,(uint256,uint256,uint256,uint256,uint256),uint256,uint256,uint256)": FunctionFragment;
192
+ "approveInf((address[],address)[])": FunctionFragment;
193
+ "claimAndCompound(address,(address,uint256,address,address,address,(uint8,address,bytes,bool))[],uint256)": FunctionFragment;
194
+ "claimWithoutCompound()": FunctionFragment;
195
+ "depositSy(uint256)": FunctionFragment;
196
+ "depositToken(address,(address,uint256,address,address,address,(uint8,address,bytes,bool)),uint256)": FunctionFragment;
197
+ "readBotState()": FunctionFragment;
198
+ "readMarketExtState(address)": FunctionFragment;
199
+ "removeLiqToYt((uint256,uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256,uint256),uint256,uint256)": FunctionFragment;
200
+ "setSpecs((uint256,uint256,uint256,uint256,uint256,uint256))": FunctionFragment;
201
+ "swapSyToYt(address,(uint256,uint256,uint256,uint256,uint256),uint256,uint256)": FunctionFragment;
202
+ "withdrawFunds(address,uint256)": FunctionFragment;
85
203
  };
86
204
 
87
205
  encodeFunctionData(
88
206
  functionFragment: "addLiqFromSy",
89
- values: [
90
- StrategyStateStruct,
91
- ApproxParamsStruct,
92
- BigNumberish,
93
- BigNumberish
94
- ]
207
+ values: [ApproxParamsStruct, BigNumberish, BigNumberish]
95
208
  ): string;
96
209
  encodeFunctionData(
97
210
  functionFragment: "addLiqFromYt",
98
- values: [
99
- StrategyStateStruct,
100
- ApproxParamsStruct,
101
- BigNumberish,
102
- BigNumberish
103
- ]
211
+ values: [ApproxParamsStruct, BigNumberish, BigNumberish]
104
212
  ): string;
105
213
  encodeFunctionData(
106
214
  functionFragment: "addLiqKeepYt",
107
215
  values: [
108
216
  string,
109
- StrategyStateStruct,
110
217
  ApproxParamsStruct,
111
218
  BigNumberish,
112
219
  BigNumberish,
113
220
  BigNumberish
114
221
  ]
115
222
  ): string;
223
+ encodeFunctionData(
224
+ functionFragment: "approveInf",
225
+ values: [ITradingBotBase.MultiApprovalStruct[]]
226
+ ): string;
227
+ encodeFunctionData(
228
+ functionFragment: "claimAndCompound",
229
+ values: [string, TokenInputStruct[], BigNumberish]
230
+ ): string;
231
+ encodeFunctionData(
232
+ functionFragment: "claimWithoutCompound",
233
+ values?: undefined
234
+ ): string;
235
+ encodeFunctionData(
236
+ functionFragment: "depositSy",
237
+ values: [BigNumberish]
238
+ ): string;
239
+ encodeFunctionData(
240
+ functionFragment: "depositToken",
241
+ values: [string, TokenInputStruct, BigNumberish]
242
+ ): string;
243
+ encodeFunctionData(
244
+ functionFragment: "readBotState",
245
+ values?: undefined
246
+ ): string;
247
+ encodeFunctionData(
248
+ functionFragment: "readMarketExtState",
249
+ values: [string]
250
+ ): string;
116
251
  encodeFunctionData(
117
252
  functionFragment: "removeLiqToYt",
118
- values: [
119
- StrategyStateStruct,
120
- ApproxParamsStruct,
121
- ApproxParamsStruct,
122
- BigNumberish,
123
- BigNumberish
124
- ]
253
+ values: [ApproxParamsStruct, ApproxParamsStruct, BigNumberish, BigNumberish]
125
254
  ): string;
126
255
  encodeFunctionData(
127
256
  functionFragment: "setSpecs",
@@ -129,13 +258,11 @@ export interface ILongYieldTradingBotInterface extends utils.Interface {
129
258
  ): string;
130
259
  encodeFunctionData(
131
260
  functionFragment: "swapSyToYt",
132
- values: [
133
- string,
134
- StrategyStateStruct,
135
- ApproxParamsStruct,
136
- BigNumberish,
137
- BigNumberish
138
- ]
261
+ values: [string, ApproxParamsStruct, BigNumberish, BigNumberish]
262
+ ): string;
263
+ encodeFunctionData(
264
+ functionFragment: "withdrawFunds",
265
+ values: [string, BigNumberish]
139
266
  ): string;
140
267
 
141
268
  decodeFunctionResult(
@@ -150,38 +277,65 @@ export interface ILongYieldTradingBotInterface extends utils.Interface {
150
277
  functionFragment: "addLiqKeepYt",
151
278
  data: BytesLike
152
279
  ): Result;
280
+ decodeFunctionResult(functionFragment: "approveInf", data: BytesLike): Result;
281
+ decodeFunctionResult(
282
+ functionFragment: "claimAndCompound",
283
+ data: BytesLike
284
+ ): Result;
285
+ decodeFunctionResult(
286
+ functionFragment: "claimWithoutCompound",
287
+ data: BytesLike
288
+ ): Result;
289
+ decodeFunctionResult(functionFragment: "depositSy", data: BytesLike): Result;
290
+ decodeFunctionResult(
291
+ functionFragment: "depositToken",
292
+ data: BytesLike
293
+ ): Result;
294
+ decodeFunctionResult(
295
+ functionFragment: "readBotState",
296
+ data: BytesLike
297
+ ): Result;
298
+ decodeFunctionResult(
299
+ functionFragment: "readMarketExtState",
300
+ data: BytesLike
301
+ ): Result;
153
302
  decodeFunctionResult(
154
303
  functionFragment: "removeLiqToYt",
155
304
  data: BytesLike
156
305
  ): Result;
157
306
  decodeFunctionResult(functionFragment: "setSpecs", data: BytesLike): Result;
158
307
  decodeFunctionResult(functionFragment: "swapSyToYt", data: BytesLike): Result;
308
+ decodeFunctionResult(
309
+ functionFragment: "withdrawFunds",
310
+ data: BytesLike
311
+ ): Result;
159
312
 
160
313
  events: {
161
- "AddLiqFromSy(tuple,tuple,uint256,uint256,uint256)": EventFragment;
162
- "AddLiqFromYt(tuple,tuple,uint256,uint256,uint256)": EventFragment;
163
- "AddLiqKeepYt(tuple,tuple,uint256,uint256,uint256,uint256)": EventFragment;
164
- "RemoveLiqToYt(tuple,tuple,uint256,uint256,uint256)": EventFragment;
165
- "SwapSyToYt(tuple,tuple,uint256,uint256,uint256)": EventFragment;
314
+ "AddLiqFromSy(tuple,uint256,uint256,uint256)": EventFragment;
315
+ "AddLiqFromYt(tuple,uint256,uint256,uint256)": EventFragment;
316
+ "AddLiqKeepYt(tuple,uint256,uint256,uint256,uint256)": EventFragment;
317
+ "ClaimAndCompound(uint256,uint256)": EventFragment;
318
+ "DepositSy(uint256)": EventFragment;
319
+ "DepositToken(address,uint256)": EventFragment;
320
+ "RemoveLiqToYt(tuple,uint256,uint256,uint256)": EventFragment;
321
+ "SwapSyToYt(tuple,uint256,uint256,uint256)": EventFragment;
322
+ "WithdrawFunds(address,uint256)": EventFragment;
166
323
  };
167
324
 
168
325
  getEvent(nameOrSignatureOrTopic: "AddLiqFromSy"): EventFragment;
169
326
  getEvent(nameOrSignatureOrTopic: "AddLiqFromYt"): EventFragment;
170
327
  getEvent(nameOrSignatureOrTopic: "AddLiqKeepYt"): EventFragment;
328
+ getEvent(nameOrSignatureOrTopic: "ClaimAndCompound"): EventFragment;
329
+ getEvent(nameOrSignatureOrTopic: "DepositSy"): EventFragment;
330
+ getEvent(nameOrSignatureOrTopic: "DepositToken"): EventFragment;
171
331
  getEvent(nameOrSignatureOrTopic: "RemoveLiqToYt"): EventFragment;
172
332
  getEvent(nameOrSignatureOrTopic: "SwapSyToYt"): EventFragment;
333
+ getEvent(nameOrSignatureOrTopic: "WithdrawFunds"): EventFragment;
173
334
  }
174
335
 
175
336
  export type AddLiqFromSyEvent = TypedEvent<
176
- [
177
- StrategyStateStructOutput,
178
- ApproxParamsStructOutput,
179
- BigNumber,
180
- BigNumber,
181
- BigNumber
182
- ],
337
+ [ApproxParamsStructOutput, BigNumber, BigNumber, BigNumber],
183
338
  {
184
- state: StrategyStateStructOutput;
185
339
  botParams: ApproxParamsStructOutput;
186
340
  maxSyIn: BigNumber;
187
341
  netSyIn: BigNumber;
@@ -192,15 +346,8 @@ export type AddLiqFromSyEvent = TypedEvent<
192
346
  export type AddLiqFromSyEventFilter = TypedEventFilter<AddLiqFromSyEvent>;
193
347
 
194
348
  export type AddLiqFromYtEvent = TypedEvent<
195
- [
196
- StrategyStateStructOutput,
197
- ApproxParamsStructOutput,
198
- BigNumber,
199
- BigNumber,
200
- BigNumber
201
- ],
349
+ [ApproxParamsStructOutput, BigNumber, BigNumber, BigNumber],
202
350
  {
203
- state: StrategyStateStructOutput;
204
351
  botParams: ApproxParamsStructOutput;
205
352
  maxYtIn: BigNumber;
206
353
  netYtIn: BigNumber;
@@ -211,16 +358,8 @@ export type AddLiqFromYtEvent = TypedEvent<
211
358
  export type AddLiqFromYtEventFilter = TypedEventFilter<AddLiqFromYtEvent>;
212
359
 
213
360
  export type AddLiqKeepYtEvent = TypedEvent<
214
- [
215
- StrategyStateStructOutput,
216
- ApproxParamsStructOutput,
217
- BigNumber,
218
- BigNumber,
219
- BigNumber,
220
- BigNumber
221
- ],
361
+ [ApproxParamsStructOutput, BigNumber, BigNumber, BigNumber, BigNumber],
222
362
  {
223
- state: StrategyStateStructOutput;
224
363
  botParams: ApproxParamsStructOutput;
225
364
  maxSyIn: BigNumber;
226
365
  netSyIn: BigNumber;
@@ -231,16 +370,28 @@ export type AddLiqKeepYtEvent = TypedEvent<
231
370
 
232
371
  export type AddLiqKeepYtEventFilter = TypedEventFilter<AddLiqKeepYtEvent>;
233
372
 
373
+ export type ClaimAndCompoundEvent = TypedEvent<
374
+ [BigNumber, BigNumber],
375
+ { netSyOut: BigNumber; netPendleOut: BigNumber }
376
+ >;
377
+
378
+ export type ClaimAndCompoundEventFilter =
379
+ TypedEventFilter<ClaimAndCompoundEvent>;
380
+
381
+ export type DepositSyEvent = TypedEvent<[BigNumber], { netSyIn: BigNumber }>;
382
+
383
+ export type DepositSyEventFilter = TypedEventFilter<DepositSyEvent>;
384
+
385
+ export type DepositTokenEvent = TypedEvent<
386
+ [string, BigNumber],
387
+ { token: string; netTokenIn: BigNumber }
388
+ >;
389
+
390
+ export type DepositTokenEventFilter = TypedEventFilter<DepositTokenEvent>;
391
+
234
392
  export type RemoveLiqToYtEvent = TypedEvent<
235
- [
236
- StrategyStateStructOutput,
237
- ApproxParamsStructOutput,
238
- BigNumber,
239
- BigNumber,
240
- BigNumber
241
- ],
393
+ [ApproxParamsStructOutput, BigNumber, BigNumber, BigNumber],
242
394
  {
243
- state: StrategyStateStructOutput;
244
395
  botParams: ApproxParamsStructOutput;
245
396
  maxLpRemoved: BigNumber;
246
397
  netLpIn: BigNumber;
@@ -251,15 +402,8 @@ export type RemoveLiqToYtEvent = TypedEvent<
251
402
  export type RemoveLiqToYtEventFilter = TypedEventFilter<RemoveLiqToYtEvent>;
252
403
 
253
404
  export type SwapSyToYtEvent = TypedEvent<
254
- [
255
- StrategyStateStructOutput,
256
- ApproxParamsStructOutput,
257
- BigNumber,
258
- BigNumber,
259
- BigNumber
260
- ],
405
+ [ApproxParamsStructOutput, BigNumber, BigNumber, BigNumber],
261
406
  {
262
- state: StrategyStateStructOutput;
263
407
  botParams: ApproxParamsStructOutput;
264
408
  maxSyIn: BigNumber;
265
409
  exactYtOut: BigNumber;
@@ -269,6 +413,13 @@ export type SwapSyToYtEvent = TypedEvent<
269
413
 
270
414
  export type SwapSyToYtEventFilter = TypedEventFilter<SwapSyToYtEvent>;
271
415
 
416
+ export type WithdrawFundsEvent = TypedEvent<
417
+ [string, BigNumber],
418
+ { token: string; amount: BigNumber }
419
+ >;
420
+
421
+ export type WithdrawFundsEventFilter = TypedEventFilter<WithdrawFundsEvent>;
422
+
272
423
  export interface ILongYieldTradingBot extends BaseContract {
273
424
  contractName: "ILongYieldTradingBot";
274
425
  connect(signerOrProvider: Signer | Provider | string): this;
@@ -298,7 +449,6 @@ export interface ILongYieldTradingBot extends BaseContract {
298
449
 
299
450
  functions: {
300
451
  addLiqFromSy(
301
- oldState: StrategyStateStruct,
302
452
  botParams: ApproxParamsStruct,
303
453
  minLpOut: BigNumberish,
304
454
  maxSyIn: BigNumberish,
@@ -306,7 +456,6 @@ export interface ILongYieldTradingBot extends BaseContract {
306
456
  ): Promise<ContractTransaction>;
307
457
 
308
458
  addLiqFromYt(
309
- oldState: StrategyStateStruct,
310
459
  botParams: ApproxParamsStruct,
311
460
  minLpOut: BigNumberish,
312
461
  maxYtIn: BigNumberish,
@@ -315,7 +464,6 @@ export interface ILongYieldTradingBot extends BaseContract {
315
464
 
316
465
  addLiqKeepYt(
317
466
  router: string,
318
- oldState: StrategyStateStruct,
319
467
  botParams: ApproxParamsStruct,
320
468
  maxSyIn: BigNumberish,
321
469
  minLpOut: BigNumberish,
@@ -323,8 +471,44 @@ export interface ILongYieldTradingBot extends BaseContract {
323
471
  overrides?: Overrides & { from?: string | Promise<string> }
324
472
  ): Promise<ContractTransaction>;
325
473
 
474
+ approveInf(
475
+ arr: ITradingBotBase.MultiApprovalStruct[],
476
+ overrides?: Overrides & { from?: string | Promise<string> }
477
+ ): Promise<ContractTransaction>;
478
+
479
+ claimAndCompound(
480
+ router: string,
481
+ inps: TokenInputStruct[],
482
+ minSyOut: BigNumberish,
483
+ overrides?: Overrides & { from?: string | Promise<string> }
484
+ ): Promise<ContractTransaction>;
485
+
486
+ claimWithoutCompound(
487
+ overrides?: Overrides & { from?: string | Promise<string> }
488
+ ): Promise<ContractTransaction>;
489
+
490
+ depositSy(
491
+ netSyIn: BigNumberish,
492
+ overrides?: Overrides & { from?: string | Promise<string> }
493
+ ): Promise<ContractTransaction>;
494
+
495
+ depositToken(
496
+ router: string,
497
+ inp: TokenInputStruct,
498
+ minSyOut: BigNumberish,
499
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
500
+ ): Promise<ContractTransaction>;
501
+
502
+ readBotState(
503
+ overrides?: CallOverrides
504
+ ): Promise<[BotStateStructOutput] & { botState: BotStateStructOutput }>;
505
+
506
+ readMarketExtState(
507
+ router: string,
508
+ overrides?: Overrides & { from?: string | Promise<string> }
509
+ ): Promise<ContractTransaction>;
510
+
326
511
  removeLiqToYt(
327
- oldState: StrategyStateStruct,
328
512
  botParams: ApproxParamsStruct,
329
513
  guessTotalPtToSwap: ApproxParamsStruct,
330
514
  maxLpRemoved: BigNumberish,
@@ -339,16 +523,20 @@ export interface ILongYieldTradingBot extends BaseContract {
339
523
 
340
524
  swapSyToYt(
341
525
  router: string,
342
- oldState: StrategyStateStruct,
343
526
  botParams: ApproxParamsStruct,
344
527
  minYtOut: BigNumberish,
345
528
  maxSyIn: BigNumberish,
346
529
  overrides?: Overrides & { from?: string | Promise<string> }
347
530
  ): Promise<ContractTransaction>;
531
+
532
+ withdrawFunds(
533
+ token: string,
534
+ amount: BigNumberish,
535
+ overrides?: Overrides & { from?: string | Promise<string> }
536
+ ): Promise<ContractTransaction>;
348
537
  };
349
538
 
350
539
  addLiqFromSy(
351
- oldState: StrategyStateStruct,
352
540
  botParams: ApproxParamsStruct,
353
541
  minLpOut: BigNumberish,
354
542
  maxSyIn: BigNumberish,
@@ -356,7 +544,6 @@ export interface ILongYieldTradingBot extends BaseContract {
356
544
  ): Promise<ContractTransaction>;
357
545
 
358
546
  addLiqFromYt(
359
- oldState: StrategyStateStruct,
360
547
  botParams: ApproxParamsStruct,
361
548
  minLpOut: BigNumberish,
362
549
  maxYtIn: BigNumberish,
@@ -365,7 +552,6 @@ export interface ILongYieldTradingBot extends BaseContract {
365
552
 
366
553
  addLiqKeepYt(
367
554
  router: string,
368
- oldState: StrategyStateStruct,
369
555
  botParams: ApproxParamsStruct,
370
556
  maxSyIn: BigNumberish,
371
557
  minLpOut: BigNumberish,
@@ -373,8 +559,42 @@ export interface ILongYieldTradingBot extends BaseContract {
373
559
  overrides?: Overrides & { from?: string | Promise<string> }
374
560
  ): Promise<ContractTransaction>;
375
561
 
562
+ approveInf(
563
+ arr: ITradingBotBase.MultiApprovalStruct[],
564
+ overrides?: Overrides & { from?: string | Promise<string> }
565
+ ): Promise<ContractTransaction>;
566
+
567
+ claimAndCompound(
568
+ router: string,
569
+ inps: TokenInputStruct[],
570
+ minSyOut: BigNumberish,
571
+ overrides?: Overrides & { from?: string | Promise<string> }
572
+ ): Promise<ContractTransaction>;
573
+
574
+ claimWithoutCompound(
575
+ overrides?: Overrides & { from?: string | Promise<string> }
576
+ ): Promise<ContractTransaction>;
577
+
578
+ depositSy(
579
+ netSyIn: BigNumberish,
580
+ overrides?: Overrides & { from?: string | Promise<string> }
581
+ ): Promise<ContractTransaction>;
582
+
583
+ depositToken(
584
+ router: string,
585
+ inp: TokenInputStruct,
586
+ minSyOut: BigNumberish,
587
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
588
+ ): Promise<ContractTransaction>;
589
+
590
+ readBotState(overrides?: CallOverrides): Promise<BotStateStructOutput>;
591
+
592
+ readMarketExtState(
593
+ router: string,
594
+ overrides?: Overrides & { from?: string | Promise<string> }
595
+ ): Promise<ContractTransaction>;
596
+
376
597
  removeLiqToYt(
377
- oldState: StrategyStateStruct,
378
598
  botParams: ApproxParamsStruct,
379
599
  guessTotalPtToSwap: ApproxParamsStruct,
380
600
  maxLpRemoved: BigNumberish,
@@ -389,16 +609,20 @@ export interface ILongYieldTradingBot extends BaseContract {
389
609
 
390
610
  swapSyToYt(
391
611
  router: string,
392
- oldState: StrategyStateStruct,
393
612
  botParams: ApproxParamsStruct,
394
613
  minYtOut: BigNumberish,
395
614
  maxSyIn: BigNumberish,
396
615
  overrides?: Overrides & { from?: string | Promise<string> }
397
616
  ): Promise<ContractTransaction>;
398
617
 
618
+ withdrawFunds(
619
+ token: string,
620
+ amount: BigNumberish,
621
+ overrides?: Overrides & { from?: string | Promise<string> }
622
+ ): Promise<ContractTransaction>;
623
+
399
624
  callStatic: {
400
625
  addLiqFromSy(
401
- oldState: StrategyStateStruct,
402
626
  botParams: ApproxParamsStruct,
403
627
  minLpOut: BigNumberish,
404
628
  maxSyIn: BigNumberish,
@@ -412,7 +636,6 @@ export interface ILongYieldTradingBot extends BaseContract {
412
636
  >;
413
637
 
414
638
  addLiqFromYt(
415
- oldState: StrategyStateStruct,
416
639
  botParams: ApproxParamsStruct,
417
640
  minLpOut: BigNumberish,
418
641
  maxYtIn: BigNumberish,
@@ -427,7 +650,6 @@ export interface ILongYieldTradingBot extends BaseContract {
427
650
 
428
651
  addLiqKeepYt(
429
652
  router: string,
430
- oldState: StrategyStateStruct,
431
653
  botParams: ApproxParamsStruct,
432
654
  maxSyIn: BigNumberish,
433
655
  minLpOut: BigNumberish,
@@ -441,8 +663,41 @@ export interface ILongYieldTradingBot extends BaseContract {
441
663
  }
442
664
  >;
443
665
 
666
+ approveInf(
667
+ arr: ITradingBotBase.MultiApprovalStruct[],
668
+ overrides?: CallOverrides
669
+ ): Promise<void>;
670
+
671
+ claimAndCompound(
672
+ router: string,
673
+ inps: TokenInputStruct[],
674
+ minSyOut: BigNumberish,
675
+ overrides?: CallOverrides
676
+ ): Promise<
677
+ [BigNumber, BigNumber] & { netSyOut: BigNumber; netPendleOut: BigNumber }
678
+ >;
679
+
680
+ claimWithoutCompound(
681
+ overrides?: CallOverrides
682
+ ): Promise<TokenAmountStructOutput[]>;
683
+
684
+ depositSy(netSyIn: BigNumberish, overrides?: CallOverrides): Promise<void>;
685
+
686
+ depositToken(
687
+ router: string,
688
+ inp: TokenInputStruct,
689
+ minSyOut: BigNumberish,
690
+ overrides?: CallOverrides
691
+ ): Promise<void>;
692
+
693
+ readBotState(overrides?: CallOverrides): Promise<BotStateStructOutput>;
694
+
695
+ readMarketExtState(
696
+ router: string,
697
+ overrides?: CallOverrides
698
+ ): Promise<MarketExtStateStructOutput>;
699
+
444
700
  removeLiqToYt(
445
- oldState: StrategyStateStruct,
446
701
  botParams: ApproxParamsStruct,
447
702
  guessTotalPtToSwap: ApproxParamsStruct,
448
703
  maxLpRemoved: BigNumberish,
@@ -463,7 +718,6 @@ export interface ILongYieldTradingBot extends BaseContract {
463
718
 
464
719
  swapSyToYt(
465
720
  router: string,
466
- oldState: StrategyStateStruct,
467
721
  botParams: ApproxParamsStruct,
468
722
  minYtOut: BigNumberish,
469
723
  maxSyIn: BigNumberish,
@@ -471,41 +725,42 @@ export interface ILongYieldTradingBot extends BaseContract {
471
725
  ): Promise<
472
726
  [BigNumber, BigNumber] & { exactYtOut: BigNumber; netSyIn: BigNumber }
473
727
  >;
728
+
729
+ withdrawFunds(
730
+ token: string,
731
+ amount: BigNumberish,
732
+ overrides?: CallOverrides
733
+ ): Promise<void>;
474
734
  };
475
735
 
476
736
  filters: {
477
- "AddLiqFromSy(tuple,tuple,uint256,uint256,uint256)"(
478
- state?: null,
737
+ "AddLiqFromSy(tuple,uint256,uint256,uint256)"(
479
738
  botParams?: null,
480
739
  maxSyIn?: null,
481
740
  netSyIn?: null,
482
741
  netLpOut?: null
483
742
  ): AddLiqFromSyEventFilter;
484
743
  AddLiqFromSy(
485
- state?: null,
486
744
  botParams?: null,
487
745
  maxSyIn?: null,
488
746
  netSyIn?: null,
489
747
  netLpOut?: null
490
748
  ): AddLiqFromSyEventFilter;
491
749
 
492
- "AddLiqFromYt(tuple,tuple,uint256,uint256,uint256)"(
493
- state?: null,
750
+ "AddLiqFromYt(tuple,uint256,uint256,uint256)"(
494
751
  botParams?: null,
495
752
  maxYtIn?: null,
496
753
  netYtIn?: null,
497
754
  netLpOut?: null
498
755
  ): AddLiqFromYtEventFilter;
499
756
  AddLiqFromYt(
500
- state?: null,
501
757
  botParams?: null,
502
758
  maxYtIn?: null,
503
759
  netYtIn?: null,
504
760
  netLpOut?: null
505
761
  ): AddLiqFromYtEventFilter;
506
762
 
507
- "AddLiqKeepYt(tuple,tuple,uint256,uint256,uint256,uint256)"(
508
- state?: null,
763
+ "AddLiqKeepYt(tuple,uint256,uint256,uint256,uint256)"(
509
764
  botParams?: null,
510
765
  maxSyIn?: null,
511
766
  netSyIn?: null,
@@ -513,7 +768,6 @@ export interface ILongYieldTradingBot extends BaseContract {
513
768
  netYtOut?: null
514
769
  ): AddLiqKeepYtEventFilter;
515
770
  AddLiqKeepYt(
516
- state?: null,
517
771
  botParams?: null,
518
772
  maxSyIn?: null,
519
773
  netSyIn?: null,
@@ -521,40 +775,65 @@ export interface ILongYieldTradingBot extends BaseContract {
521
775
  netYtOut?: null
522
776
  ): AddLiqKeepYtEventFilter;
523
777
 
524
- "RemoveLiqToYt(tuple,tuple,uint256,uint256,uint256)"(
525
- state?: null,
778
+ "ClaimAndCompound(uint256,uint256)"(
779
+ netSyOut?: null,
780
+ netPendleOut?: null
781
+ ): ClaimAndCompoundEventFilter;
782
+ ClaimAndCompound(
783
+ netSyOut?: null,
784
+ netPendleOut?: null
785
+ ): ClaimAndCompoundEventFilter;
786
+
787
+ "DepositSy(uint256)"(netSyIn?: null): DepositSyEventFilter;
788
+ DepositSy(netSyIn?: null): DepositSyEventFilter;
789
+
790
+ "DepositToken(address,uint256)"(
791
+ token?: string | null,
792
+ netTokenIn?: null
793
+ ): DepositTokenEventFilter;
794
+ DepositToken(
795
+ token?: string | null,
796
+ netTokenIn?: null
797
+ ): DepositTokenEventFilter;
798
+
799
+ "RemoveLiqToYt(tuple,uint256,uint256,uint256)"(
526
800
  botParams?: null,
527
801
  maxLpRemoved?: null,
528
802
  netLpIn?: null,
529
803
  netYtOut?: null
530
804
  ): RemoveLiqToYtEventFilter;
531
805
  RemoveLiqToYt(
532
- state?: null,
533
806
  botParams?: null,
534
807
  maxLpRemoved?: null,
535
808
  netLpIn?: null,
536
809
  netYtOut?: null
537
810
  ): RemoveLiqToYtEventFilter;
538
811
 
539
- "SwapSyToYt(tuple,tuple,uint256,uint256,uint256)"(
540
- state?: null,
812
+ "SwapSyToYt(tuple,uint256,uint256,uint256)"(
541
813
  botParams?: null,
542
814
  maxSyIn?: null,
543
815
  exactYtOut?: null,
544
816
  netSyIn?: null
545
817
  ): SwapSyToYtEventFilter;
546
818
  SwapSyToYt(
547
- state?: null,
548
819
  botParams?: null,
549
820
  maxSyIn?: null,
550
821
  exactYtOut?: null,
551
822
  netSyIn?: null
552
823
  ): SwapSyToYtEventFilter;
824
+
825
+ "WithdrawFunds(address,uint256)"(
826
+ token?: string | null,
827
+ amount?: null
828
+ ): WithdrawFundsEventFilter;
829
+ WithdrawFunds(
830
+ token?: string | null,
831
+ amount?: null
832
+ ): WithdrawFundsEventFilter;
553
833
  };
554
834
 
555
835
  estimateGas: {
556
836
  addLiqFromSy(
557
- oldState: StrategyStateStruct,
558
837
  botParams: ApproxParamsStruct,
559
838
  minLpOut: BigNumberish,
560
839
  maxSyIn: BigNumberish,
@@ -562,7 +841,6 @@ export interface ILongYieldTradingBot extends BaseContract {
562
841
  ): Promise<BigNumber>;
563
842
 
564
843
  addLiqFromYt(
565
- oldState: StrategyStateStruct,
566
844
  botParams: ApproxParamsStruct,
567
845
  minLpOut: BigNumberish,
568
846
  maxYtIn: BigNumberish,
@@ -571,7 +849,6 @@ export interface ILongYieldTradingBot extends BaseContract {
571
849
 
572
850
  addLiqKeepYt(
573
851
  router: string,
574
- oldState: StrategyStateStruct,
575
852
  botParams: ApproxParamsStruct,
576
853
  maxSyIn: BigNumberish,
577
854
  minLpOut: BigNumberish,
@@ -579,8 +856,42 @@ export interface ILongYieldTradingBot extends BaseContract {
579
856
  overrides?: Overrides & { from?: string | Promise<string> }
580
857
  ): Promise<BigNumber>;
581
858
 
859
+ approveInf(
860
+ arr: ITradingBotBase.MultiApprovalStruct[],
861
+ overrides?: Overrides & { from?: string | Promise<string> }
862
+ ): Promise<BigNumber>;
863
+
864
+ claimAndCompound(
865
+ router: string,
866
+ inps: TokenInputStruct[],
867
+ minSyOut: BigNumberish,
868
+ overrides?: Overrides & { from?: string | Promise<string> }
869
+ ): Promise<BigNumber>;
870
+
871
+ claimWithoutCompound(
872
+ overrides?: Overrides & { from?: string | Promise<string> }
873
+ ): Promise<BigNumber>;
874
+
875
+ depositSy(
876
+ netSyIn: BigNumberish,
877
+ overrides?: Overrides & { from?: string | Promise<string> }
878
+ ): Promise<BigNumber>;
879
+
880
+ depositToken(
881
+ router: string,
882
+ inp: TokenInputStruct,
883
+ minSyOut: BigNumberish,
884
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
885
+ ): Promise<BigNumber>;
886
+
887
+ readBotState(overrides?: CallOverrides): Promise<BigNumber>;
888
+
889
+ readMarketExtState(
890
+ router: string,
891
+ overrides?: Overrides & { from?: string | Promise<string> }
892
+ ): Promise<BigNumber>;
893
+
582
894
  removeLiqToYt(
583
- oldState: StrategyStateStruct,
584
895
  botParams: ApproxParamsStruct,
585
896
  guessTotalPtToSwap: ApproxParamsStruct,
586
897
  maxLpRemoved: BigNumberish,
@@ -595,17 +906,21 @@ export interface ILongYieldTradingBot extends BaseContract {
595
906
 
596
907
  swapSyToYt(
597
908
  router: string,
598
- oldState: StrategyStateStruct,
599
909
  botParams: ApproxParamsStruct,
600
910
  minYtOut: BigNumberish,
601
911
  maxSyIn: BigNumberish,
602
912
  overrides?: Overrides & { from?: string | Promise<string> }
603
913
  ): Promise<BigNumber>;
914
+
915
+ withdrawFunds(
916
+ token: string,
917
+ amount: BigNumberish,
918
+ overrides?: Overrides & { from?: string | Promise<string> }
919
+ ): Promise<BigNumber>;
604
920
  };
605
921
 
606
922
  populateTransaction: {
607
923
  addLiqFromSy(
608
- oldState: StrategyStateStruct,
609
924
  botParams: ApproxParamsStruct,
610
925
  minLpOut: BigNumberish,
611
926
  maxSyIn: BigNumberish,
@@ -613,7 +928,6 @@ export interface ILongYieldTradingBot extends BaseContract {
613
928
  ): Promise<PopulatedTransaction>;
614
929
 
615
930
  addLiqFromYt(
616
- oldState: StrategyStateStruct,
617
931
  botParams: ApproxParamsStruct,
618
932
  minLpOut: BigNumberish,
619
933
  maxYtIn: BigNumberish,
@@ -622,7 +936,6 @@ export interface ILongYieldTradingBot extends BaseContract {
622
936
 
623
937
  addLiqKeepYt(
624
938
  router: string,
625
- oldState: StrategyStateStruct,
626
939
  botParams: ApproxParamsStruct,
627
940
  maxSyIn: BigNumberish,
628
941
  minLpOut: BigNumberish,
@@ -630,8 +943,42 @@ export interface ILongYieldTradingBot extends BaseContract {
630
943
  overrides?: Overrides & { from?: string | Promise<string> }
631
944
  ): Promise<PopulatedTransaction>;
632
945
 
946
+ approveInf(
947
+ arr: ITradingBotBase.MultiApprovalStruct[],
948
+ overrides?: Overrides & { from?: string | Promise<string> }
949
+ ): Promise<PopulatedTransaction>;
950
+
951
+ claimAndCompound(
952
+ router: string,
953
+ inps: TokenInputStruct[],
954
+ minSyOut: BigNumberish,
955
+ overrides?: Overrides & { from?: string | Promise<string> }
956
+ ): Promise<PopulatedTransaction>;
957
+
958
+ claimWithoutCompound(
959
+ overrides?: Overrides & { from?: string | Promise<string> }
960
+ ): Promise<PopulatedTransaction>;
961
+
962
+ depositSy(
963
+ netSyIn: BigNumberish,
964
+ overrides?: Overrides & { from?: string | Promise<string> }
965
+ ): Promise<PopulatedTransaction>;
966
+
967
+ depositToken(
968
+ router: string,
969
+ inp: TokenInputStruct,
970
+ minSyOut: BigNumberish,
971
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
972
+ ): Promise<PopulatedTransaction>;
973
+
974
+ readBotState(overrides?: CallOverrides): Promise<PopulatedTransaction>;
975
+
976
+ readMarketExtState(
977
+ router: string,
978
+ overrides?: Overrides & { from?: string | Promise<string> }
979
+ ): Promise<PopulatedTransaction>;
980
+
633
981
  removeLiqToYt(
634
- oldState: StrategyStateStruct,
635
982
  botParams: ApproxParamsStruct,
636
983
  guessTotalPtToSwap: ApproxParamsStruct,
637
984
  maxLpRemoved: BigNumberish,
@@ -646,11 +993,16 @@ export interface ILongYieldTradingBot extends BaseContract {
646
993
 
647
994
  swapSyToYt(
648
995
  router: string,
649
- oldState: StrategyStateStruct,
650
996
  botParams: ApproxParamsStruct,
651
997
  minYtOut: BigNumberish,
652
998
  maxSyIn: BigNumberish,
653
999
  overrides?: Overrides & { from?: string | Promise<string> }
654
1000
  ): Promise<PopulatedTransaction>;
1001
+
1002
+ withdrawFunds(
1003
+ token: string,
1004
+ amount: BigNumberish,
1005
+ overrides?: Overrides & { from?: string | Promise<string> }
1006
+ ): Promise<PopulatedTransaction>;
655
1007
  };
656
1008
  }