@triadxyz/triad-protocol 0.1.8-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/stake.d.ts CHANGED
@@ -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
package/dist/stake.js CHANGED
@@ -111,36 +111,48 @@ class Stake {
111
111
  }
112
112
  /**
113
113
  * Stake NFT
114
- * @param name - NFT name
115
- * @param wallet - User wallet
116
114
  * @param mint - NFT mint
115
+ * @param stakeVault - Name of the stake vault
116
+ * @param items - NFT items
117
117
  *
118
118
  */
119
- stakeNft({ name, wallet, mint, stakeVault }, options) {
119
+ stakeNft({ wallet, stakeVault, items }, options) {
120
120
  return __awaiter(this, void 0, void 0, function* () {
121
121
  const StakeVault = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
122
- const FromAta = (0, helpers_1.getATASync)(wallet, mint);
123
- const ToAta = (0, helpers_1.getATASync)(StakeVault, mint);
124
- let items = [];
125
- const method = this.program.methods
126
- .stakeNft({
127
- name,
128
- stakeVault
129
- })
130
- .accounts({
131
- signer: wallet,
132
- toAta: ToAta,
133
- fromAta: FromAta,
134
- mint: mint
135
- });
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
+ }
136
140
  if (options === null || options === void 0 ? void 0 : options.microLamports) {
137
- method.postInstructions([
138
- web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
139
- microLamports: options.microLamports
140
- })
141
- ]);
141
+ ixs.push(web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
142
+ microLamports: options.microLamports
143
+ }));
142
144
  }
143
- 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
+ });
144
156
  });
145
157
  }
146
158
  /**
package/dist/test.js CHANGED
@@ -26,7 +26,7 @@ const triadProtocol = new index_1.default(connection, wallet);
26
26
  const updateStakeVaultStatus = () => __awaiter(void 0, void 0, void 0, function* () {
27
27
  const response = yield triadProtocol.stake.updateStakeVaultStatus({
28
28
  wallet: wallet.publicKey,
29
- isLocked: true,
29
+ isLocked: false,
30
30
  week: 4,
31
31
  stakeVault: constants_1.STAKE_SEASON
32
32
  }, {
@@ -35,24 +35,13 @@ const updateStakeVaultStatus = () => __awaiter(void 0, void 0, void 0, function*
35
35
  });
36
36
  console.log(response);
37
37
  });
38
+ updateStakeVaultStatus();
38
39
  const getStake = () => __awaiter(void 0, void 0, void 0, function* () {
39
40
  const response = yield triadProtocol.stake.getStakeByWallet(new web3_js_1.PublicKey('BCTdjdcjMiECGFbF5Ps15yjLRPzy5YZGJNa4VdGRbhjB'), constants_1.STAKE_SEASON);
40
41
  const stakeVaults = yield triadProtocol.stake.getStakeVaults();
41
42
  console.log(response);
42
43
  console.log(stakeVaults);
43
44
  });
44
- const stake = () => __awaiter(void 0, void 0, void 0, function* () {
45
- const response = yield triadProtocol.stake.stakeNft({
46
- name: 'Triad 0',
47
- wallet: wallet.publicKey,
48
- stakeVault: 'Rev 1',
49
- mint: new web3_js_1.PublicKey('FXRhaGeYue7bMCwcksNw4hJRY7jZ1YMwgmCu1Y8fyUNd')
50
- }, {
51
- skipPreflight: true,
52
- microLamports: 20000
53
- });
54
- console.log(response);
55
- });
56
45
  const getUsers = () => __awaiter(void 0, void 0, void 0, function* () {
57
46
  const response = yield triadProtocol.getUsers();
58
47
  console.log(response);
@@ -6,6 +6,10 @@ 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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@triadxyz/triad-protocol",
3
- "version": "0.1.8-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",