@triadxyz/triad-protocol 0.1.7-beta → 0.1.9-beta

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.js CHANGED
@@ -73,7 +73,8 @@ class TriadProtocolClient {
73
73
  referral: referralPDA
74
74
  })
75
75
  .accounts({
76
- signer: wallet
76
+ signer: wallet,
77
+ referral: referralPDA
77
78
  });
78
79
  if (options === null || options === void 0 ? void 0 : options.microLamports) {
79
80
  method.postInstructions([
package/dist/stake.d.ts CHANGED
@@ -2,7 +2,7 @@ import { AnchorProvider, Program } from '@coral-xyz/anchor';
2
2
  import { PublicKey } from '@solana/web3.js';
3
3
  import { TriadProtocol } from './types/triad_protocol';
4
4
  import { RpcOptions } from './types';
5
- import { DepositStakeRewardsArgs, InitializeStakeArgs, StakeNftArgs, RequestWithdrawArgs, WithdrawArgs, StakeResponse, UpdateStakeVaultStatusArgs, ClaimStakeRewardsArgs, StakeTokenArgs, MigrateStakeArgs } from './types/stake';
5
+ import { DepositStakeRewardsArgs, InitializeStakeArgs, StakeNftArgs, RequestWithdrawArgs, WithdrawArgs, StakeResponse, UpdateStakeVaultStatusArgs, ClaimStakeRewardsArgs, StakeTokenArgs } from './types/stake';
6
6
  export default class Stake {
7
7
  program: Program<TriadProtocol>;
8
8
  provider: AnchorProvider;
@@ -49,12 +49,12 @@ export default class Stake {
49
49
  getStakesByDay(stakeVault: string, day: number): Promise<StakeResponse[]>;
50
50
  /**
51
51
  * Stake NFT
52
- * @param name - NFT name
53
- * @param wallet - User wallet
54
52
  * @param mint - NFT mint
53
+ * @param stakeVault - Name of the stake vault
54
+ * @param items - NFT items
55
55
  *
56
56
  */
57
- stakeNft({ name, wallet, mint, stakeVault }: StakeNftArgs, options?: RpcOptions): Promise<string>;
57
+ stakeNft({ wallet, stakeVault, items }: StakeNftArgs, options?: RpcOptions): Promise<string>;
58
58
  /**
59
59
  * Stake NFT
60
60
  * @param wallet - User wallet
@@ -115,12 +115,4 @@ export default class Stake {
115
115
  *
116
116
  */
117
117
  claimStakeRewards({ wallet, mint, stakeVault, nftName }: ClaimStakeRewardsArgs, options?: RpcOptions): Promise<string>;
118
- /**
119
- * Migrate Stake
120
- * @param name - NFT name
121
- * @param wallet - User wallet
122
- * @param mint - NFT mint
123
- *
124
- */
125
- migrateStake({ name, wallet, mint, stakeVault }: MigrateStakeArgs, options?: RpcOptions): Promise<string>;
126
118
  }
package/dist/stake.js CHANGED
@@ -44,16 +44,11 @@ class Stake {
44
44
  */
45
45
  getStakes(stakeVault) {
46
46
  return __awaiter(this, void 0, void 0, function* () {
47
- const response1 = yield this.program.account.stake.all();
48
47
  const response = yield this.program.account.stakeV2.all();
49
48
  const StakeVault = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
50
- const data = response
49
+ return response
51
50
  .filter((item) => item.account.stakeVault.toBase58() === StakeVault.toBase58())
52
51
  .map((stake) => (0, helpers_1.formatStake)(stake.account));
53
- const data1 = response1
54
- .filter((item) => item.account.stakeVault.toBase58() === StakeVault.toBase58())
55
- .map((stake) => (0, helpers_1.formatStake)(stake.account));
56
- return [...data, ...data1];
57
52
  });
58
53
  }
59
54
  /**
@@ -116,36 +111,48 @@ class Stake {
116
111
  }
117
112
  /**
118
113
  * Stake NFT
119
- * @param name - NFT name
120
- * @param wallet - User wallet
121
114
  * @param mint - NFT mint
115
+ * @param stakeVault - Name of the stake vault
116
+ * @param items - NFT items
122
117
  *
123
118
  */
124
- stakeNft({ name, wallet, mint, stakeVault }, options) {
119
+ stakeNft({ wallet, stakeVault, items }, options) {
125
120
  return __awaiter(this, void 0, void 0, function* () {
126
121
  const StakeVault = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
127
- const FromAta = (0, helpers_1.getATASync)(wallet, mint);
128
- const ToAta = (0, helpers_1.getATASync)(StakeVault, mint);
129
- let items = [];
130
- const method = this.program.methods
131
- .stakeNft({
132
- name,
133
- stakeVault
134
- })
135
- .accounts({
136
- signer: wallet,
137
- toAta: ToAta,
138
- fromAta: FromAta,
139
- mint: mint
140
- });
122
+ let ixs = [];
123
+ for (let i = 0; i < items.length; i++) {
124
+ let item = items[i];
125
+ const FromAta = (0, helpers_1.getATASync)(wallet, item.mint);
126
+ const ToAta = (0, helpers_1.getATASync)(StakeVault, item.mint);
127
+ ixs.push(yield this.program.methods
128
+ .stakeNft({
129
+ name: item.name,
130
+ stakeVault
131
+ })
132
+ .accounts({
133
+ signer: wallet,
134
+ toAta: ToAta,
135
+ fromAta: FromAta,
136
+ mint: item.mint
137
+ })
138
+ .instruction());
139
+ }
141
140
  if (options === null || options === void 0 ? void 0 : options.microLamports) {
142
- method.postInstructions([
143
- web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
144
- microLamports: options.microLamports
145
- })
146
- ]);
141
+ ixs.push(web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
142
+ microLamports: options.microLamports
143
+ }));
147
144
  }
148
- return method.rpc({ skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight });
145
+ const { blockhash } = yield this.provider.connection.getLatestBlockhash();
146
+ const messageV0 = new web3_js_1.TransactionMessage({
147
+ instructions: ixs,
148
+ recentBlockhash: blockhash,
149
+ payerKey: wallet
150
+ }).compileToV0Message();
151
+ const tx = new web3_js_1.VersionedTransaction(messageV0);
152
+ return this.provider.sendAndConfirm(tx, [], {
153
+ skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight,
154
+ commitment: 'confirmed'
155
+ });
149
156
  });
150
157
  }
151
158
  /**
@@ -368,37 +375,5 @@ class Stake {
368
375
  return method.rpc({ skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight });
369
376
  });
370
377
  }
371
- /**
372
- * Migrate Stake
373
- * @param name - NFT name
374
- * @param wallet - User wallet
375
- * @param mint - NFT mint
376
- *
377
- */
378
- migrateStake({ name, wallet, mint, stakeVault }, options) {
379
- return __awaiter(this, void 0, void 0, function* () {
380
- const stakeV1 = (0, helpers_1.getStakeV1AddressSync)(this.program.programId, name);
381
- const NFTRewards = (0, helpers_1.getNFTRewardsAddressSync)(this.program.programId, stakeV1);
382
- const method = this.program.methods
383
- .migrateStake({
384
- name,
385
- stakeVault
386
- })
387
- .accounts({
388
- signer: wallet,
389
- stakeV1,
390
- nftRewards: NFTRewards,
391
- mint: mint
392
- });
393
- if (options === null || options === void 0 ? void 0 : options.microLamports) {
394
- method.postInstructions([
395
- web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
396
- microLamports: options.microLamports
397
- })
398
- ]);
399
- }
400
- return method.rpc({ skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight });
401
- });
402
- }
403
378
  }
404
379
  exports.default = Stake;
package/dist/test.js CHANGED
@@ -23,22 +23,10 @@ const keypair = web3_js_1.Keypair.fromSecretKey(new Uint8Array(JSON.parse(file.t
23
23
  const connection = new web3_js_1.Connection(rpc_file.toString(), 'confirmed');
24
24
  const wallet = new anchor_1.Wallet(keypair);
25
25
  const triadProtocol = new index_1.default(connection, wallet);
26
- const requestWithdraw = () => __awaiter(void 0, void 0, void 0, function* () {
27
- const response = yield triadProtocol.stake.requestWithdraw({
28
- wallet: wallet.publicKey,
29
- name: 'Triad 873',
30
- mint: new web3_js_1.PublicKey('FnLsRRfs7Ghhiwybr7fzZhFyfQEKQbxCJMtLghjiKLHy'),
31
- stakeVault: constants_1.STAKE_SEASON
32
- }, {
33
- microLamports: 10000,
34
- skipPreflight: true
35
- });
36
- console.log(response);
37
- });
38
26
  const updateStakeVaultStatus = () => __awaiter(void 0, void 0, void 0, function* () {
39
27
  const response = yield triadProtocol.stake.updateStakeVaultStatus({
40
28
  wallet: wallet.publicKey,
41
- isLocked: true,
29
+ isLocked: false,
42
30
  week: 4,
43
31
  stakeVault: constants_1.STAKE_SEASON
44
32
  }, {
@@ -47,66 +35,23 @@ const updateStakeVaultStatus = () => __awaiter(void 0, void 0, void 0, function*
47
35
  });
48
36
  console.log(response);
49
37
  });
50
- const withdraw = () => __awaiter(void 0, void 0, void 0, function* () {
51
- const response = yield triadProtocol.stake.withdrawStake({
52
- wallet: wallet.publicKey,
53
- name: 'Triad 2807',
54
- mint: new web3_js_1.PublicKey('A4fu2s6bCbKAveVgACkxpMgtJUHqoRJsTyzRp1Jp8nuE'),
55
- stakeVault: constants_1.STAKE_SEASON
56
- }, {
57
- microLamports: 10000,
58
- skipPreflight: true
59
- });
60
- console.log(response);
61
- });
38
+ updateStakeVaultStatus();
62
39
  const getStake = () => __awaiter(void 0, void 0, void 0, function* () {
63
40
  const response = yield triadProtocol.stake.getStakeByWallet(new web3_js_1.PublicKey('BCTdjdcjMiECGFbF5Ps15yjLRPzy5YZGJNa4VdGRbhjB'), constants_1.STAKE_SEASON);
64
41
  const stakeVaults = yield triadProtocol.stake.getStakeVaults();
65
42
  console.log(response);
66
43
  console.log(stakeVaults);
67
44
  });
68
- const claimStakeRewardsV1 = () => __awaiter(void 0, void 0, void 0, function* () {
69
- const response = yield triadProtocol.stake.claimStakeRewards({
70
- wallet: wallet.publicKey,
71
- mint: new web3_js_1.PublicKey('t3DohmswhKk94PPbPYwA6ZKACyY3y5kbcqeQerAJjmV'),
72
- stakeVault: constants_1.STAKE_SEASON,
73
- nftName: 'Triad 2807'
74
- }, {
75
- skipPreflight: true,
76
- microLamports: 10000
77
- });
78
- console.log(response);
79
- });
80
- const stake = () => __awaiter(void 0, void 0, void 0, function* () {
81
- const response = yield triadProtocol.stake.stakeNft({
82
- name: 'Triad 0',
83
- wallet: wallet.publicKey,
84
- stakeVault: 'Rev 1',
85
- mint: new web3_js_1.PublicKey('FXRhaGeYue7bMCwcksNw4hJRY7jZ1YMwgmCu1Y8fyUNd')
86
- }, {
87
- skipPreflight: true,
88
- microLamports: 20000
89
- });
90
- console.log(response);
91
- });
92
45
  const getUsers = () => __awaiter(void 0, void 0, void 0, function* () {
93
46
  const response = yield triadProtocol.getUsers();
94
47
  console.log(response);
95
48
  });
96
- const getReferral = () => __awaiter(void 0, void 0, void 0, function* () {
97
- const response = yield triadProtocol.hasReferral('a');
49
+ const getStakes = () => __awaiter(void 0, void 0, void 0, function* () {
50
+ const response = yield triadProtocol.stake.getStakes(constants_1.STAKE_SEASON);
98
51
  console.log(response);
52
+ fs_1.default.writeFileSync('stakes.json', JSON.stringify(response));
99
53
  });
100
- getReferral();
101
- const migrateStake = () => __awaiter(void 0, void 0, void 0, function* () {
102
- const response = yield triadProtocol.stake.migrateStake({
103
- wallet: wallet.publicKey,
104
- name: 'Triad 2972',
105
- mint: new web3_js_1.PublicKey('9vnAPEnSj8EppTRUw6xuFSHLWvdMagKFzxoJujkUFHyg'),
106
- stakeVault: constants_1.STAKE_SEASON
107
- }, {
108
- skipPreflight: true,
109
- microLamports: 10000
110
- });
54
+ const getReferral = () => __awaiter(void 0, void 0, void 0, function* () {
55
+ const response = yield triadProtocol.hasReferral('a');
111
56
  console.log(response);
112
57
  });
@@ -219,6 +219,10 @@
219
219
  "writable": true,
220
220
  "signer": true
221
221
  },
222
+ {
223
+ "name": "referral",
224
+ "writable": true
225
+ },
222
226
  {
223
227
  "name": "user",
224
228
  "writable": true,
@@ -6,12 +6,18 @@ export type StakeNftArgs = {
6
6
  wallet: PublicKey;
7
7
  stakeVault: string;
8
8
  mint: PublicKey;
9
+ items: {
10
+ mint: PublicKey;
11
+ name: string;
12
+ }[];
9
13
  };
10
14
  export type MigrateStakeArgs = {
11
15
  wallet: PublicKey;
12
- name: string;
13
- mint: PublicKey;
14
16
  stakeVault: string;
17
+ items: {
18
+ mint: PublicKey;
19
+ name: string;
20
+ }[];
15
21
  };
16
22
  export type StakeTokenArgs = {
17
23
  name: string;
@@ -214,6 +214,10 @@ export type TriadProtocol = {
214
214
  writable: true;
215
215
  signer: true;
216
216
  },
217
+ {
218
+ name: 'referral';
219
+ writable: true;
220
+ },
217
221
  {
218
222
  name: 'user';
219
223
  writable: true;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@triadxyz/triad-protocol",
3
- "version": "0.1.7-beta",
3
+ "version": "0.1.9-beta",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",