@haven-fi/solauto-sdk 1.0.192 → 1.0.193

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 (331) hide show
  1. package/dist/clients/solautoClient.d.ts +1 -1
  2. package/dist/clients/solautoClient.d.ts.map +1 -1
  3. package/dist/clients/solautoMarginfiClient.d.ts +1 -1
  4. package/dist/clients/solautoMarginfiClient.d.ts.map +1 -1
  5. package/dist/clients/solautoMarginfiClient.js +1 -2
  6. package/dist/constants/solautoConstants.d.ts +0 -1
  7. package/dist/constants/solautoConstants.d.ts.map +1 -1
  8. package/dist/constants/solautoConstants.js +1 -2
  9. package/dist/generated/instructions/marginfiRebalance.d.ts +0 -2
  10. package/dist/generated/instructions/marginfiRebalance.d.ts.map +1 -1
  11. package/dist/generated/instructions/marginfiRebalance.js +0 -1
  12. package/dist/jupiter-sdk/accounts/index.d.ts +9 -0
  13. package/dist/jupiter-sdk/accounts/index.d.ts.map +1 -0
  14. package/dist/jupiter-sdk/accounts/index.js +24 -0
  15. package/dist/jupiter-sdk/accounts/tokenLedger.d.ts +32 -0
  16. package/dist/jupiter-sdk/accounts/tokenLedger.d.ts.map +1 -0
  17. package/dist/jupiter-sdk/accounts/tokenLedger.js +68 -0
  18. package/dist/jupiter-sdk/index.d.ts +4 -0
  19. package/dist/jupiter-sdk/index.d.ts.map +1 -1
  20. package/dist/jupiter-sdk/index.js +4 -0
  21. package/dist/jupiter-sdk/instructions/aldrinSwap.d.ts +29 -0
  22. package/dist/jupiter-sdk/instructions/aldrinSwap.d.ts.map +1 -0
  23. package/dist/jupiter-sdk/instructions/aldrinSwap.js +95 -0
  24. package/dist/jupiter-sdk/instructions/aldrinV2Swap.d.ts +30 -0
  25. package/dist/jupiter-sdk/instructions/aldrinV2Swap.d.ts.map +1 -0
  26. package/dist/jupiter-sdk/instructions/aldrinV2Swap.js +100 -0
  27. package/dist/jupiter-sdk/instructions/balansolSwap.d.ts +34 -0
  28. package/dist/jupiter-sdk/instructions/balansolSwap.d.ts.map +1 -0
  29. package/dist/jupiter-sdk/instructions/balansolSwap.js +130 -0
  30. package/dist/jupiter-sdk/instructions/claim.d.ts +25 -0
  31. package/dist/jupiter-sdk/instructions/claim.d.ts.map +1 -0
  32. package/dist/jupiter-sdk/instructions/claim.js +64 -0
  33. package/dist/jupiter-sdk/instructions/claimToken.d.ts +31 -0
  34. package/dist/jupiter-sdk/instructions/claimToken.d.ts.map +1 -0
  35. package/dist/jupiter-sdk/instructions/claimToken.js +93 -0
  36. package/dist/jupiter-sdk/instructions/cloneSwap.d.ts +34 -0
  37. package/dist/jupiter-sdk/instructions/cloneSwap.d.ts.map +1 -0
  38. package/dist/jupiter-sdk/instructions/cloneSwap.js +120 -0
  39. package/dist/jupiter-sdk/instructions/createOpenOrders.d.ts +24 -0
  40. package/dist/jupiter-sdk/instructions/createOpenOrders.d.ts.map +1 -0
  41. package/dist/jupiter-sdk/instructions/createOpenOrders.js +76 -0
  42. package/dist/jupiter-sdk/instructions/createProgramOpenOrders.d.ts +29 -0
  43. package/dist/jupiter-sdk/instructions/createProgramOpenOrders.d.ts.map +1 -0
  44. package/dist/jupiter-sdk/instructions/createProgramOpenOrders.js +86 -0
  45. package/dist/jupiter-sdk/instructions/createTokenAccount.d.ts +27 -0
  46. package/dist/jupiter-sdk/instructions/createTokenAccount.d.ts.map +1 -0
  47. package/dist/jupiter-sdk/instructions/createTokenAccount.js +70 -0
  48. package/dist/jupiter-sdk/instructions/createTokenLedger.d.ts +21 -0
  49. package/dist/jupiter-sdk/instructions/createTokenLedger.d.ts.map +1 -0
  50. package/dist/jupiter-sdk/instructions/createTokenLedger.js +62 -0
  51. package/dist/jupiter-sdk/instructions/cremaSwap.d.ts +33 -0
  52. package/dist/jupiter-sdk/instructions/cremaSwap.d.ts.map +1 -0
  53. package/dist/jupiter-sdk/instructions/cremaSwap.js +119 -0
  54. package/dist/jupiter-sdk/instructions/cropperSwap.d.ts +30 -0
  55. package/dist/jupiter-sdk/instructions/cropperSwap.d.ts.map +1 -0
  56. package/dist/jupiter-sdk/instructions/cropperSwap.js +103 -0
  57. package/dist/jupiter-sdk/instructions/cykuraSwap.d.ts +29 -0
  58. package/dist/jupiter-sdk/instructions/cykuraSwap.d.ts.map +1 -0
  59. package/dist/jupiter-sdk/instructions/cykuraSwap.js +99 -0
  60. package/dist/jupiter-sdk/instructions/deltafiSwap.d.ts +31 -0
  61. package/dist/jupiter-sdk/instructions/deltafiSwap.d.ts.map +1 -0
  62. package/dist/jupiter-sdk/instructions/deltafiSwap.js +109 -0
  63. package/dist/jupiter-sdk/instructions/dradexSwap.d.ts +35 -0
  64. package/dist/jupiter-sdk/instructions/dradexSwap.d.ts.map +1 -0
  65. package/dist/jupiter-sdk/instructions/dradexSwap.js +121 -0
  66. package/dist/jupiter-sdk/instructions/exactOutRoute.d.ts +42 -0
  67. package/dist/jupiter-sdk/instructions/exactOutRoute.d.ts.map +1 -0
  68. package/dist/jupiter-sdk/instructions/exactOutRoute.js +109 -0
  69. package/dist/jupiter-sdk/instructions/goosefxSwap.d.ts +33 -0
  70. package/dist/jupiter-sdk/instructions/goosefxSwap.d.ts.map +1 -0
  71. package/dist/jupiter-sdk/instructions/goosefxSwap.js +115 -0
  72. package/dist/jupiter-sdk/instructions/goosefxV2Swap.d.ts +38 -0
  73. package/dist/jupiter-sdk/instructions/goosefxV2Swap.d.ts.map +1 -0
  74. package/dist/jupiter-sdk/instructions/goosefxV2Swap.js +140 -0
  75. package/dist/jupiter-sdk/instructions/heliumTreasuryManagementRedeemV0.d.ts +29 -0
  76. package/dist/jupiter-sdk/instructions/heliumTreasuryManagementRedeemV0.d.ts.map +1 -0
  77. package/dist/jupiter-sdk/instructions/heliumTreasuryManagementRedeemV0.js +91 -0
  78. package/dist/jupiter-sdk/instructions/index.d.ts +72 -0
  79. package/dist/jupiter-sdk/instructions/index.d.ts.map +1 -0
  80. package/dist/jupiter-sdk/instructions/index.js +87 -0
  81. package/dist/jupiter-sdk/instructions/invariantSwap.d.ts +29 -0
  82. package/dist/jupiter-sdk/instructions/invariantSwap.d.ts.map +1 -0
  83. package/dist/jupiter-sdk/instructions/invariantSwap.js +95 -0
  84. package/dist/jupiter-sdk/instructions/lifinitySwap.d.ts +32 -0
  85. package/dist/jupiter-sdk/instructions/lifinitySwap.d.ts.map +1 -0
  86. package/dist/jupiter-sdk/instructions/lifinitySwap.js +113 -0
  87. package/dist/jupiter-sdk/instructions/lifinityV2Swap.d.ts +32 -0
  88. package/dist/jupiter-sdk/instructions/lifinityV2Swap.d.ts.map +1 -0
  89. package/dist/jupiter-sdk/instructions/lifinityV2Swap.js +113 -0
  90. package/dist/jupiter-sdk/instructions/marcoPoloSwap.d.ts +36 -0
  91. package/dist/jupiter-sdk/instructions/marcoPoloSwap.d.ts.map +1 -0
  92. package/dist/jupiter-sdk/instructions/marcoPoloSwap.js +137 -0
  93. package/dist/jupiter-sdk/instructions/marinadeDeposit.d.ts +36 -0
  94. package/dist/jupiter-sdk/instructions/marinadeDeposit.d.ts.map +1 -0
  95. package/dist/jupiter-sdk/instructions/marinadeDeposit.js +144 -0
  96. package/dist/jupiter-sdk/instructions/marinadeUnstake.d.ts +30 -0
  97. package/dist/jupiter-sdk/instructions/marinadeUnstake.d.ts.map +1 -0
  98. package/dist/jupiter-sdk/instructions/marinadeUnstake.js +105 -0
  99. package/dist/jupiter-sdk/instructions/mercurialSwap.d.ts +25 -0
  100. package/dist/jupiter-sdk/instructions/mercurialSwap.d.ts.map +1 -0
  101. package/dist/jupiter-sdk/instructions/mercurialSwap.js +76 -0
  102. package/dist/jupiter-sdk/instructions/meteoraDlmmSwap.d.ts +34 -0
  103. package/dist/jupiter-sdk/instructions/meteoraDlmmSwap.d.ts.map +1 -0
  104. package/dist/jupiter-sdk/instructions/meteoraDlmmSwap.js +119 -0
  105. package/dist/jupiter-sdk/instructions/meteoraSwap.d.ts +34 -0
  106. package/dist/jupiter-sdk/instructions/meteoraSwap.d.ts.map +1 -0
  107. package/dist/jupiter-sdk/instructions/meteoraSwap.js +120 -0
  108. package/dist/jupiter-sdk/instructions/moonshotWrappedBuy.d.ts +33 -0
  109. package/dist/jupiter-sdk/instructions/moonshotWrappedBuy.d.ts.map +1 -0
  110. package/dist/jupiter-sdk/instructions/moonshotWrappedBuy.js +119 -0
  111. package/dist/jupiter-sdk/instructions/moonshotWrappedSell.d.ts +31 -0
  112. package/dist/jupiter-sdk/instructions/moonshotWrappedSell.d.ts.map +1 -0
  113. package/dist/jupiter-sdk/instructions/moonshotWrappedSell.js +106 -0
  114. package/dist/jupiter-sdk/instructions/obricSwap.d.ts +31 -0
  115. package/dist/jupiter-sdk/instructions/obricSwap.d.ts.map +1 -0
  116. package/dist/jupiter-sdk/instructions/obricSwap.js +106 -0
  117. package/dist/jupiter-sdk/instructions/oneIntroSwap.d.ts +30 -0
  118. package/dist/jupiter-sdk/instructions/oneIntroSwap.d.ts.map +1 -0
  119. package/dist/jupiter-sdk/instructions/oneIntroSwap.js +100 -0
  120. package/dist/jupiter-sdk/instructions/openBookV2Swap.d.ts +35 -0
  121. package/dist/jupiter-sdk/instructions/openBookV2Swap.d.ts.map +1 -0
  122. package/dist/jupiter-sdk/instructions/openBookV2Swap.js +125 -0
  123. package/dist/jupiter-sdk/instructions/perpsAddLiquidity.d.ts +32 -0
  124. package/dist/jupiter-sdk/instructions/perpsAddLiquidity.d.ts.map +1 -0
  125. package/dist/jupiter-sdk/instructions/perpsAddLiquidity.js +110 -0
  126. package/dist/jupiter-sdk/instructions/perpsRemoveLiquidity.d.ts +32 -0
  127. package/dist/jupiter-sdk/instructions/perpsRemoveLiquidity.d.ts.map +1 -0
  128. package/dist/jupiter-sdk/instructions/perpsRemoveLiquidity.js +110 -0
  129. package/dist/jupiter-sdk/instructions/perpsSwap.d.ts +34 -0
  130. package/dist/jupiter-sdk/instructions/perpsSwap.d.ts.map +1 -0
  131. package/dist/jupiter-sdk/instructions/perpsSwap.js +120 -0
  132. package/dist/jupiter-sdk/instructions/perpsV2AddLiquidity.d.ts +33 -0
  133. package/dist/jupiter-sdk/instructions/perpsV2AddLiquidity.d.ts.map +1 -0
  134. package/dist/jupiter-sdk/instructions/perpsV2AddLiquidity.js +115 -0
  135. package/dist/jupiter-sdk/instructions/perpsV2RemoveLiquidity.d.ts +33 -0
  136. package/dist/jupiter-sdk/instructions/perpsV2RemoveLiquidity.d.ts.map +1 -0
  137. package/dist/jupiter-sdk/instructions/perpsV2RemoveLiquidity.js +112 -0
  138. package/dist/jupiter-sdk/instructions/perpsV2Swap.d.ts +36 -0
  139. package/dist/jupiter-sdk/instructions/perpsV2Swap.d.ts.map +1 -0
  140. package/dist/jupiter-sdk/instructions/perpsV2Swap.js +130 -0
  141. package/dist/jupiter-sdk/instructions/phoenixSwap.d.ts +27 -0
  142. package/dist/jupiter-sdk/instructions/phoenixSwap.d.ts.map +1 -0
  143. package/dist/jupiter-sdk/instructions/phoenixSwap.js +89 -0
  144. package/dist/jupiter-sdk/instructions/pumpdotfunWrappedBuy.d.ts +34 -0
  145. package/dist/jupiter-sdk/instructions/pumpdotfunWrappedBuy.d.ts.map +1 -0
  146. package/dist/jupiter-sdk/instructions/pumpdotfunWrappedBuy.js +123 -0
  147. package/dist/jupiter-sdk/instructions/pumpdotfunWrappedSell.d.ts +32 -0
  148. package/dist/jupiter-sdk/instructions/pumpdotfunWrappedSell.d.ts.map +1 -0
  149. package/dist/jupiter-sdk/instructions/pumpdotfunWrappedSell.js +107 -0
  150. package/dist/jupiter-sdk/instructions/raydiumClmmSwap.d.ts +29 -0
  151. package/dist/jupiter-sdk/instructions/raydiumClmmSwap.d.ts.map +1 -0
  152. package/dist/jupiter-sdk/instructions/raydiumClmmSwap.js +102 -0
  153. package/dist/jupiter-sdk/instructions/raydiumClmmSwapV2.d.ts +32 -0
  154. package/dist/jupiter-sdk/instructions/raydiumClmmSwapV2.d.ts.map +1 -0
  155. package/dist/jupiter-sdk/instructions/raydiumClmmSwapV2.js +117 -0
  156. package/dist/jupiter-sdk/instructions/raydiumCpSwap.d.ts +32 -0
  157. package/dist/jupiter-sdk/instructions/raydiumCpSwap.d.ts.map +1 -0
  158. package/dist/jupiter-sdk/instructions/raydiumCpSwap.js +116 -0
  159. package/dist/jupiter-sdk/instructions/raydiumSwap.d.ts +36 -0
  160. package/dist/jupiter-sdk/instructions/raydiumSwap.d.ts.map +1 -0
  161. package/dist/jupiter-sdk/instructions/raydiumSwap.js +134 -0
  162. package/dist/jupiter-sdk/instructions/route.d.ts +40 -0
  163. package/dist/jupiter-sdk/instructions/route.d.ts.map +1 -0
  164. package/dist/jupiter-sdk/instructions/route.js +99 -0
  165. package/dist/jupiter-sdk/instructions/routeWithTokenLedger.d.ts +39 -0
  166. package/dist/jupiter-sdk/instructions/routeWithTokenLedger.d.ts.map +1 -0
  167. package/dist/jupiter-sdk/instructions/routeWithTokenLedger.js +103 -0
  168. package/dist/jupiter-sdk/instructions/saberAddDecimals.d.ts +26 -0
  169. package/dist/jupiter-sdk/instructions/saberAddDecimals.d.ts.map +1 -0
  170. package/dist/jupiter-sdk/instructions/saberAddDecimals.js +81 -0
  171. package/dist/jupiter-sdk/instructions/saberSwap.d.ts +28 -0
  172. package/dist/jupiter-sdk/instructions/saberSwap.d.ts.map +1 -0
  173. package/dist/jupiter-sdk/instructions/saberSwap.js +87 -0
  174. package/dist/jupiter-sdk/instructions/senchaSwap.d.ts +28 -0
  175. package/dist/jupiter-sdk/instructions/senchaSwap.d.ts.map +1 -0
  176. package/dist/jupiter-sdk/instructions/senchaSwap.js +90 -0
  177. package/dist/jupiter-sdk/instructions/serumSwap.d.ts +34 -0
  178. package/dist/jupiter-sdk/instructions/serumSwap.d.ts.map +1 -0
  179. package/dist/jupiter-sdk/instructions/serumSwap.js +122 -0
  180. package/dist/jupiter-sdk/instructions/setTokenLedger.d.ts +20 -0
  181. package/dist/jupiter-sdk/instructions/setTokenLedger.d.ts.map +1 -0
  182. package/dist/jupiter-sdk/instructions/setTokenLedger.js +46 -0
  183. package/dist/jupiter-sdk/instructions/sharedAccountsExactOutRoute.d.ts +46 -0
  184. package/dist/jupiter-sdk/instructions/sharedAccountsExactOutRoute.d.ts.map +1 -0
  185. package/dist/jupiter-sdk/instructions/sharedAccountsExactOutRoute.js +120 -0
  186. package/dist/jupiter-sdk/instructions/sharedAccountsRoute.d.ts +46 -0
  187. package/dist/jupiter-sdk/instructions/sharedAccountsRoute.d.ts.map +1 -0
  188. package/dist/jupiter-sdk/instructions/sharedAccountsRoute.js +120 -0
  189. package/dist/jupiter-sdk/instructions/sharedAccountsRouteWithTokenLedger.d.ts +45 -0
  190. package/dist/jupiter-sdk/instructions/sharedAccountsRouteWithTokenLedger.d.ts.map +1 -0
  191. package/dist/jupiter-sdk/instructions/sharedAccountsRouteWithTokenLedger.js +126 -0
  192. package/dist/jupiter-sdk/instructions/stabbleStableSwap.d.ts +31 -0
  193. package/dist/jupiter-sdk/instructions/stabbleStableSwap.d.ts.map +1 -0
  194. package/dist/jupiter-sdk/instructions/stabbleStableSwap.js +101 -0
  195. package/dist/jupiter-sdk/instructions/stabbleWeightedSwap.d.ts +31 -0
  196. package/dist/jupiter-sdk/instructions/stabbleWeightedSwap.d.ts.map +1 -0
  197. package/dist/jupiter-sdk/instructions/stabbleWeightedSwap.js +101 -0
  198. package/dist/jupiter-sdk/instructions/stepSwap.d.ts +29 -0
  199. package/dist/jupiter-sdk/instructions/stepSwap.d.ts.map +1 -0
  200. package/dist/jupiter-sdk/instructions/stepSwap.js +98 -0
  201. package/dist/jupiter-sdk/instructions/symmetrySwap.d.ts +32 -0
  202. package/dist/jupiter-sdk/instructions/symmetrySwap.d.ts.map +1 -0
  203. package/dist/jupiter-sdk/instructions/symmetrySwap.js +114 -0
  204. package/dist/jupiter-sdk/instructions/tokenSwap.d.ts +29 -0
  205. package/dist/jupiter-sdk/instructions/tokenSwap.d.ts.map +1 -0
  206. package/dist/jupiter-sdk/instructions/tokenSwap.js +98 -0
  207. package/dist/jupiter-sdk/instructions/tokenSwapV2.d.ts +33 -0
  208. package/dist/jupiter-sdk/instructions/tokenSwapV2.d.ts.map +1 -0
  209. package/dist/jupiter-sdk/instructions/tokenSwapV2.js +114 -0
  210. package/dist/jupiter-sdk/instructions/whirlpoolSwap.d.ts +31 -0
  211. package/dist/jupiter-sdk/instructions/whirlpoolSwap.d.ts.map +1 -0
  212. package/dist/jupiter-sdk/instructions/whirlpoolSwap.js +104 -0
  213. package/dist/jupiter-sdk/instructions/whirlpoolSwapV2.d.ts +35 -0
  214. package/dist/jupiter-sdk/instructions/whirlpoolSwapV2.d.ts.map +1 -0
  215. package/dist/jupiter-sdk/instructions/whirlpoolSwapV2.js +119 -0
  216. package/dist/jupiter-sdk/shared/index.d.ts +54 -0
  217. package/dist/jupiter-sdk/shared/index.d.ts.map +1 -0
  218. package/dist/jupiter-sdk/shared/index.js +69 -0
  219. package/dist/jupiter-sdk/types/accountsType.d.ts +15 -0
  220. package/dist/jupiter-sdk/types/accountsType.d.ts.map +1 -0
  221. package/dist/jupiter-sdk/types/accountsType.js +22 -0
  222. package/dist/jupiter-sdk/types/amountWithSlippage.d.ts +18 -0
  223. package/dist/jupiter-sdk/types/amountWithSlippage.d.ts.map +1 -0
  224. package/dist/jupiter-sdk/types/amountWithSlippage.js +17 -0
  225. package/dist/jupiter-sdk/types/index.d.ts +15 -0
  226. package/dist/jupiter-sdk/types/index.d.ts.map +1 -0
  227. package/dist/jupiter-sdk/types/index.js +30 -0
  228. package/dist/jupiter-sdk/types/remainingAccountsInfo.d.ts +17 -0
  229. package/dist/jupiter-sdk/types/remainingAccountsInfo.d.ts.map +1 -0
  230. package/dist/jupiter-sdk/types/remainingAccountsInfo.js +15 -0
  231. package/dist/jupiter-sdk/types/remainingAccountsSlice.d.ts +19 -0
  232. package/dist/jupiter-sdk/types/remainingAccountsSlice.d.ts.map +1 -0
  233. package/dist/jupiter-sdk/types/remainingAccountsSlice.js +18 -0
  234. package/dist/jupiter-sdk/types/routePlanStep.d.ts +23 -0
  235. package/dist/jupiter-sdk/types/routePlanStep.d.ts.map +1 -0
  236. package/dist/jupiter-sdk/types/routePlanStep.js +20 -0
  237. package/dist/jupiter-sdk/types/side.d.ts +15 -0
  238. package/dist/jupiter-sdk/types/side.d.ts.map +1 -0
  239. package/dist/jupiter-sdk/types/side.js +20 -0
  240. package/dist/jupiter-sdk/types/swap.d.ts +372 -0
  241. package/dist/jupiter-sdk/types/swap.d.ts.map +1 -0
  242. package/dist/jupiter-sdk/types/swap.js +188 -0
  243. package/dist/transactions/transactionUtils.d.ts.map +1 -1
  244. package/dist/transactions/transactionUtils.js +0 -1
  245. package/dist/utils/solauto/rebalanceUtils.d.ts +1 -1
  246. package/dist/utils/solauto/rebalanceUtils.d.ts.map +1 -1
  247. package/dist/utils/solauto/rebalanceUtils.js +2 -16
  248. package/package.json +1 -1
  249. package/src/clients/solautoClient.ts +0 -1
  250. package/src/clients/solautoMarginfiClient.ts +0 -2
  251. package/src/constants/solautoConstants.ts +0 -1
  252. package/src/generated/instructions/marginfiRebalance.ts +0 -3
  253. package/src/jupiter-sdk/accounts/index.ts +9 -0
  254. package/src/jupiter-sdk/accounts/tokenLedger.ts +146 -0
  255. package/src/jupiter-sdk/index.ts +4 -0
  256. package/src/jupiter-sdk/instructions/aldrinSwap.ts +165 -0
  257. package/src/jupiter-sdk/instructions/aldrinV2Swap.ts +171 -0
  258. package/src/jupiter-sdk/instructions/balansolSwap.ts +211 -0
  259. package/src/jupiter-sdk/instructions/claim.ts +128 -0
  260. package/src/jupiter-sdk/instructions/claimToken.ts +171 -0
  261. package/src/jupiter-sdk/instructions/cloneSwap.ts +195 -0
  262. package/src/jupiter-sdk/instructions/createOpenOrders.ts +148 -0
  263. package/src/jupiter-sdk/instructions/createProgramOpenOrders.ts +170 -0
  264. package/src/jupiter-sdk/instructions/createTokenAccount.ts +152 -0
  265. package/src/jupiter-sdk/instructions/createTokenLedger.ts +128 -0
  266. package/src/jupiter-sdk/instructions/cremaSwap.ts +193 -0
  267. package/src/jupiter-sdk/instructions/cropperSwap.ts +174 -0
  268. package/src/jupiter-sdk/instructions/cykuraSwap.ts +169 -0
  269. package/src/jupiter-sdk/instructions/deltafiSwap.ts +181 -0
  270. package/src/jupiter-sdk/instructions/dradexSwap.ts +200 -0
  271. package/src/jupiter-sdk/instructions/exactOutRoute.ts +208 -0
  272. package/src/jupiter-sdk/instructions/goosefxSwap.ts +189 -0
  273. package/src/jupiter-sdk/instructions/goosefxV2Swap.ts +222 -0
  274. package/src/jupiter-sdk/instructions/heliumTreasuryManagementRedeemV0.ts +169 -0
  275. package/src/jupiter-sdk/instructions/index.ts +72 -0
  276. package/src/jupiter-sdk/instructions/invariantSwap.ts +168 -0
  277. package/src/jupiter-sdk/instructions/lifinitySwap.ts +186 -0
  278. package/src/jupiter-sdk/instructions/lifinityV2Swap.ts +189 -0
  279. package/src/jupiter-sdk/instructions/marcoPoloSwap.ts +223 -0
  280. package/src/jupiter-sdk/instructions/marinadeDeposit.ts +230 -0
  281. package/src/jupiter-sdk/instructions/marinadeUnstake.ts +182 -0
  282. package/src/jupiter-sdk/instructions/mercurialSwap.ts +145 -0
  283. package/src/jupiter-sdk/instructions/meteoraDlmmSwap.ts +193 -0
  284. package/src/jupiter-sdk/instructions/meteoraSwap.ts +195 -0
  285. package/src/jupiter-sdk/instructions/moonshotWrappedBuy.ts +201 -0
  286. package/src/jupiter-sdk/instructions/moonshotWrappedSell.ts +186 -0
  287. package/src/jupiter-sdk/instructions/obricSwap.ts +178 -0
  288. package/src/jupiter-sdk/instructions/oneIntroSwap.ts +171 -0
  289. package/src/jupiter-sdk/instructions/openBookV2Swap.ts +207 -0
  290. package/src/jupiter-sdk/instructions/perpsAddLiquidity.ts +186 -0
  291. package/src/jupiter-sdk/instructions/perpsRemoveLiquidity.ts +188 -0
  292. package/src/jupiter-sdk/instructions/perpsSwap.ts +195 -0
  293. package/src/jupiter-sdk/instructions/perpsV2AddLiquidity.ts +194 -0
  294. package/src/jupiter-sdk/instructions/perpsV2RemoveLiquidity.ts +193 -0
  295. package/src/jupiter-sdk/instructions/perpsV2Swap.ts +207 -0
  296. package/src/jupiter-sdk/instructions/phoenixSwap.ts +157 -0
  297. package/src/jupiter-sdk/instructions/pumpdotfunWrappedBuy.ts +209 -0
  298. package/src/jupiter-sdk/instructions/pumpdotfunWrappedSell.ts +190 -0
  299. package/src/jupiter-sdk/instructions/raydiumClmmSwap.ts +175 -0
  300. package/src/jupiter-sdk/instructions/raydiumClmmSwapV2.ts +193 -0
  301. package/src/jupiter-sdk/instructions/raydiumCpSwap.ts +189 -0
  302. package/src/jupiter-sdk/instructions/raydiumSwap.ts +211 -0
  303. package/src/jupiter-sdk/instructions/route.ts +189 -0
  304. package/src/jupiter-sdk/instructions/routeWithTokenLedger.ts +201 -0
  305. package/src/jupiter-sdk/instructions/saberAddDecimals.ts +151 -0
  306. package/src/jupiter-sdk/instructions/saberSwap.ts +156 -0
  307. package/src/jupiter-sdk/instructions/senchaSwap.ts +159 -0
  308. package/src/jupiter-sdk/instructions/serumSwap.ts +200 -0
  309. package/src/jupiter-sdk/instructions/setTokenLedger.ts +106 -0
  310. package/src/jupiter-sdk/instructions/sharedAccountsExactOutRoute.ts +226 -0
  311. package/src/jupiter-sdk/instructions/sharedAccountsRoute.ts +225 -0
  312. package/src/jupiter-sdk/instructions/sharedAccountsRouteWithTokenLedger.ts +231 -0
  313. package/src/jupiter-sdk/instructions/stabbleStableSwap.ts +176 -0
  314. package/src/jupiter-sdk/instructions/stabbleWeightedSwap.ts +178 -0
  315. package/src/jupiter-sdk/instructions/stepSwap.ts +168 -0
  316. package/src/jupiter-sdk/instructions/symmetrySwap.ts +187 -0
  317. package/src/jupiter-sdk/instructions/tokenSwap.ts +168 -0
  318. package/src/jupiter-sdk/instructions/tokenSwapV2.ts +185 -0
  319. package/src/jupiter-sdk/instructions/whirlpoolSwap.ts +179 -0
  320. package/src/jupiter-sdk/instructions/whirlpoolSwapV2.ts +194 -0
  321. package/src/jupiter-sdk/shared/index.ts +117 -0
  322. package/src/jupiter-sdk/types/accountsType.ts +25 -0
  323. package/src/jupiter-sdk/types/amountWithSlippage.ts +34 -0
  324. package/src/jupiter-sdk/types/index.ts +15 -0
  325. package/src/jupiter-sdk/types/remainingAccountsInfo.ts +34 -0
  326. package/src/jupiter-sdk/types/remainingAccountsSlice.ts +33 -0
  327. package/src/jupiter-sdk/types/routePlanStep.ts +39 -0
  328. package/src/jupiter-sdk/types/side.ts +23 -0
  329. package/src/jupiter-sdk/types/swap.ts +566 -0
  330. package/src/transactions/transactionUtils.ts +0 -1
  331. package/src/utils/solauto/rebalanceUtils.ts +3 -24
@@ -0,0 +1,159 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the kinobi library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun kinobi to update it.
5
+ *
6
+ * @see https://github.com/metaplex-foundation/kinobi
7
+ */
8
+
9
+ import {
10
+ Context,
11
+ Pda,
12
+ PublicKey,
13
+ TransactionBuilder,
14
+ transactionBuilder,
15
+ } from '@metaplex-foundation/umi';
16
+ import {
17
+ Serializer,
18
+ array,
19
+ mapSerializer,
20
+ struct,
21
+ u8,
22
+ } from '@metaplex-foundation/umi/serializers';
23
+ import {
24
+ ResolvedAccount,
25
+ ResolvedAccountsWithIndices,
26
+ getAccountMetasAndSigners,
27
+ } from '../shared';
28
+
29
+ // Accounts.
30
+ export type SenchaSwapInstructionAccounts = {
31
+ swapProgram: PublicKey | Pda;
32
+ tokenProgram?: PublicKey | Pda;
33
+ swap: PublicKey | Pda;
34
+ userAuthority: PublicKey | Pda;
35
+ inputUserAccount: PublicKey | Pda;
36
+ inputTokenAccount: PublicKey | Pda;
37
+ inputFeesAccount: PublicKey | Pda;
38
+ outputUserAccount: PublicKey | Pda;
39
+ outputTokenAccount: PublicKey | Pda;
40
+ outputFeesAccount: PublicKey | Pda;
41
+ };
42
+
43
+ // Data.
44
+ export type SenchaSwapInstructionData = { discriminator: Array<number> };
45
+
46
+ export type SenchaSwapInstructionDataArgs = {};
47
+
48
+ export function getSenchaSwapInstructionDataSerializer(): Serializer<
49
+ SenchaSwapInstructionDataArgs,
50
+ SenchaSwapInstructionData
51
+ > {
52
+ return mapSerializer<
53
+ SenchaSwapInstructionDataArgs,
54
+ any,
55
+ SenchaSwapInstructionData
56
+ >(
57
+ struct<SenchaSwapInstructionData>(
58
+ [['discriminator', array(u8(), { size: 8 })]],
59
+ { description: 'SenchaSwapInstructionData' }
60
+ ),
61
+ (value) => ({
62
+ ...value,
63
+ discriminator: [25, 50, 7, 21, 207, 248, 230, 194],
64
+ })
65
+ ) as Serializer<SenchaSwapInstructionDataArgs, SenchaSwapInstructionData>;
66
+ }
67
+
68
+ // Instruction.
69
+ export function senchaSwap(
70
+ context: Pick<Context, 'programs'>,
71
+ input: SenchaSwapInstructionAccounts
72
+ ): TransactionBuilder {
73
+ // Program ID.
74
+ const programId = context.programs.getPublicKey(
75
+ 'jupiter',
76
+ 'JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4'
77
+ );
78
+
79
+ // Accounts.
80
+ const resolvedAccounts = {
81
+ swapProgram: {
82
+ index: 0,
83
+ isWritable: false as boolean,
84
+ value: input.swapProgram ?? null,
85
+ },
86
+ tokenProgram: {
87
+ index: 1,
88
+ isWritable: false as boolean,
89
+ value: input.tokenProgram ?? null,
90
+ },
91
+ swap: { index: 2, isWritable: true as boolean, value: input.swap ?? null },
92
+ userAuthority: {
93
+ index: 3,
94
+ isWritable: false as boolean,
95
+ value: input.userAuthority ?? null,
96
+ },
97
+ inputUserAccount: {
98
+ index: 4,
99
+ isWritable: true as boolean,
100
+ value: input.inputUserAccount ?? null,
101
+ },
102
+ inputTokenAccount: {
103
+ index: 5,
104
+ isWritable: true as boolean,
105
+ value: input.inputTokenAccount ?? null,
106
+ },
107
+ inputFeesAccount: {
108
+ index: 6,
109
+ isWritable: true as boolean,
110
+ value: input.inputFeesAccount ?? null,
111
+ },
112
+ outputUserAccount: {
113
+ index: 7,
114
+ isWritable: true as boolean,
115
+ value: input.outputUserAccount ?? null,
116
+ },
117
+ outputTokenAccount: {
118
+ index: 8,
119
+ isWritable: true as boolean,
120
+ value: input.outputTokenAccount ?? null,
121
+ },
122
+ outputFeesAccount: {
123
+ index: 9,
124
+ isWritable: true as boolean,
125
+ value: input.outputFeesAccount ?? null,
126
+ },
127
+ } satisfies ResolvedAccountsWithIndices;
128
+
129
+ // Default values.
130
+ if (!resolvedAccounts.tokenProgram.value) {
131
+ resolvedAccounts.tokenProgram.value = context.programs.getPublicKey(
132
+ 'splToken',
133
+ 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'
134
+ );
135
+ resolvedAccounts.tokenProgram.isWritable = false;
136
+ }
137
+
138
+ // Accounts in order.
139
+ const orderedAccounts: ResolvedAccount[] = Object.values(
140
+ resolvedAccounts
141
+ ).sort((a, b) => a.index - b.index);
142
+
143
+ // Keys and Signers.
144
+ const [keys, signers] = getAccountMetasAndSigners(
145
+ orderedAccounts,
146
+ 'programId',
147
+ programId
148
+ );
149
+
150
+ // Data.
151
+ const data = getSenchaSwapInstructionDataSerializer().serialize({});
152
+
153
+ // Bytes Created On Chain.
154
+ const bytesCreatedOnChain = 0;
155
+
156
+ return transactionBuilder([
157
+ { instruction: { keys, programId, data }, signers, bytesCreatedOnChain },
158
+ ]);
159
+ }
@@ -0,0 +1,200 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the kinobi library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun kinobi to update it.
5
+ *
6
+ * @see https://github.com/metaplex-foundation/kinobi
7
+ */
8
+
9
+ import {
10
+ Context,
11
+ Pda,
12
+ PublicKey,
13
+ TransactionBuilder,
14
+ publicKey,
15
+ transactionBuilder,
16
+ } from '@metaplex-foundation/umi';
17
+ import {
18
+ Serializer,
19
+ array,
20
+ mapSerializer,
21
+ struct,
22
+ u8,
23
+ } from '@metaplex-foundation/umi/serializers';
24
+ import {
25
+ ResolvedAccount,
26
+ ResolvedAccountsWithIndices,
27
+ getAccountMetasAndSigners,
28
+ } from '../shared';
29
+
30
+ // Accounts.
31
+ export type SerumSwapInstructionAccounts = {
32
+ market: PublicKey | Pda;
33
+ openOrders: PublicKey | Pda;
34
+ requestQueue: PublicKey | Pda;
35
+ eventQueue: PublicKey | Pda;
36
+ bids: PublicKey | Pda;
37
+ asks: PublicKey | Pda;
38
+ coinVault: PublicKey | Pda;
39
+ pcVault: PublicKey | Pda;
40
+ vaultSigner: PublicKey | Pda;
41
+ authority?: PublicKey | Pda;
42
+ orderPayerTokenAccount: PublicKey | Pda;
43
+ coinWallet: PublicKey | Pda;
44
+ pcWallet: PublicKey | Pda;
45
+ dexProgram: PublicKey | Pda;
46
+ tokenProgram?: PublicKey | Pda;
47
+ rent?: PublicKey | Pda;
48
+ };
49
+
50
+ // Data.
51
+ export type SerumSwapInstructionData = { discriminator: Array<number> };
52
+
53
+ export type SerumSwapInstructionDataArgs = {};
54
+
55
+ export function getSerumSwapInstructionDataSerializer(): Serializer<
56
+ SerumSwapInstructionDataArgs,
57
+ SerumSwapInstructionData
58
+ > {
59
+ return mapSerializer<
60
+ SerumSwapInstructionDataArgs,
61
+ any,
62
+ SerumSwapInstructionData
63
+ >(
64
+ struct<SerumSwapInstructionData>(
65
+ [['discriminator', array(u8(), { size: 8 })]],
66
+ { description: 'SerumSwapInstructionData' }
67
+ ),
68
+ (value) => ({
69
+ ...value,
70
+ discriminator: [88, 183, 70, 249, 214, 118, 82, 210],
71
+ })
72
+ ) as Serializer<SerumSwapInstructionDataArgs, SerumSwapInstructionData>;
73
+ }
74
+
75
+ // Instruction.
76
+ export function serumSwap(
77
+ context: Pick<Context, 'identity' | 'programs'>,
78
+ input: SerumSwapInstructionAccounts
79
+ ): TransactionBuilder {
80
+ // Program ID.
81
+ const programId = context.programs.getPublicKey(
82
+ 'jupiter',
83
+ 'JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4'
84
+ );
85
+
86
+ // Accounts.
87
+ const resolvedAccounts = {
88
+ market: {
89
+ index: 0,
90
+ isWritable: true as boolean,
91
+ value: input.market ?? null,
92
+ },
93
+ openOrders: {
94
+ index: 1,
95
+ isWritable: true as boolean,
96
+ value: input.openOrders ?? null,
97
+ },
98
+ requestQueue: {
99
+ index: 2,
100
+ isWritable: true as boolean,
101
+ value: input.requestQueue ?? null,
102
+ },
103
+ eventQueue: {
104
+ index: 3,
105
+ isWritable: true as boolean,
106
+ value: input.eventQueue ?? null,
107
+ },
108
+ bids: { index: 4, isWritable: true as boolean, value: input.bids ?? null },
109
+ asks: { index: 5, isWritable: true as boolean, value: input.asks ?? null },
110
+ coinVault: {
111
+ index: 6,
112
+ isWritable: true as boolean,
113
+ value: input.coinVault ?? null,
114
+ },
115
+ pcVault: {
116
+ index: 7,
117
+ isWritable: true as boolean,
118
+ value: input.pcVault ?? null,
119
+ },
120
+ vaultSigner: {
121
+ index: 8,
122
+ isWritable: false as boolean,
123
+ value: input.vaultSigner ?? null,
124
+ },
125
+ authority: {
126
+ index: 9,
127
+ isWritable: false as boolean,
128
+ value: input.authority ?? null,
129
+ },
130
+ orderPayerTokenAccount: {
131
+ index: 10,
132
+ isWritable: true as boolean,
133
+ value: input.orderPayerTokenAccount ?? null,
134
+ },
135
+ coinWallet: {
136
+ index: 11,
137
+ isWritable: true as boolean,
138
+ value: input.coinWallet ?? null,
139
+ },
140
+ pcWallet: {
141
+ index: 12,
142
+ isWritable: true as boolean,
143
+ value: input.pcWallet ?? null,
144
+ },
145
+ dexProgram: {
146
+ index: 13,
147
+ isWritable: false as boolean,
148
+ value: input.dexProgram ?? null,
149
+ },
150
+ tokenProgram: {
151
+ index: 14,
152
+ isWritable: false as boolean,
153
+ value: input.tokenProgram ?? null,
154
+ },
155
+ rent: {
156
+ index: 15,
157
+ isWritable: false as boolean,
158
+ value: input.rent ?? null,
159
+ },
160
+ } satisfies ResolvedAccountsWithIndices;
161
+
162
+ // Default values.
163
+ if (!resolvedAccounts.authority.value) {
164
+ resolvedAccounts.authority.value = context.identity.publicKey;
165
+ }
166
+ if (!resolvedAccounts.tokenProgram.value) {
167
+ resolvedAccounts.tokenProgram.value = context.programs.getPublicKey(
168
+ 'splToken',
169
+ 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'
170
+ );
171
+ resolvedAccounts.tokenProgram.isWritable = false;
172
+ }
173
+ if (!resolvedAccounts.rent.value) {
174
+ resolvedAccounts.rent.value = publicKey(
175
+ 'SysvarRent111111111111111111111111111111111'
176
+ );
177
+ }
178
+
179
+ // Accounts in order.
180
+ const orderedAccounts: ResolvedAccount[] = Object.values(
181
+ resolvedAccounts
182
+ ).sort((a, b) => a.index - b.index);
183
+
184
+ // Keys and Signers.
185
+ const [keys, signers] = getAccountMetasAndSigners(
186
+ orderedAccounts,
187
+ 'programId',
188
+ programId
189
+ );
190
+
191
+ // Data.
192
+ const data = getSerumSwapInstructionDataSerializer().serialize({});
193
+
194
+ // Bytes Created On Chain.
195
+ const bytesCreatedOnChain = 0;
196
+
197
+ return transactionBuilder([
198
+ { instruction: { keys, programId, data }, signers, bytesCreatedOnChain },
199
+ ]);
200
+ }
@@ -0,0 +1,106 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the kinobi library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun kinobi to update it.
5
+ *
6
+ * @see https://github.com/metaplex-foundation/kinobi
7
+ */
8
+
9
+ import {
10
+ Context,
11
+ Pda,
12
+ PublicKey,
13
+ TransactionBuilder,
14
+ transactionBuilder,
15
+ } from '@metaplex-foundation/umi';
16
+ import {
17
+ Serializer,
18
+ array,
19
+ mapSerializer,
20
+ struct,
21
+ u8,
22
+ } from '@metaplex-foundation/umi/serializers';
23
+ import {
24
+ ResolvedAccount,
25
+ ResolvedAccountsWithIndices,
26
+ getAccountMetasAndSigners,
27
+ } from '../shared';
28
+
29
+ // Accounts.
30
+ export type SetTokenLedgerInstructionAccounts = {
31
+ tokenLedger: PublicKey | Pda;
32
+ tokenAccount: PublicKey | Pda;
33
+ };
34
+
35
+ // Data.
36
+ export type SetTokenLedgerInstructionData = { discriminator: Array<number> };
37
+
38
+ export type SetTokenLedgerInstructionDataArgs = {};
39
+
40
+ export function getSetTokenLedgerInstructionDataSerializer(): Serializer<
41
+ SetTokenLedgerInstructionDataArgs,
42
+ SetTokenLedgerInstructionData
43
+ > {
44
+ return mapSerializer<
45
+ SetTokenLedgerInstructionDataArgs,
46
+ any,
47
+ SetTokenLedgerInstructionData
48
+ >(
49
+ struct<SetTokenLedgerInstructionData>(
50
+ [['discriminator', array(u8(), { size: 8 })]],
51
+ { description: 'SetTokenLedgerInstructionData' }
52
+ ),
53
+ (value) => ({ ...value, discriminator: [228, 85, 185, 112, 78, 79, 77, 2] })
54
+ ) as Serializer<
55
+ SetTokenLedgerInstructionDataArgs,
56
+ SetTokenLedgerInstructionData
57
+ >;
58
+ }
59
+
60
+ // Instruction.
61
+ export function setTokenLedger(
62
+ context: Pick<Context, 'programs'>,
63
+ input: SetTokenLedgerInstructionAccounts
64
+ ): TransactionBuilder {
65
+ // Program ID.
66
+ const programId = context.programs.getPublicKey(
67
+ 'jupiter',
68
+ 'JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4'
69
+ );
70
+
71
+ // Accounts.
72
+ const resolvedAccounts = {
73
+ tokenLedger: {
74
+ index: 0,
75
+ isWritable: true as boolean,
76
+ value: input.tokenLedger ?? null,
77
+ },
78
+ tokenAccount: {
79
+ index: 1,
80
+ isWritable: false as boolean,
81
+ value: input.tokenAccount ?? null,
82
+ },
83
+ } satisfies ResolvedAccountsWithIndices;
84
+
85
+ // Accounts in order.
86
+ const orderedAccounts: ResolvedAccount[] = Object.values(
87
+ resolvedAccounts
88
+ ).sort((a, b) => a.index - b.index);
89
+
90
+ // Keys and Signers.
91
+ const [keys, signers] = getAccountMetasAndSigners(
92
+ orderedAccounts,
93
+ 'programId',
94
+ programId
95
+ );
96
+
97
+ // Data.
98
+ const data = getSetTokenLedgerInstructionDataSerializer().serialize({});
99
+
100
+ // Bytes Created On Chain.
101
+ const bytesCreatedOnChain = 0;
102
+
103
+ return transactionBuilder([
104
+ { instruction: { keys, programId, data }, signers, bytesCreatedOnChain },
105
+ ]);
106
+ }
@@ -0,0 +1,226 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the kinobi library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun kinobi to update it.
5
+ *
6
+ * @see https://github.com/metaplex-foundation/kinobi
7
+ */
8
+
9
+ import {
10
+ Context,
11
+ Pda,
12
+ PublicKey,
13
+ Signer,
14
+ TransactionBuilder,
15
+ transactionBuilder,
16
+ } from '@metaplex-foundation/umi';
17
+ import {
18
+ Serializer,
19
+ array,
20
+ mapSerializer,
21
+ struct,
22
+ u16,
23
+ u64,
24
+ u8,
25
+ } from '@metaplex-foundation/umi/serializers';
26
+ import {
27
+ ResolvedAccount,
28
+ ResolvedAccountsWithIndices,
29
+ getAccountMetasAndSigners,
30
+ } from '../shared';
31
+ import {
32
+ RoutePlanStep,
33
+ RoutePlanStepArgs,
34
+ getRoutePlanStepSerializer,
35
+ } from '../types';
36
+
37
+ // Accounts.
38
+ export type SharedAccountsExactOutRouteInstructionAccounts = {
39
+ tokenProgram?: PublicKey | Pda;
40
+ programAuthority: PublicKey | Pda;
41
+ userTransferAuthority: Signer;
42
+ sourceTokenAccount: PublicKey | Pda;
43
+ programSourceTokenAccount: PublicKey | Pda;
44
+ programDestinationTokenAccount: PublicKey | Pda;
45
+ destinationTokenAccount: PublicKey | Pda;
46
+ sourceMint: PublicKey | Pda;
47
+ destinationMint: PublicKey | Pda;
48
+ platformFeeAccount?: PublicKey | Pda;
49
+ token2022Program?: PublicKey | Pda;
50
+ eventAuthority: PublicKey | Pda;
51
+ program: PublicKey | Pda;
52
+ };
53
+
54
+ // Data.
55
+ export type SharedAccountsExactOutRouteInstructionData = {
56
+ discriminator: Array<number>;
57
+ id: number;
58
+ routePlan: Array<RoutePlanStep>;
59
+ outAmount: bigint;
60
+ quotedInAmount: bigint;
61
+ slippageBps: number;
62
+ platformFeeBps: number;
63
+ };
64
+
65
+ export type SharedAccountsExactOutRouteInstructionDataArgs = {
66
+ id: number;
67
+ routePlan: Array<RoutePlanStepArgs>;
68
+ outAmount: number | bigint;
69
+ quotedInAmount: number | bigint;
70
+ slippageBps: number;
71
+ platformFeeBps: number;
72
+ };
73
+
74
+ export function getSharedAccountsExactOutRouteInstructionDataSerializer(): Serializer<
75
+ SharedAccountsExactOutRouteInstructionDataArgs,
76
+ SharedAccountsExactOutRouteInstructionData
77
+ > {
78
+ return mapSerializer<
79
+ SharedAccountsExactOutRouteInstructionDataArgs,
80
+ any,
81
+ SharedAccountsExactOutRouteInstructionData
82
+ >(
83
+ struct<SharedAccountsExactOutRouteInstructionData>(
84
+ [
85
+ ['discriminator', array(u8(), { size: 8 })],
86
+ ['id', u8()],
87
+ ['routePlan', array(getRoutePlanStepSerializer())],
88
+ ['outAmount', u64()],
89
+ ['quotedInAmount', u64()],
90
+ ['slippageBps', u16()],
91
+ ['platformFeeBps', u8()],
92
+ ],
93
+ { description: 'SharedAccountsExactOutRouteInstructionData' }
94
+ ),
95
+ (value) => ({
96
+ ...value,
97
+ discriminator: [176, 209, 105, 168, 154, 125, 69, 62],
98
+ })
99
+ ) as Serializer<
100
+ SharedAccountsExactOutRouteInstructionDataArgs,
101
+ SharedAccountsExactOutRouteInstructionData
102
+ >;
103
+ }
104
+
105
+ // Args.
106
+ export type SharedAccountsExactOutRouteInstructionArgs =
107
+ SharedAccountsExactOutRouteInstructionDataArgs;
108
+
109
+ // Instruction.
110
+ export function sharedAccountsExactOutRoute(
111
+ context: Pick<Context, 'programs'>,
112
+ input: SharedAccountsExactOutRouteInstructionAccounts &
113
+ SharedAccountsExactOutRouteInstructionArgs
114
+ ): TransactionBuilder {
115
+ // Program ID.
116
+ const programId = context.programs.getPublicKey(
117
+ 'jupiter',
118
+ 'JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4'
119
+ );
120
+
121
+ // Accounts.
122
+ const resolvedAccounts = {
123
+ tokenProgram: {
124
+ index: 0,
125
+ isWritable: false as boolean,
126
+ value: input.tokenProgram ?? null,
127
+ },
128
+ programAuthority: {
129
+ index: 1,
130
+ isWritable: false as boolean,
131
+ value: input.programAuthority ?? null,
132
+ },
133
+ userTransferAuthority: {
134
+ index: 2,
135
+ isWritable: false as boolean,
136
+ value: input.userTransferAuthority ?? null,
137
+ },
138
+ sourceTokenAccount: {
139
+ index: 3,
140
+ isWritable: true as boolean,
141
+ value: input.sourceTokenAccount ?? null,
142
+ },
143
+ programSourceTokenAccount: {
144
+ index: 4,
145
+ isWritable: true as boolean,
146
+ value: input.programSourceTokenAccount ?? null,
147
+ },
148
+ programDestinationTokenAccount: {
149
+ index: 5,
150
+ isWritable: true as boolean,
151
+ value: input.programDestinationTokenAccount ?? null,
152
+ },
153
+ destinationTokenAccount: {
154
+ index: 6,
155
+ isWritable: true as boolean,
156
+ value: input.destinationTokenAccount ?? null,
157
+ },
158
+ sourceMint: {
159
+ index: 7,
160
+ isWritable: false as boolean,
161
+ value: input.sourceMint ?? null,
162
+ },
163
+ destinationMint: {
164
+ index: 8,
165
+ isWritable: false as boolean,
166
+ value: input.destinationMint ?? null,
167
+ },
168
+ platformFeeAccount: {
169
+ index: 9,
170
+ isWritable: true as boolean,
171
+ value: input.platformFeeAccount ?? null,
172
+ },
173
+ token2022Program: {
174
+ index: 10,
175
+ isWritable: false as boolean,
176
+ value: input.token2022Program ?? null,
177
+ },
178
+ eventAuthority: {
179
+ index: 11,
180
+ isWritable: false as boolean,
181
+ value: input.eventAuthority ?? null,
182
+ },
183
+ program: {
184
+ index: 12,
185
+ isWritable: false as boolean,
186
+ value: input.program ?? null,
187
+ },
188
+ } satisfies ResolvedAccountsWithIndices;
189
+
190
+ // Arguments.
191
+ const resolvedArgs: SharedAccountsExactOutRouteInstructionArgs = { ...input };
192
+
193
+ // Default values.
194
+ if (!resolvedAccounts.tokenProgram.value) {
195
+ resolvedAccounts.tokenProgram.value = context.programs.getPublicKey(
196
+ 'splToken',
197
+ 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'
198
+ );
199
+ resolvedAccounts.tokenProgram.isWritable = false;
200
+ }
201
+
202
+ // Accounts in order.
203
+ const orderedAccounts: ResolvedAccount[] = Object.values(
204
+ resolvedAccounts
205
+ ).sort((a, b) => a.index - b.index);
206
+
207
+ // Keys and Signers.
208
+ const [keys, signers] = getAccountMetasAndSigners(
209
+ orderedAccounts,
210
+ 'programId',
211
+ programId
212
+ );
213
+
214
+ // Data.
215
+ const data =
216
+ getSharedAccountsExactOutRouteInstructionDataSerializer().serialize(
217
+ resolvedArgs as SharedAccountsExactOutRouteInstructionDataArgs
218
+ );
219
+
220
+ // Bytes Created On Chain.
221
+ const bytesCreatedOnChain = 0;
222
+
223
+ return transactionBuilder([
224
+ { instruction: { keys, programId, data }, signers, bytesCreatedOnChain },
225
+ ]);
226
+ }