@triadxyz/triad-protocol 3.5.1-beta → 3.5.3-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
@@ -10,6 +10,8 @@ export * from './types';
10
10
  export * from './utils/helpers';
11
11
  export * from './utils/merkle';
12
12
  export * from './utils/feeCalculator';
13
+ export * from './utils/constants';
14
+ export * from './utils/pda';
13
15
  export default class TriadProtocol {
14
16
  private connection;
15
17
  private wallet;
@@ -25,6 +27,11 @@ export default class TriadProtocol {
25
27
  * @param wallet - User wallet PublicKey
26
28
  */
27
29
  getUserOrders(wallet: PublicKey): Promise<import("./types").Order[]>;
30
+ /**
31
+ * Get Orders By Market ID
32
+ * @param marketId - The ID of the market
33
+ */
34
+ getOrdersByMarketId(marketId: number): Promise<import("./types").Order[]>;
28
35
  /**
29
36
  * Get User Orders By Market ID
30
37
  * @param wallet - User wallet PublicKey
@@ -189,6 +196,7 @@ export default class TriadProtocol {
189
196
  marketId: number;
190
197
  orderDirection: OrderDirectionEncoded;
191
198
  mint: PublicKey;
199
+ authority: PublicKey;
192
200
  }[]): Promise<string | import("@solana/web3.js").VersionedTransaction>;
193
201
  /**
194
202
  * Create Customer
@@ -210,12 +218,11 @@ export default class TriadProtocol {
210
218
  placeBidOrder({ orders, isTrdPayout }: PlaceBidOrderArgs): Promise<string | import("@solana/web3.js").VersionedTransaction>;
211
219
  /**
212
220
  * Place Ask Order
213
- * @param args.marketId - The ID of the Market
214
221
  * @param args.orders - Array of orders to execute
215
222
  * @param args.orders.amount - The amount of the Order
216
223
  * @param args.orders.price - The price of the Order
217
- * @param args.orders.bidOrderId - The ID of the Bid Order
218
- * @param args.orders.bidNonce - The nonce of the Bid Order
224
+ * @param args.orders.marketId - The Id from the market
225
+ * @param args.orders.orderDirection - The direction of the Order
219
226
  */
220
227
  placeAskOrder({ orders }: PlaceAskOrderArgs): Promise<string | import("@solana/web3.js").VersionedTransaction>;
221
228
  /**
@@ -228,6 +235,7 @@ export default class TriadProtocol {
228
235
  /**
229
236
  * Cancel Ask Order
230
237
  * @param args.orders.marketId - The ID of the Market
238
+ * @param args.orders.authority - The authority of the order
231
239
  * @param args.orders.bookOrderId - The ID of the Book Order
232
240
  * @param args.orders.orderDirection - The direction of the Order
233
241
  */
@@ -275,6 +283,4 @@ export default class TriadProtocol {
275
283
  customerId: number;
276
284
  feeBps: number;
277
285
  }): Promise<string | import("@solana/web3.js").VersionedTransaction>;
278
- closeUser(userTrade: PublicKey): Promise<string | import("@solana/web3.js").VersionedTransaction>;
279
- migrateUserTradeToOrder(userTrade: PublicKey, marketId: number, orderId: number, orderDirection: OrderDirectionEncoded): Promise<string | import("@solana/web3.js").VersionedTransaction>;
280
286
  }
package/dist/index.js CHANGED
@@ -30,6 +30,7 @@ const web3_js_1 = require("@solana/web3.js");
30
30
  const anchor_1 = require("@coral-xyz/anchor");
31
31
  const spl_token_1 = require("@solana/spl-token");
32
32
  const bn_js_1 = __importDefault(require("bn.js"));
33
+ const bs58_1 = __importDefault(require("bs58"));
33
34
  const helpers_1 = require("./utils/helpers");
34
35
  const idl_triad_protocol_json_1 = __importDefault(require("./types/idl_triad_protocol.json"));
35
36
  const types_1 = require("./types");
@@ -46,6 +47,8 @@ __exportStar(require("./types"), exports);
46
47
  __exportStar(require("./utils/helpers"), exports);
47
48
  __exportStar(require("./utils/merkle"), exports);
48
49
  __exportStar(require("./utils/feeCalculator"), exports);
50
+ __exportStar(require("./utils/constants"), exports);
51
+ __exportStar(require("./utils/pda"), exports);
49
52
  class TriadProtocol {
50
53
  constructor(connection, wallet, rpcOptions) {
51
54
  this.connection = connection;
@@ -76,7 +79,25 @@ class TriadProtocol {
76
79
  }
77
80
  }
78
81
  ]);
79
- return orders.map(({ account }) => (0, helpers_1.formatOrder)(account));
82
+ return orders.map(({ account, publicKey }) => (0, helpers_1.formatOrder)(account, publicKey));
83
+ });
84
+ }
85
+ /**
86
+ * Get Orders By Market ID
87
+ * @param marketId - The ID of the market
88
+ */
89
+ getOrdersByMarketId(marketId) {
90
+ return __awaiter(this, void 0, void 0, function* () {
91
+ const marketIdBytes = new bn_js_1.default(marketId).toArray('le', 8);
92
+ const orders = yield this.program.account.orderV2.all([
93
+ {
94
+ memcmp: {
95
+ offset: 8 + 32,
96
+ bytes: bs58_1.default.encode(marketIdBytes)
97
+ }
98
+ }
99
+ ]);
100
+ return orders.map(({ account, publicKey }) => (0, helpers_1.formatOrder)(account, publicKey));
80
101
  });
81
102
  }
82
103
  /**
@@ -557,19 +578,19 @@ class TriadProtocol {
557
578
  payoutOrder(orders) {
558
579
  return __awaiter(this, void 0, void 0, function* () {
559
580
  const ixs = [];
560
- if (orders.length > 6) {
561
- throw new Error('Max 6 orders per transaction');
581
+ if (orders.length > 4) {
582
+ throw new Error('Max 4 orders per transaction');
562
583
  }
563
584
  for (const order of orders) {
564
585
  ixs.push(yield this.program.methods
565
- .payoutOrder(order.orderDirection)
586
+ .payoutOrder()
566
587
  .accounts({
567
- signer: this.program.provider.publicKey,
588
+ signer: order.authority,
568
589
  payer: this.rpcOptions.payer,
569
590
  market: (0, pda_1.getMarketPDA)(this.program.programId, order.marketId),
570
591
  mint: order.mint,
571
592
  tokenProgram: (0, helpers_2.getTokenProgram)(order.mint),
572
- order: (0, pda_1.getOrderPDA)(this.program.programId, this.program.provider.publicKey, order.marketId, (0, helpers_1.getOrderDirection)(order.orderDirection))
593
+ order: (0, pda_1.getOrderPDA)(this.program.programId, order.authority, order.marketId, (0, helpers_1.getOrderDirection)(order.orderDirection))
573
594
  })
574
595
  .instruction());
575
596
  }
@@ -661,12 +682,11 @@ class TriadProtocol {
661
682
  }
662
683
  /**
663
684
  * Place Ask Order
664
- * @param args.marketId - The ID of the Market
665
685
  * @param args.orders - Array of orders to execute
666
686
  * @param args.orders.amount - The amount of the Order
667
687
  * @param args.orders.price - The price of the Order
668
- * @param args.orders.bidOrderId - The ID of the Bid Order
669
- * @param args.orders.bidNonce - The nonce of the Bid Order
688
+ * @param args.orders.marketId - The Id from the market
689
+ * @param args.orders.orderDirection - The direction of the Order
670
690
  */
671
691
  placeAskOrder({ orders }) {
672
692
  return __awaiter(this, void 0, void 0, function* () {
@@ -707,11 +727,12 @@ class TriadProtocol {
707
727
  for (const order of orders) {
708
728
  ixs.push(yield this.program.methods
709
729
  .cancelBidOrder({
730
+ marketId: new bn_js_1.default(order.marketId),
710
731
  bookOrderId: new bn_js_1.default(order.bookOrderId),
711
732
  orderDirection: order.orderDirection
712
733
  })
713
734
  .accounts({
714
- signer: this.program.provider.publicKey,
735
+ signer: new web3_js_1.PublicKey(order.authority),
715
736
  payer: this.rpcOptions.payer,
716
737
  market: (0, pda_1.getMarketPDA)(this.program.programId, order.marketId),
717
738
  orderBook: (0, pda_1.getOrderBookPDA)(this.program.programId, order.marketId)
@@ -724,6 +745,7 @@ class TriadProtocol {
724
745
  /**
725
746
  * Cancel Ask Order
726
747
  * @param args.orders.marketId - The ID of the Market
748
+ * @param args.orders.authority - The authority of the order
727
749
  * @param args.orders.bookOrderId - The ID of the Book Order
728
750
  * @param args.orders.orderDirection - The direction of the Order
729
751
  */
@@ -736,14 +758,16 @@ class TriadProtocol {
736
758
  for (const order of orders) {
737
759
  ixs.push(yield this.program.methods
738
760
  .cancelAskOrder({
761
+ marketId: new bn_js_1.default(order.marketId),
739
762
  bookOrderId: new bn_js_1.default(order.bookOrderId),
740
763
  orderDirection: order.orderDirection
741
764
  })
742
765
  .accounts({
743
- signer: this.program.provider.publicKey,
766
+ signer: order.authority,
767
+ payer: this.rpcOptions.payer,
744
768
  market: (0, pda_1.getMarketPDA)(this.program.programId, order.marketId),
745
769
  orderBook: (0, pda_1.getOrderBookPDA)(this.program.programId, order.marketId),
746
- order: (0, pda_1.getOrderPDA)(this.program.programId, this.program.provider.publicKey, order.marketId, (0, helpers_1.getOrderDirection)(order.orderDirection))
770
+ order: (0, pda_1.getOrderPDA)(this.program.programId, order.authority, order.marketId, (0, helpers_1.getOrderDirection)(order.orderDirection))
747
771
  })
748
772
  .instruction());
749
773
  }
@@ -979,31 +1003,5 @@ class TriadProtocol {
979
1003
  return (0, sendVersionedTransaction_1.default)(this.program, ixs, this.rpcOptions);
980
1004
  });
981
1005
  }
982
- closeUser(userTrade) {
983
- return __awaiter(this, void 0, void 0, function* () {
984
- const ixs = [
985
- yield this.program.methods
986
- .closeUser()
987
- .accounts({ userTrade })
988
- .instruction()
989
- ];
990
- return (0, sendVersionedTransaction_1.default)(this.program, ixs, this.rpcOptions);
991
- });
992
- }
993
- migrateUserTradeToOrder(userTrade, marketId, orderId, orderDirection) {
994
- return __awaiter(this, void 0, void 0, function* () {
995
- const ixs = [
996
- yield this.program.methods
997
- .migrateUserTradeToOrder({
998
- marketId: new bn_js_1.default(marketId),
999
- orderId: new bn_js_1.default(orderId),
1000
- orderDirection
1001
- })
1002
- .accounts({ userTrade })
1003
- .instruction()
1004
- ];
1005
- return (0, sendVersionedTransaction_1.default)(this.program, ixs, this.rpcOptions);
1006
- });
1007
- }
1008
1006
  }
1009
1007
  exports.default = TriadProtocol;
package/dist/stake.d.ts CHANGED
@@ -21,6 +21,7 @@ export default class Stake {
21
21
  */
22
22
  getStakeByWallet(wallet: PublicKey): Promise<{
23
23
  available: number;
24
+ address: string;
24
25
  authority: string;
25
26
  initTs: number;
26
27
  checkedTs: number;
package/dist/stake.js CHANGED
@@ -37,7 +37,7 @@ class Stake {
37
37
  getStakes() {
38
38
  return __awaiter(this, void 0, void 0, function* () {
39
39
  const response = yield this.program.account.stakeV3.all();
40
- return response.map((stake) => (0, helpers_1.formatStake)(stake.account));
40
+ return response.map((stake) => (0, helpers_1.formatStake)(stake.account, stake.publicKey));
41
41
  });
42
42
  }
43
43
  /**
@@ -48,7 +48,7 @@ class Stake {
48
48
  return __awaiter(this, void 0, void 0, function* () {
49
49
  const stake = yield this.program.account.stakeV3
50
50
  .fetch((0, pda_1.getStakePDA)(this.program.programId, wallet))
51
- .then((stake) => (0, helpers_1.formatStake)(stake));
51
+ .then((stake) => (0, helpers_1.formatStake)(stake, wallet));
52
52
  return Object.assign(Object.assign({}, stake), { available: (0, helpers_1.calculateStakeRewards)(stake) });
53
53
  });
54
54
  }
@@ -155,6 +155,11 @@
155
155
  "name": "signer",
156
156
  "writable": true
157
157
  },
158
+ {
159
+ "name": "payer",
160
+ "writable": true,
161
+ "signer": true
162
+ },
158
163
  {
159
164
  "name": "market",
160
165
  "writable": true
@@ -670,26 +675,6 @@
670
675
  ],
671
676
  "args": []
672
677
  },
673
- {
674
- "name": "close_user",
675
- "discriminator": [86, 219, 138, 140, 236, 24, 118, 200],
676
- "accounts": [
677
- {
678
- "name": "signer",
679
- "writable": true,
680
- "signer": true
681
- },
682
- {
683
- "name": "user_trade",
684
- "writable": true
685
- },
686
- {
687
- "name": "system_program",
688
- "address": "11111111111111111111111111111111"
689
- }
690
- ],
691
- "args": []
692
- },
693
678
  {
694
679
  "name": "collect_market_fee",
695
680
  "discriminator": [139, 4, 96, 182, 216, 250, 122, 79],
@@ -1568,39 +1553,6 @@
1568
1553
  }
1569
1554
  ]
1570
1555
  },
1571
- {
1572
- "name": "migrate_user_trade_to_order",
1573
- "discriminator": [33, 123, 184, 50, 31, 199, 7, 73],
1574
- "accounts": [
1575
- {
1576
- "name": "signer",
1577
- "writable": true,
1578
- "signer": true
1579
- },
1580
- {
1581
- "name": "user_trade",
1582
- "writable": true
1583
- },
1584
- {
1585
- "name": "order",
1586
- "writable": true
1587
- },
1588
- {
1589
- "name": "system_program",
1590
- "address": "11111111111111111111111111111111"
1591
- }
1592
- ],
1593
- "args": [
1594
- {
1595
- "name": "args",
1596
- "type": {
1597
- "defined": {
1598
- "name": "MigrateUserTradeToOrderArgs"
1599
- }
1600
- }
1601
- }
1602
- ]
1603
- },
1604
1556
  {
1605
1557
  "name": "open_order",
1606
1558
  "discriminator": [206, 88, 88, 143, 38, 136, 50, 224],
@@ -1712,6 +1664,39 @@
1712
1664
  }
1713
1665
  ]
1714
1666
  },
1667
+ {
1668
+ "name": "order_authority",
1669
+ "discriminator": [173, 133, 92, 45, 165, 23, 172, 187],
1670
+ "accounts": [
1671
+ {
1672
+ "name": "signer",
1673
+ "writable": true
1674
+ },
1675
+ {
1676
+ "name": "payer",
1677
+ "writable": true,
1678
+ "signer": true
1679
+ },
1680
+ {
1681
+ "name": "order",
1682
+ "writable": true
1683
+ },
1684
+ {
1685
+ "name": "system_program",
1686
+ "address": "11111111111111111111111111111111"
1687
+ }
1688
+ ],
1689
+ "args": [
1690
+ {
1691
+ "name": "args",
1692
+ "type": {
1693
+ "defined": {
1694
+ "name": "OrderAuthorityArgs"
1695
+ }
1696
+ }
1697
+ }
1698
+ ]
1699
+ },
1715
1700
  {
1716
1701
  "name": "payout_order",
1717
1702
  "discriminator": [247, 233, 158, 228, 63, 32, 236, 113],
@@ -1810,16 +1795,7 @@
1810
1795
  "address": "11111111111111111111111111111111"
1811
1796
  }
1812
1797
  ],
1813
- "args": [
1814
- {
1815
- "name": "order_direction",
1816
- "type": {
1817
- "defined": {
1818
- "name": "OrderDirection"
1819
- }
1820
- }
1821
- }
1822
- ]
1798
+ "args": []
1823
1799
  },
1824
1800
  {
1825
1801
  "name": "place_ask_order",
@@ -2854,13 +2830,13 @@
2854
2830
  {
2855
2831
  "name": "Unstake",
2856
2832
  "discriminator": [154, 148, 131, 67, 52, 244, 244, 19]
2857
- },
2858
- {
2859
- "name": "UserTrade",
2860
- "discriminator": [149, 190, 47, 218, 136, 9, 222, 222]
2861
2833
  }
2862
2834
  ],
2863
2835
  "events": [
2836
+ {
2837
+ "name": "ActivityEvent",
2838
+ "discriminator": [231, 225, 142, 104, 209, 97, 39, 202]
2839
+ },
2864
2840
  {
2865
2841
  "name": "BookOrderEvent",
2866
2842
  "discriminator": [175, 216, 61, 224, 98, 215, 181, 62]
@@ -2885,10 +2861,6 @@
2885
2861
  "name": "MarketFeeEvent",
2886
2862
  "discriminator": [191, 148, 93, 112, 63, 139, 16, 186]
2887
2863
  },
2888
- {
2889
- "name": "OrderEvent",
2890
- "discriminator": [209, 51, 146, 206, 88, 127, 112, 69]
2891
- },
2892
2864
  {
2893
2865
  "name": "PoolEvent",
2894
2866
  "discriminator": [76, 227, 205, 183, 1, 218, 164, 244]
@@ -3040,6 +3012,70 @@
3040
3012
  }
3041
3013
  ],
3042
3014
  "types": [
3015
+ {
3016
+ "name": "ActivityEvent",
3017
+ "type": {
3018
+ "kind": "struct",
3019
+ "fields": [
3020
+ {
3021
+ "name": "authority",
3022
+ "type": "pubkey"
3023
+ },
3024
+ {
3025
+ "name": "market_id",
3026
+ "type": "u64"
3027
+ },
3028
+ {
3029
+ "name": "order_direction",
3030
+ "type": {
3031
+ "defined": {
3032
+ "name": "OrderDirection"
3033
+ }
3034
+ }
3035
+ },
3036
+ {
3037
+ "name": "order_side",
3038
+ "type": {
3039
+ "defined": {
3040
+ "name": "OrderSide"
3041
+ }
3042
+ }
3043
+ },
3044
+ {
3045
+ "name": "order_type",
3046
+ "type": {
3047
+ "defined": {
3048
+ "name": "OrderType"
3049
+ }
3050
+ }
3051
+ },
3052
+ {
3053
+ "name": "order_status",
3054
+ "type": {
3055
+ "defined": {
3056
+ "name": "OrderStatus"
3057
+ }
3058
+ }
3059
+ },
3060
+ {
3061
+ "name": "price",
3062
+ "type": "u64"
3063
+ },
3064
+ {
3065
+ "name": "shares",
3066
+ "type": "u64"
3067
+ },
3068
+ {
3069
+ "name": "fee",
3070
+ "type": "u64"
3071
+ },
3072
+ {
3073
+ "name": "timestamp",
3074
+ "type": "i64"
3075
+ }
3076
+ ]
3077
+ }
3078
+ },
3043
3079
  {
3044
3080
  "name": "BaseAssetV1",
3045
3081
  "type": {
@@ -3233,6 +3269,10 @@
3233
3269
  "type": {
3234
3270
  "kind": "struct",
3235
3271
  "fields": [
3272
+ {
3273
+ "name": "market_id",
3274
+ "type": "u64"
3275
+ },
3236
3276
  {
3237
3277
  "name": "book_order_id",
3238
3278
  "type": "u64"
@@ -4073,30 +4113,6 @@
4073
4113
  ]
4074
4114
  }
4075
4115
  },
4076
- {
4077
- "name": "MigrateUserTradeToOrderArgs",
4078
- "type": {
4079
- "kind": "struct",
4080
- "fields": [
4081
- {
4082
- "name": "market_id",
4083
- "type": "u64"
4084
- },
4085
- {
4086
- "name": "order_id",
4087
- "type": "u64"
4088
- },
4089
- {
4090
- "name": "order_direction",
4091
- "type": {
4092
- "defined": {
4093
- "name": "OrderDirection"
4094
- }
4095
- }
4096
- }
4097
- ]
4098
- }
4099
- },
4100
4116
  {
4101
4117
  "name": "Nft",
4102
4118
  "type": {
@@ -4129,56 +4145,14 @@
4129
4145
  }
4130
4146
  },
4131
4147
  {
4132
- "name": "Order",
4148
+ "name": "OrderAuthorityArgs",
4133
4149
  "type": {
4134
4150
  "kind": "struct",
4135
4151
  "fields": [
4136
- {
4137
- "name": "ts",
4138
- "type": "i64"
4139
- },
4140
- {
4141
- "name": "order_id",
4142
- "type": "u64"
4143
- },
4144
- {
4145
- "name": "filled_shares",
4146
- "type": "u64"
4147
- },
4148
4152
  {
4149
4153
  "name": "market_id",
4150
4154
  "type": "u64"
4151
4155
  },
4152
- {
4153
- "name": "order_status",
4154
- "type": {
4155
- "defined": {
4156
- "name": "OrderStatus"
4157
- }
4158
- }
4159
- },
4160
- {
4161
- "name": "price",
4162
- "type": "u64"
4163
- },
4164
- {
4165
- "name": "padding_1",
4166
- "type": {
4167
- "array": ["u8", 8]
4168
- }
4169
- },
4170
- {
4171
- "name": "total_shares",
4172
- "type": "u64"
4173
- },
4174
- {
4175
- "name": "order_type",
4176
- "type": {
4177
- "defined": {
4178
- "name": "OrderType"
4179
- }
4180
- }
4181
- },
4182
4156
  {
4183
4157
  "name": "order_direction",
4184
4158
  "type": {
@@ -4186,44 +4160,6 @@
4186
4160
  "name": "OrderDirection"
4187
4161
  }
4188
4162
  }
4189
- },
4190
- {
4191
- "name": "user_nonce",
4192
- "type": "u32"
4193
- },
4194
- {
4195
- "name": "order_side",
4196
- "type": {
4197
- "defined": {
4198
- "name": "OrderSide"
4199
- }
4200
- }
4201
- },
4202
- {
4203
- "name": "padding_2",
4204
- "type": {
4205
- "array": ["u8", 8]
4206
- }
4207
- },
4208
- {
4209
- "name": "created_at",
4210
- "type": "i64"
4211
- },
4212
- {
4213
- "name": "padding_3",
4214
- "type": {
4215
- "array": ["u8", 8]
4216
- }
4217
- },
4218
- {
4219
- "name": "is_trd_payout",
4220
- "type": "bool"
4221
- },
4222
- {
4223
- "name": "padding",
4224
- "type": {
4225
- "array": ["u8", 2]
4226
- }
4227
4163
  }
4228
4164
  ]
4229
4165
  }
@@ -4302,66 +4238,6 @@
4302
4238
  ]
4303
4239
  }
4304
4240
  },
4305
- {
4306
- "name": "OrderEvent",
4307
- "type": {
4308
- "kind": "struct",
4309
- "fields": [
4310
- {
4311
- "name": "authority",
4312
- "type": "pubkey"
4313
- },
4314
- {
4315
- "name": "market_id",
4316
- "type": "u64"
4317
- },
4318
- {
4319
- "name": "order_direction",
4320
- "type": {
4321
- "defined": {
4322
- "name": "OrderDirection"
4323
- }
4324
- }
4325
- },
4326
- {
4327
- "name": "order_side",
4328
- "type": {
4329
- "defined": {
4330
- "name": "OrderSide"
4331
- }
4332
- }
4333
- },
4334
- {
4335
- "name": "order_type",
4336
- "type": {
4337
- "defined": {
4338
- "name": "OrderType"
4339
- }
4340
- }
4341
- },
4342
- {
4343
- "name": "order_status",
4344
- "type": {
4345
- "defined": {
4346
- "name": "OrderStatus"
4347
- }
4348
- }
4349
- },
4350
- {
4351
- "name": "price",
4352
- "type": "u64"
4353
- },
4354
- {
4355
- "name": "shares",
4356
- "type": "u64"
4357
- },
4358
- {
4359
- "name": "timestamp",
4360
- "type": "i64"
4361
- }
4362
- ]
4363
- }
4364
- },
4365
4241
  {
4366
4242
  "name": "OrderSide",
4367
4243
  "type": {
@@ -4887,71 +4763,6 @@
4887
4763
  ]
4888
4764
  }
4889
4765
  },
4890
- {
4891
- "name": "UserTrade",
4892
- "type": {
4893
- "kind": "struct",
4894
- "fields": [
4895
- {
4896
- "name": "bump",
4897
- "type": "u8"
4898
- },
4899
- {
4900
- "name": "authority",
4901
- "type": "pubkey"
4902
- },
4903
- {
4904
- "name": "padding_1",
4905
- "type": {
4906
- "array": ["u8", 8]
4907
- }
4908
- },
4909
- {
4910
- "name": "padding_2",
4911
- "type": {
4912
- "array": ["u8", 8]
4913
- }
4914
- },
4915
- {
4916
- "name": "padding_3",
4917
- "type": {
4918
- "array": ["u8", 8]
4919
- }
4920
- },
4921
- {
4922
- "name": "orders",
4923
- "type": {
4924
- "array": [
4925
- {
4926
- "defined": {
4927
- "name": "Order"
4928
- }
4929
- },
4930
- 10
4931
- ]
4932
- }
4933
- },
4934
- {
4935
- "name": "nonce",
4936
- "type": "u32"
4937
- },
4938
- {
4939
- "name": "is_sub_user",
4940
- "type": "bool"
4941
- },
4942
- {
4943
- "name": "poseidon",
4944
- "type": "u16"
4945
- },
4946
- {
4947
- "name": "padding",
4948
- "type": {
4949
- "array": ["u8", 25]
4950
- }
4951
- }
4952
- ]
4953
- }
4954
- },
4955
4766
  {
4956
4767
  "name": "WinningDirection",
4957
4768
  "type": {
@@ -47,6 +47,7 @@ export type Market = {
47
47
  feeRecipient: string;
48
48
  };
49
49
  export type Order = {
50
+ address: string;
50
51
  marketId: string;
51
52
  orderStatus: OrderStatus;
52
53
  price: string;
@@ -157,6 +158,7 @@ export type StakeVault = {
157
158
  revShareAvailable: number;
158
159
  };
159
160
  export type Stake = {
161
+ address: string;
160
162
  authority: string;
161
163
  initTs: number;
162
164
  checkedTs: number;
@@ -272,6 +274,7 @@ export type CreatePoolArgs = {
272
274
  };
273
275
  export type CancelBidOrderArgs = {
274
276
  orders: {
277
+ authority: PublicKey;
275
278
  marketId: number;
276
279
  bookOrderId: number;
277
280
  orderDirection: OrderDirectionEncoded;
@@ -279,6 +282,7 @@ export type CancelBidOrderArgs = {
279
282
  };
280
283
  export type CancelAskOrderArgs = {
281
284
  orders: {
285
+ authority: PublicKey;
282
286
  marketId: number;
283
287
  bookOrderId: number;
284
288
  orderDirection: OrderDirectionEncoded;
@@ -231,6 +231,11 @@ export type TriadProtocol = {
231
231
  name: 'signer';
232
232
  writable: true;
233
233
  },
234
+ {
235
+ name: 'payer';
236
+ writable: true;
237
+ signer: true;
238
+ },
234
239
  {
235
240
  name: 'market';
236
241
  writable: true;
@@ -988,26 +993,6 @@ export type TriadProtocol = {
988
993
  ];
989
994
  args: [];
990
995
  },
991
- {
992
- name: 'closeUser';
993
- discriminator: [86, 219, 138, 140, 236, 24, 118, 200];
994
- accounts: [
995
- {
996
- name: 'signer';
997
- writable: true;
998
- signer: true;
999
- },
1000
- {
1001
- name: 'userTrade';
1002
- writable: true;
1003
- },
1004
- {
1005
- name: 'systemProgram';
1006
- address: '11111111111111111111111111111111';
1007
- }
1008
- ];
1009
- args: [];
1010
- },
1011
996
  {
1012
997
  name: 'collectMarketFee';
1013
998
  discriminator: [139, 4, 96, 182, 216, 250, 122, 79];
@@ -2275,39 +2260,6 @@ export type TriadProtocol = {
2275
2260
  }
2276
2261
  ];
2277
2262
  },
2278
- {
2279
- name: 'migrateUserTradeToOrder';
2280
- discriminator: [33, 123, 184, 50, 31, 199, 7, 73];
2281
- accounts: [
2282
- {
2283
- name: 'signer';
2284
- writable: true;
2285
- signer: true;
2286
- },
2287
- {
2288
- name: 'userTrade';
2289
- writable: true;
2290
- },
2291
- {
2292
- name: 'order';
2293
- writable: true;
2294
- },
2295
- {
2296
- name: 'systemProgram';
2297
- address: '11111111111111111111111111111111';
2298
- }
2299
- ];
2300
- args: [
2301
- {
2302
- name: 'args';
2303
- type: {
2304
- defined: {
2305
- name: 'migrateUserTradeToOrderArgs';
2306
- };
2307
- };
2308
- }
2309
- ];
2310
- },
2311
2263
  {
2312
2264
  name: 'openOrder';
2313
2265
  discriminator: [206, 88, 88, 143, 38, 136, 50, 224];
@@ -2477,6 +2429,39 @@ export type TriadProtocol = {
2477
2429
  }
2478
2430
  ];
2479
2431
  },
2432
+ {
2433
+ name: 'orderAuthority';
2434
+ discriminator: [173, 133, 92, 45, 165, 23, 172, 187];
2435
+ accounts: [
2436
+ {
2437
+ name: 'signer';
2438
+ writable: true;
2439
+ },
2440
+ {
2441
+ name: 'payer';
2442
+ writable: true;
2443
+ signer: true;
2444
+ },
2445
+ {
2446
+ name: 'order';
2447
+ writable: true;
2448
+ },
2449
+ {
2450
+ name: 'systemProgram';
2451
+ address: '11111111111111111111111111111111';
2452
+ }
2453
+ ];
2454
+ args: [
2455
+ {
2456
+ name: 'args';
2457
+ type: {
2458
+ defined: {
2459
+ name: 'orderAuthorityArgs';
2460
+ };
2461
+ };
2462
+ }
2463
+ ];
2464
+ },
2480
2465
  {
2481
2466
  name: 'payoutOrder';
2482
2467
  discriminator: [247, 233, 158, 228, 63, 32, 236, 113];
@@ -2633,16 +2618,7 @@ export type TriadProtocol = {
2633
2618
  address: '11111111111111111111111111111111';
2634
2619
  }
2635
2620
  ];
2636
- args: [
2637
- {
2638
- name: 'orderDirection';
2639
- type: {
2640
- defined: {
2641
- name: 'orderDirection';
2642
- };
2643
- };
2644
- }
2645
- ];
2621
+ args: [];
2646
2622
  },
2647
2623
  {
2648
2624
  name: 'placeAskOrder';
@@ -3945,13 +3921,13 @@ export type TriadProtocol = {
3945
3921
  {
3946
3922
  name: 'unstake';
3947
3923
  discriminator: [154, 148, 131, 67, 52, 244, 244, 19];
3948
- },
3949
- {
3950
- name: 'userTrade';
3951
- discriminator: [149, 190, 47, 218, 136, 9, 222, 222];
3952
3924
  }
3953
3925
  ];
3954
3926
  events: [
3927
+ {
3928
+ name: 'activityEvent';
3929
+ discriminator: [231, 225, 142, 104, 209, 97, 39, 202];
3930
+ },
3955
3931
  {
3956
3932
  name: 'bookOrderEvent';
3957
3933
  discriminator: [175, 216, 61, 224, 98, 215, 181, 62];
@@ -3976,10 +3952,6 @@ export type TriadProtocol = {
3976
3952
  name: 'marketFeeEvent';
3977
3953
  discriminator: [191, 148, 93, 112, 63, 139, 16, 186];
3978
3954
  },
3979
- {
3980
- name: 'orderEvent';
3981
- discriminator: [209, 51, 146, 206, 88, 127, 112, 69];
3982
- },
3983
3955
  {
3984
3956
  name: 'poolEvent';
3985
3957
  discriminator: [76, 227, 205, 183, 1, 218, 164, 244];
@@ -4131,6 +4103,70 @@ export type TriadProtocol = {
4131
4103
  }
4132
4104
  ];
4133
4105
  types: [
4106
+ {
4107
+ name: 'activityEvent';
4108
+ type: {
4109
+ kind: 'struct';
4110
+ fields: [
4111
+ {
4112
+ name: 'authority';
4113
+ type: 'pubkey';
4114
+ },
4115
+ {
4116
+ name: 'marketId';
4117
+ type: 'u64';
4118
+ },
4119
+ {
4120
+ name: 'orderDirection';
4121
+ type: {
4122
+ defined: {
4123
+ name: 'orderDirection';
4124
+ };
4125
+ };
4126
+ },
4127
+ {
4128
+ name: 'orderSide';
4129
+ type: {
4130
+ defined: {
4131
+ name: 'orderSide';
4132
+ };
4133
+ };
4134
+ },
4135
+ {
4136
+ name: 'orderType';
4137
+ type: {
4138
+ defined: {
4139
+ name: 'orderType';
4140
+ };
4141
+ };
4142
+ },
4143
+ {
4144
+ name: 'orderStatus';
4145
+ type: {
4146
+ defined: {
4147
+ name: 'orderStatus';
4148
+ };
4149
+ };
4150
+ },
4151
+ {
4152
+ name: 'price';
4153
+ type: 'u64';
4154
+ },
4155
+ {
4156
+ name: 'shares';
4157
+ type: 'u64';
4158
+ },
4159
+ {
4160
+ name: 'fee';
4161
+ type: 'u64';
4162
+ },
4163
+ {
4164
+ name: 'timestamp';
4165
+ type: 'i64';
4166
+ }
4167
+ ];
4168
+ };
4169
+ },
4134
4170
  {
4135
4171
  name: 'baseAssetV1';
4136
4172
  type: {
@@ -4324,6 +4360,10 @@ export type TriadProtocol = {
4324
4360
  type: {
4325
4361
  kind: 'struct';
4326
4362
  fields: [
4363
+ {
4364
+ name: 'marketId';
4365
+ type: 'u64';
4366
+ },
4327
4367
  {
4328
4368
  name: 'bookOrderId';
4329
4369
  type: 'u64';
@@ -5164,30 +5204,6 @@ export type TriadProtocol = {
5164
5204
  ];
5165
5205
  };
5166
5206
  },
5167
- {
5168
- name: 'migrateUserTradeToOrderArgs';
5169
- type: {
5170
- kind: 'struct';
5171
- fields: [
5172
- {
5173
- name: 'marketId';
5174
- type: 'u64';
5175
- },
5176
- {
5177
- name: 'orderId';
5178
- type: 'u64';
5179
- },
5180
- {
5181
- name: 'orderDirection';
5182
- type: {
5183
- defined: {
5184
- name: 'orderDirection';
5185
- };
5186
- };
5187
- }
5188
- ];
5189
- };
5190
- },
5191
5207
  {
5192
5208
  name: 'nft';
5193
5209
  type: {
@@ -5220,56 +5236,14 @@ export type TriadProtocol = {
5220
5236
  };
5221
5237
  },
5222
5238
  {
5223
- name: 'order';
5239
+ name: 'orderAuthorityArgs';
5224
5240
  type: {
5225
5241
  kind: 'struct';
5226
5242
  fields: [
5227
- {
5228
- name: 'ts';
5229
- type: 'i64';
5230
- },
5231
- {
5232
- name: 'orderId';
5233
- type: 'u64';
5234
- },
5235
- {
5236
- name: 'filledShares';
5237
- type: 'u64';
5238
- },
5239
5243
  {
5240
5244
  name: 'marketId';
5241
5245
  type: 'u64';
5242
5246
  },
5243
- {
5244
- name: 'orderStatus';
5245
- type: {
5246
- defined: {
5247
- name: 'orderStatus';
5248
- };
5249
- };
5250
- },
5251
- {
5252
- name: 'price';
5253
- type: 'u64';
5254
- },
5255
- {
5256
- name: 'padding1';
5257
- type: {
5258
- array: ['u8', 8];
5259
- };
5260
- },
5261
- {
5262
- name: 'totalShares';
5263
- type: 'u64';
5264
- },
5265
- {
5266
- name: 'orderType';
5267
- type: {
5268
- defined: {
5269
- name: 'orderType';
5270
- };
5271
- };
5272
- },
5273
5247
  {
5274
5248
  name: 'orderDirection';
5275
5249
  type: {
@@ -5277,44 +5251,6 @@ export type TriadProtocol = {
5277
5251
  name: 'orderDirection';
5278
5252
  };
5279
5253
  };
5280
- },
5281
- {
5282
- name: 'userNonce';
5283
- type: 'u32';
5284
- },
5285
- {
5286
- name: 'orderSide';
5287
- type: {
5288
- defined: {
5289
- name: 'orderSide';
5290
- };
5291
- };
5292
- },
5293
- {
5294
- name: 'padding2';
5295
- type: {
5296
- array: ['u8', 8];
5297
- };
5298
- },
5299
- {
5300
- name: 'createdAt';
5301
- type: 'i64';
5302
- },
5303
- {
5304
- name: 'padding3';
5305
- type: {
5306
- array: ['u8', 8];
5307
- };
5308
- },
5309
- {
5310
- name: 'isTrdPayout';
5311
- type: 'bool';
5312
- },
5313
- {
5314
- name: 'padding';
5315
- type: {
5316
- array: ['u8', 2];
5317
- };
5318
5254
  }
5319
5255
  ];
5320
5256
  };
@@ -5393,66 +5329,6 @@ export type TriadProtocol = {
5393
5329
  ];
5394
5330
  };
5395
5331
  },
5396
- {
5397
- name: 'orderEvent';
5398
- type: {
5399
- kind: 'struct';
5400
- fields: [
5401
- {
5402
- name: 'authority';
5403
- type: 'pubkey';
5404
- },
5405
- {
5406
- name: 'marketId';
5407
- type: 'u64';
5408
- },
5409
- {
5410
- name: 'orderDirection';
5411
- type: {
5412
- defined: {
5413
- name: 'orderDirection';
5414
- };
5415
- };
5416
- },
5417
- {
5418
- name: 'orderSide';
5419
- type: {
5420
- defined: {
5421
- name: 'orderSide';
5422
- };
5423
- };
5424
- },
5425
- {
5426
- name: 'orderType';
5427
- type: {
5428
- defined: {
5429
- name: 'orderType';
5430
- };
5431
- };
5432
- },
5433
- {
5434
- name: 'orderStatus';
5435
- type: {
5436
- defined: {
5437
- name: 'orderStatus';
5438
- };
5439
- };
5440
- },
5441
- {
5442
- name: 'price';
5443
- type: 'u64';
5444
- },
5445
- {
5446
- name: 'shares';
5447
- type: 'u64';
5448
- },
5449
- {
5450
- name: 'timestamp';
5451
- type: 'i64';
5452
- }
5453
- ];
5454
- };
5455
- },
5456
5332
  {
5457
5333
  name: 'orderSide';
5458
5334
  type: {
@@ -5978,71 +5854,6 @@ export type TriadProtocol = {
5978
5854
  ];
5979
5855
  };
5980
5856
  },
5981
- {
5982
- name: 'userTrade';
5983
- type: {
5984
- kind: 'struct';
5985
- fields: [
5986
- {
5987
- name: 'bump';
5988
- type: 'u8';
5989
- },
5990
- {
5991
- name: 'authority';
5992
- type: 'pubkey';
5993
- },
5994
- {
5995
- name: 'padding1';
5996
- type: {
5997
- array: ['u8', 8];
5998
- };
5999
- },
6000
- {
6001
- name: 'padding2';
6002
- type: {
6003
- array: ['u8', 8];
6004
- };
6005
- },
6006
- {
6007
- name: 'padding3';
6008
- type: {
6009
- array: ['u8', 8];
6010
- };
6011
- },
6012
- {
6013
- name: 'orders';
6014
- type: {
6015
- array: [
6016
- {
6017
- defined: {
6018
- name: 'order';
6019
- };
6020
- },
6021
- 10
6022
- ];
6023
- };
6024
- },
6025
- {
6026
- name: 'nonce';
6027
- type: 'u32';
6028
- },
6029
- {
6030
- name: 'isSubUser';
6031
- type: 'bool';
6032
- },
6033
- {
6034
- name: 'poseidon';
6035
- type: 'u16';
6036
- },
6037
- {
6038
- name: 'padding';
6039
- type: {
6040
- array: ['u8', 25];
6041
- };
6042
- }
6043
- ];
6044
- };
6045
- },
6046
5857
  {
6047
5858
  name: 'winningDirection';
6048
5859
  type: {
@@ -5,11 +5,11 @@ import { TriadProtocol } from '../types/triad_protocol';
5
5
  export declare const encodeString: (value: string, alloc?: number) => number[];
6
6
  export declare const decodeString: (bytes: number[]) => string;
7
7
  export declare const formatStakeVault: (stakeVault: IdlAccounts<TriadProtocol>['stakeVault']) => StakeVault;
8
- export declare const formatStake: (stake: IdlAccounts<TriadProtocol>['stakeV3']) => Stake;
8
+ export declare const formatStake: (stake: IdlAccounts<TriadProtocol>['stakeV3'], address: PublicKey) => Stake;
9
9
  export declare const formatUnstake: (unstake: IdlAccounts<TriadProtocol>['unstake'], address: PublicKey) => Unstake;
10
10
  export declare const formatPool: (account: IdlAccounts<TriadProtocol>['pool'], address: PublicKey) => Pool;
11
11
  export declare const formatMarket: (account: IdlAccounts<TriadProtocol>['marketV2'], address: PublicKey) => Market;
12
- export declare const formatOrder: (order: IdlAccounts<TriadProtocol>['orderV2']) => Order;
12
+ export declare const formatOrder: (order: IdlAccounts<TriadProtocol>['orderV2'], address: PublicKey) => Order;
13
13
  export declare const formatBookOrder: (order: IdlAccounts<TriadProtocol>['orderBook']['hypeOrders'][number] | IdlAccounts<TriadProtocol>['orderBook']['flopOrders'][number], marketId: number) => BookOrder;
14
14
  export declare const formatCustomer: (account: IdlAccounts<TriadProtocol>['customer'], publicKey: PublicKey) => Customer;
15
15
  export declare const formatClaimVault: (account: IdlAccounts<TriadProtocol>['claimVault'], address: PublicKey) => ClaimVault;
@@ -22,5 +22,6 @@ export declare const getOrderSideFromNumber: (orderSide: number) => OrderSide;
22
22
  export declare const getOrderType: (orderType: OrderTypeEncoded) => OrderType;
23
23
  export declare const getOrderSide: (orderSide: OrderSideEncoded) => OrderSide;
24
24
  export declare const getOrderStatus: (status: OrderStatusEncoded) => OrderStatus;
25
+ export declare const getOrderDirectionEncoded: (orderDirection: OrderDirection) => OrderDirectionEncoded;
25
26
  export declare const getOppositeOrderDirection: (orderDirection: OrderDirection) => OrderDirection;
26
27
  export declare const getOppositeOrderDirectionEncoded: (orderDirection: OrderDirectionEncoded) => OrderDirectionEncoded;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getOppositeOrderDirectionEncoded = exports.getOppositeOrderDirection = exports.getOrderStatus = exports.getOrderSide = exports.getOrderType = exports.getOrderSideFromNumber = exports.getOrderDirectionFromNumber = exports.getOrderDirection = exports.getTokenProgram = exports.calculateStakeRewards = exports.formatClaimedUser = exports.formatClaimVault = exports.formatCustomer = exports.formatBookOrder = exports.formatOrder = exports.formatMarket = exports.formatPool = exports.formatUnstake = exports.formatStake = exports.formatStakeVault = exports.decodeString = exports.encodeString = void 0;
3
+ exports.getOppositeOrderDirectionEncoded = exports.getOppositeOrderDirection = exports.getOrderDirectionEncoded = exports.getOrderStatus = exports.getOrderSide = exports.getOrderType = exports.getOrderSideFromNumber = exports.getOrderDirectionFromNumber = exports.getOrderDirection = exports.getTokenProgram = exports.calculateStakeRewards = exports.formatClaimedUser = exports.formatClaimVault = exports.formatCustomer = exports.formatBookOrder = exports.formatOrder = 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");
@@ -34,8 +34,9 @@ const formatStakeVault = (stakeVault) => {
34
34
  };
35
35
  };
36
36
  exports.formatStakeVault = formatStakeVault;
37
- const formatStake = (stake) => {
37
+ const formatStake = (stake, address) => {
38
38
  return {
39
+ address: address.toBase58(),
39
40
  authority: stake.authority.toBase58(),
40
41
  initTs: stake.initTs.toNumber(),
41
42
  checkedTs: stake.checkedTs.toNumber(),
@@ -105,8 +106,9 @@ const formatMarket = (account, address) => {
105
106
  };
106
107
  };
107
108
  exports.formatMarket = formatMarket;
108
- const formatOrder = (order) => {
109
+ const formatOrder = (order, address) => {
109
110
  return {
111
+ address: address.toString(),
110
112
  authority: order.authority.toString(),
111
113
  marketId: order.marketId.toString(),
112
114
  orderStatus: (0, exports.getOrderStatus)(order.orderStatus),
@@ -254,6 +256,13 @@ const getOrderStatus = (status) => {
254
256
  }
255
257
  };
256
258
  exports.getOrderStatus = getOrderStatus;
259
+ const getOrderDirectionEncoded = (orderDirection) => {
260
+ if (orderDirection === types_1.OrderDirection.HYPE) {
261
+ return { hype: {} };
262
+ }
263
+ return { flop: {} };
264
+ };
265
+ exports.getOrderDirectionEncoded = getOrderDirectionEncoded;
257
266
  const getOppositeOrderDirection = (orderDirection) => {
258
267
  if (orderDirection === types_1.OrderDirection.HYPE) {
259
268
  return types_1.OrderDirection.FLOP;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@triadxyz/triad-protocol",
3
- "version": "3.5.1-beta",
3
+ "version": "3.5.3-beta",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",