@triadxyz/triad-protocol 4.2.1 → 4.2.2

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
@@ -1,4 +1,4 @@
1
- import { Connection, PublicKey } from '@solana/web3.js';
1
+ import { Connection } from '@solana/web3.js';
2
2
  import { AnchorProvider, Program, Wallet } from '@coral-xyz/anchor';
3
3
  import { TriadProtocol as TriadProtocolIDL } from './types/triad_protocol';
4
4
  import { RpcOptions } from './types';
@@ -31,26 +31,6 @@ export default class TriadProtocol {
31
31
  market: Market;
32
32
  constructor(connection: Connection, wallet: Wallet, rpcOptions: RpcOptions);
33
33
  getPriorityFee(): Promise<void>;
34
- /**
35
- * Get User Orders
36
- * @param wallet - User wallet PublicKey
37
- */
38
- getUserOrders(wallet: PublicKey): Promise<import("./types").Order[]>;
39
- /**
40
- * Get User Orders By Market ID
41
- * @param wallet - User wallet PublicKey
42
- * @param marketId - The ID of the market
43
- */
44
- getUserOrdersByMarketId(wallet: PublicKey, marketId: number): Promise<import("./types").Order[]>;
45
- /**
46
- * Get all User Book Orders
47
- * @param wallet - User wallet PublicKey
48
- */
49
- getUserBookOrders(wallet: PublicKey): Promise<import("./types").BookOrder[]>;
50
- /**
51
- * Get User Book Orders By Market ID
52
- */
53
- getUserBookOrdersByMarketId(wallet: PublicKey, marketId: number): Promise<import("./types").BookOrder[]>;
54
34
  /**
55
35
  * Burn Triad
56
36
  * @param amount - Amount to burn
package/dist/index.js CHANGED
@@ -29,9 +29,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const anchor_1 = require("@coral-xyz/anchor");
30
30
  const bn_js_1 = __importDefault(require("bn.js"));
31
31
  const idl_triad_protocol_json_1 = __importDefault(require("./types/idl_triad_protocol.json"));
32
- const constants_1 = require("./utils/constants");
33
- const helpers_1 = require("./utils/helpers");
34
- const pda_1 = require("./utils/pda");
35
32
  const sendVersionedTransaction_1 = __importDefault(require("./utils/sendVersionedTransaction"));
36
33
  const stake_1 = __importDefault(require("./stake"));
37
34
  const poseidon_1 = __importDefault(require("./poseidon"));
@@ -77,63 +74,6 @@ class TriadProtocol {
77
74
  this.rpcOptions.microLamports = yield (0, getPriorityFee_1.default)();
78
75
  });
79
76
  }
80
- /**
81
- * Get User Orders
82
- * @param wallet - User wallet PublicKey
83
- */
84
- getUserOrders(wallet) {
85
- return __awaiter(this, void 0, void 0, function* () {
86
- const orders = yield this.program.account.orderV2.all([
87
- {
88
- memcmp: {
89
- offset: 8,
90
- bytes: wallet.toBase58()
91
- }
92
- }
93
- ]);
94
- return orders.map(({ account, publicKey }) => (0, helpers_1.formatOrder)(account, publicKey));
95
- });
96
- }
97
- /**
98
- * Get User Orders By Market ID
99
- * @param wallet - User wallet PublicKey
100
- * @param marketId - The ID of the market
101
- */
102
- getUserOrdersByMarketId(wallet, marketId) {
103
- return __awaiter(this, void 0, void 0, function* () {
104
- const orders = yield this.getUserOrders(wallet);
105
- return orders.filter((order) => order.marketId === marketId.toString());
106
- });
107
- }
108
- /**
109
- * Get all User Book Orders
110
- * @param wallet - User wallet PublicKey
111
- */
112
- getUserBookOrders(wallet) {
113
- return __awaiter(this, void 0, void 0, function* () {
114
- const orderbooks = yield this.program.account.orderBook.all();
115
- const bookOrders = orderbooks.map((orderbook) => {
116
- return [...orderbook.account.hypeOrders, ...orderbook.account.flopOrders]
117
- .map((order) => (0, helpers_1.formatBookOrder)(order, orderbook.account.marketId.toNumber()))
118
- .filter((order) => order.authority === wallet.toBase58() &&
119
- order.linkedBookOrderId === constants_1.BOOK_ORDER_NULL.toString());
120
- });
121
- return bookOrders.flat();
122
- });
123
- }
124
- /**
125
- * Get User Book Orders By Market ID
126
- */
127
- getUserBookOrdersByMarketId(wallet, marketId) {
128
- return __awaiter(this, void 0, void 0, function* () {
129
- const orderBook = yield this.program.account.orderBook.fetch((0, pda_1.getOrderBookPDA)(this.program.programId, marketId), this.provider.opts.commitment);
130
- const orders = [...orderBook.hypeOrders, ...orderBook.flopOrders];
131
- return orders
132
- .map((order) => (0, helpers_1.formatBookOrder)(order, marketId))
133
- .filter((order) => order.authority === wallet.toBase58() &&
134
- order.linkedBookOrderId === constants_1.BOOK_ORDER_NULL.toString());
135
- });
136
- }
137
77
  /**
138
78
  * Burn Triad
139
79
  * @param amount - Amount to burn
package/dist/market.d.ts CHANGED
@@ -10,7 +10,7 @@ export default class Market {
10
10
  * Get Orders By Market ID
11
11
  * @param marketId - The ID of the market
12
12
  */
13
- getOrdersByMarketId(marketId: number): Promise<import("./types").Order[]>;
13
+ getOrdersByMarketId(marketId: number): Promise<import("./types").PredictorOrder[]>;
14
14
  /**
15
15
  * Get All Pools
16
16
  */
package/dist/market.js CHANGED
@@ -32,7 +32,7 @@ class Market {
32
32
  getOrdersByMarketId(marketId) {
33
33
  return __awaiter(this, void 0, void 0, function* () {
34
34
  const marketIdBytes = new bn_js_1.default(marketId).toArray('le', 8);
35
- const orders = yield this.program.account.orderV2.all([
35
+ const orders = yield this.program.account.predictorOrder.all([
36
36
  {
37
37
  memcmp: {
38
38
  offset: 8 + 32,
@@ -40,7 +40,7 @@ class Market {
40
40
  }
41
41
  }
42
42
  ]);
43
- return orders.map(({ account, publicKey }) => (0, helpers_1.formatOrder)(account, publicKey));
43
+ return orders.map(({ account, publicKey }) => (0, helpers_1.formatPredictorOrder)(account, publicKey));
44
44
  });
45
45
  }
46
46
  /**
@@ -13,6 +13,30 @@ export default class Predictor {
13
13
  * @param customerId - Customer ID (optional) defaults to 7 from Triadmarkets
14
14
  */
15
15
  getPredictor(authority: PublicKey, customerId?: number): Promise<PredictorType>;
16
+ /**
17
+ * Get User Orders
18
+ * @param wallet - User wallet PublicKey
19
+ */
20
+ getUserOrders(wallet: PublicKey, customerId?: number): Promise<import("./types").PredictorOrder[]>;
21
+ /**
22
+ * Get User Orders By Market ID
23
+ * @param wallet - User wallet PublicKey
24
+ * @param marketId - The ID of the market
25
+ */
26
+ getUserOrdersByMarketId(wallet: PublicKey, marketId: number, customerId?: number): Promise<import("./types").PredictorOrder[]>;
27
+ /**
28
+ * Get all User Book Orders
29
+ * @param wallet - User wallet PublicKey
30
+ * @param customerId - User Customer ID
31
+ */
32
+ getUserBookOrders(wallet: PublicKey, customerId?: number): Promise<import("./types").BookOrder[]>;
33
+ /**
34
+ * Get User Book Orders By Market ID
35
+ * @param wallet - User wallet PublicKey
36
+ * @param marketId - The ID of the market
37
+ * @param customerId - User Customer ID
38
+ */
39
+ getUserBookOrdersByMarketId(wallet: PublicKey, marketId: number, customerId?: number): Promise<import("./types").BookOrder[]>;
16
40
  /**
17
41
  * Deposit
18
42
  * @param args.authority - Authority of the deposit
package/dist/predictor.js CHANGED
@@ -15,9 +15,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const web3_js_1 = require("@solana/web3.js");
16
16
  const bn_js_1 = __importDefault(require("bn.js"));
17
17
  const constants_1 = require("./utils/constants");
18
- const pda_1 = require("./utils/pda");
19
18
  const sendVersionedTransaction_1 = __importDefault(require("./utils/sendVersionedTransaction"));
20
19
  const helpers_1 = require("./utils/helpers");
20
+ const pda_1 = require("./utils/pda");
21
21
  class Predictor {
22
22
  constructor(program, rpcOptions) {
23
23
  this.program = program;
@@ -48,6 +48,70 @@ class Predictor {
48
48
  }
49
49
  });
50
50
  }
51
+ /**
52
+ * Get User Orders
53
+ * @param wallet - User wallet PublicKey
54
+ */
55
+ getUserOrders(wallet, customerId = 7) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ const predictorPDA = (0, pda_1.getPredictorPDA)(this.program.programId, wallet, customerId);
58
+ const orders = yield this.program.account.predictorOrder.all([
59
+ {
60
+ memcmp: {
61
+ offset: 8,
62
+ bytes: predictorPDA.toBase58()
63
+ }
64
+ }
65
+ ]);
66
+ return orders.map(({ account, publicKey }) => (0, helpers_1.formatPredictorOrder)(account, publicKey));
67
+ });
68
+ }
69
+ /**
70
+ * Get User Orders By Market ID
71
+ * @param wallet - User wallet PublicKey
72
+ * @param marketId - The ID of the market
73
+ */
74
+ getUserOrdersByMarketId(wallet, marketId, customerId = 7) {
75
+ return __awaiter(this, void 0, void 0, function* () {
76
+ const orders = yield this.getUserOrders(wallet, customerId);
77
+ return orders.filter((order) => order.marketId === marketId.toString());
78
+ });
79
+ }
80
+ /**
81
+ * Get all User Book Orders
82
+ * @param wallet - User wallet PublicKey
83
+ * @param customerId - User Customer ID
84
+ */
85
+ getUserBookOrders(wallet, customerId = 7) {
86
+ return __awaiter(this, void 0, void 0, function* () {
87
+ const orderbooks = yield this.program.account.orderBook.all();
88
+ const predictorPDA = (0, pda_1.getPredictorPDA)(this.program.programId, wallet, customerId);
89
+ const bookOrders = orderbooks.map((orderbook) => {
90
+ return [...orderbook.account.hypeOrders, ...orderbook.account.flopOrders]
91
+ .map((order) => (0, helpers_1.formatBookOrder)(order, orderbook.account.marketId.toNumber()))
92
+ .filter((order) => order.authority === predictorPDA.toBase58() &&
93
+ order.linkedBookOrderId === constants_1.BOOK_ORDER_NULL.toString());
94
+ });
95
+ return bookOrders.flat();
96
+ });
97
+ }
98
+ /**
99
+ * Get User Book Orders By Market ID
100
+ * @param wallet - User wallet PublicKey
101
+ * @param marketId - The ID of the market
102
+ * @param customerId - User Customer ID
103
+ */
104
+ getUserBookOrdersByMarketId(wallet, marketId, customerId = 7) {
105
+ return __awaiter(this, void 0, void 0, function* () {
106
+ const orderBook = yield this.program.account.orderBook.fetch((0, pda_1.getOrderBookPDA)(this.program.programId, marketId), this.rpcOptions.commitment);
107
+ const orders = [...orderBook.hypeOrders, ...orderBook.flopOrders];
108
+ const predictorPDA = (0, pda_1.getPredictorPDA)(this.program.programId, wallet, customerId);
109
+ return orders
110
+ .map((order) => (0, helpers_1.formatBookOrder)(order, marketId))
111
+ .filter((order) => order.authority === predictorPDA.toBase58() &&
112
+ order.linkedBookOrderId === constants_1.BOOK_ORDER_NULL.toString());
113
+ });
114
+ }
51
115
  /**
52
116
  * Deposit
53
117
  * @param args.authority - Authority of the deposit
@@ -46,16 +46,14 @@ export type Market = {
46
46
  feeRecipient: string;
47
47
  pythPrice: string;
48
48
  };
49
- export type Order = {
49
+ export type PredictorOrder = {
50
50
  address: string;
51
51
  marketId: string;
52
52
  orderStatus: OrderStatus;
53
53
  price: string;
54
54
  shares: string;
55
- orderType: OrderType;
56
55
  orderDirection: OrderDirection;
57
- orderSide: OrderSide;
58
- authority: string;
56
+ predictor: string;
59
57
  };
60
58
  export type BookOrder = {
61
59
  id: string;
@@ -1,6 +1,6 @@
1
1
  import { PublicKey } from '@solana/web3.js';
2
2
  import { IdlAccounts, Program } from '@coral-xyz/anchor';
3
- import { Market, Order, OrderDirection, OrderSide, OrderStatus, OrderType, OrderDirectionEncoded, OrderTypeEncoded, OrderSideEncoded, OrderStatusEncoded, Pool, BookOrder } from '../types';
3
+ import { Market, PredictorOrder, OrderDirection, OrderSide, OrderStatus, OrderType, OrderDirectionEncoded, OrderTypeEncoded, OrderSideEncoded, OrderStatusEncoded, Pool, BookOrder } from '../types';
4
4
  import { Stake, StakeVault, Unstake } from '../types/stake';
5
5
  import { Customer } from '../types/customer';
6
6
  import { TriadProtocol } from '../types/triad_protocol';
@@ -12,7 +12,7 @@ export declare const formatStake: (stake: IdlAccounts<TriadProtocol>['stakeV3'],
12
12
  export declare const formatUnstake: (unstake: IdlAccounts<TriadProtocol>['unstake'], address: PublicKey) => Unstake;
13
13
  export declare const formatPool: (account: IdlAccounts<TriadProtocol>['pool'], address: PublicKey) => Pool;
14
14
  export declare const formatMarket: (account: IdlAccounts<TriadProtocol>['marketV2'], address: PublicKey) => Market;
15
- export declare const formatOrder: (order: IdlAccounts<TriadProtocol>['orderV2'], address: PublicKey) => Order;
15
+ export declare const formatPredictorOrder: (order: IdlAccounts<TriadProtocol>['predictorOrder'], address: PublicKey) => PredictorOrder;
16
16
  export declare const formatBookOrder: (order: IdlAccounts<TriadProtocol>['orderBook']['hypeOrders'][number] | IdlAccounts<TriadProtocol>['orderBook']['flopOrders'][number], marketId: number) => BookOrder;
17
17
  export declare const formatCustomer: (account: IdlAccounts<TriadProtocol>['customer'], publicKey: PublicKey) => Customer;
18
18
  export declare const calculateStakeRewards: (stake: Stake) => number;
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.getCustomerById = exports.getFeedIdFromHex = exports.getPriceFeedAccountForProgram = exports.formatPredictor = exports.getOppositeOrderDirectionEncoded = exports.getOppositeOrderDirection = exports.getOrderDirectionEncoded = exports.getOrderStatus = exports.getOrderSide = exports.getOrderType = exports.getOrderSideFromNumber = exports.getOrderDirectionFromNumber = exports.getOrderDirection = exports.getTokenProgram = exports.calculateStakeRewards = exports.formatCustomer = exports.formatBookOrder = exports.formatOrder = exports.formatMarket = exports.formatPool = exports.formatUnstake = exports.formatStake = exports.formatStakeVault = exports.decodeString = exports.encodeString = void 0;
12
+ exports.getCustomerById = exports.getFeedIdFromHex = exports.getPriceFeedAccountForProgram = exports.formatPredictor = exports.getOppositeOrderDirectionEncoded = exports.getOppositeOrderDirection = exports.getOrderDirectionEncoded = exports.getOrderStatus = exports.getOrderSide = exports.getOrderType = exports.getOrderSideFromNumber = exports.getOrderDirectionFromNumber = exports.getOrderDirection = exports.getTokenProgram = exports.calculateStakeRewards = exports.formatCustomer = exports.formatBookOrder = exports.formatPredictorOrder = exports.formatMarket = exports.formatPool = exports.formatUnstake = exports.formatStake = exports.formatStakeVault = exports.decodeString = exports.encodeString = void 0;
13
13
  const web3_js_1 = require("@solana/web3.js");
14
14
  const spl_token_1 = require("@solana/spl-token");
15
15
  const types_1 = require("../types");
@@ -116,20 +116,18 @@ const formatMarket = (account, address) => {
116
116
  };
117
117
  };
118
118
  exports.formatMarket = formatMarket;
119
- const formatOrder = (order, address) => {
119
+ const formatPredictorOrder = (order, address) => {
120
120
  return {
121
121
  address: address.toString(),
122
- authority: order.authority.toString(),
122
+ predictor: order.predictor.toString(),
123
123
  marketId: order.marketId.toString(),
124
124
  orderStatus: (0, exports.getOrderStatus)(order.orderStatus),
125
- orderType: (0, exports.getOrderType)(order.orderType),
126
125
  orderDirection: (0, exports.getOrderDirection)(order.orderDirection),
127
- orderSide: (0, exports.getOrderSide)(order.orderSide),
128
126
  price: order.price.toString(),
129
127
  shares: order.shares.toString()
130
128
  };
131
129
  };
132
- exports.formatOrder = formatOrder;
130
+ exports.formatPredictorOrder = formatPredictorOrder;
133
131
  const formatBookOrder = (order, marketId) => {
134
132
  return {
135
133
  id: order.id.toString(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@triadxyz/triad-protocol",
3
- "version": "4.2.1",
3
+ "version": "4.2.2",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",