@triadxyz/triad-protocol 0.3.0-beta → 0.3.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/stake.d.ts CHANGED
@@ -11,6 +11,10 @@ export default class Stake {
11
11
  * Get all Stake Vaults
12
12
  */
13
13
  getStakeVaults(): Promise<import("./types/stake").StakeVaultResponse[]>;
14
+ /**
15
+ * Get Stake Rewards
16
+ */
17
+ getStakeRewards({ wallet, mint, stakeVault, nftName }: ClaimStakeRewardsArgs): Promise<void>;
14
18
  /**
15
19
  * Get Stake Vault by name
16
20
  * @param stakeVault - Stake Vault name
@@ -29,18 +33,6 @@ export default class Stake {
29
33
  *
30
34
  */
31
35
  getStakeByWallet(wallet: PublicKey, stakeVault: string): Promise<StakeResponse[]>;
32
- /**
33
- * Get Stake Vault Rewards details
34
- * @param stakeVault - Stake Vault name
35
- */
36
- getStakeVaultRewards(stakeVault: string): Promise<{
37
- amount: number;
38
- perDay: number;
39
- perWeek: number;
40
- perMonth: number;
41
- period: number;
42
- days: number[];
43
- }>;
44
36
  /**
45
37
  * Get Stakes by day
46
38
  * @param stakeVault - Stake Vault name
package/dist/stake.js CHANGED
@@ -27,6 +27,29 @@ class Stake {
27
27
  return response.map((stakeVault) => (0, helpers_1.formatStakeVault)(stakeVault.account));
28
28
  });
29
29
  }
30
+ /**
31
+ * Get Stake Rewards
32
+ */
33
+ getStakeRewards({ wallet, mint, stakeVault, nftName }) {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ const StakeVault = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
36
+ const Stake = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, nftName);
37
+ const FromAta = (0, helpers_1.getATASync)(StakeVault, mint);
38
+ const ToAta = (0, helpers_1.getATASync)(wallet, mint);
39
+ const method = this.program.methods
40
+ .claimStakeRewards()
41
+ .accounts({
42
+ signer: wallet,
43
+ fromAta: FromAta,
44
+ mint: mint,
45
+ toAta: ToAta,
46
+ stake: Stake,
47
+ stakeVault: StakeVault
48
+ })
49
+ .simulate();
50
+ console.log(method);
51
+ });
52
+ }
30
53
  /**
31
54
  * Get Stake Vault by name
32
55
  * @param stakeVault - Stake Vault name
@@ -64,31 +87,6 @@ class Stake {
64
87
  return myStakes;
65
88
  });
66
89
  }
67
- /**
68
- * Get Stake Vault Rewards details
69
- * @param stakeVault - Stake Vault name
70
- */
71
- getStakeVaultRewards(stakeVault) {
72
- return __awaiter(this, void 0, void 0, function* () {
73
- const StakeVault = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
74
- const response = yield this.program.account.stakeVault.fetch(StakeVault);
75
- const amount = response.amount.toNumber() / Math.pow(10, constants_1.TTRIAD_DECIMALS);
76
- const period = (response.endTs.toNumber() - response.initTs.toNumber()) / (60 * 60 * 24);
77
- const netAmount = amount - (amount * constants_1.TTRIAD_FEE) / 100;
78
- const data = {
79
- amount: netAmount,
80
- perDay: netAmount / period,
81
- perWeek: (netAmount / period) * 7,
82
- perMonth: (netAmount / period) * 30,
83
- period,
84
- days: []
85
- };
86
- for (let ts = response.initTs.toNumber(); ts <= response.endTs.toNumber(); ts += 60 * 60 * 24) {
87
- data.days.push(ts);
88
- }
89
- return data;
90
- });
91
- }
92
90
  /**
93
91
  * Get Stakes by day
94
92
  * @param stakeVault - Stake Vault name
@@ -263,9 +261,11 @@ class Stake {
263
261
  return __awaiter(this, void 0, void 0, function* () {
264
262
  const stakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
265
263
  const stakePDA = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, name);
264
+ const userPAD = (0, helpers_1.getUserAddressSync)(this.program.programId, wallet);
266
265
  const method = this.program.methods.requestWithdrawStake().accounts({
267
266
  signer: wallet,
268
267
  mint: mint,
268
+ user: userPAD,
269
269
  stake: stakePDA,
270
270
  stakeVault: stakeVaultPDA
271
271
  });
@@ -328,7 +328,8 @@ class Stake {
328
328
  const method = this.program.methods
329
329
  .updateStakeVaultStatus({
330
330
  isLocked,
331
- initTs: new anchor_1.BN(initTs)
331
+ initTs: new anchor_1.BN(initTs),
332
+ slots: new anchor_1.BN(1839)
332
333
  })
333
334
  .accounts({
334
335
  signer: wallet,
@@ -358,7 +359,7 @@ class Stake {
358
359
  const Stake = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, nftName);
359
360
  const FromAta = (0, helpers_1.getATASync)(StakeVault, mint);
360
361
  const ToAta = (0, helpers_1.getATASync)(wallet, mint);
361
- const method = this.program.methods.claimStake().accounts({
362
+ const method = this.program.methods.claimStakeRewards().accounts({
362
363
  signer: wallet,
363
364
  fromAta: FromAta,
364
365
  mint: mint,
package/dist/test.js CHANGED
@@ -36,18 +36,19 @@ const updateStakeVaultStatus = () => __awaiter(void 0, void 0, void 0, function*
36
36
  console.log(response);
37
37
  });
38
38
  const getStake = () => __awaiter(void 0, void 0, void 0, function* () {
39
- // const response = await triadProtocol.stake.getStakeByWallet(
40
- // new PublicKey('BCTdjdcjMiECGFbF5Ps15yjLRPzy5YZGJNa4VdGRbhjB'),
41
- // STAKE_SEASON
42
- // )
39
+ const response = yield triadProtocol.stake.getStakeByWallet(new web3_js_1.PublicKey('HjJQdfTHgC3EBX3471w4st8BXbBmtbaMyCAXNgcUb7dq'), constants_1.STAKE_SEASON);
43
40
  const stakeVaults = yield triadProtocol.stake.getStakeVaults();
44
- // console.log(response)
41
+ console.log(response);
45
42
  console.log(stakeVaults);
46
43
  });
47
44
  const getUsers = () => __awaiter(void 0, void 0, void 0, function* () {
48
45
  const response = yield triadProtocol.getUsers();
49
46
  console.log(response);
50
47
  });
48
+ const getUser = () => __awaiter(void 0, void 0, void 0, function* () {
49
+ const response = yield triadProtocol.getUser(new web3_js_1.PublicKey('HjJQdfTHgC3EBX3471w4st8BXbBmtbaMyCAXNgcUb7dq'));
50
+ console.log(response);
51
+ });
51
52
  const getReferral = () => __awaiter(void 0, void 0, void 0, function* () {
52
53
  const response = yield triadProtocol.hasUser(new web3_js_1.PublicKey('6MuTdUhc4LDHDW3fiTemyns4NgR99oAWvHM2SwCSTcau'));
53
54
  console.log(response);
@@ -61,4 +62,13 @@ const createUser = () => __awaiter(void 0, void 0, void 0, function* () {
61
62
  microLamports: 10000
62
63
  });
63
64
  });
64
- getStake();
65
+ const getRewards = () => __awaiter(void 0, void 0, void 0, function* () {
66
+ const response = yield triadProtocol.stake.getStakeRewards({
67
+ wallet: new web3_js_1.PublicKey('HjJQdfTHgC3EBX3471w4st8BXbBmtbaMyCAXNgcUb7dq'),
68
+ mint: new web3_js_1.PublicKey('BPK5P2YVnBaJJ4GRESCKQHYFmENzVspd7tZ2Mw7HmJYZ'),
69
+ nftName: 'Triad 3081',
70
+ stakeVault: constants_1.STAKE_SEASON
71
+ });
72
+ console.log(response);
73
+ });
74
+ getRewards();
@@ -2,13 +2,14 @@
2
2
  "address": "TRDwq3BN4mP3m9KsuNUWSN6QDff93VKGSwE95Jbr9Ss",
3
3
  "metadata": {
4
4
  "name": "triad_protocol",
5
- "version": "0.1.0",
6
- "spec": "0.1.0"
5
+ "version": "0.1.4",
6
+ "spec": "0.1.0",
7
+ "description": "Triad protocol, trade solana projects"
7
8
  },
8
9
  "instructions": [
9
10
  {
10
- "name": "claim_stake",
11
- "discriminator": [62, 145, 133, 242, 244, 59, 53, 139],
11
+ "name": "claim_stake_rewards",
12
+ "discriminator": [107, 91, 233, 196, 211, 47, 218, 21],
12
13
  "accounts": [
13
14
  {
14
15
  "name": "signer",
@@ -76,7 +77,8 @@
76
77
  "address": "11111111111111111111111111111111"
77
78
  }
78
79
  ],
79
- "args": []
80
+ "args": [],
81
+ "returns": "u64"
80
82
  },
81
83
  {
82
84
  "name": "close_position",
@@ -508,6 +510,10 @@
508
510
  "name": "stake_vault",
509
511
  "writable": true
510
512
  },
513
+ {
514
+ "name": "user",
515
+ "writable": true
516
+ },
511
517
  {
512
518
  "name": "stake",
513
519
  "writable": true
@@ -749,6 +755,38 @@
749
755
  }
750
756
  ]
751
757
  },
758
+ {
759
+ "name": "swap_404",
760
+ "discriminator": [227, 249, 224, 136, 128, 95, 255, 239],
761
+ "accounts": [
762
+ {
763
+ "name": "signer",
764
+ "writable": true,
765
+ "signer": true
766
+ },
767
+ {
768
+ "name": "user",
769
+ "writable": true,
770
+ "pda": {
771
+ "seeds": [
772
+ {
773
+ "kind": "const",
774
+ "value": [117, 115, 101, 114]
775
+ },
776
+ {
777
+ "kind": "account",
778
+ "path": "signer"
779
+ }
780
+ ]
781
+ }
782
+ },
783
+ {
784
+ "name": "system_program",
785
+ "address": "11111111111111111111111111111111"
786
+ }
787
+ ],
788
+ "args": []
789
+ },
752
790
  {
753
791
  "name": "update_stake_vault_status",
754
792
  "discriminator": [71, 64, 188, 150, 86, 254, 221, 65],
@@ -1033,6 +1071,16 @@
1033
1071
  "code": 6020,
1034
1072
  "name": "StakeOverflow",
1035
1073
  "msg": "Stake overflow"
1074
+ },
1075
+ {
1076
+ "code": 6021,
1077
+ "name": "SwapsReachedLimit",
1078
+ "msg": "Swaps reached limit"
1079
+ },
1080
+ {
1081
+ "code": 6022,
1082
+ "name": "InsufficientFunds",
1083
+ "msg": "Insufficient funds"
1036
1084
  }
1037
1085
  ],
1038
1086
  "types": [
@@ -1474,6 +1522,10 @@
1474
1522
  {
1475
1523
  "name": "init_ts",
1476
1524
  "type": "i64"
1525
+ },
1526
+ {
1527
+ "name": "slots",
1528
+ "type": "u64"
1477
1529
  }
1478
1530
  ]
1479
1531
  }
@@ -1531,10 +1583,14 @@
1531
1583
  "name": "staked",
1532
1584
  "type": "u64"
1533
1585
  },
1586
+ {
1587
+ "name": "first_swap",
1588
+ "type": "i64"
1589
+ },
1534
1590
  {
1535
1591
  "name": "padding",
1536
1592
  "type": {
1537
- "array": ["u8", 40]
1593
+ "array": ["u8", 32]
1538
1594
  }
1539
1595
  }
1540
1596
  ]
@@ -8,13 +8,14 @@ export type TriadProtocol = {
8
8
  address: 'TRDwq3BN4mP3m9KsuNUWSN6QDff93VKGSwE95Jbr9Ss';
9
9
  metadata: {
10
10
  name: 'triadProtocol';
11
- version: '0.1.0';
11
+ version: '0.1.4';
12
12
  spec: '0.1.0';
13
+ description: 'Triad protocol, trade solana projects';
13
14
  };
14
15
  instructions: [
15
16
  {
16
- name: 'claimStake';
17
- discriminator: [62, 145, 133, 242, 244, 59, 53, 139];
17
+ name: 'claimStakeRewards';
18
+ discriminator: [107, 91, 233, 196, 211, 47, 218, 21];
18
19
  accounts: [
19
20
  {
20
21
  name: 'signer';
@@ -55,6 +56,7 @@ export type TriadProtocol = {
55
56
  }
56
57
  ];
57
58
  args: [];
59
+ returns: 'u64';
58
60
  },
59
61
  {
60
62
  name: 'closePosition';
@@ -340,92 +342,6 @@ export type TriadProtocol = {
340
342
  {
341
343
  name: 'toAta';
342
344
  writable: true;
343
- pda: {
344
- seeds: [
345
- {
346
- kind: 'account';
347
- path: 'stakeVault';
348
- },
349
- {
350
- kind: 'const';
351
- value: [
352
- 6,
353
- 221,
354
- 246,
355
- 225,
356
- 215,
357
- 101,
358
- 161,
359
- 147,
360
- 217,
361
- 203,
362
- 225,
363
- 70,
364
- 206,
365
- 235,
366
- 121,
367
- 172,
368
- 28,
369
- 180,
370
- 133,
371
- 237,
372
- 95,
373
- 91,
374
- 55,
375
- 145,
376
- 58,
377
- 140,
378
- 245,
379
- 133,
380
- 126,
381
- 255,
382
- 0,
383
- 169
384
- ];
385
- },
386
- {
387
- kind: 'account';
388
- path: 'mint';
389
- }
390
- ];
391
- program: {
392
- kind: 'const';
393
- value: [
394
- 140,
395
- 151,
396
- 37,
397
- 143,
398
- 78,
399
- 36,
400
- 137,
401
- 241,
402
- 187,
403
- 61,
404
- 16,
405
- 41,
406
- 20,
407
- 142,
408
- 13,
409
- 131,
410
- 11,
411
- 90,
412
- 19,
413
- 153,
414
- 218,
415
- 255,
416
- 16,
417
- 132,
418
- 4,
419
- 142,
420
- 123,
421
- 216,
422
- 219,
423
- 233,
424
- 248,
425
- 89
426
- ];
427
- };
428
- };
429
345
  },
430
346
  {
431
347
  name: 'tokenProgram';
@@ -590,6 +506,10 @@ export type TriadProtocol = {
590
506
  name: 'stakeVault';
591
507
  writable: true;
592
508
  },
509
+ {
510
+ name: 'user';
511
+ writable: true;
512
+ },
593
513
  {
594
514
  name: 'stake';
595
515
  writable: true;
@@ -775,6 +695,38 @@ export type TriadProtocol = {
775
695
  }
776
696
  ];
777
697
  },
698
+ {
699
+ name: 'swap404';
700
+ discriminator: [227, 249, 224, 136, 128, 95, 255, 239];
701
+ accounts: [
702
+ {
703
+ name: 'signer';
704
+ writable: true;
705
+ signer: true;
706
+ },
707
+ {
708
+ name: 'user';
709
+ writable: true;
710
+ pda: {
711
+ seeds: [
712
+ {
713
+ kind: 'const';
714
+ value: [117, 115, 101, 114];
715
+ },
716
+ {
717
+ kind: 'account';
718
+ path: 'signer';
719
+ }
720
+ ];
721
+ };
722
+ },
723
+ {
724
+ name: 'systemProgram';
725
+ address: '11111111111111111111111111111111';
726
+ }
727
+ ];
728
+ args: [];
729
+ },
778
730
  {
779
731
  name: 'updateStakeVaultStatus';
780
732
  discriminator: [71, 64, 188, 150, 86, 254, 221, 65];
@@ -1031,6 +983,16 @@ export type TriadProtocol = {
1031
983
  code: 6020;
1032
984
  name: 'stakeOverflow';
1033
985
  msg: 'Stake overflow';
986
+ },
987
+ {
988
+ code: 6021;
989
+ name: 'swapsReachedLimit';
990
+ msg: 'Swaps reached limit';
991
+ },
992
+ {
993
+ code: 6022;
994
+ name: 'insufficientFunds';
995
+ msg: 'Insufficient funds';
1034
996
  }
1035
997
  ];
1036
998
  types: [
@@ -1472,6 +1434,10 @@ export type TriadProtocol = {
1472
1434
  {
1473
1435
  name: 'initTs';
1474
1436
  type: 'i64';
1437
+ },
1438
+ {
1439
+ name: 'slots';
1440
+ type: 'u64';
1475
1441
  }
1476
1442
  ];
1477
1443
  };
@@ -1529,10 +1495,14 @@ export type TriadProtocol = {
1529
1495
  name: 'staked';
1530
1496
  type: 'u64';
1531
1497
  },
1498
+ {
1499
+ name: 'firstSwap';
1500
+ type: 'i64';
1501
+ },
1532
1502
  {
1533
1503
  name: 'padding';
1534
1504
  type: {
1535
- array: ['u8', 40];
1505
+ array: ['u8', 32];
1536
1506
  };
1537
1507
  }
1538
1508
  ];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@triadxyz/triad-protocol",
3
- "version": "0.3.0-beta",
3
+ "version": "0.3.2-beta",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",