@triadxyz/triad-protocol 0.5.2-beta.devnet → 0.5.4-beta.devnet
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.d.ts +3 -5
- package/dist/index.js +17 -9
- package/dist/{test.js → local-test.js} +2 -2
- package/dist/stake.d.ts +14 -13
- package/dist/stake.js +51 -87
- package/dist/trade.d.ts +17 -0
- package/dist/trade.js +77 -0
- package/dist/types/idl_triad_protocol.json +313 -202
- package/dist/types/index.d.ts +1 -14
- package/dist/types/stake.d.ts +0 -4
- package/dist/types/trade.d.ts +22 -0
- package/dist/types/trade.js +2 -0
- package/dist/types/triad_protocol.d.ts +1488 -528
- package/dist/utils/constants.d.ts +5 -9
- package/dist/utils/constants.js +6 -10
- package/dist/utils/helpers.d.ts +0 -2
- package/dist/utils/helpers.js +2 -13
- package/package.json +2 -3
- package/dist/ticker.d.ts +0 -33
- package/dist/ticker.js +0 -43
- package/dist/vault.d.ts +0 -48
- package/dist/vault.js +0 -44
- /package/dist/{test.d.ts → local-test.d.ts} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import { AnchorProvider, Program, Wallet } from '@coral-xyz/anchor';
|
|
2
2
|
import { Connection, PublicKey } from '@solana/web3.js';
|
|
3
3
|
import { TriadProtocol } from './types/triad_protocol';
|
|
4
|
-
import
|
|
5
|
-
import Vault from './vault';
|
|
4
|
+
import Trade from './trade';
|
|
6
5
|
import Stake from './stake';
|
|
7
6
|
import { CreateUserArgs, RpcOptions } from './types';
|
|
8
7
|
export default class TriadProtocolClient {
|
|
9
8
|
program: Program<TriadProtocol>;
|
|
10
9
|
provider: AnchorProvider;
|
|
11
|
-
|
|
12
|
-
vault: Vault;
|
|
10
|
+
trade: Trade;
|
|
13
11
|
stake: Stake;
|
|
14
12
|
constructor(connection: Connection, wallet: Wallet);
|
|
15
13
|
/**
|
|
@@ -31,7 +29,7 @@ export default class TriadProtocolClient {
|
|
|
31
29
|
* Get Refferal
|
|
32
30
|
* @param name - User name
|
|
33
31
|
*/
|
|
34
|
-
|
|
32
|
+
getReferral: (name: string) => Promise<string>;
|
|
35
33
|
/**
|
|
36
34
|
* Create User
|
|
37
35
|
* @param wallet - User wallet
|
package/dist/index.js
CHANGED
|
@@ -15,8 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
const anchor_1 = require("@coral-xyz/anchor");
|
|
16
16
|
const web3_js_1 = require("@solana/web3.js");
|
|
17
17
|
const idl_triad_protocol_json_1 = __importDefault(require("./types/idl_triad_protocol.json"));
|
|
18
|
-
const
|
|
19
|
-
const vault_1 = __importDefault(require("./vault"));
|
|
18
|
+
const trade_1 = __importDefault(require("./trade"));
|
|
20
19
|
const helpers_1 = require("./utils/helpers");
|
|
21
20
|
const stake_1 = __importDefault(require("./stake"));
|
|
22
21
|
class TriadProtocolClient {
|
|
@@ -57,13 +56,23 @@ class TriadProtocolClient {
|
|
|
57
56
|
* Get Refferal
|
|
58
57
|
* @param name - User name
|
|
59
58
|
*/
|
|
60
|
-
this.
|
|
59
|
+
this.getReferral = (name) => __awaiter(this, void 0, void 0, function* () {
|
|
61
60
|
try {
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
const users = yield this.program.account.user.all([
|
|
62
|
+
{
|
|
63
|
+
memcmp: {
|
|
64
|
+
offset: 8,
|
|
65
|
+
bytes: Buffer.from(name).toString('base64')
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
]);
|
|
69
|
+
if (users.length > 0) {
|
|
70
|
+
return users[0].publicKey.toString();
|
|
71
|
+
}
|
|
72
|
+
return '';
|
|
65
73
|
}
|
|
66
|
-
catch (
|
|
74
|
+
catch (error) {
|
|
75
|
+
console.error('Error fetching referral:', error);
|
|
67
76
|
return '';
|
|
68
77
|
}
|
|
69
78
|
});
|
|
@@ -95,8 +104,7 @@ class TriadProtocolClient {
|
|
|
95
104
|
};
|
|
96
105
|
this.provider = new anchor_1.AnchorProvider(connection, wallet, anchor_1.AnchorProvider.defaultOptions());
|
|
97
106
|
this.program = new anchor_1.Program(idl_triad_protocol_json_1.default, this.provider);
|
|
98
|
-
this.
|
|
99
|
-
this.vault = new vault_1.default(this.program, this.provider);
|
|
107
|
+
this.trade = new trade_1.default(this.program, this.provider);
|
|
100
108
|
this.stake = new stake_1.default(this.program, this.provider);
|
|
101
109
|
}
|
|
102
110
|
}
|
|
@@ -27,8 +27,8 @@ const triadProtocol = new index_1.default(connection, wallet);
|
|
|
27
27
|
const depositStakeRewards = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
28
28
|
const response = yield triadProtocol.stake.depositStakeRewards({
|
|
29
29
|
wallet: wallet.publicKey,
|
|
30
|
-
mint:
|
|
31
|
-
amount: new anchor_1.BN(
|
|
30
|
+
mint: constants_1.TRD_MINT,
|
|
31
|
+
amount: new anchor_1.BN(0 * Math.pow(10, 6))
|
|
32
32
|
});
|
|
33
33
|
console.log(response);
|
|
34
34
|
});
|
package/dist/stake.d.ts
CHANGED
|
@@ -17,23 +17,25 @@ export default class Stake {
|
|
|
17
17
|
* Get Stake Rewards
|
|
18
18
|
*/
|
|
19
19
|
getStakeRewards({ wallet, nftName, collections, rank }: ClaimStakeRewardsArgs): Promise<number>;
|
|
20
|
+
/**
|
|
21
|
+
* Get all Stakes
|
|
22
|
+
*/
|
|
20
23
|
getStakes(): Promise<StakeResponse[]>;
|
|
21
24
|
/**
|
|
22
|
-
* Get
|
|
25
|
+
* Get User Stakes
|
|
26
|
+
*/
|
|
27
|
+
getUserStakes(wallet: PublicKey): Promise<StakeResponse[]>;
|
|
28
|
+
/**
|
|
29
|
+
* Get Stake By Wallet
|
|
23
30
|
* @param wallet - User wallet
|
|
24
31
|
* @param collections - NFT collections
|
|
25
|
-
*
|
|
32
|
+
* @param tensor rank
|
|
26
33
|
*/
|
|
27
34
|
getStakeByWallet(wallet: PublicKey, collections: number, ranks: {
|
|
28
35
|
onchainId: string;
|
|
29
36
|
name: string;
|
|
30
37
|
rarityRankHrtt: number;
|
|
31
38
|
}[]): Promise<StakeResponse[]>;
|
|
32
|
-
/**
|
|
33
|
-
* Get Stakes by day
|
|
34
|
-
* @param day - Day timestamp
|
|
35
|
-
*/
|
|
36
|
-
getStakesByDay(day: number): Promise<StakeResponse[]>;
|
|
37
39
|
/**
|
|
38
40
|
* Stake NFT
|
|
39
41
|
* @param mint - NFT mint
|
|
@@ -42,11 +44,10 @@ export default class Stake {
|
|
|
42
44
|
*/
|
|
43
45
|
stakeNft({ wallet, items }: StakeNftArgs, options?: RpcOptions): Promise<string>;
|
|
44
46
|
/**
|
|
45
|
-
* Stake
|
|
47
|
+
* Stake Token
|
|
48
|
+
* @param name - Index
|
|
46
49
|
* @param wallet - User wallet
|
|
47
|
-
* @param
|
|
48
|
-
* @param collections - NFT collections
|
|
49
|
-
* @param rarity - NFT rarity
|
|
50
|
+
* @param amount - Amount to stake
|
|
50
51
|
*
|
|
51
52
|
*/
|
|
52
53
|
stakeToken({ name, wallet, amount }: StakeTokenArgs, options?: RpcOptions): Promise<string>;
|
|
@@ -82,9 +83,9 @@ export default class Stake {
|
|
|
82
83
|
*/
|
|
83
84
|
claimStakeRewards({ wallet, nftName, collections, rank }: ClaimStakeRewardsArgs, options?: RpcOptions): Promise<import("@solana/web3.js").Transaction>;
|
|
84
85
|
/**
|
|
85
|
-
* Update
|
|
86
|
+
* Update Boost
|
|
86
87
|
* @param wallet - User wallet
|
|
87
|
-
* @param
|
|
88
|
+
* @param nfts - Name of the nfts
|
|
88
89
|
*
|
|
89
90
|
*/
|
|
90
91
|
updateBoost({ wallet, nfts }: UpdateBoostArgs, options?: RpcOptions): Promise<string>;
|
package/dist/stake.js
CHANGED
|
@@ -35,11 +35,8 @@ class Stake {
|
|
|
35
35
|
*/
|
|
36
36
|
getStakeRewards({ wallet, nftName, collections, rank }) {
|
|
37
37
|
return __awaiter(this, void 0, void 0, function* () {
|
|
38
|
-
const
|
|
39
|
-
const
|
|
40
|
-
const Stake = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, nftName);
|
|
41
|
-
const FromAta = (0, helpers_1.getATASync)(StakeVault, mint);
|
|
42
|
-
const ToAta = (0, helpers_1.getATASync)(wallet, mint);
|
|
38
|
+
const stakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, this.stakeVaultName);
|
|
39
|
+
const stakePDA = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, nftName);
|
|
43
40
|
const method = yield this.program.methods
|
|
44
41
|
.claimStakeRewards({
|
|
45
42
|
collections,
|
|
@@ -47,40 +44,55 @@ class Stake {
|
|
|
47
44
|
})
|
|
48
45
|
.accounts({
|
|
49
46
|
signer: wallet,
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
stakeVault: StakeVault,
|
|
55
|
-
verifier: new web3_js_1.PublicKey(constants_1.VERIFIER)
|
|
47
|
+
mint: constants_1.TRD_MINT,
|
|
48
|
+
stake: stakePDA,
|
|
49
|
+
stakeVault: stakeVaultPDA,
|
|
50
|
+
verifier: constants_1.VERIFIER
|
|
56
51
|
})
|
|
57
52
|
.simulate();
|
|
58
53
|
let value = method.raw[method.raw.length - 2].split(' ')[3];
|
|
59
|
-
return new anchor_1.BN((0, base64_js_1.toByteArray)(value), 'le').toNumber() / Math.pow(10, constants_1.
|
|
54
|
+
return new anchor_1.BN((0, base64_js_1.toByteArray)(value), 'le').toNumber() / Math.pow(10, constants_1.TRD_DECIMALS);
|
|
60
55
|
});
|
|
61
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Get all Stakes
|
|
59
|
+
*/
|
|
62
60
|
getStakes() {
|
|
63
61
|
return __awaiter(this, void 0, void 0, function* () {
|
|
64
62
|
const response = yield this.program.account.stakeV2.all();
|
|
65
|
-
|
|
66
|
-
return response
|
|
67
|
-
.filter((item) => item.account.stakeVault.toBase58() === StakeVault.toBase58())
|
|
68
|
-
.map((stake) => (0, helpers_1.formatStake)(stake.account));
|
|
63
|
+
return response.map((stake) => (0, helpers_1.formatStake)(stake.account));
|
|
69
64
|
});
|
|
70
65
|
}
|
|
71
66
|
/**
|
|
72
|
-
* Get
|
|
67
|
+
* Get User Stakes
|
|
68
|
+
*/
|
|
69
|
+
getUserStakes(wallet) {
|
|
70
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
+
const response = yield this.program.account.stakeV2.all([
|
|
72
|
+
{
|
|
73
|
+
memcmp: {
|
|
74
|
+
offset: 8 + 1,
|
|
75
|
+
bytes: wallet.toBase58()
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
]);
|
|
79
|
+
return response.map((stake) => (0, helpers_1.formatStake)(stake.account));
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Get Stake By Wallet
|
|
73
84
|
* @param wallet - User wallet
|
|
74
85
|
* @param collections - NFT collections
|
|
75
|
-
*
|
|
86
|
+
* @param tensor rank
|
|
76
87
|
*/
|
|
77
88
|
getStakeByWallet(wallet, collections, ranks) {
|
|
78
89
|
return __awaiter(this, void 0, void 0, function* () {
|
|
79
|
-
const response =
|
|
90
|
+
const response = yield this.getUserStakes(wallet);
|
|
80
91
|
const data = [];
|
|
81
92
|
for (const stake of response) {
|
|
82
93
|
const getRank = (0, getRarity_1.getRarityRank)(ranks, stake.mint, stake.name);
|
|
83
94
|
let available = 0;
|
|
95
|
+
yield new Promise((resolve) => setTimeout(resolve, 1000));
|
|
84
96
|
try {
|
|
85
97
|
available = yield this.getStakeRewards({
|
|
86
98
|
wallet,
|
|
@@ -90,31 +102,11 @@ class Stake {
|
|
|
90
102
|
});
|
|
91
103
|
}
|
|
92
104
|
catch (_a) { }
|
|
93
|
-
yield new Promise((resolve) => setTimeout(resolve, 500));
|
|
94
105
|
data.push(Object.assign(Object.assign({}, stake), { available }));
|
|
95
106
|
}
|
|
96
107
|
return data;
|
|
97
108
|
});
|
|
98
109
|
}
|
|
99
|
-
/**
|
|
100
|
-
* Get Stakes by day
|
|
101
|
-
* @param day - Day timestamp
|
|
102
|
-
*/
|
|
103
|
-
getStakesByDay(day) {
|
|
104
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
105
|
-
const stakes = yield this.getStakes();
|
|
106
|
-
const rewards = [];
|
|
107
|
-
stakes.forEach((stake) => {
|
|
108
|
-
const date = stake.initTs * 1000;
|
|
109
|
-
const stakeDay = day * 1000;
|
|
110
|
-
const currentDate = new Date().getTime();
|
|
111
|
-
if (date <= stakeDay && stakeDay <= currentDate) {
|
|
112
|
-
rewards.push(stake);
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
return rewards;
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
110
|
/**
|
|
119
111
|
* Stake NFT
|
|
120
112
|
* @param mint - NFT mint
|
|
@@ -124,11 +116,8 @@ class Stake {
|
|
|
124
116
|
stakeNft({ wallet, items }, options) {
|
|
125
117
|
return __awaiter(this, void 0, void 0, function* () {
|
|
126
118
|
let ixs = [];
|
|
127
|
-
const stakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, this.stakeVaultName);
|
|
128
119
|
for (let i = 0; i < items.length; i++) {
|
|
129
120
|
let item = items[i];
|
|
130
|
-
const FromAta = (0, helpers_1.getATASync)(wallet, item.mint);
|
|
131
|
-
const toAta = (0, helpers_1.getATASync)(stakeVaultPDA, item.mint);
|
|
132
121
|
ixs.push(yield this.program.methods
|
|
133
122
|
.stakeNft({
|
|
134
123
|
name: item.name,
|
|
@@ -136,9 +125,7 @@ class Stake {
|
|
|
136
125
|
})
|
|
137
126
|
.accounts({
|
|
138
127
|
signer: wallet,
|
|
139
|
-
|
|
140
|
-
mint: item.mint,
|
|
141
|
-
toAta: toAta
|
|
128
|
+
mint: item.mint
|
|
142
129
|
})
|
|
143
130
|
.instruction());
|
|
144
131
|
}
|
|
@@ -161,20 +148,15 @@ class Stake {
|
|
|
161
148
|
});
|
|
162
149
|
}
|
|
163
150
|
/**
|
|
164
|
-
* Stake
|
|
151
|
+
* Stake Token
|
|
152
|
+
* @param name - Index
|
|
165
153
|
* @param wallet - User wallet
|
|
166
|
-
* @param
|
|
167
|
-
* @param collections - NFT collections
|
|
168
|
-
* @param rarity - NFT rarity
|
|
154
|
+
* @param amount - Amount to stake
|
|
169
155
|
*
|
|
170
156
|
*/
|
|
171
157
|
stakeToken({ name, wallet, amount }, options) {
|
|
172
158
|
return __awaiter(this, void 0, void 0, function* () {
|
|
173
|
-
const stakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, this.stakeVaultName);
|
|
174
|
-
const ttriad = new web3_js_1.PublicKey(constants_1.TTRIAD_MINT);
|
|
175
|
-
const FromAta = (0, helpers_1.getATASync)(wallet, ttriad);
|
|
176
159
|
const userPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, wallet);
|
|
177
|
-
const toAta = (0, helpers_1.getATASync)(stakeVaultPDA, ttriad);
|
|
178
160
|
const method = this.program.methods
|
|
179
161
|
.stakeToken({
|
|
180
162
|
name,
|
|
@@ -183,10 +165,8 @@ class Stake {
|
|
|
183
165
|
})
|
|
184
166
|
.accounts({
|
|
185
167
|
signer: wallet,
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
user: userPDA,
|
|
189
|
-
toAta: toAta
|
|
168
|
+
mint: constants_1.TRD_MINT,
|
|
169
|
+
user: userPDA
|
|
190
170
|
});
|
|
191
171
|
if (options === null || options === void 0 ? void 0 : options.microLamports) {
|
|
192
172
|
method.postInstructions([
|
|
@@ -207,9 +187,6 @@ class Stake {
|
|
|
207
187
|
*/
|
|
208
188
|
depositStakeRewards({ wallet, mint, amount }, options) {
|
|
209
189
|
return __awaiter(this, void 0, void 0, function* () {
|
|
210
|
-
const StakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, this.stakeVaultName);
|
|
211
|
-
const FromAta = (0, helpers_1.getATASync)(wallet, mint);
|
|
212
|
-
const ToAta = (0, helpers_1.getATASync)(StakeVaultPDA, mint);
|
|
213
190
|
const method = this.program.methods
|
|
214
191
|
.depositStakeRewards({
|
|
215
192
|
amount,
|
|
@@ -217,9 +194,7 @@ class Stake {
|
|
|
217
194
|
})
|
|
218
195
|
.accounts({
|
|
219
196
|
signer: wallet,
|
|
220
|
-
|
|
221
|
-
mint: mint,
|
|
222
|
-
toAta: ToAta
|
|
197
|
+
mint: mint
|
|
223
198
|
});
|
|
224
199
|
if (options === null || options === void 0 ? void 0 : options.microLamports) {
|
|
225
200
|
method.postInstructions([
|
|
@@ -241,11 +216,11 @@ class Stake {
|
|
|
241
216
|
return __awaiter(this, void 0, void 0, function* () {
|
|
242
217
|
const stakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, this.stakeVaultName);
|
|
243
218
|
const stakePDA = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, name);
|
|
244
|
-
const
|
|
219
|
+
const userPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, wallet);
|
|
245
220
|
const method = this.program.methods.requestWithdrawStake().accounts({
|
|
246
221
|
signer: wallet,
|
|
247
222
|
mint: mint,
|
|
248
|
-
user:
|
|
223
|
+
user: userPDA,
|
|
249
224
|
stake: stakePDA,
|
|
250
225
|
stakeVault: stakeVaultPDA
|
|
251
226
|
});
|
|
@@ -270,17 +245,13 @@ class Stake {
|
|
|
270
245
|
return __awaiter(this, void 0, void 0, function* () {
|
|
271
246
|
const stakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, this.stakeVaultName);
|
|
272
247
|
const userPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, wallet);
|
|
273
|
-
const FromAta = (0, helpers_1.getATASync)(stakeVaultPDA, mint);
|
|
274
248
|
const stakePDA = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, name);
|
|
275
|
-
const ToAta = (0, helpers_1.getATASync)(wallet, mint);
|
|
276
249
|
const method = this.program.methods.withdrawStake().accounts({
|
|
277
250
|
signer: wallet,
|
|
278
|
-
fromAta: FromAta,
|
|
279
251
|
stake: stakePDA,
|
|
280
252
|
stakeVault: stakeVaultPDA,
|
|
281
|
-
admin:
|
|
253
|
+
admin: constants_1.TRIAD_ADMIN,
|
|
282
254
|
mint: mint,
|
|
283
|
-
toAta: ToAta,
|
|
284
255
|
user: userPDA
|
|
285
256
|
});
|
|
286
257
|
if (options === null || options === void 0 ? void 0 : options.microLamports) {
|
|
@@ -302,11 +273,8 @@ class Stake {
|
|
|
302
273
|
*/
|
|
303
274
|
claimStakeRewards({ wallet, nftName, collections, rank }, options) {
|
|
304
275
|
return __awaiter(this, void 0, void 0, function* () {
|
|
305
|
-
const
|
|
306
|
-
const
|
|
307
|
-
const Stake = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, nftName);
|
|
308
|
-
const FromAta = (0, helpers_1.getATASync)(StakeVault, mint);
|
|
309
|
-
const ToAta = (0, helpers_1.getATASync)(wallet, mint);
|
|
276
|
+
const stakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, this.stakeVaultName);
|
|
277
|
+
const stakePDA = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, nftName);
|
|
310
278
|
const method = this.program.methods
|
|
311
279
|
.claimStakeRewards({
|
|
312
280
|
collections,
|
|
@@ -314,12 +282,10 @@ class Stake {
|
|
|
314
282
|
})
|
|
315
283
|
.accounts({
|
|
316
284
|
signer: wallet,
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
stakeVault: StakeVault,
|
|
322
|
-
verifier: new web3_js_1.PublicKey(constants_1.VERIFIER)
|
|
285
|
+
mint: constants_1.TRD_MINT,
|
|
286
|
+
stake: stakePDA,
|
|
287
|
+
stakeVault: stakeVaultPDA,
|
|
288
|
+
verifier: constants_1.VERIFIER
|
|
323
289
|
});
|
|
324
290
|
if (options === null || options === void 0 ? void 0 : options.microLamports) {
|
|
325
291
|
method.postInstructions([
|
|
@@ -332,9 +298,9 @@ class Stake {
|
|
|
332
298
|
});
|
|
333
299
|
}
|
|
334
300
|
/**
|
|
335
|
-
* Update
|
|
301
|
+
* Update Boost
|
|
336
302
|
* @param wallet - User wallet
|
|
337
|
-
* @param
|
|
303
|
+
* @param nfts - Name of the nfts
|
|
338
304
|
*
|
|
339
305
|
*/
|
|
340
306
|
updateBoost({ wallet, nfts }, options) {
|
|
@@ -356,13 +322,11 @@ class Stake {
|
|
|
356
322
|
}));
|
|
357
323
|
}
|
|
358
324
|
const { blockhash } = yield this.provider.connection.getLatestBlockhash();
|
|
359
|
-
|
|
325
|
+
return this.provider.sendAndConfirm(new web3_js_1.VersionedTransaction(new web3_js_1.TransactionMessage({
|
|
360
326
|
instructions: ixs,
|
|
361
327
|
recentBlockhash: blockhash,
|
|
362
328
|
payerKey: wallet
|
|
363
|
-
}).compileToV0Message()
|
|
364
|
-
const tx = new web3_js_1.VersionedTransaction(messageV0);
|
|
365
|
-
return this.provider.sendAndConfirm(tx, [], {
|
|
329
|
+
}).compileToV0Message()), [], {
|
|
366
330
|
skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight,
|
|
367
331
|
commitment: 'confirmed'
|
|
368
332
|
});
|
package/dist/trade.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AnchorProvider, Program } from '@coral-xyz/anchor';
|
|
2
|
+
import { TriadProtocol } from './types/triad_protocol';
|
|
3
|
+
import { Market } from './types/trade';
|
|
4
|
+
import { PublicKey } from '@solana/web3.js';
|
|
5
|
+
export default class Trade {
|
|
6
|
+
program: Program<TriadProtocol>;
|
|
7
|
+
provider: AnchorProvider;
|
|
8
|
+
constructor(program: Program<TriadProtocol>, provider: AnchorProvider);
|
|
9
|
+
/**
|
|
10
|
+
* Get all Markets
|
|
11
|
+
*/
|
|
12
|
+
getMarkets(): Promise<Market[]>;
|
|
13
|
+
/**
|
|
14
|
+
* Get Market By Address
|
|
15
|
+
*/
|
|
16
|
+
getMarketByAddress(address: PublicKey): Promise<Market>;
|
|
17
|
+
}
|
package/dist/trade.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
class Trade {
|
|
13
|
+
constructor(program, provider) {
|
|
14
|
+
this.provider = provider;
|
|
15
|
+
this.program = program;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Get all Markets
|
|
19
|
+
*/
|
|
20
|
+
getMarkets() {
|
|
21
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
+
return this.program.account.market.all().then((markets) => markets.map(({ account }) => ({
|
|
23
|
+
bump: account.bump,
|
|
24
|
+
authority: account.authority.toString(),
|
|
25
|
+
marketId: account.marketId.toNumber(),
|
|
26
|
+
name: account.name,
|
|
27
|
+
hypePrice: account.hypePrice.toNumber(),
|
|
28
|
+
flopPrice: account.flopPrice.toNumber(),
|
|
29
|
+
hypeLiquidity: account.hypeLiquidity.toNumber(),
|
|
30
|
+
flopLiquidity: account.flopLiquidity.toNumber(),
|
|
31
|
+
totalHypeShares: account.totalHypeShares.toNumber(),
|
|
32
|
+
totalFlopShares: account.totalFlopShares.toNumber(),
|
|
33
|
+
totalVolume: account.totalVolume.toNumber(),
|
|
34
|
+
vaultTokenAccount: account.vaultTokenAccount.toString(),
|
|
35
|
+
mint: account.mint.toString(),
|
|
36
|
+
lastUpdateTs: account.lastUpdateTs.toNumber(),
|
|
37
|
+
openOrdersCount: account.openOrdersCount.toNumber(),
|
|
38
|
+
nextOrderId: account.nextOrderId.toNumber(),
|
|
39
|
+
feeBps: account.feeBps,
|
|
40
|
+
feeVault: account.feeVault.toBase58(),
|
|
41
|
+
isActive: account.isActive,
|
|
42
|
+
isOfficial: account.isOfficial
|
|
43
|
+
})));
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Get Market By Address
|
|
48
|
+
*/
|
|
49
|
+
getMarketByAddress(address) {
|
|
50
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
const account = yield this.program.account.market.fetch(address);
|
|
52
|
+
return {
|
|
53
|
+
bump: account.bump,
|
|
54
|
+
authority: account.authority.toString(),
|
|
55
|
+
marketId: account.marketId.toNumber(),
|
|
56
|
+
name: account.name,
|
|
57
|
+
hypePrice: account.hypePrice.toNumber(),
|
|
58
|
+
flopPrice: account.flopPrice.toNumber(),
|
|
59
|
+
hypeLiquidity: account.hypeLiquidity.toNumber(),
|
|
60
|
+
flopLiquidity: account.flopLiquidity.toNumber(),
|
|
61
|
+
totalHypeShares: account.totalHypeShares.toNumber(),
|
|
62
|
+
totalFlopShares: account.totalFlopShares.toNumber(),
|
|
63
|
+
totalVolume: account.totalVolume.toNumber(),
|
|
64
|
+
vaultTokenAccount: account.vaultTokenAccount.toString(),
|
|
65
|
+
mint: account.mint.toString(),
|
|
66
|
+
lastUpdateTs: account.lastUpdateTs.toNumber(),
|
|
67
|
+
openOrdersCount: account.openOrdersCount.toNumber(),
|
|
68
|
+
nextOrderId: account.nextOrderId.toNumber(),
|
|
69
|
+
feeBps: account.feeBps,
|
|
70
|
+
feeVault: account.feeVault.toBase58(),
|
|
71
|
+
isActive: account.isActive,
|
|
72
|
+
isOfficial: account.isOfficial
|
|
73
|
+
};
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
exports.default = Trade;
|