@emblemvault/primitives-stake 0.1.4 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.d.ts CHANGED
@@ -65,6 +65,12 @@ export declare class EmblemStakeClient {
65
65
  distributionPda: SolanaAddress;
66
66
  bump: number;
67
67
  };
68
+ /** ST-2 follow-on (2026-05-04). The stake program's PlatformConfig
69
+ * PDA is a singleton — same shape as launch + sell. */
70
+ derivePlatformConfigPda(): {
71
+ platformConfigPda: SolanaAddress;
72
+ bump: number;
73
+ };
68
74
  getPool(poolPda: SolanaAddress): Promise<StakePoolView | null>;
69
75
  getVault(args: GetVaultArgs): Promise<StakeVaultView | null>;
70
76
  getDistribution(distributionPda: SolanaAddress): Promise<RewardDistributionView | null>;
@@ -95,14 +101,49 @@ export declare class EmblemStakeClient {
95
101
  * including Vec<LockTier>, Vec<RewardSource>, and the tagged-enum
96
102
  * PenaltyDestination.
97
103
  */
104
+ /** Init the singleton stake PlatformConfig. The signer becomes admin. */
105
+ buildInitPlatformConfigIx(args: {
106
+ admin: SolanaAddress;
107
+ }): TransactionInstruction;
108
+ /** Rotate the platform admin. Admin-only. */
109
+ buildSetAdminIx(args: {
110
+ admin: SolanaAddress;
111
+ newAdmin: SolanaAddress;
112
+ }): TransactionInstruction;
113
+ /** Pool-authority pause. Sets `paused_by_authority = true`. */
114
+ buildPausePoolIx(args: {
115
+ authority: SolanaAddress;
116
+ poolPda: SolanaAddress;
117
+ }): TransactionInstruction;
118
+ /** Pool-authority unpause. Clears `paused_by_authority`. */
119
+ buildUnpausePoolIx(args: {
120
+ authority: SolanaAddress;
121
+ poolPda: SolanaAddress;
122
+ }): TransactionInstruction;
123
+ /** Platform-admin pause. Sets `paused_by_admin = true`. */
124
+ buildAdminPausePoolIx(args: {
125
+ admin: SolanaAddress;
126
+ poolPda: SolanaAddress;
127
+ }): TransactionInstruction;
128
+ /** Platform-admin unpause. Clears `paused_by_admin`. */
129
+ buildAdminUnpausePoolIx(args: {
130
+ admin: SolanaAddress;
131
+ poolPda: SolanaAddress;
132
+ }): TransactionInstruction;
98
133
  buildCreatePoolIx(args: CreatePoolArgs & {
99
134
  authority: SolanaAddress;
100
135
  }): TransactionInstruction;
101
- /** Build the register_reward_vault instruction (Tier 2 settlement bucket). */
136
+ /**
137
+ * Build the register_reward_vault instruction (Tier 2 settlement bucket).
138
+ * Audit X-1 Pass 2 (2026-05-03): `vaultId: string` → `vaultPubkey: Pubkey`.
139
+ * The caller picks the pubkey; the on-chain vault address is derived from
140
+ * `[b"reward-vault", vaultPubkey]`. Use `deriveDistributionVaultAddress`
141
+ * to compute that address from the same pubkey.
142
+ */
102
143
  buildRegisterRewardVaultIx(args: {
103
144
  authority: SolanaAddress;
104
145
  mint: SolanaAddress;
105
- vaultId: string;
146
+ vaultPubkey: SolanaAddress;
106
147
  }): TransactionInstruction;
107
148
  /** Build the register_pending_action_vault instruction (Tier 3 settlement bucket). */
108
149
  buildRegisterPendingActionVaultIx(args: {
@@ -113,8 +154,12 @@ export declare class EmblemStakeClient {
113
154
  }): TransactionInstruction;
114
155
  /** Address of the staker-pool reward vault (Tier 2 destination for StakerPool recipients). */
115
156
  deriveStakerPoolRewardVault(poolPda: SolanaAddress): SolanaAddress;
116
- /** Address of a named distribution-vault (Tier 2 destination for DistributionVault recipients). */
117
- deriveDistributionVaultAddress(vaultId: string): SolanaAddress;
157
+ /**
158
+ * Address of a distribution-vault (Tier 2 destination for DistributionVault
159
+ * recipients). Audit X-1 Pass 2: arg is now Pubkey (was String). Pass the
160
+ * same pubkey you used for `buildRegisterRewardVaultIx({ vaultPubkey })`.
161
+ */
162
+ deriveDistributionVaultAddress(vaultPubkey: SolanaAddress): SolanaAddress;
118
163
  /** Address of a Tier 3 pending-action vault. */
119
164
  derivePendingActionVaultAddress(args: {
120
165
  configId: string;
@@ -201,7 +246,8 @@ export declare class EmblemStakeClient {
201
246
  }>;
202
247
  registerRewardVault(args: {
203
248
  mint: SolanaAddress;
204
- vaultId: string;
249
+ /** Audit X-1 Pass 2: Pubkey, not String. */
250
+ vaultPubkey: SolanaAddress;
205
251
  }): Promise<{
206
252
  vaultPda: SolanaAddress;
207
253
  txSignature: string;
@@ -1 +1 @@
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;AAGzB,OAAO,EACL,WAAW,EAGX,KAAK,aAAa,EAEnB,MAAM,gCAAgC,CAAC;AAyKxC,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,YAAY,EACZ,sBAAsB,EACtB,SAAS,EACT,yBAAyB,EACzB,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;IAaK,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;IAqB9E;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,CACf,KAAK,EAAE,iBAAiB,EACxB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,GACrB,yBAAyB;IAgB5B;;;;OAIG;IACH,iBAAiB,CACf,IAAI,EAAE,cAAc,GAAG;QAAE,SAAS,EAAE,aAAa,CAAA;KAAE,GAClD,sBAAsB;IA6CzB,8EAA8E;IAC9E,0BAA0B,CAAC,IAAI,EAAE;QAC/B,SAAS,EAAE,aAAa,CAAC;QACzB,IAAI,EAAE,aAAa,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,sBAAsB;IAmB1B,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,mGAAmG;IACnG,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAI9D,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,OAAO,EAAE,MAAM,CAAC;KACjB,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;;;;;OAKG;IACG,KAAK,CACT,IAAI,EAAE,SAAS,GAAG;QAAE,gBAAgB,EAAE,aAAa,CAAA;KAAE,GACpD,OAAO,CAAC;QAAE,QAAQ,EAAE,aAAa,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAkBtD,OAAO,CACX,IAAI,EAAE,WAAW,GAAG;QAClB,IAAI,EAAE,aAAa,CAAC;QACpB,gBAAgB,EAAE,aAAa,CAAC;QAChC,qBAAqB,CAAC,EAAE,aAAa,CAAC;KACvC,GACA,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAc7B,YAAY,CAChB,IAAI,EAAE,gBAAgB,GAAG;QACvB,gBAAgB,EAAE,aAAa,CAAC;QAChC,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,GACA,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAa7B,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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -18,7 +18,7 @@
18
18
  import { PublicKey, SystemProgram, SYSVAR_RENT_PUBKEY, Transaction, TransactionInstruction, TransactionMessage, VersionedTransaction, } from '@solana/web3.js';
19
19
  import { TOKEN_PROGRAM_ID } from '@solana/spl-token';
20
20
  import { EmblemError, decodeSignedPayload, } from '@emblemvault/primitives-shared';
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_SAMMY_V1, REWARD_SOURCE_TAG_DIST_VAULT, REWARD_SOURCE_TAG_SPLIT_RECIPIENT, STAKE_POOL_DISCRIMINATOR, STAKE_VAULT_DISCRIMINATOR, } from './codec.js';
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';
23
23
  // =============================================================================
24
24
  // Anchor instruction discriminators
@@ -47,6 +47,26 @@ const IX_CLAIM = Buffer.from([
47
47
  const IX_DISTRIBUTE_REWARDS = Buffer.from([
48
48
  0x61, 0x06, 0xe3, 0xff, 0x7c, 0xa5, 0x03, 0x94,
49
49
  ]);
50
+ // ST-2 follow-on (2026-05-04): platform-config + emergency-halt ixs.
51
+ // All discriminators verified via Node crypto sha256("global:<name>").subarray(0, 8).
52
+ const IX_INIT_PLATFORM_CONFIG = Buffer.from([
53
+ 0x65, 0x34, 0x2f, 0x31, 0x9c, 0x10, 0x20, 0x76,
54
+ ]);
55
+ const IX_SET_ADMIN = Buffer.from([
56
+ 0xfb, 0xa3, 0x00, 0x34, 0x5b, 0xc2, 0xbb, 0x5c,
57
+ ]);
58
+ const IX_PAUSE_POOL = Buffer.from([
59
+ 0xa0, 0x0f, 0x0c, 0xbd, 0xa0, 0x00, 0xf3, 0xf5,
60
+ ]);
61
+ const IX_UNPAUSE_POOL = Buffer.from([
62
+ 0xf1, 0x94, 0x81, 0xf3, 0xde, 0x7d, 0x7d, 0xa0,
63
+ ]);
64
+ const IX_ADMIN_PAUSE_POOL = Buffer.from([
65
+ 0x4a, 0x74, 0x0d, 0xe6, 0x65, 0x67, 0x75, 0x44,
66
+ ]);
67
+ const IX_ADMIN_UNPAUSE_POOL = Buffer.from([
68
+ 0x83, 0x16, 0xe4, 0xa6, 0x00, 0xef, 0xf4, 0x6a,
69
+ ]);
50
70
  const ACTION_TYPE_BUYBACK_BURN = 0;
51
71
  const ACTION_TYPE_LP_REINFORCE = 1;
52
72
  // =============================================================================
@@ -93,16 +113,24 @@ function encodePenaltyDestination(p) {
93
113
  case 'burn':
94
114
  return Buffer.from([PENALTY_TAG_BURN]);
95
115
  case 'treasury-pda':
96
- return Buffer.concat([Buffer.from([PENALTY_TAG_TREASURY_PDA]), bsString(p.id)]);
116
+ // Audit X-1 Pass 2: body is Pubkey (32 bytes raw), not borsh string.
117
+ return Buffer.concat([
118
+ Buffer.from([PENALTY_TAG_TREASURY_PDA]),
119
+ new PublicKey(p.pda).toBuffer(),
120
+ ]);
97
121
  }
98
122
  }
99
123
  function encodeRewardSource(s) {
124
+ // Audit X-1 Pass 2: body is Pubkey (32 bytes raw).
100
125
  if (s.type === 'distribution-vault') {
101
- return Buffer.concat([Buffer.from([REWARD_SOURCE_TAG_DIST_VAULT]), bsString(s.id)]);
126
+ return Buffer.concat([
127
+ Buffer.from([REWARD_SOURCE_TAG_DIST_VAULT]),
128
+ new PublicKey(s.vaultPda).toBuffer(),
129
+ ]);
102
130
  }
103
131
  return Buffer.concat([
104
132
  Buffer.from([REWARD_SOURCE_TAG_SPLIT_RECIPIENT]),
105
- bsString(s.fromConfigId),
133
+ new PublicKey(s.splitConfigPda).toBuffer(),
106
134
  ]);
107
135
  }
108
136
  function encodeRewardCadence(c) {
@@ -113,7 +141,9 @@ function encodeRewardCadence(c) {
113
141
  return REWARD_CADENCE_WEEKLY;
114
142
  }
115
143
  function encodeRewardFormula(f) {
116
- return f === 'linear-v1' ? REWARD_FORMULA_LINEAR_V1 : REWARD_FORMULA_SAMMY_V1;
144
+ return f === 'linear-v1'
145
+ ? REWARD_FORMULA_LINEAR_V1
146
+ : REWARD_FORMULA_TIME_WEIGHTED_V1;
117
147
  }
118
148
  /**
119
149
  * Vault-authority PDA. Owns all program-managed token accounts (reward
@@ -122,8 +152,9 @@ function encodeRewardFormula(f) {
122
152
  function deriveVaultAuthority(programId) {
123
153
  return PublicKey.findProgramAddressSync([Buffer.from('vault-authority')], programId)[0];
124
154
  }
125
- function deriveRewardVault(vaultId, programId) {
126
- return PublicKey.findProgramAddressSync([Buffer.from('reward-vault'), Buffer.from(vaultId)], programId)[0];
155
+ function deriveRewardVault(vaultPubkey, programId) {
156
+ // Audit X-1 Pass 2: seed is now Pubkey (32 bytes), not String.
157
+ return PublicKey.findProgramAddressSync([Buffer.from('reward-vault'), vaultPubkey.toBuffer()], programId)[0];
127
158
  }
128
159
  function deriveRewardVaultForPool(poolPda, programId) {
129
160
  // staker-pool reward vault uses the pool PDA bytes as the vault id
@@ -186,6 +217,12 @@ export class EmblemStakeClient {
186
217
  });
187
218
  return { distributionPda: pda.toBase58(), bump };
188
219
  }
220
+ /** ST-2 follow-on (2026-05-04). The stake program's PlatformConfig
221
+ * PDA is a singleton — same shape as launch + sell. */
222
+ derivePlatformConfigPda() {
223
+ const [pda, bump] = PublicKey.findProgramAddressSync([Buffer.from('platform-config')], this.programId);
224
+ return { platformConfigPda: pda.toBase58(), bump };
225
+ }
189
226
  // ==========================================================================
190
227
  // Reads
191
228
  // ==========================================================================
@@ -298,6 +335,102 @@ export class EmblemStakeClient {
298
335
  * including Vec<LockTier>, Vec<RewardSource>, and the tagged-enum
299
336
  * PenaltyDestination.
300
337
  */
338
+ // ==========================================================================
339
+ // ST-2 follow-on (2026-05-04) — PlatformConfig + emergency-halt builders.
340
+ // ==========================================================================
341
+ /** Init the singleton stake PlatformConfig. The signer becomes admin. */
342
+ buildInitPlatformConfigIx(args) {
343
+ const { platformConfigPda } = this.derivePlatformConfigPda();
344
+ return new TransactionInstruction({
345
+ programId: this.programId,
346
+ keys: [
347
+ { pubkey: new PublicKey(args.admin), isSigner: true, isWritable: true },
348
+ {
349
+ pubkey: new PublicKey(platformConfigPda),
350
+ isSigner: false,
351
+ isWritable: true,
352
+ },
353
+ { pubkey: SystemProgram.programId, isSigner: false, isWritable: false },
354
+ ],
355
+ data: IX_INIT_PLATFORM_CONFIG,
356
+ });
357
+ }
358
+ /** Rotate the platform admin. Admin-only. */
359
+ buildSetAdminIx(args) {
360
+ const { platformConfigPda } = this.derivePlatformConfigPda();
361
+ const data = Buffer.concat([
362
+ IX_SET_ADMIN,
363
+ new PublicKey(args.newAdmin).toBuffer(),
364
+ ]);
365
+ return new TransactionInstruction({
366
+ programId: this.programId,
367
+ keys: [
368
+ { pubkey: new PublicKey(args.admin), isSigner: true, isWritable: false },
369
+ {
370
+ pubkey: new PublicKey(platformConfigPda),
371
+ isSigner: false,
372
+ isWritable: true,
373
+ },
374
+ ],
375
+ data,
376
+ });
377
+ }
378
+ /** Pool-authority pause. Sets `paused_by_authority = true`. */
379
+ buildPausePoolIx(args) {
380
+ return new TransactionInstruction({
381
+ programId: this.programId,
382
+ keys: [
383
+ { pubkey: new PublicKey(args.authority), isSigner: true, isWritable: false },
384
+ { pubkey: new PublicKey(args.poolPda), isSigner: false, isWritable: true },
385
+ ],
386
+ data: IX_PAUSE_POOL,
387
+ });
388
+ }
389
+ /** Pool-authority unpause. Clears `paused_by_authority`. */
390
+ buildUnpausePoolIx(args) {
391
+ return new TransactionInstruction({
392
+ programId: this.programId,
393
+ keys: [
394
+ { pubkey: new PublicKey(args.authority), isSigner: true, isWritable: false },
395
+ { pubkey: new PublicKey(args.poolPda), isSigner: false, isWritable: true },
396
+ ],
397
+ data: IX_UNPAUSE_POOL,
398
+ });
399
+ }
400
+ /** Platform-admin pause. Sets `paused_by_admin = true`. */
401
+ buildAdminPausePoolIx(args) {
402
+ const { platformConfigPda } = this.derivePlatformConfigPda();
403
+ return new TransactionInstruction({
404
+ programId: this.programId,
405
+ keys: [
406
+ { pubkey: new PublicKey(args.admin), isSigner: true, isWritable: false },
407
+ {
408
+ pubkey: new PublicKey(platformConfigPda),
409
+ isSigner: false,
410
+ isWritable: false,
411
+ },
412
+ { pubkey: new PublicKey(args.poolPda), isSigner: false, isWritable: true },
413
+ ],
414
+ data: IX_ADMIN_PAUSE_POOL,
415
+ });
416
+ }
417
+ /** Platform-admin unpause. Clears `paused_by_admin`. */
418
+ buildAdminUnpausePoolIx(args) {
419
+ const { platformConfigPda } = this.derivePlatformConfigPda();
420
+ return new TransactionInstruction({
421
+ programId: this.programId,
422
+ keys: [
423
+ { pubkey: new PublicKey(args.admin), isSigner: true, isWritable: false },
424
+ {
425
+ pubkey: new PublicKey(platformConfigPda),
426
+ isSigner: false,
427
+ isWritable: false,
428
+ },
429
+ { pubkey: new PublicKey(args.poolPda), isSigner: false, isWritable: true },
430
+ ],
431
+ data: IX_ADMIN_UNPAUSE_POOL,
432
+ });
433
+ }
301
434
  buildCreatePoolIx(args) {
302
435
  const poolId = args.poolId ?? 0;
303
436
  const cfg = args.config;
@@ -339,11 +472,18 @@ export class EmblemStakeClient {
339
472
  data,
340
473
  });
341
474
  }
342
- /** Build the register_reward_vault instruction (Tier 2 settlement bucket). */
475
+ /**
476
+ * Build the register_reward_vault instruction (Tier 2 settlement bucket).
477
+ * Audit X-1 Pass 2 (2026-05-03): `vaultId: string` → `vaultPubkey: Pubkey`.
478
+ * The caller picks the pubkey; the on-chain vault address is derived from
479
+ * `[b"reward-vault", vaultPubkey]`. Use `deriveDistributionVaultAddress`
480
+ * to compute that address from the same pubkey.
481
+ */
343
482
  buildRegisterRewardVaultIx(args) {
344
483
  const mint = new PublicKey(args.mint);
484
+ const vaultPubkeyKey = new PublicKey(args.vaultPubkey);
345
485
  const vaultAuthority = deriveVaultAuthority(this.programId);
346
- const vault = deriveRewardVault(args.vaultId, this.programId);
486
+ const vault = deriveRewardVault(vaultPubkeyKey, this.programId);
347
487
  return new TransactionInstruction({
348
488
  programId: this.programId,
349
489
  keys: [
@@ -355,7 +495,7 @@ export class EmblemStakeClient {
355
495
  { pubkey: SystemProgram.programId, isSigner: false, isWritable: false },
356
496
  { pubkey: SYSVAR_RENT_PUBKEY, isSigner: false, isWritable: false },
357
497
  ],
358
- data: Buffer.concat([IX_REGISTER_REWARD_VAULT, bsString(args.vaultId)]),
498
+ data: Buffer.concat([IX_REGISTER_REWARD_VAULT, vaultPubkeyKey.toBuffer()]),
359
499
  });
360
500
  }
361
501
  /** Build the register_pending_action_vault instruction (Tier 3 settlement bucket). */
@@ -386,9 +526,13 @@ export class EmblemStakeClient {
386
526
  deriveStakerPoolRewardVault(poolPda) {
387
527
  return deriveRewardVaultForPool(new PublicKey(poolPda), this.programId).toBase58();
388
528
  }
389
- /** Address of a named distribution-vault (Tier 2 destination for DistributionVault recipients). */
390
- deriveDistributionVaultAddress(vaultId) {
391
- return deriveRewardVault(vaultId, this.programId).toBase58();
529
+ /**
530
+ * Address of a distribution-vault (Tier 2 destination for DistributionVault
531
+ * recipients). Audit X-1 Pass 2: arg is now Pubkey (was String). Pass the
532
+ * same pubkey you used for `buildRegisterRewardVaultIx({ vaultPubkey })`.
533
+ */
534
+ deriveDistributionVaultAddress(vaultPubkey) {
535
+ return deriveRewardVault(new PublicKey(vaultPubkey), this.programId).toBase58();
392
536
  }
393
537
  /** Address of a Tier 3 pending-action vault. */
394
538
  derivePendingActionVaultAddress(args) {
@@ -615,7 +759,7 @@ export class EmblemStakeClient {
615
759
  const ix = this.buildRegisterRewardVaultIx({ ...args, authority: signer.publicKey });
616
760
  const tx = new Transaction().add(ix);
617
761
  const txSignature = await this.signAndSubmit(tx, signer);
618
- return { vaultPda: this.deriveDistributionVaultAddress(args.vaultId), txSignature };
762
+ return { vaultPda: this.deriveDistributionVaultAddress(args.vaultPubkey), txSignature };
619
763
  }
620
764
  async registerPendingActionVault(args) {
621
765
  const signer = this.requireSigner('registerPendingActionVault');
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAEL,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,GAGrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EACL,WAAW,EACX,mBAAmB,GAIpB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,+BAA+B,EAC/B,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,4BAA4B,EAC5B,iCAAiC,EACjC,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAElB,gFAAgF;AAChF,oCAAoC;AACpC,gFAAgF;AAEhF,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC;IACjC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,MAAM,wBAAwB,GAAG,MAAM,CAAC,IAAI,CAAC;IAC3C,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,MAAM,gCAAgC,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,+BAA+B,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,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;IAC3B,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;IAC7B,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;IAC3B,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AACH,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC;IACxC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/C,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,CAAC,CAAC;AACnC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAEnC,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF,SAAS,QAAQ,CAAC,CAAS;IACzB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5B,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,WAAW,CAAC,CAA4B;IAC/C,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,QAAQ,CAAC,CAA4B;IAC5C,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5B,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,GAAG,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,GAAG,CAAC,CAAS;IACpB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtB,OAAO,CAAC,CAAC;AACX,CAAC;AACD,SAAS,GAAG,CAAC,CAAS;IACpB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtB,OAAO,CAAC,CAAC;AACX,CAAC;AACD,SAAS,GAAG,CAAC,CAAS;IACpB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,wBAAwB,CAAC,CAAqB;IACrD,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,cAAc;YACjB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACjD,KAAK,MAAM;YACT,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACzC,KAAK,cAAc;YACjB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,wBAAwB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,CAAoB;IAC9C,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QACpC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,4BAA4B,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,CAAC,iCAAiC,CAAC,CAAC;QAChD,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC;KACzB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAgC;IAC3D,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,qBAAqB,CAAC;IACjD,IAAI,CAAC,KAAK,OAAO;QAAE,OAAO,oBAAoB,CAAC;IAC/C,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAiC;IAC5D,OAAO,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,uBAAuB,CAAC;AAChF,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,SAAoB;IAChD,OAAO,SAAS,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe,EAAE,SAAoB;IAC9D,OAAO,SAAS,CAAC,sBAAsB,CACrC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EACnD,SAAS,CACV,CAAC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAkB,EAAE,SAAoB;IACxE,mEAAmE;IACnE,OAAO,SAAS,CAAC,sBAAsB,CACrC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,EAChD,SAAS,CACV,CAAC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAAgB,EAChB,IAAe,EACf,UAAkB,EAClB,SAAoB;IAEpB,OAAO,SAAS,CAAC,sBAAsB,CACrC;QACE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACrB,IAAI,CAAC,OAAO,EAAE;QACd,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;KAC1B,EACD,SAAS,CACV,CAAC,CAAC,CAAC,CAAC;AACP,CAAC;AAgCD,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChC,IAAI,CAAc;IAC3B,YAAY,IAAiB,EAAE,OAAe;QAC5C,KAAK,CAAC,gBAAgB,WAAW,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,iBAAiB;IACX,UAAU,CAAa;IACvB,SAAS,CAAY;IACrB,MAAM,CAAoC;IAC1C,UAAU,CAAa;IAExC,YAAY,IAA8B;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,gBAAgB,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,WAAW,CAAC;IACnD,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IAED,6EAA6E;IAC7E,iBAAiB;IACjB,6EAA6E;IAE7E,aAAa,CAAC,IAA8C;QAI1D,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC;YACvC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;SACrC,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED,cAAc,CAAC,IAAsD;QAInE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC;YACxC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;SACrC,CAAC,CAAC;QACH,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC;IAC5C,CAAC;IAED,qBAAqB,CAAC,IAAkD;QAItE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC;YACxC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;SACrC,CAAC,CAAC;QACH,OAAO,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC;IACnD,CAAC;IAED,6EAA6E;IAC7E,QAAQ;IACR,6EAA6E;IAE7E,KAAK,CAAC,OAAO,CAAC,OAAsB;QAClC,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACxE,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,gBAAgB,CACxB,WAAW,CAAC,UAAU,EACtB,WAAW,OAAO,gBAAgB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,2BAA2B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAC9G,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAkB;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;QACnD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,gBAAgB,CACxB,WAAW,CAAC,cAAc,EAC1B,0EAA0E,CAC3E,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3E,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACxE,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,gBAAgB,CACxB,WAAW,CAAC,UAAU,EACtB,WAAW,QAAQ,gBAAgB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,2BAA2B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAC/G,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,OAAO,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,eAA8B;QAE9B,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,eAAe,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACxE,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,MAAM,OAAO,GAAG,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,OAAO,EAAE,GAAG,OAAO,EAAE,eAAe,EAAE,CAAC;IACzC,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,gBAAgB,CAAC,OAAsB;QAC3C,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;QACvC,iDAAiD;QACjD,MAAM,iBAAiB,GAAG,CAAC,CAAC;QAC5B,MAAM,OAAO,GAA+B;YAC1C,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,yBAAyB,CAAC,EAAE,EAAE;YACvE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE;SACrE,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE;YACxE,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO;SACR,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACxB,MAAM,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxD,OAAO,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8CAA8C;IAC9C,KAAK,CAAC,oBAAoB,CAAC,SAAwB;QACjD,MAAM,YAAY,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,sBAAsB,GAAG,CAAC,CAAC;QACjC,MAAM,OAAO,GAA+B;YAC1C,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,wBAAwB,CAAC,EAAE,EAAE;YACtE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,sBAAsB,EAAE,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAE,EAAE;SAC/E,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE;YACxE,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO;SACR,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACxB,MAAM,OAAO,GAAG,sBAAsB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvD,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,+CAA+C;IAC/C,6EAA6E;IAE7E;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,CACf,KAAwB,EACxB,QAAgB,EAChB,cAAsB;QAEtB,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAChD,OAAO;YACL,OAAO,EAAE,YAAY,IAAI,QAAQ;YACjC,QAAQ,EAAE;gBACR,YAAY;gBACZ,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,WAAW,EAAE,cAAc,IAAI,KAAK,CAAC,UAAU;aAChD;SACF,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,uBAAuB;IACvB,6EAA6E;IAE7E;;;;OAIG;IACH,iBAAiB,CACf,IAAmD;QAEnD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YACrC,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5C,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,+DAA+D;YAC/D,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,gBAAgB,CAAC;SACxD,CAAC,CAAC,CAAC;QAEJ,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;YACzB,cAAc;YACd,GAAG,CAAC,MAAM,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC5B,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;YACxB,gBAAgB;YAChB,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC;YACrB,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YAC7D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzB,QAAQ,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5E,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC;YAC5B,wBAAwB,CAAC,GAAG,CAAC,kBAAkB,CAAC;YAChD,oBAAoB;YACpB,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC;YAC7B,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,kBAAkB,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;SACtD,CAAC,CAAC;QAEH,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE;gBACJ,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC3E,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBACrE,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;aACxE;YACD,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,0BAA0B,CAAC,IAI1B;QACC,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9D,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE;gBACJ,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC3E,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBACpD,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBAC9D,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBACpD,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBAChE,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBACvE,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;aACnE;YACD,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,wBAAwB,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;SACxE,CAAC,CAAC;IACL,CAAC;IAED,sFAAsF;IACtF,iCAAiC,CAAC,IAKjC;QACC,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,UAAU,GACd,IAAI,CAAC,UAAU,KAAK,cAAc,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAC3F,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACxF,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE;gBACJ,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC3E,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBACpD,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBAC9D,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBACpD,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBAChE,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBACvE,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;aACnE;YACD,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;gBAClB,gCAAgC;gBAChC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;aAC1B,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,8FAA8F;IAC9F,2BAA2B,CAAC,OAAsB;QAChD,OAAO,wBAAwB,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;IACrF,CAAC;IAED,mGAAmG;IACnG,8BAA8B,CAAC,OAAe;QAC5C,OAAO,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC/D,CAAC;IAED,gDAAgD;IAChD,+BAA+B,CAAC,IAI/B;QACC,MAAM,UAAU,GACd,IAAI,CAAC,UAAU,KAAK,cAAc,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAC3F,OAAO,wBAAwB,CAC7B,IAAI,CAAC,QAAQ,EACb,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EACxB,UAAU,EACV,IAAI,CAAC,SAAS,CACf,CAAC,QAAQ,EAAE,CAAC;IACf,CAAC;IAED,qEAAqE;IACrE,2BAA2B;QACzB,OAAO,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzD,CAAC;IAED,mEAAmE;IACnE,2BAA2B,CAAC,OAAsB;QAChD,OAAO,SAAS,CAAC,sBAAsB,CACrC,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAClE,IAAI,CAAC,SAAS,CACf,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,0CAA0C;IAC1C,uBAAuB,CAAC,IAGvB;QACC,OAAO,SAAS,CAAC,sBAAsB,CACrC;YACE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;YAC1B,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;YACrC,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;SACpC,EACD,IAAI,CAAC,SAAS,CACf,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,2DAA2D;IAC3D,+BAA+B,CAAC,IAG/B;QACC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC5C,OAAO,SAAS,CAAC,sBAAsB,CACrC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,EAChF,IAAI,CAAC,SAAS,CACf,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,6EAA6E;IAC7E,yBAAyB;IACzB,6EAA6E;IAE7E,oFAAoF;IACpF,gCAAgC,CAAC,IAIhC;QACC,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACrF,MAAM,WAAW,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAClF,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE;gBACJ,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;gBACvE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBACvD,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBACxE;oBACE,MAAM,EAAE,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC;oBAC5C,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,KAAK;iBAClB;gBACD,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC7D,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC1D,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBAChE,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBACvE,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;aACnE;YACD,IAAI,EAAE,+BAA+B;SACtC,CAAC,CAAC;IACL,CAAC;IAED,0BAA0B;IAC1B,YAAY,CAAC,IAMZ;QACC,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,SAAS,CAC9B,IAAI,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAC1E,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAErF,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;YACzB,QAAQ;YACR,SAAS;YACT,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAChC,CAAC,CAAC;QAEH,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE;gBACJ,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;gBACtE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBACtD,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBACzD,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC7D;oBACE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC;oBAC5C,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,IAAI;iBACjB;gBACD,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBAChE,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;aACxE;YACD,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,IAQd;QACC,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,SAAS,CAC9B,IAAI,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAC1E,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACrF,MAAM,IAAI,GAAG;YACX,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;YACtE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;YACtD,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;YACzD;gBACE,MAAM,EAAE,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC5C,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,KAAK;aAClB;YACD,wEAAwE;YACxE,kEAAkE;YAClE,sCAAsC;YACtC,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;YACvE,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;YAC7D;gBACE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC;gBAC5C,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,IAAI;aACjB;SACF,CAAC;QACF,sEAAsE;QACtE,kEAAkE;QAClE,iEAAiE;QACjE,mEAAmE;QACnE,qDAAqD;QACrD,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC;gBACR,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC;gBACjD,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI;YACJ,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,IAMZ;QACC,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,SAAS,CAC9B,IAAI,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAC1E,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAClF,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAChD,MAAM,EAAE,IAAI,SAAS,CACnB,IAAI,CAAC,+BAA+B,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAC/E;YACD,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE;gBACJ,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;gBACvE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBACvD,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBACzD;oBACE,MAAM,EAAE,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC;oBAC5C,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,KAAK;iBAClB;gBACD,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC1D;oBACE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC;oBAC5C,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,IAAI;iBACjB;gBACD,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBAChE,GAAG,YAAY;aAChB;YACD,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,wBAAwB,CAAC,IAKxB;QACC,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAClF,MAAM,YAAY,GAAG,IAAI,SAAS,CAChC,IAAI,CAAC,+BAA+B,CAAC;YACnC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CACH,CAAC;QACF,OAAO,IAAI,sBAAsB,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE;gBACJ,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;gBACvE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBACtD,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;gBAC3D,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC3D,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;aACxE;YACD,IAAI,EAAE,qBAAqB;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,2BAA2B;IAC3B,6EAA6E;IAE7E,KAAK,CAAC,UAAU,CACd,IAAoB;QAEpB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5E,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YACrC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACxB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC;SACzB,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAGzB;QACC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;QACzD,MAAM,EAAE,GAAG,IAAI,CAAC,0BAA0B,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACrF,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACzD,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,IAIhC;QACC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;QAChE,MAAM,EAAE,GAAG,IAAI,CAAC,iCAAiC,CAAC;YAChD,GAAG,IAAI;YACP,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACzD,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC;YACpD,WAAW;SACZ,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CACT,IAAqD;QAErD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;YAC3B,IAAI,EAAE,MAAM,CAAC,SAAS;YACtB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC;YAC5C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,MAAM,CAAC,SAAS;SACxB,CAAC,CAAC;QACH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,OAAO,CACX,IAIC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;YAC7B,IAAI,EAAE,MAAM,CAAC,SAAS;YACtB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;SAClD,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACzD,OAAO,EAAE,WAAW,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,IAGC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAClD,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;YAC3B,IAAI,EAAE,MAAM,CAAC,SAAS;YACtB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACzD,OAAO,EAAE,WAAW,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,IAAkD;QAElD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;QACvD,MAAM,EAAE,GAAG,IAAI,CAAC,wBAAwB,CAAC;YACvC,KAAK,EAAE,MAAM,CAAC,SAAS;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACzD,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,+BAA+B,CAAC;gBACpD,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC;YACF,WAAW;SACZ,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,EAAe,EACf,MAA6B;QAE7B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChF,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEjD,kEAAkE;QAClE,sEAAsE;QACtE,+DAA+D;QAC/D,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC;YACrC,QAAQ;YACR,eAAe,EAAE,SAAS;YAC1B,YAAY,EAAE,EAAE,CAAC,YAAY;SAC9B,CAAC,CAAC,kBAAkB,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE9C,uEAAuE;QACvE,iEAAiE;QACjE,gEAAgE;QAChE,0DAA0D;QAC1D,sBAAsB;QACtB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAEO,aAAa,CAAC,EAAU;QAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,gBAAgB,CACxB,WAAW,CAAC,YAAY,EACxB,GAAG,EAAE,mEAAmE,CACzE,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAED,MAAM,UAAU,iBAAiB,CAAC,IAIjC;IACC,OAAO,IAAI,iBAAiB,CAAC;QAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,gBAAgB;QAC7C,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC;AACL,CAAC;AAED,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,SAAS,UAAU,CAAC,KAAiB;IACnC,MAAM,QAAQ,GAAG,4DAA4D,CAAC;IAC9E,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,KAAK,EAAE,CAAC;IAC3D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAE,GAAG,GAAG,CAAC;YAC1B,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YACvB,KAAK,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;YACxB,KAAK,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE;QAAE,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtD,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;QAAE,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC;IAC5E,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/codec.d.ts CHANGED
@@ -22,13 +22,16 @@
22
22
  * penalty_destination: PenaltyDestination (1-byte tag + variant body)
23
23
  * - tag=0 redistribute: empty body
24
24
  * - tag=1 burn: empty body
25
- * - tag=2 treasury-pda: String (max 64) body the treasury id
25
+ * - tag=2 treasury-pda: Pubkey (32 bytes) — destination address
26
26
  * reward_sources: Vec<RewardSource>
27
27
  * RewardSource:
28
28
  * tag: u8 (0 = distribution-vault, 1 = split-recipient)
29
- * body: String (max 64) — the id (vault id or splits config id)
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.
30
33
  * reward_cadence: u8 (0 hourly, 1 daily, 2 weekly)
31
- * reward_formula: u8 (0 linear-v1, 1 sammy-curve-v1)
34
+ * reward_formula: u8 (0 linear-v1, 1 time-weighted-v1)
32
35
  * total_staked: u64 LE
33
36
  * total_weighted_stake: u64 LE
34
37
  * current_period: u32 LE
@@ -56,18 +59,18 @@
56
59
  * distributed_at: i64 LE
57
60
  * reward_mint: Pubkey
58
61
  */
59
- import type { RewardDistributionAccount, StakePoolAccount, StakeVaultAccount } from './types.js';
62
+ import type { RewardDistributionAccount, StakePlatformConfigAccount, StakePoolAccount, StakeVaultAccount } from './types.js';
60
63
  export declare const STAKE_POOL_DISCRIMINATOR: Buffer<ArrayBuffer>;
61
64
  export declare const STAKE_VAULT_DISCRIMINATOR: Buffer<ArrayBuffer>;
62
65
  export declare const REWARD_DIST_DISCRIMINATOR: Buffer<ArrayBuffer>;
66
+ /** ST-2 follow-on (2026-05-04). sha256("account:PlatformConfig").subarray(0, 8). */
67
+ export declare const STAKE_PLATFORM_CONFIG_DISCRIMINATOR: Buffer<ArrayBuffer>;
63
68
  /** Multiplier scale: stored as u32, displayed as multiplier × 1_000. */
64
69
  export declare const MULTIPLIER_SCALE = 1000;
65
70
  /** Caps shared with the on-chain program. */
66
71
  export declare const MAX_LOCK_OPTIONS = 10;
67
72
  export declare const MAX_REWARD_SOURCES = 8;
68
73
  export declare const MAX_HOST_URL_LEN = 128;
69
- export declare const MAX_TREASURY_ID_LEN = 64;
70
- export declare const MAX_REWARD_SOURCE_ID_LEN = 64;
71
74
  export declare const PENALTY_TAG_REDISTRIBUTE = 0;
72
75
  export declare const PENALTY_TAG_BURN = 1;
73
76
  export declare const PENALTY_TAG_TREASURY_PDA = 2;
@@ -77,7 +80,10 @@ export declare const REWARD_CADENCE_HOURLY = 0;
77
80
  export declare const REWARD_CADENCE_DAILY = 1;
78
81
  export declare const REWARD_CADENCE_WEEKLY = 2;
79
82
  export declare const REWARD_FORMULA_LINEAR_V1 = 0;
80
- export declare const REWARD_FORMULA_SAMMY_V1 = 1;
83
+ /** Pre-mainnet #7 (2026-05-03): renamed from REWARD_FORMULA_SAMMY_V1
84
+ * (which was a placeholder doing identical linear math). The on-chain
85
+ * formula now computes weight = stake × tier_days / max_tier_days. */
86
+ export declare const REWARD_FORMULA_TIME_WEIGHTED_V1 = 1;
81
87
  export declare class StakeCodecError extends Error {
82
88
  constructor(message: string);
83
89
  }
@@ -87,4 +93,9 @@ export declare function decodeStakeVaultAccount(data: Buffer | Uint8Array): Stak
87
93
  export declare function encodeStakeVaultAccount(account: StakeVaultAccount, bump?: number): Buffer;
88
94
  export declare function decodeRewardDistributionAccount(data: Buffer | Uint8Array): RewardDistributionAccount;
89
95
  export declare function encodeRewardDistributionAccount(account: RewardDistributionAccount, bump?: number): Buffer;
96
+ /** Reserved padding length on PlatformConfig. Mirrors the Rust constant
97
+ * `PLATFORM_CONFIG_RESERVED_BYTES`. */
98
+ export declare const STAKE_PLATFORM_CONFIG_RESERVED_BYTES = 32;
99
+ export declare function decodeStakePlatformConfigAccount(data: Buffer | Uint8Array): StakePlatformConfigAccount;
100
+ export declare function encodeStakePlatformConfigAccount(account: StakePlatformConfigAccount, bump?: number): Buffer;
90
101
  //# sourceMappingURL=codec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../src/codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AASH,OAAO,KAAK,EACV,yBAAyB,EACzB,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;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;AACpC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAM3C,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,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAMD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,gBAAgB,CAuDlF;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,SAAM,GAAG,MAAM,CAyCpF;AAMD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,iBAAiB,CAqCpF;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,SAAM,GAAG,MAAM,CActF;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"}
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"}
package/dist/codec.js CHANGED
@@ -22,13 +22,16 @@
22
22
  * penalty_destination: PenaltyDestination (1-byte tag + variant body)
23
23
  * - tag=0 redistribute: empty body
24
24
  * - tag=1 burn: empty body
25
- * - tag=2 treasury-pda: String (max 64) body the treasury id
25
+ * - tag=2 treasury-pda: Pubkey (32 bytes) — destination address
26
26
  * reward_sources: Vec<RewardSource>
27
27
  * RewardSource:
28
28
  * tag: u8 (0 = distribution-vault, 1 = split-recipient)
29
- * body: String (max 64) — the id (vault id or splits config id)
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.
30
33
  * reward_cadence: u8 (0 hourly, 1 daily, 2 weekly)
31
- * reward_formula: u8 (0 linear-v1, 1 sammy-curve-v1)
34
+ * reward_formula: u8 (0 linear-v1, 1 time-weighted-v1)
32
35
  * total_staked: u64 LE
33
36
  * total_weighted_stake: u64 LE
34
37
  * current_period: u32 LE
@@ -69,14 +72,18 @@ export const STAKE_VAULT_DISCRIMINATOR = Buffer.from([
69
72
  export const REWARD_DIST_DISCRIMINATOR = Buffer.from([
70
73
  0xf1, 0xfe, 0x40, 0xba, 0xd7, 0x43, 0x19, 0xf7,
71
74
  ]);
75
+ /** ST-2 follow-on (2026-05-04). sha256("account:PlatformConfig").subarray(0, 8). */
76
+ export const STAKE_PLATFORM_CONFIG_DISCRIMINATOR = Buffer.from([
77
+ 0xa0, 0x4e, 0x80, 0x00, 0xf8, 0x53, 0xe6, 0xa0,
78
+ ]);
72
79
  /** Multiplier scale: stored as u32, displayed as multiplier × 1_000. */
73
80
  export const MULTIPLIER_SCALE = 1000;
74
81
  /** Caps shared with the on-chain program. */
75
82
  export const MAX_LOCK_OPTIONS = 10;
76
83
  export const MAX_REWARD_SOURCES = 8;
77
84
  export const MAX_HOST_URL_LEN = 128;
78
- export const MAX_TREASURY_ID_LEN = 64;
79
- export const MAX_REWARD_SOURCE_ID_LEN = 64;
85
+ // Audit X-1 Pass 2 (2026-05-03): MAX_TREASURY_ID_LEN +
86
+ // MAX_REWARD_SOURCE_ID_LEN deleted — those fields are now Pubkey.
80
87
  // =============================================================================
81
88
  // Tag bytes — locked
82
89
  // =============================================================================
@@ -89,7 +96,10 @@ export const REWARD_CADENCE_HOURLY = 0;
89
96
  export const REWARD_CADENCE_DAILY = 1;
90
97
  export const REWARD_CADENCE_WEEKLY = 2;
91
98
  export const REWARD_FORMULA_LINEAR_V1 = 0;
92
- export const REWARD_FORMULA_SAMMY_V1 = 1;
99
+ /** Pre-mainnet #7 (2026-05-03): renamed from REWARD_FORMULA_SAMMY_V1
100
+ * (which was a placeholder doing identical linear math). The on-chain
101
+ * formula now computes weight = stake × tier_days / max_tier_days. */
102
+ export const REWARD_FORMULA_TIME_WEIGHTED_V1 = 1;
93
103
  export class StakeCodecError extends Error {
94
104
  constructor(message) {
95
105
  super(`[StakeCodec] ${message}`);
@@ -128,6 +138,9 @@ export function decodeStakePoolAccount(data) {
128
138
  const currentPeriod = r.readU32LE();
129
139
  const version = r.readU32LE();
130
140
  const createdAt = r.readI64LE();
141
+ // ST-2 follow-on (2026-05-04) — pause flags trailer.
142
+ const pausedByAuthority = r.readBool();
143
+ const pausedByAdmin = r.readBool();
131
144
  return {
132
145
  authority,
133
146
  poolId,
@@ -146,6 +159,8 @@ export function decodeStakePoolAccount(data) {
146
159
  currentPeriod,
147
160
  version,
148
161
  createdAt: Number(createdAt),
162
+ pausedByAuthority,
163
+ pausedByAdmin,
149
164
  };
150
165
  }
151
166
  export function encodeStakePoolAccount(account, bump = 255) {
@@ -179,6 +194,8 @@ export function encodeStakePoolAccount(account, bump = 255) {
179
194
  w.writeU32LE(account.currentPeriod);
180
195
  w.writeU32LE(account.version);
181
196
  w.writeI64LE(BigInt(account.createdAt));
197
+ w.writeBool(account.pausedByAuthority);
198
+ w.writeBool(account.pausedByAdmin);
182
199
  return w.toBuffer();
183
200
  }
184
201
  // =============================================================================
@@ -205,6 +222,13 @@ export function decodeStakeVaultAccount(data) {
205
222
  const lastClaimPeriod = r.readU32LE();
206
223
  const lastClaimAt = r.readI64LE();
207
224
  const stakedAt = r.readI64LE();
225
+ // ST-2 (2026-05-04) — wider snapshot trailer. Appended at end of
226
+ // struct so memcmp filters over earlier fields keep their offsets.
227
+ const earlyExitPenaltyBpsSnapshot = r.readU16LE();
228
+ const lockTierDaysSnapshot = r.readU32LE();
229
+ const lockTierMultiplierSnapshot = r.readU32LE();
230
+ const rewardFormulaSnapshot = r.readU8();
231
+ const weightedContributionSnapshot = r.readU64LE();
208
232
  return {
209
233
  poolPda,
210
234
  owner,
@@ -215,6 +239,11 @@ export function decodeStakeVaultAccount(data) {
215
239
  lastClaimPeriod,
216
240
  lastClaimAt: Number(lastClaimAt),
217
241
  stakedAt: Number(stakedAt),
242
+ earlyExitPenaltyBpsSnapshot,
243
+ lockTierDaysSnapshot,
244
+ lockTierMultiplierSnapshot,
245
+ rewardFormulaSnapshot,
246
+ weightedContributionSnapshot,
218
247
  };
219
248
  }
220
249
  export function encodeStakeVaultAccount(account, bump = 255) {
@@ -230,6 +259,11 @@ export function encodeStakeVaultAccount(account, bump = 255) {
230
259
  w.writeU32LE(account.lastClaimPeriod);
231
260
  w.writeI64LE(BigInt(account.lastClaimAt));
232
261
  w.writeI64LE(BigInt(account.stakedAt));
262
+ w.writeU16LE(account.earlyExitPenaltyBpsSnapshot);
263
+ w.writeU32LE(account.lockTierDaysSnapshot);
264
+ w.writeU32LE(account.lockTierMultiplierSnapshot);
265
+ w.writeU8(account.rewardFormulaSnapshot);
266
+ w.writeU64LE(account.weightedContributionSnapshot);
233
267
  return w.toBuffer();
234
268
  }
235
269
  // =============================================================================
@@ -275,6 +309,38 @@ export function encodeRewardDistributionAccount(account, bump = 255) {
275
309
  return w.toBuffer();
276
310
  }
277
311
  // =============================================================================
312
+ // PlatformConfig (ST-2 follow-on, 2026-05-04)
313
+ //
314
+ // 8 (disc) + 1 (bump) + 32 (admin) + 32 (reserved) = 73 bytes.
315
+ // =============================================================================
316
+ /** Reserved padding length on PlatformConfig. Mirrors the Rust constant
317
+ * `PLATFORM_CONFIG_RESERVED_BYTES`. */
318
+ export const STAKE_PLATFORM_CONFIG_RESERVED_BYTES = 32;
319
+ export function decodeStakePlatformConfigAccount(data) {
320
+ const buf = data instanceof Buffer ? data : Buffer.from(data);
321
+ if (buf.length < 8) {
322
+ throw new StakeCodecError(`buffer too small (${buf.length} bytes); need at least 8 for discriminator`);
323
+ }
324
+ const disc = buf.subarray(0, 8);
325
+ if (!disc.equals(STAKE_PLATFORM_CONFIG_DISCRIMINATOR)) {
326
+ throw new StakeCodecError(`PlatformConfig discriminator mismatch: expected ${STAKE_PLATFORM_CONFIG_DISCRIMINATOR.toString('hex')}, got ${disc.toString('hex')}`);
327
+ }
328
+ const r = new BorshReader(buf, 8);
329
+ const bump = r.readU8();
330
+ void bump;
331
+ const admin = r.readPubkey();
332
+ // reserved bytes ignored on decode — they're write-only padding.
333
+ return { admin };
334
+ }
335
+ export function encodeStakePlatformConfigAccount(account, bump = 255) {
336
+ const w = new BorshWriter();
337
+ w.writeBytes(STAKE_PLATFORM_CONFIG_DISCRIMINATOR);
338
+ w.writeU8(bump);
339
+ w.writePubkey(account.admin);
340
+ w.writeBytes(Buffer.alloc(STAKE_PLATFORM_CONFIG_RESERVED_BYTES));
341
+ return w.toBuffer();
342
+ }
343
+ // =============================================================================
278
344
  // Variant encoders
279
345
  // =============================================================================
280
346
  function encodeRewardCadence(c) {
@@ -307,8 +373,8 @@ function encodeRewardFormula(f) {
307
373
  switch (f) {
308
374
  case 'linear-v1':
309
375
  return REWARD_FORMULA_LINEAR_V1;
310
- case 'sammy-curve-v1':
311
- return REWARD_FORMULA_SAMMY_V1;
376
+ case 'time-weighted-v1':
377
+ return REWARD_FORMULA_TIME_WEIGHTED_V1;
312
378
  default: {
313
379
  const _exhaustive = f;
314
380
  throw new StakeCodecError(`unknown rewardFormula: ${_exhaustive}`);
@@ -319,8 +385,8 @@ function decodeRewardFormula(byte) {
319
385
  switch (byte) {
320
386
  case REWARD_FORMULA_LINEAR_V1:
321
387
  return 'linear-v1';
322
- case REWARD_FORMULA_SAMMY_V1:
323
- return 'sammy-curve-v1';
388
+ case REWARD_FORMULA_TIME_WEIGHTED_V1:
389
+ return 'time-weighted-v1';
324
390
  default:
325
391
  throw new StakeCodecError(`unknown rewardFormula byte: ${byte}`);
326
392
  }
@@ -346,6 +412,13 @@ class BorshReader {
346
412
  this.offset += 1;
347
413
  return v;
348
414
  }
415
+ readBool() {
416
+ const tag = this.readU8();
417
+ if (tag !== 0 && tag !== 1) {
418
+ throw new StakeCodecError(`invalid bool byte ${tag} (expected 0 or 1)`);
419
+ }
420
+ return tag === 1;
421
+ }
349
422
  readU16LE() {
350
423
  this.require(2);
351
424
  const v = this.buf.readUInt16LE(this.offset);
@@ -424,8 +497,9 @@ class BorshReader {
424
497
  case PENALTY_TAG_BURN:
425
498
  return { kind: 'burn' };
426
499
  case PENALTY_TAG_TREASURY_PDA: {
427
- const id = this.readBorshString(MAX_TREASURY_ID_LEN);
428
- return { kind: 'treasury-pda', id };
500
+ // Audit X-1 Pass 2: body is now Pubkey, not String.
501
+ const pda = this.readPubkey();
502
+ return { kind: 'treasury-pda', pda };
429
503
  }
430
504
  default:
431
505
  throw new StakeCodecError(`unknown PenaltyDestination tag ${tag}`);
@@ -439,12 +513,13 @@ class BorshReader {
439
513
  const out = [];
440
514
  for (let i = 0; i < len; i++) {
441
515
  const tag = this.readU8();
442
- const id = this.readBorshString(MAX_REWARD_SOURCE_ID_LEN);
516
+ // Audit X-1 Pass 2: body is now Pubkey (32 bytes), not String.
517
+ const source = this.readPubkey();
443
518
  if (tag === REWARD_SOURCE_TAG_DIST_VAULT) {
444
- out.push({ type: 'distribution-vault', id });
519
+ out.push({ type: 'distribution-vault', vaultPda: source });
445
520
  }
446
521
  else if (tag === REWARD_SOURCE_TAG_SPLIT_RECIPIENT) {
447
- out.push({ type: 'split-recipient', fromConfigId: id });
522
+ out.push({ type: 'split-recipient', splitConfigPda: source });
448
523
  }
449
524
  else {
450
525
  throw new StakeCodecError(`unknown RewardSource tag ${tag}`);
@@ -463,6 +538,9 @@ class BorshWriter {
463
538
  b.writeUInt8(v, 0);
464
539
  this.chunks.push(b);
465
540
  }
541
+ writeBool(v) {
542
+ this.writeU8(v ? 1 : 0);
543
+ }
466
544
  writeU16LE(v) {
467
545
  const b = Buffer.alloc(2);
468
546
  b.writeUInt16LE(v, 0);
@@ -533,7 +611,8 @@ class BorshWriter {
533
611
  return;
534
612
  case 'treasury-pda':
535
613
  this.writeU8(PENALTY_TAG_TREASURY_PDA);
536
- this.writeBorshString(p.id, MAX_TREASURY_ID_LEN);
614
+ // Audit X-1 Pass 2: body is now Pubkey (32 bytes), not String.
615
+ this.writePubkey(p.pda);
537
616
  return;
538
617
  default: {
539
618
  const _exhaustive = p;
@@ -544,13 +623,14 @@ class BorshWriter {
544
623
  writeVecRewardSource(sources) {
545
624
  this.writeU32LE(sources.length);
546
625
  for (const s of sources) {
626
+ // Audit X-1 Pass 2: body is now Pubkey (32 bytes), not String.
547
627
  if (s.type === 'distribution-vault') {
548
628
  this.writeU8(REWARD_SOURCE_TAG_DIST_VAULT);
549
- this.writeBorshString(s.id, MAX_REWARD_SOURCE_ID_LEN);
629
+ this.writePubkey(s.vaultPda);
550
630
  }
551
631
  else if (s.type === 'split-recipient') {
552
632
  this.writeU8(REWARD_SOURCE_TAG_SPLIT_RECIPIENT);
553
- this.writeBorshString(s.fromConfigId, MAX_REWARD_SOURCE_ID_LEN);
633
+ this.writePubkey(s.splitConfigPda);
554
634
  }
555
635
  else {
556
636
  const _exhaustive = s;
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, MAX_TREASURY_ID_LEN, MAX_REWARD_SOURCE_ID_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_SAMMY_V1, StakeCodecError, } from './codec.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';
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,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,4BAA4B,EAC5B,iCAAiC,EACjC,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,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,+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, MAX_TREASURY_ID_LEN, MAX_REWARD_SOURCE_ID_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_SAMMY_V1, StakeCodecError, } from './codec.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';
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,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,4BAA4B,EAC5B,iCAAiC,EACjC,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,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,+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
@@ -43,7 +43,10 @@ export interface StakePoolAccount {
43
43
  rewardSources: StakeRewardSource[];
44
44
  /** How often distribute_rewards is callable. */
45
45
  rewardCadence: 'hourly' | 'daily' | 'weekly';
46
- /** Reward formula identifier — "linear-v1" until sammy-curve-v1 lands. */
46
+ /** Reward formula identifier — `linear-v1` (proportional, multiplier-driven)
47
+ * or `time-weighted-v1` (vote-escrow style; weight scales with the
48
+ * staker's lock tier as a fraction of the longest tier in the pool).
49
+ * See `RewardFormula` in `@emblemvault/primitives-shared`. */
47
50
  rewardFormula: RewardFormula;
48
51
  /** Total amount currently staked across all vaults. */
49
52
  totalStaked: bigint;
@@ -55,10 +58,33 @@ export interface StakePoolAccount {
55
58
  version: number;
56
59
  /** Unix-seconds at creation. */
57
60
  createdAt: number;
61
+ /** ST-2 follow-on (2026-05-04) — set by `pause_pool` (pool authority);
62
+ * cleared by `unpause_pool`. Independent from `pausedByAdmin`. Pool
63
+ * is "paused" iff `pausedByAuthority || pausedByAdmin`. */
64
+ pausedByAuthority: boolean;
65
+ /** ST-2 follow-on — set by `admin_pause_pool` (platform admin from
66
+ * stake's PlatformConfig); cleared by `admin_unpause_pool`. */
67
+ pausedByAdmin: boolean;
58
68
  }
59
69
  export interface StakePoolView extends StakePoolAccount {
60
70
  poolPda: SolanaAddress;
61
71
  }
72
+ /**
73
+ * Stake program PlatformConfig — singleton, PDA seeds [b"platform-config"].
74
+ *
75
+ * ST-2 follow-on (2026-05-04). Mirrors launch + sell convention: each
76
+ * program owns its own admin keypair. Stake's admin authorizes
77
+ * `admin_pause_pool` / `admin_unpause_pool` — the Emblem-side half of
78
+ * the two-key emergency halt.
79
+ */
80
+ export interface StakePlatformConfigAccount {
81
+ /** Pubkey allowed to call `admin_pause_pool` / `admin_unpause_pool`
82
+ * + `set_admin` (rotate this field). */
83
+ admin: SolanaAddress;
84
+ }
85
+ export interface StakePlatformConfigView extends StakePlatformConfigAccount {
86
+ platformConfigPda: SolanaAddress;
87
+ }
62
88
  /**
63
89
  * The on-chain StakeVaultAccount — one per (pool, owner).
64
90
  *
@@ -83,6 +109,26 @@ export interface StakeVaultAccount {
83
109
  lastClaimAt: number;
84
110
  /** Unix-seconds at which the stake was first created. */
85
111
  stakedAt: number;
112
+ /** ST-2 (2026-05-04) — `pool.early_exit_penalty_bps` snapshotted
113
+ * at stake time. `unstake` reads this, NOT the live pool value, so
114
+ * a creator who later raises the penalty can't retroactively rug
115
+ * this staker. */
116
+ earlyExitPenaltyBpsSnapshot: number;
117
+ /** ST-2 — `pool.lock_options[lockTierIdx].days` at stake time. Used
118
+ * by the time-weighted-v1 reward formula at claim. */
119
+ lockTierDaysSnapshot: number;
120
+ /** ST-2 — `pool.lock_options[lockTierIdx].multiplier` at stake time.
121
+ * Used by the linear-v1 reward formula at claim. */
122
+ lockTierMultiplierSnapshot: number;
123
+ /** ST-2 — `pool.reward_formula` at stake time. Off-chain observability
124
+ * only — claim-time math uses `weightedContributionSnapshot`. */
125
+ rewardFormulaSnapshot: number;
126
+ /** ST-2 — **load-bearing.** The output of `compute_weighted_contribution`
127
+ * at stake time, snapshotted exactly. `unstake`/`claim` read this
128
+ * directly (no recomputation), guaranteeing the staker's claim
129
+ * share scales identically to what they implicitly committed to at
130
+ * stake time, even if pool params change later. */
131
+ weightedContributionSnapshot: bigint;
86
132
  }
87
133
  export interface StakeVaultView extends StakeVaultAccount {
88
134
  vaultPda: 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.1.4",
3
+ "version": "0.3.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.1.4"
29
+ "@emblemvault/primitives-shared": "^0.3.0"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/node": "^20.0.0",