perena-vault-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/README.md +396 -0
  2. package/dist/client/account.d.ts +59 -0
  3. package/dist/client/account.d.ts.map +1 -0
  4. package/dist/client/account.js +94 -0
  5. package/dist/client/account.js.map +1 -0
  6. package/dist/client/builders/activateCircuitBreaker.d.ts +12 -0
  7. package/dist/client/builders/activateCircuitBreaker.d.ts.map +1 -0
  8. package/dist/client/builders/activateCircuitBreaker.js +27 -0
  9. package/dist/client/builders/activateCircuitBreaker.js.map +1 -0
  10. package/dist/client/builders/anchorArgs.d.ts +59 -0
  11. package/dist/client/builders/anchorArgs.d.ts.map +1 -0
  12. package/dist/client/builders/anchorArgs.js +43 -0
  13. package/dist/client/builders/anchorArgs.js.map +1 -0
  14. package/dist/client/builders/args.d.ts +754 -0
  15. package/dist/client/builders/args.d.ts.map +1 -0
  16. package/dist/client/builders/args.js +3 -0
  17. package/dist/client/builders/args.js.map +1 -0
  18. package/dist/client/builders/base.d.ts +10 -0
  19. package/dist/client/builders/base.d.ts.map +1 -0
  20. package/dist/client/builders/base.js +20 -0
  21. package/dist/client/builders/base.js.map +1 -0
  22. package/dist/client/builders/cancelJuniorTrancheWithdraw.d.ts +13 -0
  23. package/dist/client/builders/cancelJuniorTrancheWithdraw.d.ts.map +1 -0
  24. package/dist/client/builders/cancelJuniorTrancheWithdraw.js +57 -0
  25. package/dist/client/builders/cancelJuniorTrancheWithdraw.js.map +1 -0
  26. package/dist/client/builders/crankNav.d.ts +29 -0
  27. package/dist/client/builders/crankNav.d.ts.map +1 -0
  28. package/dist/client/builders/crankNav.js +88 -0
  29. package/dist/client/builders/crankNav.js.map +1 -0
  30. package/dist/client/builders/crankPerformanceFees.d.ts +19 -0
  31. package/dist/client/builders/crankPerformanceFees.d.ts.map +1 -0
  32. package/dist/client/builders/crankPerformanceFees.js +80 -0
  33. package/dist/client/builders/crankPerformanceFees.js.map +1 -0
  34. package/dist/client/builders/createAssetHolding.d.ts +13 -0
  35. package/dist/client/builders/createAssetHolding.d.ts.map +1 -0
  36. package/dist/client/builders/createAssetHolding.js +47 -0
  37. package/dist/client/builders/createAssetHolding.js.map +1 -0
  38. package/dist/client/builders/createTrancheState.d.ts +13 -0
  39. package/dist/client/builders/createTrancheState.d.ts.map +1 -0
  40. package/dist/client/builders/createTrancheState.js +57 -0
  41. package/dist/client/builders/createTrancheState.js.map +1 -0
  42. package/dist/client/builders/createVault.d.ts +9 -0
  43. package/dist/client/builders/createVault.d.ts.map +1 -0
  44. package/dist/client/builders/createVault.js +75 -0
  45. package/dist/client/builders/createVault.js.map +1 -0
  46. package/dist/client/builders/disableCircuitBreaker.d.ts +12 -0
  47. package/dist/client/builders/disableCircuitBreaker.d.ts.map +1 -0
  48. package/dist/client/builders/disableCircuitBreaker.js +27 -0
  49. package/dist/client/builders/disableCircuitBreaker.js.map +1 -0
  50. package/dist/client/builders/executeDeposit.d.ts +15 -0
  51. package/dist/client/builders/executeDeposit.d.ts.map +1 -0
  52. package/dist/client/builders/executeDeposit.js +86 -0
  53. package/dist/client/builders/executeDeposit.js.map +1 -0
  54. package/dist/client/builders/executeTrancheDeposit.d.ts +16 -0
  55. package/dist/client/builders/executeTrancheDeposit.d.ts.map +1 -0
  56. package/dist/client/builders/executeTrancheDeposit.js +84 -0
  57. package/dist/client/builders/executeTrancheDeposit.js.map +1 -0
  58. package/dist/client/builders/executeTrancheWithdraw.d.ts +16 -0
  59. package/dist/client/builders/executeTrancheWithdraw.d.ts.map +1 -0
  60. package/dist/client/builders/executeTrancheWithdraw.js +83 -0
  61. package/dist/client/builders/executeTrancheWithdraw.js.map +1 -0
  62. package/dist/client/builders/executeWithdraw.d.ts +14 -0
  63. package/dist/client/builders/executeWithdraw.d.ts.map +1 -0
  64. package/dist/client/builders/executeWithdraw.js +86 -0
  65. package/dist/client/builders/executeWithdraw.js.map +1 -0
  66. package/dist/client/builders/feeCollector.d.ts +17 -0
  67. package/dist/client/builders/feeCollector.d.ts.map +1 -0
  68. package/dist/client/builders/feeCollector.js +66 -0
  69. package/dist/client/builders/feeCollector.js.map +1 -0
  70. package/dist/client/builders/fulfillJuniorTrancheWithdraw.d.ts +14 -0
  71. package/dist/client/builders/fulfillJuniorTrancheWithdraw.d.ts.map +1 -0
  72. package/dist/client/builders/fulfillJuniorTrancheWithdraw.js +82 -0
  73. package/dist/client/builders/fulfillJuniorTrancheWithdraw.js.map +1 -0
  74. package/dist/client/builders/index.d.ts +31 -0
  75. package/dist/client/builders/index.d.ts.map +1 -0
  76. package/dist/client/builders/index.js +47 -0
  77. package/dist/client/builders/index.js.map +1 -0
  78. package/dist/client/builders/initializeVaultRoles.d.ts +12 -0
  79. package/dist/client/builders/initializeVaultRoles.d.ts.map +1 -0
  80. package/dist/client/builders/initializeVaultRoles.js +37 -0
  81. package/dist/client/builders/initializeVaultRoles.js.map +1 -0
  82. package/dist/client/builders/managerRedepositAsset.d.ts +12 -0
  83. package/dist/client/builders/managerRedepositAsset.d.ts.map +1 -0
  84. package/dist/client/builders/managerRedepositAsset.js +52 -0
  85. package/dist/client/builders/managerRedepositAsset.js.map +1 -0
  86. package/dist/client/builders/managerWithdrawAsset.d.ts +12 -0
  87. package/dist/client/builders/managerWithdrawAsset.d.ts.map +1 -0
  88. package/dist/client/builders/managerWithdrawAsset.js +47 -0
  89. package/dist/client/builders/managerWithdrawAsset.js.map +1 -0
  90. package/dist/client/builders/protocolInteraction.d.ts +22 -0
  91. package/dist/client/builders/protocolInteraction.d.ts.map +1 -0
  92. package/dist/client/builders/protocolInteraction.js +157 -0
  93. package/dist/client/builders/protocolInteraction.js.map +1 -0
  94. package/dist/client/builders/removeAssetHolding.d.ts +13 -0
  95. package/dist/client/builders/removeAssetHolding.d.ts.map +1 -0
  96. package/dist/client/builders/removeAssetHolding.js +37 -0
  97. package/dist/client/builders/removeAssetHolding.js.map +1 -0
  98. package/dist/client/builders/requestJuniorTrancheWithdraw.d.ts +14 -0
  99. package/dist/client/builders/requestJuniorTrancheWithdraw.d.ts.map +1 -0
  100. package/dist/client/builders/requestJuniorTrancheWithdraw.js +72 -0
  101. package/dist/client/builders/requestJuniorTrancheWithdraw.js.map +1 -0
  102. package/dist/client/builders/setAssetPriceOracle.d.ts +12 -0
  103. package/dist/client/builders/setAssetPriceOracle.d.ts.map +1 -0
  104. package/dist/client/builders/setAssetPriceOracle.js +40 -0
  105. package/dist/client/builders/setAssetPriceOracle.js.map +1 -0
  106. package/dist/client/builders/setExternalLiquidity.d.ts +12 -0
  107. package/dist/client/builders/setExternalLiquidity.d.ts.map +1 -0
  108. package/dist/client/builders/setExternalLiquidity.js +49 -0
  109. package/dist/client/builders/setExternalLiquidity.js.map +1 -0
  110. package/dist/client/builders/setProtocolFee.d.ts +12 -0
  111. package/dist/client/builders/setProtocolFee.d.ts.map +1 -0
  112. package/dist/client/builders/setProtocolFee.js +37 -0
  113. package/dist/client/builders/setProtocolFee.js.map +1 -0
  114. package/dist/client/builders/setVaultConfig.d.ts +12 -0
  115. package/dist/client/builders/setVaultConfig.d.ts.map +1 -0
  116. package/dist/client/builders/setVaultConfig.js +54 -0
  117. package/dist/client/builders/setVaultConfig.js.map +1 -0
  118. package/dist/client/builders/trancheState.d.ts +28 -0
  119. package/dist/client/builders/trancheState.d.ts.map +1 -0
  120. package/dist/client/builders/trancheState.js +75 -0
  121. package/dist/client/builders/trancheState.js.map +1 -0
  122. package/dist/client/builders/updateAssetPrice.d.ts +18 -0
  123. package/dist/client/builders/updateAssetPrice.d.ts.map +1 -0
  124. package/dist/client/builders/updateAssetPrice.js +50 -0
  125. package/dist/client/builders/updateAssetPrice.js.map +1 -0
  126. package/dist/client/builders/updateConsensusOracle.d.ts +20 -0
  127. package/dist/client/builders/updateConsensusOracle.d.ts.map +1 -0
  128. package/dist/client/builders/updateConsensusOracle.js +64 -0
  129. package/dist/client/builders/updateConsensusOracle.js.map +1 -0
  130. package/dist/client/builders/updateConsensusSigners.d.ts +13 -0
  131. package/dist/client/builders/updateConsensusSigners.d.ts.map +1 -0
  132. package/dist/client/builders/updateConsensusSigners.js +38 -0
  133. package/dist/client/builders/updateConsensusSigners.js.map +1 -0
  134. package/dist/client/builders/updateTrancheConfig.d.ts +13 -0
  135. package/dist/client/builders/updateTrancheConfig.d.ts.map +1 -0
  136. package/dist/client/builders/updateTrancheConfig.js +50 -0
  137. package/dist/client/builders/updateTrancheConfig.js.map +1 -0
  138. package/dist/client/builders/vaultReallocation.d.ts +15 -0
  139. package/dist/client/builders/vaultReallocation.d.ts.map +1 -0
  140. package/dist/client/builders/vaultReallocation.js +148 -0
  141. package/dist/client/builders/vaultReallocation.js.map +1 -0
  142. package/dist/client/client.d.ts +34 -0
  143. package/dist/client/client.d.ts.map +1 -0
  144. package/dist/client/client.js +75 -0
  145. package/dist/client/client.js.map +1 -0
  146. package/dist/client/index.d.ts +8 -0
  147. package/dist/client/index.d.ts.map +1 -0
  148. package/dist/client/index.js +24 -0
  149. package/dist/client/index.js.map +1 -0
  150. package/dist/client/pda.d.ts +42 -0
  151. package/dist/client/pda.d.ts.map +1 -0
  152. package/dist/client/pda.js +88 -0
  153. package/dist/client/pda.js.map +1 -0
  154. package/dist/client/transaction.d.ts +36 -0
  155. package/dist/client/transaction.d.ts.map +1 -0
  156. package/dist/client/transaction.js +39 -0
  157. package/dist/client/transaction.js.map +1 -0
  158. package/dist/client/types/builders.d.ts +12 -0
  159. package/dist/client/types/builders.d.ts.map +1 -0
  160. package/dist/client/types/builders.js +3 -0
  161. package/dist/client/types/builders.js.map +1 -0
  162. package/dist/client/types/tx.d.ts +13 -0
  163. package/dist/client/types/tx.d.ts.map +1 -0
  164. package/dist/client/types/tx.js +3 -0
  165. package/dist/client/types/tx.js.map +1 -0
  166. package/dist/constants.d.ts +45 -0
  167. package/dist/constants.d.ts.map +1 -0
  168. package/dist/constants.js +49 -0
  169. package/dist/constants.js.map +1 -0
  170. package/dist/env.d.ts +70 -0
  171. package/dist/env.d.ts.map +1 -0
  172. package/dist/env.js +117 -0
  173. package/dist/env.js.map +1 -0
  174. package/dist/idl/index.d.ts +3 -0
  175. package/dist/idl/index.d.ts.map +1 -0
  176. package/dist/idl/index.js +6 -0
  177. package/dist/idl/index.js.map +1 -0
  178. package/dist/idl/vault.d.ts +9617 -0
  179. package/dist/idl/vault.d.ts.map +1 -0
  180. package/dist/idl/vault.js +7917 -0
  181. package/dist/idl/vault.js.map +1 -0
  182. package/dist/index.d.ts +7 -0
  183. package/dist/index.d.ts.map +1 -0
  184. package/dist/index.js +23 -0
  185. package/dist/index.js.map +1 -0
  186. package/dist/services/consensusOracle/consensusOracleService.d.ts +38 -0
  187. package/dist/services/consensusOracle/consensusOracleService.d.ts.map +1 -0
  188. package/dist/services/consensusOracle/consensusOracleService.js +270 -0
  189. package/dist/services/consensusOracle/consensusOracleService.js.map +1 -0
  190. package/dist/services/consensusOracle/externalPositions.d.ts +26 -0
  191. package/dist/services/consensusOracle/externalPositions.d.ts.map +1 -0
  192. package/dist/services/consensusOracle/externalPositions.js +37 -0
  193. package/dist/services/consensusOracle/externalPositions.js.map +1 -0
  194. package/dist/services/consensusOracle/index.d.ts +7 -0
  195. package/dist/services/consensusOracle/index.d.ts.map +1 -0
  196. package/dist/services/consensusOracle/index.js +23 -0
  197. package/dist/services/consensusOracle/index.js.map +1 -0
  198. package/dist/services/consensusOracle/jupiterBalanceSource.d.ts +34 -0
  199. package/dist/services/consensusOracle/jupiterBalanceSource.d.ts.map +1 -0
  200. package/dist/services/consensusOracle/jupiterBalanceSource.js +80 -0
  201. package/dist/services/consensusOracle/jupiterBalanceSource.js.map +1 -0
  202. package/dist/services/consensusOracle/jupiterPriceSource.d.ts +25 -0
  203. package/dist/services/consensusOracle/jupiterPriceSource.d.ts.map +1 -0
  204. package/dist/services/consensusOracle/jupiterPriceSource.js +63 -0
  205. package/dist/services/consensusOracle/jupiterPriceSource.js.map +1 -0
  206. package/dist/services/consensusOracle/mockYieldTracker.d.ts +44 -0
  207. package/dist/services/consensusOracle/mockYieldTracker.d.ts.map +1 -0
  208. package/dist/services/consensusOracle/mockYieldTracker.js +107 -0
  209. package/dist/services/consensusOracle/mockYieldTracker.js.map +1 -0
  210. package/dist/services/consensusOracle/types.d.ts +180 -0
  211. package/dist/services/consensusOracle/types.d.ts.map +1 -0
  212. package/dist/services/consensusOracle/types.js +5 -0
  213. package/dist/services/consensusOracle/types.js.map +1 -0
  214. package/dist/services/index.d.ts +4 -0
  215. package/dist/services/index.d.ts.map +1 -0
  216. package/dist/services/index.js +20 -0
  217. package/dist/services/index.js.map +1 -0
  218. package/dist/services/oracleService.d.ts +72 -0
  219. package/dist/services/oracleService.d.ts.map +1 -0
  220. package/dist/services/oracleService.js +93 -0
  221. package/dist/services/oracleService.js.map +1 -0
  222. package/dist/services/withdrawalQueueService.d.ts +76 -0
  223. package/dist/services/withdrawalQueueService.d.ts.map +1 -0
  224. package/dist/services/withdrawalQueueService.js +138 -0
  225. package/dist/services/withdrawalQueueService.js.map +1 -0
  226. package/dist/utils/index.d.ts +4 -0
  227. package/dist/utils/index.d.ts.map +1 -0
  228. package/dist/utils/index.js +20 -0
  229. package/dist/utils/index.js.map +1 -0
  230. package/dist/utils/provider.d.ts +4 -0
  231. package/dist/utils/provider.d.ts.map +1 -0
  232. package/dist/utils/provider.js +10 -0
  233. package/dist/utils/provider.js.map +1 -0
  234. package/dist/utils/rpc.d.ts +4 -0
  235. package/dist/utils/rpc.d.ts.map +1 -0
  236. package/dist/utils/rpc.js +8 -0
  237. package/dist/utils/rpc.js.map +1 -0
  238. package/dist/utils/token.d.ts +6 -0
  239. package/dist/utils/token.d.ts.map +1 -0
  240. package/dist/utils/token.js +32 -0
  241. package/dist/utils/token.js.map +1 -0
  242. package/package.json +50 -0
@@ -0,0 +1,754 @@
1
+ import type { BN } from "@anchor-lang/core";
2
+ import type { Address } from "@solana/kit";
3
+ import type { CustomAccountMeta, InstructionRefs } from "common";
4
+ export interface CreateVaultParams {
5
+ vaultId: number;
6
+ hwManager: Address;
7
+ cbTrigger: Address;
8
+ feeCollector: Address;
9
+ baseAssetMint: Address;
10
+ assetDecimals: number;
11
+ mintFeeBps: number;
12
+ burnFeeBps: number;
13
+ performanceFeeBps: number;
14
+ fixedApyBps: number;
15
+ maxApyBps: number;
16
+ tvlLimit: BN;
17
+ lossesEnabled: boolean;
18
+ initialMintSharePrice: BN | null;
19
+ basePriceOracleType: number;
20
+ basePrice: BN;
21
+ basePriceOracleAccount: Address;
22
+ forMigration: boolean;
23
+ }
24
+ export interface CreateVaultIxArgs {
25
+ curator: Address;
26
+ vault: Address;
27
+ vaultOracle: Address;
28
+ feeVault: Address;
29
+ shareMint: Address;
30
+ assetMint: Address;
31
+ assetTokenProgram: Address;
32
+ params: CreateVaultParams;
33
+ }
34
+ export interface CreateVaultTxArgs {
35
+ curator: Address;
36
+ shareMint: Address;
37
+ strictAssetMint: Address;
38
+ assetDecimals: number;
39
+ vaultId?: number;
40
+ hwManager?: Address;
41
+ cbTrigger?: Address;
42
+ feeCollector?: Address;
43
+ mintFeeBps?: number;
44
+ burnFeeBps?: number;
45
+ performanceFeeBps?: number;
46
+ fixedApyBps?: number;
47
+ maxApyBps?: number;
48
+ tvlLimit?: bigint;
49
+ lossesEnabled?: boolean;
50
+ /** Base-asset oracle: 1 = ConsensusOracle (default), 2 = Pyth, 3 = PerenaVault. */
51
+ basePriceOracleType?: number;
52
+ /** Initial base-asset price in the accounting unit. Defaults to 1.0 (10^assetDecimals). */
53
+ basePrice?: bigint;
54
+ /** Price-source account when basePriceOracleType is Pyth/PerenaVault. */
55
+ basePriceOracleAccount?: Address;
56
+ assetTokenProgram?: Address;
57
+ /** Use legacy bank mint as share mint; defer mint-authority transfer. */
58
+ forMigration?: boolean;
59
+ }
60
+ /**
61
+ * A single per-holding consensus report (price + external balance). Holdings are
62
+ * addressed by slot index; set `mint` only to register a new consensus holding
63
+ * (and pass the matching `assetMint` account on the tx args).
64
+ */
65
+ export type ConsensusAssetUpdate = {
66
+ holdingIndex: number;
67
+ /** Set only when registering a brand-new consensus holding. */
68
+ mint?: Address | null;
69
+ price: bigint;
70
+ externalAmount: bigint;
71
+ };
72
+ export type TrancheKindArgs = {
73
+ junior: Record<string, never>;
74
+ } | {
75
+ senior: Record<string, never>;
76
+ };
77
+ export type PriceOracleTypeArgs = {
78
+ none: Record<string, never>;
79
+ } | {
80
+ consensusOracle: Record<string, never>;
81
+ } | {
82
+ pyth: Record<string, never>;
83
+ } | {
84
+ perenaVault: Record<string, never>;
85
+ };
86
+ export interface AssetPriceOracleConfigIxArgs {
87
+ priceOracleType: PriceOracleTypeArgs;
88
+ initialPrice: BN;
89
+ priceOracleAccount: Address;
90
+ pythMaxAgeSecs: BN;
91
+ }
92
+ export interface AssetPriceOracleConfigTxArgs {
93
+ priceOracleType?: PriceOracleTypeArgs;
94
+ initialPrice?: bigint;
95
+ /** Price-source account (Pyth PriceUpdateV2 or Perena vault). */
96
+ priceOracleAccount?: Address;
97
+ pythMaxAgeSecs?: bigint;
98
+ }
99
+ export interface UpdateConsensusOracleIxArgs {
100
+ signer: Address;
101
+ vault: Address;
102
+ vaultOracle: Address;
103
+ /** Required only when registering a new consensus holding (an update's mint). */
104
+ assetMint?: Address | null;
105
+ assetTokenProgram?: Address | null;
106
+ /** One or more per-holding reports recorded in a single call. */
107
+ updates: ConsensusAssetUpdate[];
108
+ }
109
+ export interface UpdateConsensusOracleTxArgs {
110
+ signer: Address;
111
+ vault: Address;
112
+ vaultOracle?: Address;
113
+ /** Required when an update's mint registers a not-yet-existing holding. */
114
+ assetMint?: Address;
115
+ assetTokenProgram?: Address;
116
+ /** One or more per-holding reports recorded in a single call. */
117
+ updates: ConsensusAssetUpdate[];
118
+ }
119
+ export interface CrankNavIxArgs {
120
+ cranker: Address;
121
+ vault: Address;
122
+ vaultOracle: Address;
123
+ vaultTrancheState: Address | null;
124
+ feeAssetMint: Address;
125
+ vaultFeeAssetAta: Address;
126
+ feeVault: Address;
127
+ feeVaultAta: Address;
128
+ feeAssetTokenProgram: Address;
129
+ }
130
+ export interface CrankNavTxArgs {
131
+ cranker: Address;
132
+ vault: Address;
133
+ vaultOracle?: Address;
134
+ vaultTrancheState?: Address;
135
+ feeAssetMint?: Address;
136
+ feeAssetTokenProgram?: Address;
137
+ }
138
+ export interface SetAssetPriceOracleIxArgs {
139
+ curator: Address;
140
+ vault: Address;
141
+ args: {
142
+ mint: Address;
143
+ priceOracleType: PriceOracleTypeArgs;
144
+ priceOracleAccount: Address;
145
+ };
146
+ }
147
+ export interface SetAssetPriceOracleTxArgs {
148
+ curator: Address;
149
+ vault: Address;
150
+ mint: Address;
151
+ priceOracleType: PriceOracleTypeArgs;
152
+ /** Price-source account when priceOracleType is Pyth/PerenaVault. */
153
+ priceOracleAccount?: Address;
154
+ }
155
+ export interface CreateAssetHoldingIxArgs {
156
+ hwManager: Address;
157
+ vault: Address;
158
+ vaultOracle: Address;
159
+ mint: Address;
160
+ tokenProgram: Address;
161
+ args: {
162
+ priceOracleType: number;
163
+ priceOracleAccount: Address;
164
+ };
165
+ }
166
+ export interface CreateAssetHoldingTxArgs {
167
+ hwManager: Address;
168
+ vault: Address;
169
+ mint: Address;
170
+ vaultOracle?: Address;
171
+ tokenProgram?: Address;
172
+ /** 1 = ConsensusOracle (default), 2 = Pyth, 3 = PerenaVault. */
173
+ priceOracleType?: number;
174
+ /** Price-source account when priceOracleType is Pyth/PerenaVault. */
175
+ priceOracleAccount?: Address;
176
+ }
177
+ export interface UpdateConsensusSignersIxArgs {
178
+ curator: Address;
179
+ vault: Address;
180
+ vaultOracle: Address;
181
+ args: {
182
+ signers: Address[];
183
+ };
184
+ }
185
+ export interface UpdateConsensusSignersTxArgs {
186
+ curator: Address;
187
+ vault: Address;
188
+ vaultOracle?: Address;
189
+ signers: Address[];
190
+ }
191
+ export interface RemoveAssetHoldingIxArgs {
192
+ hwManager: Address;
193
+ vault: Address;
194
+ vaultOracle: Address;
195
+ mint: Address;
196
+ }
197
+ export interface RemoveAssetHoldingTxArgs {
198
+ hwManager: Address;
199
+ vault: Address;
200
+ vaultOracle?: Address;
201
+ mint: Address;
202
+ }
203
+ export interface UpdateAssetPriceIxArgs {
204
+ updater: Address;
205
+ vault: Address;
206
+ /** Pyth price-update or nested vault account quoting the live-oracle holding. */
207
+ oracleAccount: Address;
208
+ args: {
209
+ mint: Address;
210
+ maxAgeSecs: BN;
211
+ };
212
+ }
213
+ export interface UpdateAssetPriceTxArgs {
214
+ updater: Address;
215
+ vault: Address;
216
+ /** Pyth price-update or nested vault account for the holding being repriced. */
217
+ oracleAccount: Address;
218
+ mint: Address;
219
+ maxAgeSecs?: bigint;
220
+ }
221
+ export interface CrankPerformanceFeesIxArgs {
222
+ cranker: Address;
223
+ vault: Address;
224
+ feeAssetMint: Address;
225
+ feeVault: Address;
226
+ feeVaultAta: Address;
227
+ feeCollector: Address;
228
+ feeCollectorFeeAssetAta: Address;
229
+ protocolFeeCollector: Address;
230
+ protocolFeeCollectorFeeAssetAta: Address;
231
+ feeAssetTokenProgram: Address;
232
+ }
233
+ export interface CrankPerformanceFeesTxArgs {
234
+ cranker: Address;
235
+ vault: Address;
236
+ /** Base asset the accrued fees are denominated in (defaults to vault base). */
237
+ feeAssetMint?: Address;
238
+ /** Override the curator fee collector (defaults to vault.roles.feeCollector). */
239
+ feeCollector?: Address;
240
+ /** Override the hardcoded protocol fee recipient (defaults to PROTOCOL_FEE_RECIPIENT). */
241
+ protocolFeeCollector?: Address;
242
+ feeAssetTokenProgram?: Address;
243
+ }
244
+ export interface CreateTrancheStateIxArgs {
245
+ curator: Address;
246
+ vault: Address;
247
+ vaultTrancheState: Address;
248
+ juniorShareMint: Address;
249
+ seniorShareMint: Address;
250
+ seniorFixedApyBps: number;
251
+ earlyUnstakeFeeBps: number;
252
+ standardUnstakeFeeBps: number;
253
+ targetLockupDurationSecs: BN;
254
+ forMigration: boolean;
255
+ tokenProgram: Address;
256
+ }
257
+ export interface CreateTrancheStateTxArgs {
258
+ curator: Address;
259
+ vault: Address;
260
+ juniorShareMint: Address;
261
+ seniorShareMint: Address;
262
+ seniorFixedApyBps?: number;
263
+ earlyUnstakeFeeBps?: number;
264
+ standardUnstakeFeeBps?: number;
265
+ targetLockupDurationSecs?: number;
266
+ forMigration?: boolean;
267
+ tokenProgram?: Address;
268
+ }
269
+ export interface UpdateTrancheConfigIxArgs {
270
+ curator: Address;
271
+ vault: Address;
272
+ vaultTrancheState: Address;
273
+ vaultOracle: Address;
274
+ seniorFixedApyBps: number | null;
275
+ earlyUnstakeFeeBps: number | null;
276
+ standardUnstakeFeeBps: number | null;
277
+ targetLockupDurationSecs: BN | null;
278
+ }
279
+ export interface UpdateTrancheConfigTxArgs {
280
+ curator: Address;
281
+ vault: Address;
282
+ vaultTrancheState?: Address;
283
+ vaultOracle?: Address;
284
+ seniorFixedApyBps?: number;
285
+ earlyUnstakeFeeBps?: number;
286
+ standardUnstakeFeeBps?: number;
287
+ targetLockupDurationSecs?: number;
288
+ }
289
+ export interface InitializeVaultRolesIxArgs {
290
+ curator: Address;
291
+ vault: Address;
292
+ args: {
293
+ manager: Address;
294
+ fulfiller: Address;
295
+ };
296
+ }
297
+ export interface InitializeVaultRolesTxArgs {
298
+ curator: Address;
299
+ vault: Address;
300
+ manager: Address;
301
+ fulfiller: Address;
302
+ }
303
+ export interface SetVaultConfigIxArgs {
304
+ curator: Address;
305
+ vault: Address;
306
+ vaultOracle: Address | null;
307
+ args: {
308
+ manager: Address | null;
309
+ hwManager: Address | null;
310
+ cbTrigger: Address | null;
311
+ fulfiller: Address | null;
312
+ feeCollector: Address | null;
313
+ mintFeeBps: number | null;
314
+ burnFeeBps: number | null;
315
+ performanceFeeBps: number | null;
316
+ fixedApyBps: number | null;
317
+ maxApyBps: number | null;
318
+ tvlLimit: BN | null;
319
+ lossesEnabled: boolean | null;
320
+ priceStalenessThresholdSecs: BN | null;
321
+ };
322
+ }
323
+ export interface SetVaultConfigTxArgs {
324
+ curator: Address;
325
+ vault: Address;
326
+ vaultOracle?: Address;
327
+ manager?: Address;
328
+ hwManager?: Address;
329
+ cbTrigger?: Address;
330
+ fulfiller?: Address;
331
+ feeCollector?: Address;
332
+ mintFeeBps?: number;
333
+ burnFeeBps?: number;
334
+ performanceFeeBps?: number;
335
+ fixedApyBps?: number;
336
+ maxApyBps?: number;
337
+ tvlLimit?: bigint;
338
+ lossesEnabled?: boolean;
339
+ /** Asset-price staleness window, in seconds. `0`/unset keeps the 24h default. */
340
+ priceStalenessThresholdSecs?: bigint;
341
+ }
342
+ export interface SetProtocolFeeIxArgs {
343
+ /** The hardcoded protocol wallet, the only authority allowed to set this. */
344
+ protocolAuthority: Address;
345
+ vault: Address;
346
+ vaultOracle: Address | null;
347
+ args: {
348
+ protocolFeeBps: number;
349
+ };
350
+ }
351
+ export interface SetProtocolFeeTxArgs {
352
+ /** Defaults to PROTOCOL_ADMIN; must sign the transaction. */
353
+ protocolAuthority?: Address;
354
+ vault: Address;
355
+ /** Required (and used to re-anchor APY) when the protocol fee changes. */
356
+ vaultOracle?: Address;
357
+ protocolFeeBps: number;
358
+ }
359
+ export interface ActivateCircuitBreakerIxArgs {
360
+ cbTrigger: Address;
361
+ vault: Address;
362
+ }
363
+ export interface ActivateCircuitBreakerTxArgs {
364
+ cbTrigger: Address;
365
+ vault: Address;
366
+ }
367
+ export interface DisableCircuitBreakerIxArgs {
368
+ curator: Address;
369
+ vault: Address;
370
+ }
371
+ export interface DisableCircuitBreakerTxArgs {
372
+ curator: Address;
373
+ vault: Address;
374
+ }
375
+ export interface ExecuteDepositIxArgs {
376
+ user: Address;
377
+ vault: Address;
378
+ vaultOracle: Address;
379
+ vaultTrancheState: Address | null;
380
+ assetMint: Address;
381
+ shareMint: Address;
382
+ userAssetAta: Address;
383
+ vaultAssetAta: Address;
384
+ /** Per-vault fee-vault PDA (token authority + accounting). */
385
+ feeVault: Address;
386
+ feeVaultAta: Address;
387
+ userShareAta: Address;
388
+ assetTokenProgram: Address;
389
+ shareTokenProgram: Address;
390
+ amount: BN;
391
+ }
392
+ export interface ExecuteDepositTxArgs {
393
+ user: Address;
394
+ vault: Address;
395
+ vaultOracle?: Address;
396
+ vaultTrancheState?: Address;
397
+ assetMint: Address;
398
+ shareMint: Address;
399
+ amount: bigint;
400
+ assetTokenProgram?: Address;
401
+ shareTokenProgram?: Address;
402
+ }
403
+ export interface ExecuteWithdrawIxArgs {
404
+ user: Address;
405
+ vault: Address;
406
+ vaultOracle: Address;
407
+ vaultTrancheState: Address | null;
408
+ assetMint: Address;
409
+ shareMint: Address;
410
+ userAssetAta: Address;
411
+ vaultAssetAta: Address;
412
+ /** Per-vault fee-vault PDA (token authority + accounting). */
413
+ feeVault: Address;
414
+ feeVaultAta: Address;
415
+ userShareAta: Address;
416
+ assetTokenProgram: Address;
417
+ shareTokenProgram: Address;
418
+ shareAmount: BN;
419
+ externalWithdrawIxRefs: InstructionRefs | null;
420
+ externalLiquiditySource: number | null;
421
+ externalWithdrawAccounts: CustomAccountMeta[];
422
+ }
423
+ export interface ExecuteWithdrawTxArgs {
424
+ user: Address;
425
+ vault: Address;
426
+ vaultOracle?: Address;
427
+ vaultTrancheState?: Address;
428
+ assetMint: Address;
429
+ shareMint: Address;
430
+ shareAmount: bigint;
431
+ assetTokenProgram?: Address;
432
+ shareTokenProgram?: Address;
433
+ externalWithdrawIxRefs?: InstructionRefs;
434
+ externalLiquiditySource?: number;
435
+ externalWithdrawAccounts?: CustomAccountMeta[];
436
+ lookupTables?: Address[];
437
+ }
438
+ export interface ExecuteTrancheDepositIxArgs {
439
+ user: Address;
440
+ vault: Address;
441
+ vaultOracle: Address;
442
+ vaultTrancheState: Address;
443
+ assetMint: Address;
444
+ trancheShareMint: Address;
445
+ userAssetAta: Address;
446
+ vaultAssetAta: Address;
447
+ userTrancheShareAta: Address;
448
+ assetTokenProgram: Address;
449
+ shareTokenProgram: Address;
450
+ kind: TrancheKindArgs;
451
+ amount: BN;
452
+ }
453
+ export interface ExecuteTrancheDepositTxArgs {
454
+ user: Address;
455
+ vault: Address;
456
+ vaultOracle?: Address;
457
+ vaultTrancheState?: Address;
458
+ assetMint: Address;
459
+ trancheShareMint?: Address;
460
+ kind: TrancheKindArgs;
461
+ amount: bigint;
462
+ assetTokenProgram?: Address;
463
+ shareTokenProgram?: Address;
464
+ }
465
+ export interface ExecuteTrancheWithdrawIxArgs {
466
+ user: Address;
467
+ vault: Address;
468
+ vaultOracle: Address;
469
+ vaultTrancheState: Address;
470
+ assetMint: Address;
471
+ trancheShareMint: Address;
472
+ userAssetAta: Address;
473
+ vaultAssetAta: Address;
474
+ userTrancheShareAta: Address;
475
+ assetTokenProgram: Address;
476
+ shareTokenProgram: Address;
477
+ kind: TrancheKindArgs;
478
+ shareAmount: BN;
479
+ }
480
+ export interface ExecuteTrancheWithdrawTxArgs {
481
+ user: Address;
482
+ vault: Address;
483
+ vaultOracle?: Address;
484
+ vaultTrancheState?: Address;
485
+ assetMint: Address;
486
+ trancheShareMint?: Address;
487
+ kind: TrancheKindArgs;
488
+ shareAmount: bigint;
489
+ assetTokenProgram?: Address;
490
+ shareTokenProgram?: Address;
491
+ }
492
+ export interface RequestJuniorTrancheWithdrawIxArgs {
493
+ user: Address;
494
+ payer: Address;
495
+ vault: Address;
496
+ vaultOracle: Address;
497
+ vaultTrancheState: Address;
498
+ withdrawalQueue: Address;
499
+ outputMint: Address;
500
+ inputMint: Address;
501
+ userInputAta: Address;
502
+ queueInputAta: Address;
503
+ shareTokenProgram: Address;
504
+ queueId: number;
505
+ shareAmount: BN;
506
+ }
507
+ export interface RequestJuniorTrancheWithdrawTxArgs {
508
+ user: Address;
509
+ payer?: Address;
510
+ vault: Address;
511
+ vaultOracle?: Address;
512
+ vaultTrancheState?: Address;
513
+ withdrawalQueue?: Address;
514
+ assetMint: Address;
515
+ juniorShareMint?: Address;
516
+ queueId: number;
517
+ shareAmount: bigint;
518
+ shareTokenProgram?: Address;
519
+ }
520
+ export interface CancelJuniorTrancheWithdrawIxArgs {
521
+ user: Address;
522
+ payer: Address;
523
+ vault: Address;
524
+ withdrawalQueue: Address;
525
+ inputMint: Address;
526
+ userInputAta: Address;
527
+ queueInputAta: Address;
528
+ shareTokenProgram: Address;
529
+ }
530
+ export interface CancelJuniorTrancheWithdrawTxArgs {
531
+ user: Address;
532
+ payer?: Address;
533
+ vault: Address;
534
+ withdrawalQueue?: Address;
535
+ juniorShareMint?: Address;
536
+ queueId: number;
537
+ shareTokenProgram?: Address;
538
+ }
539
+ export interface FulfillJuniorTrancheWithdrawIxArgs {
540
+ signer: Address;
541
+ owner: Address;
542
+ queuePayer: Address;
543
+ vault: Address;
544
+ vaultOracle: Address;
545
+ vaultTrancheState: Address;
546
+ withdrawalQueue: Address;
547
+ outputMint: Address;
548
+ inputMint: Address;
549
+ ownerOutputAta: Address;
550
+ vaultOutputAta: Address;
551
+ feeCollector: Address;
552
+ feeCollectorOutputAta: Address;
553
+ queueInputAta: Address;
554
+ assetTokenProgram: Address;
555
+ shareTokenProgram: Address;
556
+ }
557
+ export interface FulfillJuniorTrancheWithdrawTxArgs {
558
+ owner: Address;
559
+ signer?: Address;
560
+ queuePayer?: Address;
561
+ vault: Address;
562
+ vaultOracle?: Address;
563
+ vaultTrancheState?: Address;
564
+ withdrawalQueue?: Address;
565
+ assetMint: Address;
566
+ juniorShareMint: Address;
567
+ queueId: number;
568
+ feeCollector?: Address;
569
+ assetTokenProgram?: Address;
570
+ shareTokenProgram?: Address;
571
+ }
572
+ export interface WithdrawTrancheFeesIxArgs {
573
+ curator: Address;
574
+ vault: Address;
575
+ vaultTrancheState: Address;
576
+ assetMint: Address;
577
+ vaultAssetAta: Address;
578
+ curatorAssetAta: Address;
579
+ assetTokenProgram: Address;
580
+ amount: BN;
581
+ }
582
+ export interface WithdrawTrancheFeesTxArgs {
583
+ curator: Address;
584
+ vault: Address;
585
+ vaultTrancheState?: Address;
586
+ assetMint: Address;
587
+ amount: bigint;
588
+ assetTokenProgram?: Address;
589
+ }
590
+ export interface WithdrawProtocolFeesIxArgs {
591
+ curator: Address;
592
+ vault: Address;
593
+ assetMint: Address;
594
+ vaultAssetAta: Address;
595
+ curatorAssetAta: Address;
596
+ assetTokenProgram: Address;
597
+ amount: BN;
598
+ }
599
+ export interface WithdrawProtocolFeesTxArgs {
600
+ curator: Address;
601
+ vault: Address;
602
+ assetMint: Address;
603
+ amount: bigint;
604
+ assetTokenProgram?: Address;
605
+ }
606
+ export interface ManagerWithdrawAssetIxArgs {
607
+ manager: Address;
608
+ vault: Address;
609
+ assetMint: Address;
610
+ vaultAssetAta: Address;
611
+ managerAssetAta: Address;
612
+ assetTokenProgram: Address;
613
+ amount: BN;
614
+ }
615
+ export interface ManagerWithdrawAssetTxArgs {
616
+ manager: Address;
617
+ vault: Address;
618
+ assetMint: Address;
619
+ amount: bigint;
620
+ assetTokenProgram?: Address;
621
+ }
622
+ export interface ManagerRedepositAssetIxArgs {
623
+ manager: Address;
624
+ vault: Address;
625
+ assetMint: Address;
626
+ vaultAssetAta: Address;
627
+ managerAssetAta: Address;
628
+ assetTokenProgram: Address;
629
+ depositAmount: BN;
630
+ externalAmount: BN;
631
+ }
632
+ export interface ManagerRedepositAssetTxArgs {
633
+ manager: Address;
634
+ vault: Address;
635
+ assetMint: Address;
636
+ depositAmount: bigint;
637
+ /** External balance to clear on the asset mint. Defaults to `depositAmount`. */
638
+ externalAmount?: bigint;
639
+ assetTokenProgram?: Address;
640
+ }
641
+ export interface VaultReallocationIxArgs {
642
+ manager: Address;
643
+ allocationVault: Address;
644
+ sourceVault: Address | null;
645
+ sourceVaultOracle: Address | null;
646
+ destinationVault: Address;
647
+ destinationVaultOracle: Address;
648
+ mint: Address;
649
+ sourceShareMint: Address | null;
650
+ destinationShareMint: Address;
651
+ allocationMintAta: Address;
652
+ sourceVaultMintAta: Address | null;
653
+ destinationVaultMintAta: Address;
654
+ /** Destination vault's fee-vault PDA (token authority + accounting). */
655
+ destinationFeeVault: Address;
656
+ destinationFeeVaultMintAta: Address;
657
+ allocationSourceShareAta: Address | null;
658
+ allocationDestinationShareAta: Address;
659
+ assetTokenProgram: Address;
660
+ sourceShareTokenProgram: Address;
661
+ destinationShareTokenProgram: Address;
662
+ assetOracleAccount: Address | null;
663
+ amount: BN;
664
+ assetPriceOracle: AssetPriceOracleConfigIxArgs;
665
+ }
666
+ export interface VaultReallocationTxArgs {
667
+ manager: Address;
668
+ allocationVault: Address;
669
+ destinationVault: Address;
670
+ destinationVaultOracle?: Address;
671
+ mint: Address;
672
+ destinationShareMint: Address;
673
+ amount: bigint;
674
+ sourceVault?: Address;
675
+ sourceVaultOracle?: Address;
676
+ sourceShareMint?: Address;
677
+ assetTokenProgram?: Address;
678
+ sourceShareTokenProgram?: Address;
679
+ destinationShareTokenProgram?: Address;
680
+ assetOracleAccount?: Address;
681
+ assetPriceOracle?: AssetPriceOracleConfigTxArgs;
682
+ }
683
+ export interface ProtocolInteractionIxArgs {
684
+ hwManager: Address;
685
+ vault: Address;
686
+ refs: InstructionRefs;
687
+ externalLiquidityIndex: number;
688
+ affectedAssetMint: Address | null;
689
+ affectedVaultAta: Address | null;
690
+ affectedTokenProgram: Address | null;
691
+ accounts: CustomAccountMeta[];
692
+ }
693
+ export interface ProtocolInteractionTxArgs {
694
+ hwManager: Address;
695
+ vault: Address;
696
+ refs: InstructionRefs;
697
+ externalLiquidityIndex: number;
698
+ affectedAssetMint?: Address;
699
+ affectedTokenProgram?: Address;
700
+ accounts: CustomAccountMeta[];
701
+ lookupTables?: Address[];
702
+ }
703
+ export interface JupiterSwapIxArgs {
704
+ hwManager: Address;
705
+ vault: Address;
706
+ sourceMint: Address;
707
+ destinationMint: Address;
708
+ vaultSourceAta: Address;
709
+ vaultDestinationAta: Address;
710
+ sourceTokenProgram: Address;
711
+ destinationTokenProgram: Address;
712
+ destinationOracleAccount: Address | null;
713
+ vaultOracle: Address;
714
+ refs: InstructionRefs;
715
+ destinationPriceOracle: AssetPriceOracleConfigIxArgs;
716
+ accounts: CustomAccountMeta[];
717
+ }
718
+ export interface JupiterSwapTxArgs {
719
+ hwManager: Address;
720
+ vault: Address;
721
+ sourceMint: Address;
722
+ destinationMint: Address;
723
+ refs: InstructionRefs;
724
+ accounts: CustomAccountMeta[];
725
+ sourceTokenProgram?: Address;
726
+ destinationTokenProgram?: Address;
727
+ destinationOracleAccount?: Address;
728
+ vaultOracle?: Address;
729
+ destinationPriceOracle?: AssetPriceOracleConfigTxArgs;
730
+ lookupTables?: Address[];
731
+ }
732
+ export interface SetExternalLiquidityIxArgs {
733
+ curator: Address;
734
+ vault: Address;
735
+ args: {
736
+ index: number;
737
+ source: ExternalLiquiditySourceArgs;
738
+ userAccount: Address;
739
+ };
740
+ }
741
+ export type ExternalLiquiditySourceArgs = {
742
+ none: Record<string, never>;
743
+ } | {
744
+ marginfi: Record<string, never>;
745
+ };
746
+ export interface SetExternalLiquidityTxArgs {
747
+ curator: Address;
748
+ vault: Address;
749
+ index: number;
750
+ source: number;
751
+ userAccount: Address;
752
+ lookupTables?: Address[];
753
+ }
754
+ //# sourceMappingURL=args.d.ts.map