@reflectmoney/stable.ts 1.0.1 → 1.0.2

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 (293) hide show
  1. package/package.json +1 -1
  2. package/dist/classes/Strategy.d.ts +0 -30
  3. package/dist/classes/Strategy.js +0 -196
  4. package/dist/generated/accounts/DriftJlpController.d.ts +0 -114
  5. package/dist/generated/accounts/DriftJlpController.js +0 -169
  6. package/dist/generated/accounts/DriftLstController.d.ts +0 -108
  7. package/dist/generated/accounts/DriftLstController.js +0 -165
  8. package/dist/generated/accounts/DriftUsdcController.d.ts +0 -102
  9. package/dist/generated/accounts/DriftUsdcController.js +0 -158
  10. package/dist/generated/accounts/Main.d.ts +0 -110
  11. package/dist/generated/accounts/Main.js +0 -165
  12. package/dist/generated/accounts/PerpMarket.d.ts +0 -226
  13. package/dist/generated/accounts/PerpMarket.js +0 -307
  14. package/dist/generated/accounts/PrelaunchOracle.d.ts +0 -130
  15. package/dist/generated/accounts/PrelaunchOracle.js +0 -224
  16. package/dist/generated/accounts/PythLazerOracle.d.ts +0 -124
  17. package/dist/generated/accounts/PythLazerOracle.js +0 -210
  18. package/dist/generated/accounts/RebalanceLst.d.ts +0 -111
  19. package/dist/generated/accounts/RebalanceLst.js +0 -175
  20. package/dist/generated/accounts/SpotMarket.d.ts +0 -377
  21. package/dist/generated/accounts/SpotMarket.js +0 -601
  22. package/dist/generated/accounts/User.d.ts +0 -221
  23. package/dist/generated/accounts/User.js +0 -331
  24. package/dist/generated/accounts/UserPermissions.d.ts +0 -106
  25. package/dist/generated/accounts/UserPermissions.js +0 -161
  26. package/dist/generated/accounts/UserStats.d.ts +0 -211
  27. package/dist/generated/accounts/UserStats.js +0 -323
  28. package/dist/generated/accounts/index.d.ts +0 -38
  29. package/dist/generated/accounts/index.js +0 -55
  30. package/dist/generated/errors/index.d.ts +0 -1024
  31. package/dist/generated/errors/index.js +0 -1761
  32. package/dist/generated/index.d.ts +0 -19
  33. package/dist/generated/index.js +0 -36
  34. package/dist/generated/instructions/addLstDrift.d.ts +0 -49
  35. package/dist/generated/instructions/addLstDrift.js +0 -106
  36. package/dist/generated/instructions/addSubAccount.d.ts +0 -54
  37. package/dist/generated/instructions/addSubAccount.js +0 -121
  38. package/dist/generated/instructions/adjustHedgeS2.d.ts +0 -69
  39. package/dist/generated/instructions/adjustHedgeS2.js +0 -157
  40. package/dist/generated/instructions/captureSpreadDrift.d.ts +0 -56
  41. package/dist/generated/instructions/captureSpreadDrift.js +0 -120
  42. package/dist/generated/instructions/createAdminAccount.d.ts +0 -53
  43. package/dist/generated/instructions/createAdminAccount.js +0 -95
  44. package/dist/generated/instructions/createUserStatsAccount.d.ts +0 -54
  45. package/dist/generated/instructions/createUserStatsAccount.js +0 -121
  46. package/dist/generated/instructions/depositDrift.d.ts +0 -73
  47. package/dist/generated/instructions/depositDrift.js +0 -142
  48. package/dist/generated/instructions/freezeProgram.d.ts +0 -54
  49. package/dist/generated/instructions/freezeProgram.js +0 -95
  50. package/dist/generated/instructions/freezeProtocolAction.d.ts +0 -55
  51. package/dist/generated/instructions/freezeProtocolAction.js +0 -96
  52. package/dist/generated/instructions/freezeStrategyAction.d.ts +0 -58
  53. package/dist/generated/instructions/freezeStrategyAction.js +0 -102
  54. package/dist/generated/instructions/index.d.ts +0 -41
  55. package/dist/generated/instructions/index.js +0 -57
  56. package/dist/generated/instructions/initDriftAccountsS1.d.ts +0 -56
  57. package/dist/generated/instructions/initDriftAccountsS1.js +0 -126
  58. package/dist/generated/instructions/initDriftControllerS1.d.ts +0 -60
  59. package/dist/generated/instructions/initDriftControllerS1.js +0 -108
  60. package/dist/generated/instructions/initDriftControllerS2.d.ts +0 -66
  61. package/dist/generated/instructions/initDriftControllerS2.js +0 -125
  62. package/dist/generated/instructions/initDriftControllerS3.d.ts +0 -58
  63. package/dist/generated/instructions/initDriftControllerS3.js +0 -103
  64. package/dist/generated/instructions/initMain.d.ts +0 -43
  65. package/dist/generated/instructions/initMain.js +0 -91
  66. package/dist/generated/instructions/mintDriftS1.d.ts +0 -90
  67. package/dist/generated/instructions/mintDriftS1.js +0 -184
  68. package/dist/generated/instructions/mintDriftS2.d.ts +0 -80
  69. package/dist/generated/instructions/mintDriftS2.js +0 -161
  70. package/dist/generated/instructions/mintDriftS3.d.ts +0 -86
  71. package/dist/generated/instructions/mintDriftS3.js +0 -174
  72. package/dist/generated/instructions/processSwapDeposit.d.ts +0 -79
  73. package/dist/generated/instructions/processSwapDeposit.js +0 -161
  74. package/dist/generated/instructions/processSwapDepositIntrospection.d.ts +0 -79
  75. package/dist/generated/instructions/processSwapDepositIntrospection.js +0 -161
  76. package/dist/generated/instructions/processSwapWithdraw.d.ts +0 -68
  77. package/dist/generated/instructions/processSwapWithdraw.js +0 -157
  78. package/dist/generated/instructions/processSwapWithdrawIntrospection.d.ts +0 -68
  79. package/dist/generated/instructions/processSwapWithdrawIntrospection.js +0 -157
  80. package/dist/generated/instructions/rebalanceJlp.d.ts +0 -81
  81. package/dist/generated/instructions/rebalanceJlp.js +0 -187
  82. package/dist/generated/instructions/redeem2DriftS2.d.ts +0 -80
  83. package/dist/generated/instructions/redeem2DriftS2.js +0 -161
  84. package/dist/generated/instructions/redeemDriftS1.d.ts +0 -91
  85. package/dist/generated/instructions/redeemDriftS1.js +0 -185
  86. package/dist/generated/instructions/redeemDriftS2.d.ts +0 -80
  87. package/dist/generated/instructions/redeemDriftS2.js +0 -161
  88. package/dist/generated/instructions/redeemDriftS3.d.ts +0 -87
  89. package/dist/generated/instructions/redeemDriftS3.js +0 -175
  90. package/dist/generated/instructions/settlePnl.d.ts +0 -55
  91. package/dist/generated/instructions/settlePnl.js +0 -114
  92. package/dist/generated/instructions/settlePnlMulti.d.ts +0 -65
  93. package/dist/generated/instructions/settlePnlMulti.js +0 -117
  94. package/dist/generated/instructions/suspendLstProtocol.d.ts +0 -54
  95. package/dist/generated/instructions/suspendLstProtocol.js +0 -96
  96. package/dist/generated/instructions/suspendLstStrategy.d.ts +0 -56
  97. package/dist/generated/instructions/suspendLstStrategy.js +0 -101
  98. package/dist/generated/instructions/swapOrca.d.ts +0 -78
  99. package/dist/generated/instructions/swapOrca.js +0 -153
  100. package/dist/generated/instructions/swapOrcaTwoHop.d.ts +0 -98
  101. package/dist/generated/instructions/swapOrcaTwoHop.js +0 -200
  102. package/dist/generated/instructions/updateActionRoleProtocol.d.ts +0 -58
  103. package/dist/generated/instructions/updateActionRoleProtocol.js +0 -99
  104. package/dist/generated/instructions/updateActionRoleStrategy.d.ts +0 -61
  105. package/dist/generated/instructions/updateActionRoleStrategy.js +0 -105
  106. package/dist/generated/instructions/updateAttenuation.d.ts +0 -56
  107. package/dist/generated/instructions/updateAttenuation.js +0 -100
  108. package/dist/generated/instructions/updateCap.d.ts +0 -55
  109. package/dist/generated/instructions/updateCap.js +0 -99
  110. package/dist/generated/instructions/updateRebalanceSlippage.d.ts +0 -55
  111. package/dist/generated/instructions/updateRebalanceSlippage.js +0 -99
  112. package/dist/generated/instructions/updateRecipients.d.ts +0 -56
  113. package/dist/generated/instructions/updateRecipients.js +0 -101
  114. package/dist/generated/instructions/updateRoleHolderProtocol.d.ts +0 -61
  115. package/dist/generated/instructions/updateRoleHolderProtocol.js +0 -109
  116. package/dist/generated/instructions/updateRoleHolderStrategy.d.ts +0 -62
  117. package/dist/generated/instructions/updateRoleHolderStrategy.js +0 -110
  118. package/dist/generated/types/AMM.d.ts +0 -102
  119. package/dist/generated/types/AMM.js +0 -127
  120. package/dist/generated/types/AccKey.d.ts +0 -15
  121. package/dist/generated/types/AccKey.js +0 -38
  122. package/dist/generated/types/AccessControl.d.ts +0 -18
  123. package/dist/generated/types/AccessControl.js +0 -43
  124. package/dist/generated/types/AccessMap.d.ts +0 -17
  125. package/dist/generated/types/AccessMap.js +0 -42
  126. package/dist/generated/types/Action.d.ts +0 -36
  127. package/dist/generated/types/Action.js +0 -63
  128. package/dist/generated/types/ActionMapping.d.ts +0 -19
  129. package/dist/generated/types/ActionMapping.js +0 -44
  130. package/dist/generated/types/AssetTier.d.ts +0 -23
  131. package/dist/generated/types/AssetTier.js +0 -50
  132. package/dist/generated/types/Attenuation.d.ts +0 -16
  133. package/dist/generated/types/Attenuation.js +0 -41
  134. package/dist/generated/types/BalanceType.d.ts +0 -20
  135. package/dist/generated/types/BalanceType.js +0 -47
  136. package/dist/generated/types/ContractTier.d.ts +0 -24
  137. package/dist/generated/types/ContractTier.js +0 -51
  138. package/dist/generated/types/ContractType.d.ts +0 -20
  139. package/dist/generated/types/ContractType.js +0 -47
  140. package/dist/generated/types/CorpAction.d.ts +0 -19
  141. package/dist/generated/types/CorpAction.js +0 -46
  142. package/dist/generated/types/CustodyInfo.d.ts +0 -20
  143. package/dist/generated/types/CustodyInfo.js +0 -45
  144. package/dist/generated/types/DirectionCollateral.d.ts +0 -20
  145. package/dist/generated/types/DirectionCollateral.js +0 -47
  146. package/dist/generated/types/DirectionPosition.d.ts +0 -20
  147. package/dist/generated/types/DirectionPosition.js +0 -47
  148. package/dist/generated/types/DriftControllerBase.d.ts +0 -15
  149. package/dist/generated/types/DriftControllerBase.js +0 -38
  150. package/dist/generated/types/DriftJlpControllerFixedAccounts.d.ts +0 -18
  151. package/dist/generated/types/DriftJlpControllerFixedAccounts.js +0 -43
  152. package/dist/generated/types/DriftLstData.d.ts +0 -17
  153. package/dist/generated/types/DriftLstData.js +0 -42
  154. package/dist/generated/types/Ema.d.ts +0 -17
  155. package/dist/generated/types/Ema.js +0 -42
  156. package/dist/generated/types/Externals.d.ts +0 -16
  157. package/dist/generated/types/Externals.js +0 -39
  158. package/dist/generated/types/HistoricalIndexData.d.ts +0 -19
  159. package/dist/generated/types/HistoricalIndexData.js +0 -44
  160. package/dist/generated/types/HistoricalOracleData.d.ts +0 -20
  161. package/dist/generated/types/HistoricalOracleData.js +0 -45
  162. package/dist/generated/types/Holding.d.ts +0 -21
  163. package/dist/generated/types/Holding.js +0 -46
  164. package/dist/generated/types/Holdings.d.ts +0 -17
  165. package/dist/generated/types/Holdings.js +0 -42
  166. package/dist/generated/types/InitControllerS2Args.d.ts +0 -23
  167. package/dist/generated/types/InitControllerS2Args.js +0 -48
  168. package/dist/generated/types/InsuranceClaim.d.ts +0 -19
  169. package/dist/generated/types/InsuranceClaim.js +0 -44
  170. package/dist/generated/types/InsuranceFund.d.ts +0 -24
  171. package/dist/generated/types/InsuranceFund.js +0 -49
  172. package/dist/generated/types/JlpRebalanceSettings.d.ts +0 -15
  173. package/dist/generated/types/JlpRebalanceSettings.js +0 -38
  174. package/dist/generated/types/KillSwitch.d.ts +0 -15
  175. package/dist/generated/types/KillSwitch.js +0 -38
  176. package/dist/generated/types/LevelRoles.d.ts +0 -16
  177. package/dist/generated/types/LevelRoles.js +0 -39
  178. package/dist/generated/types/MarketStatus.d.ts +0 -27
  179. package/dist/generated/types/MarketStatus.js +0 -54
  180. package/dist/generated/types/MarketType.d.ts +0 -20
  181. package/dist/generated/types/MarketType.js +0 -47
  182. package/dist/generated/types/MintJlpArgs.d.ts +0 -15
  183. package/dist/generated/types/MintJlpArgs.js +0 -38
  184. package/dist/generated/types/ModifyOrderParams.d.ts +0 -32
  185. package/dist/generated/types/ModifyOrderParams.js +0 -57
  186. package/dist/generated/types/ModifyOrderPolicy.d.ts +0 -20
  187. package/dist/generated/types/ModifyOrderPolicy.js +0 -47
  188. package/dist/generated/types/Movements.d.ts +0 -19
  189. package/dist/generated/types/Movements.js +0 -44
  190. package/dist/generated/types/OracleGuardRails.d.ts +0 -18
  191. package/dist/generated/types/OracleGuardRails.js +0 -43
  192. package/dist/generated/types/OracleSource.d.ts +0 -34
  193. package/dist/generated/types/OracleSource.js +0 -61
  194. package/dist/generated/types/OracleValidity.d.ts +0 -25
  195. package/dist/generated/types/OracleValidity.js +0 -52
  196. package/dist/generated/types/Order.d.ts +0 -43
  197. package/dist/generated/types/Order.js +0 -68
  198. package/dist/generated/types/OrderDirection.d.ts +0 -20
  199. package/dist/generated/types/OrderDirection.js +0 -47
  200. package/dist/generated/types/OrderParams.d.ts +0 -36
  201. package/dist/generated/types/OrderParams.js +0 -61
  202. package/dist/generated/types/OrderStatus.d.ts +0 -22
  203. package/dist/generated/types/OrderStatus.js +0 -49
  204. package/dist/generated/types/OrderTriggerCondition.d.ts +0 -22
  205. package/dist/generated/types/OrderTriggerCondition.js +0 -49
  206. package/dist/generated/types/OrderType.d.ts +0 -23
  207. package/dist/generated/types/OrderType.js +0 -50
  208. package/dist/generated/types/PermissionLevel.d.ts +0 -45
  209. package/dist/generated/types/PermissionLevel.js +0 -48
  210. package/dist/generated/types/PerpHedge.d.ts +0 -17
  211. package/dist/generated/types/PerpHedge.js +0 -42
  212. package/dist/generated/types/PerpPosition.d.ts +0 -29
  213. package/dist/generated/types/PerpPosition.js +0 -54
  214. package/dist/generated/types/PoolBalance.d.ts +0 -17
  215. package/dist/generated/types/PoolBalance.js +0 -42
  216. package/dist/generated/types/Position.d.ts +0 -20
  217. package/dist/generated/types/Position.js +0 -45
  218. package/dist/generated/types/PositionDirection.d.ts +0 -20
  219. package/dist/generated/types/PositionDirection.js +0 -47
  220. package/dist/generated/types/PositionDrift.d.ts +0 -18
  221. package/dist/generated/types/PositionDrift.js +0 -43
  222. package/dist/generated/types/PostOnlyParam.d.ts +0 -22
  223. package/dist/generated/types/PostOnlyParam.js +0 -49
  224. package/dist/generated/types/Price.d.ts +0 -41
  225. package/dist/generated/types/Price.js +0 -66
  226. package/dist/generated/types/PriceComp.d.ts +0 -19
  227. package/dist/generated/types/PriceComp.js +0 -44
  228. package/dist/generated/types/PriceDivergenceGuardRails.d.ts +0 -16
  229. package/dist/generated/types/PriceDivergenceGuardRails.js +0 -41
  230. package/dist/generated/types/PriceInfo.d.ts +0 -21
  231. package/dist/generated/types/PriceInfo.js +0 -46
  232. package/dist/generated/types/PriceStatus.d.ts +0 -22
  233. package/dist/generated/types/PriceStatus.js +0 -49
  234. package/dist/generated/types/PriceType.d.ts +0 -20
  235. package/dist/generated/types/PriceType.js +0 -47
  236. package/dist/generated/types/ProcessSwapDepositArgs.d.ts +0 -15
  237. package/dist/generated/types/ProcessSwapDepositArgs.js +0 -38
  238. package/dist/generated/types/ProcessSwapDepositIntrospectionArgs.d.ts +0 -15
  239. package/dist/generated/types/ProcessSwapDepositIntrospectionArgs.js +0 -38
  240. package/dist/generated/types/Program.d.ts +0 -19
  241. package/dist/generated/types/Program.js +0 -44
  242. package/dist/generated/types/ProgramStatus.d.ts +0 -20
  243. package/dist/generated/types/ProgramStatus.js +0 -47
  244. package/dist/generated/types/RebalanceConfig.d.ts +0 -15
  245. package/dist/generated/types/RebalanceConfig.js +0 -38
  246. package/dist/generated/types/Recipient.d.ts +0 -17
  247. package/dist/generated/types/Recipient.js +0 -42
  248. package/dist/generated/types/Recipients.d.ts +0 -17
  249. package/dist/generated/types/Recipients.js +0 -42
  250. package/dist/generated/types/RedeemJlpArgs.d.ts +0 -15
  251. package/dist/generated/types/RedeemJlpArgs.js +0 -38
  252. package/dist/generated/types/Role.d.ts +0 -25
  253. package/dist/generated/types/Role.js +0 -52
  254. package/dist/generated/types/ShiftCollateral.d.ts +0 -19
  255. package/dist/generated/types/ShiftCollateral.js +0 -44
  256. package/dist/generated/types/ShiftPosition.d.ts +0 -17
  257. package/dist/generated/types/ShiftPosition.js +0 -42
  258. package/dist/generated/types/ShortHolding.d.ts +0 -17
  259. package/dist/generated/types/ShortHolding.js +0 -42
  260. package/dist/generated/types/SplBase.d.ts +0 -17
  261. package/dist/generated/types/SplBase.js +0 -42
  262. package/dist/generated/types/SplMain.d.ts +0 -22
  263. package/dist/generated/types/SplMain.js +0 -47
  264. package/dist/generated/types/Spls.d.ts +0 -17
  265. package/dist/generated/types/Spls.js +0 -42
  266. package/dist/generated/types/SpotBalanceType.d.ts +0 -20
  267. package/dist/generated/types/SpotBalanceType.js +0 -47
  268. package/dist/generated/types/SpotPosition.d.ts +0 -23
  269. package/dist/generated/types/SpotPosition.js +0 -48
  270. package/dist/generated/types/Status.d.ts +0 -20
  271. package/dist/generated/types/Status.js +0 -47
  272. package/dist/generated/types/Strategy.d.ts +0 -31
  273. package/dist/generated/types/Strategy.js +0 -56
  274. package/dist/generated/types/StrategyRoleEntry.d.ts +0 -17
  275. package/dist/generated/types/StrategyRoleEntry.js +0 -42
  276. package/dist/generated/types/SubAccount.d.ts +0 -17
  277. package/dist/generated/types/SubAccount.js +0 -42
  278. package/dist/generated/types/Update.d.ts +0 -20
  279. package/dist/generated/types/Update.js +0 -47
  280. package/dist/generated/types/UserFees.d.ts +0 -20
  281. package/dist/generated/types/UserFees.js +0 -45
  282. package/dist/generated/types/ValidityGuardRails.d.ts +0 -18
  283. package/dist/generated/types/ValidityGuardRails.js +0 -43
  284. package/dist/generated/types/index.d.ts +0 -83
  285. package/dist/generated/types/index.js +0 -99
  286. package/dist/strategies/JlpStrategy.d.ts +0 -17
  287. package/dist/strategies/JlpStrategy.js +0 -337
  288. package/dist/strategies/LstStrategy.d.ts +0 -19
  289. package/dist/strategies/LstStrategy.js +0 -169
  290. package/dist/strategies/UsdcStrategy.d.ts +0 -12
  291. package/dist/strategies/UsdcStrategy.js +0 -89
  292. package/dist/strategies/index.d.ts +0 -3
  293. package/dist/strategies/index.js +0 -19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reflectmoney/stable.ts",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "type": "module",
5
5
  "author": "stablecoinjesus @ Palindrome Engineering",
6
6
  "repository": {
@@ -1,30 +0,0 @@
1
- import { AccountMeta, Connection, Keypair, PublicKey, TransactionInstruction } from "@solana/web3.js";
2
- import BN from "bn.js";
3
- import { DriftClient } from "@drift-labs/sdk";
4
- import { Action } from "../generated";
5
- import { StablecoinMetadata } from "../types";
6
- export declare abstract class Strategy {
7
- index: number;
8
- name: string;
9
- connection: Connection;
10
- controller: PublicKey;
11
- collateralMints: PublicKey[];
12
- stablecoinMint: PublicKey;
13
- driftClient?: DriftClient;
14
- constructor(index: number, name: string, connection: Connection);
15
- initializeTokenAccounts(owner: PublicKey, mints: PublicKey[], signer: PublicKey): Promise<TransactionInstruction[]>;
16
- updateCap(signer: PublicKey, newCap: BN | number): Promise<TransactionInstruction>;
17
- freezeCollateral(signer: PublicKey, freeze: boolean, mint: PublicKey): Promise<TransactionInstruction>;
18
- freezeCollateralStrategy(signer: PublicKey, freeze: boolean, mint: PublicKey): Promise<TransactionInstruction>;
19
- updateRecipients(signer: PublicKey, recipients: Map<PublicKey, number>): Promise<TransactionInstruction>;
20
- initializeStrategyDriftAccount(signer: PublicKey, subAccountId?: number): Promise<TransactionInstruction>;
21
- initializeStrategyDriftStatsAccount(signer: PublicKey): Promise<TransactionInstruction>;
22
- freeze(signer: PublicKey, freeze: boolean, action: Action): Promise<TransactionInstruction>;
23
- initializeStablecoin(signer: PublicKey, tokenKeypair: Keypair, metadata?: StablecoinMetadata): Promise<TransactionInstruction[]>;
24
- abstract constructAccounts<T>(signer: PublicKey, ...args: any[]): Promise<T>;
25
- abstract constructRemainingAccounts(): Promise<AccountMeta[]>;
26
- abstract initialize(signer: PublicKey, ...args: any[]): Promise<TransactionInstruction[]>;
27
- abstract mint(signer: PublicKey, amount: BN | number, minimumReceived: BN | number, ...args: any[]): Promise<TransactionInstruction[]>;
28
- abstract redeem(signer: PublicKey, amount: BN | number, minimumReceived: BN | number, ...args: any[]): Promise<TransactionInstruction[]>;
29
- abstract rebalance(signer: PublicKey): Promise<TransactionInstruction[]>;
30
- }
@@ -1,196 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Strategy = void 0;
13
- const web3_js_1 = require("@solana/web3.js");
14
- const sdk_1 = require("@drift-labs/sdk");
15
- const generated_1 = require("../generated");
16
- const PdaClient_1 = require("./PdaClient");
17
- const spl_token_1 = require("@solana/spl-token");
18
- const constants_1 = require("../constants");
19
- const mpl_token_metadata_1 = require("@metaplex-foundation/mpl-token-metadata");
20
- class Strategy {
21
- constructor(index, name, connection) {
22
- this.index = index;
23
- this.name = name;
24
- this.connection = connection;
25
- this.controller = PdaClient_1.PdaClient.deriveController(this.index);
26
- }
27
- initializeTokenAccounts(owner, mints, signer) {
28
- return __awaiter(this, void 0, void 0, function* () {
29
- const instructions = [];
30
- for (const mint of mints) {
31
- const ata = (0, spl_token_1.getAssociatedTokenAddressSync)(mint, owner, true);
32
- let isInitialized = false;
33
- try {
34
- let account = yield this.connection.getAccountInfo(ata);
35
- isInitialized = account !== null;
36
- }
37
- catch (err) {
38
- isInitialized = false;
39
- }
40
- if (!isInitialized) {
41
- instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(signer, ata, owner, mint));
42
- }
43
- }
44
- return instructions;
45
- });
46
- }
47
- updateCap(signer, newCap) {
48
- return __awaiter(this, void 0, void 0, function* () {
49
- const ix = (0, generated_1.createUpdateCapInstruction)({
50
- admin: signer,
51
- main: PdaClient_1.PdaClient.deriveMain(),
52
- adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
53
- systemProgram: web3_js_1.SystemProgram.programId,
54
- strategy: this.controller
55
- }, {
56
- newCap,
57
- }, generated_1.PROGRAM_ID);
58
- return ix;
59
- });
60
- }
61
- freezeCollateral(signer, freeze, mint) {
62
- return __awaiter(this, void 0, void 0, function* () {
63
- const ix = (0, generated_1.createSuspendLstProtocolInstruction)({
64
- admin: signer,
65
- adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
66
- main: PdaClient_1.PdaClient.deriveMain(),
67
- systemProgram: web3_js_1.SystemProgram.programId,
68
- }, {
69
- freeze,
70
- lstMint: mint
71
- }, generated_1.PROGRAM_ID);
72
- return ix;
73
- });
74
- }
75
- freezeCollateralStrategy(signer, freeze, mint) {
76
- return __awaiter(this, void 0, void 0, function* () {
77
- const ix = (0, generated_1.createSuspendLstStrategyInstruction)({
78
- admin: signer,
79
- adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
80
- main: PdaClient_1.PdaClient.deriveMain(),
81
- systemProgram: web3_js_1.SystemProgram.programId,
82
- strategy: this.controller
83
- }, {
84
- freeze,
85
- lstMint: mint
86
- }, generated_1.PROGRAM_ID);
87
- return ix;
88
- });
89
- }
90
- updateRecipients(signer, recipients) {
91
- return __awaiter(this, void 0, void 0, function* () {
92
- const ix = (0, generated_1.createUpdateRecipientsInstruction)({
93
- main: PdaClient_1.PdaClient.deriveMain(),
94
- adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
95
- systemProgram: web3_js_1.SystemProgram.programId,
96
- admin: signer,
97
- strategy: this.controller
98
- }, {
99
- recipientAddresses: [...recipients.keys()],
100
- recipientCuts: [...recipients.values()],
101
- }, generated_1.PROGRAM_ID);
102
- return ix;
103
- });
104
- }
105
- initializeStrategyDriftAccount(signer_1) {
106
- return __awaiter(this, arguments, void 0, function* (signer, subAccountId = 0) {
107
- const userAccount = (0, sdk_1.getUserAccountPublicKeySync)(constants_1.DRIFT_PROGRAM_ID, this.controller, subAccountId);
108
- const userStats = (0, sdk_1.getUserStatsAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID, this.controller);
109
- const [_, controllerBump] = PdaClient_1.PdaClient.deriveControllerWithBump(this.index);
110
- const ix = (0, generated_1.createAddSubAccountInstruction)({
111
- admin: signer,
112
- drift: constants_1.DRIFT_PROGRAM_ID,
113
- state: yield (0, sdk_1.getDriftStateAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID),
114
- userStats,
115
- userAccount,
116
- adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
117
- main: PdaClient_1.PdaClient.deriveMain(),
118
- rent: web3_js_1.SYSVAR_RENT_PUBKEY,
119
- systemProgram: web3_js_1.SystemProgram.programId,
120
- lstController: this.controller
121
- }, generated_1.PROGRAM_ID);
122
- return ix;
123
- });
124
- }
125
- initializeStrategyDriftStatsAccount(signer) {
126
- return __awaiter(this, void 0, void 0, function* () {
127
- const userAccount = (0, sdk_1.getUserAccountPublicKeySync)(constants_1.DRIFT_PROGRAM_ID, this.controller, 0);
128
- const userStats = (0, sdk_1.getUserStatsAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID, this.controller);
129
- const [_, controllerBump] = PdaClient_1.PdaClient.deriveControllerWithBump(this.index);
130
- const ix = (0, generated_1.createCreateUserStatsAccountInstruction)({
131
- admin: signer,
132
- main: PdaClient_1.PdaClient.deriveMain(),
133
- drift: constants_1.DRIFT_PROGRAM_ID,
134
- userStats,
135
- userAccount,
136
- adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
137
- controller: this.controller,
138
- rent: web3_js_1.SYSVAR_RENT_PUBKEY,
139
- state: yield (0, sdk_1.getDriftStateAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID),
140
- systemProgram: web3_js_1.SystemProgram.programId,
141
- }, generated_1.PROGRAM_ID);
142
- return ix;
143
- });
144
- }
145
- freeze(signer, freeze, action) {
146
- return __awaiter(this, void 0, void 0, function* () {
147
- const ix = (0, generated_1.createFreezeStrategyActionInstruction)({
148
- admin: signer,
149
- main: PdaClient_1.PdaClient.deriveMain(),
150
- adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
151
- systemProgram: web3_js_1.SystemProgram.programId,
152
- strategy: this.controller,
153
- }, {
154
- freeze,
155
- action,
156
- strategyId: this.index
157
- });
158
- return ix;
159
- });
160
- }
161
- initializeStablecoin(signer, tokenKeypair, metadata) {
162
- return __awaiter(this, void 0, void 0, function* () {
163
- const instructions = [];
164
- const createAccountInstruction = web3_js_1.SystemProgram.createAccount({
165
- lamports: yield this.connection.getMinimumBalanceForRentExemption(spl_token_1.MINT_SIZE),
166
- space: spl_token_1.MINT_SIZE,
167
- fromPubkey: signer,
168
- newAccountPubkey: tokenKeypair.publicKey,
169
- programId: spl_token_1.TOKEN_PROGRAM_ID
170
- });
171
- instructions.push(createAccountInstruction);
172
- const initializeMintInstruction = (0, spl_token_1.createInitializeMint2Instruction)(tokenKeypair.publicKey, 6, signer, signer);
173
- instructions.push(initializeMintInstruction);
174
- if (metadata) {
175
- const createMetadataInstruction = (0, mpl_token_metadata_1.createCreateMetadataAccountV3Instruction)({
176
- metadata: PdaClient_1.PdaClient.deriveMetadataAccount(tokenKeypair.publicKey),
177
- mint: tokenKeypair.publicKey,
178
- mintAuthority: signer,
179
- payer: signer,
180
- updateAuthority: signer
181
- }, {
182
- createMetadataAccountArgsV3: {
183
- data: metadata,
184
- isMutable: true,
185
- collectionDetails: null
186
- }
187
- });
188
- instructions.push(createMetadataInstruction);
189
- }
190
- const setAuthorityInstruction = (0, spl_token_1.createSetAuthorityInstruction)(tokenKeypair.publicKey, signer, spl_token_1.AuthorityType.MintTokens, this.controller);
191
- instructions.push(setAuthorityInstruction);
192
- return instructions;
193
- });
194
- }
195
- }
196
- exports.Strategy = Strategy;
@@ -1,114 +0,0 @@
1
- /**
2
- * This code was GENERATED using the solita package.
3
- * Please DO NOT EDIT THIS FILE, instead rerun solita to update it or write a wrapper to add functionality.
4
- *
5
- * See: https://github.com/metaplex-foundation/solita
6
- */
7
- import * as web3 from '@solana/web3.js';
8
- import * as beet from '@metaplex-foundation/beet';
9
- import * as beetSolana from '@metaplex-foundation/beet-solana';
10
- import { Strategy } from '../types/Strategy';
11
- import { DriftControllerBase } from '../types/DriftControllerBase';
12
- import { PerpHedge } from '../types/PerpHedge';
13
- import { JlpRebalanceSettings } from '../types/JlpRebalanceSettings';
14
- /**
15
- * Arguments used to create {@link DriftJlpController}
16
- * @category Accounts
17
- * @category generated
18
- */
19
- export type DriftJlpControllerArgs = {
20
- baseStrategy: Strategy;
21
- baseDrift: DriftControllerBase;
22
- jlpMarketIndex: number;
23
- driftPerpMarketsHedge: PerpHedge[];
24
- jlpMint: web3.PublicKey;
25
- rebalanceSettings: JlpRebalanceSettings;
26
- };
27
- export declare const driftJlpControllerDiscriminator: number[];
28
- /**
29
- * Holds the data for the {@link DriftJlpController} Account and provides de/serialization
30
- * functionality for that data
31
- *
32
- * @category Accounts
33
- * @category generated
34
- */
35
- export declare class DriftJlpController implements DriftJlpControllerArgs {
36
- readonly baseStrategy: Strategy;
37
- readonly baseDrift: DriftControllerBase;
38
- readonly jlpMarketIndex: number;
39
- readonly driftPerpMarketsHedge: PerpHedge[];
40
- readonly jlpMint: web3.PublicKey;
41
- readonly rebalanceSettings: JlpRebalanceSettings;
42
- private constructor();
43
- /**
44
- * Creates a {@link DriftJlpController} instance from the provided args.
45
- */
46
- static fromArgs(args: DriftJlpControllerArgs): DriftJlpController;
47
- /**
48
- * Deserializes the {@link DriftJlpController} from the data of the provided {@link web3.AccountInfo}.
49
- * @returns a tuple of the account data and the offset up to which the buffer was read to obtain it.
50
- */
51
- static fromAccountInfo(accountInfo: web3.AccountInfo<Buffer>, offset?: number): [DriftJlpController, number];
52
- /**
53
- * Retrieves the account info from the provided address and deserializes
54
- * the {@link DriftJlpController} from its data.
55
- *
56
- * @throws Error if no account info is found at the address or if deserialization fails
57
- */
58
- static fromAccountAddress(connection: web3.Connection, address: web3.PublicKey, commitmentOrConfig?: web3.Commitment | web3.GetAccountInfoConfig): Promise<DriftJlpController>;
59
- /**
60
- * Provides a {@link web3.Connection.getProgramAccounts} config builder,
61
- * to fetch accounts matching filters that can be specified via that builder.
62
- *
63
- * @param programId - the program that owns the accounts we are filtering
64
- */
65
- static gpaBuilder(programId?: web3.PublicKey): beetSolana.GpaBuilder<DriftJlpControllerArgs & {
66
- accountDiscriminator: number[];
67
- }>;
68
- /**
69
- * Deserializes the {@link DriftJlpController} from the provided data Buffer.
70
- * @returns a tuple of the account data and the offset up to which the buffer was read to obtain it.
71
- */
72
- static deserialize(buf: Buffer, offset?: number): [DriftJlpController, number];
73
- /**
74
- * Serializes the {@link DriftJlpController} into a Buffer.
75
- * @returns a tuple of the created Buffer and the offset up to which the buffer was written to store it.
76
- */
77
- serialize(): [Buffer, number];
78
- /**
79
- * Returns the byteSize of a {@link Buffer} holding the serialized data of
80
- * {@link DriftJlpController} for the provided args.
81
- *
82
- * @param args need to be provided since the byte size for this account
83
- * depends on them
84
- */
85
- static byteSize(args: DriftJlpControllerArgs): number;
86
- /**
87
- * Fetches the minimum balance needed to exempt an account holding
88
- * {@link DriftJlpController} data from rent
89
- *
90
- * @param args need to be provided since the byte size for this account
91
- * depends on them
92
- * @param connection used to retrieve the rent exemption information
93
- */
94
- static getMinimumBalanceForRentExemption(args: DriftJlpControllerArgs, connection: web3.Connection, commitment?: web3.Commitment): Promise<number>;
95
- /**
96
- * Returns a readable version of {@link DriftJlpController} properties
97
- * and can be used to convert to JSON and/or logging
98
- */
99
- pretty(): {
100
- baseStrategy: Strategy;
101
- baseDrift: DriftControllerBase;
102
- jlpMarketIndex: number;
103
- driftPerpMarketsHedge: PerpHedge[];
104
- jlpMint: string;
105
- rebalanceSettings: JlpRebalanceSettings;
106
- };
107
- }
108
- /**
109
- * @category Accounts
110
- * @category generated
111
- */
112
- export declare const driftJlpControllerBeet: beet.FixableBeetStruct<DriftJlpController, DriftJlpControllerArgs & {
113
- accountDiscriminator: number[];
114
- }>;
@@ -1,169 +0,0 @@
1
- "use strict";
2
- /**
3
- * This code was GENERATED using the solita package.
4
- * Please DO NOT EDIT THIS FILE, instead rerun solita to update it or write a wrapper to add functionality.
5
- *
6
- * See: https://github.com/metaplex-foundation/solita
7
- */
8
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- var desc = Object.getOwnPropertyDescriptor(m, k);
11
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
- desc = { enumerable: true, get: function() { return m[k]; } };
13
- }
14
- Object.defineProperty(o, k2, desc);
15
- }) : (function(o, m, k, k2) {
16
- if (k2 === undefined) k2 = k;
17
- o[k2] = m[k];
18
- }));
19
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
- Object.defineProperty(o, "default", { enumerable: true, value: v });
21
- }) : function(o, v) {
22
- o["default"] = v;
23
- });
24
- var __importStar = (this && this.__importStar) || function (mod) {
25
- if (mod && mod.__esModule) return mod;
26
- var result = {};
27
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
- __setModuleDefault(result, mod);
29
- return result;
30
- };
31
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
32
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
33
- return new (P || (P = Promise))(function (resolve, reject) {
34
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
35
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
36
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
37
- step((generator = generator.apply(thisArg, _arguments || [])).next());
38
- });
39
- };
40
- Object.defineProperty(exports, "__esModule", { value: true });
41
- exports.driftJlpControllerBeet = exports.DriftJlpController = exports.driftJlpControllerDiscriminator = void 0;
42
- const web3 = __importStar(require("@solana/web3.js"));
43
- const beet = __importStar(require("@metaplex-foundation/beet"));
44
- const beetSolana = __importStar(require("@metaplex-foundation/beet-solana"));
45
- const Strategy_1 = require("../types/Strategy");
46
- const DriftControllerBase_1 = require("../types/DriftControllerBase");
47
- const PerpHedge_1 = require("../types/PerpHedge");
48
- const JlpRebalanceSettings_1 = require("../types/JlpRebalanceSettings");
49
- exports.driftJlpControllerDiscriminator = [55, 62, 4, 59, 216, 18, 89, 118];
50
- /**
51
- * Holds the data for the {@link DriftJlpController} Account and provides de/serialization
52
- * functionality for that data
53
- *
54
- * @category Accounts
55
- * @category generated
56
- */
57
- class DriftJlpController {
58
- constructor(baseStrategy, baseDrift, jlpMarketIndex, driftPerpMarketsHedge, jlpMint, rebalanceSettings) {
59
- this.baseStrategy = baseStrategy;
60
- this.baseDrift = baseDrift;
61
- this.jlpMarketIndex = jlpMarketIndex;
62
- this.driftPerpMarketsHedge = driftPerpMarketsHedge;
63
- this.jlpMint = jlpMint;
64
- this.rebalanceSettings = rebalanceSettings;
65
- }
66
- /**
67
- * Creates a {@link DriftJlpController} instance from the provided args.
68
- */
69
- static fromArgs(args) {
70
- return new DriftJlpController(args.baseStrategy, args.baseDrift, args.jlpMarketIndex, args.driftPerpMarketsHedge, args.jlpMint, args.rebalanceSettings);
71
- }
72
- /**
73
- * Deserializes the {@link DriftJlpController} from the data of the provided {@link web3.AccountInfo}.
74
- * @returns a tuple of the account data and the offset up to which the buffer was read to obtain it.
75
- */
76
- static fromAccountInfo(accountInfo, offset = 0) {
77
- return DriftJlpController.deserialize(accountInfo.data, offset);
78
- }
79
- /**
80
- * Retrieves the account info from the provided address and deserializes
81
- * the {@link DriftJlpController} from its data.
82
- *
83
- * @throws Error if no account info is found at the address or if deserialization fails
84
- */
85
- static fromAccountAddress(connection, address, commitmentOrConfig) {
86
- return __awaiter(this, void 0, void 0, function* () {
87
- const accountInfo = yield connection.getAccountInfo(address, commitmentOrConfig);
88
- if (accountInfo == null) {
89
- throw new Error(`Unable to find DriftJlpController account at ${address}`);
90
- }
91
- return DriftJlpController.fromAccountInfo(accountInfo, 0)[0];
92
- });
93
- }
94
- /**
95
- * Provides a {@link web3.Connection.getProgramAccounts} config builder,
96
- * to fetch accounts matching filters that can be specified via that builder.
97
- *
98
- * @param programId - the program that owns the accounts we are filtering
99
- */
100
- static gpaBuilder(programId = new web3.PublicKey('9CtYQNCz3LaQ9DnqXa83q6gdHGwMeN6aQ7KqqotBmeke')) {
101
- return beetSolana.GpaBuilder.fromStruct(programId, exports.driftJlpControllerBeet);
102
- }
103
- /**
104
- * Deserializes the {@link DriftJlpController} from the provided data Buffer.
105
- * @returns a tuple of the account data and the offset up to which the buffer was read to obtain it.
106
- */
107
- static deserialize(buf, offset = 0) {
108
- return exports.driftJlpControllerBeet.deserialize(buf, offset);
109
- }
110
- /**
111
- * Serializes the {@link DriftJlpController} into a Buffer.
112
- * @returns a tuple of the created Buffer and the offset up to which the buffer was written to store it.
113
- */
114
- serialize() {
115
- return exports.driftJlpControllerBeet.serialize(Object.assign({ accountDiscriminator: exports.driftJlpControllerDiscriminator }, this));
116
- }
117
- /**
118
- * Returns the byteSize of a {@link Buffer} holding the serialized data of
119
- * {@link DriftJlpController} for the provided args.
120
- *
121
- * @param args need to be provided since the byte size for this account
122
- * depends on them
123
- */
124
- static byteSize(args) {
125
- const instance = DriftJlpController.fromArgs(args);
126
- return exports.driftJlpControllerBeet.toFixedFromValue(Object.assign({ accountDiscriminator: exports.driftJlpControllerDiscriminator }, instance)).byteSize;
127
- }
128
- /**
129
- * Fetches the minimum balance needed to exempt an account holding
130
- * {@link DriftJlpController} data from rent
131
- *
132
- * @param args need to be provided since the byte size for this account
133
- * depends on them
134
- * @param connection used to retrieve the rent exemption information
135
- */
136
- static getMinimumBalanceForRentExemption(args, connection, commitment) {
137
- return __awaiter(this, void 0, void 0, function* () {
138
- return connection.getMinimumBalanceForRentExemption(DriftJlpController.byteSize(args), commitment);
139
- });
140
- }
141
- /**
142
- * Returns a readable version of {@link DriftJlpController} properties
143
- * and can be used to convert to JSON and/or logging
144
- */
145
- pretty() {
146
- return {
147
- baseStrategy: this.baseStrategy,
148
- baseDrift: this.baseDrift,
149
- jlpMarketIndex: this.jlpMarketIndex,
150
- driftPerpMarketsHedge: this.driftPerpMarketsHedge,
151
- jlpMint: this.jlpMint.toBase58(),
152
- rebalanceSettings: this.rebalanceSettings,
153
- };
154
- }
155
- }
156
- exports.DriftJlpController = DriftJlpController;
157
- /**
158
- * @category Accounts
159
- * @category generated
160
- */
161
- exports.driftJlpControllerBeet = new beet.FixableBeetStruct([
162
- ['accountDiscriminator', beet.uniformFixedSizeArray(beet.u8, 8)],
163
- ['baseStrategy', Strategy_1.strategyBeet],
164
- ['baseDrift', DriftControllerBase_1.driftControllerBaseBeet],
165
- ['jlpMarketIndex', beet.u16],
166
- ['driftPerpMarketsHedge', beet.array(PerpHedge_1.perpHedgeBeet)],
167
- ['jlpMint', beetSolana.publicKey],
168
- ['rebalanceSettings', JlpRebalanceSettings_1.jlpRebalanceSettingsBeet],
169
- ], DriftJlpController.fromArgs, 'DriftJlpController');
@@ -1,108 +0,0 @@
1
- /**
2
- * This code was GENERATED using the solita package.
3
- * Please DO NOT EDIT THIS FILE, instead rerun solita to update it or write a wrapper to add functionality.
4
- *
5
- * See: https://github.com/metaplex-foundation/solita
6
- */
7
- import * as beet from '@metaplex-foundation/beet';
8
- import * as web3 from '@solana/web3.js';
9
- import * as beetSolana from '@metaplex-foundation/beet-solana';
10
- import { Strategy } from '../types/Strategy';
11
- import { DriftControllerBase } from '../types/DriftControllerBase';
12
- import { DriftLstData } from '../types/DriftLstData';
13
- import { SubAccount } from '../types/SubAccount';
14
- /**
15
- * Arguments used to create {@link DriftLstController}
16
- * @category Accounts
17
- * @category generated
18
- */
19
- export type DriftLstControllerArgs = {
20
- baseStrategy: Strategy;
21
- baseDrift: DriftControllerBase;
22
- lsts: DriftLstData[];
23
- subAccounts: SubAccount[];
24
- };
25
- export declare const driftLstControllerDiscriminator: number[];
26
- /**
27
- * Holds the data for the {@link DriftLstController} Account and provides de/serialization
28
- * functionality for that data
29
- *
30
- * @category Accounts
31
- * @category generated
32
- */
33
- export declare class DriftLstController implements DriftLstControllerArgs {
34
- readonly baseStrategy: Strategy;
35
- readonly baseDrift: DriftControllerBase;
36
- readonly lsts: DriftLstData[];
37
- readonly subAccounts: SubAccount[];
38
- private constructor();
39
- /**
40
- * Creates a {@link DriftLstController} instance from the provided args.
41
- */
42
- static fromArgs(args: DriftLstControllerArgs): DriftLstController;
43
- /**
44
- * Deserializes the {@link DriftLstController} from the data of the provided {@link web3.AccountInfo}.
45
- * @returns a tuple of the account data and the offset up to which the buffer was read to obtain it.
46
- */
47
- static fromAccountInfo(accountInfo: web3.AccountInfo<Buffer>, offset?: number): [DriftLstController, number];
48
- /**
49
- * Retrieves the account info from the provided address and deserializes
50
- * the {@link DriftLstController} from its data.
51
- *
52
- * @throws Error if no account info is found at the address or if deserialization fails
53
- */
54
- static fromAccountAddress(connection: web3.Connection, address: web3.PublicKey, commitmentOrConfig?: web3.Commitment | web3.GetAccountInfoConfig): Promise<DriftLstController>;
55
- /**
56
- * Provides a {@link web3.Connection.getProgramAccounts} config builder,
57
- * to fetch accounts matching filters that can be specified via that builder.
58
- *
59
- * @param programId - the program that owns the accounts we are filtering
60
- */
61
- static gpaBuilder(programId?: web3.PublicKey): beetSolana.GpaBuilder<DriftLstControllerArgs & {
62
- accountDiscriminator: number[];
63
- }>;
64
- /**
65
- * Deserializes the {@link DriftLstController} from the provided data Buffer.
66
- * @returns a tuple of the account data and the offset up to which the buffer was read to obtain it.
67
- */
68
- static deserialize(buf: Buffer, offset?: number): [DriftLstController, number];
69
- /**
70
- * Serializes the {@link DriftLstController} into a Buffer.
71
- * @returns a tuple of the created Buffer and the offset up to which the buffer was written to store it.
72
- */
73
- serialize(): [Buffer, number];
74
- /**
75
- * Returns the byteSize of a {@link Buffer} holding the serialized data of
76
- * {@link DriftLstController} for the provided args.
77
- *
78
- * @param args need to be provided since the byte size for this account
79
- * depends on them
80
- */
81
- static byteSize(args: DriftLstControllerArgs): number;
82
- /**
83
- * Fetches the minimum balance needed to exempt an account holding
84
- * {@link DriftLstController} data from rent
85
- *
86
- * @param args need to be provided since the byte size for this account
87
- * depends on them
88
- * @param connection used to retrieve the rent exemption information
89
- */
90
- static getMinimumBalanceForRentExemption(args: DriftLstControllerArgs, connection: web3.Connection, commitment?: web3.Commitment): Promise<number>;
91
- /**
92
- * Returns a readable version of {@link DriftLstController} properties
93
- * and can be used to convert to JSON and/or logging
94
- */
95
- pretty(): {
96
- baseStrategy: Strategy;
97
- baseDrift: DriftControllerBase;
98
- lsts: DriftLstData[];
99
- subAccounts: SubAccount[];
100
- };
101
- }
102
- /**
103
- * @category Accounts
104
- * @category generated
105
- */
106
- export declare const driftLstControllerBeet: beet.FixableBeetStruct<DriftLstController, DriftLstControllerArgs & {
107
- accountDiscriminator: number[];
108
- }>;