@triadxyz/triad-protocol 0.2.0-beta → 0.2.2-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.d.ts CHANGED
@@ -16,7 +16,11 @@ export default class TriadProtocolClient {
16
16
  * Get all Users
17
17
  */
18
18
  getUsers: () => Promise<import("./types/stake").UserResponse[]>;
19
- hasReferral: (referral: string) => Promise<boolean>;
19
+ /**
20
+ * Check if user exists
21
+ * @param username - User name
22
+ */
23
+ hasUser: (username: string) => Promise<boolean>;
20
24
  getUserPositions: (userWallet: PublicKey) => Promise<{}[]>;
21
25
  /**
22
26
  * Create User
package/dist/index.js CHANGED
@@ -26,11 +26,17 @@ class TriadProtocolClient {
26
26
  */
27
27
  this.getUsers = () => __awaiter(this, void 0, void 0, function* () {
28
28
  const response = yield this.program.account.user.all();
29
- return response.map((item) => (0, helpers_1.formatUser)(item.account));
29
+ return response
30
+ .map((item) => (0, helpers_1.formatUser)(item.account))
31
+ .sort((a, b) => b.referred - a.referred);
30
32
  });
31
- this.hasReferral = (referral) => __awaiter(this, void 0, void 0, function* () {
33
+ /**
34
+ * Check if user exists
35
+ * @param username - User name
36
+ */
37
+ this.hasUser = (username) => __awaiter(this, void 0, void 0, function* () {
32
38
  try {
33
- yield this.program.account.user.fetch((0, helpers_1.getUserAddressSync)(this.program.programId, referral));
39
+ yield this.program.account.user.fetch((0, helpers_1.getUserAddressSync)(this.program.programId, username));
34
40
  return true;
35
41
  }
36
42
  catch (_a) {
@@ -69,8 +75,7 @@ class TriadProtocolClient {
69
75
  const referralPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, referral);
70
76
  const method = this.program.methods
71
77
  .createUser({
72
- name,
73
- referral: referralPDA
78
+ name
74
79
  })
75
80
  .accounts({
76
81
  signer: wallet,
package/dist/stake.d.ts CHANGED
@@ -63,7 +63,7 @@ export default class Stake {
63
63
  * @param rarity - NFT rarity
64
64
  *
65
65
  */
66
- stakeToken({ name, wallet, stakeVault, amount }: StakeTokenArgs, options?: RpcOptions): Promise<string>;
66
+ stakeToken({ name, wallet, stakeVault, amount, userName }: StakeTokenArgs, options?: RpcOptions): Promise<string>;
67
67
  /**
68
68
  * Initialize Stake Vault
69
69
  * @param name - The ticker's name
@@ -96,7 +96,7 @@ export default class Stake {
96
96
  * @param stakeVault - Name of the stake vault
97
97
  *
98
98
  */
99
- withdrawStake({ wallet, name, mint, stakeVault }: WithdrawArgs, options?: RpcOptions): Promise<string>;
99
+ withdrawStake({ wallet, name, mint, userName, stakeVault }: WithdrawArgs, options?: RpcOptions): Promise<string>;
100
100
  /**
101
101
  * Update Stake Vault Status
102
102
  * @param wallet - User wallet
@@ -105,7 +105,7 @@ export default class Stake {
105
105
  * @param week - Current week rewards (Starts from 0)
106
106
  *
107
107
  */
108
- updateStakeVaultStatus({ wallet, isLocked, week, stakeVault }: UpdateStakeVaultStatusArgs, options?: RpcOptions): Promise<string>;
108
+ updateStakeVaultStatus({ wallet, isLocked, stakeVault, initTs }: UpdateStakeVaultStatusArgs, options?: RpcOptions): Promise<string>;
109
109
  /**
110
110
  * Claim Stake Rewards
111
111
  * @param wallet - User wallet
package/dist/stake.js CHANGED
@@ -118,12 +118,10 @@ class Stake {
118
118
  */
119
119
  stakeNft({ wallet, stakeVault, items }, options) {
120
120
  return __awaiter(this, void 0, void 0, function* () {
121
- const StakeVault = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
122
121
  let ixs = [];
123
122
  for (let i = 0; i < items.length; i++) {
124
123
  let item = items[i];
125
124
  const FromAta = (0, helpers_1.getATASync)(wallet, item.mint);
126
- const ToAta = (0, helpers_1.getATASync)(StakeVault, item.mint);
127
125
  ixs.push(yield this.program.methods
128
126
  .stakeNft({
129
127
  name: item.name,
@@ -131,7 +129,6 @@ class Stake {
131
129
  })
132
130
  .accounts({
133
131
  signer: wallet,
134
- toAta: ToAta,
135
132
  fromAta: FromAta,
136
133
  mint: item.mint
137
134
  })
@@ -163,12 +160,11 @@ class Stake {
163
160
  * @param rarity - NFT rarity
164
161
  *
165
162
  */
166
- stakeToken({ name, wallet, stakeVault, amount }, options) {
163
+ stakeToken({ name, wallet, stakeVault, amount, userName }, options) {
167
164
  return __awaiter(this, void 0, void 0, function* () {
168
- const StakeVault = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
169
165
  const ttriad = new web3_js_1.PublicKey(constants_1.TTRIAD_MINT);
170
166
  const FromAta = (0, helpers_1.getATASync)(wallet, ttriad);
171
- const ToAta = (0, helpers_1.getATASync)(StakeVault, ttriad);
167
+ const userPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, userName);
172
168
  const method = this.program.methods
173
169
  .stakeToken({
174
170
  name,
@@ -177,9 +173,9 @@ class Stake {
177
173
  })
178
174
  .accounts({
179
175
  signer: wallet,
180
- toAta: ToAta,
181
176
  fromAta: FromAta,
182
- mint: ttriad
177
+ mint: ttriad,
178
+ user: userPDA
183
179
  });
184
180
  if (options === null || options === void 0 ? void 0 : options.microLamports) {
185
181
  method.postInstructions([
@@ -229,8 +225,6 @@ class Stake {
229
225
  */
230
226
  depositStakeRewards({ wallet, mint, amount, stakeVault }, options) {
231
227
  return __awaiter(this, void 0, void 0, function* () {
232
- const StakeVault = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
233
- const ToAta = (0, helpers_1.getATASync)(StakeVault, mint);
234
228
  const FromAta = (0, helpers_1.getATASync)(wallet, mint);
235
229
  const method = this.program.methods
236
230
  .depositStakeRewards({
@@ -240,7 +234,6 @@ class Stake {
240
234
  .accounts({
241
235
  signer: wallet,
242
236
  fromAta: FromAta,
243
- toAta: ToAta,
244
237
  mint: mint
245
238
  });
246
239
  if (options === null || options === void 0 ? void 0 : options.microLamports) {
@@ -288,20 +281,20 @@ class Stake {
288
281
  * @param stakeVault - Name of the stake vault
289
282
  *
290
283
  */
291
- withdrawStake({ wallet, name, mint, stakeVault }, options) {
284
+ withdrawStake({ wallet, name, mint, userName, stakeVault }, options) {
292
285
  return __awaiter(this, void 0, void 0, function* () {
293
286
  const stakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
287
+ const userPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, userName);
294
288
  const FromAta = (0, helpers_1.getATASync)(stakeVaultPDA, mint);
295
- const ToAta = (0, helpers_1.getATASync)(wallet, mint);
296
289
  const stakePDA = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, name);
297
290
  const method = this.program.methods.withdrawStake().accounts({
298
291
  signer: wallet,
299
292
  fromAta: FromAta,
300
293
  stake: stakePDA,
301
- toAta: ToAta,
302
294
  stakeVault: stakeVaultPDA,
303
295
  admin: new web3_js_1.PublicKey('82ppCojm3yrEKgdpH8B5AmBJTU1r1uAWXFWhxvPs9UCR'),
304
- mint: mint
296
+ mint: mint,
297
+ user: userPDA
305
298
  });
306
299
  if (options === null || options === void 0 ? void 0 : options.microLamports) {
307
300
  method.postInstructions([
@@ -321,13 +314,13 @@ class Stake {
321
314
  * @param week - Current week rewards (Starts from 0)
322
315
  *
323
316
  */
324
- updateStakeVaultStatus({ wallet, isLocked, week, stakeVault }, options) {
317
+ updateStakeVaultStatus({ wallet, isLocked, stakeVault, initTs }, options) {
325
318
  return __awaiter(this, void 0, void 0, function* () {
326
319
  const StakeVault = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
327
320
  const method = this.program.methods
328
321
  .updateStakeVaultStatus({
329
322
  isLocked,
330
- week
323
+ initTs: new anchor_1.BN(initTs)
331
324
  })
332
325
  .accounts({
333
326
  signer: wallet,
@@ -355,12 +348,10 @@ class Stake {
355
348
  return __awaiter(this, void 0, void 0, function* () {
356
349
  const StakeVault = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
357
350
  const Stake = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, nftName);
358
- const ToATA = (0, helpers_1.getATASync)(wallet, mint);
359
351
  const FromAta = (0, helpers_1.getATASync)(StakeVault, mint);
360
352
  const method = this.program.methods.claimStake().accounts({
361
353
  signer: wallet,
362
354
  fromAta: FromAta,
363
- toAta: ToATA,
364
355
  mint: mint,
365
356
  stake: Stake,
366
357
  stakeVault: StakeVault
package/dist/test.js CHANGED
@@ -27,15 +27,14 @@ const updateStakeVaultStatus = () => __awaiter(void 0, void 0, void 0, function*
27
27
  const response = yield triadProtocol.stake.updateStakeVaultStatus({
28
28
  wallet: wallet.publicKey,
29
29
  isLocked: false,
30
- week: 4,
31
- stakeVault: constants_1.STAKE_SEASON
30
+ stakeVault: constants_1.STAKE_SEASON,
31
+ initTs: 0
32
32
  }, {
33
33
  skipPreflight: true,
34
34
  microLamports: 10000
35
35
  });
36
36
  console.log(response);
37
37
  });
38
- updateStakeVaultStatus();
39
38
  const getStake = () => __awaiter(void 0, void 0, void 0, function* () {
40
39
  const response = yield triadProtocol.stake.getStakeByWallet(new web3_js_1.PublicKey('BCTdjdcjMiECGFbF5Ps15yjLRPzy5YZGJNa4VdGRbhjB'), constants_1.STAKE_SEASON);
41
40
  const stakeVaults = yield triadProtocol.stake.getStakeVaults();
@@ -46,12 +45,8 @@ const getUsers = () => __awaiter(void 0, void 0, void 0, function* () {
46
45
  const response = yield triadProtocol.getUsers();
47
46
  console.log(response);
48
47
  });
49
- const getStakes = () => __awaiter(void 0, void 0, void 0, function* () {
50
- const response = yield triadProtocol.stake.getStakes(constants_1.STAKE_SEASON);
51
- console.log(response);
52
- fs_1.default.writeFileSync('stakes.json', JSON.stringify(response));
53
- });
48
+ getUsers();
54
49
  const getReferral = () => __awaiter(void 0, void 0, void 0, function* () {
55
- const response = yield triadProtocol.hasReferral('a');
50
+ const response = yield triadProtocol.hasUser('a');
56
51
  console.log(response);
57
52
  });
@@ -431,88 +431,6 @@
431
431
  }
432
432
  ]
433
433
  },
434
- {
435
- "name": "migrate_stake",
436
- "discriminator": [178, 5, 26, 85, 56, 20, 153, 160],
437
- "accounts": [
438
- {
439
- "name": "signer",
440
- "writable": true,
441
- "signer": true
442
- },
443
- {
444
- "name": "stake_vault",
445
- "writable": true,
446
- "pda": {
447
- "seeds": [
448
- {
449
- "kind": "const",
450
- "value": [115, 116, 97, 107, 101, 95, 118, 97, 117, 108, 116]
451
- },
452
- {
453
- "kind": "arg",
454
- "path": "args.stake_vault"
455
- }
456
- ]
457
- }
458
- },
459
- {
460
- "name": "stake_v1",
461
- "writable": true
462
- },
463
- {
464
- "name": "stake_v2",
465
- "writable": true,
466
- "pda": {
467
- "seeds": [
468
- {
469
- "kind": "const",
470
- "value": [115, 116, 97, 107, 101]
471
- },
472
- {
473
- "kind": "account",
474
- "path": "stake_v1.authority",
475
- "account": "Stake"
476
- },
477
- {
478
- "kind": "arg",
479
- "path": "args.name"
480
- }
481
- ]
482
- }
483
- },
484
- {
485
- "name": "mint",
486
- "writable": true
487
- },
488
- {
489
- "name": "nft_rewards",
490
- "writable": true
491
- },
492
- {
493
- "name": "token_program",
494
- "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
495
- },
496
- {
497
- "name": "associated_token_program",
498
- "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
499
- },
500
- {
501
- "name": "system_program",
502
- "address": "11111111111111111111111111111111"
503
- }
504
- ],
505
- "args": [
506
- {
507
- "name": "args",
508
- "type": {
509
- "defined": {
510
- "name": "MigrateStakeArgs"
511
- }
512
- }
513
- }
514
- ]
515
- },
516
434
  {
517
435
  "name": "open_position",
518
436
  "discriminator": [135, 128, 47, 77, 15, 152, 240, 49],
@@ -743,6 +661,10 @@
743
661
  ]
744
662
  }
745
663
  },
664
+ {
665
+ "name": "user",
666
+ "writable": true
667
+ },
746
668
  {
747
669
  "name": "stake",
748
670
  "writable": true,
@@ -898,6 +820,10 @@
898
820
  "name": "stake_vault",
899
821
  "writable": true
900
822
  },
823
+ {
824
+ "name": "user",
825
+ "writable": true
826
+ },
901
827
  {
902
828
  "name": "stake",
903
829
  "writable": true
@@ -963,14 +889,6 @@
963
889
  }
964
890
  ],
965
891
  "accounts": [
966
- {
967
- "name": "NFTRewards",
968
- "discriminator": [210, 99, 18, 65, 58, 128, 167, 91]
969
- },
970
- {
971
- "name": "Stake",
972
- "discriminator": [150, 197, 176, 29, 55, 132, 112, 149]
973
- },
974
892
  {
975
893
  "name": "StakeV2",
976
894
  "discriminator": [207, 98, 130, 13, 118, 181, 238, 47]
@@ -1110,6 +1028,11 @@
1110
1028
  "code": 6019,
1111
1029
  "name": "RewardsAlreadyClaimed",
1112
1030
  "msg": "Rewards already claimed"
1031
+ },
1032
+ {
1033
+ "code": 6020,
1034
+ "name": "StakeOverflow",
1035
+ "msg": "Stake overflow"
1113
1036
  }
1114
1037
  ],
1115
1038
  "types": [
@@ -1161,26 +1084,6 @@
1161
1084
  ]
1162
1085
  }
1163
1086
  },
1164
- {
1165
- "name": "Collection",
1166
- "type": {
1167
- "kind": "enum",
1168
- "variants": [
1169
- {
1170
- "name": "COLETA"
1171
- },
1172
- {
1173
- "name": "UNDEAD"
1174
- },
1175
- {
1176
- "name": "ALLIGATORS"
1177
- },
1178
- {
1179
- "name": "PYTH"
1180
- }
1181
- ]
1182
- }
1183
- },
1184
1087
  {
1185
1088
  "name": "CreateTickerArgs",
1186
1089
  "type": {
@@ -1205,10 +1108,6 @@
1205
1108
  {
1206
1109
  "name": "name",
1207
1110
  "type": "string"
1208
- },
1209
- {
1210
- "name": "referral",
1211
- "type": "pubkey"
1212
1111
  }
1213
1112
  ]
1214
1113
  }
@@ -1253,50 +1152,6 @@
1253
1152
  ]
1254
1153
  }
1255
1154
  },
1256
- {
1257
- "name": "MigrateStakeArgs",
1258
- "type": {
1259
- "kind": "struct",
1260
- "fields": [
1261
- {
1262
- "name": "name",
1263
- "type": "string"
1264
- },
1265
- {
1266
- "name": "stake_vault",
1267
- "type": "string"
1268
- }
1269
- ]
1270
- }
1271
- },
1272
- {
1273
- "name": "NFTRewards",
1274
- "type": {
1275
- "kind": "struct",
1276
- "fields": [
1277
- {
1278
- "name": "stake",
1279
- "type": "pubkey"
1280
- },
1281
- {
1282
- "name": "daily_rewards",
1283
- "type": {
1284
- "array": ["u64", 30]
1285
- }
1286
- },
1287
- {
1288
- "name": "weekly_rewards_paid",
1289
- "type": {
1290
- "array": ["bool", 5]
1291
- }
1292
- },
1293
- {
1294
- "name": "apr",
1295
- "type": "f32"
1296
- }
1297
- ]
1298
- }
1299
- },
1300
1155
  {
1301
1156
  "name": "OpenPositionArgs",
1302
1157
  "type": {
@@ -1377,94 +1232,6 @@
1377
1232
  ]
1378
1233
  }
1379
1234
  },
1380
- {
1381
- "name": "Rarity",
1382
- "type": {
1383
- "kind": "enum",
1384
- "variants": [
1385
- {
1386
- "name": "COMMON"
1387
- },
1388
- {
1389
- "name": "UNCOMMON"
1390
- },
1391
- {
1392
- "name": "RARE"
1393
- },
1394
- {
1395
- "name": "EPIC"
1396
- },
1397
- {
1398
- "name": "LEGENDARY"
1399
- },
1400
- {
1401
- "name": "MYTHIC"
1402
- }
1403
- ]
1404
- }
1405
- },
1406
- {
1407
- "name": "Stake",
1408
- "type": {
1409
- "kind": "struct",
1410
- "fields": [
1411
- {
1412
- "name": "bump",
1413
- "type": "u8"
1414
- },
1415
- {
1416
- "name": "authority",
1417
- "type": "pubkey"
1418
- },
1419
- {
1420
- "name": "init_ts",
1421
- "type": "i64"
1422
- },
1423
- {
1424
- "name": "is_locked",
1425
- "type": "bool"
1426
- },
1427
- {
1428
- "name": "withdraw_ts",
1429
- "type": "i64"
1430
- },
1431
- {
1432
- "name": "name",
1433
- "type": "string"
1434
- },
1435
- {
1436
- "name": "collections",
1437
- "type": {
1438
- "vec": {
1439
- "defined": {
1440
- "name": "Collection"
1441
- }
1442
- }
1443
- }
1444
- },
1445
- {
1446
- "name": "rarity",
1447
- "type": {
1448
- "defined": {
1449
- "name": "Rarity"
1450
- }
1451
- }
1452
- },
1453
- {
1454
- "name": "mint",
1455
- "type": "pubkey"
1456
- },
1457
- {
1458
- "name": "stake_vault",
1459
- "type": "pubkey"
1460
- },
1461
- {
1462
- "name": "stake_rewards",
1463
- "type": "pubkey"
1464
- }
1465
- ]
1466
- }
1467
- },
1468
1235
  {
1469
1236
  "name": "StakeNFTArgs",
1470
1237
  "type": {
@@ -1705,8 +1472,8 @@
1705
1472
  "type": "bool"
1706
1473
  },
1707
1474
  {
1708
- "name": "week",
1709
- "type": "u8"
1475
+ "name": "init_ts",
1476
+ "type": "i64"
1710
1477
  }
1711
1478
  ]
1712
1479
  }
@@ -1751,6 +1518,24 @@
1751
1518
  {
1752
1519
  "name": "name",
1753
1520
  "type": "string"
1521
+ },
1522
+ {
1523
+ "name": "swaps",
1524
+ "type": "i16"
1525
+ },
1526
+ {
1527
+ "name": "swaps_made",
1528
+ "type": "i16"
1529
+ },
1530
+ {
1531
+ "name": "staked",
1532
+ "type": "u64"
1533
+ },
1534
+ {
1535
+ "name": "padding",
1536
+ "type": {
1537
+ "array": ["u8", 40]
1538
+ }
1754
1539
  }
1755
1540
  ]
1756
1541
  }
@@ -23,6 +23,7 @@ export type StakeTokenArgs = {
23
23
  stakeVault: string;
24
24
  mint: PublicKey;
25
25
  amount: number;
26
+ userName: string;
26
27
  };
27
28
  export type InitializeStakeArgs = {
28
29
  name: string;
@@ -47,12 +48,13 @@ export type WithdrawArgs = {
47
48
  name: string;
48
49
  mint: PublicKey;
49
50
  stakeVault: string;
51
+ userName: string;
50
52
  };
51
53
  export type UpdateStakeVaultStatusArgs = {
52
54
  wallet: PublicKey;
53
55
  isLocked: boolean;
54
- week: number;
55
56
  stakeVault: string;
57
+ initTs: number;
56
58
  };
57
59
  export type ClaimStakeRewardsArgs = {
58
60
  wallet: PublicKey;