@elemental-stv-core/sdk 0.1.1 → 0.3.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 (131) hide show
  1. package/dist/elemental-lend/accounts.d.ts +4 -1
  2. package/dist/elemental-lend/accounts.d.ts.map +1 -1
  3. package/dist/elemental-lend/accounts.js +34 -0
  4. package/dist/elemental-lend/accounts.js.map +1 -1
  5. package/dist/elemental-lend/constants.d.ts +5 -0
  6. package/dist/elemental-lend/constants.d.ts.map +1 -1
  7. package/dist/elemental-lend/constants.js +9 -1
  8. package/dist/elemental-lend/constants.js.map +1 -1
  9. package/dist/elemental-lend/index.d.ts +2 -0
  10. package/dist/elemental-lend/index.d.ts.map +1 -1
  11. package/dist/elemental-lend/index.js +2 -0
  12. package/dist/elemental-lend/index.js.map +1 -1
  13. package/dist/elemental-lend/instructions.d.ts +24 -4
  14. package/dist/elemental-lend/instructions.d.ts.map +1 -1
  15. package/dist/elemental-lend/instructions.js +49 -12
  16. package/dist/elemental-lend/instructions.js.map +1 -1
  17. package/dist/elemental-lend/jupiter-lend.d.ts +36 -0
  18. package/dist/elemental-lend/jupiter-lend.d.ts.map +1 -1
  19. package/dist/elemental-lend/jupiter-lend.js +94 -1
  20. package/dist/elemental-lend/jupiter-lend.js.map +1 -1
  21. package/dist/elemental-lend/kamino-vault.d.ts +173 -0
  22. package/dist/elemental-lend/kamino-vault.d.ts.map +1 -0
  23. package/dist/elemental-lend/kamino-vault.js +460 -0
  24. package/dist/elemental-lend/kamino-vault.js.map +1 -0
  25. package/dist/elemental-lend/pda.d.ts +1 -0
  26. package/dist/elemental-lend/pda.d.ts.map +1 -1
  27. package/dist/elemental-lend/pda.js +4 -0
  28. package/dist/elemental-lend/pda.js.map +1 -1
  29. package/dist/elemental-lend/protocol-actions.d.ts +49 -0
  30. package/dist/elemental-lend/protocol-actions.d.ts.map +1 -0
  31. package/dist/elemental-lend/protocol-actions.js +228 -0
  32. package/dist/elemental-lend/protocol-actions.js.map +1 -0
  33. package/dist/elemental-lend/types.d.ts +17 -1
  34. package/dist/elemental-lend/types.d.ts.map +1 -1
  35. package/dist/index.d.ts +1 -1
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +2 -2
  38. package/dist/index.js.map +1 -1
  39. package/dist/jlpd-strategy/accounts.d.ts +17 -0
  40. package/dist/jlpd-strategy/accounts.d.ts.map +1 -0
  41. package/dist/{jlp-strategy → jlpd-strategy}/accounts.js +50 -28
  42. package/dist/jlpd-strategy/accounts.js.map +1 -0
  43. package/dist/jlpd-strategy/constants.d.ts +62 -0
  44. package/dist/jlpd-strategy/constants.d.ts.map +1 -0
  45. package/dist/jlpd-strategy/constants.js +86 -0
  46. package/dist/jlpd-strategy/constants.js.map +1 -0
  47. package/dist/jlpd-strategy/index.d.ts +9 -0
  48. package/dist/jlpd-strategy/index.d.ts.map +1 -0
  49. package/dist/{jlp-strategy → jlpd-strategy}/index.js +4 -0
  50. package/dist/jlpd-strategy/index.js.map +1 -0
  51. package/dist/jlpd-strategy/instructions.d.ts +41 -0
  52. package/dist/jlpd-strategy/instructions.d.ts.map +1 -0
  53. package/dist/jlpd-strategy/instructions.js +64 -0
  54. package/dist/jlpd-strategy/instructions.js.map +1 -0
  55. package/dist/jlpd-strategy/jlp-data.d.ts +73 -0
  56. package/dist/jlpd-strategy/jlp-data.d.ts.map +1 -0
  57. package/dist/jlpd-strategy/jlp-data.js +406 -0
  58. package/dist/jlpd-strategy/jlp-data.js.map +1 -0
  59. package/dist/jlpd-strategy/pda.d.ts +8 -0
  60. package/dist/jlpd-strategy/pda.d.ts.map +1 -0
  61. package/dist/{jlp-strategy → jlpd-strategy}/pda.js +10 -3
  62. package/dist/jlpd-strategy/pda.js.map +1 -0
  63. package/dist/jlpd-strategy/settle-yield.d.ts +54 -0
  64. package/dist/jlpd-strategy/settle-yield.d.ts.map +1 -0
  65. package/dist/jlpd-strategy/settle-yield.js +103 -0
  66. package/dist/jlpd-strategy/settle-yield.js.map +1 -0
  67. package/dist/jlpd-strategy/swap-jlp.d.ts +151 -0
  68. package/dist/jlpd-strategy/swap-jlp.d.ts.map +1 -0
  69. package/dist/jlpd-strategy/swap-jlp.js +429 -0
  70. package/dist/jlpd-strategy/swap-jlp.js.map +1 -0
  71. package/dist/jlpd-strategy/types.d.ts +56 -0
  72. package/dist/jlpd-strategy/types.d.ts.map +1 -0
  73. package/dist/{jlp-strategy → jlpd-strategy}/types.js.map +1 -1
  74. package/dist/p-stv-core/accounts.d.ts +4 -1
  75. package/dist/p-stv-core/accounts.d.ts.map +1 -1
  76. package/dist/p-stv-core/accounts.js +59 -22
  77. package/dist/p-stv-core/accounts.js.map +1 -1
  78. package/dist/p-stv-core/constants.d.ts +12 -1
  79. package/dist/p-stv-core/constants.d.ts.map +1 -1
  80. package/dist/p-stv-core/constants.js +16 -2
  81. package/dist/p-stv-core/constants.js.map +1 -1
  82. package/dist/p-stv-core/events.d.ts.map +1 -1
  83. package/dist/p-stv-core/events.js +21 -9
  84. package/dist/p-stv-core/events.js.map +1 -1
  85. package/dist/p-stv-core/index.d.ts +4 -0
  86. package/dist/p-stv-core/index.d.ts.map +1 -1
  87. package/dist/p-stv-core/index.js +4 -0
  88. package/dist/p-stv-core/index.js.map +1 -1
  89. package/dist/p-stv-core/instructions.d.ts +58 -1
  90. package/dist/p-stv-core/instructions.d.ts.map +1 -1
  91. package/dist/p-stv-core/instructions.js +93 -9
  92. package/dist/p-stv-core/instructions.js.map +1 -1
  93. package/dist/p-stv-core/pda.d.ts +1 -0
  94. package/dist/p-stv-core/pda.d.ts.map +1 -1
  95. package/dist/p-stv-core/pda.js +4 -0
  96. package/dist/p-stv-core/pda.js.map +1 -1
  97. package/dist/p-stv-core/prices.d.ts +21 -0
  98. package/dist/p-stv-core/prices.d.ts.map +1 -0
  99. package/dist/p-stv-core/prices.js +78 -0
  100. package/dist/p-stv-core/prices.js.map +1 -0
  101. package/dist/p-stv-core/remaining-accounts.d.ts +99 -0
  102. package/dist/p-stv-core/remaining-accounts.d.ts.map +1 -0
  103. package/dist/p-stv-core/remaining-accounts.js +262 -0
  104. package/dist/p-stv-core/remaining-accounts.js.map +1 -0
  105. package/dist/p-stv-core/send-tx.d.ts +56 -0
  106. package/dist/p-stv-core/send-tx.d.ts.map +1 -0
  107. package/dist/p-stv-core/send-tx.js +299 -0
  108. package/dist/p-stv-core/send-tx.js.map +1 -0
  109. package/dist/p-stv-core/sol-wrap.d.ts +35 -0
  110. package/dist/p-stv-core/sol-wrap.d.ts.map +1 -0
  111. package/dist/p-stv-core/sol-wrap.js +95 -0
  112. package/dist/p-stv-core/sol-wrap.js.map +1 -0
  113. package/dist/p-stv-core/types.d.ts +35 -4
  114. package/dist/p-stv-core/types.d.ts.map +1 -1
  115. package/package.json +5 -5
  116. package/dist/jlp-strategy/accounts.d.ts +0 -11
  117. package/dist/jlp-strategy/accounts.d.ts.map +0 -1
  118. package/dist/jlp-strategy/accounts.js.map +0 -1
  119. package/dist/jlp-strategy/constants.d.ts +0 -36
  120. package/dist/jlp-strategy/constants.d.ts.map +0 -1
  121. package/dist/jlp-strategy/constants.js +0 -47
  122. package/dist/jlp-strategy/constants.js.map +0 -1
  123. package/dist/jlp-strategy/index.d.ts +0 -5
  124. package/dist/jlp-strategy/index.d.ts.map +0 -1
  125. package/dist/jlp-strategy/index.js.map +0 -1
  126. package/dist/jlp-strategy/pda.d.ts +0 -5
  127. package/dist/jlp-strategy/pda.d.ts.map +0 -1
  128. package/dist/jlp-strategy/pda.js.map +0 -1
  129. package/dist/jlp-strategy/types.d.ts +0 -25
  130. package/dist/jlp-strategy/types.d.ts.map +0 -1
  131. /package/dist/{jlp-strategy → jlpd-strategy}/types.js +0 -0
@@ -5,9 +5,13 @@ exports.createInitOrUpdateStvIx = createInitOrUpdateStvIx;
5
5
  exports.createDepositIx = createDepositIx;
6
6
  exports.createRequestWithdrawIx = createRequestWithdrawIx;
7
7
  exports.createClaimWithdrawIx = createClaimWithdrawIx;
8
+ exports.createOverrideClaimWithdrawIx = createOverrideClaimWithdrawIx;
8
9
  exports.createProcessEpochIx = createProcessEpochIx;
9
10
  exports.createDepositToStrategyIx = createDepositToStrategyIx;
10
11
  exports.createWithdrawFromStrategyIx = createWithdrawFromStrategyIx;
12
+ exports.createCloseStvIx = createCloseStvIx;
13
+ exports.createAddManagerIx = createAddManagerIx;
14
+ exports.createRemoveManagerIx = createRemoveManagerIx;
11
15
  exports.buildLendRemainingAccounts = buildLendRemainingAccounts;
12
16
  exports.buildStrategyRemainingAccounts = buildStrategyRemainingAccounts;
13
17
  const web3_js_1 = require("@solana/web3.js");
@@ -31,12 +35,11 @@ function createInitOrUpdateConfigIx(args, programId = constants_1.PROGRAM_ID) {
31
35
  });
32
36
  }
33
37
  function createInitOrUpdateStvIx(args, programId = constants_1.PROGRAM_ID) {
34
- const { admin, payer, config, stv, evMint, baseMint, vaultAta, tokenProgram, ataProgram = spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID, systemProgram = web3_js_1.SystemProgram.programId, vaultId, stvBump, evMintBump, manager, feeReceiver, strategy, epochSec, mgmtFeeBps, perfFeeBps, vaultCapacity, minDeposit, flags, addStrategy, removeStrategy, lendProgram, remainingAccounts = [], } = args;
38
+ const { admin, payer, config, stv, evMint, baseMint, vaultAta, tokenProgram, ataProgram = spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID, systemProgram = web3_js_1.SystemProgram.programId, vaultId, stvBump, evMintBump, feeReceiver, strategy, epochSec, mgmtFeeBps, perfFeeBps, vaultCapacity, minDeposit, flags, addStrategy, removeStrategy, lendProgram, dailyWithdrawLimitBps, remainingAccounts = [], } = args;
35
39
  const data = [constants_1.IX_INIT_OR_UPDATE_STV];
36
40
  (0, buffer_1.writeU64)(data, vaultId);
37
41
  data.push(stvBump & 0xff);
38
42
  data.push(evMintBump & 0xff);
39
- (0, buffer_1.writeOptionalPubkey)(data, manager);
40
43
  (0, buffer_1.writeOptionalPubkey)(data, feeReceiver);
41
44
  (0, buffer_1.writeOptionalPubkey)(data, strategy);
42
45
  (0, buffer_1.writeOptionalU32)(data, epochSec);
@@ -48,6 +51,7 @@ function createInitOrUpdateStvIx(args, programId = constants_1.PROGRAM_ID) {
48
51
  (0, buffer_1.writeOptionalPubkey)(data, addStrategy);
49
52
  (0, buffer_1.writeOptionalPubkey)(data, removeStrategy);
50
53
  (0, buffer_1.writeOptionalPubkey)(data, lendProgram);
54
+ (0, buffer_1.writeOptionalU16)(data, dailyWithdrawLimitBps);
51
55
  return new web3_js_1.TransactionInstruction({
52
56
  keys: [
53
57
  { pubkey: admin, isSigner: true, isWritable: false },
@@ -67,10 +71,12 @@ function createInitOrUpdateStvIx(args, programId = constants_1.PROGRAM_ID) {
67
71
  });
68
72
  }
69
73
  function createDepositIx(args, programId = constants_1.PROGRAM_ID) {
70
- const { user, stv, vaultAta, userBaseAta, userEvAta, evMint, feeReceiverEvAta, baseMint, tokenProgram, amount, minShares, remainingAccounts = [], } = args;
74
+ const { user, stv, vaultAta, userBaseAta, userEvAta, evMint, feeReceiverEvAta, baseMint, tokenProgram, amount, minShares, protocolAumCount = 0, autoRouteCount = 0, remainingAccounts = [], } = args;
71
75
  const data = [constants_1.IX_DEPOSIT];
72
76
  (0, buffer_1.writeU64)(data, amount);
73
77
  (0, buffer_1.writeU64)(data, minShares);
78
+ data.push(protocolAumCount & 0xff);
79
+ data.push(autoRouteCount & 0xff);
74
80
  return new web3_js_1.TransactionInstruction({
75
81
  keys: [
76
82
  { pubkey: user, isSigner: true, isWritable: true },
@@ -109,7 +115,10 @@ function createRequestWithdrawIx(args, programId = constants_1.PROGRAM_ID) {
109
115
  });
110
116
  }
111
117
  function createClaimWithdrawIx(args, programId = constants_1.PROGRAM_ID) {
112
- const { user, stv, withdrawRequest, vaultAta, userBaseAta, baseMint, tokenProgram, remainingAccounts = [], } = args;
118
+ const { user, stv, withdrawRequest, vaultAta, userBaseAta, baseMint, tokenProgram, remainingAccounts = [], autoUnrouteCount = 0, } = args;
119
+ const data = autoUnrouteCount > 0
120
+ ? Buffer.from([constants_1.IX_CLAIM_WITHDRAW, autoUnrouteCount & 0xff])
121
+ : Buffer.from([constants_1.IX_CLAIM_WITHDRAW]);
113
122
  return new web3_js_1.TransactionInstruction({
114
123
  keys: [
115
124
  { pubkey: user, isSigner: true, isWritable: true },
@@ -122,11 +131,33 @@ function createClaimWithdrawIx(args, programId = constants_1.PROGRAM_ID) {
122
131
  ...remainingAccounts,
123
132
  ],
124
133
  programId,
125
- data: Buffer.from([constants_1.IX_CLAIM_WITHDRAW]),
134
+ data,
135
+ });
136
+ }
137
+ function createOverrideClaimWithdrawIx(args, programId = constants_1.PROGRAM_ID) {
138
+ const { manager, managerRole, user, stv, withdrawRequest, vaultAta, userBaseAta, baseMint, tokenProgram, remainingAccounts = [], autoUnrouteCount = 0, } = args;
139
+ const data = autoUnrouteCount > 0
140
+ ? Buffer.from([constants_1.IX_OVERRIDE_CLAIM_WITHDRAW, autoUnrouteCount & 0xff])
141
+ : Buffer.from([constants_1.IX_OVERRIDE_CLAIM_WITHDRAW]);
142
+ return new web3_js_1.TransactionInstruction({
143
+ keys: [
144
+ { pubkey: manager, isSigner: true, isWritable: false },
145
+ { pubkey: managerRole, isSigner: false, isWritable: false },
146
+ { pubkey: user, isSigner: false, isWritable: true },
147
+ { pubkey: stv, isSigner: false, isWritable: true },
148
+ { pubkey: withdrawRequest, isSigner: false, isWritable: true },
149
+ { pubkey: vaultAta, isSigner: false, isWritable: true },
150
+ { pubkey: userBaseAta, isSigner: false, isWritable: true },
151
+ { pubkey: baseMint, isSigner: false, isWritable: false },
152
+ { pubkey: tokenProgram, isSigner: false, isWritable: false },
153
+ ...remainingAccounts,
154
+ ],
155
+ programId,
156
+ data,
126
157
  });
127
158
  }
128
159
  function createProcessEpochIx(args, programId = constants_1.PROGRAM_ID) {
129
- const { payer, stv, evMint, feeReceiverEvAta, escrowEvAta, vaultAta, tokenProgram, advanceEpoch, remainingAccounts = [], } = args;
160
+ const { payer, stv, evMint, feeReceiverEvAta, escrowEvAta, vaultAta, tokenProgram, advanceEpoch, protocolAumCount = 0, remainingAccounts = [], } = args;
130
161
  return new web3_js_1.TransactionInstruction({
131
162
  keys: [
132
163
  { pubkey: payer, isSigner: true, isWritable: true },
@@ -139,17 +170,21 @@ function createProcessEpochIx(args, programId = constants_1.PROGRAM_ID) {
139
170
  ...remainingAccounts,
140
171
  ],
141
172
  programId,
142
- data: Buffer.from([constants_1.IX_PROCESS_EPOCH, advanceEpoch ? 1 : 0]),
173
+ data: Buffer.from([constants_1.IX_PROCESS_EPOCH, advanceEpoch ? 1 : 0, protocolAumCount & 0xff]),
143
174
  });
144
175
  }
145
176
  function createDepositToStrategyIx(args, programId = constants_1.PROGRAM_ID) {
146
- const { manager, stv, vaultAta, baseMint, strategyProgram, strategyState, stvPosition, strategyBaseAta, tokenProgram, amount, minShares, remainingAccounts = [], } = args;
177
+ const { manager, managerRole, stv, vaultAta, baseMint, strategyProgram, strategyState, stvPosition, strategyBaseAta, tokenProgram, amount, minShares, autoUnrouteCount = 0, remainingAccounts = [], } = args;
147
178
  const data = [constants_1.IX_DEPOSIT_TO_STRATEGY];
148
179
  (0, buffer_1.writeU64)(data, amount);
149
180
  (0, buffer_1.writeU64)(data, minShares);
181
+ if (autoUnrouteCount > 0) {
182
+ data.push(autoUnrouteCount & 0xff);
183
+ }
150
184
  return new web3_js_1.TransactionInstruction({
151
185
  keys: [
152
186
  { pubkey: manager, isSigner: true, isWritable: true },
187
+ { pubkey: managerRole, isSigner: false, isWritable: false },
153
188
  { pubkey: stv, isSigner: false, isWritable: true },
154
189
  { pubkey: vaultAta, isSigner: false, isWritable: true },
155
190
  { pubkey: baseMint, isSigner: false, isWritable: false },
@@ -165,12 +200,13 @@ function createDepositToStrategyIx(args, programId = constants_1.PROGRAM_ID) {
165
200
  });
166
201
  }
167
202
  function createWithdrawFromStrategyIx(args, programId = constants_1.PROGRAM_ID) {
168
- const { manager, stv, vaultAta, baseMint, strategyProgram, strategyState, stvPosition, strategyBaseAta, tokenProgram, shares, remainingAccounts = [], } = args;
203
+ const { manager, managerRole, stv, vaultAta, baseMint, strategyProgram, strategyState, stvPosition, strategyBaseAta, tokenProgram, shares, remainingAccounts = [], } = args;
169
204
  const data = [constants_1.IX_WITHDRAW_FROM_STRATEGY];
170
205
  (0, buffer_1.writeU64)(data, shares);
171
206
  return new web3_js_1.TransactionInstruction({
172
207
  keys: [
173
208
  { pubkey: manager, isSigner: true, isWritable: true },
209
+ { pubkey: managerRole, isSigner: false, isWritable: false },
174
210
  { pubkey: stv, isSigner: false, isWritable: true },
175
211
  { pubkey: vaultAta, isSigner: false, isWritable: true },
176
212
  { pubkey: baseMint, isSigner: false, isWritable: false },
@@ -185,6 +221,54 @@ function createWithdrawFromStrategyIx(args, programId = constants_1.PROGRAM_ID)
185
221
  data: Buffer.from(data),
186
222
  });
187
223
  }
224
+ function createCloseStvIx(args, programId = constants_1.PROGRAM_ID) {
225
+ const { admin, payer, config, stv, evMint, vaultAta, baseMint, tokenProgram, remainingAccounts = [] } = args;
226
+ return new web3_js_1.TransactionInstruction({
227
+ keys: [
228
+ { pubkey: admin, isSigner: true, isWritable: false },
229
+ { pubkey: payer, isSigner: true, isWritable: true },
230
+ { pubkey: config, isSigner: false, isWritable: false },
231
+ { pubkey: stv, isSigner: false, isWritable: true },
232
+ { pubkey: evMint, isSigner: false, isWritable: true },
233
+ { pubkey: vaultAta, isSigner: false, isWritable: true },
234
+ { pubkey: baseMint, isSigner: false, isWritable: false },
235
+ { pubkey: tokenProgram, isSigner: false, isWritable: false },
236
+ ...remainingAccounts,
237
+ ],
238
+ programId,
239
+ data: Buffer.from([constants_1.IX_CLOSE_STV]),
240
+ });
241
+ }
242
+ function createAddManagerIx(args, programId = constants_1.PROGRAM_ID) {
243
+ const { admin, payer, config, stv, managerRole, managerRoleBump, manager, systemProgram = web3_js_1.SystemProgram.programId, } = args;
244
+ const data = [constants_1.IX_ADD_MANAGER, managerRoleBump & 0xff];
245
+ data.push(...manager.toBuffer());
246
+ return new web3_js_1.TransactionInstruction({
247
+ keys: [
248
+ { pubkey: admin, isSigner: true, isWritable: false },
249
+ { pubkey: payer, isSigner: true, isWritable: true },
250
+ { pubkey: config, isSigner: false, isWritable: false },
251
+ { pubkey: stv, isSigner: false, isWritable: false },
252
+ { pubkey: managerRole, isSigner: false, isWritable: true },
253
+ { pubkey: systemProgram, isSigner: false, isWritable: false },
254
+ ],
255
+ programId,
256
+ data: Buffer.from(data),
257
+ });
258
+ }
259
+ function createRemoveManagerIx(args, programId = constants_1.PROGRAM_ID) {
260
+ const { admin, payer, config, managerRole } = args;
261
+ return new web3_js_1.TransactionInstruction({
262
+ keys: [
263
+ { pubkey: admin, isSigner: true, isWritable: false },
264
+ { pubkey: payer, isSigner: false, isWritable: true },
265
+ { pubkey: config, isSigner: false, isWritable: false },
266
+ { pubkey: managerRole, isSigner: false, isWritable: true },
267
+ ],
268
+ programId,
269
+ data: Buffer.from([constants_1.IX_REMOVE_MANAGER]),
270
+ });
271
+ }
188
272
  // ---------------------------------------------------------------------------
189
273
  // Remaining Accounts Helpers
190
274
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/p-stv-core/instructions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/p-stv-core/instructions.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,5 @@ export declare function findConfigPda(programId?: PublicKey): [PublicKey, number
4
4
  export declare function findStvPda(vaultId: number | BN, programId?: PublicKey): [PublicKey, number];
5
5
  export declare function findEvMintPda(vaultId: number | BN, programId?: PublicKey): [PublicKey, number];
6
6
  export declare function findWithdrawRequestPda(stv: PublicKey, user: PublicKey, epochId: number, programId?: PublicKey): [PublicKey, number];
7
+ export declare function findManagerRolePda(stv: PublicKey, manager: PublicKey, programId?: PublicKey): [PublicKey, number];
7
8
  //# sourceMappingURL=pda.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pda.d.ts","sourceRoot":"","sources":["../../src/p-stv-core/pda.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,MAAM,OAAO,CAAC;AASvB,wBAAgB,aAAa,CAC3B,SAAS,GAAE,SAAsB,GAChC,CAAC,SAAS,EAAE,MAAM,CAAC,CAErB;AAED,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,GAAG,EAAE,EACpB,SAAS,GAAE,SAAsB,GAChC,CAAC,SAAS,EAAE,MAAM,CAAC,CAMrB;AAED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,GAAG,EAAE,EACpB,SAAS,GAAE,SAAsB,GAChC,CAAC,SAAS,EAAE,MAAM,CAAC,CAMrB;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,SAAsB,GAChC,CAAC,SAAS,EAAE,MAAM,CAAC,CAOrB"}
1
+ {"version":3,"file":"pda.d.ts","sourceRoot":"","sources":["../../src/p-stv-core/pda.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,MAAM,OAAO,CAAC;AAUvB,wBAAgB,aAAa,CAC3B,SAAS,GAAE,SAAsB,GAChC,CAAC,SAAS,EAAE,MAAM,CAAC,CAErB;AAED,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,GAAG,EAAE,EACpB,SAAS,GAAE,SAAsB,GAChC,CAAC,SAAS,EAAE,MAAM,CAAC,CAMrB;AAED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,GAAG,EAAE,EACpB,SAAS,GAAE,SAAsB,GAChC,CAAC,SAAS,EAAE,MAAM,CAAC,CAMrB;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,SAAsB,GAChC,CAAC,SAAS,EAAE,MAAM,CAAC,CAOrB;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,SAAS,EAClB,SAAS,GAAE,SAAsB,GAChC,CAAC,SAAS,EAAE,MAAM,CAAC,CAKrB"}
@@ -7,6 +7,7 @@ exports.findConfigPda = findConfigPda;
7
7
  exports.findStvPda = findStvPda;
8
8
  exports.findEvMintPda = findEvMintPda;
9
9
  exports.findWithdrawRequestPda = findWithdrawRequestPda;
10
+ exports.findManagerRolePda = findManagerRolePda;
10
11
  const web3_js_1 = require("@solana/web3.js");
11
12
  const bn_js_1 = __importDefault(require("bn.js"));
12
13
  const constants_1 = require("./constants");
@@ -26,4 +27,7 @@ function findWithdrawRequestPda(stv, user, epochId, programId = constants_1.PROG
26
27
  epochBuf.writeUInt32LE(epochId, 0);
27
28
  return web3_js_1.PublicKey.findProgramAddressSync([constants_1.WITHDRAW_REQUEST_SEED, stv.toBuffer(), user.toBuffer(), epochBuf], programId);
28
29
  }
30
+ function findManagerRolePda(stv, manager, programId = constants_1.PROGRAM_ID) {
31
+ return web3_js_1.PublicKey.findProgramAddressSync([constants_1.MANAGER_SEED, stv.toBuffer(), manager.toBuffer()], programId);
32
+ }
29
33
  //# sourceMappingURL=pda.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pda.js","sourceRoot":"","sources":["../../src/p-stv-core/pda.ts"],"names":[],"mappings":";;;;;AAUA,sCAIC;AAED,gCASC;AAED,sCASC;AAED,wDAYC;AAlDD,6CAA4C;AAC5C,kDAAuB;AACvB,2CAMqB;AAErB,SAAgB,aAAa,CAC3B,YAAuB,sBAAU;IAEjC,OAAO,mBAAS,CAAC,sBAAsB,CAAC,CAAC,uBAAW,CAAC,EAAE,SAAS,CAAC,CAAC;AACpE,CAAC;AAED,SAAgB,UAAU,CACxB,OAAoB,EACpB,YAAuB,sBAAU;IAEjC,MAAM,EAAE,GAAG,IAAI,eAAE,CAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,mBAAS,CAAC,sBAAsB,CACrC,CAAC,oBAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAC3C,SAAS,CACV,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAC3B,OAAoB,EACpB,YAAuB,sBAAU;IAEjC,MAAM,EAAE,GAAG,IAAI,eAAE,CAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,mBAAS,CAAC,sBAAsB,CACrC,CAAC,wBAAY,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAC/C,SAAS,CACV,CAAC;AACJ,CAAC;AAED,SAAgB,sBAAsB,CACpC,GAAc,EACd,IAAe,EACf,OAAe,EACf,YAAuB,sBAAU;IAEjC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACnC,OAAO,mBAAS,CAAC,sBAAsB,CACrC,CAAC,iCAAqB,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,EAClE,SAAS,CACV,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"pda.js","sourceRoot":"","sources":["../../src/p-stv-core/pda.ts"],"names":[],"mappings":";;;;;AAWA,sCAIC;AAED,gCASC;AAED,sCASC;AAED,wDAYC;AAED,gDASC;AA9DD,6CAA4C;AAC5C,kDAAuB;AACvB,2CAOqB;AAErB,SAAgB,aAAa,CAC3B,YAAuB,sBAAU;IAEjC,OAAO,mBAAS,CAAC,sBAAsB,CAAC,CAAC,uBAAW,CAAC,EAAE,SAAS,CAAC,CAAC;AACpE,CAAC;AAED,SAAgB,UAAU,CACxB,OAAoB,EACpB,YAAuB,sBAAU;IAEjC,MAAM,EAAE,GAAG,IAAI,eAAE,CAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,mBAAS,CAAC,sBAAsB,CACrC,CAAC,oBAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAC3C,SAAS,CACV,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAC3B,OAAoB,EACpB,YAAuB,sBAAU;IAEjC,MAAM,EAAE,GAAG,IAAI,eAAE,CAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,mBAAS,CAAC,sBAAsB,CACrC,CAAC,wBAAY,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAC/C,SAAS,CACV,CAAC;AACJ,CAAC;AAED,SAAgB,sBAAsB,CACpC,GAAc,EACd,IAAe,EACf,OAAe,EACf,YAAuB,sBAAU;IAEjC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACnC,OAAO,mBAAS,CAAC,sBAAsB,CACrC,CAAC,iCAAqB,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,EAClE,SAAS,CACV,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAChC,GAAc,EACd,OAAkB,EAClB,YAAuB,sBAAU;IAEjC,OAAO,mBAAS,CAAC,sBAAsB,CACrC,CAAC,wBAAY,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,EAClD,SAAS,CACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * USD price fetcher for display purposes.
3
+ *
4
+ * Stablecoins (USDC, JupUSD) are hardcoded to $1.00.
5
+ * Other tokens use Jupiter swap quote API (1 unit → USDC) to derive price.
6
+ */
7
+ export interface TokenPrice {
8
+ mint: string;
9
+ price: number;
10
+ }
11
+ /**
12
+ * Fetch USD prices for a list of token mint addresses.
13
+ *
14
+ * Stablecoins (USDC, JupUSD) are hardcoded to $1.00.
15
+ * Other tokens: fetches a Jupiter swap quote (1 unit → USDC) to derive price.
16
+ *
17
+ * @param mints - Array of mint address strings (base58)
18
+ * @returns Record<mint, usdPrice>
19
+ */
20
+ export declare function fetchUsdPrices(mints: string[]): Promise<Record<string, number>>;
21
+ //# sourceMappingURL=prices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prices.d.ts","sourceRoot":"","sources":["../../src/p-stv-core/prices.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA6BH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAMD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EAAE,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAwCjC"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ /**
3
+ * USD price fetcher for display purposes.
4
+ *
5
+ * Stablecoins (USDC, JupUSD) are hardcoded to $1.00.
6
+ * Other tokens use Jupiter swap quote API (1 unit → USDC) to derive price.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.fetchUsdPrices = fetchUsdPrices;
10
+ const USDC_MINT = "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
11
+ const JUPUSD_MINT = "JuprjznTrTSp2UFa3ZBUFgwdAmtZCq4MQCwysN55USD";
12
+ /** Mints pegged 1:1 to USD */
13
+ const STABLE_MINTS = new Set([USDC_MINT, JUPUSD_MINT]);
14
+ /** Decimals per mint (for computing 1 unit in base units) */
15
+ const MINT_DECIMALS = {
16
+ "So11111111111111111111111111111111111111112": 9, // SOL
17
+ "3NZ9JMVBmGAqocybic2c7LQCJScmgsAZ6vQqTDzcqmJh": 8, // wBTC
18
+ "7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs": 8, // wETH
19
+ };
20
+ const USDC_DECIMALS = 6;
21
+ const JUPITER_QUOTE_API = "https://api.jup.ag/swap/v1/quote";
22
+ function getJupiterApiKey() {
23
+ if (typeof process !== "undefined" && process.env) {
24
+ return process.env.NEXT_PUBLIC_JUPITER_API_KEY || process.env.JUPITER_API_KEY;
25
+ }
26
+ return undefined;
27
+ }
28
+ // ---------------------------------------------------------------------------
29
+ // Public API
30
+ // ---------------------------------------------------------------------------
31
+ /**
32
+ * Fetch USD prices for a list of token mint addresses.
33
+ *
34
+ * Stablecoins (USDC, JupUSD) are hardcoded to $1.00.
35
+ * Other tokens: fetches a Jupiter swap quote (1 unit → USDC) to derive price.
36
+ *
37
+ * @param mints - Array of mint address strings (base58)
38
+ * @returns Record<mint, usdPrice>
39
+ */
40
+ async function fetchUsdPrices(mints) {
41
+ const prices = {};
42
+ const toFetch = [];
43
+ for (const mint of mints) {
44
+ if (STABLE_MINTS.has(mint)) {
45
+ prices[mint] = 1.0;
46
+ }
47
+ else if (MINT_DECIMALS[mint] !== undefined) {
48
+ toFetch.push(mint);
49
+ }
50
+ }
51
+ if (toFetch.length === 0)
52
+ return prices;
53
+ const apiKey = getJupiterApiKey();
54
+ const headers = {};
55
+ if (apiKey)
56
+ headers["x-api-key"] = apiKey;
57
+ // Fetch prices in parallel (1 unit of each → USDC)
58
+ const results = await Promise.allSettled(toFetch.map(async (mint) => {
59
+ const decimals = MINT_DECIMALS[mint];
60
+ const oneUnit = Math.pow(10, decimals).toString();
61
+ const url = `${JUPITER_QUOTE_API}?inputMint=${mint}&outputMint=${USDC_MINT}&amount=${oneUnit}&slippageBps=50`;
62
+ const resp = await fetch(url, { headers });
63
+ if (!resp.ok)
64
+ return null;
65
+ const data = (await resp.json());
66
+ const outAmount = data?.outAmount;
67
+ if (!outAmount)
68
+ return null;
69
+ return { mint, price: Number(outAmount) / Math.pow(10, USDC_DECIMALS) };
70
+ }));
71
+ for (const result of results) {
72
+ if (result.status === "fulfilled" && result.value) {
73
+ prices[result.value.mint] = result.value.price;
74
+ }
75
+ }
76
+ return prices;
77
+ }
78
+ //# sourceMappingURL=prices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prices.js","sourceRoot":"","sources":["../../src/p-stv-core/prices.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Remaining accounts builders for p-STV Core instructions.
3
+ *
4
+ * These functions build the complete `remainingAccounts` arrays needed for
5
+ * deposit, claim_withdraw, and process_epoch instructions, pulling all the
6
+ * lend + protocol AUM + strategy pair + auto-route/unroute account building
7
+ * logic out of the frontend and into the SDK.
8
+ */
9
+ import { AccountMeta, Connection, PublicKey, TransactionInstruction } from "@solana/web3.js";
10
+ /**
11
+ * Minimal connection interface accepted by the context builders.
12
+ * Using a structural type avoids nominal type mismatches when the
13
+ * consumer has a different version of @solana/web3.js installed.
14
+ */
15
+ export type SolanaConnection = Pick<Connection, "getAccountInfo" | "getMultipleAccountsInfo" | "getTokenAccountsByOwner" | "getSlot" | "getEpochInfo" | "getBlockTime">;
16
+ /** Minimal vault shape required by the context builders. */
17
+ export interface VaultInfo {
18
+ /** STV account address */
19
+ address: PublicKey;
20
+ /** Base token mint */
21
+ baseMint: PublicKey;
22
+ /** Lend program (PublicKey.default if not active) */
23
+ lendProgram: PublicKey;
24
+ /** Strategy program keys (10-element array) */
25
+ strategies: PublicKey[];
26
+ /** Number of active strategies */
27
+ strategyCount: number;
28
+ }
29
+ export interface DepositContext {
30
+ remainingAccounts: AccountMeta[];
31
+ protocolAumCount: number;
32
+ autoRouteCount: number;
33
+ preInstructions: TransactionInstruction[];
34
+ }
35
+ export interface ClaimWithdrawContext {
36
+ remainingAccounts: AccountMeta[];
37
+ autoUnrouteCount: number;
38
+ /**
39
+ * Pre-instructions to add before the claim_withdraw ix.
40
+ * Currently always empty — see DepositContext.preInstructions.
41
+ */
42
+ preInstructions: TransactionInstruction[];
43
+ }
44
+ export interface DepositToStrategyContext {
45
+ remainingAccounts: AccountMeta[];
46
+ autoUnrouteCount: number;
47
+ preInstructions: TransactionInstruction[];
48
+ }
49
+ export interface ProcessEpochContext {
50
+ remainingAccounts: AccountMeta[];
51
+ protocolAumCount: number;
52
+ /**
53
+ * Pre-instructions to add before the process_epoch ix.
54
+ * Currently always empty — see DepositContext.preInstructions.
55
+ */
56
+ preInstructions: TransactionInstruction[];
57
+ }
58
+ /**
59
+ */
60
+ /**
61
+ * Build the complete remaining_accounts for a deposit instruction.
62
+ *
63
+ * Layout: [4 lend, N protocol_aum, M*2+P strategy_pairs, K auto_route]
64
+ *
65
+ * - If lend is active, derives lend PDAs and fetches protocol AUM accounts
66
+ * - Builds strategy pair accounts for each active strategy
67
+ * - If USDC + Jupiter Lend registered, appends auto-route accounts
68
+ * - Checks for stale kVaults (returned in preInstructions once invest ix is available)
69
+ */
70
+ export declare function buildDepositContext(connection: SolanaConnection, vault: VaultInfo, payer?: PublicKey): Promise<DepositContext>;
71
+ /**
72
+ * Build the complete remaining_accounts for a claim_withdraw instruction.
73
+ *
74
+ * Layout: [4 lend, K auto_unroute]
75
+ *
76
+ * - If lend is active, derives lend PDAs
77
+ * - If USDC + Jupiter Lend, appends auto-unroute accounts
78
+ */
79
+ export declare function buildClaimWithdrawContext(connection: SolanaConnection, vault: VaultInfo): Promise<ClaimWithdrawContext>;
80
+ /**
81
+ * Build the complete remaining_accounts for a deposit_to_strategy instruction.
82
+ *
83
+ * Layout: [4 lend, K auto_unroute]
84
+ *
85
+ * Same as claim_withdraw: if lend is active, derives lend PDAs.
86
+ * If USDC + Jupiter Lend, appends auto-unroute accounts for unsweep.
87
+ *
88
+ * Note: no Kamino invest pre-instructions here — deposit_to_strategy unsweeps
89
+ * from the active protocol (Jupiter Lend for USDC), not Kamino.
90
+ */
91
+ export declare function buildDepositToStrategyContext(connection: SolanaConnection, vault: VaultInfo): Promise<DepositToStrategyContext>;
92
+ /**
93
+ * Build the complete remaining_accounts for a process_epoch instruction.
94
+ *
95
+ * @param phase - 'lockPps': needs lend + protocol AUM + strategy pairs for NAV.
96
+ * 'advance': empty remaining_accounts.
97
+ */
98
+ export declare function buildProcessEpochContext(connection: SolanaConnection, vault: VaultInfo, phase: "lockPps" | "advance"): Promise<ProcessEpochContext>;
99
+ //# sourceMappingURL=remaining-accounts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remaining-accounts.d.ts","sourceRoot":"","sources":["../../src/p-stv-core/remaining-accounts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,WAAW,EACX,UAAU,EACV,SAAS,EACT,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAoBzB;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAC1C,gBAAgB,GAChB,yBAAyB,GACzB,yBAAyB,GACzB,SAAS,GACT,cAAc,GACd,cAAc,CACjB,CAAC;AAMF,4DAA4D;AAC5D,MAAM,WAAW,SAAS;IACxB,0BAA0B;IAC1B,OAAO,EAAE,SAAS,CAAC;IACnB,sBAAsB;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,qDAAqD;IACrD,WAAW,EAAE,SAAS,CAAC;IACvB,+CAA+C;IAC/C,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,kCAAkC;IAClC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,iBAAiB,EAAE,WAAW,EAAE,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,sBAAsB,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,EAAE,WAAW,EAAE,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,eAAe,EAAE,sBAAsB,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,wBAAwB;IACvC,iBAAiB,EAAE,WAAW,EAAE,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,sBAAsB,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,EAAE,WAAW,EAAE,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,eAAe,EAAE,sBAAsB,EAAE,CAAC;CAC3C;AAkFD;GACG;AAMH;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,gBAAgB,EAC5B,KAAK,EAAE,SAAS,EAChB,KAAK,CAAC,EAAE,SAAS,GAChB,OAAO,CAAC,cAAc,CAAC,CAsFzB;AAED;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,gBAAgB,EAC5B,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,oBAAoB,CAAC,CAiC/B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,6BAA6B,CACjD,UAAU,EAAE,gBAAgB,EAC5B,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,wBAAwB,CAAC,CA+BnC;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,gBAAgB,EAC5B,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,GAAG,SAAS,GAC3B,OAAO,CAAC,mBAAmB,CAAC,CAoC9B"}