@pendle/core-v2 5.3.1 → 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 (244) 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/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  28. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +0 -37
  29. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  30. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  31. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  32. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  33. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  34. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  35. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  36. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  37. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  38. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  39. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  40. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  41. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  42. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -39
  43. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  44. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  45. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +4 -0
  46. 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
  47. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +4 -0
  48. 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
  49. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  50. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  51. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -39
  52. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  53. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -117
  54. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  55. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -39
  56. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  57. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -39
  58. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  59. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -39
  60. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  61. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -181
  62. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  63. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  64. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  65. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  66. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  67. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  68. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  69. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  70. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
  71. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  72. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  73. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  74. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  75. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +4 -0
  76. package/build/artifacts/contracts/router/math/{MarketApproxLib.sol/MarketApproxPtInLib.json → MarketApproxLibV2.sol/MarketApproxPtInLibV2.json} +4 -4
  77. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +4 -0
  78. package/build/artifacts/contracts/router/math/{MarketApproxLib.sol/MarketApproxPtOutLib.json → MarketApproxLibV2.sol/MarketApproxPtOutLibV2.json} +4 -4
  79. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  80. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  81. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  82. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  83. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  84. package/contracts/interfaces/IPActionAddRemoveLiqV3.sol +1 -1
  85. package/contracts/interfaces/IPActionMarketAuxStatic.sol +2 -1
  86. package/contracts/interfaces/IPActionMiscV3.sol +1 -7
  87. package/contracts/interfaces/IPActionStorageStatic.sol +1 -1
  88. package/contracts/interfaces/IPActionSwapPTV3.sol +1 -1
  89. package/contracts/interfaces/IPActionSwapYTV3.sol +1 -17
  90. package/contracts/interfaces/IPActionVePendleStatic.sol +1 -0
  91. package/contracts/interfaces/IPAllEventsV3.sol +0 -8
  92. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +2 -2
  93. package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +8 -7
  94. package/contracts/{router/math/MarketApproxLib.sol → offchain-helpers/router-static/base/MarketApproxLibV1.sol} +13 -13
  95. package/contracts/offchain-helpers/router-static/base/StorageLayout.sol +1 -1
  96. package/contracts/router/ActionAddRemoveLiqV3.sol +4 -4
  97. package/contracts/router/ActionMiscV3.sol +0 -14
  98. package/contracts/router/ActionSwapYTV3.sol +2 -65
  99. package/contracts/router/base/ActionBase.sol +5 -6
  100. package/contracts/router/math/MarketApproxLibV2.sol +479 -0
  101. package/contracts/router/swap-aggregator/IPSwapAggregator.sol +8 -1
  102. package/contracts/router/swap-aggregator/PendleSwap.sol +0 -2
  103. package/deployments/1-core.json +5 -5
  104. package/package.json +1 -1
  105. package/typechain-types/ActionAddRemoveLiqV3.ts +2000 -0
  106. package/typechain-types/ActionInfoStatic.ts +310 -0
  107. package/typechain-types/ActionMarketAuxStatic.ts +903 -0
  108. package/typechain-types/ActionMarketCoreStatic.ts +1974 -0
  109. package/typechain-types/ActionMintRedeemStatic.ts +435 -0
  110. package/typechain-types/ActionMiscV3.ts +2213 -0
  111. package/typechain-types/ActionSimple.ts +1544 -0
  112. package/typechain-types/ActionStorageStatic.ts +1345 -0
  113. package/typechain-types/ActionStorageV4.ts +1270 -0
  114. package/typechain-types/ActionSwapPTV3.ts +1507 -0
  115. package/typechain-types/ActionSwapYTV3.ts +1507 -0
  116. package/typechain-types/ActionVePendleStatic.ts +113 -0
  117. package/typechain-types/IKyberScalingHelper.ts +108 -0
  118. package/typechain-types/IOdosRouterV2.ts +147 -0
  119. package/typechain-types/IPActionAddRemoveLiqV3.ts +2000 -0
  120. package/typechain-types/IPActionAddRemoveLiqV3Events.ts +499 -0
  121. package/typechain-types/IPActionMarketAuxStatic.ts +859 -0
  122. package/typechain-types/IPActionMiscV3.ts +2213 -0
  123. package/typechain-types/IPActionMiscV3Events.ts +463 -0
  124. package/typechain-types/IPActionSimple.ts +1544 -0
  125. package/typechain-types/IPActionStorageEvents.ts +97 -0
  126. package/typechain-types/IPActionStorageStatic.ts +1268 -0
  127. package/typechain-types/IPActionStorageV4.ts +1270 -0
  128. package/typechain-types/IPActionSwapPTV3.ts +1507 -0
  129. package/typechain-types/IPActionSwapPTV3Events.ts +125 -0
  130. package/typechain-types/IPActionSwapYTV3.ts +1507 -0
  131. package/typechain-types/IPActionSwapYTV3Events.ts +125 -0
  132. package/typechain-types/IPActionVePendleStatic.ts +113 -0
  133. package/typechain-types/IPAllActionV3.ts +4210 -0
  134. package/typechain-types/IPAllEventsV3.ts +1080 -0
  135. package/typechain-types/IPRouterStatic.ts +4633 -0
  136. package/typechain-types/IPSwapAggregator.ts +187 -0
  137. package/typechain-types/PendlePoolDeployHelper.ts +342 -0
  138. package/typechain-types/PendleRouterStatic.ts +57 -0
  139. package/typechain-types/PendleRouterV4.ts +57 -0
  140. package/typechain-types/PendleSwap.ts +208 -0
  141. package/typechain-types/Reflector.ts +95 -0
  142. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +3533 -0
  143. package/typechain-types/factories/ActionInfoStatic__factory.ts +360 -0
  144. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +780 -0
  145. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1449 -0
  146. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +304 -0
  147. package/typechain-types/factories/ActionMiscV3__factory.ts +3056 -0
  148. package/typechain-types/factories/ActionSimple__factory.ts +1939 -0
  149. package/typechain-types/factories/ActionStorageStatic__factory.ts +1576 -0
  150. package/typechain-types/factories/ActionStorageV4__factory.ts +1504 -0
  151. package/typechain-types/factories/ActionSwapPTV3__factory.ts +2556 -0
  152. package/typechain-types/factories/ActionSwapYTV3__factory.ts +2556 -0
  153. package/typechain-types/factories/ActionVePendleStatic__factory.ts +155 -0
  154. package/typechain-types/factories/IKyberScalingHelper__factory.ts +55 -0
  155. package/typechain-types/factories/IOdosRouterV2__factory.ts +94 -0
  156. package/typechain-types/factories/IPActionAddRemoveLiqV3Events__factory.ts +582 -0
  157. package/typechain-types/factories/IPActionAddRemoveLiqV3__factory.ts +3421 -0
  158. package/typechain-types/factories/IPActionMarketAuxStatic__factory.ts +622 -0
  159. package/typechain-types/factories/IPActionMiscV3Events__factory.ts +608 -0
  160. package/typechain-types/factories/IPActionMiscV3__factory.ts +3005 -0
  161. package/typechain-types/factories/IPActionSimple__factory.ts +1840 -0
  162. package/typechain-types/factories/IPActionStorageEvents__factory.ts +68 -0
  163. package/typechain-types/factories/IPActionStorageStatic__factory.ts +1498 -0
  164. package/typechain-types/factories/IPActionStorageV4__factory.ts +1466 -0
  165. package/typechain-types/factories/IPActionSwapPTV3Events__factory.ts +116 -0
  166. package/typechain-types/factories/IPActionSwapPTV3__factory.ts +2454 -0
  167. package/typechain-types/factories/IPActionSwapYTV3Events__factory.ts +116 -0
  168. package/typechain-types/factories/IPActionSwapYTV3__factory.ts +2454 -0
  169. package/typechain-types/factories/IPActionVePendleStatic__factory.ts +59 -0
  170. package/typechain-types/factories/IPAllActionV3__factory.ts +7860 -0
  171. package/typechain-types/factories/IPAllEventsV3__factory.ts +1363 -0
  172. package/typechain-types/factories/IPRouterStatic__factory.ts +3956 -0
  173. package/typechain-types/factories/IPSwapAggregator__factory.ts +136 -0
  174. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +345 -0
  175. package/typechain-types/factories/PendleRouterStatic__factory.ts +88 -0
  176. package/typechain-types/factories/PendleRouterV4__factory.ts +96 -0
  177. package/typechain-types/factories/PendleSwap__factory.ts +188 -0
  178. package/typechain-types/factories/Reflector__factory.ts +84 -0
  179. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +0 -4
  180. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +0 -4
  181. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +0 -4
  182. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.json +0 -65
  183. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutorOptimistic.sol/IAggregationExecutorOptimistic.dbg.json +0 -4
  184. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutorOptimistic.sol/IAggregationExecutorOptimistic.json +0 -194
  185. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelper.sol/IExecutorHelper.dbg.json +0 -4
  186. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelper.sol/IExecutorHelper.json +0 -1787
  187. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2.sol/IExecutorHelperL2.dbg.json +0 -4
  188. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2.sol/IExecutorHelperL2.json +0 -2873
  189. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2Struct.sol/IExecutorHelperL2Struct.dbg.json +0 -4
  190. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2Struct.sol/IExecutorHelperL2Struct.json +0 -10
  191. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperStruct.sol/IExecutorHelperStruct.dbg.json +0 -4
  192. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperStruct.sol/IExecutorHelperStruct.json +0 -10
  193. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +0 -4
  194. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json +0 -215
  195. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IBebopV3.sol/IBebopV3.dbg.json +0 -4
  196. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IBebopV3.sol/IBebopV3.json +0 -10
  197. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IKyberDSLO.sol/IKyberDSLO.dbg.json +0 -4
  198. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IKyberDSLO.sol/IKyberDSLO.json +0 -10
  199. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IKyberLO.sol/IKyberLO.dbg.json +0 -4
  200. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IKyberLO.sol/IKyberLO.json +0 -10
  201. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l1-contracts/InputScalingHelper.sol/InputScalingHelper.dbg.json +0 -4
  202. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l1-contracts/InputScalingHelper.sol/InputScalingHelper.json +0 -10
  203. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l1-contracts/ScalingDataLib.sol/ScalingDataLib.dbg.json +0 -4
  204. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/BytesHelper.sol/BytesHelper.dbg.json +0 -4
  205. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataReader.sol/CalldataReader.dbg.json +0 -4
  206. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataReader.sol/CalldataReader.json +0 -10
  207. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataWriter.sol/CalldataWriter.dbg.json +0 -4
  208. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataWriter.sol/CalldataWriter.json +0 -10
  209. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/Common.sol/Common.dbg.json +0 -4
  210. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/Common.sol/Common.json +0 -10
  211. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/DexScaler.sol/DexScaler.dbg.json +0 -4
  212. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/DexScaler.sol/DexScaler.json +0 -10
  213. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ExecutorReader.sol/ExecutorReader.dbg.json +0 -4
  214. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ExecutorReader.sol/ExecutorReader.json +0 -10
  215. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/InputScalingHelperL2.sol/InputScalingHelperL2.dbg.json +0 -4
  216. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/InputScalingHelperL2.sol/InputScalingHelperL2.json +0 -10
  217. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ScalingDataL2Lib.sol/ScalingDataL2Lib.dbg.json +0 -4
  218. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ScalingDataL2Lib.sol/ScalingDataL2Lib.json +0 -10
  219. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/libraries/BytesHelper.sol/BytesHelper.dbg.json +0 -4
  220. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/libraries/BytesHelper.sol/BytesHelper.json +0 -10
  221. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/libraries/RevertReasonParser.sol/RevertReasonParser.dbg.json +0 -4
  222. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/libraries/RevertReasonParser.sol/RevertReasonParser.json +0 -10
  223. package/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol +0 -31
  224. package/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutorOptimistic.sol +0 -63
  225. package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelper.sol +0 -164
  226. package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2.sol +0 -483
  227. package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2Struct.sol +0 -412
  228. package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperStruct.sol +0 -459
  229. package/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol +0 -47
  230. package/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IBebopV3.sol +0 -23
  231. package/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IKyberDSLO.sol +0 -36
  232. package/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IKyberLO.sol +0 -32
  233. package/contracts/router/swap-aggregator/kyberswap/l1-contracts/InputScalingHelper.sol +0 -354
  234. package/contracts/router/swap-aggregator/kyberswap/l1-contracts/ScalingDataLib.sol +0 -521
  235. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/BytesHelper.sol +0 -93
  236. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataReader.sol +0 -404
  237. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataWriter.sol +0 -118
  238. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/Common.sol +0 -41
  239. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/DexScaler.sol +0 -684
  240. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/ExecutorReader.sol +0 -61
  241. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/InputScalingHelperL2.sol +0 -373
  242. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/ScalingDataL2Lib.sol +0 -273
  243. package/contracts/router/swap-aggregator/kyberswap/libraries/BytesHelper.sol +0 -32
  244. package/contracts/router/swap-aggregator/kyberswap/libraries/RevertReasonParser.sol +0 -75
@@ -0,0 +1,360 @@
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 {
7
+ ActionInfoStatic,
8
+ ActionInfoStaticInterface,
9
+ } from "../ActionInfoStatic";
10
+
11
+ const _abi = [
12
+ {
13
+ inputs: [
14
+ {
15
+ internalType: "address",
16
+ name: "py",
17
+ type: "address",
18
+ },
19
+ ],
20
+ name: "getPY",
21
+ outputs: [
22
+ {
23
+ internalType: "address",
24
+ name: "pt",
25
+ type: "address",
26
+ },
27
+ {
28
+ internalType: "address",
29
+ name: "yt",
30
+ type: "address",
31
+ },
32
+ ],
33
+ stateMutability: "view",
34
+ type: "function",
35
+ },
36
+ {
37
+ inputs: [
38
+ {
39
+ internalType: "address",
40
+ name: "token",
41
+ type: "address",
42
+ },
43
+ ],
44
+ name: "getTokensInOut",
45
+ outputs: [
46
+ {
47
+ internalType: "address[]",
48
+ name: "tokensIn",
49
+ type: "address[]",
50
+ },
51
+ {
52
+ internalType: "address[]",
53
+ name: "tokensOut",
54
+ type: "address[]",
55
+ },
56
+ ],
57
+ stateMutability: "view",
58
+ type: "function",
59
+ },
60
+ {
61
+ inputs: [
62
+ {
63
+ internalType: "address",
64
+ name: "market",
65
+ type: "address",
66
+ },
67
+ {
68
+ internalType: "address",
69
+ name: "user",
70
+ type: "address",
71
+ },
72
+ ],
73
+ name: "getUserMarketInfo",
74
+ outputs: [
75
+ {
76
+ components: [
77
+ {
78
+ components: [
79
+ {
80
+ internalType: "address",
81
+ name: "token",
82
+ type: "address",
83
+ },
84
+ {
85
+ internalType: "uint256",
86
+ name: "amount",
87
+ type: "uint256",
88
+ },
89
+ ],
90
+ internalType: "struct IPActionInfoStatic.TokenAmount",
91
+ name: "lpBalance",
92
+ type: "tuple",
93
+ },
94
+ {
95
+ components: [
96
+ {
97
+ internalType: "address",
98
+ name: "token",
99
+ type: "address",
100
+ },
101
+ {
102
+ internalType: "uint256",
103
+ name: "amount",
104
+ type: "uint256",
105
+ },
106
+ ],
107
+ internalType: "struct IPActionInfoStatic.TokenAmount",
108
+ name: "ptBalance",
109
+ type: "tuple",
110
+ },
111
+ {
112
+ components: [
113
+ {
114
+ internalType: "address",
115
+ name: "token",
116
+ type: "address",
117
+ },
118
+ {
119
+ internalType: "uint256",
120
+ name: "amount",
121
+ type: "uint256",
122
+ },
123
+ ],
124
+ internalType: "struct IPActionInfoStatic.TokenAmount",
125
+ name: "syBalance",
126
+ type: "tuple",
127
+ },
128
+ {
129
+ components: [
130
+ {
131
+ internalType: "address",
132
+ name: "token",
133
+ type: "address",
134
+ },
135
+ {
136
+ internalType: "uint256",
137
+ name: "amount",
138
+ type: "uint256",
139
+ },
140
+ ],
141
+ internalType: "struct IPActionInfoStatic.TokenAmount[]",
142
+ name: "unclaimedRewards",
143
+ type: "tuple[]",
144
+ },
145
+ ],
146
+ internalType: "struct IPActionInfoStatic.UserMarketInfo",
147
+ name: "res",
148
+ type: "tuple",
149
+ },
150
+ ],
151
+ stateMutability: "nonpayable",
152
+ type: "function",
153
+ },
154
+ {
155
+ inputs: [
156
+ {
157
+ internalType: "address",
158
+ name: "py",
159
+ type: "address",
160
+ },
161
+ {
162
+ internalType: "address",
163
+ name: "user",
164
+ type: "address",
165
+ },
166
+ ],
167
+ name: "getUserPYInfo",
168
+ outputs: [
169
+ {
170
+ components: [
171
+ {
172
+ components: [
173
+ {
174
+ internalType: "address",
175
+ name: "token",
176
+ type: "address",
177
+ },
178
+ {
179
+ internalType: "uint256",
180
+ name: "amount",
181
+ type: "uint256",
182
+ },
183
+ ],
184
+ internalType: "struct IPActionInfoStatic.TokenAmount",
185
+ name: "ptBalance",
186
+ type: "tuple",
187
+ },
188
+ {
189
+ components: [
190
+ {
191
+ internalType: "address",
192
+ name: "token",
193
+ type: "address",
194
+ },
195
+ {
196
+ internalType: "uint256",
197
+ name: "amount",
198
+ type: "uint256",
199
+ },
200
+ ],
201
+ internalType: "struct IPActionInfoStatic.TokenAmount",
202
+ name: "ytBalance",
203
+ type: "tuple",
204
+ },
205
+ {
206
+ components: [
207
+ {
208
+ internalType: "address",
209
+ name: "token",
210
+ type: "address",
211
+ },
212
+ {
213
+ internalType: "uint256",
214
+ name: "amount",
215
+ type: "uint256",
216
+ },
217
+ ],
218
+ internalType: "struct IPActionInfoStatic.TokenAmount",
219
+ name: "unclaimedInterest",
220
+ type: "tuple",
221
+ },
222
+ {
223
+ components: [
224
+ {
225
+ internalType: "address",
226
+ name: "token",
227
+ type: "address",
228
+ },
229
+ {
230
+ internalType: "uint256",
231
+ name: "amount",
232
+ type: "uint256",
233
+ },
234
+ ],
235
+ internalType: "struct IPActionInfoStatic.TokenAmount[]",
236
+ name: "unclaimedRewards",
237
+ type: "tuple[]",
238
+ },
239
+ ],
240
+ internalType: "struct IPActionInfoStatic.UserPYInfo",
241
+ name: "res",
242
+ type: "tuple",
243
+ },
244
+ ],
245
+ stateMutability: "nonpayable",
246
+ type: "function",
247
+ },
248
+ {
249
+ inputs: [
250
+ {
251
+ internalType: "address",
252
+ name: "sy",
253
+ type: "address",
254
+ },
255
+ {
256
+ internalType: "address",
257
+ name: "user",
258
+ type: "address",
259
+ },
260
+ ],
261
+ name: "getUserSYInfo",
262
+ outputs: [
263
+ {
264
+ components: [
265
+ {
266
+ components: [
267
+ {
268
+ internalType: "address",
269
+ name: "token",
270
+ type: "address",
271
+ },
272
+ {
273
+ internalType: "uint256",
274
+ name: "amount",
275
+ type: "uint256",
276
+ },
277
+ ],
278
+ internalType: "struct IPActionInfoStatic.TokenAmount",
279
+ name: "syBalance",
280
+ type: "tuple",
281
+ },
282
+ {
283
+ components: [
284
+ {
285
+ internalType: "address",
286
+ name: "token",
287
+ type: "address",
288
+ },
289
+ {
290
+ internalType: "uint256",
291
+ name: "amount",
292
+ type: "uint256",
293
+ },
294
+ ],
295
+ internalType: "struct IPActionInfoStatic.TokenAmount[]",
296
+ name: "unclaimedRewards",
297
+ type: "tuple[]",
298
+ },
299
+ ],
300
+ internalType: "struct IPActionInfoStatic.UserSYInfo",
301
+ name: "res",
302
+ type: "tuple",
303
+ },
304
+ ],
305
+ stateMutability: "nonpayable",
306
+ type: "function",
307
+ },
308
+ ];
309
+
310
+ const _bytecode =
311
+ "0x608060405234801561001057600080fd5b50611240806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806316929b7e1461005c578063227501f514610086578063372cfb93146100b95780636ce43709146100d95780639225afd6146100f9575b600080fd5b61006f61006a366004610cc0565b61010c565b60405161007d929190610d22565b60405180910390f35b610099610094366004610cc0565b61045a565b604080516001600160a01b0393841681529290911660208301520161007d565b6100cc6100c7366004610d50565b61052d565b60405161007d9190610e30565b6100ec6100e7366004610d50565b6107ba565b60405161007d9190610e43565b6100cc610107366004610d50565b6108ea565b606080826001600160a01b031663213cae636040518163ffffffff1660e01b8152600401600060405180830381865afa92505050801561016e57506040513d6000823e601f3d908101601f1916820160405261016b9190810190610f11565b60015b156101e45780846001600160a01b031663071bc3c96040518163ffffffff1660e01b8152600401600060405180830381865afa1580156101b2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101da9190810190610f11565b9250925050915091565b826001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561023e575060408051601f3d908101601f1916820190925261023b91810190610faf565b60015b156102e757806001600160a01b031663213cae636040518163ffffffff1660e01b8152600401600060405180830381865afa158015610281573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102a99190810190610f11565b816001600160a01b031663071bc3c96040518163ffffffff1660e01b8152600401600060405180830381865afa1580156101b2573d6000803e3d6000fd5b826001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa925050508015610341575060408051601f3d908101601f1916820190925261033e91810190610fcc565b60015b1561041e57826001600160a01b031663213cae636040518163ffffffff1660e01b8152600401600060405180830381865afa158015610384573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103ac9190810190610f11565b836001600160a01b031663071bc3c96040518163ffffffff1660e01b8152600401600060405180830381865afa1580156103ea573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104129190810190610f11565b94509450505050915091565b60405162461bcd60e51b815260206004820152600d60248201526c34b73b30b634b2103a37b5b2b760991b604482015260640160405180910390fd5b600080826001600160a01b031663d94073d46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104b7575060408051601f3d908101601f191682019092526104b491810190610faf565b60015b61052757829150826001600160a01b031663781c18db6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105209190610faf565b9050915091565b93915050565b610535610c48565b604051639e48767360e01b815283906000903090639e4876739061055d908590600401611019565b61012060405180830381865afa15801561057b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059f919061102d565b905080604001516000036105b45750506107b4565b600080836001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156105f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106199190610fcc565b5091509150600061062a8888610af2565b6040850151855191925060009161064190846110af565b61064b91906110d4565b90506000856040015186602001518461066491906110af565b61066e91906110d4565b6040805180820182526001600160a01b03808e1682526020808301889052918c528251808401845288821681528083018790528c8301528251808401845289821681529182018490528b8301919091529051639262187b60e01b815291925060009190891690639262187b906106e8908d90600401611019565b6000604051808303816000875af1158015610707573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261072f9190810190611160565b90506000886001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610771573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107999190810190610f11565b90506107a58183610b69565b60608b01525050505050505050505b92915050565b6107c2610c82565b60008390506040518060400160405280856001600160a01b031681526020016107eb8686610af2565b90528252604051633bd73ee360e21b81526000906001600160a01b0383169063ef5cfb8c9061081e908790600401611019565b6000604051808303816000875af115801561083d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108659190810190611160565b90506000826001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156108a7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108cf9190810190610f11565b90506108db8183610b69565b60208501525091949350505050565b6108f2610c48565b6000806108fe8561045a565b9150915060008190506040518060400160405280836001600160a01b0316815260200161092b8488610af2565b81525084602001819052506040518060400160405280846001600160a01b0316815260200161095a8588610af2565b90528452604051637d24da4d60e01b81526001600160a01b03868116600483015260016024830181905260448301526000918291841690637d24da4d906064016000604051808303816000875af11580156109b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109e19190810190611194565b915091506040518060400160405280846001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a529190610faf565b6001600160a01b031681526020018381525086604001819052506000836001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610aac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ad49190810190610f11565b9050610ae08183610b69565b60608801525094979650505050505050565b6040516370a0823160e01b81526000906001600160a01b038416906370a0823190610b21908590600401611019565b602060405180830381865afa158015610b3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6291906111db565b9392505050565b606082516001600160401b03811115610b8457610b84610e6f565b604051908082528060200260200182016040528015610bbd57816020015b610baa610c91565b815260200190600190039081610ba25790505b50905060005b8351811015610c41576040518060400160405280858381518110610be957610be96111f4565b60200260200101516001600160a01b03168152602001848381518110610c1157610c116111f4565b6020026020010151815250828281518110610c2e57610c2e6111f4565b6020908102919091010152600101610bc3565b5092915050565b6040518060800160405280610c5b610c91565b8152602001610c68610c91565b8152602001610c75610c91565b8152602001606081525090565b6040518060400160405280610c755b604080518082019091526000808252602082015290565b6001600160a01b0381168114610cbd57600080fd5b50565b600060208284031215610cd257600080fd5b8135610b6281610ca8565b60008151808452602080850194506020840160005b83811015610d175781516001600160a01b031687529582019590820190600101610cf2565b509495945050505050565b604081526000610d356040830185610cdd565b8281036020840152610d478185610cdd565b95945050505050565b60008060408385031215610d6357600080fd5b8235610d6e81610ca8565b91506020830135610d7e81610ca8565b809150509250929050565b80516001600160a01b03168252602090810151910152565b60008151808452602080850194506020840160005b83811015610d1757610dc9878351610d89565b6040969096019590820190600101610db6565b610de7828251610d89565b60006020820151610dfb6040850182610d89565b506040820151610e0e6080850182610d89565b50606082015160e060c0850152610e2860e0850182610da1565b949350505050565b602081526000610b626020830184610ddc565b60208152610e55602082018351610d89565b60006020830151606080840152610e286080840182610da1565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715610ea857610ea8610e6f565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610ed657610ed6610e6f565b604052919050565b60006001600160401b03821115610ef757610ef7610e6f565b5060051b60200190565b8051610f0c81610ca8565b919050565b60006020808385031215610f2457600080fd5b82516001600160401b03811115610f3a57600080fd5b8301601f81018513610f4b57600080fd5b8051610f5e610f5982610ede565b610eae565b81815260059190911b82018301908381019087831115610f7d57600080fd5b928401925b82841015610fa4578351610f9581610ca8565b82529284019290840190610f82565b979650505050505050565b600060208284031215610fc157600080fd5b8151610b6281610ca8565b600080600060608486031215610fe157600080fd5b8351610fec81610ca8565b6020850151909350610ffd81610ca8565b604085015190925061100e81610ca8565b809150509250925092565b6001600160a01b0391909116815260200190565b6000610120828403121561104057600080fd5b611048610e85565b82518152602083015160208201526040830151604082015261106c60608401610f01565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b80820281158282048414176107b457634e487b7160e01b600052601160045260246000fd5b6000826110f157634e487b7160e01b600052601260045260246000fd5b500490565b600082601f83011261110757600080fd5b81516020611117610f5983610ede565b8083825260208201915060208460051b87010193508684111561113957600080fd5b602086015b84811015611155578051835291830191830161113e565b509695505050505050565b60006020828403121561117257600080fd5b81516001600160401b0381111561118857600080fd5b610e28848285016110f6565b600080604083850312156111a757600080fd5b825160208401519092506001600160401b038111156111c557600080fd5b6111d1858286016110f6565b9150509250929050565b6000602082840312156111ed57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220323c1dc71005667d1ca9b56caf1fa06fdd4b188b73385da3ff832de6eb3c3c8d64736f6c63430008170033";
312
+
313
+ type ActionInfoStaticConstructorParams =
314
+ | [signer?: Signer]
315
+ | ConstructorParameters<typeof ContractFactory>;
316
+
317
+ const isSuperArgs = (
318
+ xs: ActionInfoStaticConstructorParams
319
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
320
+
321
+ export class ActionInfoStatic__factory extends ContractFactory {
322
+ constructor(...args: ActionInfoStaticConstructorParams) {
323
+ if (isSuperArgs(args)) {
324
+ super(...args);
325
+ } else {
326
+ super(_abi, _bytecode, args[0]);
327
+ }
328
+ this.contractName = "ActionInfoStatic";
329
+ }
330
+
331
+ deploy(
332
+ overrides?: Overrides & { from?: string | Promise<string> }
333
+ ): Promise<ActionInfoStatic> {
334
+ return super.deploy(overrides || {}) as Promise<ActionInfoStatic>;
335
+ }
336
+ getDeployTransaction(
337
+ overrides?: Overrides & { from?: string | Promise<string> }
338
+ ): TransactionRequest {
339
+ return super.getDeployTransaction(overrides || {});
340
+ }
341
+ attach(address: string): ActionInfoStatic {
342
+ return super.attach(address) as ActionInfoStatic;
343
+ }
344
+ connect(signer: Signer): ActionInfoStatic__factory {
345
+ return super.connect(signer) as ActionInfoStatic__factory;
346
+ }
347
+ static readonly contractName: "ActionInfoStatic";
348
+ public readonly contractName: "ActionInfoStatic";
349
+ static readonly bytecode = _bytecode;
350
+ static readonly abi = _abi;
351
+ static createInterface(): ActionInfoStaticInterface {
352
+ return new utils.Interface(_abi) as ActionInfoStaticInterface;
353
+ }
354
+ static connect(
355
+ address: string,
356
+ signerOrProvider: Signer | Provider
357
+ ): ActionInfoStatic {
358
+ return new Contract(address, _abi, signerOrProvider) as ActionInfoStatic;
359
+ }
360
+ }