@triadxyz/triad-protocol 0.1.4-beta → 0.1.6-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,35 @@ 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
+ let referralPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, name);
70
+ if (referral) {
71
+ referralPDA = (0, helpers_1.getUserAddressSync)(this.program.programId, referral);
72
+ }
73
+ const method = this.program.methods
74
+ .createUser({
75
+ name
76
+ })
77
+ .accounts({
78
+ signer: wallet,
79
+ referral: referralPDA
80
+ });
81
+ if (options === null || options === void 0 ? void 0 : options.microLamports) {
82
+ method.postInstructions([
83
+ web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
84
+ microLamports: options.microLamports
85
+ })
86
+ ]);
87
+ }
88
+ return method.rpc({ skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight });
89
+ };
44
90
  this.provider = new anchor_1.AnchorProvider(connection, wallet, anchor_1.AnchorProvider.defaultOptions());
45
91
  this.program = new anchor_1.Program(idl_triad_protocol_json_1.default, this.provider);
46
92
  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
@@ -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,
@@ -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;
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.6-beta",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",