@haven-fi/solauto-sdk 1.0.581 → 1.0.583

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 (268) hide show
  1. package/dist/constants/solautoConstants.d.ts +1 -0
  2. package/dist/constants/solautoConstants.d.ts.map +1 -1
  3. package/dist/constants/solautoConstants.js +4 -10
  4. package/dist/constants/switchboardConstants.d.ts.map +1 -1
  5. package/dist/constants/switchboardConstants.js +5 -5
  6. package/dist/generated/accounts/solautoPosition.js +2 -2
  7. package/dist/generated/errors/solauto.d.ts +14 -2
  8. package/dist/generated/errors/solauto.d.ts.map +1 -1
  9. package/dist/generated/errors/solauto.js +27 -5
  10. package/dist/generated/instructions/claimReferralFees.d.ts +1 -1
  11. package/dist/generated/instructions/claimReferralFees.d.ts.map +1 -1
  12. package/dist/generated/instructions/closePosition.d.ts +1 -1
  13. package/dist/generated/instructions/closePosition.d.ts.map +1 -1
  14. package/dist/generated/instructions/closePosition.js +2 -2
  15. package/dist/generated/instructions/marginfiOpenPosition.d.ts +1 -3
  16. package/dist/generated/instructions/marginfiOpenPosition.d.ts.map +1 -1
  17. package/dist/generated/instructions/marginfiOpenPosition.js +0 -1
  18. package/dist/generated/instructions/marginfiRebalance.d.ts +7 -3
  19. package/dist/generated/instructions/marginfiRebalance.d.ts.map +1 -1
  20. package/dist/generated/instructions/marginfiRebalance.js +3 -1
  21. package/dist/generated/types/index.d.ts +7 -1
  22. package/dist/generated/types/index.d.ts.map +1 -1
  23. package/dist/generated/types/index.js +7 -1
  24. package/dist/generated/types/positionData.d.ts +2 -2
  25. package/dist/generated/types/positionData.d.ts.map +1 -1
  26. package/dist/generated/types/positionData.js +1 -1
  27. package/dist/generated/types/positionState.d.ts +7 -7
  28. package/dist/generated/types/positionState.d.ts.map +1 -1
  29. package/dist/generated/types/positionState.js +3 -3
  30. package/dist/generated/types/{positionTokenUsage.d.ts → positionTokenState.d.ts} +6 -8
  31. package/dist/generated/types/positionTokenState.d.ts.map +1 -0
  32. package/dist/generated/types/{positionTokenUsage.js → positionTokenState.js} +6 -7
  33. package/dist/generated/types/rebalanceData.d.ts +7 -13
  34. package/dist/generated/types/rebalanceData.d.ts.map +1 -1
  35. package/dist/generated/types/rebalanceData.js +3 -6
  36. package/dist/generated/types/rebalanceDirection.d.ts +3 -2
  37. package/dist/generated/types/rebalanceDirection.d.ts.map +1 -1
  38. package/dist/generated/types/rebalanceDirection.js +3 -2
  39. package/dist/generated/types/rebalanceInstructionData.d.ts +27 -0
  40. package/dist/generated/types/rebalanceInstructionData.d.ts.map +1 -0
  41. package/dist/generated/types/rebalanceInstructionData.js +22 -0
  42. package/dist/generated/types/rebalanceStateValues.d.ts +27 -0
  43. package/dist/generated/types/rebalanceStateValues.d.ts.map +1 -0
  44. package/dist/generated/types/rebalanceStateValues.js +22 -0
  45. package/dist/generated/types/rebalanceStep.d.ts +15 -0
  46. package/dist/generated/types/rebalanceStep.d.ts.map +1 -0
  47. package/dist/generated/types/rebalanceStep.js +22 -0
  48. package/dist/generated/types/solautoRebalanceType.d.ts +4 -5
  49. package/dist/generated/types/solautoRebalanceType.d.ts.map +1 -1
  50. package/dist/generated/types/solautoRebalanceType.js +4 -5
  51. package/dist/generated/types/solautoSettingsParameters.d.ts +2 -15
  52. package/dist/generated/types/solautoSettingsParameters.d.ts.map +1 -1
  53. package/dist/generated/types/solautoSettingsParameters.js +1 -5
  54. package/dist/generated/types/solautoSettingsParametersInp.d.ts +1 -12
  55. package/dist/generated/types/solautoSettingsParametersInp.d.ts.map +1 -1
  56. package/dist/generated/types/solautoSettingsParametersInp.js +0 -3
  57. package/dist/generated/types/swapType.d.ts +15 -0
  58. package/dist/generated/types/swapType.d.ts.map +1 -0
  59. package/dist/generated/types/swapType.js +22 -0
  60. package/dist/generated/types/tokenBalanceChange.d.ts +21 -0
  61. package/dist/generated/types/tokenBalanceChange.d.ts.map +1 -0
  62. package/dist/generated/types/tokenBalanceChange.js +19 -0
  63. package/dist/generated/types/tokenBalanceChangeType.d.ts +18 -0
  64. package/dist/generated/types/tokenBalanceChangeType.d.ts.map +1 -0
  65. package/dist/generated/types/tokenBalanceChangeType.js +25 -0
  66. package/dist/generated/types/updatePositionData.d.ts +2 -2
  67. package/dist/generated/types/updatePositionData.d.ts.map +1 -1
  68. package/dist/generated/types/updatePositionData.js +1 -1
  69. package/dist/index.d.ts +8 -6
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +5 -5
  72. package/dist/marginfi-sdk/types/interestRateConfig.d.ts +3 -1
  73. package/dist/marginfi-sdk/types/interestRateConfig.d.ts.map +1 -1
  74. package/dist/marginfi-sdk/types/interestRateConfig.js +2 -1
  75. package/dist/services/flashLoans/flProviderAggregator.d.ts +19 -0
  76. package/dist/services/flashLoans/flProviderAggregator.d.ts.map +1 -0
  77. package/dist/services/flashLoans/flProviderAggregator.js +46 -0
  78. package/dist/services/flashLoans/flProviderBase.d.ts +23 -0
  79. package/dist/services/flashLoans/flProviderBase.d.ts.map +1 -0
  80. package/dist/services/flashLoans/flProviderBase.js +37 -0
  81. package/dist/services/flashLoans/index.d.ts +4 -0
  82. package/dist/services/flashLoans/index.d.ts.map +1 -0
  83. package/dist/services/flashLoans/index.js +19 -0
  84. package/dist/services/flashLoans/marginfiFlProvider.d.ts +25 -0
  85. package/dist/services/flashLoans/marginfiFlProvider.d.ts.map +1 -0
  86. package/dist/services/flashLoans/marginfiFlProvider.js +246 -0
  87. package/dist/services/index.d.ts +6 -0
  88. package/dist/services/index.d.ts.map +1 -0
  89. package/dist/services/index.js +21 -0
  90. package/dist/services/rebalance/index.d.ts +3 -0
  91. package/dist/services/rebalance/index.d.ts.map +1 -0
  92. package/dist/services/rebalance/index.js +18 -0
  93. package/dist/services/rebalance/rebalanceSwapManager.d.ts +30 -0
  94. package/dist/services/rebalance/rebalanceSwapManager.d.ts.map +1 -0
  95. package/dist/services/rebalance/rebalanceSwapManager.js +144 -0
  96. package/dist/services/rebalance/rebalanceTxBuilder.d.ts +22 -0
  97. package/dist/services/rebalance/rebalanceTxBuilder.d.ts.map +1 -0
  98. package/dist/services/rebalance/rebalanceTxBuilder.js +200 -0
  99. package/dist/services/rebalance/rebalanceValues.d.ts +31 -0
  100. package/dist/services/rebalance/rebalanceValues.d.ts.map +1 -0
  101. package/dist/services/rebalance/rebalanceValues.js +118 -0
  102. package/dist/services/rebalance/solautoFees.d.ts +13 -0
  103. package/dist/services/rebalance/solautoFees.d.ts.map +1 -0
  104. package/dist/services/rebalance/solautoFees.js +54 -0
  105. package/dist/services/solauto/index.d.ts +5 -0
  106. package/dist/services/solauto/index.d.ts.map +1 -0
  107. package/dist/{clients → services/solauto}/referralStateManager.d.ts +4 -5
  108. package/dist/services/solauto/referralStateManager.d.ts.map +1 -0
  109. package/dist/{clients → services/solauto}/referralStateManager.js +10 -12
  110. package/dist/services/solauto/solautoClient.d.ts +59 -0
  111. package/dist/services/solauto/solautoClient.d.ts.map +1 -0
  112. package/dist/{clients → services/solauto}/solautoClient.js +78 -109
  113. package/dist/services/solauto/solautoMarginfiClient.d.ts +34 -0
  114. package/dist/services/solauto/solautoMarginfiClient.d.ts.map +1 -0
  115. package/dist/services/solauto/solautoMarginfiClient.js +322 -0
  116. package/dist/{clients → services/solauto}/txHandler.d.ts +11 -2
  117. package/dist/services/solauto/txHandler.d.ts.map +1 -0
  118. package/dist/services/solauto/txHandler.js +38 -0
  119. package/dist/services/swap/index.d.ts +2 -0
  120. package/dist/services/swap/index.d.ts.map +1 -0
  121. package/dist/{utils/solauto → services/swap}/index.js +1 -2
  122. package/dist/services/swap/jupSwapManager.d.ts +37 -0
  123. package/dist/services/swap/jupSwapManager.d.ts.map +1 -0
  124. package/dist/services/swap/jupSwapManager.js +108 -0
  125. package/dist/services/transactions/index.d.ts.map +1 -0
  126. package/dist/{transactions → services/transactions}/transactionUtils.d.ts +3 -5
  127. package/dist/services/transactions/transactionUtils.d.ts.map +1 -0
  128. package/dist/{transactions → services/transactions}/transactionUtils.js +29 -137
  129. package/dist/{transactions → services/transactions}/transactionsManager.d.ts +4 -4
  130. package/dist/services/transactions/transactionsManager.d.ts.map +1 -0
  131. package/dist/{transactions → services/transactions}/transactionsManager.js +10 -8
  132. package/dist/solautoPosition/index.d.ts +4 -0
  133. package/dist/solautoPosition/index.d.ts.map +1 -0
  134. package/dist/solautoPosition/index.js +19 -0
  135. package/dist/solautoPosition/marginfiSolautoPositionEx.d.ts +14 -0
  136. package/dist/solautoPosition/marginfiSolautoPositionEx.d.ts.map +1 -0
  137. package/dist/solautoPosition/marginfiSolautoPositionEx.js +73 -0
  138. package/dist/solautoPosition/solautoPositionEx.d.ts +67 -0
  139. package/dist/solautoPosition/solautoPositionEx.d.ts.map +1 -0
  140. package/dist/solautoPosition/solautoPositionEx.js +143 -0
  141. package/dist/solautoPosition/utils.d.ts +17 -0
  142. package/dist/solautoPosition/utils.d.ts.map +1 -0
  143. package/dist/solautoPosition/utils.js +115 -0
  144. package/dist/types/solauto.d.ts +19 -1
  145. package/dist/types/solauto.d.ts.map +1 -1
  146. package/dist/utils/generalUtils.d.ts +1 -0
  147. package/dist/utils/generalUtils.d.ts.map +1 -1
  148. package/dist/utils/generalUtils.js +9 -1
  149. package/dist/utils/index.d.ts +1 -1
  150. package/dist/utils/index.d.ts.map +1 -1
  151. package/dist/utils/index.js +1 -1
  152. package/dist/utils/jitoUtils.d.ts.map +1 -1
  153. package/dist/utils/jupiterUtils.d.ts +3 -28
  154. package/dist/utils/jupiterUtils.d.ts.map +1 -1
  155. package/dist/utils/jupiterUtils.js +2 -73
  156. package/dist/utils/marginfiUtils.d.ts +4 -3
  157. package/dist/utils/marginfiUtils.d.ts.map +1 -1
  158. package/dist/utils/marginfiUtils.js +47 -18
  159. package/dist/utils/numberUtils.d.ts +3 -6
  160. package/dist/utils/numberUtils.d.ts.map +1 -1
  161. package/dist/utils/numberUtils.js +13 -48
  162. package/dist/utils/priceUtils.js +1 -1
  163. package/dist/utils/solanaUtils.js +2 -2
  164. package/dist/utils/{solauto/generalUtils.d.ts → solautoUtils.d.ts} +9 -16
  165. package/dist/utils/solautoUtils.d.ts.map +1 -0
  166. package/dist/utils/{solauto/generalUtils.js → solautoUtils.js} +48 -173
  167. package/dist/utils/switchboardUtils.d.ts +1 -1
  168. package/dist/utils/switchboardUtils.d.ts.map +1 -1
  169. package/dist/utils/switchboardUtils.js +10 -9
  170. package/local/createTokenAccounts.ts +1 -5
  171. package/local/logPositions.ts +22 -68
  172. package/local/shared.ts +29 -24
  173. package/local/txSandbox.ts +27 -0
  174. package/local/updateMarginfiLUT.ts +80 -4
  175. package/package.json +4 -7
  176. package/src/constants/solautoConstants.ts +4 -9
  177. package/src/constants/switchboardConstants.ts +10 -5
  178. package/src/generated/accounts/solautoPosition.ts +2 -2
  179. package/src/generated/errors/solauto.ts +45 -4
  180. package/src/generated/instructions/claimReferralFees.ts +1 -1
  181. package/src/generated/instructions/closePosition.ts +3 -3
  182. package/src/generated/instructions/marginfiOpenPosition.ts +0 -7
  183. package/src/generated/instructions/marginfiRebalance.ts +12 -3
  184. package/src/generated/types/index.ts +7 -1
  185. package/src/generated/types/positionData.ts +3 -3
  186. package/src/generated/types/positionState.ts +12 -12
  187. package/src/generated/types/{positionTokenUsage.ts → positionTokenState.ts} +13 -16
  188. package/src/generated/types/rebalanceData.ts +16 -27
  189. package/src/generated/types/rebalanceDirection.ts +1 -0
  190. package/src/generated/types/rebalanceInstructionData.ts +62 -0
  191. package/src/generated/types/rebalanceStateValues.ts +59 -0
  192. package/src/generated/types/rebalanceStep.ts +25 -0
  193. package/src/generated/types/solautoRebalanceType.ts +0 -1
  194. package/src/generated/types/solautoSettingsParameters.ts +4 -25
  195. package/src/generated/types/solautoSettingsParametersInp.ts +2 -24
  196. package/src/generated/types/swapType.ts +22 -0
  197. package/src/generated/types/tokenBalanceChange.ts +46 -0
  198. package/src/generated/types/tokenBalanceChangeType.ts +28 -0
  199. package/src/generated/types/updatePositionData.ts +3 -3
  200. package/src/index.ts +8 -8
  201. package/src/marginfi-sdk/types/interestRateConfig.ts +6 -2
  202. package/src/services/flashLoans/flProviderAggregator.ts +74 -0
  203. package/src/services/flashLoans/flProviderBase.ts +88 -0
  204. package/src/services/flashLoans/index.ts +3 -0
  205. package/src/services/flashLoans/marginfiFlProvider.ts +392 -0
  206. package/src/services/index.ts +5 -0
  207. package/src/services/rebalance/index.ts +2 -0
  208. package/src/services/rebalance/rebalanceSwapManager.ts +218 -0
  209. package/src/services/rebalance/rebalanceTxBuilder.ts +330 -0
  210. package/src/services/rebalance/rebalanceValues.ts +232 -0
  211. package/src/services/rebalance/solautoFees.ts +61 -0
  212. package/src/services/solauto/index.ts +4 -0
  213. package/src/{clients → services/solauto}/referralStateManager.ts +17 -31
  214. package/src/{clients → services/solauto}/solautoClient.ts +142 -205
  215. package/src/services/solauto/solautoMarginfiClient.ts +472 -0
  216. package/src/services/solauto/txHandler.ts +69 -0
  217. package/src/services/swap/index.ts +1 -0
  218. package/src/services/swap/jupSwapManager.ts +189 -0
  219. package/src/{transactions → services/transactions}/transactionUtils.ts +40 -280
  220. package/src/{transactions → services/transactions}/transactionsManager.ts +15 -10
  221. package/src/solautoPosition/index.ts +3 -0
  222. package/src/solautoPosition/marginfiSolautoPositionEx.ts +111 -0
  223. package/src/solautoPosition/solautoPositionEx.ts +281 -0
  224. package/src/solautoPosition/utils.ts +188 -0
  225. package/src/types/solauto.ts +30 -2
  226. package/src/utils/generalUtils.ts +9 -1
  227. package/src/utils/index.ts +2 -2
  228. package/src/utils/jitoUtils.ts +0 -4
  229. package/src/utils/jupiterUtils.ts +3 -164
  230. package/src/utils/marginfiUtils.ts +77 -43
  231. package/src/utils/numberUtils.ts +18 -77
  232. package/src/utils/solanaUtils.ts +1 -1
  233. package/src/utils/{solauto/generalUtils.ts → solautoUtils.ts} +66 -288
  234. package/src/utils/switchboardUtils.ts +15 -17
  235. package/tests/transactions/shared.ts +135 -0
  236. package/tests/transactions/solautoMarginfi.ts +8 -198
  237. package/tests/unit/accounts.ts +3 -10
  238. package/tests/unit/lookupTables.ts +23 -2
  239. package/tests/unit/rebalanceCalculations.ts +65 -343
  240. package/dist/clients/index.d.ts +0 -5
  241. package/dist/clients/index.d.ts.map +0 -1
  242. package/dist/clients/referralStateManager.d.ts.map +0 -1
  243. package/dist/clients/solautoClient.d.ts +0 -71
  244. package/dist/clients/solautoClient.d.ts.map +0 -1
  245. package/dist/clients/solautoMarginfiClient.d.ts +0 -51
  246. package/dist/clients/solautoMarginfiClient.d.ts.map +0 -1
  247. package/dist/clients/solautoMarginfiClient.js +0 -497
  248. package/dist/clients/txHandler.d.ts.map +0 -1
  249. package/dist/clients/txHandler.js +0 -23
  250. package/dist/generated/types/positionTokenUsage.d.ts.map +0 -1
  251. package/dist/transactions/index.d.ts.map +0 -1
  252. package/dist/transactions/transactionUtils.d.ts.map +0 -1
  253. package/dist/transactions/transactionsManager.d.ts.map +0 -1
  254. package/dist/utils/solauto/generalUtils.d.ts.map +0 -1
  255. package/dist/utils/solauto/index.d.ts +0 -3
  256. package/dist/utils/solauto/index.d.ts.map +0 -1
  257. package/dist/utils/solauto/rebalanceUtils.d.ts +0 -30
  258. package/dist/utils/solauto/rebalanceUtils.d.ts.map +0 -1
  259. package/dist/utils/solauto/rebalanceUtils.js +0 -287
  260. package/src/clients/index.ts +0 -4
  261. package/src/clients/solautoMarginfiClient.ts +0 -774
  262. package/src/clients/txHandler.ts +0 -38
  263. package/src/utils/solauto/index.ts +0 -2
  264. package/src/utils/solauto/rebalanceUtils.ts +0 -562
  265. package/dist/{clients → services/solauto}/index.js +2 -2
  266. /package/dist/{transactions → services/transactions}/index.d.ts +0 -0
  267. /package/dist/{transactions → services/transactions}/index.js +0 -0
  268. /package/src/{transactions → services/transactions}/index.ts +0 -0
@@ -33,7 +33,10 @@ import {
33
33
  import {
34
34
  SolautoRebalanceType,
35
35
  SolautoRebalanceTypeArgs,
36
+ SwapType,
37
+ SwapTypeArgs,
36
38
  getSolautoRebalanceTypeSerializer,
39
+ getSwapTypeSerializer,
37
40
  } from '../types';
38
41
 
39
42
  // Accounts.
@@ -70,13 +73,17 @@ export type MarginfiRebalanceInstructionData = {
70
73
  discriminator: number;
71
74
  rebalanceType: SolautoRebalanceType;
72
75
  targetLiqUtilizationRateBps: Option<number>;
73
- targetInAmountBaseUnit: Option<bigint>;
76
+ swapInAmountBaseUnit: Option<bigint>;
77
+ flashLoanFeeBps: Option<number>;
78
+ swapType: Option<SwapType>;
74
79
  };
75
80
 
76
81
  export type MarginfiRebalanceInstructionDataArgs = {
77
82
  rebalanceType: SolautoRebalanceTypeArgs;
78
83
  targetLiqUtilizationRateBps: OptionOrNullable<number>;
79
- targetInAmountBaseUnit: OptionOrNullable<number | bigint>;
84
+ swapInAmountBaseUnit: OptionOrNullable<number | bigint>;
85
+ flashLoanFeeBps: OptionOrNullable<number>;
86
+ swapType: OptionOrNullable<SwapTypeArgs>;
80
87
  };
81
88
 
82
89
  export function getMarginfiRebalanceInstructionDataSerializer(): Serializer<
@@ -93,7 +100,9 @@ export function getMarginfiRebalanceInstructionDataSerializer(): Serializer<
93
100
  ['discriminator', u8()],
94
101
  ['rebalanceType', getSolautoRebalanceTypeSerializer()],
95
102
  ['targetLiqUtilizationRateBps', option(u16())],
96
- ['targetInAmountBaseUnit', option(u64())],
103
+ ['swapInAmountBaseUnit', option(u64())],
104
+ ['flashLoanFeeBps', option(u16())],
105
+ ['swapType', option(getSwapTypeSerializer())],
97
106
  ],
98
107
  { description: 'MarginfiRebalanceInstructionData' }
99
108
  ),
@@ -14,15 +14,21 @@ export * from './lendingPlatform';
14
14
  export * from './podBool';
15
15
  export * from './positionData';
16
16
  export * from './positionState';
17
- export * from './positionTokenUsage';
17
+ export * from './positionTokenState';
18
18
  export * from './positionType';
19
19
  export * from './rebalanceData';
20
20
  export * from './rebalanceDirection';
21
+ export * from './rebalanceInstructionData';
22
+ export * from './rebalanceStateValues';
23
+ export * from './rebalanceStep';
21
24
  export * from './solautoAction';
22
25
  export * from './solautoRebalanceType';
23
26
  export * from './solautoSettingsParameters';
24
27
  export * from './solautoSettingsParametersInp';
28
+ export * from './swapType';
25
29
  export * from './tokenAmount';
26
30
  export * from './tokenBalanceAmount';
31
+ export * from './tokenBalanceChange';
32
+ export * from './tokenBalanceChangeType';
27
33
  export * from './tokenType';
28
34
  export * from './updatePositionData';
@@ -33,7 +33,7 @@ export type PositionData = {
33
33
  protocolUserAccount: PublicKey;
34
34
  protocolSupplyAccount: PublicKey;
35
35
  protocolDebtAccount: PublicKey;
36
- settingParams: SolautoSettingsParameters;
36
+ settings: SolautoSettingsParameters;
37
37
  dca: DCASettings;
38
38
  padding: Array<number>;
39
39
  };
@@ -44,7 +44,7 @@ export type PositionDataArgs = {
44
44
  protocolUserAccount: PublicKey;
45
45
  protocolSupplyAccount: PublicKey;
46
46
  protocolDebtAccount: PublicKey;
47
- settingParams: SolautoSettingsParametersArgs;
47
+ settings: SolautoSettingsParametersArgs;
48
48
  dca: DCASettingsArgs;
49
49
  padding: Array<number>;
50
50
  };
@@ -60,7 +60,7 @@ export function getPositionDataSerializer(): Serializer<
60
60
  ['protocolUserAccount', publicKeySerializer()],
61
61
  ['protocolSupplyAccount', publicKeySerializer()],
62
62
  ['protocolDebtAccount', publicKeySerializer()],
63
- ['settingParams', getSolautoSettingsParametersSerializer()],
63
+ ['settings', getSolautoSettingsParametersSerializer()],
64
64
  ['dca', getDCASettingsSerializer()],
65
65
  ['padding', array(u32(), { size: 4 })],
66
66
  ],
@@ -16,11 +16,11 @@ import {
16
16
  u8,
17
17
  } from '@metaplex-foundation/umi/serializers';
18
18
  import {
19
- PositionTokenUsage,
20
- PositionTokenUsageArgs,
19
+ PositionTokenState,
20
+ PositionTokenStateArgs,
21
21
  TokenAmount,
22
22
  TokenAmountArgs,
23
- getPositionTokenUsageSerializer,
23
+ getPositionTokenStateSerializer,
24
24
  getTokenAmountSerializer,
25
25
  } from '.';
26
26
 
@@ -28,12 +28,12 @@ export type PositionState = {
28
28
  liqUtilizationRateBps: number;
29
29
  padding1: Array<number>;
30
30
  netWorth: TokenAmount;
31
- supply: PositionTokenUsage;
32
- debt: PositionTokenUsage;
31
+ supply: PositionTokenState;
32
+ debt: PositionTokenState;
33
33
  maxLtvBps: number;
34
34
  liqThresholdBps: number;
35
35
  padding2: Array<number>;
36
- lastUpdated: bigint;
36
+ lastRefreshed: bigint;
37
37
  padding: Array<number>;
38
38
  };
39
39
 
@@ -41,12 +41,12 @@ export type PositionStateArgs = {
41
41
  liqUtilizationRateBps: number;
42
42
  padding1: Array<number>;
43
43
  netWorth: TokenAmountArgs;
44
- supply: PositionTokenUsageArgs;
45
- debt: PositionTokenUsageArgs;
44
+ supply: PositionTokenStateArgs;
45
+ debt: PositionTokenStateArgs;
46
46
  maxLtvBps: number;
47
47
  liqThresholdBps: number;
48
48
  padding2: Array<number>;
49
- lastUpdated: number | bigint;
49
+ lastRefreshed: number | bigint;
50
50
  padding: Array<number>;
51
51
  };
52
52
 
@@ -59,12 +59,12 @@ export function getPositionStateSerializer(): Serializer<
59
59
  ['liqUtilizationRateBps', u16()],
60
60
  ['padding1', array(u8(), { size: 6 })],
61
61
  ['netWorth', getTokenAmountSerializer()],
62
- ['supply', getPositionTokenUsageSerializer()],
63
- ['debt', getPositionTokenUsageSerializer()],
62
+ ['supply', getPositionTokenStateSerializer()],
63
+ ['debt', getPositionTokenStateSerializer()],
64
64
  ['maxLtvBps', u16()],
65
65
  ['liqThresholdBps', u16()],
66
66
  ['padding2', array(u8(), { size: 4 })],
67
- ['lastUpdated', u64()],
67
+ ['lastRefreshed', u64()],
68
68
  ['padding', array(u32(), { size: 2 })],
69
69
  ],
70
70
  { description: 'PositionState' }
@@ -19,49 +19,46 @@ import {
19
19
  } from '@metaplex-foundation/umi/serializers';
20
20
  import { TokenAmount, TokenAmountArgs, getTokenAmountSerializer } from '.';
21
21
 
22
- export type PositionTokenUsage = {
22
+ export type PositionTokenState = {
23
23
  mint: PublicKey;
24
24
  decimals: number;
25
25
  padding1: Array<number>;
26
+ borrowFeeBps: number;
26
27
  amountUsed: TokenAmount;
27
28
  amountCanBeUsed: TokenAmount;
28
29
  baseAmountMarketPriceUsd: bigint;
29
- flashLoanFeeBps: number;
30
- borrowFeeBps: number;
31
30
  padding2: Array<number>;
32
31
  padding: Uint8Array;
33
32
  };
34
33
 
35
- export type PositionTokenUsageArgs = {
34
+ export type PositionTokenStateArgs = {
36
35
  mint: PublicKey;
37
36
  decimals: number;
38
37
  padding1: Array<number>;
38
+ borrowFeeBps: number;
39
39
  amountUsed: TokenAmountArgs;
40
40
  amountCanBeUsed: TokenAmountArgs;
41
41
  baseAmountMarketPriceUsd: number | bigint;
42
- flashLoanFeeBps: number;
43
- borrowFeeBps: number;
44
42
  padding2: Array<number>;
45
43
  padding: Uint8Array;
46
44
  };
47
45
 
48
- export function getPositionTokenUsageSerializer(): Serializer<
49
- PositionTokenUsageArgs,
50
- PositionTokenUsage
46
+ export function getPositionTokenStateSerializer(): Serializer<
47
+ PositionTokenStateArgs,
48
+ PositionTokenState
51
49
  > {
52
- return struct<PositionTokenUsage>(
50
+ return struct<PositionTokenState>(
53
51
  [
54
52
  ['mint', publicKeySerializer()],
55
53
  ['decimals', u8()],
56
- ['padding1', array(u8(), { size: 7 })],
54
+ ['padding1', array(u8(), { size: 5 })],
55
+ ['borrowFeeBps', u16()],
57
56
  ['amountUsed', getTokenAmountSerializer()],
58
57
  ['amountCanBeUsed', getTokenAmountSerializer()],
59
58
  ['baseAmountMarketPriceUsd', u64()],
60
- ['flashLoanFeeBps', u16()],
61
- ['borrowFeeBps', u16()],
62
- ['padding2', array(u8(), { size: 4 })],
59
+ ['padding2', array(u8(), { size: 8 })],
63
60
  ['padding', bytes({ size: 32 })],
64
61
  ],
65
- { description: 'PositionTokenUsage' }
66
- ) as Serializer<PositionTokenUsageArgs, PositionTokenUsage>;
62
+ { description: 'PositionTokenState' }
63
+ ) as Serializer<PositionTokenStateArgs, PositionTokenState>;
67
64
  }
@@ -9,36 +9,28 @@
9
9
  import {
10
10
  Serializer,
11
11
  array,
12
- bytes,
13
12
  struct,
14
- u64,
15
- u8,
13
+ u32,
16
14
  } from '@metaplex-foundation/umi/serializers';
17
15
  import {
18
- RebalanceDirection,
19
- RebalanceDirectionArgs,
20
- SolautoRebalanceType,
21
- SolautoRebalanceTypeArgs,
22
- getRebalanceDirectionSerializer,
23
- getSolautoRebalanceTypeSerializer,
16
+ RebalanceInstructionData,
17
+ RebalanceInstructionDataArgs,
18
+ RebalanceStateValues,
19
+ RebalanceStateValuesArgs,
20
+ getRebalanceInstructionDataSerializer,
21
+ getRebalanceStateValuesSerializer,
24
22
  } from '.';
25
23
 
26
24
  export type RebalanceData = {
27
- rebalanceType: SolautoRebalanceType;
28
- padding1: Array<number>;
29
- rebalanceDirection: RebalanceDirection;
30
- padding2: Array<number>;
31
- flashLoanAmount: bigint;
32
- padding: Uint8Array;
25
+ ixs: RebalanceInstructionData;
26
+ values: RebalanceStateValues;
27
+ padding: Array<number>;
33
28
  };
34
29
 
35
30
  export type RebalanceDataArgs = {
36
- rebalanceType: SolautoRebalanceTypeArgs;
37
- padding1: Array<number>;
38
- rebalanceDirection: RebalanceDirectionArgs;
39
- padding2: Array<number>;
40
- flashLoanAmount: number | bigint;
41
- padding: Uint8Array;
31
+ ixs: RebalanceInstructionDataArgs;
32
+ values: RebalanceStateValuesArgs;
33
+ padding: Array<number>;
42
34
  };
43
35
 
44
36
  export function getRebalanceDataSerializer(): Serializer<
@@ -47,12 +39,9 @@ export function getRebalanceDataSerializer(): Serializer<
47
39
  > {
48
40
  return struct<RebalanceData>(
49
41
  [
50
- ['rebalanceType', getSolautoRebalanceTypeSerializer()],
51
- ['padding1', array(u8(), { size: 7 })],
52
- ['rebalanceDirection', getRebalanceDirectionSerializer()],
53
- ['padding2', array(u8(), { size: 7 })],
54
- ['flashLoanAmount', u64()],
55
- ['padding', bytes({ size: 32 })],
42
+ ['ixs', getRebalanceInstructionDataSerializer()],
43
+ ['values', getRebalanceStateValuesSerializer()],
44
+ ['padding', array(u32(), { size: 4 })],
56
45
  ],
57
46
  { description: 'RebalanceData' }
58
47
  ) as Serializer<RebalanceDataArgs, RebalanceData>;
@@ -9,6 +9,7 @@
9
9
  import { Serializer, scalarEnum } from '@metaplex-foundation/umi/serializers';
10
10
 
11
11
  export enum RebalanceDirection {
12
+ None,
12
13
  Boost,
13
14
  Repay,
14
15
  }
@@ -0,0 +1,62 @@
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
+ Serializer,
11
+ array,
12
+ struct,
13
+ u32,
14
+ u64,
15
+ u8,
16
+ } from '@metaplex-foundation/umi/serializers';
17
+ import {
18
+ PodBool,
19
+ PodBoolArgs,
20
+ SolautoRebalanceType,
21
+ SolautoRebalanceTypeArgs,
22
+ SwapType,
23
+ SwapTypeArgs,
24
+ getPodBoolSerializer,
25
+ getSolautoRebalanceTypeSerializer,
26
+ getSwapTypeSerializer,
27
+ } from '.';
28
+
29
+ export type RebalanceInstructionData = {
30
+ active: PodBool;
31
+ rebalanceType: SolautoRebalanceType;
32
+ swapType: SwapType;
33
+ padding1: Array<number>;
34
+ flashLoanAmount: bigint;
35
+ padding: Array<number>;
36
+ };
37
+
38
+ export type RebalanceInstructionDataArgs = {
39
+ active: PodBoolArgs;
40
+ rebalanceType: SolautoRebalanceTypeArgs;
41
+ swapType: SwapTypeArgs;
42
+ padding1: Array<number>;
43
+ flashLoanAmount: number | bigint;
44
+ padding: Array<number>;
45
+ };
46
+
47
+ export function getRebalanceInstructionDataSerializer(): Serializer<
48
+ RebalanceInstructionDataArgs,
49
+ RebalanceInstructionData
50
+ > {
51
+ return struct<RebalanceInstructionData>(
52
+ [
53
+ ['active', getPodBoolSerializer()],
54
+ ['rebalanceType', getSolautoRebalanceTypeSerializer()],
55
+ ['swapType', getSwapTypeSerializer()],
56
+ ['padding1', array(u8(), { size: 5 })],
57
+ ['flashLoanAmount', u64()],
58
+ ['padding', array(u32(), { size: 4 })],
59
+ ],
60
+ { description: 'RebalanceInstructionData' }
61
+ ) as Serializer<RebalanceInstructionDataArgs, RebalanceInstructionData>;
62
+ }
@@ -0,0 +1,59 @@
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
+ Serializer,
11
+ array,
12
+ struct,
13
+ u32,
14
+ u64,
15
+ u8,
16
+ } from '@metaplex-foundation/umi/serializers';
17
+ import {
18
+ RebalanceDirection,
19
+ RebalanceDirectionArgs,
20
+ TokenBalanceChange,
21
+ TokenBalanceChangeArgs,
22
+ getRebalanceDirectionSerializer,
23
+ getTokenBalanceChangeSerializer,
24
+ } from '.';
25
+
26
+ export type RebalanceStateValues = {
27
+ rebalanceDirection: RebalanceDirection;
28
+ padding1: Array<number>;
29
+ targetSupplyUsd: bigint;
30
+ targetDebtUsd: bigint;
31
+ tokenBalanceChange: TokenBalanceChange;
32
+ padding: Array<number>;
33
+ };
34
+
35
+ export type RebalanceStateValuesArgs = {
36
+ rebalanceDirection: RebalanceDirectionArgs;
37
+ padding1: Array<number>;
38
+ targetSupplyUsd: number | bigint;
39
+ targetDebtUsd: number | bigint;
40
+ tokenBalanceChange: TokenBalanceChangeArgs;
41
+ padding: Array<number>;
42
+ };
43
+
44
+ export function getRebalanceStateValuesSerializer(): Serializer<
45
+ RebalanceStateValuesArgs,
46
+ RebalanceStateValues
47
+ > {
48
+ return struct<RebalanceStateValues>(
49
+ [
50
+ ['rebalanceDirection', getRebalanceDirectionSerializer()],
51
+ ['padding1', array(u8(), { size: 7 })],
52
+ ['targetSupplyUsd', u64()],
53
+ ['targetDebtUsd', u64()],
54
+ ['tokenBalanceChange', getTokenBalanceChangeSerializer()],
55
+ ['padding', array(u32(), { size: 4 })],
56
+ ],
57
+ { description: 'RebalanceStateValues' }
58
+ ) as Serializer<RebalanceStateValuesArgs, RebalanceStateValues>;
59
+ }
@@ -0,0 +1,25 @@
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 { Serializer, scalarEnum } from '@metaplex-foundation/umi/serializers';
10
+
11
+ export enum RebalanceStep {
12
+ PreSwap,
13
+ PostSwap,
14
+ }
15
+
16
+ export type RebalanceStepArgs = RebalanceStep;
17
+
18
+ export function getRebalanceStepSerializer(): Serializer<
19
+ RebalanceStepArgs,
20
+ RebalanceStep
21
+ > {
22
+ return scalarEnum<RebalanceStep>(RebalanceStep, {
23
+ description: 'RebalanceStep',
24
+ }) as Serializer<RebalanceStepArgs, RebalanceStep>;
25
+ }
@@ -9,7 +9,6 @@
9
9
  import { Serializer, scalarEnum } from '@metaplex-foundation/umi/serializers';
10
10
 
11
11
  export enum SolautoRebalanceType {
12
- None,
13
12
  Regular,
14
13
  DoubleRebalanceWithFL,
15
14
  FLSwapThenRebalance,
@@ -9,38 +9,20 @@
9
9
  import {
10
10
  Serializer,
11
11
  array,
12
- bytes,
13
12
  struct,
14
13
  u16,
15
- u8,
14
+ u32,
16
15
  } from '@metaplex-foundation/umi/serializers';
17
- import {
18
- AutomationSettings,
19
- AutomationSettingsArgs,
20
- getAutomationSettingsSerializer,
21
- } from '.';
22
16
 
23
17
  export type SolautoSettingsParameters = {
24
18
  boostToBps: number;
25
19
  boostGap: number;
26
20
  repayToBps: number;
27
21
  repayGap: number;
28
- targetBoostToBps: number;
29
- padding1: Array<number>;
30
- automation: AutomationSettings;
31
- padding: Uint8Array;
22
+ padding: Array<number>;
32
23
  };
33
24
 
34
- export type SolautoSettingsParametersArgs = {
35
- boostToBps: number;
36
- boostGap: number;
37
- repayToBps: number;
38
- repayGap: number;
39
- targetBoostToBps: number;
40
- padding1: Array<number>;
41
- automation: AutomationSettingsArgs;
42
- padding: Uint8Array;
43
- };
25
+ export type SolautoSettingsParametersArgs = SolautoSettingsParameters;
44
26
 
45
27
  export function getSolautoSettingsParametersSerializer(): Serializer<
46
28
  SolautoSettingsParametersArgs,
@@ -52,10 +34,7 @@ export function getSolautoSettingsParametersSerializer(): Serializer<
52
34
  ['boostGap', u16()],
53
35
  ['repayToBps', u16()],
54
36
  ['repayGap', u16()],
55
- ['targetBoostToBps', u16()],
56
- ['padding1', array(u8(), { size: 6 })],
57
- ['automation', getAutomationSettingsSerializer()],
58
- ['padding', bytes({ size: 32 })],
37
+ ['padding', array(u32(), { size: 24 })],
59
38
  ],
60
39
  { description: 'SolautoSettingsParameters' }
61
40
  ) as Serializer<SolautoSettingsParametersArgs, SolautoSettingsParameters>;
@@ -6,36 +6,16 @@
6
6
  * @see https://github.com/metaplex-foundation/kinobi
7
7
  */
8
8
 
9
- import { Option, OptionOrNullable } from '@metaplex-foundation/umi';
10
- import {
11
- Serializer,
12
- option,
13
- struct,
14
- u16,
15
- } from '@metaplex-foundation/umi/serializers';
16
- import {
17
- AutomationSettingsInp,
18
- AutomationSettingsInpArgs,
19
- getAutomationSettingsInpSerializer,
20
- } from '.';
9
+ import { Serializer, struct, u16 } from '@metaplex-foundation/umi/serializers';
21
10
 
22
11
  export type SolautoSettingsParametersInp = {
23
12
  boostToBps: number;
24
13
  boostGap: number;
25
14
  repayToBps: number;
26
15
  repayGap: number;
27
- targetBoostToBps: Option<number>;
28
- automation: Option<AutomationSettingsInp>;
29
16
  };
30
17
 
31
- export type SolautoSettingsParametersInpArgs = {
32
- boostToBps: number;
33
- boostGap: number;
34
- repayToBps: number;
35
- repayGap: number;
36
- targetBoostToBps: OptionOrNullable<number>;
37
- automation: OptionOrNullable<AutomationSettingsInpArgs>;
38
- };
18
+ export type SolautoSettingsParametersInpArgs = SolautoSettingsParametersInp;
39
19
 
40
20
  export function getSolautoSettingsParametersInpSerializer(): Serializer<
41
21
  SolautoSettingsParametersInpArgs,
@@ -47,8 +27,6 @@ export function getSolautoSettingsParametersInpSerializer(): Serializer<
47
27
  ['boostGap', u16()],
48
28
  ['repayToBps', u16()],
49
29
  ['repayGap', u16()],
50
- ['targetBoostToBps', option(u16())],
51
- ['automation', option(getAutomationSettingsInpSerializer())],
52
30
  ],
53
31
  { description: 'SolautoSettingsParametersInp' }
54
32
  ) as Serializer<
@@ -0,0 +1,22 @@
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 { Serializer, scalarEnum } from '@metaplex-foundation/umi/serializers';
10
+
11
+ export enum SwapType {
12
+ ExactIn,
13
+ ExactOut,
14
+ }
15
+
16
+ export type SwapTypeArgs = SwapType;
17
+
18
+ export function getSwapTypeSerializer(): Serializer<SwapTypeArgs, SwapType> {
19
+ return scalarEnum<SwapType>(SwapType, {
20
+ description: 'SwapType',
21
+ }) as Serializer<SwapTypeArgs, SwapType>;
22
+ }
@@ -0,0 +1,46 @@
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
+ Serializer,
11
+ array,
12
+ struct,
13
+ u64,
14
+ u8,
15
+ } from '@metaplex-foundation/umi/serializers';
16
+ import {
17
+ TokenBalanceChangeType,
18
+ TokenBalanceChangeTypeArgs,
19
+ getTokenBalanceChangeTypeSerializer,
20
+ } from '.';
21
+
22
+ export type TokenBalanceChange = {
23
+ changeType: TokenBalanceChangeType;
24
+ padding1: Array<number>;
25
+ amountUsd: bigint;
26
+ };
27
+
28
+ export type TokenBalanceChangeArgs = {
29
+ changeType: TokenBalanceChangeTypeArgs;
30
+ padding1: Array<number>;
31
+ amountUsd: number | bigint;
32
+ };
33
+
34
+ export function getTokenBalanceChangeSerializer(): Serializer<
35
+ TokenBalanceChangeArgs,
36
+ TokenBalanceChange
37
+ > {
38
+ return struct<TokenBalanceChange>(
39
+ [
40
+ ['changeType', getTokenBalanceChangeTypeSerializer()],
41
+ ['padding1', array(u8(), { size: 7 })],
42
+ ['amountUsd', u64()],
43
+ ],
44
+ { description: 'TokenBalanceChange' }
45
+ ) as Serializer<TokenBalanceChangeArgs, TokenBalanceChange>;
46
+ }
@@ -0,0 +1,28 @@
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 { Serializer, scalarEnum } from '@metaplex-foundation/umi/serializers';
10
+
11
+ export enum TokenBalanceChangeType {
12
+ None,
13
+ PreSwapDeposit,
14
+ PostSwapDeposit,
15
+ PostRebalanceWithdrawSupplyToken,
16
+ PostRebalanceWithdrawDebtToken,
17
+ }
18
+
19
+ export type TokenBalanceChangeTypeArgs = TokenBalanceChangeType;
20
+
21
+ export function getTokenBalanceChangeTypeSerializer(): Serializer<
22
+ TokenBalanceChangeTypeArgs,
23
+ TokenBalanceChangeType
24
+ > {
25
+ return scalarEnum<TokenBalanceChangeType>(TokenBalanceChangeType, {
26
+ description: 'TokenBalanceChangeType',
27
+ }) as Serializer<TokenBalanceChangeTypeArgs, TokenBalanceChangeType>;
28
+ }
@@ -24,13 +24,13 @@ import {
24
24
 
25
25
  export type UpdatePositionData = {
26
26
  positionId: number;
27
- settingParams: Option<SolautoSettingsParametersInp>;
27
+ settings: Option<SolautoSettingsParametersInp>;
28
28
  dca: Option<DCASettingsInp>;
29
29
  };
30
30
 
31
31
  export type UpdatePositionDataArgs = {
32
32
  positionId: number;
33
- settingParams: OptionOrNullable<SolautoSettingsParametersInpArgs>;
33
+ settings: OptionOrNullable<SolautoSettingsParametersInpArgs>;
34
34
  dca: OptionOrNullable<DCASettingsInpArgs>;
35
35
  };
36
36
 
@@ -41,7 +41,7 @@ export function getUpdatePositionDataSerializer(): Serializer<
41
41
  return struct<UpdatePositionData>(
42
42
  [
43
43
  ['positionId', u8()],
44
- ['settingParams', option(getSolautoSettingsParametersInpSerializer())],
44
+ ['settings', option(getSolautoSettingsParametersInpSerializer())],
45
45
  ['dca', option(getDCASettingsInpSerializer())],
46
46
  ],
47
47
  { description: 'UpdatePositionData' }