@elemental-stv-core/sdk 0.9.3 → 0.12.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 (38) hide show
  1. package/dist/common/buffer.d.ts +3 -0
  2. package/dist/common/buffer.js +19 -0
  3. package/dist/elemental-lend/instructions.d.ts +14 -0
  4. package/dist/elemental-lend/instructions.js +18 -6
  5. package/dist/elemental-lend/protocol-actions.d.ts +6 -0
  6. package/dist/elemental-lend/protocol-actions.js +21 -10
  7. package/dist/jlpd-strategy/accounts.d.ts +4 -1
  8. package/dist/jlpd-strategy/accounts.js +6 -1
  9. package/dist/jlpd-strategy/adapter.d.ts +16 -6
  10. package/dist/jlpd-strategy/adapter.js +21 -9
  11. package/dist/jlpd-strategy/base-to-base-swap.d.ts +74 -0
  12. package/dist/jlpd-strategy/base-to-base-swap.js +199 -0
  13. package/dist/jlpd-strategy/constants.d.ts +11 -3
  14. package/dist/jlpd-strategy/constants.js +19 -10
  15. package/dist/jlpd-strategy/index.d.ts +1 -0
  16. package/dist/jlpd-strategy/index.js +1 -0
  17. package/dist/jlpd-strategy/instructions.d.ts +49 -0
  18. package/dist/jlpd-strategy/instructions.js +55 -0
  19. package/dist/jlpd-strategy/jlp-data.d.ts +11 -0
  20. package/dist/jlpd-strategy/jlp-data.js +15 -0
  21. package/dist/jlpd-strategy/settle-yield.d.ts +20 -1
  22. package/dist/jlpd-strategy/settle-yield.js +9 -6
  23. package/dist/jlpd-strategy/swap-jlp.d.ts +26 -0
  24. package/dist/jlpd-strategy/swap-jlp.js +74 -10
  25. package/dist/jlpd-strategy/types.d.ts +3 -1
  26. package/dist/p-stv-core/accounts.d.ts +74 -34
  27. package/dist/p-stv-core/accounts.js +163 -56
  28. package/dist/p-stv-core/constants.d.ts +49 -4
  29. package/dist/p-stv-core/constants.js +52 -5
  30. package/dist/p-stv-core/events.js +63 -9
  31. package/dist/p-stv-core/instructions.d.ts +302 -3
  32. package/dist/p-stv-core/instructions.js +277 -15
  33. package/dist/p-stv-core/pda.d.ts +15 -0
  34. package/dist/p-stv-core/pda.js +25 -0
  35. package/dist/p-stv-core/remaining-accounts.d.ts +4 -1
  36. package/dist/p-stv-core/remaining-accounts.js +17 -2
  37. package/dist/p-stv-core/types.d.ts +104 -4
  38. package/package.json +1 -1
@@ -15,6 +15,18 @@ export interface Stv {
15
15
  lendProgram: PublicKey;
16
16
  /** Canonical ATA for (stv_pda, base_mint, token_program). Set at init. */
17
17
  vaultAta: PublicKey;
18
+ /**
19
+ * Per-vault admin pubkey (v2 layout, offset 200). Set at create or migration.
20
+ * Never zero on a v2-loadable STV (enforced by the v2 freeze gate). Only
21
+ * `accept_vault_admin` may change this post-create/migration.
22
+ */
23
+ admin: PublicKey;
24
+ /**
25
+ * Pending admin for two-step rotation (v2 layout, offset 232). Non-zero means a
26
+ * rotation is in progress; `accept_vault_admin` completes it. Zero = no pending
27
+ * rotation. A pending admin has ZERO authority before accept.
28
+ */
29
+ pendingAdmin: PublicKey;
18
30
  childVaults: BN[];
19
31
  vaultId: BN;
20
32
  reservedBase: BN;
@@ -40,6 +52,20 @@ export interface Stv {
40
52
  childVaultCount: number;
41
53
  version: number;
42
54
  bump: number;
55
+ /** Fee (BPS) charged on migrate-in when FLAG_DEPOSIT_FEE_ON_MIGRATE is set. Max MAX_FEE_BPS. */
56
+ depositFeeBps: number;
57
+ /** Fee (BPS) charged on migrate-out when FLAG_WITHDRAWAL_FEE_ON_MIGRATE is set. Max MAX_FEE_BPS. */
58
+ withdrawalFeeBps: number;
59
+ /** Gross base from delayed deposits not yet minted into evX. */
60
+ pendingDepositBase: BN;
61
+ /** Number of open DelayedDepositRequest accounts. */
62
+ pendingDepositCount: number;
63
+ /** Pinned canonical ATA for feeReceiver + evMint (offset 424 in v2). */
64
+ feeReceiverEvAta: PublicKey;
65
+ /** C-1 supply floor (seed shares) — set by seed_stv, redeemed only via close_stv. */
66
+ lockedSeedShares: BN;
67
+ /** Withdrawal mode: 0=instant, 1=X, 2=X+1. Create-only/immutable. */
68
+ withdrawalMode: number;
43
69
  }
44
70
  export interface ManagerRole {
45
71
  stv: PublicKey;
@@ -54,6 +80,20 @@ export interface WithdrawRequest {
54
80
  epochId: number;
55
81
  claimAvailableAfter: number;
56
82
  bump: number;
83
+ /** Request kind flags. bit0 (WR_FLAG_MIGRATE): 0 = withdraw, 1 = migrate. */
84
+ requestFlags: number;
85
+ /** Migrate kind: destination STV vault_id. Withdraw kind: 0. */
86
+ destVaultId: BN;
87
+ /** Migrate kind: minimum dest shares (slippage protection). Withdraw kind: 0. */
88
+ minDestShares: BN;
89
+ }
90
+ export interface DelayedDepositRequest {
91
+ stv: PublicKey;
92
+ user: PublicKey;
93
+ amount: BN;
94
+ epochId: number;
95
+ bump: number;
96
+ version: number;
57
97
  }
58
98
  export interface ConfigInitializedEvent {
59
99
  name: "ConfigInitialized";
@@ -94,6 +134,8 @@ export interface DepositedEvent {
94
134
  user: PublicKey;
95
135
  amount: BN;
96
136
  sharesMinted: BN;
137
+ /** Fee shares credited to fee receiver (new field; on-chain offset 57). */
138
+ depositFeeShares: BN;
97
139
  pps: BN;
98
140
  }
99
141
  export interface WithdrawRequestedEvent {
@@ -117,6 +159,7 @@ export interface WithdrawClaimedEvent {
117
159
  user: PublicKey;
118
160
  shares: BN;
119
161
  baseAmount: BN;
162
+ withdrawalFeeBase: BN;
120
163
  epochId: number;
121
164
  }
122
165
  export interface DepositedToStrategyEvent {
@@ -176,6 +219,7 @@ export interface WithdrawOverrideClaimedEvent {
176
219
  user: PublicKey;
177
220
  shares: BN;
178
221
  baseAmount: BN;
222
+ withdrawalFeeBase: BN;
179
223
  epochId: number;
180
224
  dailyWithdrawnBase: BN;
181
225
  dailyLimit: BN;
@@ -188,9 +232,65 @@ export interface LendMigratedEvent {
188
232
  sharesWithdrawn: BN;
189
233
  baseMigrated: BN;
190
234
  }
191
- export interface VaultAtaBackfilledEvent {
192
- name: "VaultAtaBackfilled";
235
+ export interface MigrateRequestedEvent {
236
+ name: "MigrateRequested";
237
+ srcVaultId: BN;
238
+ destVaultId: BN;
239
+ user: PublicKey;
240
+ shares: BN;
241
+ epochId: number;
242
+ }
243
+ export interface MigrateExecutedEvent {
244
+ name: "MigrateExecuted";
245
+ srcVaultId: BN;
246
+ destVaultId: BN;
247
+ user: PublicKey;
248
+ sharesBurned: BN;
249
+ baseMoved: BN;
250
+ withdrawalFeeBase: BN;
251
+ depositFeeBase: BN;
252
+ userDestShares: BN;
253
+ epochId: number;
254
+ }
255
+ export interface DelayedDepositProcessedEvent {
256
+ name: "DelayedDepositProcessed";
193
257
  vaultId: BN;
194
- vaultAta: PublicKey;
258
+ user: PublicKey;
259
+ amount: BN;
260
+ sharesMinted: BN;
261
+ depositFeeShares: BN;
262
+ pps: BN;
263
+ requestEpochId: number;
264
+ }
265
+ export interface InstantWithdrawnEvent {
266
+ name: "InstantWithdrawn";
267
+ vaultId: BN;
268
+ user: PublicKey;
269
+ shares: BN;
270
+ netBase: BN;
271
+ withdrawalFeeBase: BN;
272
+ }
273
+ export interface StvSeededEvent {
274
+ name: "StvSeeded";
275
+ vaultId: BN;
276
+ amount: BN;
277
+ }
278
+ /** Emitted by migrate_stv_layout after setting the initial per-vault admin. */
279
+ export interface StvAdminSetEvent {
280
+ name: "StvAdminSet";
281
+ vaultId: BN;
282
+ admin: PublicKey;
283
+ }
284
+ /** Emitted by init_or_update_stv (update path) when pending_admin is set to a nonzero value. */
285
+ export interface AdminRotationStartedEvent {
286
+ name: "AdminRotationStarted";
287
+ vaultId: BN;
288
+ newPendingAdmin: PublicKey;
289
+ }
290
+ /** Emitted by accept_vault_admin after the new admin accepts the rotation. */
291
+ export interface AdminRotationAcceptedEvent {
292
+ name: "AdminRotationAccepted";
293
+ vaultId: BN;
294
+ newAdmin: PublicKey;
195
295
  }
196
- export type StvEvent = ConfigInitializedEvent | ConfigUpdatedEvent | StvCreatedEvent | StvUpdatedEvent | DepositedEvent | WithdrawRequestedEvent | WithdrawRequestIncreasedEvent | WithdrawClaimedEvent | DepositedToStrategyEvent | WithdrawnFromStrategyEvent | EpochProcessedEvent | EpochAdvancedEvent | FeesSettledEvent | StvClosedEvent | ManagerAddedEvent | ManagerRemovedEvent | WithdrawOverrideClaimedEvent | LendMigratedEvent | VaultAtaBackfilledEvent;
296
+ export type StvEvent = ConfigInitializedEvent | ConfigUpdatedEvent | StvCreatedEvent | StvUpdatedEvent | DepositedEvent | WithdrawRequestedEvent | WithdrawRequestIncreasedEvent | WithdrawClaimedEvent | DepositedToStrategyEvent | WithdrawnFromStrategyEvent | EpochProcessedEvent | EpochAdvancedEvent | FeesSettledEvent | StvClosedEvent | ManagerAddedEvent | ManagerRemovedEvent | WithdrawOverrideClaimedEvent | LendMigratedEvent | MigrateRequestedEvent | MigrateExecutedEvent | DelayedDepositProcessedEvent | InstantWithdrawnEvent | StvSeededEvent | StvAdminSetEvent | AdminRotationStartedEvent | AdminRotationAcceptedEvent;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elemental-stv-core/sdk",
3
- "version": "0.9.3",
3
+ "version": "0.12.0",
4
4
  "description": "TypeScript SDK for Elemental Vaults — p-STV Core, Elemental Lend, JLPD Strategy",
5
5
  "license": "Apache-2.0",
6
6
  "keywords": [