@emblemvault/primitives-stake 0.5.1 → 0.7.1

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/codec.js CHANGED
@@ -1,63 +1,57 @@
1
1
  /**
2
- * Borsh codec for StakePool / StakeVault / RewardDistribution accounts.
2
+ * Borsh codec for StakePool / StakeVault / RewardDistribution /
3
+ * PlatformConfig / PlatformAccrual accounts.
3
4
  *
4
- * Layouts match the Rust structs in `programs/stake/src/state.rs` (Phase 3
5
- * task). Locked field orderings; variant tags locked too — changing them
6
- * invalidates every existing on-chain account.
5
+ * Layouts match the Rust structs in `programs/stake/src/lib.rs`. Locked
6
+ * field orderings; variant tags locked too — changing them invalidates
7
+ * every existing on-chain account.
7
8
  *
8
- * StakePoolAccount field order (LOCKED):
9
+ * StakePoolAccount field order (LOCKED, post-Bundle-9+232 2026-05-06):
9
10
  *
10
11
  * bump: u8
11
12
  * authority: Pubkey (32)
12
13
  * pool_id: u32 LE
13
14
  * asset: Pubkey (32)
14
15
  * host_url: Option<String> (max 128)
15
- * lock_options: Vec<LockTier> (u32 LE length + repeated entries)
16
- * LockTier:
17
- * days: u32 LE
18
- * multiplier: u32 LE (×1_000 fixed-point: multiplier 1.0 = 1000, 1.75 = 1750)
16
+ * lock_options: Vec<LockTier>
19
17
  * min_stake: u64 LE
20
18
  * max_stake_per_vault: Option<u64>
21
19
  * early_exit_penalty_bps: u16 LE
22
20
  * penalty_destination: PenaltyDestination (1-byte tag + variant body)
23
- * - tag=0 redistribute: empty body
24
- * - tag=1 burn: empty body
25
- * - tag=2 treasury-pda: Pubkey (32 bytes) — destination address
26
- * reward_sources: Vec<RewardSource>
27
- * RewardSource:
28
- * tag: u8 (0 = distribution-vault, 1 = split-recipient)
29
- * source: Pubkey (32 bytes) — vault PDA or SplitConfig PDA
30
- *
31
- * Audit X-1 Pass 2 (2026-05-03) replaced both String body fields with
32
- * fixed-32-byte Pubkey. ~324 bytes saved per StakePool.
33
- * reward_cadence: u8 (0 hourly, 1 daily, 2 weekly)
34
- * reward_formula: u8 (0 linear-v1, 1 time-weighted-v1)
21
+ * reward_sources: Vec<RewardSource> (display-only; ST-4 tombstone)
22
+ * reward_cadence: u8
23
+ * reward_formula: u8
35
24
  * total_staked: u64 LE
36
25
  * total_weighted_stake: u64 LE
37
- * current_period: u32 LE
26
+ * reward_mints: Vec<Pubkey> (Bundle 9+232; cap 4)
27
+ * current_periods: Vec<u32 LE> (Bundle 9+232; parallel)
28
+ * last_distributed_ats: Vec<i64 LE> (Bundle 9+232; parallel)
38
29
  * version: u32 LE
39
30
  * created_at: i64 LE
31
+ * paused_by_authority: bool (ST-2)
32
+ * paused_by_admin: bool (ST-2)
33
+ * pending_authority: Option<Pubkey> (ST-8 / X-2)
40
34
  *
41
- * StakeVaultAccount (fixed-size easier):
42
- * bump: u8
43
- * pool_pda: Pubkey
44
- * owner: Pubkey
45
- * staked_amount: u64 LE
46
- * lock_tier_idx: u8
47
- * lock_ends_at: i64 LE
48
- * accrued_rewards: u64 LE
49
- * last_claim_period: u32 LE
50
- * last_claim_at: i64 LE
51
- * staked_at: i64 LE
35
+ * Bundle 9+232 (2026-05-06): pre-bundle scalars `current_period: u32` +
36
+ * `last_distributed_at: i64` are gone (replaced by per-mint Vecs).
37
+ * Account size shrinks slightly when a pool has 0 reward streams,
38
+ * grows otherwise.
52
39
  *
53
- * RewardDistributionAccount (fixed-size):
54
- * bump: u8
55
- * pool_pda: Pubkey
56
- * period_id: u32 LE
57
- * total_distributed: u64 LE
58
- * weighted_stake_at_snapshot: u64 LE
59
- * distributed_at: i64 LE
60
- * reward_mint: Pubkey
40
+ * StakeVaultAccount (Bundle 9+232 — `last_claim_period: u32` →
41
+ * `last_claim_periods: Vec<u32>` parallel with `pool.reward_mints`):
42
+ * bump, pool_pda, owner, staked_amount, lock_tier_idx, lock_ends_at,
43
+ * accrued_rewards, last_claim_periods (Vec<u32>), last_claim_at,
44
+ * staked_at, [ST-2 wider snapshot trailer].
45
+ *
46
+ * RewardDistributionAccount (unchanged shape; PDA seed gains reward_mint):
47
+ * bump, pool_pda, period_id, total_distributed,
48
+ * weighted_stake_at_snapshot, distributed_at, reward_mint.
49
+ *
50
+ * PlatformConfig (Bundle 9+232 — appended `fee_bps: u16`):
51
+ * bump, admin, reserved[30], pending_admin: Option<Pubkey>, fee_bps.
52
+ *
53
+ * PlatformAccrual (Bundle 9+232 — new account):
54
+ * bump, pool_pda, reward_mint, pending: u64.
61
55
  */
62
56
  import { PublicKey } from '@solana/web3.js';
63
57
  // =============================================================================
@@ -76,12 +70,24 @@ export const REWARD_DIST_DISCRIMINATOR = Buffer.from([
76
70
  export const STAKE_PLATFORM_CONFIG_DISCRIMINATOR = Buffer.from([
77
71
  0xa0, 0x4e, 0x80, 0x00, 0xf8, 0x53, 0xe6, 0xa0,
78
72
  ]);
73
+ /** Bundle 9+232 (2026-05-06). sha256("account:PlatformAccrual").subarray(0, 8). */
74
+ export const STAKE_PLATFORM_ACCRUAL_DISCRIMINATOR = Buffer.from([
75
+ 0x5f, 0xa0, 0xd0, 0xe4, 0xc6, 0x36, 0x0e, 0x0d,
76
+ ]);
79
77
  /** Multiplier scale: stored as u32, displayed as multiplier × 1_000. */
80
78
  export const MULTIPLIER_SCALE = 1000;
81
79
  /** Caps shared with the on-chain program. */
82
80
  export const MAX_LOCK_OPTIONS = 10;
83
81
  export const MAX_REWARD_SOURCES = 8;
84
82
  export const MAX_HOST_URL_LEN = 128;
83
+ /** Bundle 9+232 (2026-05-06) — per-pool registered reward token streams.
84
+ * Each entry has its own reward vault + period counter + last-distributed
85
+ * timestamp + PlatformAccrual. Cap shared with the Rust program. */
86
+ export const MAX_REWARD_MINTS = 4;
87
+ /** Bundle 9+232 (2026-05-06) — hard cap on Emblem's protocol fee on
88
+ * reward distributions, in basis points. Mirrors `PLATFORM_FEE_BPS_MAX`
89
+ * in the Rust program. */
90
+ export const STAKE_PLATFORM_FEE_BPS_MAX = 3_000;
85
91
  // Audit X-1 Pass 2 (2026-05-03): MAX_TREASURY_ID_LEN +
86
92
  // MAX_REWARD_SOURCE_ID_LEN deleted — those fields are now Pubkey.
87
93
  // =============================================================================
@@ -135,18 +141,27 @@ export function decodeStakePoolAccount(data) {
135
141
  const rewardFormula = decodeRewardFormula(r.readU8());
136
142
  const totalStaked = r.readU64LE();
137
143
  const totalWeightedStake = r.readU64LE();
138
- const currentPeriod = r.readU32LE();
144
+ // Bundle 9+232 (2026-05-06) — three parallel Vecs replace the
145
+ // pre-bundle scalar `current_period` + `last_distributed_at`. Lengths
146
+ // must match (`reward_mints.len() == current_periods.len() ==
147
+ // last_distributed_ats.len()`) — asserted below as a defense-in-depth
148
+ // check on top of the Rust-side push-in-lockstep guarantee.
149
+ const rewardMints = r.readVecPubkey(MAX_REWARD_MINTS);
150
+ const currentPeriods = r.readVecU32(MAX_REWARD_MINTS);
151
+ const lastDistributedAts = r.readVecI64(MAX_REWARD_MINTS).map((n) => Number(n));
152
+ if (rewardMints.length !== currentPeriods.length ||
153
+ rewardMints.length !== lastDistributedAts.length) {
154
+ throw new StakeCodecError(`parallel-vec length mismatch: rewardMints=${rewardMints.length} currentPeriods=${currentPeriods.length} lastDistributedAts=${lastDistributedAts.length}`);
155
+ }
139
156
  const version = r.readU32LE();
140
157
  const createdAt = r.readI64LE();
141
158
  // ST-2 follow-on (2026-05-04) — pause flags trailer.
142
159
  const pausedByAuthority = r.readBool();
143
160
  const pausedByAdmin = r.readBool();
144
- // ST-3 (2026-05-04) — distribute_rewards cadence floor trailer.
145
- const lastDistributedAt = r.readI64LE();
146
161
  // ST-8 / X-2 (2026-05-04) — per-pool pending_authority trailer
147
162
  // (Option<Pubkey>). Length-conditional decoding: returns null if
148
163
  // Borsh discriminant byte is 0 (None) OR if buffer pre-dates ST-8
149
- // size bump (existing 643-byte accounts).
164
+ // size bump.
150
165
  let pendingAuthority = null;
151
166
  if (r.remaining() >= 1) {
152
167
  const optDisc = r.readU8();
@@ -169,12 +184,13 @@ export function decodeStakePoolAccount(data) {
169
184
  rewardFormula,
170
185
  totalStaked,
171
186
  totalWeightedStake,
172
- currentPeriod,
187
+ rewardMints,
188
+ currentPeriods,
173
189
  version,
174
190
  createdAt: Number(createdAt),
175
191
  pausedByAuthority,
176
192
  pausedByAdmin,
177
- lastDistributedAt: Number(lastDistributedAt),
193
+ lastDistributedAts,
178
194
  pendingAuthority,
179
195
  };
180
196
  }
@@ -182,13 +198,21 @@ export function encodeStakePoolAccount(account, bump = 255) {
182
198
  if (account.lockOptions.length === 0 || account.lockOptions.length > MAX_LOCK_OPTIONS) {
183
199
  throw new StakeCodecError(`lockOptions length must be 1..${MAX_LOCK_OPTIONS}; got ${account.lockOptions.length}`);
184
200
  }
185
- if (account.rewardSources.length === 0 ||
186
- account.rewardSources.length > MAX_REWARD_SOURCES) {
187
- throw new StakeCodecError(`rewardSources length must be 1..${MAX_REWARD_SOURCES}; got ${account.rewardSources.length}`);
201
+ // ST-4 follow-on (2026-05-05): empty rewardSources is allowed (the
202
+ // field is now display-only metadata; runtime ignores it). Cap stays.
203
+ if (account.rewardSources.length > MAX_REWARD_SOURCES) {
204
+ throw new StakeCodecError(`rewardSources length must be 0..${MAX_REWARD_SOURCES}; got ${account.rewardSources.length}`);
188
205
  }
189
206
  if (account.earlyExitPenaltyBps < 0 || account.earlyExitPenaltyBps > 10_000) {
190
207
  throw new StakeCodecError(`earlyExitPenaltyBps must be 0..10000; got ${account.earlyExitPenaltyBps}`);
191
208
  }
209
+ if (account.rewardMints.length > MAX_REWARD_MINTS) {
210
+ throw new StakeCodecError(`rewardMints length must be 0..${MAX_REWARD_MINTS}; got ${account.rewardMints.length}`);
211
+ }
212
+ if (account.rewardMints.length !== account.currentPeriods.length ||
213
+ account.rewardMints.length !== account.lastDistributedAts.length) {
214
+ throw new StakeCodecError(`parallel-vec length mismatch: rewardMints=${account.rewardMints.length} currentPeriods=${account.currentPeriods.length} lastDistributedAts=${account.lastDistributedAts.length}`);
215
+ }
192
216
  const w = new BorshWriter();
193
217
  w.writeBytes(STAKE_POOL_DISCRIMINATOR);
194
218
  w.writeU8(bump);
@@ -206,12 +230,14 @@ export function encodeStakePoolAccount(account, bump = 255) {
206
230
  w.writeU8(encodeRewardFormula(account.rewardFormula));
207
231
  w.writeU64LE(account.totalStaked);
208
232
  w.writeU64LE(account.totalWeightedStake);
209
- w.writeU32LE(account.currentPeriod);
233
+ // Bundle 9+232 (2026-05-06) — three parallel Vecs.
234
+ w.writeVecPubkey(account.rewardMints);
235
+ w.writeVecU32(account.currentPeriods);
236
+ w.writeVecI64(account.lastDistributedAts.map((n) => BigInt(n)));
210
237
  w.writeU32LE(account.version);
211
238
  w.writeI64LE(BigInt(account.createdAt));
212
239
  w.writeBool(account.pausedByAuthority);
213
240
  w.writeBool(account.pausedByAdmin);
214
- w.writeI64LE(BigInt(account.lastDistributedAt));
215
241
  // ST-8 / X-2 (2026-05-04) — pending_authority: Option<Pubkey> trailer.
216
242
  if (account.pendingAuthority) {
217
243
  w.writeU8(1);
@@ -244,7 +270,10 @@ export function decodeStakeVaultAccount(data) {
244
270
  const lockTierIdx = r.readU8();
245
271
  const lockEndsAt = r.readI64LE();
246
272
  const accruedRewards = r.readU64LE();
247
- const lastClaimPeriod = r.readU32LE();
273
+ // Bundle 9+232 (2026-05-06) — `last_claim_period: u32` →
274
+ // `last_claim_periods: Vec<u32>` parallel-indexed with
275
+ // pool.reward_mints.
276
+ const lastClaimPeriods = r.readVecU32(MAX_REWARD_MINTS);
248
277
  const lastClaimAt = r.readI64LE();
249
278
  const stakedAt = r.readI64LE();
250
279
  // ST-2 (2026-05-04) — wider snapshot trailer. Appended at end of
@@ -261,7 +290,7 @@ export function decodeStakeVaultAccount(data) {
261
290
  lockTierIdx,
262
291
  lockEndsAt: Number(lockEndsAt),
263
292
  accruedRewards,
264
- lastClaimPeriod,
293
+ lastClaimPeriods,
265
294
  lastClaimAt: Number(lastClaimAt),
266
295
  stakedAt: Number(stakedAt),
267
296
  earlyExitPenaltyBpsSnapshot,
@@ -272,6 +301,9 @@ export function decodeStakeVaultAccount(data) {
272
301
  };
273
302
  }
274
303
  export function encodeStakeVaultAccount(account, bump = 255) {
304
+ if (account.lastClaimPeriods.length > MAX_REWARD_MINTS) {
305
+ throw new StakeCodecError(`lastClaimPeriods length must be 0..${MAX_REWARD_MINTS}; got ${account.lastClaimPeriods.length}`);
306
+ }
275
307
  const w = new BorshWriter();
276
308
  w.writeBytes(STAKE_VAULT_DISCRIMINATOR);
277
309
  w.writeU8(bump);
@@ -281,7 +313,7 @@ export function encodeStakeVaultAccount(account, bump = 255) {
281
313
  w.writeU8(account.lockTierIdx);
282
314
  w.writeI64LE(BigInt(account.lockEndsAt));
283
315
  w.writeU64LE(account.accruedRewards);
284
- w.writeU32LE(account.lastClaimPeriod);
316
+ w.writeVecU32(account.lastClaimPeriods);
285
317
  w.writeI64LE(BigInt(account.lastClaimAt));
286
318
  w.writeI64LE(BigInt(account.stakedAt));
287
319
  w.writeU16LE(account.earlyExitPenaltyBpsSnapshot);
@@ -334,13 +366,15 @@ export function encodeRewardDistributionAccount(account, bump = 255) {
334
366
  return w.toBuffer();
335
367
  }
336
368
  // =============================================================================
337
- // PlatformConfig (ST-2 follow-on, 2026-05-04)
369
+ // PlatformConfig (ST-2 follow-on 2026-05-04, +Bundle 9+232 fee_bps trailer)
338
370
  //
339
- // 8 (disc) + 1 (bump) + 32 (admin) + 32 (reserved) = 73 bytes.
371
+ // 8 (disc) + 1 (bump) + 32 (admin) + 30 (reserved) +
372
+ // 1 + 32 (pending_admin: Option<Pubkey>) + 2 (fee_bps) = 106 bytes.
340
373
  // =============================================================================
341
374
  /** Reserved padding length on PlatformConfig. Mirrors the Rust constant
342
- * `PLATFORM_CONFIG_RESERVED_BYTES`. */
343
- export const STAKE_PLATFORM_CONFIG_RESERVED_BYTES = 32;
375
+ * `PLATFORM_CONFIG_RESERVED_BYTES`. Bundle 9+232 (2026-05-06) shrunk
376
+ * this 32→30 to make room for `fee_bps: u16` at the end of the struct. */
377
+ export const STAKE_PLATFORM_CONFIG_RESERVED_BYTES = 30;
344
378
  export function decodeStakePlatformConfigAccount(data) {
345
379
  const buf = data instanceof Buffer ? data : Buffer.from(data);
346
380
  if (buf.length < 8) {
@@ -358,24 +392,36 @@ export function decodeStakePlatformConfigAccount(data) {
358
392
  for (let i = 0; i < STAKE_PLATFORM_CONFIG_RESERVED_BYTES; i++)
359
393
  r.readU8();
360
394
  // 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
395
  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
- }
396
+ const optDisc = r.readU8();
397
+ if (optDisc === 1) {
398
+ pendingAdmin = r.readPubkey();
369
399
  }
370
- return { admin, pendingAdmin };
400
+ else {
401
+ // Skip the always-32-bytes Option<Pubkey> body even when None
402
+ // (Anchor reserves the slot regardless of the tag).
403
+ for (let i = 0; i < 32; i++)
404
+ r.readU8();
405
+ }
406
+ // Bundle 9+232 (2026-05-06) — fee_bps: u16 trailer. Length-conditional
407
+ // for forward-compat with any pre-bundle accounts that escaped the
408
+ // bootstrap-mit12 wipe (defensive — fauxnet bootstrap always wipes).
409
+ let feeBps = 0;
410
+ if (r.remaining() >= 2) {
411
+ feeBps = r.readU16LE();
412
+ }
413
+ return { admin, pendingAdmin, feeBps };
371
414
  }
372
415
  export function encodeStakePlatformConfigAccount(account, bump = 255) {
416
+ if (account.feeBps < 0 || account.feeBps > STAKE_PLATFORM_FEE_BPS_MAX) {
417
+ throw new StakeCodecError(`feeBps must be 0..${STAKE_PLATFORM_FEE_BPS_MAX}; got ${account.feeBps}`);
418
+ }
373
419
  const w = new BorshWriter();
374
420
  w.writeBytes(STAKE_PLATFORM_CONFIG_DISCRIMINATOR);
375
421
  w.writeU8(bump);
376
422
  w.writePubkey(account.admin);
377
423
  w.writeBytes(Buffer.alloc(STAKE_PLATFORM_CONFIG_RESERVED_BYTES));
378
- // X-2: pending_admin: Option<Pubkey> trailer.
424
+ // X-2: pending_admin: Option<Pubkey>.
379
425
  if (account.pendingAdmin) {
380
426
  w.writeU8(1);
381
427
  w.writePubkey(account.pendingAdmin);
@@ -384,8 +430,42 @@ export function encodeStakePlatformConfigAccount(account, bump = 255) {
384
430
  w.writeU8(0);
385
431
  w.writeBytes(Buffer.alloc(32));
386
432
  }
433
+ // Bundle 9+232 — fee_bps: u16 trailer.
434
+ w.writeU16LE(account.feeBps);
435
+ return w.toBuffer();
436
+ }
437
+ // =============================================================================
438
+ // PlatformAccrual (Bundle 9+232, 2026-05-06)
439
+ //
440
+ // 8 (disc) + 1 (bump) + 32 (pool_pda) + 32 (reward_mint) + 8 (pending) = 81.
441
+ // =============================================================================
442
+ export function decodePlatformAccrualAccount(data) {
443
+ const buf = data instanceof Buffer ? data : Buffer.from(data);
444
+ if (buf.length < 8) {
445
+ throw new StakeCodecError(`buffer too small (${buf.length} bytes); need at least 8 for discriminator`);
446
+ }
447
+ const disc = buf.subarray(0, 8);
448
+ if (!disc.equals(STAKE_PLATFORM_ACCRUAL_DISCRIMINATOR)) {
449
+ throw new StakeCodecError(`PlatformAccrual discriminator mismatch: expected ${STAKE_PLATFORM_ACCRUAL_DISCRIMINATOR.toString('hex')}, got ${disc.toString('hex')}`);
450
+ }
451
+ const r = new BorshReader(buf, 8);
452
+ const bump = r.readU8();
453
+ void bump;
454
+ const poolPda = r.readPubkey();
455
+ const rewardMint = r.readPubkey();
456
+ const pending = r.readU64LE();
457
+ return { poolPda, rewardMint, pending };
458
+ }
459
+ export function encodePlatformAccrualAccount(account, bump = 255) {
460
+ const w = new BorshWriter();
461
+ w.writeBytes(STAKE_PLATFORM_ACCRUAL_DISCRIMINATOR);
462
+ w.writeU8(bump);
463
+ w.writePubkey(account.poolPda);
464
+ w.writePubkey(account.rewardMint);
465
+ w.writeU64LE(account.pending);
387
466
  return w.toBuffer();
388
467
  }
468
+ export const PLATFORM_ACCRUAL_ACCOUNT_SIZE = 81;
389
469
  // =============================================================================
390
470
  // Variant encoders
391
471
  // =============================================================================
@@ -555,6 +635,36 @@ class BorshReader {
555
635
  throw new StakeCodecError(`unknown PenaltyDestination tag ${tag}`);
556
636
  }
557
637
  }
638
+ readVecPubkey(maxLen) {
639
+ const len = this.readU32LE();
640
+ if (len > maxLen) {
641
+ throw new StakeCodecError(`Vec<Pubkey> length ${len} exceeds max ${maxLen}`);
642
+ }
643
+ const out = [];
644
+ for (let i = 0; i < len; i++)
645
+ out.push(this.readPubkey());
646
+ return out;
647
+ }
648
+ readVecU32(maxLen) {
649
+ const len = this.readU32LE();
650
+ if (len > maxLen) {
651
+ throw new StakeCodecError(`Vec<u32> length ${len} exceeds max ${maxLen}`);
652
+ }
653
+ const out = [];
654
+ for (let i = 0; i < len; i++)
655
+ out.push(this.readU32LE());
656
+ return out;
657
+ }
658
+ readVecI64(maxLen) {
659
+ const len = this.readU32LE();
660
+ if (len > maxLen) {
661
+ throw new StakeCodecError(`Vec<i64> length ${len} exceeds max ${maxLen}`);
662
+ }
663
+ const out = [];
664
+ for (let i = 0; i < len; i++)
665
+ out.push(this.readI64LE());
666
+ return out;
667
+ }
558
668
  readVecRewardSource() {
559
669
  const len = this.readU32LE();
560
670
  if (len > MAX_REWARD_SOURCES) {
@@ -670,6 +780,21 @@ class BorshWriter {
670
780
  }
671
781
  }
672
782
  }
783
+ writeVecPubkey(addrs) {
784
+ this.writeU32LE(addrs.length);
785
+ for (const a of addrs)
786
+ this.writePubkey(a);
787
+ }
788
+ writeVecU32(values) {
789
+ this.writeU32LE(values.length);
790
+ for (const v of values)
791
+ this.writeU32LE(v);
792
+ }
793
+ writeVecI64(values) {
794
+ this.writeU32LE(values.length);
795
+ for (const v of values)
796
+ this.writeI64LE(v);
797
+ }
673
798
  writeVecRewardSource(sources) {
674
799
  this.writeU32LE(sources.length);
675
800
  for (const s of sources) {
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAe5C,gFAAgF;AAChF,uEAAuE;AACvE,gFAAgF;AAEhF,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,IAAI,CAAC;IAClD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,IAAI,CAAC;IACnD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,IAAI,CAAC;IACnD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,oFAAoF;AACpF,MAAM,CAAC,MAAM,mCAAmC,GAAG,MAAM,CAAC,IAAI,CAAC;IAC7D,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,mFAAmF;AACnF,MAAM,CAAC,MAAM,oCAAoC,GAAG,MAAM,CAAC,IAAI,CAAC;IAC9D,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AAEH,wEAAwE;AACxE,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAErC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AACpC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC;;qEAEqE;AACrE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAClC;;2BAE2B;AAC3B,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAChD,uDAAuD;AACvD,kEAAkE;AAElE,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAC1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAClC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAE1C,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAC9C,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAC1C;;uEAEuE;AACvE,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC;AAEjD,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAe;QACzB,KAAK,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,MAAM,UAAU,sBAAsB,CAAC,IAAyB;IAC9D,MAAM,GAAG,GAAG,IAAI,YAAY,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,eAAe,CACvB,qBAAqB,GAAG,CAAC,MAAM,4CAA4C,CAC5E,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,eAAe,CACvB,8CAA8C,wBAAwB,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CACtH,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAElC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC;IACV,MAAM,SAAS,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,CAAC,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAC/B,MAAM,gBAAgB,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC;IAC7C,MAAM,mBAAmB,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAC1C,MAAM,kBAAkB,GAAG,CAAC,CAAC,sBAAsB,EAAE,CAAC;IACtD,MAAM,aAAa,GAAG,CAAC,CAAC,mBAAmB,EAAE,CAAC;IAC9C,MAAM,aAAa,GAAG,mBAAmB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,mBAAmB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAClC,MAAM,kBAAkB,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IACzC,8DAA8D;IAC9D,sEAAsE;IACtE,8DAA8D;IAC9D,sEAAsE;IACtE,4DAA4D;IAC5D,MAAM,WAAW,GAAG,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACtD,MAAM,cAAc,GAAG,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACtD,MAAM,kBAAkB,GAAG,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,IACE,WAAW,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM;QAC5C,WAAW,CAAC,MAAM,KAAK,kBAAkB,CAAC,MAAM,EAChD,CAAC;QACD,MAAM,IAAI,eAAe,CACvB,6CAA6C,WAAW,CAAC,MAAM,mBAAmB,cAAc,CAAC,MAAM,uBAAuB,kBAAkB,CAAC,MAAM,EAAE,CAC1J,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAChC,qDAAqD;IACrD,MAAM,iBAAiB,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;IACvC,MAAM,aAAa,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;IACnC,+DAA+D;IAC/D,iEAAiE;IACjE,kEAAkE;IAClE,aAAa;IACb,IAAI,gBAAgB,GAAkB,IAAI,CAAC;IAC3C,IAAI,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;YACzC,gBAAgB,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO;QACL,SAAS;QACT,MAAM;QACN,KAAK;QACL,OAAO;QACP,WAAW;QACX,QAAQ;QACR,gBAAgB;QAChB,mBAAmB;QACnB,kBAAkB;QAClB,aAAa;QACb,aAAa;QACb,aAAa;QACb,WAAW;QACX,kBAAkB;QAClB,WAAW;QACX,cAAc;QACd,OAAO;QACP,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;QAC5B,iBAAiB;QACjB,aAAa;QACb,kBAAkB;QAClB,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAyB,EAAE,IAAI,GAAG,GAAG;IAC1E,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;QACtF,MAAM,IAAI,eAAe,CACvB,iCAAiC,gBAAgB,SAAS,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,CACvF,CAAC;IACJ,CAAC;IACD,mEAAmE;IACnE,sEAAsE;IACtE,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACtD,MAAM,IAAI,eAAe,CACvB,mCAAmC,kBAAkB,SAAS,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,CAC7F,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,mBAAmB,GAAG,CAAC,IAAI,OAAO,CAAC,mBAAmB,GAAG,MAAM,EAAE,CAAC;QAC5E,MAAM,IAAI,eAAe,CACvB,6CAA6C,OAAO,CAAC,mBAAmB,EAAE,CAC3E,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAClD,MAAM,IAAI,eAAe,CACvB,iCAAiC,gBAAgB,SAAS,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,CACvF,CAAC;IACJ,CAAC;IACD,IACE,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,MAAM;QAC5D,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAChE,CAAC;QACD,MAAM,IAAI,eAAe,CACvB,6CAA6C,OAAO,CAAC,WAAW,CAAC,MAAM,mBAAmB,OAAO,CAAC,cAAc,CAAC,MAAM,uBAAuB,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAClL,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;IACvC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,wBAAwB,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAC9D,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7C,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC1C,CAAC,CAAC,uBAAuB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACtD,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9C,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACzC,mDAAmD;IACnD,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACnC,uEAAuE;IACvE,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC1C,CAAC;SAAM,CAAC;QACN,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtB,CAAC;AAED,gFAAgF;AAChF,iCAAiC;AACjC,gFAAgF;AAEhF,MAAM,UAAU,uBAAuB,CAAC,IAAyB;IAC/D,MAAM,GAAG,GAAG,IAAI,YAAY,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,eAAe,CACvB,qBAAqB,GAAG,CAAC,MAAM,4CAA4C,CAC5E,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,eAAe,CACvB,+CAA+C,yBAAyB,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CACxH,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC;IACV,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;IAC7B,MAAM,YAAY,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IACjC,MAAM,cAAc,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IACrC,yDAAyD;IACzD,uDAAuD;IACvD,qBAAqB;IACrB,MAAM,gBAAgB,GAAG,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAC/B,iEAAiE;IACjE,mEAAmE;IACnE,MAAM,2BAA2B,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAClD,MAAM,oBAAoB,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAC3C,MAAM,0BAA0B,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IACjD,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;IACzC,MAAM,4BAA4B,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAEnD,OAAO;QACL,OAAO;QACP,KAAK;QACL,YAAY;QACZ,WAAW;QACX,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;QAC9B,cAAc;QACd,gBAAgB;QAChB,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;QAChC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC1B,2BAA2B;QAC3B,oBAAoB;QACpB,0BAA0B;QAC1B,qBAAqB;QACrB,4BAA4B;KAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAA0B,EAAE,IAAI,GAAG,GAAG;IAC5E,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;QACvD,MAAM,IAAI,eAAe,CACvB,sCAAsC,gBAAgB,SAAS,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,CACjG,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;IACxC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACrC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACxC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAClD,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3C,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACjD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACnD,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtB,CAAC;AAED,gFAAgF;AAChF,yCAAyC;AACzC,gFAAgF;AAEhF,MAAM,UAAU,+BAA+B,CAC7C,IAAyB;IAEzB,MAAM,GAAG,GAAG,IAAI,YAAY,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,eAAe,CACvB,qBAAqB,GAAG,CAAC,MAAM,4CAA4C,CAC5E,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,eAAe,CACvB,uDAAuD,yBAAyB,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAChI,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC;IACV,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAC/B,MAAM,gBAAgB,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IACvC,MAAM,uBAAuB,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAC9C,MAAM,aAAa,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;IAElC,OAAO;QACL,OAAO;QACP,QAAQ;QACR,gBAAgB;QAChB,uBAAuB;QACvB,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;QACpC,UAAU;KACX,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,OAAkC,EAClC,IAAI,GAAG,GAAG;IAEV,MAAM,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;IACxC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC9C,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtB,CAAC;AAED,gFAAgF;AAChF,4EAA4E;AAC5E,EAAE;AACF,qDAAqD;AACrD,oEAAoE;AACpE,gFAAgF;AAEhF;;2EAE2E;AAC3E,MAAM,CAAC,MAAM,oCAAoC,GAAG,EAAE,CAAC;AAEvD,MAAM,UAAU,gCAAgC,CAC9C,IAAyB;IAEzB,MAAM,GAAG,GAAG,IAAI,YAAY,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,eAAe,CACvB,qBAAqB,GAAG,CAAC,MAAM,4CAA4C,CAC5E,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,mCAAmC,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,eAAe,CACvB,mDAAmD,mCAAmC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CACtI,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC;IACV,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;IAC7B,iEAAiE;IACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oCAAoC,EAAE,CAAC,EAAE;QAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1E,iEAAiE;IACjE,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3B,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,YAAY,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,8DAA8D;QAC9D,oDAAoD;QACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1C,CAAC;IACD,uEAAuE;IACvE,mEAAmE;IACnE,qEAAqE;IACrE,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,OAAmC,EACnC,IAAI,GAAG,GAAG;IAEV,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,0BAA0B,EAAE,CAAC;QACtE,MAAM,IAAI,eAAe,CACvB,qBAAqB,0BAA0B,SAAS,OAAO,CAAC,MAAM,EAAE,CACzE,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,UAAU,CAAC,mCAAmC,CAAC,CAAC;IAClD,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;IACjE,sCAAsC;IACtC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,uCAAuC;IACvC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtB,CAAC;AAED,gFAAgF;AAChF,6CAA6C;AAC7C,EAAE;AACF,6EAA6E;AAC7E,gFAAgF;AAEhF,MAAM,UAAU,4BAA4B,CAC1C,IAAyB;IAEzB,MAAM,GAAG,GAAG,IAAI,YAAY,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,eAAe,CACvB,qBAAqB,GAAG,CAAC,MAAM,4CAA4C,CAC5E,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,oCAAoC,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,eAAe,CACvB,oDAAoD,oCAAoC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CACxI,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC;IACV,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAC9B,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,OAA+B,EAC/B,IAAI,GAAG,GAAG;IAEV,MAAM,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,UAAU,CAAC,oCAAoC,CAAC,CAAC;IACnD,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAEhD,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,SAAS,mBAAmB,CAAC,CAAgC;IAC3D,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,QAAQ;YACX,OAAO,qBAAqB,CAAC;QAC/B,KAAK,OAAO;YACV,OAAO,oBAAoB,CAAC;QAC9B,KAAK,QAAQ;YACX,OAAO,qBAAqB,CAAC;QAC/B,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,CAAC,CAAC;YAC7B,MAAM,IAAI,eAAe,CAAC,0BAA0B,WAAW,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,qBAAqB;YACxB,OAAO,QAAQ,CAAC;QAClB,KAAK,oBAAoB;YACvB,OAAO,OAAO,CAAC;QACjB,KAAK,qBAAqB;YACxB,OAAO,QAAQ,CAAC;QAClB;YACE,MAAM,IAAI,eAAe,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAgB;IAC3C,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,WAAW;YACd,OAAO,wBAAwB,CAAC;QAClC,KAAK,kBAAkB;YACrB,OAAO,+BAA+B,CAAC;QACzC,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,CAAC,CAAC;YAC7B,MAAM,IAAI,eAAe,CAAC,0BAA0B,WAAW,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,wBAAwB;YAC3B,OAAO,WAAW,CAAC;QACrB,KAAK,+BAA+B;YAClC,OAAO,kBAAkB,CAAC;QAC5B;YACE,MAAM,IAAI,eAAe,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,wBAAwB;AACxB,gFAAgF;AAEhF,MAAM,WAAW;IAEc;IADrB,MAAM,CAAS;IACvB,YAA6B,GAAW,EAAE,KAAK,GAAG,CAAC;QAAtB,QAAG,GAAH,GAAG,CAAQ;QACtC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IACO,OAAO,CAAC,CAAS;QACvB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,IAAI,eAAe,CACvB,sCAAsC,IAAI,CAAC,MAAM,UAAU,CAAC,aAAa,CAC1E,CAAC;QACJ,CAAC;IACH,CAAC;IACD,qDAAqD;IACrD,SAAS;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IACvC,CAAC;IACD,MAAM;QACJ,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,QAAQ;QACN,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,eAAe,CAAC,qBAAqB,GAAG,oBAAoB,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,GAAG,KAAK,CAAC,CAAC;IACnB,CAAC;IACD,SAAS;QACP,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,SAAS;QACP,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,SAAS;QACP,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IACD,SAAS;QACP,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,WAAY,CAAC,CAAC;IAC3C,CAAC;IACD,UAAU;QACR,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzC,CAAC;IACD,eAAe;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,GAAG,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3B,IAAI,GAAG,KAAK,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IACD,eAAe,CAAC,MAAc;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,IAAI,GAAG,GAAG,MAAM;YACd,MAAM,IAAI,eAAe,CAAC,iBAAiB,GAAG,gBAAgB,MAAM,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC;QACnB,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,uBAAuB,CAAC,MAAc;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,GAAG,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3B,IAAI,GAAG,KAAK,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IACD,eAAe;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,IAAI,GAAG,GAAG,gBAAgB,EAAE,CAAC;YAC3B,MAAM,IAAI,eAAe,CACvB,sBAAsB,GAAG,gBAAgB,gBAAgB,EAAE,CAC5D,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAoB,EAAE,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,GAAG,gBAAgB,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,sBAAsB;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,wBAAwB;gBAC3B,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;YAClC,KAAK,gBAAgB;gBACnB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAC1B,KAAK,wBAAwB,CAAC,CAAC,CAAC;gBAC9B,oDAAoD;gBACpD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC9B,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC;YACvC,CAAC;YACD;gBACE,MAAM,IAAI,eAAe,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IACD,aAAa,CAAC,MAAc;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,eAAe,CAAC,sBAAsB,GAAG,gBAAgB,MAAM,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1D,OAAO,GAAG,CAAC;IACb,CAAC;IACD,UAAU,CAAC,MAAc;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,eAAe,CAAC,mBAAmB,GAAG,gBAAgB,MAAM,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,UAAU,CAAC,MAAc;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,eAAe,CAAC,mBAAmB,GAAG,gBAAgB,MAAM,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,mBAAmB;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,IAAI,GAAG,GAAG,kBAAkB,EAAE,CAAC;YAC7B,MAAM,IAAI,eAAe,CACvB,wBAAwB,GAAG,gBAAgB,kBAAkB,EAAE,CAChE,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAwB,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,+DAA+D;YAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,IAAI,GAAG,KAAK,4BAA4B,EAAE,CAAC;gBACzC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7D,CAAC;iBAAM,IAAI,GAAG,KAAK,iCAAiC,EAAE,CAAC;gBACrD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,eAAe,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,MAAM,WAAW;IACP,MAAM,GAAa,EAAE,CAAC;IAC9B,UAAU,CAAC,CAAS;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,CAAC,CAAS;QACf,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,SAAS,CAAC,CAAU;QAClB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IACD,UAAU,CAAC,CAAS;QAClB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,UAAU,CAAC,CAAS;QAClB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,UAAU,CAAC,CAAS;QAClB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,UAAU,CAAC,CAAS;QAClB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,WAAW,CAAC,IAAY;QACtB,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,gBAAgB,CAAC,CAA4B;QAC3C,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,gBAAgB,CAAC,CAAS,EAAE,MAAc;QACxC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,eAAe,CACvB,yBAAyB,IAAI,CAAC,MAAM,gBAAgB,MAAM,EAAE,CAC7D,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,wBAAwB,CAAC,CAA4B,EAAE,MAAc;QACnE,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;IACD,gBAAgB,CAAC,KAAsB;QACrC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACxB,gCAAgC;YAChC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,gBAAgB,CAAC,CAAC;YACvD,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;gBAC/B,MAAM,IAAI,eAAe,CAAC,gCAAgC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;YAC5E,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IACD,uBAAuB,CAAC,CAAqB;QAC3C,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,cAAc;gBACjB,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;gBACvC,OAAO;YACT,KAAK,MAAM;gBACT,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBAC/B,OAAO;YACT,KAAK,cAAc;gBACjB,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;gBACvC,+DAA+D;gBAC/D,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACxB,OAAO;YACT,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,WAAW,GAAU,CAAC,CAAC;gBAC7B,MAAM,IAAI,eAAe,CAAC,+BAA+B,WAAW,EAAE,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;IACH,CAAC;IACD,cAAc,CAAC,KAAe;QAC5B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,WAAW,CAAC,MAAgB;QAC1B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,MAAM;YAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,WAAW,CAAC,MAAgB;QAC1B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,MAAM;YAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,oBAAoB,CAAC,OAA4B;QAC/C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,+DAA+D;YAC/D,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBACpC,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;gBAC3C,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBACxC,IAAI,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;gBAChD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,MAAM,WAAW,GAAU,CAAC,CAAC;gBAC7B,MAAM,IAAI,eAAe,CAAC,yBAAyB,WAAW,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;IACD,QAAQ;QACN,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;CACF"}
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, 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
- 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
- export type { StakePoolAccount, StakePoolView, StakeVaultAccount, StakeVaultView, RewardDistributionAccount, RewardDistributionView, CreatePoolArgs, StakeArgs, UnstakeArgs, ClaimRewardsArgs, DistributeRewardsArgs, GetVaultArgs, StakeGateEvaluationResult, } from './types.js';
2
+ export { decodeStakePoolAccount, encodeStakePoolAccount, decodeStakeVaultAccount, encodeStakeVaultAccount, decodeStakePlatformConfigAccount, encodeStakePlatformConfigAccount, decodePlatformAccrualAccount, encodePlatformAccrualAccount, decodeRewardDistributionAccount, encodeRewardDistributionAccount, STAKE_POOL_DISCRIMINATOR, STAKE_VAULT_DISCRIMINATOR, REWARD_DIST_DISCRIMINATOR, STAKE_PLATFORM_CONFIG_DISCRIMINATOR, STAKE_PLATFORM_ACCRUAL_DISCRIMINATOR, MULTIPLIER_SCALE, MAX_LOCK_OPTIONS, MAX_REWARD_SOURCES, MAX_REWARD_MINTS, MAX_HOST_URL_LEN, STAKE_PLATFORM_FEE_BPS_MAX, 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
+ export { deriveStakePoolPda, deriveStakeVaultPda, deriveRewardDistPda, deriveRewardVaultPda, derivePrincipalVaultPda, derivePlatformConfigPda, derivePlatformAccrualPda, deriveVaultAuthorityPda, encodeU32, STAKE_POOL_SEED, STAKE_VAULT_SEED, REWARD_DIST_SEED, REWARD_VAULT_SEED, PRINCIPAL_VAULT_SEED, PLATFORM_CONFIG_SEED, PLATFORM_ACCRUAL_SEED, VAULT_AUTHORITY_SEED, STAKE_PROGRAM_ID, type DeriveStakePoolPdaArgs, type DeriveStakeVaultPdaArgs, type DeriveRewardDistPdaArgs, type DeriveRewardVaultPdaArgs, type DerivePrincipalVaultPdaArgs, type DerivePlatformAccrualPdaArgs, type DerivedPda, } from './pda.js';
4
+ export type { StakePoolAccount, StakePoolView, StakePoolSummary, StakePoolListPage, StakeVaultAccount, StakeVaultView, StakePlatformConfigAccount, StakePlatformConfigView, PlatformAccrualAccount, PlatformAccrualView, 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,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"}
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,4BAA4B,EAC5B,4BAA4B,EAC5B,+BAA+B,EAC/B,+BAA+B,EAC/B,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,mCAAmC,EACnC,oCAAoC,EACpC,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,0BAA0B,EAC1B,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,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,UAAU,GAChB,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,0BAA0B,EAC1B,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,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, 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
- export { deriveStakePoolPda, deriveStakeVaultPda, deriveRewardDistPda, encodeU32, STAKE_POOL_SEED, STAKE_VAULT_SEED, REWARD_DIST_SEED, STAKE_PROGRAM_ID, } from './pda.js';
2
+ export { decodeStakePoolAccount, encodeStakePoolAccount, decodeStakeVaultAccount, encodeStakeVaultAccount, decodeStakePlatformConfigAccount, encodeStakePlatformConfigAccount, decodePlatformAccrualAccount, encodePlatformAccrualAccount, decodeRewardDistributionAccount, encodeRewardDistributionAccount, STAKE_POOL_DISCRIMINATOR, STAKE_VAULT_DISCRIMINATOR, REWARD_DIST_DISCRIMINATOR, STAKE_PLATFORM_CONFIG_DISCRIMINATOR, STAKE_PLATFORM_ACCRUAL_DISCRIMINATOR, MULTIPLIER_SCALE, MAX_LOCK_OPTIONS, MAX_REWARD_SOURCES, MAX_REWARD_MINTS, MAX_HOST_URL_LEN, STAKE_PLATFORM_FEE_BPS_MAX, 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
+ export { deriveStakePoolPda, deriveStakeVaultPda, deriveRewardDistPda, deriveRewardVaultPda, derivePrincipalVaultPda, derivePlatformConfigPda, derivePlatformAccrualPda, deriveVaultAuthorityPda, encodeU32, STAKE_POOL_SEED, STAKE_VAULT_SEED, REWARD_DIST_SEED, REWARD_VAULT_SEED, PRINCIPAL_VAULT_SEED, PLATFORM_CONFIG_SEED, PLATFORM_ACCRUAL_SEED, VAULT_AUTHORITY_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,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"}
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,4BAA4B,EAC5B,4BAA4B,EAC5B,+BAA+B,EAC/B,+BAA+B,EAC/B,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,mCAAmC,EACnC,oCAAoC,EACpC,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,0BAA0B,EAC1B,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,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,GAQjB,MAAM,UAAU,CAAC"}
package/dist/pda.d.ts 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, type SolanaAddress } from '@emblemvault/primitives-shared';
13
21
  export declare const STAKE_POOL_SEED: Buffer<ArrayBuffer>;
14
22
  export declare const STAKE_VAULT_SEED: Buffer<ArrayBuffer>;
15
23
  export declare const REWARD_DIST_SEED: Buffer<ArrayBuffer>;
24
+ export declare const REWARD_VAULT_SEED: Buffer<ArrayBuffer>;
25
+ export declare const PRINCIPAL_VAULT_SEED: Buffer<ArrayBuffer>;
26
+ export declare const PLATFORM_CONFIG_SEED: Buffer<ArrayBuffer>;
27
+ export declare const PLATFORM_ACCRUAL_SEED: Buffer<ArrayBuffer>;
28
+ export declare const VAULT_AUTHORITY_SEED: Buffer<ArrayBuffer>;
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`.
@@ -40,10 +53,33 @@ export interface DeriveStakeVaultPdaArgs {
40
53
  export declare function deriveStakeVaultPda(args: DeriveStakeVaultPdaArgs): DerivedPda;
41
54
  export interface DeriveRewardDistPdaArgs {
42
55
  poolPda: SolanaAddress;
56
+ /** Bundle 9+232 (2026-05-06) — reward stream this distribution
57
+ * belongs to. Pre-bundle seed `[b"reward-dist", pool, periodId]`
58
+ * is gone; new seed includes `rewardMint`. */
59
+ rewardMint: SolanaAddress;
43
60
  periodId: number;
44
61
  programId: SolanaAddress;
45
62
  }
46
63
  export declare function deriveRewardDistPda(args: DeriveRewardDistPdaArgs): DerivedPda;
64
+ export interface DeriveRewardVaultPdaArgs {
65
+ poolPda: SolanaAddress;
66
+ rewardMint: SolanaAddress;
67
+ programId: SolanaAddress;
68
+ }
69
+ export declare function deriveRewardVaultPda(args: DeriveRewardVaultPdaArgs): DerivedPda;
70
+ export interface DerivePrincipalVaultPdaArgs {
71
+ poolPda: SolanaAddress;
72
+ programId: SolanaAddress;
73
+ }
74
+ export declare function derivePrincipalVaultPda(args: DerivePrincipalVaultPdaArgs): DerivedPda;
75
+ export declare function derivePlatformConfigPda(programId: SolanaAddress): DerivedPda;
76
+ export declare function deriveVaultAuthorityPda(programId: SolanaAddress): DerivedPda;
77
+ export interface DerivePlatformAccrualPdaArgs {
78
+ poolPda: SolanaAddress;
79
+ rewardMint: SolanaAddress;
80
+ programId: SolanaAddress;
81
+ }
82
+ export declare function derivePlatformAccrualPda(args: DerivePlatformAccrualPdaArgs): DerivedPda;
47
83
  /** Encode a u32 as 4 little-endian bytes with a context-aware error message. */
48
84
  export declare function encodeU32(value: number, fieldName: string): Buffer;
49
85
  //# sourceMappingURL=pda.d.ts.map