@triadxyz/triad-protocol 2.5.0-beta → 2.5.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/index.d.ts CHANGED
@@ -5,6 +5,10 @@ import { TriadProtocol } from './types/triad_protocol';
5
5
  import { CreateMarketArgs, OpenOrderArgs, UserTrade, CreateCustomerArgs, MarketBidOrderArgs, CancelBidOrderArgs, CancelAskOrderArgs, PlaceBidOrderArgs, PlaceAskOrderArgs, CreatePoolArgs, BookOrder, MarketAskOrderArgs, RpcOptions, CollectMarketFeeArgs } from './types';
6
6
  import Stake from './stake';
7
7
  import Poseidon from './poseidon';
8
+ export * from './types';
9
+ export * from './types/stake';
10
+ export * from './types/poseidon';
11
+ export * from './utils/helpers';
8
12
  export default class TriadProtocolClient {
9
13
  program: Program<TriadProtocol>;
10
14
  provider: AnchorProvider;
package/dist/index.js CHANGED
@@ -1,4 +1,18 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
17
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
18
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -24,6 +38,10 @@ const sendVersionedTransaction_1 = __importDefault(require("./utils/sendVersione
24
38
  const swap_1 = require("./utils/swap");
25
39
  const stake_1 = __importDefault(require("./stake"));
26
40
  const poseidon_1 = __importDefault(require("./poseidon"));
41
+ __exportStar(require("./types"), exports);
42
+ __exportStar(require("./types/stake"), exports);
43
+ __exportStar(require("./types/poseidon"), exports);
44
+ __exportStar(require("./utils/helpers"), exports);
27
45
  class TriadProtocolClient {
28
46
  constructor(connection, wallet) {
29
47
  this.decimals = constants_1.TRD_DECIMALS; // We're using only TRD or USDC so we can use the same decimals 6
package/dist/stake.d.ts CHANGED
@@ -2,7 +2,7 @@ import { 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 { Stake as StakeType, UpdateStakeVaultArgs, WithdrawArgs } from './types/stake';
5
+ import { StakeV2, UpdateStakeVaultArgs } from './types/stake';
6
6
  export default class Stake {
7
7
  private program;
8
8
  constructor(program: Program<TriadProtocol>);
@@ -15,33 +15,33 @@ export default class Stake {
15
15
  * Get all Stakes
16
16
  *
17
17
  */
18
- getStakes(): Promise<StakeType[]>;
18
+ getStakesV2(): Promise<StakeV2[]>;
19
19
  /**
20
- * Get User Stakes By Wallet
21
- * @param wallet - User wallet
20
+ * Get all Stakes
22
21
  *
23
22
  */
24
- getUserStakes(wallet: PublicKey): Promise<StakeType[]>;
23
+ getStakes(): Promise<import("./types/stake").StakeV3[]>;
25
24
  /**
26
25
  * Get Stake By Wallet
27
- * @param wallet - User Wallet
26
+ * @param wallet - User wallet
28
27
  *
29
28
  */
30
29
  getStakeByWallet(wallet: PublicKey): Promise<{
31
30
  available: number;
32
- name: string;
33
- stakeVault: string;
34
31
  authority: string;
35
32
  initTs: number;
36
- withdrawTs: number;
37
- mint: string;
38
- claimedTs: number;
39
- boost: boolean;
33
+ checkedTs: number;
40
34
  claimed: number;
41
35
  amount: number;
42
- }[]>;
36
+ }>;
37
+ /**
38
+ * Get Unstake By Wallet
39
+ * @param wallet - User wallet
40
+ *
41
+ */
42
+ getUnstakeByWallet(wallet: PublicKey): Promise<import("./types/stake").Unstake[]>;
43
43
  /**
44
- * Stake
44
+ * Stake Token
45
45
  * @param amount - Amount to stake
46
46
  *
47
47
  * @param options - RPC options
@@ -65,16 +65,6 @@ export default class Stake {
65
65
  *
66
66
  */
67
67
  requestUnstake(amount: number, options?: RpcOptions): Promise<string>;
68
- /**
69
- * Withdraw Stake
70
- * @param args.wallet - User wallet
71
- * @param args.name - Stake name
72
- * @param args.mint - Stake native mint (TRD)
73
- *
74
- * @param options - RPC options
75
- *
76
- */
77
- withdrawStake({ wallet, name, mint }: WithdrawArgs, options?: RpcOptions): Promise<string>;
78
68
  /**
79
69
  * Unstake Token
80
70
  * @param options - RPC options
@@ -92,5 +82,5 @@ export default class Stake {
92
82
  * @param options - RPC options
93
83
  *
94
84
  */
95
- migrateStake(stakes: StakeType[], options?: RpcOptions): Promise<string>;
85
+ migrateStake(stakes: StakeV2[], options?: RpcOptions): Promise<string>;
96
86
  }
package/dist/stake.js CHANGED
@@ -36,40 +36,55 @@ class Stake {
36
36
  * Get all Stakes
37
37
  *
38
38
  */
39
- getStakes() {
39
+ getStakesV2() {
40
40
  return __awaiter(this, void 0, void 0, function* () {
41
41
  const response = yield this.program.account.stakeV2.all();
42
- return response.map((stake) => (0, helpers_1.formatStake)(stake.account));
42
+ return response.map((stake) => (0, helpers_1.formatStakeV2)(stake.account));
43
43
  });
44
44
  }
45
45
  /**
46
- * Get User Stakes By Wallet
47
- * @param wallet - User wallet
46
+ * Get all Stakes
48
47
  *
49
48
  */
50
- getUserStakes(wallet) {
49
+ getStakes() {
51
50
  return __awaiter(this, void 0, void 0, function* () {
52
- const stakes = yield this.program.account.stakeV2.all();
53
- const response = stakes.filter((stake) => stake.account.authority.toBase58() === wallet.toBase58());
51
+ const response = yield this.program.account.stakeV3.all();
54
52
  return response.map((stake) => (0, helpers_1.formatStake)(stake.account));
55
53
  });
56
54
  }
57
55
  /**
58
56
  * Get Stake By Wallet
59
- * @param wallet - User Wallet
57
+ * @param wallet - User wallet
60
58
  *
61
59
  */
62
60
  getStakeByWallet(wallet) {
63
61
  return __awaiter(this, void 0, void 0, function* () {
64
- const response = yield this.getUserStakes(wallet);
65
- return response.map((stake) => {
66
- let available = (0, helpers_1.calculateStakeRewards)(stake);
67
- return Object.assign(Object.assign({}, stake), { available });
68
- });
62
+ const stake = yield this.program.account.stakeV3
63
+ .fetch((0, stake_1.getStakePDA)(this.program.programId, wallet))
64
+ .then((stake) => (0, helpers_1.formatStake)(stake));
65
+ return Object.assign(Object.assign({}, stake), { available: (0, helpers_1.calculateStakeRewards)(stake) });
66
+ });
67
+ }
68
+ /**
69
+ * Get Unstake By Wallet
70
+ * @param wallet - User wallet
71
+ *
72
+ */
73
+ getUnstakeByWallet(wallet) {
74
+ return __awaiter(this, void 0, void 0, function* () {
75
+ const stake = yield this.program.account.unstake.all([
76
+ {
77
+ memcmp: {
78
+ offset: 8 + 1,
79
+ bytes: wallet.toBase58()
80
+ }
81
+ }
82
+ ]);
83
+ return stake.map((stake) => (0, helpers_1.formatUnstake)(stake.account));
69
84
  });
70
85
  }
71
86
  /**
72
- * Stake
87
+ * Stake Token
73
88
  * @param amount - Amount to stake
74
89
  *
75
90
  * @param options - RPC options
@@ -135,28 +150,6 @@ class Stake {
135
150
  return (0, sendVersionedTransaction_1.default)(this.program, ixs, options);
136
151
  });
137
152
  }
138
- /**
139
- * Withdraw Stake
140
- * @param args.wallet - User wallet
141
- * @param args.name - Stake name
142
- * @param args.mint - Stake native mint (TRD)
143
- *
144
- * @param options - RPC options
145
- *
146
- */
147
- withdrawStake({ wallet, name, mint }, options) {
148
- return __awaiter(this, void 0, void 0, function* () {
149
- const ixs = [];
150
- ixs.push(yield this.program.methods
151
- .withdrawStake()
152
- .accounts({
153
- stake: (0, stake_1.getStakeV2PDA)(this.program.programId, wallet, name),
154
- mint: mint
155
- })
156
- .instruction());
157
- return (0, sendVersionedTransaction_1.default)(this.program, ixs, options);
158
- });
159
- }
160
153
  /**
161
154
  * Unstake Token
162
155
  * @param options - RPC options
@@ -201,6 +194,8 @@ class Stake {
201
194
  return __awaiter(this, void 0, void 0, function* () {
202
195
  const ixs = [];
203
196
  for (const stake of stakes) {
197
+ if (stake.withdrawTs !== 0)
198
+ continue;
204
199
  ixs.push(yield this.program.methods
205
200
  .migrateStake()
206
201
  .accounts({
@@ -1798,7 +1798,7 @@
1798
1798
  "writable": true
1799
1799
  },
1800
1800
  {
1801
- "name": "from_ata",
1801
+ "name": "user_ata",
1802
1802
  "writable": true,
1803
1803
  "pda": {
1804
1804
  "seeds": [
@@ -1826,7 +1826,7 @@
1826
1826
  }
1827
1827
  },
1828
1828
  {
1829
- "name": "to_ata",
1829
+ "name": "stake_vault_ata",
1830
1830
  "writable": true,
1831
1831
  "pda": {
1832
1832
  "seeds": [
@@ -1961,7 +1961,7 @@
1961
1961
  "writable": true
1962
1962
  },
1963
1963
  {
1964
- "name": "from_ata",
1964
+ "name": "stake_vault_ata",
1965
1965
  "writable": true,
1966
1966
  "pda": {
1967
1967
  "seeds": [
@@ -1989,7 +1989,7 @@
1989
1989
  }
1990
1990
  },
1991
1991
  {
1992
- "name": "to_ata",
1992
+ "name": "user_ata",
1993
1993
  "writable": true,
1994
1994
  "pda": {
1995
1995
  "seeds": [
@@ -2097,7 +2097,7 @@
2097
2097
  "writable": true
2098
2098
  },
2099
2099
  {
2100
- "name": "from_ata",
2100
+ "name": "user_ata",
2101
2101
  "writable": true,
2102
2102
  "pda": {
2103
2103
  "seeds": [
@@ -2125,7 +2125,7 @@
2125
2125
  }
2126
2126
  },
2127
2127
  {
2128
- "name": "to_ata",
2128
+ "name": "stake_vault_ata",
2129
2129
  "writable": true,
2130
2130
  "pda": {
2131
2131
  "seeds": [
@@ -2211,112 +2211,6 @@
2211
2211
  }
2212
2212
  ],
2213
2213
  "args": []
2214
- },
2215
- {
2216
- "name": "withdraw_stake",
2217
- "discriminator": [153, 8, 22, 138, 105, 176, 87, 66],
2218
- "accounts": [
2219
- {
2220
- "name": "signer",
2221
- "writable": true,
2222
- "signer": true
2223
- },
2224
- {
2225
- "name": "stake_vault",
2226
- "writable": true,
2227
- "pda": {
2228
- "seeds": [
2229
- {
2230
- "kind": "const",
2231
- "value": [115, 116, 97, 107, 101, 95, 118, 97, 117, 108, 116]
2232
- },
2233
- {
2234
- "kind": "const",
2235
- "value": [
2236
- 84, 114, 105, 97, 100, 32, 83, 104, 97, 114, 101, 32, 49
2237
- ]
2238
- }
2239
- ]
2240
- }
2241
- },
2242
- {
2243
- "name": "stake",
2244
- "writable": true
2245
- },
2246
- {
2247
- "name": "mint",
2248
- "writable": true
2249
- },
2250
- {
2251
- "name": "from_ata",
2252
- "writable": true,
2253
- "pda": {
2254
- "seeds": [
2255
- {
2256
- "kind": "account",
2257
- "path": "stake_vault"
2258
- },
2259
- {
2260
- "kind": "account",
2261
- "path": "token_program"
2262
- },
2263
- {
2264
- "kind": "account",
2265
- "path": "mint"
2266
- }
2267
- ],
2268
- "program": {
2269
- "kind": "const",
2270
- "value": [
2271
- 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,
2272
- 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,
2273
- 219, 233, 248, 89
2274
- ]
2275
- }
2276
- }
2277
- },
2278
- {
2279
- "name": "to_ata",
2280
- "writable": true,
2281
- "pda": {
2282
- "seeds": [
2283
- {
2284
- "kind": "account",
2285
- "path": "signer"
2286
- },
2287
- {
2288
- "kind": "account",
2289
- "path": "token_program"
2290
- },
2291
- {
2292
- "kind": "account",
2293
- "path": "mint"
2294
- }
2295
- ],
2296
- "program": {
2297
- "kind": "const",
2298
- "value": [
2299
- 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,
2300
- 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,
2301
- 219, 233, 248, 89
2302
- ]
2303
- }
2304
- }
2305
- },
2306
- {
2307
- "name": "token_program",
2308
- "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
2309
- },
2310
- {
2311
- "name": "associated_token_program",
2312
- "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
2313
- },
2314
- {
2315
- "name": "system_program",
2316
- "address": "11111111111111111111111111111111"
2317
- }
2318
- ],
2319
- "args": []
2320
2214
  }
2321
2215
  ],
2322
2216
  "accounts": [
@@ -1,14 +1,8 @@
1
- import { PublicKey } from '@solana/web3.js';
2
1
  import BN from 'bn.js';
3
2
  export type UpdateStakeVaultArgs = {
4
3
  amount?: BN;
5
4
  isLocked?: boolean;
6
5
  };
7
- export type WithdrawArgs = {
8
- wallet: PublicKey;
9
- name: string;
10
- mint: PublicKey;
11
- };
12
6
  export type StakeVault = {
13
7
  name: string;
14
8
  collection: string;
@@ -25,7 +19,7 @@ export type StakeVault = {
25
19
  initTs: number;
26
20
  endTs: number;
27
21
  };
28
- export type Stake = {
22
+ export type StakeV2 = {
29
23
  name: string;
30
24
  stakeVault: string;
31
25
  authority: string;
@@ -39,13 +33,11 @@ export type Stake = {
39
33
  amount: number;
40
34
  };
41
35
  export type Unstake = {
42
- bump: number;
43
36
  authority: string;
44
37
  amount: number;
45
38
  withdrawTs: number;
46
39
  };
47
40
  export type StakeV3 = {
48
- bump: number;
49
41
  authority: string;
50
42
  initTs: number;
51
43
  checkedTs: number;
@@ -2461,7 +2461,7 @@ export type TriadProtocol = {
2461
2461
  writable: true;
2462
2462
  },
2463
2463
  {
2464
- name: 'fromAta';
2464
+ name: 'userAta';
2465
2465
  writable: true;
2466
2466
  pda: {
2467
2467
  seeds: [
@@ -2518,7 +2518,7 @@ export type TriadProtocol = {
2518
2518
  };
2519
2519
  },
2520
2520
  {
2521
- name: 'toAta';
2521
+ name: 'stakeVaultAta';
2522
2522
  writable: true;
2523
2523
  pda: {
2524
2524
  seeds: [
@@ -2694,7 +2694,7 @@ export type TriadProtocol = {
2694
2694
  writable: true;
2695
2695
  },
2696
2696
  {
2697
- name: 'fromAta';
2697
+ name: 'stakeVaultAta';
2698
2698
  writable: true;
2699
2699
  pda: {
2700
2700
  seeds: [
@@ -2751,7 +2751,7 @@ export type TriadProtocol = {
2751
2751
  };
2752
2752
  },
2753
2753
  {
2754
- name: 'toAta';
2754
+ name: 'userAta';
2755
2755
  writable: true;
2756
2756
  pda: {
2757
2757
  seeds: [
@@ -2900,7 +2900,7 @@ export type TriadProtocol = {
2900
2900
  writable: true;
2901
2901
  },
2902
2902
  {
2903
- name: 'fromAta';
2903
+ name: 'userAta';
2904
2904
  writable: true;
2905
2905
  pda: {
2906
2906
  seeds: [
@@ -2957,7 +2957,7 @@ export type TriadProtocol = {
2957
2957
  };
2958
2958
  },
2959
2959
  {
2960
- name: 'toAta';
2960
+ name: 'stakeVaultAta';
2961
2961
  writable: true;
2962
2962
  pda: {
2963
2963
  seeds: [
@@ -3072,182 +3072,6 @@ export type TriadProtocol = {
3072
3072
  }
3073
3073
  ];
3074
3074
  args: [];
3075
- },
3076
- {
3077
- name: 'withdrawStake';
3078
- discriminator: [153, 8, 22, 138, 105, 176, 87, 66];
3079
- accounts: [
3080
- {
3081
- name: 'signer';
3082
- writable: true;
3083
- signer: true;
3084
- },
3085
- {
3086
- name: 'stakeVault';
3087
- writable: true;
3088
- pda: {
3089
- seeds: [
3090
- {
3091
- kind: 'const';
3092
- value: [115, 116, 97, 107, 101, 95, 118, 97, 117, 108, 116];
3093
- },
3094
- {
3095
- kind: 'const';
3096
- value: [
3097
- 84,
3098
- 114,
3099
- 105,
3100
- 97,
3101
- 100,
3102
- 32,
3103
- 83,
3104
- 104,
3105
- 97,
3106
- 114,
3107
- 101,
3108
- 32,
3109
- 49
3110
- ];
3111
- }
3112
- ];
3113
- };
3114
- },
3115
- {
3116
- name: 'stake';
3117
- writable: true;
3118
- },
3119
- {
3120
- name: 'mint';
3121
- writable: true;
3122
- },
3123
- {
3124
- name: 'fromAta';
3125
- writable: true;
3126
- pda: {
3127
- seeds: [
3128
- {
3129
- kind: 'account';
3130
- path: 'stakeVault';
3131
- },
3132
- {
3133
- kind: 'account';
3134
- path: 'tokenProgram';
3135
- },
3136
- {
3137
- kind: 'account';
3138
- path: 'mint';
3139
- }
3140
- ];
3141
- program: {
3142
- kind: 'const';
3143
- value: [
3144
- 140,
3145
- 151,
3146
- 37,
3147
- 143,
3148
- 78,
3149
- 36,
3150
- 137,
3151
- 241,
3152
- 187,
3153
- 61,
3154
- 16,
3155
- 41,
3156
- 20,
3157
- 142,
3158
- 13,
3159
- 131,
3160
- 11,
3161
- 90,
3162
- 19,
3163
- 153,
3164
- 218,
3165
- 255,
3166
- 16,
3167
- 132,
3168
- 4,
3169
- 142,
3170
- 123,
3171
- 216,
3172
- 219,
3173
- 233,
3174
- 248,
3175
- 89
3176
- ];
3177
- };
3178
- };
3179
- },
3180
- {
3181
- name: 'toAta';
3182
- writable: true;
3183
- pda: {
3184
- seeds: [
3185
- {
3186
- kind: 'account';
3187
- path: 'signer';
3188
- },
3189
- {
3190
- kind: 'account';
3191
- path: 'tokenProgram';
3192
- },
3193
- {
3194
- kind: 'account';
3195
- path: 'mint';
3196
- }
3197
- ];
3198
- program: {
3199
- kind: 'const';
3200
- value: [
3201
- 140,
3202
- 151,
3203
- 37,
3204
- 143,
3205
- 78,
3206
- 36,
3207
- 137,
3208
- 241,
3209
- 187,
3210
- 61,
3211
- 16,
3212
- 41,
3213
- 20,
3214
- 142,
3215
- 13,
3216
- 131,
3217
- 11,
3218
- 90,
3219
- 19,
3220
- 153,
3221
- 218,
3222
- 255,
3223
- 16,
3224
- 132,
3225
- 4,
3226
- 142,
3227
- 123,
3228
- 216,
3229
- 219,
3230
- 233,
3231
- 248,
3232
- 89
3233
- ];
3234
- };
3235
- };
3236
- },
3237
- {
3238
- name: 'tokenProgram';
3239
- address: 'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb';
3240
- },
3241
- {
3242
- name: 'associatedTokenProgram';
3243
- address: 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL';
3244
- },
3245
- {
3246
- name: 'systemProgram';
3247
- address: '11111111111111111111111111111111';
3248
- }
3249
- ];
3250
- args: [];
3251
3075
  }
3252
3076
  ];
3253
3077
  accounts: [
@@ -1,18 +1,20 @@
1
1
  import { PublicKey } from '@solana/web3.js';
2
2
  import { IdlAccounts } from '@coral-xyz/anchor';
3
- import { Stake, StakeVault } from './../types/stake';
3
+ import { StakeV2, StakeV3, StakeVault, Unstake } from './../types/stake';
4
4
  import { Market, Order, OrderDirection, OrderSide, OrderStatus, OrderType, UserTrade, Pool, BookOrder, Refer } from '../types';
5
5
  import { TriadProtocol } from '../types/triad_protocol';
6
6
  export declare const encodeString: (value: string, alloc?: number) => number[];
7
7
  export declare const decodeString: (bytes: number[]) => string;
8
8
  export declare const formatStakeVault: (stakeVault: IdlAccounts<TriadProtocol>['stakeVault']) => StakeVault;
9
- export declare const formatStake: (stake: IdlAccounts<TriadProtocol>['stakeV2']) => Stake;
9
+ export declare const formatStakeV2: (stake: IdlAccounts<TriadProtocol>['stakeV2']) => StakeV2;
10
+ export declare const formatStake: (stake: IdlAccounts<TriadProtocol>['stakeV3']) => StakeV3;
11
+ export declare const formatUnstake: (unstake: IdlAccounts<TriadProtocol>['unstake']) => Unstake;
10
12
  export declare const formatPool: (account: IdlAccounts<TriadProtocol>['pool'], address: PublicKey) => Pool;
11
13
  export declare const formatMarket: (account: IdlAccounts<TriadProtocol>['marketV2'], address: PublicKey) => Market;
12
14
  export declare const formatUserTrade: (account: IdlAccounts<TriadProtocol>['userTrade'], publicKey: PublicKey) => UserTrade;
13
15
  export declare const formatOrder: (order: IdlAccounts<TriadProtocol>['userTrade']['orders'][number], authority?: string) => Order;
14
16
  export declare const formatBookOrder: (order: IdlAccounts<TriadProtocol>['orderBook']['hypeOrders'][number] | IdlAccounts<TriadProtocol>['orderBook']['flopOrders'][number]) => BookOrder;
15
- export declare const calculateStakeRewards: (stake: Stake) => number;
17
+ export declare const calculateStakeRewards: (stake: StakeV3) => number;
16
18
  export declare const getTokenProgram: (mint: PublicKey) => PublicKey;
17
19
  export declare const getOrderDirection: (direction: {
18
20
  hype: {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatRefer = exports.getOrderStatus = exports.getOrderSide = exports.getOrderType = exports.getOrderSideFromNumber = exports.getOrderDirectionFromNumber = exports.getOrderDirection = exports.getTokenProgram = exports.calculateStakeRewards = exports.formatBookOrder = exports.formatOrder = exports.formatUserTrade = exports.formatMarket = exports.formatPool = exports.formatStake = exports.formatStakeVault = exports.decodeString = exports.encodeString = void 0;
3
+ exports.formatRefer = exports.getOrderStatus = exports.getOrderSide = exports.getOrderType = exports.getOrderSideFromNumber = exports.getOrderDirectionFromNumber = exports.getOrderDirection = exports.getTokenProgram = exports.calculateStakeRewards = exports.formatBookOrder = exports.formatOrder = exports.formatUserTrade = exports.formatMarket = exports.formatPool = exports.formatUnstake = exports.formatStake = exports.formatStakeV2 = exports.formatStakeVault = exports.decodeString = exports.encodeString = void 0;
4
4
  const web3_js_1 = require("@solana/web3.js");
5
5
  const spl_token_1 = require("@solana/spl-token");
6
6
  const types_1 = require("../types");
@@ -35,7 +35,7 @@ const formatStakeVault = (stakeVault) => {
35
35
  };
36
36
  };
37
37
  exports.formatStakeVault = formatStakeVault;
38
- const formatStake = (stake) => {
38
+ const formatStakeV2 = (stake) => {
39
39
  var _a, _b, _c, _d;
40
40
  return {
41
41
  name: stake.name,
@@ -51,7 +51,26 @@ const formatStake = (stake) => {
51
51
  amount: ((_d = stake === null || stake === void 0 ? void 0 : stake.amount) === null || _d === void 0 ? void 0 : _d.toNumber()) || 1
52
52
  };
53
53
  };
54
+ exports.formatStakeV2 = formatStakeV2;
55
+ const formatStake = (stake) => {
56
+ return {
57
+ authority: stake.authority.toBase58(),
58
+ initTs: stake.initTs.toNumber(),
59
+ checkedTs: stake.checkedTs.toNumber(),
60
+ claimed: stake.claimed.toNumber() / Math.pow(10, 6),
61
+ available: stake.available.toNumber() / Math.pow(10, 6),
62
+ amount: stake.amount.toNumber() / Math.pow(10, 6)
63
+ };
64
+ };
54
65
  exports.formatStake = formatStake;
66
+ const formatUnstake = (unstake) => {
67
+ return {
68
+ authority: unstake.authority.toBase58(),
69
+ amount: unstake.amount.toNumber() / Math.pow(10, 6),
70
+ withdrawTs: unstake.withdrawTs.toNumber()
71
+ };
72
+ };
73
+ exports.formatUnstake = formatUnstake;
55
74
  const formatPool = (account, address) => {
56
75
  return {
57
76
  address: address.toString(),
@@ -145,22 +164,18 @@ const formatBookOrder = (order) => {
145
164
  };
146
165
  exports.formatBookOrder = formatBookOrder;
147
166
  const calculateStakeRewards = (stake) => {
148
- if (stake.withdrawTs !== 0)
149
- return 0;
150
167
  const maxRank = 1633;
151
168
  const rank = 369;
152
169
  const rankWeight = (maxRank - rank + 1) / maxRank;
153
- const userStakedAmount = stake.mint === constants_1.TRD_MINT.toBase58()
154
- ? stake.amount
155
- : stake.amount * 10000 * Math.pow(10, constants_1.TRD_DECIMALS);
156
- const formattedAmount = userStakedAmount / Math.pow(10, constants_1.TRD_DECIMALS);
170
+ const userStakedAmount = stake.amount;
171
+ const formattedAmount = userStakedAmount;
157
172
  const adjustedAmount = formattedAmount * rankWeight;
158
- const lastClaim = stake.claimedTs === 0 ? stake.initTs : stake.claimedTs;
173
+ const lastClaim = stake.checkedTs;
159
174
  const currentTime = Math.floor(Date.now() / 1000);
160
175
  const secondsStaked = currentTime - lastClaim;
161
176
  const userBaseRewards = ((adjustedAmount / 10000) * secondsStaked) / 86400;
162
- const rewards = userBaseRewards * Math.pow(10, constants_1.TRD_DECIMALS);
163
- return (rewards + stake.available) / Math.pow(10, constants_1.TRD_DECIMALS);
177
+ const rewards = userBaseRewards;
178
+ return rewards + stake.available;
164
179
  };
165
180
  exports.calculateStakeRewards = calculateStakeRewards;
166
181
  const getTokenProgram = (mint) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@triadxyz/triad-protocol",
3
- "version": "2.5.0-beta",
3
+ "version": "2.5.2-beta",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",