@triadxyz/triad-protocol 0.1.4-beta → 0.1.7-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
@@ -4,6 +4,7 @@ import { TriadProtocol } from './types/triad_protocol';
4
4
  import Ticker from './ticker';
5
5
  import Vault from './vault';
6
6
  import Stake from './stake';
7
+ import { CreateUserArgs, RpcOptions } from './types';
7
8
  export default class TriadProtocolClient {
8
9
  program: Program<TriadProtocol>;
9
10
  provider: AnchorProvider;
@@ -11,5 +12,18 @@ export default class TriadProtocolClient {
11
12
  vault: Vault;
12
13
  stake: Stake;
13
14
  constructor(connection: Connection, wallet: Wallet);
15
+ /**
16
+ * Get all Users
17
+ */
18
+ getUsers: () => Promise<import("./types/stake").UserResponse[]>;
19
+ hasReferral: (referral: string) => Promise<boolean>;
14
20
  getUserPositions: (userWallet: PublicKey) => Promise<{}[]>;
21
+ /**
22
+ * Create User
23
+ * @param wallet - User wallet
24
+ * @param name - user name
25
+ * @param referral - user referral
26
+ *
27
+ */
28
+ createUser: ({ wallet, name, referral }: CreateUserArgs, options?: RpcOptions) => Promise<string>;
15
29
  }
package/dist/index.js CHANGED
@@ -13,6 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const anchor_1 = require("@coral-xyz/anchor");
16
+ const web3_js_1 = require("@solana/web3.js");
16
17
  const idl_triad_protocol_json_1 = __importDefault(require("./types/idl_triad_protocol.json"));
17
18
  const ticker_1 = __importDefault(require("./ticker"));
18
19
  const vault_1 = __importDefault(require("./vault"));
@@ -20,6 +21,22 @@ const helpers_1 = require("./utils/helpers");
20
21
  const stake_1 = __importDefault(require("./stake"));
21
22
  class TriadProtocolClient {
22
23
  constructor(connection, wallet) {
24
+ /**
25
+ * Get all Users
26
+ */
27
+ this.getUsers = () => __awaiter(this, void 0, void 0, function* () {
28
+ const response = yield this.program.account.user.all();
29
+ return response.map((item) => (0, helpers_1.formatUser)(item.account));
30
+ });
31
+ this.hasReferral = (referral) => __awaiter(this, void 0, void 0, function* () {
32
+ try {
33
+ yield this.program.account.user.fetch((0, helpers_1.getUserAddressSync)(this.program.programId, referral));
34
+ return true;
35
+ }
36
+ catch (_a) {
37
+ return false;
38
+ }
39
+ });
23
40
  this.getUserPositions = (userWallet) => __awaiter(this, void 0, void 0, function* () {
24
41
  const tickers = yield this.ticker.getTickers();
25
42
  const positions = yield Promise.all(tickers
@@ -33,7 +50,7 @@ class TriadProtocolClient {
33
50
  position
34
51
  };
35
52
  }
36
- catch (_a) {
53
+ catch (_b) {
37
54
  return;
38
55
  }
39
56
  return data;
@@ -41,6 +58,32 @@ class TriadProtocolClient {
41
58
  .filter(Boolean));
42
59
  return positions;
43
60
  });
61
+ /**
62
+ * Create User
63
+ * @param wallet - User wallet
64
+ * @param name - user name
65
+ * @param referral - user referral
66
+ *
67
+ */
68
+ this.createUser = ({ wallet, name, referral }, options) => {
69
+ const referralPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, referral);
70
+ const method = this.program.methods
71
+ .createUser({
72
+ name,
73
+ referral: referralPDA
74
+ })
75
+ .accounts({
76
+ signer: wallet
77
+ });
78
+ if (options === null || options === void 0 ? void 0 : options.microLamports) {
79
+ method.postInstructions([
80
+ web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
81
+ microLamports: options.microLamports
82
+ })
83
+ ]);
84
+ }
85
+ return method.rpc({ skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight });
86
+ };
44
87
  this.provider = new anchor_1.AnchorProvider(connection, wallet, anchor_1.AnchorProvider.defaultOptions());
45
88
  this.program = new anchor_1.Program(idl_triad_protocol_json_1.default, this.provider);
46
89
  this.ticker = new ticker_1.default(this.program, this.provider);
package/dist/stake.d.ts CHANGED
@@ -2,7 +2,7 @@ import { AnchorProvider, Program } from '@coral-xyz/anchor';
2
2
  import { PublicKey } from '@solana/web3.js';
3
3
  import { TriadProtocol } from './types/triad_protocol';
4
4
  import { RpcOptions } from './types';
5
- import { DepositStakeRewardsArgs, InitializeStakeArgs, StakeNftArgs, RequestWithdrawArgs, WithdrawArgs, StakeResponse, UpdateStakeVaultStatusArgs, ClaimStakeRewardsArgs, CreateUserArgs, StakeTokenArgs, MigrateStakeArgs } from './types/stake';
5
+ import { DepositStakeRewardsArgs, InitializeStakeArgs, StakeNftArgs, RequestWithdrawArgs, WithdrawArgs, StakeResponse, UpdateStakeVaultStatusArgs, ClaimStakeRewardsArgs, StakeTokenArgs, MigrateStakeArgs } from './types/stake';
6
6
  export default class Stake {
7
7
  program: Program<TriadProtocol>;
8
8
  provider: AnchorProvider;
@@ -11,10 +11,6 @@ export default class Stake {
11
11
  * Get all Stake Vaults
12
12
  */
13
13
  getStakeVaults(): Promise<import("./types/stake").StakeVaultResponse[]>;
14
- /**
15
- * Get all Users
16
- */
17
- getUsers(): Promise<import("./types/stake").UserResponse[]>;
18
14
  /**
19
15
  * Get Stake Vault by name
20
16
  * @param stakeVault - Stake Vault name
@@ -119,14 +115,6 @@ export default class Stake {
119
115
  *
120
116
  */
121
117
  claimStakeRewards({ wallet, mint, stakeVault, nftName }: ClaimStakeRewardsArgs, options?: RpcOptions): Promise<string>;
122
- /**
123
- * Create User
124
- * @param wallet - User wallet
125
- * @param name - user name
126
- * @param referral - user referral
127
- *
128
- */
129
- createUser({ wallet, name, referral }: CreateUserArgs, options?: RpcOptions): Promise<string>;
130
118
  /**
131
119
  * Migrate Stake
132
120
  * @param name - NFT name
package/dist/stake.js CHANGED
@@ -27,15 +27,6 @@ class Stake {
27
27
  return response.map((stakeVault) => (0, helpers_1.formatStakeVault)(stakeVault.account));
28
28
  });
29
29
  }
30
- /**
31
- * Get all Users
32
- */
33
- getUsers() {
34
- return __awaiter(this, void 0, void 0, function* () {
35
- const response = yield this.program.account.user.all();
36
- return response.map((item) => (0, helpers_1.formatUser)(item.account));
37
- });
38
- }
39
30
  /**
40
31
  * Get Stake Vault by name
41
32
  * @param stakeVault - Stake Vault name
@@ -359,7 +350,7 @@ class Stake {
359
350
  const Stake = (0, helpers_1.getStakeAddressSync)(this.program.programId, wallet, nftName);
360
351
  const ToATA = (0, helpers_1.getATASync)(wallet, mint);
361
352
  const FromAta = (0, helpers_1.getATASync)(StakeVault, mint);
362
- const method = this.program.methods.claimStakeRewards().accounts({
353
+ const method = this.program.methods.claimStake().accounts({
363
354
  signer: wallet,
364
355
  fromAta: FromAta,
365
356
  toAta: ToATA,
@@ -377,34 +368,6 @@ class Stake {
377
368
  return method.rpc({ skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight });
378
369
  });
379
370
  }
380
- /**
381
- * Create User
382
- * @param wallet - User wallet
383
- * @param name - user name
384
- * @param referral - user referral
385
- *
386
- */
387
- createUser({ wallet, name, referral }, options) {
388
- return __awaiter(this, void 0, void 0, function* () {
389
- const referralPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, referral);
390
- const method = this.program.methods
391
- .createUser({
392
- name
393
- })
394
- .accounts({
395
- signer: wallet,
396
- referral: referralPDA
397
- });
398
- if (options === null || options === void 0 ? void 0 : options.microLamports) {
399
- method.postInstructions([
400
- web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
401
- microLamports: options.microLamports
402
- })
403
- ]);
404
- }
405
- return method.rpc({ skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight });
406
- });
407
- }
408
371
  /**
409
372
  * Migrate Stake
410
373
  * @param name - NFT name
package/dist/test.js CHANGED
@@ -65,7 +65,6 @@ const getStake = () => __awaiter(void 0, void 0, void 0, function* () {
65
65
  console.log(response);
66
66
  console.log(stakeVaults);
67
67
  });
68
- getStake();
69
68
  const claimStakeRewardsV1 = () => __awaiter(void 0, void 0, void 0, function* () {
70
69
  const response = yield triadProtocol.stake.claimStakeRewards({
71
70
  wallet: wallet.publicKey,
@@ -91,9 +90,14 @@ const stake = () => __awaiter(void 0, void 0, void 0, function* () {
91
90
  console.log(response);
92
91
  });
93
92
  const getUsers = () => __awaiter(void 0, void 0, void 0, function* () {
94
- const response = yield triadProtocol.stake.getUsers();
93
+ const response = yield triadProtocol.getUsers();
95
94
  console.log(response);
96
95
  });
96
+ const getReferral = () => __awaiter(void 0, void 0, void 0, function* () {
97
+ const response = yield triadProtocol.hasReferral('a');
98
+ console.log(response);
99
+ });
100
+ getReferral();
97
101
  const migrateStake = () => __awaiter(void 0, void 0, void 0, function* () {
98
102
  const response = yield triadProtocol.stake.migrateStake({
99
103
  wallet: wallet.publicKey,
@@ -7,8 +7,8 @@
7
7
  },
8
8
  "instructions": [
9
9
  {
10
- "name": "claim_stake_rewards",
11
- "discriminator": [107, 91, 233, 196, 211, 47, 218, 21],
10
+ "name": "claim_stake",
11
+ "discriminator": [62, 145, 133, 242, 244, 59, 53, 139],
12
12
  "accounts": [
13
13
  {
14
14
  "name": "signer",
@@ -219,10 +219,6 @@
219
219
  "writable": true,
220
220
  "signer": true
221
221
  },
222
- {
223
- "name": "referral",
224
- "writable": true
225
- },
226
222
  {
227
223
  "name": "user",
228
224
  "writable": true,
@@ -1205,6 +1201,10 @@
1205
1201
  {
1206
1202
  "name": "name",
1207
1203
  "type": "string"
1204
+ },
1205
+ {
1206
+ "name": "referral",
1207
+ "type": "pubkey"
1208
1208
  }
1209
1209
  ]
1210
1210
  }
@@ -1,4 +1,10 @@
1
+ import { PublicKey } from '@solana/web3.js';
1
2
  export type RpcOptions = {
2
3
  skipPreflight?: boolean;
3
4
  microLamports?: number;
4
5
  };
6
+ export type CreateUserArgs = {
7
+ wallet: PublicKey;
8
+ name: string;
9
+ referral?: string;
10
+ };
@@ -56,11 +56,6 @@ export type ClaimStakeRewardsArgs = {
56
56
  stakeVault: string;
57
57
  nftName: string;
58
58
  };
59
- export type CreateUserArgs = {
60
- wallet: PublicKey;
61
- name: string;
62
- referral: string;
63
- };
64
59
  export type UpdateStakeRewardsArgs = {
65
60
  day: number;
66
61
  wallet: PublicKey;
@@ -13,8 +13,8 @@ export type TriadProtocol = {
13
13
  };
14
14
  instructions: [
15
15
  {
16
- name: 'claimStakeRewards';
17
- discriminator: [107, 91, 233, 196, 211, 47, 218, 21];
16
+ name: 'claimStake';
17
+ discriminator: [62, 145, 133, 242, 244, 59, 53, 139];
18
18
  accounts: [
19
19
  {
20
20
  name: 'signer';
@@ -214,10 +214,6 @@ export type TriadProtocol = {
214
214
  writable: true;
215
215
  signer: true;
216
216
  },
217
- {
218
- name: 'referral';
219
- writable: true;
220
- },
221
217
  {
222
218
  name: 'user';
223
219
  writable: true;
@@ -1117,6 +1113,10 @@ export type TriadProtocol = {
1117
1113
  {
1118
1114
  name: 'name';
1119
1115
  type: 'string';
1116
+ },
1117
+ {
1118
+ name: 'referral';
1119
+ type: 'pubkey';
1120
1120
  }
1121
1121
  ];
1122
1122
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@triadxyz/triad-protocol",
3
- "version": "0.1.4-beta",
3
+ "version": "0.1.7-beta",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",