@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 +20 -3
- package/dist/stake.js +21 -5
- package/dist/test.js +2 -36
- package/dist/types/stake.d.ts +0 -1
- package/dist/utils/getRarity.d.ts +5 -0
- package/dist/utils/getRarity.js +8 -0
- package/package.json +1 -1
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,
|
|
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
|
|
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,
|
|
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,
|
|
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
|
|
93
|
-
|
|
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,
|
|
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('
|
|
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
|
-
|
|
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();
|
package/dist/types/stake.d.ts
CHANGED
|
@@ -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;
|