@triadxyz/triad-protocol 1.6.7-beta → 1.6.8-beta-dev
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 +0 -2
- package/dist/index.js +0 -2
- package/dist/stake.d.ts +1 -9
- package/dist/stake.js +4 -10
- package/dist/trade.d.ts +92 -33
- package/dist/trade.js +277 -92
- package/dist/types/idl_triad_protocol.json +449 -605
- package/dist/types/trade.d.ts +76 -25
- package/dist/types/trade.js +25 -1
- package/dist/types/triad_protocol.d.ts +415 -629
- package/dist/utils/constants.d.ts +1 -0
- package/dist/utils/constants.js +2 -1
- package/dist/utils/helpers.d.ts +32 -3
- package/dist/utils/helpers.js +73 -18
- package/package.json +1 -1
- package/dist/local-test/index.d.ts +0 -1
- package/dist/local-test/index.js +0 -528
- package/dist/local-test/init-market.d.ts +0 -8
- package/dist/local-test/init-market.js +0 -63
- package/dist/local-test/simulate-market.d.ts +0 -54
- package/dist/local-test/simulate-market.js +0 -156
- package/dist/wheel.d.ts +0 -62
- package/dist/wheel.js +0 -149
package/dist/index.d.ts
CHANGED
|
@@ -4,13 +4,11 @@ import { TriadProtocol } from './types/triad_protocol';
|
|
|
4
4
|
import Trade from './trade';
|
|
5
5
|
import Stake from './stake';
|
|
6
6
|
import { RpcOptions, TransferPoseidonArgs } from './types';
|
|
7
|
-
import Wheel from './wheel';
|
|
8
7
|
export default class TriadProtocolClient {
|
|
9
8
|
program: Program<TriadProtocol>;
|
|
10
9
|
provider: AnchorProvider;
|
|
11
10
|
trade: Trade;
|
|
12
11
|
stake: Stake;
|
|
13
|
-
wheel: Wheel;
|
|
14
12
|
constructor(connection: Connection, wallet: Wallet);
|
|
15
13
|
/**
|
|
16
14
|
* Transfer Poseidon
|
package/dist/index.js
CHANGED
|
@@ -20,7 +20,6 @@ const stake_1 = __importDefault(require("./stake"));
|
|
|
20
20
|
const sendVersionedTransaction_1 = __importDefault(require("./utils/sendVersionedTransaction"));
|
|
21
21
|
const constants_1 = require("./utils/constants");
|
|
22
22
|
const sendTransactionWithOptions_1 = __importDefault(require("./utils/sendTransactionWithOptions"));
|
|
23
|
-
const wheel_1 = __importDefault(require("./wheel"));
|
|
24
23
|
class TriadProtocolClient {
|
|
25
24
|
constructor(connection, wallet) {
|
|
26
25
|
this.provider = new anchor_1.AnchorProvider(connection, wallet, {
|
|
@@ -29,7 +28,6 @@ class TriadProtocolClient {
|
|
|
29
28
|
this.program = new anchor_1.Program(idl_triad_protocol_json_1.default, this.provider);
|
|
30
29
|
this.trade = new trade_1.default(this.program, this.provider);
|
|
31
30
|
this.stake = new stake_1.default(this.program, this.provider);
|
|
32
|
-
this.wheel = new wheel_1.default(this.program, this.provider);
|
|
33
31
|
}
|
|
34
32
|
/**
|
|
35
33
|
* Transfer Poseidon
|
package/dist/stake.d.ts
CHANGED
|
@@ -72,20 +72,12 @@ export default class Stake {
|
|
|
72
72
|
* Claim Stake Rewards
|
|
73
73
|
* @param args.wallet - User wallet
|
|
74
74
|
* @param args.collections - NFT collections
|
|
75
|
-
* @param args.ranks - Tensor ranks
|
|
76
75
|
* @param args.verifier - Verifier
|
|
77
76
|
*
|
|
78
77
|
* @param options - RPC options
|
|
79
78
|
*
|
|
80
79
|
*/
|
|
81
|
-
claimStakeRewards({ wallet
|
|
80
|
+
claimStakeRewards({ wallet }: {
|
|
82
81
|
wallet: PublicKey;
|
|
83
|
-
collections: number;
|
|
84
|
-
ranks: {
|
|
85
|
-
onchainId: string;
|
|
86
|
-
name: string;
|
|
87
|
-
rarityRankHrtt: number;
|
|
88
|
-
}[];
|
|
89
|
-
verifier: string;
|
|
90
82
|
}, options?: RpcOptions): Promise<string>;
|
|
91
83
|
}
|
package/dist/stake.js
CHANGED
|
@@ -18,7 +18,6 @@ const stake_1 = require("./utils/pda/stake");
|
|
|
18
18
|
const constants_1 = require("./utils/constants");
|
|
19
19
|
const sendVersionedTransaction_1 = __importDefault(require("./utils/sendVersionedTransaction"));
|
|
20
20
|
const sendTransactionWithOptions_1 = __importDefault(require("./utils/sendTransactionWithOptions"));
|
|
21
|
-
const convertSecretKeyToKeypair_1 = require("./utils/convertSecretKeyToKeypair");
|
|
22
21
|
class Stake {
|
|
23
22
|
constructor(program, provider) {
|
|
24
23
|
this.program = program;
|
|
@@ -175,13 +174,12 @@ class Stake {
|
|
|
175
174
|
* Claim Stake Rewards
|
|
176
175
|
* @param args.wallet - User wallet
|
|
177
176
|
* @param args.collections - NFT collections
|
|
178
|
-
* @param args.ranks - Tensor ranks
|
|
179
177
|
* @param args.verifier - Verifier
|
|
180
178
|
*
|
|
181
179
|
* @param options - RPC options
|
|
182
180
|
*
|
|
183
181
|
*/
|
|
184
|
-
claimStakeRewards({ wallet
|
|
182
|
+
claimStakeRewards({ wallet }, options) {
|
|
185
183
|
return __awaiter(this, void 0, void 0, function* () {
|
|
186
184
|
const stakes = (yield this.getUserStakes(wallet)).sort((a, b) => a.claimedTs - b.claimedTs);
|
|
187
185
|
const ixs = [];
|
|
@@ -199,20 +197,16 @@ class Stake {
|
|
|
199
197
|
const stakeVaultPDA = (0, stake_1.getStakeVaultPDA)(this.program.programId, constants_1.STAKE_VAULT_NAME);
|
|
200
198
|
const stakePDA = (0, stake_1.getStakePDA)(this.program.programId, wallet, stake.name);
|
|
201
199
|
ixs.push(yield this.program.methods
|
|
202
|
-
.claimStakeRewards(
|
|
203
|
-
collections,
|
|
204
|
-
rank: 963
|
|
205
|
-
})
|
|
200
|
+
.claimStakeRewards()
|
|
206
201
|
.accounts({
|
|
207
202
|
signer: wallet,
|
|
208
203
|
mint: constants_1.TRD_MINT,
|
|
209
204
|
stake: stakePDA,
|
|
210
|
-
stakeVault: stakeVaultPDA
|
|
211
|
-
verifier: constants_1.VERIFIER
|
|
205
|
+
stakeVault: stakeVaultPDA
|
|
212
206
|
})
|
|
213
207
|
.instruction());
|
|
214
208
|
}
|
|
215
|
-
return (0, sendVersionedTransaction_1.default)(this.provider, ixs, options
|
|
209
|
+
return (0, sendVersionedTransaction_1.default)(this.provider, ixs, options);
|
|
216
210
|
});
|
|
217
211
|
}
|
|
218
212
|
}
|
package/dist/trade.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { AnchorProvider, Program } from '@coral-xyz/anchor';
|
|
2
2
|
import { TriadProtocol } from './types/triad_protocol';
|
|
3
3
|
import { PublicKey } from '@solana/web3.js';
|
|
4
|
-
import { InitializeMarketArgs,
|
|
4
|
+
import { InitializeMarketArgs, PlaceOrderArgs, UpdateMarketArgs, CreateCustomerArgs, UserTrade, OpenOrderArgs } from './types/trade';
|
|
5
5
|
import { RpcOptions } from './types';
|
|
6
6
|
import BN from 'bn.js';
|
|
7
7
|
export default class Trade {
|
|
8
8
|
private program;
|
|
9
9
|
private provider;
|
|
10
|
+
mint: PublicKey;
|
|
11
|
+
decimals: number;
|
|
10
12
|
constructor(program: Program<TriadProtocol>, provider: AnchorProvider);
|
|
11
13
|
/**
|
|
12
14
|
* Get All Markets
|
|
@@ -25,6 +27,21 @@ export default class Trade {
|
|
|
25
27
|
*
|
|
26
28
|
*/
|
|
27
29
|
getUserOrders(user: PublicKey): Promise<import("./types/trade").Order[]>;
|
|
30
|
+
/**
|
|
31
|
+
* Get Orders By Market ID
|
|
32
|
+
* @param marketId - The ID of the market
|
|
33
|
+
*
|
|
34
|
+
*/
|
|
35
|
+
getLimitOrdersByMarketId(marketId: number): Promise<{
|
|
36
|
+
hype: {
|
|
37
|
+
bid: any[];
|
|
38
|
+
ask: any[];
|
|
39
|
+
};
|
|
40
|
+
flop: {
|
|
41
|
+
bid: any[];
|
|
42
|
+
ask: any[];
|
|
43
|
+
};
|
|
44
|
+
}>;
|
|
28
45
|
/**
|
|
29
46
|
* Get Market By ID
|
|
30
47
|
* @param marketId - The ID of the market
|
|
@@ -52,13 +69,14 @@ export default class Trade {
|
|
|
52
69
|
orders: {
|
|
53
70
|
ts: BN;
|
|
54
71
|
orderId: BN;
|
|
55
|
-
|
|
72
|
+
filledShares: BN;
|
|
56
73
|
marketId: BN;
|
|
57
74
|
status: ({
|
|
58
75
|
open?: never;
|
|
59
76
|
closed?: never;
|
|
60
77
|
claimed?: never;
|
|
61
78
|
liquidated?: never;
|
|
79
|
+
waiting?: never;
|
|
62
80
|
} & {
|
|
63
81
|
init: Record<string, never>;
|
|
64
82
|
}) | ({
|
|
@@ -66,6 +84,7 @@ export default class Trade {
|
|
|
66
84
|
closed?: never;
|
|
67
85
|
claimed?: never;
|
|
68
86
|
liquidated?: never;
|
|
87
|
+
waiting?: never;
|
|
69
88
|
} & {
|
|
70
89
|
open: Record<string, never>;
|
|
71
90
|
}) | ({
|
|
@@ -73,6 +92,7 @@ export default class Trade {
|
|
|
73
92
|
open?: never;
|
|
74
93
|
claimed?: never;
|
|
75
94
|
liquidated?: never;
|
|
95
|
+
waiting?: never;
|
|
76
96
|
} & {
|
|
77
97
|
closed: Record<string, never>;
|
|
78
98
|
}) | ({
|
|
@@ -80,6 +100,7 @@ export default class Trade {
|
|
|
80
100
|
open?: never;
|
|
81
101
|
closed?: never;
|
|
82
102
|
liquidated?: never;
|
|
103
|
+
waiting?: never;
|
|
83
104
|
} & {
|
|
84
105
|
claimed: Record<string, never>;
|
|
85
106
|
}) | ({
|
|
@@ -87,12 +108,21 @@ export default class Trade {
|
|
|
87
108
|
open?: never;
|
|
88
109
|
closed?: never;
|
|
89
110
|
claimed?: never;
|
|
111
|
+
waiting?: never;
|
|
90
112
|
} & {
|
|
91
113
|
liquidated: Record<string, never>;
|
|
114
|
+
}) | ({
|
|
115
|
+
init?: never;
|
|
116
|
+
open?: never;
|
|
117
|
+
closed?: never;
|
|
118
|
+
claimed?: never;
|
|
119
|
+
liquidated?: never;
|
|
120
|
+
} & {
|
|
121
|
+
waiting: Record<string, never>;
|
|
92
122
|
});
|
|
93
123
|
price: BN;
|
|
94
|
-
|
|
95
|
-
|
|
124
|
+
amount: BN;
|
|
125
|
+
shares: BN;
|
|
96
126
|
orderType: ({
|
|
97
127
|
limit?: never;
|
|
98
128
|
} & {
|
|
@@ -102,7 +132,7 @@ export default class Trade {
|
|
|
102
132
|
} & {
|
|
103
133
|
limit: Record<string, never>;
|
|
104
134
|
});
|
|
105
|
-
|
|
135
|
+
orderDirection: ({
|
|
106
136
|
flop?: never;
|
|
107
137
|
} & {
|
|
108
138
|
hype: Record<string, never>;
|
|
@@ -112,14 +142,25 @@ export default class Trade {
|
|
|
112
142
|
flop: Record<string, never>;
|
|
113
143
|
});
|
|
114
144
|
userNonce: number;
|
|
145
|
+
orderSide: ({
|
|
146
|
+
ask?: never;
|
|
147
|
+
} & {
|
|
148
|
+
bid: Record<string, never>;
|
|
149
|
+
}) | ({
|
|
150
|
+
bid?: never;
|
|
151
|
+
} & {
|
|
152
|
+
ask: Record<string, never>;
|
|
153
|
+
});
|
|
154
|
+
linkedOrderId: BN;
|
|
115
155
|
padding: number[];
|
|
116
156
|
}[];
|
|
117
157
|
nonce: number;
|
|
118
158
|
isSubUser: boolean;
|
|
159
|
+
poseidon: number;
|
|
119
160
|
padding: number[];
|
|
120
161
|
}>;
|
|
121
162
|
/**
|
|
122
|
-
*
|
|
163
|
+
* Create Market
|
|
123
164
|
* @param args.marketId - new markert id - length + 1
|
|
124
165
|
* @param args.startTime - start time
|
|
125
166
|
* @param args.endTime - end time
|
|
@@ -128,7 +169,7 @@ export default class Trade {
|
|
|
128
169
|
* @param options - RPC options
|
|
129
170
|
*
|
|
130
171
|
*/
|
|
131
|
-
|
|
172
|
+
createMarket({ marketId, startTime, endTime, question, feeBps, customer }: InitializeMarketArgs, options?: RpcOptions): Promise<string>;
|
|
132
173
|
/**
|
|
133
174
|
* Get User Trade Nonce With Slots
|
|
134
175
|
* @param userTrades - User Trades
|
|
@@ -136,18 +177,20 @@ export default class Trade {
|
|
|
136
177
|
*/
|
|
137
178
|
getUserTradeNonceWithSlots(userTrades: UserTrade[]): Promise<PublicKey>;
|
|
138
179
|
/**
|
|
139
|
-
*
|
|
180
|
+
* Place Order
|
|
140
181
|
* @param args.marketId - The ID of the Market
|
|
141
182
|
* @param args.amount - The amount of the Order
|
|
142
183
|
* @param args.direction - The direction of the Order
|
|
143
|
-
* @param args.
|
|
184
|
+
* @param args.orderSide - The side of the Order
|
|
185
|
+
* @param args.mint - The mint of the Order
|
|
186
|
+
* @param args.price - The price of the Order
|
|
144
187
|
*
|
|
145
188
|
* @param options - RPC options
|
|
146
189
|
*
|
|
147
190
|
*/
|
|
148
|
-
|
|
191
|
+
placeOrder({ marketId, amount, direction, orderSide, mint, price }: PlaceOrderArgs, options?: RpcOptions): Promise<string>;
|
|
149
192
|
/**
|
|
150
|
-
*
|
|
193
|
+
* Cancel Order
|
|
151
194
|
* @param args.marketId - The ID of the Market
|
|
152
195
|
* @param args.orderId - The ID of the Order
|
|
153
196
|
* @param args.userNonce - The nonce of the user
|
|
@@ -155,31 +198,11 @@ export default class Trade {
|
|
|
155
198
|
* @param options - RPC options
|
|
156
199
|
*
|
|
157
200
|
*/
|
|
158
|
-
|
|
201
|
+
cancelOrder({ marketId, orderId, userNonce }: {
|
|
159
202
|
marketId: number;
|
|
160
203
|
orderId: number;
|
|
161
204
|
userNonce: number;
|
|
162
205
|
}, options?: RpcOptions): Promise<string>;
|
|
163
|
-
/**
|
|
164
|
-
* Resolve Market
|
|
165
|
-
* @param args.marketId - The ID of the Market
|
|
166
|
-
* @param args.winningDirection - The Winning Direction of the Market
|
|
167
|
-
*
|
|
168
|
-
* @param options - RPC options
|
|
169
|
-
*
|
|
170
|
-
*/
|
|
171
|
-
resolveMarket({ marketId, winningDirection }: {
|
|
172
|
-
marketId: number;
|
|
173
|
-
winningDirection: {
|
|
174
|
-
hype: {};
|
|
175
|
-
} | {
|
|
176
|
-
flop: {};
|
|
177
|
-
} | {
|
|
178
|
-
none: {};
|
|
179
|
-
} | {
|
|
180
|
-
draw: {};
|
|
181
|
-
};
|
|
182
|
-
}, options?: RpcOptions): Promise<string>;
|
|
183
206
|
/**
|
|
184
207
|
* Collect Remaining Liquidity
|
|
185
208
|
* @param marketId - The ID of the market
|
|
@@ -222,9 +245,45 @@ export default class Trade {
|
|
|
222
245
|
* Update Market
|
|
223
246
|
* @param marketId - The ID of the market
|
|
224
247
|
* @param marketEnd - The end time of the market
|
|
248
|
+
* @param winningDirection - The winning direction of the market
|
|
249
|
+
*
|
|
250
|
+
* @param options - RPC options
|
|
251
|
+
*
|
|
252
|
+
*/
|
|
253
|
+
updateMarket({ marketId, marketEnd, winningDirection }: UpdateMarketArgs, options?: RpcOptions): Promise<string>;
|
|
254
|
+
/**
|
|
255
|
+
* Create Customer
|
|
256
|
+
* @param args.id - The ID of the customer
|
|
257
|
+
* @param args.name - The name of the customer
|
|
258
|
+
* @param args.authority - The authority of the customer
|
|
259
|
+
* @param args.shadowStorage - The shadow storage of the customer
|
|
260
|
+
*
|
|
261
|
+
* @param options - RPC options
|
|
262
|
+
*
|
|
263
|
+
*/
|
|
264
|
+
createCustomer({ id, name, authority, shadowStorage }: CreateCustomerArgs, options?: RpcOptions): Promise<string>;
|
|
265
|
+
/**
|
|
266
|
+
* Open Order
|
|
267
|
+
* @param args.marketId - The ID of the Market
|
|
268
|
+
* @param args.amount - The amount of the Order
|
|
269
|
+
* @param args.direction - The direction of the Order
|
|
225
270
|
*
|
|
226
271
|
* @param options - RPC options
|
|
227
272
|
*
|
|
228
273
|
*/
|
|
229
|
-
|
|
274
|
+
openOrder({ marketId, amount, direction }: OpenOrderArgs, options?: RpcOptions): Promise<string>;
|
|
275
|
+
/**
|
|
276
|
+
* Close Order
|
|
277
|
+
* @param args.marketId - The ID of the Market
|
|
278
|
+
* @param args.orderId - The ID of the Order
|
|
279
|
+
* @param args.userNonce - The nonce of the user
|
|
280
|
+
*
|
|
281
|
+
* @param options - RPC options
|
|
282
|
+
*
|
|
283
|
+
*/
|
|
284
|
+
closeOrder({ marketId, orderId, userNonce }: {
|
|
285
|
+
marketId: number;
|
|
286
|
+
orderId: number;
|
|
287
|
+
userNonce: number;
|
|
288
|
+
}, options?: RpcOptions): Promise<string>;
|
|
230
289
|
}
|