@pendle/core-v2 5.3.0 → 5.4.0

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 (255) hide show
  1. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  2. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.json +0 -37
  3. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  4. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  5. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.json +0 -115
  6. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  7. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.json +0 -37
  8. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  9. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.json +0 -37
  10. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  11. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.json +0 -37
  12. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  13. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.json +0 -37
  14. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  15. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.json +0 -179
  16. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  17. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  18. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.json +0 -257
  19. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  20. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  21. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  22. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  23. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  24. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.json +0 -37
  25. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  26. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.json +0 -37
  27. package/build/artifacts/contracts/interfaces/IPPausingInterface.sol/IPPausingInterface.dbg.json +1 -1
  28. package/build/artifacts/contracts/interfaces/IPPausingInterface.sol/IPPausingInterface.json +13 -0
  29. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  30. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +0 -37
  31. package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.dbg.json +1 -1
  32. package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.json +2 -2
  33. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  34. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  35. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  36. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  37. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  38. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  39. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  40. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  41. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  42. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  43. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  44. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  45. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  46. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -39
  47. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  48. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  49. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +4 -0
  50. package/build/artifacts/contracts/{router/swap-aggregator/kyberswap/l1-contracts/ScalingDataLib.sol/ScalingDataLib.json → offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.json} +4 -4
  51. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +4 -0
  52. package/build/artifacts/contracts/{router/swap-aggregator/kyberswap/l2-contracts/BytesHelper.sol/BytesHelper.json → offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.json} +4 -4
  53. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  54. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  55. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -39
  56. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  57. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -117
  58. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  59. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -39
  60. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  61. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -39
  62. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  63. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -39
  64. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  65. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -181
  66. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  67. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  68. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  69. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  70. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  71. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  72. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  73. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  74. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
  75. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  76. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  77. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  78. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  79. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +4 -0
  80. package/build/artifacts/contracts/router/math/{MarketApproxLib.sol/MarketApproxPtInLib.json → MarketApproxLibV2.sol/MarketApproxPtInLibV2.json} +4 -4
  81. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +4 -0
  82. package/build/artifacts/contracts/router/math/{MarketApproxLib.sol/MarketApproxPtOutLib.json → MarketApproxLibV2.sol/MarketApproxPtOutLibV2.json} +4 -4
  83. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  84. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  85. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  86. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  87. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  88. package/contracts/interfaces/IPActionAddRemoveLiqV3.sol +1 -1
  89. package/contracts/interfaces/IPActionMarketAuxStatic.sol +2 -1
  90. package/contracts/interfaces/IPActionMiscV3.sol +1 -7
  91. package/contracts/interfaces/IPActionStorageStatic.sol +1 -1
  92. package/contracts/interfaces/IPActionSwapPTV3.sol +1 -1
  93. package/contracts/interfaces/IPActionSwapYTV3.sol +1 -17
  94. package/contracts/interfaces/IPActionVePendleStatic.sol +1 -0
  95. package/contracts/interfaces/IPAllEventsV3.sol +0 -8
  96. package/contracts/interfaces/IPPausingInterface.sol +2 -0
  97. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +2 -2
  98. package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +8 -7
  99. package/contracts/{router/math/MarketApproxLib.sol → offchain-helpers/router-static/base/MarketApproxLibV1.sol} +13 -13
  100. package/contracts/offchain-helpers/router-static/base/StorageLayout.sol +1 -1
  101. package/contracts/router/ActionAddRemoveLiqV3.sol +4 -4
  102. package/contracts/router/ActionMiscV3.sol +0 -14
  103. package/contracts/router/ActionSwapYTV3.sol +2 -65
  104. package/contracts/router/base/ActionBase.sol +5 -6
  105. package/contracts/router/math/MarketApproxLibV2.sol +479 -0
  106. package/contracts/router/swap-aggregator/IPSwapAggregator.sol +8 -1
  107. package/contracts/router/swap-aggregator/PendleSwap.sol +0 -2
  108. package/deployments/1-core.json +5 -5
  109. package/deployments/merkle-distribution/2024-10-31.json +23370 -0
  110. package/deployments/merkle-distribution/2024-11-28.json +24040 -0
  111. package/package.json +1 -1
  112. package/typechain-types/ActionAddRemoveLiqV3.ts +2000 -0
  113. package/typechain-types/ActionInfoStatic.ts +310 -0
  114. package/typechain-types/ActionMarketAuxStatic.ts +903 -0
  115. package/typechain-types/ActionMarketCoreStatic.ts +1974 -0
  116. package/typechain-types/ActionMintRedeemStatic.ts +435 -0
  117. package/typechain-types/ActionMiscV3.ts +2213 -0
  118. package/typechain-types/ActionSimple.ts +1544 -0
  119. package/typechain-types/ActionStorageStatic.ts +1345 -0
  120. package/typechain-types/ActionStorageV4.ts +1270 -0
  121. package/typechain-types/ActionSwapPTV3.ts +1507 -0
  122. package/typechain-types/ActionSwapYTV3.ts +1507 -0
  123. package/typechain-types/ActionVePendleStatic.ts +113 -0
  124. package/typechain-types/IKyberScalingHelper.ts +108 -0
  125. package/typechain-types/IOdosRouterV2.ts +147 -0
  126. package/typechain-types/IPActionAddRemoveLiqV3.ts +2000 -0
  127. package/typechain-types/IPActionAddRemoveLiqV3Events.ts +499 -0
  128. package/typechain-types/IPActionMarketAuxStatic.ts +859 -0
  129. package/typechain-types/IPActionMiscV3.ts +2213 -0
  130. package/typechain-types/IPActionMiscV3Events.ts +463 -0
  131. package/typechain-types/IPActionSimple.ts +1544 -0
  132. package/typechain-types/IPActionStorageEvents.ts +97 -0
  133. package/typechain-types/IPActionStorageStatic.ts +1268 -0
  134. package/typechain-types/IPActionStorageV4.ts +1270 -0
  135. package/typechain-types/IPActionSwapPTV3.ts +1507 -0
  136. package/typechain-types/IPActionSwapPTV3Events.ts +125 -0
  137. package/typechain-types/IPActionSwapYTV3.ts +1507 -0
  138. package/typechain-types/IPActionSwapYTV3Events.ts +125 -0
  139. package/typechain-types/IPActionVePendleStatic.ts +113 -0
  140. package/typechain-types/IPAllActionV3.ts +4210 -0
  141. package/typechain-types/IPAllEventsV3.ts +1080 -0
  142. package/typechain-types/IPPausingInterface.ts +125 -0
  143. package/typechain-types/IPRouterStatic.ts +4633 -0
  144. package/typechain-types/IPSwapAggregator.ts +187 -0
  145. package/typechain-types/PendleGovernanceProxy.ts +603 -0
  146. package/typechain-types/PendlePoolDeployHelper.ts +342 -0
  147. package/typechain-types/PendleRouterStatic.ts +57 -0
  148. package/typechain-types/PendleRouterV4.ts +57 -0
  149. package/typechain-types/PendleSwap.ts +208 -0
  150. package/typechain-types/Reflector.ts +95 -0
  151. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +3533 -0
  152. package/typechain-types/factories/ActionInfoStatic__factory.ts +360 -0
  153. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +780 -0
  154. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1449 -0
  155. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +304 -0
  156. package/typechain-types/factories/ActionMiscV3__factory.ts +3056 -0
  157. package/typechain-types/factories/ActionSimple__factory.ts +1939 -0
  158. package/typechain-types/factories/ActionStorageStatic__factory.ts +1576 -0
  159. package/typechain-types/factories/ActionStorageV4__factory.ts +1504 -0
  160. package/typechain-types/factories/ActionSwapPTV3__factory.ts +2556 -0
  161. package/typechain-types/factories/ActionSwapYTV3__factory.ts +2556 -0
  162. package/typechain-types/factories/ActionVePendleStatic__factory.ts +155 -0
  163. package/typechain-types/factories/IKyberScalingHelper__factory.ts +55 -0
  164. package/typechain-types/factories/IOdosRouterV2__factory.ts +94 -0
  165. package/typechain-types/factories/IPActionAddRemoveLiqV3Events__factory.ts +582 -0
  166. package/typechain-types/factories/IPActionAddRemoveLiqV3__factory.ts +3421 -0
  167. package/typechain-types/factories/IPActionMarketAuxStatic__factory.ts +622 -0
  168. package/typechain-types/factories/IPActionMiscV3Events__factory.ts +608 -0
  169. package/typechain-types/factories/IPActionMiscV3__factory.ts +3005 -0
  170. package/typechain-types/factories/IPActionSimple__factory.ts +1840 -0
  171. package/typechain-types/factories/IPActionStorageEvents__factory.ts +68 -0
  172. package/typechain-types/factories/IPActionStorageStatic__factory.ts +1498 -0
  173. package/typechain-types/factories/IPActionStorageV4__factory.ts +1466 -0
  174. package/typechain-types/factories/IPActionSwapPTV3Events__factory.ts +116 -0
  175. package/typechain-types/factories/IPActionSwapPTV3__factory.ts +2454 -0
  176. package/typechain-types/factories/IPActionSwapYTV3Events__factory.ts +116 -0
  177. package/typechain-types/factories/IPActionSwapYTV3__factory.ts +2454 -0
  178. package/typechain-types/factories/IPActionVePendleStatic__factory.ts +59 -0
  179. package/typechain-types/factories/IPAllActionV3__factory.ts +7860 -0
  180. package/typechain-types/factories/IPAllEventsV3__factory.ts +1363 -0
  181. package/typechain-types/factories/IPPausingInterface__factory.ts +53 -0
  182. package/typechain-types/factories/IPRouterStatic__factory.ts +3956 -0
  183. package/typechain-types/factories/IPSwapAggregator__factory.ts +136 -0
  184. package/typechain-types/factories/PendleGovernanceProxy__factory.ts +458 -0
  185. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +345 -0
  186. package/typechain-types/factories/PendleRouterStatic__factory.ts +88 -0
  187. package/typechain-types/factories/PendleRouterV4__factory.ts +96 -0
  188. package/typechain-types/factories/PendleSwap__factory.ts +188 -0
  189. package/typechain-types/factories/Reflector__factory.ts +84 -0
  190. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +0 -4
  191. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +0 -4
  192. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +0 -4
  193. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.json +0 -65
  194. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutorOptimistic.sol/IAggregationExecutorOptimistic.dbg.json +0 -4
  195. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutorOptimistic.sol/IAggregationExecutorOptimistic.json +0 -194
  196. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelper.sol/IExecutorHelper.dbg.json +0 -4
  197. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelper.sol/IExecutorHelper.json +0 -1787
  198. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2.sol/IExecutorHelperL2.dbg.json +0 -4
  199. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2.sol/IExecutorHelperL2.json +0 -2873
  200. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2Struct.sol/IExecutorHelperL2Struct.dbg.json +0 -4
  201. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2Struct.sol/IExecutorHelperL2Struct.json +0 -10
  202. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperStruct.sol/IExecutorHelperStruct.dbg.json +0 -4
  203. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperStruct.sol/IExecutorHelperStruct.json +0 -10
  204. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +0 -4
  205. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json +0 -215
  206. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IBebopV3.sol/IBebopV3.dbg.json +0 -4
  207. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IBebopV3.sol/IBebopV3.json +0 -10
  208. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IKyberDSLO.sol/IKyberDSLO.dbg.json +0 -4
  209. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IKyberDSLO.sol/IKyberDSLO.json +0 -10
  210. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IKyberLO.sol/IKyberLO.dbg.json +0 -4
  211. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IKyberLO.sol/IKyberLO.json +0 -10
  212. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l1-contracts/InputScalingHelper.sol/InputScalingHelper.dbg.json +0 -4
  213. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l1-contracts/InputScalingHelper.sol/InputScalingHelper.json +0 -10
  214. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l1-contracts/ScalingDataLib.sol/ScalingDataLib.dbg.json +0 -4
  215. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/BytesHelper.sol/BytesHelper.dbg.json +0 -4
  216. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataReader.sol/CalldataReader.dbg.json +0 -4
  217. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataReader.sol/CalldataReader.json +0 -10
  218. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataWriter.sol/CalldataWriter.dbg.json +0 -4
  219. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataWriter.sol/CalldataWriter.json +0 -10
  220. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/Common.sol/Common.dbg.json +0 -4
  221. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/Common.sol/Common.json +0 -10
  222. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/DexScaler.sol/DexScaler.dbg.json +0 -4
  223. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/DexScaler.sol/DexScaler.json +0 -10
  224. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ExecutorReader.sol/ExecutorReader.dbg.json +0 -4
  225. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ExecutorReader.sol/ExecutorReader.json +0 -10
  226. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/InputScalingHelperL2.sol/InputScalingHelperL2.dbg.json +0 -4
  227. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/InputScalingHelperL2.sol/InputScalingHelperL2.json +0 -10
  228. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ScalingDataL2Lib.sol/ScalingDataL2Lib.dbg.json +0 -4
  229. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ScalingDataL2Lib.sol/ScalingDataL2Lib.json +0 -10
  230. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/libraries/BytesHelper.sol/BytesHelper.dbg.json +0 -4
  231. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/libraries/BytesHelper.sol/BytesHelper.json +0 -10
  232. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/libraries/RevertReasonParser.sol/RevertReasonParser.dbg.json +0 -4
  233. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/libraries/RevertReasonParser.sol/RevertReasonParser.json +0 -10
  234. package/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol +0 -31
  235. package/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutorOptimistic.sol +0 -63
  236. package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelper.sol +0 -164
  237. package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2.sol +0 -483
  238. package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2Struct.sol +0 -412
  239. package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperStruct.sol +0 -459
  240. package/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol +0 -47
  241. package/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IBebopV3.sol +0 -23
  242. package/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IKyberDSLO.sol +0 -36
  243. package/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IKyberLO.sol +0 -32
  244. package/contracts/router/swap-aggregator/kyberswap/l1-contracts/InputScalingHelper.sol +0 -354
  245. package/contracts/router/swap-aggregator/kyberswap/l1-contracts/ScalingDataLib.sol +0 -521
  246. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/BytesHelper.sol +0 -93
  247. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataReader.sol +0 -404
  248. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataWriter.sol +0 -118
  249. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/Common.sol +0 -41
  250. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/DexScaler.sol +0 -684
  251. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/ExecutorReader.sol +0 -61
  252. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/InputScalingHelperL2.sol +0 -373
  253. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/ScalingDataL2Lib.sol +0 -273
  254. package/contracts/router/swap-aggregator/kyberswap/libraries/BytesHelper.sol +0 -32
  255. package/contracts/router/swap-aggregator/kyberswap/libraries/RevertReasonParser.sol +0 -75
@@ -0,0 +1,3056 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
5
+ import { Provider, TransactionRequest } from "@ethersproject/providers";
6
+ import type { ActionMiscV3, ActionMiscV3Interface } from "../ActionMiscV3";
7
+
8
+ const _abi = [
9
+ {
10
+ inputs: [
11
+ {
12
+ internalType: "bool",
13
+ name: "success",
14
+ type: "bool",
15
+ },
16
+ {
17
+ internalType: "bytes",
18
+ name: "res",
19
+ type: "bytes",
20
+ },
21
+ ],
22
+ name: "SimulationResults",
23
+ type: "error",
24
+ },
25
+ {
26
+ anonymous: false,
27
+ inputs: [
28
+ {
29
+ indexed: true,
30
+ internalType: "address",
31
+ name: "caller",
32
+ type: "address",
33
+ },
34
+ {
35
+ indexed: true,
36
+ internalType: "address",
37
+ name: "market",
38
+ type: "address",
39
+ },
40
+ {
41
+ indexed: true,
42
+ internalType: "address",
43
+ name: "receiver",
44
+ type: "address",
45
+ },
46
+ {
47
+ indexed: false,
48
+ internalType: "uint256",
49
+ name: "netSyUsed",
50
+ type: "uint256",
51
+ },
52
+ {
53
+ indexed: false,
54
+ internalType: "uint256",
55
+ name: "netPtUsed",
56
+ type: "uint256",
57
+ },
58
+ {
59
+ indexed: false,
60
+ internalType: "uint256",
61
+ name: "netLpOut",
62
+ type: "uint256",
63
+ },
64
+ ],
65
+ name: "AddLiquidityDualSyAndPt",
66
+ type: "event",
67
+ },
68
+ {
69
+ anonymous: false,
70
+ inputs: [
71
+ {
72
+ indexed: true,
73
+ internalType: "address",
74
+ name: "caller",
75
+ type: "address",
76
+ },
77
+ {
78
+ indexed: true,
79
+ internalType: "address",
80
+ name: "market",
81
+ type: "address",
82
+ },
83
+ {
84
+ indexed: true,
85
+ internalType: "address",
86
+ name: "tokenIn",
87
+ type: "address",
88
+ },
89
+ {
90
+ indexed: false,
91
+ internalType: "address",
92
+ name: "receiver",
93
+ type: "address",
94
+ },
95
+ {
96
+ indexed: false,
97
+ internalType: "uint256",
98
+ name: "netTokenUsed",
99
+ type: "uint256",
100
+ },
101
+ {
102
+ indexed: false,
103
+ internalType: "uint256",
104
+ name: "netPtUsed",
105
+ type: "uint256",
106
+ },
107
+ {
108
+ indexed: false,
109
+ internalType: "uint256",
110
+ name: "netLpOut",
111
+ type: "uint256",
112
+ },
113
+ {
114
+ indexed: false,
115
+ internalType: "uint256",
116
+ name: "netSyInterm",
117
+ type: "uint256",
118
+ },
119
+ ],
120
+ name: "AddLiquidityDualTokenAndPt",
121
+ type: "event",
122
+ },
123
+ {
124
+ anonymous: false,
125
+ inputs: [
126
+ {
127
+ indexed: true,
128
+ internalType: "address",
129
+ name: "caller",
130
+ type: "address",
131
+ },
132
+ {
133
+ indexed: true,
134
+ internalType: "address",
135
+ name: "market",
136
+ type: "address",
137
+ },
138
+ {
139
+ indexed: true,
140
+ internalType: "address",
141
+ name: "receiver",
142
+ type: "address",
143
+ },
144
+ {
145
+ indexed: false,
146
+ internalType: "uint256",
147
+ name: "netPtIn",
148
+ type: "uint256",
149
+ },
150
+ {
151
+ indexed: false,
152
+ internalType: "uint256",
153
+ name: "netLpOut",
154
+ type: "uint256",
155
+ },
156
+ ],
157
+ name: "AddLiquiditySinglePt",
158
+ type: "event",
159
+ },
160
+ {
161
+ anonymous: false,
162
+ inputs: [
163
+ {
164
+ indexed: true,
165
+ internalType: "address",
166
+ name: "caller",
167
+ type: "address",
168
+ },
169
+ {
170
+ indexed: true,
171
+ internalType: "address",
172
+ name: "market",
173
+ type: "address",
174
+ },
175
+ {
176
+ indexed: true,
177
+ internalType: "address",
178
+ name: "receiver",
179
+ type: "address",
180
+ },
181
+ {
182
+ indexed: false,
183
+ internalType: "uint256",
184
+ name: "netSyIn",
185
+ type: "uint256",
186
+ },
187
+ {
188
+ indexed: false,
189
+ internalType: "uint256",
190
+ name: "netLpOut",
191
+ type: "uint256",
192
+ },
193
+ ],
194
+ name: "AddLiquiditySingleSy",
195
+ type: "event",
196
+ },
197
+ {
198
+ anonymous: false,
199
+ inputs: [
200
+ {
201
+ indexed: true,
202
+ internalType: "address",
203
+ name: "caller",
204
+ type: "address",
205
+ },
206
+ {
207
+ indexed: true,
208
+ internalType: "address",
209
+ name: "market",
210
+ type: "address",
211
+ },
212
+ {
213
+ indexed: true,
214
+ internalType: "address",
215
+ name: "receiver",
216
+ type: "address",
217
+ },
218
+ {
219
+ indexed: false,
220
+ internalType: "uint256",
221
+ name: "netSyIn",
222
+ type: "uint256",
223
+ },
224
+ {
225
+ indexed: false,
226
+ internalType: "uint256",
227
+ name: "netSyMintPy",
228
+ type: "uint256",
229
+ },
230
+ {
231
+ indexed: false,
232
+ internalType: "uint256",
233
+ name: "netLpOut",
234
+ type: "uint256",
235
+ },
236
+ {
237
+ indexed: false,
238
+ internalType: "uint256",
239
+ name: "netYtOut",
240
+ type: "uint256",
241
+ },
242
+ ],
243
+ name: "AddLiquiditySingleSyKeepYt",
244
+ type: "event",
245
+ },
246
+ {
247
+ anonymous: false,
248
+ inputs: [
249
+ {
250
+ indexed: true,
251
+ internalType: "address",
252
+ name: "caller",
253
+ type: "address",
254
+ },
255
+ {
256
+ indexed: true,
257
+ internalType: "address",
258
+ name: "market",
259
+ type: "address",
260
+ },
261
+ {
262
+ indexed: true,
263
+ internalType: "address",
264
+ name: "token",
265
+ type: "address",
266
+ },
267
+ {
268
+ indexed: false,
269
+ internalType: "address",
270
+ name: "receiver",
271
+ type: "address",
272
+ },
273
+ {
274
+ indexed: false,
275
+ internalType: "uint256",
276
+ name: "netTokenIn",
277
+ type: "uint256",
278
+ },
279
+ {
280
+ indexed: false,
281
+ internalType: "uint256",
282
+ name: "netLpOut",
283
+ type: "uint256",
284
+ },
285
+ {
286
+ indexed: false,
287
+ internalType: "uint256",
288
+ name: "netSyInterm",
289
+ type: "uint256",
290
+ },
291
+ ],
292
+ name: "AddLiquiditySingleToken",
293
+ type: "event",
294
+ },
295
+ {
296
+ anonymous: false,
297
+ inputs: [
298
+ {
299
+ indexed: true,
300
+ internalType: "address",
301
+ name: "caller",
302
+ type: "address",
303
+ },
304
+ {
305
+ indexed: true,
306
+ internalType: "address",
307
+ name: "market",
308
+ type: "address",
309
+ },
310
+ {
311
+ indexed: true,
312
+ internalType: "address",
313
+ name: "token",
314
+ type: "address",
315
+ },
316
+ {
317
+ indexed: false,
318
+ internalType: "address",
319
+ name: "receiver",
320
+ type: "address",
321
+ },
322
+ {
323
+ indexed: false,
324
+ internalType: "uint256",
325
+ name: "netTokenIn",
326
+ type: "uint256",
327
+ },
328
+ {
329
+ indexed: false,
330
+ internalType: "uint256",
331
+ name: "netLpOut",
332
+ type: "uint256",
333
+ },
334
+ {
335
+ indexed: false,
336
+ internalType: "uint256",
337
+ name: "netYtOut",
338
+ type: "uint256",
339
+ },
340
+ {
341
+ indexed: false,
342
+ internalType: "uint256",
343
+ name: "netSyMintPy",
344
+ type: "uint256",
345
+ },
346
+ {
347
+ indexed: false,
348
+ internalType: "uint256",
349
+ name: "netSyInterm",
350
+ type: "uint256",
351
+ },
352
+ ],
353
+ name: "AddLiquiditySingleTokenKeepYt",
354
+ type: "event",
355
+ },
356
+ {
357
+ anonymous: false,
358
+ inputs: [
359
+ {
360
+ indexed: true,
361
+ internalType: "address",
362
+ name: "caller",
363
+ type: "address",
364
+ },
365
+ {
366
+ indexed: true,
367
+ internalType: "address",
368
+ name: "market",
369
+ type: "address",
370
+ },
371
+ {
372
+ indexed: true,
373
+ internalType: "address",
374
+ name: "receiver",
375
+ type: "address",
376
+ },
377
+ {
378
+ indexed: false,
379
+ internalType: "uint256",
380
+ name: "netLpIn",
381
+ type: "uint256",
382
+ },
383
+ {
384
+ components: [
385
+ {
386
+ internalType: "uint256",
387
+ name: "netPtFromRemove",
388
+ type: "uint256",
389
+ },
390
+ {
391
+ internalType: "uint256",
392
+ name: "netSyFromRemove",
393
+ type: "uint256",
394
+ },
395
+ {
396
+ internalType: "uint256",
397
+ name: "netPtRedeem",
398
+ type: "uint256",
399
+ },
400
+ {
401
+ internalType: "uint256",
402
+ name: "netSyFromRedeem",
403
+ type: "uint256",
404
+ },
405
+ {
406
+ internalType: "uint256",
407
+ name: "totalSyOut",
408
+ type: "uint256",
409
+ },
410
+ ],
411
+ indexed: false,
412
+ internalType: "struct ExitPostExpReturnParams",
413
+ name: "params",
414
+ type: "tuple",
415
+ },
416
+ ],
417
+ name: "ExitPostExpToSy",
418
+ type: "event",
419
+ },
420
+ {
421
+ anonymous: false,
422
+ inputs: [
423
+ {
424
+ indexed: true,
425
+ internalType: "address",
426
+ name: "caller",
427
+ type: "address",
428
+ },
429
+ {
430
+ indexed: true,
431
+ internalType: "address",
432
+ name: "market",
433
+ type: "address",
434
+ },
435
+ {
436
+ indexed: true,
437
+ internalType: "address",
438
+ name: "token",
439
+ type: "address",
440
+ },
441
+ {
442
+ indexed: false,
443
+ internalType: "address",
444
+ name: "receiver",
445
+ type: "address",
446
+ },
447
+ {
448
+ indexed: false,
449
+ internalType: "uint256",
450
+ name: "netLpIn",
451
+ type: "uint256",
452
+ },
453
+ {
454
+ indexed: false,
455
+ internalType: "uint256",
456
+ name: "totalTokenOut",
457
+ type: "uint256",
458
+ },
459
+ {
460
+ components: [
461
+ {
462
+ internalType: "uint256",
463
+ name: "netPtFromRemove",
464
+ type: "uint256",
465
+ },
466
+ {
467
+ internalType: "uint256",
468
+ name: "netSyFromRemove",
469
+ type: "uint256",
470
+ },
471
+ {
472
+ internalType: "uint256",
473
+ name: "netPtRedeem",
474
+ type: "uint256",
475
+ },
476
+ {
477
+ internalType: "uint256",
478
+ name: "netSyFromRedeem",
479
+ type: "uint256",
480
+ },
481
+ {
482
+ internalType: "uint256",
483
+ name: "totalSyOut",
484
+ type: "uint256",
485
+ },
486
+ ],
487
+ indexed: false,
488
+ internalType: "struct ExitPostExpReturnParams",
489
+ name: "params",
490
+ type: "tuple",
491
+ },
492
+ ],
493
+ name: "ExitPostExpToToken",
494
+ type: "event",
495
+ },
496
+ {
497
+ anonymous: false,
498
+ inputs: [
499
+ {
500
+ indexed: true,
501
+ internalType: "address",
502
+ name: "caller",
503
+ type: "address",
504
+ },
505
+ {
506
+ indexed: true,
507
+ internalType: "address",
508
+ name: "market",
509
+ type: "address",
510
+ },
511
+ {
512
+ indexed: true,
513
+ internalType: "address",
514
+ name: "receiver",
515
+ type: "address",
516
+ },
517
+ {
518
+ indexed: false,
519
+ internalType: "uint256",
520
+ name: "netLpIn",
521
+ type: "uint256",
522
+ },
523
+ {
524
+ components: [
525
+ {
526
+ internalType: "uint256",
527
+ name: "netPtFromRemove",
528
+ type: "uint256",
529
+ },
530
+ {
531
+ internalType: "uint256",
532
+ name: "netSyFromRemove",
533
+ type: "uint256",
534
+ },
535
+ {
536
+ internalType: "uint256",
537
+ name: "netPyRedeem",
538
+ type: "uint256",
539
+ },
540
+ {
541
+ internalType: "uint256",
542
+ name: "netSyFromRedeem",
543
+ type: "uint256",
544
+ },
545
+ {
546
+ internalType: "uint256",
547
+ name: "netPtSwap",
548
+ type: "uint256",
549
+ },
550
+ {
551
+ internalType: "uint256",
552
+ name: "netYtSwap",
553
+ type: "uint256",
554
+ },
555
+ {
556
+ internalType: "uint256",
557
+ name: "netSyFromSwap",
558
+ type: "uint256",
559
+ },
560
+ {
561
+ internalType: "uint256",
562
+ name: "netSyFee",
563
+ type: "uint256",
564
+ },
565
+ {
566
+ internalType: "uint256",
567
+ name: "totalSyOut",
568
+ type: "uint256",
569
+ },
570
+ ],
571
+ indexed: false,
572
+ internalType: "struct ExitPreExpReturnParams",
573
+ name: "params",
574
+ type: "tuple",
575
+ },
576
+ ],
577
+ name: "ExitPreExpToSy",
578
+ type: "event",
579
+ },
580
+ {
581
+ anonymous: false,
582
+ inputs: [
583
+ {
584
+ indexed: true,
585
+ internalType: "address",
586
+ name: "caller",
587
+ type: "address",
588
+ },
589
+ {
590
+ indexed: true,
591
+ internalType: "address",
592
+ name: "market",
593
+ type: "address",
594
+ },
595
+ {
596
+ indexed: true,
597
+ internalType: "address",
598
+ name: "token",
599
+ type: "address",
600
+ },
601
+ {
602
+ indexed: false,
603
+ internalType: "address",
604
+ name: "receiver",
605
+ type: "address",
606
+ },
607
+ {
608
+ indexed: false,
609
+ internalType: "uint256",
610
+ name: "netLpIn",
611
+ type: "uint256",
612
+ },
613
+ {
614
+ indexed: false,
615
+ internalType: "uint256",
616
+ name: "totalTokenOut",
617
+ type: "uint256",
618
+ },
619
+ {
620
+ components: [
621
+ {
622
+ internalType: "uint256",
623
+ name: "netPtFromRemove",
624
+ type: "uint256",
625
+ },
626
+ {
627
+ internalType: "uint256",
628
+ name: "netSyFromRemove",
629
+ type: "uint256",
630
+ },
631
+ {
632
+ internalType: "uint256",
633
+ name: "netPyRedeem",
634
+ type: "uint256",
635
+ },
636
+ {
637
+ internalType: "uint256",
638
+ name: "netSyFromRedeem",
639
+ type: "uint256",
640
+ },
641
+ {
642
+ internalType: "uint256",
643
+ name: "netPtSwap",
644
+ type: "uint256",
645
+ },
646
+ {
647
+ internalType: "uint256",
648
+ name: "netYtSwap",
649
+ type: "uint256",
650
+ },
651
+ {
652
+ internalType: "uint256",
653
+ name: "netSyFromSwap",
654
+ type: "uint256",
655
+ },
656
+ {
657
+ internalType: "uint256",
658
+ name: "netSyFee",
659
+ type: "uint256",
660
+ },
661
+ {
662
+ internalType: "uint256",
663
+ name: "totalSyOut",
664
+ type: "uint256",
665
+ },
666
+ ],
667
+ indexed: false,
668
+ internalType: "struct ExitPreExpReturnParams",
669
+ name: "params",
670
+ type: "tuple",
671
+ },
672
+ ],
673
+ name: "ExitPreExpToToken",
674
+ type: "event",
675
+ },
676
+ {
677
+ anonymous: false,
678
+ inputs: [
679
+ {
680
+ indexed: true,
681
+ internalType: "address",
682
+ name: "caller",
683
+ type: "address",
684
+ },
685
+ {
686
+ indexed: true,
687
+ internalType: "address",
688
+ name: "receiver",
689
+ type: "address",
690
+ },
691
+ {
692
+ indexed: true,
693
+ internalType: "address",
694
+ name: "YT",
695
+ type: "address",
696
+ },
697
+ {
698
+ indexed: false,
699
+ internalType: "uint256",
700
+ name: "netSyIn",
701
+ type: "uint256",
702
+ },
703
+ {
704
+ indexed: false,
705
+ internalType: "uint256",
706
+ name: "netPyOut",
707
+ type: "uint256",
708
+ },
709
+ ],
710
+ name: "MintPyFromSy",
711
+ type: "event",
712
+ },
713
+ {
714
+ anonymous: false,
715
+ inputs: [
716
+ {
717
+ indexed: true,
718
+ internalType: "address",
719
+ name: "caller",
720
+ type: "address",
721
+ },
722
+ {
723
+ indexed: true,
724
+ internalType: "address",
725
+ name: "tokenIn",
726
+ type: "address",
727
+ },
728
+ {
729
+ indexed: true,
730
+ internalType: "address",
731
+ name: "YT",
732
+ type: "address",
733
+ },
734
+ {
735
+ indexed: false,
736
+ internalType: "address",
737
+ name: "receiver",
738
+ type: "address",
739
+ },
740
+ {
741
+ indexed: false,
742
+ internalType: "uint256",
743
+ name: "netTokenIn",
744
+ type: "uint256",
745
+ },
746
+ {
747
+ indexed: false,
748
+ internalType: "uint256",
749
+ name: "netPyOut",
750
+ type: "uint256",
751
+ },
752
+ {
753
+ indexed: false,
754
+ internalType: "uint256",
755
+ name: "netSyInterm",
756
+ type: "uint256",
757
+ },
758
+ ],
759
+ name: "MintPyFromToken",
760
+ type: "event",
761
+ },
762
+ {
763
+ anonymous: false,
764
+ inputs: [
765
+ {
766
+ indexed: true,
767
+ internalType: "address",
768
+ name: "caller",
769
+ type: "address",
770
+ },
771
+ {
772
+ indexed: true,
773
+ internalType: "address",
774
+ name: "tokenIn",
775
+ type: "address",
776
+ },
777
+ {
778
+ indexed: true,
779
+ internalType: "address",
780
+ name: "SY",
781
+ type: "address",
782
+ },
783
+ {
784
+ indexed: false,
785
+ internalType: "address",
786
+ name: "receiver",
787
+ type: "address",
788
+ },
789
+ {
790
+ indexed: false,
791
+ internalType: "uint256",
792
+ name: "netTokenIn",
793
+ type: "uint256",
794
+ },
795
+ {
796
+ indexed: false,
797
+ internalType: "uint256",
798
+ name: "netSyOut",
799
+ type: "uint256",
800
+ },
801
+ ],
802
+ name: "MintSyFromToken",
803
+ type: "event",
804
+ },
805
+ {
806
+ anonymous: false,
807
+ inputs: [
808
+ {
809
+ indexed: true,
810
+ internalType: "address",
811
+ name: "previousOwner",
812
+ type: "address",
813
+ },
814
+ {
815
+ indexed: true,
816
+ internalType: "address",
817
+ name: "newOwner",
818
+ type: "address",
819
+ },
820
+ ],
821
+ name: "OwnershipTransferred",
822
+ type: "event",
823
+ },
824
+ {
825
+ anonymous: false,
826
+ inputs: [
827
+ {
828
+ indexed: true,
829
+ internalType: "address",
830
+ name: "caller",
831
+ type: "address",
832
+ },
833
+ {
834
+ indexed: true,
835
+ internalType: "address",
836
+ name: "receiver",
837
+ type: "address",
838
+ },
839
+ {
840
+ indexed: true,
841
+ internalType: "address",
842
+ name: "YT",
843
+ type: "address",
844
+ },
845
+ {
846
+ indexed: false,
847
+ internalType: "uint256",
848
+ name: "netPyIn",
849
+ type: "uint256",
850
+ },
851
+ {
852
+ indexed: false,
853
+ internalType: "uint256",
854
+ name: "netSyOut",
855
+ type: "uint256",
856
+ },
857
+ ],
858
+ name: "RedeemPyToSy",
859
+ type: "event",
860
+ },
861
+ {
862
+ anonymous: false,
863
+ inputs: [
864
+ {
865
+ indexed: true,
866
+ internalType: "address",
867
+ name: "caller",
868
+ type: "address",
869
+ },
870
+ {
871
+ indexed: true,
872
+ internalType: "address",
873
+ name: "tokenOut",
874
+ type: "address",
875
+ },
876
+ {
877
+ indexed: true,
878
+ internalType: "address",
879
+ name: "YT",
880
+ type: "address",
881
+ },
882
+ {
883
+ indexed: false,
884
+ internalType: "address",
885
+ name: "receiver",
886
+ type: "address",
887
+ },
888
+ {
889
+ indexed: false,
890
+ internalType: "uint256",
891
+ name: "netPyIn",
892
+ type: "uint256",
893
+ },
894
+ {
895
+ indexed: false,
896
+ internalType: "uint256",
897
+ name: "netTokenOut",
898
+ type: "uint256",
899
+ },
900
+ {
901
+ indexed: false,
902
+ internalType: "uint256",
903
+ name: "netSyInterm",
904
+ type: "uint256",
905
+ },
906
+ ],
907
+ name: "RedeemPyToToken",
908
+ type: "event",
909
+ },
910
+ {
911
+ anonymous: false,
912
+ inputs: [
913
+ {
914
+ indexed: true,
915
+ internalType: "address",
916
+ name: "caller",
917
+ type: "address",
918
+ },
919
+ {
920
+ indexed: true,
921
+ internalType: "address",
922
+ name: "tokenOut",
923
+ type: "address",
924
+ },
925
+ {
926
+ indexed: true,
927
+ internalType: "address",
928
+ name: "SY",
929
+ type: "address",
930
+ },
931
+ {
932
+ indexed: false,
933
+ internalType: "address",
934
+ name: "receiver",
935
+ type: "address",
936
+ },
937
+ {
938
+ indexed: false,
939
+ internalType: "uint256",
940
+ name: "netSyIn",
941
+ type: "uint256",
942
+ },
943
+ {
944
+ indexed: false,
945
+ internalType: "uint256",
946
+ name: "netTokenOut",
947
+ type: "uint256",
948
+ },
949
+ ],
950
+ name: "RedeemSyToToken",
951
+ type: "event",
952
+ },
953
+ {
954
+ anonymous: false,
955
+ inputs: [
956
+ {
957
+ indexed: true,
958
+ internalType: "address",
959
+ name: "caller",
960
+ type: "address",
961
+ },
962
+ {
963
+ indexed: true,
964
+ internalType: "address",
965
+ name: "market",
966
+ type: "address",
967
+ },
968
+ {
969
+ indexed: true,
970
+ internalType: "address",
971
+ name: "receiver",
972
+ type: "address",
973
+ },
974
+ {
975
+ indexed: false,
976
+ internalType: "uint256",
977
+ name: "netLpToRemove",
978
+ type: "uint256",
979
+ },
980
+ {
981
+ indexed: false,
982
+ internalType: "uint256",
983
+ name: "netPtOut",
984
+ type: "uint256",
985
+ },
986
+ {
987
+ indexed: false,
988
+ internalType: "uint256",
989
+ name: "netSyOut",
990
+ type: "uint256",
991
+ },
992
+ ],
993
+ name: "RemoveLiquidityDualSyAndPt",
994
+ type: "event",
995
+ },
996
+ {
997
+ anonymous: false,
998
+ inputs: [
999
+ {
1000
+ indexed: true,
1001
+ internalType: "address",
1002
+ name: "caller",
1003
+ type: "address",
1004
+ },
1005
+ {
1006
+ indexed: true,
1007
+ internalType: "address",
1008
+ name: "market",
1009
+ type: "address",
1010
+ },
1011
+ {
1012
+ indexed: true,
1013
+ internalType: "address",
1014
+ name: "tokenOut",
1015
+ type: "address",
1016
+ },
1017
+ {
1018
+ indexed: false,
1019
+ internalType: "address",
1020
+ name: "receiver",
1021
+ type: "address",
1022
+ },
1023
+ {
1024
+ indexed: false,
1025
+ internalType: "uint256",
1026
+ name: "netLpToRemove",
1027
+ type: "uint256",
1028
+ },
1029
+ {
1030
+ indexed: false,
1031
+ internalType: "uint256",
1032
+ name: "netPtOut",
1033
+ type: "uint256",
1034
+ },
1035
+ {
1036
+ indexed: false,
1037
+ internalType: "uint256",
1038
+ name: "netTokenOut",
1039
+ type: "uint256",
1040
+ },
1041
+ {
1042
+ indexed: false,
1043
+ internalType: "uint256",
1044
+ name: "netSyInterm",
1045
+ type: "uint256",
1046
+ },
1047
+ ],
1048
+ name: "RemoveLiquidityDualTokenAndPt",
1049
+ type: "event",
1050
+ },
1051
+ {
1052
+ anonymous: false,
1053
+ inputs: [
1054
+ {
1055
+ indexed: true,
1056
+ internalType: "address",
1057
+ name: "caller",
1058
+ type: "address",
1059
+ },
1060
+ {
1061
+ indexed: true,
1062
+ internalType: "address",
1063
+ name: "market",
1064
+ type: "address",
1065
+ },
1066
+ {
1067
+ indexed: true,
1068
+ internalType: "address",
1069
+ name: "receiver",
1070
+ type: "address",
1071
+ },
1072
+ {
1073
+ indexed: false,
1074
+ internalType: "uint256",
1075
+ name: "netLpToRemove",
1076
+ type: "uint256",
1077
+ },
1078
+ {
1079
+ indexed: false,
1080
+ internalType: "uint256",
1081
+ name: "netPtOut",
1082
+ type: "uint256",
1083
+ },
1084
+ ],
1085
+ name: "RemoveLiquiditySinglePt",
1086
+ type: "event",
1087
+ },
1088
+ {
1089
+ anonymous: false,
1090
+ inputs: [
1091
+ {
1092
+ indexed: true,
1093
+ internalType: "address",
1094
+ name: "caller",
1095
+ type: "address",
1096
+ },
1097
+ {
1098
+ indexed: true,
1099
+ internalType: "address",
1100
+ name: "market",
1101
+ type: "address",
1102
+ },
1103
+ {
1104
+ indexed: true,
1105
+ internalType: "address",
1106
+ name: "receiver",
1107
+ type: "address",
1108
+ },
1109
+ {
1110
+ indexed: false,
1111
+ internalType: "uint256",
1112
+ name: "netLpToRemove",
1113
+ type: "uint256",
1114
+ },
1115
+ {
1116
+ indexed: false,
1117
+ internalType: "uint256",
1118
+ name: "netSyOut",
1119
+ type: "uint256",
1120
+ },
1121
+ ],
1122
+ name: "RemoveLiquiditySingleSy",
1123
+ type: "event",
1124
+ },
1125
+ {
1126
+ anonymous: false,
1127
+ inputs: [
1128
+ {
1129
+ indexed: true,
1130
+ internalType: "address",
1131
+ name: "caller",
1132
+ type: "address",
1133
+ },
1134
+ {
1135
+ indexed: true,
1136
+ internalType: "address",
1137
+ name: "market",
1138
+ type: "address",
1139
+ },
1140
+ {
1141
+ indexed: true,
1142
+ internalType: "address",
1143
+ name: "token",
1144
+ type: "address",
1145
+ },
1146
+ {
1147
+ indexed: false,
1148
+ internalType: "address",
1149
+ name: "receiver",
1150
+ type: "address",
1151
+ },
1152
+ {
1153
+ indexed: false,
1154
+ internalType: "uint256",
1155
+ name: "netLpToRemove",
1156
+ type: "uint256",
1157
+ },
1158
+ {
1159
+ indexed: false,
1160
+ internalType: "uint256",
1161
+ name: "netTokenOut",
1162
+ type: "uint256",
1163
+ },
1164
+ {
1165
+ indexed: false,
1166
+ internalType: "uint256",
1167
+ name: "netSyInterm",
1168
+ type: "uint256",
1169
+ },
1170
+ ],
1171
+ name: "RemoveLiquiditySingleToken",
1172
+ type: "event",
1173
+ },
1174
+ {
1175
+ anonymous: false,
1176
+ inputs: [
1177
+ {
1178
+ indexed: true,
1179
+ internalType: "bytes4",
1180
+ name: "selector",
1181
+ type: "bytes4",
1182
+ },
1183
+ {
1184
+ indexed: true,
1185
+ internalType: "address",
1186
+ name: "facet",
1187
+ type: "address",
1188
+ },
1189
+ ],
1190
+ name: "SelectorToFacetSet",
1191
+ type: "event",
1192
+ },
1193
+ {
1194
+ anonymous: false,
1195
+ inputs: [
1196
+ {
1197
+ indexed: true,
1198
+ internalType: "address",
1199
+ name: "caller",
1200
+ type: "address",
1201
+ },
1202
+ {
1203
+ indexed: true,
1204
+ internalType: "address",
1205
+ name: "market",
1206
+ type: "address",
1207
+ },
1208
+ {
1209
+ indexed: true,
1210
+ internalType: "address",
1211
+ name: "receiver",
1212
+ type: "address",
1213
+ },
1214
+ {
1215
+ indexed: false,
1216
+ internalType: "int256",
1217
+ name: "netPtToAccount",
1218
+ type: "int256",
1219
+ },
1220
+ {
1221
+ indexed: false,
1222
+ internalType: "int256",
1223
+ name: "netSyToAccount",
1224
+ type: "int256",
1225
+ },
1226
+ ],
1227
+ name: "SwapPtAndSy",
1228
+ type: "event",
1229
+ },
1230
+ {
1231
+ anonymous: false,
1232
+ inputs: [
1233
+ {
1234
+ indexed: true,
1235
+ internalType: "address",
1236
+ name: "caller",
1237
+ type: "address",
1238
+ },
1239
+ {
1240
+ indexed: true,
1241
+ internalType: "address",
1242
+ name: "market",
1243
+ type: "address",
1244
+ },
1245
+ {
1246
+ indexed: true,
1247
+ internalType: "address",
1248
+ name: "token",
1249
+ type: "address",
1250
+ },
1251
+ {
1252
+ indexed: false,
1253
+ internalType: "address",
1254
+ name: "receiver",
1255
+ type: "address",
1256
+ },
1257
+ {
1258
+ indexed: false,
1259
+ internalType: "int256",
1260
+ name: "netPtToAccount",
1261
+ type: "int256",
1262
+ },
1263
+ {
1264
+ indexed: false,
1265
+ internalType: "int256",
1266
+ name: "netTokenToAccount",
1267
+ type: "int256",
1268
+ },
1269
+ {
1270
+ indexed: false,
1271
+ internalType: "uint256",
1272
+ name: "netSyInterm",
1273
+ type: "uint256",
1274
+ },
1275
+ ],
1276
+ name: "SwapPtAndToken",
1277
+ type: "event",
1278
+ },
1279
+ {
1280
+ anonymous: false,
1281
+ inputs: [
1282
+ {
1283
+ indexed: true,
1284
+ internalType: "address",
1285
+ name: "caller",
1286
+ type: "address",
1287
+ },
1288
+ {
1289
+ indexed: true,
1290
+ internalType: "address",
1291
+ name: "market",
1292
+ type: "address",
1293
+ },
1294
+ {
1295
+ indexed: true,
1296
+ internalType: "address",
1297
+ name: "receiver",
1298
+ type: "address",
1299
+ },
1300
+ {
1301
+ indexed: false,
1302
+ internalType: "int256",
1303
+ name: "netYtToAccount",
1304
+ type: "int256",
1305
+ },
1306
+ {
1307
+ indexed: false,
1308
+ internalType: "int256",
1309
+ name: "netSyToAccount",
1310
+ type: "int256",
1311
+ },
1312
+ ],
1313
+ name: "SwapYtAndSy",
1314
+ type: "event",
1315
+ },
1316
+ {
1317
+ anonymous: false,
1318
+ inputs: [
1319
+ {
1320
+ indexed: true,
1321
+ internalType: "address",
1322
+ name: "caller",
1323
+ type: "address",
1324
+ },
1325
+ {
1326
+ indexed: true,
1327
+ internalType: "address",
1328
+ name: "market",
1329
+ type: "address",
1330
+ },
1331
+ {
1332
+ indexed: true,
1333
+ internalType: "address",
1334
+ name: "token",
1335
+ type: "address",
1336
+ },
1337
+ {
1338
+ indexed: false,
1339
+ internalType: "address",
1340
+ name: "receiver",
1341
+ type: "address",
1342
+ },
1343
+ {
1344
+ indexed: false,
1345
+ internalType: "int256",
1346
+ name: "netYtToAccount",
1347
+ type: "int256",
1348
+ },
1349
+ {
1350
+ indexed: false,
1351
+ internalType: "int256",
1352
+ name: "netTokenToAccount",
1353
+ type: "int256",
1354
+ },
1355
+ {
1356
+ indexed: false,
1357
+ internalType: "uint256",
1358
+ name: "netSyInterm",
1359
+ type: "uint256",
1360
+ },
1361
+ ],
1362
+ name: "SwapYtAndToken",
1363
+ type: "event",
1364
+ },
1365
+ {
1366
+ inputs: [
1367
+ {
1368
+ internalType: "address[]",
1369
+ name: "markets",
1370
+ type: "address[]",
1371
+ },
1372
+ ],
1373
+ name: "boostMarkets",
1374
+ outputs: [],
1375
+ stateMutability: "nonpayable",
1376
+ type: "function",
1377
+ },
1378
+ {
1379
+ inputs: [
1380
+ {
1381
+ internalType: "address payable",
1382
+ name: "reflector",
1383
+ type: "address",
1384
+ },
1385
+ {
1386
+ internalType: "bytes",
1387
+ name: "selfCall1",
1388
+ type: "bytes",
1389
+ },
1390
+ {
1391
+ internalType: "bytes",
1392
+ name: "selfCall2",
1393
+ type: "bytes",
1394
+ },
1395
+ {
1396
+ internalType: "bytes",
1397
+ name: "reflectCall",
1398
+ type: "bytes",
1399
+ },
1400
+ ],
1401
+ name: "callAndReflect",
1402
+ outputs: [
1403
+ {
1404
+ internalType: "bytes",
1405
+ name: "selfRes1",
1406
+ type: "bytes",
1407
+ },
1408
+ {
1409
+ internalType: "bytes",
1410
+ name: "selfRes2",
1411
+ type: "bytes",
1412
+ },
1413
+ {
1414
+ internalType: "bytes",
1415
+ name: "reflectRes",
1416
+ type: "bytes",
1417
+ },
1418
+ ],
1419
+ stateMutability: "payable",
1420
+ type: "function",
1421
+ },
1422
+ {
1423
+ inputs: [
1424
+ {
1425
+ internalType: "address",
1426
+ name: "receiver",
1427
+ type: "address",
1428
+ },
1429
+ {
1430
+ internalType: "address",
1431
+ name: "market",
1432
+ type: "address",
1433
+ },
1434
+ {
1435
+ internalType: "uint256",
1436
+ name: "netPtIn",
1437
+ type: "uint256",
1438
+ },
1439
+ {
1440
+ internalType: "uint256",
1441
+ name: "netLpIn",
1442
+ type: "uint256",
1443
+ },
1444
+ {
1445
+ internalType: "uint256",
1446
+ name: "minSyOut",
1447
+ type: "uint256",
1448
+ },
1449
+ ],
1450
+ name: "exitPostExpToSy",
1451
+ outputs: [
1452
+ {
1453
+ components: [
1454
+ {
1455
+ internalType: "uint256",
1456
+ name: "netPtFromRemove",
1457
+ type: "uint256",
1458
+ },
1459
+ {
1460
+ internalType: "uint256",
1461
+ name: "netSyFromRemove",
1462
+ type: "uint256",
1463
+ },
1464
+ {
1465
+ internalType: "uint256",
1466
+ name: "netPtRedeem",
1467
+ type: "uint256",
1468
+ },
1469
+ {
1470
+ internalType: "uint256",
1471
+ name: "netSyFromRedeem",
1472
+ type: "uint256",
1473
+ },
1474
+ {
1475
+ internalType: "uint256",
1476
+ name: "totalSyOut",
1477
+ type: "uint256",
1478
+ },
1479
+ ],
1480
+ internalType: "struct ExitPostExpReturnParams",
1481
+ name: "params",
1482
+ type: "tuple",
1483
+ },
1484
+ ],
1485
+ stateMutability: "nonpayable",
1486
+ type: "function",
1487
+ },
1488
+ {
1489
+ inputs: [
1490
+ {
1491
+ internalType: "address",
1492
+ name: "receiver",
1493
+ type: "address",
1494
+ },
1495
+ {
1496
+ internalType: "address",
1497
+ name: "market",
1498
+ type: "address",
1499
+ },
1500
+ {
1501
+ internalType: "uint256",
1502
+ name: "netPtIn",
1503
+ type: "uint256",
1504
+ },
1505
+ {
1506
+ internalType: "uint256",
1507
+ name: "netLpIn",
1508
+ type: "uint256",
1509
+ },
1510
+ {
1511
+ components: [
1512
+ {
1513
+ internalType: "address",
1514
+ name: "tokenOut",
1515
+ type: "address",
1516
+ },
1517
+ {
1518
+ internalType: "uint256",
1519
+ name: "minTokenOut",
1520
+ type: "uint256",
1521
+ },
1522
+ {
1523
+ internalType: "address",
1524
+ name: "tokenRedeemSy",
1525
+ type: "address",
1526
+ },
1527
+ {
1528
+ internalType: "address",
1529
+ name: "pendleSwap",
1530
+ type: "address",
1531
+ },
1532
+ {
1533
+ components: [
1534
+ {
1535
+ internalType: "enum SwapType",
1536
+ name: "swapType",
1537
+ type: "uint8",
1538
+ },
1539
+ {
1540
+ internalType: "address",
1541
+ name: "extRouter",
1542
+ type: "address",
1543
+ },
1544
+ {
1545
+ internalType: "bytes",
1546
+ name: "extCalldata",
1547
+ type: "bytes",
1548
+ },
1549
+ {
1550
+ internalType: "bool",
1551
+ name: "needScale",
1552
+ type: "bool",
1553
+ },
1554
+ ],
1555
+ internalType: "struct SwapData",
1556
+ name: "swapData",
1557
+ type: "tuple",
1558
+ },
1559
+ ],
1560
+ internalType: "struct TokenOutput",
1561
+ name: "output",
1562
+ type: "tuple",
1563
+ },
1564
+ ],
1565
+ name: "exitPostExpToToken",
1566
+ outputs: [
1567
+ {
1568
+ internalType: "uint256",
1569
+ name: "totalTokenOut",
1570
+ type: "uint256",
1571
+ },
1572
+ {
1573
+ components: [
1574
+ {
1575
+ internalType: "uint256",
1576
+ name: "netPtFromRemove",
1577
+ type: "uint256",
1578
+ },
1579
+ {
1580
+ internalType: "uint256",
1581
+ name: "netSyFromRemove",
1582
+ type: "uint256",
1583
+ },
1584
+ {
1585
+ internalType: "uint256",
1586
+ name: "netPtRedeem",
1587
+ type: "uint256",
1588
+ },
1589
+ {
1590
+ internalType: "uint256",
1591
+ name: "netSyFromRedeem",
1592
+ type: "uint256",
1593
+ },
1594
+ {
1595
+ internalType: "uint256",
1596
+ name: "totalSyOut",
1597
+ type: "uint256",
1598
+ },
1599
+ ],
1600
+ internalType: "struct ExitPostExpReturnParams",
1601
+ name: "params",
1602
+ type: "tuple",
1603
+ },
1604
+ ],
1605
+ stateMutability: "nonpayable",
1606
+ type: "function",
1607
+ },
1608
+ {
1609
+ inputs: [
1610
+ {
1611
+ internalType: "address",
1612
+ name: "receiver",
1613
+ type: "address",
1614
+ },
1615
+ {
1616
+ internalType: "address",
1617
+ name: "market",
1618
+ type: "address",
1619
+ },
1620
+ {
1621
+ internalType: "uint256",
1622
+ name: "netPtIn",
1623
+ type: "uint256",
1624
+ },
1625
+ {
1626
+ internalType: "uint256",
1627
+ name: "netYtIn",
1628
+ type: "uint256",
1629
+ },
1630
+ {
1631
+ internalType: "uint256",
1632
+ name: "netLpIn",
1633
+ type: "uint256",
1634
+ },
1635
+ {
1636
+ internalType: "uint256",
1637
+ name: "minSyOut",
1638
+ type: "uint256",
1639
+ },
1640
+ {
1641
+ components: [
1642
+ {
1643
+ internalType: "address",
1644
+ name: "limitRouter",
1645
+ type: "address",
1646
+ },
1647
+ {
1648
+ internalType: "uint256",
1649
+ name: "epsSkipMarket",
1650
+ type: "uint256",
1651
+ },
1652
+ {
1653
+ components: [
1654
+ {
1655
+ components: [
1656
+ {
1657
+ internalType: "uint256",
1658
+ name: "salt",
1659
+ type: "uint256",
1660
+ },
1661
+ {
1662
+ internalType: "uint256",
1663
+ name: "expiry",
1664
+ type: "uint256",
1665
+ },
1666
+ {
1667
+ internalType: "uint256",
1668
+ name: "nonce",
1669
+ type: "uint256",
1670
+ },
1671
+ {
1672
+ internalType: "enum IPLimitOrderType.OrderType",
1673
+ name: "orderType",
1674
+ type: "uint8",
1675
+ },
1676
+ {
1677
+ internalType: "address",
1678
+ name: "token",
1679
+ type: "address",
1680
+ },
1681
+ {
1682
+ internalType: "address",
1683
+ name: "YT",
1684
+ type: "address",
1685
+ },
1686
+ {
1687
+ internalType: "address",
1688
+ name: "maker",
1689
+ type: "address",
1690
+ },
1691
+ {
1692
+ internalType: "address",
1693
+ name: "receiver",
1694
+ type: "address",
1695
+ },
1696
+ {
1697
+ internalType: "uint256",
1698
+ name: "makingAmount",
1699
+ type: "uint256",
1700
+ },
1701
+ {
1702
+ internalType: "uint256",
1703
+ name: "lnImpliedRate",
1704
+ type: "uint256",
1705
+ },
1706
+ {
1707
+ internalType: "uint256",
1708
+ name: "failSafeRate",
1709
+ type: "uint256",
1710
+ },
1711
+ {
1712
+ internalType: "bytes",
1713
+ name: "permit",
1714
+ type: "bytes",
1715
+ },
1716
+ ],
1717
+ internalType: "struct Order",
1718
+ name: "order",
1719
+ type: "tuple",
1720
+ },
1721
+ {
1722
+ internalType: "bytes",
1723
+ name: "signature",
1724
+ type: "bytes",
1725
+ },
1726
+ {
1727
+ internalType: "uint256",
1728
+ name: "makingAmount",
1729
+ type: "uint256",
1730
+ },
1731
+ ],
1732
+ internalType: "struct FillOrderParams[]",
1733
+ name: "normalFills",
1734
+ type: "tuple[]",
1735
+ },
1736
+ {
1737
+ components: [
1738
+ {
1739
+ components: [
1740
+ {
1741
+ internalType: "uint256",
1742
+ name: "salt",
1743
+ type: "uint256",
1744
+ },
1745
+ {
1746
+ internalType: "uint256",
1747
+ name: "expiry",
1748
+ type: "uint256",
1749
+ },
1750
+ {
1751
+ internalType: "uint256",
1752
+ name: "nonce",
1753
+ type: "uint256",
1754
+ },
1755
+ {
1756
+ internalType: "enum IPLimitOrderType.OrderType",
1757
+ name: "orderType",
1758
+ type: "uint8",
1759
+ },
1760
+ {
1761
+ internalType: "address",
1762
+ name: "token",
1763
+ type: "address",
1764
+ },
1765
+ {
1766
+ internalType: "address",
1767
+ name: "YT",
1768
+ type: "address",
1769
+ },
1770
+ {
1771
+ internalType: "address",
1772
+ name: "maker",
1773
+ type: "address",
1774
+ },
1775
+ {
1776
+ internalType: "address",
1777
+ name: "receiver",
1778
+ type: "address",
1779
+ },
1780
+ {
1781
+ internalType: "uint256",
1782
+ name: "makingAmount",
1783
+ type: "uint256",
1784
+ },
1785
+ {
1786
+ internalType: "uint256",
1787
+ name: "lnImpliedRate",
1788
+ type: "uint256",
1789
+ },
1790
+ {
1791
+ internalType: "uint256",
1792
+ name: "failSafeRate",
1793
+ type: "uint256",
1794
+ },
1795
+ {
1796
+ internalType: "bytes",
1797
+ name: "permit",
1798
+ type: "bytes",
1799
+ },
1800
+ ],
1801
+ internalType: "struct Order",
1802
+ name: "order",
1803
+ type: "tuple",
1804
+ },
1805
+ {
1806
+ internalType: "bytes",
1807
+ name: "signature",
1808
+ type: "bytes",
1809
+ },
1810
+ {
1811
+ internalType: "uint256",
1812
+ name: "makingAmount",
1813
+ type: "uint256",
1814
+ },
1815
+ ],
1816
+ internalType: "struct FillOrderParams[]",
1817
+ name: "flashFills",
1818
+ type: "tuple[]",
1819
+ },
1820
+ {
1821
+ internalType: "bytes",
1822
+ name: "optData",
1823
+ type: "bytes",
1824
+ },
1825
+ ],
1826
+ internalType: "struct LimitOrderData",
1827
+ name: "limit",
1828
+ type: "tuple",
1829
+ },
1830
+ ],
1831
+ name: "exitPreExpToSy",
1832
+ outputs: [
1833
+ {
1834
+ components: [
1835
+ {
1836
+ internalType: "uint256",
1837
+ name: "netPtFromRemove",
1838
+ type: "uint256",
1839
+ },
1840
+ {
1841
+ internalType: "uint256",
1842
+ name: "netSyFromRemove",
1843
+ type: "uint256",
1844
+ },
1845
+ {
1846
+ internalType: "uint256",
1847
+ name: "netPyRedeem",
1848
+ type: "uint256",
1849
+ },
1850
+ {
1851
+ internalType: "uint256",
1852
+ name: "netSyFromRedeem",
1853
+ type: "uint256",
1854
+ },
1855
+ {
1856
+ internalType: "uint256",
1857
+ name: "netPtSwap",
1858
+ type: "uint256",
1859
+ },
1860
+ {
1861
+ internalType: "uint256",
1862
+ name: "netYtSwap",
1863
+ type: "uint256",
1864
+ },
1865
+ {
1866
+ internalType: "uint256",
1867
+ name: "netSyFromSwap",
1868
+ type: "uint256",
1869
+ },
1870
+ {
1871
+ internalType: "uint256",
1872
+ name: "netSyFee",
1873
+ type: "uint256",
1874
+ },
1875
+ {
1876
+ internalType: "uint256",
1877
+ name: "totalSyOut",
1878
+ type: "uint256",
1879
+ },
1880
+ ],
1881
+ internalType: "struct ExitPreExpReturnParams",
1882
+ name: "params",
1883
+ type: "tuple",
1884
+ },
1885
+ ],
1886
+ stateMutability: "nonpayable",
1887
+ type: "function",
1888
+ },
1889
+ {
1890
+ inputs: [
1891
+ {
1892
+ internalType: "address",
1893
+ name: "receiver",
1894
+ type: "address",
1895
+ },
1896
+ {
1897
+ internalType: "address",
1898
+ name: "market",
1899
+ type: "address",
1900
+ },
1901
+ {
1902
+ internalType: "uint256",
1903
+ name: "netPtIn",
1904
+ type: "uint256",
1905
+ },
1906
+ {
1907
+ internalType: "uint256",
1908
+ name: "netYtIn",
1909
+ type: "uint256",
1910
+ },
1911
+ {
1912
+ internalType: "uint256",
1913
+ name: "netLpIn",
1914
+ type: "uint256",
1915
+ },
1916
+ {
1917
+ components: [
1918
+ {
1919
+ internalType: "address",
1920
+ name: "tokenOut",
1921
+ type: "address",
1922
+ },
1923
+ {
1924
+ internalType: "uint256",
1925
+ name: "minTokenOut",
1926
+ type: "uint256",
1927
+ },
1928
+ {
1929
+ internalType: "address",
1930
+ name: "tokenRedeemSy",
1931
+ type: "address",
1932
+ },
1933
+ {
1934
+ internalType: "address",
1935
+ name: "pendleSwap",
1936
+ type: "address",
1937
+ },
1938
+ {
1939
+ components: [
1940
+ {
1941
+ internalType: "enum SwapType",
1942
+ name: "swapType",
1943
+ type: "uint8",
1944
+ },
1945
+ {
1946
+ internalType: "address",
1947
+ name: "extRouter",
1948
+ type: "address",
1949
+ },
1950
+ {
1951
+ internalType: "bytes",
1952
+ name: "extCalldata",
1953
+ type: "bytes",
1954
+ },
1955
+ {
1956
+ internalType: "bool",
1957
+ name: "needScale",
1958
+ type: "bool",
1959
+ },
1960
+ ],
1961
+ internalType: "struct SwapData",
1962
+ name: "swapData",
1963
+ type: "tuple",
1964
+ },
1965
+ ],
1966
+ internalType: "struct TokenOutput",
1967
+ name: "output",
1968
+ type: "tuple",
1969
+ },
1970
+ {
1971
+ components: [
1972
+ {
1973
+ internalType: "address",
1974
+ name: "limitRouter",
1975
+ type: "address",
1976
+ },
1977
+ {
1978
+ internalType: "uint256",
1979
+ name: "epsSkipMarket",
1980
+ type: "uint256",
1981
+ },
1982
+ {
1983
+ components: [
1984
+ {
1985
+ components: [
1986
+ {
1987
+ internalType: "uint256",
1988
+ name: "salt",
1989
+ type: "uint256",
1990
+ },
1991
+ {
1992
+ internalType: "uint256",
1993
+ name: "expiry",
1994
+ type: "uint256",
1995
+ },
1996
+ {
1997
+ internalType: "uint256",
1998
+ name: "nonce",
1999
+ type: "uint256",
2000
+ },
2001
+ {
2002
+ internalType: "enum IPLimitOrderType.OrderType",
2003
+ name: "orderType",
2004
+ type: "uint8",
2005
+ },
2006
+ {
2007
+ internalType: "address",
2008
+ name: "token",
2009
+ type: "address",
2010
+ },
2011
+ {
2012
+ internalType: "address",
2013
+ name: "YT",
2014
+ type: "address",
2015
+ },
2016
+ {
2017
+ internalType: "address",
2018
+ name: "maker",
2019
+ type: "address",
2020
+ },
2021
+ {
2022
+ internalType: "address",
2023
+ name: "receiver",
2024
+ type: "address",
2025
+ },
2026
+ {
2027
+ internalType: "uint256",
2028
+ name: "makingAmount",
2029
+ type: "uint256",
2030
+ },
2031
+ {
2032
+ internalType: "uint256",
2033
+ name: "lnImpliedRate",
2034
+ type: "uint256",
2035
+ },
2036
+ {
2037
+ internalType: "uint256",
2038
+ name: "failSafeRate",
2039
+ type: "uint256",
2040
+ },
2041
+ {
2042
+ internalType: "bytes",
2043
+ name: "permit",
2044
+ type: "bytes",
2045
+ },
2046
+ ],
2047
+ internalType: "struct Order",
2048
+ name: "order",
2049
+ type: "tuple",
2050
+ },
2051
+ {
2052
+ internalType: "bytes",
2053
+ name: "signature",
2054
+ type: "bytes",
2055
+ },
2056
+ {
2057
+ internalType: "uint256",
2058
+ name: "makingAmount",
2059
+ type: "uint256",
2060
+ },
2061
+ ],
2062
+ internalType: "struct FillOrderParams[]",
2063
+ name: "normalFills",
2064
+ type: "tuple[]",
2065
+ },
2066
+ {
2067
+ components: [
2068
+ {
2069
+ components: [
2070
+ {
2071
+ internalType: "uint256",
2072
+ name: "salt",
2073
+ type: "uint256",
2074
+ },
2075
+ {
2076
+ internalType: "uint256",
2077
+ name: "expiry",
2078
+ type: "uint256",
2079
+ },
2080
+ {
2081
+ internalType: "uint256",
2082
+ name: "nonce",
2083
+ type: "uint256",
2084
+ },
2085
+ {
2086
+ internalType: "enum IPLimitOrderType.OrderType",
2087
+ name: "orderType",
2088
+ type: "uint8",
2089
+ },
2090
+ {
2091
+ internalType: "address",
2092
+ name: "token",
2093
+ type: "address",
2094
+ },
2095
+ {
2096
+ internalType: "address",
2097
+ name: "YT",
2098
+ type: "address",
2099
+ },
2100
+ {
2101
+ internalType: "address",
2102
+ name: "maker",
2103
+ type: "address",
2104
+ },
2105
+ {
2106
+ internalType: "address",
2107
+ name: "receiver",
2108
+ type: "address",
2109
+ },
2110
+ {
2111
+ internalType: "uint256",
2112
+ name: "makingAmount",
2113
+ type: "uint256",
2114
+ },
2115
+ {
2116
+ internalType: "uint256",
2117
+ name: "lnImpliedRate",
2118
+ type: "uint256",
2119
+ },
2120
+ {
2121
+ internalType: "uint256",
2122
+ name: "failSafeRate",
2123
+ type: "uint256",
2124
+ },
2125
+ {
2126
+ internalType: "bytes",
2127
+ name: "permit",
2128
+ type: "bytes",
2129
+ },
2130
+ ],
2131
+ internalType: "struct Order",
2132
+ name: "order",
2133
+ type: "tuple",
2134
+ },
2135
+ {
2136
+ internalType: "bytes",
2137
+ name: "signature",
2138
+ type: "bytes",
2139
+ },
2140
+ {
2141
+ internalType: "uint256",
2142
+ name: "makingAmount",
2143
+ type: "uint256",
2144
+ },
2145
+ ],
2146
+ internalType: "struct FillOrderParams[]",
2147
+ name: "flashFills",
2148
+ type: "tuple[]",
2149
+ },
2150
+ {
2151
+ internalType: "bytes",
2152
+ name: "optData",
2153
+ type: "bytes",
2154
+ },
2155
+ ],
2156
+ internalType: "struct LimitOrderData",
2157
+ name: "limit",
2158
+ type: "tuple",
2159
+ },
2160
+ ],
2161
+ name: "exitPreExpToToken",
2162
+ outputs: [
2163
+ {
2164
+ internalType: "uint256",
2165
+ name: "totalTokenOut",
2166
+ type: "uint256",
2167
+ },
2168
+ {
2169
+ components: [
2170
+ {
2171
+ internalType: "uint256",
2172
+ name: "netPtFromRemove",
2173
+ type: "uint256",
2174
+ },
2175
+ {
2176
+ internalType: "uint256",
2177
+ name: "netSyFromRemove",
2178
+ type: "uint256",
2179
+ },
2180
+ {
2181
+ internalType: "uint256",
2182
+ name: "netPyRedeem",
2183
+ type: "uint256",
2184
+ },
2185
+ {
2186
+ internalType: "uint256",
2187
+ name: "netSyFromRedeem",
2188
+ type: "uint256",
2189
+ },
2190
+ {
2191
+ internalType: "uint256",
2192
+ name: "netPtSwap",
2193
+ type: "uint256",
2194
+ },
2195
+ {
2196
+ internalType: "uint256",
2197
+ name: "netYtSwap",
2198
+ type: "uint256",
2199
+ },
2200
+ {
2201
+ internalType: "uint256",
2202
+ name: "netSyFromSwap",
2203
+ type: "uint256",
2204
+ },
2205
+ {
2206
+ internalType: "uint256",
2207
+ name: "netSyFee",
2208
+ type: "uint256",
2209
+ },
2210
+ {
2211
+ internalType: "uint256",
2212
+ name: "totalSyOut",
2213
+ type: "uint256",
2214
+ },
2215
+ ],
2216
+ internalType: "struct ExitPreExpReturnParams",
2217
+ name: "params",
2218
+ type: "tuple",
2219
+ },
2220
+ ],
2221
+ stateMutability: "nonpayable",
2222
+ type: "function",
2223
+ },
2224
+ {
2225
+ inputs: [
2226
+ {
2227
+ internalType: "address",
2228
+ name: "receiver",
2229
+ type: "address",
2230
+ },
2231
+ {
2232
+ internalType: "address",
2233
+ name: "YT",
2234
+ type: "address",
2235
+ },
2236
+ {
2237
+ internalType: "uint256",
2238
+ name: "netSyIn",
2239
+ type: "uint256",
2240
+ },
2241
+ {
2242
+ internalType: "uint256",
2243
+ name: "minPyOut",
2244
+ type: "uint256",
2245
+ },
2246
+ ],
2247
+ name: "mintPyFromSy",
2248
+ outputs: [
2249
+ {
2250
+ internalType: "uint256",
2251
+ name: "netPyOut",
2252
+ type: "uint256",
2253
+ },
2254
+ ],
2255
+ stateMutability: "nonpayable",
2256
+ type: "function",
2257
+ },
2258
+ {
2259
+ inputs: [
2260
+ {
2261
+ internalType: "address",
2262
+ name: "receiver",
2263
+ type: "address",
2264
+ },
2265
+ {
2266
+ internalType: "address",
2267
+ name: "YT",
2268
+ type: "address",
2269
+ },
2270
+ {
2271
+ internalType: "uint256",
2272
+ name: "minPyOut",
2273
+ type: "uint256",
2274
+ },
2275
+ {
2276
+ components: [
2277
+ {
2278
+ internalType: "address",
2279
+ name: "tokenIn",
2280
+ type: "address",
2281
+ },
2282
+ {
2283
+ internalType: "uint256",
2284
+ name: "netTokenIn",
2285
+ type: "uint256",
2286
+ },
2287
+ {
2288
+ internalType: "address",
2289
+ name: "tokenMintSy",
2290
+ type: "address",
2291
+ },
2292
+ {
2293
+ internalType: "address",
2294
+ name: "pendleSwap",
2295
+ type: "address",
2296
+ },
2297
+ {
2298
+ components: [
2299
+ {
2300
+ internalType: "enum SwapType",
2301
+ name: "swapType",
2302
+ type: "uint8",
2303
+ },
2304
+ {
2305
+ internalType: "address",
2306
+ name: "extRouter",
2307
+ type: "address",
2308
+ },
2309
+ {
2310
+ internalType: "bytes",
2311
+ name: "extCalldata",
2312
+ type: "bytes",
2313
+ },
2314
+ {
2315
+ internalType: "bool",
2316
+ name: "needScale",
2317
+ type: "bool",
2318
+ },
2319
+ ],
2320
+ internalType: "struct SwapData",
2321
+ name: "swapData",
2322
+ type: "tuple",
2323
+ },
2324
+ ],
2325
+ internalType: "struct TokenInput",
2326
+ name: "input",
2327
+ type: "tuple",
2328
+ },
2329
+ ],
2330
+ name: "mintPyFromToken",
2331
+ outputs: [
2332
+ {
2333
+ internalType: "uint256",
2334
+ name: "netPyOut",
2335
+ type: "uint256",
2336
+ },
2337
+ {
2338
+ internalType: "uint256",
2339
+ name: "netSyInterm",
2340
+ type: "uint256",
2341
+ },
2342
+ ],
2343
+ stateMutability: "payable",
2344
+ type: "function",
2345
+ },
2346
+ {
2347
+ inputs: [
2348
+ {
2349
+ internalType: "address",
2350
+ name: "receiver",
2351
+ type: "address",
2352
+ },
2353
+ {
2354
+ internalType: "address",
2355
+ name: "SY",
2356
+ type: "address",
2357
+ },
2358
+ {
2359
+ internalType: "uint256",
2360
+ name: "minSyOut",
2361
+ type: "uint256",
2362
+ },
2363
+ {
2364
+ components: [
2365
+ {
2366
+ internalType: "address",
2367
+ name: "tokenIn",
2368
+ type: "address",
2369
+ },
2370
+ {
2371
+ internalType: "uint256",
2372
+ name: "netTokenIn",
2373
+ type: "uint256",
2374
+ },
2375
+ {
2376
+ internalType: "address",
2377
+ name: "tokenMintSy",
2378
+ type: "address",
2379
+ },
2380
+ {
2381
+ internalType: "address",
2382
+ name: "pendleSwap",
2383
+ type: "address",
2384
+ },
2385
+ {
2386
+ components: [
2387
+ {
2388
+ internalType: "enum SwapType",
2389
+ name: "swapType",
2390
+ type: "uint8",
2391
+ },
2392
+ {
2393
+ internalType: "address",
2394
+ name: "extRouter",
2395
+ type: "address",
2396
+ },
2397
+ {
2398
+ internalType: "bytes",
2399
+ name: "extCalldata",
2400
+ type: "bytes",
2401
+ },
2402
+ {
2403
+ internalType: "bool",
2404
+ name: "needScale",
2405
+ type: "bool",
2406
+ },
2407
+ ],
2408
+ internalType: "struct SwapData",
2409
+ name: "swapData",
2410
+ type: "tuple",
2411
+ },
2412
+ ],
2413
+ internalType: "struct TokenInput",
2414
+ name: "input",
2415
+ type: "tuple",
2416
+ },
2417
+ ],
2418
+ name: "mintSyFromToken",
2419
+ outputs: [
2420
+ {
2421
+ internalType: "uint256",
2422
+ name: "netSyOut",
2423
+ type: "uint256",
2424
+ },
2425
+ ],
2426
+ stateMutability: "payable",
2427
+ type: "function",
2428
+ },
2429
+ {
2430
+ inputs: [
2431
+ {
2432
+ components: [
2433
+ {
2434
+ internalType: "bool",
2435
+ name: "allowFailure",
2436
+ type: "bool",
2437
+ },
2438
+ {
2439
+ internalType: "bytes",
2440
+ name: "callData",
2441
+ type: "bytes",
2442
+ },
2443
+ ],
2444
+ internalType: "struct IPActionMiscV3.Call3[]",
2445
+ name: "calls",
2446
+ type: "tuple[]",
2447
+ },
2448
+ ],
2449
+ name: "multicall",
2450
+ outputs: [
2451
+ {
2452
+ components: [
2453
+ {
2454
+ internalType: "bool",
2455
+ name: "success",
2456
+ type: "bool",
2457
+ },
2458
+ {
2459
+ internalType: "bytes",
2460
+ name: "returnData",
2461
+ type: "bytes",
2462
+ },
2463
+ ],
2464
+ internalType: "struct IPActionMiscV3.Result[]",
2465
+ name: "res",
2466
+ type: "tuple[]",
2467
+ },
2468
+ ],
2469
+ stateMutability: "payable",
2470
+ type: "function",
2471
+ },
2472
+ {
2473
+ inputs: [
2474
+ {
2475
+ internalType: "address",
2476
+ name: "user",
2477
+ type: "address",
2478
+ },
2479
+ {
2480
+ internalType: "address[]",
2481
+ name: "sys",
2482
+ type: "address[]",
2483
+ },
2484
+ {
2485
+ internalType: "address[]",
2486
+ name: "yts",
2487
+ type: "address[]",
2488
+ },
2489
+ {
2490
+ internalType: "address[]",
2491
+ name: "markets",
2492
+ type: "address[]",
2493
+ },
2494
+ ],
2495
+ name: "redeemDueInterestAndRewards",
2496
+ outputs: [],
2497
+ stateMutability: "nonpayable",
2498
+ type: "function",
2499
+ },
2500
+ {
2501
+ inputs: [
2502
+ {
2503
+ internalType: "contract IStandardizedYield[]",
2504
+ name: "SYs",
2505
+ type: "address[]",
2506
+ },
2507
+ {
2508
+ components: [
2509
+ {
2510
+ internalType: "contract IPYieldToken",
2511
+ name: "yt",
2512
+ type: "address",
2513
+ },
2514
+ {
2515
+ internalType: "bool",
2516
+ name: "doRedeemInterest",
2517
+ type: "bool",
2518
+ },
2519
+ {
2520
+ internalType: "bool",
2521
+ name: "doRedeemRewards",
2522
+ type: "bool",
2523
+ },
2524
+ {
2525
+ internalType: "address",
2526
+ name: "tokenRedeemSy",
2527
+ type: "address",
2528
+ },
2529
+ {
2530
+ internalType: "uint256",
2531
+ name: "minTokenRedeemOut",
2532
+ type: "uint256",
2533
+ },
2534
+ ],
2535
+ internalType: "struct RedeemYtIncomeToTokenStruct[]",
2536
+ name: "YTs",
2537
+ type: "tuple[]",
2538
+ },
2539
+ {
2540
+ internalType: "contract IPMarket[]",
2541
+ name: "markets",
2542
+ type: "address[]",
2543
+ },
2544
+ {
2545
+ internalType: "contract IPSwapAggregator",
2546
+ name: "pendleSwap",
2547
+ type: "address",
2548
+ },
2549
+ {
2550
+ components: [
2551
+ {
2552
+ internalType: "address",
2553
+ name: "tokenIn",
2554
+ type: "address",
2555
+ },
2556
+ {
2557
+ internalType: "address",
2558
+ name: "tokenOut",
2559
+ type: "address",
2560
+ },
2561
+ {
2562
+ internalType: "uint256",
2563
+ name: "minOut",
2564
+ type: "uint256",
2565
+ },
2566
+ {
2567
+ components: [
2568
+ {
2569
+ internalType: "enum SwapType",
2570
+ name: "swapType",
2571
+ type: "uint8",
2572
+ },
2573
+ {
2574
+ internalType: "address",
2575
+ name: "extRouter",
2576
+ type: "address",
2577
+ },
2578
+ {
2579
+ internalType: "bytes",
2580
+ name: "extCalldata",
2581
+ type: "bytes",
2582
+ },
2583
+ {
2584
+ internalType: "bool",
2585
+ name: "needScale",
2586
+ type: "bool",
2587
+ },
2588
+ ],
2589
+ internalType: "struct SwapData",
2590
+ name: "swapData",
2591
+ type: "tuple",
2592
+ },
2593
+ ],
2594
+ internalType: "struct SwapDataExtra[]",
2595
+ name: "swaps",
2596
+ type: "tuple[]",
2597
+ },
2598
+ ],
2599
+ name: "redeemDueInterestAndRewardsV2",
2600
+ outputs: [
2601
+ {
2602
+ internalType: "uint256[]",
2603
+ name: "netOutFromSwaps",
2604
+ type: "uint256[]",
2605
+ },
2606
+ {
2607
+ internalType: "uint256[]",
2608
+ name: "netInterests",
2609
+ type: "uint256[]",
2610
+ },
2611
+ ],
2612
+ stateMutability: "nonpayable",
2613
+ type: "function",
2614
+ },
2615
+ {
2616
+ inputs: [
2617
+ {
2618
+ internalType: "address",
2619
+ name: "receiver",
2620
+ type: "address",
2621
+ },
2622
+ {
2623
+ internalType: "address",
2624
+ name: "YT",
2625
+ type: "address",
2626
+ },
2627
+ {
2628
+ internalType: "uint256",
2629
+ name: "netPyIn",
2630
+ type: "uint256",
2631
+ },
2632
+ {
2633
+ internalType: "uint256",
2634
+ name: "minSyOut",
2635
+ type: "uint256",
2636
+ },
2637
+ ],
2638
+ name: "redeemPyToSy",
2639
+ outputs: [
2640
+ {
2641
+ internalType: "uint256",
2642
+ name: "netSyOut",
2643
+ type: "uint256",
2644
+ },
2645
+ ],
2646
+ stateMutability: "nonpayable",
2647
+ type: "function",
2648
+ },
2649
+ {
2650
+ inputs: [
2651
+ {
2652
+ internalType: "address",
2653
+ name: "receiver",
2654
+ type: "address",
2655
+ },
2656
+ {
2657
+ internalType: "address",
2658
+ name: "YT",
2659
+ type: "address",
2660
+ },
2661
+ {
2662
+ internalType: "uint256",
2663
+ name: "netPyIn",
2664
+ type: "uint256",
2665
+ },
2666
+ {
2667
+ components: [
2668
+ {
2669
+ internalType: "address",
2670
+ name: "tokenOut",
2671
+ type: "address",
2672
+ },
2673
+ {
2674
+ internalType: "uint256",
2675
+ name: "minTokenOut",
2676
+ type: "uint256",
2677
+ },
2678
+ {
2679
+ internalType: "address",
2680
+ name: "tokenRedeemSy",
2681
+ type: "address",
2682
+ },
2683
+ {
2684
+ internalType: "address",
2685
+ name: "pendleSwap",
2686
+ type: "address",
2687
+ },
2688
+ {
2689
+ components: [
2690
+ {
2691
+ internalType: "enum SwapType",
2692
+ name: "swapType",
2693
+ type: "uint8",
2694
+ },
2695
+ {
2696
+ internalType: "address",
2697
+ name: "extRouter",
2698
+ type: "address",
2699
+ },
2700
+ {
2701
+ internalType: "bytes",
2702
+ name: "extCalldata",
2703
+ type: "bytes",
2704
+ },
2705
+ {
2706
+ internalType: "bool",
2707
+ name: "needScale",
2708
+ type: "bool",
2709
+ },
2710
+ ],
2711
+ internalType: "struct SwapData",
2712
+ name: "swapData",
2713
+ type: "tuple",
2714
+ },
2715
+ ],
2716
+ internalType: "struct TokenOutput",
2717
+ name: "output",
2718
+ type: "tuple",
2719
+ },
2720
+ ],
2721
+ name: "redeemPyToToken",
2722
+ outputs: [
2723
+ {
2724
+ internalType: "uint256",
2725
+ name: "netTokenOut",
2726
+ type: "uint256",
2727
+ },
2728
+ {
2729
+ internalType: "uint256",
2730
+ name: "netSyInterm",
2731
+ type: "uint256",
2732
+ },
2733
+ ],
2734
+ stateMutability: "nonpayable",
2735
+ type: "function",
2736
+ },
2737
+ {
2738
+ inputs: [
2739
+ {
2740
+ internalType: "address",
2741
+ name: "receiver",
2742
+ type: "address",
2743
+ },
2744
+ {
2745
+ internalType: "address",
2746
+ name: "SY",
2747
+ type: "address",
2748
+ },
2749
+ {
2750
+ internalType: "uint256",
2751
+ name: "netSyIn",
2752
+ type: "uint256",
2753
+ },
2754
+ {
2755
+ components: [
2756
+ {
2757
+ internalType: "address",
2758
+ name: "tokenOut",
2759
+ type: "address",
2760
+ },
2761
+ {
2762
+ internalType: "uint256",
2763
+ name: "minTokenOut",
2764
+ type: "uint256",
2765
+ },
2766
+ {
2767
+ internalType: "address",
2768
+ name: "tokenRedeemSy",
2769
+ type: "address",
2770
+ },
2771
+ {
2772
+ internalType: "address",
2773
+ name: "pendleSwap",
2774
+ type: "address",
2775
+ },
2776
+ {
2777
+ components: [
2778
+ {
2779
+ internalType: "enum SwapType",
2780
+ name: "swapType",
2781
+ type: "uint8",
2782
+ },
2783
+ {
2784
+ internalType: "address",
2785
+ name: "extRouter",
2786
+ type: "address",
2787
+ },
2788
+ {
2789
+ internalType: "bytes",
2790
+ name: "extCalldata",
2791
+ type: "bytes",
2792
+ },
2793
+ {
2794
+ internalType: "bool",
2795
+ name: "needScale",
2796
+ type: "bool",
2797
+ },
2798
+ ],
2799
+ internalType: "struct SwapData",
2800
+ name: "swapData",
2801
+ type: "tuple",
2802
+ },
2803
+ ],
2804
+ internalType: "struct TokenOutput",
2805
+ name: "output",
2806
+ type: "tuple",
2807
+ },
2808
+ ],
2809
+ name: "redeemSyToToken",
2810
+ outputs: [
2811
+ {
2812
+ internalType: "uint256",
2813
+ name: "netTokenOut",
2814
+ type: "uint256",
2815
+ },
2816
+ ],
2817
+ stateMutability: "nonpayable",
2818
+ type: "function",
2819
+ },
2820
+ {
2821
+ inputs: [
2822
+ {
2823
+ internalType: "address",
2824
+ name: "target",
2825
+ type: "address",
2826
+ },
2827
+ {
2828
+ internalType: "bytes",
2829
+ name: "data",
2830
+ type: "bytes",
2831
+ },
2832
+ ],
2833
+ name: "simulate",
2834
+ outputs: [],
2835
+ stateMutability: "payable",
2836
+ type: "function",
2837
+ },
2838
+ {
2839
+ inputs: [
2840
+ {
2841
+ internalType: "address",
2842
+ name: "receiver",
2843
+ type: "address",
2844
+ },
2845
+ {
2846
+ internalType: "address",
2847
+ name: "SY",
2848
+ type: "address",
2849
+ },
2850
+ {
2851
+ components: [
2852
+ {
2853
+ internalType: "address",
2854
+ name: "tokenIn",
2855
+ type: "address",
2856
+ },
2857
+ {
2858
+ internalType: "uint256",
2859
+ name: "netTokenIn",
2860
+ type: "uint256",
2861
+ },
2862
+ {
2863
+ internalType: "address",
2864
+ name: "tokenMintSy",
2865
+ type: "address",
2866
+ },
2867
+ {
2868
+ internalType: "address",
2869
+ name: "pendleSwap",
2870
+ type: "address",
2871
+ },
2872
+ {
2873
+ components: [
2874
+ {
2875
+ internalType: "enum SwapType",
2876
+ name: "swapType",
2877
+ type: "uint8",
2878
+ },
2879
+ {
2880
+ internalType: "address",
2881
+ name: "extRouter",
2882
+ type: "address",
2883
+ },
2884
+ {
2885
+ internalType: "bytes",
2886
+ name: "extCalldata",
2887
+ type: "bytes",
2888
+ },
2889
+ {
2890
+ internalType: "bool",
2891
+ name: "needScale",
2892
+ type: "bool",
2893
+ },
2894
+ ],
2895
+ internalType: "struct SwapData",
2896
+ name: "swapData",
2897
+ type: "tuple",
2898
+ },
2899
+ ],
2900
+ internalType: "struct TokenInput",
2901
+ name: "input",
2902
+ type: "tuple",
2903
+ },
2904
+ {
2905
+ internalType: "address",
2906
+ name: "tokenRedeemSy",
2907
+ type: "address",
2908
+ },
2909
+ {
2910
+ internalType: "uint256",
2911
+ name: "minTokenOut",
2912
+ type: "uint256",
2913
+ },
2914
+ ],
2915
+ name: "swapTokenToTokenViaSy",
2916
+ outputs: [
2917
+ {
2918
+ internalType: "uint256",
2919
+ name: "netTokenOut",
2920
+ type: "uint256",
2921
+ },
2922
+ {
2923
+ internalType: "uint256",
2924
+ name: "netSyInterm",
2925
+ type: "uint256",
2926
+ },
2927
+ ],
2928
+ stateMutability: "payable",
2929
+ type: "function",
2930
+ },
2931
+ {
2932
+ inputs: [
2933
+ {
2934
+ internalType: "contract IPSwapAggregator",
2935
+ name: "pendleSwap",
2936
+ type: "address",
2937
+ },
2938
+ {
2939
+ components: [
2940
+ {
2941
+ internalType: "address",
2942
+ name: "tokenIn",
2943
+ type: "address",
2944
+ },
2945
+ {
2946
+ internalType: "address",
2947
+ name: "tokenOut",
2948
+ type: "address",
2949
+ },
2950
+ {
2951
+ internalType: "uint256",
2952
+ name: "minOut",
2953
+ type: "uint256",
2954
+ },
2955
+ {
2956
+ components: [
2957
+ {
2958
+ internalType: "enum SwapType",
2959
+ name: "swapType",
2960
+ type: "uint8",
2961
+ },
2962
+ {
2963
+ internalType: "address",
2964
+ name: "extRouter",
2965
+ type: "address",
2966
+ },
2967
+ {
2968
+ internalType: "bytes",
2969
+ name: "extCalldata",
2970
+ type: "bytes",
2971
+ },
2972
+ {
2973
+ internalType: "bool",
2974
+ name: "needScale",
2975
+ type: "bool",
2976
+ },
2977
+ ],
2978
+ internalType: "struct SwapData",
2979
+ name: "swapData",
2980
+ type: "tuple",
2981
+ },
2982
+ ],
2983
+ internalType: "struct SwapDataExtra[]",
2984
+ name: "swaps",
2985
+ type: "tuple[]",
2986
+ },
2987
+ {
2988
+ internalType: "uint256[]",
2989
+ name: "netSwaps",
2990
+ type: "uint256[]",
2991
+ },
2992
+ ],
2993
+ name: "swapTokensToTokens",
2994
+ outputs: [
2995
+ {
2996
+ internalType: "uint256[]",
2997
+ name: "netOutFromSwaps",
2998
+ type: "uint256[]",
2999
+ },
3000
+ ],
3001
+ stateMutability: "payable",
3002
+ type: "function",
3003
+ },
3004
+ ];
3005
+
3006
+ const _bytecode =
3007
+ "0x6080806040523461001757615ede90816200001d8239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630741a803146101375780631a8631b2146101325780632d8f9d8d1461012d5780632e071dc614610128578063339748cb14610123578063339a55721461011e57806347f1de221461011957806360fc8466146101145780637036e0521461010f5780638354a5e51461010a5780639fa02c8614610105578063a373cf1a14610100578063a89eba4a146100fb578063bd61951d146100f6578063c2d6d65d146100f1578063d0f42385146100ec578063f06a07a0146100e75763f7e375e8146100e257600080fd5b612141565b612005565b611e24565b611d4f565b611c5c565b611b22565b611a19565b61184a565b61136a565b611260565b6110a2565b610d20565b610ab5565b610877565b61073c565b610614565b610335565b6101fb565b9181601f8401121561016d5782359167ffffffffffffffff831161016d576020808501948460051b01011161016d57565b600080fd5b73ffffffffffffffffffffffffffffffffffffffff81160361016d57565b6064359061019d82610172565b565b90815180825260208080930193019160005b8281106101bf575050505090565b8351855293810193928101926001016101b1565b90916101ea6101f89360408452604084019061019f565b91602081840391015261019f565b90565b3461016d5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016d5767ffffffffffffffff60043581811161016d5761024b90369060040161013c565b91906024359082821161016d573660238301121561016d57816004013583811161016d5736602460a083028501011161016d5760443584811161016d5761029690369060040161013c565b9161029f610190565b9360843596871161016d576102c8976102be602498369060040161013c565b98909701916123ff565b906102d8604051928392836101d3565b0390f35b359061019d82610172565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc608091011261016d5760043561031d81610172565b9060243561032a81610172565b906044359060643590565b3461016d57610343366102e7565b909273ffffffffffffffffffffffffffffffffffffffff9384841692604051947fafd27bf50000000000000000000000000000000000000000000000000000000086526020958681600481895afa91821561050157849160009361051b575b5081610506575b50506040517fdb74aa1500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482018190526024820152905085816044816000895af1958615610501576000966104d2575b5050841061046f577f52e05e4badd3463bad837f42fe3ba58c739d1b3081cff9bb6eb02a24034d455d6102d8956040519316928061045c8733958360209093929193604081019481520152565b0390a46040519081529081906020820190565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f536c6970706167653a20494e53554646494349454e545f50545f59545f4f55546044820152606490fd5b0390fd5b6104f2929650803d106104fa575b6104ea81836105ae565b810190613257565b93388061040f565b503d6104e0565b6129c1565b6105139289339116614ed7565b3882816103a9565b61053c919350883d8a11610543575b61053481836105ae565b8101906129ac565b91386103a2565b503d61052a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761059557604052565b61054a565b67ffffffffffffffff811161059557604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761059557604052565b6040519061019d82610579565b67ffffffffffffffff81116105955760051b60200190565b3461016d576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016d5760043567ffffffffffffffff811161016d573660238201121561016d57806004013590610670826105fc565b9161067e60405193846105ae565b8083526024602084019160051b8301019136831161016d57602401905b8282106106ad576106ab84612a34565b005b84809183356106bb81610172565b81520191019061069b565b908160a091031261016d5790565b9060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261016d5760043561070b81610172565b9160243561071881610172565b91604435916064359067ffffffffffffffff821161016d576101f8916004016106c6565b602061079661074a366106d4565b80949161075d60808396959601836131fd565b3561076781613792565b610770816137cb565b8061080a575061077f82612b24565b61078f8884013580923390613caf565b8585614787565b927f71c7a44161eb32e4640f6c8f0586db5f1d2e03306e2c63bb2e0f7cd0a8fc690c8135936107c485610172565b6040805173ffffffffffffffffffffffffffffffffffffffff9586168152938801356020850152830186905283169390921691339180606081015b0390a4604051908152f35b806108166003926137cb565b036108585761082482612b24565b6108348884013580923390613caf565b6108538161084185612b24565b61084d60408701612b24565b90614617565b61078f565b610861826144a1565b610853604083013561087281610172565b6145ae565b3461016d57610885366102e7565b91929073ffffffffffffffffffffffffffffffffffffffff91828516916040938451967fd94073d40000000000000000000000000000000000000000000000000000000088526020978881600481895afa8015610501578285916108f593600091610a98575b5085339116614480565b85517f2f13b60c0000000000000000000000000000000000000000000000000000000081528881600481895afa8015610501578491600091610a6b575b5015610a59575b505084517fbcb7ea5d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201529587876024816000895af196871561050157600097610a3a575b5086106109dc57845191825260208201869052919091169033907f31af33f80f4b396e3d4e42b38ecd3e022883a9bf689fd63f47afbe1d389cb6e790604090a451908152f35b84517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f536c6970706167653a20494e53554646494349454e545f53595f4f55540000006044820152606490fd5b610a52919750883d8a116104fa576104ea81836105ae565b9538610996565b610a64913387614480565b3882610939565b610a8b91508a3d8c11610a91575b610a8381836105ae565b810190612a1f565b38610932565b503d610a79565b610aaf91508c8d3d106105435761053481836105ae565b386108eb565b3461016d57610ac3366106d4565b929190600060808501610ade610ad982886131fd565b6137da565b610ae7816137cb565b80610bea57505050610afb8482848661483b565b925b60208501358410610b8b577fcd34b6ac7e4b72ab30845649aef2f4fd41945ae2dc08f625be69738bbd0f9aa96020953593610b3785610172565b73ffffffffffffffffffffffffffffffffffffffff906107ff87836040519485941698169633968460409194939273ffffffffffffffffffffffffffffffffffffffff606083019616825260208201520152565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f536c6970706167653a20494e53554646494349454e545f544f4b454e5f4f55546044820152606490fd5b80610bf66003926137cb565b03610c3b575050610c098482843061483b565b92610c2384610c1a60408801612b24565b61084d88612b24565b610c368482610c3188612b24565b614974565b610afd565b60608601610c7b610c62610c62610c5c8a888a610c5788612b24565b61483b565b93612b24565b73ffffffffffffffffffffffffffffffffffffffff1690565b90610c92610c8b60408a01612b24565b93896131fd565b92823b15610d1c576040517f2bdb823c0000000000000000000000000000000000000000000000000000000081529493859392849286928492610cd89260048501613929565b03925af1801561050157610d03575b50610cf461087285612b24565b92610c368482610c3188612b24565b80610d10610d169261059a565b8061388f565b38610ce7565b8480fd5b3461016d57610d2e366106d4565b909273ffffffffffffffffffffffffffffffffffffffff938484169060409283517fafd27bf50000000000000000000000000000000000000000000000000000000081526020968782600481885afa91821561050157600092610f86575b5085517fd94073d40000000000000000000000000000000000000000000000000000000081528881600481895afa801561050157828691610dd993600091610f69575b508c339116614480565b85517f2f13b60c0000000000000000000000000000000000000000000000000000000081528881600481895afa8015610501578591600091610f4c575b5015610f3a575b505084517fbcb7ea5d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015287816024816000895af197881561050157600098610f1b575b5050600187106109dc578697610eb6876102d898997f5f2e0499a3b6a21fd5e1fac44ac47c9aa7c3afa39076d67162a4993411d496da94866139b6565b9735610ec181610172565b610f028a8a895194859416973397859094939260609273ffffffffffffffffffffffffffffffffffffffff6080840197168352602083015260408201520152565b0390a45191825260208201929092529081906040820190565b610f32929850803d106104fa576104ea81836105ae565b953880610e79565b610f45913387614480565b3883610e1d565b610f6391508a3d8c11610a9157610a8381836105ae565b38610e16565b610f8091508c8d3d106105435761053481836105ae565b38610dcf565b610f9e919250883d8a116105435761053481836105ae565b9038610d8c565b60005b838110610fb85750506000910152565b8181015183820152602001610fa8565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209361100481518092818752878088019101610fa5565b0116010190565b6020808201908083528351809252604092604081018260408560051b8401019601946000925b858410611042575050505050505090565b909192939495968580611091837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0866001960301885286838d5180511515845201519181858201520190610fc8565b990194019401929594939190611031565b6020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016d5760043567ffffffffffffffff811161016d576110ed90369060040161013c565b916110f7836105fc565b92604061110760405195866105ae565b8185527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611134836105fc565b01906000908460005b8481106111d557505050505060005b81811061116157604051806102d8878261100b565b806111a361119e611181611178600195878a612b2e565b87810190612b6e565b919061119661119186898c612b2e565b612bbf565b923691612c03565b613b40565b6111b56111ae6105ef565b9215158352565b858201526111c382886129fc565b526111ce81876129fc565b500161114c565b82516111e081610579565b84815260608382015282828b01015201859061113d565b91602061019d92949361014081019581520190805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080910151910152565b3461016d5760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016d5760043561129b81610172565b6024356112a781610172565b67ffffffffffffffff9160a43583811161016d576112c99036906004016106c6565b9060c43593841161016d576112e56112f79436906004016106c6565b92608435916064359160443591612c91565b906102d8604051928392836111f7565b61019d90929192610120810193805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080910151910152565b3461016d5760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016d576004356113a581610172565b6024356113b181610172565b6044359160843560c43567ffffffffffffffff811161016d576113d89036906004016106c6565b906113e1612c3a565b506113ea612c3a565b9373ffffffffffffffffffffffffffffffffffffffff9081811693604051917f2c8ce6bc000000000000000000000000000000000000000000000000000000008352606083600481895afa928315610501576000936000916000916117af575b50866116fa575b8a6116e8575b61146d6064356114688d8d51613be8565b614a99565b9a60408b019b808d52806115e8575b50918a916114d26102d89d60806114c46114bc7f5d98132a999dd75863cdd284a57d3eb44c9b14d38240d22576dea4f09a73626e9c9b9a99988851613be8565b835190613bfa565b950194855251606435613bfa565b60a08d018181528451919791156115905750505061151994506115046114fe6114fa86615208565b1590565b84615b69565b90308783160361157b575b5050519088614d4b565b60e088015260c08701525b61155961154861153d602089015160608a015190613be8565b60c089015190613be8565b8061010089015260a4351115613148565b6040519416938061156c873395836111f7565b0390a460405191829182611307565b611589918784519216614974565b388061150f565b9193509150856115a6575b505050505050611524565b6115cb6115d3966115c26115bc6114fa89615208565b86615237565b338a8716614480565b51928a614add565b60e088015260c087015238808080808061159b565b916020611668898f6116179061160e60009884989e889e9d9c9b999e1680958a16614974565b51823381614480565b6040517fbcb7ea5d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8f16600482015295869283919082906024820190565b03925af1928315610501576102d89d60806114c48f967f5d98132a999dd75863cdd284a57d3eb44c9b14d38240d22576dea4f09a73626e9c6114bc916114d2966000916116c9575b5060608a01529698999a9b9c505050509d50509161147c565b6116e2915060203d6020116104fa576104ea81836105ae565b386116b0565b6116f58b33888516613caf565b611457565b6117068784338b614480565b604080517ff6b911bc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8b16600482015230602482015260448101899052908160648160008d5af180156105015760009160009161177e575b508b5260208b0152611451565b90506117a2915060403d6040116117a8575b61179a81836105ae565b810190613ba3565b38611771565b503d611790565b9150506117d591935060603d6060116117de575b6117cd81836105ae565b810190613b70565b9193913861144a565b503d6117c3565b9181601f8401121561016d5782359167ffffffffffffffff831161016d576020838186019501011161016d57565b9161183c9061182e6101f89593606086526060860190610fc8565b908482036020860152610fc8565b916040818403910152610fc8565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016d5760043561188081610172565b67ffffffffffffffff9060243582811161016d576118a29036906004016117e5565b92909160443582811161016d576118bd9036906004016117e5565b93906064359084821161016d576118f06118de6118eb9336906004016117e5565b9390946060993691612c03565b613b0a565b968091506119c6575b505073ffffffffffffffffffffffffffffffffffffffff9392611923600093611961933691612c03565b836040519687809581947fef409363000000000000000000000000000000000000000000000000000000008352602060048401526024830190610fc8565b0393165af191821561050157600092611987575b50506102d89060405193849384611813565b3d8084833e61199681836105ae565b8101926020828503126119c35781519283116119c35750916119bc916102d89301613c07565b9038611975565b80fd5b6119619297506000936119f86118eb73ffffffffffffffffffffffffffffffffffffffff989794611923943691612c03565b90509893509350819495506118f9565b9060206101f892818152019061019f565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016d57600435611a4f81610172565b67ffffffffffffffff60243581811161016d57611a7090369060040161013c565b92909160443590811161016d57611a8b90369060040161013c565b611a94856131ae565b9460005b818110611aed575060005b818110611ab857604051806102d88982611a08565b80611adc86611aca600194868b613230565b611ad584888a613247565b3590613d2b565b611ae6828a6129fc565b5201611aa3565b80611b1c611afe600193858a613230565b35611b0881610172565b611b13838789613247565b35903390613caf565b01611a98565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016d57600435611b5881610172565b60243590611b6582610172565b60443567ffffffffffffffff811161016d57611c1791611b8b60209236906004016106c6565b93611ba360643595611b9c87610172565b82806137e4565b6040517f769f8e5d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff938416600482015260248101829052958316604487015260848035606488015260019087015294938492839160009190839060a4820190565b0393165af190811561050157600091611c3d575b50604080519182526020820192909252f35b611c56915060203d6020116104fa576104ea81836105ae565b38611c2b565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016d57600435611c9281610172565b60243567ffffffffffffffff811161016d57600091611cb6839236906004016117e5565b90816040519283928337810184815203915af4611cd1613266565b906104ce6040519283927f1934afc800000000000000000000000000000000000000000000000000000000845215156004840152604060248401526044830190610fc8565b61019d9092919260a081019360808091805184526020810151602085015260408101516040850152606081015160608501520151910152565b3461016d5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016d576102d8600435611d8d81610172565b602435611d9981610172565b60643591611da5613296565b50611db4836044358484613f0a565b939050611dc960843560808601511015613148565b7f19ded113217988ae612547683a5154518a667a51ba409520760f26303a8a6f5873ffffffffffffffffffffffffffffffffffffffff80604051941694169280611e1587339583611fc6565b0390a460405191829182611d16565b611e2d366106d4565b92909173ffffffffffffffffffffffffffffffffffffffff9384821692604051927fafd27bf50000000000000000000000000000000000000000000000000000000084526020938481600481895afa801561050157611e96928592600092611fa7575b506137e4565b6040517fdb74aa1500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201819052602482015290969095848760448160008a5af196871561050157600097611f88575b50861061046f577f3193c546cf854c6a4c63afa03b04d35e4242c2761af34a4093fc5daa88dd530891611f748888611f3387612b24565b9360405195869516983398013590859094939260609273ffffffffffffffffffffffffffffffffffffffff6080840197168352602083015260408201520152565b0390a4604080519182526020820192909252f35b611fa0919750853d87116104fa576104ea81836105ae565b9538611efc565b611fbf919250873d89116105435761053481836105ae565b9038611e90565b91602061019d92949360c08101958152019060808091805184526020810151602085015260408101516040850152606081015160608501520151910152565b3461016d5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016d5760043561204081610172565b6024359061204d82610172565b6064359160843567ffffffffffffffff811161016d576120719036906004016106c6565b9161207a613296565b50826120898560443585614151565b956120b373ffffffffffffffffffffffffffffffffffffffff9384938460808b01519116876139b6565b9535906120bf82610172565b82604051951685526020850152856040850152612107606085018860808091805184526020810151602085015260408101516040850152606081015160608501520151910152565b169216907f6a5433209d35fd4b489a9e43d2bc02e9d1a24430d39be6fff13b4bb52a72a7e06101003392a46102d860405192839283611fc6565b3461016d5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016d57600480359061217e82610172565b67ffffffffffffffff60243581811161016d5761219e903690840161013c565b93909160443581811161016d576121b8903690860161013c565b909160643590811161016d576121d1903690870161013c565b94909660005b81811061235d5750505060005b8181106122a75750505060005b8281106121fa57005b612213610c62610c6261220e84878a613247565b612b24565b90600060405180937f9262187b00000000000000000000000000000000000000000000000000000000825281838161226a898c830191909173ffffffffffffffffffffffffffffffffffffffff6020820193169052565b03925af191821561050157600192612284575b50016121f1565b6122a0903d806000833e61229881836105ae565b810190613333565b503861227d565b806000856122c2610c62610c6261220e61232197898b613247565b89836040518097819582947f7d24da4d0000000000000000000000000000000000000000000000000000000084528301604060019193929373ffffffffffffffffffffffffffffffffffffffff60608201951681528260208201520152565b03925af19182156105015760019261233b575b50016121e4565b612357903d806000833e61234f81836105ae565b810190613359565b50612334565b80600087612378610c62610c6261220e6123ca97898b613247565b8b836040518097819582947fef5cfb8c000000000000000000000000000000000000000000000000000000008452830191909173ffffffffffffffffffffffffffffffffffffffff6020820193169052565b03925af1918215610501576001926123e4575b50016121d7565b6123f8903d806000833e61229881836105ae565b50386123dd565b90919293949598969860609880156000146124225750506101f89697985061341b565b93919492979850949895612435846131ae565b9761243f856131ae565b9560005b8281106128b457505050612456836131ae565b9960005b84811061273d575060005b8281106126215750505060005b8381106125f4575060005b8281106124ce5750505060005b81811061249a5750505050509190565b806124bd856124ac600194868a613230565b6124b684886129fc565b5190613e9c565b6124c782896129fc565b520161248a565b6124d8818b6129fc565b51156125ec576124ef610c6261220e83868661340b565b9060405180927fafd27bf500000000000000000000000000000000000000000000000000000000825281600460209384935afa908115610501578988888f96899089956000976125a7575b50509184939173ffffffffffffffffffffffffffffffffffffffff608061258b8a87612585606060019f846125959f9e9c6125788261257f946129fc565b519d61340b565b01612b24565b9961340b565b01359616926142ba565b61259f828d6129fc565b525b0161247d565b88809850839a8897959383839a989694903d106125e5575b6125c981836105ae565b81016125d4916129ac565b99509a93955050819395965061253a565b503d6125bf565b6001906125a1565b8061261b61260861220e600194888c613230565b61261283896129fc565b51903390613caf565b01612472565b80612635610c6261220e6000948787613247565b6040908151938480927fc4f59f9b00000000000000000000000000000000000000000000000000000000825260049384915afa9384156105015760009461270f575b506126cc6000928392612691610c6261220e888c8c613247565b91517f9262187b0000000000000000000000000000000000000000000000000000000081523391810191825294859384928391602090910190565b03925af18015610501576001938a8a8e6126ee956000956126f4575b50614210565b01612465565b61270891953d8091833e61229881836105ae565b93386126e8565b6000926127336126cc928594973d8091833e61272b81836105ae565b810190613387565b9592509250612677565b80612751610c6261220e600094898961340b565b86836127cd61276c602061276687868d61340b565b01612bbf565b9361277f8a61276688604097889361340b565b84517f7d24da4d000000000000000000000000000000000000000000000000000000008152336004808301919091529615156024820152901515604482015296879283919082906064820190565b03925af1938415610501578f600091829661288e575b50846127ee916129fc565b526127fe81612766858b8b61340b565b61280f575b5050600191500161245a565b600090612823610c6261220e868c8c61340b565b9051928380927fc4f59f9b0000000000000000000000000000000000000000000000000000000082525afa928315610501576001938a8a8e61286c956000946128735750614210565b3880612803565b61288791943d8091833e61272b81836105ae565b92386126e8565b6127ee9196506128a99086933d8091833e61234f81836105ae565b9290929691506127e3565b806128c8610c6261220e6000948787613247565b6040908151938480927fc4f59f9b00000000000000000000000000000000000000000000000000000000825260049384915afa93841561050157600094612986575b5061295f6000928392612924610c6261220e888c8c613247565b91517fef5cfb8c0000000000000000000000000000000000000000000000000000000081523391810191825294859384928391602090910190565b03925af18015610501576001938b8b8f612980956000956126f45750614210565b01612443565b6000926129a261295f928594973d8091833e61272b81836105ae565b959250925061290a565b9081602091031261016d57516101f881610172565b6040513d6000823e3d90fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8051821015612a105760209160051b010190565b6129cd565b8015150361016d57565b9081602091031261016d57516101f881612a15565b906000805b8351811015612b1e57612a6f610c62610c62612a5584886129fc565b5173ffffffffffffffffffffffffffffffffffffffff1690565b90612ae5612a80612a5583886129fc565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff90911660248201526000604482015292602091829185918290889082906064820190565b03925af192831561050157600193612b00575b505001612a39565b81612b1692903d10610a9157610a8381836105ae565b503880612af8565b50509050565b356101f881610172565b9190811015612a105760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18136030182121561016d570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561016d570180359067ffffffffffffffff821161016d5760200191813603831361016d57565b356101f881612a15565b67ffffffffffffffff811161059557601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192612c0f82612bc9565b91612c1d60405193846105ae565b82948184528183011161016d578281602093846000960137010152565b60405190610120820182811067ffffffffffffffff82111761059557604052816101006000918281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e08201520152565b929195969496939093612ca2612c3a565b50612cab612c3a565b90604051907f2c8ce6bc00000000000000000000000000000000000000000000000000000000825260608260048173ffffffffffffffffffffffffffffffffffffffff8b165afa91821561050157600099600091600094613120575b50888b878061304d575b50505080613027575b8a612d2a88611468848951613be8565b80604088015280612f1e575b50509173ffffffffffffffffffffffffffffffffffffffff96612e859492612d86612d73612d6889978c9b9a51613be8565b604088015190613bfa565b9260808701938452604087015190613bfa565b60a08601818152835191959115612ec7575050612dca9350612db3612dad6114fa85615208565b8c615b69565b903089831603612eb2575b50505189878d16614d4b565b60e083015260c08201525b612e0b8a612dfa612def6020850151606086015190613be8565b60c085015190613be8565b8061010085015286849c16896139b6565b993592612e1784610172565b846040519716875260208701528960408701526060860190805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080910151910152565b169216907fe2e505a9d93e4a8a524a95c07024bbe068fa9972f10bb08f51fd0d0c4e11834a6101803392a4565b612ec0918984519216614974565b3880612dbe565b9150915083612eda575b50505050612dd5565b612eff612f0b94612ef6612ef06114fa87615208565b85615237565b338b8616614480565b51908c8b898216614add565b60e083015260c082015238808080612ed1565b73ffffffffffffffffffffffffffffffffffffffff8085999896949a93612f526020948a9884612fb79c1694859116614974565b612f626040890151833381614480565b6000604051809a819582947fbcb7ea5d000000000000000000000000000000000000000000000000000000008452166004830191909173ffffffffffffffffffffffffffffffffffffffff6020820193169052565b03925af196871561050157612d86612d73612d6873ffffffffffffffffffffffffffffffffffffffff9b8c9b612e859a600091613008575b5060608a01529597999a5050505092948c919850612d36565b613021915060203d6020116104fa576104ea81836105ae565b38612fef565b613048813373ffffffffffffffffffffffffffffffffffffffff8516613caf565b612d1a565b82604092613076836130d9963373ffffffffffffffffffffffffffffffffffffffff8216614480565b83517ff6b911bc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216600482015230602482015260448101939093529193849283916000919083906064820190565b0393165af18015610501576000916000916130ff575b5086526020860152888b87612d11565b905061311a915060403d6040116117a85761179a81836105ae565b386130ef565b9150925061313e91995060603d6060116117de576117cd81836105ae565b9199919238612d07565b1561314f57565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f536c6970706167653a20494e53554646494349454e545f53595f4f55540000006044820152606490fd5b906131b8826105fc565b6131c560405191826105ae565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06131f382946105fc565b0190602036910137565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff818136030182121561016d570190565b90821015612a10576101f89160051b8101906131fd565b9190811015612a105760051b0190565b9081602091031261016d575190565b3d15613291573d9061327782612bc9565b9161328560405193846105ae565b82523d6000602084013e565b606090565b6040519060a0820182811067ffffffffffffffff8211176105955760405260006080838281528260208201528260408201528260608201520152565b9080601f8301121561016d578151906020916132ed816105fc565b936132fb60405195866105ae565b81855260208086019260051b82010192831161016d57602001905b828210613324575050505090565b81518152908301908301613316565b9060208282031261016d57815167ffffffffffffffff811161016d576101f892016132d2565b91909160408184031261016d57805192602082015167ffffffffffffffff811161016d576101f892016132d2565b602090818184031261016d5780519067ffffffffffffffff821161016d57019180601f8401121561016d5782516133bd816105fc565b936133cb60405195866105ae565b818552838086019260051b82010192831161016d578301905b8282106133f2575050505090565b838091835161340081610172565b8152019101906133e4565b9190811015612a105760a0020190565b95949291909561342a836131ae565b9660005b8181106137145750505060005b8281106134d25750505060005b81811061345457505050565b613465610c6261220e838587613247565b6040517f9262187b00000000000000000000000000000000000000000000000000000000815233600482015291906000908390602490829084905af1918215610501576001926134b7575b5001613448565b6134cb903d806000833e61229881836105ae565b50386134b0565b6134e3610c6261220e83868661340b565b906020916134f68361276684888861340b565b9060008061355d60409361350f85612766898d8d61340b565b85517f7d24da4d000000000000000000000000000000000000000000000000000000008152336004808301919091529715156024820152901515604482015293849283919082906064820190565b03925af1908115610501576000916136fa575b5080156136ee579082918561358c610c6261220e888c8c61340b565b8351948580927fafd27bf50000000000000000000000000000000000000000000000000000000082525afa92831561050157869373ffffffffffffffffffffffffffffffffffffffff916000916136d1575b5016906135ed81833381614480565b6135f8868a8a61340b565b60600161360490612b24565b90613610878b8b61340b565b608001359351958694859384937f769f8e5d0000000000000000000000000000000000000000000000000000000085523393850193613686949093608092959460019460a084019773ffffffffffffffffffffffffffffffffffffffff8093168552602085015216604083015260608201520152565b03915a90600091f1908115610501576001936000926136b4575b50506136ac828a6129fc565b525b0161343b565b6136ca9250803d106104fa576104ea81836105ae565b38806136a0565b6136e89150853d87116105435761053481836105ae565b386135de565b505050600191506136ae565b61370d913d8091833e61234f81836105ae565b5038613570565b613725610c6261220e838587613247565b6040517fef5cfb8c00000000000000000000000000000000000000000000000000000000815233600482015291906000908390602490829084905af191821561050157600192613777575b500161342e565b61378b903d806000833e61229881836105ae565b5038613770565b600b111561016d57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600b11156137d557565b61379c565b356101f881613792565b6101f892916137f660808401846131fd565b3561380081613792565b613809816137cb565b8061382f575061381883612b24565b613829602085013580923390613caf565b916146cf565b8061383b6003926137cb565b0361387557823561384b81610172565b61382960208501358092613860823383613caf565b61386981610172565b61084d60408801612b24565b61387e836144a1565b613829604084013561087281610172565b600091031261016d57565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561016d57016020813591019167ffffffffffffffff821161016d57813603831361016d57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b9173ffffffffffffffffffffffffffffffffffffffff8092168352602083015260606040830152823561395b81613792565b600b8110156137d5576060830152602083013561397781610172565b16608082015260c060606139a2613991604086018661389a565b608060a087015260e08601916138ea565b9301356139ae81612a15565b151591015290565b939293608085016139ca610ad982886131fd565b6139d3816137cb565b806139f45750506020926139e89286926148e6565b925b01358210610b8b57565b80613a0560039298959694986137cb565b03613a455750613a1c82613a4092602095306148e6565b8095613a3782613a2e60408701612b24565b61084d87612b24565b610c3184612b24565b6139ea565b90610c62610c62613a6785613a6d946060820198613a628a612b24565b6148e6565b95612b24565b613a83613a7c60408501612b24565b92846131fd565b90803b1561016d57613ac99460008094604051978895869485937f2bdb823c00000000000000000000000000000000000000000000000000000000855260048501613929565b03925af191821561050157602092613af7575b50613a40613aec61087283612b24565b8095610c3184612b24565b80610d10613b049261059a565b38613adc565b60008091602081519101305af490613b20613266565b90821580613b38575b613b2f57565b50805190602001fd5b506001613b29565b60008091602081519101305af491613b56613266565b9183159081613b67575b50613b2f57565b90501538613b60565b9081606091031261016d578051613b8681610172565b9160406020830151613b9781610172565b9201516101f881610172565b919082604091031261016d576020825192015190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b91908201809211613bf557565b613bb9565b91908203918211613bf557565b81601f8201121561016d578051613c1d81612bc9565b92613c2b60405194856105ae565b8184526020828401011161016d576101f89160208085019101610fa5565b3403613c5157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f657468206d69736d6174636800000000000000000000000000000000000000006044820152fd5b90919073ffffffffffffffffffffffffffffffffffffffff1680613cd8575090503403613c5157565b81613ce3575b505050565b61019d923091614ed7565b15613cf557565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b15610b8b57565b9291606084016003613d40610ad983886131fd565b613d49816137cb565b613d54811515613cee565b613d5d816137cb565b03613da157505082613d9a82613d8661019d94613d7b602098612b24565b61084d898701612b24565b9485925b61257f6040820135851015613d24565b3390614974565b613dbb613db56060612766848996996131fd565b15613cee565b613de68373ffffffffffffffffffffffffffffffffffffffff613ddd85612b24565b97168097614974565b6020820190613df761087283612b24565b95613e0b613e0485612b24565b92856131fd565b90803b1561016d57613e519560008094604051988995869485937f2bdb823c00000000000000000000000000000000000000000000000000000000855260048501613929565b03925af190811561050157602095613e7c610872613e819361019d97613d9a96613e89575b50612b24565b613bfa565b948592613d8a565b80610d10613e969261059a565b38613e76565b9291606084016003613eb1610ad983886131fd565b613eba816137cb565b613ec5811515613cee565b613ece816137cb565b03613eec57505082613d9a82613d8661019d94613d7b602098612b24565b613dbb6001613f026060612766858a979a6131fd565b151514613cee565b909391613f15613296565b9373ffffffffffffffffffffffffffffffffffffffff92838716916040908151907f2c8ce6bc000000000000000000000000000000000000000000000000000000008252606082600481885afa9485156105015760008093600097614129575b509a82614059575b505050613ff3939291613f9f8660009381602099614041575b50508a51613be8565b818a0152519586809581947fbcb7ea5d0000000000000000000000000000000000000000000000000000000083526004830191909173ffffffffffffffffffffffffffffffffffffffff6020820193169052565b0393165af180156105015761401b91600091614022575b508060608501526020840151613be8565b6080830152565b61403b915060203d6020116104fa576104ea81836105ae565b3861400a565b614052918b8916908c339116614480565b3881613f96565b91849291614070826140d596999897943384614480565b89600084518097819582947ff6b911bc0000000000000000000000000000000000000000000000000000000084528c168b6004850160409194939294606082019573ffffffffffffffffffffffffffffffffffffffff80921683521660208201520152565b03925af1801561050157602096613ff396600094613f9f938691879161410a575b508d52898d01529350968294959650613f7d565b90506141239150853d87116117a85761179a81836105ae565b386140f6565b9196505061414791925060603d6060116117de576117cd81836105ae565b9590929138613f75565b92909161415c613296565b9273ffffffffffffffffffffffffffffffffffffffff9182861695604080517f2c8ce6bc0000000000000000000000000000000000000000000000000000000081526060816004818c5afa938415610501576000996000926000966141e7575b50878b16948261405957505050613ff3939291613f9f86600093816020996140415750508a51613be8565b919a509450614205915060603d6060116117de576117cd81836105ae565b9199909194386141bc565b919294939460005b81518110156142b15761424c73ffffffffffffffffffffffffffffffffffffffff61424383856129fc565b51168486614f3f565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82146142a85761427e81896129fc565b5161428983886129fc565b51908101809111613bf5576142a0600193886129fc565b525b01614218565b600191506142a2565b50505050509050565b92946142ef9173ffffffffffffffffffffffffffffffffffffffff8294979998969916946142ea8a873381614480565b614f3f565b957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff87146143e0576040517f769f8e5d000000000000000000000000000000000000000000000000000000008152306004820152602481019190915273ffffffffffffffffffffffffffffffffffffffff919091166044820152606481019290925260016084830152909390602090859060a49082906000905af1938415610501576000946143bb575b506143b8906143b2856143ac83866129fc565b51613be8565b926129fc565b52565b6143b89194506143d99060203d6020116104fa576104ea81836105ae565b9390614399565b6040517f769f8e5d000000000000000000000000000000000000000000000000000000008152336004820152602481019190915273ffffffffffffffffffffffffffffffffffffffff9190911660448201526064810192909252600160848301529293509160209150829060a49082906000905af190811561050157600091614467575090565b6101f8915060203d6020116104fa576104ea81836105ae565b9291908261448f575b50505050565b61449893614ed7565b38808080614489565b73ffffffffffffffffffffffffffffffffffffffff6144bf82612b24565b16614581576144d16020820135613c49565b6144e3610c62610c6260608401612b24565b6144ef610c6283612b24565b614579576020820135905b61450383612b24565b9061451160808501856131fd565b93813b1561016d5760009360209161455b604051978896879586947f2bdb823c00000000000000000000000000000000000000000000000000000000865201359060048501613929565b03925af180156105015761456c5750565b80610d1061019d9261059a565b6000906144fa565b6145a9614590610c6283612b24565b61459c60608401612b24565b6020840135913390614480565b6144d1565b73ffffffffffffffffffffffffffffffffffffffff16806145ce57504790565b6020602491604051928380927f70a082310000000000000000000000000000000000000000000000000000000082523060048301525afa90811561050157600091614467575090565b73ffffffffffffffffffffffffffffffffffffffff919082168061467c575016803b1561016d576000906004604051809481937fd0e30db00000000000000000000000000000000000000000000000000000000083525af180156105015761456c5750565b915050803b1561016d576040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815260048101929092526000908290602490829084905af180156105015761456c5750565b60849060406020949501356146e381610172565b73ffffffffffffffffffffffffffffffffffffffff809481831697881560001461477c5761472581945b61471681610172565b6147208482614fb6565b610172565b60405198899788967f20e8c5650000000000000000000000000000000000000000000000000000000088521660048701526024860152604485015260006064850152165af190811561050157600091614467575090565b61472560009461470d565b6020936040608493949601359061479d82610172565b73ffffffffffffffffffffffffffffffffffffffff948591828416988915600014614830576147db81955b6147d181610172565b6147208582614fb6565b604051998a9889977f20e8c565000000000000000000000000000000000000000000000000000000008952166004880152602487015260448601526064850152165af190811561050157600091614467575090565b6147db6000956147c8565b60a49060006040936020959673ffffffffffffffffffffffffffffffffffffffff958691828416938a806148d4575b5050013561487781610172565b60405198899788967f769f8e5d0000000000000000000000000000000000000000000000000000000088521660048701526024860152166044840152816064840152600160848401525af190811561050157600091614467575090565b6148df913387614ed7565b388a61486a565b60a49060006020949560409473ffffffffffffffffffffffffffffffffffffffff80968193013561491681610172565b604051998a9889977f769f8e5d000000000000000000000000000000000000000000000000000000008952166004880152602487015216604485015282606485015260016084850152165af190811561050157600091614467575090565b8215613cde5773ffffffffffffffffffffffffffffffffffffffff1680614a0d5750600080809381935af16149a7613266565b50156149af57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6574682073656e64206661696c656400000000000000000000000000000000006044820152fd5b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff9092166024830152604482019290925261019d91614a9482606481015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018452836105ae565b615b74565b9080821015614aa6575090565b905090565b6101f8939273ffffffffffffffffffffffffffffffffffffffff60609316825260208201528160408201520190610fc8565b95939160009660009684600191614af66114fa82615208565b614cc9575b5050614b09575b5050505050565b73ffffffffffffffffffffffffffffffffffffffff979496919293959780931660409788517f70a082310000000000000000000000000000000000000000000000000000000091828252602097888380614b83896004830191909173ffffffffffffffffffffffffffffffffffffffff6020820193169052565b0381885afa978815610501578c93600099614caa575b5080614ba58489615b2c565b9385519d8e95869485937f5b709f1700000000000000000000000000000000000000000000000000000000855216916004840192614be293614aab565b0392165a90600091f197881561050157614c3a988795614c0a92600092614c89575b50613be8565b985180988194829383526004830191909173ffffffffffffffffffffffffffffffffffffffff6020820193169052565b03915afa801561050157614c6194614c5b93600092614c6c575b5050613bfa565b90613be8565b913880808080614b02565b614c829250803d106104fa576104ea81836105ae565b3880614c54565b614ca19192508c8d3d106117a85761179a81836105ae565b90509038614c04565b614cc29199508a3d8c116104fa576104ea81836105ae565b9738614b99565b929950975050614cf491935073ffffffffffffffffffffffffffffffffffffffff8516968789615888565b949298919785919899838197600014614d19575081614d1292614974565b3880614afb565b614d2292614974565b614d12565b604051600081526020810181811067ffffffffffffffff8211176105955760405290565b90939160009460009473ffffffffffffffffffffffffffffffffffffffff9182811693604051927f2c8ce6bc000000000000000000000000000000000000000000000000000000008452606084600481895afa93841561050157600094614eb3575b508194600194614dbf6114fa84615208565b614e6b575b5050505050614dd257505050565b91604091614e1d949596936000614de7614d27565b938551978895869485937f29910b1100000000000000000000000000000000000000000000000000000000855260048501614aab565b03925af18015610501576101f892600090600092614e47575b50614e419192613be8565b93613be8565b614e419250614e65915060403d6040116117a85761179a81836105ae565b91614e36565b9299509299509250614e81935016958685615888565b91979096908390868415614ea35750614e9992614974565b3880808080614dc4565b9050614eae92614974565b614e99565b614ecd91945060603d6060116117de576117cd81836105ae565b5090509238614dad565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff9283166024820152929091166044830152606482019290925261019d91614a948260848101614a68565b919060005b818110614f7357505050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90565b614f7e818386613230565b35614f8881610172565b73ffffffffffffffffffffffffffffffffffffffff808516911614614faf57600101614f44565b9250505090565b919073ffffffffffffffffffffffffffffffffffffffff8316928315612b1e576040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff831660248201526020948590829060449082905afa8015610501576b7fffffffffffffffffffffff91600091615197575b50106150545750509050565b6040517f095ea7b30000000000000000000000000000000000000000000000000000000085820190815273ffffffffffffffffffffffffffffffffffffffff84166024830152600060448301819052918291906150dc81606481015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826105ae565b519082855af16150ea613266565b81615167575b501561510957615101929350615c94565b803880612b1e565b606484604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600c60248201527f5361666520417070726f766500000000000000000000000000000000000000006044820152fd5b8051801592508690831561517f575b505050386150f0565b61518f9350820181019101612a1f565b388581615176565b6151ae9150863d88116104fa576104ea81836105ae565b38615048565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561016d570180359067ffffffffffffffff821161016d57602001918160051b3603831361016d57565b61521560408201826151b4565b9050159081615222575090565b615231915060608101906151b4565b90501590565b9015610c6257503090565b9060808282031261016d57815192602083015192604081015192606082015167ffffffffffffffff811161016d576101f89201613c07565b6004111561016d57565b359061019d8261527a565b600411156137d557565b906143b88261528f565b9594929093919360a0948060a0890160a08a525260c09560c089019260c08360051b8b01019781946000925b85841061534c5750505050505050918594939161530b61533e9460206101f899019073ffffffffffffffffffffffffffffffffffffffff169052565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff604087015285830360608701526138ea565b916080818403910152610fc8565b909192939495997fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff408d82030183528a357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18336030181121561016d57820160609080357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe818236030181121561016d578101928281528335838201526020938493608091858101358385015260409283928d8484013590870152820161541090615284565b8b860161541c91615299565b8101615427906102dc565b9060e09182860161544c9173ffffffffffffffffffffffffffffffffffffffff169052565b615457818e016102dc565b6101009081870161547c9173ffffffffffffffffffffffffffffffffffffffff169052565b615487828d016102dc565b92610120938488016154ad9173ffffffffffffffffffffffffffffffffffffffff169052565b82016154b8906102dc565b610140908188016154dd9173ffffffffffffffffffffffffffffffffffffffff169052565b610160918301358288015261018093830135848801528201356101a087015281016155079161389a565b90916101c08601526101e085019061551e926138ea565b61552a8587018661389a565b8583038887015261553b92916138ea565b9301359101529b01969594600101939201906152cf565b959391979694929060a0988060a0890160a08a525260c09960c089019260c08360051b8b01019b81946000925b8584106155cd57505050505050509161533e93916155bb6101f8989994602089019073ffffffffffffffffffffffffffffffffffffffff169052565b604087015285830360608701526138ea565b9091929394959d8e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff408e8303018452357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18336030181121561016d57820160609080357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe818236030181121561016d578101928281528335838201526020938493608091858101358385015260409283928d8484013590870152820161569190615284565b8b860161569d91615299565b81016156a8906102dc565b9060e0918286016156cd9173ffffffffffffffffffffffffffffffffffffffff169052565b6156d8818e016102dc565b610100908187016156fd9173ffffffffffffffffffffffffffffffffffffffff169052565b615708828d016102dc565b926101209384880161572e9173ffffffffffffffffffffffffffffffffffffffff169052565b8201615739906102dc565b6101409081880161575e9173ffffffffffffffffffffffffffffffffffffffff169052565b610160918301358288015261018093830135848801528201356101a087015281016157889161389a565b90916101c08601526101e085019061579f926138ea565b6157ab8587018661389a565b858303888701526157bc92916138ea565b9301359101529f019695946001019392019061557f565b9015612a10578035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18136030182121561016d570190565b9035907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe818136030182121561016d570190565b356101f88161527a565b60808101959490936060939261585e8161528f565b855273ffffffffffffffffffffffffffffffffffffffff8093166020860152604085015216910152565b919390936000936000809461589f610c6284612b24565b908498604085016158b081876151b4565b9050615a3f575b505060608401906158c882866151b4565b90506158e7575b505050509060206158e292013590615dbe565b841190565b899893959497999261596b8773ffffffffffffffffffffffffffffffffffffffff8b6159b38761597d9761593360a061257f61592d6159278a9e896151b4565b906157d3565b8061580c565b988992614a6861595e615957606061595161592d615927878d6151b4565b0161583f565b92886151b4565b9a90976080810190612b6e565b94909e60405196879460208601615849565b6040519a8b998a9889967f6122b173000000000000000000000000000000000000000000000000000000008852600488016152a3565b0393165af180156105015784602093615a00936158e297928094615a0a575b50506159f46159ed8487806159fa9697518301019101613ba3565b9092613be8565b99613bfa565b98613be8565b94919238806158cf565b6159ed94506159fa93506159f491615a33913d8091833e615a2b81836105ae565b810190615242565b969250905093506159d2565b84995084939a5082985091869273ffffffffffffffffffffffffffffffffffffffff9283615a6c89612b24565b911690615a7891614fb6565b615a8290876151b4565b909a90615a926080890189612b6e565b615a9d9d919d614d27565b906040519e8f98899788967f6122b1730000000000000000000000000000000000000000000000000000000088526004880196615ad997615552565b03928c165af1968715610501578182978399615b05575b50615afc909785613bfa565b979538806158b7565b9050615afc9850615b219197503d8084833e615a2b81836105ae565b509890979190615af0565b9190604051608081019080821067ffffffffffffffff83111761059557606091604052818152602081019482368737600182965260408201520152565b90156101f857503090565b604051615bdf9173ffffffffffffffffffffffffffffffffffffffff16615b9a82610579565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af1615bd9613266565b91615ddc565b805190828215928315615c7c575b50505015615bf85750565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b615c8c9350820181019101612a1f565b388281615bed565b6040517f095ea7b3000000000000000000000000000000000000000000000000000000006020820190815273ffffffffffffffffffffffffffffffffffffffff90931660248201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60448201526000928392918390615d1781606481016150b0565b51925af1615d23613266565b81615d8f575b5015615d3157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f5361666520417070726f766500000000000000000000000000000000000000006044820152fd5b8051801592508215615da4575b505038615d29565b615db79250602080918301019101612a1f565b3880615d9c565b818102918183041490151715613bf557670de0b6b3a7640000900490565b91929015615e575750815115615df0575090565b3b15615df95790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015615e6a5750805190602001fd5b6104ce906040519182917f08c379a0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610fc856fea264697066735822122045adf7442956a6c2f2e309c7d6551e13b448e170c9b3f8e3c9f5a41b7fed7e2664736f6c63430008170033";
3008
+
3009
+ type ActionMiscV3ConstructorParams =
3010
+ | [signer?: Signer]
3011
+ | ConstructorParameters<typeof ContractFactory>;
3012
+
3013
+ const isSuperArgs = (
3014
+ xs: ActionMiscV3ConstructorParams
3015
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
3016
+
3017
+ export class ActionMiscV3__factory extends ContractFactory {
3018
+ constructor(...args: ActionMiscV3ConstructorParams) {
3019
+ if (isSuperArgs(args)) {
3020
+ super(...args);
3021
+ } else {
3022
+ super(_abi, _bytecode, args[0]);
3023
+ }
3024
+ this.contractName = "ActionMiscV3";
3025
+ }
3026
+
3027
+ deploy(
3028
+ overrides?: Overrides & { from?: string | Promise<string> }
3029
+ ): Promise<ActionMiscV3> {
3030
+ return super.deploy(overrides || {}) as Promise<ActionMiscV3>;
3031
+ }
3032
+ getDeployTransaction(
3033
+ overrides?: Overrides & { from?: string | Promise<string> }
3034
+ ): TransactionRequest {
3035
+ return super.getDeployTransaction(overrides || {});
3036
+ }
3037
+ attach(address: string): ActionMiscV3 {
3038
+ return super.attach(address) as ActionMiscV3;
3039
+ }
3040
+ connect(signer: Signer): ActionMiscV3__factory {
3041
+ return super.connect(signer) as ActionMiscV3__factory;
3042
+ }
3043
+ static readonly contractName: "ActionMiscV3";
3044
+ public readonly contractName: "ActionMiscV3";
3045
+ static readonly bytecode = _bytecode;
3046
+ static readonly abi = _abi;
3047
+ static createInterface(): ActionMiscV3Interface {
3048
+ return new utils.Interface(_abi) as ActionMiscV3Interface;
3049
+ }
3050
+ static connect(
3051
+ address: string,
3052
+ signerOrProvider: Signer | Provider
3053
+ ): ActionMiscV3 {
3054
+ return new Contract(address, _abi, signerOrProvider) as ActionMiscV3;
3055
+ }
3056
+ }