@stake-dao/reader 0.1.4 → 0.2.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 (290) hide show
  1. package/dist/esm/bytecodes/index.js +16 -0
  2. package/dist/esm/bytecodes/index.js.map +1 -0
  3. package/dist/esm/bytecodes/strategies/batches/batchBalancerStrats.js +68 -0
  4. package/dist/esm/bytecodes/strategies/batches/batchBalancerStrats.js.map +1 -0
  5. package/dist/esm/{batches/curveStrats.js → bytecodes/strategies/batches/batchCurveStrats.js} +3 -3
  6. package/dist/esm/bytecodes/strategies/batches/batchCurveStrats.js.map +1 -0
  7. package/dist/esm/bytecodes/strategies/batches/batchPancakeSwapErc20Strats.js +61 -0
  8. package/dist/esm/bytecodes/strategies/batches/batchPancakeSwapErc20Strats.js.map +1 -0
  9. package/dist/esm/bytecodes/strategies/batches/batchPancakeSwapPositions.js +44 -0
  10. package/dist/esm/bytecodes/strategies/batches/batchPancakeSwapPositions.js.map +1 -0
  11. package/dist/esm/bytecodes/strategies/batches/batchPancakeswapStrats.js +48 -0
  12. package/dist/esm/bytecodes/strategies/batches/batchPancakeswapStrats.js.map +1 -0
  13. package/dist/esm/bytecodes/strategies/batches/batchPendleStrats.js +63 -0
  14. package/dist/esm/bytecodes/strategies/batches/batchPendleStrats.js.map +1 -0
  15. package/dist/esm/bytecodes/strategies/builds/buildBalancerStrats.js +54 -0
  16. package/dist/esm/bytecodes/strategies/builds/buildBalancerStrats.js.map +1 -0
  17. package/dist/esm/bytecodes/strategies/builds/buildPancakeSwapErc20Strats.js +64 -0
  18. package/dist/esm/bytecodes/strategies/builds/buildPancakeSwapErc20Strats.js.map +1 -0
  19. package/dist/esm/bytecodes/strategies/builds/buildPancakeSwapStrats.js +51 -0
  20. package/dist/esm/bytecodes/strategies/builds/buildPancakeSwapStrats.js.map +1 -0
  21. package/dist/esm/bytecodes/strategies/builds/buildPancakeswapNotDeployedErc20Strats.js +54 -0
  22. package/dist/esm/bytecodes/strategies/builds/buildPancakeswapNotDeployedErc20Strats.js.map +1 -0
  23. package/dist/esm/bytecodes/strategies/builds/buildPendleStrats.js +39 -0
  24. package/dist/esm/bytecodes/strategies/builds/buildPendleStrats.js.map +1 -0
  25. package/dist/esm/{batches → bytecodes/strategies/builds}/buildYearnStrats.js +2 -2
  26. package/dist/esm/bytecodes/strategies/builds/buildYearnStrats.js.map +1 -0
  27. package/dist/esm/bytecodes/strategies/fetchYearnGauges.js.map +1 -0
  28. package/dist/esm/bytecodes/strategies/sdtGaugeRewards.js.map +1 -0
  29. package/dist/esm/bytecodes/tokenData.js.map +1 -0
  30. package/dist/esm/{batches → bytecodes}/types.js.map +1 -1
  31. package/dist/esm/index.js +33 -6
  32. package/dist/esm/index.js.map +1 -1
  33. package/dist/esm/lockers/utils/endpoints.js +1 -1
  34. package/dist/esm/lockers/utils/endpoints.js.map +1 -1
  35. package/dist/esm/prices.js +39 -3
  36. package/dist/esm/prices.js.map +1 -1
  37. package/dist/esm/strategies/balancer/build.js +4 -11
  38. package/dist/esm/strategies/balancer/build.js.map +1 -1
  39. package/dist/esm/strategies/balancer/fetch.js +190 -0
  40. package/dist/esm/strategies/balancer/fetch.js.map +1 -0
  41. package/dist/esm/strategies/curve/build.js +4 -4
  42. package/dist/esm/strategies/curve/build.js.map +1 -1
  43. package/dist/esm/strategies/curve/fetch/curveApiData/bytecode.js +0 -1
  44. package/dist/esm/strategies/curve/fetch/curveApiData/bytecode.js.map +1 -1
  45. package/dist/esm/strategies/curve/fetch/curveApiData/getCurveApiData.js +3 -2
  46. package/dist/esm/strategies/curve/fetch/curveApiData/getCurveApiData.js.map +1 -1
  47. package/dist/esm/strategies/curve/fetch/curveApiData/getGaugesFromRegistry.js +3 -2
  48. package/dist/esm/strategies/curve/fetch/curveApiData/getGaugesFromRegistry.js.map +1 -1
  49. package/dist/esm/strategies/curve/fetch/curveApiData/getGaugesWeights.js +2 -1
  50. package/dist/esm/strategies/curve/fetch/curveApiData/getGaugesWeights.js.map +1 -1
  51. package/dist/esm/strategies/curve/fetch/curveApiData/getPoolsFromRegistries.ts.js +2 -1
  52. package/dist/esm/strategies/curve/fetch/curveApiData/getPoolsFromRegistries.ts.js.map +1 -1
  53. package/dist/esm/strategies/curve/fetch/index.js +22 -4
  54. package/dist/esm/strategies/curve/fetch/index.js.map +1 -1
  55. package/dist/esm/strategies/curve/httpCalls.js +3 -3
  56. package/dist/esm/strategies/curve/httpCalls.js.map +1 -1
  57. package/dist/esm/strategies/curve/onChainCalls.js +3 -2
  58. package/dist/esm/strategies/curve/onChainCalls.js.map +1 -1
  59. package/dist/esm/strategies/pancakeswap/abis/PancakeSwapMasterchef.json +1575 -0
  60. package/dist/esm/strategies/pancakeswap/build.js +48 -0
  61. package/dist/esm/strategies/pancakeswap/build.js.map +1 -0
  62. package/dist/esm/strategies/pancakeswap/buildErc20.js +63 -0
  63. package/dist/esm/strategies/pancakeswap/buildErc20.js.map +1 -0
  64. package/dist/esm/strategies/pancakeswap/config.js +7 -0
  65. package/dist/esm/strategies/pancakeswap/config.js.map +1 -0
  66. package/dist/esm/strategies/pancakeswap/endpoints.js +10 -0
  67. package/dist/esm/strategies/pancakeswap/endpoints.js.map +1 -0
  68. package/dist/esm/strategies/pancakeswap/fetch/getPancakeApisData.js +24 -0
  69. package/dist/esm/strategies/pancakeswap/fetch/getPancakeApisData.js.map +1 -0
  70. package/dist/esm/strategies/pancakeswap/fetch/getPancakeErc20Vaults.js +134 -0
  71. package/dist/esm/strategies/pancakeswap/fetch/getPancakeErc20Vaults.js.map +1 -0
  72. package/dist/esm/strategies/pancakeswap/fetch/getPancakeNotDeployed.js +102 -0
  73. package/dist/esm/strategies/pancakeswap/fetch/getPancakeNotDeployed.js.map +1 -0
  74. package/dist/esm/strategies/pancakeswap/fetch/getPancakeV3Vaults.js +142 -0
  75. package/dist/esm/strategies/pancakeswap/fetch/getPancakeV3Vaults.js.map +1 -0
  76. package/dist/esm/strategies/pancakeswap/fetch/index.js +25 -0
  77. package/dist/esm/strategies/pancakeswap/fetch/index.js.map +1 -0
  78. package/dist/esm/strategies/pancakeswap/fetch/pancakePositions.js +87 -0
  79. package/dist/esm/strategies/pancakeswap/fetch/pancakePositions.js.map +1 -0
  80. package/dist/esm/strategies/pancakeswap/fetch/pancakeswapMath.js +199 -0
  81. package/dist/esm/strategies/pancakeswap/fetch/pancakeswapMath.js.map +1 -0
  82. package/dist/esm/strategies/pendle/abis/MulticallPendleStratsAbi.json +103 -0
  83. package/dist/esm/strategies/pendle/build.js +70 -0
  84. package/dist/esm/strategies/pendle/build.js.map +1 -0
  85. package/dist/esm/strategies/pendle/fetch.js +267 -0
  86. package/dist/esm/strategies/pendle/fetch.js.map +1 -0
  87. package/dist/esm/strategies/pendle/getPendleApiData.js +15 -0
  88. package/dist/esm/strategies/pendle/getPendleApiData.js.map +1 -0
  89. package/dist/esm/strategies/pendle/pendlePoints.js +71 -0
  90. package/dist/esm/strategies/pendle/pendlePoints.js.map +1 -0
  91. package/dist/esm/strategies/utils/getAprBreakdown.js +9 -9
  92. package/dist/esm/strategies/utils/getAprBreakdown.js.map +1 -1
  93. package/dist/esm/strategies/utils/index.js +10 -1
  94. package/dist/esm/strategies/utils/index.js.map +1 -1
  95. package/dist/esm/strategies/yearn/build.js +5 -4
  96. package/dist/esm/strategies/yearn/build.js.map +1 -1
  97. package/dist/esm/strategies/yearn/fetch/fetchAllYearnGauges.js +3 -2
  98. package/dist/esm/strategies/yearn/fetch/fetchAllYearnGauges.js.map +1 -1
  99. package/dist/esm/strategies/yearn/fetch/index.js +1 -1
  100. package/dist/esm/strategies/yearn/fetch/index.js.map +1 -1
  101. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  102. package/dist/esm/utils.js +1 -1
  103. package/dist/esm/utils.js.map +1 -1
  104. package/dist/types/bytecodes/index.d.ts +16 -0
  105. package/dist/types/bytecodes/index.d.ts.map +1 -0
  106. package/dist/types/bytecodes/strategies/batches/batchBalancerStrats.d.ts +4 -0
  107. package/dist/types/bytecodes/strategies/batches/batchBalancerStrats.d.ts.map +1 -0
  108. package/dist/types/bytecodes/strategies/batches/batchCurveStrats.d.ts +4 -0
  109. package/dist/types/bytecodes/strategies/batches/batchCurveStrats.d.ts.map +1 -0
  110. package/dist/types/bytecodes/strategies/batches/batchPancakeSwapErc20Strats.d.ts +4 -0
  111. package/dist/types/bytecodes/strategies/batches/batchPancakeSwapErc20Strats.d.ts.map +1 -0
  112. package/dist/types/bytecodes/strategies/batches/batchPancakeSwapPositions.d.ts +4 -0
  113. package/dist/types/bytecodes/strategies/batches/batchPancakeSwapPositions.d.ts.map +1 -0
  114. package/dist/types/bytecodes/strategies/batches/batchPancakeswapStrats.d.ts +4 -0
  115. package/dist/types/bytecodes/strategies/batches/batchPancakeswapStrats.d.ts.map +1 -0
  116. package/dist/types/bytecodes/strategies/batches/batchPendleStrats.d.ts +4 -0
  117. package/dist/types/bytecodes/strategies/batches/batchPendleStrats.d.ts.map +1 -0
  118. package/dist/types/bytecodes/strategies/builds/buildBalancerStrats.d.ts +4 -0
  119. package/dist/types/bytecodes/strategies/builds/buildBalancerStrats.d.ts.map +1 -0
  120. package/dist/types/bytecodes/strategies/builds/buildPancakeSwapErc20Strats.d.ts +4 -0
  121. package/dist/types/bytecodes/strategies/builds/buildPancakeSwapErc20Strats.d.ts.map +1 -0
  122. package/dist/types/bytecodes/strategies/builds/buildPancakeSwapStrats.d.ts +4 -0
  123. package/dist/types/bytecodes/strategies/builds/buildPancakeSwapStrats.d.ts.map +1 -0
  124. package/dist/types/bytecodes/strategies/builds/buildPancakeswapNotDeployedErc20Strats.d.ts +4 -0
  125. package/dist/types/bytecodes/strategies/builds/buildPancakeswapNotDeployedErc20Strats.d.ts.map +1 -0
  126. package/dist/types/bytecodes/strategies/builds/buildPendleStrats.d.ts +4 -0
  127. package/dist/types/bytecodes/strategies/builds/buildPendleStrats.d.ts.map +1 -0
  128. package/dist/types/bytecodes/strategies/builds/buildYearnStrats.d.ts +4 -0
  129. package/dist/types/bytecodes/strategies/builds/buildYearnStrats.d.ts.map +1 -0
  130. package/dist/types/bytecodes/strategies/fetchYearnGauges.d.ts +4 -0
  131. package/dist/types/bytecodes/strategies/fetchYearnGauges.d.ts.map +1 -0
  132. package/dist/types/bytecodes/strategies/sdtGaugeRewards.d.ts +4 -0
  133. package/dist/types/bytecodes/strategies/sdtGaugeRewards.d.ts.map +1 -0
  134. package/dist/types/bytecodes/tokenData.d.ts.map +1 -0
  135. package/dist/types/bytecodes/types.d.ts.map +1 -0
  136. package/dist/types/index.d.ts +15 -6
  137. package/dist/types/index.d.ts.map +1 -1
  138. package/dist/types/lockers/utils/endpoints.d.ts +1 -1
  139. package/dist/types/lockers/utils/endpoints.d.ts.map +1 -1
  140. package/dist/types/prices.d.ts +8 -1
  141. package/dist/types/prices.d.ts.map +1 -1
  142. package/dist/types/strategies/balancer/build.d.ts +0 -1
  143. package/dist/types/strategies/balancer/build.d.ts.map +1 -1
  144. package/dist/types/strategies/balancer/fetch.d.ts +11 -0
  145. package/dist/types/strategies/balancer/fetch.d.ts.map +1 -0
  146. package/dist/types/strategies/curve/build.d.ts.map +1 -1
  147. package/dist/types/strategies/curve/fetch/curveApiData/bytecode.d.ts.map +1 -1
  148. package/dist/types/strategies/curve/fetch/curveApiData/getCurveApiData.d.ts +1 -1
  149. package/dist/types/strategies/curve/fetch/curveApiData/getCurveApiData.d.ts.map +1 -1
  150. package/dist/types/strategies/curve/fetch/curveApiData/getGaugesFromRegistry.d.ts.map +1 -1
  151. package/dist/types/strategies/curve/fetch/curveApiData/getGaugesWeights.d.ts.map +1 -1
  152. package/dist/types/strategies/curve/fetch/curveApiData/getPoolsFromRegistries.ts.d.ts.map +1 -1
  153. package/dist/types/strategies/curve/fetch/index.d.ts +15 -2
  154. package/dist/types/strategies/curve/fetch/index.d.ts.map +1 -1
  155. package/dist/types/strategies/curve/onChainCalls.d.ts.map +1 -1
  156. package/dist/types/strategies/pancakeswap/build.d.ts +2 -0
  157. package/dist/types/strategies/pancakeswap/build.d.ts.map +1 -0
  158. package/dist/types/strategies/pancakeswap/buildErc20.d.ts +7 -0
  159. package/dist/types/strategies/pancakeswap/buildErc20.d.ts.map +1 -0
  160. package/dist/types/strategies/pancakeswap/config.d.ts +7 -0
  161. package/dist/types/strategies/pancakeswap/config.d.ts.map +1 -0
  162. package/dist/types/strategies/pancakeswap/endpoints.d.ts +8 -0
  163. package/dist/types/strategies/pancakeswap/endpoints.d.ts.map +1 -0
  164. package/dist/types/strategies/pancakeswap/fetch/getPancakeApisData.d.ts +10 -0
  165. package/dist/types/strategies/pancakeswap/fetch/getPancakeApisData.d.ts.map +1 -0
  166. package/dist/types/strategies/pancakeswap/fetch/getPancakeErc20Vaults.d.ts +44 -0
  167. package/dist/types/strategies/pancakeswap/fetch/getPancakeErc20Vaults.d.ts.map +1 -0
  168. package/dist/types/strategies/pancakeswap/fetch/getPancakeNotDeployed.d.ts +3 -0
  169. package/dist/types/strategies/pancakeswap/fetch/getPancakeNotDeployed.d.ts.map +1 -0
  170. package/dist/types/strategies/pancakeswap/fetch/getPancakeV3Vaults.d.ts +7 -0
  171. package/dist/types/strategies/pancakeswap/fetch/getPancakeV3Vaults.d.ts.map +1 -0
  172. package/dist/types/strategies/pancakeswap/fetch/index.d.ts +17 -0
  173. package/dist/types/strategies/pancakeswap/fetch/index.d.ts.map +1 -0
  174. package/dist/types/strategies/pancakeswap/fetch/pancakePositions.d.ts +11 -0
  175. package/dist/types/strategies/pancakeswap/fetch/pancakePositions.d.ts.map +1 -0
  176. package/dist/types/strategies/pancakeswap/fetch/pancakeswapMath.d.ts +33 -0
  177. package/dist/types/strategies/pancakeswap/fetch/pancakeswapMath.d.ts.map +1 -0
  178. package/dist/types/strategies/pendle/build.d.ts +42 -0
  179. package/dist/types/strategies/pendle/build.d.ts.map +1 -0
  180. package/dist/types/strategies/pendle/fetch.d.ts +60 -0
  181. package/dist/types/strategies/pendle/fetch.d.ts.map +1 -0
  182. package/dist/types/strategies/pendle/getPendleApiData.d.ts +3 -0
  183. package/dist/types/strategies/pendle/getPendleApiData.d.ts.map +1 -0
  184. package/dist/types/strategies/pendle/pendlePoints.d.ts +80 -0
  185. package/dist/types/strategies/pendle/pendlePoints.d.ts.map +1 -0
  186. package/dist/types/strategies/types.d.ts +17 -3
  187. package/dist/types/strategies/types.d.ts.map +1 -1
  188. package/dist/types/strategies/utils/getAprBreakdown.d.ts +1 -4
  189. package/dist/types/strategies/utils/getAprBreakdown.d.ts.map +1 -1
  190. package/dist/types/strategies/utils/index.d.ts +2 -0
  191. package/dist/types/strategies/utils/index.d.ts.map +1 -1
  192. package/dist/types/strategies/yearn/build.d.ts.map +1 -1
  193. package/dist/types/strategies/yearn/fetch/fetchAllYearnGauges.d.ts.map +1 -1
  194. package/dist/types/strategies/yearn/fetch/index.d.ts +13 -2
  195. package/dist/types/strategies/yearn/fetch/index.d.ts.map +1 -1
  196. package/dist/types/utils.d.ts.map +1 -1
  197. package/package.json +3 -2
  198. package/src/bytecodes/index.ts +18 -0
  199. package/src/bytecodes/strategies/batches/batchBalancerStrats.ts +70 -0
  200. package/src/{batches/curveStrats.ts → bytecodes/strategies/batches/batchCurveStrats.ts} +3 -3
  201. package/src/bytecodes/strategies/batches/batchPancakeSwapErc20Strats.ts +67 -0
  202. package/src/bytecodes/strategies/batches/batchPancakeSwapPositions.ts +50 -0
  203. package/src/bytecodes/strategies/batches/batchPancakeswapStrats.ts +54 -0
  204. package/src/bytecodes/strategies/batches/batchPendleStrats.ts +65 -0
  205. package/src/bytecodes/strategies/builds/buildBalancerStrats.ts +56 -0
  206. package/src/bytecodes/strategies/builds/buildPancakeSwapErc20Strats.ts +70 -0
  207. package/src/bytecodes/strategies/builds/buildPancakeSwapStrats.ts +57 -0
  208. package/src/bytecodes/strategies/builds/buildPancakeswapNotDeployedErc20Strats.ts +60 -0
  209. package/src/bytecodes/strategies/builds/buildPendleStrats.ts +41 -0
  210. package/src/{batches → bytecodes/strategies/builds}/buildYearnStrats.ts +3 -3
  211. package/src/{batches → bytecodes/strategies}/fetchYearnGauges.ts +1 -1
  212. package/src/{batches → bytecodes/strategies}/sdtGaugeRewards.ts +1 -1
  213. package/src/endpoints.ts +2 -0
  214. package/src/index.ts +43 -5
  215. package/src/lockers/utils/endpoints.ts +2 -1
  216. package/src/prices.ts +57 -6
  217. package/src/strategies/balancer/build.ts +66 -0
  218. package/src/strategies/balancer/endpoints.ts +27 -0
  219. package/src/strategies/balancer/fetch.ts +266 -0
  220. package/src/strategies/curve/build.ts +4 -3
  221. package/src/strategies/curve/fetch/curveApiData/bytecode.ts +0 -1
  222. package/src/strategies/curve/fetch/curveApiData/getCurveApiData.ts +3 -2
  223. package/src/strategies/curve/fetch/curveApiData/getGaugesFromRegistry.ts +6 -2
  224. package/src/strategies/curve/fetch/curveApiData/getGaugesWeights.ts +2 -1
  225. package/src/strategies/curve/fetch/curveApiData/getPoolsFromRegistries.ts.ts +2 -1
  226. package/src/strategies/curve/fetch/index.ts +53 -15
  227. package/src/strategies/curve/httpCalls.ts +3 -3
  228. package/src/strategies/curve/onChainCalls.ts +3 -2
  229. package/src/strategies/pancakeswap/build.ts +57 -0
  230. package/src/strategies/pancakeswap/buildErc20.ts +73 -0
  231. package/src/strategies/pancakeswap/config.ts +7 -0
  232. package/src/strategies/pancakeswap/endpoints.ts +12 -0
  233. package/src/strategies/pancakeswap/fetch/getPancakeApisData.ts +32 -0
  234. package/src/strategies/pancakeswap/fetch/getPancakeErc20Vaults.ts +184 -0
  235. package/src/strategies/pancakeswap/fetch/getPancakeNotDeployed.ts +132 -0
  236. package/src/strategies/pancakeswap/fetch/getPancakeV3Vaults.ts +191 -0
  237. package/src/strategies/pancakeswap/fetch/index.ts +50 -0
  238. package/src/strategies/pancakeswap/fetch/pancakePositions.ts +147 -0
  239. package/src/strategies/pancakeswap/fetch/pancakeswapMath.ts +305 -0
  240. package/src/strategies/pendle/build.ts +93 -0
  241. package/src/strategies/pendle/fetch.ts +348 -0
  242. package/src/strategies/pendle/getPendleApiData.ts +20 -0
  243. package/src/strategies/pendle/pendlePoints.ts +71 -0
  244. package/src/strategies/types.ts +20 -3
  245. package/src/strategies/utils/getAprBreakdown.ts +9 -9
  246. package/src/strategies/utils/index.ts +14 -1
  247. package/src/strategies/yearn/build.ts +5 -4
  248. package/src/strategies/yearn/fetch/fetchAllYearnGauges.ts +3 -2
  249. package/src/strategies/yearn/fetch/index.ts +22 -11
  250. package/src/utils.ts +1 -1
  251. package/dist/esm/batches/balancerStrats.js +0 -73
  252. package/dist/esm/batches/balancerStrats.js.map +0 -1
  253. package/dist/esm/batches/buildBalancerStrats.js +0 -62
  254. package/dist/esm/batches/buildBalancerStrats.js.map +0 -1
  255. package/dist/esm/batches/buildYearnStrats.js.map +0 -1
  256. package/dist/esm/batches/curveStrats.js.map +0 -1
  257. package/dist/esm/batches/fetchYearnGauges.js.map +0 -1
  258. package/dist/esm/batches/index.js +0 -8
  259. package/dist/esm/batches/index.js.map +0 -1
  260. package/dist/esm/batches/sdtGaugeRewards.js.map +0 -1
  261. package/dist/esm/batches/tokenData.js.map +0 -1
  262. package/dist/esm/strategies/balancer/fetch/index.js +0 -203
  263. package/dist/esm/strategies/balancer/fetch/index.js.map +0 -1
  264. package/dist/types/batches/balancerStrats.d.ts +0 -4
  265. package/dist/types/batches/balancerStrats.d.ts.map +0 -1
  266. package/dist/types/batches/buildBalancerStrats.d.ts +0 -4
  267. package/dist/types/batches/buildBalancerStrats.d.ts.map +0 -1
  268. package/dist/types/batches/buildYearnStrats.d.ts +0 -4
  269. package/dist/types/batches/buildYearnStrats.d.ts.map +0 -1
  270. package/dist/types/batches/curveStrats.d.ts +0 -4
  271. package/dist/types/batches/curveStrats.d.ts.map +0 -1
  272. package/dist/types/batches/fetchYearnGauges.d.ts +0 -4
  273. package/dist/types/batches/fetchYearnGauges.d.ts.map +0 -1
  274. package/dist/types/batches/index.d.ts +0 -8
  275. package/dist/types/batches/index.d.ts.map +0 -1
  276. package/dist/types/batches/sdtGaugeRewards.d.ts +0 -4
  277. package/dist/types/batches/sdtGaugeRewards.d.ts.map +0 -1
  278. package/dist/types/batches/tokenData.d.ts.map +0 -1
  279. package/dist/types/batches/types.d.ts.map +0 -1
  280. package/dist/types/strategies/balancer/fetch/index.d.ts +0 -6
  281. package/dist/types/strategies/balancer/fetch/index.d.ts.map +0 -1
  282. package/src/batches/index.ts +0 -5
  283. /package/dist/esm/{batches → bytecodes/strategies}/fetchYearnGauges.js +0 -0
  284. /package/dist/esm/{batches → bytecodes/strategies}/sdtGaugeRewards.js +0 -0
  285. /package/dist/esm/{batches → bytecodes}/tokenData.js +0 -0
  286. /package/dist/esm/{batches → bytecodes}/types.js +0 -0
  287. /package/dist/types/{batches → bytecodes}/tokenData.d.ts +0 -0
  288. /package/dist/types/{batches → bytecodes}/types.d.ts +0 -0
  289. /package/src/{batches → bytecodes}/tokenData.ts +0 -0
  290. /package/src/{batches → bytecodes}/types.ts +0 -0
@@ -0,0 +1,67 @@
1
+ import type { BatchMetaData } from '../../types.js'
2
+
3
+ const commonBytecode =
4
+ '0x608060405234801561000f575f80fd5b506040516118ed3803806118ed83398181016040528101906100319190611012565b5f8151905061003e610d2d565b8167ffffffffffffffff81111561005857610057610e71565b5b60405190808252806020026020018201604052801561009157816020015b61007e610d40565b8152602001906001900390816100765790505b50815f01819052505f835f815181106100ad576100ac61106c565b5b60200260200101516040015173ffffffffffffffffffffffffffffffffffffffff1663a8c62e766040518163ffffffff1660e01b8152600401602060405180830381865afa158015610101573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101259190611099565b73ffffffffffffffffffffffffffffffffffffffff1663fbbb2b106040518163ffffffff1660e01b8152600401602060405180830381865afa15801561016d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061019191906110f7565b90505f5b83811015610cfe575f8582815181106101b1576101b061106c565b5b60200260200101516020015190506101c7610d40565b5f8273ffffffffffffffffffffffffffffffffffffffff16631959a0028a6040518263ffffffff1660e01b81526004016102019190611131565b60a060405180830381865afa15801561021c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061024091906111d3565b9050805f0151825f01818152505080604001518260e00181815250508273ffffffffffffffffffffffffffffffffffffffff1663cc6db2da6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102a5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102c991906110f7565b8261010001818152505080606001518260600181815250508273ffffffffffffffffffffffffffffffffffffffff16630d3b23bb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561032a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061034e91906110f7565b8260800181815250505f88858151811061036b5761036a61106c565b5b60200260200101515f015173ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103e291906110f7565b9050808360200181815250508373ffffffffffffffffffffffffffffffffffffffff1663f9d3af2b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561045657506040513d601f19601f820116820180604052508101906104539190611099565b60015b6108435788858151811061046d5761046c61106c565b5b60200260200101515f015173ffffffffffffffffffffffffffffffffffffffff1663075461726040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104df57506040513d601f19601f820116820180604052508101906104dc9190611099565b60015b6105eb575f808a87815181106104f8576104f761106c565b5b60200260200101515f015173ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561054b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061056f919061127a565b509150915082670de0b6b3a7640000836dffffffffffffffffffffffffffff1661059991906112f7565b6105a39190611365565b8560a001818152505082670de0b6b3a7640000826dffffffffffffffffffffffffffff166105d191906112f7565b6105db9190611365565b8560c0018181525050505061083e565b5080670de0b6b3a76400008a87815181106106095761060861106c565b5b60200260200101515f015173ffffffffffffffffffffffffffffffffffffffff1663075461726040518163ffffffff1660e01b8152600401602060405180830381865afa15801561065c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106809190611099565b73ffffffffffffffffffffffffffffffffffffffff16634903b0d15f6040518263ffffffff1660e01b81526004016106b891906113d7565b602060405180830381865afa1580156106d3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f791906110f7565b61070191906112f7565b61070b9190611365565b8360a001818152505080670de0b6b3a76400008a87815181106107315761073061106c565b5b60200260200101515f015173ffffffffffffffffffffffffffffffffffffffff1663075461726040518163ffffffff1660e01b8152600401602060405180830381865afa158015610784573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a89190611099565b73ffffffffffffffffffffffffffffffffffffffff16634903b0d160016040518263ffffffff1660e01b81526004016107e19190611429565b602060405180830381865afa1580156107fc573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061082091906110f7565b61082a91906112f7565b6108349190611365565b8360c00181815250505b61093c565b505f8473ffffffffffffffffffffffffffffffffffffffff1663f9d3af2b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561088e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b29190611099565b73ffffffffffffffffffffffffffffffffffffffff1663c7f734486040518163ffffffff1660e01b81526004016040805180830381865afa1580156108f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091d919061148f565b9050805f01518460a001818152505080602001518460c0018181525050505b8373ffffffffffffffffffffffffffffffffffffffff16638f10369a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610985573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a991906110f7565b8360400181815250505f8986815181106109c6576109c561106c565b5b60200260200101516040015173ffffffffffffffffffffffffffffffffffffffff1663f9a0be686040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3e9190611099565b90505f8173ffffffffffffffffffffffffffffffffffffffff1663963c94b96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a8a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aae91906110f7565b90508067ffffffffffffffff811115610aca57610ac9610e71565b5b604051908082528060200260200182016040528015610b0357816020015b610af0610d96565b815260200190600190039081610ae85790505b508561016001819052505f5b81811015610c3b575f8373ffffffffffffffffffffffffffffffffffffffff166354c49fe9836040518263ffffffff1660e01b8152600401610b5191906114c9565b602060405180830381865afa158015610b6c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b909190611099565b90508373ffffffffffffffffffffffffffffffffffffffff166348e9c65e826040518263ffffffff1660e01b8152600401610bcb9190611131565b60c060405180830381865afa158015610be6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c0a919061157f565b8761016001518381518110610c2257610c2161106c565b5b6020026020010181905250508080600101915050610b0f565b5087856101200181815250508573ffffffffffffffffffffffffffffffffffffffff1663f40f0f528d6040518263ffffffff1660e01b8152600401610c809190611131565b602060405180830381865afa158015610c9b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cbf91906110f7565b8561014001818152505084895f01518881518110610ce057610cdf61106c565b5b60200260200101819052505050505050508080600101915050610195565b505f82604051602001610d1191906118cc565b6040516020818303038152906040529050602081018059038082f35b6040518060200160405280606081525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b6040518060c001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81526020015f81525090565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610e2c82610e03565b9050919050565b610e3c81610e22565b8114610e46575f80fd5b50565b5f81519050610e5781610e33565b92915050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610ea782610e61565b810181811067ffffffffffffffff82111715610ec657610ec5610e71565b5b80604052505050565b5f610ed8610df2565b9050610ee48282610e9e565b919050565b5f67ffffffffffffffff821115610f0357610f02610e71565b5b602082029050602081019050919050565b5f80fd5b5f80fd5b5f60608284031215610f3157610f30610f18565b5b610f3b6060610ecf565b90505f610f4a84828501610e49565b5f830152506020610f5d84828501610e49565b6020830152506040610f7184828501610e49565b60408301525092915050565b5f610f8f610f8a84610ee9565b610ecf565b90508083825260208201905060608402830185811115610fb257610fb1610f14565b5b835b81811015610fdb5780610fc78882610f1c565b845260208401935050606081019050610fb4565b5050509392505050565b5f82601f830112610ff957610ff8610e5d565b5b8151611009848260208601610f7d565b91505092915050565b5f806040838503121561102857611027610dfb565b5b5f61103585828601610e49565b925050602083015167ffffffffffffffff81111561105657611055610dff565b5b61106285828601610fe5565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f602082840312156110ae576110ad610dfb565b5b5f6110bb84828501610e49565b91505092915050565b5f819050919050565b6110d6816110c4565b81146110e0575f80fd5b50565b5f815190506110f1816110cd565b92915050565b5f6020828403121561110c5761110b610dfb565b5b5f611119848285016110e3565b91505092915050565b61112b81610e22565b82525050565b5f6020820190506111445f830184611122565b92915050565b5f60a0828403121561115f5761115e610f18565b5b61116960a0610ecf565b90505f611178848285016110e3565b5f83015250602061118b848285016110e3565b602083015250604061119f848285016110e3565b60408301525060606111b3848285016110e3565b60608301525060806111c7848285016110e3565b60808301525092915050565b5f60a082840312156111e8576111e7610dfb565b5b5f6111f58482850161114a565b91505092915050565b5f6dffffffffffffffffffffffffffff82169050919050565b611220816111fe565b811461122a575f80fd5b50565b5f8151905061123b81611217565b92915050565b5f63ffffffff82169050919050565b61125981611241565b8114611263575f80fd5b50565b5f8151905061127481611250565b92915050565b5f805f6060848603121561129157611290610dfb565b5b5f61129e8682870161122d565b93505060206112af8682870161122d565b92505060406112c086828701611266565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611301826110c4565b915061130c836110c4565b925082820261131a816110c4565b91508282048414831517611331576113306112ca565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61136f826110c4565b915061137a836110c4565b92508261138a57611389611338565b5b828204905092915050565b5f819050919050565b5f819050919050565b5f6113c16113bc6113b784611395565b61139e565b6110c4565b9050919050565b6113d1816113a7565b82525050565b5f6020820190506113ea5f8301846113c8565b92915050565b5f819050919050565b5f61141361140e611409846113f0565b61139e565b6110c4565b9050919050565b611423816113f9565b82525050565b5f60208201905061143c5f83018461141a565b92915050565b5f6040828403121561145757611456610f18565b5b6114616040610ecf565b90505f611470848285016110e3565b5f830152506020611483848285016110e3565b60208301525092915050565b5f604082840312156114a4576114a3610dfb565b5b5f6114b184828501611442565b91505092915050565b6114c3816110c4565b82525050565b5f6020820190506114dc5f8301846114ba565b92915050565b5f60c082840312156114f7576114f6610f18565b5b61150160c0610ecf565b90505f61151084828501610e49565b5f83015250602061152384828501610e49565b6020830152506040611537848285016110e3565b604083015250606061154b848285016110e3565b606083015250608061155f848285016110e3565b60808301525060a0611573848285016110e3565b60a08301525092915050565b5f60c0828403121561159457611593610dfb565b5b5f6115a1848285016114e2565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6115dc816110c4565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61161481610e22565b82525050565b60c082015f82015161162e5f85018261160b565b506020820151611641602085018261160b565b50604082015161165460408501826115d3565b50606082015161166760608501826115d3565b50608082015161167a60808501826115d3565b5060a082015161168d60a08501826115d3565b50505050565b5f61169e838361161a565b60c08301905092915050565b5f602082019050919050565b5f6116c0826115e2565b6116ca81856115ec565b93506116d5836115fc565b805f5b838110156117055781516116ec8882611693565b97506116f7836116aa565b9250506001810190506116d8565b5085935050505092915050565b5f61018083015f8301516117285f8601826115d3565b50602083015161173b60208601826115d3565b50604083015161174e60408601826115d3565b50606083015161176160608601826115d3565b50608083015161177460808601826115d3565b5060a083015161178760a08601826115d3565b5060c083015161179a60c08601826115d3565b5060e08301516117ad60e08601826115d3565b506101008301516117c26101008601826115d3565b506101208301516117d76101208601826115d3565b506101408301516117ec6101408601826115d3565b5061016083015184820361016086015261180682826116b6565b9150508091505092915050565b5f61181e8383611712565b905092915050565b5f602082019050919050565b5f61183c826115aa565b61184681856115b4565b935083602082028501611858856115c4565b805f5b8581101561189357848403895281516118748582611813565b945061187f83611826565b925060208a0199505060018101905061185b565b50829750879550505050505092915050565b5f602083015f8301518482035f8601526118bf8282611832565b9150508091505092915050565b5f6020820190508181035f8301526118e481846118a5565b90509291505056fe'
5
+
6
+ const commonInputType = [
7
+ 'address locker, StrategyInfo[] memory inputs',
8
+ 'struct StrategyInfo { address lp; address wrapper; address vault; }',
9
+ ]
10
+
11
+ const commonOutputTypeHr = [
12
+ 'ReturnData returnData',
13
+ 'struct ReturnData { StratsData[] stratsData }',
14
+ 'struct StratsData { uint256 sharesDeposited; uint256 sharesTotalSupply; uint256 rewardPerSecond; uint256 boostedSharesDeposited; uint256 boostedSharesTotalSupply; uint256 token0PerShare; uint256 token1PerShare; uint256 boost; uint256 boostPrecision; uint256 claimerFee; uint256 claimablePendingRewards; RewardData[] sdRewardsData;}',
15
+ 'struct RewardData { address token; address distributor; uint256 period_finish; uint256 rate; uint256 last_update; uint256 integral;}',
16
+ ]
17
+
18
+ const batchPancakeSwapErc20Strats: BatchMetaData = {
19
+ bytecode: {
20
+ 1: commonBytecode,
21
+ 56: commonBytecode,
22
+ 42161: commonBytecode,
23
+ },
24
+ inputType: {
25
+ 1: commonInputType,
26
+ 56: commonInputType,
27
+ 42161: commonInputType,
28
+ },
29
+ outputTypeHr: {
30
+ 1: commonOutputTypeHr,
31
+ 56: commonOutputTypeHr,
32
+ 42161: commonOutputTypeHr,
33
+ },
34
+ outputType: {
35
+ 56: [
36
+ {
37
+ stratsData: [
38
+ {
39
+ sharesDeposited: 'uint256',
40
+ sharesTotalSupply: 'uint256',
41
+ rewardPerSecond: 'uint256',
42
+ boostedSharesDeposited: 'uint256',
43
+ boostedSharesTotalSupply: 'uint256',
44
+ token0PerShare: 'uint256',
45
+ token1PerShare: 'uint256',
46
+ boost: 'uint256',
47
+ boostPrecision: 'uint256',
48
+ claimerFee: 'uint256',
49
+ claimablePendingRewards: 'uint256',
50
+ sdRewardsData: [
51
+ {
52
+ token: 'address',
53
+ distributor: 'address',
54
+ period_finish: 'uint256',
55
+ rate: 'uint256',
56
+ last_update: 'uint256',
57
+ integral: 'uint256',
58
+ },
59
+ ],
60
+ },
61
+ ],
62
+ },
63
+ ],
64
+ },
65
+ }
66
+
67
+ export default batchPancakeSwapErc20Strats
@@ -0,0 +1,50 @@
1
+ import type { BatchMetaData } from '../../types.js'
2
+
3
+ const commonBytecode =
4
+ '0x608060405234801561000f575f80fd5b50604051610a47380380610a47833981810160405281019061003191906104ea565b5f8390505f8390505f8273ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b81526004016100739190610549565b602060405180830381865afa15801561008e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100b29190610595565b90505f8167ffffffffffffffff8111156100cf576100ce6105c0565b5b60405190808252806020026020018201604052801561010857816020015b6100f56103fa565b8152602001906001900390816100ed5790505b5090505f5b828110156103cb575f8573ffffffffffffffffffffffffffffffffffffffff16632f745c5988846040518363ffffffff1660e01b81526004016101519291906105fc565b602060405180830381865afa15801561016c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101909190610595565b90505f8673ffffffffffffffffffffffffffffffffffffffff16633b1acf74836040518263ffffffff1660e01b81526004016101cc9190610623565b61012060405180830381865afa1580156101e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061020c91906107f3565b90506102166103fa565b8281610100018181525050815f0151815f01906fffffffffffffffffffffffffffffffff1690816fffffffffffffffffffffffffffffffff1681525050816020015181602001906fffffffffffffffffffffffffffffffff1690816fffffffffffffffffffffffffffffffff16815250508160400151816040019060020b908160020b815250508160600151816060019060020b908160020b8152505081608001518160800181815250508160a001518160a00181815250508160e001518160c00181815250508161010001518160e00181815250508673ffffffffffffffffffffffffffffffffffffffff1663b3060d36846040518263ffffffff1660e01b81526004016103259190610623565b602060405180830381865afa158015610340573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610364919061081f565b81610120019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050808585815181106103b0576103af61084a565b5b6020026020010181905250505050808060010191505061010d565b505f816040516020016103de9190610a26565b6040516020818303038152906040529050602081018059038082f35b6040518061014001604052805f6fffffffffffffffffffffffffffffffff1681526020015f6fffffffffffffffffffffffffffffffff1681526020015f60020b81526020015f60020b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b5f604051905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6104b982610490565b9050919050565b6104c9816104af565b81146104d3575f80fd5b50565b5f815190506104e4816104c0565b92915050565b5f805f606084860312156105015761050061048c565b5b5f61050e868287016104d6565b935050602061051f868287016104d6565b9250506040610530868287016104d6565b9150509250925092565b610543816104af565b82525050565b5f60208201905061055c5f83018461053a565b92915050565b5f819050919050565b61057481610562565b811461057e575f80fd5b50565b5f8151905061058f8161056b565b92915050565b5f602082840312156105aa576105a961048c565b5b5f6105b784828501610581565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6105f681610562565b82525050565b5f60408201905061060f5f83018561053a565b61061c60208301846105ed565b9392505050565b5f6020820190506106365f8301846105ed565b92915050565b5f80fd5b5f601f19601f8301169050919050565b61065982610640565b810181811067ffffffffffffffff82111715610678576106776105c0565b5b80604052505050565b5f61068a610483565b90506106968282610650565b919050565b5f6fffffffffffffffffffffffffffffffff82169050919050565b6106bf8161069b565b81146106c9575f80fd5b50565b5f815190506106da816106b6565b92915050565b5f8160020b9050919050565b6106f5816106e0565b81146106ff575f80fd5b50565b5f81519050610710816106ec565b92915050565b5f610120828403121561072c5761072b61063c565b5b610737610120610681565b90505f610746848285016106cc565b5f830152506020610759848285016106cc565b602083015250604061076d84828501610702565b604083015250606061078184828501610702565b606083015250608061079584828501610581565b60808301525060a06107a984828501610581565b60a08301525060c06107bd848285016104d6565b60c08301525060e06107d184828501610581565b60e0830152506101006107e684828501610581565b6101008301525092915050565b5f61012082840312156108095761080861048c565b5b5f61081684828501610716565b91505092915050565b5f602082840312156108345761083361048c565b5b5f610841848285016104d6565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6108a98161069b565b82525050565b6108b8816106e0565b82525050565b6108c781610562565b82525050565b6108d6816104af565b82525050565b61014082015f8201516108f15f8501826108a0565b50602082015161090460208501826108a0565b50604082015161091760408501826108af565b50606082015161092a60608501826108af565b50608082015161093d60808501826108be565b5060a082015161095060a08501826108be565b5060c082015161096360c08501826108be565b5060e082015161097660e08501826108be565b5061010082015161098b6101008501826108be565b506101208201516109a06101208501826108cd565b50505050565b5f6109b183836108dc565b6101408301905092915050565b5f602082019050919050565b5f6109d482610877565b6109de8185610881565b93506109e983610891565b805f5b83811015610a19578151610a0088826109a6565b9750610a0b836109be565b9250506001810190506109ec565b5085935050505092915050565b5f6020820190508181035f830152610a3e81846109ca565b90509291505056fe'
5
+
6
+ const commonInputType = ['address _masterChef, address _strategy, address _locker']
7
+
8
+ const commonOutputTypeHr = [
9
+ 'PositionInfo[] returnData',
10
+ 'struct PositionInfo { uint128 liquidity; uint128 boostLiquidity; int24 tickLower; int24 tickUpper; uint256 rewardGrowthInside; uint256 reward; uint256 pid; uint256 boostMultiplier; uint256 tokenId; address owner; }',
11
+ ]
12
+
13
+ const batchPancakeSwapPositions: BatchMetaData = {
14
+ bytecode: {
15
+ 1: commonBytecode,
16
+ 56: commonBytecode,
17
+ 42161: commonBytecode,
18
+ },
19
+ inputType: {
20
+ 1: commonInputType,
21
+ 56: commonInputType,
22
+ 42161: commonInputType,
23
+ },
24
+ outputTypeHr: {
25
+ 1: commonOutputTypeHr,
26
+ 56: commonOutputTypeHr,
27
+ 42161: commonOutputTypeHr,
28
+ },
29
+ outputType: {
30
+ 56: [
31
+ {
32
+ returnData: [
33
+ {
34
+ liquidity: 'uint128',
35
+ boostLiquidity: 'uint128',
36
+ tickLower: 'int24',
37
+ tickUpper: 'int24',
38
+ rewardGrowthInside: 'uint256',
39
+ reward: 'uint256',
40
+ pid: 'uint256',
41
+ boostMultiplier: 'uint256',
42
+ tokenId: 'uint256',
43
+ },
44
+ ],
45
+ },
46
+ ],
47
+ },
48
+ }
49
+
50
+ export default batchPancakeSwapPositions
@@ -0,0 +1,54 @@
1
+ import type { BatchMetaData } from '../../types.js'
2
+
3
+ const commonBytecode =
4
+ '0x608060405234801561000f575f80fd5b50604051610d4c380380610d4c833981810160405281019061003191906106f4565b5f8290505f82519050610042610435565b8167ffffffffffffffff81111561005c5761005b610534565b5b60405190808252806020026020018201604052801561009557816020015b610082610454565b81526020019060019003908161007a5790505b5081604001819052508273ffffffffffffffffffffffffffffffffffffffff166317caf6f16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061010b919061074e565b815f0181815250508273ffffffffffffffffffffffffffffffffffffffff1663c4f6a8ce6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561015c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610180919061074e565b8160200181815250505f5b82811015610406575f8582815181106101a7576101a6610779565b5b602002602001015190506101b9610454565b5f826020015190505f8173ffffffffffffffffffffffffffffffffffffffff16633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa15801561020b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061022f919061095c565b90505f8873ffffffffffffffffffffffffffffffffffffffff16631526fe27865f01516040518263ffffffff1660e01b815260040161026e9190610996565b60e060405180830381865afa158015610289573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102ad9190610ad3565b9050845f0151845f01818152505081602001518460a0019060020b908160020b81525050815f01518460c0019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050805f01518460200181815250508060a001518460400181815250508060c001518460600181815250508273ffffffffffffffffffffffffffffffffffffffff16631a6865026040518163ffffffff1660e01b8152600401602060405180830381865afa15801561037e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103a29190610b43565b84608001906fffffffffffffffffffffffffffffffff1690816fffffffffffffffffffffffffffffffff168152505083876040015187815181106103e9576103e8610779565b5b60200260200101819052505050505050808060010191505061018b565b505f816040516020016104199190610d2b565b6040516020818303038152906040529050602081018059038082f35b60405180606001604052805f81526020015f8152602001606081525090565b6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f6fffffffffffffffffffffffffffffffff1681526020015f60020b81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6104ef826104c6565b9050919050565b6104ff816104e5565b8114610509575f80fd5b50565b5f8151905061051a816104f6565b92915050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61056a82610524565b810181811067ffffffffffffffff8211171561058957610588610534565b5b80604052505050565b5f61059b6104b5565b90506105a78282610561565b919050565b5f67ffffffffffffffff8211156105c6576105c5610534565b5b602082029050602081019050919050565b5f80fd5b5f80fd5b5f819050919050565b6105f1816105df565b81146105fb575f80fd5b50565b5f8151905061060c816105e8565b92915050565b5f60408284031215610627576106266105db565b5b6106316040610592565b90505f610640848285016105fe565b5f8301525060206106538482850161050c565b60208301525092915050565b5f61067161066c846105ac565b610592565b90508083825260208201905060408402830185811115610694576106936105d7565b5b835b818110156106bd57806106a98882610612565b845260208401935050604081019050610696565b5050509392505050565b5f82601f8301126106db576106da610520565b5b81516106eb84826020860161065f565b91505092915050565b5f806040838503121561070a576107096104be565b5b5f6107178582860161050c565b925050602083015167ffffffffffffffff811115610738576107376104c2565b5b610744858286016106c7565b9150509250929050565b5f60208284031215610763576107626104be565b5b5f610770848285016105fe565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6107af816104c6565b81146107b9575f80fd5b50565b5f815190506107ca816107a6565b92915050565b5f8160020b9050919050565b6107e5816107d0565b81146107ef575f80fd5b50565b5f81519050610800816107dc565b92915050565b5f61ffff82169050919050565b61081c81610806565b8114610826575f80fd5b50565b5f8151905061083781610813565b92915050565b5f63ffffffff82169050919050565b6108558161083d565b811461085f575f80fd5b50565b5f815190506108708161084c565b92915050565b5f8115159050919050565b61088a81610876565b8114610894575f80fd5b50565b5f815190506108a581610881565b92915050565b5f60e082840312156108c0576108bf6105db565b5b6108ca60e0610592565b90505f6108d9848285016107bc565b5f8301525060206108ec848285016107f2565b602083015250604061090084828501610829565b604083015250606061091484828501610829565b606083015250608061092884828501610829565b60808301525060a061093c84828501610862565b60a08301525060c061095084828501610897565b60c08301525092915050565b5f60e08284031215610971576109706104be565b5b5f61097e848285016108ab565b91505092915050565b610990816105df565b82525050565b5f6020820190506109a95f830184610987565b92915050565b5f6109b9826104e5565b9050919050565b6109c9816109af565b81146109d3575f80fd5b50565b5f815190506109e4816109c0565b92915050565b5f62ffffff82169050919050565b610a01816109ea565b8114610a0b575f80fd5b50565b5f81519050610a1c816109f8565b92915050565b5f60e08284031215610a3757610a366105db565b5b610a4160e0610592565b90505f610a50848285016105fe565b5f830152506020610a63848285016109d6565b6020830152506040610a778482850161050c565b6040830152506060610a8b8482850161050c565b6060830152506080610a9f84828501610a0e565b60808301525060a0610ab3848285016105fe565b60a08301525060c0610ac7848285016105fe565b60c08301525092915050565b5f60e08284031215610ae857610ae76104be565b5b5f610af584828501610a22565b91505092915050565b5f6fffffffffffffffffffffffffffffffff82169050919050565b610b2281610afe565b8114610b2c575f80fd5b50565b5f81519050610b3d81610b19565b92915050565b5f60208284031215610b5857610b576104be565b5b5f610b6584828501610b2f565b91505092915050565b610b77816105df565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610baf81610afe565b82525050565b610bbe816107d0565b82525050565b610bcd816104c6565b82525050565b60e082015f820151610be75f850182610b6e565b506020820151610bfa6020850182610b6e565b506040820151610c0d6040850182610b6e565b506060820151610c206060850182610b6e565b506080820151610c336080850182610ba6565b5060a0820151610c4660a0850182610bb5565b5060c0820151610c5960c0850182610bc4565b50505050565b5f610c6a8383610bd3565b60e08301905092915050565b5f602082019050919050565b5f610c8c82610b7d565b610c968185610b87565b9350610ca183610b97565b805f5b83811015610cd1578151610cb88882610c5f565b9750610cc383610c76565b925050600181019050610ca4565b5085935050505092915050565b5f606083015f830151610cf35f860182610b6e565b506020830151610d066020860182610b6e565b5060408301518482036040860152610d1e8282610c82565b9150508091505092915050565b5f6020820190508181035f830152610d438184610cde565b90509291505056fe'
5
+
6
+ const commonInputType = [
7
+ 'address _masterChef, PoolInfo[] memory inputs',
8
+ 'struct PoolInfo { uint256 pid; address pool; }',
9
+ ]
10
+
11
+ const commonOutputTypeHr = [
12
+ 'PancakeSwapReturnData returnData',
13
+ 'struct PancakeSwapReturnData { uint256 totalAllocPoint; uint256 inflationRate;PancakeSwapStratsData[] pancakeSwapStratsData }',
14
+ 'struct PancakeSwapStratsData { uint256 id; uint256 allocPoint; uint256 totalLiquidity; uint256 totalBoostLiquidity; uint128 poolLiquidity; int24 tick; uint160 sqrtPriceX96; }',
15
+ ]
16
+
17
+ const batchPancakeswapStrats: BatchMetaData = {
18
+ bytecode: {
19
+ 1: commonBytecode,
20
+ 56: commonBytecode,
21
+ 42161: commonBytecode,
22
+ },
23
+ inputType: {
24
+ 1: commonInputType,
25
+ 56: commonInputType,
26
+ 42161: commonInputType,
27
+ },
28
+ outputTypeHr: {
29
+ 1: commonOutputTypeHr,
30
+ 56: commonOutputTypeHr,
31
+ 42161: commonOutputTypeHr,
32
+ },
33
+ outputType: {
34
+ 56: [
35
+ {
36
+ totalAllocPoint: 'uint256',
37
+ inflationRate: 'uint256',
38
+ pancakeSwapStratsData: [
39
+ {
40
+ id: 'uint256',
41
+ allocPoint: 'uint256',
42
+ totalLiquidity: 'uint256',
43
+ totalBoostLiquidity: 'uint256',
44
+ poolLiquidity: 'uint128',
45
+ tick: 'int24',
46
+ sqrtPriceX96: 'uint160',
47
+ },
48
+ ],
49
+ },
50
+ ],
51
+ },
52
+ }
53
+
54
+ export default batchPancakeswapStrats
@@ -0,0 +1,65 @@
1
+ import type { BatchMetaData } from '../../types.js'
2
+
3
+ const batchPendleStrats: BatchMetaData = {
4
+ bytecode: {
5
+ 1: '0x608060405234801561000f575f80fd5b5060405161195a38038061195a83398181016040528101906100319190610faf565b5f815190505f8167ffffffffffffffff81111561005157610050610e22565b5b60405190808252806020026020018201604052801561008a57816020015b610077610c5f565b81526020019060019003908161006f5790505b5090505f8490505f5b83811015610c30576100a3610c5f565b5f8683815181106100b7576100b6611009565b5b60200260200101515f015190505f8784815181106100d8576100d7611009565b5b60200260200101516020015190505f8273ffffffffffffffffffffffffffffffffffffffff1663f9a0be686040518163ffffffff1660e01b8152600401602060405180830381865afa158015610130573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101549190611036565b90505f81905083856040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505082855f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508185610100019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561024b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061026f9190611094565b8560800181815250508273ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b81526004016102b191906110ce565b602060405180830381865afa1580156102cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102f09190611094565b8560600181815250508273ffffffffffffffffffffffffffffffffffffffff166370a0823173d8fa8dc5adec503acc5e026a98f32ca5c1fa289a6040518263ffffffff1660e01b815260040161034691906110ce565b602060405180830381865afa158015610361573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103859190611094565b8560a00181815250508273ffffffffffffffffffffffffffffffffffffffff16630892cd8b73d8fa8dc5adec503acc5e026a98f32ca5c1fa289a6040518263ffffffff1660e01b81526004016103db91906110ce565b602060405180830381865afa1580156103f6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061041a9190611094565b8560c00181815250508273ffffffffffffffffffffffffffffffffffffffff1663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561046c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104909190611094565b8560200181815250508073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104e2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105069190611094565b856101200181815250508073ffffffffffffffffffffffffffffffffffffffff166317e280896040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061057d9190611094565b856101400181815250508673ffffffffffffffffffffffffffffffffffffffff16634e791a3a826040518263ffffffff1660e01b81526004016105c091906110ce565b602060405180830381865afa1580156105db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ff9190611094565b856101600181815250508673ffffffffffffffffffffffffffffffffffffffff16636207d866826040518263ffffffff1660e01b815260040161064291906110ce565b602060405180830381865afa15801561065d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106819190611094565b856101800181815250505f8373ffffffffffffffffffffffffffffffffffffffff1663c4f59f9b6040518163ffffffff1660e01b81526004015f60405180830381865afa1580156106d4573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906106fc91906111a7565b9050805167ffffffffffffffff81111561071957610718610e22565b5b60405190808252806020026020018201604052801561075257816020015b61073f610d0b565b8152602001906001900390816107375790505b508660e001819052505f5b815181101561095b5761076e610d0b565b5f83838151811061078257610781611009565b5b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa1580156107d4573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906107fc919061129e565b825f01819052508073ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa15801561084b573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190610873919061129e565b826020018190525080826060019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108fc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109209190611094565b826040018181525050818960e00151848151811061094157610940611009565b5b60200260200101819052505050808060010191505061075d565b505f8273ffffffffffffffffffffffffffffffffffffffff1663963c94b96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ca9190611094565b90508067ffffffffffffffff8111156109e6576109e5610e22565b5b604051908082528060200260200182016040528015610a145781602001602082028036833780820191505090505b50876101a001819052508067ffffffffffffffff811115610a3857610a37610e22565b5b604051908082528060200260200182016040528015610a7157816020015b610a5e610d47565b815260200190600190039081610a565790505b50876101c001819052505f5b81811015610bfc575f8473ffffffffffffffffffffffffffffffffffffffff166354c49fe9836040518263ffffffff1660e01b8152600401610abf91906112f4565b602060405180830381865afa158015610ada573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610afe9190611036565b905080896101a001518381518110610b1957610b18611009565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508473ffffffffffffffffffffffffffffffffffffffff166348e9c65e826040518263ffffffff1660e01b8152600401610b8c91906110ce565b60c060405180830381865afa158015610ba7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bcb91906113aa565b896101c001518381518110610be357610be2611009565b5b6020026020010181905250508080600101915050610a7d565b50868a8981518110610c1157610c10611009565b5b6020026020010181905250505050505050508080600101915050610093565b505f82604051602001610c439190611939565b6040516020818303038152906040529050602081018059038082f35b604051806101e001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81526020015f8152602001606081526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b604051806080016040528060608152602001606081526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b6040518060c001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81526020015f81525090565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610ddd82610db4565b9050919050565b610ded81610dd3565b8114610df7575f80fd5b50565b5f81519050610e0881610de4565b92915050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610e5882610e12565b810181811067ffffffffffffffff82111715610e7757610e76610e22565b5b80604052505050565b5f610e89610da3565b9050610e958282610e4f565b919050565b5f67ffffffffffffffff821115610eb457610eb3610e22565b5b602082029050602081019050919050565b5f80fd5b5f80fd5b5f60408284031215610ee257610ee1610ec9565b5b610eec6040610e80565b90505f610efb84828501610dfa565b5f830152506020610f0e84828501610dfa565b60208301525092915050565b5f610f2c610f2784610e9a565b610e80565b90508083825260208201905060408402830185811115610f4f57610f4e610ec5565b5b835b81811015610f785780610f648882610ecd565b845260208401935050604081019050610f51565b5050509392505050565b5f82601f830112610f9657610f95610e0e565b5b8151610fa6848260208601610f1a565b91505092915050565b5f8060408385031215610fc557610fc4610dac565b5b5f610fd285828601610dfa565b925050602083015167ffffffffffffffff811115610ff357610ff2610db0565b5b610fff85828601610f82565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6020828403121561104b5761104a610dac565b5b5f61105884828501610dfa565b91505092915050565b5f819050919050565b61107381611061565b811461107d575f80fd5b50565b5f8151905061108e8161106a565b92915050565b5f602082840312156110a9576110a8610dac565b5b5f6110b684828501611080565b91505092915050565b6110c881610dd3565b82525050565b5f6020820190506110e15f8301846110bf565b92915050565b5f67ffffffffffffffff82111561110157611100610e22565b5b602082029050602081019050919050565b5f61112461111f846110e7565b610e80565b9050808382526020820190506020840283018581111561114757611146610ec5565b5b835b81811015611170578061115c8882610dfa565b845260208401935050602081019050611149565b5050509392505050565b5f82601f83011261118e5761118d610e0e565b5b815161119e848260208601611112565b91505092915050565b5f602082840312156111bc576111bb610dac565b5b5f82015167ffffffffffffffff8111156111d9576111d8610db0565b5b6111e58482850161117a565b91505092915050565b5f80fd5b5f67ffffffffffffffff82111561120c5761120b610e22565b5b61121582610e12565b9050602081019050919050565b8281835e5f83830152505050565b5f61124261123d846111f2565b610e80565b90508281526020810184848401111561125e5761125d6111ee565b5b611269848285611222565b509392505050565b5f82601f83011261128557611284610e0e565b5b8151611295848260208601611230565b91505092915050565b5f602082840312156112b3576112b2610dac565b5b5f82015167ffffffffffffffff8111156112d0576112cf610db0565b5b6112dc84828501611271565b91505092915050565b6112ee81611061565b82525050565b5f6020820190506113075f8301846112e5565b92915050565b5f60c0828403121561132257611321610ec9565b5b61132c60c0610e80565b90505f61133b84828501610dfa565b5f83015250602061134e84828501610dfa565b602083015250604061136284828501611080565b604083015250606061137684828501611080565b606083015250608061138a84828501611080565b60808301525060a061139e84828501611080565b60a08301525092915050565b5f60c082840312156113bf576113be610dac565b5b5f6113cc8482850161130d565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61140781610dd3565b82525050565b61141681611061565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f81519050919050565b5f82825260208201905092915050565b5f61146982611445565b611473818561144f565b9350611483818560208601611222565b61148c81610e12565b840191505092915050565b5f608083015f8301518482035f8601526114b1828261145f565b915050602083015184820360208601526114cb828261145f565b91505060408301516114e0604086018261140d565b5060608301516114f360608601826113fe565b508091505092915050565b5f6115098383611497565b905092915050565b5f602082019050919050565b5f6115278261141c565b6115318185611426565b93508360208202850161154385611436565b805f5b8581101561157e578484038952815161155f85826114fe565b945061156a83611511565b925060208a01995050600181019050611546565b50829750879550505050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f6115c483836113fe565b60208301905092915050565b5f602082019050919050565b5f6115e682611590565b6115f0818561159a565b93506115fb836115aa565b805f5b8381101561162b57815161161288826115b9565b975061161d836115d0565b9250506001810190506115fe565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b60c082015f8201516116755f8501826113fe565b50602082015161168860208501826113fe565b50604082015161169b604085018261140d565b5060608201516116ae606085018261140d565b5060808201516116c1608085018261140d565b5060a08201516116d460a085018261140d565b50505050565b5f6116e58383611661565b60c08301905092915050565b5f602082019050919050565b5f61170782611638565b6117118185611642565b935061171c83611652565b805f5b8381101561174c57815161173388826116da565b975061173e836116f1565b92505060018101905061171f565b5085935050505092915050565b5f6101e083015f83015161176f5f8601826113fe565b506020830151611782602086018261140d565b50604083015161179560408601826113fe565b5060608301516117a8606086018261140d565b5060808301516117bb608086018261140d565b5060a08301516117ce60a086018261140d565b5060c08301516117e160c086018261140d565b5060e083015184820360e08601526117f9828261151d565b9150506101008301516118106101008601826113fe565b5061012083015161182561012086018261140d565b5061014083015161183a61014086018261140d565b5061016083015161184f61016086018261140d565b5061018083015161186461018086018261140d565b506101a08301518482036101a086015261187e82826115dc565b9150506101c08301518482036101c086015261189a82826116fd565b9150508091505092915050565b5f6118b28383611759565b905092915050565b5f602082019050919050565b5f6118d0826113d5565b6118da81856113df565b9350836020820285016118ec856113ef565b805f5b85811015611927578484038952815161190885826118a7565b9450611913836118ba565b925060208a019950506001810190506118ef565b50829750879550505050505092915050565b5f6020820190508181035f83015261195181846118c6565b90509291505056fe',
6
+ },
7
+ inputType: {
8
+ 1: ['address _gaugeController, Input[] memory inputs', 'struct Input { address vault; address lp; }'],
9
+ },
10
+ outputTypeHr: {
11
+ 1: [
12
+ 'PendleStrat[] returnData',
13
+ 'struct PendleStrat { address lpt; uint256 expiry; address vault; uint256 vaultHoldings; uint256 totalSupply; uint256 strategyHoldings; uint256 workingBalance; GaugeRewards[] rewards; address sdGauge; uint256 sdGaugeTotalSupply; uint256 sdGaugeWorkingSupply; uint256 sdGaugeWeight; uint256 sdGaugeRelativeWeight; address[] sdRewardsTokens; RewardData[] sdRewards; }',
14
+ 'struct GaugeRewards { string name; string symbol; uint256 decimals; address _address; }',
15
+ 'struct RewardData { address token; address distributor; uint256 period_finish; uint256 rate; uint256 last_update; uint256 integral; }',
16
+ ],
17
+ },
18
+ outputType: {
19
+ 1: [
20
+ {
21
+ type: 'tuple[]',
22
+ name: 'returnData',
23
+ components: [
24
+ { type: 'address', name: 'lpt' },
25
+ { type: 'uint256', name: 'expiry' },
26
+ { type: 'address', name: 'vault' },
27
+ { type: 'uint256', name: 'vaultHoldings' },
28
+ { type: 'uint256', name: 'totalSupply' },
29
+ { type: 'uint256', name: 'strategyHoldings' },
30
+ { type: 'uint256', name: 'workingBalance' },
31
+ {
32
+ type: 'tuple[]',
33
+ name: 'rewards',
34
+ components: [
35
+ { type: 'string', name: 'name' },
36
+ { type: 'string', name: 'symbol' },
37
+ { type: 'uint256', name: 'decimals' },
38
+ { type: 'address', name: '_address' },
39
+ ],
40
+ },
41
+ { type: 'address', name: 'sdGauge' },
42
+ { type: 'uint256', name: 'sdGaugeTotalSupply' },
43
+ { type: 'uint256', name: 'sdGaugeWorkingSupply' },
44
+ { type: 'uint256', name: 'sdGaugeWeight' },
45
+ { type: 'uint256', name: 'sdGaugeRelativeWeight' },
46
+ { type: 'address[]', name: 'sdRewardsTokens' },
47
+ {
48
+ type: 'tuple[]',
49
+ name: 'sdRewards',
50
+ components: [
51
+ { type: 'address', name: 'token' },
52
+ { type: 'address', name: 'distributor' },
53
+ { type: 'uint256', name: 'period_finish' },
54
+ { type: 'uint256', name: 'rate' },
55
+ { type: 'uint256', name: 'last_update' },
56
+ { type: 'uint256', name: 'integral' },
57
+ ],
58
+ },
59
+ ],
60
+ },
61
+ ],
62
+ },
63
+ }
64
+
65
+ export default batchPendleStrats
@@ -0,0 +1,56 @@
1
+ import type { BatchMetaData } from '../../types.js'
2
+
3
+ const buildBalancerStrats: BatchMetaData = {
4
+ bytecode: {
5
+ 1: '0x608060405234801561000f575f80fd5b50604051611a5f380380611a5f83398181016040528101906100319190611121565b5f815190505f8167ffffffffffffffff81111561005157610050610f94565b5b60405190808252806020026020018201604052801561008a57816020015b610077610e13565b81526020019060019003908161006f5790505b5090505f8490505f5b83811015610de4575f8582815181106100af576100ae61117b565b5b602002602001015190505f815f015190505f826020015190505f8273ffffffffffffffffffffffffffffffffffffffff16636835b8886040518163ffffffff1660e01b8152600401602060405180830381865afa158015610112573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061013691906111a8565b90505f8373ffffffffffffffffffffffffffffffffffffffff1663f9a0be686040518163ffffffff1660e01b8152600401602060405180830381865afa158015610182573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101a691906111a8565b90505f8473ffffffffffffffffffffffffffffffffffffffff16633e0dc34e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101f2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102169190611206565b90508089888151811061022c5761022b61117b565b5b60200260200101515f018181525050855f01518988815181106102525761025161117b565b5b60200260200101516020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508273ffffffffffffffffffffffffffffffffffffffff1663b9a09fd587602001516040518263ffffffff1660e01b81526004016102cd9190611240565b602060405180830381865afa1580156102e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030c91906111a8565b89888151811061031f5761031e61117b565b5b60200260200101516060019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa1580156103a5573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906103cd9190611309565b8988815181106103e0576103df61117b565b5b6020026020010151604001515f01819052508373ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa15801561043a573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906104629190611309565b8988815181106104755761047461117b565b5b602002602001015160400151602001819052508373ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104f59190611383565b8988815181106105085761050761117b565b5b602002602001015160400151604001818152505085602001518988815181106105345761053361117b565b5b6020026020010151604001516060019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f8873ffffffffffffffffffffffffffffffffffffffff1663f94d4668836040518263ffffffff1660e01b81526004016105b091906113bd565b5f60405180830381865afa1580156105ca573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906105f29190611556565b505090505f815190508067ffffffffffffffff81111561061557610614610f94565b5b60405190808252806020026020018201604052801561064e57816020015b61063b610e7b565b8152602001906001900390816106335790505b508b8a815181106106625761066161117b565b5b6020026020010151608001819052505f5b81811015610924575f83828151811061068f5761068e61117b565b5b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa1580156106e1573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906107099190611309565b8d8c8151811061071c5761071b61117b565b5b602002602001015160800151838151811061073a5761073961117b565b5b60200260200101515f01819052508073ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa158015610790573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906107b89190611309565b8d8c815181106107cb576107ca61117b565b5b60200260200101516080015183815181106107e9576107e861117b565b5b6020026020010151602001819052508073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610841573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108659190611383565b8d8c815181106108785761087761117b565b5b60200260200101516080015183815181106108965761089561117b565b5b60200260200101516040018181525050808d8c815181106108ba576108b961117b565b5b60200260200101516080015183815181106108d8576108d761117b565b5b60200260200101516060019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050508080600101915050610673565b505f8473ffffffffffffffffffffffffffffffffffffffff1663963c94b96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561096f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109939190611383565b90508067ffffffffffffffff8111156109af576109ae610f94565b5b6040519080825280602002602001820160405280156109e857816020015b6109d5610eb7565b8152602001906001900390816109cd5790505b508c8b815181106109fc576109fb61117b565b5b602002602001015160a001819052505f5b81811015610dcd575f8673ffffffffffffffffffffffffffffffffffffffff166354c49fe9836040518263ffffffff1660e01b8152600401610a4f91906115ed565b602060405180830381865afa158015610a6a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a8e91906111a8565b9050868e8d81518110610aa457610aa361117b565b5b602002602001015160a001518381518110610ac257610ac161117b565b5b60200260200101515f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050818e8d81518110610b1357610b1261117b565b5b602002602001015160a001518381518110610b3157610b3061117b565b5b602002602001015160200181815250508073ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa158015610b89573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190610bb19190611309565b8e8d81518110610bc457610bc361117b565b5b602002602001015160a001518381518110610be257610be161117b565b5b6020026020010151604001819052508073ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa158015610c39573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190610c619190611309565b8e8d81518110610c7457610c7361117b565b5b602002602001015160a001518381518110610c9257610c9161117b565b5b6020026020010151606001819052508073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d0e9190611383565b8e8d81518110610d2157610d2061117b565b5b602002602001015160a001518381518110610d3f57610d3e61117b565b5b60200260200101516080018181525050808e8d81518110610d6357610d6261117b565b5b602002602001015160a001518381518110610d8157610d8061117b565b5b602002602001015160a0019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050508080600101915050610a0d565b505050505050505050508080600101915050610093565b505f82604051602001610df79190611a3e565b6040516020818303038152906040529050602081018059038082f35b6040518060c001604052805f80191681526020015f73ffffffffffffffffffffffffffffffffffffffff168152602001610e4b610e7b565b81526020015f73ffffffffffffffffffffffffffffffffffffffff16815260200160608152602001606081525090565b604051806080016040528060608152602001606081526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b6040518060c001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f815260200160608152602001606081526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610f4f82610f26565b9050919050565b610f5f81610f45565b8114610f69575f80fd5b50565b5f81519050610f7a81610f56565b92915050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610fca82610f84565b810181811067ffffffffffffffff82111715610fe957610fe8610f94565b5b80604052505050565b5f610ffb610f15565b90506110078282610fc1565b919050565b5f67ffffffffffffffff82111561102657611025610f94565b5b602082029050602081019050919050565b5f80fd5b5f80fd5b5f604082840312156110545761105361103b565b5b61105e6040610ff2565b90505f61106d84828501610f6c565b5f83015250602061108084828501610f6c565b60208301525092915050565b5f61109e6110998461100c565b610ff2565b905080838252602082019050604084028301858111156110c1576110c0611037565b5b835b818110156110ea57806110d6888261103f565b8452602084019350506040810190506110c3565b5050509392505050565b5f82601f83011261110857611107610f80565b5b815161111884826020860161108c565b91505092915050565b5f806040838503121561113757611136610f1e565b5b5f61114485828601610f6c565b925050602083015167ffffffffffffffff81111561116557611164610f22565b5b611171858286016110f4565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f602082840312156111bd576111bc610f1e565b5b5f6111ca84828501610f6c565b91505092915050565b5f819050919050565b6111e5816111d3565b81146111ef575f80fd5b50565b5f81519050611200816111dc565b92915050565b5f6020828403121561121b5761121a610f1e565b5b5f611228848285016111f2565b91505092915050565b61123a81610f45565b82525050565b5f6020820190506112535f830184611231565b92915050565b5f80fd5b5f67ffffffffffffffff82111561127757611276610f94565b5b61128082610f84565b9050602081019050919050565b8281835e5f83830152505050565b5f6112ad6112a88461125d565b610ff2565b9050828152602081018484840111156112c9576112c8611259565b5b6112d484828561128d565b509392505050565b5f82601f8301126112f0576112ef610f80565b5b815161130084826020860161129b565b91505092915050565b5f6020828403121561131e5761131d610f1e565b5b5f82015167ffffffffffffffff81111561133b5761133a610f22565b5b611347848285016112dc565b91505092915050565b5f819050919050565b61136281611350565b811461136c575f80fd5b50565b5f8151905061137d81611359565b92915050565b5f6020828403121561139857611397610f1e565b5b5f6113a58482850161136f565b91505092915050565b6113b7816111d3565b82525050565b5f6020820190506113d05f8301846113ae565b92915050565b5f67ffffffffffffffff8211156113f0576113ef610f94565b5b602082029050602081019050919050565b5f61141361140e846113d6565b610ff2565b9050808382526020820190506020840283018581111561143657611435611037565b5b835b8181101561145f578061144b8882610f6c565b845260208401935050602081019050611438565b5050509392505050565b5f82601f83011261147d5761147c610f80565b5b815161148d848260208601611401565b91505092915050565b5f67ffffffffffffffff8211156114b0576114af610f94565b5b602082029050602081019050919050565b5f6114d36114ce84611496565b610ff2565b905080838252602082019050602084028301858111156114f6576114f5611037565b5b835b8181101561151f578061150b888261136f565b8452602084019350506020810190506114f8565b5050509392505050565b5f82601f83011261153d5761153c610f80565b5b815161154d8482602086016114c1565b91505092915050565b5f805f6060848603121561156d5761156c610f1e565b5b5f84015167ffffffffffffffff81111561158a57611589610f22565b5b61159686828701611469565b935050602084015167ffffffffffffffff8111156115b7576115b6610f22565b5b6115c386828701611529565b92505060406115d48682870161136f565b9150509250925092565b6115e781611350565b82525050565b5f6020820190506116005f8301846115de565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b611638816111d3565b82525050565b61164781610f45565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f6116718261164d565b61167b8185611657565b935061168b81856020860161128d565b61169481610f84565b840191505092915050565b6116a881611350565b82525050565b5f608083015f8301518482035f8601526116c88282611667565b915050602083015184820360208601526116e28282611667565b91505060408301516116f7604086018261169f565b50606083015161170a606086018261163e565b508091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f61174983836116ae565b905092915050565b5f602082019050919050565b5f61176782611715565b611771818561171f565b9350836020820285016117838561172f565b805f5b858110156117be578484038952815161179f858261173e565b94506117aa83611751565b925060208a01995050600181019050611786565b50829750879550505050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f60c083015f83015161180e5f86018261163e565b506020830151611821602086018261169f565b50604083015184820360408601526118398282611667565b915050606083015184820360608601526118538282611667565b9150506080830151611868608086018261169f565b5060a083015161187b60a086018261163e565b508091505092915050565b5f61189183836117f9565b905092915050565b5f602082019050919050565b5f6118af826117d0565b6118b981856117da565b9350836020820285016118cb856117ea565b805f5b8581101561190657848403895281516118e78582611886565b94506118f283611899565b925060208a019950506001810190506118ce565b50829750879550505050505092915050565b5f60c083015f83015161192d5f86018261162f565b506020830151611940602086018261163e565b506040830151848203604086015261195882826116ae565b915050606083015161196d606086018261163e565b5060808301518482036080860152611985828261175d565b91505060a083015184820360a086015261199f82826118a5565b9150508091505092915050565b5f6119b78383611918565b905092915050565b5f602082019050919050565b5f6119d582611606565b6119df8185611610565b9350836020820285016119f185611620565b805f5b85811015611a2c5784840389528151611a0d85826119ac565b9450611a18836119bf565b925060208a019950506001810190506119f4565b50829750879550505050505092915050565b5f6020820190508181035f830152611a5681846119cb565b90509291505056fe',
6
+ },
7
+ inputType: {
8
+ 1: [
9
+ 'address _balancerPool, BuildBalancerStategyInfo[] inputs',
10
+ 'struct BuildBalancerStategyInfo { address vault; address token; }',
11
+ ],
12
+ },
13
+ outputTypeHr: {
14
+ 1: [
15
+ 'BuildBalancerStratsData[] balancerStratsData',
16
+ 'struct BuildBalancerStratsData { bytes32 key; address vault; BuildBalancerErc20Data lpToken; address gauge; BuildBalancerErc20Data[] coins; BuildBalancerRewardData[] rewards; }',
17
+ 'struct BuildBalancerErc20Data { string _name; string _symbol; uint256 _decimals; address _address; }',
18
+ 'struct BuildBalancerRewardData { address _gauge; uint256 _indexInGauge; string _name; string _symbol; uint256 _decimals; address _address; }',
19
+ ],
20
+ },
21
+ outputType: {
22
+ 1: [
23
+ {
24
+ key: 'bytes32',
25
+ vault: 'address',
26
+ lpToken: {
27
+ _name: 'string',
28
+ _symbol: 'string',
29
+ _decimals: 'uint256',
30
+ _address: 'address',
31
+ },
32
+ gauge: 'address',
33
+ coins: [
34
+ {
35
+ _name: 'string',
36
+ _symbol: 'string',
37
+ _decimals: 'uint256',
38
+ _address: 'address',
39
+ },
40
+ ],
41
+ rewards: [
42
+ {
43
+ _gauge: 'address',
44
+ _indexInGauge: 'uint256',
45
+ _name: 'string',
46
+ _symbol: 'string',
47
+ _decimals: 'uint256',
48
+ _address: 'address',
49
+ },
50
+ ],
51
+ },
52
+ ],
53
+ },
54
+ }
55
+
56
+ export default buildBalancerStrats
@@ -0,0 +1,70 @@
1
+ import type { BatchMetaData } from '../../types.js'
2
+
3
+ const commonBytecode =
4
+ '0x608060405234801561000f575f80fd5b50604051611adc380380611adc833981810160405281019061003191906112f7565b5f815190505f8167ffffffffffffffff81111561005157610050611110565b5b60405190808252806020026020018201604052801561008a57816020015b610077610fd4565b81526020019060019003908161006f5790505b5090505f5b828110156107af5761009f610fd4565b5f8583815181106100b3576100b261133e565b5b60200260200101515f015190505f8684815181106100d4576100d361133e565b5b60200260200101516020015190505f8273ffffffffffffffffffffffffffffffffffffffff1663a8c62e766040518163ffffffff1660e01b8152600401602060405180830381865afa15801561012c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610150919061136b565b73ffffffffffffffffffffffffffffffffffffffff1663b9a09fd5836040518263ffffffff1660e01b815260040161018891906113a5565b602060405180830381865afa1580156101a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101c7919061136b565b905082845f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080846020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050610247816107de60201b60201c565b846080018190525061025e8261096e60201b60201c565b8460a0018190525061027582610c0860201b60201c565b8460c001819052508173ffffffffffffffffffffffffffffffffffffffff1663075461726040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156102e557506040513d601f19601f820116820180604052508101906102e2919061136b565b60015b6103265781846060019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050610360565b80856060019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050505b5f8373ffffffffffffffffffffffffffffffffffffffff1663f9a0be686040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103ce919061136b565b905080856040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f8173ffffffffffffffffffffffffffffffffffffffff1663963c94b96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610452573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061047691906113f1565b90508067ffffffffffffffff81111561049257610491611110565b5b6040519080825280602002602001820160405280156104cb57816020015b6104b8611073565b8152602001906001900390816104b05790505b508660e001819052505f5b8181101561077c575f8373ffffffffffffffffffffffffffffffffffffffff166354c49fe9836040518263ffffffff1660e01b8152600401610518919061142b565b602060405180830381865afa158015610533573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610557919061136b565b90508073ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa1580156105a1573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906105c991906114f4565b8860e0015183815181106105e0576105df61133e565b5b60200260200101515f01819052508073ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa158015610636573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061065e91906114f4565b8860e0015183815181106106755761067461133e565b5b6020026020010151602001819052508073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106cd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f191906113f1565b8860e0015183815181106107085761070761133e565b5b60200260200101516040018181525050808860e0015183815181106107305761072f61133e565b5b60200260200101516060019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505080806001019150506104d6565b50858888815181106107915761079061133e565b5b6020026020010181905250505050505050808060010191505061008f565b505f816040516020016107c291906119be565b6040516020818303038152906040529050602081018059038082f35b60608173ffffffffffffffffffffffffffffffffffffffff1663f9d3af2b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561084857506040513d601f19601f82011682018060405250810190610845919061136b565b60015b610889576040518060400160405280600b81526020017f70616e63616b65737761700000000000000000000000000000000000000000008152509050610969565b508173ffffffffffffffffffffffffffffffffffffffff1663f9d3af2b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108d3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108f7919061136b565b73ffffffffffffffffffffffffffffffffffffffff166391b9b8276040518163ffffffff1660e01b81526004015f60405180830381865afa15801561093e573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061096691906114f4565b90505b919050565b6109766110af565b81816060019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109f7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a1b91906113f1565b8160400181815250508173ffffffffffffffffffffffffffffffffffffffff166040516024016040516020818303038152906040527f06fdde03000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610acb9190611a18565b5f604051808303815f865af19150503d805f8114610b04576040519150601f19603f3d011682016040523d82523d5f602084013e610b09565b606091505b509050815f01819052508173ffffffffffffffffffffffffffffffffffffffff166040516024016040516020818303038152906040527f95d89b41000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610bba9190611a18565b5f604051808303815f865af19150503d805f8114610bf3576040519150601f19603f3d011682016040523d82523d5f602084013e610bf8565b606091505b5090508160200181905250919050565b6060600267ffffffffffffffff811115610c2557610c24611110565b5b604051908082528060200260200182016040528015610c5e57816020015b610c4b6110af565b815260200190600190039081610c435790505b5090505f8273ffffffffffffffffffffffffffffffffffffffff1663075461726040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cca57506040513d601f19601f82011682018060405250810190610cc7919061136b565b60015b610e7f578273ffffffffffffffffffffffffffffffffffffffff166316f0115b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610d3657506040513d601f19601f82011682018060405250810190610d33919061136b565b60015b610d4257829050610d47565b809150505b610dc28173ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610db7919061136b565b61096e60201b60201c565b825f81518110610dd557610dd461133e565b5b6020026020010181905250610e5b8173ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e50919061136b565b61096e60201b60201c565b82600181518110610e6f57610e6e61133e565b5b6020026020010181905250610fce565b809150610f088273ffffffffffffffffffffffffffffffffffffffff1663c66106575f6040518263ffffffff1660e01b8152600401610ebe9190611a70565b602060405180830381865afa158015610ed9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610efd919061136b565b61096e60201b60201c565b835f81518110610f1b57610f1a61133e565b5b6020026020010181905250610fad8273ffffffffffffffffffffffffffffffffffffffff1663c661065760016040518263ffffffff1660e01b8152600401610f639190611ac2565b602060405180830381865afa158015610f7e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa2919061136b565b61096e60201b60201c565b83600181518110610fc157610fc061133e565b5b6020026020010181905250505b50919050565b6040518061010001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200161105f6110af565b815260200160608152602001606081525090565b604051806080016040528060608152602001606081526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b604051806080016040528060608152602001606081526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61114682611100565b810181811067ffffffffffffffff8211171561116557611164611110565b5b80604052505050565b5f6111776110eb565b9050611183828261113d565b919050565b5f67ffffffffffffffff8211156111a2576111a1611110565b5b602082029050602081019050919050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6111e4826111bb565b9050919050565b6111f4816111da565b81146111fe575f80fd5b50565b5f8151905061120f816111eb565b92915050565b5f6040828403121561122a576112296111b7565b5b611234604061116e565b90505f61124384828501611201565b5f83015250602061125684828501611201565b60208301525092915050565b5f61127461126f84611188565b61116e565b90508083825260208201905060408402830185811115611297576112966111b3565b5b835b818110156112c057806112ac8882611215565b845260208401935050604081019050611299565b5050509392505050565b5f82601f8301126112de576112dd6110fc565b5b81516112ee848260208601611262565b91505092915050565b5f6020828403121561130c5761130b6110f4565b5b5f82015167ffffffffffffffff811115611329576113286110f8565b5b611335848285016112ca565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f602082840312156113805761137f6110f4565b5b5f61138d84828501611201565b91505092915050565b61139f816111da565b82525050565b5f6020820190506113b85f830184611396565b92915050565b5f819050919050565b6113d0816113be565b81146113da575f80fd5b50565b5f815190506113eb816113c7565b92915050565b5f60208284031215611406576114056110f4565b5b5f611413848285016113dd565b91505092915050565b611425816113be565b82525050565b5f60208201905061143e5f83018461141c565b92915050565b5f80fd5b5f67ffffffffffffffff82111561146257611461611110565b5b61146b82611100565b9050602081019050919050565b8281835e5f83830152505050565b5f61149861149384611448565b61116e565b9050828152602081018484840111156114b4576114b3611444565b5b6114bf848285611478565b509392505050565b5f82601f8301126114db576114da6110fc565b5b81516114eb848260208601611486565b91505092915050565b5f60208284031215611509576115086110f4565b5b5f82015167ffffffffffffffff811115611526576115256110f8565b5b611532848285016114c7565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61156d816111da565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f61159782611573565b6115a1818561157d565b93506115b1818560208601611478565b6115ba81611100565b840191505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f6115e9826115c5565b6115f381856115cf565b9350611603818560208601611478565b61160c81611100565b840191505092915050565b611620816113be565b82525050565b5f608083015f8301518482035f86015261164082826115df565b9150506020830151848203602086015261165a82826115df565b915050604083015161166f6040860182611617565b5060608301516116826060860182611564565b508091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f6116c18383611626565b905092915050565b5f602082019050919050565b5f6116df8261168d565b6116e98185611697565b9350836020820285016116fb856116a7565b805f5b85811015611736578484038952815161171785826116b6565b9450611722836116c9565b925060208a019950506001810190506116fe565b50829750879550505050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f608083015f8301518482035f86015261178b828261158d565b915050602083015184820360208601526117a5828261158d565b91505060408301516117ba6040860182611617565b5060608301516117cd6060860182611564565b508091505092915050565b5f6117e38383611771565b905092915050565b5f602082019050919050565b5f61180182611748565b61180b8185611752565b93508360208202850161181d85611762565b805f5b85811015611858578484038952815161183985826117d8565b9450611844836117eb565b925060208a01995050600181019050611820565b50829750879550505050505092915050565b5f61010083015f8301516118805f860182611564565b5060208301516118936020860182611564565b5060408301516118a66040860182611564565b5060608301516118b96060860182611564565b50608083015184820360808601526118d1828261158d565b91505060a083015184820360a08601526118eb8282611626565b91505060c083015184820360c086015261190582826116d5565b91505060e083015184820360e086015261191f82826117f7565b9150508091505092915050565b5f611937838361186a565b905092915050565b5f602082019050919050565b5f6119558261153b565b61195f8185611545565b93508360208202850161197185611555565b805f5b858110156119ac578484038952815161198d858261192c565b94506119988361193f565b925060208a01995050600181019050611974565b50829750879550505050505092915050565b5f6020820190508181035f8301526119d6818461194b565b905092915050565b5f81905092915050565b5f6119f2826115c5565b6119fc81856119de565b9350611a0c818560208601611478565b80840191505092915050565b5f611a2382846119e8565b915081905092915050565b5f819050919050565b5f819050919050565b5f611a5a611a55611a5084611a2e565b611a37565b6113be565b9050919050565b611a6a81611a40565b82525050565b5f602082019050611a835f830184611a61565b92915050565b5f819050919050565b5f611aac611aa7611aa284611a89565b611a37565b6113be565b9050919050565b611abc81611a92565b82525050565b5f602082019050611ad55f830184611ab3565b9291505056fe'
5
+
6
+ const commonInputType = [
7
+ 'BuildPancakeswapErc20StategyInfo[] inputs',
8
+ 'struct BuildPancakeswapErc20StategyInfo { address vault; address lpToken;}',
9
+ ]
10
+
11
+ const commonOutputTypeHr = [
12
+ 'BuildPancakeswapErc20StratsData[] pancakeswapErc20StratsData',
13
+ 'struct BuildPancakeswapErc20StratsData { address vault; address gauge; address sdGauge; address pool; string manager; BuildPancakeswapErc20Erc20Data lpToken; BuildPancakeswapErc20Erc20Data[] coins; BuildPancakeswapErc20RewardData[] rewards;}',
14
+ 'struct BuildPancakeswapErc20Erc20Data { bytes _name; bytes _symbol; uint256 _decimals; address _address;}',
15
+ 'struct BuildPancakeswapErc20RewardData { string _name; string _symbol; uint256 _decimals; address _address;}',
16
+ ]
17
+
18
+ const buildPancakeSwapErc20Strats: BatchMetaData = {
19
+ bytecode: {
20
+ 1: commonBytecode,
21
+ 56: commonBytecode,
22
+ 42161: commonBytecode,
23
+ },
24
+ inputType: {
25
+ 1: commonInputType,
26
+ 56: commonInputType,
27
+ 42161: commonInputType,
28
+ },
29
+ outputTypeHr: {
30
+ 1: commonOutputTypeHr,
31
+ 56: commonOutputTypeHr,
32
+ 42161: commonOutputTypeHr,
33
+ },
34
+ outputType: {
35
+ 56: [
36
+ {
37
+ vault: 'address',
38
+ gauge: 'address',
39
+ pool: 'address',
40
+ manager: 'string',
41
+ lpToken: {
42
+ _name: 'bytes',
43
+ _symbol: 'bytes',
44
+ _decimals: 'uint256',
45
+ _address: 'address',
46
+ },
47
+ coins: [
48
+ {
49
+ _name: 'bytes',
50
+ _symbol: 'bytes',
51
+ _decimals: 'uint256',
52
+ _address: 'address',
53
+ },
54
+ ],
55
+ rewards: [
56
+ {
57
+ _gauge: 'address',
58
+ _indexInGauge: 'uint256',
59
+ _name: 'string',
60
+ _symbol: 'string',
61
+ _decimals: 'uint256',
62
+ _address: 'address',
63
+ },
64
+ ],
65
+ },
66
+ ],
67
+ },
68
+ }
69
+
70
+ export default buildPancakeSwapErc20Strats
@@ -0,0 +1,57 @@
1
+ import type { BatchMetaData } from '../../types.js'
2
+
3
+ const commonBytecode =
4
+ '0x608060405234801561000f575f80fd5b50604051610d55380380610d5583398181016040528101906100319190610672565b5f8390505f821461004257816100b0565b8073ffffffffffffffffffffffffffffffffffffffff1663081e3eda6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561008b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100af91906106c2565b5b91505f83836100bf919061071a565b67ffffffffffffffff8111156100d8576100d761074d565b5b60405190808252806020026020018201604052801561011157816020015b6100fe610558565b8152602001906001900390816100f65790505b5090505f8490505b8381101561037a575f8373ffffffffffffffffffffffffffffffffffffffff16631526fe27836040518263ffffffff1660e01b815260040161015b9190610789565b60e060405180830381865afa158015610176573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061019a9190610925565b90506101a4610558565b82815f0181815250508160200151816020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508160800151816040019062ffffff16908162ffffff1681525050600267ffffffffffffffff81111561021e5761021d61074d565b5b60405190808252806020026020018201604052801561025757816020015b610244610598565b81526020019060019003908161023c5790505b5081606001819052505f73ffffffffffffffffffffffffffffffffffffffff16826040015173ffffffffffffffffffffffffffffffffffffffff16141580156102d057505f73ffffffffffffffffffffffffffffffffffffffff16826060015173ffffffffffffffffffffffffffffffffffffffff1614155b15610341576102e882604001516103a960201b60201c565b81606001515f815181106102ff576102fe610950565b5b602002602001018190525061031d82606001516103a960201b60201c565b816060015160018151811061033557610334610950565b5b60200260200101819052505b8084888561034f919061071a565b815181106103605761035f610950565b5b602002602001018190525050508080600101915050610119565b505f8160405160200161038d9190610c47565b6040516020818303038152906040529050602081018059038082f35b6103b1610598565b5f8290508073ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa1580156103fd573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906104259190610d0d565b825f01819052508073ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa158015610474573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061049c9190610d0d565b82602001819052508073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104ed573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061051191906106c2565b82604001818152505082826060019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505050919050565b60405180608001604052805f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f62ffffff168152602001606081525090565b604051806080016040528060608152602001606081526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61060e826105e5565b9050919050565b61061e81610604565b8114610628575f80fd5b50565b5f8151905061063981610615565b92915050565b5f819050919050565b6106518161063f565b811461065b575f80fd5b50565b5f8151905061066c81610648565b92915050565b5f805f60608486031215610689576106886105dd565b5b5f6106968682870161062b565b93505060206106a78682870161065e565b92505060406106b88682870161065e565b9150509250925092565b5f602082840312156106d7576106d66105dd565b5b5f6106e48482850161065e565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6107248261063f565b915061072f8361063f565b9250828203905081811115610747576107466106ed565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6107838161063f565b82525050565b5f60208201905061079c5f83018461077a565b92915050565b5f80fd5b5f601f19601f8301169050919050565b6107bf826107a6565b810181811067ffffffffffffffff821117156107de576107dd61074d565b5b80604052505050565b5f6107f06105d4565b90506107fc82826107b6565b919050565b5f61080b82610604565b9050919050565b61081b81610801565b8114610825575f80fd5b50565b5f8151905061083681610812565b92915050565b5f62ffffff82169050919050565b6108538161083c565b811461085d575f80fd5b50565b5f8151905061086e8161084a565b92915050565b5f60e08284031215610889576108886107a2565b5b61089360e06107e7565b90505f6108a28482850161065e565b5f8301525060206108b584828501610828565b60208301525060406108c98482850161062b565b60408301525060606108dd8482850161062b565b60608301525060806108f184828501610860565b60808301525060a06109058482850161065e565b60a08301525060c06109198482850161065e565b60c08301525092915050565b5f60e0828403121561093a576109396105dd565b5b5f61094784828501610874565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6109af8161063f565b82525050565b6109be81610604565b82525050565b6109cd8161083c565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f610a2e826109fc565b610a388185610a06565b9350610a48818560208601610a16565b610a51816107a6565b840191505092915050565b5f608083015f8301518482035f860152610a768282610a24565b91505060208301518482036020860152610a908282610a24565b9150506040830151610aa560408601826109a6565b506060830151610ab860608601826109b5565b508091505092915050565b5f610ace8383610a5c565b905092915050565b5f602082019050919050565b5f610aec826109d3565b610af681856109dd565b935083602082028501610b08856109ed565b805f5b85811015610b435784840389528151610b248582610ac3565b9450610b2f83610ad6565b925060208a01995050600181019050610b0b565b50829750879550505050505092915050565b5f608083015f830151610b6a5f8601826109a6565b506020830151610b7d60208601826109b5565b506040830151610b9060408601826109c4565b5060608301518482036060860152610ba88282610ae2565b9150508091505092915050565b5f610bc08383610b55565b905092915050565b5f602082019050919050565b5f610bde8261097d565b610be88185610987565b935083602082028501610bfa85610997565b805f5b85811015610c355784840389528151610c168582610bb5565b9450610c2183610bc8565b925060208a01995050600181019050610bfd565b50829750879550505050505092915050565b5f6020820190508181035f830152610c5f8184610bd4565b905092915050565b5f80fd5b5f80fd5b5f67ffffffffffffffff821115610c8957610c8861074d565b5b610c92826107a6565b9050602081019050919050565b5f610cb1610cac84610c6f565b6107e7565b905082815260208101848484011115610ccd57610ccc610c6b565b5b610cd8848285610a16565b509392505050565b5f82601f830112610cf457610cf3610c67565b5b8151610d04848260208601610c9f565b91505092915050565b5f60208284031215610d2257610d216105dd565b5b5f82015167ffffffffffffffff811115610d3f57610d3e6105e1565b5b610d4b84828501610ce0565b9150509291505056fe'
5
+
6
+ const commonOutputType = [
7
+ {
8
+ type: 'tuple[]',
9
+ name: 'returnData',
10
+ components: [
11
+ { type: 'uint256', name: 'id' },
12
+ { type: 'address', name: 'pool' },
13
+ { type: 'uint24', name: 'fee' },
14
+ {
15
+ type: 'tuple',
16
+ name: 'coins',
17
+ components: [
18
+ { type: 'string', name: '_name' },
19
+ { type: 'string', name: '_symbol' },
20
+ { type: 'uint256', name: '_decimals' },
21
+ { type: 'address', name: '_address' },
22
+ ],
23
+ },
24
+ ],
25
+ },
26
+ ]
27
+
28
+ const commonOutputTypeHr = [
29
+ 'BuildPancakeSwapStratsData[] pancakeSwapStratsData',
30
+ 'struct BuildPancakeSwapStratsData { uint256 id; address pool; uint24 fee; BuildPancakeSwapErc20Data[] coins; }',
31
+ 'struct BuildPancakeSwapErc20Data { string _name; string _symbol; uint256 _decimals; address _address; }',
32
+ ]
33
+
34
+ const buildPancakeSwapStrats: BatchMetaData = {
35
+ bytecode: {
36
+ 1: commonBytecode,
37
+ 56: commonBytecode,
38
+ 42161: commonBytecode,
39
+ },
40
+ inputType: {
41
+ 1: ['address _masterChef, uint256 skip, uint256 limit'],
42
+ 56: ['address _masterChef, uint256 skip, uint256 limit'],
43
+ 42161: ['address _masterChef, uint256 skip, uint256 limit'],
44
+ },
45
+ outputTypeHr: {
46
+ 1: commonOutputTypeHr,
47
+ 56: commonOutputTypeHr,
48
+ 42161: commonOutputTypeHr,
49
+ },
50
+ outputType: {
51
+ 1: commonOutputType,
52
+ 56: commonOutputType,
53
+ 42161: commonOutputType,
54
+ },
55
+ }
56
+
57
+ export default buildPancakeSwapStrats