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 @@
1
+ {"version":3,"file":"trancheState.d.ts","sourceRoot":"","sources":["../../../src/client/builders/trancheState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAKpD,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAexC;;;;;;;GAOG;AACH,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,OAAO,GAAG,SAAS,GAC5B,OAAO,CAAC,OAAO,CAAC,CASlB;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,OAAO,GAAG,SAAS,GAC5B,OAAO,CAAC,OAAO,CAAC,CAQlB;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,GACnC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAYzB"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveTokenProgramForMint = resolveTokenProgramForMint;
4
+ exports.resolveTrancheShareMint = resolveTrancheShareMint;
5
+ exports.resolveVaultTrancheState = resolveVaultTrancheState;
6
+ const kit_1 = require("@solana/kit");
7
+ const spl_token_1 = require("@solana/spl-token");
8
+ const web3_js_1 = require("@solana/web3.js");
9
+ function coerceBool(value) {
10
+ if (typeof value === "boolean")
11
+ return value;
12
+ if (typeof value === "number")
13
+ return value !== 0;
14
+ if (value &&
15
+ typeof value.toBool === "function") {
16
+ return value.toBool();
17
+ }
18
+ const record = value;
19
+ return Boolean(record?.value ?? record?.[0]);
20
+ }
21
+ /**
22
+ * Returns the token program address for a given mint by inspecting the
23
+ * mint account's on-chain owner. Falls back to Token-2022 if the account
24
+ * cannot be fetched.
25
+ *
26
+ * Pass `provided` when the caller already knows the program — it is returned
27
+ * as-is without an RPC call. Pass `undefined` to trigger auto-detection.
28
+ */
29
+ async function resolveTokenProgramForMint(connection, mint, provided) {
30
+ if (provided !== undefined)
31
+ return provided;
32
+ const info = await connection
33
+ .getAccountInfo(new web3_js_1.PublicKey(mint), "confirmed")
34
+ .catch(() => null);
35
+ if (info?.owner.equals(spl_token_1.TOKEN_PROGRAM_ID)) {
36
+ return (0, kit_1.address)(spl_token_1.TOKEN_PROGRAM_ID.toBase58());
37
+ }
38
+ return (0, kit_1.address)(spl_token_1.TOKEN_2022_PROGRAM_ID.toBase58());
39
+ }
40
+ /**
41
+ * Derives the junior or senior tranche share mint from the vault's tranche
42
+ * state, based on `kind`. Short-circuits if `provided` is given.
43
+ */
44
+ async function resolveTrancheShareMint(account, vault, kind, provided) {
45
+ if (provided !== undefined)
46
+ return provided;
47
+ const trancheState = await account.fetchVaultTrancheStateForVault(vault);
48
+ const isJunior = "junior" in kind;
49
+ const mint = isJunior
50
+ ? trancheState.config.juniorMint
51
+ : trancheState.config.seniorMint;
52
+ return (0, kit_1.address)(mint.toBase58 ? mint.toBase58() : String(mint));
53
+ }
54
+ /**
55
+ * Returns the vault tranche state PDA if the vault has tranching enabled,
56
+ * otherwise null. Fetches the vault fresh to avoid stale cache.
57
+ *
58
+ * Pass `provided` when the caller already has the address — it is returned
59
+ * as-is without an RPC call. Pass `undefined` to trigger auto-detection.
60
+ */
61
+ async function resolveVaultTrancheState(account, pda, vault, provided) {
62
+ // Caller explicitly passed null — they know there's no tranche state.
63
+ if (provided === null)
64
+ return null;
65
+ // Caller provided an address — use it directly.
66
+ if (provided !== undefined)
67
+ return provided;
68
+ // Auto-detect by fetching the vault.
69
+ const vaultData = await account.fetchVault(vault, { fresh: true });
70
+ if (!coerceBool(vaultData.tranchingEnabled))
71
+ return null;
72
+ const [trancheStatePda] = await pda.deriveVaultTrancheStatePda(vault);
73
+ return trancheStatePda;
74
+ }
75
+ //# sourceMappingURL=trancheState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trancheState.js","sourceRoot":"","sources":["../../../src/client/builders/trancheState.ts"],"names":[],"mappings":";;AAgCA,gEAaC;AAMD,0DAaC;AASD,4DAiBC;AA1FD,qCAAoD;AACpD,iDAG2B;AAC3B,6CAA6D;AAM7D,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,KAAK,CAAC,CAAC;IAClD,IACE,KAAK;QACL,OAAQ,KAAoC,CAAC,MAAM,KAAK,UAAU,EAClE,CAAC;QACD,OAAQ,KAAmC,CAAC,MAAM,EAAE,CAAC;IACvD,CAAC;IACD,MAAM,MAAM,GAAG,KAA8C,CAAC;IAC9D,OAAO,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,0BAA0B,CAC9C,UAAsB,EACtB,IAAa,EACb,QAA6B;IAE7B,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,UAAU;SAC1B,cAAc,CAAC,IAAI,mBAAS,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;SAChD,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACrB,IAAI,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,4BAAoB,CAAC,EAAE,CAAC;QAC7C,OAAO,IAAA,aAAO,EAAC,4BAAoB,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,IAAA,aAAO,EAAC,iCAAqB,CAAC,QAAQ,EAAE,CAAC,CAAC;AACnD,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,uBAAuB,CAC3C,OAAsB,EACtB,KAAc,EACd,IAAqB,EACrB,QAA6B;IAE7B,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,QAAQ,IAAI,IAAI,CAAC;IAClC,MAAM,IAAI,GAAG,QAAQ;QACnB,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU;QAChC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC;IACnC,OAAO,IAAA,aAAO,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,wBAAwB,CAC5C,OAAsB,EACtB,GAAc,EACd,KAAc,EACd,QAAoC;IAEpC,sEAAsE;IACtE,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACnC,gDAAgD;IAChD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAE5C,qCAAqC;IACrC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzD,MAAM,CAAC,eAAe,CAAC,GAAG,MAAM,GAAG,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;IACtE,OAAO,eAA0B,CAAC;AACpC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { VaultBuilderBase } from "./base";
2
+ import type { UpdateAssetPriceIxArgs, UpdateAssetPriceTxArgs } from "./args";
3
+ export declare class UpdateAssetPriceBuilder extends VaultBuilderBase<UpdateAssetPriceIxArgs, UpdateAssetPriceTxArgs> {
4
+ getIx(args: UpdateAssetPriceIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>>;
5
+ protected deriveIxArgs(txArgs: UpdateAssetPriceTxArgs): Promise<UpdateAssetPriceIxArgs>;
6
+ protected buildPlanExtras(args: UpdateAssetPriceIxArgs): Promise<{
7
+ postSuccessCacheInvalidations: {
8
+ vaultPda: import("@solana/kit").Address;
9
+ }[];
10
+ }>;
11
+ getTx(txArgs: UpdateAssetPriceTxArgs): Promise<{
12
+ postSuccessCacheInvalidations: {
13
+ vaultPda: import("@solana/kit").Address;
14
+ }[];
15
+ instructions: import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>[];
16
+ }>;
17
+ }
18
+ //# sourceMappingURL=updateAssetPrice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateAssetPrice.d.ts","sourceRoot":"","sources":["../../../src/client/builders/updateAssetPrice.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AAI7E,qBAAa,uBAAwB,SAAQ,gBAAgB,CAC3D,sBAAsB,EACtB,sBAAsB,CACvB;IACO,KAAK,CAAC,IAAI,EAAE,sBAAsB;cAexB,YAAY,CAC1B,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,sBAAsB,CAAC;cAclB,eAAe,CAAC,IAAI,EAAE,sBAAsB;;;;;IAMtD,KAAK,CAAC,MAAM,EAAE,sBAAsB;;;;;;CAS3C"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateAssetPriceBuilder = void 0;
4
+ const core_1 = require("@anchor-lang/core");
5
+ const common_1 = require("common");
6
+ const base_1 = require("./base");
7
+ const DEFAULT_PRICE_MAX_AGE_SECS = 90n;
8
+ class UpdateAssetPriceBuilder extends base_1.VaultBuilderBase {
9
+ async getIx(args) {
10
+ return this.program.methods
11
+ .updateAssetPrice({
12
+ mint: (0, common_1.toWeb3Pk)(args.args.mint),
13
+ maxAgeSecs: args.args.maxAgeSecs,
14
+ })
15
+ .accountsPartial({
16
+ updater: (0, common_1.toWeb3Pk)(args.updater),
17
+ vault: (0, common_1.toWeb3Pk)(args.vault),
18
+ oracleAccount: (0, common_1.toWeb3Pk)(args.oracleAccount),
19
+ })
20
+ .instruction()
21
+ .then(common_1.toKitInstruction);
22
+ }
23
+ async deriveIxArgs(txArgs) {
24
+ return {
25
+ updater: txArgs.updater,
26
+ vault: txArgs.vault,
27
+ oracleAccount: txArgs.oracleAccount,
28
+ args: {
29
+ mint: txArgs.mint,
30
+ maxAgeSecs: new core_1.BN((txArgs.maxAgeSecs ?? DEFAULT_PRICE_MAX_AGE_SECS).toString()),
31
+ },
32
+ };
33
+ }
34
+ async buildPlanExtras(args) {
35
+ return {
36
+ postSuccessCacheInvalidations: [{ vaultPda: args.vault }],
37
+ };
38
+ }
39
+ async getTx(txArgs) {
40
+ const args = await this.deriveIxArgs(txArgs);
41
+ const instruction = await this.getIx(args);
42
+ const extras = await this.buildPlanExtras(args);
43
+ return {
44
+ instructions: [instruction],
45
+ ...(extras ?? {}),
46
+ };
47
+ }
48
+ }
49
+ exports.UpdateAssetPriceBuilder = UpdateAssetPriceBuilder;
50
+ //# sourceMappingURL=updateAssetPrice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateAssetPrice.js","sourceRoot":"","sources":["../../../src/client/builders/updateAssetPrice.ts"],"names":[],"mappings":";;;AAAA,4CAAuC;AACvC,mCAAoD;AAEpD,iCAA0C;AAG1C,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAEvC,MAAa,uBAAwB,SAAQ,uBAG5C;IACC,KAAK,CAAC,KAAK,CAAC,IAA4B;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;aACxB,gBAAgB,CAAC;YAChB,IAAI,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;SACjC,CAAC;aACD,eAAe,CAAC;YACf,OAAO,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC;YAC/B,KAAK,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,aAAa,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,aAAa,CAAC;SAC5C,CAAC;aACD,WAAW,EAAE;aACb,IAAI,CAAC,yBAAgB,CAAC,CAAC;IAC5B,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,MAA8B;QAE9B,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,IAAI,EAAE;gBACJ,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,UAAU,EAAE,IAAI,SAAE,CAChB,CAAC,MAAM,CAAC,UAAU,IAAI,0BAA0B,CAAC,CAAC,QAAQ,EAAE,CAC7D;aACF;SACF,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,IAA4B;QAC1D,OAAO;YACL,6BAA6B,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;SAC1D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAA8B;QACxC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO;YACL,YAAY,EAAE,CAAC,WAAW,CAAC;YAC3B,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;SAClB,CAAC;IACJ,CAAC;CACF;AAlDD,0DAkDC"}
@@ -0,0 +1,20 @@
1
+ import { VaultBuilderBase } from "./base";
2
+ import type { UpdateConsensusOracleIxArgs, UpdateConsensusOracleTxArgs } from "./args";
3
+ export declare class UpdateConsensusOracleBuilder extends VaultBuilderBase<UpdateConsensusOracleIxArgs, UpdateConsensusOracleTxArgs> {
4
+ getIx(args: UpdateConsensusOracleIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>>;
5
+ protected deriveIxArgs(txArgs: UpdateConsensusOracleTxArgs): Promise<UpdateConsensusOracleIxArgs>;
6
+ protected buildPlanExtras(args: UpdateConsensusOracleIxArgs): Promise<{
7
+ postSuccessCacheInvalidations: {
8
+ vaultPda: import("@solana/kit").Address;
9
+ vaultOraclePda: import("@solana/kit").Address;
10
+ }[];
11
+ }>;
12
+ getTx(txArgs: UpdateConsensusOracleTxArgs): Promise<{
13
+ postSuccessCacheInvalidations: {
14
+ vaultPda: import("@solana/kit").Address;
15
+ vaultOraclePda: import("@solana/kit").Address;
16
+ }[];
17
+ instructions: import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>[];
18
+ }>;
19
+ }
20
+ //# sourceMappingURL=updateConsensusOracle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateConsensusOracle.d.ts","sourceRoot":"","sources":["../../../src/client/builders/updateConsensusOracle.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EACV,2BAA2B,EAC3B,2BAA2B,EAC5B,MAAM,QAAQ,CAAC;AAIhB,qBAAa,4BAA6B,SAAQ,gBAAgB,CAChE,2BAA2B,EAC3B,2BAA2B,CAC5B;IACO,KAAK,CAAC,IAAI,EAAE,2BAA2B;cAkB7B,YAAY,CAC1B,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,2BAA2B,CAAC;cA2BvB,eAAe,CAAC,IAAI,EAAE,2BAA2B;;;;;;IAW3D,KAAK,CAAC,MAAM,EAAE,2BAA2B;;;;;;;CAShD"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateConsensusOracleBuilder = void 0;
4
+ const common_1 = require("common");
5
+ const base_1 = require("./base");
6
+ const anchorArgs_1 = require("./anchorArgs");
7
+ const feeCollector_1 = require("./feeCollector");
8
+ class UpdateConsensusOracleBuilder extends base_1.VaultBuilderBase {
9
+ async getIx(args) {
10
+ return this.program.methods
11
+ .updateConsensusOracle({
12
+ updates: (0, anchorArgs_1.toAnchorConsensusUpdates)(args.updates),
13
+ })
14
+ .accountsPartial({
15
+ signer: (0, common_1.toWeb3Pk)(args.signer),
16
+ vault: (0, common_1.toWeb3Pk)(args.vault),
17
+ vaultOracle: (0, common_1.toWeb3Pk)(args.vaultOracle),
18
+ assetMint: args.assetMint ? (0, common_1.toWeb3Pk)(args.assetMint) : null,
19
+ assetTokenProgram: args.assetTokenProgram
20
+ ? (0, common_1.toWeb3Pk)(args.assetTokenProgram)
21
+ : null,
22
+ })
23
+ .instruction()
24
+ .then(common_1.toKitInstruction);
25
+ }
26
+ async deriveIxArgs(txArgs) {
27
+ const [derivedVaultOracle] = await this.pda.deriveVaultOraclePda(txArgs.vault);
28
+ // `assetMint`/`assetTokenProgram` are only needed to register a new consensus
29
+ // holding (an update whose `mint` is set). Index-only updates omit them.
30
+ const assetMint = txArgs.assetMint ?? null;
31
+ const assetTokenProgram = assetMint
32
+ ? await (0, feeCollector_1.resolveFeeAssetTokenProgram)(this.account, txArgs.vault, assetMint, txArgs.assetTokenProgram)
33
+ : null;
34
+ return {
35
+ signer: txArgs.signer,
36
+ vault: txArgs.vault,
37
+ vaultOracle: txArgs.vaultOracle ?? derivedVaultOracle,
38
+ assetMint,
39
+ assetTokenProgram,
40
+ updates: txArgs.updates,
41
+ };
42
+ }
43
+ async buildPlanExtras(args) {
44
+ return {
45
+ postSuccessCacheInvalidations: [
46
+ {
47
+ vaultPda: args.vault,
48
+ vaultOraclePda: args.vaultOracle,
49
+ },
50
+ ],
51
+ };
52
+ }
53
+ async getTx(txArgs) {
54
+ const args = await this.deriveIxArgs(txArgs);
55
+ const instruction = await this.getIx(args);
56
+ const extras = await this.buildPlanExtras(args);
57
+ return {
58
+ instructions: [instruction],
59
+ ...(extras ?? {}),
60
+ };
61
+ }
62
+ }
63
+ exports.UpdateConsensusOracleBuilder = UpdateConsensusOracleBuilder;
64
+ //# sourceMappingURL=updateConsensusOracle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateConsensusOracle.js","sourceRoot":"","sources":["../../../src/client/builders/updateConsensusOracle.ts"],"names":[],"mappings":";;;AAAA,mCAAoD;AAEpD,iCAA0C;AAK1C,6CAAwD;AACxD,iDAA6D;AAE7D,MAAa,4BAA6B,SAAQ,uBAGjD;IACC,KAAK,CAAC,KAAK,CAAC,IAAiC;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;aACxB,qBAAqB,CAAC;YACrB,OAAO,EAAE,IAAA,qCAAwB,EAAC,IAAI,CAAC,OAAO,CAAC;SAChD,CAAC;aACD,eAAe,CAAC;YACf,MAAM,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,MAAM,CAAC;YAC7B,KAAK,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,WAAW,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,WAAW,CAAC;YACvC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,iBAAQ,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;YAC3D,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACvC,CAAC,CAAC,IAAA,iBAAQ,EAAC,IAAI,CAAC,iBAAiB,CAAC;gBAClC,CAAC,CAAC,IAAI;SACT,CAAC;aACD,WAAW,EAAE;aACb,IAAI,CAAC,yBAAgB,CAAC,CAAC;IAC5B,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,MAAmC;QAEnC,MAAM,CAAC,kBAAkB,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAC9D,MAAM,CAAC,KAAK,CACb,CAAC;QAEF,8EAA8E;QAC9E,yEAAyE;QACzE,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC;QAC3C,MAAM,iBAAiB,GAAG,SAAS;YACjC,CAAC,CAAC,MAAM,IAAA,0CAA2B,EAC/B,IAAI,CAAC,OAAO,EACZ,MAAM,CAAC,KAAK,EACZ,SAAS,EACT,MAAM,CAAC,iBAAiB,CACzB;YACH,CAAC,CAAC,IAAI,CAAC;QAET,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,kBAAkB;YACrD,SAAS;YACT,iBAAiB;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,IAAiC;QAC/D,OAAO;YACL,6BAA6B,EAAE;gBAC7B;oBACE,QAAQ,EAAE,IAAI,CAAC,KAAK;oBACpB,cAAc,EAAE,IAAI,CAAC,WAAW;iBACjC;aACF;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAmC;QAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO;YACL,YAAY,EAAE,CAAC,WAAW,CAAC;YAC3B,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;SAClB,CAAC;IACJ,CAAC;CACF;AAvED,oEAuEC"}
@@ -0,0 +1,13 @@
1
+ import { VaultBuilderBase } from "./base";
2
+ import type { UpdateConsensusSignersIxArgs, UpdateConsensusSignersTxArgs } from "./args";
3
+ export declare class UpdateConsensusSignersBuilder extends VaultBuilderBase<UpdateConsensusSignersIxArgs, UpdateConsensusSignersTxArgs> {
4
+ getIx(args: UpdateConsensusSignersIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>>;
5
+ protected deriveIxArgs(txArgs: UpdateConsensusSignersTxArgs): Promise<UpdateConsensusSignersIxArgs>;
6
+ protected buildPlanExtras(args: UpdateConsensusSignersIxArgs): Promise<{
7
+ postSuccessCacheInvalidations: {
8
+ vaultPda: import("@solana/kit").Address;
9
+ vaultOraclePda: import("@solana/kit").Address;
10
+ }[];
11
+ }>;
12
+ }
13
+ //# sourceMappingURL=updateConsensusSigners.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateConsensusSigners.d.ts","sourceRoot":"","sources":["../../../src/client/builders/updateConsensusSigners.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EACV,4BAA4B,EAC5B,4BAA4B,EAC7B,MAAM,QAAQ,CAAC;AAEhB,qBAAa,6BAA8B,SAAQ,gBAAgB,CACjE,4BAA4B,EAC5B,4BAA4B,CAC7B;IACO,KAAK,CAAC,IAAI,EAAE,4BAA4B;cAc9B,YAAY,CAC1B,MAAM,EAAE,4BAA4B,GACnC,OAAO,CAAC,4BAA4B,CAAC;cAUxB,eAAe,CAAC,IAAI,EAAE,4BAA4B;;;;;;CAOnE"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateConsensusSignersBuilder = void 0;
4
+ const common_1 = require("common");
5
+ const base_1 = require("./base");
6
+ class UpdateConsensusSignersBuilder extends base_1.VaultBuilderBase {
7
+ async getIx(args) {
8
+ return this.program.methods
9
+ .updateConsensusSigners({
10
+ signers: args.args.signers.map(common_1.toWeb3Pk),
11
+ })
12
+ .accountsPartial({
13
+ curator: (0, common_1.toWeb3Pk)(args.curator),
14
+ vault: (0, common_1.toWeb3Pk)(args.vault),
15
+ vaultOracle: (0, common_1.toWeb3Pk)(args.vaultOracle),
16
+ })
17
+ .instruction()
18
+ .then(common_1.toKitInstruction);
19
+ }
20
+ async deriveIxArgs(txArgs) {
21
+ const [vaultOracle] = await this.pda.deriveVaultOraclePda(txArgs.vault);
22
+ return {
23
+ curator: txArgs.curator,
24
+ vault: txArgs.vault,
25
+ vaultOracle: txArgs.vaultOracle ?? vaultOracle,
26
+ args: { signers: txArgs.signers },
27
+ };
28
+ }
29
+ async buildPlanExtras(args) {
30
+ return {
31
+ postSuccessCacheInvalidations: [
32
+ { vaultPda: args.vault, vaultOraclePda: args.vaultOracle },
33
+ ],
34
+ };
35
+ }
36
+ }
37
+ exports.UpdateConsensusSignersBuilder = UpdateConsensusSignersBuilder;
38
+ //# sourceMappingURL=updateConsensusSigners.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateConsensusSigners.js","sourceRoot":"","sources":["../../../src/client/builders/updateConsensusSigners.ts"],"names":[],"mappings":";;;AAAA,mCAAoD;AAEpD,iCAA0C;AAM1C,MAAa,6BAA8B,SAAQ,uBAGlD;IACC,KAAK,CAAC,KAAK,CAAC,IAAkC;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;aACxB,sBAAsB,CAAC;YACtB,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAQ,CAAC;SACzC,CAAC;aACD,eAAe,CAAC;YACf,OAAO,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC;YAC/B,KAAK,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,WAAW,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,WAAW,CAAC;SACxC,CAAC;aACD,WAAW,EAAE;aACb,IAAI,CAAC,yBAAgB,CAAC,CAAC;IAC5B,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,MAAoC;QAEpC,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,WAAW;YAC9C,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;SAClC,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,IAAkC;QAChE,OAAO;YACL,6BAA6B,EAAE;gBAC7B,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW,EAAE;aAC3D;SACF,CAAC;IACJ,CAAC;CACF;AArCD,sEAqCC"}
@@ -0,0 +1,13 @@
1
+ import { VaultBuilderBase } from "./base";
2
+ import type { UpdateTrancheConfigIxArgs, UpdateTrancheConfigTxArgs } from "./args";
3
+ export declare class UpdateTrancheConfigBuilder extends VaultBuilderBase<UpdateTrancheConfigIxArgs, UpdateTrancheConfigTxArgs> {
4
+ getIx(args: UpdateTrancheConfigIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>>;
5
+ protected deriveIxArgs(txArgs: UpdateTrancheConfigTxArgs): Promise<UpdateTrancheConfigIxArgs>;
6
+ protected buildPlanExtras(args: UpdateTrancheConfigIxArgs): Promise<{
7
+ postSuccessCacheInvalidations: {
8
+ vaultPda: import("@solana/kit").Address;
9
+ vaultTrancheStatePda: import("@solana/kit").Address;
10
+ }[];
11
+ }>;
12
+ }
13
+ //# sourceMappingURL=updateTrancheConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateTrancheConfig.d.ts","sourceRoot":"","sources":["../../../src/client/builders/updateTrancheConfig.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EACV,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,QAAQ,CAAC;AAEhB,qBAAa,0BAA2B,SAAQ,gBAAgB,CAC9D,yBAAyB,EACzB,yBAAyB,CAC1B;IACO,KAAK,CAAC,IAAI,EAAE,yBAAyB;cAkB3B,YAAY,CAC1B,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,yBAAyB,CAAC;cAoBrB,eAAe,CAAC,IAAI,EAAE,yBAAyB;;;;;;CAOhE"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateTrancheConfigBuilder = void 0;
4
+ const core_1 = require("@anchor-lang/core");
5
+ const common_1 = require("common");
6
+ const base_1 = require("./base");
7
+ class UpdateTrancheConfigBuilder extends base_1.VaultBuilderBase {
8
+ async getIx(args) {
9
+ return this.program.methods
10
+ .vaultUpdateTrancheConfig({
11
+ seniorFixedApyBps: args.seniorFixedApyBps,
12
+ earlyUnstakeFeeBps: args.earlyUnstakeFeeBps,
13
+ standardUnstakeFeeBps: args.standardUnstakeFeeBps,
14
+ targetLockupDurationSecs: args.targetLockupDurationSecs,
15
+ })
16
+ .accountsPartial({
17
+ curator: (0, common_1.toWeb3Pk)(args.curator),
18
+ vault: (0, common_1.toWeb3Pk)(args.vault),
19
+ vaultTrancheState: (0, common_1.toWeb3Pk)(args.vaultTrancheState),
20
+ vaultOracle: (0, common_1.toWeb3Pk)(args.vaultOracle),
21
+ })
22
+ .instruction()
23
+ .then(common_1.toKitInstruction);
24
+ }
25
+ async deriveIxArgs(txArgs) {
26
+ const [vaultTrancheState] = await this.pda.deriveVaultTrancheStatePda(txArgs.vault);
27
+ const [vaultOracle] = await this.pda.deriveVaultOraclePda(txArgs.vault);
28
+ return {
29
+ curator: txArgs.curator,
30
+ vault: txArgs.vault,
31
+ vaultTrancheState: txArgs.vaultTrancheState ?? vaultTrancheState,
32
+ vaultOracle: txArgs.vaultOracle ?? vaultOracle,
33
+ seniorFixedApyBps: txArgs.seniorFixedApyBps ?? null,
34
+ earlyUnstakeFeeBps: txArgs.earlyUnstakeFeeBps ?? null,
35
+ standardUnstakeFeeBps: txArgs.standardUnstakeFeeBps ?? null,
36
+ targetLockupDurationSecs: txArgs.targetLockupDurationSecs === undefined
37
+ ? null
38
+ : new core_1.BN(txArgs.targetLockupDurationSecs.toString()),
39
+ };
40
+ }
41
+ async buildPlanExtras(args) {
42
+ return {
43
+ postSuccessCacheInvalidations: [
44
+ { vaultPda: args.vault, vaultTrancheStatePda: args.vaultTrancheState },
45
+ ],
46
+ };
47
+ }
48
+ }
49
+ exports.UpdateTrancheConfigBuilder = UpdateTrancheConfigBuilder;
50
+ //# sourceMappingURL=updateTrancheConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateTrancheConfig.js","sourceRoot":"","sources":["../../../src/client/builders/updateTrancheConfig.ts"],"names":[],"mappings":";;;AAAA,4CAAuC;AACvC,mCAAoD;AAEpD,iCAA0C;AAM1C,MAAa,0BAA2B,SAAQ,uBAG/C;IACC,KAAK,CAAC,KAAK,CAAC,IAA+B;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;aACxB,wBAAwB,CAAC;YACxB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;SACxD,CAAC;aACD,eAAe,CAAC;YACf,OAAO,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC;YAC/B,KAAK,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,iBAAiB,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,iBAAiB,CAAC;YACnD,WAAW,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,WAAW,CAAC;SACxC,CAAC;aACD,WAAW,EAAE;aACb,IAAI,CAAC,yBAAgB,CAAC,CAAC;IAC5B,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,MAAiC;QAEjC,MAAM,CAAC,iBAAiB,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,0BAA0B,CACnE,MAAM,CAAC,KAAK,CACb,CAAC;QACF,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,iBAAiB;YAChE,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,WAAW;YAC9C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,IAAI;YACnD,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,IAAI;YACrD,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,IAAI,IAAI;YAC3D,wBAAwB,EACtB,MAAM,CAAC,wBAAwB,KAAK,SAAS;gBAC3C,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,IAAI,SAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,QAAQ,EAAE,CAAC;SACzD,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,IAA+B;QAC7D,OAAO;YACL,6BAA6B,EAAE;gBAC7B,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,EAAE;aACvE;SACF,CAAC;IACJ,CAAC;CACF;AAnDD,gEAmDC"}
@@ -0,0 +1,15 @@
1
+ import type { VaultTransactionPlan } from "../types/tx";
2
+ import { VaultBuilderBase } from "./base";
3
+ import type { VaultReallocationIxArgs, VaultReallocationTxArgs } from "./args";
4
+ export declare class VaultReallocationBuilder extends VaultBuilderBase<VaultReallocationIxArgs, VaultReallocationTxArgs> {
5
+ getIx(args: VaultReallocationIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>>;
6
+ protected deriveIxArgs(txArgs: VaultReallocationTxArgs): Promise<VaultReallocationIxArgs>;
7
+ protected buildPreambleInstructions(args: VaultReallocationIxArgs): Promise<import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>[]>;
8
+ protected buildPlanExtras(args: VaultReallocationIxArgs): Promise<{
9
+ postSuccessCacheInvalidations: {
10
+ vaultPda: import("@solana/kit").Address;
11
+ }[];
12
+ }>;
13
+ getTx(txArgs: VaultReallocationTxArgs): Promise<VaultTransactionPlan>;
14
+ }
15
+ //# sourceMappingURL=vaultReallocation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vaultReallocation.d.ts","sourceRoot":"","sources":["../../../src/client/builders/vaultReallocation.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAGV,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,QAAQ,CAAC;AA2BhB,qBAAa,wBAAyB,SAAQ,gBAAgB,CAC5D,uBAAuB,EACvB,uBAAuB,CACxB;IACO,KAAK,CAAC,IAAI,EAAE,uBAAuB;cAgDzB,YAAY,CAC1B,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,uBAAuB,CAAC;cA2EV,yBAAyB,CAChD,IAAI,EAAE,uBAAuB;cAmEf,eAAe,CAAC,IAAI,EAAE,uBAAuB;;;;;IAUvD,KAAK,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAU5E"}
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VaultReallocationBuilder = 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 constants_1 = require("../../constants");
9
+ const base_1 = require("./base");
10
+ const DEFAULT_PYTH_PRICE_MAX_AGE_SECS = 90n;
11
+ function toAssetPriceOracleConfig(args) {
12
+ return {
13
+ priceOracleType: args?.priceOracleType ?? { none: {} },
14
+ initialPrice: new core_1.BN((args?.initialPrice ?? 0n).toString()),
15
+ priceOracleAccount: args?.priceOracleAccount ?? constants_1.DEFAULT_PRICE_ORACLE_ACCOUNT,
16
+ pythMaxAgeSecs: new core_1.BN((args?.pythMaxAgeSecs ?? DEFAULT_PYTH_PRICE_MAX_AGE_SECS).toString()),
17
+ };
18
+ }
19
+ /** Convert an asset-price-oracle config to the anchor arg shape (pubkey field
20
+ * as a web3 `PublicKey`). */
21
+ function toAnchorAssetPriceOracleConfig(config) {
22
+ return {
23
+ ...config,
24
+ priceOracleAccount: (0, common_1.toWeb3Pk)(config.priceOracleAccount),
25
+ };
26
+ }
27
+ class VaultReallocationBuilder extends base_1.VaultBuilderBase {
28
+ async getIx(args) {
29
+ return this.program.methods
30
+ .vaultReallocation({
31
+ amount: args.amount,
32
+ assetPriceOracle: toAnchorAssetPriceOracleConfig(args.assetPriceOracle),
33
+ })
34
+ .accountsPartial({
35
+ manager: (0, common_1.toWeb3Pk)(args.manager),
36
+ allocationVault: (0, common_1.toWeb3Pk)(args.allocationVault),
37
+ sourceVault: args.sourceVault ? (0, common_1.toWeb3Pk)(args.sourceVault) : null,
38
+ sourceVaultOracle: args.sourceVaultOracle
39
+ ? (0, common_1.toWeb3Pk)(args.sourceVaultOracle)
40
+ : null,
41
+ destinationVault: (0, common_1.toWeb3Pk)(args.destinationVault),
42
+ destinationVaultOracle: (0, common_1.toWeb3Pk)(args.destinationVaultOracle),
43
+ mint: (0, common_1.toWeb3Pk)(args.mint),
44
+ sourceShareMint: args.sourceShareMint
45
+ ? (0, common_1.toWeb3Pk)(args.sourceShareMint)
46
+ : null,
47
+ destinationShareMint: (0, common_1.toWeb3Pk)(args.destinationShareMint),
48
+ allocationMintAta: (0, common_1.toWeb3Pk)(args.allocationMintAta),
49
+ sourceVaultMintAta: args.sourceVaultMintAta
50
+ ? (0, common_1.toWeb3Pk)(args.sourceVaultMintAta)
51
+ : null,
52
+ destinationVaultMintAta: (0, common_1.toWeb3Pk)(args.destinationVaultMintAta),
53
+ destinationFeeVault: (0, common_1.toWeb3Pk)(args.destinationFeeVault),
54
+ destinationFeeVaultMintAta: (0, common_1.toWeb3Pk)(args.destinationFeeVaultMintAta),
55
+ allocationSourceShareAta: args.allocationSourceShareAta
56
+ ? (0, common_1.toWeb3Pk)(args.allocationSourceShareAta)
57
+ : null,
58
+ allocationDestinationShareAta: (0, common_1.toWeb3Pk)(args.allocationDestinationShareAta),
59
+ assetOracleAccount: args.assetOracleAccount
60
+ ? (0, common_1.toWeb3Pk)(args.assetOracleAccount)
61
+ : null,
62
+ assetTokenProgram: (0, common_1.toWeb3Pk)(args.assetTokenProgram),
63
+ sourceShareTokenProgram: (0, common_1.toWeb3Pk)(args.sourceShareTokenProgram),
64
+ destinationShareTokenProgram: (0, common_1.toWeb3Pk)(args.destinationShareTokenProgram),
65
+ associatedTokenProgram: spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID,
66
+ systemProgram: web3_js_1.SystemProgram.programId,
67
+ })
68
+ .instruction()
69
+ .then(common_1.toKitInstruction);
70
+ }
71
+ async deriveIxArgs(txArgs) {
72
+ const assetTokenProgram = txArgs.assetTokenProgram ?? constants_1.TOKEN_PROGRAM_ID;
73
+ const sourceShareTokenProgram = txArgs.sourceShareTokenProgram ?? constants_1.TOKEN_PROGRAM_ID;
74
+ const destinationShareTokenProgram = txArgs.destinationShareTokenProgram ?? constants_1.TOKEN_PROGRAM_ID;
75
+ const sourceVault = txArgs.sourceVault ?? null;
76
+ const sourceShareMint = txArgs.sourceShareMint ?? null;
77
+ const [derivedDestinationVaultOracle] = await this.pda.deriveVaultOraclePda(txArgs.destinationVault);
78
+ const derivedSourceVaultOracle = sourceVault
79
+ ? (await this.pda.deriveVaultOraclePda(sourceVault))[0]
80
+ : null;
81
+ const [destinationFeeVault] = await this.pda.deriveFeeAuthorityPda(txArgs.destinationVault);
82
+ return {
83
+ manager: txArgs.manager,
84
+ allocationVault: txArgs.allocationVault,
85
+ sourceVault,
86
+ sourceVaultOracle: txArgs.sourceVaultOracle ?? derivedSourceVaultOracle,
87
+ destinationVault: txArgs.destinationVault,
88
+ destinationVaultOracle: txArgs.destinationVaultOracle ?? derivedDestinationVaultOracle,
89
+ mint: txArgs.mint,
90
+ sourceShareMint,
91
+ destinationShareMint: txArgs.destinationShareMint,
92
+ amount: new core_1.BN(txArgs.amount.toString()),
93
+ assetPriceOracle: toAssetPriceOracleConfig(txArgs.assetPriceOracle),
94
+ assetOracleAccount: txArgs.assetOracleAccount ?? null,
95
+ assetTokenProgram,
96
+ sourceShareTokenProgram,
97
+ destinationShareTokenProgram,
98
+ allocationMintAta: (0, common_1.getAtaAddress)(txArgs.mint, txArgs.allocationVault, assetTokenProgram, true),
99
+ sourceVaultMintAta: sourceVault
100
+ ? (0, common_1.getAtaAddress)(txArgs.mint, sourceVault, assetTokenProgram, true)
101
+ : null,
102
+ destinationVaultMintAta: (0, common_1.getAtaAddress)(txArgs.mint, txArgs.destinationVault, assetTokenProgram, true),
103
+ destinationFeeVault,
104
+ destinationFeeVaultMintAta: (0, common_1.getAtaAddress)(txArgs.mint, destinationFeeVault, assetTokenProgram, true),
105
+ allocationSourceShareAta: sourceShareMint && sourceVault
106
+ ? (0, common_1.getAtaAddress)(sourceShareMint, txArgs.allocationVault, sourceShareTokenProgram, true)
107
+ : null,
108
+ allocationDestinationShareAta: (0, common_1.getAtaAddress)(txArgs.destinationShareMint, txArgs.allocationVault, destinationShareTokenProgram, true),
109
+ };
110
+ }
111
+ async buildPreambleInstructions(args) {
112
+ const payer = (0, common_1.toWeb3Pk)(args.manager);
113
+ const instructions = [
114
+ (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(payer, (0, common_1.toWeb3Pk)(args.allocationMintAta), (0, common_1.toWeb3Pk)(args.allocationVault), (0, common_1.toWeb3Pk)(args.mint), (0, common_1.toWeb3Pk)(args.assetTokenProgram), spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID),
115
+ (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(payer, (0, common_1.toWeb3Pk)(args.destinationVaultMintAta), (0, common_1.toWeb3Pk)(args.destinationVault), (0, common_1.toWeb3Pk)(args.mint), (0, common_1.toWeb3Pk)(args.assetTokenProgram), spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID),
116
+ (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(payer, (0, common_1.toWeb3Pk)(args.destinationFeeVaultMintAta), (0, common_1.toWeb3Pk)(args.destinationFeeVault), (0, common_1.toWeb3Pk)(args.mint), (0, common_1.toWeb3Pk)(args.assetTokenProgram), spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID),
117
+ (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(payer, (0, common_1.toWeb3Pk)(args.allocationDestinationShareAta), (0, common_1.toWeb3Pk)(args.allocationVault), (0, common_1.toWeb3Pk)(args.destinationShareMint), (0, common_1.toWeb3Pk)(args.destinationShareTokenProgram), spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID),
118
+ ];
119
+ if (args.sourceVault &&
120
+ args.sourceShareMint &&
121
+ args.sourceVaultMintAta &&
122
+ args.allocationSourceShareAta) {
123
+ instructions.push((0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(payer, (0, common_1.toWeb3Pk)(args.sourceVaultMintAta), (0, common_1.toWeb3Pk)(args.sourceVault), (0, common_1.toWeb3Pk)(args.mint), (0, common_1.toWeb3Pk)(args.assetTokenProgram), spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID), (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(payer, (0, common_1.toWeb3Pk)(args.allocationSourceShareAta), (0, common_1.toWeb3Pk)(args.allocationVault), (0, common_1.toWeb3Pk)(args.sourceShareMint), (0, common_1.toWeb3Pk)(args.sourceShareTokenProgram), spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID));
124
+ }
125
+ return instructions.map(common_1.toKitInstruction);
126
+ }
127
+ async buildPlanExtras(args) {
128
+ return {
129
+ postSuccessCacheInvalidations: [
130
+ { vaultPda: args.allocationVault },
131
+ { vaultPda: args.destinationVault },
132
+ ...(args.sourceVault ? [{ vaultPda: args.sourceVault }] : []),
133
+ ],
134
+ };
135
+ }
136
+ async getTx(txArgs) {
137
+ const args = await this.deriveIxArgs(txArgs);
138
+ const preambleInstructions = await this.buildPreambleInstructions(args);
139
+ const instruction = await this.getIx(args);
140
+ const extras = await this.buildPlanExtras(args);
141
+ return {
142
+ instructions: [...preambleInstructions, instruction],
143
+ ...extras,
144
+ };
145
+ }
146
+ }
147
+ exports.VaultReallocationBuilder = VaultReallocationBuilder;
148
+ //# sourceMappingURL=vaultReallocation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vaultReallocation.js","sourceRoot":"","sources":["../../../src/client/builders/vaultReallocation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Vault program client.
3
+ *
4
+ * Composes PDA derivation, account fetching, instruction building, and
5
+ * transaction composition behind a single entry point.
6
+ *
7
+ * Usage:
8
+ * const client = new VaultClient(provider);
9
+ * const [vault] = await client.pda.deriveVaultPda(vaultId);
10
+ * const ix = await client.tx.executeDeposit.getIx({ ... });
11
+ * const plan = await client.tx.createVault.getTx({ curator, shareMint, ... });
12
+ * await client.sendTransaction(payer, plan);
13
+ */
14
+ import { Program, type AnchorProvider } from "@anchor-lang/core";
15
+ import { type Address } from "@solana/kit";
16
+ import { Keypair } from "@solana/web3.js";
17
+ import { type Vault } from "../idl/vault";
18
+ import { AccountClient } from "./account";
19
+ import { PdaClient } from "./pda";
20
+ import { TransactionClient } from "./transaction";
21
+ import type { VaultTransactionPlan } from "./types/tx";
22
+ export declare class VaultClient {
23
+ readonly provider: AnchorProvider;
24
+ readonly program: Program<Vault>;
25
+ readonly pda: PdaClient;
26
+ readonly account: AccountClient;
27
+ readonly tx: TransactionClient;
28
+ constructor(provider: AnchorProvider, programId?: Address);
29
+ /** Sign, send, and confirm a transaction plan built from {@link TransactionClient}. */
30
+ sendTransaction(payer: Keypair, plan: VaultTransactionPlan): Promise<string>;
31
+ applyCacheInvalidations(plan: VaultTransactionPlan): void;
32
+ clearAllCache(): void;
33
+ }
34
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,OAAO,EAAe,MAAM,iBAAiB,CAAC;AAGvD,OAAO,EAAO,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EACL,aAAa,EAKd,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,qBAAa,WAAW;IACtB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,EAAE,EAAE,iBAAiB,CAAC;gBAEnB,QAAQ,EAAE,cAAc,EAAE,SAAS,GAAE,OAA0B;IAe3E,uFAAuF;IACjF,eAAe,CACnB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,MAAM,CAAC;IAuBlB,uBAAuB,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI;IA2BzD,aAAa,IAAI,IAAI;CAGtB"}