@triadxyz/triad-protocol 0.3.4-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
@@ -14,7 +14,7 @@ export default class Stake {
14
14
  /**
15
15
  * Get Stake Rewards
16
16
  */
17
- getStakeRewards({ wallet, mint, stakeVault, nftName, collections, rank }: ClaimStakeRewardsArgs): Promise<number>;
17
+ getStakeRewards({ wallet, stakeVault, nftName, collections, rank }: ClaimStakeRewardsArgs): Promise<number>;
18
18
  /**
19
19
  * Get Stake Vault by name
20
20
  * @param stakeVault - Stake Vault name
@@ -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
@@ -106,5 +123,5 @@ export default class Stake {
106
123
  * @param nftName - Name of the nft
107
124
  *
108
125
  */
109
- claimStakeRewards({ wallet, mint, stakeVault, nftName, collections, rank }: ClaimStakeRewardsArgs, options?: RpcOptions): Promise<string>;
126
+ claimStakeRewards({ wallet, stakeVault, nftName, collections, rank }: ClaimStakeRewardsArgs, options?: RpcOptions): Promise<string>;
110
127
  }
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;
@@ -31,9 +32,10 @@ class Stake {
31
32
  /**
32
33
  * Get Stake Rewards
33
34
  */
34
- getStakeRewards({ wallet, mint, stakeVault, nftName, collections, rank }) {
35
+ getStakeRewards({ wallet, stakeVault, nftName, collections, rank }) {
35
36
  return __awaiter(this, void 0, void 0, function* () {
36
37
  const StakeVault = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
38
+ const mint = new web3_js_1.PublicKey(constants_1.TTRIAD_MINT);
37
39
  const Stake = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, nftName);
38
40
  const FromAta = (0, helpers_1.getATASync)(StakeVault, mint);
39
41
  const ToAta = (0, helpers_1.getATASync)(wallet, mint);
@@ -84,13 +86,26 @@ class Stake {
84
86
  * Get Stake by wallet
85
87
  * @param wallet - User wallet
86
88
  * @param stakeVault - Stake Vault name
89
+ * @param collections - NFT collections
87
90
  *
88
91
  */
89
- getStakeByWallet(wallet, stakeVault) {
92
+ getStakeByWallet(wallet, stakeVault, collections, ranks) {
90
93
  return __awaiter(this, void 0, void 0, function* () {
91
94
  const response = yield this.getStakes(stakeVault);
92
- const myStakes = response.filter((item) => item.authority === wallet.toBase58());
93
- 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);
94
109
  });
95
110
  }
96
111
  /**
@@ -359,9 +374,10 @@ class Stake {
359
374
  * @param nftName - Name of the nft
360
375
  *
361
376
  */
362
- claimStakeRewards({ wallet, mint, stakeVault, nftName, collections, rank }, options) {
377
+ claimStakeRewards({ wallet, stakeVault, nftName, collections, rank }, options) {
363
378
  return __awaiter(this, void 0, void 0, function* () {
364
379
  const StakeVault = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
380
+ const mint = new web3_js_1.PublicKey(constants_1.TTRIAD_MINT);
365
381
  const Stake = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, nftName);
366
382
  const FromAta = (0, helpers_1.getATASync)(StakeVault, mint);
367
383
  const ToAta = (0, helpers_1.getATASync)(wallet, mint);
package/dist/test.js CHANGED
@@ -36,41 +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);
40
- const stakeVaults = yield triadProtocol.stake.getStakeVaults();
39
+ const response = yield triadProtocol.stake.getStakeByWallet(new web3_js_1.PublicKey('HjJQdfTHgC3EBX3471w4st8BXbBmtbaMyCAXNgcUb7dq'), constants_1.STAKE_SEASON, 5, []);
41
40
  console.log(response);
42
- console.log(stakeVaults);
43
41
  });
44
- const getUsers = () => __awaiter(void 0, void 0, void 0, function* () {
45
- const response = yield triadProtocol.getUsers();
46
- console.log(response);
47
- });
48
- const getUser = () => __awaiter(void 0, void 0, void 0, function* () {
49
- const response = yield triadProtocol.getUser(wallet.publicKey);
50
- console.log(response);
51
- });
52
- const getReferral = () => __awaiter(void 0, void 0, void 0, function* () {
53
- const response = yield triadProtocol.hasUser(new web3_js_1.PublicKey('6MuTdUhc4LDHDW3fiTemyns4NgR99oAWvHM2SwCSTcau'));
54
- console.log(response);
55
- });
56
- const createUser = () => __awaiter(void 0, void 0, void 0, function* () {
57
- const response = yield triadProtocol.createUser({
58
- wallet: wallet.publicKey,
59
- referral: new web3_js_1.PublicKey('5vPF9vByRCUB2pr1oGmJsRPm9WDrH9a2v6iF4pbMiobK'),
60
- name: 'Builder'
61
- }, {
62
- microLamports: 10000
63
- });
64
- });
65
- const getRewards = () => __awaiter(void 0, void 0, void 0, function* () {
66
- const response = yield triadProtocol.stake.getStakeRewards({
67
- wallet: new web3_js_1.PublicKey('BCTdjdcjMiECGFbF5Ps15yjLRPzy5YZGJNa4VdGRbhjB'),
68
- mint: new web3_js_1.PublicKey('t3DohmswhKk94PPbPYwA6ZKACyY3y5kbcqeQerAJjmV'),
69
- nftName: 'Triad 2996',
70
- stakeVault: constants_1.STAKE_SEASON,
71
- collections: 3,
72
- rank: 40
73
- });
74
- console.log(response);
75
- });
76
- getRewards();
42
+ getStake();
@@ -55,7 +55,6 @@ export type UpdateStakeVaultStatusArgs = {
55
55
  };
56
56
  export type ClaimStakeRewardsArgs = {
57
57
  wallet: PublicKey;
58
- mint: PublicKey;
59
58
  stakeVault: string;
60
59
  nftName: string;
61
60
  collections: number;
@@ -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.4-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",