@haven-fi/solauto-sdk 1.0.176 → 1.0.177

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 (344) hide show
  1. package/dist/constants/generalAccounts.d.ts.map +1 -1
  2. package/dist/constants/generalAccounts.js +0 -1
  3. package/dist/constants/solautoConstants.d.ts +0 -1
  4. package/dist/constants/solautoConstants.d.ts.map +1 -1
  5. package/dist/constants/solautoConstants.js +3 -3
  6. package/dist/generated/errors/solauto.d.ts +8 -26
  7. package/dist/generated/errors/solauto.d.ts.map +1 -1
  8. package/dist/generated/errors/solauto.js +26 -59
  9. package/dist/jupiter-sdk/accounts/index.d.ts +9 -0
  10. package/dist/jupiter-sdk/accounts/index.d.ts.map +1 -0
  11. package/dist/jupiter-sdk/accounts/index.js +24 -0
  12. package/dist/jupiter-sdk/accounts/tokenLedger.d.ts +32 -0
  13. package/dist/jupiter-sdk/accounts/tokenLedger.d.ts.map +1 -0
  14. package/dist/jupiter-sdk/accounts/tokenLedger.js +68 -0
  15. package/dist/jupiter-sdk/errors/index.d.ts +9 -0
  16. package/dist/jupiter-sdk/errors/index.d.ts.map +1 -0
  17. package/dist/jupiter-sdk/errors/index.js +24 -0
  18. package/dist/jupiter-sdk/errors/jupiter.d.ts +127 -0
  19. package/dist/jupiter-sdk/errors/jupiter.d.ts.map +1 -0
  20. package/dist/jupiter-sdk/errors/jupiter.js +229 -0
  21. package/dist/jupiter-sdk/index.d.ts +14 -0
  22. package/dist/jupiter-sdk/index.d.ts.map +1 -0
  23. package/dist/jupiter-sdk/index.js +29 -0
  24. package/dist/jupiter-sdk/instructions/aldrinSwap.d.ts +29 -0
  25. package/dist/jupiter-sdk/instructions/aldrinSwap.d.ts.map +1 -0
  26. package/dist/jupiter-sdk/instructions/aldrinSwap.js +95 -0
  27. package/dist/jupiter-sdk/instructions/aldrinV2Swap.d.ts +30 -0
  28. package/dist/jupiter-sdk/instructions/aldrinV2Swap.d.ts.map +1 -0
  29. package/dist/jupiter-sdk/instructions/aldrinV2Swap.js +100 -0
  30. package/dist/jupiter-sdk/instructions/balansolSwap.d.ts +34 -0
  31. package/dist/jupiter-sdk/instructions/balansolSwap.d.ts.map +1 -0
  32. package/dist/jupiter-sdk/instructions/balansolSwap.js +130 -0
  33. package/dist/jupiter-sdk/instructions/claim.d.ts +25 -0
  34. package/dist/jupiter-sdk/instructions/claim.d.ts.map +1 -0
  35. package/dist/jupiter-sdk/instructions/claim.js +64 -0
  36. package/dist/jupiter-sdk/instructions/claimToken.d.ts +31 -0
  37. package/dist/jupiter-sdk/instructions/claimToken.d.ts.map +1 -0
  38. package/dist/jupiter-sdk/instructions/claimToken.js +93 -0
  39. package/dist/jupiter-sdk/instructions/cloneSwap.d.ts +34 -0
  40. package/dist/jupiter-sdk/instructions/cloneSwap.d.ts.map +1 -0
  41. package/dist/jupiter-sdk/instructions/cloneSwap.js +120 -0
  42. package/dist/jupiter-sdk/instructions/createOpenOrders.d.ts +24 -0
  43. package/dist/jupiter-sdk/instructions/createOpenOrders.d.ts.map +1 -0
  44. package/dist/jupiter-sdk/instructions/createOpenOrders.js +76 -0
  45. package/dist/jupiter-sdk/instructions/createProgramOpenOrders.d.ts +29 -0
  46. package/dist/jupiter-sdk/instructions/createProgramOpenOrders.d.ts.map +1 -0
  47. package/dist/jupiter-sdk/instructions/createProgramOpenOrders.js +86 -0
  48. package/dist/jupiter-sdk/instructions/createTokenAccount.d.ts +27 -0
  49. package/dist/jupiter-sdk/instructions/createTokenAccount.d.ts.map +1 -0
  50. package/dist/jupiter-sdk/instructions/createTokenAccount.js +70 -0
  51. package/dist/jupiter-sdk/instructions/createTokenLedger.d.ts +21 -0
  52. package/dist/jupiter-sdk/instructions/createTokenLedger.d.ts.map +1 -0
  53. package/dist/jupiter-sdk/instructions/createTokenLedger.js +62 -0
  54. package/dist/jupiter-sdk/instructions/cremaSwap.d.ts +33 -0
  55. package/dist/jupiter-sdk/instructions/cremaSwap.d.ts.map +1 -0
  56. package/dist/jupiter-sdk/instructions/cremaSwap.js +119 -0
  57. package/dist/jupiter-sdk/instructions/cropperSwap.d.ts +30 -0
  58. package/dist/jupiter-sdk/instructions/cropperSwap.d.ts.map +1 -0
  59. package/dist/jupiter-sdk/instructions/cropperSwap.js +103 -0
  60. package/dist/jupiter-sdk/instructions/cykuraSwap.d.ts +29 -0
  61. package/dist/jupiter-sdk/instructions/cykuraSwap.d.ts.map +1 -0
  62. package/dist/jupiter-sdk/instructions/cykuraSwap.js +99 -0
  63. package/dist/jupiter-sdk/instructions/deltafiSwap.d.ts +31 -0
  64. package/dist/jupiter-sdk/instructions/deltafiSwap.d.ts.map +1 -0
  65. package/dist/jupiter-sdk/instructions/deltafiSwap.js +109 -0
  66. package/dist/jupiter-sdk/instructions/dradexSwap.d.ts +35 -0
  67. package/dist/jupiter-sdk/instructions/dradexSwap.d.ts.map +1 -0
  68. package/dist/jupiter-sdk/instructions/dradexSwap.js +121 -0
  69. package/dist/jupiter-sdk/instructions/exactOutRoute.d.ts +42 -0
  70. package/dist/jupiter-sdk/instructions/exactOutRoute.d.ts.map +1 -0
  71. package/dist/jupiter-sdk/instructions/exactOutRoute.js +109 -0
  72. package/dist/jupiter-sdk/instructions/goosefxSwap.d.ts +33 -0
  73. package/dist/jupiter-sdk/instructions/goosefxSwap.d.ts.map +1 -0
  74. package/dist/jupiter-sdk/instructions/goosefxSwap.js +115 -0
  75. package/dist/jupiter-sdk/instructions/goosefxV2Swap.d.ts +38 -0
  76. package/dist/jupiter-sdk/instructions/goosefxV2Swap.d.ts.map +1 -0
  77. package/dist/jupiter-sdk/instructions/goosefxV2Swap.js +140 -0
  78. package/dist/jupiter-sdk/instructions/heliumTreasuryManagementRedeemV0.d.ts +29 -0
  79. package/dist/jupiter-sdk/instructions/heliumTreasuryManagementRedeemV0.d.ts.map +1 -0
  80. package/dist/jupiter-sdk/instructions/heliumTreasuryManagementRedeemV0.js +91 -0
  81. package/dist/jupiter-sdk/instructions/index.d.ts +72 -0
  82. package/dist/jupiter-sdk/instructions/index.d.ts.map +1 -0
  83. package/dist/jupiter-sdk/instructions/index.js +87 -0
  84. package/dist/jupiter-sdk/instructions/invariantSwap.d.ts +29 -0
  85. package/dist/jupiter-sdk/instructions/invariantSwap.d.ts.map +1 -0
  86. package/dist/jupiter-sdk/instructions/invariantSwap.js +95 -0
  87. package/dist/jupiter-sdk/instructions/lifinitySwap.d.ts +32 -0
  88. package/dist/jupiter-sdk/instructions/lifinitySwap.d.ts.map +1 -0
  89. package/dist/jupiter-sdk/instructions/lifinitySwap.js +113 -0
  90. package/dist/jupiter-sdk/instructions/lifinityV2Swap.d.ts +32 -0
  91. package/dist/jupiter-sdk/instructions/lifinityV2Swap.d.ts.map +1 -0
  92. package/dist/jupiter-sdk/instructions/lifinityV2Swap.js +113 -0
  93. package/dist/jupiter-sdk/instructions/marcoPoloSwap.d.ts +36 -0
  94. package/dist/jupiter-sdk/instructions/marcoPoloSwap.d.ts.map +1 -0
  95. package/dist/jupiter-sdk/instructions/marcoPoloSwap.js +137 -0
  96. package/dist/jupiter-sdk/instructions/marinadeDeposit.d.ts +36 -0
  97. package/dist/jupiter-sdk/instructions/marinadeDeposit.d.ts.map +1 -0
  98. package/dist/jupiter-sdk/instructions/marinadeDeposit.js +144 -0
  99. package/dist/jupiter-sdk/instructions/marinadeUnstake.d.ts +30 -0
  100. package/dist/jupiter-sdk/instructions/marinadeUnstake.d.ts.map +1 -0
  101. package/dist/jupiter-sdk/instructions/marinadeUnstake.js +105 -0
  102. package/dist/jupiter-sdk/instructions/mercurialSwap.d.ts +25 -0
  103. package/dist/jupiter-sdk/instructions/mercurialSwap.d.ts.map +1 -0
  104. package/dist/jupiter-sdk/instructions/mercurialSwap.js +76 -0
  105. package/dist/jupiter-sdk/instructions/meteoraDlmmSwap.d.ts +34 -0
  106. package/dist/jupiter-sdk/instructions/meteoraDlmmSwap.d.ts.map +1 -0
  107. package/dist/jupiter-sdk/instructions/meteoraDlmmSwap.js +119 -0
  108. package/dist/jupiter-sdk/instructions/meteoraSwap.d.ts +34 -0
  109. package/dist/jupiter-sdk/instructions/meteoraSwap.d.ts.map +1 -0
  110. package/dist/jupiter-sdk/instructions/meteoraSwap.js +120 -0
  111. package/dist/jupiter-sdk/instructions/moonshotWrappedBuy.d.ts +33 -0
  112. package/dist/jupiter-sdk/instructions/moonshotWrappedBuy.d.ts.map +1 -0
  113. package/dist/jupiter-sdk/instructions/moonshotWrappedBuy.js +119 -0
  114. package/dist/jupiter-sdk/instructions/moonshotWrappedSell.d.ts +31 -0
  115. package/dist/jupiter-sdk/instructions/moonshotWrappedSell.d.ts.map +1 -0
  116. package/dist/jupiter-sdk/instructions/moonshotWrappedSell.js +106 -0
  117. package/dist/jupiter-sdk/instructions/obricSwap.d.ts +31 -0
  118. package/dist/jupiter-sdk/instructions/obricSwap.d.ts.map +1 -0
  119. package/dist/jupiter-sdk/instructions/obricSwap.js +106 -0
  120. package/dist/jupiter-sdk/instructions/oneIntroSwap.d.ts +30 -0
  121. package/dist/jupiter-sdk/instructions/oneIntroSwap.d.ts.map +1 -0
  122. package/dist/jupiter-sdk/instructions/oneIntroSwap.js +100 -0
  123. package/dist/jupiter-sdk/instructions/openBookV2Swap.d.ts +35 -0
  124. package/dist/jupiter-sdk/instructions/openBookV2Swap.d.ts.map +1 -0
  125. package/dist/jupiter-sdk/instructions/openBookV2Swap.js +125 -0
  126. package/dist/jupiter-sdk/instructions/perpsAddLiquidity.d.ts +32 -0
  127. package/dist/jupiter-sdk/instructions/perpsAddLiquidity.d.ts.map +1 -0
  128. package/dist/jupiter-sdk/instructions/perpsAddLiquidity.js +110 -0
  129. package/dist/jupiter-sdk/instructions/perpsRemoveLiquidity.d.ts +32 -0
  130. package/dist/jupiter-sdk/instructions/perpsRemoveLiquidity.d.ts.map +1 -0
  131. package/dist/jupiter-sdk/instructions/perpsRemoveLiquidity.js +110 -0
  132. package/dist/jupiter-sdk/instructions/perpsSwap.d.ts +34 -0
  133. package/dist/jupiter-sdk/instructions/perpsSwap.d.ts.map +1 -0
  134. package/dist/jupiter-sdk/instructions/perpsSwap.js +120 -0
  135. package/dist/jupiter-sdk/instructions/perpsV2AddLiquidity.d.ts +33 -0
  136. package/dist/jupiter-sdk/instructions/perpsV2AddLiquidity.d.ts.map +1 -0
  137. package/dist/jupiter-sdk/instructions/perpsV2AddLiquidity.js +115 -0
  138. package/dist/jupiter-sdk/instructions/perpsV2RemoveLiquidity.d.ts +33 -0
  139. package/dist/jupiter-sdk/instructions/perpsV2RemoveLiquidity.d.ts.map +1 -0
  140. package/dist/jupiter-sdk/instructions/perpsV2RemoveLiquidity.js +112 -0
  141. package/dist/jupiter-sdk/instructions/perpsV2Swap.d.ts +36 -0
  142. package/dist/jupiter-sdk/instructions/perpsV2Swap.d.ts.map +1 -0
  143. package/dist/jupiter-sdk/instructions/perpsV2Swap.js +130 -0
  144. package/dist/jupiter-sdk/instructions/phoenixSwap.d.ts +27 -0
  145. package/dist/jupiter-sdk/instructions/phoenixSwap.d.ts.map +1 -0
  146. package/dist/jupiter-sdk/instructions/phoenixSwap.js +89 -0
  147. package/dist/jupiter-sdk/instructions/pumpdotfunWrappedBuy.d.ts +34 -0
  148. package/dist/jupiter-sdk/instructions/pumpdotfunWrappedBuy.d.ts.map +1 -0
  149. package/dist/jupiter-sdk/instructions/pumpdotfunWrappedBuy.js +123 -0
  150. package/dist/jupiter-sdk/instructions/pumpdotfunWrappedSell.d.ts +32 -0
  151. package/dist/jupiter-sdk/instructions/pumpdotfunWrappedSell.d.ts.map +1 -0
  152. package/dist/jupiter-sdk/instructions/pumpdotfunWrappedSell.js +107 -0
  153. package/dist/jupiter-sdk/instructions/raydiumClmmSwap.d.ts +29 -0
  154. package/dist/jupiter-sdk/instructions/raydiumClmmSwap.d.ts.map +1 -0
  155. package/dist/jupiter-sdk/instructions/raydiumClmmSwap.js +102 -0
  156. package/dist/jupiter-sdk/instructions/raydiumClmmSwapV2.d.ts +32 -0
  157. package/dist/jupiter-sdk/instructions/raydiumClmmSwapV2.d.ts.map +1 -0
  158. package/dist/jupiter-sdk/instructions/raydiumClmmSwapV2.js +117 -0
  159. package/dist/jupiter-sdk/instructions/raydiumCpSwap.d.ts +32 -0
  160. package/dist/jupiter-sdk/instructions/raydiumCpSwap.d.ts.map +1 -0
  161. package/dist/jupiter-sdk/instructions/raydiumCpSwap.js +116 -0
  162. package/dist/jupiter-sdk/instructions/raydiumSwap.d.ts +36 -0
  163. package/dist/jupiter-sdk/instructions/raydiumSwap.d.ts.map +1 -0
  164. package/dist/jupiter-sdk/instructions/raydiumSwap.js +134 -0
  165. package/dist/jupiter-sdk/instructions/route.d.ts +40 -0
  166. package/dist/jupiter-sdk/instructions/route.d.ts.map +1 -0
  167. package/dist/jupiter-sdk/instructions/route.js +99 -0
  168. package/dist/jupiter-sdk/instructions/routeWithTokenLedger.d.ts +39 -0
  169. package/dist/jupiter-sdk/instructions/routeWithTokenLedger.d.ts.map +1 -0
  170. package/dist/jupiter-sdk/instructions/routeWithTokenLedger.js +103 -0
  171. package/dist/jupiter-sdk/instructions/saberAddDecimals.d.ts +26 -0
  172. package/dist/jupiter-sdk/instructions/saberAddDecimals.d.ts.map +1 -0
  173. package/dist/jupiter-sdk/instructions/saberAddDecimals.js +81 -0
  174. package/dist/jupiter-sdk/instructions/saberSwap.d.ts +28 -0
  175. package/dist/jupiter-sdk/instructions/saberSwap.d.ts.map +1 -0
  176. package/dist/jupiter-sdk/instructions/saberSwap.js +87 -0
  177. package/dist/jupiter-sdk/instructions/senchaSwap.d.ts +28 -0
  178. package/dist/jupiter-sdk/instructions/senchaSwap.d.ts.map +1 -0
  179. package/dist/jupiter-sdk/instructions/senchaSwap.js +90 -0
  180. package/dist/jupiter-sdk/instructions/serumSwap.d.ts +34 -0
  181. package/dist/jupiter-sdk/instructions/serumSwap.d.ts.map +1 -0
  182. package/dist/jupiter-sdk/instructions/serumSwap.js +122 -0
  183. package/dist/jupiter-sdk/instructions/setTokenLedger.d.ts +20 -0
  184. package/dist/jupiter-sdk/instructions/setTokenLedger.d.ts.map +1 -0
  185. package/dist/jupiter-sdk/instructions/setTokenLedger.js +46 -0
  186. package/dist/jupiter-sdk/instructions/sharedAccountsExactOutRoute.d.ts +46 -0
  187. package/dist/jupiter-sdk/instructions/sharedAccountsExactOutRoute.d.ts.map +1 -0
  188. package/dist/jupiter-sdk/instructions/sharedAccountsExactOutRoute.js +120 -0
  189. package/dist/jupiter-sdk/instructions/sharedAccountsRoute.d.ts +46 -0
  190. package/dist/jupiter-sdk/instructions/sharedAccountsRoute.d.ts.map +1 -0
  191. package/dist/jupiter-sdk/instructions/sharedAccountsRoute.js +120 -0
  192. package/dist/jupiter-sdk/instructions/sharedAccountsRouteWithTokenLedger.d.ts +45 -0
  193. package/dist/jupiter-sdk/instructions/sharedAccountsRouteWithTokenLedger.d.ts.map +1 -0
  194. package/dist/jupiter-sdk/instructions/sharedAccountsRouteWithTokenLedger.js +126 -0
  195. package/dist/jupiter-sdk/instructions/stabbleStableSwap.d.ts +31 -0
  196. package/dist/jupiter-sdk/instructions/stabbleStableSwap.d.ts.map +1 -0
  197. package/dist/jupiter-sdk/instructions/stabbleStableSwap.js +101 -0
  198. package/dist/jupiter-sdk/instructions/stabbleWeightedSwap.d.ts +31 -0
  199. package/dist/jupiter-sdk/instructions/stabbleWeightedSwap.d.ts.map +1 -0
  200. package/dist/jupiter-sdk/instructions/stabbleWeightedSwap.js +101 -0
  201. package/dist/jupiter-sdk/instructions/stepSwap.d.ts +29 -0
  202. package/dist/jupiter-sdk/instructions/stepSwap.d.ts.map +1 -0
  203. package/dist/jupiter-sdk/instructions/stepSwap.js +98 -0
  204. package/dist/jupiter-sdk/instructions/symmetrySwap.d.ts +32 -0
  205. package/dist/jupiter-sdk/instructions/symmetrySwap.d.ts.map +1 -0
  206. package/dist/jupiter-sdk/instructions/symmetrySwap.js +114 -0
  207. package/dist/jupiter-sdk/instructions/tokenSwap.d.ts +29 -0
  208. package/dist/jupiter-sdk/instructions/tokenSwap.d.ts.map +1 -0
  209. package/dist/jupiter-sdk/instructions/tokenSwap.js +98 -0
  210. package/dist/jupiter-sdk/instructions/tokenSwapV2.d.ts +33 -0
  211. package/dist/jupiter-sdk/instructions/tokenSwapV2.d.ts.map +1 -0
  212. package/dist/jupiter-sdk/instructions/tokenSwapV2.js +114 -0
  213. package/dist/jupiter-sdk/instructions/whirlpoolSwap.d.ts +31 -0
  214. package/dist/jupiter-sdk/instructions/whirlpoolSwap.d.ts.map +1 -0
  215. package/dist/jupiter-sdk/instructions/whirlpoolSwap.js +104 -0
  216. package/dist/jupiter-sdk/instructions/whirlpoolSwapV2.d.ts +35 -0
  217. package/dist/jupiter-sdk/instructions/whirlpoolSwapV2.d.ts.map +1 -0
  218. package/dist/jupiter-sdk/instructions/whirlpoolSwapV2.js +119 -0
  219. package/dist/jupiter-sdk/programs/index.d.ts +9 -0
  220. package/dist/jupiter-sdk/programs/index.d.ts.map +1 -0
  221. package/dist/jupiter-sdk/programs/index.js +24 -0
  222. package/dist/jupiter-sdk/programs/jupiter.d.ts +13 -0
  223. package/dist/jupiter-sdk/programs/jupiter.d.ts.map +1 -0
  224. package/dist/jupiter-sdk/programs/jupiter.js +36 -0
  225. package/dist/jupiter-sdk/shared/index.d.ts +54 -0
  226. package/dist/jupiter-sdk/shared/index.d.ts.map +1 -0
  227. package/dist/jupiter-sdk/shared/index.js +69 -0
  228. package/dist/jupiter-sdk/types/accountsType.d.ts +15 -0
  229. package/dist/jupiter-sdk/types/accountsType.d.ts.map +1 -0
  230. package/dist/jupiter-sdk/types/accountsType.js +22 -0
  231. package/dist/jupiter-sdk/types/amountWithSlippage.d.ts +18 -0
  232. package/dist/jupiter-sdk/types/amountWithSlippage.d.ts.map +1 -0
  233. package/dist/jupiter-sdk/types/amountWithSlippage.js +17 -0
  234. package/dist/jupiter-sdk/types/index.d.ts +15 -0
  235. package/dist/jupiter-sdk/types/index.d.ts.map +1 -0
  236. package/dist/jupiter-sdk/types/index.js +30 -0
  237. package/dist/jupiter-sdk/types/remainingAccountsInfo.d.ts +17 -0
  238. package/dist/jupiter-sdk/types/remainingAccountsInfo.d.ts.map +1 -0
  239. package/dist/jupiter-sdk/types/remainingAccountsInfo.js +15 -0
  240. package/dist/jupiter-sdk/types/remainingAccountsSlice.d.ts +19 -0
  241. package/dist/jupiter-sdk/types/remainingAccountsSlice.d.ts.map +1 -0
  242. package/dist/jupiter-sdk/types/remainingAccountsSlice.js +18 -0
  243. package/dist/jupiter-sdk/types/routePlanStep.d.ts +23 -0
  244. package/dist/jupiter-sdk/types/routePlanStep.d.ts.map +1 -0
  245. package/dist/jupiter-sdk/types/routePlanStep.js +20 -0
  246. package/dist/jupiter-sdk/types/side.d.ts +15 -0
  247. package/dist/jupiter-sdk/types/side.d.ts.map +1 -0
  248. package/dist/jupiter-sdk/types/side.js +20 -0
  249. package/dist/jupiter-sdk/types/swap.d.ts +372 -0
  250. package/dist/jupiter-sdk/types/swap.d.ts.map +1 -0
  251. package/dist/jupiter-sdk/types/swap.js +188 -0
  252. package/dist/transactions/transactionUtils.d.ts +5 -0
  253. package/dist/transactions/transactionUtils.d.ts.map +1 -1
  254. package/dist/transactions/transactionUtils.js +46 -4
  255. package/dist/transactions/transactionsManager.d.ts +2 -1
  256. package/dist/transactions/transactionsManager.d.ts.map +1 -1
  257. package/dist/transactions/transactionsManager.js +12 -20
  258. package/package.json +1 -1
  259. package/src/constants/generalAccounts.ts +0 -3
  260. package/src/constants/solautoConstants.ts +1 -2
  261. package/src/generated/errors/solauto.ts +30 -88
  262. package/src/jupiter-sdk/accounts/index.ts +9 -0
  263. package/src/jupiter-sdk/accounts/tokenLedger.ts +146 -0
  264. package/src/jupiter-sdk/errors/index.ts +9 -0
  265. package/src/jupiter-sdk/errors/jupiter.ts +282 -0
  266. package/src/jupiter-sdk/index.ts +14 -0
  267. package/src/jupiter-sdk/instructions/aldrinSwap.ts +165 -0
  268. package/src/jupiter-sdk/instructions/aldrinV2Swap.ts +171 -0
  269. package/src/jupiter-sdk/instructions/balansolSwap.ts +211 -0
  270. package/src/jupiter-sdk/instructions/claim.ts +128 -0
  271. package/src/jupiter-sdk/instructions/claimToken.ts +171 -0
  272. package/src/jupiter-sdk/instructions/cloneSwap.ts +195 -0
  273. package/src/jupiter-sdk/instructions/createOpenOrders.ts +148 -0
  274. package/src/jupiter-sdk/instructions/createProgramOpenOrders.ts +170 -0
  275. package/src/jupiter-sdk/instructions/createTokenAccount.ts +152 -0
  276. package/src/jupiter-sdk/instructions/createTokenLedger.ts +128 -0
  277. package/src/jupiter-sdk/instructions/cremaSwap.ts +193 -0
  278. package/src/jupiter-sdk/instructions/cropperSwap.ts +174 -0
  279. package/src/jupiter-sdk/instructions/cykuraSwap.ts +169 -0
  280. package/src/jupiter-sdk/instructions/deltafiSwap.ts +181 -0
  281. package/src/jupiter-sdk/instructions/dradexSwap.ts +200 -0
  282. package/src/jupiter-sdk/instructions/exactOutRoute.ts +208 -0
  283. package/src/jupiter-sdk/instructions/goosefxSwap.ts +189 -0
  284. package/src/jupiter-sdk/instructions/goosefxV2Swap.ts +222 -0
  285. package/src/jupiter-sdk/instructions/heliumTreasuryManagementRedeemV0.ts +169 -0
  286. package/src/jupiter-sdk/instructions/index.ts +72 -0
  287. package/src/jupiter-sdk/instructions/invariantSwap.ts +168 -0
  288. package/src/jupiter-sdk/instructions/lifinitySwap.ts +186 -0
  289. package/src/jupiter-sdk/instructions/lifinityV2Swap.ts +189 -0
  290. package/src/jupiter-sdk/instructions/marcoPoloSwap.ts +223 -0
  291. package/src/jupiter-sdk/instructions/marinadeDeposit.ts +230 -0
  292. package/src/jupiter-sdk/instructions/marinadeUnstake.ts +182 -0
  293. package/src/jupiter-sdk/instructions/mercurialSwap.ts +145 -0
  294. package/src/jupiter-sdk/instructions/meteoraDlmmSwap.ts +193 -0
  295. package/src/jupiter-sdk/instructions/meteoraSwap.ts +195 -0
  296. package/src/jupiter-sdk/instructions/moonshotWrappedBuy.ts +201 -0
  297. package/src/jupiter-sdk/instructions/moonshotWrappedSell.ts +186 -0
  298. package/src/jupiter-sdk/instructions/obricSwap.ts +178 -0
  299. package/src/jupiter-sdk/instructions/oneIntroSwap.ts +171 -0
  300. package/src/jupiter-sdk/instructions/openBookV2Swap.ts +207 -0
  301. package/src/jupiter-sdk/instructions/perpsAddLiquidity.ts +186 -0
  302. package/src/jupiter-sdk/instructions/perpsRemoveLiquidity.ts +188 -0
  303. package/src/jupiter-sdk/instructions/perpsSwap.ts +195 -0
  304. package/src/jupiter-sdk/instructions/perpsV2AddLiquidity.ts +194 -0
  305. package/src/jupiter-sdk/instructions/perpsV2RemoveLiquidity.ts +193 -0
  306. package/src/jupiter-sdk/instructions/perpsV2Swap.ts +207 -0
  307. package/src/jupiter-sdk/instructions/phoenixSwap.ts +157 -0
  308. package/src/jupiter-sdk/instructions/pumpdotfunWrappedBuy.ts +209 -0
  309. package/src/jupiter-sdk/instructions/pumpdotfunWrappedSell.ts +190 -0
  310. package/src/jupiter-sdk/instructions/raydiumClmmSwap.ts +175 -0
  311. package/src/jupiter-sdk/instructions/raydiumClmmSwapV2.ts +193 -0
  312. package/src/jupiter-sdk/instructions/raydiumCpSwap.ts +189 -0
  313. package/src/jupiter-sdk/instructions/raydiumSwap.ts +211 -0
  314. package/src/jupiter-sdk/instructions/route.ts +189 -0
  315. package/src/jupiter-sdk/instructions/routeWithTokenLedger.ts +201 -0
  316. package/src/jupiter-sdk/instructions/saberAddDecimals.ts +151 -0
  317. package/src/jupiter-sdk/instructions/saberSwap.ts +156 -0
  318. package/src/jupiter-sdk/instructions/senchaSwap.ts +159 -0
  319. package/src/jupiter-sdk/instructions/serumSwap.ts +200 -0
  320. package/src/jupiter-sdk/instructions/setTokenLedger.ts +106 -0
  321. package/src/jupiter-sdk/instructions/sharedAccountsExactOutRoute.ts +226 -0
  322. package/src/jupiter-sdk/instructions/sharedAccountsRoute.ts +225 -0
  323. package/src/jupiter-sdk/instructions/sharedAccountsRouteWithTokenLedger.ts +231 -0
  324. package/src/jupiter-sdk/instructions/stabbleStableSwap.ts +176 -0
  325. package/src/jupiter-sdk/instructions/stabbleWeightedSwap.ts +178 -0
  326. package/src/jupiter-sdk/instructions/stepSwap.ts +168 -0
  327. package/src/jupiter-sdk/instructions/symmetrySwap.ts +187 -0
  328. package/src/jupiter-sdk/instructions/tokenSwap.ts +168 -0
  329. package/src/jupiter-sdk/instructions/tokenSwapV2.ts +185 -0
  330. package/src/jupiter-sdk/instructions/whirlpoolSwap.ts +179 -0
  331. package/src/jupiter-sdk/instructions/whirlpoolSwapV2.ts +194 -0
  332. package/src/jupiter-sdk/programs/index.ts +9 -0
  333. package/src/jupiter-sdk/programs/jupiter.ts +52 -0
  334. package/src/jupiter-sdk/shared/index.ts +117 -0
  335. package/src/jupiter-sdk/types/accountsType.ts +25 -0
  336. package/src/jupiter-sdk/types/amountWithSlippage.ts +34 -0
  337. package/src/jupiter-sdk/types/index.ts +15 -0
  338. package/src/jupiter-sdk/types/remainingAccountsInfo.ts +34 -0
  339. package/src/jupiter-sdk/types/remainingAccountsSlice.ts +33 -0
  340. package/src/jupiter-sdk/types/routePlanStep.ts +39 -0
  341. package/src/jupiter-sdk/types/side.ts +23 -0
  342. package/src/jupiter-sdk/types/swap.ts +566 -0
  343. package/src/transactions/transactionUtils.ts +72 -5
  344. package/src/transactions/transactionsManager.ts +26 -29
@@ -5,6 +5,7 @@ exports.getTransactionChores = getTransactionChores;
5
5
  exports.requiresRefreshBeforeRebalance = requiresRefreshBeforeRebalance;
6
6
  exports.buildSolautoRebalanceTransaction = buildSolautoRebalanceTransaction;
7
7
  exports.convertReferralFeesToDestination = convertReferralFeesToDestination;
8
+ exports.getErrorInfo = getErrorInfo;
8
9
  const umi_1 = require("@metaplex-foundation/umi");
9
10
  const umi_web3js_adapters_1 = require("@metaplex-foundation/umi-web3js-adapters");
10
11
  const web3_js_1 = require("@solana/web3.js");
@@ -18,6 +19,7 @@ const numberUtils_1 = require("../utils/numberUtils");
18
19
  const generalUtils_2 = require("../utils/solauto/generalUtils");
19
20
  const accountUtils_1 = require("../utils/accountUtils");
20
21
  const marginfi_sdk_1 = require("../marginfi-sdk");
22
+ const jupiter_sdk_1 = require("../jupiter-sdk");
21
23
  function getWSolUsage(client, solautoActions, initiatingDcaIn, cancellingDcaIn) {
22
24
  const supplyIsWsol = client.supplyMint.equals(spl_token_1.NATIVE_MINT);
23
25
  const debtIsWsol = client.debtMint.equals(spl_token_1.NATIVE_MINT);
@@ -329,14 +331,18 @@ function requiresRefreshBeforeRebalance(client) {
329
331
  return true;
330
332
  }
331
333
  else if (client.solautoPositionData && !client.selfManaged) {
332
- if (client.livePositionUpdates.supplyAdjustment > BigInt(0) || client.livePositionUpdates.debtAdjustment > BigInt(0)) {
334
+ if (client.livePositionUpdates.supplyAdjustment > BigInt(0) ||
335
+ client.livePositionUpdates.debtAdjustment > BigInt(0)) {
333
336
  return false;
334
337
  }
335
338
  const oldSupply = client.solautoPositionData.state.supply.amountUsed.baseUnit;
336
339
  const oldDebt = client.solautoPositionData.state.debt.amountUsed.baseUnit;
337
- const supplyDiff = (client.solautoPositionState?.supply.amountUsed.baseUnit ?? BigInt(0)) - oldSupply;
338
- const debtDiff = (client.solautoPositionState?.debt.amountUsed.baseUnit ?? BigInt(0)) - oldDebt;
339
- if (Math.abs(Number(supplyDiff)) / Number(oldSupply) >= 0.01 || Math.abs(Number(debtDiff)) / Number(oldDebt) >= 0.01) {
340
+ const supplyDiff = (client.solautoPositionState?.supply.amountUsed.baseUnit ?? BigInt(0)) -
341
+ oldSupply;
342
+ const debtDiff = (client.solautoPositionState?.debt.amountUsed.baseUnit ?? BigInt(0)) -
343
+ oldDebt;
344
+ if (Math.abs(Number(supplyDiff)) / Number(oldSupply) >= 0.01 ||
345
+ Math.abs(Number(debtDiff)) / Number(oldDebt) >= 0.01) {
340
346
  return true;
341
347
  }
342
348
  }
@@ -421,3 +427,39 @@ async function convertReferralFeesToDestination(umi, referralState, tokenAccount
421
427
  .add(swapIx);
422
428
  return [tx, lookupTableAddresses];
423
429
  }
430
+ function getErrorInfo(tx, error) {
431
+ let canBeIgnored = false;
432
+ let errorName = undefined;
433
+ let errorInfo = undefined;
434
+ try {
435
+ let programError = null;
436
+ if (typeof error === "object" && error["InstructionError"]) {
437
+ const err = error["InstructionError"];
438
+ const errIx = tx.getInstructions()[Math.max(0, err[0] - 2)];
439
+ const errCode = err[1]["Custom"];
440
+ if (errIx.programId === generated_1.SOLAUTO_PROGRAM_ID) {
441
+ programError = (0, generated_1.getSolautoErrorFromCode)(errCode, (0, generated_1.createSolautoProgram)());
442
+ if (programError?.name ===
443
+ new generated_1.InvalidRebalanceConditionError((0, generated_1.createSolautoProgram)()).name) {
444
+ canBeIgnored = true;
445
+ }
446
+ }
447
+ else if (errIx.programId === marginfi_sdk_1.MARGINFI_PROGRAM_ID) {
448
+ programError = (0, marginfi_sdk_1.getMarginfiErrorFromName)(errCode, (0, marginfi_sdk_1.createMarginfiProgram)());
449
+ }
450
+ else if (errIx.programId === jupiter_sdk_1.JUPITER_PROGRAM_ID) {
451
+ programError = (0, jupiter_sdk_1.getJupiterErrorFromName)(errCode, (0, jupiter_sdk_1.createJupiterProgram)());
452
+ }
453
+ }
454
+ if (programError) {
455
+ errorName = programError?.name;
456
+ errorName = programError?.message;
457
+ }
458
+ }
459
+ catch { }
460
+ return {
461
+ errorName: errorName ?? "Unknown error",
462
+ errorInfo: errorInfo ?? "Unknown error",
463
+ canBeIgnored,
464
+ };
465
+ }
@@ -28,10 +28,11 @@ export declare enum TransactionStatus {
28
28
  }
29
29
  export type TransactionManagerStatuses = {
30
30
  name: string;
31
+ attemptNum: number;
31
32
  status: TransactionStatus;
33
+ moreInfo?: string;
32
34
  simulationSuccessful?: boolean;
33
35
  txSig?: string;
34
- attemptNum: number;
35
36
  }[];
36
37
  export declare class TransactionsManager {
37
38
  private txHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"transactionsManager.d.ts","sourceRoot":"","sources":["../../src/transactions/transactionsManager.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,kBAAkB,EAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAKzD,OAAO,EACL,aAAa,EAEd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAa,MAAM,YAAY,CAAC;AA0C7D,qBAAa,eAAe;IAKjB,OAAO,EAAE,CACd,UAAU,EAAE,MAAM,KACf,OAAO,CACV;QAAE,EAAE,EAAE,kBAAkB,CAAC;QAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,SAAS,CACxE;IACM,IAAI,CAAC,EAAE,MAAM;IATtB,oBAAoB,EAAG,MAAM,EAAE,CAAC;IAChC,EAAE,CAAC,EAAE,kBAAkB,CAAC;gBAGf,OAAO,EAAE,CACd,UAAU,EAAE,MAAM,KACf,OAAO,CACV;QAAE,EAAE,EAAE,kBAAkB,CAAC;QAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,SAAS,CACxE,EACM,IAAI,CAAC,EAAE,MAAM,YAAA;IAGhB,UAAU;IAIV,OAAO,CAAC,UAAU,EAAE,MAAM;IAMhC,cAAc,IAAI,MAAM,EAAE;CAY3B;AAgFD,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,iBAAiB,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,EAAE,CAAC;AAEJ,qBAAa,mBAAmB;IAK5B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,cAAc,CAAC;IACvB,OAAO,CAAC,MAAM,CAAC;IACf,OAAO,CAAC,YAAY,CAAC;IACrB,OAAO,CAAC,aAAa,CAAC;IACtB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,UAAU;IAVpB,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,YAAY,CAAe;gBAGzB,SAAS,EAAE,aAAa,GAAG,oBAAoB,EAC/C,cAAc,CAAC,GAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,aAAA,EAC/D,MAAM,CAAC,EAAE,kBAAkB,YAAA,EAC3B,YAAY,CAAC,EAAE,OAAO,YAAA,EACtB,aAAa,CAAC,EAAE,aAAa,YAAA,EAC7B,OAAO,GAAE,MAAU,EACnB,UAAU,GAAE,MAAY;YAQpB,uBAAuB;IAwCrC,OAAO,CAAC,YAAY;YAwCN,aAAa;IAoBd,UAAU,CACrB,YAAY,EAAE,eAAe,EAAE,EAC/B,eAAe,CAAC,EAAE,kBAAkB,GACnC,OAAO,CAAC,0BAA0B,CAAC;IAyEzB,IAAI,CACf,KAAK,EAAE,eAAe,EAAE,EACxB,eAAe,CAAC,EAAE,kBAAkB,EACpC,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,0BAA0B,CAAC;YA0GxB,eAAe;CA2D9B"}
1
+ {"version":3,"file":"transactionsManager.d.ts","sourceRoot":"","sources":["../../src/transactions/transactionsManager.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,kBAAkB,EAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAKzD,OAAO,EACL,aAAa,EAEd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAa,MAAM,YAAY,CAAC;AA0C7D,qBAAa,eAAe;IAKjB,OAAO,EAAE,CACd,UAAU,EAAE,MAAM,KACf,OAAO,CACV;QAAE,EAAE,EAAE,kBAAkB,CAAC;QAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,SAAS,CACxE;IACM,IAAI,CAAC,EAAE,MAAM;IATtB,oBAAoB,EAAG,MAAM,EAAE,CAAC;IAChC,EAAE,CAAC,EAAE,kBAAkB,CAAC;gBAGf,OAAO,EAAE,CACd,UAAU,EAAE,MAAM,KACf,OAAO,CACV;QAAE,EAAE,EAAE,kBAAkB,CAAC;QAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,SAAS,CACxE,EACM,IAAI,CAAC,EAAE,MAAM,YAAA;IAGhB,UAAU;IAIV,OAAO,CAAC,UAAU,EAAE,MAAM;IAMhC,cAAc,IAAI,MAAM,EAAE;CAY3B;AAgFD,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EAAE,CAAC;AAEJ,qBAAa,mBAAmB;IAK5B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,cAAc,CAAC;IACvB,OAAO,CAAC,MAAM,CAAC;IACf,OAAO,CAAC,YAAY,CAAC;IACrB,OAAO,CAAC,aAAa,CAAC;IACtB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,UAAU;IAVpB,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,YAAY,CAAe;gBAGzB,SAAS,EAAE,aAAa,GAAG,oBAAoB,EAC/C,cAAc,CAAC,GAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,aAAA,EAC/D,MAAM,CAAC,EAAE,kBAAkB,YAAA,EAC3B,YAAY,CAAC,EAAE,OAAO,YAAA,EACtB,aAAa,CAAC,EAAE,aAAa,YAAA,EAC7B,OAAO,GAAE,MAAU,EACnB,UAAU,GAAE,MAAY;YAQpB,uBAAuB;IAwCrC,OAAO,CAAC,YAAY;YA8CN,aAAa;IAoBd,UAAU,CACrB,YAAY,EAAE,eAAe,EAAE,EAC/B,eAAe,CAAC,EAAE,kBAAkB,GACnC,OAAO,CAAC,0BAA0B,CAAC;IAyEzB,IAAI,CACf,KAAK,EAAE,eAAe,EAAE,EACxB,eAAe,CAAC,EAAE,kBAAkB,EACpC,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,0BAA0B,CAAC;YA0GxB,eAAe;CAiD9B"}
@@ -9,7 +9,6 @@ const umi_1 = require("@metaplex-foundation/umi");
9
9
  const solanaUtils_1 = require("../utils/solanaUtils");
10
10
  const generalUtils_1 = require("../utils/generalUtils");
11
11
  const transactionUtils_1 = require("./transactionUtils");
12
- const generated_1 = require("../generated");
13
12
  // import { sendJitoBundledTransactions } from "../utils/jitoUtils";
14
13
  class LookupTables {
15
14
  constructor(defaultLuts, umi) {
@@ -162,7 +161,7 @@ class TransactionsManager {
162
161
  }
163
162
  return transactionSets;
164
163
  }
165
- updateStatus(name, status, attemptNum, txSig, simulationSuccessful) {
164
+ updateStatus(name, status, attemptNum, txSig, simulationSuccessful, moreInfo) {
166
165
  if (!this.statuses.filter((x) => x.name === name)) {
167
166
  this.statuses.push({
168
167
  name,
@@ -170,6 +169,7 @@ class TransactionsManager {
170
169
  txSig,
171
170
  attemptNum,
172
171
  simulationSuccessful,
172
+ moreInfo,
173
173
  });
174
174
  }
175
175
  else {
@@ -180,6 +180,9 @@ class TransactionsManager {
180
180
  if (simulationSuccessful) {
181
181
  this.statuses[idx].simulationSuccessful = simulationSuccessful;
182
182
  }
183
+ if (moreInfo) {
184
+ this.statuses[idx].moreInfo = moreInfo;
185
+ }
183
186
  }
184
187
  else {
185
188
  this.statuses.push({
@@ -188,6 +191,7 @@ class TransactionsManager {
188
191
  txSig,
189
192
  attemptNum,
190
193
  simulationSuccessful,
194
+ moreInfo,
191
195
  });
192
196
  }
193
197
  }
@@ -332,25 +336,13 @@ class TransactionsManager {
332
336
  this.updateStatus(txName, TransactionStatus.Successful, attemptNum, txSig ? bs58_1.default.encode(txSig) : undefined);
333
337
  }
334
338
  catch (e) {
335
- try {
336
- if (typeof e === "object" && e["InstructionError"]) {
337
- const err = e["InstructionError"];
338
- const errIx = err[0];
339
- const errCode = err[1]["Custom"];
340
- const solautoProgram = this.txHandler.umi.programs.get(generated_1.SOLAUTO_PROGRAM_ID);
341
- const invalidRebalanceError = new generated_1.InvalidRebalanceConditionError(solautoProgram);
342
- if (tx.getInstructions()[Math.max(0, errIx - 2)].programId ===
343
- generated_1.SOLAUTO_PROGRAM_ID &&
344
- solautoProgram.getErrorFromCode(errCode)?.name ===
345
- invalidRebalanceError.name) {
346
- this.updateStatus(txName, TransactionStatus.Skipped, attemptNum);
347
- return;
348
- }
349
- }
339
+ const errorDetails = (0, transactionUtils_1.getErrorInfo)(tx, e);
340
+ this.updateStatus(txName, errorDetails.canBeIgnored
341
+ ? TransactionStatus.Skipped
342
+ : TransactionStatus.Failed, attemptNum, undefined, undefined, errorDetails.errorInfo);
343
+ if (!errorDetails.canBeIgnored) {
344
+ throw e;
350
345
  }
351
- catch { }
352
- this.updateStatus(txName, TransactionStatus.Failed, attemptNum);
353
- throw e;
354
346
  }
355
347
  }
356
348
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haven-fi/solauto-sdk",
3
- "version": "1.0.176",
3
+ "version": "1.0.177",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "description": "Typescript SDK for the Solauto program on the Solana blockchain",
@@ -1,8 +1,5 @@
1
1
  import { PublicKey } from "@solana/web3.js";
2
2
 
3
3
  export const USD_DECIMALS = 9;
4
-
5
- // TODO
6
4
  export const SOLAUTO_FEES_WALLET = new PublicKey("AprYCPiVeKMCgjQ2ZufwChMzvQ5kFjJo2ekTLSkXsQDm");
7
-
8
5
  export const SOLAUTO_MANAGER = new PublicKey("MNGRcX4nc7quPdzBbNKJ4ScK5EE73JnwJVGxuJXhHCY");
@@ -12,6 +12,7 @@ import {
12
12
  // import { JitoRpcConnection } from "jito-ts";
13
13
  import { SOLAUTO_PROGRAM_ID } from "../generated";
14
14
  import { SOLAUTO_MANAGER } from "./generalAccounts";
15
+ import { JUPITER_PROGRAM_ID } from "../jupiter-sdk";
15
16
 
16
17
  export const BASIS_POINTS = 10000;
17
18
 
@@ -30,8 +31,6 @@ export const PRICES: { [key: string]: { price: number; time: number; } } = {};
30
31
 
31
32
  export const SOLAUTO_LUT = "9D4xwZwDf46n9ft5gQxZzq3rBbdRXsXojKQLZbBdskPY";
32
33
 
33
- export const JUPITER_PROGRAM_ID = "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4";
34
-
35
34
  export const STANDARD_LUT_ACCOUNTS = [
36
35
  PublicKey.default.toString(),
37
36
  SOLAUTO_PROGRAM_ID,
@@ -32,18 +32,14 @@ export class IncorrectAccountsError extends ProgramError {
32
32
  codeToErrorMap.set(0x0, IncorrectAccountsError);
33
33
  nameToErrorMap.set('IncorrectAccounts', IncorrectAccountsError);
34
34
 
35
- /** FailedAccountDeserialization: Failed to deserialize account data, incorrect account was likely given */
35
+ /** FailedAccountDeserialization: Failed to deserialize account data */
36
36
  export class FailedAccountDeserializationError extends ProgramError {
37
37
  override readonly name: string = 'FailedAccountDeserialization';
38
38
 
39
39
  readonly code: number = 0x1; // 1
40
40
 
41
41
  constructor(program: Program, cause?: Error) {
42
- super(
43
- 'Failed to deserialize account data, incorrect account was likely given',
44
- program,
45
- cause
46
- );
42
+ super('Failed to deserialize account data', program, cause);
47
43
  }
48
44
  }
49
45
  codeToErrorMap.set(0x1, FailedAccountDeserializationError);
@@ -52,154 +48,100 @@ nameToErrorMap.set(
52
48
  FailedAccountDeserializationError
53
49
  );
54
50
 
55
- /** InvalidPositionSettings: Invalid position settings given */
51
+ /** InvalidPositionSettings: Invalid position settings provided */
56
52
  export class InvalidPositionSettingsError extends ProgramError {
57
53
  override readonly name: string = 'InvalidPositionSettings';
58
54
 
59
55
  readonly code: number = 0x2; // 2
60
56
 
61
57
  constructor(program: Program, cause?: Error) {
62
- super('Invalid position settings given', program, cause);
58
+ super('Invalid position settings provided', program, cause);
63
59
  }
64
60
  }
65
61
  codeToErrorMap.set(0x2, InvalidPositionSettingsError);
66
62
  nameToErrorMap.set('InvalidPositionSettings', InvalidPositionSettingsError);
67
63
 
68
- /** InvalidDCASettings: Invalid DCA settings given */
64
+ /** InvalidDCASettings: Invalid DCA configuration provided */
69
65
  export class InvalidDCASettingsError extends ProgramError {
70
66
  override readonly name: string = 'InvalidDCASettings';
71
67
 
72
68
  readonly code: number = 0x3; // 3
73
69
 
74
70
  constructor(program: Program, cause?: Error) {
75
- super('Invalid DCA settings given', program, cause);
71
+ super('Invalid DCA configuration provided', program, cause);
76
72
  }
77
73
  }
78
74
  codeToErrorMap.set(0x3, InvalidDCASettingsError);
79
75
  nameToErrorMap.set('InvalidDCASettings', InvalidDCASettingsError);
80
76
 
81
- /** InvalidAutomationData: Invalid automation data given */
77
+ /** InvalidAutomationData: Invalid automation settings provided */
82
78
  export class InvalidAutomationDataError extends ProgramError {
83
79
  override readonly name: string = 'InvalidAutomationData';
84
80
 
85
81
  readonly code: number = 0x4; // 4
86
82
 
87
83
  constructor(program: Program, cause?: Error) {
88
- super('Invalid automation data given', program, cause);
84
+ super('Invalid automation settings provided', program, cause);
89
85
  }
90
86
  }
91
87
  codeToErrorMap.set(0x4, InvalidAutomationDataError);
92
88
  nameToErrorMap.set('InvalidAutomationData', InvalidAutomationDataError);
93
89
 
94
- /** StaleProtocolData: Stale protocol data. Refresh instruction must be invoked before taking a protocol action */
95
- export class StaleProtocolDataError extends ProgramError {
96
- override readonly name: string = 'StaleProtocolData';
97
-
98
- readonly code: number = 0x5; // 5
99
-
100
- constructor(program: Program, cause?: Error) {
101
- super(
102
- 'Stale protocol data. Refresh instruction must be invoked before taking a protocol action',
103
- program,
104
- cause
105
- );
106
- }
107
- }
108
- codeToErrorMap.set(0x5, StaleProtocolDataError);
109
- nameToErrorMap.set('StaleProtocolData', StaleProtocolDataError);
110
-
111
- /** UnableToRebalance: Unable to adjust position to the desired utilization rate */
112
- export class UnableToRebalanceError extends ProgramError {
113
- override readonly name: string = 'UnableToRebalance';
114
-
115
- readonly code: number = 0x6; // 6
116
-
117
- constructor(program: Program, cause?: Error) {
118
- super(
119
- 'Unable to adjust position to the desired utilization rate',
120
- program,
121
- cause
122
- );
123
- }
124
- }
125
- codeToErrorMap.set(0x6, UnableToRebalanceError);
126
- nameToErrorMap.set('UnableToRebalance', UnableToRebalanceError);
127
-
128
- /** ExceededValidUtilizationRate: Desired action brought the utilization rate to an unsafe amount */
129
- export class ExceededValidUtilizationRateError extends ProgramError {
130
- override readonly name: string = 'ExceededValidUtilizationRate';
131
-
132
- readonly code: number = 0x7; // 7
133
-
134
- constructor(program: Program, cause?: Error) {
135
- super(
136
- 'Desired action brought the utilization rate to an unsafe amount',
137
- program,
138
- cause
139
- );
140
- }
141
- }
142
- codeToErrorMap.set(0x7, ExceededValidUtilizationRateError);
143
- nameToErrorMap.set(
144
- 'ExceededValidUtilizationRate',
145
- ExceededValidUtilizationRateError
146
- );
147
-
148
90
  /** InvalidRebalanceCondition: Invalid position condition to rebalance */
149
91
  export class InvalidRebalanceConditionError extends ProgramError {
150
92
  override readonly name: string = 'InvalidRebalanceCondition';
151
93
 
152
- readonly code: number = 0x8; // 8
94
+ readonly code: number = 0x5; // 5
153
95
 
154
96
  constructor(program: Program, cause?: Error) {
155
97
  super('Invalid position condition to rebalance', program, cause);
156
98
  }
157
99
  }
158
- codeToErrorMap.set(0x8, InvalidRebalanceConditionError);
100
+ codeToErrorMap.set(0x5, InvalidRebalanceConditionError);
159
101
  nameToErrorMap.set('InvalidRebalanceCondition', InvalidRebalanceConditionError);
160
102
 
161
103
  /** InstructionIsCPI: Unable to invoke instruction through a CPI */
162
104
  export class InstructionIsCPIError extends ProgramError {
163
105
  override readonly name: string = 'InstructionIsCPI';
164
106
 
165
- readonly code: number = 0x9; // 9
107
+ readonly code: number = 0x6; // 6
166
108
 
167
109
  constructor(program: Program, cause?: Error) {
168
110
  super('Unable to invoke instruction through a CPI', program, cause);
169
111
  }
170
112
  }
171
- codeToErrorMap.set(0x9, InstructionIsCPIError);
113
+ codeToErrorMap.set(0x6, InstructionIsCPIError);
172
114
  nameToErrorMap.set('InstructionIsCPI', InstructionIsCPIError);
173
115
 
174
- /** RebalanceAbuse: Too many rebalance instruction invocations in the same transaction */
175
- export class RebalanceAbuseError extends ProgramError {
176
- override readonly name: string = 'RebalanceAbuse';
116
+ /** IncorrectInstructions: Incorrect set of instructions in the transaction */
117
+ export class IncorrectInstructionsError extends ProgramError {
118
+ override readonly name: string = 'IncorrectInstructions';
177
119
 
178
- readonly code: number = 0xa; // 10
120
+ readonly code: number = 0x7; // 7
179
121
 
180
122
  constructor(program: Program, cause?: Error) {
181
- super(
182
- 'Too many rebalance instruction invocations in the same transaction',
183
- program,
184
- cause
185
- );
123
+ super('Incorrect set of instructions in the transaction', program, cause);
186
124
  }
187
125
  }
188
- codeToErrorMap.set(0xa, RebalanceAbuseError);
189
- nameToErrorMap.set('RebalanceAbuse', RebalanceAbuseError);
126
+ codeToErrorMap.set(0x7, IncorrectInstructionsError);
127
+ nameToErrorMap.set('IncorrectInstructions', IncorrectInstructionsError);
190
128
 
191
- /** IncorrectInstructions: Incorrect set of instructions in the transaction */
192
- export class IncorrectInstructionsError extends ProgramError {
193
- override readonly name: string = 'IncorrectInstructions';
129
+ /** IncorrectDebtAdjustment: Incorrect swap amount provided. Likely due to high price volatility */
130
+ export class IncorrectDebtAdjustmentError extends ProgramError {
131
+ override readonly name: string = 'IncorrectDebtAdjustment';
194
132
 
195
- readonly code: number = 0xb; // 11
133
+ readonly code: number = 0x8; // 8
196
134
 
197
135
  constructor(program: Program, cause?: Error) {
198
- super('Incorrect set of instructions in the transaction', program, cause);
136
+ super(
137
+ 'Incorrect swap amount provided. Likely due to high price volatility',
138
+ program,
139
+ cause
140
+ );
199
141
  }
200
142
  }
201
- codeToErrorMap.set(0xb, IncorrectInstructionsError);
202
- nameToErrorMap.set('IncorrectInstructions', IncorrectInstructionsError);
143
+ codeToErrorMap.set(0x8, IncorrectDebtAdjustmentError);
144
+ nameToErrorMap.set('IncorrectDebtAdjustment', IncorrectDebtAdjustmentError);
203
145
 
204
146
  /**
205
147
  * Attempts to resolve a custom program error from the provided error code.
@@ -0,0 +1,9 @@
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
+ export * from './tokenLedger';
@@ -0,0 +1,146 @@
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
+ Account,
11
+ Context,
12
+ Pda,
13
+ PublicKey,
14
+ RpcAccount,
15
+ RpcGetAccountOptions,
16
+ RpcGetAccountsOptions,
17
+ assertAccountExists,
18
+ deserializeAccount,
19
+ gpaBuilder,
20
+ publicKey as toPublicKey,
21
+ } from '@metaplex-foundation/umi';
22
+ import {
23
+ Serializer,
24
+ array,
25
+ mapSerializer,
26
+ publicKey as publicKeySerializer,
27
+ struct,
28
+ u64,
29
+ u8,
30
+ } from '@metaplex-foundation/umi/serializers';
31
+
32
+ export type TokenLedger = Account<TokenLedgerAccountData>;
33
+
34
+ export type TokenLedgerAccountData = {
35
+ discriminator: Array<number>;
36
+ tokenAccount: PublicKey;
37
+ amount: bigint;
38
+ };
39
+
40
+ export type TokenLedgerAccountDataArgs = {
41
+ tokenAccount: PublicKey;
42
+ amount: number | bigint;
43
+ };
44
+
45
+ export function getTokenLedgerAccountDataSerializer(): Serializer<
46
+ TokenLedgerAccountDataArgs,
47
+ TokenLedgerAccountData
48
+ > {
49
+ return mapSerializer<TokenLedgerAccountDataArgs, any, TokenLedgerAccountData>(
50
+ struct<TokenLedgerAccountData>(
51
+ [
52
+ ['discriminator', array(u8(), { size: 8 })],
53
+ ['tokenAccount', publicKeySerializer()],
54
+ ['amount', u64()],
55
+ ],
56
+ { description: 'TokenLedgerAccountData' }
57
+ ),
58
+ (value) => ({
59
+ ...value,
60
+ discriminator: [156, 247, 9, 188, 54, 108, 85, 77],
61
+ })
62
+ ) as Serializer<TokenLedgerAccountDataArgs, TokenLedgerAccountData>;
63
+ }
64
+
65
+ export function deserializeTokenLedger(rawAccount: RpcAccount): TokenLedger {
66
+ return deserializeAccount(rawAccount, getTokenLedgerAccountDataSerializer());
67
+ }
68
+
69
+ export async function fetchTokenLedger(
70
+ context: Pick<Context, 'rpc'>,
71
+ publicKey: PublicKey | Pda,
72
+ options?: RpcGetAccountOptions
73
+ ): Promise<TokenLedger> {
74
+ const maybeAccount = await context.rpc.getAccount(
75
+ toPublicKey(publicKey, false),
76
+ options
77
+ );
78
+ assertAccountExists(maybeAccount, 'TokenLedger');
79
+ return deserializeTokenLedger(maybeAccount);
80
+ }
81
+
82
+ export async function safeFetchTokenLedger(
83
+ context: Pick<Context, 'rpc'>,
84
+ publicKey: PublicKey | Pda,
85
+ options?: RpcGetAccountOptions
86
+ ): Promise<TokenLedger | null> {
87
+ const maybeAccount = await context.rpc.getAccount(
88
+ toPublicKey(publicKey, false),
89
+ options
90
+ );
91
+ return maybeAccount.exists ? deserializeTokenLedger(maybeAccount) : null;
92
+ }
93
+
94
+ export async function fetchAllTokenLedger(
95
+ context: Pick<Context, 'rpc'>,
96
+ publicKeys: Array<PublicKey | Pda>,
97
+ options?: RpcGetAccountsOptions
98
+ ): Promise<TokenLedger[]> {
99
+ const maybeAccounts = await context.rpc.getAccounts(
100
+ publicKeys.map((key) => toPublicKey(key, false)),
101
+ options
102
+ );
103
+ return maybeAccounts.map((maybeAccount) => {
104
+ assertAccountExists(maybeAccount, 'TokenLedger');
105
+ return deserializeTokenLedger(maybeAccount);
106
+ });
107
+ }
108
+
109
+ export async function safeFetchAllTokenLedger(
110
+ context: Pick<Context, 'rpc'>,
111
+ publicKeys: Array<PublicKey | Pda>,
112
+ options?: RpcGetAccountsOptions
113
+ ): Promise<TokenLedger[]> {
114
+ const maybeAccounts = await context.rpc.getAccounts(
115
+ publicKeys.map((key) => toPublicKey(key, false)),
116
+ options
117
+ );
118
+ return maybeAccounts
119
+ .filter((maybeAccount) => maybeAccount.exists)
120
+ .map((maybeAccount) => deserializeTokenLedger(maybeAccount as RpcAccount));
121
+ }
122
+
123
+ export function getTokenLedgerGpaBuilder(
124
+ context: Pick<Context, 'rpc' | 'programs'>
125
+ ) {
126
+ const programId = context.programs.getPublicKey(
127
+ 'jupiter',
128
+ 'JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4'
129
+ );
130
+ return gpaBuilder(context, programId)
131
+ .registerFields<{
132
+ discriminator: Array<number>;
133
+ tokenAccount: PublicKey;
134
+ amount: number | bigint;
135
+ }>({
136
+ discriminator: [0, array(u8(), { size: 8 })],
137
+ tokenAccount: [8, publicKeySerializer()],
138
+ amount: [40, u64()],
139
+ })
140
+ .deserializeUsing<TokenLedger>((account) => deserializeTokenLedger(account))
141
+ .whereField('discriminator', [156, 247, 9, 188, 54, 108, 85, 77]);
142
+ }
143
+
144
+ export function getTokenLedgerSize(): number {
145
+ return 48;
146
+ }
@@ -0,0 +1,9 @@
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
+ export * from './jupiter';