@triadxyz/triad-protocol 2.5.3-beta → 2.5.5-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
@@ -74,7 +74,7 @@ export default class TriadProtocolClient {
74
74
  authority: PublicKey;
75
75
  totalDeposits: BN;
76
76
  totalWithdraws: BN;
77
- padding1: number[];
77
+ referId: BN;
78
78
  orders: {
79
79
  ts: BN;
80
80
  orderId: BN;
@@ -301,7 +301,7 @@ export default class TriadProtocolClient {
301
301
  * @param options - RPC options
302
302
  *
303
303
  */
304
- createCustomer({ id, name, authority, feeRecipient, feeBps }: CreateCustomerArgs, options?: RpcOptions): Promise<string>;
304
+ createCustomer({ id, name, authority, feeRecipient, feeBps, isVerified }: CreateCustomerArgs, options?: RpcOptions): Promise<string>;
305
305
  /**
306
306
  * Get User Trade Nonce With Slots
307
307
  * @param userTrades - User Trades
@@ -310,9 +310,10 @@ export default class TriadProtocolClient {
310
310
  getUserTradeNonceWithSlots(userTrades: UserTrade[]): PublicKey;
311
311
  /**
312
312
  * Get User Trade Ixs
313
+ * @param refer - The refer public key
313
314
  *
314
315
  */
315
- getUserTradeIxs(): Promise<{
316
+ getUserTradeIxs(refer?: PublicKey): Promise<{
316
317
  userTradePDA: PublicKey;
317
318
  ixs: TransactionInstruction[];
318
319
  nonce: number;
@@ -426,5 +427,5 @@ export default class TriadProtocolClient {
426
427
  *
427
428
  * @param options - RPC options
428
429
  */
429
- createRefer(id: number, options?: RpcOptions): Promise<string>;
430
+ createRefer(options?: RpcOptions): Promise<string>;
430
431
  }
package/dist/index.js CHANGED
@@ -38,6 +38,7 @@ const sendVersionedTransaction_1 = __importDefault(require("./utils/sendVersione
38
38
  const swap_1 = require("./utils/swap");
39
39
  const stake_1 = __importDefault(require("./stake"));
40
40
  const poseidon_1 = __importDefault(require("./poseidon"));
41
+ const stake_2 = require("./utils/pda/stake");
41
42
  __exportStar(require("./types"), exports);
42
43
  __exportStar(require("./types/stake"), exports);
43
44
  __exportStar(require("./types/poseidon"), exports);
@@ -513,13 +514,18 @@ class TriadProtocolClient {
513
514
  * @param options - RPC options
514
515
  *
515
516
  */
516
- createCustomer({ id, name, authority, feeRecipient, feeBps }, options) {
517
+ createCustomer({ id, name, authority, feeRecipient, feeBps, isVerified }, options) {
517
518
  return __awaiter(this, void 0, void 0, function* () {
518
519
  const ixs = [];
520
+ let stakePDA = null;
521
+ if (!isVerified) {
522
+ stakePDA = (0, stake_2.getStakePDA)(this.program.programId, this.program.provider.publicKey);
523
+ }
519
524
  ixs.push(yield this.program.methods
520
525
  .createCustomer({ id, name, authority, feeRecipient, feeBps })
521
526
  .accounts({
522
- signer: this.program.provider.publicKey
527
+ signer: this.program.provider.publicKey,
528
+ stake: stakePDA
523
529
  })
524
530
  .instruction());
525
531
  return (0, sendVersionedTransaction_1.default)(this.program, ixs, options);
@@ -550,13 +556,18 @@ class TriadProtocolClient {
550
556
  }
551
557
  /**
552
558
  * Get User Trade Ixs
559
+ * @param refer - The refer public key
553
560
  *
554
561
  */
555
- getUserTradeIxs() {
562
+ getUserTradeIxs(refer) {
556
563
  return __awaiter(this, void 0, void 0, function* () {
557
564
  const ixs = [];
558
565
  let myUserTrades = [];
559
566
  myUserTrades = yield this.getMyUserTrades(this.program.provider.publicKey);
567
+ let referPDA = null;
568
+ if (refer) {
569
+ referPDA = (0, pda_1.getReferPDA)(this.program.programId, refer);
570
+ }
560
571
  if (myUserTrades.length === 0) {
561
572
  ixs.push(yield this.program.methods
562
573
  .createUserTrade()
@@ -937,11 +948,11 @@ class TriadProtocolClient {
937
948
  *
938
949
  * @param options - RPC options
939
950
  */
940
- createRefer(id, options) {
951
+ createRefer(options) {
941
952
  return __awaiter(this, void 0, void 0, function* () {
942
953
  const ixs = [];
943
954
  ixs.push(yield this.program.methods
944
- .createRefer(new bn_js_1.default(id))
955
+ .createRefer()
945
956
  .accounts({
946
957
  signer: this.program.provider.publicKey
947
958
  })
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 { StakeV2, UpdateStakeVaultArgs } from './types/stake';
5
+ import { UpdateStakeVaultArgs } from './types/stake';
6
6
  export default class Stake {
7
7
  private program;
8
8
  constructor(program: Program<TriadProtocol>);
@@ -15,12 +15,7 @@ export default class Stake {
15
15
  * Get all Stakes
16
16
  *
17
17
  */
18
- getStakesV2(): Promise<StakeV2[]>;
19
- /**
20
- * Get all Stakes
21
- *
22
- */
23
- getStakes(): Promise<import("./types/stake").StakeV3[]>;
18
+ getStakes(): Promise<import("./types/stake").Stake[]>;
24
19
  /**
25
20
  * Get Stake By Wallet
26
21
  * @param wallet - User wallet
@@ -77,10 +72,4 @@ export default class Stake {
77
72
  *
78
73
  */
79
74
  claimStakeRewards(options?: RpcOptions): Promise<string>;
80
- /**
81
- * Migrate Stake
82
- * @param options - RPC options
83
- *
84
- */
85
- migrateStake(stakes: StakeV2[], options?: RpcOptions): Promise<string>;
86
75
  }
package/dist/stake.js CHANGED
@@ -13,7 +13,6 @@ 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");
17
16
  const helpers_1 = require("./utils/helpers");
18
17
  const stake_1 = require("./utils/pda/stake");
19
18
  const constants_1 = require("./utils/constants");
@@ -32,16 +31,6 @@ class Stake {
32
31
  return response.map((stakeVault) => (0, helpers_1.formatStakeVault)(stakeVault.account));
33
32
  });
34
33
  }
35
- /**
36
- * Get all Stakes
37
- *
38
- */
39
- getStakesV2() {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- const response = yield this.program.account.stakeV2.all();
42
- return response.map((stake) => (0, helpers_1.formatStakeV2)(stake.account));
43
- });
44
- }
45
34
  /**
46
35
  * Get all Stakes
47
36
  *
@@ -139,7 +128,7 @@ class Stake {
139
128
  const ixs = [];
140
129
  ixs.push(yield this.program.methods
141
130
  .requestUnstake({
142
- amount: new anchor_1.BN(amount),
131
+ amount: new anchor_1.BN(amount * Math.pow(10, 6)),
143
132
  ts: new anchor_1.BN(Date.now())
144
133
  })
145
134
  .accounts({
@@ -186,27 +175,5 @@ class Stake {
186
175
  return (0, sendVersionedTransaction_1.default)(this.program, ixs, options);
187
176
  });
188
177
  }
189
- /**
190
- * Migrate Stake
191
- * @param options - RPC options
192
- *
193
- */
194
- migrateStake(stakes, options) {
195
- return __awaiter(this, void 0, void 0, function* () {
196
- const ixs = [];
197
- for (const stake of stakes) {
198
- if (stake.withdrawTs !== 0)
199
- continue;
200
- ixs.push(yield this.program.methods
201
- .migrateStake()
202
- .accounts({
203
- stakeV2: (0, stake_1.getStakeV2PDA)(this.program.programId, new web3_js_1.PublicKey(stake.authority), stake.name),
204
- mint: constants_1.TRD_MINT
205
- })
206
- .instruction());
207
- }
208
- return (0, sendVersionedTransaction_1.default)(this.program, ixs, options);
209
- });
210
- }
211
178
  }
212
179
  exports.default = Stake;
@@ -657,6 +657,11 @@
657
657
  ]
658
658
  }
659
659
  },
660
+ {
661
+ "name": "stake",
662
+ "writable": true,
663
+ "optional": true
664
+ },
660
665
  {
661
666
  "name": "system_program",
662
667
  "address": "11111111111111111111111111111111"
@@ -673,6 +678,34 @@
673
678
  }
674
679
  ]
675
680
  },
681
+ {
682
+ "name": "create_global",
683
+ "discriminator": [84, 131, 250, 135, 241, 203, 79, 0],
684
+ "accounts": [
685
+ {
686
+ "name": "signer",
687
+ "writable": true,
688
+ "signer": true
689
+ },
690
+ {
691
+ "name": "global",
692
+ "writable": true,
693
+ "pda": {
694
+ "seeds": [
695
+ {
696
+ "kind": "const",
697
+ "value": [103, 108, 111, 98, 97, 108]
698
+ }
699
+ ]
700
+ }
701
+ },
702
+ {
703
+ "name": "system_program",
704
+ "address": "11111111111111111111111111111111"
705
+ }
706
+ ],
707
+ "args": []
708
+ },
676
709
  {
677
710
  "name": "create_market",
678
711
  "discriminator": [103, 226, 97, 235, 200, 188, 251, 254],
@@ -863,6 +896,18 @@
863
896
  "writable": true,
864
897
  "signer": true
865
898
  },
899
+ {
900
+ "name": "global",
901
+ "writable": true,
902
+ "pda": {
903
+ "seeds": [
904
+ {
905
+ "kind": "const",
906
+ "value": [103, 108, 111, 98, 97, 108]
907
+ }
908
+ ]
909
+ }
910
+ },
866
911
  {
867
912
  "name": "refer",
868
913
  "writable": true,
@@ -873,8 +918,8 @@
873
918
  "value": [114, 101, 102, 101, 114]
874
919
  },
875
920
  {
876
- "kind": "arg",
877
- "path": "id"
921
+ "kind": "account",
922
+ "path": "signer"
878
923
  }
879
924
  ]
880
925
  }
@@ -884,12 +929,7 @@
884
929
  "address": "11111111111111111111111111111111"
885
930
  }
886
931
  ],
887
- "args": [
888
- {
889
- "name": "id",
890
- "type": "u64"
891
- }
892
- ]
932
+ "args": []
893
933
  },
894
934
  {
895
935
  "name": "create_sub_user_trade",
@@ -969,6 +1009,11 @@
969
1009
  ]
970
1010
  }
971
1011
  },
1012
+ {
1013
+ "name": "refer",
1014
+ "writable": true,
1015
+ "optional": true
1016
+ },
972
1017
  {
973
1018
  "name": "system_program",
974
1019
  "address": "11111111111111111111111111111111"
@@ -1222,73 +1267,6 @@
1222
1267
  }
1223
1268
  ]
1224
1269
  },
1225
- {
1226
- "name": "migrate_stake",
1227
- "discriminator": [178, 5, 26, 85, 56, 20, 153, 160],
1228
- "accounts": [
1229
- {
1230
- "name": "signer",
1231
- "writable": true,
1232
- "signer": true
1233
- },
1234
- {
1235
- "name": "stake_vault",
1236
- "writable": true,
1237
- "pda": {
1238
- "seeds": [
1239
- {
1240
- "kind": "const",
1241
- "value": [115, 116, 97, 107, 101, 95, 118, 97, 117, 108, 116]
1242
- },
1243
- {
1244
- "kind": "const",
1245
- "value": [
1246
- 84, 114, 105, 97, 100, 32, 83, 104, 97, 114, 101, 32, 49
1247
- ]
1248
- }
1249
- ]
1250
- }
1251
- },
1252
- {
1253
- "name": "stake_v2",
1254
- "writable": true
1255
- },
1256
- {
1257
- "name": "stake_v3",
1258
- "writable": true,
1259
- "pda": {
1260
- "seeds": [
1261
- {
1262
- "kind": "const",
1263
- "value": [115, 116, 97, 107, 101, 95, 118, 51]
1264
- },
1265
- {
1266
- "kind": "account",
1267
- "path": "stake_v2.authority",
1268
- "account": "StakeV2"
1269
- }
1270
- ]
1271
- }
1272
- },
1273
- {
1274
- "name": "mint",
1275
- "writable": true
1276
- },
1277
- {
1278
- "name": "token_program",
1279
- "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
1280
- },
1281
- {
1282
- "name": "associated_token_program",
1283
- "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
1284
- },
1285
- {
1286
- "name": "system_program",
1287
- "address": "11111111111111111111111111111111"
1288
- }
1289
- ],
1290
- "args": []
1291
- },
1292
1270
  {
1293
1271
  "name": "open_order",
1294
1272
  "discriminator": [206, 88, 88, 143, 38, 136, 50, 224],
@@ -2230,6 +2208,10 @@
2230
2208
  "name": "Customer",
2231
2209
  "discriminator": [112, 147, 140, 31, 93, 186, 103, 18]
2232
2210
  },
2211
+ {
2212
+ "name": "Global",
2213
+ "discriminator": [167, 232, 232, 177, 200, 108, 114, 127]
2214
+ },
2233
2215
  {
2234
2216
  "name": "MarketV2",
2235
2217
  "discriminator": [27, 60, 50, 75, 191, 193, 86, 227]
@@ -2250,10 +2232,6 @@
2250
2232
  "name": "Refer",
2251
2233
  "discriminator": [5, 204, 50, 144, 77, 136, 87, 66]
2252
2234
  },
2253
- {
2254
- "name": "StakeV2",
2255
- "discriminator": [207, 98, 130, 13, 118, 181, 238, 47]
2256
- },
2257
2235
  {
2258
2236
  "name": "StakeV3",
2259
2237
  "discriminator": [33, 54, 166, 108, 88, 184, 96, 190]
@@ -2844,10 +2822,48 @@
2844
2822
  ],
2845
2823
  "type": "u16"
2846
2824
  },
2825
+ {
2826
+ "name": "is_verified",
2827
+ "type": "bool"
2828
+ },
2847
2829
  {
2848
2830
  "name": "padding",
2849
2831
  "type": {
2850
- "array": ["u8", 30]
2832
+ "array": ["u8", 29]
2833
+ }
2834
+ }
2835
+ ]
2836
+ }
2837
+ },
2838
+ {
2839
+ "name": "Global",
2840
+ "type": {
2841
+ "kind": "struct",
2842
+ "fields": [
2843
+ {
2844
+ "name": "bump",
2845
+ "type": "u8"
2846
+ },
2847
+ {
2848
+ "name": "authority",
2849
+ "type": "pubkey"
2850
+ },
2851
+ {
2852
+ "name": "next_refer_id",
2853
+ "type": "u64"
2854
+ },
2855
+ {
2856
+ "name": "trd_price",
2857
+ "type": "u64"
2858
+ },
2859
+ {
2860
+ "name": "trd_price_ts",
2861
+ "type": "i64"
2862
+ },
2863
+ {
2864
+ "name": "padding",
2865
+ "type": {
2866
+ "array": ["u8", 428]
2851
2867
  }
2852
2868
  }
2853
2869
  ]
@@ -3679,10 +3695,14 @@
3679
3695
  "name": "fee_claimed",
3680
3696
  "type": "u64"
3681
3697
  },
3698
+ {
3699
+ "name": "users_referred",
3700
+ "type": "u64"
3701
+ },
3682
3702
  {
3683
3703
  "name": "padding",
3684
3704
  "type": {
3685
- "array": ["u8", 32]
3705
+ "array": ["u8", 24]
3686
3706
  }
3687
3707
  }
3688
3708
  ]
@@ -3744,62 +3764,6 @@
3744
3764
  ]
3745
3765
  }
3746
3766
  },
3747
- {
3748
- "name": "StakeV2",
3749
- "type": {
3750
- "kind": "struct",
3751
- "fields": [
3752
- {
3753
- "name": "bump",
3754
- "type": "u8"
3755
- },
3756
- {
3757
- "name": "authority",
3758
- "type": "pubkey"
3759
- },
3760
- {
3761
- "name": "init_ts",
3762
- "type": "i64"
3763
- },
3764
- {
3765
- "name": "withdraw_ts",
3766
- "type": "i64"
3767
- },
3768
- {
3769
- "name": "claimed_ts",
3770
- "type": "i64"
3771
- },
3772
- {
3773
- "name": "name",
3774
- "type": "string"
3775
- },
3776
- {
3777
- "name": "mint",
3778
- "type": "pubkey"
3779
- },
3780
- {
3781
- "name": "boost",
3782
- "type": "bool"
3783
- },
3784
- {
3785
- "name": "stake_vault",
3786
- "type": "pubkey"
3787
- },
3788
- {
3789
- "name": "claimed",
3790
- "type": "u64"
3791
- },
3792
- {
3793
- "name": "available",
3794
- "type": "u64"
3795
- },
3796
- {
3797
- "name": "amount",
3798
- "type": "u64"
3799
- }
3800
- ]
3801
- }
3802
- },
3803
3767
  {
3804
3768
  "name": "StakeV3",
3805
3769
  "type": {
@@ -4035,10 +3999,8 @@
4035
3999
  "type": "u64"
4036
4000
  },
4037
4001
  {
4038
- "name": "padding_1",
4039
- "type": {
4040
- "array": ["u8", 8]
4041
- }
4002
+ "name": "refer_id",
4003
+ "type": "u64"
4042
4004
  },
4043
4005
  {
4044
4006
  "name": "orders",
@@ -144,6 +144,7 @@ export type CreateCustomerArgs = {
144
144
  authority: PublicKey;
145
145
  feeRecipient: PublicKey;
146
146
  feeBps: number;
147
+ isVerified: boolean;
147
148
  };
148
149
  export type OpenOrderArgs = {
149
150
  marketId: number;
@@ -19,15 +19,10 @@ export type StakeVault = {
19
19
  initTs: number;
20
20
  endTs: number;
21
21
  };
22
- export type StakeV2 = {
23
- name: string;
24
- stakeVault: string;
22
+ export type Stake = {
25
23
  authority: string;
26
24
  initTs: number;
27
- withdrawTs: number;
28
- mint: string;
29
- claimedTs: number;
30
- boost: boolean;
25
+ checkedTs: number;
31
26
  claimed: number;
32
27
  available: number;
33
28
  amount: number;
@@ -38,11 +33,3 @@ export type Unstake = {
38
33
  amount: number;
39
34
  withdrawTs: number;
40
35
  };
41
- export type StakeV3 = {
42
- authority: string;
43
- initTs: number;
44
- checkedTs: number;
45
- claimed: number;
46
- available: number;
47
- amount: number;
48
- };
@@ -965,6 +965,11 @@ export type TriadProtocol = {
965
965
  ];
966
966
  };
967
967
  },
968
+ {
969
+ name: 'stake';
970
+ writable: true;
971
+ optional: true;
972
+ },
968
973
  {
969
974
  name: 'systemProgram';
970
975
  address: '11111111111111111111111111111111';
@@ -981,6 +986,34 @@ export type TriadProtocol = {
981
986
  }
982
987
  ];
983
988
  },
989
+ {
990
+ name: 'createGlobal';
991
+ discriminator: [84, 131, 250, 135, 241, 203, 79, 0];
992
+ accounts: [
993
+ {
994
+ name: 'signer';
995
+ writable: true;
996
+ signer: true;
997
+ },
998
+ {
999
+ name: 'global';
1000
+ writable: true;
1001
+ pda: {
1002
+ seeds: [
1003
+ {
1004
+ kind: 'const';
1005
+ value: [103, 108, 111, 98, 97, 108];
1006
+ }
1007
+ ];
1008
+ };
1009
+ },
1010
+ {
1011
+ name: 'systemProgram';
1012
+ address: '11111111111111111111111111111111';
1013
+ }
1014
+ ];
1015
+ args: [];
1016
+ },
984
1017
  {
985
1018
  name: 'createMarket';
986
1019
  discriminator: [103, 226, 97, 235, 200, 188, 251, 254];
@@ -1200,6 +1233,18 @@ export type TriadProtocol = {
1200
1233
  writable: true;
1201
1234
  signer: true;
1202
1235
  },
1236
+ {
1237
+ name: 'global';
1238
+ writable: true;
1239
+ pda: {
1240
+ seeds: [
1241
+ {
1242
+ kind: 'const';
1243
+ value: [103, 108, 111, 98, 97, 108];
1244
+ }
1245
+ ];
1246
+ };
1247
+ },
1203
1248
  {
1204
1249
  name: 'refer';
1205
1250
  writable: true;
@@ -1210,8 +1255,8 @@ export type TriadProtocol = {
1210
1255
  value: [114, 101, 102, 101, 114];
1211
1256
  },
1212
1257
  {
1213
- kind: 'arg';
1214
- path: 'id';
1258
+ kind: 'account';
1259
+ path: 'signer';
1215
1260
  }
1216
1261
  ];
1217
1262
  };
@@ -1221,12 +1266,7 @@ export type TriadProtocol = {
1221
1266
  address: '11111111111111111111111111111111';
1222
1267
  }
1223
1268
  ];
1224
- args: [
1225
- {
1226
- name: 'id';
1227
- type: 'u64';
1228
- }
1229
- ];
1269
+ args: [];
1230
1270
  },
1231
1271
  {
1232
1272
  name: 'createSubUserTrade';
@@ -1306,6 +1346,11 @@ export type TriadProtocol = {
1306
1346
  ];
1307
1347
  };
1308
1348
  },
1349
+ {
1350
+ name: 'refer';
1351
+ writable: true;
1352
+ optional: true;
1353
+ },
1309
1354
  {
1310
1355
  name: 'systemProgram';
1311
1356
  address: '11111111111111111111111111111111';
@@ -1675,85 +1720,6 @@ export type TriadProtocol = {
1675
1720
  }
1676
1721
  ];
1677
1722
  },
1678
- {
1679
- name: 'migrateStake';
1680
- discriminator: [178, 5, 26, 85, 56, 20, 153, 160];
1681
- accounts: [
1682
- {
1683
- name: 'signer';
1684
- writable: true;
1685
- signer: true;
1686
- },
1687
- {
1688
- name: 'stakeVault';
1689
- writable: true;
1690
- pda: {
1691
- seeds: [
1692
- {
1693
- kind: 'const';
1694
- value: [115, 116, 97, 107, 101, 95, 118, 97, 117, 108, 116];
1695
- },
1696
- {
1697
- kind: 'const';
1698
- value: [
1699
- 84,
1700
- 114,
1701
- 105,
1702
- 97,
1703
- 100,
1704
- 32,
1705
- 83,
1706
- 104,
1707
- 97,
1708
- 114,
1709
- 101,
1710
- 32,
1711
- 49
1712
- ];
1713
- }
1714
- ];
1715
- };
1716
- },
1717
- {
1718
- name: 'stakeV2';
1719
- writable: true;
1720
- },
1721
- {
1722
- name: 'stakeV3';
1723
- writable: true;
1724
- pda: {
1725
- seeds: [
1726
- {
1727
- kind: 'const';
1728
- value: [115, 116, 97, 107, 101, 95, 118, 51];
1729
- },
1730
- {
1731
- kind: 'account';
1732
- path: 'stake_v2.authority';
1733
- account: 'stakeV2';
1734
- }
1735
- ];
1736
- };
1737
- },
1738
- {
1739
- name: 'mint';
1740
- writable: true;
1741
- },
1742
- {
1743
- name: 'tokenProgram';
1744
- address: 'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb';
1745
- },
1746
- {
1747
- name: 'associatedTokenProgram';
1748
- address: 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL';
1749
- },
1750
- {
1751
- name: 'systemProgram';
1752
- address: '11111111111111111111111111111111';
1753
- }
1754
- ];
1755
- args: [];
1756
- },
1757
1723
  {
1758
1724
  name: 'openOrder';
1759
1725
  discriminator: [206, 88, 88, 143, 38, 136, 50, 224];
@@ -3091,6 +3057,10 @@ export type TriadProtocol = {
3091
3057
  name: 'customer';
3092
3058
  discriminator: [112, 147, 140, 31, 93, 186, 103, 18];
3093
3059
  },
3060
+ {
3061
+ name: 'global';
3062
+ discriminator: [167, 232, 232, 177, 200, 108, 114, 127];
3063
+ },
3094
3064
  {
3095
3065
  name: 'marketV2';
3096
3066
  discriminator: [27, 60, 50, 75, 191, 193, 86, 227];
@@ -3111,10 +3081,6 @@ export type TriadProtocol = {
3111
3081
  name: 'refer';
3112
3082
  discriminator: [5, 204, 50, 144, 77, 136, 87, 66];
3113
3083
  },
3114
- {
3115
- name: 'stakeV2';
3116
- discriminator: [207, 98, 130, 13, 118, 181, 238, 47];
3117
- },
3118
3084
  {
3119
3085
  name: 'stakeV3';
3120
3086
  discriminator: [33, 54, 166, 108, 88, 184, 96, 190];
@@ -3705,10 +3671,48 @@ export type TriadProtocol = {
3705
3671
  ];
3706
3672
  type: 'u16';
3707
3673
  },
3674
+ {
3675
+ name: 'isVerified';
3676
+ type: 'bool';
3677
+ },
3678
+ {
3679
+ name: 'padding';
3680
+ type: {
3681
+ array: ['u8', 29];
3682
+ };
3683
+ }
3684
+ ];
3685
+ };
3686
+ },
3687
+ {
3688
+ name: 'global';
3689
+ type: {
3690
+ kind: 'struct';
3691
+ fields: [
3692
+ {
3693
+ name: 'bump';
3694
+ type: 'u8';
3695
+ },
3696
+ {
3697
+ name: 'authority';
3698
+ type: 'pubkey';
3699
+ },
3700
+ {
3701
+ name: 'nextReferId';
3702
+ type: 'u64';
3703
+ },
3704
+ {
3705
+ name: 'trdPrice';
3706
+ type: 'u64';
3707
+ },
3708
+ {
3709
+ name: 'trdPriceTs';
3710
+ type: 'i64';
3711
+ },
3708
3712
  {
3709
3713
  name: 'padding';
3710
3714
  type: {
3711
- array: ['u8', 30];
3715
+ array: ['u8', 428];
3712
3716
  };
3713
3717
  }
3714
3718
  ];
@@ -4540,10 +4544,14 @@ export type TriadProtocol = {
4540
4544
  name: 'feeClaimed';
4541
4545
  type: 'u64';
4542
4546
  },
4547
+ {
4548
+ name: 'usersReferred';
4549
+ type: 'u64';
4550
+ },
4543
4551
  {
4544
4552
  name: 'padding';
4545
4553
  type: {
4546
- array: ['u8', 32];
4554
+ array: ['u8', 24];
4547
4555
  };
4548
4556
  }
4549
4557
  ];
@@ -4605,62 +4613,6 @@ export type TriadProtocol = {
4605
4613
  ];
4606
4614
  };
4607
4615
  },
4608
- {
4609
- name: 'stakeV2';
4610
- type: {
4611
- kind: 'struct';
4612
- fields: [
4613
- {
4614
- name: 'bump';
4615
- type: 'u8';
4616
- },
4617
- {
4618
- name: 'authority';
4619
- type: 'pubkey';
4620
- },
4621
- {
4622
- name: 'initTs';
4623
- type: 'i64';
4624
- },
4625
- {
4626
- name: 'withdrawTs';
4627
- type: 'i64';
4628
- },
4629
- {
4630
- name: 'claimedTs';
4631
- type: 'i64';
4632
- },
4633
- {
4634
- name: 'name';
4635
- type: 'string';
4636
- },
4637
- {
4638
- name: 'mint';
4639
- type: 'pubkey';
4640
- },
4641
- {
4642
- name: 'boost';
4643
- type: 'bool';
4644
- },
4645
- {
4646
- name: 'stakeVault';
4647
- type: 'pubkey';
4648
- },
4649
- {
4650
- name: 'claimed';
4651
- type: 'u64';
4652
- },
4653
- {
4654
- name: 'available';
4655
- type: 'u64';
4656
- },
4657
- {
4658
- name: 'amount';
4659
- type: 'u64';
4660
- }
4661
- ];
4662
- };
4663
- },
4664
4616
  {
4665
4617
  name: 'stakeV3';
4666
4618
  type: {
@@ -4896,10 +4848,8 @@ export type TriadProtocol = {
4896
4848
  type: 'u64';
4897
4849
  },
4898
4850
  {
4899
- name: 'padding1';
4900
- type: {
4901
- array: ['u8', 8];
4902
- };
4851
+ name: 'referId';
4852
+ type: 'u64';
4903
4853
  },
4904
4854
  {
4905
4855
  name: 'orders';
@@ -1,20 +1,19 @@
1
1
  import { PublicKey } from '@solana/web3.js';
2
2
  import { IdlAccounts } from '@coral-xyz/anchor';
3
- import { StakeV2, StakeV3, StakeVault, Unstake } from './../types/stake';
3
+ import { Stake, 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 formatStakeV2: (stake: IdlAccounts<TriadProtocol>['stakeV2']) => StakeV2;
10
- export declare const formatStake: (stake: IdlAccounts<TriadProtocol>['stakeV3']) => StakeV3;
9
+ export declare const formatStake: (stake: IdlAccounts<TriadProtocol>['stakeV3']) => Stake;
11
10
  export declare const formatUnstake: (unstake: IdlAccounts<TriadProtocol>['unstake'], address: PublicKey) => Unstake;
12
11
  export declare const formatPool: (account: IdlAccounts<TriadProtocol>['pool'], address: PublicKey) => Pool;
13
12
  export declare const formatMarket: (account: IdlAccounts<TriadProtocol>['marketV2'], address: PublicKey) => Market;
14
13
  export declare const formatUserTrade: (account: IdlAccounts<TriadProtocol>['userTrade'], publicKey: PublicKey) => UserTrade;
15
14
  export declare const formatOrder: (order: IdlAccounts<TriadProtocol>['userTrade']['orders'][number], authority?: string) => Order;
16
15
  export declare const formatBookOrder: (order: IdlAccounts<TriadProtocol>['orderBook']['hypeOrders'][number] | IdlAccounts<TriadProtocol>['orderBook']['flopOrders'][number]) => BookOrder;
17
- export declare const calculateStakeRewards: (stake: StakeV3) => number;
16
+ export declare const calculateStakeRewards: (stake: Stake) => number;
18
17
  export declare const getTokenProgram: (mint: PublicKey) => PublicKey;
19
18
  export declare const getOrderDirection: (direction: {
20
19
  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.formatUnstake = exports.formatStake = exports.formatStakeV2 = 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.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,23 +35,6 @@ const formatStakeVault = (stakeVault) => {
35
35
  };
36
36
  };
37
37
  exports.formatStakeVault = formatStakeVault;
38
- const formatStakeV2 = (stake) => {
39
- var _a, _b, _c, _d;
40
- return {
41
- name: stake.name,
42
- stakeVault: stake.stakeVault.toBase58(),
43
- authority: stake.authority.toBase58(),
44
- initTs: stake.initTs.toNumber(),
45
- withdrawTs: stake.withdrawTs.toNumber(),
46
- mint: stake.mint.toBase58(),
47
- claimedTs: (_a = stake === null || stake === void 0 ? void 0 : stake.claimedTs) === null || _a === void 0 ? void 0 : _a.toNumber(),
48
- boost: stake === null || stake === void 0 ? void 0 : stake.boost,
49
- claimed: (((_b = stake === null || stake === void 0 ? void 0 : stake.claimed) === null || _b === void 0 ? void 0 : _b.toNumber()) || 0) / Math.pow(10, 6),
50
- available: (((_c = stake === null || stake === void 0 ? void 0 : stake.available) === null || _c === void 0 ? void 0 : _c.toNumber()) || 0) / Math.pow(10, 6),
51
- amount: ((_d = stake === null || stake === void 0 ? void 0 : stake.amount) === null || _d === void 0 ? void 0 : _d.toNumber()) || 1
52
- };
53
- };
54
- exports.formatStakeV2 = formatStakeV2;
55
38
  const formatStake = (stake) => {
56
39
  return {
57
40
  authority: stake.authority.toBase58(),
@@ -6,3 +6,4 @@ export declare const getCustomerPDA: (programId: PublicKey, customerId: number)
6
6
  export declare const getUserTradePDA: (programId: PublicKey, wallet: PublicKey) => PublicKey;
7
7
  export declare const getSubUserTradePDA: (programId: PublicKey, wallet: PublicKey, nonce: number) => PublicKey;
8
8
  export declare const getPoolPDA: (programId: PublicKey, poolId: number) => PublicKey;
9
+ export declare const getReferPDA: (programId: PublicKey, refer: PublicKey) => PublicKey;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getPoolPDA = exports.getSubUserTradePDA = exports.getUserTradePDA = exports.getCustomerPDA = exports.getOrderBookPDA = exports.getMarketPDA = exports.getTokenATA = void 0;
6
+ exports.getReferPDA = exports.getPoolPDA = exports.getSubUserTradePDA = exports.getUserTradePDA = exports.getCustomerPDA = exports.getOrderBookPDA = exports.getMarketPDA = exports.getTokenATA = void 0;
7
7
  const web3_js_1 = require("@solana/web3.js");
8
8
  const bn_js_1 = __importDefault(require("bn.js"));
9
9
  const spl_token_1 = require("@solana/spl-token");
@@ -39,3 +39,7 @@ const getPoolPDA = (programId, poolId) => {
39
39
  return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from('pool'), new bn_js_1.default(poolId).toArrayLike(Buffer, 'le', 8)], programId)[0];
40
40
  };
41
41
  exports.getPoolPDA = getPoolPDA;
42
+ const getReferPDA = (programId, refer) => {
43
+ return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from('refer'), refer.toBuffer()], programId)[0];
44
+ };
45
+ exports.getReferPDA = getReferPDA;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@triadxyz/triad-protocol",
3
- "version": "2.5.3-beta",
3
+ "version": "2.5.5-beta",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",