@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
@@ -1,404 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
- pragma solidity ^0.8.0;
3
-
4
- import {IExecutorHelperL2Struct as L2Struct} from "../interfaces/IExecutorHelperL2Struct.sol";
5
- import {IKyberDSLO} from "../interfaces/pools/IKyberDSLO.sol";
6
- import {IKyberLO} from "../interfaces/pools/IKyberLO.sol";
7
-
8
- library CalldataReader {
9
- /// @notice read the bytes value of data from a starting position and length
10
- /// @param data bytes array of data
11
- /// @param startByte starting position to read
12
- /// @param length length from starting position
13
- /// @return retVal value of the bytes
14
- /// @return (the next position to read from)
15
- function _calldataVal(
16
- bytes memory data,
17
- uint256 startByte,
18
- uint256 length
19
- ) internal pure returns (bytes memory retVal, uint256) {
20
- require(length + startByte <= data.length, "calldataVal trying to read beyond data size");
21
- uint256 loops = (length + 31) / 32;
22
- assembly {
23
- let m := mload(0x40)
24
- mstore(m, length)
25
- for {
26
- let i := 0
27
- } lt(i, loops) {
28
- i := add(1, i)
29
- } {
30
- mstore(add(m, mul(32, add(1, i))), mload(add(data, add(mul(32, add(1, i)), startByte))))
31
- }
32
- mstore(0x40, add(m, add(32, length)))
33
- retVal := m
34
- }
35
- return (retVal, length + startByte);
36
- }
37
-
38
- function _readRFQTQuote(
39
- bytes memory data,
40
- uint256 startByte
41
- ) internal pure returns (L2Struct.RFQTQuote memory rfqQuote, uint256, uint256 ebtaStartByte) {
42
- (rfqQuote.pool, startByte) = _readAddress(data, startByte);
43
- (rfqQuote.externalAccount, startByte) = _readAddress(data, startByte);
44
- (rfqQuote.trader, startByte) = _readAddress(data, startByte);
45
- (rfqQuote.effectiveTrader, startByte) = _readAddress(data, startByte);
46
- // (rfqQuote.baseToken, startByte) = _readAddress(data, startByte);
47
- (rfqQuote.quoteToken, startByte) = _readAddress(data, startByte);
48
- ebtaStartByte = startByte;
49
- (rfqQuote.effectiveBaseTokenAmount, startByte) = _readUint128AsUint256(data, startByte);
50
- (rfqQuote.baseTokenAmount, startByte) = _readUint128AsUint256(data, startByte);
51
- (rfqQuote.quoteTokenAmount, startByte) = _readUint128AsUint256(data, startByte);
52
- (rfqQuote.quoteExpiry, startByte) = _readUint128AsUint256(data, startByte);
53
- (rfqQuote.nonce, startByte) = _readUint128AsUint256(data, startByte);
54
- (rfqQuote.txid, startByte) = _readBytes32(data, startByte);
55
- (rfqQuote.signature, startByte) = _readBytes(data, startByte);
56
- return (rfqQuote, startByte, ebtaStartByte);
57
- }
58
-
59
- function _readOrderRFQ(
60
- bytes memory data,
61
- uint256 startByte
62
- ) internal pure returns (L2Struct.OrderRFQ memory orderRfq, uint256) {
63
- (orderRfq.info, startByte) = _readUint256(data, startByte);
64
-
65
- (orderRfq.makerAsset, startByte) = _readAddress(data, startByte);
66
-
67
- (orderRfq.takerAsset, startByte) = _readAddress(data, startByte);
68
-
69
- (orderRfq.maker, startByte) = _readAddress(data, startByte);
70
-
71
- (orderRfq.allowedSender, startByte) = _readAddress(data, startByte);
72
-
73
- (orderRfq.makingAmount, startByte) = _readUint128AsUint256(data, startByte);
74
-
75
- (orderRfq.takingAmount, startByte) = _readUint128AsUint256(data, startByte);
76
-
77
- return (orderRfq, startByte);
78
- }
79
-
80
- function _readDSLOFillBatchOrdersParams(
81
- bytes memory data,
82
- uint256 startByte
83
- )
84
- internal
85
- pure
86
- returns (
87
- IKyberDSLO.FillBatchOrdersParams memory params,
88
- uint256,
89
- uint256 takingAmountStartByte,
90
- uint256 thresholdStartByte
91
- )
92
- {
93
- (params.orders, startByte) = _readDSLOOrderArray(data, startByte);
94
-
95
- (params.signatures, startByte) = _readDSLOSignatureArray(data, startByte);
96
-
97
- (params.opExpireTimes, startByte) = _readUint32Array(data, startByte);
98
-
99
- // read taking amount and start byte to scale
100
- takingAmountStartByte = startByte;
101
- (params.takingAmount, startByte) = _readUint128AsUint256(data, startByte);
102
-
103
- // read threshold amount and start byte to update if scale dơn
104
- thresholdStartByte = startByte;
105
- (params.thresholdAmount, startByte) = _readUint128AsUint256(data, startByte);
106
-
107
- (params.target, startByte) = _readAddress(data, startByte);
108
- return (params, startByte, takingAmountStartByte, thresholdStartByte);
109
- }
110
-
111
- function _readLOFillBatchOrdersParams(
112
- bytes memory data,
113
- uint256 startByte
114
- )
115
- internal
116
- pure
117
- returns (
118
- IKyberLO.FillBatchOrdersParams memory params,
119
- uint256,
120
- uint256 takingAmountStartByte,
121
- uint256 thresholdStartByte
122
- )
123
- {
124
- (params.orders, startByte) = _readLOOrderArray(data, startByte);
125
-
126
- (params.signatures, startByte) = _readLOSignatureArray(data, startByte);
127
-
128
- takingAmountStartByte = startByte;
129
- (params.takingAmount, startByte) = _readUint128AsUint256(data, startByte);
130
-
131
- thresholdStartByte = startByte;
132
- (params.thresholdAmount, startByte) = _readUint128AsUint256(data, startByte);
133
-
134
- (params.target, startByte) = _readAddress(data, startByte);
135
- return (params, startByte, takingAmountStartByte, thresholdStartByte);
136
- }
137
-
138
- function _readLOSignatureArray(
139
- bytes memory data,
140
- uint256 startByte
141
- ) internal pure returns (bytes[] memory signatures, uint256) {
142
- bytes memory ret;
143
-
144
- (ret, startByte) = _calldataVal(data, startByte, 1);
145
- uint256 length = uint256(uint8(bytes1(ret)));
146
-
147
- signatures = new bytes[](length);
148
- for (uint8 i = 0; i < length; ++i) {
149
- (signatures[i], startByte) = _readBytes(data, startByte);
150
- }
151
- return (signatures, startByte);
152
- }
153
-
154
- function _readDSLOSignatureArray(
155
- bytes memory data,
156
- uint256 startByte
157
- ) internal pure returns (IKyberDSLO.Signature[] memory signatures, uint256) {
158
- bytes memory ret;
159
-
160
- (ret, startByte) = _calldataVal(data, startByte, 1);
161
- uint256 length = uint256(uint8(bytes1(ret)));
162
-
163
- signatures = new IKyberDSLO.Signature[](length);
164
- for (uint8 i = 0; i < length; ++i) {
165
- (signatures[i], startByte) = _readDSLOSignature(data, startByte);
166
- }
167
- return (signatures, startByte);
168
- }
169
-
170
- function _readDSLOSignature(
171
- bytes memory data,
172
- uint256 startByte
173
- ) internal pure returns (IKyberDSLO.Signature memory signature, uint256) {
174
- (signature.orderSignature, startByte) = _readBytes(data, startByte);
175
- (signature.opSignature, startByte) = _readBytes(data, startByte);
176
- return (signature, startByte);
177
- }
178
-
179
- function _readLOOrderArray(
180
- bytes memory data,
181
- uint256 startByte
182
- ) internal pure returns (IKyberLO.Order[] memory orders, uint256) {
183
- bytes memory ret;
184
-
185
- (ret, startByte) = _calldataVal(data, startByte, 1);
186
- uint256 length = uint256(uint8(bytes1(ret)));
187
-
188
- orders = new IKyberLO.Order[](length);
189
- for (uint8 i = 0; i < length; ++i) {
190
- (orders[i], startByte) = _readLOOrder(data, startByte);
191
- }
192
- return (orders, startByte);
193
- }
194
-
195
- function _readDSLOOrderArray(
196
- bytes memory data,
197
- uint256 startByte
198
- ) internal pure returns (IKyberDSLO.Order[] memory orders, uint256) {
199
- bytes memory ret;
200
-
201
- (ret, startByte) = _calldataVal(data, startByte, 1);
202
- uint256 length = uint256(uint8(bytes1(ret)));
203
-
204
- orders = new IKyberDSLO.Order[](length);
205
- for (uint8 i = 0; i < length; ++i) {
206
- (orders[i], startByte) = _readDSLOOrder(data, startByte);
207
- }
208
- return (orders, startByte);
209
- }
210
-
211
- function _readDSLOOrder(
212
- bytes memory data,
213
- uint256 startByte
214
- ) internal pure returns (IKyberDSLO.Order memory orders, uint256) {
215
- (orders.salt, startByte) = _readUint128AsUint256(data, startByte);
216
- (orders.makerAsset, startByte) = _readAddress(data, startByte);
217
- (orders.takerAsset, startByte) = _readAddress(data, startByte);
218
- (orders.maker, startByte) = _readAddress(data, startByte);
219
- (orders.receiver, startByte) = _readAddress(data, startByte);
220
- (orders.allowedSender, startByte) = _readAddress(data, startByte);
221
- (orders.makingAmount, startByte) = _readUint128AsUint256(data, startByte);
222
- (orders.takingAmount, startByte) = _readUint128AsUint256(data, startByte);
223
- (orders.feeConfig, startByte) = _readUint200(data, startByte);
224
- (orders.makerAssetData, startByte) = _readBytes(data, startByte);
225
- (orders.takerAssetData, startByte) = _readBytes(data, startByte);
226
- (orders.getMakerAmount, startByte) = _readBytes(data, startByte);
227
- (orders.getTakerAmount, startByte) = _readBytes(data, startByte);
228
- (orders.predicate, startByte) = _readBytes(data, startByte);
229
- (orders.interaction, startByte) = _readBytes(data, startByte);
230
- return (orders, startByte);
231
- }
232
-
233
- function _readLOOrder(
234
- bytes memory data,
235
- uint256 startByte
236
- ) internal pure returns (IKyberLO.Order memory orders, uint256) {
237
- (orders.salt, startByte) = _readUint128AsUint256(data, startByte);
238
- (orders.makerAsset, startByte) = _readAddress(data, startByte);
239
- (orders.takerAsset, startByte) = _readAddress(data, startByte);
240
- (orders.maker, startByte) = _readAddress(data, startByte);
241
- (orders.receiver, startByte) = _readAddress(data, startByte);
242
- (orders.allowedSender, startByte) = _readAddress(data, startByte);
243
- (orders.makingAmount, startByte) = _readUint128AsUint256(data, startByte);
244
- (orders.takingAmount, startByte) = _readUint128AsUint256(data, startByte);
245
- (orders.feeRecipient, startByte) = _readAddress(data, startByte);
246
- (orders.makerTokenFeePercent, startByte) = _readUint32(data, startByte);
247
- (orders.makerAssetData, startByte) = _readBytes(data, startByte);
248
- (orders.takerAssetData, startByte) = _readBytes(data, startByte);
249
- (orders.getMakerAmount, startByte) = _readBytes(data, startByte);
250
- (orders.getTakerAmount, startByte) = _readBytes(data, startByte);
251
- (orders.predicate, startByte) = _readBytes(data, startByte);
252
- (orders.permit, startByte) = _readBytes(data, startByte);
253
- (orders.interaction, startByte) = _readBytes(data, startByte);
254
- return (orders, startByte);
255
- }
256
-
257
- function _readBool(bytes memory data, uint256 startByte) internal pure returns (bool, uint256) {
258
- bytes memory ret;
259
- (ret, startByte) = _calldataVal(data, startByte, 1);
260
- return (bytes1(ret) > 0, startByte);
261
- }
262
-
263
- function _readUint8(bytes memory data, uint256 startByte) internal pure returns (uint8, uint256) {
264
- bytes memory ret;
265
- (ret, startByte) = _calldataVal(data, startByte, 1);
266
- return (uint8(bytes1(ret)), startByte);
267
- }
268
-
269
- function _readUint24(bytes memory data, uint256 startByte) internal pure returns (uint24, uint256) {
270
- bytes memory ret;
271
- (ret, startByte) = _calldataVal(data, startByte, 3);
272
- return (uint24(bytes3(ret)), startByte);
273
- }
274
-
275
- function _readUint32(bytes memory data, uint256 startByte) internal pure returns (uint32, uint256) {
276
- bytes memory ret;
277
- (ret, startByte) = _calldataVal(data, startByte, 4);
278
- return (uint32(bytes4(ret)), startByte);
279
- }
280
-
281
- function _readUint128(bytes memory data, uint256 startByte) internal pure returns (uint128, uint256) {
282
- bytes memory ret;
283
- (ret, startByte) = _calldataVal(data, startByte, 16);
284
- return (uint128(bytes16(ret)), startByte);
285
- }
286
-
287
- function _readUint160(bytes memory data, uint256 startByte) internal pure returns (uint160, uint256) {
288
- bytes memory ret;
289
- (ret, startByte) = _calldataVal(data, startByte, 20);
290
- return (uint160(bytes20(ret)), startByte);
291
- }
292
-
293
- function _readUint200(bytes memory data, uint256 startByte) internal pure returns (uint200, uint256) {
294
- bytes memory ret;
295
- (ret, startByte) = _calldataVal(data, startByte, 25);
296
- return (uint200(bytes25(ret)), startByte);
297
- }
298
-
299
- function _readUint256(bytes memory data, uint256 startByte) internal pure returns (uint256, uint256) {
300
- bytes memory ret;
301
- (ret, startByte) = _calldataVal(data, startByte, 32);
302
- return (uint256(bytes32(ret)), startByte);
303
- }
304
-
305
- /// @dev only when sure that the value of uint256 never exceed uint128
306
- function _readUint128AsUint256(bytes memory data, uint256 startByte) internal pure returns (uint256, uint256) {
307
- bytes memory ret;
308
- (ret, startByte) = _calldataVal(data, startByte, 16);
309
- return (uint256(uint128(bytes16(ret))), startByte);
310
- }
311
-
312
- function _readAddress(bytes memory data, uint256 startByte) internal pure returns (address, uint256) {
313
- bytes memory ret;
314
- (ret, startByte) = _calldataVal(data, startByte, 20);
315
- return (address(bytes20(ret)), startByte);
316
- }
317
-
318
- function _readBytes1(bytes memory data, uint256 startByte) internal pure returns (bytes1, uint256) {
319
- bytes memory ret;
320
- (ret, startByte) = _calldataVal(data, startByte, 1);
321
- return (bytes1(ret), startByte);
322
- }
323
-
324
- function _readBytes4(bytes memory data, uint256 startByte) internal pure returns (bytes4, uint256) {
325
- bytes memory ret;
326
- (ret, startByte) = _calldataVal(data, startByte, 4);
327
- return (bytes4(ret), startByte);
328
- }
329
-
330
- function _readBytes32(bytes memory data, uint256 startByte) internal pure returns (bytes32, uint256) {
331
- bytes memory ret;
332
- (ret, startByte) = _calldataVal(data, startByte, 32);
333
- return (bytes32(ret), startByte);
334
- }
335
-
336
- /// @dev length of bytes is currently limited to uint32
337
- function _readBytes(bytes memory data, uint256 startByte) internal pure returns (bytes memory b, uint256) {
338
- bytes memory ret;
339
- (ret, startByte) = _calldataVal(data, startByte, 4);
340
- uint256 length = uint256(uint32(bytes4(ret)));
341
- (b, startByte) = _calldataVal(data, startByte, length);
342
- return (b, startByte);
343
- }
344
-
345
- /// @dev length of bytes array is currently limited to uint8
346
- function _readBytesArray(
347
- bytes memory data,
348
- uint256 startByte
349
- ) internal pure returns (bytes[] memory bytesArray, uint256) {
350
- bytes memory ret;
351
- (ret, startByte) = _calldataVal(data, startByte, 1);
352
- uint256 length = uint256(uint8(bytes1(ret)));
353
- bytesArray = new bytes[](length);
354
- for (uint8 i = 0; i < length; ++i) {
355
- (bytesArray[i], startByte) = _readBytes(data, startByte);
356
- }
357
- return (bytesArray, startByte);
358
- }
359
-
360
- /// @dev length of address array is currently limited to uint8 to save bytes
361
- function _readAddressArray(
362
- bytes memory data,
363
- uint256 startByte
364
- ) internal pure returns (address[] memory addrs, uint256) {
365
- bytes memory ret;
366
- (ret, startByte) = _calldataVal(data, startByte, 1);
367
- uint256 length = uint256(uint8(bytes1(ret)));
368
- addrs = new address[](length);
369
- for (uint8 i = 0; i < length; ++i) {
370
- (addrs[i], startByte) = _readAddress(data, startByte);
371
- }
372
- return (addrs, startByte);
373
- }
374
-
375
- /// @dev length of uint array is currently limited to uint8 to save bytes
376
- /// @dev same as _readUint128AsUint256, only use when sure that value never exceed uint128
377
- function _readUint128ArrayAsUint256Array(
378
- bytes memory data,
379
- uint256 startByte
380
- ) internal pure returns (uint256[] memory, uint256) {
381
- bytes memory ret;
382
- (ret, startByte) = _calldataVal(data, startByte, 1);
383
- uint256 length = uint256(uint8(bytes1(ret)));
384
- uint256[] memory us = new uint256[](length);
385
- for (uint8 i = 0; i < length; ++i) {
386
- (us[i], startByte) = _readUint128AsUint256(data, startByte);
387
- }
388
- return (us, startByte);
389
- }
390
-
391
- function _readUint32Array(
392
- bytes memory data,
393
- uint256 startByte
394
- ) internal pure returns (uint32[] memory arr, uint256) {
395
- bytes memory ret;
396
- (ret, startByte) = _calldataVal(data, startByte, 1);
397
- uint256 length = uint256(uint8(bytes1(ret)));
398
- arr = new uint32[](length);
399
- for (uint8 i = 0; i < length; ++i) {
400
- (arr[i], startByte) = _readUint32(data, startByte);
401
- }
402
- return (arr, startByte);
403
- }
404
- }
@@ -1,118 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
- pragma solidity ^0.8.0;
3
-
4
- import {IMetaAggregationRouterV2} from "../interfaces/IMetaAggregationRouterV2.sol";
5
- import {IAggregationExecutorOptimistic as IExecutorHelperL2} from "../interfaces/IAggregationExecutorOptimistic.sol";
6
- import {IExecutorHelper as IExecutorHelperL1} from "../interfaces/IExecutorHelper.sol";
7
-
8
- library CalldataWriter {
9
- function writeSimpleSwapData(
10
- IMetaAggregationRouterV2.SimpleSwapData memory simpleSwapData
11
- ) internal pure returns (bytes memory shortData) {
12
- shortData = bytes.concat(shortData, _writeAddressArray(simpleSwapData.firstPools));
13
- shortData = bytes.concat(shortData, _writeUint256ArrayAsUint128Array(simpleSwapData.firstSwapAmounts));
14
- shortData = bytes.concat(shortData, _writeBytesArray(simpleSwapData.swapDatas));
15
- shortData = bytes.concat(shortData, bytes16(uint128(simpleSwapData.deadline)));
16
- shortData = bytes.concat(shortData, _writeBytes(simpleSwapData.positiveSlippageData));
17
- }
18
-
19
- /*
20
- ************************ AggregationExecutor ************************
21
- */
22
- function writeSwapExecutorDescription(
23
- IExecutorHelperL2.SwapExecutorDescription memory desc
24
- ) internal pure returns (bytes memory shortData) {
25
- // write Swap array
26
- uint8 lX = uint8(desc.swapSequences.length);
27
- shortData = bytes.concat(shortData, bytes1(lX));
28
- for (uint8 i = 0; i < lX; ++i) {
29
- uint8 lY = uint8(desc.swapSequences[i].length);
30
- shortData = bytes.concat(shortData, bytes1(lY));
31
- for (uint8 j = 0; j < lY; ++j) {
32
- shortData = bytes.concat(shortData, _writeSwap(desc.swapSequences[i][j]));
33
- }
34
- }
35
-
36
- // basic members
37
- shortData = bytes.concat(shortData, bytes20(desc.tokenIn));
38
- shortData = bytes.concat(shortData, bytes20(desc.tokenOut));
39
- shortData = bytes.concat(shortData, bytes20(desc.to));
40
- shortData = bytes.concat(shortData, bytes16(uint128(desc.deadline)));
41
- shortData = bytes.concat(shortData, _writeBytes(desc.positiveSlippageData));
42
- }
43
-
44
- function writeSimpleModeSwapDatas(
45
- bytes[] memory swapDatas,
46
- address tokenIn
47
- ) internal pure returns (bytes[] memory shortData) {
48
- uint8 len = uint8(swapDatas.length);
49
- for (uint8 i = 0; i < len; ++i) {
50
- swapDatas[i] = _writeSwapSingleSequence(swapDatas[i], tokenIn);
51
- }
52
- return (swapDatas);
53
- }
54
-
55
- function _writeSwapSingleSequence(
56
- bytes memory data,
57
- address tokenIn
58
- ) internal pure returns (bytes memory shortData) {
59
- IExecutorHelperL2.Swap[] memory swaps = abi.decode(data, (IExecutorHelperL2.Swap[]));
60
-
61
- uint8 len = uint8(swaps.length);
62
- shortData = bytes.concat(shortData, bytes1(len));
63
- for (uint8 i = 0; i < len; ++i) {
64
- shortData = bytes.concat(shortData, _writeSwap(swaps[i]));
65
- }
66
- shortData = bytes.concat(shortData, bytes20(tokenIn));
67
- }
68
-
69
- function _writeAddressArray(address[] memory addrs) internal pure returns (bytes memory data) {
70
- uint8 length = uint8(addrs.length);
71
- data = bytes.concat(data, bytes1(length));
72
- for (uint8 i = 0; i < length; ++i) {
73
- data = bytes.concat(data, bytes20(addrs[i]));
74
- }
75
- return data;
76
- }
77
-
78
- function _writeUint256ArrayAsUint128Array(uint256[] memory us) internal pure returns (bytes memory data) {
79
- uint8 length = uint8(us.length);
80
- data = bytes.concat(data, bytes1(length));
81
- for (uint8 i = 0; i < length; ++i) {
82
- data = bytes.concat(data, bytes16(uint128(us[i])));
83
- }
84
- return data;
85
- }
86
-
87
- function _writeBytes(bytes memory b) internal pure returns (bytes memory data) {
88
- uint32 length = uint32(b.length);
89
- data = bytes.concat(data, bytes4(length));
90
- data = bytes.concat(data, b);
91
- return data;
92
- }
93
-
94
- function _writeBytesArray(bytes[] memory bytesArray) internal pure returns (bytes memory data) {
95
- uint8 x = uint8(bytesArray.length);
96
- data = bytes.concat(data, bytes1(x));
97
- for (uint8 i; i < x; ++i) {
98
- uint32 length = uint32(bytesArray[i].length);
99
- data = bytes.concat(data, bytes4(length));
100
- data = bytes.concat(data, bytesArray[i]);
101
- }
102
- return data;
103
- }
104
-
105
- function _writeBytes32Array(bytes32[] memory bytesArray) internal pure returns (bytes memory data) {
106
- uint8 x = uint8(bytesArray.length);
107
- data = bytes.concat(data, bytes1(x));
108
- for (uint8 i; i < x; ++i) {
109
- data = bytes.concat(data, bytesArray[i]);
110
- }
111
- return data;
112
- }
113
-
114
- function _writeSwap(IExecutorHelperL2.Swap memory swap) internal pure returns (bytes memory shortData) {
115
- shortData = bytes.concat(shortData, _writeBytes(swap.data));
116
- shortData = bytes.concat(shortData, bytes1(uint8(uint32(swap.functionSelector))));
117
- }
118
- }
@@ -1,41 +0,0 @@
1
- pragma solidity ^0.8.0;
2
-
3
- import "./CalldataReader.sol";
4
-
5
- library Common {
6
- using CalldataReader for bytes;
7
-
8
- function _readPool(bytes memory data, uint256 startByte) internal pure returns (address, uint256) {
9
- uint24 poolId;
10
- address poolAddress;
11
- (poolId, startByte) = data._readUint24(startByte);
12
- if (poolId == 0) {
13
- (poolAddress, startByte) = data._readAddress(startByte);
14
- }
15
- return (poolAddress, startByte);
16
- }
17
-
18
- function _readRecipient(bytes memory data, uint256 startByte) internal pure returns (address, uint256) {
19
- uint8 recipientFlag;
20
- address recipient;
21
- (recipientFlag, startByte) = data._readUint8(startByte);
22
- if (recipientFlag != 2 && recipientFlag != 1) {
23
- (recipient, startByte) = data._readAddress(startByte);
24
- }
25
- return (recipient, startByte);
26
- }
27
-
28
- function _readBytes32Array(
29
- bytes memory data,
30
- uint256 startByte
31
- ) internal pure returns (bytes32[] memory bytesArray, uint256) {
32
- bytes memory ret;
33
- (ret, startByte) = data._calldataVal(startByte, 1);
34
- uint256 length = uint256(uint8(bytes1(ret)));
35
- bytesArray = new bytes32[](length);
36
- for (uint8 i = 0; i < length; ++i) {
37
- (bytesArray[i], startByte) = data._readBytes32(startByte);
38
- }
39
- return (bytesArray, startByte);
40
- }
41
- }