@triadxyz/triad-protocol 1.4.8-beta → 1.5.0-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
@@ -4,69 +4,81 @@ import { TriadProtocol } from './types/triad_protocol';
4
4
  import { RpcOptions } from './types';
5
5
  import { UpdateStakeVaultArgs, RequestWithdrawArgs, WithdrawArgs, Stake as StakeResponse, StakeTokenArgs } from './types/stake';
6
6
  export default class Stake {
7
- program: Program<TriadProtocol>;
8
- provider: AnchorProvider;
9
- stakeVaultName: string;
7
+ private program;
8
+ private provider;
10
9
  constructor(program: Program<TriadProtocol>, provider: AnchorProvider);
11
10
  /**
12
11
  * Get all Stake Vaults
12
+ *
13
13
  */
14
14
  getStakeVaults(): Promise<import("./types/stake").StakeVault[]>;
15
15
  /**
16
16
  * Get all Stakes
17
+ *
17
18
  */
18
19
  getStakes(): Promise<StakeResponse[]>;
19
20
  /**
20
- * Get User Stakes
21
+ * Get User Stakes By Wallet
22
+ * @param wallet - User wallet
23
+ *
21
24
  */
22
25
  getUserStakes(wallet: PublicKey): Promise<StakeResponse[]>;
23
26
  /**
24
27
  * Get Stake By Wallet
25
- * @param wallet - User wallet
26
- * @param collections - NFT collections
27
- * @param tensor rank
28
+ * @param wallet - User Wallet
29
+ * @param multiplier - Multiplier
28
30
  *
29
31
  */
30
32
  getStakeByWallet(wallet: PublicKey, collections: number): Promise<StakeResponse[]>;
31
33
  /**
32
34
  * Stake Token
33
- * @param name - Index
34
- * @param wallet - User wallet
35
- * @param amount - Amount to stake
35
+ * @param args.name - Index for finding the PDA
36
+ * @param args.wallet - User wallet
37
+ * @param args.amount - Amount to stake
38
+ *
39
+ * @param options - RPC options
36
40
  *
37
41
  */
38
42
  stakeToken({ name, wallet, amount }: StakeTokenArgs, options?: RpcOptions): Promise<string>;
39
43
  /**
40
44
  * Update Stake Vault
41
- * @param wallet - User wallet
42
- * @param amount - Reward amount to deposit (optional)
43
- * @param isLocked - is locked stake vault (optional)
45
+ * @param args.amount - Reward amount to deposit (optional)
46
+ * @param args.isLocked - is locked stake vault (optional)
47
+ *
48
+ * @param options - RPC options
44
49
  *
45
50
  */
46
- updateStakeVault({ wallet, amount, isLocked }: UpdateStakeVaultArgs, options?: RpcOptions): Promise<string>;
51
+ updateStakeVault({ amount, isLocked }: UpdateStakeVaultArgs, options?: RpcOptions): Promise<string>;
47
52
  /**
48
53
  * Request Withdraw
49
- * @param wallet - User wallet
50
- * @param nfts - NFTs to Request withdraw
54
+ * @param args.wallet - User wallet
55
+ * @param args.nfts - NFTs to Request withdraw
56
+ *
57
+ * @param options - RPC options
51
58
  *
52
59
  */
53
60
  requestWithdraw({ wallet, nfts }: RequestWithdrawArgs, options?: RpcOptions): Promise<string>;
54
61
  /**
55
62
  * Withdraw Stake
56
- * @param wallet - User wallet
57
- * @param name - Stake name
58
- * @param mint - NFT mint
63
+ * @param args.wallet - User wallet
64
+ * @param args.name - Stake name
65
+ * @param args.mint - Stake native mint (TRD)
66
+ *
67
+ * @param options - RPC options
59
68
  *
60
69
  */
61
70
  withdrawStake({ wallet, name, mint }: WithdrawArgs, options?: RpcOptions): Promise<string>;
62
71
  /**
63
- * Claim All Stake Rewards
64
- * @param wallet - User wallet
65
- * @param collections - NFT collections
66
- * @param ranks - Tensor ranks
72
+ * Claim Stake Rewards
73
+ * @param args.wallet - User wallet
74
+ * @param args.collections - NFT collections
75
+ * @param args.ranks - Tensor ranks
76
+ * @param args.verifier - Verifier
77
+ *
78
+ * @param options - RPC options
67
79
  *
68
80
  */
69
- claimStakeRewards({ wallet, collections, ranks, verifier, isToken }: {
81
+ claimStakeRewards({ wallet, collections, ranks, verifier }: {
70
82
  wallet: PublicKey;
71
83
  collections: number;
72
84
  ranks: {
@@ -75,6 +87,5 @@ export default class Stake {
75
87
  rarityRankHrtt: number;
76
88
  }[];
77
89
  verifier: string;
78
- isToken?: boolean;
79
90
  }, options?: RpcOptions): Promise<string>;
80
91
  }
package/dist/stake.js CHANGED
@@ -22,12 +22,12 @@ const sendTransactionWithOptions_1 = __importDefault(require("./utils/sendTransa
22
22
  const convertSecretKeyToKeypair_1 = require("./utils/convertSecretKeyToKeypair");
23
23
  class Stake {
24
24
  constructor(program, provider) {
25
- this.stakeVaultName = constants_1.STAKE_VAULT_NAME;
26
- this.provider = provider;
27
25
  this.program = program;
26
+ this.provider = provider;
28
27
  }
29
28
  /**
30
29
  * Get all Stake Vaults
30
+ *
31
31
  */
32
32
  getStakeVaults() {
33
33
  return __awaiter(this, void 0, void 0, function* () {
@@ -37,6 +37,7 @@ class Stake {
37
37
  }
38
38
  /**
39
39
  * Get all Stakes
40
+ *
40
41
  */
41
42
  getStakes() {
42
43
  return __awaiter(this, void 0, void 0, function* () {
@@ -45,7 +46,9 @@ class Stake {
45
46
  });
46
47
  }
47
48
  /**
48
- * Get User Stakes
49
+ * Get User Stakes By Wallet
50
+ * @param wallet - User wallet
51
+ *
49
52
  */
50
53
  getUserStakes(wallet) {
51
54
  return __awaiter(this, void 0, void 0, function* () {
@@ -62,9 +65,8 @@ class Stake {
62
65
  }
63
66
  /**
64
67
  * Get Stake By Wallet
65
- * @param wallet - User wallet
66
- * @param collections - NFT collections
67
- * @param tensor rank
68
+ * @param wallet - User Wallet
69
+ * @param multiplier - Multiplier
68
70
  *
69
71
  */
70
72
  getStakeByWallet(wallet, collections) {
@@ -80,9 +82,11 @@ class Stake {
80
82
  }
81
83
  /**
82
84
  * Stake Token
83
- * @param name - Index
84
- * @param wallet - User wallet
85
- * @param amount - Amount to stake
85
+ * @param args.name - Index for finding the PDA
86
+ * @param args.wallet - User wallet
87
+ * @param args.amount - Amount to stake
88
+ *
89
+ * @param options - RPC options
86
90
  *
87
91
  */
88
92
  stakeToken({ name, wallet, amount }, options) {
@@ -91,7 +95,7 @@ class Stake {
91
95
  .stakeToken({
92
96
  name,
93
97
  amount: new anchor_1.BN(amount * Math.pow(10, 6)),
94
- stakeVault: this.stakeVaultName
98
+ stakeVault: constants_1.STAKE_VAULT_NAME
95
99
  })
96
100
  .accounts({
97
101
  signer: wallet,
@@ -101,35 +105,37 @@ class Stake {
101
105
  }
102
106
  /**
103
107
  * Update Stake Vault
104
- * @param wallet - User wallet
105
- * @param amount - Reward amount to deposit (optional)
106
- * @param isLocked - is locked stake vault (optional)
108
+ * @param args.amount - Reward amount to deposit (optional)
109
+ * @param args.isLocked - is locked stake vault (optional)
110
+ *
111
+ * @param options - RPC options
107
112
  *
108
113
  */
109
- updateStakeVault({ wallet, amount, isLocked }, options) {
114
+ updateStakeVault({ amount, isLocked }, options) {
110
115
  return __awaiter(this, void 0, void 0, function* () {
111
116
  return (0, sendTransactionWithOptions_1.default)(this.program.methods
112
117
  .updateStakeVault({
113
118
  amount,
114
119
  isLocked,
115
- stakeVault: this.stakeVaultName
120
+ stakeVault: constants_1.STAKE_VAULT_NAME
116
121
  })
117
122
  .accounts({
118
- signer: wallet,
123
+ signer: this.provider.publicKey,
119
124
  mint: constants_1.TRD_MINT
120
125
  }), options);
121
126
  });
122
127
  }
123
128
  /**
124
129
  * Request Withdraw
125
- * @param wallet - User wallet
126
- * @param nfts - NFTs to Request withdraw
130
+ * @param args.wallet - User wallet
131
+ * @param args.nfts - NFTs to Request withdraw
132
+ *
133
+ * @param options - RPC options
127
134
  *
128
135
  */
129
136
  requestWithdraw({ wallet, nfts }, options) {
130
137
  return __awaiter(this, void 0, void 0, function* () {
131
138
  const ixs = [];
132
- const stakeVaultPDA = (0, stake_1.getStakeVaultPDA)(this.program.programId, this.stakeVaultName);
133
139
  for (const nft of nfts) {
134
140
  const stakePDA = (0, stake_1.getStakePDA)(this.program.programId, wallet, nft.name);
135
141
  ixs.push(yield this.program.methods
@@ -137,8 +143,7 @@ class Stake {
137
143
  .accounts({
138
144
  signer: wallet,
139
145
  mint: nft.mint,
140
- stake: stakePDA,
141
- stakeVault: stakeVaultPDA
146
+ stake: stakePDA
142
147
  })
143
148
  .instruction());
144
149
  }
@@ -147,14 +152,16 @@ class Stake {
147
152
  }
148
153
  /**
149
154
  * Withdraw Stake
150
- * @param wallet - User wallet
151
- * @param name - Stake name
152
- * @param mint - NFT mint
155
+ * @param args.wallet - User wallet
156
+ * @param args.name - Stake name
157
+ * @param args.mint - Stake native mint (TRD)
158
+ *
159
+ * @param options - RPC options
153
160
  *
154
161
  */
155
162
  withdrawStake({ wallet, name, mint }, options) {
156
163
  return __awaiter(this, void 0, void 0, function* () {
157
- const stakeVaultPDA = (0, stake_1.getStakeVaultPDA)(this.program.programId, this.stakeVaultName);
164
+ const stakeVaultPDA = (0, stake_1.getStakeVaultPDA)(this.program.programId, constants_1.STAKE_VAULT_NAME);
158
165
  const stakePDA = (0, stake_1.getStakePDA)(this.program.programId, wallet, name);
159
166
  return (0, sendTransactionWithOptions_1.default)(this.program.methods.withdrawStake().accounts({
160
167
  signer: wallet,
@@ -166,35 +173,32 @@ class Stake {
166
173
  });
167
174
  }
168
175
  /**
169
- * Claim All Stake Rewards
170
- * @param wallet - User wallet
171
- * @param collections - NFT collections
172
- * @param ranks - Tensor ranks
176
+ * Claim Stake Rewards
177
+ * @param args.wallet - User wallet
178
+ * @param args.collections - NFT collections
179
+ * @param args.ranks - Tensor ranks
180
+ * @param args.verifier - Verifier
181
+ *
182
+ * @param options - RPC options
173
183
  *
174
184
  */
175
- claimStakeRewards({ wallet, collections, ranks, verifier, isToken }, options) {
185
+ claimStakeRewards({ wallet, collections, ranks, verifier }, options) {
176
186
  return __awaiter(this, void 0, void 0, function* () {
177
187
  const stakes = (yield this.getUserStakes(wallet)).sort((a, b) => a.claimedTs - b.claimedTs);
178
188
  const ixs = [];
179
- let tokenStakes = [];
180
- let nftStakes = [];
189
+ let items = [];
181
190
  stakes.forEach((stake) => {
182
191
  if (stake.withdrawTs !== 0) {
183
192
  return;
184
193
  }
185
- if (stake.mint === constants_1.TRD_MINT.toBase58()) {
186
- tokenStakes.push(stake);
187
- return;
188
- }
189
- nftStakes.push(stake);
194
+ items.push(stake);
190
195
  });
191
- let items = isToken ? tokenStakes : nftStakes;
192
196
  for (const stake of items) {
193
197
  const rank = (0, getRarityRank_1.default)(ranks, stake.mint, stake.name);
194
198
  if (ixs.length >= 10) {
195
199
  break;
196
200
  }
197
- const stakeVaultPDA = (0, stake_1.getStakeVaultPDA)(this.program.programId, this.stakeVaultName);
201
+ const stakeVaultPDA = (0, stake_1.getStakeVaultPDA)(this.program.programId, constants_1.STAKE_VAULT_NAME);
198
202
  const stakePDA = (0, stake_1.getStakePDA)(this.program.programId, wallet, stake.name);
199
203
  ixs.push(yield this.program.methods
200
204
  .claimStakeRewards({
package/dist/trade.d.ts CHANGED
@@ -1,33 +1,33 @@
1
1
  import { AnchorProvider, Program } from '@coral-xyz/anchor';
2
2
  import { TriadProtocol } from './types/triad_protocol';
3
3
  import { PublicKey } from '@solana/web3.js';
4
- import { InitializeMarketArgs, Market, OpenOrderArgs, OrderDirection } from './types/trade';
4
+ import { InitializeMarketArgs, OpenOrderArgs, OrderDirection } from './types/trade';
5
5
  import { RpcOptions } from './types';
6
6
  import BN from 'bn.js';
7
7
  export default class Trade {
8
- program: Program<TriadProtocol>;
9
- provider: AnchorProvider;
10
- mint: PublicKey;
8
+ private program;
9
+ private provider;
11
10
  constructor(program: Program<TriadProtocol>, provider: AnchorProvider);
12
11
  /**
13
- * Get all Markets
12
+ * Get All Markets
13
+ *
14
14
  */
15
- getAllMarkets(): Promise<Market[]>;
15
+ getAllMarkets(): Promise<import("./types/trade").Market[]>;
16
16
  /**
17
- * Get Market by ID
17
+ * Get Market By ID
18
18
  * @param marketId - The ID of the market
19
19
  *
20
20
  */
21
- getMarketById(marketId: number): Promise<Market>;
21
+ getMarketById(marketId: number): Promise<import("./types/trade").Market>;
22
22
  /**
23
- * Get Market by Address
23
+ * Get Market By Address
24
24
  * @param address - The address of the market
25
25
  *
26
26
  */
27
- getMarketByAddress(address: PublicKey): Promise<Market>;
27
+ getMarketByAddress(address: PublicKey): Promise<import("./types/trade").Market>;
28
28
  /**
29
29
  * Get User Trade
30
- * @param user - The user's public key
30
+ * @param user - User PublicKey
31
31
  *
32
32
  */
33
33
  getUserTrade(user: PublicKey): Promise<{
@@ -104,8 +104,10 @@ export default class Trade {
104
104
  }>;
105
105
  /**
106
106
  * Initialize Market
107
- * @param market id - new markert id - length + 1
108
- * @param name - PYTH/TRD JUP/TRD DRIFT/TRD
107
+ * @param args.marketId - new markert id - length + 1
108
+ * @param args.startTime - start time
109
+ * @param args.endTime - end time
110
+ * @param args.question - question (max 80 characters)
109
111
  *
110
112
  * @param options - RPC options
111
113
  *
@@ -113,11 +115,10 @@ export default class Trade {
113
115
  initializeMarket({ marketId, startTime, endTime, question }: InitializeMarketArgs, options?: RpcOptions): Promise<string>;
114
116
  /**
115
117
  * Open Order
116
- * @param marketId - The ID of the market
117
- * @param amount - The amount of the order
118
- * @param direction - The direction of the order
119
- * @param token - The token to use for the order
120
- * @param comment - The comment of the order
118
+ * @param args.marketId - The ID of the Market
119
+ * @param args.amount - The amount of the Order
120
+ * @param args.direction - The direction of the Order
121
+ * @param args.token - The token to use for the Order
121
122
  *
122
123
  * @param options - RPC options
123
124
  *
@@ -125,8 +126,8 @@ export default class Trade {
125
126
  openOrder({ marketId, amount, direction, token }: OpenOrderArgs, options?: RpcOptions): Promise<string>;
126
127
  /**
127
128
  * Close Order
128
- * @param marketId - The ID of the market
129
- * @param orderId - The ID of the order
129
+ * @param args.marketId - The ID of the Market
130
+ * @param args.orderId - The ID of the Order
130
131
  *
131
132
  * @param options - RPC options
132
133
  *
@@ -137,8 +138,8 @@ export default class Trade {
137
138
  }, options?: RpcOptions): Promise<string>;
138
139
  /**
139
140
  * Resolve Market
140
- * @param marketId - The ID of the market
141
- * @param winningDirection - The winning direction of the market
141
+ * @param args.marketId - The ID of the Market
142
+ * @param args.winningDirection - The Winning Direction of the Market
142
143
  *
143
144
  * @param options - RPC options
144
145
  *
@@ -151,14 +152,16 @@ export default class Trade {
151
152
  flop: {};
152
153
  } | {
153
154
  none: {};
155
+ } | {
156
+ draw: {};
154
157
  };
155
158
  }, options?: RpcOptions): Promise<string>;
156
159
  /**
157
160
  * Resolve Market With Liquidity
158
- * @param marketId - The ID of the market
159
- * @param winningDirection - The winning direction of the market
160
- * @param marketToAddLiquidity - The market to add liquidity
161
- * @param amount - The amount of the order
161
+ * @param args.marketId - The ID of the Market
162
+ * @param args.winningDirection - The Winning Direction of the Market
163
+ * @param args.marketToAddLiquidity - The Market to Add Liquidity
164
+ * @param args.amount - The amount of the Order
162
165
  *
163
166
  * @param options - RPC options
164
167
  *
@@ -170,16 +173,18 @@ export default class Trade {
170
173
  amount: number;
171
174
  }, options?: RpcOptions): Promise<string>;
172
175
  /**
173
- * Settle an order
174
- * @param marketId - The ID of the market
175
- * @param orderId - The ID of the order to settle
176
+ * Settle an Order for a V1 Market
177
+ * @param args.marketId - The ID of the Market
178
+ * @param args.orderId - The ID of the Order to Settle
179
+ * @param args.user - The user to settle the order for
176
180
  *
177
181
  * @param options - RPC options
178
182
  *
179
183
  */
180
- settleOrder({ marketId, orderId }: {
184
+ settleOrder({ marketId, orderId, user }: {
181
185
  marketId: number;
182
186
  orderId: number;
187
+ user: PublicKey;
183
188
  }, options?: RpcOptions): Promise<string>;
184
189
  /**
185
190
  * Add Liquidity
@@ -196,23 +201,17 @@ export default class Trade {
196
201
  direction: OrderDirection;
197
202
  }, options?: RpcOptions): Promise<string>;
198
203
  /**
199
- * Collect Fee
204
+ * Collect Remaining Liquidity
200
205
  * @param marketId - The ID of the market
201
206
  *
202
207
  * @param options - RPC options
203
208
  *
204
209
  */
205
- collectFee({ marketId, vault }: {
206
- marketId: number;
207
- vault: PublicKey;
208
- }, options?: RpcOptions): Promise<{
209
- feeToSwap: number;
210
- lamport: number;
211
- }>;
210
+ collectRemainingLiquidity(marketId: number, options?: RpcOptions): Promise<string>;
212
211
  /**
213
- * Payout an order
214
- * @param marketId - The ID of the market
215
- * @param orderId - The ID of the order to payout
212
+ * Payout Order
213
+ * @param args.marketId - The ID of the Market
214
+ * @param args.orderId - The ID of the Order to Payout
216
215
  *
217
216
  * @param options - RPC options
218
217
  *
@@ -221,4 +220,5 @@ export default class Trade {
221
220
  marketId: number;
222
221
  orderId: number;
223
222
  }, options?: RpcOptions): Promise<string>;
223
+ allowMarketPayout(marketId: number, options?: RpcOptions): Promise<string>;
224
224
  }