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
+ /**
3
+ * Vault program client.
4
+ *
5
+ * Composes PDA derivation, account fetching, instruction building, and
6
+ * transaction composition behind a single entry point.
7
+ *
8
+ * Usage:
9
+ * const client = new VaultClient(provider);
10
+ * const [vault] = await client.pda.deriveVaultPda(vaultId);
11
+ * const ix = await client.tx.executeDeposit.getIx({ ... });
12
+ * const plan = await client.tx.createVault.getTx({ curator, shareMint, ... });
13
+ * await client.sendTransaction(payer, plan);
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.VaultClient = void 0;
17
+ const core_1 = require("@anchor-lang/core");
18
+ const kit_1 = require("@solana/kit");
19
+ const web3_js_1 = require("@solana/web3.js");
20
+ const common_1 = require("common");
21
+ const vault_1 = require("../idl/vault");
22
+ const constants_1 = require("../constants");
23
+ const rpc_1 = require("../utils/rpc");
24
+ const account_1 = require("./account");
25
+ const pda_1 = require("./pda");
26
+ const transaction_1 = require("./transaction");
27
+ class VaultClient {
28
+ constructor(provider, programId = constants_1.VAULT_PROGRAM_ID) {
29
+ this.provider = provider;
30
+ const idl = { ...vault_1.IDL, address: programId };
31
+ this.program = new core_1.Program(idl, provider);
32
+ this.pda = new pda_1.PdaClient((0, kit_1.address)(this.program.programId.toBase58()));
33
+ const rpc = (0, rpc_1.createRpcFromConnection)(provider.connection);
34
+ this.account = new account_1.AccountClient(this.program, this.pda, rpc);
35
+ this.tx = new transaction_1.TransactionClient({
36
+ rpc,
37
+ program: this.program,
38
+ account: this.account,
39
+ pda: this.pda,
40
+ });
41
+ }
42
+ /** Sign, send, and confirm a transaction plan built from {@link TransactionClient}. */
43
+ async sendTransaction(payer, plan) {
44
+ const { blockhash, lastValidBlockHeight } = await this.provider.connection.getLatestBlockhash("confirmed");
45
+ const tx = new web3_js_1.Transaction().add(...plan.instructions.map(common_1.fromKitInstruction));
46
+ tx.feePayer = payer.publicKey;
47
+ tx.recentBlockhash = blockhash;
48
+ tx.sign(payer);
49
+ const signature = await this.provider.connection.sendRawTransaction(tx.serialize(), {
50
+ skipPreflight: false,
51
+ });
52
+ await this.provider.connection.confirmTransaction({ signature, blockhash, lastValidBlockHeight }, "confirmed");
53
+ this.applyCacheInvalidations(plan);
54
+ return signature;
55
+ }
56
+ applyCacheInvalidations(plan) {
57
+ for (const invalidation of plan.postSuccessCacheInvalidations ?? []) {
58
+ this.account.dataCache.clearCacheEntry(account_1.VAULT_CACHE_CATEGORY, invalidation.vaultPda);
59
+ if (invalidation.vaultOraclePda) {
60
+ this.account.dataCache.clearCacheEntry(account_1.VAULT_ORACLE_CACHE_CATEGORY, invalidation.vaultOraclePda);
61
+ }
62
+ if (invalidation.vaultTrancheStatePda) {
63
+ this.account.dataCache.clearCacheEntry(account_1.VAULT_TRANCHE_STATE_CACHE_CATEGORY, invalidation.vaultTrancheStatePda);
64
+ }
65
+ if (invalidation.withdrawalQueuePda) {
66
+ this.account.dataCache.clearCacheEntry(account_1.VAULT_TRANCHE_WITHDRAWAL_QUEUE_CACHE_CATEGORY, invalidation.withdrawalQueuePda);
67
+ }
68
+ }
69
+ }
70
+ clearAllCache() {
71
+ this.account.dataCache.clearAllCache();
72
+ }
73
+ }
74
+ exports.VaultClient = VaultClient;
75
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AAEH,4CAAiE;AACjE,qCAAoD;AACpD,6CAAuD;AACvD,mCAA4C;AAE5C,wCAA+C;AAC/C,4CAAgD;AAChD,sCAAuD;AACvD,uCAMmB;AACnB,+BAAkC;AAClC,+CAAkD;AAGlD,MAAa,WAAW;IAOtB,YAAY,QAAwB,EAAE,YAAqB,4BAAgB;QACzE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,MAAM,GAAG,GAAG,EAAE,GAAG,WAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,cAAO,CAAC,GAAY,EAAE,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,GAAG,IAAI,eAAS,CAAC,IAAA,aAAO,EAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,IAAA,6BAAuB,EAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9D,IAAI,CAAC,EAAE,GAAG,IAAI,+BAAiB,CAAC;YAC9B,GAAG;YACH,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAC;IACL,CAAC;IAED,uFAAuF;IACvF,KAAK,CAAC,eAAe,CACnB,KAAc,EACd,IAA0B;QAE1B,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE,GACvC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,EAAE,GAAG,IAAI,qBAAW,EAAE,CAAC,GAAG,CAC9B,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,2BAAkB,CAAC,CAC7C,CAAC;QACF,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;QAC9B,EAAE,CAAC,eAAe,GAAG,SAAS,CAAC;QAC/B,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACf,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CACjE,EAAE,CAAC,SAAS,EAAE,EACd;YACE,aAAa,EAAE,KAAK;SACrB,CACF,CAAC;QACF,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAC/C,EAAE,SAAS,EAAE,SAAS,EAAE,oBAAoB,EAAE,EAC9C,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,uBAAuB,CAAC,IAA0B;QAChD,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,6BAA6B,IAAI,EAAE,EAAE,CAAC;YACpE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CACpC,8BAAoB,EACpB,YAAY,CAAC,QAAQ,CACtB,CAAC;YACF,IAAI,YAAY,CAAC,cAAc,EAAE,CAAC;gBAChC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CACpC,qCAA2B,EAC3B,YAAY,CAAC,cAAc,CAC5B,CAAC;YACJ,CAAC;YACD,IAAI,YAAY,CAAC,oBAAoB,EAAE,CAAC;gBACtC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CACpC,4CAAkC,EAClC,YAAY,CAAC,oBAAoB,CAClC,CAAC;YACJ,CAAC;YACD,IAAI,YAAY,CAAC,kBAAkB,EAAE,CAAC;gBACpC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CACpC,uDAA6C,EAC7C,YAAY,CAAC,kBAAkB,CAChC,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;CACF;AA/ED,kCA+EC"}
@@ -0,0 +1,8 @@
1
+ export * from "./client";
2
+ export * from "./pda";
3
+ export * from "./account";
4
+ export * from "./transaction";
5
+ export * from "./builders";
6
+ export * from "./types/tx";
7
+ export * from "./types/builders";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./client"), exports);
18
+ __exportStar(require("./pda"), exports);
19
+ __exportStar(require("./account"), exports);
20
+ __exportStar(require("./transaction"), exports);
21
+ __exportStar(require("./builders"), exports);
22
+ __exportStar(require("./types/tx"), exports);
23
+ __exportStar(require("./types/builders"), exports);
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,wCAAsB;AACtB,4CAA0B;AAC1B,gDAA8B;AAC9B,6CAA2B;AAC3B,6CAA2B;AAC3B,mDAAiC"}
@@ -0,0 +1,42 @@
1
+ import { type Address, type ProgramDerivedAddressBump } from "@solana/kit";
2
+ /**
3
+ * PDA derivation for the vault program.
4
+ *
5
+ * The program ID is injected via constructor — no global state.
6
+ */
7
+ export declare class PdaClient {
8
+ private readonly programAddress;
9
+ constructor(programAddress: Address);
10
+ /**
11
+ * Vault PDA for a global vault id.
12
+ *
13
+ * Seeds: `["vault", vault_id_le_bytes]`
14
+ */
15
+ deriveVaultPda(vaultId: number): Promise<readonly [Address, ProgramDerivedAddressBump]>;
16
+ /**
17
+ * Oracle PDA tied 1:1 to a vault.
18
+ *
19
+ * Seeds: `["vault_oracle", vault]`
20
+ */
21
+ deriveVaultOraclePda(vault: Address): Promise<readonly [Address, ProgramDerivedAddressBump]>;
22
+ /**
23
+ * Fee-vault PDA tied 1:1 to a vault: token authority custodying accrued
24
+ * performance/protocol fees until the crank sweeps them.
25
+ *
26
+ * Seeds: `["VFEEVAULT", vault]`
27
+ */
28
+ deriveFeeAuthorityPda(vault: Address): Promise<readonly [Address, ProgramDerivedAddressBump]>;
29
+ /**
30
+ * Tranche state PDA tied 1:1 to a vault when tranching is enabled.
31
+ *
32
+ * Seeds: `["vault_tranche", vault]`
33
+ */
34
+ deriveVaultTrancheStatePda(vault: Address): Promise<readonly [Address, ProgramDerivedAddressBump]>;
35
+ /**
36
+ * Junior tranche withdrawal queue PDA.
37
+ *
38
+ * Seeds: `["vault_withdrawal_queue", vault, owner, queue_id]`
39
+ */
40
+ deriveVaultTrancheWithdrawalQueuePda(vault: Address, owner: Address, queueId: number): Promise<readonly [Address, ProgramDerivedAddressBump]>;
41
+ }
42
+ //# sourceMappingURL=pda.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pda.d.ts","sourceRoot":"","sources":["../../src/client/pda.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,yBAAyB,EAG/B,MAAM,aAAa,CAAC;AAgBrB;;;;GAIG;AACH,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAAd,cAAc,EAAE,OAAO;IAEpD;;;;OAIG;IACG,cAAc,CAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IAOzD;;;;OAIG;IACG,oBAAoB,CACxB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IAOzD;;;;;OAKG;IACG,qBAAqB,CACzB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IAOzD;;;;OAIG;IACG,0BAA0B,CAC9B,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IAOzD;;;;OAIG;IACG,oCAAoC,CACxC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;CAW1D"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PdaClient = void 0;
4
+ const kit_1 = require("@solana/kit");
5
+ const addressEncoder = (0, kit_1.getAddressEncoder)();
6
+ function u16LeBytes(value) {
7
+ const bytes = new Uint8Array(2);
8
+ new DataView(bytes.buffer).setUint16(0, value, true);
9
+ return bytes;
10
+ }
11
+ function u8Bytes(value) {
12
+ const bytes = new Uint8Array(1);
13
+ new DataView(bytes.buffer).setUint8(0, value);
14
+ return bytes;
15
+ }
16
+ /**
17
+ * PDA derivation for the vault program.
18
+ *
19
+ * The program ID is injected via constructor — no global state.
20
+ */
21
+ class PdaClient {
22
+ constructor(programAddress) {
23
+ this.programAddress = programAddress;
24
+ }
25
+ /**
26
+ * Vault PDA for a global vault id.
27
+ *
28
+ * Seeds: `["vault", vault_id_le_bytes]`
29
+ */
30
+ async deriveVaultPda(vaultId) {
31
+ return (0, kit_1.getProgramDerivedAddress)({
32
+ programAddress: this.programAddress,
33
+ seeds: [Buffer.from("vault"), u16LeBytes(vaultId)],
34
+ });
35
+ }
36
+ /**
37
+ * Oracle PDA tied 1:1 to a vault.
38
+ *
39
+ * Seeds: `["vault_oracle", vault]`
40
+ */
41
+ async deriveVaultOraclePda(vault) {
42
+ return (0, kit_1.getProgramDerivedAddress)({
43
+ programAddress: this.programAddress,
44
+ seeds: [Buffer.from("vault_oracle"), addressEncoder.encode(vault)],
45
+ });
46
+ }
47
+ /**
48
+ * Fee-vault PDA tied 1:1 to a vault: token authority custodying accrued
49
+ * performance/protocol fees until the crank sweeps them.
50
+ *
51
+ * Seeds: `["VFEEVAULT", vault]`
52
+ */
53
+ async deriveFeeAuthorityPda(vault) {
54
+ return (0, kit_1.getProgramDerivedAddress)({
55
+ programAddress: this.programAddress,
56
+ seeds: [Buffer.from("VFEEVAULT"), addressEncoder.encode(vault)],
57
+ });
58
+ }
59
+ /**
60
+ * Tranche state PDA tied 1:1 to a vault when tranching is enabled.
61
+ *
62
+ * Seeds: `["vault_tranche", vault]`
63
+ */
64
+ async deriveVaultTrancheStatePda(vault) {
65
+ return (0, kit_1.getProgramDerivedAddress)({
66
+ programAddress: this.programAddress,
67
+ seeds: [Buffer.from("vault_tranche"), addressEncoder.encode(vault)],
68
+ });
69
+ }
70
+ /**
71
+ * Junior tranche withdrawal queue PDA.
72
+ *
73
+ * Seeds: `["vault_withdrawal_queue", vault, owner, queue_id]`
74
+ */
75
+ async deriveVaultTrancheWithdrawalQueuePda(vault, owner, queueId) {
76
+ return (0, kit_1.getProgramDerivedAddress)({
77
+ programAddress: this.programAddress,
78
+ seeds: [
79
+ Buffer.from("vault_withdrawal_queue"),
80
+ addressEncoder.encode(vault),
81
+ addressEncoder.encode(owner),
82
+ u8Bytes(queueId),
83
+ ],
84
+ });
85
+ }
86
+ }
87
+ exports.PdaClient = PdaClient;
88
+ //# sourceMappingURL=pda.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pda.js","sourceRoot":"","sources":["../../src/client/pda.ts"],"names":[],"mappings":";;;AAAA,qCAKqB;AAErB,MAAM,cAAc,GAAG,IAAA,uBAAiB,GAAE,CAAC;AAE3C,SAAS,UAAU,CAAC,KAAa;IAC/B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACrD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC9C,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAa,SAAS;IACpB,YAA6B,cAAuB;QAAvB,mBAAc,GAAd,cAAc,CAAS;IAAG,CAAC;IAExD;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAClB,OAAe;QAEf,OAAO,IAAA,8BAAwB,EAAC;YAC9B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;SACnD,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CACxB,KAAc;QAEd,OAAO,IAAA,8BAAwB,EAAC;YAC9B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACnE,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,qBAAqB,CACzB,KAAc;QAEd,OAAO,IAAA,8BAAwB,EAAC;YAC9B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAChE,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,0BAA0B,CAC9B,KAAc;QAEd,OAAO,IAAA,8BAAwB,EAAC;YAC9B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACpE,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oCAAoC,CACxC,KAAc,EACd,KAAc,EACd,OAAe;QAEf,OAAO,IAAA,8BAAwB,EAAC;YAC9B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,KAAK,EAAE;gBACL,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC;gBACrC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC5B,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC5B,OAAO,CAAC,OAAO,CAAC;aACjB;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAhFD,8BAgFC"}
@@ -0,0 +1,36 @@
1
+ import type { VaultBuilderContext } from "./types/builders";
2
+ import { ActivateCircuitBreakerBuilder, CancelJuniorTrancheWithdrawBuilder, CreateAssetHoldingBuilder, RemoveAssetHoldingBuilder, UpdateConsensusSignersBuilder, CreateTrancheStateBuilder, CreateVaultBuilder, DisableCircuitBreakerBuilder, InitializeVaultRolesBuilder, ExecuteDepositBuilder, ExecuteTrancheDepositBuilder, ExecuteTrancheWithdrawBuilder, ExecuteWithdrawBuilder, FulfillJuniorTrancheWithdrawBuilder, ManagerRedepositAssetBuilder, ManagerWithdrawAssetBuilder, JupiterSwapBuilder, ProtocolInteractionBuilder, RequestJuniorTrancheWithdrawBuilder, SetAssetPriceOracleBuilder, SetExternalLiquidityBuilder, SetVaultConfigBuilder, SetProtocolFeeBuilder, CrankNavBuilder, CrankPerformanceFeesBuilder, UpdateAssetPriceBuilder, UpdateConsensusOracleBuilder, UpdateTrancheConfigBuilder, VaultReallocationBuilder } from "./builders";
3
+ export declare class TransactionClient {
4
+ readonly createVault: CreateVaultBuilder;
5
+ readonly initializeVaultRoles: InitializeVaultRolesBuilder;
6
+ readonly createAssetHolding: CreateAssetHoldingBuilder;
7
+ readonly removeAssetHolding: RemoveAssetHoldingBuilder;
8
+ readonly updateConsensusSigners: UpdateConsensusSignersBuilder;
9
+ readonly createTrancheState: CreateTrancheStateBuilder;
10
+ readonly setVaultConfig: SetVaultConfigBuilder;
11
+ readonly setProtocolFee: SetProtocolFeeBuilder;
12
+ readonly crankNav: CrankNavBuilder;
13
+ readonly crankPerformanceFees: CrankPerformanceFeesBuilder;
14
+ readonly updateTrancheConfig: UpdateTrancheConfigBuilder;
15
+ readonly activateCircuitBreaker: ActivateCircuitBreakerBuilder;
16
+ readonly disableCircuitBreaker: DisableCircuitBreakerBuilder;
17
+ readonly updateConsensusOracle: UpdateConsensusOracleBuilder;
18
+ readonly executeDeposit: ExecuteDepositBuilder;
19
+ readonly executeTrancheDeposit: ExecuteTrancheDepositBuilder;
20
+ readonly executeTrancheWithdraw: ExecuteTrancheWithdrawBuilder;
21
+ readonly requestJuniorTrancheWithdraw: RequestJuniorTrancheWithdrawBuilder;
22
+ readonly cancelJuniorTrancheWithdraw: CancelJuniorTrancheWithdrawBuilder;
23
+ readonly fulfillJuniorTrancheWithdraw: FulfillJuniorTrancheWithdrawBuilder;
24
+ readonly executeWithdraw: ExecuteWithdrawBuilder;
25
+ readonly managerWithdrawAsset: ManagerWithdrawAssetBuilder;
26
+ readonly managerRedepositAsset: ManagerRedepositAssetBuilder;
27
+ readonly protocolInteraction: ProtocolInteractionBuilder;
28
+ readonly jupiterSwap: JupiterSwapBuilder;
29
+ readonly setExternalLiquidity: SetExternalLiquidityBuilder;
30
+ readonly setAssetPriceOracle: SetAssetPriceOracleBuilder;
31
+ readonly updateAssetPrice: UpdateAssetPriceBuilder;
32
+ readonly vaultReallocation: VaultReallocationBuilder;
33
+ constructor(context: VaultBuilderContext);
34
+ }
35
+ export type TransactionBuilder = TransactionClient[keyof TransactionClient];
36
+ //# sourceMappingURL=transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/client/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,6BAA6B,EAC7B,kCAAkC,EAClC,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EACzB,kBAAkB,EAClB,4BAA4B,EAC5B,2BAA2B,EAC3B,qBAAqB,EACrB,4BAA4B,EAC5B,6BAA6B,EAC7B,sBAAsB,EACtB,mCAAmC,EACnC,4BAA4B,EAC5B,2BAA2B,EAC3B,kBAAkB,EAClB,0BAA0B,EAC1B,mCAAmC,EACnC,0BAA0B,EAC1B,2BAA2B,EAC3B,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,2BAA2B,EAC3B,uBAAuB,EACvB,4BAA4B,EAC5B,0BAA0B,EAC1B,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAEpB,qBAAa,iBAAiB;IAC5B,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;IAC3D,QAAQ,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;IACvD,QAAQ,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;IACvD,QAAQ,CAAC,sBAAsB,EAAE,6BAA6B,CAAC;IAC/D,QAAQ,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;IACvD,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;IAC/C,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;IAC3D,QAAQ,CAAC,mBAAmB,EAAE,0BAA0B,CAAC;IACzD,QAAQ,CAAC,sBAAsB,EAAE,6BAA6B,CAAC;IAC/D,QAAQ,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;IAC7D,QAAQ,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;IAC7D,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;IAC/C,QAAQ,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;IAC7D,QAAQ,CAAC,sBAAsB,EAAE,6BAA6B,CAAC;IAC/D,QAAQ,CAAC,4BAA4B,EAAE,mCAAmC,CAAC;IAC3E,QAAQ,CAAC,2BAA2B,EAAE,kCAAkC,CAAC;IACzE,QAAQ,CAAC,4BAA4B,EAAE,mCAAmC,CAAC;IAC3E,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAC;IACjD,QAAQ,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;IAC3D,QAAQ,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;IAC7D,QAAQ,CAAC,mBAAmB,EAAE,0BAA0B,CAAC;IACzD,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;IAC3D,QAAQ,CAAC,mBAAmB,EAAE,0BAA0B,CAAC;IACzD,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;IACnD,QAAQ,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;gBAEzC,OAAO,EAAE,mBAAmB;CAqCzC;AAED,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,MAAM,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TransactionClient = void 0;
4
+ const builders_1 = require("./builders");
5
+ class TransactionClient {
6
+ constructor(context) {
7
+ this.createVault = new builders_1.CreateVaultBuilder(context);
8
+ this.initializeVaultRoles = new builders_1.InitializeVaultRolesBuilder(context);
9
+ this.createAssetHolding = new builders_1.CreateAssetHoldingBuilder(context);
10
+ this.removeAssetHolding = new builders_1.RemoveAssetHoldingBuilder(context);
11
+ this.updateConsensusSigners = new builders_1.UpdateConsensusSignersBuilder(context);
12
+ this.createTrancheState = new builders_1.CreateTrancheStateBuilder(context);
13
+ this.setVaultConfig = new builders_1.SetVaultConfigBuilder(context);
14
+ this.setProtocolFee = new builders_1.SetProtocolFeeBuilder(context);
15
+ this.crankNav = new builders_1.CrankNavBuilder(context);
16
+ this.crankPerformanceFees = new builders_1.CrankPerformanceFeesBuilder(context);
17
+ this.updateTrancheConfig = new builders_1.UpdateTrancheConfigBuilder(context);
18
+ this.activateCircuitBreaker = new builders_1.ActivateCircuitBreakerBuilder(context);
19
+ this.disableCircuitBreaker = new builders_1.DisableCircuitBreakerBuilder(context);
20
+ this.updateConsensusOracle = new builders_1.UpdateConsensusOracleBuilder(context);
21
+ this.executeDeposit = new builders_1.ExecuteDepositBuilder(context);
22
+ this.executeTrancheDeposit = new builders_1.ExecuteTrancheDepositBuilder(context);
23
+ this.executeTrancheWithdraw = new builders_1.ExecuteTrancheWithdrawBuilder(context);
24
+ this.requestJuniorTrancheWithdraw = new builders_1.RequestJuniorTrancheWithdrawBuilder(context);
25
+ this.cancelJuniorTrancheWithdraw = new builders_1.CancelJuniorTrancheWithdrawBuilder(context);
26
+ this.fulfillJuniorTrancheWithdraw = new builders_1.FulfillJuniorTrancheWithdrawBuilder(context);
27
+ this.executeWithdraw = new builders_1.ExecuteWithdrawBuilder(context);
28
+ this.managerWithdrawAsset = new builders_1.ManagerWithdrawAssetBuilder(context);
29
+ this.managerRedepositAsset = new builders_1.ManagerRedepositAssetBuilder(context);
30
+ this.protocolInteraction = new builders_1.ProtocolInteractionBuilder(context);
31
+ this.jupiterSwap = new builders_1.JupiterSwapBuilder(context);
32
+ this.setExternalLiquidity = new builders_1.SetExternalLiquidityBuilder(context);
33
+ this.setAssetPriceOracle = new builders_1.SetAssetPriceOracleBuilder(context);
34
+ this.updateAssetPrice = new builders_1.UpdateAssetPriceBuilder(context);
35
+ this.vaultReallocation = new builders_1.VaultReallocationBuilder(context);
36
+ }
37
+ }
38
+ exports.TransactionClient = TransactionClient;
39
+ //# sourceMappingURL=transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/client/transaction.ts"],"names":[],"mappings":";;;AACA,yCA8BoB;AAEpB,MAAa,iBAAiB;IA+B5B,YAAY,OAA4B;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,6BAAkB,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,oBAAoB,GAAG,IAAI,sCAA2B,CAAC,OAAO,CAAC,CAAC;QACrE,IAAI,CAAC,kBAAkB,GAAG,IAAI,oCAAyB,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC,kBAAkB,GAAG,IAAI,oCAAyB,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC,sBAAsB,GAAG,IAAI,wCAA6B,CAAC,OAAO,CAAC,CAAC;QACzE,IAAI,CAAC,kBAAkB,GAAG,IAAI,oCAAyB,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAqB,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAqB,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,GAAG,IAAI,0BAAe,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,oBAAoB,GAAG,IAAI,sCAA2B,CAAC,OAAO,CAAC,CAAC;QACrE,IAAI,CAAC,mBAAmB,GAAG,IAAI,qCAA0B,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,CAAC,sBAAsB,GAAG,IAAI,wCAA6B,CAAC,OAAO,CAAC,CAAC;QACzE,IAAI,CAAC,qBAAqB,GAAG,IAAI,uCAA4B,CAAC,OAAO,CAAC,CAAC;QACvE,IAAI,CAAC,qBAAqB,GAAG,IAAI,uCAA4B,CAAC,OAAO,CAAC,CAAC;QACvE,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAqB,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,qBAAqB,GAAG,IAAI,uCAA4B,CAAC,OAAO,CAAC,CAAC;QACvE,IAAI,CAAC,sBAAsB,GAAG,IAAI,wCAA6B,CAAC,OAAO,CAAC,CAAC;QACzE,IAAI,CAAC,4BAA4B,GAAG,IAAI,8CAAmC,CACzE,OAAO,CACR,CAAC;QACF,IAAI,CAAC,2BAA2B,GAAG,IAAI,6CAAkC,CACvE,OAAO,CACR,CAAC;QACF,IAAI,CAAC,4BAA4B,GAAG,IAAI,8CAAmC,CACzE,OAAO,CACR,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAsB,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,oBAAoB,GAAG,IAAI,sCAA2B,CAAC,OAAO,CAAC,CAAC;QACrE,IAAI,CAAC,qBAAqB,GAAG,IAAI,uCAA4B,CAAC,OAAO,CAAC,CAAC;QACvE,IAAI,CAAC,mBAAmB,GAAG,IAAI,qCAA0B,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,CAAC,WAAW,GAAG,IAAI,6BAAkB,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,oBAAoB,GAAG,IAAI,sCAA2B,CAAC,OAAO,CAAC,CAAC;QACrE,IAAI,CAAC,mBAAmB,GAAG,IAAI,qCAA0B,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,CAAC,gBAAgB,GAAG,IAAI,kCAAuB,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,iBAAiB,GAAG,IAAI,mCAAwB,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;CACF;AApED,8CAoEC"}
@@ -0,0 +1,12 @@
1
+ import type { Program } from "@anchor-lang/core";
2
+ import type { Rpc, SolanaRpcApi } from "@solana/kit";
3
+ import type { Vault } from "../../idl/vault";
4
+ import type { AccountClient } from "../../client/account";
5
+ import type { PdaClient } from "../../client/pda";
6
+ export interface VaultBuilderContext {
7
+ rpc: Rpc<SolanaRpcApi>;
8
+ program: Program<Vault>;
9
+ account: AccountClient;
10
+ pda: PdaClient;
11
+ }
12
+ //# sourceMappingURL=builders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../src/client/types/builders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,OAAO,EAAE,aAAa,CAAC;IACvB,GAAG,EAAE,SAAS,CAAC;CAChB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=builders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builders.js","sourceRoot":"","sources":["../../../src/client/types/builders.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import type { Address, Instruction } from "@solana/kit";
2
+ import type { TransactionPlan } from "common";
3
+ export interface VaultCacheInvalidation {
4
+ vaultPda: Address;
5
+ vaultOraclePda?: Address;
6
+ vaultTrancheStatePda?: Address;
7
+ withdrawalQueuePda?: Address;
8
+ }
9
+ export interface VaultTransactionPlan extends TransactionPlan {
10
+ instructions: Instruction[];
11
+ postSuccessCacheInvalidations?: VaultCacheInvalidation[];
12
+ }
13
+ //# sourceMappingURL=tx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../../src/client/types/tx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAE9C,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,6BAA6B,CAAC,EAAE,sBAAsB,EAAE,CAAC;CAC1D"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=tx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx.js","sourceRoot":"","sources":["../../../src/client/types/tx.ts"],"names":[],"mappings":""}
@@ -0,0 +1,45 @@
1
+ import { type Address } from "@solana/kit";
2
+ import { PublicKey } from "@solana/web3.js";
3
+ /** Bankineco program id (local). Hosts new vault instructions. */
4
+ export declare const VAULT_PROGRAM_ID: Address;
5
+ export declare const VAULT_PROGRAM_PUBLIC_KEY: PublicKey;
6
+ /**
7
+ * Hardcoded protocol admin wallet — the only authority permitted to set a
8
+ * vault's protocol performance fee (via `setProtocolFee`). Must match
9
+ * `PROTOCOL_ADMIN` in the on-chain program constants.
10
+ *
11
+ * This is the `local`-feature dev wallet, matching the localnet program build.
12
+ * TODO: replace with the real protocol admin wallet for production (in lockstep
13
+ * with the non-`local` program constant).
14
+ */
15
+ export declare const PROTOCOL_ADMIN: Address;
16
+ /**
17
+ * Hardcoded wallet that receives all protocol performance fees when accrued
18
+ * fees are swept via `crankPerformanceFees`. Must match `PROTOCOL_FEE_RECIPIENT`
19
+ * in the on-chain program constants.
20
+ */
21
+ export declare const PROTOCOL_FEE_RECIPIENT: Address;
22
+ export declare const TOKEN_PROGRAM_ID: Address;
23
+ /**
24
+ * Default (zero) pubkey — the on-chain `Pubkey::default()`. Used as the
25
+ * `priceOracleAccount` for ConsensusOracle holdings, which have no external
26
+ * price-source account.
27
+ */
28
+ export declare const DEFAULT_PRICE_ORACLE_ACCOUNT: Address;
29
+ /** @deprecated Use {@link TOKEN_PROGRAM_ID}. */
30
+ export declare const TOKEN_PROGRAM: PublicKey;
31
+ export declare const ASSET_DECIMALS = 6;
32
+ export declare const SHARE_DECIMALS = 6;
33
+ export declare const DEFAULT_ORACLE_STALENESS_THRESHOLD_SECS = 86400;
34
+ /** Asset-price staleness window used when a vault has not configured its own. */
35
+ export declare const DEFAULT_PRICE_STALENESS_THRESHOLD_SECS = 86400;
36
+ /** Default delay before staged vault role updates take effect via setVaultConfig. */
37
+ export declare const VAULT_ROLE_UPDATE_TIMELOCK_SECS: number;
38
+ /** Largest asset-price staleness window a curator may set via setVaultConfig. */
39
+ export declare const MAX_PRICE_STALENESS_THRESHOLD_SECS: number;
40
+ export declare const DEFAULT_VAULT_ID = 0;
41
+ export declare const DEFAULT_MAX_ACCEPTABLE_APY_BPS = 10000;
42
+ export declare const DEFAULT_JUNIOR_WITHDRAWAL_LOCKUP_SECS: number;
43
+ export declare const DEFAULT_JUNIOR_EARLY_UNSTAKE_FEE_BPS = 100;
44
+ export declare const DEFAULT_JUNIOR_STANDARD_UNSTAKE_FEE_BPS = 50;
45
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,kEAAkE;AAClE,eAAO,MAAM,gBAAgB,EAAE,OAE9B,CAAC;AACF,eAAO,MAAM,wBAAwB,WAAkC,CAAC;AAExE;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,EAAE,OAE5B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,OAEpC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,OAE9B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,EAAE,OAE1C,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,aAAa,WAAwB,CAAC;AAEnD,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,uCAAuC,QAAS,CAAC;AAC9D,iFAAiF;AACjF,eAAO,MAAM,sCAAsC,QAAS,CAAC;AAC7D,qFAAqF;AACrF,eAAO,MAAM,+BAA+B,QAAe,CAAC;AAC5D,iFAAiF;AACjF,eAAO,MAAM,kCAAkC,QAAmB,CAAC;AACnE,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,8BAA8B,QAAS,CAAC;AACrD,eAAO,MAAM,qCAAqC,QAAmB,CAAC;AACtE,eAAO,MAAM,oCAAoC,MAAM,CAAC;AACxD,eAAO,MAAM,uCAAuC,KAAK,CAAC"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_JUNIOR_STANDARD_UNSTAKE_FEE_BPS = exports.DEFAULT_JUNIOR_EARLY_UNSTAKE_FEE_BPS = exports.DEFAULT_JUNIOR_WITHDRAWAL_LOCKUP_SECS = exports.DEFAULT_MAX_ACCEPTABLE_APY_BPS = exports.DEFAULT_VAULT_ID = exports.MAX_PRICE_STALENESS_THRESHOLD_SECS = exports.VAULT_ROLE_UPDATE_TIMELOCK_SECS = exports.DEFAULT_PRICE_STALENESS_THRESHOLD_SECS = exports.DEFAULT_ORACLE_STALENESS_THRESHOLD_SECS = exports.SHARE_DECIMALS = exports.ASSET_DECIMALS = exports.TOKEN_PROGRAM = exports.DEFAULT_PRICE_ORACLE_ACCOUNT = exports.TOKEN_PROGRAM_ID = exports.PROTOCOL_FEE_RECIPIENT = exports.PROTOCOL_ADMIN = exports.VAULT_PROGRAM_PUBLIC_KEY = exports.VAULT_PROGRAM_ID = void 0;
4
+ const kit_1 = require("@solana/kit");
5
+ const web3_js_1 = require("@solana/web3.js");
6
+ const spl_token_1 = require("@solana/spl-token");
7
+ /** Bankineco program id (local). Hosts new vault instructions. */
8
+ exports.VAULT_PROGRAM_ID = (0, kit_1.address)("5emH1da51MCvjTBZLhmiSmz1do7iMc5FRcjiSQcpUe9m");
9
+ exports.VAULT_PROGRAM_PUBLIC_KEY = new web3_js_1.PublicKey(exports.VAULT_PROGRAM_ID);
10
+ /**
11
+ * Hardcoded protocol admin wallet — the only authority permitted to set a
12
+ * vault's protocol performance fee (via `setProtocolFee`). Must match
13
+ * `PROTOCOL_ADMIN` in the on-chain program constants.
14
+ *
15
+ * This is the `local`-feature dev wallet, matching the localnet program build.
16
+ * TODO: replace with the real protocol admin wallet for production (in lockstep
17
+ * with the non-`local` program constant).
18
+ */
19
+ exports.PROTOCOL_ADMIN = (0, kit_1.address)("BQJZAhDnvgSGHjdAbzQEXRBYzSBuWgSYqDzhDnUSRWGR");
20
+ /**
21
+ * Hardcoded wallet that receives all protocol performance fees when accrued
22
+ * fees are swept via `crankPerformanceFees`. Must match `PROTOCOL_FEE_RECIPIENT`
23
+ * in the on-chain program constants.
24
+ */
25
+ exports.PROTOCOL_FEE_RECIPIENT = (0, kit_1.address)("2gymhnRsU4nimHpZuAEZXjvgMXvskcdXz5cyvXzG39iB");
26
+ exports.TOKEN_PROGRAM_ID = (0, kit_1.address)(spl_token_1.TOKEN_2022_PROGRAM_ID.toBase58());
27
+ /**
28
+ * Default (zero) pubkey — the on-chain `Pubkey::default()`. Used as the
29
+ * `priceOracleAccount` for ConsensusOracle holdings, which have no external
30
+ * price-source account.
31
+ */
32
+ exports.DEFAULT_PRICE_ORACLE_ACCOUNT = (0, kit_1.address)("11111111111111111111111111111111");
33
+ /** @deprecated Use {@link TOKEN_PROGRAM_ID}. */
34
+ exports.TOKEN_PROGRAM = spl_token_1.TOKEN_2022_PROGRAM_ID;
35
+ exports.ASSET_DECIMALS = 6;
36
+ exports.SHARE_DECIMALS = 6;
37
+ exports.DEFAULT_ORACLE_STALENESS_THRESHOLD_SECS = 86400;
38
+ /** Asset-price staleness window used when a vault has not configured its own. */
39
+ exports.DEFAULT_PRICE_STALENESS_THRESHOLD_SECS = 86400;
40
+ /** Default delay before staged vault role updates take effect via setVaultConfig. */
41
+ exports.VAULT_ROLE_UPDATE_TIMELOCK_SECS = 24 * 60 * 60;
42
+ /** Largest asset-price staleness window a curator may set via setVaultConfig. */
43
+ exports.MAX_PRICE_STALENESS_THRESHOLD_SECS = 7 * 24 * 60 * 60;
44
+ exports.DEFAULT_VAULT_ID = 0;
45
+ exports.DEFAULT_MAX_ACCEPTABLE_APY_BPS = 10000;
46
+ exports.DEFAULT_JUNIOR_WITHDRAWAL_LOCKUP_SECS = 7 * 24 * 60 * 60;
47
+ exports.DEFAULT_JUNIOR_EARLY_UNSTAKE_FEE_BPS = 100;
48
+ exports.DEFAULT_JUNIOR_STANDARD_UNSTAKE_FEE_BPS = 50;
49
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,qCAAoD;AACpD,6CAA4C;AAC5C,iDAA0D;AAE1D,kEAAkE;AACrD,QAAA,gBAAgB,GAAY,IAAA,aAAO,EAC9C,8CAA8C,CAC/C,CAAC;AACW,QAAA,wBAAwB,GAAG,IAAI,mBAAS,CAAC,wBAAgB,CAAC,CAAC;AAExE;;;;;;;;GAQG;AACU,QAAA,cAAc,GAAY,IAAA,aAAO,EAC5C,8CAA8C,CAC/C,CAAC;AAEF;;;;GAIG;AACU,QAAA,sBAAsB,GAAY,IAAA,aAAO,EACpD,8CAA8C,CAC/C,CAAC;AAEW,QAAA,gBAAgB,GAAY,IAAA,aAAO,EAC9C,iCAAqB,CAAC,QAAQ,EAAE,CACjC,CAAC;AAEF;;;;GAIG;AACU,QAAA,4BAA4B,GAAY,IAAA,aAAO,EAC1D,kCAAkC,CACnC,CAAC;AAEF,gDAAgD;AACnC,QAAA,aAAa,GAAG,iCAAqB,CAAC;AAEtC,QAAA,cAAc,GAAG,CAAC,CAAC;AACnB,QAAA,cAAc,GAAG,CAAC,CAAC;AACnB,QAAA,uCAAuC,GAAG,KAAM,CAAC;AAC9D,iFAAiF;AACpE,QAAA,sCAAsC,GAAG,KAAM,CAAC;AAC7D,qFAAqF;AACxE,QAAA,+BAA+B,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC5D,iFAAiF;AACpE,QAAA,kCAAkC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACtD,QAAA,gBAAgB,GAAG,CAAC,CAAC;AACrB,QAAA,8BAA8B,GAAG,KAAM,CAAC;AACxC,QAAA,qCAAqC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACzD,QAAA,oCAAoC,GAAG,GAAG,CAAC;AAC3C,QAAA,uCAAuC,GAAG,EAAE,CAAC"}
package/dist/env.d.ts ADDED
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Environment & client-construction helpers for the vault SDK.
3
+ *
4
+ * Centralizes the "which network / which keypair / which program id" decisions
5
+ * so that both scripts (CLI) and backend services build a {@link VaultClient}
6
+ * the same way. Scripts parse CLI flags and delegate here; backend services
7
+ * call {@link createVaultClient} directly.
8
+ *
9
+ * Resolution precedence for the RPC endpoint:
10
+ * 1. explicit `rpcUrl` option
11
+ * 2. `VAULT_RPC_URL_TEST` / `VAULT_RPC_URL_PROD` (env-specific)
12
+ * 3. `RPC_URL` (shared)
13
+ * 4. `HELIUS_API_KEY` (Helius mainnet URL — test and prod programs both deploy on mainnet)
14
+ */
15
+ import { AnchorProvider } from "@anchor-lang/core";
16
+ import { Keypair } from "@solana/web3.js";
17
+ import { address, type Address } from "@solana/kit";
18
+ import { VaultClient } from "./client/client";
19
+ /** Deployed networks the helpers target. Local validator flows use tests, not these. */
20
+ export type VaultEnv = "test" | "prod";
21
+ export declare const VAULT_ENVIRONMENTS: readonly VaultEnv[];
22
+ export declare function isVaultEnv(value: string): value is VaultEnv;
23
+ /**
24
+ * Per-environment program ids. Both default to {@link VAULT_PROGRAM_ID} today;
25
+ * update individually once test and prod deployments diverge.
26
+ */
27
+ export declare const VAULT_PROGRAM_IDS: Record<VaultEnv, Address>;
28
+ export declare function getVaultProgramId(env: VaultEnv): Address;
29
+ /** Resolve the RPC endpoint for `env` from options/env vars (see module docs). */
30
+ export declare function getRpcUrl(env: VaultEnv): string;
31
+ /** Expand a leading `~` and resolve to an absolute path. */
32
+ export declare function resolveKeypairPath(keypairPath: string): string;
33
+ /** Load a `solana-keygen` style JSON byte-array keypair from disk. */
34
+ export declare function loadKeypair(keypairPath: string): Keypair;
35
+ /**
36
+ * Default keypair location for a given role/env, e.g.
37
+ * `~/.config/solana/vault-fulfiller-prod.json`. Override per-invocation with
38
+ * the `--keypair` CLI flag or the `keypairPath` option.
39
+ */
40
+ export declare function defaultKeypairPath(env: VaultEnv, role?: string): string;
41
+ export interface CreateVaultClientOptions {
42
+ /** Explicit RPC endpoint; otherwise resolved from env vars. */
43
+ rpcUrl?: string;
44
+ /** Keypair file path; defaults to {@link defaultKeypairPath}. Ignored if `keypair` is set. */
45
+ keypairPath?: string;
46
+ /** Pre-loaded signer; takes precedence over `keypairPath`. */
47
+ keypair?: Keypair;
48
+ /** Logical role used to pick the default keypair path (e.g. "fulfiller", "oracle"). */
49
+ role?: string;
50
+ /** Override the program id; defaults to {@link getVaultProgramId}. */
51
+ programId?: Address;
52
+ }
53
+ export interface VaultClientBundle {
54
+ env: VaultEnv;
55
+ client: VaultClient;
56
+ provider: AnchorProvider;
57
+ /** web3.js keypair used as fee payer / signer for {@link VaultClient.sendTransaction}. */
58
+ payer: Keypair;
59
+ /** Kit-style address of the payer, for builder `signer`/`user` fields. */
60
+ signer: Address;
61
+ }
62
+ /**
63
+ * Build a fully-wired {@link VaultClient} for an environment. Single entry point
64
+ * shared by CLI scripts and backend services.
65
+ */
66
+ export declare function createVaultClient(env: VaultEnv, opts?: CreateVaultClientOptions): VaultClientBundle;
67
+ /** Convenience: a kit `Address` for a `solana-keygen` keypair file (no client). */
68
+ export declare function keypairAddress(keypairPath: string): Address;
69
+ export { address };
70
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EAAE,cAAc,EAAU,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAc,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAGpD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,wFAAwF;AACxF,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvC,eAAO,MAAM,kBAAkB,EAAE,SAAS,QAAQ,EAGxC,CAAC;AAEX,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,QAAQ,CAE3D;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAGvD,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAExD;AAED,kFAAkF;AAClF,wBAAgB,SAAS,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,CAkB/C;AAED,4DAA4D;AAC5D,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAM9D;AAED,sEAAsE;AACtE,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAGxD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,SAAU,GAAG,MAAM,CAExE;AAED,MAAM,WAAW,wBAAwB;IACvC,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8FAA8F;IAC9F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uFAAuF;IACvF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,QAAQ,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,cAAc,CAAC;IACzB,0FAA0F;IAC1F,KAAK,EAAE,OAAO,CAAC;IACf,0EAA0E;IAC1E,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,QAAQ,EACb,IAAI,GAAE,wBAA6B,GAClC,iBAAiB,CAmBnB;AAED,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}