@triadxyz/triad-protocol 0.5.3-beta.devnet → 0.5.5-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
@@ -1,37 +1,35 @@
1
1
  import { AnchorProvider, Program, Wallet } from '@coral-xyz/anchor';
2
2
  import { Connection, PublicKey } from '@solana/web3.js';
3
3
  import { TriadProtocol } from './types/triad_protocol';
4
- import Ticker from './ticker';
5
- import Vault from './vault';
4
+ import Trade from './trade';
6
5
  import Stake from './stake';
7
6
  import { CreateUserArgs, RpcOptions } from './types';
8
7
  export default class TriadProtocolClient {
9
8
  program: Program<TriadProtocol>;
10
9
  provider: AnchorProvider;
11
- ticker: Ticker;
12
- vault: Vault;
10
+ trade: Trade;
13
11
  stake: Stake;
14
12
  constructor(connection: Connection, wallet: Wallet);
15
13
  /**
16
14
  * Get User by wallet
17
15
  * @param wallet - User wallet
18
16
  */
19
- getUser: (wallet: PublicKey) => Promise<import("./types/stake").UserResponse>;
17
+ getUser(wallet: PublicKey): Promise<import("./types/stake").UserResponse>;
20
18
  /**
21
19
  * Get User by wallet
22
20
  * @param wallet - User wallet
23
21
  */
24
- getUsers: () => Promise<import("./types/stake").UserResponse[]>;
22
+ getUsers(): Promise<import("./types/stake").UserResponse[]>;
25
23
  /**
26
24
  * Check if user exists
27
25
  * @param username - User name
28
26
  */
29
- hasUser: (wallet: PublicKey) => Promise<boolean>;
27
+ hasUser(wallet: PublicKey): Promise<boolean>;
30
28
  /**
31
29
  * Get Refferal
32
30
  * @param name - User name
33
31
  */
34
- getRefferal: (name: string) => Promise<PublicKey | "">;
32
+ getReferral(name: string): Promise<string>;
35
33
  /**
36
34
  * Create User
37
35
  * @param wallet - User wallet
@@ -39,5 +37,5 @@ export default class TriadProtocolClient {
39
37
  * @param referral - user referral
40
38
  *
41
39
  */
42
- createUser: ({ wallet, name, referral }: CreateUserArgs, options?: RpcOptions) => Promise<string>;
40
+ createUser({ wallet, name, referral }: CreateUserArgs, options?: RpcOptions): Promise<string>;
43
41
  }
package/dist/index.js CHANGED
@@ -15,36 +15,45 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const anchor_1 = require("@coral-xyz/anchor");
16
16
  const web3_js_1 = require("@solana/web3.js");
17
17
  const idl_triad_protocol_json_1 = __importDefault(require("./types/idl_triad_protocol.json"));
18
- const ticker_1 = __importDefault(require("./ticker"));
19
- const vault_1 = __importDefault(require("./vault"));
18
+ const trade_1 = __importDefault(require("./trade"));
20
19
  const helpers_1 = require("./utils/helpers");
21
20
  const stake_1 = __importDefault(require("./stake"));
22
21
  class TriadProtocolClient {
23
22
  constructor(connection, wallet) {
24
- /**
25
- * Get User by wallet
26
- * @param wallet - User wallet
27
- */
28
- this.getUser = (wallet) => __awaiter(this, void 0, void 0, function* () {
23
+ this.provider = new anchor_1.AnchorProvider(connection, wallet, anchor_1.AnchorProvider.defaultOptions());
24
+ this.program = new anchor_1.Program(idl_triad_protocol_json_1.default, this.provider);
25
+ this.trade = new trade_1.default(this.program, this.provider);
26
+ this.stake = new stake_1.default(this.program, this.provider);
27
+ }
28
+ /**
29
+ * Get User by wallet
30
+ * @param wallet - User wallet
31
+ */
32
+ getUser(wallet) {
33
+ return __awaiter(this, void 0, void 0, function* () {
29
34
  const UserPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, wallet);
30
35
  const response = yield this.program.account.user.fetch(UserPDA);
31
36
  return (0, helpers_1.formatUser)(response);
32
37
  });
33
- /**
34
- * Get User by wallet
35
- * @param wallet - User wallet
36
- */
37
- this.getUsers = () => __awaiter(this, void 0, void 0, function* () {
38
+ }
39
+ /**
40
+ * Get User by wallet
41
+ * @param wallet - User wallet
42
+ */
43
+ getUsers() {
44
+ return __awaiter(this, void 0, void 0, function* () {
38
45
  const response = yield this.program.account.user.all();
39
46
  return response
40
47
  .map((item) => (0, helpers_1.formatUser)(item.account))
41
48
  .sort((a, b) => b.referred - a.referred);
42
49
  });
43
- /**
44
- * Check if user exists
45
- * @param username - User name
46
- */
47
- this.hasUser = (wallet) => __awaiter(this, void 0, void 0, function* () {
50
+ }
51
+ /**
52
+ * Check if user exists
53
+ * @param username - User name
54
+ */
55
+ hasUser(wallet) {
56
+ return __awaiter(this, void 0, void 0, function* () {
48
57
  try {
49
58
  yield this.program.account.user.fetch((0, helpers_1.getUserAddressSync)(this.program.programId, wallet));
50
59
  return true;
@@ -53,28 +62,42 @@ class TriadProtocolClient {
53
62
  return false;
54
63
  }
55
64
  });
56
- /**
57
- * Get Refferal
58
- * @param name - User name
59
- */
60
- this.getRefferal = (name) => __awaiter(this, void 0, void 0, function* () {
65
+ }
66
+ /**
67
+ * Get Refferal
68
+ * @param name - User name
69
+ */
70
+ getReferral(name) {
71
+ return __awaiter(this, void 0, void 0, function* () {
61
72
  try {
62
- const response = yield this.program.account.user.all();
63
- const data = response.find((item) => item.account.name === name);
64
- return data.publicKey;
73
+ const users = yield this.program.account.user.all([
74
+ {
75
+ memcmp: {
76
+ offset: 8,
77
+ bytes: Buffer.from(name).toString('base64')
78
+ }
79
+ }
80
+ ]);
81
+ if (users.length > 0) {
82
+ return users[0].publicKey.toString();
83
+ }
84
+ return '';
65
85
  }
66
- catch (_b) {
86
+ catch (error) {
87
+ console.error('Error fetching referral:', error);
67
88
  return '';
68
89
  }
69
90
  });
70
- /**
71
- * Create User
72
- * @param wallet - User wallet
73
- * @param name - user name
74
- * @param referral - user referral
75
- *
76
- */
77
- this.createUser = ({ wallet, name, referral }, options) => {
91
+ }
92
+ /**
93
+ * Create User
94
+ * @param wallet - User wallet
95
+ * @param name - user name
96
+ * @param referral - user referral
97
+ *
98
+ */
99
+ createUser({ wallet, name, referral }, options) {
100
+ return __awaiter(this, void 0, void 0, function* () {
78
101
  const method = this.program.methods
79
102
  .createUser({
80
103
  name
@@ -92,12 +115,7 @@ class TriadProtocolClient {
92
115
  ]);
93
116
  }
94
117
  return method.rpc({ skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight });
95
- };
96
- this.provider = new anchor_1.AnchorProvider(connection, wallet, anchor_1.AnchorProvider.defaultOptions());
97
- this.program = new anchor_1.Program(idl_triad_protocol_json_1.default, this.provider);
98
- this.ticker = new ticker_1.default(this.program, this.provider);
99
- this.vault = new vault_1.default(this.program, this.provider);
100
- this.stake = new stake_1.default(this.program, this.provider);
118
+ });
101
119
  }
102
120
  }
103
121
  exports.default = TriadProtocolClient;
@@ -13,22 +13,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const fs_1 = __importDefault(require("fs"));
16
- const web3_js_1 = require("@solana/web3.js");
17
16
  const index_1 = __importDefault(require("./index"));
18
17
  const anchor_1 = require("@coral-xyz/anchor");
19
- const constants_1 = require("./utils/constants");
20
18
  const axios_1 = __importDefault(require("axios"));
21
- const file = fs_1.default.readFileSync('/Users/dannpl/.config/solana/triad-builder.json');
22
- const rpc_file = fs_1.default.readFileSync('/Users/dannpl/.config/solana/rpc.txt');
19
+ const web3_js_1 = require("@solana/web3.js");
20
+ const file = fs_1.default.readFileSync('/Users/dannpl/.config/solana/id.json');
21
+ const rpc_file = fs_1.default.readFileSync('/Users/dannpl/.config/solana/rpc-devnet.txt');
23
22
  const keypair = web3_js_1.Keypair.fromSecretKey(new Uint8Array(JSON.parse(file.toString())));
24
23
  const connection = new web3_js_1.Connection(rpc_file.toString(), 'confirmed');
25
24
  const wallet = new anchor_1.Wallet(keypair);
26
25
  const triadProtocol = new index_1.default(connection, wallet);
27
- const depositStakeRewards = () => __awaiter(void 0, void 0, void 0, function* () {
28
- const response = yield triadProtocol.stake.depositStakeRewards({
29
- wallet: wallet.publicKey,
30
- mint: new web3_js_1.PublicKey(constants_1.TTRIAD_MINT),
31
- amount: new anchor_1.BN(192388 * Math.pow(10, 6))
26
+ const markets = [
27
+ { name: 'JUPITER/TRD', marketId: 0 },
28
+ { name: 'DRIFT/TRD', marketId: 1 },
29
+ { name: 'PYTH/TRD', marketId: 2 },
30
+ { name: 'UNDEAD/TRD', marketId: 3 },
31
+ { name: 'MADLADS/TRD', marketId: 4 },
32
+ { name: 'DEGODS/TRD', marketId: 5 },
33
+ { name: 'ISLANDDAO/TRD', marketId: 6 },
34
+ { name: 'COLOSSEUM/TRD', marketId: 7 }
35
+ ];
36
+ const updateStakeVault = () => __awaiter(void 0, void 0, void 0, function* () {
37
+ const response = yield triadProtocol.stake.updateStakeVault({
38
+ wallet: wallet.publicKey
32
39
  });
33
40
  console.log(response);
34
41
  });
@@ -51,3 +58,34 @@ const updateBoost = () => __awaiter(void 0, void 0, void 0, function* () {
51
58
  });
52
59
  console.log(updateBoostResponse);
53
60
  });
61
+ const getMarkets = () => __awaiter(void 0, void 0, void 0, function* () {
62
+ const response = yield triadProtocol.trade.getMarkets();
63
+ console.log(response);
64
+ });
65
+ const initializeAllMarkets = () => __awaiter(void 0, void 0, void 0, function* () {
66
+ for (const market of markets) {
67
+ try {
68
+ const response = yield triadProtocol.trade.initializeMarket(market, {
69
+ skipPreflight: true
70
+ });
71
+ console.log(`Initialized market ${market.name}:`, response);
72
+ }
73
+ catch (error) {
74
+ console.error(`Error initializing market ${market.name}:`, error);
75
+ }
76
+ }
77
+ });
78
+ const openOrder = () => __awaiter(void 0, void 0, void 0, function* () {
79
+ const response = yield triadProtocol.trade.openOrder(0, {
80
+ amount: 100,
81
+ direction: {
82
+ hype: {}
83
+ },
84
+ orderType: {
85
+ market: {}
86
+ },
87
+ comment: 'test'
88
+ });
89
+ console.log(response);
90
+ });
91
+ openOrder();
package/dist/stake.d.ts CHANGED
@@ -3,7 +3,7 @@ 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, StakeNftArgs, RequestWithdrawArgs, WithdrawArgs, StakeResponse, ClaimStakeRewardsArgs, StakeTokenArgs, UpdateBoostArgs } from './types/stake';
6
+ import { UpdateStakeVaultArgs, 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;
@@ -17,23 +17,25 @@ export default class Stake {
17
17
  * Get Stake Rewards
18
18
  */
19
19
  getStakeRewards({ wallet, nftName, collections, rank }: ClaimStakeRewardsArgs): Promise<number>;
20
+ /**
21
+ * Get all Stakes
22
+ */
20
23
  getStakes(): Promise<StakeResponse[]>;
21
24
  /**
22
- * Get Stake by wallet
25
+ * Get User Stakes
26
+ */
27
+ getUserStakes(wallet: PublicKey): Promise<StakeResponse[]>;
28
+ /**
29
+ * Get Stake By Wallet
23
30
  * @param wallet - User wallet
24
31
  * @param collections - NFT collections
25
- *
32
+ * @param tensor rank
26
33
  */
27
34
  getStakeByWallet(wallet: PublicKey, collections: number, ranks: {
28
35
  onchainId: string;
29
36
  name: string;
30
37
  rarityRankHrtt: number;
31
38
  }[]): Promise<StakeResponse[]>;
32
- /**
33
- * Get Stakes by day
34
- * @param day - Day timestamp
35
- */
36
- getStakesByDay(day: number): Promise<StakeResponse[]>;
37
39
  /**
38
40
  * Stake NFT
39
41
  * @param mint - NFT mint
@@ -42,22 +44,21 @@ export default class Stake {
42
44
  */
43
45
  stakeNft({ wallet, items }: StakeNftArgs, options?: RpcOptions): Promise<string>;
44
46
  /**
45
- * Stake NFT
47
+ * Stake Token
48
+ * @param name - Index
46
49
  * @param wallet - User wallet
47
- * @param mint - NFT mint
48
- * @param collections - NFT collections
49
- * @param rarity - NFT rarity
50
+ * @param amount - Amount to stake
50
51
  *
51
52
  */
52
53
  stakeToken({ name, wallet, amount }: StakeTokenArgs, options?: RpcOptions): Promise<string>;
53
54
  /**
54
- * Deposit Stake Rewards
55
+ * Update Stake Vault
55
56
  * @param wallet - User wallet
56
- * @param mint - NFT mint
57
- * @param amount - Reward amount
57
+ * @param amount - Reward amount to deposit (optional)
58
+ * @param status - Status of the stake vault (optional)
58
59
  *
59
60
  */
60
- depositStakeRewards({ wallet, mint, amount }: DepositStakeRewardsArgs, options?: RpcOptions): Promise<string>;
61
+ updateStakeVault({ wallet, amount, status }: UpdateStakeVaultArgs, options?: RpcOptions): Promise<string>;
61
62
  /**
62
63
  * Request Withdraw
63
64
  * @param wallet - User wallet
@@ -82,9 +83,9 @@ export default class Stake {
82
83
  */
83
84
  claimStakeRewards({ wallet, nftName, collections, rank }: ClaimStakeRewardsArgs, options?: RpcOptions): Promise<import("@solana/web3.js").Transaction>;
84
85
  /**
85
- * Update Stake Boost
86
+ * Update Boost
86
87
  * @param wallet - User wallet
87
- * @param nftName - Name of the nft
88
+ * @param nfts - Name of the nfts
88
89
  *
89
90
  */
90
91
  updateBoost({ wallet, nfts }: UpdateBoostArgs, options?: RpcOptions): Promise<string>;
package/dist/stake.js CHANGED
@@ -35,11 +35,8 @@ class Stake {
35
35
  */
36
36
  getStakeRewards({ wallet, nftName, collections, rank }) {
37
37
  return __awaiter(this, void 0, void 0, function* () {
38
- const StakeVault = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, this.stakeVaultName);
39
- const mint = new web3_js_1.PublicKey(constants_1.TTRIAD_MINT);
40
- const Stake = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, nftName);
41
- const FromAta = (0, helpers_1.getATASync)(StakeVault, mint);
42
- const ToAta = (0, helpers_1.getATASync)(wallet, mint);
38
+ const stakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, this.stakeVaultName);
39
+ const stakePDA = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, nftName);
43
40
  const method = yield this.program.methods
44
41
  .claimStakeRewards({
45
42
  collections,
@@ -47,40 +44,55 @@ class Stake {
47
44
  })
48
45
  .accounts({
49
46
  signer: wallet,
50
- fromAta: FromAta,
51
- mint: mint,
52
- toAta: ToAta,
53
- stake: Stake,
54
- stakeVault: StakeVault,
55
- verifier: new web3_js_1.PublicKey(constants_1.VERIFIER)
47
+ mint: constants_1.TRD_MINT,
48
+ stake: stakePDA,
49
+ stakeVault: stakeVaultPDA,
50
+ verifier: constants_1.VERIFIER
56
51
  })
57
52
  .simulate();
58
53
  let value = method.raw[method.raw.length - 2].split(' ')[3];
59
- return new anchor_1.BN((0, base64_js_1.toByteArray)(value), 'le').toNumber() / Math.pow(10, constants_1.TTRIAD_DECIMALS);
54
+ return new anchor_1.BN((0, base64_js_1.toByteArray)(value), 'le').toNumber() / Math.pow(10, constants_1.TRD_DECIMALS);
60
55
  });
61
56
  }
57
+ /**
58
+ * Get all Stakes
59
+ */
62
60
  getStakes() {
63
61
  return __awaiter(this, void 0, void 0, function* () {
64
62
  const response = yield this.program.account.stakeV2.all();
65
- const StakeVault = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, this.stakeVaultName);
66
- return response
67
- .filter((item) => item.account.stakeVault.toBase58() === StakeVault.toBase58())
68
- .map((stake) => (0, helpers_1.formatStake)(stake.account));
63
+ return response.map((stake) => (0, helpers_1.formatStake)(stake.account));
64
+ });
65
+ }
66
+ /**
67
+ * Get User Stakes
68
+ */
69
+ getUserStakes(wallet) {
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ const response = yield this.program.account.stakeV2.all([
72
+ {
73
+ memcmp: {
74
+ offset: 8 + 1,
75
+ bytes: wallet.toBase58()
76
+ }
77
+ }
78
+ ]);
79
+ return response.map((stake) => (0, helpers_1.formatStake)(stake.account));
69
80
  });
70
81
  }
71
82
  /**
72
- * Get Stake by wallet
83
+ * Get Stake By Wallet
73
84
  * @param wallet - User wallet
74
85
  * @param collections - NFT collections
75
- *
86
+ * @param tensor rank
76
87
  */
77
88
  getStakeByWallet(wallet, collections, ranks) {
78
89
  return __awaiter(this, void 0, void 0, function* () {
79
- const response = (yield this.getStakes()).filter((item) => item.authority === wallet.toBase58());
90
+ const response = yield this.getUserStakes(wallet);
80
91
  const data = [];
81
92
  for (const stake of response) {
82
93
  const getRank = (0, getRarity_1.getRarityRank)(ranks, stake.mint, stake.name);
83
94
  let available = 0;
95
+ yield new Promise((resolve) => setTimeout(resolve, 1000));
84
96
  try {
85
97
  available = yield this.getStakeRewards({
86
98
  wallet,
@@ -90,31 +102,11 @@ class Stake {
90
102
  });
91
103
  }
92
104
  catch (_a) { }
93
- yield new Promise((resolve) => setTimeout(resolve, 500));
94
105
  data.push(Object.assign(Object.assign({}, stake), { available }));
95
106
  }
96
107
  return data;
97
108
  });
98
109
  }
99
- /**
100
- * Get Stakes by day
101
- * @param day - Day timestamp
102
- */
103
- getStakesByDay(day) {
104
- return __awaiter(this, void 0, void 0, function* () {
105
- const stakes = yield this.getStakes();
106
- const rewards = [];
107
- stakes.forEach((stake) => {
108
- const date = stake.initTs * 1000;
109
- const stakeDay = day * 1000;
110
- const currentDate = new Date().getTime();
111
- if (date <= stakeDay && stakeDay <= currentDate) {
112
- rewards.push(stake);
113
- }
114
- });
115
- return rewards;
116
- });
117
- }
118
110
  /**
119
111
  * Stake NFT
120
112
  * @param mint - NFT mint
@@ -124,11 +116,8 @@ class Stake {
124
116
  stakeNft({ wallet, items }, options) {
125
117
  return __awaiter(this, void 0, void 0, function* () {
126
118
  let ixs = [];
127
- const stakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, this.stakeVaultName);
128
119
  for (let i = 0; i < items.length; i++) {
129
120
  let item = items[i];
130
- const FromAta = (0, helpers_1.getATASync)(wallet, item.mint);
131
- const toAta = (0, helpers_1.getATASync)(stakeVaultPDA, item.mint);
132
121
  ixs.push(yield this.program.methods
133
122
  .stakeNft({
134
123
  name: item.name,
@@ -136,9 +125,7 @@ class Stake {
136
125
  })
137
126
  .accounts({
138
127
  signer: wallet,
139
- fromAta: FromAta,
140
- mint: item.mint,
141
- toAta: toAta
128
+ mint: item.mint
142
129
  })
143
130
  .instruction());
144
131
  }
@@ -148,33 +135,26 @@ class Stake {
148
135
  }));
149
136
  }
150
137
  const { blockhash } = yield this.provider.connection.getLatestBlockhash();
151
- const messageV0 = new web3_js_1.TransactionMessage({
138
+ return this.provider.sendAndConfirm(new web3_js_1.VersionedTransaction(new web3_js_1.TransactionMessage({
152
139
  instructions: ixs,
153
140
  recentBlockhash: blockhash,
154
141
  payerKey: wallet
155
- }).compileToV0Message();
156
- const tx = new web3_js_1.VersionedTransaction(messageV0);
157
- return this.provider.sendAndConfirm(tx, [], {
142
+ }).compileToV0Message()), [], {
158
143
  skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight,
159
144
  commitment: 'confirmed'
160
145
  });
161
146
  });
162
147
  }
163
148
  /**
164
- * Stake NFT
149
+ * Stake Token
150
+ * @param name - Index
165
151
  * @param wallet - User wallet
166
- * @param mint - NFT mint
167
- * @param collections - NFT collections
168
- * @param rarity - NFT rarity
152
+ * @param amount - Amount to stake
169
153
  *
170
154
  */
171
155
  stakeToken({ name, wallet, amount }, options) {
172
156
  return __awaiter(this, void 0, void 0, function* () {
173
- const stakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, this.stakeVaultName);
174
- const ttriad = new web3_js_1.PublicKey(constants_1.TTRIAD_MINT);
175
- const FromAta = (0, helpers_1.getATASync)(wallet, ttriad);
176
157
  const userPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, wallet);
177
- const toAta = (0, helpers_1.getATASync)(stakeVaultPDA, ttriad);
178
158
  const method = this.program.methods
179
159
  .stakeToken({
180
160
  name,
@@ -183,10 +163,8 @@ class Stake {
183
163
  })
184
164
  .accounts({
185
165
  signer: wallet,
186
- fromAta: FromAta,
187
- mint: ttriad,
188
- user: userPDA,
189
- toAta: toAta
166
+ mint: constants_1.TRD_MINT,
167
+ user: userPDA
190
168
  });
191
169
  if (options === null || options === void 0 ? void 0 : options.microLamports) {
192
170
  method.postInstructions([
@@ -199,27 +177,23 @@ class Stake {
199
177
  });
200
178
  }
201
179
  /**
202
- * Deposit Stake Rewards
180
+ * Update Stake Vault
203
181
  * @param wallet - User wallet
204
- * @param mint - NFT mint
205
- * @param amount - Reward amount
182
+ * @param amount - Reward amount to deposit (optional)
183
+ * @param status - Status of the stake vault (optional)
206
184
  *
207
185
  */
208
- depositStakeRewards({ wallet, mint, amount }, options) {
186
+ updateStakeVault({ wallet, amount, status }, options) {
209
187
  return __awaiter(this, void 0, void 0, function* () {
210
- const StakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, this.stakeVaultName);
211
- const FromAta = (0, helpers_1.getATASync)(wallet, mint);
212
- const ToAta = (0, helpers_1.getATASync)(StakeVaultPDA, mint);
213
188
  const method = this.program.methods
214
- .depositStakeRewards({
189
+ .updateStakeVault({
215
190
  amount,
191
+ status,
216
192
  stakeVault: this.stakeVaultName
217
193
  })
218
194
  .accounts({
219
195
  signer: wallet,
220
- fromAta: FromAta,
221
- mint: mint,
222
- toAta: ToAta
196
+ mint: constants_1.TRD_MINT
223
197
  });
224
198
  if (options === null || options === void 0 ? void 0 : options.microLamports) {
225
199
  method.postInstructions([
@@ -241,11 +215,11 @@ class Stake {
241
215
  return __awaiter(this, void 0, void 0, function* () {
242
216
  const stakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, this.stakeVaultName);
243
217
  const stakePDA = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, name);
244
- const userPAD = (0, helpers_1.getUserAddressSync)(this.program.programId, wallet);
218
+ const userPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, wallet);
245
219
  const method = this.program.methods.requestWithdrawStake().accounts({
246
220
  signer: wallet,
247
221
  mint: mint,
248
- user: userPAD,
222
+ user: userPDA,
249
223
  stake: stakePDA,
250
224
  stakeVault: stakeVaultPDA
251
225
  });
@@ -270,17 +244,13 @@ class Stake {
270
244
  return __awaiter(this, void 0, void 0, function* () {
271
245
  const stakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, this.stakeVaultName);
272
246
  const userPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, wallet);
273
- const FromAta = (0, helpers_1.getATASync)(stakeVaultPDA, mint);
274
247
  const stakePDA = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, name);
275
- const ToAta = (0, helpers_1.getATASync)(wallet, mint);
276
248
  const method = this.program.methods.withdrawStake().accounts({
277
249
  signer: wallet,
278
- fromAta: FromAta,
279
250
  stake: stakePDA,
280
251
  stakeVault: stakeVaultPDA,
281
- admin: new web3_js_1.PublicKey('82ppCojm3yrEKgdpH8B5AmBJTU1r1uAWXFWhxvPs9UCR'),
252
+ admin: constants_1.TRIAD_ADMIN,
282
253
  mint: mint,
283
- toAta: ToAta,
284
254
  user: userPDA
285
255
  });
286
256
  if (options === null || options === void 0 ? void 0 : options.microLamports) {
@@ -302,11 +272,8 @@ class Stake {
302
272
  */
303
273
  claimStakeRewards({ wallet, nftName, collections, rank }, options) {
304
274
  return __awaiter(this, void 0, void 0, function* () {
305
- const StakeVault = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, this.stakeVaultName);
306
- const mint = new web3_js_1.PublicKey(constants_1.TTRIAD_MINT);
307
- const Stake = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, nftName);
308
- const FromAta = (0, helpers_1.getATASync)(StakeVault, mint);
309
- const ToAta = (0, helpers_1.getATASync)(wallet, mint);
275
+ const stakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, this.stakeVaultName);
276
+ const stakePDA = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, nftName);
310
277
  const method = this.program.methods
311
278
  .claimStakeRewards({
312
279
  collections,
@@ -314,12 +281,10 @@ class Stake {
314
281
  })
315
282
  .accounts({
316
283
  signer: wallet,
317
- fromAta: FromAta,
318
- mint: mint,
319
- toAta: ToAta,
320
- stake: Stake,
321
- stakeVault: StakeVault,
322
- verifier: new web3_js_1.PublicKey(constants_1.VERIFIER)
284
+ mint: constants_1.TRD_MINT,
285
+ stake: stakePDA,
286
+ stakeVault: stakeVaultPDA,
287
+ verifier: constants_1.VERIFIER
323
288
  });
324
289
  if (options === null || options === void 0 ? void 0 : options.microLamports) {
325
290
  method.postInstructions([
@@ -332,9 +297,9 @@ class Stake {
332
297
  });
333
298
  }
334
299
  /**
335
- * Update Stake Boost
300
+ * Update Boost
336
301
  * @param wallet - User wallet
337
- * @param nftName - Name of the nft
302
+ * @param nfts - Name of the nfts
338
303
  *
339
304
  */
340
305
  updateBoost({ wallet, nfts }, options) {
@@ -356,13 +321,11 @@ class Stake {
356
321
  }));
357
322
  }
358
323
  const { blockhash } = yield this.provider.connection.getLatestBlockhash();
359
- const messageV0 = new web3_js_1.TransactionMessage({
324
+ return this.provider.sendAndConfirm(new web3_js_1.VersionedTransaction(new web3_js_1.TransactionMessage({
360
325
  instructions: ixs,
361
326
  recentBlockhash: blockhash,
362
327
  payerKey: wallet
363
- }).compileToV0Message();
364
- const tx = new web3_js_1.VersionedTransaction(messageV0);
365
- return this.provider.sendAndConfirm(tx, [], {
328
+ }).compileToV0Message()), [], {
366
329
  skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight,
367
330
  commitment: 'confirmed'
368
331
  });