@triadxyz/triad-protocol 4.1.6 → 4.1.8
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 +14 -2
- package/dist/index.js +80 -34
- package/dist/types/idl_triad_protocol.json +133 -0
- package/dist/types/index.d.ts +14 -9
- package/dist/types/triad_protocol.d.ts +191 -0
- package/dist/utils/feeCalculator.js +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -117,8 +117,9 @@ export default class TriadProtocol {
|
|
|
117
117
|
* @param args.marketId - The ID of the Market
|
|
118
118
|
* @param args.winningDirection - The Winning Direction of the Market
|
|
119
119
|
* @param args.poolId - The ID of the Pool
|
|
120
|
+
* @param args.withPayout - Whether to allow the market to payout
|
|
120
121
|
*/
|
|
121
|
-
updateMarketWinningDirection({
|
|
122
|
+
updateMarketWinningDirection({ markets }: UpdateMarketWinningDirectionArgs): Promise<string | import("@solana/web3.js").VersionedTransaction>;
|
|
122
123
|
/**
|
|
123
124
|
* Update Market Payout
|
|
124
125
|
* @param args.marketId - The ID of the market
|
|
@@ -158,6 +159,17 @@ export default class TriadProtocol {
|
|
|
158
159
|
id: number;
|
|
159
160
|
authority: PublicKey;
|
|
160
161
|
}[]): Promise<string | import("@solana/web3.js").VersionedTransaction>;
|
|
162
|
+
/**
|
|
163
|
+
* Close IDLE Market
|
|
164
|
+
* @param markets.id - Market ID
|
|
165
|
+
* @param markets.authority - Market authority
|
|
166
|
+
* @param markets.mint - Market mint
|
|
167
|
+
*/
|
|
168
|
+
closeIdleMarket(markets: {
|
|
169
|
+
id: number;
|
|
170
|
+
authority: PublicKey;
|
|
171
|
+
mint: PublicKey;
|
|
172
|
+
}[]): Promise<string | import("@solana/web3.js").VersionedTransaction>;
|
|
161
173
|
/**
|
|
162
174
|
* Update Pool Question
|
|
163
175
|
* @param poolId - Pool ID
|
|
@@ -172,7 +184,7 @@ export default class TriadProtocol {
|
|
|
172
184
|
* @param args.customer - The customer of the market
|
|
173
185
|
* @param args.poolId - The ID of the pool
|
|
174
186
|
*/
|
|
175
|
-
createMarketPyth({
|
|
187
|
+
createMarketPyth({ markets }: CreateMarketPythArgs): Promise<string | import("@solana/web3.js").VersionedTransaction>;
|
|
176
188
|
/**
|
|
177
189
|
* Burn Triad
|
|
178
190
|
* @param amount - Amount to burn
|
package/dist/index.js
CHANGED
|
@@ -198,8 +198,17 @@ class TriadProtocol {
|
|
|
198
198
|
*/
|
|
199
199
|
nextMarketId() {
|
|
200
200
|
return __awaiter(this, void 0, void 0, function* () {
|
|
201
|
-
|
|
202
|
-
|
|
201
|
+
let validId = null;
|
|
202
|
+
while (!validId) {
|
|
203
|
+
const marketId = Math.floor(Math.random() * 1000000000000000);
|
|
204
|
+
try {
|
|
205
|
+
yield this.program.account.marketV2.fetch((0, pda_1.getMarketPDA)(this.program.programId, marketId));
|
|
206
|
+
}
|
|
207
|
+
catch (_a) {
|
|
208
|
+
validId = marketId;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
return validId;
|
|
203
212
|
});
|
|
204
213
|
}
|
|
205
214
|
/**
|
|
@@ -340,19 +349,32 @@ class TriadProtocol {
|
|
|
340
349
|
* @param args.marketId - The ID of the Market
|
|
341
350
|
* @param args.winningDirection - The Winning Direction of the Market
|
|
342
351
|
* @param args.poolId - The ID of the Pool
|
|
352
|
+
* @param args.withPayout - Whether to allow the market to payout
|
|
343
353
|
*/
|
|
344
|
-
updateMarketWinningDirection({
|
|
354
|
+
updateMarketWinningDirection({ markets }) {
|
|
345
355
|
return __awaiter(this, void 0, void 0, function* () {
|
|
346
|
-
const ixs = [
|
|
347
|
-
|
|
348
|
-
|
|
356
|
+
const ixs = [];
|
|
357
|
+
for (const market of markets) {
|
|
358
|
+
ixs.push(yield this.program.methods
|
|
359
|
+
.updateMarketWinningDirection(market.winningDirection)
|
|
349
360
|
.accounts({
|
|
350
361
|
signer: this.program.provider.publicKey,
|
|
351
|
-
market: (0, pda_1.getMarketPDA)(this.program.programId, marketId),
|
|
352
|
-
pool:
|
|
362
|
+
market: (0, pda_1.getMarketPDA)(this.program.programId, market.marketId),
|
|
363
|
+
pool: market.poolId
|
|
364
|
+
? (0, pda_1.getPoolPDA)(this.program.programId, market.poolId)
|
|
365
|
+
: null
|
|
353
366
|
})
|
|
354
|
-
.instruction()
|
|
355
|
-
|
|
367
|
+
.instruction());
|
|
368
|
+
if (market.withPayout) {
|
|
369
|
+
ixs.push(yield this.program.methods
|
|
370
|
+
.updateMarketPayout(true)
|
|
371
|
+
.accounts({
|
|
372
|
+
signer: this.program.provider.publicKey,
|
|
373
|
+
market: (0, pda_1.getMarketPDA)(this.program.programId, market.marketId)
|
|
374
|
+
})
|
|
375
|
+
.instruction());
|
|
376
|
+
}
|
|
377
|
+
}
|
|
356
378
|
return (0, sendVersionedTransaction_1.default)(this.program, ixs, this.rpcOptions);
|
|
357
379
|
});
|
|
358
380
|
}
|
|
@@ -458,6 +480,28 @@ class TriadProtocol {
|
|
|
458
480
|
return (0, sendVersionedTransaction_1.default)(this.program, ixs, this.rpcOptions);
|
|
459
481
|
});
|
|
460
482
|
}
|
|
483
|
+
/**
|
|
484
|
+
* Close IDLE Market
|
|
485
|
+
* @param markets.id - Market ID
|
|
486
|
+
* @param markets.authority - Market authority
|
|
487
|
+
* @param markets.mint - Market mint
|
|
488
|
+
*/
|
|
489
|
+
closeIdleMarket(markets) {
|
|
490
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
491
|
+
const ixs = [];
|
|
492
|
+
for (const market of markets) {
|
|
493
|
+
ixs.push(yield this.program.methods
|
|
494
|
+
.closeIdleMarket(new bn_js_1.default(market.id))
|
|
495
|
+
.accounts({
|
|
496
|
+
signer: this.program.provider.publicKey,
|
|
497
|
+
mint: market.mint,
|
|
498
|
+
tokenProgram: (0, helpers_1.getTokenProgram)(market.mint)
|
|
499
|
+
})
|
|
500
|
+
.instruction());
|
|
501
|
+
}
|
|
502
|
+
return (0, sendVersionedTransaction_1.default)(this.program, ixs, this.rpcOptions);
|
|
503
|
+
});
|
|
504
|
+
}
|
|
461
505
|
/**
|
|
462
506
|
* Update Pool Question
|
|
463
507
|
* @param poolId - Pool ID
|
|
@@ -485,32 +529,34 @@ class TriadProtocol {
|
|
|
485
529
|
* @param args.customer - The customer of the market
|
|
486
530
|
* @param args.poolId - The ID of the pool
|
|
487
531
|
*/
|
|
488
|
-
createMarketPyth({
|
|
532
|
+
createMarketPyth({ markets }) {
|
|
489
533
|
return __awaiter(this, void 0, void 0, function* () {
|
|
490
534
|
const ixs = [];
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
.
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
.
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
535
|
+
for (const market of markets) {
|
|
536
|
+
let poolPDA = (0, pda_1.getPoolPDA)(this.program.programId, market.poolId);
|
|
537
|
+
const feedPDA = (0, helpers_2.getPriceFeedAccountForProgram)(market.feedId);
|
|
538
|
+
ixs.push(yield this.program.methods
|
|
539
|
+
.createMarketPyth({
|
|
540
|
+
marketId: new bn_js_1.default(market.marketId),
|
|
541
|
+
resolveIn: new bn_js_1.default(market.resolveIn),
|
|
542
|
+
direction: market.direction
|
|
543
|
+
})
|
|
544
|
+
.accounts({
|
|
545
|
+
signer: this.program.provider.publicKey,
|
|
546
|
+
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
|
547
|
+
pool: poolPDA,
|
|
548
|
+
customer: market.customer,
|
|
549
|
+
priceUpdate: feedPDA
|
|
550
|
+
})
|
|
551
|
+
.instruction());
|
|
552
|
+
ixs.push(yield this.program.methods
|
|
553
|
+
.createOrderBook(new bn_js_1.default(market.marketId))
|
|
554
|
+
.accounts({
|
|
555
|
+
signer: this.program.provider.publicKey,
|
|
556
|
+
market: (0, pda_1.getMarketPDA)(this.program.programId, market.marketId)
|
|
557
|
+
})
|
|
558
|
+
.instruction());
|
|
559
|
+
}
|
|
514
560
|
return (0, sendVersionedTransaction_1.default)(this.program, ixs, this.rpcOptions);
|
|
515
561
|
});
|
|
516
562
|
}
|
|
@@ -474,6 +474,129 @@
|
|
|
474
474
|
],
|
|
475
475
|
"args": []
|
|
476
476
|
},
|
|
477
|
+
{
|
|
478
|
+
"name": "close_idle_market",
|
|
479
|
+
"discriminator": [249, 217, 214, 137, 20, 38, 112, 154],
|
|
480
|
+
"accounts": [
|
|
481
|
+
{
|
|
482
|
+
"name": "signer",
|
|
483
|
+
"writable": true,
|
|
484
|
+
"signer": true
|
|
485
|
+
},
|
|
486
|
+
{
|
|
487
|
+
"name": "squads",
|
|
488
|
+
"writable": true,
|
|
489
|
+
"address": "Hk1r2NUL4LbUhx1agg1w44tyZiNr72mbeLsg6suF5MA4"
|
|
490
|
+
},
|
|
491
|
+
{
|
|
492
|
+
"name": "market",
|
|
493
|
+
"writable": true,
|
|
494
|
+
"pda": {
|
|
495
|
+
"seeds": [
|
|
496
|
+
{
|
|
497
|
+
"kind": "const",
|
|
498
|
+
"value": [109, 97, 114, 107, 101, 116]
|
|
499
|
+
},
|
|
500
|
+
{
|
|
501
|
+
"kind": "arg",
|
|
502
|
+
"path": "market_id"
|
|
503
|
+
}
|
|
504
|
+
]
|
|
505
|
+
}
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
"name": "mint"
|
|
509
|
+
},
|
|
510
|
+
{
|
|
511
|
+
"name": "market_to_ata",
|
|
512
|
+
"writable": true,
|
|
513
|
+
"pda": {
|
|
514
|
+
"seeds": [
|
|
515
|
+
{
|
|
516
|
+
"kind": "account",
|
|
517
|
+
"path": "market"
|
|
518
|
+
},
|
|
519
|
+
{
|
|
520
|
+
"kind": "account",
|
|
521
|
+
"path": "token_program"
|
|
522
|
+
},
|
|
523
|
+
{
|
|
524
|
+
"kind": "account",
|
|
525
|
+
"path": "mint"
|
|
526
|
+
}
|
|
527
|
+
],
|
|
528
|
+
"program": {
|
|
529
|
+
"kind": "const",
|
|
530
|
+
"value": [
|
|
531
|
+
140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,
|
|
532
|
+
13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,
|
|
533
|
+
219, 233, 248, 89
|
|
534
|
+
]
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
},
|
|
538
|
+
{
|
|
539
|
+
"name": "squads_ata",
|
|
540
|
+
"writable": true,
|
|
541
|
+
"pda": {
|
|
542
|
+
"seeds": [
|
|
543
|
+
{
|
|
544
|
+
"kind": "account",
|
|
545
|
+
"path": "squads"
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
"kind": "account",
|
|
549
|
+
"path": "token_program"
|
|
550
|
+
},
|
|
551
|
+
{
|
|
552
|
+
"kind": "account",
|
|
553
|
+
"path": "mint"
|
|
554
|
+
}
|
|
555
|
+
],
|
|
556
|
+
"program": {
|
|
557
|
+
"kind": "const",
|
|
558
|
+
"value": [
|
|
559
|
+
140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,
|
|
560
|
+
13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,
|
|
561
|
+
219, 233, 248, 89
|
|
562
|
+
]
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
},
|
|
566
|
+
{
|
|
567
|
+
"name": "order_book",
|
|
568
|
+
"pda": {
|
|
569
|
+
"seeds": [
|
|
570
|
+
{
|
|
571
|
+
"kind": "const",
|
|
572
|
+
"value": [111, 114, 100, 101, 114, 95, 98, 111, 111, 107]
|
|
573
|
+
},
|
|
574
|
+
{
|
|
575
|
+
"kind": "arg",
|
|
576
|
+
"path": "market_id"
|
|
577
|
+
}
|
|
578
|
+
]
|
|
579
|
+
}
|
|
580
|
+
},
|
|
581
|
+
{
|
|
582
|
+
"name": "token_program"
|
|
583
|
+
},
|
|
584
|
+
{
|
|
585
|
+
"name": "associated_token_program",
|
|
586
|
+
"address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
"name": "system_program",
|
|
590
|
+
"address": "11111111111111111111111111111111"
|
|
591
|
+
}
|
|
592
|
+
],
|
|
593
|
+
"args": [
|
|
594
|
+
{
|
|
595
|
+
"name": "market_id",
|
|
596
|
+
"type": "u64"
|
|
597
|
+
}
|
|
598
|
+
]
|
|
599
|
+
},
|
|
477
600
|
{
|
|
478
601
|
"name": "close_order_book",
|
|
479
602
|
"discriminator": [219, 134, 73, 219, 180, 7, 94, 206],
|
|
@@ -2591,6 +2714,16 @@
|
|
|
2591
2714
|
"code": 6027,
|
|
2592
2715
|
"name": "InvalidQuestion",
|
|
2593
2716
|
"msg": "Invalid Question"
|
|
2717
|
+
},
|
|
2718
|
+
{
|
|
2719
|
+
"code": 6028,
|
|
2720
|
+
"name": "MarketNotIdle",
|
|
2721
|
+
"msg": "Market Not Idle"
|
|
2722
|
+
},
|
|
2723
|
+
{
|
|
2724
|
+
"code": 6029,
|
|
2725
|
+
"name": "OrderBookStillExists",
|
|
2726
|
+
"msg": "Order Book still exists"
|
|
2594
2727
|
}
|
|
2595
2728
|
],
|
|
2596
2729
|
"types": [
|
package/dist/types/index.d.ts
CHANGED
|
@@ -156,12 +156,14 @@ export type CreateMarketArgs = {
|
|
|
156
156
|
poolId?: number;
|
|
157
157
|
};
|
|
158
158
|
export type CreateMarketPythArgs = {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
159
|
+
markets: {
|
|
160
|
+
marketId: number;
|
|
161
|
+
resolveIn: number;
|
|
162
|
+
customer: PublicKey;
|
|
163
|
+
poolId: number;
|
|
164
|
+
feedId: string;
|
|
165
|
+
direction: 'Above' | 'Below';
|
|
166
|
+
}[];
|
|
165
167
|
};
|
|
166
168
|
export type CreatePoolArgs = {
|
|
167
169
|
poolId: number;
|
|
@@ -180,9 +182,12 @@ export type CreatePoolArgs = {
|
|
|
180
182
|
feedId?: string;
|
|
181
183
|
};
|
|
182
184
|
export type UpdateMarketWinningDirectionArgs = {
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
185
|
+
markets: {
|
|
186
|
+
marketId: number;
|
|
187
|
+
winningDirection: WinningDirectionEncoded;
|
|
188
|
+
poolId?: number;
|
|
189
|
+
withPayout?: boolean;
|
|
190
|
+
}[];
|
|
186
191
|
};
|
|
187
192
|
export type UpdateMarketPayoutArgs = {
|
|
188
193
|
marketId: number;
|
|
@@ -707,6 +707,187 @@ export type TriadProtocol = {
|
|
|
707
707
|
];
|
|
708
708
|
args: [];
|
|
709
709
|
},
|
|
710
|
+
{
|
|
711
|
+
name: 'closeIdleMarket';
|
|
712
|
+
discriminator: [249, 217, 214, 137, 20, 38, 112, 154];
|
|
713
|
+
accounts: [
|
|
714
|
+
{
|
|
715
|
+
name: 'signer';
|
|
716
|
+
writable: true;
|
|
717
|
+
signer: true;
|
|
718
|
+
},
|
|
719
|
+
{
|
|
720
|
+
name: 'squads';
|
|
721
|
+
writable: true;
|
|
722
|
+
address: 'Hk1r2NUL4LbUhx1agg1w44tyZiNr72mbeLsg6suF5MA4';
|
|
723
|
+
},
|
|
724
|
+
{
|
|
725
|
+
name: 'market';
|
|
726
|
+
writable: true;
|
|
727
|
+
pda: {
|
|
728
|
+
seeds: [
|
|
729
|
+
{
|
|
730
|
+
kind: 'const';
|
|
731
|
+
value: [109, 97, 114, 107, 101, 116];
|
|
732
|
+
},
|
|
733
|
+
{
|
|
734
|
+
kind: 'arg';
|
|
735
|
+
path: 'marketId';
|
|
736
|
+
}
|
|
737
|
+
];
|
|
738
|
+
};
|
|
739
|
+
},
|
|
740
|
+
{
|
|
741
|
+
name: 'mint';
|
|
742
|
+
},
|
|
743
|
+
{
|
|
744
|
+
name: 'marketToAta';
|
|
745
|
+
writable: true;
|
|
746
|
+
pda: {
|
|
747
|
+
seeds: [
|
|
748
|
+
{
|
|
749
|
+
kind: 'account';
|
|
750
|
+
path: 'market';
|
|
751
|
+
},
|
|
752
|
+
{
|
|
753
|
+
kind: 'account';
|
|
754
|
+
path: 'tokenProgram';
|
|
755
|
+
},
|
|
756
|
+
{
|
|
757
|
+
kind: 'account';
|
|
758
|
+
path: 'mint';
|
|
759
|
+
}
|
|
760
|
+
];
|
|
761
|
+
program: {
|
|
762
|
+
kind: 'const';
|
|
763
|
+
value: [
|
|
764
|
+
140,
|
|
765
|
+
151,
|
|
766
|
+
37,
|
|
767
|
+
143,
|
|
768
|
+
78,
|
|
769
|
+
36,
|
|
770
|
+
137,
|
|
771
|
+
241,
|
|
772
|
+
187,
|
|
773
|
+
61,
|
|
774
|
+
16,
|
|
775
|
+
41,
|
|
776
|
+
20,
|
|
777
|
+
142,
|
|
778
|
+
13,
|
|
779
|
+
131,
|
|
780
|
+
11,
|
|
781
|
+
90,
|
|
782
|
+
19,
|
|
783
|
+
153,
|
|
784
|
+
218,
|
|
785
|
+
255,
|
|
786
|
+
16,
|
|
787
|
+
132,
|
|
788
|
+
4,
|
|
789
|
+
142,
|
|
790
|
+
123,
|
|
791
|
+
216,
|
|
792
|
+
219,
|
|
793
|
+
233,
|
|
794
|
+
248,
|
|
795
|
+
89
|
|
796
|
+
];
|
|
797
|
+
};
|
|
798
|
+
};
|
|
799
|
+
},
|
|
800
|
+
{
|
|
801
|
+
name: 'squadsAta';
|
|
802
|
+
writable: true;
|
|
803
|
+
pda: {
|
|
804
|
+
seeds: [
|
|
805
|
+
{
|
|
806
|
+
kind: 'account';
|
|
807
|
+
path: 'squads';
|
|
808
|
+
},
|
|
809
|
+
{
|
|
810
|
+
kind: 'account';
|
|
811
|
+
path: 'tokenProgram';
|
|
812
|
+
},
|
|
813
|
+
{
|
|
814
|
+
kind: 'account';
|
|
815
|
+
path: 'mint';
|
|
816
|
+
}
|
|
817
|
+
];
|
|
818
|
+
program: {
|
|
819
|
+
kind: 'const';
|
|
820
|
+
value: [
|
|
821
|
+
140,
|
|
822
|
+
151,
|
|
823
|
+
37,
|
|
824
|
+
143,
|
|
825
|
+
78,
|
|
826
|
+
36,
|
|
827
|
+
137,
|
|
828
|
+
241,
|
|
829
|
+
187,
|
|
830
|
+
61,
|
|
831
|
+
16,
|
|
832
|
+
41,
|
|
833
|
+
20,
|
|
834
|
+
142,
|
|
835
|
+
13,
|
|
836
|
+
131,
|
|
837
|
+
11,
|
|
838
|
+
90,
|
|
839
|
+
19,
|
|
840
|
+
153,
|
|
841
|
+
218,
|
|
842
|
+
255,
|
|
843
|
+
16,
|
|
844
|
+
132,
|
|
845
|
+
4,
|
|
846
|
+
142,
|
|
847
|
+
123,
|
|
848
|
+
216,
|
|
849
|
+
219,
|
|
850
|
+
233,
|
|
851
|
+
248,
|
|
852
|
+
89
|
|
853
|
+
];
|
|
854
|
+
};
|
|
855
|
+
};
|
|
856
|
+
},
|
|
857
|
+
{
|
|
858
|
+
name: 'orderBook';
|
|
859
|
+
pda: {
|
|
860
|
+
seeds: [
|
|
861
|
+
{
|
|
862
|
+
kind: 'const';
|
|
863
|
+
value: [111, 114, 100, 101, 114, 95, 98, 111, 111, 107];
|
|
864
|
+
},
|
|
865
|
+
{
|
|
866
|
+
kind: 'arg';
|
|
867
|
+
path: 'marketId';
|
|
868
|
+
}
|
|
869
|
+
];
|
|
870
|
+
};
|
|
871
|
+
},
|
|
872
|
+
{
|
|
873
|
+
name: 'tokenProgram';
|
|
874
|
+
},
|
|
875
|
+
{
|
|
876
|
+
name: 'associatedTokenProgram';
|
|
877
|
+
address: 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL';
|
|
878
|
+
},
|
|
879
|
+
{
|
|
880
|
+
name: 'systemProgram';
|
|
881
|
+
address: '11111111111111111111111111111111';
|
|
882
|
+
}
|
|
883
|
+
];
|
|
884
|
+
args: [
|
|
885
|
+
{
|
|
886
|
+
name: 'marketId';
|
|
887
|
+
type: 'u64';
|
|
888
|
+
}
|
|
889
|
+
];
|
|
890
|
+
},
|
|
710
891
|
{
|
|
711
892
|
name: 'closeOrderBook';
|
|
712
893
|
discriminator: [219, 134, 73, 219, 180, 7, 94, 206];
|
|
@@ -3537,6 +3718,16 @@ export type TriadProtocol = {
|
|
|
3537
3718
|
code: 6027;
|
|
3538
3719
|
name: 'invalidQuestion';
|
|
3539
3720
|
msg: 'Invalid Question';
|
|
3721
|
+
},
|
|
3722
|
+
{
|
|
3723
|
+
code: 6028;
|
|
3724
|
+
name: 'marketNotIdle';
|
|
3725
|
+
msg: 'Market Not Idle';
|
|
3726
|
+
},
|
|
3727
|
+
{
|
|
3728
|
+
code: 6029;
|
|
3729
|
+
name: 'orderBookStillExists';
|
|
3730
|
+
msg: 'Order Book still exists';
|
|
3540
3731
|
}
|
|
3541
3732
|
];
|
|
3542
3733
|
types: [
|
|
@@ -10,7 +10,7 @@ function calculateDynamicFeeBps(price, feeBps) {
|
|
|
10
10
|
if (internalPrice < 900000) {
|
|
11
11
|
return feeBps;
|
|
12
12
|
}
|
|
13
|
-
return Math.floor(((990000 - internalPrice) * 1900) /
|
|
13
|
+
return Math.max(Math.floor(((990000 - internalPrice) * 1900) / internalPrice), 90);
|
|
14
14
|
}
|
|
15
15
|
exports.calculateDynamicFeeBps = calculateDynamicFeeBps;
|
|
16
16
|
/**
|