@triadxyz/triad-protocol 0.3.5-beta → 0.3.6-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
@@ -30,9 +30,26 @@ export default class Stake {
30
30
  * Get Stake by wallet
31
31
  * @param wallet - User wallet
32
32
  * @param stakeVault - Stake Vault name
33
+ * @param collections - NFT collections
33
34
  *
34
35
  */
35
- getStakeByWallet(wallet: PublicKey, stakeVault: string): Promise<StakeResponse[]>;
36
+ getStakeByWallet(wallet: PublicKey, stakeVault: string, collections: number, ranks: {
37
+ onchainId: string;
38
+ name: string;
39
+ rarityRankHrtt: number;
40
+ }[]): Promise<{
41
+ available: number;
42
+ name: string;
43
+ stakeVault: string;
44
+ authority: string;
45
+ initTs: number;
46
+ withdrawTs: number;
47
+ mint: string;
48
+ claimedTs: number;
49
+ boost: boolean;
50
+ claimed: number;
51
+ amount: number;
52
+ }[]>;
36
53
  /**
37
54
  * Get Stakes by day
38
55
  * @param stakeVault - Stake Vault name
package/dist/stake.js CHANGED
@@ -14,6 +14,7 @@ const web3_js_1 = require("@solana/web3.js");
14
14
  const helpers_1 = require("./utils/helpers");
15
15
  const constants_1 = require("./utils/constants");
16
16
  const base64_js_1 = require("base64-js");
17
+ const getRarity_1 = require("./utils/getRarity");
17
18
  class Stake {
18
19
  constructor(program, provider) {
19
20
  this.provider = provider;
@@ -85,13 +86,26 @@ class Stake {
85
86
  * Get Stake by wallet
86
87
  * @param wallet - User wallet
87
88
  * @param stakeVault - Stake Vault name
89
+ * @param collections - NFT collections
88
90
  *
89
91
  */
90
- getStakeByWallet(wallet, stakeVault) {
92
+ getStakeByWallet(wallet, stakeVault, collections, ranks) {
91
93
  return __awaiter(this, void 0, void 0, function* () {
92
94
  const response = yield this.getStakes(stakeVault);
93
- const myStakes = response.filter((item) => item.authority === wallet.toBase58());
94
- return myStakes;
95
+ const stakePromises = response
96
+ .filter((item) => item.authority === wallet.toBase58())
97
+ .map((nft) => __awaiter(this, void 0, void 0, function* () {
98
+ const getRank = (0, getRarity_1.getRarityRank)(ranks, nft.mint, nft.name);
99
+ const available = yield this.getStakeRewards({
100
+ wallet,
101
+ nftName: nft.name,
102
+ stakeVault,
103
+ rank: getRank,
104
+ collections
105
+ });
106
+ return Object.assign(Object.assign({}, nft), { available });
107
+ }));
108
+ return Promise.all(stakePromises);
95
109
  });
96
110
  }
97
111
  /**
package/dist/test.js CHANGED
@@ -36,22 +36,7 @@ const updateStakeVaultStatus = () => __awaiter(void 0, void 0, void 0, function*
36
36
  console.log(response);
37
37
  });
38
38
  const getStake = () => __awaiter(void 0, void 0, void 0, function* () {
39
- const response = yield triadProtocol.stake.getStakeByWallet(new web3_js_1.PublicKey('BCTdjdcjMiECGFbF5Ps15yjLRPzy5YZGJNa4VdGRbhjB'), constants_1.STAKE_SEASON);
39
+ const response = yield triadProtocol.stake.getStakeByWallet(new web3_js_1.PublicKey('HjJQdfTHgC3EBX3471w4st8BXbBmtbaMyCAXNgcUb7dq'), constants_1.STAKE_SEASON, 5, []);
40
40
  console.log(response);
41
41
  });
42
- const getRewards = () => __awaiter(void 0, void 0, void 0, function* () {
43
- let sum = 0;
44
- const a = yield triadProtocol.stake.getStakeByWallet(new web3_js_1.PublicKey('HjJQdfTHgC3EBX3471w4st8BXbBmtbaMyCAXNgcUb7dq'), constants_1.STAKE_SEASON);
45
- for (let i = 0; i < a.length; i++) {
46
- const stake = a[i];
47
- const response = yield triadProtocol.stake.getStakeRewards({
48
- wallet: new web3_js_1.PublicKey('HjJQdfTHgC3EBX3471w4st8BXbBmtbaMyCAXNgcUb7dq'),
49
- nftName: stake.name,
50
- stakeVault: constants_1.STAKE_SEASON,
51
- collections: 5,
52
- rank: i
53
- });
54
- sum += response;
55
- }
56
- console.log(sum);
57
- });
42
+ getStake();
@@ -0,0 +1,5 @@
1
+ export declare const getRarityRank: (ranks: {
2
+ onchainId: string;
3
+ name: string;
4
+ rarityRankHrtt: number;
5
+ }[], onchainId: string, name: string) => number;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRarityRank = void 0;
4
+ const getRarityRank = (ranks, onchainId, name) => {
5
+ const item = ranks.find((entry) => entry.onchainId === onchainId || entry.name === name);
6
+ return item ? item.rarityRankHrtt : 0;
7
+ };
8
+ exports.getRarityRank = getRarityRank;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@triadxyz/triad-protocol",
3
- "version": "0.3.5-beta",
3
+ "version": "0.3.6-beta",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",