proof-of-take-sdk 3.1.3 → 4.0.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.
Files changed (57) hide show
  1. package/dist/getters/getSeasonLaunchpadPool.d.ts +31 -0
  2. package/dist/getters/getSeasonLaunchpadPool.js +49 -0
  3. package/dist/getters/index.d.ts +1 -0
  4. package/dist/getters/index.js +1 -0
  5. package/dist/idl/proof_of_take.json +4490 -1674
  6. package/dist/index.d.ts +14 -7
  7. package/dist/index.js +20 -3
  8. package/dist/instructions/buyMizd.d.ts +19 -0
  9. package/dist/instructions/buyMizd.js +41 -0
  10. package/dist/instructions/claimReferralPenaltyForWindow.d.ts +53 -2
  11. package/dist/instructions/claimReferralPenaltyForWindow.js +45 -3
  12. package/dist/instructions/claimSignupRewards.d.ts +30 -0
  13. package/dist/instructions/claimSignupRewards.js +37 -3
  14. package/dist/instructions/claimWindowRewards.d.ts +42 -1
  15. package/dist/instructions/claimWindowRewards.js +47 -3
  16. package/dist/instructions/confirmedPostOnX.d.ts +2 -0
  17. package/dist/instructions/confirmedPostOnX.js +4 -0
  18. package/dist/instructions/createMiztake.d.ts +2 -0
  19. package/dist/instructions/createMiztake.js +4 -0
  20. package/dist/instructions/initializeBondingCurve.d.ts +24 -0
  21. package/dist/instructions/initializeBondingCurve.js +37 -0
  22. package/dist/instructions/initializeRewardWindow.d.ts +2 -0
  23. package/dist/instructions/initializeRewardWindow.js +5 -2
  24. package/dist/instructions/initializeSeasonVault.d.ts +1 -1
  25. package/dist/instructions/initializeSeasonVault.js +3 -2
  26. package/dist/instructions/joinSeason.d.ts +92 -3
  27. package/dist/instructions/joinSeason.js +117 -40
  28. package/dist/instructions/sellMizd.d.ts +19 -0
  29. package/dist/instructions/sellMizd.js +41 -0
  30. package/dist/instructions/viewSeasonMembershipStatus.d.ts +1 -1
  31. package/dist/instructions/viewSeasonMembershipStatus.js +13 -8
  32. package/dist/instructions/withdrawSeasonDeposit.d.ts +2 -0
  33. package/dist/instructions/withdrawSeasonDeposit.js +6 -1
  34. package/dist/optimistic/index.d.ts +1 -0
  35. package/dist/optimistic/index.js +5 -1
  36. package/dist/optimistic/joinSeasonOptimistic.d.ts +31 -0
  37. package/dist/optimistic/joinSeasonOptimistic.js +55 -0
  38. package/dist/types/accountTypes.d.ts +72 -18
  39. package/dist/types/anchorAccounts.d.ts +2 -0
  40. package/dist/types/proof_of_take.d.ts +4471 -1655
  41. package/dist/types.d.ts +10 -2
  42. package/dist/utils/accountConverters.js +7 -1
  43. package/dist/utils/accountUpdates.d.ts +38 -8
  44. package/dist/utils/accountUpdates.js +109 -19
  45. package/dist/utils/constants.d.ts +11 -0
  46. package/dist/utils/constants.js +14 -1
  47. package/dist/utils/pdaManager.d.ts +42 -2
  48. package/dist/utils/pdaManager.js +70 -28
  49. package/dist/utils/pdas.d.ts +46 -8
  50. package/dist/utils/pdas.js +111 -11
  51. package/dist/utils/remainingAccounts.d.ts +1 -0
  52. package/dist/utils/remainingAccounts.js +3 -2
  53. package/dist/utils/seedRegistry.d.ts +10 -0
  54. package/dist/utils/seedRegistry.js +10 -0
  55. package/package.json +1 -1
  56. package/dist/instructions/initializeEscrowVault.d.ts +0 -12
  57. package/dist/instructions/initializeEscrowVault.js +0 -37
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.withdrawSeasonDeposit = withdrawSeasonDeposit;
4
4
  const spl_token_1 = require("@solana/spl-token");
5
+ const web3_js_1 = require("@solana/web3.js");
5
6
  const pdaManager_1 = require("../utils/pdaManager");
6
7
  const constants_1 = require("../utils/constants");
7
8
  const programHelpers_1 = require("../utils/programHelpers");
@@ -20,21 +21,25 @@ const optimistic_1 = require("../optimistic");
20
21
  async function withdrawSeasonDeposit(options) {
21
22
  const program = (0, programHelpers_1.getProgram)(options.connection);
22
23
  const curr = options.currentAccounts || {};
24
+ const tokenMint = options.tokenMint ?? constants_1.MIZD_TOKEN_MINT;
23
25
  const pdas = pdaManager_1.PDAManager.deriveWithdrawDepositPdas({
24
26
  user: options.user,
25
27
  seasonNumber: options.seasonNumber,
26
28
  tier: options.tier,
29
+ tokenMint,
27
30
  });
28
31
  const accounts = {
29
32
  seasonSettings: pdas.seasonSettings,
30
33
  season: pdas.season,
31
34
  seasonMembership: pdas.seasonMembership,
32
35
  seasonDepositVault: pdas.seasonDepositVault,
33
- seasonEscrowVault: pdas.seasonEscrowVault,
34
36
  mizdMint: constants_1.MIZD_TOKEN_MINT,
37
+ tokenMint,
35
38
  userTokenAccount: options.userTokenAccount,
36
39
  user: options.user,
40
+ associatedTokenProgram: spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID,
37
41
  tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
42
+ systemProgram: web3_js_1.SystemProgram.programId,
38
43
  };
39
44
  const instruction = await program.methods
40
45
  .withdrawSeasonDeposit(options.tier)
@@ -5,3 +5,4 @@
5
5
  * Each function mirrors the on-chain logic to predict state changes before confirmation.
6
6
  */
7
7
  export { getCurrentTimestamp, expectedToBeLazyInitialized, createEmptyUserStats, initializeUserStats, updateUserStatsForMiztakeCreation, updateMiztakeStatisticsForCreation, initializeUserWindowParticipation, initializeRewardWindow, updateMiztakeForSeasonUse, initializeSeasonMembership, updateSeasonForJoin, updateWindowForConfirmation, updateParticipationForConfirmation, updateMembershipForConfirmation, updateSeasonForConfirmation, updateWindowForFinalization, updateParticipationForClaim, updateMembershipForClaim, initializeReferralPenaltyClaim, calculateWithdrawalAmount, updateSeasonSettingsForPauseToggle, updateSeasonSettingsForAdminUpdate, } from "../utils/accountUpdates";
8
+ export { computeJoinSeasonOptimistic } from "./joinSeasonOptimistic";
@@ -6,7 +6,7 @@
6
6
  * Each function mirrors the on-chain logic to predict state changes before confirmation.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.updateSeasonSettingsForAdminUpdate = exports.updateSeasonSettingsForPauseToggle = exports.calculateWithdrawalAmount = exports.initializeReferralPenaltyClaim = exports.updateMembershipForClaim = exports.updateParticipationForClaim = exports.updateWindowForFinalization = exports.updateSeasonForConfirmation = exports.updateMembershipForConfirmation = exports.updateParticipationForConfirmation = exports.updateWindowForConfirmation = exports.updateSeasonForJoin = exports.initializeSeasonMembership = exports.updateMiztakeForSeasonUse = exports.initializeRewardWindow = exports.initializeUserWindowParticipation = exports.updateMiztakeStatisticsForCreation = exports.updateUserStatsForMiztakeCreation = exports.initializeUserStats = exports.createEmptyUserStats = exports.expectedToBeLazyInitialized = exports.getCurrentTimestamp = void 0;
9
+ exports.computeJoinSeasonOptimistic = exports.updateSeasonSettingsForAdminUpdate = exports.updateSeasonSettingsForPauseToggle = exports.calculateWithdrawalAmount = exports.initializeReferralPenaltyClaim = exports.updateMembershipForClaim = exports.updateParticipationForClaim = exports.updateWindowForFinalization = exports.updateSeasonForConfirmation = exports.updateMembershipForConfirmation = exports.updateParticipationForConfirmation = exports.updateWindowForConfirmation = exports.updateSeasonForJoin = exports.initializeSeasonMembership = exports.updateMiztakeForSeasonUse = exports.initializeRewardWindow = exports.initializeUserWindowParticipation = exports.updateMiztakeStatisticsForCreation = exports.updateUserStatsForMiztakeCreation = exports.initializeUserStats = exports.createEmptyUserStats = exports.expectedToBeLazyInitialized = exports.getCurrentTimestamp = void 0;
10
10
  // Re-export all optimistic update functions from accountUpdates
11
11
  // This provides a cleaner separation of concerns
12
12
  var accountUpdates_1 = require("../utils/accountUpdates");
@@ -20,6 +20,8 @@ Object.defineProperty(exports, "initializeUserWindowParticipation", { enumerable
20
20
  Object.defineProperty(exports, "initializeRewardWindow", { enumerable: true, get: function () { return accountUpdates_1.initializeRewardWindow; } });
21
21
  Object.defineProperty(exports, "updateMiztakeForSeasonUse", { enumerable: true, get: function () { return accountUpdates_1.updateMiztakeForSeasonUse; } });
22
22
  Object.defineProperty(exports, "initializeSeasonMembership", { enumerable: true, get: function () { return accountUpdates_1.initializeSeasonMembership; } });
23
+ // Join season optimistic helper (extracted for readability)
24
+ // (kept in optimistic/ to avoid instruction files duplicating time math)
23
25
  Object.defineProperty(exports, "updateSeasonForJoin", { enumerable: true, get: function () { return accountUpdates_1.updateSeasonForJoin; } });
24
26
  Object.defineProperty(exports, "updateWindowForConfirmation", { enumerable: true, get: function () { return accountUpdates_1.updateWindowForConfirmation; } });
25
27
  Object.defineProperty(exports, "updateParticipationForConfirmation", { enumerable: true, get: function () { return accountUpdates_1.updateParticipationForConfirmation; } });
@@ -32,3 +34,5 @@ Object.defineProperty(exports, "initializeReferralPenaltyClaim", { enumerable: t
32
34
  Object.defineProperty(exports, "calculateWithdrawalAmount", { enumerable: true, get: function () { return accountUpdates_1.calculateWithdrawalAmount; } });
33
35
  Object.defineProperty(exports, "updateSeasonSettingsForPauseToggle", { enumerable: true, get: function () { return accountUpdates_1.updateSeasonSettingsForPauseToggle; } });
34
36
  Object.defineProperty(exports, "updateSeasonSettingsForAdminUpdate", { enumerable: true, get: function () { return accountUpdates_1.updateSeasonSettingsForAdminUpdate; } });
37
+ var joinSeasonOptimistic_1 = require("./joinSeasonOptimistic");
38
+ Object.defineProperty(exports, "computeJoinSeasonOptimistic", { enumerable: true, get: function () { return joinSeasonOptimistic_1.computeJoinSeasonOptimistic; } });
@@ -0,0 +1,31 @@
1
+ import { BN } from "@coral-xyz/anchor";
2
+ import { PublicKey } from "@solana/web3.js";
3
+ import type { Season, SeasonMembership, SeasonSettings, TierNumber } from "../types";
4
+ export type JoinSeasonOptimisticResult = {
5
+ kind: "skip";
6
+ } | {
7
+ kind: "ok";
8
+ newSeasonMembership: SeasonMembership;
9
+ updatedSeason?: Season;
10
+ /** Portion of the full deposit that is converted into join credit (non-withdrawable). */
11
+ lateJoinCreditLocked: BN;
12
+ /** Portion of the full deposit that is active in the season. */
13
+ depositActive: BN;
14
+ joinedWindowNumber: BN;
15
+ };
16
+ /**
17
+ * Mirrors the on-chain join window calculation and deposit breakdown for optimistic updates.
18
+ *
19
+ * Note: the "late join" portion is NOT escrow anymore; it becomes join credit (pending).
20
+ */
21
+ export declare function computeJoinSeasonOptimistic(params: {
22
+ user: PublicKey;
23
+ seasonNumber: BN;
24
+ tier: TierNumber;
25
+ referrer: PublicKey;
26
+ tokenMint: PublicKey;
27
+ now: BN;
28
+ star: boolean;
29
+ seasonSettings: SeasonSettings;
30
+ season?: Season;
31
+ }): JoinSeasonOptimisticResult;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.computeJoinSeasonOptimistic = computeJoinSeasonOptimistic;
4
+ const anchor_1 = require("@coral-xyz/anchor");
5
+ const types_1 = require("../types");
6
+ const pdas_1 = require("../utils/pdas");
7
+ const tierPenalty_1 = require("../utils/tierPenalty");
8
+ const enumHelpers_1 = require("../utils/enumHelpers");
9
+ const accountUpdates_1 = require("../utils/accountUpdates");
10
+ /**
11
+ * Mirrors the on-chain join window calculation and deposit breakdown for optimistic updates.
12
+ *
13
+ * Note: the "late join" portion is NOT escrow anymore; it becomes join credit (pending).
14
+ */
15
+ function computeJoinSeasonOptimistic(params) {
16
+ const [, bump] = (0, pdas_1.getSeasonMembershipPda)(params.seasonNumber, params.user, params.tier, params.tokenMint);
17
+ // Mirror on-chain:
18
+ // current_window = (now - season.started_at) / window_duration (integer division)
19
+ // joined_window_number = current_window (after bounds checks)
20
+ const totalWindows = params.seasonSettings.totalWindowsPerSeason;
21
+ const depositTier = (0, tierPenalty_1.tierNumberToDepositTier)(params.tier);
22
+ const perWindowPenalty = (0, tierPenalty_1.getTierPenaltyPerWindow)(depositTier);
23
+ const depositFull = perWindowPenalty.muln(totalWindows);
24
+ let joinedWindowNumber = new anchor_1.BN(0);
25
+ if (params.season) {
26
+ if ((0, enumHelpers_1.isSeasonState)(params.season.seasonState, types_1.SeasonState.Uninitialized)) {
27
+ // On-chain: season is initialized with started_at = now, so elapsed = 0 -> current_window = 0
28
+ joinedWindowNumber = new anchor_1.BN(0);
29
+ }
30
+ else if (params.seasonSettings.windowDuration &&
31
+ !params.seasonSettings.windowDuration.isZero()) {
32
+ const startedAt = params.season.startedAt;
33
+ const elapsed = params.now.gte(startedAt) ? params.now.sub(startedAt) : new anchor_1.BN(0);
34
+ joinedWindowNumber = elapsed.div(params.seasonSettings.windowDuration);
35
+ }
36
+ }
37
+ // If this would fail on-chain (current_window >= total_windows), skip optimistic updates.
38
+ if (joinedWindowNumber.gte(new anchor_1.BN(totalWindows))) {
39
+ return { kind: "skip" };
40
+ }
41
+ const lateJoinCreditLocked = perWindowPenalty.mul(joinedWindowNumber);
42
+ const depositActive = depositFull.sub(lateJoinCreditLocked);
43
+ const newSeasonMembership = (0, accountUpdates_1.initializeSeasonMembership)(params.user, params.seasonNumber, depositTier, params.referrer, depositActive, params.now, joinedWindowNumber, bump, params.star);
44
+ const updatedSeason = params.season
45
+ ? (0, accountUpdates_1.updateSeasonForJoin)(params.season, depositActive, depositTier, joinedWindowNumber, totalWindows)
46
+ : undefined;
47
+ const base = {
48
+ kind: "ok",
49
+ newSeasonMembership,
50
+ lateJoinCreditLocked,
51
+ depositActive,
52
+ joinedWindowNumber,
53
+ };
54
+ return updatedSeason ? { ...base, updatedSeason } : base;
55
+ }
@@ -12,6 +12,7 @@ export interface CreateMiztakeAccounts {
12
12
  seasonMembership: PublicKey;
13
13
  rewardWindow: PublicKey;
14
14
  userWindowParticipation: PublicKey;
15
+ tokenMint: PublicKey;
15
16
  user: PublicKey;
16
17
  admin: PublicKey;
17
18
  systemProgram: PublicKey;
@@ -24,13 +25,7 @@ export interface InitializeSeasonSettingsAccounts {
24
25
  export interface InitializeSeasonVaultAccounts {
25
26
  seasonDepositVault: PublicKey;
26
27
  mizdMint: PublicKey;
27
- admin: PublicKey;
28
- tokenProgram: PublicKey;
29
- systemProgram: PublicKey;
30
- }
31
- export interface InitializeEscrowVaultAccounts {
32
- seasonEscrowVault: PublicKey;
33
- mizdMint: PublicKey;
28
+ tokenMint: PublicKey;
34
29
  admin: PublicKey;
35
30
  tokenProgram: PublicKey;
36
31
  systemProgram: PublicKey;
@@ -39,6 +34,7 @@ export interface InitializeRewardWindowAccounts {
39
34
  seasonSettings: PublicKey;
40
35
  season: PublicKey;
41
36
  rewardWindow: PublicKey;
37
+ tokenMint: PublicKey;
42
38
  admin: PublicKey;
43
39
  systemProgram: PublicKey;
44
40
  }
@@ -52,15 +48,24 @@ export interface JoinSeasonAccounts {
52
48
  seasonSettings: PublicKey;
53
49
  season: PublicKey;
54
50
  seasonMembership: PublicKey;
55
- seasonDepositVault: PublicKey;
56
- seasonEscrowVault: PublicKey;
51
+ moonpool: PublicKey;
52
+ moonpoolTreasury: PublicKey;
53
+ /** SPL Token-2022 mint for launchpad tokens. Mint authority is the Moonpool PDA. */
54
+ launchpadTokenMint: PublicKey;
55
+ sunpool: PublicKey;
56
+ seasonDepositVault: PublicKey | null;
57
+ userJoinCredit: PublicKey | null;
58
+ userJoinCreditVault: PublicKey | null;
57
59
  mizdMint: PublicKey;
60
+ tokenMint: PublicKey;
58
61
  rootAdmin: PublicKey;
59
- rootAdminTokenAccount: PublicKey;
60
- userTokenAccount: PublicKey;
62
+ rootAdminTokenAccount: PublicKey | null;
63
+ userTokenAccount: PublicKey | null;
61
64
  user: PublicKey;
62
65
  associatedTokenProgram: PublicKey;
63
66
  tokenProgram: PublicKey;
67
+ /** Token-2022 program for the launchpad token mint. */
68
+ token2022Program: PublicKey;
64
69
  systemProgram: PublicKey;
65
70
  }
66
71
  export interface ConfirmedPostOnXAccounts {
@@ -69,6 +74,7 @@ export interface ConfirmedPostOnXAccounts {
69
74
  season: PublicKey;
70
75
  rewardWindow: PublicKey;
71
76
  userWindowParticipation: PublicKey;
77
+ tokenMint: PublicKey;
72
78
  miztake: PublicKey;
73
79
  admin: PublicKey;
74
80
  }
@@ -78,11 +84,16 @@ export interface ClaimWindowRewardsAccounts {
78
84
  rewardWindow: PublicKey;
79
85
  userWindowParticipation: PublicKey;
80
86
  seasonMembership: PublicKey;
81
- seasonDepositVault: PublicKey;
87
+ moonpool: PublicKey | null;
88
+ moonpoolTreasury: PublicKey | null;
89
+ seasonDepositVault: PublicKey | null;
82
90
  mizdMint: PublicKey;
83
- userTokenAccount: PublicKey;
91
+ tokenMint: PublicKey;
92
+ userTokenAccount: PublicKey | null;
84
93
  user: PublicKey;
94
+ associatedTokenProgram: PublicKey;
85
95
  tokenProgram: PublicKey;
96
+ systemProgram: PublicKey;
86
97
  }
87
98
  export interface ClaimReferralPenaltyForWindowAccounts {
88
99
  seasonSettings: PublicKey;
@@ -90,19 +101,27 @@ export interface ClaimReferralPenaltyForWindowAccounts {
90
101
  seasonMembership: PublicKey;
91
102
  userWindowParticipation: PublicKey;
92
103
  referralPenaltyClaim: PublicKey;
93
- seasonDepositVault: PublicKey;
104
+ moonpool: PublicKey | null;
105
+ moonpoolTreasury: PublicKey | null;
106
+ seasonDepositVault: PublicKey | null;
94
107
  mizdMint: PublicKey;
95
- recipientTokenAccount: PublicKey;
108
+ tokenMint: PublicKey;
109
+ recipientTokenAccount: PublicKey | null;
96
110
  claimant: PublicKey;
111
+ associatedTokenProgram: PublicKey;
97
112
  tokenProgram: PublicKey;
98
113
  systemProgram: PublicKey;
99
114
  }
100
115
  export interface ClaimSignupRewardsAccounts {
101
116
  seasonMembership: PublicKey;
117
+ season: PublicKey;
118
+ moonpool: PublicKey | null;
119
+ moonpoolTreasury: PublicKey | null;
102
120
  signupRewardsPda: PublicKey;
103
- signupRewardsMizdAta: PublicKey;
121
+ signupRewardsMizdAta: PublicKey | null;
104
122
  mizdMint: PublicKey;
105
- userMizdAta: PublicKey;
123
+ tokenMint: PublicKey;
124
+ userMizdAta: PublicKey | null;
106
125
  user: PublicKey;
107
126
  associatedTokenProgram: PublicKey;
108
127
  tokenProgram: PublicKey;
@@ -113,11 +132,13 @@ export interface WithdrawSeasonDepositAccounts {
113
132
  season: PublicKey;
114
133
  seasonMembership: PublicKey;
115
134
  seasonDepositVault: PublicKey;
116
- seasonEscrowVault: PublicKey;
117
135
  mizdMint: PublicKey;
136
+ tokenMint: PublicKey;
118
137
  userTokenAccount: PublicKey;
119
138
  user: PublicKey;
139
+ associatedTokenProgram: PublicKey;
120
140
  tokenProgram: PublicKey;
141
+ systemProgram: PublicKey;
121
142
  }
122
143
  export interface ToggleSeasonPauseAccounts {
123
144
  seasonSettings: PublicKey;
@@ -131,6 +152,7 @@ export interface ViewSeasonMembershipStatusAccounts {
131
152
  seasonSettings: PublicKey;
132
153
  season: PublicKey;
133
154
  seasonMembership: PublicKey;
155
+ tokenMint: PublicKey;
134
156
  }
135
157
  export interface ViewWindowStatusAccounts {
136
158
  rewardWindow: PublicKey;
@@ -139,3 +161,35 @@ export interface ViewCurrentSeasonAccounts {
139
161
  seasonSettings: PublicKey;
140
162
  season: PublicKey;
141
163
  }
164
+ export interface InitializeBondingCurveAccounts {
165
+ bondingCurve: PublicKey;
166
+ mizdVault: PublicKey;
167
+ mizdMint: PublicKey;
168
+ admin: PublicKey;
169
+ adminMizdAta: PublicKey;
170
+ associatedTokenProgram: PublicKey;
171
+ tokenProgram: PublicKey;
172
+ systemProgram: PublicKey;
173
+ }
174
+ export interface BuyMizdAccounts {
175
+ bondingCurve: PublicKey;
176
+ mizdVault: PublicKey;
177
+ mizdMint: PublicKey;
178
+ admin: PublicKey;
179
+ user: PublicKey;
180
+ userMizdAta: PublicKey;
181
+ associatedTokenProgram: PublicKey;
182
+ tokenProgram: PublicKey;
183
+ systemProgram: PublicKey;
184
+ }
185
+ export interface SellMizdAccounts {
186
+ bondingCurve: PublicKey;
187
+ mizdVault: PublicKey;
188
+ mizdMint: PublicKey;
189
+ admin: PublicKey;
190
+ user: PublicKey;
191
+ userMizdAta: PublicKey;
192
+ associatedTokenProgram: PublicKey;
193
+ tokenProgram: PublicKey;
194
+ systemProgram: PublicKey;
195
+ }
@@ -16,3 +16,5 @@ export type AnchorSeasonMembership = ProofOfTakeIdlAccounts["seasonMembership"];
16
16
  export type AnchorRewardWindow = ProofOfTakeIdlAccounts["rewardWindow"];
17
17
  export type AnchorUserWindowParticipation = ProofOfTakeIdlAccounts["userWindowParticipation"];
18
18
  export type AnchorReferralPenaltyClaim = ProofOfTakeIdlAccounts["referralPenaltyClaim"];
19
+ export type AnchorMoonpool = ProofOfTakeIdlAccounts["moonpool"];
20
+ export type AnchorSunpool = ProofOfTakeIdlAccounts["sunpool"];