@triadxyz/triad-protocol 0.1.7-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/index.js +2 -1
- package/dist/stake.d.ts +4 -12
- package/dist/stake.js +36 -61
- package/dist/test.js +7 -62
- package/dist/types/idl_triad_protocol.json +4 -0
- package/dist/types/stake.d.ts +8 -2
- package/dist/types/triad_protocol.d.ts +4 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
package/dist/stake.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { AnchorProvider, Program } from '@coral-xyz/anchor';
|
|
|
2
2
|
import { PublicKey } from '@solana/web3.js';
|
|
3
3
|
import { TriadProtocol } from './types/triad_protocol';
|
|
4
4
|
import { RpcOptions } from './types';
|
|
5
|
-
import { DepositStakeRewardsArgs, InitializeStakeArgs, StakeNftArgs, RequestWithdrawArgs, WithdrawArgs, StakeResponse, UpdateStakeVaultStatusArgs, ClaimStakeRewardsArgs, StakeTokenArgs
|
|
5
|
+
import { DepositStakeRewardsArgs, InitializeStakeArgs, StakeNftArgs, RequestWithdrawArgs, WithdrawArgs, StakeResponse, UpdateStakeVaultStatusArgs, ClaimStakeRewardsArgs, StakeTokenArgs } from './types/stake';
|
|
6
6
|
export default class Stake {
|
|
7
7
|
program: Program<TriadProtocol>;
|
|
8
8
|
provider: AnchorProvider;
|
|
@@ -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({
|
|
57
|
+
stakeNft({ wallet, stakeVault, items }: StakeNftArgs, options?: RpcOptions): Promise<string>;
|
|
58
58
|
/**
|
|
59
59
|
* Stake NFT
|
|
60
60
|
* @param wallet - User wallet
|
|
@@ -115,12 +115,4 @@ export default class Stake {
|
|
|
115
115
|
*
|
|
116
116
|
*/
|
|
117
117
|
claimStakeRewards({ wallet, mint, stakeVault, nftName }: ClaimStakeRewardsArgs, options?: RpcOptions): Promise<string>;
|
|
118
|
-
/**
|
|
119
|
-
* Migrate Stake
|
|
120
|
-
* @param name - NFT name
|
|
121
|
-
* @param wallet - User wallet
|
|
122
|
-
* @param mint - NFT mint
|
|
123
|
-
*
|
|
124
|
-
*/
|
|
125
|
-
migrateStake({ name, wallet, mint, stakeVault }: MigrateStakeArgs, options?: RpcOptions): Promise<string>;
|
|
126
118
|
}
|
package/dist/stake.js
CHANGED
|
@@ -44,16 +44,11 @@ class Stake {
|
|
|
44
44
|
*/
|
|
45
45
|
getStakes(stakeVault) {
|
|
46
46
|
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
-
const response1 = yield this.program.account.stake.all();
|
|
48
47
|
const response = yield this.program.account.stakeV2.all();
|
|
49
48
|
const StakeVault = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
|
|
50
|
-
|
|
49
|
+
return response
|
|
51
50
|
.filter((item) => item.account.stakeVault.toBase58() === StakeVault.toBase58())
|
|
52
51
|
.map((stake) => (0, helpers_1.formatStake)(stake.account));
|
|
53
|
-
const data1 = response1
|
|
54
|
-
.filter((item) => item.account.stakeVault.toBase58() === StakeVault.toBase58())
|
|
55
|
-
.map((stake) => (0, helpers_1.formatStake)(stake.account));
|
|
56
|
-
return [...data, ...data1];
|
|
57
52
|
});
|
|
58
53
|
}
|
|
59
54
|
/**
|
|
@@ -116,36 +111,48 @@ class Stake {
|
|
|
116
111
|
}
|
|
117
112
|
/**
|
|
118
113
|
* Stake NFT
|
|
119
|
-
* @param name - NFT name
|
|
120
|
-
* @param wallet - User wallet
|
|
121
114
|
* @param mint - NFT mint
|
|
115
|
+
* @param stakeVault - Name of the stake vault
|
|
116
|
+
* @param items - NFT items
|
|
122
117
|
*
|
|
123
118
|
*/
|
|
124
|
-
stakeNft({
|
|
119
|
+
stakeNft({ wallet, stakeVault, items }, options) {
|
|
125
120
|
return __awaiter(this, void 0, void 0, function* () {
|
|
126
121
|
const StakeVault = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
.
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
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
|
+
}
|
|
141
140
|
if (options === null || options === void 0 ? void 0 : options.microLamports) {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
})
|
|
146
|
-
]);
|
|
141
|
+
ixs.push(web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
|
|
142
|
+
microLamports: options.microLamports
|
|
143
|
+
}));
|
|
147
144
|
}
|
|
148
|
-
|
|
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
|
+
});
|
|
149
156
|
});
|
|
150
157
|
}
|
|
151
158
|
/**
|
|
@@ -368,37 +375,5 @@ class Stake {
|
|
|
368
375
|
return method.rpc({ skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight });
|
|
369
376
|
});
|
|
370
377
|
}
|
|
371
|
-
/**
|
|
372
|
-
* Migrate Stake
|
|
373
|
-
* @param name - NFT name
|
|
374
|
-
* @param wallet - User wallet
|
|
375
|
-
* @param mint - NFT mint
|
|
376
|
-
*
|
|
377
|
-
*/
|
|
378
|
-
migrateStake({ name, wallet, mint, stakeVault }, options) {
|
|
379
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
380
|
-
const stakeV1 = (0, helpers_1.getStakeV1AddressSync)(this.program.programId, name);
|
|
381
|
-
const NFTRewards = (0, helpers_1.getNFTRewardsAddressSync)(this.program.programId, stakeV1);
|
|
382
|
-
const method = this.program.methods
|
|
383
|
-
.migrateStake({
|
|
384
|
-
name,
|
|
385
|
-
stakeVault
|
|
386
|
-
})
|
|
387
|
-
.accounts({
|
|
388
|
-
signer: wallet,
|
|
389
|
-
stakeV1,
|
|
390
|
-
nftRewards: NFTRewards,
|
|
391
|
-
mint: mint
|
|
392
|
-
});
|
|
393
|
-
if (options === null || options === void 0 ? void 0 : options.microLamports) {
|
|
394
|
-
method.postInstructions([
|
|
395
|
-
web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
|
|
396
|
-
microLamports: options.microLamports
|
|
397
|
-
})
|
|
398
|
-
]);
|
|
399
|
-
}
|
|
400
|
-
return method.rpc({ skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight });
|
|
401
|
-
});
|
|
402
|
-
}
|
|
403
378
|
}
|
|
404
379
|
exports.default = Stake;
|
package/dist/test.js
CHANGED
|
@@ -23,22 +23,10 @@ const keypair = web3_js_1.Keypair.fromSecretKey(new Uint8Array(JSON.parse(file.t
|
|
|
23
23
|
const connection = new web3_js_1.Connection(rpc_file.toString(), 'confirmed');
|
|
24
24
|
const wallet = new anchor_1.Wallet(keypair);
|
|
25
25
|
const triadProtocol = new index_1.default(connection, wallet);
|
|
26
|
-
const requestWithdraw = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
27
|
-
const response = yield triadProtocol.stake.requestWithdraw({
|
|
28
|
-
wallet: wallet.publicKey,
|
|
29
|
-
name: 'Triad 873',
|
|
30
|
-
mint: new web3_js_1.PublicKey('FnLsRRfs7Ghhiwybr7fzZhFyfQEKQbxCJMtLghjiKLHy'),
|
|
31
|
-
stakeVault: constants_1.STAKE_SEASON
|
|
32
|
-
}, {
|
|
33
|
-
microLamports: 10000,
|
|
34
|
-
skipPreflight: true
|
|
35
|
-
});
|
|
36
|
-
console.log(response);
|
|
37
|
-
});
|
|
38
26
|
const updateStakeVaultStatus = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
39
27
|
const response = yield triadProtocol.stake.updateStakeVaultStatus({
|
|
40
28
|
wallet: wallet.publicKey,
|
|
41
|
-
isLocked:
|
|
29
|
+
isLocked: false,
|
|
42
30
|
week: 4,
|
|
43
31
|
stakeVault: constants_1.STAKE_SEASON
|
|
44
32
|
}, {
|
|
@@ -47,66 +35,23 @@ const updateStakeVaultStatus = () => __awaiter(void 0, void 0, void 0, function*
|
|
|
47
35
|
});
|
|
48
36
|
console.log(response);
|
|
49
37
|
});
|
|
50
|
-
|
|
51
|
-
const response = yield triadProtocol.stake.withdrawStake({
|
|
52
|
-
wallet: wallet.publicKey,
|
|
53
|
-
name: 'Triad 2807',
|
|
54
|
-
mint: new web3_js_1.PublicKey('A4fu2s6bCbKAveVgACkxpMgtJUHqoRJsTyzRp1Jp8nuE'),
|
|
55
|
-
stakeVault: constants_1.STAKE_SEASON
|
|
56
|
-
}, {
|
|
57
|
-
microLamports: 10000,
|
|
58
|
-
skipPreflight: true
|
|
59
|
-
});
|
|
60
|
-
console.log(response);
|
|
61
|
-
});
|
|
38
|
+
updateStakeVaultStatus();
|
|
62
39
|
const getStake = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
63
40
|
const response = yield triadProtocol.stake.getStakeByWallet(new web3_js_1.PublicKey('BCTdjdcjMiECGFbF5Ps15yjLRPzy5YZGJNa4VdGRbhjB'), constants_1.STAKE_SEASON);
|
|
64
41
|
const stakeVaults = yield triadProtocol.stake.getStakeVaults();
|
|
65
42
|
console.log(response);
|
|
66
43
|
console.log(stakeVaults);
|
|
67
44
|
});
|
|
68
|
-
const claimStakeRewardsV1 = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
69
|
-
const response = yield triadProtocol.stake.claimStakeRewards({
|
|
70
|
-
wallet: wallet.publicKey,
|
|
71
|
-
mint: new web3_js_1.PublicKey('t3DohmswhKk94PPbPYwA6ZKACyY3y5kbcqeQerAJjmV'),
|
|
72
|
-
stakeVault: constants_1.STAKE_SEASON,
|
|
73
|
-
nftName: 'Triad 2807'
|
|
74
|
-
}, {
|
|
75
|
-
skipPreflight: true,
|
|
76
|
-
microLamports: 10000
|
|
77
|
-
});
|
|
78
|
-
console.log(response);
|
|
79
|
-
});
|
|
80
|
-
const stake = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
81
|
-
const response = yield triadProtocol.stake.stakeNft({
|
|
82
|
-
name: 'Triad 0',
|
|
83
|
-
wallet: wallet.publicKey,
|
|
84
|
-
stakeVault: 'Rev 1',
|
|
85
|
-
mint: new web3_js_1.PublicKey('FXRhaGeYue7bMCwcksNw4hJRY7jZ1YMwgmCu1Y8fyUNd')
|
|
86
|
-
}, {
|
|
87
|
-
skipPreflight: true,
|
|
88
|
-
microLamports: 20000
|
|
89
|
-
});
|
|
90
|
-
console.log(response);
|
|
91
|
-
});
|
|
92
45
|
const getUsers = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
93
46
|
const response = yield triadProtocol.getUsers();
|
|
94
47
|
console.log(response);
|
|
95
48
|
});
|
|
96
|
-
const
|
|
97
|
-
const response = yield triadProtocol.
|
|
49
|
+
const getStakes = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
50
|
+
const response = yield triadProtocol.stake.getStakes(constants_1.STAKE_SEASON);
|
|
98
51
|
console.log(response);
|
|
52
|
+
fs_1.default.writeFileSync('stakes.json', JSON.stringify(response));
|
|
99
53
|
});
|
|
100
|
-
getReferral()
|
|
101
|
-
const
|
|
102
|
-
const response = yield triadProtocol.stake.migrateStake({
|
|
103
|
-
wallet: wallet.publicKey,
|
|
104
|
-
name: 'Triad 2972',
|
|
105
|
-
mint: new web3_js_1.PublicKey('9vnAPEnSj8EppTRUw6xuFSHLWvdMagKFzxoJujkUFHyg'),
|
|
106
|
-
stakeVault: constants_1.STAKE_SEASON
|
|
107
|
-
}, {
|
|
108
|
-
skipPreflight: true,
|
|
109
|
-
microLamports: 10000
|
|
110
|
-
});
|
|
54
|
+
const getReferral = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
55
|
+
const response = yield triadProtocol.hasReferral('a');
|
|
111
56
|
console.log(response);
|
|
112
57
|
});
|
package/dist/types/stake.d.ts
CHANGED
|
@@ -6,12 +6,18 @@ 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;
|
|
12
|
-
name: string;
|
|
13
|
-
mint: PublicKey;
|
|
14
16
|
stakeVault: string;
|
|
17
|
+
items: {
|
|
18
|
+
mint: PublicKey;
|
|
19
|
+
name: string;
|
|
20
|
+
}[];
|
|
15
21
|
};
|
|
16
22
|
export type StakeTokenArgs = {
|
|
17
23
|
name: string;
|