@emblemvault/primitives-stake 0.3.0 → 0.5.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.
package/dist/client.d.ts CHANGED
@@ -17,7 +17,7 @@
17
17
  */
18
18
  import { Connection, TransactionInstruction, type Commitment } from '@solana/web3.js';
19
19
  import { EmblemError, type SolanaAddress } from '@emblemvault/primitives-shared';
20
- import type { ClaimRewardsArgs, CreatePoolArgs, DistributeRewardsArgs, GetVaultArgs, RewardDistributionView, StakeArgs, StakeGateEvaluationResult, StakePoolView, StakeVaultAccount, StakeVaultView, UnstakeArgs } from './types.js';
20
+ import type { ClaimRewardsArgs, CreatePoolArgs, DistributeRewardsArgs, GetVaultArgs, RewardDistributionView, StakeArgs, StakeGateEvaluationResult, StakePoolListPage, StakePoolView, StakeVaultAccount, StakeVaultView, UnstakeArgs } from './types.js';
21
21
  /** Same shape as @emblemvault/auth-sdk's SolanaSignerInterface. */
22
22
  export interface SolanaSignerInterface {
23
23
  publicKey: string;
@@ -78,6 +78,29 @@ export declare class EmblemStakeClient {
78
78
  listVaultsByPool(poolPda: SolanaAddress): Promise<StakeVaultView[]>;
79
79
  /** List all pools created by an authority. */
80
80
  listPoolsByAuthority(authority: SolanaAddress): Promise<StakePoolView[]>;
81
+ /**
82
+ * List every StakeVault owned by a given wallet across every pool —
83
+ * answers "which pools is this user staked in?" for discovery /
84
+ * portfolio agents. Memcmps on the owner field at offset 41
85
+ * (discriminator(8) + bump(1) + pool_pda(32)).
86
+ */
87
+ listVaultsByOwner(owner: SolanaAddress): Promise<StakeVaultView[]>;
88
+ /**
89
+ * Paged discovery feed across every pool on the program, newest first.
90
+ * Mirrors EmblemLaunchClient.listAllLaunchesPaged. Returns
91
+ * { items, page, pageSize, total, hasMore }.
92
+ *
93
+ * Implementation: fetches every StakePool prefix slice (up through
94
+ * `created_at`) via `getProgramAccounts` + `dataSlice`, sorts client-side
95
+ * by `(createdAt DESC, poolPda ASC)` for stable pagination, then slices.
96
+ * The slice length covers the variable-prefix fields; we only need the
97
+ * minimal summary (poolPda, authority, asset, createdAt) to support
98
+ * discovery UX. Heavier reads use `getPool(poolPda)` per row.
99
+ */
100
+ listAllPoolsPaged(opts?: {
101
+ page?: number;
102
+ pageSize?: number;
103
+ }): Promise<StakePoolListPage>;
81
104
  /**
82
105
  * Evaluate "does this user pass a stake-mode gate?" given a vault account
83
106
  * and a minimum threshold. Pure off-chain math; no chain calls.
@@ -105,11 +128,45 @@ export declare class EmblemStakeClient {
105
128
  buildInitPlatformConfigIx(args: {
106
129
  admin: SolanaAddress;
107
130
  }): TransactionInstruction;
108
- /** Rotate the platform admin. Admin-only. */
109
- buildSetAdminIx(args: {
131
+ /**
132
+ * Build propose_admin (X-2 step 1). Current admin nominates a new
133
+ * admin pubkey but does NOT yet rotate. The proposed admin must
134
+ * sign a separate `accept_admin` to complete the swap.
135
+ */
136
+ buildProposeAdminIx(args: {
110
137
  admin: SolanaAddress;
111
138
  newAdmin: SolanaAddress;
112
139
  }): TransactionInstruction;
140
+ /**
141
+ * Build accept_admin (X-2 step 2). The proposed admin signs to
142
+ * accept the rotation. Reverts with `AdminProposalNotPending`
143
+ * (stake error 516, wire = 6516) if signer is not the
144
+ * currently-pending admin.
145
+ */
146
+ buildAcceptAdminIx(args: {
147
+ pendingAdmin: SolanaAddress;
148
+ }): TransactionInstruction;
149
+ /**
150
+ * Build propose_authority (ST-8 / X-2 step 1). Current pool authority
151
+ * nominates a new authority pubkey for THIS specific pool. Writes
152
+ * `pool.pending_authority = Some(proposed)`; authority is NOT
153
+ * rotated yet. Per-pool equivalent of `propose_admin`.
154
+ */
155
+ buildProposeAuthorityIx(args: {
156
+ authority: SolanaAddress;
157
+ poolPda: SolanaAddress;
158
+ newAuthority: SolanaAddress;
159
+ }): TransactionInstruction;
160
+ /**
161
+ * Build accept_authority (ST-8 / X-2 step 2). The proposed authority
162
+ * signs to accept the rotation. Reverts with
163
+ * `PoolAuthorityProposalNotPending` (stake error 517, wire = 6517) if
164
+ * signer is not the currently-pending pool authority.
165
+ */
166
+ buildAcceptAuthorityIx(args: {
167
+ pendingAuthority: SolanaAddress;
168
+ poolPda: SolanaAddress;
169
+ }): TransactionInstruction;
113
170
  /** Pool-authority pause. Sets `paused_by_authority = true`. */
114
171
  buildPausePoolIx(args: {
115
172
  authority: SolanaAddress;
@@ -260,27 +317,46 @@ export declare class EmblemStakeClient {
260
317
  vaultPda: SolanaAddress;
261
318
  txSignature: string;
262
319
  }>;
320
+ /**
321
+ * Detect which token program owns a given mint by reading the account
322
+ * owner. Used by the self-submitting wrappers below to derive the
323
+ * correct ATA program. Throws if the mint doesn't exist on chain.
324
+ */
325
+ private detectTokenProgramId;
263
326
  /**
264
327
  * Stake `amount` of the pool's asset for `lockTierIdx` from the
265
- * configured signer. Caller must pass `userTokenAccount` (their ATA
266
- * for the pool's mint) the SDK doesn't auto-derive it because the
267
- * caller may want to pre-create the ATA in the same tx.
328
+ * configured signer. The SDK auto-derives the user's ATA from
329
+ * `(signer, pool.asset)`, prepends an idempotent ATA-create ix
330
+ * (no-op if the ATA already exists), and submits in a single tx.
331
+ * Pass an explicit `userTokenAccount` only if you have a non-default
332
+ * ATA shape; default is the canonical SPL/Token-2022 ATA.
268
333
  */
269
334
  stake(args: StakeArgs & {
270
- userTokenAccount: SolanaAddress;
335
+ userTokenAccount?: SolanaAddress;
271
336
  }): Promise<{
272
337
  vaultPda: SolanaAddress;
273
338
  txSignature: string;
274
339
  }>;
340
+ /**
341
+ * Unstake from a pool. The SDK auto-derives the user's ATA + the
342
+ * penalty-destination ATA (when penaltyDestination kind is treasury-pda)
343
+ * from on-chain pool state. Pass explicit overrides only for non-canonical
344
+ * shapes.
345
+ */
275
346
  unstake(args: UnstakeArgs & {
276
- mint: SolanaAddress;
277
- userTokenAccount: SolanaAddress;
347
+ mint?: SolanaAddress;
348
+ userTokenAccount?: SolanaAddress;
278
349
  penaltyDestinationAta?: SolanaAddress;
279
350
  }): Promise<{
280
351
  txSignature: string;
281
352
  }>;
353
+ /**
354
+ * Claim accrued rewards for one or more periods. Auto-derives the
355
+ * user's ATA from the pool's asset mint and prepends an idempotent
356
+ * ATA-create ix (covers first-time claimers).
357
+ */
282
358
  claimRewards(args: ClaimRewardsArgs & {
283
- userTokenAccount: SolanaAddress;
359
+ userTokenAccount?: SolanaAddress;
284
360
  periodIds: number[];
285
361
  }): Promise<{
286
362
  txSignature: string;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,UAAU,EAKV,sBAAsB,EAGtB,KAAK,UAAU,EAEhB,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EACL,WAAW,EAGX,KAAK,aAAa,EAEnB,MAAM,gCAAgC,CAAC;AAsNxC,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,YAAY,EACZ,sBAAsB,EACtB,SAAS,EACT,yBAAyB,EACzB,iBAAiB,EAEjB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,mEAAmE;AACnE,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/D,eAAe,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,UAAU,CAAC;IACvB;;sBAEkB;IAClB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;gBACf,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM;CAK/C;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;gBAE5B,IAAI,EAAE,wBAAwB;IAO1C,YAAY,IAAI,aAAa;IAQ7B,aAAa,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG;QAC7D,OAAO,EAAE,aAAa,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC;KACd;IASD,cAAc,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,aAAa,CAAC;QAAC,KAAK,EAAE,aAAa,CAAA;KAAE,GAAG;QACtE,QAAQ,EAAE,aAAa,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;KACd;IASD,qBAAqB,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,aAAa,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG;QACzE,eAAe,EAAE,aAAa,CAAC;QAC/B,IAAI,EAAE,MAAM,CAAC;KACd;IASD;4DACwD;IACxD,uBAAuB,IAAI;QAAE,iBAAiB,EAAE,aAAa,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IAYvE,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAc9D,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAsB5D,eAAe,CACnB,eAAe,EAAE,aAAa,GAC7B,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAQzC,qEAAqE;IAC/D,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAkBzE,8CAA8C;IACxC,oBAAoB,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAiB9E;;;;;OAKG;IACG,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAiBxE;;;;;;;;;;;OAWG;IACG,iBAAiB,CAAC,IAAI,GAAE;QAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAsEnC;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,CACf,KAAK,EAAE,iBAAiB,EACxB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,GACrB,yBAAyB;IAgB5B;;;;OAIG;IAKH,yEAAyE;IACzE,yBAAyB,CAAC,IAAI,EAAE;QAC9B,KAAK,EAAE,aAAa,CAAC;KACtB,GAAG,sBAAsB;IAiB1B;;;;OAIG;IACH,mBAAmB,CAAC,IAAI,EAAE;QACxB,KAAK,EAAE,aAAa,CAAC;QACrB,QAAQ,EAAE,aAAa,CAAC;KACzB,GAAG,sBAAsB;IAoB1B;;;;;OAKG;IACH,kBAAkB,CAAC,IAAI,EAAE;QACvB,YAAY,EAAE,aAAa,CAAC;KAC7B,GAAG,sBAAsB;IAgB1B;;;;;OAKG;IACH,uBAAuB,CAAC,IAAI,EAAE;QAC5B,SAAS,EAAE,aAAa,CAAC;QACzB,OAAO,EAAE,aAAa,CAAC;QACvB,YAAY,EAAE,aAAa,CAAC;KAC7B,GAAG,sBAAsB;IAe1B;;;;;OAKG;IACH,sBAAsB,CAAC,IAAI,EAAE;QAC3B,gBAAgB,EAAE,aAAa,CAAC;QAChC,OAAO,EAAE,aAAa,CAAC;KACxB,GAAG,sBAAsB;IAW1B,+DAA+D;IAC/D,gBAAgB,CAAC,IAAI,EAAE;QACrB,SAAS,EAAE,aAAa,CAAC;QACzB,OAAO,EAAE,aAAa,CAAC;KACxB,GAAG,sBAAsB;IAW1B,4DAA4D;IAC5D,kBAAkB,CAAC,IAAI,EAAE;QACvB,SAAS,EAAE,aAAa,CAAC;QACzB,OAAO,EAAE,aAAa,CAAC;KACxB,GAAG,sBAAsB;IAW1B,2DAA2D;IAC3D,qBAAqB,CAAC,IAAI,EAAE;QAC1B,KAAK,EAAE,aAAa,CAAC;QACrB,OAAO,EAAE,aAAa,CAAC;KACxB,GAAG,sBAAsB;IAiB1B,wDAAwD;IACxD,uBAAuB,CAAC,IAAI,EAAE;QAC5B,KAAK,EAAE,aAAa,CAAC;QACrB,OAAO,EAAE,aAAa,CAAC;KACxB,GAAG,sBAAsB;IAiB1B,iBAAiB,CACf,IAAI,EAAE,cAAc,GAAG;QAAE,SAAS,EAAE,aAAa,CAAA;KAAE,GAClD,sBAAsB;IA6CzB;;;;;;OAMG;IACH,0BAA0B,CAAC,IAAI,EAAE;QAC/B,SAAS,EAAE,aAAa,CAAC;QACzB,IAAI,EAAE,aAAa,CAAC;QACpB,WAAW,EAAE,aAAa,CAAC;KAC5B,GAAG,sBAAsB;IAoB1B,sFAAsF;IACtF,iCAAiC,CAAC,IAAI,EAAE;QACtC,SAAS,EAAE,aAAa,CAAC;QACzB,IAAI,EAAE,aAAa,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,cAAc,GAAG,cAAc,CAAC;KAC7C,GAAG,sBAAsB;IAyB1B,8FAA8F;IAC9F,2BAA2B,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa;IAIlE;;;;OAIG;IACH,8BAA8B,CAAC,WAAW,EAAE,aAAa,GAAG,aAAa;IAIzE,gDAAgD;IAChD,+BAA+B,CAAC,IAAI,EAAE;QACpC,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,aAAa,CAAC;QACpB,UAAU,EAAE,cAAc,GAAG,cAAc,CAAC;KAC7C,GAAG,aAAa;IAWjB,qEAAqE;IACrE,2BAA2B,IAAI,aAAa;IAI5C,mEAAmE;IACnE,2BAA2B,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa;IAOlE,0CAA0C;IAC1C,uBAAuB,CAAC,IAAI,EAAE;QAC5B,OAAO,EAAE,aAAa,CAAC;QACvB,KAAK,EAAE,aAAa,CAAC;KACtB,GAAG,aAAa;IAWjB,2DAA2D;IAC3D,+BAA+B,CAAC,IAAI,EAAE;QACpC,OAAO,EAAE,aAAa,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,aAAa;IAajB,oFAAoF;IACpF,gCAAgC,CAAC,IAAI,EAAE;QACrC,KAAK,EAAE,aAAa,CAAC;QACrB,OAAO,EAAE,aAAa,CAAC;QACvB,IAAI,EAAE,aAAa,CAAC;KACrB,GAAG,sBAAsB;IAyB1B,0BAA0B;IAC1B,YAAY,CAAC,IAAI,EAAE;QACjB,IAAI,EAAE,aAAa,CAAC;QACpB,OAAO,EAAE,aAAa,CAAC;QACvB,gBAAgB,EAAE,aAAa,CAAC;QAChC,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,sBAAsB;IAkC1B;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,IAAI,EAAE;QACnB,IAAI,EAAE,aAAa,CAAC;QACpB,OAAO,EAAE,aAAa,CAAC;QACvB,oEAAoE;QACpE,IAAI,EAAE,aAAa,CAAC;QACpB,gBAAgB,EAAE,aAAa,CAAC;QAChC,iEAAiE;QACjE,qBAAqB,CAAC,EAAE,aAAa,CAAC;KACvC,GAAG,sBAAsB;IAgD1B;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE;QACjB,IAAI,EAAE,aAAa,CAAC;QACpB,OAAO,EAAE,aAAa,CAAC;QACvB,gBAAgB,EAAE,aAAa,CAAC;QAChC,iEAAiE;QACjE,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,GAAG,sBAAsB;IAqC1B;;;OAGG;IACH,wBAAwB,CAAC,IAAI,EAAE;QAC7B,KAAK,EAAE,aAAa,CAAC;QACrB,OAAO,EAAE,aAAa,CAAC;QACvB,gEAAgE;QAChE,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,sBAAsB;IA0BpB,UAAU,CACd,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC;QAAE,OAAO,EAAE,aAAa,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAYrD,mBAAmB,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,aAAa,CAAC;QACpB,4CAA4C;QAC5C,WAAW,EAAE,aAAa,CAAC;KAC5B,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,aAAa,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAQvD,0BAA0B,CAAC,IAAI,EAAE;QACrC,IAAI,EAAE,aAAa,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,cAAc,GAAG,cAAc,CAAC;KAC7C,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,aAAa,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAc7D;;;;OAIG;YACW,oBAAoB;IAkBlC;;;;;;;OAOG;IACG,KAAK,CACT,IAAI,EAAE,SAAS,GAAG;QAAE,gBAAgB,CAAC,EAAE,aAAa,CAAA;KAAE,GACrD,OAAO,CAAC;QAAE,QAAQ,EAAE,aAAa,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IA6C5D;;;;;OAKG;IACG,OAAO,CACX,IAAI,EAAE,WAAW,GAAG;QAClB,IAAI,CAAC,EAAE,aAAa,CAAC;QACrB,gBAAgB,CAAC,EAAE,aAAa,CAAC;QACjC,qBAAqB,CAAC,EAAE,aAAa,CAAC;KACvC,GACA,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IA+CnC;;;;OAIG;IACG,YAAY,CAChB,IAAI,EAAE,gBAAgB,GAAG;QACvB,gBAAgB,CAAC,EAAE,aAAa,CAAC;QACjC,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,GACA,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAuC7B,iBAAiB,CACrB,IAAI,EAAE,qBAAqB,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GACjD,OAAO,CAAC;QAAE,eAAe,EAAE,aAAa,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;YAkBrD,aAAa;IA2B3B,OAAO,CAAC,aAAa;CAStB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,GAAG,iBAAiB,CAMpB;AA6BD,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,yBAAyB,EACzB,sBAAsB,EACtB,cAAc,EACd,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,YAAY,CAAC"}
package/dist/client.js CHANGED
@@ -16,7 +16,7 @@
16
16
  * NotYetImplemented until programs/stake ships (Phase 3)
17
17
  */
18
18
  import { PublicKey, SystemProgram, SYSVAR_RENT_PUBKEY, Transaction, TransactionInstruction, TransactionMessage, VersionedTransaction, } from '@solana/web3.js';
19
- import { TOKEN_PROGRAM_ID } from '@solana/spl-token';
19
+ import { TOKEN_PROGRAM_ID, TOKEN_2022_PROGRAM_ID, createAssociatedTokenAccountIdempotentInstruction, getAssociatedTokenAddressSync, } from '@solana/spl-token';
20
20
  import { EmblemError, decodeSignedPayload, } from '@emblemvault/primitives-shared';
21
21
  import { decodeRewardDistributionAccount, decodeStakePoolAccount, decodeStakeVaultAccount, MULTIPLIER_SCALE, PENALTY_TAG_BURN, PENALTY_TAG_REDISTRIBUTE, PENALTY_TAG_TREASURY_PDA, REWARD_CADENCE_DAILY, REWARD_CADENCE_HOURLY, REWARD_CADENCE_WEEKLY, REWARD_FORMULA_LINEAR_V1, REWARD_FORMULA_TIME_WEIGHTED_V1, REWARD_SOURCE_TAG_DIST_VAULT, REWARD_SOURCE_TAG_SPLIT_RECIPIENT, STAKE_POOL_DISCRIMINATOR, STAKE_VAULT_DISCRIMINATOR, } from './codec.js';
22
22
  import { deriveRewardDistPda, deriveStakePoolPda, deriveStakeVaultPda, STAKE_PROGRAM_ID, } from './pda.js';
@@ -52,8 +52,22 @@ const IX_DISTRIBUTE_REWARDS = Buffer.from([
52
52
  const IX_INIT_PLATFORM_CONFIG = Buffer.from([
53
53
  0x65, 0x34, 0x2f, 0x31, 0x9c, 0x10, 0x20, 0x76,
54
54
  ]);
55
- const IX_SET_ADMIN = Buffer.from([
56
- 0xfb, 0xa3, 0x00, 0x34, 0x5b, 0xc2, 0xbb, 0x5c,
55
+ // Audit doc 10 X-2 (2026-05-04) — single-step `set_admin` removed.
56
+ // Replaced by `propose_admin` + `accept_admin` two-step rotation.
57
+ const IX_PROPOSE_ADMIN = Buffer.from([
58
+ 0x79, 0xd6, 0xc7, 0xd4, 0x57, 0x27, 0x75, 0xea,
59
+ ]);
60
+ const IX_ACCEPT_ADMIN = Buffer.from([
61
+ 0x70, 0x2a, 0x2d, 0x5a, 0x74, 0xb5, 0x0d, 0xaa,
62
+ ]);
63
+ // Audit doc 10 ST-8 / X-2 (2026-05-04) — per-pool authority rotation.
64
+ // Different account/ix shape from PlatformConfig admin rotation:
65
+ // the StakePool PDA is per-(asset,pool_id), not a singleton.
66
+ const IX_PROPOSE_AUTHORITY = Buffer.from([
67
+ 0x14, 0x94, 0xec, 0xc6, 0x4c, 0x77, 0x63, 0x8e,
68
+ ]);
69
+ const IX_ACCEPT_AUTHORITY = Buffer.from([
70
+ 0x6b, 0x56, 0xc6, 0x5b, 0x21, 0x0c, 0x6b, 0xa0,
57
71
  ]);
58
72
  const IX_PAUSE_POOL = Buffer.from([
59
73
  0xa0, 0x0f, 0x0c, 0xbd, 0xa0, 0x00, 0xf3, 0xf5,
@@ -296,6 +310,96 @@ export class EmblemStakeClient {
296
310
  return { ...decoded, poolPda: a.pubkey.toBase58() };
297
311
  });
298
312
  }
313
+ /**
314
+ * List every StakeVault owned by a given wallet across every pool —
315
+ * answers "which pools is this user staked in?" for discovery /
316
+ * portfolio agents. Memcmps on the owner field at offset 41
317
+ * (discriminator(8) + bump(1) + pool_pda(32)).
318
+ */
319
+ async listVaultsByOwner(owner) {
320
+ const ownerKey = new PublicKey(owner);
321
+ const OWNER_FIELD_OFFSET = 41;
322
+ const filters = [
323
+ { memcmp: { offset: 0, bytes: bs58Encode(STAKE_VAULT_DISCRIMINATOR) } },
324
+ { memcmp: { offset: OWNER_FIELD_OFFSET, bytes: ownerKey.toBase58() } },
325
+ ];
326
+ const accounts = await this.connection.getProgramAccounts(this.programId, {
327
+ commitment: this.commitment,
328
+ filters,
329
+ });
330
+ return accounts.map((a) => {
331
+ const decoded = decodeStakeVaultAccount(a.account.data);
332
+ return { ...decoded, vaultPda: a.pubkey.toBase58() };
333
+ });
334
+ }
335
+ /**
336
+ * Paged discovery feed across every pool on the program, newest first.
337
+ * Mirrors EmblemLaunchClient.listAllLaunchesPaged. Returns
338
+ * { items, page, pageSize, total, hasMore }.
339
+ *
340
+ * Implementation: fetches every StakePool prefix slice (up through
341
+ * `created_at`) via `getProgramAccounts` + `dataSlice`, sorts client-side
342
+ * by `(createdAt DESC, poolPda ASC)` for stable pagination, then slices.
343
+ * The slice length covers the variable-prefix fields; we only need the
344
+ * minimal summary (poolPda, authority, asset, createdAt) to support
345
+ * discovery UX. Heavier reads use `getPool(poolPda)` per row.
346
+ */
347
+ async listAllPoolsPaged(opts = {}) {
348
+ const page = opts.page ?? 0;
349
+ const pageSize = opts.pageSize ?? 10;
350
+ if (!Number.isInteger(page) || page < 0) {
351
+ throw new EmblemStakeError(EmblemError.StakePoolShapeInvalid, `listAllPoolsPaged: page must be a non-negative integer; got ${page}`);
352
+ }
353
+ if (!Number.isInteger(pageSize) || pageSize < 1) {
354
+ throw new EmblemStakeError(EmblemError.StakePoolShapeInvalid, `listAllPoolsPaged: pageSize must be a positive integer; got ${pageSize}`);
355
+ }
356
+ // StakePool layout (post-X-1, post-ST-2):
357
+ // 0..8 discriminator
358
+ // 8..9 bump
359
+ // 9..41 authority (Pubkey)
360
+ // 41..45 pool_id (u32 LE)
361
+ // 45..77 asset (Pubkey)
362
+ // 77+ host_url (variable: 1 + len), lock_options (variable),
363
+ // min_stake (u64), max_stake_per_vault (Option<u64>),
364
+ // early_exit_penalty_bps (u16), penalty_destination (variable),
365
+ // reward_sources (variable), reward_cadence (u8),
366
+ // reward_formula (u8), total_staked (u64),
367
+ // total_weighted_stake (u64), current_period (u32),
368
+ // version (u32), created_at (i64), pause flags (2× u8),
369
+ // last_distributed_at (i64), pending_authority (Option<Pubkey>)
370
+ //
371
+ // The variable-length middle (host_url + lock_options + reward_sources +
372
+ // penalty_destination) makes a fixed `created_at` offset impossible
373
+ // from a single slice. So unlike Launch, we fetch the whole account
374
+ // (StakePool is ~250-500 bytes typical) and decode fully. Acceptable
375
+ // for v0.4.0 — revisit if pool count exceeds ~5k.
376
+ const filters = [
377
+ { memcmp: { offset: 0, bytes: bs58Encode(STAKE_POOL_DISCRIMINATOR) } },
378
+ ];
379
+ const accounts = await this.connection.getProgramAccounts(this.programId, {
380
+ commitment: this.commitment,
381
+ filters,
382
+ });
383
+ const summaries = accounts.map((a) => {
384
+ const decoded = decodeStakePoolAccount(a.account.data);
385
+ return {
386
+ poolPda: a.pubkey.toBase58(),
387
+ authority: decoded.authority,
388
+ asset: decoded.asset,
389
+ createdAt: decoded.createdAt,
390
+ };
391
+ });
392
+ summaries.sort((a, b) => {
393
+ if (b.createdAt !== a.createdAt)
394
+ return b.createdAt - a.createdAt;
395
+ return a.poolPda < b.poolPda ? -1 : a.poolPda > b.poolPda ? 1 : 0;
396
+ });
397
+ const totalCount = summaries.length;
398
+ const start = page * pageSize;
399
+ const end = start + pageSize;
400
+ const pools = summaries.slice(start, end);
401
+ return { pools, page, pageSize, totalCount, hasMore: end < totalCount };
402
+ }
299
403
  // ==========================================================================
300
404
  // Off-chain stake-mode evaluator — works today
301
405
  // ==========================================================================
@@ -355,11 +459,15 @@ export class EmblemStakeClient {
355
459
  data: IX_INIT_PLATFORM_CONFIG,
356
460
  });
357
461
  }
358
- /** Rotate the platform admin. Admin-only. */
359
- buildSetAdminIx(args) {
462
+ /**
463
+ * Build propose_admin (X-2 step 1). Current admin nominates a new
464
+ * admin pubkey but does NOT yet rotate. The proposed admin must
465
+ * sign a separate `accept_admin` to complete the swap.
466
+ */
467
+ buildProposeAdminIx(args) {
360
468
  const { platformConfigPda } = this.derivePlatformConfigPda();
361
469
  const data = Buffer.concat([
362
- IX_SET_ADMIN,
470
+ IX_PROPOSE_ADMIN,
363
471
  new PublicKey(args.newAdmin).toBuffer(),
364
472
  ]);
365
473
  return new TransactionInstruction({
@@ -375,6 +483,63 @@ export class EmblemStakeClient {
375
483
  data,
376
484
  });
377
485
  }
486
+ /**
487
+ * Build accept_admin (X-2 step 2). The proposed admin signs to
488
+ * accept the rotation. Reverts with `AdminProposalNotPending`
489
+ * (stake error 516, wire = 6516) if signer is not the
490
+ * currently-pending admin.
491
+ */
492
+ buildAcceptAdminIx(args) {
493
+ const { platformConfigPda } = this.derivePlatformConfigPda();
494
+ return new TransactionInstruction({
495
+ programId: this.programId,
496
+ keys: [
497
+ { pubkey: new PublicKey(args.pendingAdmin), isSigner: true, isWritable: false },
498
+ {
499
+ pubkey: new PublicKey(platformConfigPda),
500
+ isSigner: false,
501
+ isWritable: true,
502
+ },
503
+ ],
504
+ data: IX_ACCEPT_ADMIN,
505
+ });
506
+ }
507
+ /**
508
+ * Build propose_authority (ST-8 / X-2 step 1). Current pool authority
509
+ * nominates a new authority pubkey for THIS specific pool. Writes
510
+ * `pool.pending_authority = Some(proposed)`; authority is NOT
511
+ * rotated yet. Per-pool equivalent of `propose_admin`.
512
+ */
513
+ buildProposeAuthorityIx(args) {
514
+ const data = Buffer.concat([
515
+ IX_PROPOSE_AUTHORITY,
516
+ new PublicKey(args.newAuthority).toBuffer(),
517
+ ]);
518
+ return new TransactionInstruction({
519
+ programId: this.programId,
520
+ keys: [
521
+ { pubkey: new PublicKey(args.authority), isSigner: true, isWritable: false },
522
+ { pubkey: new PublicKey(args.poolPda), isSigner: false, isWritable: true },
523
+ ],
524
+ data,
525
+ });
526
+ }
527
+ /**
528
+ * Build accept_authority (ST-8 / X-2 step 2). The proposed authority
529
+ * signs to accept the rotation. Reverts with
530
+ * `PoolAuthorityProposalNotPending` (stake error 517, wire = 6517) if
531
+ * signer is not the currently-pending pool authority.
532
+ */
533
+ buildAcceptAuthorityIx(args) {
534
+ return new TransactionInstruction({
535
+ programId: this.programId,
536
+ keys: [
537
+ { pubkey: new PublicKey(args.pendingAuthority), isSigner: true, isWritable: false },
538
+ { pubkey: new PublicKey(args.poolPda), isSigner: false, isWritable: true },
539
+ ],
540
+ data: IX_ACCEPT_AUTHORITY,
541
+ });
542
+ }
378
543
  /** Pool-authority pause. Sets `paused_by_authority = true`. */
379
544
  buildPausePoolIx(args) {
380
545
  return new TransactionInstruction({
@@ -774,22 +939,49 @@ export class EmblemStakeClient {
774
939
  txSignature,
775
940
  };
776
941
  }
942
+ /**
943
+ * Detect which token program owns a given mint by reading the account
944
+ * owner. Used by the self-submitting wrappers below to derive the
945
+ * correct ATA program. Throws if the mint doesn't exist on chain.
946
+ */
947
+ async detectTokenProgramId(mint) {
948
+ const info = await this.connection.getAccountInfo(new PublicKey(mint), this.commitment);
949
+ if (!info) {
950
+ throw new EmblemStakeError(EmblemError.MissingAccount, `Mint ${mint} not found on chain`);
951
+ }
952
+ return info.owner.equals(TOKEN_2022_PROGRAM_ID)
953
+ ? TOKEN_2022_PROGRAM_ID
954
+ : TOKEN_PROGRAM_ID;
955
+ }
777
956
  /**
778
957
  * Stake `amount` of the pool's asset for `lockTierIdx` from the
779
- * configured signer. Caller must pass `userTokenAccount` (their ATA
780
- * for the pool's mint) the SDK doesn't auto-derive it because the
781
- * caller may want to pre-create the ATA in the same tx.
958
+ * configured signer. The SDK auto-derives the user's ATA from
959
+ * `(signer, pool.asset)`, prepends an idempotent ATA-create ix
960
+ * (no-op if the ATA already exists), and submits in a single tx.
961
+ * Pass an explicit `userTokenAccount` only if you have a non-default
962
+ * ATA shape; default is the canonical SPL/Token-2022 ATA.
782
963
  */
783
964
  async stake(args) {
784
965
  const signer = this.requireSigner('stake');
785
- const ix = this.buildStakeIx({
966
+ // Read pool to know the asset mint, then detect token program.
967
+ const pool = await this.getPool(args.poolPda);
968
+ if (!pool) {
969
+ throw new EmblemStakeError(EmblemError.MissingAccount, `Pool ${args.poolPda} not found`);
970
+ }
971
+ const tokenProgramId = await this.detectTokenProgramId(pool.asset);
972
+ const mintKey = new PublicKey(pool.asset);
973
+ const ownerKey = new PublicKey(signer.publicKey);
974
+ const userAta = args.userTokenAccount ??
975
+ getAssociatedTokenAddressSync(mintKey, ownerKey, true, tokenProgramId).toBase58();
976
+ const ataIx = createAssociatedTokenAccountIdempotentInstruction(ownerKey, new PublicKey(userAta), ownerKey, mintKey, tokenProgramId);
977
+ const stakeIx = this.buildStakeIx({
786
978
  user: signer.publicKey,
787
979
  poolPda: args.poolPda,
788
- userTokenAccount: args.userTokenAccount,
980
+ userTokenAccount: userAta,
789
981
  amount: args.amount,
790
982
  lockTierIdx: args.lockTierIdx,
791
983
  });
792
- const tx = new Transaction().add(ix);
984
+ const tx = new Transaction().add(ataIx).add(stakeIx);
793
985
  const txSignature = await this.signAndSubmit(tx, signer);
794
986
  const vaultPda = this.deriveStakeVaultAddress({
795
987
  poolPda: args.poolPda,
@@ -797,28 +989,64 @@ export class EmblemStakeClient {
797
989
  });
798
990
  return { vaultPda, txSignature };
799
991
  }
992
+ /**
993
+ * Unstake from a pool. The SDK auto-derives the user's ATA + the
994
+ * penalty-destination ATA (when penaltyDestination kind is treasury-pda)
995
+ * from on-chain pool state. Pass explicit overrides only for non-canonical
996
+ * shapes.
997
+ */
800
998
  async unstake(args) {
801
999
  const signer = this.requireSigner('unstake');
1000
+ const pool = await this.getPool(args.poolPda);
1001
+ if (!pool) {
1002
+ throw new EmblemStakeError(EmblemError.MissingAccount, `Pool ${args.poolPda} not found`);
1003
+ }
1004
+ const mint = args.mint ?? pool.asset;
1005
+ const tokenProgramId = await this.detectTokenProgramId(mint);
1006
+ const mintKey = new PublicKey(mint);
1007
+ const ownerKey = new PublicKey(signer.publicKey);
1008
+ const userAta = args.userTokenAccount ??
1009
+ getAssociatedTokenAddressSync(mintKey, ownerKey, true, tokenProgramId).toBase58();
1010
+ let penaltyDestinationAta = args.penaltyDestinationAta;
1011
+ if (penaltyDestinationAta === undefined &&
1012
+ pool.penaltyDestination.kind === 'treasury-pda') {
1013
+ penaltyDestinationAta = getAssociatedTokenAddressSync(mintKey, new PublicKey(pool.penaltyDestination.pda), true, tokenProgramId).toBase58();
1014
+ }
802
1015
  const ix = this.buildUnstakeIx({
803
1016
  user: signer.publicKey,
804
1017
  poolPda: args.poolPda,
805
- mint: args.mint,
806
- userTokenAccount: args.userTokenAccount,
807
- penaltyDestinationAta: args.penaltyDestinationAta,
1018
+ mint,
1019
+ userTokenAccount: userAta,
1020
+ penaltyDestinationAta,
808
1021
  });
809
1022
  const tx = new Transaction().add(ix);
810
1023
  const txSignature = await this.signAndSubmit(tx, signer);
811
1024
  return { txSignature };
812
1025
  }
1026
+ /**
1027
+ * Claim accrued rewards for one or more periods. Auto-derives the
1028
+ * user's ATA from the pool's asset mint and prepends an idempotent
1029
+ * ATA-create ix (covers first-time claimers).
1030
+ */
813
1031
  async claimRewards(args) {
814
1032
  const signer = this.requireSigner('claimRewards');
815
- const ix = this.buildClaimIx({
1033
+ const pool = await this.getPool(args.poolPda);
1034
+ if (!pool) {
1035
+ throw new EmblemStakeError(EmblemError.MissingAccount, `Pool ${args.poolPda} not found`);
1036
+ }
1037
+ const tokenProgramId = await this.detectTokenProgramId(pool.asset);
1038
+ const mintKey = new PublicKey(pool.asset);
1039
+ const ownerKey = new PublicKey(signer.publicKey);
1040
+ const userAta = args.userTokenAccount ??
1041
+ getAssociatedTokenAddressSync(mintKey, ownerKey, true, tokenProgramId).toBase58();
1042
+ const ataIx = createAssociatedTokenAccountIdempotentInstruction(ownerKey, new PublicKey(userAta), ownerKey, mintKey, tokenProgramId);
1043
+ const claimIx = this.buildClaimIx({
816
1044
  user: signer.publicKey,
817
1045
  poolPda: args.poolPda,
818
- userTokenAccount: args.userTokenAccount,
1046
+ userTokenAccount: userAta,
819
1047
  periodIds: args.periodIds,
820
1048
  });
821
- const tx = new Transaction().add(ix);
1049
+ const tx = new Transaction().add(ataIx).add(claimIx);
822
1050
  const txSignature = await this.signAndSubmit(tx, signer);
823
1051
  return { txSignature };
824
1052
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../src/codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AASH,OAAO,KAAK,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAMpB,eAAO,MAAM,wBAAwB,qBAEnC,CAAC;AACH,eAAO,MAAM,yBAAyB,qBAEpC,CAAC;AACH,eAAO,MAAM,yBAAyB,qBAEpC,CAAC;AACH,oFAAoF;AACpF,eAAO,MAAM,mCAAmC,qBAE9C,CAAC;AAEH,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,6CAA6C;AAC7C,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAQpC,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAC9C,eAAO,MAAM,iCAAiC,IAAI,CAAC;AAEnD,eAAO,MAAM,qBAAqB,IAAI,CAAC;AACvC,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C;;uEAEuE;AACvE,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAEjD,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAMD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,gBAAgB,CA4DlF;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,SAAM,GAAG,MAAM,CA2CpF;AAMD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,iBAAiB,CAiDpF;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,SAAM,GAAG,MAAM,CAmBtF;AAMD,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,GAAG,UAAU,GACxB,yBAAyB,CA+B3B;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,yBAAyB,EAClC,IAAI,SAAM,GACT,MAAM,CAWR;AAQD;wCACwC;AACxC,eAAO,MAAM,oCAAoC,KAAK,CAAC;AAEvD,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,MAAM,GAAG,UAAU,GACxB,0BAA0B,CAmB5B;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,0BAA0B,EACnC,IAAI,SAAM,GACT,MAAM,CAOR"}
1
+ {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../src/codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AASH,OAAO,KAAK,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAMpB,eAAO,MAAM,wBAAwB,qBAEnC,CAAC;AACH,eAAO,MAAM,yBAAyB,qBAEpC,CAAC;AACH,eAAO,MAAM,yBAAyB,qBAEpC,CAAC;AACH,oFAAoF;AACpF,eAAO,MAAM,mCAAmC,qBAE9C,CAAC;AAEH,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,6CAA6C;AAC7C,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAQpC,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAC9C,eAAO,MAAM,iCAAiC,IAAI,CAAC;AAEnD,eAAO,MAAM,qBAAqB,IAAI,CAAC;AACvC,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C;;uEAEuE;AACvE,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAEjD,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAMD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,gBAAgB,CA2ElF;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,SAAM,GAAG,MAAM,CAoDpF;AAMD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,iBAAiB,CAiDpF;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,SAAM,GAAG,MAAM,CAmBtF;AAMD,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,GAAG,UAAU,GACxB,yBAAyB,CA+B3B;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,yBAAyB,EAClC,IAAI,SAAM,GACT,MAAM,CAWR;AAQD;wCACwC;AACxC,eAAO,MAAM,oCAAoC,KAAK,CAAC;AAEvD,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,MAAM,GAAG,UAAU,GACxB,0BAA0B,CA8B5B;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,0BAA0B,EACnC,IAAI,SAAM,GACT,MAAM,CAeR"}
package/dist/codec.js CHANGED
@@ -141,6 +141,19 @@ export function decodeStakePoolAccount(data) {
141
141
  // ST-2 follow-on (2026-05-04) — pause flags trailer.
142
142
  const pausedByAuthority = r.readBool();
143
143
  const pausedByAdmin = r.readBool();
144
+ // ST-3 (2026-05-04) — distribute_rewards cadence floor trailer.
145
+ const lastDistributedAt = r.readI64LE();
146
+ // ST-8 / X-2 (2026-05-04) — per-pool pending_authority trailer
147
+ // (Option<Pubkey>). Length-conditional decoding: returns null if
148
+ // Borsh discriminant byte is 0 (None) OR if buffer pre-dates ST-8
149
+ // size bump (existing 643-byte accounts).
150
+ let pendingAuthority = null;
151
+ if (r.remaining() >= 1) {
152
+ const optDisc = r.readU8();
153
+ if (optDisc === 1 && r.remaining() >= 32) {
154
+ pendingAuthority = r.readPubkey();
155
+ }
156
+ }
144
157
  return {
145
158
  authority,
146
159
  poolId,
@@ -161,6 +174,8 @@ export function decodeStakePoolAccount(data) {
161
174
  createdAt: Number(createdAt),
162
175
  pausedByAuthority,
163
176
  pausedByAdmin,
177
+ lastDistributedAt: Number(lastDistributedAt),
178
+ pendingAuthority,
164
179
  };
165
180
  }
166
181
  export function encodeStakePoolAccount(account, bump = 255) {
@@ -196,6 +211,16 @@ export function encodeStakePoolAccount(account, bump = 255) {
196
211
  w.writeI64LE(BigInt(account.createdAt));
197
212
  w.writeBool(account.pausedByAuthority);
198
213
  w.writeBool(account.pausedByAdmin);
214
+ w.writeI64LE(BigInt(account.lastDistributedAt));
215
+ // ST-8 / X-2 (2026-05-04) — pending_authority: Option<Pubkey> trailer.
216
+ if (account.pendingAuthority) {
217
+ w.writeU8(1);
218
+ w.writePubkey(account.pendingAuthority);
219
+ }
220
+ else {
221
+ w.writeU8(0);
222
+ w.writeBytes(Buffer.alloc(32));
223
+ }
199
224
  return w.toBuffer();
200
225
  }
201
226
  // =============================================================================
@@ -330,7 +355,19 @@ export function decodeStakePlatformConfigAccount(data) {
330
355
  void bump;
331
356
  const admin = r.readPubkey();
332
357
  // reserved bytes ignored on decode — they're write-only padding.
333
- return { admin };
358
+ for (let i = 0; i < STAKE_PLATFORM_CONFIG_RESERVED_BYTES; i++)
359
+ r.readU8();
360
+ // Audit doc 10 X-2 (2026-05-04) — pending_admin: Option<Pubkey>.
361
+ // Length-conditional decoding: returns `null` if Borsh discriminant
362
+ // is 0 (None) OR if the buffer pre-dates the X-2 size bump.
363
+ let pendingAdmin = null;
364
+ if (r.remaining() >= 1) {
365
+ const optDisc = r.readU8();
366
+ if (optDisc === 1 && r.remaining() >= 32) {
367
+ pendingAdmin = r.readPubkey();
368
+ }
369
+ }
370
+ return { admin, pendingAdmin };
334
371
  }
335
372
  export function encodeStakePlatformConfigAccount(account, bump = 255) {
336
373
  const w = new BorshWriter();
@@ -338,6 +375,15 @@ export function encodeStakePlatformConfigAccount(account, bump = 255) {
338
375
  w.writeU8(bump);
339
376
  w.writePubkey(account.admin);
340
377
  w.writeBytes(Buffer.alloc(STAKE_PLATFORM_CONFIG_RESERVED_BYTES));
378
+ // X-2: pending_admin: Option<Pubkey> trailer.
379
+ if (account.pendingAdmin) {
380
+ w.writeU8(1);
381
+ w.writePubkey(account.pendingAdmin);
382
+ }
383
+ else {
384
+ w.writeU8(0);
385
+ w.writeBytes(Buffer.alloc(32));
386
+ }
341
387
  return w.toBuffer();
342
388
  }
343
389
  // =============================================================================
@@ -406,6 +452,10 @@ class BorshReader {
406
452
  throw new StakeCodecError(`unexpected end of buffer at offset ${this.offset}, need ${n} more bytes`);
407
453
  }
408
454
  }
455
+ /** Bytes remaining in the buffer past the cursor. */
456
+ remaining() {
457
+ return this.buf.length - this.offset;
458
+ }
409
459
  readU8() {
410
460
  this.require(1);
411
461
  const v = this.buf.readUInt8(this.offset);
package/dist/codec.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"codec.js","sourceRoot":"","sources":["../src/codec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codec.js","sourceRoot":"","sources":["../src/codec.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { EmblemStakeClient, EmblemStakeError, createStakeReader, type EmblemStakeClientOptions, type SolanaSignerInterface, } from './client.js';
2
- export { decodeStakePoolAccount, encodeStakePoolAccount, decodeStakeVaultAccount, encodeStakeVaultAccount, decodeRewardDistributionAccount, encodeRewardDistributionAccount, STAKE_POOL_DISCRIMINATOR, STAKE_VAULT_DISCRIMINATOR, REWARD_DIST_DISCRIMINATOR, MULTIPLIER_SCALE, MAX_LOCK_OPTIONS, MAX_REWARD_SOURCES, MAX_HOST_URL_LEN, PENALTY_TAG_REDISTRIBUTE, PENALTY_TAG_BURN, PENALTY_TAG_TREASURY_PDA, REWARD_SOURCE_TAG_DIST_VAULT, REWARD_SOURCE_TAG_SPLIT_RECIPIENT, REWARD_CADENCE_HOURLY, REWARD_CADENCE_DAILY, REWARD_CADENCE_WEEKLY, REWARD_FORMULA_LINEAR_V1, REWARD_FORMULA_TIME_WEIGHTED_V1, StakeCodecError, } from './codec.js';
2
+ export { decodeStakePoolAccount, encodeStakePoolAccount, decodeStakeVaultAccount, encodeStakeVaultAccount, decodeStakePlatformConfigAccount, encodeStakePlatformConfigAccount, decodeRewardDistributionAccount, encodeRewardDistributionAccount, STAKE_POOL_DISCRIMINATOR, STAKE_VAULT_DISCRIMINATOR, REWARD_DIST_DISCRIMINATOR, MULTIPLIER_SCALE, MAX_LOCK_OPTIONS, MAX_REWARD_SOURCES, MAX_HOST_URL_LEN, PENALTY_TAG_REDISTRIBUTE, PENALTY_TAG_BURN, PENALTY_TAG_TREASURY_PDA, REWARD_SOURCE_TAG_DIST_VAULT, REWARD_SOURCE_TAG_SPLIT_RECIPIENT, REWARD_CADENCE_HOURLY, REWARD_CADENCE_DAILY, REWARD_CADENCE_WEEKLY, REWARD_FORMULA_LINEAR_V1, REWARD_FORMULA_TIME_WEIGHTED_V1, StakeCodecError, } from './codec.js';
3
3
  export { deriveStakePoolPda, deriveStakeVaultPda, deriveRewardDistPda, encodeU32, STAKE_POOL_SEED, STAKE_VAULT_SEED, REWARD_DIST_SEED, STAKE_PROGRAM_ID, type DeriveStakePoolPdaArgs, type DeriveStakeVaultPdaArgs, type DeriveRewardDistPdaArgs, type DerivedPda, } from './pda.js';
4
4
  export type { StakePoolAccount, StakePoolView, StakeVaultAccount, StakeVaultView, RewardDistributionAccount, RewardDistributionView, CreatePoolArgs, StakeArgs, UnstakeArgs, ClaimRewardsArgs, DistributeRewardsArgs, GetVaultArgs, StakeGateEvaluationResult, } from './types.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,GAC3B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,+BAA+B,EAC/B,+BAA+B,EAC/B,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,4BAA4B,EAC5B,iCAAiC,EACjC,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,+BAA+B,EAC/B,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,UAAU,GAChB,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,yBAAyB,EACzB,sBAAsB,EACtB,cAAc,EACd,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,GAC3B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,gCAAgC,EAChC,gCAAgC,EAChC,+BAA+B,EAC/B,+BAA+B,EAC/B,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,4BAA4B,EAC5B,iCAAiC,EACjC,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,+BAA+B,EAC/B,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,UAAU,GAChB,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,yBAAyB,EACzB,sBAAsB,EACtB,cAAc,EACd,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export { EmblemStakeClient, EmblemStakeError, createStakeReader, } from './client.js';
2
- export { decodeStakePoolAccount, encodeStakePoolAccount, decodeStakeVaultAccount, encodeStakeVaultAccount, decodeRewardDistributionAccount, encodeRewardDistributionAccount, STAKE_POOL_DISCRIMINATOR, STAKE_VAULT_DISCRIMINATOR, REWARD_DIST_DISCRIMINATOR, MULTIPLIER_SCALE, MAX_LOCK_OPTIONS, MAX_REWARD_SOURCES, MAX_HOST_URL_LEN, PENALTY_TAG_REDISTRIBUTE, PENALTY_TAG_BURN, PENALTY_TAG_TREASURY_PDA, REWARD_SOURCE_TAG_DIST_VAULT, REWARD_SOURCE_TAG_SPLIT_RECIPIENT, REWARD_CADENCE_HOURLY, REWARD_CADENCE_DAILY, REWARD_CADENCE_WEEKLY, REWARD_FORMULA_LINEAR_V1, REWARD_FORMULA_TIME_WEIGHTED_V1, StakeCodecError, } from './codec.js';
2
+ export { decodeStakePoolAccount, encodeStakePoolAccount, decodeStakeVaultAccount, encodeStakeVaultAccount, decodeStakePlatformConfigAccount, encodeStakePlatformConfigAccount, decodeRewardDistributionAccount, encodeRewardDistributionAccount, STAKE_POOL_DISCRIMINATOR, STAKE_VAULT_DISCRIMINATOR, REWARD_DIST_DISCRIMINATOR, MULTIPLIER_SCALE, MAX_LOCK_OPTIONS, MAX_REWARD_SOURCES, MAX_HOST_URL_LEN, PENALTY_TAG_REDISTRIBUTE, PENALTY_TAG_BURN, PENALTY_TAG_TREASURY_PDA, REWARD_SOURCE_TAG_DIST_VAULT, REWARD_SOURCE_TAG_SPLIT_RECIPIENT, REWARD_CADENCE_HOURLY, REWARD_CADENCE_DAILY, REWARD_CADENCE_WEEKLY, REWARD_FORMULA_LINEAR_V1, REWARD_FORMULA_TIME_WEIGHTED_V1, StakeCodecError, } from './codec.js';
3
3
  export { deriveStakePoolPda, deriveStakeVaultPda, deriveRewardDistPda, encodeU32, STAKE_POOL_SEED, STAKE_VAULT_SEED, REWARD_DIST_SEED, STAKE_PROGRAM_ID, } from './pda.js';
4
4
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,GAGlB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,+BAA+B,EAC/B,+BAA+B,EAC/B,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,4BAA4B,EAC5B,iCAAiC,EACjC,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,+BAA+B,EAC/B,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GAKjB,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,GAGlB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,gCAAgC,EAChC,gCAAgC,EAChC,+BAA+B,EAC/B,+BAA+B,EAC/B,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,4BAA4B,EAC5B,iCAAiC,EACjC,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,+BAA+B,EAC/B,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GAKjB,MAAM,UAAU,CAAC"}
package/dist/types.d.ts CHANGED
@@ -39,7 +39,13 @@ export interface StakePoolAccount {
39
39
  earlyExitPenaltyBps: number;
40
40
  /** Where the penalty goes (redistribute / burn / treasury PDA). */
41
41
  penaltyDestination: PenaltyDestination;
42
- /** Reward sources funding this pool. */
42
+ /** **Display-only metadata.** NOT a runtime gate — `distribute_rewards`
43
+ * reads from the pool-seeded reward vault `[b"reward-vault", pool]`
44
+ * regardless of what this field contains. See audit doc 10 ST-4
45
+ * tombstone (2026-05-04) and the Rust-side `RewardSource`
46
+ * doc-comment for the full rationale. Surface this to creators
47
+ * during pool setup as their declared intent; do NOT use it as a
48
+ * proof of where rewards actually come from. */
43
49
  rewardSources: StakeRewardSource[];
44
50
  /** How often distribute_rewards is callable. */
45
51
  rewardCadence: 'hourly' | 'daily' | 'weekly';
@@ -65,10 +71,44 @@ export interface StakePoolAccount {
65
71
  /** ST-2 follow-on — set by `admin_pause_pool` (platform admin from
66
72
  * stake's PlatformConfig); cleared by `admin_unpause_pool`. */
67
73
  pausedByAdmin: boolean;
74
+ /** ST-3 (2026-05-04) — unix-seconds of the last successful
75
+ * `distribute_rewards`. The grief-fix gate: each call requires
76
+ * `now >= lastDistributedAt + cadence_seconds(rewardCadence)`,
77
+ * otherwise reverts with `StakeRewardCadenceNotElapsed`. Initialized
78
+ * to `0` at pool creation; first successful distribute always passes
79
+ * the floor (any cadence + `now > 0` clears 0). */
80
+ lastDistributedAt: number;
81
+ /** ST-8 / X-2 (2026-05-04) — per-pool pending authority for the
82
+ * two-step rotation. Set by `propose_authority` (current authority
83
+ * signs); cleared by `accept_authority` (proposed authority signs).
84
+ * `null` when no rotation is in flight. */
85
+ pendingAuthority: SolanaAddress | null;
68
86
  }
69
87
  export interface StakePoolView extends StakePoolAccount {
70
88
  poolPda: SolanaAddress;
71
89
  }
90
+ /**
91
+ * Lightweight summary used by the discovery feed (`listAllPoolsPaged`).
92
+ * Mirrors the launch SDK's `LaunchSummary` pattern.
93
+ *
94
+ * Sorted client-side by `(createdAt DESC, poolPda ASC)` for stable,
95
+ * deterministic pagination — pools created in the same slot share a
96
+ * timestamp; the poolPda tiebreak prevents page-boundary drift.
97
+ */
98
+ export interface StakePoolSummary {
99
+ poolPda: SolanaAddress;
100
+ authority: SolanaAddress;
101
+ asset: SolanaAddress;
102
+ createdAt: number;
103
+ }
104
+ /** Result envelope from `listAllPoolsPaged()`. Mirrors `LaunchListPage`. */
105
+ export interface StakePoolListPage {
106
+ pools: StakePoolSummary[];
107
+ page: number;
108
+ pageSize: number;
109
+ totalCount: number;
110
+ hasMore: boolean;
111
+ }
72
112
  /**
73
113
  * Stake program PlatformConfig — singleton, PDA seeds [b"platform-config"].
74
114
  *
@@ -79,8 +119,11 @@ export interface StakePoolView extends StakePoolAccount {
79
119
  */
80
120
  export interface StakePlatformConfigAccount {
81
121
  /** Pubkey allowed to call `admin_pause_pool` / `admin_unpause_pool`
82
- * + `set_admin` (rotate this field). */
122
+ * + `propose_admin` (X-2 step 1 — rotate this field via two-step). */
83
123
  admin: SolanaAddress;
124
+ /** Audit doc 10 X-2 (2026-05-04) — set by `propose_admin`, cleared by
125
+ * `accept_admin`. `null` when no rotation is in flight. */
126
+ pendingAdmin: SolanaAddress | null;
84
127
  }
85
128
  export interface StakePlatformConfigView extends StakePlatformConfigAccount {
86
129
  platformConfigPda: SolanaAddress;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@emblemvault/primitives-stake",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "description": "TypeScript SDK for the Emblem stake primitive — lock-up pools, reward vaults, multipliers, and early-exit penalties.",
5
5
  "keywords": [
6
6
  "emblem",