@elemental-stv-core/sdk 0.2.0 → 0.4.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 (70) hide show
  1. package/dist/elemental-lend/index.d.ts +2 -0
  2. package/dist/elemental-lend/index.d.ts.map +1 -1
  3. package/dist/elemental-lend/index.js +2 -0
  4. package/dist/elemental-lend/index.js.map +1 -1
  5. package/dist/elemental-lend/jupiter-lend.d.ts +4 -0
  6. package/dist/elemental-lend/jupiter-lend.d.ts.map +1 -1
  7. package/dist/elemental-lend/jupiter-lend.js +34 -4
  8. package/dist/elemental-lend/jupiter-lend.js.map +1 -1
  9. package/dist/elemental-lend/kamino-vault.d.ts +173 -0
  10. package/dist/elemental-lend/kamino-vault.d.ts.map +1 -0
  11. package/dist/elemental-lend/kamino-vault.js +460 -0
  12. package/dist/elemental-lend/kamino-vault.js.map +1 -0
  13. package/dist/elemental-lend/protocol-actions.d.ts +49 -0
  14. package/dist/elemental-lend/protocol-actions.d.ts.map +1 -0
  15. package/dist/elemental-lend/protocol-actions.js +228 -0
  16. package/dist/elemental-lend/protocol-actions.js.map +1 -0
  17. package/dist/jlpd-strategy/constants.d.ts +16 -0
  18. package/dist/jlpd-strategy/constants.d.ts.map +1 -1
  19. package/dist/jlpd-strategy/constants.js +28 -3
  20. package/dist/jlpd-strategy/constants.js.map +1 -1
  21. package/dist/jlpd-strategy/index.d.ts +3 -0
  22. package/dist/jlpd-strategy/index.d.ts.map +1 -1
  23. package/dist/jlpd-strategy/index.js +3 -0
  24. package/dist/jlpd-strategy/index.js.map +1 -1
  25. package/dist/jlpd-strategy/jlp-data.d.ts +73 -0
  26. package/dist/jlpd-strategy/jlp-data.d.ts.map +1 -0
  27. package/dist/jlpd-strategy/jlp-data.js +406 -0
  28. package/dist/jlpd-strategy/jlp-data.js.map +1 -0
  29. package/dist/jlpd-strategy/settle-yield.d.ts +54 -0
  30. package/dist/jlpd-strategy/settle-yield.d.ts.map +1 -0
  31. package/dist/jlpd-strategy/settle-yield.js +103 -0
  32. package/dist/jlpd-strategy/settle-yield.js.map +1 -0
  33. package/dist/jlpd-strategy/swap-jlp.d.ts +153 -0
  34. package/dist/jlpd-strategy/swap-jlp.d.ts.map +1 -0
  35. package/dist/jlpd-strategy/swap-jlp.js +465 -0
  36. package/dist/jlpd-strategy/swap-jlp.js.map +1 -0
  37. package/dist/p-stv-core/accounts.d.ts.map +1 -1
  38. package/dist/p-stv-core/accounts.js +14 -10
  39. package/dist/p-stv-core/accounts.js.map +1 -1
  40. package/dist/p-stv-core/constants.d.ts +3 -1
  41. package/dist/p-stv-core/constants.d.ts.map +1 -1
  42. package/dist/p-stv-core/constants.js +5 -3
  43. package/dist/p-stv-core/constants.js.map +1 -1
  44. package/dist/p-stv-core/index.d.ts +4 -0
  45. package/dist/p-stv-core/index.d.ts.map +1 -1
  46. package/dist/p-stv-core/index.js +4 -0
  47. package/dist/p-stv-core/index.js.map +1 -1
  48. package/dist/p-stv-core/instructions.d.ts +26 -0
  49. package/dist/p-stv-core/instructions.d.ts.map +1 -1
  50. package/dist/p-stv-core/instructions.js +37 -6
  51. package/dist/p-stv-core/instructions.js.map +1 -1
  52. package/dist/p-stv-core/prices.d.ts +21 -0
  53. package/dist/p-stv-core/prices.d.ts.map +1 -0
  54. package/dist/p-stv-core/prices.js +78 -0
  55. package/dist/p-stv-core/prices.js.map +1 -0
  56. package/dist/p-stv-core/remaining-accounts.d.ts +99 -0
  57. package/dist/p-stv-core/remaining-accounts.d.ts.map +1 -0
  58. package/dist/p-stv-core/remaining-accounts.js +262 -0
  59. package/dist/p-stv-core/remaining-accounts.js.map +1 -0
  60. package/dist/p-stv-core/send-tx.d.ts +56 -0
  61. package/dist/p-stv-core/send-tx.d.ts.map +1 -0
  62. package/dist/p-stv-core/send-tx.js +299 -0
  63. package/dist/p-stv-core/send-tx.js.map +1 -0
  64. package/dist/p-stv-core/sol-wrap.d.ts +35 -0
  65. package/dist/p-stv-core/sol-wrap.d.ts.map +1 -0
  66. package/dist/p-stv-core/sol-wrap.js +95 -0
  67. package/dist/p-stv-core/sol-wrap.js.map +1 -0
  68. package/dist/p-stv-core/types.d.ts +16 -1
  69. package/dist/p-stv-core/types.d.ts.map +1 -1
  70. package/package.json +1 -1
@@ -0,0 +1,299 @@
1
+ "use strict";
2
+ /**
3
+ * Smart transaction builder and sender.
4
+ *
5
+ * Features:
6
+ * - Simulates to get exact compute units, adds 10% buffer
7
+ * - Fetches priority fee from Helius (medium tier)
8
+ * - Pre-checks size to decide legacy vs versioned tx with LUT (no double-sign)
9
+ * - Uses lastValidBlockHeight for reliable confirmation
10
+ * - Parallel fetches where possible
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.DEFAULT_LUT_ADDRESSES = exports.DEFAULT_LUT_ADDRESS = void 0;
14
+ exports.sendSmartTx = sendSmartTx;
15
+ exports.simulateSmartTx = simulateSmartTx;
16
+ const web3_js_1 = require("@solana/web3.js");
17
+ /** @deprecated Use DEFAULT_LUT_ADDRESSES instead */
18
+ exports.DEFAULT_LUT_ADDRESS = new web3_js_1.PublicKey("CCkFGzcR7bMe1HZ9eRkpnu3Ts8EKXErfapbLtpcCAbQk");
19
+ /**
20
+ * Default LUTs for Elemental Vaults.
21
+ * These are fetched in parallel and merged for every versioned transaction.
22
+ *
23
+ * After creating new LUTs with `scripts/create-luts.ts --create`,
24
+ * replace these placeholder addresses with the real ones.
25
+ */
26
+ exports.DEFAULT_LUT_ADDRESSES = {
27
+ /** Elemental Lend (Kamino + Jupiter Lend + protocol infra) */
28
+ lend: new web3_js_1.PublicKey("AnZTDbTmVvCezuiFpTMUVrmELFJajT5c8GM3FBu115w7"),
29
+ /** p-STV Core (vaults, evMints, vault ATAs, config) */
30
+ stv: new web3_js_1.PublicKey("5fECdwxyeXL49PEKPK52RgwupuXvtND4X4hvjFKZ9J32"),
31
+ /** JLPD Strategy (config, strategy states, positions, JLP, oracles) */
32
+ jlpd: new web3_js_1.PublicKey("EMd8YPN5ak2Kht1aktgtWfjakJJQoh98KqCqA3tRTTAn"),
33
+ };
34
+ /** Max legacy transaction size */
35
+ const MAX_LEGACY_SIZE = 1232;
36
+ /** Compute unit buffer (10% above simulated) */
37
+ const CU_BUFFER_MULTIPLIER = 1.05;
38
+ /** Fallback compute units if simulation fails */
39
+ const FALLBACK_CU = 400000;
40
+ /** Fallback priority fee (micro-lamports per CU) if Helius is unavailable */
41
+ const FALLBACK_PRIORITY_FEE = 50000;
42
+ /**
43
+ * Build, simulate, and send a transaction with optimal compute budget.
44
+ *
45
+ * 1. Fetches blockhash + LUT + priority fee in parallel
46
+ * 2. Pre-checks serialized size to choose legacy vs versioned
47
+ * 3. Simulates to get exact CU, adds 10% buffer
48
+ * 4. Prepends ComputeBudget instructions
49
+ * 5. Signs and sends with lastValidBlockHeight confirmation
50
+ */
51
+ async function sendSmartTx(connection, instructions, payer, signTransaction, optionsOrLut) {
52
+ // Backward compat: accept PublicKey as 5th arg (old signature)
53
+ const options = optionsOrLut instanceof web3_js_1.PublicKey
54
+ ? { lutAddress: optionsOrLut }
55
+ : (optionsOrLut ?? {});
56
+ // 1. Parallel fetch: blockhash + all LUTs + priority fee
57
+ const lutAddresses = buildLutAddressList(options);
58
+ const [blockhashResult, priorityFee, ...lutResults] = await Promise.all([
59
+ connection.getLatestBlockhash("confirmed"),
60
+ options.noPriorityFee ? Promise.resolve(0) : fetchPriorityFee(connection),
61
+ ...lutAddresses.map(addr => connection.getAddressLookupTable(addr)),
62
+ ]);
63
+ const { blockhash, lastValidBlockHeight } = blockhashResult;
64
+ // Merge all fetched LUTs + any pre-fetched additional LUTs
65
+ const allLuts = [];
66
+ for (const result of lutResults) {
67
+ if (result.value)
68
+ allLuts.push(result.value);
69
+ }
70
+ if (options.additionalLuts)
71
+ allLuts.push(...options.additionalLuts);
72
+ // 2. Determine if we need versioned tx (pre-check size without signing)
73
+ const needsVersionedTx = checkNeedsVersionedTx(instructions, payer, blockhash);
74
+ // 3. Simulate to get exact CU (use versioned tx for simulation if needed)
75
+ let computeUnits = options.computeUnits ?? 0;
76
+ if (!computeUnits) {
77
+ computeUnits = await simulateForCU(connection, instructions, payer, blockhash, needsVersionedTx && allLuts.length > 0 ? allLuts : undefined);
78
+ }
79
+ // 4. Prepend compute budget instructions
80
+ const finalIxs = [
81
+ web3_js_1.ComputeBudgetProgram.setComputeUnitLimit({ units: computeUnits }),
82
+ ...(priorityFee > 0
83
+ ? [web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({ microLamports: priorityFee })]
84
+ : []),
85
+ ...instructions,
86
+ ];
87
+ // 5. Build transaction (legacy or versioned)
88
+ let signedTx;
89
+ if (needsVersionedTx && allLuts.length > 0) {
90
+ const msgV0 = new web3_js_1.TransactionMessage({
91
+ payerKey: payer,
92
+ recentBlockhash: blockhash,
93
+ instructions: finalIxs,
94
+ }).compileToV0Message(allLuts);
95
+ const vtx = new web3_js_1.VersionedTransaction(msgV0);
96
+ signedTx = await signTransaction(vtx);
97
+ }
98
+ else {
99
+ // Try legacy — if the compute budget ixs push it over, fall back to versioned
100
+ const tx = new web3_js_1.Transaction();
101
+ for (const ix of finalIxs)
102
+ tx.add(ix);
103
+ tx.feePayer = payer;
104
+ tx.recentBlockhash = blockhash;
105
+ try {
106
+ tx.serialize({ requireAllSignatures: false });
107
+ signedTx = await signTransaction(tx);
108
+ }
109
+ catch {
110
+ // Legacy too large with compute budget ixs — use versioned
111
+ if (allLuts.length > 0) {
112
+ const msgV0 = new web3_js_1.TransactionMessage({
113
+ payerKey: payer,
114
+ recentBlockhash: blockhash,
115
+ instructions: finalIxs,
116
+ }).compileToV0Message(allLuts);
117
+ const vtx = new web3_js_1.VersionedTransaction(msgV0);
118
+ signedTx = await signTransaction(vtx);
119
+ }
120
+ else {
121
+ throw new Error("Transaction too large and no LUT available");
122
+ }
123
+ }
124
+ }
125
+ // 6. Send and confirm with lastValidBlockHeight
126
+ const sig = await connection.sendRawTransaction(signedTx instanceof web3_js_1.VersionedTransaction
127
+ ? signedTx.serialize()
128
+ : signedTx.serialize(), { skipPreflight: false, preflightCommitment: "confirmed" });
129
+ await connection.confirmTransaction({ signature: sig, blockhash, lastValidBlockHeight }, "confirmed");
130
+ return sig;
131
+ }
132
+ /**
133
+ * Simulate a transaction without signing. Returns true if simulation succeeds.
134
+ * Use this to gate combined-tx attempts before asking the wallet to sign.
135
+ */
136
+ async function simulateSmartTx(connection, instructions, payer, optionsOrLut) {
137
+ const options = optionsOrLut instanceof web3_js_1.PublicKey
138
+ ? { lutAddress: optionsOrLut }
139
+ : (optionsOrLut ?? {});
140
+ const lutAddresses = buildLutAddressList(options);
141
+ const [blockhashResult, ...lutResults] = await Promise.all([
142
+ connection.getLatestBlockhash("confirmed"),
143
+ ...lutAddresses.map(addr => connection.getAddressLookupTable(addr)),
144
+ ]);
145
+ const { blockhash } = blockhashResult;
146
+ const allLuts = [];
147
+ for (const result of lutResults) {
148
+ if (result.value)
149
+ allLuts.push(result.value);
150
+ }
151
+ if (options.additionalLuts)
152
+ allLuts.push(...options.additionalLuts);
153
+ try {
154
+ const conn = connection;
155
+ const simIxs = [
156
+ web3_js_1.ComputeBudgetProgram.setComputeUnitLimit({ units: 1400000 }),
157
+ ...instructions,
158
+ ];
159
+ const msgV0 = new web3_js_1.TransactionMessage({
160
+ payerKey: payer,
161
+ recentBlockhash: blockhash,
162
+ instructions: simIxs,
163
+ }).compileToV0Message(allLuts);
164
+ const simTx = new web3_js_1.VersionedTransaction(msgV0);
165
+ const simResult = await conn.simulateTransaction(simTx, {
166
+ sigVerify: false,
167
+ replaceRecentBlockhash: true,
168
+ });
169
+ return !simResult.value.err;
170
+ }
171
+ catch {
172
+ return false;
173
+ }
174
+ }
175
+ // ---------------------------------------------------------------------------
176
+ // Helpers
177
+ // ---------------------------------------------------------------------------
178
+ /**
179
+ * Build the list of LUT addresses to fetch.
180
+ * Combines DEFAULT_LUT_ADDRESSES with any explicit lutAddress override.
181
+ */
182
+ function buildLutAddressList(options) {
183
+ const addrs = [];
184
+ const seen = new Set();
185
+ function add(addr) {
186
+ if (!addr)
187
+ return;
188
+ const key = addr.toBase58();
189
+ if (seen.has(key))
190
+ return;
191
+ seen.add(key);
192
+ addrs.push(addr);
193
+ }
194
+ // Always include configured default LUTs
195
+ add(exports.DEFAULT_LUT_ADDRESSES.lend);
196
+ add(exports.DEFAULT_LUT_ADDRESSES.stv);
197
+ add(exports.DEFAULT_LUT_ADDRESSES.jlpd);
198
+ // Include explicit override (backward compat)
199
+ if (options.lutAddress)
200
+ add(options.lutAddress);
201
+ return addrs;
202
+ }
203
+ /**
204
+ * Pre-check if instructions will fit in a legacy transaction.
205
+ * Cheaper than actually signing — just serialize without signatures.
206
+ */
207
+ function checkNeedsVersionedTx(instructions, payer, blockhash) {
208
+ try {
209
+ const tx = new web3_js_1.Transaction();
210
+ // Add 2 placeholder compute budget ixs (they'll be prepended)
211
+ tx.add(web3_js_1.ComputeBudgetProgram.setComputeUnitLimit({ units: 200000 }));
212
+ tx.add(web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({ microLamports: 50000 }));
213
+ for (const ix of instructions)
214
+ tx.add(ix);
215
+ tx.feePayer = payer;
216
+ tx.recentBlockhash = blockhash;
217
+ tx.serialize({ requireAllSignatures: false });
218
+ return false; // fits in legacy
219
+ }
220
+ catch {
221
+ return true; // needs versioned
222
+ }
223
+ }
224
+ /**
225
+ * Simulate transaction to get exact compute units consumed.
226
+ * Returns simulated CU + 10% buffer, or fallback if simulation fails.
227
+ */
228
+ async function simulateForCU(connection, instructions, payer, blockhash, luts) {
229
+ try {
230
+ // Build a simulation tx with max CU to avoid hitting the limit during sim
231
+ const simIxs = [
232
+ web3_js_1.ComputeBudgetProgram.setComputeUnitLimit({ units: 1400000 }),
233
+ ...instructions,
234
+ ];
235
+ // Try versioned simulation first (works with LUTs)
236
+ const conn = connection;
237
+ const msgV0 = new web3_js_1.TransactionMessage({
238
+ payerKey: payer,
239
+ recentBlockhash: blockhash,
240
+ instructions: simIxs,
241
+ }).compileToV0Message(luts ?? []);
242
+ const simTx = new web3_js_1.VersionedTransaction(msgV0);
243
+ const simResult = await conn.simulateTransaction(simTx, {
244
+ sigVerify: false,
245
+ replaceRecentBlockhash: true,
246
+ });
247
+ if (simResult.value.err) {
248
+ // Simulation failed — use fallback
249
+ return FALLBACK_CU;
250
+ }
251
+ const unitsConsumed = simResult.value.unitsConsumed ?? FALLBACK_CU;
252
+ return Math.ceil(unitsConsumed * CU_BUFFER_MULTIPLIER);
253
+ }
254
+ catch {
255
+ return FALLBACK_CU;
256
+ }
257
+ }
258
+ /**
259
+ * Fetch recommended priority fee from Helius (medium tier).
260
+ * Falls back to a default if Helius is unavailable.
261
+ */
262
+ async function fetchPriorityFee(connection) {
263
+ try {
264
+ // Extract RPC URL from connection
265
+ const conn = connection;
266
+ const rpcUrl = conn._rpcEndpoint ?? "";
267
+ // Only use Helius priority fee API if it's a Helius RPC
268
+ if (!rpcUrl.includes("helius")) {
269
+ return FALLBACK_PRIORITY_FEE;
270
+ }
271
+ const response = await fetch(rpcUrl, {
272
+ method: "POST",
273
+ headers: { "Content-Type": "application/json" },
274
+ body: JSON.stringify({
275
+ jsonrpc: "2.0",
276
+ id: "priority-fee",
277
+ method: "getPriorityFeeEstimate",
278
+ params: [{
279
+ options: {
280
+ priorityLevel: "Medium",
281
+ },
282
+ }],
283
+ }),
284
+ });
285
+ if (response.ok) {
286
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
287
+ const data = await response.json();
288
+ const fee = data?.result?.priorityFeeEstimate;
289
+ if (typeof fee === "number" && fee > 0) {
290
+ return Math.ceil(fee);
291
+ }
292
+ }
293
+ }
294
+ catch {
295
+ // Priority fee fetch failed — use fallback
296
+ }
297
+ return FALLBACK_PRIORITY_FEE;
298
+ }
299
+ //# sourceMappingURL=send-tx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-tx.js","sourceRoot":"","sources":["../../src/p-stv-core/send-tx.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Native SOL wrapping/unwrapping helpers.
3
+ *
4
+ * Builds instructions to transparently convert between native SOL and wSOL
5
+ * for deposit/withdraw operations on SOL-denominated vaults.
6
+ */
7
+ import { PublicKey, TransactionInstruction } from "@solana/web3.js";
8
+ /** Native SOL mint (wrapped SOL) */
9
+ export declare const NATIVE_SOL_MINT: PublicKey;
10
+ /** Check if a mint is native SOL (wSOL) */
11
+ export declare function isNativeSol(mint: PublicKey): boolean;
12
+ /** Derive a user's wSOL ATA */
13
+ export declare function findWsolAta(owner: PublicKey): PublicKey;
14
+ /**
15
+ * Build instructions to wrap native SOL into a wSOL ATA.
16
+ *
17
+ * 1. Create wSOL ATA (idempotent)
18
+ * 2. Transfer SOL from payer to wSOL ATA
19
+ * 3. Sync native balance
20
+ *
21
+ * @param payer - User's wallet
22
+ * @param lamports - Amount of SOL to wrap (in lamports)
23
+ * @returns Array of instructions to prepend before deposit
24
+ */
25
+ export declare function buildWrapSolIxs(payer: PublicKey, lamports: bigint | number): TransactionInstruction[];
26
+ /**
27
+ * Build instruction to unwrap wSOL ATA back to native SOL.
28
+ *
29
+ * Closes the wSOL ATA, returning all SOL to the owner.
30
+ *
31
+ * @param owner - User's wallet (receives the SOL)
32
+ * @returns Instruction to append after withdraw
33
+ */
34
+ export declare function buildUnwrapSolIx(owner: PublicKey): TransactionInstruction;
35
+ //# sourceMappingURL=sol-wrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sol-wrap.d.ts","sourceRoot":"","sources":["../../src/p-stv-core/sol-wrap.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,SAAS,EAET,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAEzB,oCAAoC;AACpC,eAAO,MAAM,eAAe,WAE3B,CAAC;AAUF,2CAA2C;AAC3C,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAEpD;AAED,+BAA+B;AAC/B,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAMvD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,GAAG,MAAM,GACxB,sBAAsB,EAAE,CAmB1B;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,sBAAsB,CAazE"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ /**
3
+ * Native SOL wrapping/unwrapping helpers.
4
+ *
5
+ * Builds instructions to transparently convert between native SOL and wSOL
6
+ * for deposit/withdraw operations on SOL-denominated vaults.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.NATIVE_SOL_MINT = void 0;
10
+ exports.isNativeSol = isNativeSol;
11
+ exports.findWsolAta = findWsolAta;
12
+ exports.buildWrapSolIxs = buildWrapSolIxs;
13
+ exports.buildUnwrapSolIx = buildUnwrapSolIx;
14
+ const web3_js_1 = require("@solana/web3.js");
15
+ /** Native SOL mint (wrapped SOL) */
16
+ exports.NATIVE_SOL_MINT = new web3_js_1.PublicKey("So11111111111111111111111111111111111111112");
17
+ const SPL_TOKEN_PROGRAM = new web3_js_1.PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");
18
+ const ATA_PROGRAM = new web3_js_1.PublicKey("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");
19
+ /** Check if a mint is native SOL (wSOL) */
20
+ function isNativeSol(mint) {
21
+ return mint.equals(exports.NATIVE_SOL_MINT);
22
+ }
23
+ /** Derive a user's wSOL ATA */
24
+ function findWsolAta(owner) {
25
+ const [ata] = web3_js_1.PublicKey.findProgramAddressSync([owner.toBuffer(), SPL_TOKEN_PROGRAM.toBuffer(), exports.NATIVE_SOL_MINT.toBuffer()], ATA_PROGRAM);
26
+ return ata;
27
+ }
28
+ /**
29
+ * Build instructions to wrap native SOL into a wSOL ATA.
30
+ *
31
+ * 1. Create wSOL ATA (idempotent)
32
+ * 2. Transfer SOL from payer to wSOL ATA
33
+ * 3. Sync native balance
34
+ *
35
+ * @param payer - User's wallet
36
+ * @param lamports - Amount of SOL to wrap (in lamports)
37
+ * @returns Array of instructions to prepend before deposit
38
+ */
39
+ function buildWrapSolIxs(payer, lamports) {
40
+ const wsolAta = findWsolAta(payer);
41
+ return [
42
+ // Create wSOL ATA (idempotent)
43
+ createAtaIxInternal(payer, exports.NATIVE_SOL_MINT, payer),
44
+ // Transfer SOL to wSOL ATA
45
+ web3_js_1.SystemProgram.transfer({
46
+ fromPubkey: payer,
47
+ toPubkey: wsolAta,
48
+ lamports: BigInt(lamports),
49
+ }),
50
+ // Sync native balance
51
+ new web3_js_1.TransactionInstruction({
52
+ programId: SPL_TOKEN_PROGRAM,
53
+ keys: [{ pubkey: wsolAta, isSigner: false, isWritable: true }],
54
+ data: Buffer.from([17]), // SyncNative = 17
55
+ }),
56
+ ];
57
+ }
58
+ /**
59
+ * Build instruction to unwrap wSOL ATA back to native SOL.
60
+ *
61
+ * Closes the wSOL ATA, returning all SOL to the owner.
62
+ *
63
+ * @param owner - User's wallet (receives the SOL)
64
+ * @returns Instruction to append after withdraw
65
+ */
66
+ function buildUnwrapSolIx(owner) {
67
+ const wsolAta = findWsolAta(owner);
68
+ // CloseAccount = 9
69
+ return new web3_js_1.TransactionInstruction({
70
+ programId: SPL_TOKEN_PROGRAM,
71
+ keys: [
72
+ { pubkey: wsolAta, isSigner: false, isWritable: true },
73
+ { pubkey: owner, isSigner: false, isWritable: true },
74
+ { pubkey: owner, isSigner: true, isWritable: false },
75
+ ],
76
+ data: Buffer.from([9]),
77
+ });
78
+ }
79
+ /** Internal: create ATA (idempotent) */
80
+ function createAtaIxInternal(payer, mint, owner) {
81
+ const [ata] = web3_js_1.PublicKey.findProgramAddressSync([owner.toBuffer(), SPL_TOKEN_PROGRAM.toBuffer(), mint.toBuffer()], ATA_PROGRAM);
82
+ return new web3_js_1.TransactionInstruction({
83
+ keys: [
84
+ { pubkey: payer, isSigner: true, isWritable: true },
85
+ { pubkey: ata, isSigner: false, isWritable: true },
86
+ { pubkey: owner, isSigner: false, isWritable: false },
87
+ { pubkey: mint, isSigner: false, isWritable: false },
88
+ { pubkey: web3_js_1.SystemProgram.programId, isSigner: false, isWritable: false },
89
+ { pubkey: SPL_TOKEN_PROGRAM, isSigner: false, isWritable: false },
90
+ ],
91
+ programId: ATA_PROGRAM,
92
+ data: Buffer.from([1]), // CreateIdempotent
93
+ });
94
+ }
95
+ //# sourceMappingURL=sol-wrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sol-wrap.js","sourceRoot":"","sources":["../../src/p-stv-core/sol-wrap.ts"],"names":[],"mappings":"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"}
@@ -22,13 +22,17 @@ export interface Stv {
22
22
  hwm: BN;
23
23
  lastFeeTs: BN;
24
24
  epochPps: BN;
25
+ lastNav: BN;
26
+ dailyWithdrawnBase: BN;
25
27
  nextEpochTs: number;
26
28
  epochSec: number;
27
29
  currentEpochId: number;
28
30
  pendingWithdrawals: number;
31
+ withdrawWindowStart: number;
29
32
  mgmtFeeBps: number;
30
33
  perfFeeBps: number;
31
34
  flags: number;
35
+ dailyWithdrawLimitBps: number;
32
36
  strategyCount: number;
33
37
  version: number;
34
38
  bump: number;
@@ -161,5 +165,16 @@ export interface ManagerRemovedEvent {
161
165
  stv: PublicKey;
162
166
  manager: PublicKey;
163
167
  }
164
- export type StvEvent = ConfigInitializedEvent | ConfigUpdatedEvent | StvCreatedEvent | StvUpdatedEvent | DepositedEvent | WithdrawRequestedEvent | WithdrawRequestIncreasedEvent | WithdrawClaimedEvent | DepositedToStrategyEvent | WithdrawnFromStrategyEvent | EpochProcessedEvent | EpochAdvancedEvent | FeesSettledEvent | StvClosedEvent | ManagerAddedEvent | ManagerRemovedEvent;
168
+ export interface WithdrawOverrideClaimedEvent {
169
+ name: "WithdrawOverrideClaimed";
170
+ vaultId: BN;
171
+ manager: PublicKey;
172
+ user: PublicKey;
173
+ shares: BN;
174
+ baseAmount: BN;
175
+ epochId: number;
176
+ dailyWithdrawnBase: BN;
177
+ dailyLimit: BN;
178
+ }
179
+ export type StvEvent = ConfigInitializedEvent | ConfigUpdatedEvent | StvCreatedEvent | StvUpdatedEvent | DepositedEvent | WithdrawRequestedEvent | WithdrawRequestIncreasedEvent | WithdrawClaimedEvent | DepositedToStrategyEvent | WithdrawnFromStrategyEvent | EpochProcessedEvent | EpochAdvancedEvent | FeesSettledEvent | StvClosedEvent | ManagerAddedEvent | ManagerRemovedEvent | WithdrawOverrideClaimedEvent;
165
180
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/p-stv-core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/p-stv-core/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elemental-stv-core/sdk",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "TypeScript SDK for Elemental Vaults — p-STV Core, Elemental Lend, JLPD Strategy",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",