proof-of-take-sdk 5.0.11 → 5.0.13

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/index.d.ts CHANGED
@@ -11,8 +11,8 @@ export type { CreateMiztakeOptions, CreateMiztakeResult, CreateMiztakePdas, Crea
11
11
  export { initializeStatistics, isInitialized, } from "./instructions/initializeStatistics";
12
12
  export { initializeSeasonSettings } from "./instructions/initializeSeasonSettings";
13
13
  export { initializeSeasonVault } from "./instructions/initializeSeasonVault";
14
- export { joinSeason, joinSeasonClassic, joinSeasonLaunchpad, joinSeasonAndInitialize, joinSeasonLaunchpadAndInitialize, } from "./instructions/joinSeason";
15
- export type { JoinSeasonOptions, JoinSeasonClassicOptions, JoinSeasonLaunchpadOptions, JoinSeasonAndInitializeOptions, } from "./instructions/joinSeason";
14
+ export { createMoonpool, joinMoonpoolSeason, joinSunpool, joinSeasonClassic, joinSeasonLaunchpad, } from "./instructions/joinSeason";
15
+ export type { CreateMoonpoolOptions, JoinMoonpoolSeasonOptions, JoinSunpoolOptions, JoinSeasonClassicOptions, JoinSeasonLaunchpadOptions, } from "./instructions/joinSeason";
16
16
  export { confirmedPostOnX } from "./instructions/confirmedPostOnX";
17
17
  export type { ConfirmedPostOnXOptions } from "./instructions/confirmedPostOnX";
18
18
  export { claimWindowRewards, claimWindowRewardsClassic, claimWindowRewardsLaunchpad, } from "./instructions/claimWindowRewards";
package/dist/index.js CHANGED
@@ -21,7 +21,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
21
21
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
22
22
  };
23
23
  Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.VERSION = exports.closeReferralPenaltyClaim = exports.closeUserWindowParticipation = exports.closeRewardWindow = exports.closeSeasonMembership = exports.closeUserStats = exports.closeMiztake = exports.getUserStatsByPda = exports.getProgramReadOnly = exports.createProgramWithId = exports.createProgram = exports.ANCHOR_IDL = exports.IDL = exports.WindowState = exports.SeasonState = exports.PDAManager = exports.getProgram = exports.viewCurrentSeason = exports.viewWindowStatus = exports.viewSeasonMembershipStatus = exports.updateSeasonAdmin = exports.toggleSeasonPause = exports.initializeRewardWindow = exports.sellMizd = exports.buyMizd = exports.initializeBondingCurve = exports.withdrawSeasonDeposit = exports.claimSignupRewardsLaunchpad = exports.claimSignupRewardsClassic = exports.claimSignupRewards = exports.claimReferralPenaltyForWindowLaunchpad = exports.claimReferralPenaltyForWindowClassic = exports.claimReferralPenaltyForWindow = exports.claimWindowRewardsLaunchpad = exports.claimWindowRewardsClassic = exports.claimWindowRewards = exports.confirmedPostOnX = exports.joinSeasonLaunchpadAndInitialize = exports.joinSeasonAndInitialize = exports.joinSeasonLaunchpad = exports.joinSeasonClassic = exports.joinSeason = exports.initializeSeasonVault = exports.initializeSeasonSettings = exports.isInitialized = exports.initializeStatistics = exports.getMiztakePdaForParams = exports.createMiztake = void 0;
24
+ exports.VERSION = exports.closeReferralPenaltyClaim = exports.closeUserWindowParticipation = exports.closeRewardWindow = exports.closeSeasonMembership = exports.closeUserStats = exports.closeMiztake = exports.getUserStatsByPda = exports.getProgramReadOnly = exports.createProgramWithId = exports.createProgram = exports.ANCHOR_IDL = exports.IDL = exports.WindowState = exports.SeasonState = exports.PDAManager = exports.getProgram = exports.viewCurrentSeason = exports.viewWindowStatus = exports.viewSeasonMembershipStatus = exports.updateSeasonAdmin = exports.toggleSeasonPause = exports.initializeRewardWindow = exports.sellMizd = exports.buyMizd = exports.initializeBondingCurve = exports.withdrawSeasonDeposit = exports.claimSignupRewardsLaunchpad = exports.claimSignupRewardsClassic = exports.claimSignupRewards = exports.claimReferralPenaltyForWindowLaunchpad = exports.claimReferralPenaltyForWindowClassic = exports.claimReferralPenaltyForWindow = exports.claimWindowRewardsLaunchpad = exports.claimWindowRewardsClassic = exports.claimWindowRewards = exports.confirmedPostOnX = exports.joinSeasonLaunchpad = exports.joinSeasonClassic = exports.joinSunpool = exports.joinMoonpoolSeason = exports.createMoonpool = exports.initializeSeasonVault = exports.initializeSeasonSettings = exports.isInitialized = exports.initializeStatistics = exports.getMiztakePdaForParams = exports.createMiztake = void 0;
25
25
  // NOTE:
26
26
  // We intentionally export `getProgram` via a local const assignment (instead of `export * from ...`)
27
27
  // so that the compiled CommonJS output uses a writable property. This makes it possible to mock
@@ -42,11 +42,11 @@ var initializeSeasonVault_1 = require("./instructions/initializeSeasonVault");
42
42
  Object.defineProperty(exports, "initializeSeasonVault", { enumerable: true, get: function () { return initializeSeasonVault_1.initializeSeasonVault; } });
43
43
  // Season membership instructions
44
44
  var joinSeason_1 = require("./instructions/joinSeason");
45
- Object.defineProperty(exports, "joinSeason", { enumerable: true, get: function () { return joinSeason_1.joinSeason; } });
45
+ Object.defineProperty(exports, "createMoonpool", { enumerable: true, get: function () { return joinSeason_1.createMoonpool; } });
46
+ Object.defineProperty(exports, "joinMoonpoolSeason", { enumerable: true, get: function () { return joinSeason_1.joinMoonpoolSeason; } });
47
+ Object.defineProperty(exports, "joinSunpool", { enumerable: true, get: function () { return joinSeason_1.joinSunpool; } });
46
48
  Object.defineProperty(exports, "joinSeasonClassic", { enumerable: true, get: function () { return joinSeason_1.joinSeasonClassic; } });
47
49
  Object.defineProperty(exports, "joinSeasonLaunchpad", { enumerable: true, get: function () { return joinSeason_1.joinSeasonLaunchpad; } });
48
- Object.defineProperty(exports, "joinSeasonAndInitialize", { enumerable: true, get: function () { return joinSeason_1.joinSeasonAndInitialize; } });
49
- Object.defineProperty(exports, "joinSeasonLaunchpadAndInitialize", { enumerable: true, get: function () { return joinSeason_1.joinSeasonLaunchpadAndInitialize; } });
50
50
  var confirmedPostOnX_1 = require("./instructions/confirmedPostOnX");
51
51
  Object.defineProperty(exports, "confirmedPostOnX", { enumerable: true, get: function () { return confirmedPostOnX_1.confirmedPostOnX; } });
52
52
  var claimWindowRewards_1 = require("./instructions/claimWindowRewards");
@@ -3,164 +3,250 @@ import { Connection, Keypair, PublicKey } from "@solana/web3.js";
3
3
  import { Season, SeasonMembership, SeasonSettings, TierNumber } from "../types";
4
4
  import { StandardInstructionResultWithPdas } from "../types/instructionResults";
5
5
  /**
6
- * Options for joinSeason instruction (joining an existing season)
6
+ * Options for createMoonpool instruction (creating a new Moonpool + first join)
7
7
  */
8
- export interface JoinSeasonOptions {
8
+ export interface CreateMoonpoolOptions {
9
9
  connection: Connection;
10
10
  user: PublicKey;
11
11
  seasonNumber: BN;
12
- /** Token mint this season is scoped to (used for PDA derivation). Defaults to MIZD_TOKEN_MINT. */
13
- tokenMint?: PublicKey;
14
12
  /** Tier number: 0=copper, 1=silver, 2=gold, 3=platinum, 4=mithril */
15
13
  tier: TierNumber;
16
14
  /** Optional referrer (PublicKey.default means no referrer) */
17
15
  referrer?: PublicKey;
18
- /** Referrer's tier (required if referrer is provided; must match the tier they joined with) */
19
- referrerTier?: TierNumber;
20
- /** If true, root admin funds join fee + deposit (currently only allowed for tier=0 on-chain). */
16
+ /** If true, root admin funds the SOL for the join. */
21
17
  star?: boolean;
22
- /** If true, join uses launchpad mode (SOL in, virtual tokens escrowed; no SPL token accounts needed). */
23
- launchpad?: boolean;
24
- /** Launchpad slippage cap (lamports). Only used when launchpad=true. Defaults to u64::MAX. */
18
+ /** Hard cap in lamports for slippage protection. */
25
19
  maxSolInLamports?: BN;
26
- /**
27
- * Launchpad slippage ergonomics:
28
- * - Provide `expectedSolInLamports` (your quote) and `maxSlippageBps` and the program will enforce
29
- * `sol_required <= expected * (1 + bps/10_000)`.
30
- * - If both this and `maxSolInLamports` are provided, the program uses the tighter cap.
31
- */
20
+ /** Expected SOL in lamports for bps slippage protection. */
32
21
  expectedSolInLamports?: BN;
33
- /** Max slippage in basis points (0..=10_000). Used only when expectedSolInLamports > 0. */
22
+ /** Max slippage in basis points (0..=5000). */
34
23
  maxSlippageBps?: number;
35
- /**
36
- * Star flag prompt: a short message (max 33 chars) displayed when users raise their flag.
37
- * Only used when initializing a new pool (first join). Ignored when joining existing season.
38
- */
39
- starFlagPrompt?: string;
40
- /**
41
- * Token symbol (max 4 chars, e.g., "MIZD", "USDT", "MOON").
42
- * Only used when initializing a new pool (first join). Ignored when joining existing season.
43
- */
44
- symbol?: string;
45
- /**
46
- * Force generating a new launchpad token mint keypair, even if a moonpool already exists on-chain.
47
- * Use this when creating a NEW Moonpool (i.e., the on-chain moonpool account may exist but was
48
- * never fully initialized, or you want to start fresh with a new token mint).
49
- * Only applies to launchpad mode.
50
- */
51
- forceNewLaunchpadMint?: boolean;
24
+ /** Star flag prompt: a short message (max 33 chars). REQUIRED for new Moonpool. */
25
+ starFlagPrompt: string;
26
+ /** Token symbol (max 4 chars). REQUIRED for new Moonpool. */
27
+ symbol: string;
52
28
  /** Optional injected timestamp (seconds) for optimistic state calculation */
53
29
  now?: BN;
54
30
  feePayer?: PublicKey;
55
31
  currentAccounts?: {
56
32
  seasonSettings?: SeasonSettings;
57
33
  season?: Season;
58
- moonpool?: any;
59
34
  };
60
35
  }
61
- /**
62
- * Options for initializing a new season (first joiner).
63
- * Requires starFlagPrompt and symbol since they will be stored in the pool accounts.
64
- */
65
- export type JoinSeasonAndInitializeOptions = Omit<JoinSeasonOptions, "starFlagPrompt" | "symbol"> & {
66
- /**
67
- * Star flag prompt: a short message (max 33 chars) displayed when users raise their flag.
68
- * REQUIRED when initializing a new pool.
69
- */
70
- starFlagPrompt: string;
71
- /**
72
- * Token symbol (max 4 chars, e.g., "MIZD", "USDT", "MOON").
73
- * REQUIRED when initializing a new pool.
74
- */
75
- symbol: string;
36
+ type CreateMoonpoolPdas = {
37
+ seasonSettings: PublicKey;
38
+ season: PublicKey;
39
+ seasonMembership: PublicKey;
40
+ moonpool: PublicKey;
41
+ moonpoolTreasury: PublicKey;
42
+ launchpadTokenMint: PublicKey;
43
+ };
44
+ type CreateMoonpoolMeta = {
45
+ /** The keypair used for the launchpad mint (always generated for createMoonpool) */
46
+ launchpadTokenMintKeypair: Keypair;
47
+ };
48
+ type CreateMoonpoolUpdatedAccounts = {
49
+ seasonSettings?: SeasonSettings;
50
+ season?: Season;
51
+ seasonMembership?: SeasonMembership;
76
52
  };
77
53
  /**
78
- * Options for the classic (non-launchpad) joinSeason wrapper.
79
- * This avoids exposing nullable optional accounts to app code.
54
+ * Create a new Moonpool and perform the first launchpad join.
55
+ *
56
+ * This instruction:
57
+ * - Creates a new launchpad_token_mint (SPL Token-2022)
58
+ * - Initializes the Moonpool
59
+ * - Initializes the Season (scoped to launchpad_token_mint)
60
+ * - Creates the first SeasonMembership
61
+ *
62
+ * @param options - CreateMoonpool options
63
+ * @returns Instructions, signers, PDAs, and metadata with the generated keypair
80
64
  */
81
- export type JoinSeasonClassicOptions = Omit<JoinSeasonOptions, "launchpad" | "maxSolInLamports" | "expectedSolInLamports" | "maxSlippageBps"> & {
82
- launchpad?: never;
83
- maxSolInLamports?: never;
84
- expectedSolInLamports?: never;
85
- maxSlippageBps?: never;
86
- };
65
+ export declare function createMoonpool(options: CreateMoonpoolOptions): Promise<StandardInstructionResultWithPdas<CreateMoonpoolPdas, CreateMoonpoolUpdatedAccounts, CreateMoonpoolMeta>>;
87
66
  /**
88
- * Options for the launchpad joinSeason wrapper.
89
- * (No SPL token accounts needed; user pays SOL to the pool PDA.)
67
+ * Options for joinMoonpoolSeason instruction (joining an existing Moonpool)
90
68
  */
91
- export type JoinSeasonLaunchpadOptions = Omit<JoinSeasonOptions, "launchpad" | "maxSolInLamports" | "expectedSolInLamports" | "maxSlippageBps"> & {
92
- launchpad?: never;
93
- /** Optional hard cap in lamports (0 disables this cap on-chain). */
69
+ export interface JoinMoonpoolSeasonOptions {
70
+ connection: Connection;
71
+ user: PublicKey;
72
+ seasonNumber: BN;
73
+ /** The launchpad token mint of the Moonpool to join. REQUIRED. */
74
+ launchpadTokenMint: PublicKey;
75
+ /** Tier number: 0=copper, 1=silver, 2=gold, 3=platinum, 4=mithril */
76
+ tier: TierNumber;
77
+ /** Optional referrer (PublicKey.default means no referrer) */
78
+ referrer?: PublicKey;
79
+ /** If true, root admin funds the SOL for the join. */
80
+ star?: boolean;
81
+ /** Hard cap in lamports for slippage protection. */
94
82
  maxSolInLamports?: BN;
95
- /** Optional expected SOL in lamports for bps slippage protection (0 disables on-chain). */
83
+ /** Expected SOL in lamports for bps slippage protection. */
96
84
  expectedSolInLamports?: BN;
97
- /** Optional max slippage bps (0 disables on-chain). */
85
+ /** Max slippage in basis points (0..=5000). */
98
86
  maxSlippageBps?: number;
99
- };
100
- type JoinSeasonPdas = {
87
+ /** Optional injected timestamp (seconds) for optimistic state calculation */
88
+ now?: BN;
89
+ feePayer?: PublicKey;
90
+ currentAccounts?: {
91
+ seasonSettings?: SeasonSettings;
92
+ season?: Season;
93
+ moonpool?: any;
94
+ };
95
+ }
96
+ type JoinMoonpoolSeasonPdas = {
101
97
  seasonSettings: PublicKey;
102
98
  season: PublicKey;
103
99
  seasonMembership: PublicKey;
104
100
  moonpool: PublicKey;
105
101
  moonpoolTreasury: PublicKey;
106
102
  launchpadTokenMint: PublicKey;
103
+ };
104
+ type JoinMoonpoolSeasonUpdatedAccounts = {
105
+ seasonSettings?: SeasonSettings;
106
+ season?: Season;
107
+ seasonMembership?: SeasonMembership;
108
+ };
109
+ /**
110
+ * Join an existing Moonpool season.
111
+ *
112
+ * This instruction:
113
+ * - Requires Moonpool to already exist
114
+ * - Lazily initializes Season if needed (for new seasons with existing Moonpool)
115
+ * - Creates new SeasonMembership
116
+ *
117
+ * @param options - JoinMoonpoolSeason options
118
+ * @returns Instructions, signers, and PDAs
119
+ */
120
+ export declare function joinMoonpoolSeason(options: JoinMoonpoolSeasonOptions): Promise<StandardInstructionResultWithPdas<JoinMoonpoolSeasonPdas, JoinMoonpoolSeasonUpdatedAccounts>>;
121
+ /**
122
+ * Options for joinSunpool instruction (classic mode with MIZD)
123
+ */
124
+ export interface JoinSunpoolOptions {
125
+ connection: Connection;
126
+ user: PublicKey;
127
+ seasonNumber: BN;
128
+ /** Token mint this season is scoped to. Defaults to MIZD_TOKEN_MINT. */
129
+ tokenMint?: PublicKey;
130
+ /** Tier number: 0=copper, 1=silver, 2=gold, 3=platinum, 4=mithril */
131
+ tier: TierNumber;
132
+ /** Optional referrer (PublicKey.default means no referrer) */
133
+ referrer?: PublicKey;
134
+ /** Referrer's tier (required if referrer is provided) */
135
+ referrerTier?: TierNumber;
136
+ /** If true, root admin funds the MIZD for the join. */
137
+ star?: boolean;
138
+ /** Star flag prompt (max 33 chars). Required for first Sunpool initialization. */
139
+ starFlagPrompt?: string;
140
+ /** Token symbol (max 4 chars). Required for first Sunpool initialization. */
141
+ symbol?: string;
142
+ /** Optional injected timestamp (seconds) for optimistic state calculation */
143
+ now?: BN;
144
+ feePayer?: PublicKey;
145
+ currentAccounts?: {
146
+ seasonSettings?: SeasonSettings;
147
+ season?: Season;
148
+ };
149
+ }
150
+ type JoinSunpoolPdas = {
151
+ seasonSettings: PublicKey;
152
+ season: PublicKey;
153
+ seasonMembership: PublicKey;
107
154
  sunpool: PublicKey;
108
155
  seasonDepositVault: PublicKey;
109
156
  userJoinCredit: PublicKey;
110
157
  userJoinCreditVault: PublicKey;
111
158
  };
112
- type JoinSeasonMeta = {
113
- /** The keypair used for the launchpad mint (only set if auto-generated) */
114
- launchpadTokenMintKeypair?: Keypair;
115
- };
116
- type JoinSeasonUpdatedAccounts = {
159
+ type JoinSunpoolUpdatedAccounts = {
117
160
  seasonSettings?: SeasonSettings;
118
161
  season?: Season;
119
162
  seasonMembership?: SeasonMembership;
120
163
  };
121
164
  /**
122
- * Join a season
123
- *
124
- * Signers: user + root admin (root admin pays for signup-rewards vault ATA creation when a referrer is present)
125
- * User pays for season (if needed) and membership accounts
126
- * Transfers active deposit into the season vault; the late-join escrow portion is converted into non-withdrawable join credit
165
+ * Join a Sunpool season (classic mode with MIZD).
127
166
  *
128
- * IMPORTANT: If providing a referrer, you MUST also provide referrerTier.
129
- * The referrerTier must match the tier the referrer actually joined the season with.
130
- * The referrer must have already joined the season before being used as a referrer.
167
+ * This instruction:
168
+ * - Lazily initializes Sunpool if needed
169
+ * - Lazily initializes Season if needed
170
+ * - Creates SeasonMembership
171
+ * - Handles MIZD token transfers and join credit
131
172
  *
132
- * @param options - Join season options
133
- * @returns Instructions, signers, PDAs, and optimistically created/updated accounts
173
+ * @param options - JoinSunpool options
174
+ * @returns Instructions, signers, and PDAs
134
175
  */
135
- export declare function joinSeason(options: JoinSeasonOptions): Promise<StandardInstructionResultWithPdas<JoinSeasonPdas, JoinSeasonUpdatedAccounts, JoinSeasonMeta>>;
176
+ export declare function joinSunpool(options: JoinSunpoolOptions): Promise<StandardInstructionResultWithPdas<JoinSunpoolPdas, JoinSunpoolUpdatedAccounts>>;
136
177
  /**
137
- * Convenience wrapper: classic (non-launchpad) joinSeason.
138
- * - Keeps the existing MIZD-based join behavior.
139
- * - App code never passes nullable optional accounts.
178
+ * Options for the launchpad joinSeason wrapper.
179
+ * This is a convenience alias that routes to createMoonpool or joinMoonpoolSeason.
140
180
  */
141
- export declare function joinSeasonClassic(options: JoinSeasonClassicOptions): Promise<StandardInstructionResultWithPdas<JoinSeasonPdas, JoinSeasonUpdatedAccounts, JoinSeasonMeta>>;
181
+ export type JoinSeasonLaunchpadOptions = {
182
+ connection: Connection;
183
+ user: PublicKey;
184
+ seasonNumber: BN;
185
+ tier: TierNumber;
186
+ referrer?: PublicKey;
187
+ referrerTier?: TierNumber;
188
+ star?: boolean;
189
+ /** Hard cap in lamports for slippage protection. */
190
+ maxSolInLamports?: BN;
191
+ /** Expected SOL in lamports for bps slippage protection. */
192
+ expectedSolInLamports?: BN;
193
+ /** Max slippage in basis points (0..=5000). */
194
+ maxSlippageBps?: number;
195
+ /** Star flag prompt (max 33 chars). REQUIRED for creating new Moonpool. */
196
+ starFlagPrompt?: string;
197
+ /** Token symbol (max 4 chars). REQUIRED for creating new Moonpool. */
198
+ symbol?: string;
199
+ /** Force creating a new Moonpool (generates new launchpadTokenMint keypair). */
200
+ forceNewLaunchpadMint?: boolean;
201
+ now?: BN;
202
+ feePayer?: PublicKey;
203
+ currentAccounts?: {
204
+ seasonSettings?: SeasonSettings;
205
+ season?: Season;
206
+ moonpool?: any;
207
+ };
208
+ };
209
+ type JoinSeasonLaunchpadMeta = {
210
+ launchpadTokenMintKeypair?: Keypair;
211
+ };
142
212
  /**
143
- * Convenience wrapper: launchpad joinSeason.
144
- * - Uses SOL in + virtual token escrow.
145
- * - App code never passes nullable optional accounts.
213
+ * Convenience wrapper for launchpad mode joins.
214
+ *
215
+ * This function automatically determines whether to call:
216
+ * - createMoonpool (if forceNewLaunchpadMint=true or no existing moonpool)
217
+ * - joinMoonpoolSeason (if joining an existing moonpool)
218
+ *
219
+ * @param options - Join options
220
+ * @returns Instructions, signers, PDAs, and metadata
146
221
  */
147
- export declare function joinSeasonLaunchpad(options: JoinSeasonLaunchpadOptions): Promise<StandardInstructionResultWithPdas<JoinSeasonPdas, JoinSeasonUpdatedAccounts, JoinSeasonMeta>>;
222
+ export declare function joinSeasonLaunchpad(options: JoinSeasonLaunchpadOptions): Promise<StandardInstructionResultWithPdas<any, any, JoinSeasonLaunchpadMeta>>;
148
223
  /**
149
- * Join season AND initialize it (first joiner).
150
- * Use this when you know the season doesn't exist yet.
151
- *
152
- * @param options - Options with REQUIRED starFlagPrompt
153
- * @throws Error if starFlagPrompt is empty or exceeds 33 characters
224
+ * Options for the classic (non-launchpad) joinSeason wrapper.
154
225
  */
155
- export declare function joinSeasonAndInitialize(options: JoinSeasonAndInitializeOptions): Promise<StandardInstructionResultWithPdas<JoinSeasonPdas, JoinSeasonUpdatedAccounts, JoinSeasonMeta>>;
226
+ export type JoinSeasonClassicOptions = {
227
+ connection: Connection;
228
+ user: PublicKey;
229
+ seasonNumber: BN;
230
+ tokenMint?: PublicKey;
231
+ tier: TierNumber;
232
+ referrer?: PublicKey;
233
+ referrerTier?: TierNumber;
234
+ star?: boolean;
235
+ starFlagPrompt?: string;
236
+ symbol?: string;
237
+ now?: BN;
238
+ feePayer?: PublicKey;
239
+ currentAccounts?: {
240
+ seasonSettings?: SeasonSettings;
241
+ season?: Season;
242
+ };
243
+ };
156
244
  /**
157
- * Join season AND initialize it in launchpad mode (first joiner).
158
- * Use this when you know the season doesn't exist yet and want launchpad mode.
245
+ * Convenience wrapper for classic (non-launchpad) mode joins.
246
+ * Routes to joinSunpool instruction.
159
247
  *
160
- * @param options - Options with REQUIRED starFlagPrompt
161
- * @throws Error if starFlagPrompt is empty or exceeds 33 characters
248
+ * @param options - Join options
249
+ * @returns Instructions, signers, and PDAs
162
250
  */
163
- export declare function joinSeasonLaunchpadAndInitialize(options: Omit<JoinSeasonLaunchpadOptions, "starFlagPrompt"> & {
164
- starFlagPrompt: string;
165
- }): Promise<StandardInstructionResultWithPdas<JoinSeasonPdas, JoinSeasonUpdatedAccounts, JoinSeasonMeta>>;
251
+ export declare function joinSeasonClassic(options: JoinSeasonClassicOptions): Promise<StandardInstructionResultWithPdas<JoinSunpoolPdas, JoinSunpoolUpdatedAccounts>>;
166
252
  export {};