@triadxyz/triad-protocol 0.5.0-beta → 0.5.2-beta.devnet

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
@@ -4,7 +4,7 @@ import { TriadProtocol } from './types/triad_protocol';
4
4
  import Ticker from './ticker';
5
5
  import Vault from './vault';
6
6
  import Stake from './stake';
7
- import { CreateUserArgs, MineOreArgs, OpenOreArgs, RpcOptions } from './types';
7
+ import { CreateUserArgs, RpcOptions } from './types';
8
8
  export default class TriadProtocolClient {
9
9
  program: Program<TriadProtocol>;
10
10
  provider: AnchorProvider;
@@ -32,7 +32,6 @@ export default class TriadProtocolClient {
32
32
  * @param name - User name
33
33
  */
34
34
  getRefferal: (name: string) => Promise<PublicKey | "">;
35
- getUserPositions: (userWallet: PublicKey) => Promise<{}[]>;
36
35
  /**
37
36
  * Create User
38
37
  * @param wallet - User wallet
@@ -41,6 +40,4 @@ export default class TriadProtocolClient {
41
40
  *
42
41
  */
43
42
  createUser: ({ wallet, name, referral }: CreateUserArgs, options?: RpcOptions) => Promise<string>;
44
- openOre: ({ user, payer, name, referralName }: OpenOreArgs, options?: RpcOptions) => Promise<string>;
45
- mineOre: ({ user, payer, bus, digest, nonce }: MineOreArgs, options?: RpcOptions) => Promise<string>;
46
43
  }
package/dist/index.js CHANGED
@@ -19,7 +19,6 @@ const ticker_1 = __importDefault(require("./ticker"));
19
19
  const vault_1 = __importDefault(require("./vault"));
20
20
  const helpers_1 = require("./utils/helpers");
21
21
  const stake_1 = __importDefault(require("./stake"));
22
- const constants_1 = require("./utils/constants");
23
22
  class TriadProtocolClient {
24
23
  constructor(connection, wallet) {
25
24
  /**
@@ -68,27 +67,6 @@ class TriadProtocolClient {
68
67
  return '';
69
68
  }
70
69
  });
71
- this.getUserPositions = (userWallet) => __awaiter(this, void 0, void 0, function* () {
72
- const tickers = yield this.ticker.getTickers();
73
- const positions = yield Promise.all(tickers
74
- .map((ticker) => __awaiter(this, void 0, void 0, function* () {
75
- let data = {};
76
- try {
77
- const UserPositionPDA = (0, helpers_1.getUserPositionAddressSync)(this.program.programId, userWallet, ticker.publicKey);
78
- const position = yield this.program.account.userPosition.fetch(UserPositionPDA);
79
- data = {
80
- ticker,
81
- position
82
- };
83
- }
84
- catch (_c) {
85
- return;
86
- }
87
- return data;
88
- }))
89
- .filter(Boolean));
90
- return positions;
91
- });
92
70
  /**
93
71
  * Create User
94
72
  * @param wallet - User wallet
@@ -115,91 +93,6 @@ class TriadProtocolClient {
115
93
  }
116
94
  return method.rpc({ skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight });
117
95
  };
118
- this.openOre = ({ user, payer, name, referralName }, options) => __awaiter(this, void 0, void 0, function* () {
119
- const userPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, user);
120
- const ixs = [];
121
- try {
122
- yield this.program.account.user.fetch(userPDA);
123
- }
124
- catch (_d) {
125
- const referral = yield this.getRefferal(referralName);
126
- ixs.push(yield this.program.methods
127
- .createUser({
128
- name
129
- })
130
- .accounts({
131
- signer: user,
132
- payer: payer.publicKey,
133
- referral
134
- })
135
- .instruction());
136
- }
137
- const proofInfoPDA = (0, helpers_1.getProofOreAddressSync)(userPDA);
138
- ixs.push(yield this.program.methods
139
- .openOre()
140
- .accounts({
141
- signer: user,
142
- payer: payer.publicKey,
143
- minerInfo: userPDA,
144
- proofInfo: proofInfoPDA,
145
- sysvarHashesInfo: new web3_js_1.PublicKey('SysvarS1otHashes111111111111111111111111111'),
146
- oreProgram: new web3_js_1.PublicKey(constants_1.ORE_PROGRAM_ID)
147
- })
148
- .instruction());
149
- if (options === null || options === void 0 ? void 0 : options.microLamports) {
150
- ixs.push(web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
151
- microLamports: options.microLamports
152
- }));
153
- }
154
- const { blockhash } = yield this.provider.connection.getLatestBlockhash();
155
- return this.provider.sendAndConfirm(new web3_js_1.VersionedTransaction(new web3_js_1.TransactionMessage({
156
- instructions: ixs,
157
- recentBlockhash: blockhash,
158
- payerKey: payer.publicKey
159
- }).compileToV0Message()), [payer], {
160
- skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight,
161
- commitment: 'confirmed'
162
- });
163
- });
164
- this.mineOre = ({ user, payer, bus, digest, nonce }, options) => __awaiter(this, void 0, void 0, function* () {
165
- const userPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, user);
166
- const proofInfoPDA = (0, helpers_1.getProofOreAddressSync)(userPDA);
167
- const ixs = [];
168
- ixs.push(new web3_js_1.TransactionInstruction({
169
- keys: [],
170
- programId: new web3_js_1.PublicKey(constants_1.NOOP_PROGRAM_ID),
171
- data: Buffer.from(proofInfoPDA.toBytes())
172
- }));
173
- ixs.push(yield this.program.methods
174
- .mineOre({
175
- digest,
176
- nonce
177
- })
178
- .accounts({
179
- signer: user,
180
- bus,
181
- configProgram: (0, helpers_1.configOreProgramAddressSync)(),
182
- proofInfo: proofInfoPDA,
183
- sysvarHashesInfo: new web3_js_1.PublicKey('SysvarS1otHashes111111111111111111111111111'),
184
- sysvarInstructionsInfo: new web3_js_1.PublicKey('Sysvar1nstructions1111111111111111111111111'),
185
- oreProgram: new web3_js_1.PublicKey(constants_1.ORE_PROGRAM_ID)
186
- })
187
- .instruction());
188
- if (options === null || options === void 0 ? void 0 : options.microLamports) {
189
- ixs.push(web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
190
- microLamports: options.microLamports
191
- }));
192
- }
193
- const { blockhash } = yield this.provider.connection.getLatestBlockhash();
194
- return this.provider.sendAndConfirm(new web3_js_1.VersionedTransaction(new web3_js_1.TransactionMessage({
195
- instructions: ixs,
196
- recentBlockhash: blockhash,
197
- payerKey: payer
198
- }).compileToV0Message()), [], {
199
- skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight,
200
- commitment: 'confirmed'
201
- });
202
- });
203
96
  this.provider = new anchor_1.AnchorProvider(connection, wallet, anchor_1.AnchorProvider.defaultOptions());
204
97
  this.program = new anchor_1.Program(idl_triad_protocol_json_1.default, this.provider);
205
98
  this.ticker = new ticker_1.default(this.program, this.provider);
package/dist/stake.d.ts CHANGED
@@ -3,10 +3,11 @@ import { AnchorProvider, Program } from '@coral-xyz/anchor';
3
3
  import { PublicKey } from '@solana/web3.js';
4
4
  import { TriadProtocol } from './types/triad_protocol';
5
5
  import { RpcOptions } from './types';
6
- import { DepositStakeRewardsArgs, InitializeStakeArgs, StakeNftArgs, RequestWithdrawArgs, WithdrawArgs, StakeResponse, UpdateStakeVaultStatusArgs, ClaimStakeRewardsArgs, StakeTokenArgs, UpdateBoostArgs } from './types/stake';
6
+ import { DepositStakeRewardsArgs, StakeNftArgs, RequestWithdrawArgs, WithdrawArgs, StakeResponse, ClaimStakeRewardsArgs, StakeTokenArgs, UpdateBoostArgs } from './types/stake';
7
7
  export default class Stake {
8
8
  program: Program<TriadProtocol>;
9
9
  provider: AnchorProvider;
10
+ stakeVaultName: string;
10
11
  constructor(program: Program<TriadProtocol>, provider: AnchorProvider);
11
12
  /**
12
13
  * Get all Stake Vaults
@@ -15,44 +16,31 @@ export default class Stake {
15
16
  /**
16
17
  * Get Stake Rewards
17
18
  */
18
- getStakeRewards({ wallet, stakeVault, nftName, collections, rank }: ClaimStakeRewardsArgs): Promise<number>;
19
- /**
20
- * Get Stake Vault by name
21
- * @param stakeVault - Stake Vault name
22
- */
23
- getStakeVaultByName(stakeVault: string): Promise<import("./types/stake").StakeVaultResponse>;
24
- /**
25
- * Get all stakes by vault
26
- * @param stakeVault - Stake Vault name
27
- *
28
- */
29
- getStakes(stakeVault: string): Promise<StakeResponse[]>;
19
+ getStakeRewards({ wallet, nftName, collections, rank }: ClaimStakeRewardsArgs): Promise<number>;
20
+ getStakes(): Promise<StakeResponse[]>;
30
21
  /**
31
22
  * Get Stake by wallet
32
23
  * @param wallet - User wallet
33
- * @param stakeVault - Stake Vault name
34
24
  * @param collections - NFT collections
35
25
  *
36
26
  */
37
- getStakeByWallet(wallet: PublicKey, stakeVault: string, collections: number, ranks: {
27
+ getStakeByWallet(wallet: PublicKey, collections: number, ranks: {
38
28
  onchainId: string;
39
29
  name: string;
40
30
  rarityRankHrtt: number;
41
31
  }[]): Promise<StakeResponse[]>;
42
32
  /**
43
33
  * Get Stakes by day
44
- * @param stakeVault - Stake Vault name
45
34
  * @param day - Day timestamp
46
35
  */
47
- getStakesByDay(stakeVault: string, day: number): Promise<StakeResponse[]>;
36
+ getStakesByDay(day: number): Promise<StakeResponse[]>;
48
37
  /**
49
38
  * Stake NFT
50
39
  * @param mint - NFT mint
51
- * @param stakeVault - Name of the stake vault
52
40
  * @param items - NFT items
53
41
  *
54
42
  */
55
- stakeNft({ wallet, stakeVault, items }: StakeNftArgs, options?: RpcOptions): Promise<string>;
43
+ stakeNft({ wallet, items }: StakeNftArgs, options?: RpcOptions): Promise<string>;
56
44
  /**
57
45
  * Stake NFT
58
46
  * @param wallet - User wallet
@@ -61,15 +49,7 @@ export default class Stake {
61
49
  * @param rarity - NFT rarity
62
50
  *
63
51
  */
64
- stakeToken({ name, wallet, stakeVault, amount }: StakeTokenArgs, options?: RpcOptions): Promise<string>;
65
- /**
66
- * Initialize Stake Vault
67
- * @param name - The ticker's name
68
- * @param slots - Amount available to users joining the vault
69
- * @param collection - The Collection name
70
- *
71
- */
72
- initializeStakeVault({ name, slots, collection, amount }: InitializeStakeArgs, options?: RpcOptions): Promise<string>;
52
+ stakeToken({ name, wallet, amount }: StakeTokenArgs, options?: RpcOptions): Promise<string>;
73
53
  /**
74
54
  * Deposit Stake Rewards
75
55
  * @param wallet - User wallet
@@ -77,48 +57,35 @@ export default class Stake {
77
57
  * @param amount - Reward amount
78
58
  *
79
59
  */
80
- depositStakeRewards({ wallet, mint, amount, stakeVault }: DepositStakeRewardsArgs, options?: RpcOptions): Promise<string>;
60
+ depositStakeRewards({ wallet, mint, amount }: DepositStakeRewardsArgs, options?: RpcOptions): Promise<string>;
81
61
  /**
82
62
  * Request Withdraw
83
63
  * @param wallet - User wallet
84
64
  * @param name - Stake name
85
- * @param stakeVault - Name of the stake vault
86
65
  *
87
66
  */
88
- requestWithdraw({ wallet, name, mint, stakeVault }: RequestWithdrawArgs, options?: RpcOptions): Promise<string>;
67
+ requestWithdraw({ wallet, name, mint }: RequestWithdrawArgs, options?: RpcOptions): Promise<string>;
89
68
  /**
90
69
  * Withdraw Stake
91
70
  * @param wallet - User wallet
92
71
  * @param name - Stake name
93
72
  * @param mint - NFT mint
94
- * @param stakeVault - Name of the stake vault
95
- *
96
- */
97
- withdrawStake({ wallet, name, mint, stakeVault }: WithdrawArgs, options?: RpcOptions): Promise<string>;
98
- /**
99
- * Update Stake Vault Status
100
- * @param wallet - User wallet
101
- * @param stakeVault - Name of the stake vault
102
- * @param isLocked - Status of the stake vault
103
- * @param week - Current week rewards (Starts from 0)
104
73
  *
105
74
  */
106
- updateStakeVaultStatus({ wallet, isLocked, stakeVault }: UpdateStakeVaultStatusArgs, options?: RpcOptions): Promise<string>;
75
+ withdrawStake({ wallet, name, mint }: WithdrawArgs, options?: RpcOptions): Promise<string>;
107
76
  /**
108
77
  * Claim Stake Rewards
109
78
  * @param wallet - User wallet
110
79
  * @param mint - NFT mint
111
- * @param stakeVault - Name of the stake vault
112
80
  * @param nftName - Name of the nft
113
81
  *
114
82
  */
115
- claimStakeRewards({ wallet, stakeVault, nftName, collections, rank }: ClaimStakeRewardsArgs, options?: RpcOptions): Promise<import("@solana/web3.js").Transaction>;
83
+ claimStakeRewards({ wallet, nftName, collections, rank }: ClaimStakeRewardsArgs, options?: RpcOptions): Promise<import("@solana/web3.js").Transaction>;
116
84
  /**
117
85
  * Update Stake Boost
118
86
  * @param wallet - User wallet
119
87
  * @param nftName - Name of the nft
120
- * @param boost - Boost value
121
88
  *
122
89
  */
123
- updateBoost({ wallet, nfts, boost }: UpdateBoostArgs, options?: RpcOptions): Promise<string>;
90
+ updateBoost({ wallet, nfts }: UpdateBoostArgs, options?: RpcOptions): Promise<string>;
124
91
  }
package/dist/stake.js CHANGED
@@ -17,6 +17,7 @@ const base64_js_1 = require("base64-js");
17
17
  const getRarity_1 = require("./utils/getRarity");
18
18
  class Stake {
19
19
  constructor(program, provider) {
20
+ this.stakeVaultName = constants_1.STAKE_VAULT_NAME;
20
21
  this.provider = provider;
21
22
  this.program = program;
22
23
  }
@@ -32,9 +33,9 @@ class Stake {
32
33
  /**
33
34
  * Get Stake Rewards
34
35
  */
35
- getStakeRewards({ wallet, stakeVault, nftName, collections, rank }) {
36
+ getStakeRewards({ wallet, nftName, collections, rank }) {
36
37
  return __awaiter(this, void 0, void 0, function* () {
37
- const StakeVault = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
38
+ const StakeVault = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, this.stakeVaultName);
38
39
  const mint = new web3_js_1.PublicKey(constants_1.TTRIAD_MINT);
39
40
  const Stake = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, nftName);
40
41
  const FromAta = (0, helpers_1.getATASync)(StakeVault, mint);
@@ -58,25 +59,10 @@ class Stake {
58
59
  return new anchor_1.BN((0, base64_js_1.toByteArray)(value), 'le').toNumber() / Math.pow(10, constants_1.TTRIAD_DECIMALS);
59
60
  });
60
61
  }
61
- /**
62
- * Get Stake Vault by name
63
- * @param stakeVault - Stake Vault name
64
- */
65
- getStakeVaultByName(stakeVault) {
66
- return __awaiter(this, void 0, void 0, function* () {
67
- const StakeVault = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
68
- return (0, helpers_1.formatStakeVault)(yield this.program.account.stakeVault.fetch(StakeVault));
69
- });
70
- }
71
- /**
72
- * Get all stakes by vault
73
- * @param stakeVault - Stake Vault name
74
- *
75
- */
76
- getStakes(stakeVault) {
62
+ getStakes() {
77
63
  return __awaiter(this, void 0, void 0, function* () {
78
64
  const response = yield this.program.account.stakeV2.all();
79
- const StakeVault = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
65
+ const StakeVault = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, this.stakeVaultName);
80
66
  return response
81
67
  .filter((item) => item.account.stakeVault.toBase58() === StakeVault.toBase58())
82
68
  .map((stake) => (0, helpers_1.formatStake)(stake.account));
@@ -85,13 +71,12 @@ class Stake {
85
71
  /**
86
72
  * Get Stake by wallet
87
73
  * @param wallet - User wallet
88
- * @param stakeVault - Stake Vault name
89
74
  * @param collections - NFT collections
90
75
  *
91
76
  */
92
- getStakeByWallet(wallet, stakeVault, collections, ranks) {
77
+ getStakeByWallet(wallet, collections, ranks) {
93
78
  return __awaiter(this, void 0, void 0, function* () {
94
- const response = (yield this.getStakes(stakeVault)).filter((item) => item.authority === wallet.toBase58());
79
+ const response = (yield this.getStakes()).filter((item) => item.authority === wallet.toBase58());
95
80
  const data = [];
96
81
  for (const stake of response) {
97
82
  const getRank = (0, getRarity_1.getRarityRank)(ranks, stake.mint, stake.name);
@@ -100,7 +85,6 @@ class Stake {
100
85
  available = yield this.getStakeRewards({
101
86
  wallet,
102
87
  nftName: stake.name,
103
- stakeVault,
104
88
  rank: getRank,
105
89
  collections
106
90
  });
@@ -114,12 +98,11 @@ class Stake {
114
98
  }
115
99
  /**
116
100
  * Get Stakes by day
117
- * @param stakeVault - Stake Vault name
118
101
  * @param day - Day timestamp
119
102
  */
120
- getStakesByDay(stakeVault, day) {
103
+ getStakesByDay(day) {
121
104
  return __awaiter(this, void 0, void 0, function* () {
122
- const stakes = yield this.getStakes(stakeVault);
105
+ const stakes = yield this.getStakes();
123
106
  const rewards = [];
124
107
  stakes.forEach((stake) => {
125
108
  const date = stake.initTs * 1000;
@@ -135,14 +118,13 @@ class Stake {
135
118
  /**
136
119
  * Stake NFT
137
120
  * @param mint - NFT mint
138
- * @param stakeVault - Name of the stake vault
139
121
  * @param items - NFT items
140
122
  *
141
123
  */
142
- stakeNft({ wallet, stakeVault, items }, options) {
124
+ stakeNft({ wallet, items }, options) {
143
125
  return __awaiter(this, void 0, void 0, function* () {
144
126
  let ixs = [];
145
- const stakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
127
+ const stakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, this.stakeVaultName);
146
128
  for (let i = 0; i < items.length; i++) {
147
129
  let item = items[i];
148
130
  const FromAta = (0, helpers_1.getATASync)(wallet, item.mint);
@@ -150,7 +132,7 @@ class Stake {
150
132
  ixs.push(yield this.program.methods
151
133
  .stakeNft({
152
134
  name: item.name,
153
- stakeVault
135
+ stakeVault: this.stakeVaultName
154
136
  })
155
137
  .accounts({
156
138
  signer: wallet,
@@ -186,9 +168,9 @@ class Stake {
186
168
  * @param rarity - NFT rarity
187
169
  *
188
170
  */
189
- stakeToken({ name, wallet, stakeVault, amount }, options) {
171
+ stakeToken({ name, wallet, amount }, options) {
190
172
  return __awaiter(this, void 0, void 0, function* () {
191
- const stakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
173
+ const stakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, this.stakeVaultName);
192
174
  const ttriad = new web3_js_1.PublicKey(constants_1.TTRIAD_MINT);
193
175
  const FromAta = (0, helpers_1.getATASync)(wallet, ttriad);
194
176
  const userPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, wallet);
@@ -197,7 +179,7 @@ class Stake {
197
179
  .stakeToken({
198
180
  name,
199
181
  amount: new anchor_1.BN(amount * Math.pow(10, 6)),
200
- stakeVault
182
+ stakeVault: this.stakeVaultName
201
183
  })
202
184
  .accounts({
203
185
  signer: wallet,
@@ -216,35 +198,6 @@ class Stake {
216
198
  return method.rpc({ skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight });
217
199
  });
218
200
  }
219
- /**
220
- * Initialize Stake Vault
221
- * @param name - The ticker's name
222
- * @param slots - Amount available to users joining the vault
223
- * @param collection - The Collection name
224
- *
225
- */
226
- initializeStakeVault({ name, slots, collection, amount }, options) {
227
- return __awaiter(this, void 0, void 0, function* () {
228
- const method = this.program.methods
229
- .initializeStakeVault({
230
- name,
231
- slots,
232
- collection,
233
- amount
234
- })
235
- .accounts({
236
- signer: this.provider.wallet.publicKey
237
- });
238
- if (options === null || options === void 0 ? void 0 : options.microLamports) {
239
- method.postInstructions([
240
- web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
241
- microLamports: options.microLamports
242
- })
243
- ]);
244
- }
245
- return method.rpc({ skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight });
246
- });
247
- }
248
201
  /**
249
202
  * Deposit Stake Rewards
250
203
  * @param wallet - User wallet
@@ -252,15 +205,15 @@ class Stake {
252
205
  * @param amount - Reward amount
253
206
  *
254
207
  */
255
- depositStakeRewards({ wallet, mint, amount, stakeVault }, options) {
208
+ depositStakeRewards({ wallet, mint, amount }, options) {
256
209
  return __awaiter(this, void 0, void 0, function* () {
257
- const StakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
210
+ const StakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, this.stakeVaultName);
258
211
  const FromAta = (0, helpers_1.getATASync)(wallet, mint);
259
212
  const ToAta = (0, helpers_1.getATASync)(StakeVaultPDA, mint);
260
213
  const method = this.program.methods
261
214
  .depositStakeRewards({
262
215
  amount,
263
- stakeVault
216
+ stakeVault: this.stakeVaultName
264
217
  })
265
218
  .accounts({
266
219
  signer: wallet,
@@ -282,12 +235,11 @@ class Stake {
282
235
  * Request Withdraw
283
236
  * @param wallet - User wallet
284
237
  * @param name - Stake name
285
- * @param stakeVault - Name of the stake vault
286
238
  *
287
239
  */
288
- requestWithdraw({ wallet, name, mint, stakeVault }, options) {
240
+ requestWithdraw({ wallet, name, mint }, options) {
289
241
  return __awaiter(this, void 0, void 0, function* () {
290
- const stakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
242
+ const stakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, this.stakeVaultName);
291
243
  const stakePDA = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, name);
292
244
  const userPAD = (0, helpers_1.getUserAddressSync)(this.program.programId, wallet);
293
245
  const method = this.program.methods.requestWithdrawStake().accounts({
@@ -312,12 +264,11 @@ class Stake {
312
264
  * @param wallet - User wallet
313
265
  * @param name - Stake name
314
266
  * @param mint - NFT mint
315
- * @param stakeVault - Name of the stake vault
316
267
  *
317
268
  */
318
- withdrawStake({ wallet, name, mint, stakeVault }, options) {
269
+ withdrawStake({ wallet, name, mint }, options) {
319
270
  return __awaiter(this, void 0, void 0, function* () {
320
- const stakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
271
+ const stakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, this.stakeVaultName);
321
272
  const userPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, wallet);
322
273
  const FromAta = (0, helpers_1.getATASync)(stakeVaultPDA, mint);
323
274
  const stakePDA = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, name);
@@ -342,44 +293,16 @@ class Stake {
342
293
  return method.rpc({ skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight });
343
294
  });
344
295
  }
345
- /**
346
- * Update Stake Vault Status
347
- * @param wallet - User wallet
348
- * @param stakeVault - Name of the stake vault
349
- * @param isLocked - Status of the stake vault
350
- * @param week - Current week rewards (Starts from 0)
351
- *
352
- */
353
- updateStakeVaultStatus({ wallet, isLocked, stakeVault }, options) {
354
- return __awaiter(this, void 0, void 0, function* () {
355
- const StakeVault = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
356
- const method = this.program.methods
357
- .updateStakeVaultStatus(isLocked)
358
- .accounts({
359
- signer: wallet,
360
- stakeVault: StakeVault
361
- });
362
- if (options === null || options === void 0 ? void 0 : options.microLamports) {
363
- method.postInstructions([
364
- web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
365
- microLamports: options.microLamports
366
- })
367
- ]);
368
- }
369
- return method.rpc({ skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight });
370
- });
371
- }
372
296
  /**
373
297
  * Claim Stake Rewards
374
298
  * @param wallet - User wallet
375
299
  * @param mint - NFT mint
376
- * @param stakeVault - Name of the stake vault
377
300
  * @param nftName - Name of the nft
378
301
  *
379
302
  */
380
- claimStakeRewards({ wallet, stakeVault, nftName, collections, rank }, options) {
303
+ claimStakeRewards({ wallet, nftName, collections, rank }, options) {
381
304
  return __awaiter(this, void 0, void 0, function* () {
382
- const StakeVault = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
305
+ const StakeVault = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, this.stakeVaultName);
383
306
  const mint = new web3_js_1.PublicKey(constants_1.TTRIAD_MINT);
384
307
  const Stake = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, nftName);
385
308
  const FromAta = (0, helpers_1.getATASync)(StakeVault, mint);
@@ -412,16 +335,15 @@ class Stake {
412
335
  * Update Stake Boost
413
336
  * @param wallet - User wallet
414
337
  * @param nftName - Name of the nft
415
- * @param boost - Boost value
416
338
  *
417
339
  */
418
- updateBoost({ wallet, nfts, boost }, options) {
340
+ updateBoost({ wallet, nfts }, options) {
419
341
  return __awaiter(this, void 0, void 0, function* () {
420
342
  const ixs = [];
421
343
  for (const nft of nfts) {
422
344
  const Stake = (0, helpers_1.getStakeAddressSync)(this.program.programId, new web3_js_1.PublicKey(nft.wallet), nft.name);
423
345
  ixs.push(yield this.program.methods
424
- .updateStakeBoost(boost)
346
+ .updateStakeBoost()
425
347
  .accounts({
426
348
  signer: wallet,
427
349
  stake: Stake
package/dist/test.js CHANGED
@@ -17,87 +17,37 @@ const web3_js_1 = require("@solana/web3.js");
17
17
  const index_1 = __importDefault(require("./index"));
18
18
  const anchor_1 = require("@coral-xyz/anchor");
19
19
  const constants_1 = require("./utils/constants");
20
- const rarity_json_1 = __importDefault(require("./utils/stake-season-1/rarity.json"));
21
- const getRarity_1 = require("./utils/getRarity");
22
20
  const axios_1 = __importDefault(require("axios"));
23
- const file = fs_1.default.readFileSync('/Users/dannpl/.config/solana/id.json');
21
+ const file = fs_1.default.readFileSync('/Users/dannpl/.config/solana/triad-builder.json');
24
22
  const rpc_file = fs_1.default.readFileSync('/Users/dannpl/.config/solana/rpc.txt');
25
23
  const keypair = web3_js_1.Keypair.fromSecretKey(new Uint8Array(JSON.parse(file.toString())));
26
24
  const connection = new web3_js_1.Connection(rpc_file.toString(), 'confirmed');
27
25
  const wallet = new anchor_1.Wallet(keypair);
28
26
  const triadProtocol = new index_1.default(connection, wallet);
29
- const getStake = () => __awaiter(void 0, void 0, void 0, function* () {
30
- const response = yield triadProtocol.stake.getStakes(constants_1.STAKE_SEASON);
31
- let available = 0;
32
- let items = 0;
33
- for (const stake of response) {
34
- const getRank = (0, getRarity_1.getRarityRank)(rarity_json_1.default, stake.mint, stake.name);
35
- try {
36
- available += yield triadProtocol.stake.getStakeRewards({
37
- wallet: new web3_js_1.PublicKey(stake.authority),
38
- nftName: stake.name,
39
- stakeVault: constants_1.STAKE_SEASON,
40
- rank: getRank,
41
- collections: 1
42
- });
43
- items += 1;
44
- console.log(items);
45
- console.log(available);
46
- }
47
- catch (e) { }
48
- }
49
- console.log(available);
50
- console.log(items);
51
- console.log(response.length);
52
- });
53
- const deposit = () => __awaiter(void 0, void 0, void 0, function* () {
27
+ const depositStakeRewards = () => __awaiter(void 0, void 0, void 0, function* () {
54
28
  const response = yield triadProtocol.stake.depositStakeRewards({
55
29
  wallet: wallet.publicKey,
56
- stakeVault: constants_1.STAKE_SEASON,
57
30
  mint: new web3_js_1.PublicKey(constants_1.TTRIAD_MINT),
58
31
  amount: new anchor_1.BN(192388 * Math.pow(10, 6))
59
32
  });
60
33
  console.log(response);
61
34
  });
62
- const getStakeVault = () => __awaiter(void 0, void 0, void 0, function* () {
63
- const response = yield triadProtocol.stake.getStakeVaultByName(constants_1.STAKE_SEASON);
64
- console.log(response);
65
- });
66
- const getStakeByWallet = () => __awaiter(void 0, void 0, void 0, function* () {
67
- const response = yield triadProtocol.stake.getStakeByWallet(new web3_js_1.PublicKey('HjJQdfTHgC3EBX3471w4st8BXbBmtbaMyCAXNgcUb7dq'), constants_1.STAKE_SEASON, 1, rarity_json_1.default);
68
- console.log(response);
69
- });
70
35
  const updateBoost = () => __awaiter(void 0, void 0, void 0, function* () {
71
36
  const response = (yield axios_1.default.get('https://api.triadfi.co/boost'))
72
37
  .data;
73
- const stakes = yield triadProtocol.stake.getStakes(constants_1.STAKE_SEASON);
38
+ const stakes = yield triadProtocol.stake.getStakes();
74
39
  const update = [];
75
40
  for (const stake of stakes) {
41
+ if (update.length >= 10) {
42
+ break;
43
+ }
76
44
  if (response.includes(stake.mint) && !stake.boost) {
77
45
  update.push({ name: stake.name, wallet: stake.authority });
78
46
  }
79
47
  }
80
- console.log(update);
81
48
  const updateBoostResponse = yield triadProtocol.stake.updateBoost({
82
49
  wallet: wallet.publicKey,
83
- stakeVault: constants_1.STAKE_SEASON,
84
- nfts: update,
85
- boost: true
50
+ nfts: update
86
51
  });
87
52
  console.log(updateBoostResponse);
88
53
  });
89
- const mineOre = () => __awaiter(void 0, void 0, void 0, function* () {
90
- const response = yield triadProtocol.mineOre({
91
- user: wallet.publicKey,
92
- payer: wallet.publicKey,
93
- bus: new web3_js_1.PublicKey('BZJ2xppmny6ME3NkAgu2SMZB2mwS5xboX9n6VsSyGYFJ'),
94
- digest: [
95
- 149, 32, 37, 176, 97, 139, 13, 182, 108, 28, 66, 160, 137, 156, 204, 249
96
- ],
97
- nonce: [217, 46, 186, 232, 162, 139, 46, 186]
98
- }, {
99
- skipPreflight: true,
100
- microLamports: 10000
101
- });
102
- console.log(response);
103
- });