@triadxyz/triad-protocol 0.1.3-alpha.7 → 0.1.3-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 +112 -213
- package/dist/stake.js +359 -60
- package/dist/test.d.ts +1 -17
- package/dist/test.js +98 -38
- package/dist/types/idl_triad_protocol.json +724 -177
- package/dist/types/stake.d.ts +138 -0
- package/dist/types/stake.js +20 -0
- package/dist/types/triad_protocol.d.ts +590 -183
- package/dist/utils/constants.d.ts +32 -2
- package/dist/utils/constants.js +15 -3
- package/dist/utils/helpers.d.ts +18 -0
- package/dist/utils/helpers.js +84 -2
- package/package.json +4 -2
package/dist/stake.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { AnchorProvider, Program } from '@coral-xyz/anchor';
|
|
2
2
|
import { PublicKey } from '@solana/web3.js';
|
|
3
3
|
import { TriadProtocol } from './types/triad_protocol';
|
|
4
|
-
import BN from 'bn.js';
|
|
5
4
|
import { RpcOptions } from './types';
|
|
5
|
+
import { DepositStakeRewardsArgs, InitializeStakeArgs, StakeNftArgsV1, RequestWithdrawArgs, WithdrawArgs, StakeResponse, UpdateStakeVaultStatusArgs, ClaimStakeRewardsArgs, CreateUserArgs, StakeTokenArgs, MigrateStakeArgs } from './types/stake';
|
|
6
6
|
export default class Stake {
|
|
7
7
|
program: Program<TriadProtocol>;
|
|
8
8
|
provider: AnchorProvider;
|
|
@@ -10,188 +10,47 @@ export default class Stake {
|
|
|
10
10
|
/**
|
|
11
11
|
* Get all Stake Vaults
|
|
12
12
|
*/
|
|
13
|
-
getStakeVaults(): Promise<
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
getStakeVaults(): Promise<import("./types/stake").StakeVaultResponse[]>;
|
|
14
|
+
/**
|
|
15
|
+
* Get all Users
|
|
16
|
+
*/
|
|
17
|
+
getUsers(): Promise<import("./types/stake").UserResponse[]>;
|
|
18
|
+
/**
|
|
19
|
+
* Get Stake Vault by name
|
|
20
|
+
* @param stakeVault - Stake Vault name
|
|
21
|
+
*/
|
|
22
|
+
getStakeVaultByName(stakeVault: string): Promise<import("./types/stake").StakeVaultResponse>;
|
|
23
|
+
/**
|
|
24
|
+
* Get all stakes by vault
|
|
25
|
+
* @param stakeVault - Stake Vault name
|
|
26
|
+
*
|
|
27
|
+
*/
|
|
28
|
+
getStakes(stakeVault: string): Promise<StakeResponse[]>;
|
|
29
|
+
/**
|
|
30
|
+
* Get Stake by wallet
|
|
31
|
+
* @param wallet - User wallet
|
|
32
|
+
* @param stakeVault - Stake Vault name
|
|
33
|
+
*
|
|
34
|
+
*/
|
|
35
|
+
getStakeByWallet(wallet: PublicKey, stakeVault: string): Promise<StakeResponse[]>;
|
|
36
|
+
/**
|
|
37
|
+
* Get Stake Vault Rewards details
|
|
38
|
+
* @param stakeVault - Stake Vault name
|
|
39
|
+
*/
|
|
40
|
+
getStakeVaultRewards(stakeVault: string): Promise<{
|
|
17
41
|
amount: number;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
*
|
|
28
|
-
*/
|
|
29
|
-
|
|
30
|
-
name: string;
|
|
31
|
-
collections: (({
|
|
32
|
-
undead?: never;
|
|
33
|
-
alligators?: never;
|
|
34
|
-
pyth?: never;
|
|
35
|
-
} & {
|
|
36
|
-
coleta: Record<string, never>;
|
|
37
|
-
}) | ({
|
|
38
|
-
coleta?: never;
|
|
39
|
-
alligators?: never;
|
|
40
|
-
pyth?: never;
|
|
41
|
-
} & {
|
|
42
|
-
undead: Record<string, never>;
|
|
43
|
-
}) | ({
|
|
44
|
-
coleta?: never;
|
|
45
|
-
undead?: never;
|
|
46
|
-
pyth?: never;
|
|
47
|
-
} & {
|
|
48
|
-
alligators: Record<string, never>;
|
|
49
|
-
}) | ({
|
|
50
|
-
coleta?: never;
|
|
51
|
-
undead?: never;
|
|
52
|
-
alligators?: never;
|
|
53
|
-
} & {
|
|
54
|
-
pyth: Record<string, never>;
|
|
55
|
-
}))[];
|
|
56
|
-
rarity: ({
|
|
57
|
-
uncommon?: never;
|
|
58
|
-
rare?: never;
|
|
59
|
-
epic?: never;
|
|
60
|
-
legendary?: never;
|
|
61
|
-
mythic?: never;
|
|
62
|
-
} & {
|
|
63
|
-
common: Record<string, never>;
|
|
64
|
-
}) | ({
|
|
65
|
-
common?: never;
|
|
66
|
-
rare?: never;
|
|
67
|
-
epic?: never;
|
|
68
|
-
legendary?: never;
|
|
69
|
-
mythic?: never;
|
|
70
|
-
} & {
|
|
71
|
-
uncommon: Record<string, never>;
|
|
72
|
-
}) | ({
|
|
73
|
-
common?: never;
|
|
74
|
-
uncommon?: never;
|
|
75
|
-
epic?: never;
|
|
76
|
-
legendary?: never;
|
|
77
|
-
mythic?: never;
|
|
78
|
-
} & {
|
|
79
|
-
rare: Record<string, never>;
|
|
80
|
-
}) | ({
|
|
81
|
-
common?: never;
|
|
82
|
-
uncommon?: never;
|
|
83
|
-
rare?: never;
|
|
84
|
-
legendary?: never;
|
|
85
|
-
mythic?: never;
|
|
86
|
-
} & {
|
|
87
|
-
epic: Record<string, never>;
|
|
88
|
-
}) | ({
|
|
89
|
-
common?: never;
|
|
90
|
-
uncommon?: never;
|
|
91
|
-
rare?: never;
|
|
92
|
-
epic?: never;
|
|
93
|
-
mythic?: never;
|
|
94
|
-
} & {
|
|
95
|
-
legendary: Record<string, never>;
|
|
96
|
-
}) | ({
|
|
97
|
-
common?: never;
|
|
98
|
-
uncommon?: never;
|
|
99
|
-
rare?: never;
|
|
100
|
-
epic?: never;
|
|
101
|
-
legendary?: never;
|
|
102
|
-
} & {
|
|
103
|
-
mythic: Record<string, never>;
|
|
104
|
-
});
|
|
105
|
-
stakeVault: PublicKey;
|
|
106
|
-
account: PublicKey;
|
|
107
|
-
initTs: number;
|
|
108
|
-
isLocked: boolean;
|
|
109
|
-
withdrawTs: number;
|
|
110
|
-
mint: PublicKey;
|
|
111
|
-
}[]>;
|
|
112
|
-
getStakeByWallet(wallet: PublicKey): Promise<{
|
|
113
|
-
name: string;
|
|
114
|
-
collections: (({
|
|
115
|
-
undead?: never;
|
|
116
|
-
alligators?: never;
|
|
117
|
-
pyth?: never;
|
|
118
|
-
} & {
|
|
119
|
-
coleta: Record<string, never>;
|
|
120
|
-
}) | ({
|
|
121
|
-
coleta?: never;
|
|
122
|
-
alligators?: never;
|
|
123
|
-
pyth?: never;
|
|
124
|
-
} & {
|
|
125
|
-
undead: Record<string, never>;
|
|
126
|
-
}) | ({
|
|
127
|
-
coleta?: never;
|
|
128
|
-
undead?: never;
|
|
129
|
-
pyth?: never;
|
|
130
|
-
} & {
|
|
131
|
-
alligators: Record<string, never>;
|
|
132
|
-
}) | ({
|
|
133
|
-
coleta?: never;
|
|
134
|
-
undead?: never;
|
|
135
|
-
alligators?: never;
|
|
136
|
-
} & {
|
|
137
|
-
pyth: Record<string, never>;
|
|
138
|
-
}))[];
|
|
139
|
-
rarity: ({
|
|
140
|
-
uncommon?: never;
|
|
141
|
-
rare?: never;
|
|
142
|
-
epic?: never;
|
|
143
|
-
legendary?: never;
|
|
144
|
-
mythic?: never;
|
|
145
|
-
} & {
|
|
146
|
-
common: Record<string, never>;
|
|
147
|
-
}) | ({
|
|
148
|
-
common?: never;
|
|
149
|
-
rare?: never;
|
|
150
|
-
epic?: never;
|
|
151
|
-
legendary?: never;
|
|
152
|
-
mythic?: never;
|
|
153
|
-
} & {
|
|
154
|
-
uncommon: Record<string, never>;
|
|
155
|
-
}) | ({
|
|
156
|
-
common?: never;
|
|
157
|
-
uncommon?: never;
|
|
158
|
-
epic?: never;
|
|
159
|
-
legendary?: never;
|
|
160
|
-
mythic?: never;
|
|
161
|
-
} & {
|
|
162
|
-
rare: Record<string, never>;
|
|
163
|
-
}) | ({
|
|
164
|
-
common?: never;
|
|
165
|
-
uncommon?: never;
|
|
166
|
-
rare?: never;
|
|
167
|
-
legendary?: never;
|
|
168
|
-
mythic?: never;
|
|
169
|
-
} & {
|
|
170
|
-
epic: Record<string, never>;
|
|
171
|
-
}) | ({
|
|
172
|
-
common?: never;
|
|
173
|
-
uncommon?: never;
|
|
174
|
-
rare?: never;
|
|
175
|
-
epic?: never;
|
|
176
|
-
mythic?: never;
|
|
177
|
-
} & {
|
|
178
|
-
legendary: Record<string, never>;
|
|
179
|
-
}) | ({
|
|
180
|
-
common?: never;
|
|
181
|
-
uncommon?: never;
|
|
182
|
-
rare?: never;
|
|
183
|
-
epic?: never;
|
|
184
|
-
legendary?: never;
|
|
185
|
-
} & {
|
|
186
|
-
mythic: Record<string, never>;
|
|
187
|
-
});
|
|
188
|
-
stakeVault: PublicKey;
|
|
189
|
-
account: PublicKey;
|
|
190
|
-
initTs: number;
|
|
191
|
-
isLocked: boolean;
|
|
192
|
-
withdrawTs: number;
|
|
193
|
-
mint: PublicKey;
|
|
194
|
-
}[]>;
|
|
42
|
+
perDay: number;
|
|
43
|
+
perWeek: number;
|
|
44
|
+
perMonth: number;
|
|
45
|
+
period: number;
|
|
46
|
+
days: number[];
|
|
47
|
+
}>;
|
|
48
|
+
/**
|
|
49
|
+
* Get Stakes by day
|
|
50
|
+
* @param stakeVault - Stake Vault name
|
|
51
|
+
* @param day - Day timestamp
|
|
52
|
+
*/
|
|
53
|
+
getStakesByDay(stakeVault: string, day: number): Promise<StakeResponse[]>;
|
|
195
54
|
/**
|
|
196
55
|
* Stake NFT
|
|
197
56
|
* @param name - NFT name
|
|
@@ -201,42 +60,82 @@ export default class Stake {
|
|
|
201
60
|
* @param rarity - NFT rarity
|
|
202
61
|
*
|
|
203
62
|
*/
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
rarity: {
|
|
215
|
-
common: {};
|
|
216
|
-
} | {
|
|
217
|
-
uncommon: {};
|
|
218
|
-
} | {
|
|
219
|
-
rare: {};
|
|
220
|
-
} | {
|
|
221
|
-
epic: {};
|
|
222
|
-
} | {
|
|
223
|
-
legendary: {};
|
|
224
|
-
} | {
|
|
225
|
-
mythic: {};
|
|
226
|
-
};
|
|
227
|
-
}, options?: RpcOptions): Promise<string>;
|
|
63
|
+
stakeNft({ name, wallet, mint, collections, rarity, stakeVault }: StakeNftArgsV1, options?: RpcOptions): Promise<string>;
|
|
64
|
+
/**
|
|
65
|
+
* Stake NFT
|
|
66
|
+
* @param wallet - User wallet
|
|
67
|
+
* @param mint - NFT mint
|
|
68
|
+
* @param collections - NFT collections
|
|
69
|
+
* @param rarity - NFT rarity
|
|
70
|
+
*
|
|
71
|
+
*/
|
|
72
|
+
stakeToken({ name, wallet, stakeVault, amount }: StakeTokenArgs, options?: RpcOptions): Promise<string>;
|
|
228
73
|
/**
|
|
229
74
|
* Initialize Stake Vault
|
|
230
75
|
* @param name - The ticker's name
|
|
231
|
-
* @param amount - Reward amount
|
|
232
76
|
* @param slots - Amount available to users joining the vault
|
|
233
77
|
* @param collection - The Collection name
|
|
234
78
|
*
|
|
235
79
|
*/
|
|
236
|
-
initializeStakeVault({ name,
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
80
|
+
initializeStakeVault({ name, slots, collection, amount }: InitializeStakeArgs, options?: RpcOptions): Promise<string>;
|
|
81
|
+
/**
|
|
82
|
+
* Deposit Stake Rewards
|
|
83
|
+
* @param wallet - User wallet
|
|
84
|
+
* @param mint - NFT mint
|
|
85
|
+
* @param amount - Reward amount
|
|
86
|
+
*
|
|
87
|
+
*/
|
|
88
|
+
depositStakeRewards({ wallet, mint, amount, stakeVault }: DepositStakeRewardsArgs, options?: RpcOptions): Promise<string>;
|
|
89
|
+
/**
|
|
90
|
+
* Request Withdraw
|
|
91
|
+
* @param wallet - User wallet
|
|
92
|
+
* @param name - Stake name
|
|
93
|
+
* @param stakeVault - Name of the stake vault
|
|
94
|
+
*
|
|
95
|
+
*/
|
|
96
|
+
requestWithdraw({ wallet, name, mint, stakeVault }: RequestWithdrawArgs, options?: RpcOptions): Promise<string>;
|
|
97
|
+
/**
|
|
98
|
+
* Withdraw Stake
|
|
99
|
+
* @param wallet - User wallet
|
|
100
|
+
* @param name - Stake name
|
|
101
|
+
* @param mint - NFT mint
|
|
102
|
+
* @param stakeVault - Name of the stake vault
|
|
103
|
+
*
|
|
104
|
+
*/
|
|
105
|
+
withdrawStake({ wallet, name, mint, stakeVault }: WithdrawArgs, options?: RpcOptions): Promise<string>;
|
|
106
|
+
/**
|
|
107
|
+
* Update Stake Vault Status
|
|
108
|
+
* @param wallet - User wallet
|
|
109
|
+
* @param stakeVault - Name of the stake vault
|
|
110
|
+
* @param isLocked - Status of the stake vault
|
|
111
|
+
* @param week - Current week rewards (Starts from 0)
|
|
112
|
+
*
|
|
113
|
+
*/
|
|
114
|
+
updateStakeVaultStatus({ wallet, isLocked, week, stakeVault }: UpdateStakeVaultStatusArgs, options?: RpcOptions): Promise<string>;
|
|
115
|
+
/**
|
|
116
|
+
* Claim Stake Rewards
|
|
117
|
+
* @param wallet - User wallet
|
|
118
|
+
* @param mint - NFT mint
|
|
119
|
+
* @param week - Week rewards
|
|
120
|
+
* @param stakeVault - Name of the stake vault
|
|
121
|
+
* @param nftName - Name of the nft
|
|
122
|
+
*
|
|
123
|
+
*/
|
|
124
|
+
claimStakeRewards({ wallet, mint, stakeVault, nftName }: ClaimStakeRewardsArgs, options?: RpcOptions): Promise<string>;
|
|
125
|
+
/**
|
|
126
|
+
* Create User
|
|
127
|
+
* @param wallet - User wallet
|
|
128
|
+
* @param name - user name
|
|
129
|
+
* @param referral - user referral
|
|
130
|
+
*
|
|
131
|
+
*/
|
|
132
|
+
createUser({ wallet, name, referral }: CreateUserArgs, options?: RpcOptions): Promise<string>;
|
|
133
|
+
/**
|
|
134
|
+
* Migrate Stake
|
|
135
|
+
* @param name - NFT name
|
|
136
|
+
* @param wallet - User wallet
|
|
137
|
+
* @param mint - NFT mint
|
|
138
|
+
*
|
|
139
|
+
*/
|
|
140
|
+
migrateStake({ name, wallet, mint, stakeVault }: MigrateStakeArgs, options?: RpcOptions): Promise<string>;
|
|
242
141
|
}
|