@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 +1 -21
- package/dist/index.js +0 -60
- package/dist/market.d.ts +1 -1
- package/dist/market.js +2 -2
- package/dist/predictor.d.ts +24 -0
- package/dist/predictor.js +65 -1
- package/dist/types/index.d.ts +2 -4
- package/dist/utils/helpers.d.ts +2 -2
- package/dist/utils/helpers.js +4 -6
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Connection
|
|
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").
|
|
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.
|
|
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.
|
|
43
|
+
return orders.map(({ account, publicKey }) => (0, helpers_1.formatPredictorOrder)(account, publicKey));
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
46
|
/**
|
package/dist/predictor.d.ts
CHANGED
|
@@ -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
|
package/dist/types/index.d.ts
CHANGED
|
@@ -46,16 +46,14 @@ export type Market = {
|
|
|
46
46
|
feeRecipient: string;
|
|
47
47
|
pythPrice: string;
|
|
48
48
|
};
|
|
49
|
-
export type
|
|
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
|
-
|
|
58
|
-
authority: string;
|
|
56
|
+
predictor: string;
|
|
59
57
|
};
|
|
60
58
|
export type BookOrder = {
|
|
61
59
|
id: string;
|
package/dist/utils/helpers.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PublicKey } from '@solana/web3.js';
|
|
2
2
|
import { IdlAccounts, Program } from '@coral-xyz/anchor';
|
|
3
|
-
import { Market,
|
|
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
|
|
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;
|
package/dist/utils/helpers.js
CHANGED
|
@@ -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.
|
|
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
|
|
119
|
+
const formatPredictorOrder = (order, address) => {
|
|
120
120
|
return {
|
|
121
121
|
address: address.toString(),
|
|
122
|
-
|
|
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.
|
|
130
|
+
exports.formatPredictorOrder = formatPredictorOrder;
|
|
133
131
|
const formatBookOrder = (order, marketId) => {
|
|
134
132
|
return {
|
|
135
133
|
id: order.id.toString(),
|