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,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateVaultBuilder = void 0;
4
+ const core_1 = require("@anchor-lang/core");
5
+ const web3_js_1 = require("@solana/web3.js");
6
+ const common_1 = require("common");
7
+ const constants_1 = require("../../constants");
8
+ const base_1 = require("./base");
9
+ const anchorArgs_1 = require("./anchorArgs");
10
+ class CreateVaultBuilder extends base_1.VaultBuilderBase {
11
+ async getIx(args) {
12
+ return this.program.methods
13
+ .createVault((0, anchorArgs_1.toAnchorCreateVaultParams)(args.params))
14
+ .accountsPartial({
15
+ curator: (0, common_1.toWeb3Pk)(args.curator),
16
+ vault: (0, common_1.toWeb3Pk)(args.vault),
17
+ vaultOracle: (0, common_1.toWeb3Pk)(args.vaultOracle),
18
+ feeVault: (0, common_1.toWeb3Pk)(args.feeVault),
19
+ shareMint: (0, common_1.toWeb3Pk)(args.shareMint),
20
+ assetMint: (0, common_1.toWeb3Pk)(args.assetMint),
21
+ assetTokenProgram: (0, common_1.toWeb3Pk)(args.assetTokenProgram),
22
+ tokenProgram: (0, common_1.toWeb3Pk)(constants_1.TOKEN_PROGRAM_ID),
23
+ systemProgram: web3_js_1.SystemProgram.programId,
24
+ })
25
+ .instruction()
26
+ .then(common_1.toKitInstruction);
27
+ }
28
+ async deriveIxArgs(txArgs) {
29
+ const vaultId = txArgs.vaultId ?? constants_1.DEFAULT_VAULT_ID;
30
+ const [vault] = await this.pda.deriveVaultPda(vaultId);
31
+ const [vaultOracle] = await this.pda.deriveVaultOraclePda(vault);
32
+ const [feeVault] = await this.pda.deriveFeeAuthorityPda(vault);
33
+ return {
34
+ curator: txArgs.curator,
35
+ vault,
36
+ vaultOracle,
37
+ feeVault,
38
+ shareMint: txArgs.shareMint,
39
+ assetMint: txArgs.strictAssetMint,
40
+ assetTokenProgram: txArgs.assetTokenProgram ?? constants_1.TOKEN_PROGRAM_ID,
41
+ params: {
42
+ vaultId,
43
+ hwManager: txArgs.hwManager ?? txArgs.curator,
44
+ cbTrigger: txArgs.cbTrigger ?? txArgs.curator,
45
+ feeCollector: txArgs.feeCollector ?? txArgs.curator,
46
+ baseAssetMint: txArgs.strictAssetMint,
47
+ assetDecimals: txArgs.assetDecimals,
48
+ mintFeeBps: txArgs.mintFeeBps ?? 0,
49
+ burnFeeBps: txArgs.burnFeeBps ?? 0,
50
+ performanceFeeBps: txArgs.performanceFeeBps ?? 0,
51
+ fixedApyBps: txArgs.fixedApyBps ?? 0,
52
+ maxApyBps: txArgs.maxApyBps ?? constants_1.DEFAULT_MAX_ACCEPTABLE_APY_BPS,
53
+ tvlLimit: new core_1.BN((txArgs.tvlLimit ?? 0n).toString()),
54
+ lossesEnabled: txArgs.lossesEnabled ?? false,
55
+ initialMintSharePrice: null,
56
+ basePriceOracleType: txArgs.basePriceOracleType ?? 1,
57
+ basePrice: new core_1.BN((txArgs.basePrice ?? 10n ** BigInt(txArgs.assetDecimals)).toString()),
58
+ basePriceOracleAccount: txArgs.basePriceOracleAccount ?? constants_1.DEFAULT_PRICE_ORACLE_ACCOUNT,
59
+ forMigration: txArgs.forMigration ?? false,
60
+ },
61
+ };
62
+ }
63
+ async getTx(txArgs) {
64
+ const args = await this.deriveIxArgs(txArgs);
65
+ const createIx = await this.getIx(args);
66
+ return {
67
+ instructions: [createIx],
68
+ postSuccessCacheInvalidations: [
69
+ { vaultPda: args.vault, vaultOraclePda: args.vaultOracle },
70
+ ],
71
+ };
72
+ }
73
+ }
74
+ exports.CreateVaultBuilder = CreateVaultBuilder;
75
+ //# sourceMappingURL=createVault.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createVault.js","sourceRoot":"","sources":["../../../src/client/builders/createVault.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { VaultBuilderBase } from "./base";
2
+ import type { DisableCircuitBreakerIxArgs, DisableCircuitBreakerTxArgs } from "./args";
3
+ export declare class DisableCircuitBreakerBuilder extends VaultBuilderBase<DisableCircuitBreakerIxArgs, DisableCircuitBreakerTxArgs> {
4
+ getIx(args: DisableCircuitBreakerIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>>;
5
+ protected deriveIxArgs(txArgs: DisableCircuitBreakerTxArgs): Promise<DisableCircuitBreakerIxArgs>;
6
+ protected buildPlanExtras(args: DisableCircuitBreakerIxArgs): Promise<{
7
+ postSuccessCacheInvalidations: {
8
+ vaultPda: import("@solana/kit").Address;
9
+ }[];
10
+ }>;
11
+ }
12
+ //# sourceMappingURL=disableCircuitBreaker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disableCircuitBreaker.d.ts","sourceRoot":"","sources":["../../../src/client/builders/disableCircuitBreaker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EACV,2BAA2B,EAC3B,2BAA2B,EAC5B,MAAM,QAAQ,CAAC;AAEhB,qBAAa,4BAA6B,SAAQ,gBAAgB,CAChE,2BAA2B,EAC3B,2BAA2B,CAC5B;IACO,KAAK,CAAC,IAAI,EAAE,2BAA2B;cAW7B,YAAY,CAC1B,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,2BAA2B,CAAC;cAIvB,eAAe,CAAC,IAAI,EAAE,2BAA2B;;;;;CAKlE"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DisableCircuitBreakerBuilder = void 0;
4
+ const common_1 = require("common");
5
+ const base_1 = require("./base");
6
+ class DisableCircuitBreakerBuilder extends base_1.VaultBuilderBase {
7
+ async getIx(args) {
8
+ return this.program.methods
9
+ .disableCircuitBreaker()
10
+ .accountsPartial({
11
+ curator: (0, common_1.toWeb3Pk)(args.curator),
12
+ vault: (0, common_1.toWeb3Pk)(args.vault),
13
+ })
14
+ .instruction()
15
+ .then(common_1.toKitInstruction);
16
+ }
17
+ async deriveIxArgs(txArgs) {
18
+ return txArgs;
19
+ }
20
+ async buildPlanExtras(args) {
21
+ return {
22
+ postSuccessCacheInvalidations: [{ vaultPda: args.vault }],
23
+ };
24
+ }
25
+ }
26
+ exports.DisableCircuitBreakerBuilder = DisableCircuitBreakerBuilder;
27
+ //# sourceMappingURL=disableCircuitBreaker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disableCircuitBreaker.js","sourceRoot":"","sources":["../../../src/client/builders/disableCircuitBreaker.ts"],"names":[],"mappings":";;;AAAA,mCAAoD;AAEpD,iCAA0C;AAM1C,MAAa,4BAA6B,SAAQ,uBAGjD;IACC,KAAK,CAAC,KAAK,CAAC,IAAiC;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;aACxB,qBAAqB,EAAE;aACvB,eAAe,CAAC;YACf,OAAO,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC;YAC/B,KAAK,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC;SAC5B,CAAC;aACD,WAAW,EAAE;aACb,IAAI,CAAC,yBAAgB,CAAC,CAAC;IAC5B,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,MAAmC;QAEnC,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,IAAiC;QAC/D,OAAO;YACL,6BAA6B,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;SAC1D,CAAC;IACJ,CAAC;CACF;AA1BD,oEA0BC"}
@@ -0,0 +1,15 @@
1
+ import type { VaultTransactionPlan } from "../types/tx";
2
+ import { VaultBuilderBase } from "./base";
3
+ import type { ExecuteDepositIxArgs, ExecuteDepositTxArgs } from "./args";
4
+ export declare class ExecuteDepositBuilder extends VaultBuilderBase<ExecuteDepositIxArgs, ExecuteDepositTxArgs> {
5
+ getIx(args: ExecuteDepositIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>>;
6
+ protected deriveIxArgs(txArgs: ExecuteDepositTxArgs): Promise<ExecuteDepositIxArgs>;
7
+ protected buildPreambleInstructions(args: ExecuteDepositIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>[]>;
8
+ protected buildPlanExtras(args: ExecuteDepositIxArgs): Promise<{
9
+ postSuccessCacheInvalidations: {
10
+ vaultPda: import("@solana/kit").Address;
11
+ }[];
12
+ }>;
13
+ getTx(txArgs: ExecuteDepositTxArgs): Promise<VaultTransactionPlan>;
14
+ }
15
+ //# sourceMappingURL=executeDeposit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executeDeposit.d.ts","sourceRoot":"","sources":["../../../src/client/builders/executeDeposit.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAMzE,qBAAa,qBAAsB,SAAQ,gBAAgB,CACzD,oBAAoB,EACpB,oBAAoB,CACrB;IACO,KAAK,CAAC,IAAI,EAAE,oBAAoB;cA0BtB,YAAY,CAC1B,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC;cAgEP,yBAAyB,CAChD,IAAI,EAAE,oBAAoB;cAkCZ,eAAe,CAAC,IAAI,EAAE,oBAAoB;;;;;IAMpD,KAAK,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAUzE"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExecuteDepositBuilder = void 0;
4
+ const core_1 = require("@anchor-lang/core");
5
+ const spl_token_1 = require("@solana/spl-token");
6
+ const web3_js_1 = require("@solana/web3.js");
7
+ const common_1 = require("common");
8
+ const base_1 = require("./base");
9
+ const trancheState_1 = require("./trancheState");
10
+ class ExecuteDepositBuilder extends base_1.VaultBuilderBase {
11
+ async getIx(args) {
12
+ return this.program.methods
13
+ .executeDeposit(args.amount)
14
+ .accountsPartial({
15
+ user: (0, common_1.toWeb3Pk)(args.user),
16
+ vault: (0, common_1.toWeb3Pk)(args.vault),
17
+ vaultOracle: (0, common_1.toWeb3Pk)(args.vaultOracle),
18
+ vaultTrancheState: args.vaultTrancheState
19
+ ? (0, common_1.toWeb3Pk)(args.vaultTrancheState)
20
+ : null,
21
+ assetMint: (0, common_1.toWeb3Pk)(args.assetMint),
22
+ shareMint: (0, common_1.toWeb3Pk)(args.shareMint),
23
+ userAssetAta: (0, common_1.toWeb3Pk)(args.userAssetAta),
24
+ vaultAssetAta: (0, common_1.toWeb3Pk)(args.vaultAssetAta),
25
+ feeVault: (0, common_1.toWeb3Pk)(args.feeVault),
26
+ feeVaultAta: (0, common_1.toWeb3Pk)(args.feeVaultAta),
27
+ userShareAta: (0, common_1.toWeb3Pk)(args.userShareAta),
28
+ assetTokenProgram: (0, common_1.toWeb3Pk)(args.assetTokenProgram),
29
+ shareTokenProgram: (0, common_1.toWeb3Pk)(args.shareTokenProgram),
30
+ associatedTokenProgram: spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID,
31
+ systemProgram: web3_js_1.SystemProgram.programId,
32
+ })
33
+ .instruction()
34
+ .then(common_1.toKitInstruction);
35
+ }
36
+ async deriveIxArgs(txArgs) {
37
+ const connection = this.program.provider.connection;
38
+ const [[derivedVaultOracle], [feeVault], vaultTrancheState, assetTokenProgram, shareTokenProgram,] = await Promise.all([
39
+ this.pda.deriveVaultOraclePda(txArgs.vault),
40
+ this.pda.deriveFeeAuthorityPda(txArgs.vault),
41
+ (0, trancheState_1.resolveVaultTrancheState)(this.account, this.pda, txArgs.vault, txArgs.vaultTrancheState),
42
+ (0, trancheState_1.resolveTokenProgramForMint)(connection, txArgs.assetMint, txArgs.assetTokenProgram),
43
+ (0, trancheState_1.resolveTokenProgramForMint)(connection, txArgs.shareMint, txArgs.shareTokenProgram),
44
+ ]);
45
+ return {
46
+ user: txArgs.user,
47
+ vault: txArgs.vault,
48
+ vaultOracle: txArgs.vaultOracle ?? derivedVaultOracle,
49
+ vaultTrancheState,
50
+ assetMint: txArgs.assetMint,
51
+ shareMint: txArgs.shareMint,
52
+ amount: new core_1.BN(txArgs.amount.toString()),
53
+ assetTokenProgram,
54
+ shareTokenProgram,
55
+ userAssetAta: (0, common_1.getAtaAddress)(txArgs.assetMint, txArgs.user, assetTokenProgram),
56
+ vaultAssetAta: (0, common_1.getAtaAddress)(txArgs.assetMint, txArgs.vault, assetTokenProgram, true),
57
+ feeVault,
58
+ feeVaultAta: (0, common_1.getAtaAddress)(txArgs.assetMint, feeVault, assetTokenProgram, true),
59
+ userShareAta: (0, common_1.getAtaAddress)(txArgs.shareMint, txArgs.user, shareTokenProgram),
60
+ };
61
+ }
62
+ async buildPreambleInstructions(args) {
63
+ const payer = (0, common_1.toWeb3Pk)(args.user);
64
+ const createVaultAssetAta = (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(payer, (0, common_1.toWeb3Pk)(args.vaultAssetAta), (0, common_1.toWeb3Pk)(args.vault), (0, common_1.toWeb3Pk)(args.assetMint), (0, common_1.toWeb3Pk)(args.assetTokenProgram), spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID);
65
+ const createFeeVaultAta = (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(payer, (0, common_1.toWeb3Pk)(args.feeVaultAta), (0, common_1.toWeb3Pk)(args.feeVault), (0, common_1.toWeb3Pk)(args.assetMint), (0, common_1.toWeb3Pk)(args.assetTokenProgram), spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID);
66
+ const createUserShareAta = (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(payer, (0, common_1.toWeb3Pk)(args.userShareAta), payer, (0, common_1.toWeb3Pk)(args.shareMint), (0, common_1.toWeb3Pk)(args.shareTokenProgram), spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID);
67
+ return [createVaultAssetAta, createFeeVaultAta, createUserShareAta].map(common_1.toKitInstruction);
68
+ }
69
+ async buildPlanExtras(args) {
70
+ return {
71
+ postSuccessCacheInvalidations: [{ vaultPda: args.vault }],
72
+ };
73
+ }
74
+ async getTx(txArgs) {
75
+ const args = await this.deriveIxArgs(txArgs);
76
+ const preambleInstructions = await this.buildPreambleInstructions(args);
77
+ const instruction = await this.getIx(args);
78
+ const extras = await this.buildPlanExtras(args);
79
+ return {
80
+ instructions: [...preambleInstructions, instruction],
81
+ ...(extras ?? {}),
82
+ };
83
+ }
84
+ }
85
+ exports.ExecuteDepositBuilder = ExecuteDepositBuilder;
86
+ //# sourceMappingURL=executeDeposit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executeDeposit.js","sourceRoot":"","sources":["../../../src/client/builders/executeDeposit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { VaultTransactionPlan } from "../types/tx";
2
+ import { VaultBuilderBase } from "./base";
3
+ import type { ExecuteTrancheDepositIxArgs, ExecuteTrancheDepositTxArgs } from "./args";
4
+ export declare class ExecuteTrancheDepositBuilder extends VaultBuilderBase<ExecuteTrancheDepositIxArgs, ExecuteTrancheDepositTxArgs> {
5
+ getIx(args: ExecuteTrancheDepositIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>>;
6
+ protected deriveIxArgs(txArgs: ExecuteTrancheDepositTxArgs): Promise<ExecuteTrancheDepositIxArgs>;
7
+ protected buildPreambleInstructions(args: ExecuteTrancheDepositIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>[]>;
8
+ protected buildPlanExtras(args: ExecuteTrancheDepositIxArgs): Promise<{
9
+ postSuccessCacheInvalidations: {
10
+ vaultPda: import("@solana/kit").Address;
11
+ vaultTrancheStatePda: import("@solana/kit").Address;
12
+ }[];
13
+ }>;
14
+ getTx(txArgs: ExecuteTrancheDepositTxArgs): Promise<VaultTransactionPlan>;
15
+ }
16
+ //# sourceMappingURL=executeTrancheDeposit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executeTrancheDeposit.d.ts","sourceRoot":"","sources":["../../../src/client/builders/executeTrancheDeposit.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EACV,2BAA2B,EAC3B,2BAA2B,EAC5B,MAAM,QAAQ,CAAC;AAMhB,qBAAa,4BAA6B,SAAQ,gBAAgB,CAChE,2BAA2B,EAC3B,2BAA2B,CAC5B;IACO,KAAK,CAAC,IAAI,EAAE,2BAA2B;cAsB7B,YAAY,CAC1B,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,2BAA2B,CAAC;cAuDd,yBAAyB,CAChD,IAAI,EAAE,2BAA2B;cAwBnB,eAAe,CAAC,IAAI,EAAE,2BAA2B;;;;;;IAQ3D,KAAK,CACT,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,oBAAoB,CAAC;CAUjC"}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExecuteTrancheDepositBuilder = void 0;
4
+ const core_1 = require("@anchor-lang/core");
5
+ const spl_token_1 = require("@solana/spl-token");
6
+ const web3_js_1 = require("@solana/web3.js");
7
+ const common_1 = require("common");
8
+ const base_1 = require("./base");
9
+ const trancheState_1 = require("./trancheState");
10
+ class ExecuteTrancheDepositBuilder extends base_1.VaultBuilderBase {
11
+ async getIx(args) {
12
+ return this.program.methods
13
+ .executeTrancheDeposit(args.kind, args.amount)
14
+ .accountsPartial({
15
+ user: (0, common_1.toWeb3Pk)(args.user),
16
+ vault: (0, common_1.toWeb3Pk)(args.vault),
17
+ vaultOracle: (0, common_1.toWeb3Pk)(args.vaultOracle),
18
+ vaultTrancheState: (0, common_1.toWeb3Pk)(args.vaultTrancheState),
19
+ assetMint: (0, common_1.toWeb3Pk)(args.assetMint),
20
+ trancheShareMint: (0, common_1.toWeb3Pk)(args.trancheShareMint),
21
+ userAssetAta: (0, common_1.toWeb3Pk)(args.userAssetAta),
22
+ vaultAssetAta: (0, common_1.toWeb3Pk)(args.vaultAssetAta),
23
+ userTrancheShareAta: (0, common_1.toWeb3Pk)(args.userTrancheShareAta),
24
+ assetTokenProgram: (0, common_1.toWeb3Pk)(args.assetTokenProgram),
25
+ shareTokenProgram: (0, common_1.toWeb3Pk)(args.shareTokenProgram),
26
+ associatedTokenProgram: spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID,
27
+ systemProgram: web3_js_1.SystemProgram.programId,
28
+ })
29
+ .instruction()
30
+ .then(common_1.toKitInstruction);
31
+ }
32
+ async deriveIxArgs(txArgs) {
33
+ const connection = this.program.provider.connection;
34
+ const [[vaultOracle], [vaultTrancheState], trancheShareMint] = await Promise.all([
35
+ this.pda.deriveVaultOraclePda(txArgs.vault),
36
+ this.pda.deriveVaultTrancheStatePda(txArgs.vault),
37
+ (0, trancheState_1.resolveTrancheShareMint)(this.account, txArgs.vault, txArgs.kind, txArgs.trancheShareMint),
38
+ ]);
39
+ const [assetTokenProgram, shareTokenProgram] = await Promise.all([
40
+ (0, trancheState_1.resolveTokenProgramForMint)(connection, txArgs.assetMint, txArgs.assetTokenProgram),
41
+ (0, trancheState_1.resolveTokenProgramForMint)(connection, trancheShareMint, txArgs.shareTokenProgram),
42
+ ]);
43
+ return {
44
+ user: txArgs.user,
45
+ vault: txArgs.vault,
46
+ vaultOracle: txArgs.vaultOracle ?? vaultOracle,
47
+ vaultTrancheState: txArgs.vaultTrancheState ?? vaultTrancheState,
48
+ assetMint: txArgs.assetMint,
49
+ trancheShareMint,
50
+ kind: txArgs.kind,
51
+ amount: new core_1.BN(txArgs.amount.toString()),
52
+ assetTokenProgram,
53
+ shareTokenProgram,
54
+ userAssetAta: (0, common_1.getAtaAddress)(txArgs.assetMint, txArgs.user, assetTokenProgram),
55
+ vaultAssetAta: (0, common_1.getAtaAddress)(txArgs.assetMint, txArgs.vault, assetTokenProgram, true),
56
+ userTrancheShareAta: (0, common_1.getAtaAddress)(trancheShareMint, txArgs.user, shareTokenProgram),
57
+ };
58
+ }
59
+ async buildPreambleInstructions(args) {
60
+ const payer = (0, common_1.toWeb3Pk)(args.user);
61
+ const createVaultAssetAta = (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(payer, (0, common_1.toWeb3Pk)(args.vaultAssetAta), (0, common_1.toWeb3Pk)(args.vault), (0, common_1.toWeb3Pk)(args.assetMint), (0, common_1.toWeb3Pk)(args.assetTokenProgram), spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID);
62
+ const createUserShareAta = (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(payer, (0, common_1.toWeb3Pk)(args.userTrancheShareAta), payer, (0, common_1.toWeb3Pk)(args.trancheShareMint), (0, common_1.toWeb3Pk)(args.shareTokenProgram), spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID);
63
+ return [createVaultAssetAta, createUserShareAta].map(common_1.toKitInstruction);
64
+ }
65
+ async buildPlanExtras(args) {
66
+ return {
67
+ postSuccessCacheInvalidations: [
68
+ { vaultPda: args.vault, vaultTrancheStatePda: args.vaultTrancheState },
69
+ ],
70
+ };
71
+ }
72
+ async getTx(txArgs) {
73
+ const args = await this.deriveIxArgs(txArgs);
74
+ const preambleInstructions = await this.buildPreambleInstructions(args);
75
+ const instruction = await this.getIx(args);
76
+ const extras = await this.buildPlanExtras(args);
77
+ return {
78
+ instructions: [...preambleInstructions, instruction],
79
+ ...(extras ?? {}),
80
+ };
81
+ }
82
+ }
83
+ exports.ExecuteTrancheDepositBuilder = ExecuteTrancheDepositBuilder;
84
+ //# sourceMappingURL=executeTrancheDeposit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executeTrancheDeposit.js","sourceRoot":"","sources":["../../../src/client/builders/executeTrancheDeposit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { VaultTransactionPlan } from "../types/tx";
2
+ import { VaultBuilderBase } from "./base";
3
+ import type { ExecuteTrancheWithdrawIxArgs, ExecuteTrancheWithdrawTxArgs } from "./args";
4
+ export declare class ExecuteTrancheWithdrawBuilder extends VaultBuilderBase<ExecuteTrancheWithdrawIxArgs, ExecuteTrancheWithdrawTxArgs> {
5
+ getIx(args: ExecuteTrancheWithdrawIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>>;
6
+ protected deriveIxArgs(txArgs: ExecuteTrancheWithdrawTxArgs): Promise<ExecuteTrancheWithdrawIxArgs>;
7
+ protected buildPreambleInstructions(args: ExecuteTrancheWithdrawIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>[]>;
8
+ protected buildPlanExtras(args: ExecuteTrancheWithdrawIxArgs): Promise<{
9
+ postSuccessCacheInvalidations: {
10
+ vaultPda: import("@solana/kit").Address;
11
+ vaultTrancheStatePda: import("@solana/kit").Address;
12
+ }[];
13
+ }>;
14
+ getTx(txArgs: ExecuteTrancheWithdrawTxArgs): Promise<VaultTransactionPlan>;
15
+ }
16
+ //# sourceMappingURL=executeTrancheWithdraw.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executeTrancheWithdraw.d.ts","sourceRoot":"","sources":["../../../src/client/builders/executeTrancheWithdraw.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EACV,4BAA4B,EAC5B,4BAA4B,EAC7B,MAAM,QAAQ,CAAC;AAMhB,qBAAa,6BAA8B,SAAQ,gBAAgB,CACjE,4BAA4B,EAC5B,4BAA4B,CAC7B;IACO,KAAK,CAAC,IAAI,EAAE,4BAA4B;cAsB9B,YAAY,CAC1B,MAAM,EAAE,4BAA4B,GACnC,OAAO,CAAC,4BAA4B,CAAC;cAuDf,yBAAyB,CAChD,IAAI,EAAE,4BAA4B;cAepB,eAAe,CAAC,IAAI,EAAE,4BAA4B;;;;;;IAQ5D,KAAK,CACT,MAAM,EAAE,4BAA4B,GACnC,OAAO,CAAC,oBAAoB,CAAC;CAUjC"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExecuteTrancheWithdrawBuilder = void 0;
4
+ const core_1 = require("@anchor-lang/core");
5
+ const spl_token_1 = require("@solana/spl-token");
6
+ const web3_js_1 = require("@solana/web3.js");
7
+ const common_1 = require("common");
8
+ const base_1 = require("./base");
9
+ const trancheState_1 = require("./trancheState");
10
+ class ExecuteTrancheWithdrawBuilder extends base_1.VaultBuilderBase {
11
+ async getIx(args) {
12
+ return this.program.methods
13
+ .executeTrancheWithdraw(args.kind, args.shareAmount)
14
+ .accountsPartial({
15
+ user: (0, common_1.toWeb3Pk)(args.user),
16
+ vault: (0, common_1.toWeb3Pk)(args.vault),
17
+ vaultOracle: (0, common_1.toWeb3Pk)(args.vaultOracle),
18
+ vaultTrancheState: (0, common_1.toWeb3Pk)(args.vaultTrancheState),
19
+ assetMint: (0, common_1.toWeb3Pk)(args.assetMint),
20
+ trancheShareMint: (0, common_1.toWeb3Pk)(args.trancheShareMint),
21
+ userAssetAta: (0, common_1.toWeb3Pk)(args.userAssetAta),
22
+ vaultAssetAta: (0, common_1.toWeb3Pk)(args.vaultAssetAta),
23
+ userTrancheShareAta: (0, common_1.toWeb3Pk)(args.userTrancheShareAta),
24
+ assetTokenProgram: (0, common_1.toWeb3Pk)(args.assetTokenProgram),
25
+ shareTokenProgram: (0, common_1.toWeb3Pk)(args.shareTokenProgram),
26
+ associatedTokenProgram: spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID,
27
+ systemProgram: web3_js_1.SystemProgram.programId,
28
+ })
29
+ .instruction()
30
+ .then(common_1.toKitInstruction);
31
+ }
32
+ async deriveIxArgs(txArgs) {
33
+ const connection = this.program.provider.connection;
34
+ const [[vaultOracle], [vaultTrancheState], trancheShareMint] = await Promise.all([
35
+ this.pda.deriveVaultOraclePda(txArgs.vault),
36
+ this.pda.deriveVaultTrancheStatePda(txArgs.vault),
37
+ (0, trancheState_1.resolveTrancheShareMint)(this.account, txArgs.vault, txArgs.kind, txArgs.trancheShareMint),
38
+ ]);
39
+ const [assetTokenProgram, shareTokenProgram] = await Promise.all([
40
+ (0, trancheState_1.resolveTokenProgramForMint)(connection, txArgs.assetMint, txArgs.assetTokenProgram),
41
+ (0, trancheState_1.resolveTokenProgramForMint)(connection, trancheShareMint, txArgs.shareTokenProgram),
42
+ ]);
43
+ return {
44
+ user: txArgs.user,
45
+ vault: txArgs.vault,
46
+ vaultOracle: txArgs.vaultOracle ?? vaultOracle,
47
+ vaultTrancheState: txArgs.vaultTrancheState ?? vaultTrancheState,
48
+ assetMint: txArgs.assetMint,
49
+ trancheShareMint,
50
+ kind: txArgs.kind,
51
+ shareAmount: new core_1.BN(txArgs.shareAmount.toString()),
52
+ assetTokenProgram,
53
+ shareTokenProgram,
54
+ userAssetAta: (0, common_1.getAtaAddress)(txArgs.assetMint, txArgs.user, assetTokenProgram),
55
+ vaultAssetAta: (0, common_1.getAtaAddress)(txArgs.assetMint, txArgs.vault, assetTokenProgram, true),
56
+ userTrancheShareAta: (0, common_1.getAtaAddress)(trancheShareMint, txArgs.user, shareTokenProgram),
57
+ };
58
+ }
59
+ async buildPreambleInstructions(args) {
60
+ const payer = (0, common_1.toWeb3Pk)(args.user);
61
+ const createUserAssetAta = (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(payer, (0, common_1.toWeb3Pk)(args.userAssetAta), payer, (0, common_1.toWeb3Pk)(args.assetMint), (0, common_1.toWeb3Pk)(args.assetTokenProgram), spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID);
62
+ return [createUserAssetAta].map(common_1.toKitInstruction);
63
+ }
64
+ async buildPlanExtras(args) {
65
+ return {
66
+ postSuccessCacheInvalidations: [
67
+ { vaultPda: args.vault, vaultTrancheStatePda: args.vaultTrancheState },
68
+ ],
69
+ };
70
+ }
71
+ async getTx(txArgs) {
72
+ const args = await this.deriveIxArgs(txArgs);
73
+ const preambleInstructions = await this.buildPreambleInstructions(args);
74
+ const instruction = await this.getIx(args);
75
+ const extras = await this.buildPlanExtras(args);
76
+ return {
77
+ instructions: [...preambleInstructions, instruction],
78
+ ...(extras ?? {}),
79
+ };
80
+ }
81
+ }
82
+ exports.ExecuteTrancheWithdrawBuilder = ExecuteTrancheWithdrawBuilder;
83
+ //# sourceMappingURL=executeTrancheWithdraw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executeTrancheWithdraw.js","sourceRoot":"","sources":["../../../src/client/builders/executeTrancheWithdraw.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { type Address } from "@solana/kit";
2
+ import { VaultBuilderBase } from "./base";
3
+ import type { ExecuteWithdrawIxArgs, ExecuteWithdrawTxArgs } from "./args";
4
+ export declare class ExecuteWithdrawBuilder extends VaultBuilderBase<ExecuteWithdrawIxArgs, ExecuteWithdrawTxArgs> {
5
+ getIx(args: ExecuteWithdrawIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>>;
6
+ protected deriveIxArgs(txArgs: ExecuteWithdrawTxArgs): Promise<ExecuteWithdrawIxArgs>;
7
+ protected buildLookupTables(_args: ExecuteWithdrawIxArgs, txArgs: ExecuteWithdrawTxArgs): Promise<readonly Address[] | undefined>;
8
+ protected buildPlanExtras(args: ExecuteWithdrawIxArgs): Promise<{
9
+ postSuccessCacheInvalidations: {
10
+ vaultPda: Address;
11
+ }[];
12
+ }>;
13
+ }
14
+ //# sourceMappingURL=executeWithdraw.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executeWithdraw.d.ts","sourceRoot":"","sources":["../../../src/client/builders/executeWithdraw.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAUxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAkB3E,qBAAa,sBAAuB,SAAQ,gBAAgB,CAC1D,qBAAqB,EACrB,qBAAqB,CACtB;IACO,KAAK,CAAC,IAAI,EAAE,qBAAqB;cA+BvB,YAAY,CAC1B,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;cAoEjB,iBAAiB,CAC/B,KAAK,EAAE,qBAAqB,EAC5B,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;cAI1B,eAAe,CAAC,IAAI,EAAE,qBAAqB;;;;;CAK5D"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExecuteWithdrawBuilder = void 0;
4
+ const core_1 = require("@anchor-lang/core");
5
+ const kit_1 = require("@solana/kit");
6
+ const spl_token_1 = require("@solana/spl-token");
7
+ const web3_js_1 = require("@solana/web3.js");
8
+ const common_1 = require("common");
9
+ const base_1 = require("./base");
10
+ const trancheState_1 = require("./trancheState");
11
+ function toWeb3AccountMeta(account) {
12
+ return {
13
+ pubkey: new web3_js_1.PublicKey(account.address),
14
+ isWritable: account.role === kit_1.AccountRole.WRITABLE ||
15
+ account.role === kit_1.AccountRole.WRITABLE_SIGNER,
16
+ isSigner: account.role === kit_1.AccountRole.READONLY_SIGNER ||
17
+ account.role === kit_1.AccountRole.WRITABLE_SIGNER,
18
+ };
19
+ }
20
+ class ExecuteWithdrawBuilder extends base_1.VaultBuilderBase {
21
+ async getIx(args) {
22
+ return this.program.methods
23
+ .executeWithdraw(args.shareAmount, args.externalWithdrawIxRefs ?? null, args.externalLiquiditySource ?? null)
24
+ .accountsPartial({
25
+ user: (0, common_1.toWeb3Pk)(args.user),
26
+ vault: (0, common_1.toWeb3Pk)(args.vault),
27
+ vaultOracle: (0, common_1.toWeb3Pk)(args.vaultOracle),
28
+ vaultTrancheState: args.vaultTrancheState
29
+ ? (0, common_1.toWeb3Pk)(args.vaultTrancheState)
30
+ : null,
31
+ assetMint: (0, common_1.toWeb3Pk)(args.assetMint),
32
+ shareMint: (0, common_1.toWeb3Pk)(args.shareMint),
33
+ userAssetAta: (0, common_1.toWeb3Pk)(args.userAssetAta),
34
+ vaultAssetAta: (0, common_1.toWeb3Pk)(args.vaultAssetAta),
35
+ feeVault: (0, common_1.toWeb3Pk)(args.feeVault),
36
+ feeVaultAta: (0, common_1.toWeb3Pk)(args.feeVaultAta),
37
+ userShareAta: (0, common_1.toWeb3Pk)(args.userShareAta),
38
+ assetTokenProgram: (0, common_1.toWeb3Pk)(args.assetTokenProgram),
39
+ shareTokenProgram: (0, common_1.toWeb3Pk)(args.shareTokenProgram),
40
+ associatedTokenProgram: spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID,
41
+ systemProgram: web3_js_1.SystemProgram.programId,
42
+ })
43
+ .remainingAccounts(args.externalWithdrawAccounts.map(toWeb3AccountMeta))
44
+ .instruction()
45
+ .then(common_1.toKitInstruction);
46
+ }
47
+ async deriveIxArgs(txArgs) {
48
+ const connection = this.program.provider.connection;
49
+ const [[derivedVaultOracle], [feeVault], vaultTrancheState, assetTokenProgram, shareTokenProgram,] = await Promise.all([
50
+ this.pda.deriveVaultOraclePda(txArgs.vault),
51
+ this.pda.deriveFeeAuthorityPda(txArgs.vault),
52
+ (0, trancheState_1.resolveVaultTrancheState)(this.account, this.pda, txArgs.vault, txArgs.vaultTrancheState),
53
+ (0, trancheState_1.resolveTokenProgramForMint)(connection, txArgs.assetMint, txArgs.assetTokenProgram),
54
+ (0, trancheState_1.resolveTokenProgramForMint)(connection, txArgs.shareMint, txArgs.shareTokenProgram),
55
+ ]);
56
+ return {
57
+ user: txArgs.user,
58
+ vault: txArgs.vault,
59
+ vaultOracle: txArgs.vaultOracle ?? derivedVaultOracle,
60
+ vaultTrancheState: vaultTrancheState ?? null,
61
+ assetMint: txArgs.assetMint,
62
+ shareMint: txArgs.shareMint,
63
+ shareAmount: new core_1.BN(txArgs.shareAmount.toString()),
64
+ assetTokenProgram,
65
+ shareTokenProgram,
66
+ userAssetAta: (0, common_1.getAtaAddress)(txArgs.assetMint, txArgs.user, assetTokenProgram),
67
+ vaultAssetAta: (0, common_1.getAtaAddress)(txArgs.assetMint, txArgs.vault, assetTokenProgram, true),
68
+ feeVault,
69
+ feeVaultAta: (0, common_1.getAtaAddress)(txArgs.assetMint, feeVault, assetTokenProgram, true),
70
+ userShareAta: (0, common_1.getAtaAddress)(txArgs.shareMint, txArgs.user, shareTokenProgram),
71
+ externalWithdrawIxRefs: txArgs.externalWithdrawIxRefs ?? null,
72
+ externalLiquiditySource: txArgs.externalLiquiditySource ?? null,
73
+ externalWithdrawAccounts: txArgs.externalWithdrawAccounts ?? [],
74
+ };
75
+ }
76
+ async buildLookupTables(_args, txArgs) {
77
+ return txArgs.lookupTables;
78
+ }
79
+ async buildPlanExtras(args) {
80
+ return {
81
+ postSuccessCacheInvalidations: [{ vaultPda: args.vault }],
82
+ };
83
+ }
84
+ }
85
+ exports.ExecuteWithdrawBuilder = ExecuteWithdrawBuilder;
86
+ //# sourceMappingURL=executeWithdraw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executeWithdraw.js","sourceRoot":"","sources":["../../../src/client/builders/executeWithdraw.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { type Address } from "@solana/kit";
2
+ import type { AccountClient, VaultAccountData } from "../account";
3
+ /**
4
+ * The hardcoded protocol admin wallet that may set the protocol performance fee.
5
+ * Pass `override` only in tests that deploy a program with a different constant.
6
+ */
7
+ export declare function resolveProtocolAdmin(override?: Address): Address;
8
+ /**
9
+ * The hardcoded wallet that receives protocol performance fees. Pass `override`
10
+ * only in tests that deploy a program with a different constant.
11
+ */
12
+ export declare function resolveProtocolFeeRecipient(override?: Address): Address;
13
+ export declare function resolveVaultFeeCollector(account: AccountClient, vault: Address, override?: Address): Promise<Address>;
14
+ export declare function baseAssetMintFromVault(vaultState: VaultAccountData): Address;
15
+ export declare function resolveVaultBaseAssetMint(account: AccountClient, vault: Address, override?: Address): Promise<Address>;
16
+ export declare function resolveFeeAssetTokenProgram(account: AccountClient, vault: Address, feeAssetMint: Address, override?: Address): Promise<Address>;
17
+ //# sourceMappingURL=feeCollector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feeCollector.d.ts","sourceRoot":"","sources":["../../../src/client/builders/feeCollector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AASpD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAElE;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAEhE;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAEvE;AAED,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,OAAO,EACd,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,OAAO,CAAC,CAMlB;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAM5E;AAED,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,OAAO,EACd,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,OAAO,CAAC,CAMlB;AAYD,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,OAAO,EACrB,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,OAAO,CAAC,CAYlB"}