@emblemvault/primitives-stake 0.5.1 → 0.7.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/pda.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pda.d.ts","sourceRoot":"","sources":["../src/pda.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEtF,eAAO,MAAM,eAAe,qBAA4B,CAAC;AACzD,eAAO,MAAM,gBAAgB,qBAA6B,CAAC;AAC3D,eAAO,MAAM,gBAAgB,qBAA6B,CAAC;AAE3D;;;;;;;GAOG;AACH,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAM5B,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,SAAS,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,UAAU,CAS3E;AAMD,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,aAAa,CAAC;IACvB,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,UAAU,CAS7E;AAMD,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,UAAU,CAS7E;AAMD,gFAAgF;AAChF,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CASlE"}
1
+ {"version":3,"file":"pda.d.ts","sourceRoot":"","sources":["../src/pda.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEtF,eAAO,MAAM,eAAe,qBAA4B,CAAC;AACzD,eAAO,MAAM,gBAAgB,qBAA6B,CAAC;AAC3D,eAAO,MAAM,gBAAgB,qBAA6B,CAAC;AAC3D,eAAO,MAAM,iBAAiB,qBAA8B,CAAC;AAC7D,eAAO,MAAM,oBAAoB,qBAAiC,CAAC;AACnE,eAAO,MAAM,oBAAoB,qBAAiC,CAAC;AACnE,eAAO,MAAM,qBAAqB,qBAAkC,CAAC;AACrE,eAAO,MAAM,oBAAoB,qBAAiC,CAAC;AAEnE;;;;;;;GAOG;AACH,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAM5B,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,SAAS,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,UAAU,CAS3E;AAMD,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,aAAa,CAAC;IACvB,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,UAAU,CAS7E;AAMD,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,aAAa,CAAC;IACvB;;mDAE+C;IAC/C,UAAU,EAAE,aAAa,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,UAAU,CAU7E;AAUD,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,aAAa,CAAC;IAC1B,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,UAAU,CAS/E;AAMD,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,2BAA2B,GAAG,UAAU,CAQrF;AAMD,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,aAAa,GAAG,UAAU,CAO5E;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,aAAa,GAAG,UAAU,CAO5E;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,aAAa,CAAC;IAC1B,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,4BAA4B,GACjC,UAAU,CASZ;AAMD,gFAAgF;AAChF,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CASlE"}
package/dist/pda.js CHANGED
@@ -1,18 +1,31 @@
1
1
  /**
2
2
  * PDA derivation for the stake program.
3
3
  *
4
- * Three derivations:
4
+ * Bundle 9+232 (2026-05-06) seeds:
5
5
  * StakePool: [b"stake-pool", asset_mint, pool_id_le_u32]
6
6
  * StakeVault: [b"stake-vault", pool_pda, owner]
7
- * RewardDistribution: [b"reward-dist", pool_pda, period_id_le_u32]
7
+ * PrincipalVault: [b"principal-vault", pool_pda]
8
+ * RewardVault: [b"reward-vault", pool_pda, reward_mint] (was [b"reward-vault", pool_pda])
9
+ * RewardDistribution: [b"reward-dist", pool_pda, reward_mint, period_id_le_u32]
10
+ * (was [b"reward-dist", pool_pda, period_id_le_u32])
11
+ * PlatformConfig: [b"platform-config"] (singleton)
12
+ * PlatformAccrual: [b"platform-accrual", pool_pda, reward_mint] (Bundle 9+232)
13
+ * VaultAuthority: [b"vault-authority"] (signer for transfers out of program-owned vaults)
8
14
  *
9
- * Mirrors sdk/sell's pattern. Rust and TS sides derive identically.
15
+ * Pre-bundle reward-vault and reward-dist seeds are GONE any caller
16
+ * that still passes the pre-bundle shape will hit `AccountNotInitialized`
17
+ * on chain. fauxnet bootstrap-mit12 wipes pre-bundle accounts.
10
18
  */
11
19
  import { PublicKey } from '@solana/web3.js';
12
20
  import { STAKE_PROGRAM_ID } from '@emblemvault/primitives-shared';
13
21
  export const STAKE_POOL_SEED = Buffer.from('stake-pool');
14
22
  export const STAKE_VAULT_SEED = Buffer.from('stake-vault');
15
23
  export const REWARD_DIST_SEED = Buffer.from('reward-dist');
24
+ export const REWARD_VAULT_SEED = Buffer.from('reward-vault');
25
+ export const PRINCIPAL_VAULT_SEED = Buffer.from('principal-vault');
26
+ export const PLATFORM_CONFIG_SEED = Buffer.from('platform-config');
27
+ export const PLATFORM_ACCRUAL_SEED = Buffer.from('platform-accrual');
28
+ export const VAULT_AUTHORITY_SEED = Buffer.from('vault-authority');
16
29
  /**
17
30
  * Stake program id — derived from `keys/stake.json` and emitted by
18
31
  * `scripts/derive-program-ids.mjs` into `shared/src/program-ids.generated.ts`.
@@ -38,9 +51,43 @@ export function deriveStakeVaultPda(args) {
38
51
  }
39
52
  export function deriveRewardDistPda(args) {
40
53
  const poolKey = new PublicKey(args.poolPda);
54
+ const mintKey = new PublicKey(args.rewardMint);
41
55
  const periodBytes = encodeU32(args.periodId, 'periodId');
42
56
  const programKey = new PublicKey(args.programId);
43
- const [pda, bump] = PublicKey.findProgramAddressSync([REWARD_DIST_SEED, poolKey.toBytes(), periodBytes], programKey);
57
+ const [pda, bump] = PublicKey.findProgramAddressSync([REWARD_DIST_SEED, poolKey.toBytes(), mintKey.toBytes(), periodBytes], programKey);
58
+ return { pda, bump };
59
+ }
60
+ export function deriveRewardVaultPda(args) {
61
+ const poolKey = new PublicKey(args.poolPda);
62
+ const mintKey = new PublicKey(args.rewardMint);
63
+ const programKey = new PublicKey(args.programId);
64
+ const [pda, bump] = PublicKey.findProgramAddressSync([REWARD_VAULT_SEED, poolKey.toBytes(), mintKey.toBytes()], programKey);
65
+ return { pda, bump };
66
+ }
67
+ export function derivePrincipalVaultPda(args) {
68
+ const poolKey = new PublicKey(args.poolPda);
69
+ const programKey = new PublicKey(args.programId);
70
+ const [pda, bump] = PublicKey.findProgramAddressSync([PRINCIPAL_VAULT_SEED, poolKey.toBytes()], programKey);
71
+ return { pda, bump };
72
+ }
73
+ // ============================================================================
74
+ // PlatformConfig + VaultAuthority + PlatformAccrual PDAs
75
+ // ============================================================================
76
+ export function derivePlatformConfigPda(programId) {
77
+ const programKey = new PublicKey(programId);
78
+ const [pda, bump] = PublicKey.findProgramAddressSync([PLATFORM_CONFIG_SEED], programKey);
79
+ return { pda, bump };
80
+ }
81
+ export function deriveVaultAuthorityPda(programId) {
82
+ const programKey = new PublicKey(programId);
83
+ const [pda, bump] = PublicKey.findProgramAddressSync([VAULT_AUTHORITY_SEED], programKey);
84
+ return { pda, bump };
85
+ }
86
+ export function derivePlatformAccrualPda(args) {
87
+ const poolKey = new PublicKey(args.poolPda);
88
+ const mintKey = new PublicKey(args.rewardMint);
89
+ const programKey = new PublicKey(args.programId);
90
+ const [pda, bump] = PublicKey.findProgramAddressSync([PLATFORM_ACCRUAL_SEED, poolKey.toBytes(), mintKey.toBytes()], programKey);
44
91
  return { pda, bump };
45
92
  }
46
93
  // ============================================================================
package/dist/pda.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pda.js","sourceRoot":"","sources":["../src/pda.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAsB,MAAM,gCAAgC,CAAC;AAEtF,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAE3D;;;;;;;GAOG;AACH,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAiB5B,MAAM,UAAU,kBAAkB,CAAC,IAA4B;IAC7D,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,sBAAsB,CAClD,CAAC,eAAe,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,EAClD,UAAU,CACX,CAAC;IACF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AACvB,CAAC;AAYD,MAAM,UAAU,mBAAmB,CAAC,IAA6B;IAC/D,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,sBAAsB,CAClD,CAAC,gBAAgB,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,EACzD,UAAU,CACX,CAAC;IACF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AACvB,CAAC;AAYD,MAAM,UAAU,mBAAmB,CAAC,IAA6B;IAC/D,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,sBAAsB,CAClD,CAAC,gBAAgB,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,EAClD,UAAU,CACX,CAAC;IACF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AACvB,CAAC;AAED,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,gFAAgF;AAChF,MAAM,UAAU,SAAS,CAAC,KAAa,EAAE,SAAiB;IACxD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,WAAW,EAAE,CAAC;QACjE,MAAM,IAAI,UAAU,CAClB,GAAG,SAAS,4DAA4D,KAAK,EAAE,CAChF,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5B,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"pda.js","sourceRoot":"","sources":["../src/pda.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -58,8 +58,17 @@ export interface StakePoolAccount {
58
58
  totalStaked: bigint;
59
59
  /** Total weighted-stake (sum of stake × multiplier across all vaults). */
60
60
  totalWeightedStake: bigint;
61
- /** Period counterincrements on each distribute_rewards. */
62
- currentPeriod: number;
61
+ /** Bundle 9+232 (2026-05-06) registered reward token streams for
62
+ * this pool. Each entry has its own vault PDA at
63
+ * `[b"reward-vault", pool, mint]`, its own period counter (parallel
64
+ * index in `currentPeriods`), and its own last-distributed timestamp
65
+ * (parallel index in `lastDistributedAts`). Cap MAX_REWARD_MINTS = 4.
66
+ * Empty Vec is allowed (no streams yet); pool authority appends via
67
+ * `register_pool_reward_mint`. */
68
+ rewardMints: SolanaAddress[];
69
+ /** Bundle 9+232 — per-stream period counter, parallel-indexed with
70
+ * `rewardMints`. Increments on each `distribute_rewards(rewardMint)`. */
71
+ currentPeriods: number[];
63
72
  /** Monotonic version, incremented on update. */
64
73
  version: number;
65
74
  /** Unix-seconds at creation. */
@@ -71,13 +80,10 @@ export interface StakePoolAccount {
71
80
  /** ST-2 follow-on — set by `admin_pause_pool` (platform admin from
72
81
  * stake's PlatformConfig); cleared by `admin_unpause_pool`. */
73
82
  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;
83
+ /** Bundle 9+232 (2026-05-06) — per-stream last-distributed timestamps,
84
+ * parallel-indexed with `rewardMints`. ST-3 grief-fix is per-stream:
85
+ * distributing one mint doesn't bump the floor for another. */
86
+ lastDistributedAts: number[];
81
87
  /** ST-8 / X-2 (2026-05-04) — per-pool pending authority for the
82
88
  * two-step rotation. Set by `propose_authority` (current authority
83
89
  * signs); cleared by `accept_authority` (proposed authority signs).
@@ -124,10 +130,36 @@ export interface StakePlatformConfigAccount {
124
130
  /** Audit doc 10 X-2 (2026-05-04) — set by `propose_admin`, cleared by
125
131
  * `accept_admin`. `null` when no rotation is in flight. */
126
132
  pendingAdmin: SolanaAddress | null;
133
+ /** Bundle 9+232 (2026-05-06) — Emblem's protocol fee on stake reward
134
+ * distributions, in basis points (0..3_000 = 0–30%). Capped at
135
+ * `STAKE_PLATFORM_FEE_BPS_MAX` by `set_platform_fee_bps`. Read by
136
+ * `distribute_rewards` to compute the bookkeeping split between the
137
+ * staker pool and `PlatformAccrual.pending`. Mainnet ships at 0.
138
+ * Never exposed to creators. */
139
+ feeBps: number;
127
140
  }
128
141
  export interface StakePlatformConfigView extends StakePlatformConfigAccount {
129
142
  platformConfigPda: SolanaAddress;
130
143
  }
144
+ /**
145
+ * Bundle 9+232 (2026-05-06) — per-stream platform-fee accrual.
146
+ *
147
+ * One PDA per `(pool, rewardMint)`, seeds
148
+ * `[b"platform-accrual", pool, rewardMint]`. Init'd alongside the
149
+ * reward vault by `register_pool_reward_mint`. Mutated by
150
+ * `distribute_rewards` (increments `pending`) and
151
+ * `emblem_claim_platform_fee` (drains `pending` → admin treasury ATA,
152
+ * resets to 0).
153
+ */
154
+ export interface PlatformAccrualAccount {
155
+ poolPda: SolanaAddress;
156
+ rewardMint: SolanaAddress;
157
+ /** Bookkept Emblem fee owed but not-yet-transferred. */
158
+ pending: bigint;
159
+ }
160
+ export interface PlatformAccrualView extends PlatformAccrualAccount {
161
+ accrualPda: SolanaAddress;
162
+ }
131
163
  /**
132
164
  * The on-chain StakeVaultAccount — one per (pool, owner).
133
165
  *
@@ -146,8 +178,13 @@ export interface StakeVaultAccount {
146
178
  lockEndsAt: number;
147
179
  /** Accrued but-not-yet-claimed rewards (base units of asset OR reward token, depending on source). */
148
180
  accruedRewards: bigint;
149
- /** Last period this vault was credited. */
150
- lastClaimPeriod: number;
181
+ /** Bundle 9+232 (2026-05-06) last-claimed period per reward stream,
182
+ * parallel-indexed with `pool.rewardMints`. When the staker claims
183
+ * stream `i`, `lastClaimPeriods[i]` advances to the pool's
184
+ * `currentPeriods[i]`. Initialized at stake time to the pool's
185
+ * current per-mint counters (no historical claims). Cap MAX_REWARD_MINTS
186
+ * so vault size stays bounded. */
187
+ lastClaimPeriods: number[];
151
188
  /** Unix-seconds at last claim. */
152
189
  lastClaimAt: number;
153
190
  /** Unix-seconds at which the stake was first created. */
@@ -205,6 +242,13 @@ export interface CreatePoolArgs {
205
242
  config: StakePoolConfig;
206
243
  /** Optional explicit pool id; if omitted, the SDK derives the next sequential value. */
207
244
  poolId?: number;
245
+ /** Bundle 9+232 (2026-05-06) — optional initial reward token mints
246
+ * to register at pool create time. Each mint must be appended via
247
+ * `register_pool_reward_mint` to init its vault PDA + PlatformAccrual.
248
+ * The SDK chains those ixs after `create_pool` if this list is
249
+ * non-empty. Cap MAX_REWARD_MINTS = 4. Defaults to `[]` (caller
250
+ * registers streams later). */
251
+ initialRewardMints?: SolanaAddress[];
208
252
  }
209
253
  export interface StakeArgs {
210
254
  poolPda: SolanaAddress;
@@ -215,11 +259,19 @@ export interface UnstakeArgs {
215
259
  poolPda: SolanaAddress;
216
260
  amount: bigint;
217
261
  }
262
+ /** Bundle 9+232 (2026-05-06) — claim is per-reward-stream. Caller picks
263
+ * one mint to claim against; `claimAllRewards` (helper) loops if you
264
+ * want all streams in one call. */
218
265
  export interface ClaimRewardsArgs {
219
266
  poolPda: SolanaAddress;
267
+ rewardMint: SolanaAddress;
220
268
  }
269
+ /** Bundle 9+232 (2026-05-06) — distribute is per-reward-stream. The
270
+ * caller specifies which mint to snapshot; each stream advances
271
+ * independently. */
221
272
  export interface DistributeRewardsArgs {
222
273
  poolPda: SolanaAddress;
274
+ rewardMint: SolanaAddress;
223
275
  }
224
276
  export interface GetVaultArgs {
225
277
  poolPda: 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":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,iBAAiB,EAClB,MAAM,gCAAgC,CAAC;AAExC;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gFAAgF;IAChF,SAAS,EAAE,aAAa,CAAC;IACzB,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,KAAK,EAAE,aAAa,CAAC;IACrB,qEAAqE;IACrE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,+EAA+E;IAC/E,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,oDAAoD;IACpD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mEAAmE;IACnE,kBAAkB,EAAE,kBAAkB,CAAC;IACvC;;;;;;qDAMiD;IACjD,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,gDAAgD;IAChD,aAAa,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC7C;;;mEAG+D;IAC/D,aAAa,EAAE,aAAa,CAAC;IAC7B,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;;;;uCAMmC;IACnC,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B;8EAC0E;IAC1E,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB;;gEAE4D;IAC5D,iBAAiB,EAAE,OAAO,CAAC;IAC3B;oEACgE;IAChE,aAAa,EAAE,OAAO,CAAC;IACvB;;oEAEgE;IAChE,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B;;;gDAG4C;IAC5C,gBAAgB,EAAE,aAAa,GAAG,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,OAAO,EAAE,aAAa,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,aAAa,CAAC;IACzB,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,4EAA4E;AAC5E,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,0BAA0B;IACzC;2EACuE;IACvE,KAAK,EAAE,aAAa,CAAC;IACrB;gEAC4D;IAC5D,YAAY,EAAE,aAAa,GAAG,IAAI,CAAC;IACnC;;;;;qCAKiC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAwB,SAAQ,0BAA0B;IACzE,iBAAiB,EAAE,aAAa,CAAC;CAClC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,aAAa,CAAC;IAC1B,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAoB,SAAQ,sBAAsB;IACjE,UAAU,EAAE,aAAa,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,sCAAsC;IACtC,OAAO,EAAE,aAAa,CAAC;IACvB,uCAAuC;IACvC,KAAK,EAAE,aAAa,CAAC;IACrB,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,UAAU,EAAE,MAAM,CAAC;IACnB,sGAAsG;IACtG,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;uCAKmC;IACnC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB;;;uBAGmB;IACnB,2BAA2B,EAAE,MAAM,CAAC;IACpC;2DACuD;IACvD,oBAAoB,EAAE,MAAM,CAAC;IAC7B;yDACqD;IACrD,0BAA0B,EAAE,MAAM,CAAC;IACnC;sEACkE;IAClE,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;;wDAIoD;IACpD,4BAA4B,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,cAAe,SAAQ,iBAAiB;IACvD,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACxC,6CAA6C;IAC7C,OAAO,EAAE,aAAa,CAAC;IACvB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,gBAAgB,EAAE,MAAM,CAAC;IACzB,oEAAoE;IACpE,uBAAuB,EAAE,MAAM,CAAC;IAChC,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,UAAU,EAAE,aAAa,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAuB,SAAQ,yBAAyB;IACvE,eAAe,EAAE,aAAa,CAAC;CAChC;AAMD,oFAAoF;AACpF,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,eAAe,CAAC;IACxB,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;oCAKgC;IAChC,kBAAkB,CAAC,EAAE,aAAa,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;oCAEoC;AACpC,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,aAAa,CAAC;CAC3B;AAED;;qBAEqB;AACrB,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,aAAa,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,8EAA8E;AAC9E,MAAM,WAAW,yBAAyB;IACxC,6DAA6D;IAC7D,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE;QACR,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,6EAA6E;QAC7E,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC;CACH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@emblemvault/primitives-stake",
3
- "version": "0.5.1",
3
+ "version": "0.7.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",
@@ -26,7 +26,7 @@
26
26
  "dependencies": {
27
27
  "@solana/spl-token": "^0.4.6",
28
28
  "@solana/web3.js": "^1.91.0",
29
- "@emblemvault/primitives-shared": "^0.3.0"
29
+ "@emblemvault/primitives-shared": "^0.4.0"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/node": "^20.0.0",