@triadxyz/triad-protocol 0.2.1-beta → 0.2.4-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
@@ -13,14 +13,20 @@ export default class TriadProtocolClient {
13
13
  stake: Stake;
14
14
  constructor(connection: Connection, wallet: Wallet);
15
15
  /**
16
- * Get all Users
16
+ * Get User by wallet
17
+ * @param wallet - User wallet
18
+ */
19
+ getUser: (wallet: PublicKey) => Promise<import("./types/stake").UserResponse>;
20
+ /**
21
+ * Get User by wallet
22
+ * @param wallet - User wallet
17
23
  */
18
24
  getUsers: () => Promise<import("./types/stake").UserResponse[]>;
19
25
  /**
20
- * Check if user has referral
21
- * @param referral - User referral
26
+ * Check if user exists
27
+ * @param username - User name
22
28
  */
23
- hasReferral: (referral: string) => Promise<boolean>;
29
+ hasUser: (wallet: PublicKey) => Promise<boolean>;
24
30
  getUserPositions: (userWallet: PublicKey) => Promise<{}[]>;
25
31
  /**
26
32
  * Create User
package/dist/index.js CHANGED
@@ -22,21 +22,29 @@ const stake_1 = __importDefault(require("./stake"));
22
22
  class TriadProtocolClient {
23
23
  constructor(connection, wallet) {
24
24
  /**
25
- * Get all Users
25
+ * Get User by wallet
26
+ * @param wallet - User wallet
27
+ */
28
+ this.getUser = (wallet) => __awaiter(this, void 0, void 0, function* () {
29
+ const UserPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, wallet);
30
+ const response = yield this.program.account.user.fetch(UserPDA);
31
+ return (0, helpers_1.formatUser)(response);
32
+ });
33
+ /**
34
+ * Get User by wallet
35
+ * @param wallet - User wallet
26
36
  */
27
37
  this.getUsers = () => __awaiter(this, void 0, void 0, function* () {
28
38
  const response = yield this.program.account.user.all();
29
- return response
30
- .map((item) => (0, helpers_1.formatUser)(item.account))
31
- .sort((a, b) => b.referred - a.referred);
39
+ return response.map((item) => (0, helpers_1.formatUser)(item));
32
40
  });
33
41
  /**
34
- * Check if user has referral
35
- * @param referral - User referral
42
+ * Check if user exists
43
+ * @param username - User name
36
44
  */
37
- this.hasReferral = (referral) => __awaiter(this, void 0, void 0, function* () {
45
+ this.hasUser = (wallet) => __awaiter(this, void 0, void 0, function* () {
38
46
  try {
39
- yield this.program.account.user.fetch((0, helpers_1.getUserAddressSync)(this.program.programId, referral));
47
+ yield this.program.account.user.fetch((0, helpers_1.getUserAddressSync)(this.program.programId, wallet));
40
48
  return true;
41
49
  }
42
50
  catch (_a) {
@@ -72,14 +80,13 @@ class TriadProtocolClient {
72
80
  *
73
81
  */
74
82
  this.createUser = ({ wallet, name, referral }, options) => {
75
- const referralPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, referral);
76
83
  const method = this.program.methods
77
84
  .createUser({
78
85
  name
79
86
  })
80
87
  .accounts({
81
88
  signer: wallet,
82
- referral: referralPDA
89
+ referral
83
90
  });
84
91
  if (options === null || options === void 0 ? void 0 : options.microLamports) {
85
92
  method.postInstructions([
package/dist/stake.js CHANGED
@@ -164,6 +164,7 @@ class Stake {
164
164
  return __awaiter(this, void 0, void 0, function* () {
165
165
  const ttriad = new web3_js_1.PublicKey(constants_1.TTRIAD_MINT);
166
166
  const FromAta = (0, helpers_1.getATASync)(wallet, ttriad);
167
+ const userPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, wallet);
167
168
  const method = this.program.methods
168
169
  .stakeToken({
169
170
  name,
@@ -173,7 +174,8 @@ class Stake {
173
174
  .accounts({
174
175
  signer: wallet,
175
176
  fromAta: FromAta,
176
- mint: ttriad
177
+ mint: ttriad,
178
+ user: userPDA
177
179
  });
178
180
  if (options === null || options === void 0 ? void 0 : options.microLamports) {
179
181
  method.postInstructions([
@@ -282,6 +284,7 @@ class Stake {
282
284
  withdrawStake({ wallet, name, mint, stakeVault }, options) {
283
285
  return __awaiter(this, void 0, void 0, function* () {
284
286
  const stakeVaultPDA = (0, helpers_1.getStakeVaultAddressSync)(this.program.programId, stakeVault);
287
+ const userPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, wallet);
285
288
  const FromAta = (0, helpers_1.getATASync)(stakeVaultPDA, mint);
286
289
  const stakePDA = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, name);
287
290
  const method = this.program.methods.withdrawStake().accounts({
@@ -290,7 +293,8 @@ class Stake {
290
293
  stake: stakePDA,
291
294
  stakeVault: stakeVaultPDA,
292
295
  admin: new web3_js_1.PublicKey('82ppCojm3yrEKgdpH8B5AmBJTU1r1uAWXFWhxvPs9UCR'),
293
- mint: mint
296
+ mint: mint,
297
+ user: userPDA
294
298
  });
295
299
  if (options === null || options === void 0 ? void 0 : options.microLamports) {
296
300
  method.postInstructions([
package/dist/test.js CHANGED
@@ -47,6 +47,6 @@ const getUsers = () => __awaiter(void 0, void 0, void 0, function* () {
47
47
  });
48
48
  getUsers();
49
49
  const getReferral = () => __awaiter(void 0, void 0, void 0, function* () {
50
- const response = yield triadProtocol.hasReferral('a');
50
+ const response = yield triadProtocol.hasUser(new web3_js_1.PublicKey(''));
51
51
  console.log(response);
52
52
  });
@@ -233,8 +233,8 @@
233
233
  "value": [117, 115, 101, 114]
234
234
  },
235
235
  {
236
- "kind": "arg",
237
- "path": "args.name"
236
+ "kind": "account",
237
+ "path": "signer"
238
238
  }
239
239
  ]
240
240
  }
@@ -661,6 +661,10 @@
661
661
  ]
662
662
  }
663
663
  },
664
+ {
665
+ "name": "user",
666
+ "writable": true
667
+ },
664
668
  {
665
669
  "name": "stake",
666
670
  "writable": true,
@@ -816,6 +820,10 @@
816
820
  "name": "stake_vault",
817
821
  "writable": true
818
822
  },
823
+ {
824
+ "name": "user",
825
+ "writable": true
826
+ },
819
827
  {
820
828
  "name": "stake",
821
829
  "writable": true
@@ -1020,6 +1028,11 @@
1020
1028
  "code": 6019,
1021
1029
  "name": "RewardsAlreadyClaimed",
1022
1030
  "msg": "Rewards already claimed"
1031
+ },
1032
+ {
1033
+ "code": 6020,
1034
+ "name": "StakeOverflow",
1035
+ "msg": "Stake overflow"
1023
1036
  }
1024
1037
  ],
1025
1038
  "types": [
@@ -1514,10 +1527,14 @@
1514
1527
  "name": "swaps_made",
1515
1528
  "type": "i16"
1516
1529
  },
1530
+ {
1531
+ "name": "staked",
1532
+ "type": "u64"
1533
+ },
1517
1534
  {
1518
1535
  "name": "padding",
1519
1536
  "type": {
1520
- "array": ["u8", 48]
1537
+ "array": ["u8", 40]
1521
1538
  }
1522
1539
  }
1523
1540
  ]
@@ -6,5 +6,5 @@ export type RpcOptions = {
6
6
  export type CreateUserArgs = {
7
7
  wallet: PublicKey;
8
8
  name: string;
9
- referral?: string;
9
+ referral?: PublicKey;
10
10
  };
@@ -314,8 +314,8 @@ export type TriadProtocol = {
314
314
  value: [117, 115, 101, 114];
315
315
  },
316
316
  {
317
- kind: 'arg';
318
- path: 'args.name';
317
+ kind: 'account';
318
+ path: 'signer';
319
319
  }
320
320
  ];
321
321
  };
@@ -887,6 +887,10 @@ export type TriadProtocol = {
887
887
  ];
888
888
  };
889
889
  },
890
+ {
891
+ name: 'user';
892
+ writable: true;
893
+ },
890
894
  {
891
895
  name: 'stake';
892
896
  writable: true;
@@ -1100,6 +1104,10 @@ export type TriadProtocol = {
1100
1104
  name: 'stakeVault';
1101
1105
  writable: true;
1102
1106
  },
1107
+ {
1108
+ name: 'user';
1109
+ writable: true;
1110
+ },
1103
1111
  {
1104
1112
  name: 'stake';
1105
1113
  writable: true;
@@ -1362,6 +1370,11 @@ export type TriadProtocol = {
1362
1370
  code: 6019;
1363
1371
  name: 'rewardsAlreadyClaimed';
1364
1372
  msg: 'Rewards already claimed';
1373
+ },
1374
+ {
1375
+ code: 6020;
1376
+ name: 'stakeOverflow';
1377
+ msg: 'Stake overflow';
1365
1378
  }
1366
1379
  ];
1367
1380
  types: [
@@ -1856,10 +1869,14 @@ export type TriadProtocol = {
1856
1869
  name: 'swapsMade';
1857
1870
  type: 'i16';
1858
1871
  },
1872
+ {
1873
+ name: 'staked';
1874
+ type: 'u64';
1875
+ },
1859
1876
  {
1860
1877
  name: 'padding';
1861
1878
  type: {
1862
- array: ['u8', 48];
1879
+ array: ['u8', 40];
1863
1880
  };
1864
1881
  }
1865
1882
  ];
@@ -11,7 +11,7 @@ export declare const getStakeVaultAddressSync: (programId: PublicKey, vaultName:
11
11
  export declare const getStakeAddressSync: (programId: PublicKey, wallet: PublicKey, name: string) => PublicKey;
12
12
  export declare const getNFTRewardsAddressSync: (programId: PublicKey, stake: PublicKey) => PublicKey;
13
13
  export declare const getATASync: (address: PublicKey, Mint: PublicKey) => PublicKey;
14
- export declare const getUserAddressSync: (programId: PublicKey, name: string) => PublicKey;
14
+ export declare const getUserAddressSync: (programId: PublicKey, wallet: PublicKey) => PublicKey;
15
15
  export declare const formatNumber: (number: bigint | BN, decimals?: number) => number;
16
16
  export declare const formatStakeVault: (stakeVault: any) => StakeVaultResponse;
17
17
  export declare const formatStake: (stake: any) => StakeResponse;
@@ -91,8 +91,8 @@ const getATASync = (address, Mint) => {
91
91
  return ATA;
92
92
  };
93
93
  exports.getATASync = getATASync;
94
- const getUserAddressSync = (programId, name) => {
95
- const [StakePDA] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from('user'), Buffer.from(name)], programId);
94
+ const getUserAddressSync = (programId, wallet) => {
95
+ const [StakePDA] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from('user'), wallet.toBuffer()], programId);
96
96
  return StakePDA;
97
97
  };
98
98
  exports.getUserAddressSync = getUserAddressSync;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@triadxyz/triad-protocol",
3
- "version": "0.2.1-beta",
3
+ "version": "0.2.4-beta",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",