@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 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
- name: string;
15
- collection: string;
16
- slots: number;
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
- isLocked: boolean;
19
- usersPaid: PublicKey;
20
- amountPaid: number;
21
- amountUsers: number;
22
- apr: number;
23
- initTs: number;
24
- endTs: number;
25
- }[]>;
26
- /**
27
- * Get all stakes
28
- */
29
- getStakes(): Promise<{
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
- stake({ name, wallet, mint, collections, rarity }: {
205
- name: string;
206
- wallet: PublicKey;
207
- mint: PublicKey;
208
- collections: {
209
- alligators: boolean;
210
- coleta: boolean;
211
- undead: boolean;
212
- pyth: boolean;
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, amount, slots, collection }: {
237
- name: string;
238
- amount: BN;
239
- slots: BN;
240
- collection: string;
241
- }, options?: RpcOptions): Promise<string>;
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
  }