proof-of-take-sdk 3.0.9 → 3.0.11

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
@@ -20,6 +20,8 @@ export { claimWindowRewards } from "./instructions/claimWindowRewards";
20
20
  export type { ClaimWindowRewardsOptions } from "./instructions/claimWindowRewards";
21
21
  export { claimReferralPenaltyForWindow } from "./instructions/claimReferralPenaltyForWindow";
22
22
  export type { ClaimReferralPenaltyForWindowOptions } from "./instructions/claimReferralPenaltyForWindow";
23
+ export { claimSignupRewards } from "./instructions/claimSignupRewards";
24
+ export type { ClaimSignupRewardsOptions } from "./instructions/claimSignupRewards";
23
25
  export { withdrawSeasonDeposit } from "./instructions/withdrawSeasonDeposit";
24
26
  export type { WithdrawSeasonDepositOptions } from "./instructions/withdrawSeasonDeposit";
25
27
  export { initializeRewardWindow } from "./instructions/initializeRewardWindow";
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.withdrawSeasonDeposit = exports.claimReferralPenaltyForWindow = exports.claimWindowRewards = exports.confirmedPostOnX = exports.joinSeason = exports.initializeEscrowVault = 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.withdrawSeasonDeposit = exports.claimSignupRewards = exports.claimReferralPenaltyForWindow = exports.claimWindowRewards = exports.confirmedPostOnX = exports.joinSeason = exports.initializeEscrowVault = 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
@@ -51,6 +51,8 @@ var claimWindowRewards_1 = require("./instructions/claimWindowRewards");
51
51
  Object.defineProperty(exports, "claimWindowRewards", { enumerable: true, get: function () { return claimWindowRewards_1.claimWindowRewards; } });
52
52
  var claimReferralPenaltyForWindow_1 = require("./instructions/claimReferralPenaltyForWindow");
53
53
  Object.defineProperty(exports, "claimReferralPenaltyForWindow", { enumerable: true, get: function () { return claimReferralPenaltyForWindow_1.claimReferralPenaltyForWindow; } });
54
+ var claimSignupRewards_1 = require("./instructions/claimSignupRewards");
55
+ Object.defineProperty(exports, "claimSignupRewards", { enumerable: true, get: function () { return claimSignupRewards_1.claimSignupRewards; } });
54
56
  var withdrawSeasonDeposit_1 = require("./instructions/withdrawSeasonDeposit");
55
57
  Object.defineProperty(exports, "withdrawSeasonDeposit", { enumerable: true, get: function () { return withdrawSeasonDeposit_1.withdrawSeasonDeposit; } });
56
58
  // Season admin instructions
@@ -0,0 +1,28 @@
1
+ import { BN } from "@coral-xyz/anchor";
2
+ import { Connection, PublicKey } from "@solana/web3.js";
3
+ import { TierNumber } from "../types";
4
+ import { StandardInstructionResultWithPdas } from "../types/instructionResults";
5
+ type ClaimSignupRewardsPdas = {
6
+ seasonMembership: PublicKey;
7
+ signupRewardsPda: PublicKey;
8
+ };
9
+ /**
10
+ * Options for claimSignupRewards instruction
11
+ */
12
+ export interface ClaimSignupRewardsOptions {
13
+ connection: Connection;
14
+ user: PublicKey;
15
+ seasonNumber: BN;
16
+ /** Tier number: 0=copper, 1=silver, 2=gold, 3=platinum, 4=mithril */
17
+ tier: TierNumber;
18
+ feePayer?: PublicKey;
19
+ }
20
+ /**
21
+ * Claim signup referral rewards accrued for a SeasonMembership.
22
+ *
23
+ * Single signer: user
24
+ * Transfers accumulated MIZD from the per-(user, season) signup rewards vault ATA to the user's MIZD ATA.
25
+ * User pays only for creating their own MIZD ATA (if missing).
26
+ */
27
+ export declare function claimSignupRewards(options: ClaimSignupRewardsOptions): Promise<StandardInstructionResultWithPdas<ClaimSignupRewardsPdas, never>>;
28
+ export {};
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.claimSignupRewards = claimSignupRewards;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ const spl_token_1 = require("@solana/spl-token");
6
+ const pdaManager_1 = require("../utils/pdaManager");
7
+ const constants_1 = require("../utils/constants");
8
+ const programHelpers_1 = require("../utils/programHelpers");
9
+ const signerHelpers_1 = require("../utils/signerHelpers");
10
+ /**
11
+ * Claim signup referral rewards accrued for a SeasonMembership.
12
+ *
13
+ * Single signer: user
14
+ * Transfers accumulated MIZD from the per-(user, season) signup rewards vault ATA to the user's MIZD ATA.
15
+ * User pays only for creating their own MIZD ATA (if missing).
16
+ */
17
+ async function claimSignupRewards(options) {
18
+ const program = (0, programHelpers_1.getProgram)(options.connection);
19
+ const pdas = pdaManager_1.PDAManager.deriveClaimSignupRewardsPdas({
20
+ user: options.user,
21
+ seasonNumber: options.seasonNumber,
22
+ tier: options.tier,
23
+ });
24
+ // IMPORTANT: PDA owners are off-curve; allowOwnerOffCurve must be true.
25
+ const signupRewardsMizdAta = (0, spl_token_1.getAssociatedTokenAddressSync)(constants_1.MIZD_TOKEN_MINT, pdas.signupRewardsPda, true);
26
+ const userMizdAta = (0, spl_token_1.getAssociatedTokenAddressSync)(constants_1.MIZD_TOKEN_MINT, options.user);
27
+ const accounts = {
28
+ seasonMembership: pdas.seasonMembership,
29
+ signupRewardsPda: pdas.signupRewardsPda,
30
+ signupRewardsMizdAta,
31
+ mizdMint: constants_1.MIZD_TOKEN_MINT,
32
+ userMizdAta,
33
+ user: options.user,
34
+ associatedTokenProgram: spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID,
35
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
36
+ systemProgram: web3_js_1.SystemProgram.programId,
37
+ };
38
+ const instruction = await program.methods
39
+ .claimSignupRewards(options.seasonNumber, options.tier)
40
+ .accounts(accounts)
41
+ .instruction();
42
+ const feePayer = (0, signerHelpers_1.getDefaultFeePayer)(options.feePayer);
43
+ const signers = (0, signerHelpers_1.buildSigners)([(0, signerHelpers_1.asUserSigner)(options.user)], feePayer);
44
+ return {
45
+ instructions: [instruction],
46
+ signers,
47
+ pdas,
48
+ };
49
+ }
@@ -37,7 +37,7 @@ type JoinSeasonUpdatedAccounts = {
37
37
  /**
38
38
  * Join a season
39
39
  *
40
- * Single signer: user (pays for accounts and transfers full tier deposit)
40
+ * Signers: user + root admin (root admin pays for signup-rewards vault ATA creation when a referrer is present)
41
41
  * User pays for season (if needed) and membership accounts
42
42
  * Transfers full tier deposit from user to vault, then escrows the pre-join portion
43
43
  *
@@ -17,7 +17,7 @@ const remainingAccounts_1 = require("../utils/remainingAccounts");
17
17
  /**
18
18
  * Join a season
19
19
  *
20
- * Single signer: user (pays for accounts and transfers full tier deposit)
20
+ * Signers: user + root admin (root admin pays for signup-rewards vault ATA creation when a referrer is present)
21
21
  * User pays for season (if needed) and membership accounts
22
22
  * Transfers full tier deposit from user to vault, then escrows the pre-join portion
23
23
  *
@@ -62,7 +62,7 @@ async function joinSeason(options) {
62
62
  }
63
63
  const instruction = await methodBuilder.instruction();
64
64
  const feePayer = (0, signerHelpers_1.getDefaultFeePayer)(options.feePayer);
65
- const signers = (0, signerHelpers_1.buildSigners)([(0, signerHelpers_1.asUserSigner)(options.user)], feePayer);
65
+ const signers = (0, signerHelpers_1.buildSigners)([(0, signerHelpers_1.asAdminSigner)(constants_1.ADMIN_PUBLIC_KEY), (0, signerHelpers_1.asUserSigner)(options.user)], feePayer);
66
66
  // OPTIMISTIC UPDATES
67
67
  const curr = options.currentAccounts || {};
68
68
  const now = (0, optimistic_1.getCurrentTimestamp)(options.now);
@@ -97,6 +97,17 @@ export interface ClaimReferralPenaltyForWindowAccounts {
97
97
  tokenProgram: PublicKey;
98
98
  systemProgram: PublicKey;
99
99
  }
100
+ export interface ClaimSignupRewardsAccounts {
101
+ seasonMembership: PublicKey;
102
+ signupRewardsPda: PublicKey;
103
+ signupRewardsMizdAta: PublicKey;
104
+ mizdMint: PublicKey;
105
+ userMizdAta: PublicKey;
106
+ user: PublicKey;
107
+ associatedTokenProgram: PublicKey;
108
+ tokenProgram: PublicKey;
109
+ systemProgram: PublicKey;
110
+ }
100
111
  export interface WithdrawSeasonDepositAccounts {
101
112
  seasonSettings: PublicKey;
102
113
  season: PublicKey;