@triadxyz/triad-protocol 0.1.0-alpha.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.
@@ -0,0 +1,631 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IDL = void 0;
4
+ exports.IDL = {
5
+ version: '0.1.0',
6
+ name: 'triad_protocol',
7
+ instructions: [
8
+ {
9
+ name: 'createUser',
10
+ accounts: [
11
+ {
12
+ name: 'signer',
13
+ isMut: true,
14
+ isSigner: true
15
+ },
16
+ {
17
+ name: 'user',
18
+ isMut: true,
19
+ isSigner: false
20
+ },
21
+ {
22
+ name: 'systemProgram',
23
+ isMut: false,
24
+ isSigner: false
25
+ }
26
+ ],
27
+ args: [
28
+ {
29
+ name: 'arg',
30
+ type: {
31
+ defined: 'CreateUserArgs'
32
+ }
33
+ }
34
+ ]
35
+ },
36
+ {
37
+ name: 'createTicker',
38
+ accounts: [
39
+ {
40
+ name: 'signer',
41
+ isMut: true,
42
+ isSigner: true
43
+ },
44
+ {
45
+ name: 'vault',
46
+ isMut: true,
47
+ isSigner: false
48
+ },
49
+ {
50
+ name: 'ticker',
51
+ isMut: true,
52
+ isSigner: false
53
+ },
54
+ {
55
+ name: 'systemProgram',
56
+ isMut: false,
57
+ isSigner: false
58
+ }
59
+ ],
60
+ args: [
61
+ {
62
+ name: 'arg',
63
+ type: {
64
+ defined: 'CreateTickerArgs'
65
+ }
66
+ }
67
+ ]
68
+ },
69
+ {
70
+ name: 'updateTickerPrice',
71
+ accounts: [
72
+ {
73
+ name: 'signer',
74
+ isMut: true,
75
+ isSigner: true
76
+ },
77
+ {
78
+ name: 'ticker',
79
+ isMut: true,
80
+ isSigner: false
81
+ },
82
+ {
83
+ name: 'systemProgram',
84
+ isMut: false,
85
+ isSigner: false
86
+ }
87
+ ],
88
+ args: [
89
+ {
90
+ name: 'args',
91
+ type: {
92
+ defined: 'UpdateTickerPriceArgs'
93
+ }
94
+ }
95
+ ]
96
+ },
97
+ {
98
+ name: 'createVault',
99
+ accounts: [
100
+ {
101
+ name: 'signer',
102
+ isMut: true,
103
+ isSigner: true
104
+ },
105
+ {
106
+ name: 'ticker',
107
+ isMut: true,
108
+ isSigner: false
109
+ },
110
+ {
111
+ name: 'vault',
112
+ isMut: true,
113
+ isSigner: false
114
+ },
115
+ {
116
+ name: 'payerTokenMint',
117
+ isMut: false,
118
+ isSigner: false
119
+ },
120
+ {
121
+ name: 'tokenAccount',
122
+ isMut: true,
123
+ isSigner: false
124
+ },
125
+ {
126
+ name: 'systemProgram',
127
+ isMut: false,
128
+ isSigner: false
129
+ },
130
+ {
131
+ name: 'tokenProgram',
132
+ isMut: false,
133
+ isSigner: false
134
+ }
135
+ ],
136
+ args: []
137
+ },
138
+ {
139
+ name: 'openPosition',
140
+ accounts: [
141
+ {
142
+ name: 'signer',
143
+ isMut: true,
144
+ isSigner: true
145
+ },
146
+ {
147
+ name: 'ticker',
148
+ isMut: true,
149
+ isSigner: false
150
+ },
151
+ {
152
+ name: 'vault',
153
+ isMut: true,
154
+ isSigner: false
155
+ },
156
+ {
157
+ name: 'user',
158
+ isMut: true,
159
+ isSigner: false
160
+ },
161
+ {
162
+ name: 'vaultTokenAccount',
163
+ isMut: true,
164
+ isSigner: false
165
+ },
166
+ {
167
+ name: 'userTokenAccount',
168
+ isMut: true,
169
+ isSigner: false
170
+ },
171
+ {
172
+ name: 'systemProgram',
173
+ isMut: false,
174
+ isSigner: false
175
+ },
176
+ {
177
+ name: 'tokenProgram',
178
+ isMut: false,
179
+ isSigner: false
180
+ }
181
+ ],
182
+ args: [
183
+ {
184
+ name: 'args',
185
+ type: {
186
+ defined: 'OpenPositionArgs'
187
+ }
188
+ }
189
+ ]
190
+ },
191
+ {
192
+ name: 'closePosition',
193
+ accounts: [
194
+ {
195
+ name: 'signer',
196
+ isMut: true,
197
+ isSigner: true
198
+ },
199
+ {
200
+ name: 'vault',
201
+ isMut: true,
202
+ isSigner: false
203
+ },
204
+ {
205
+ name: 'user',
206
+ isMut: true,
207
+ isSigner: false
208
+ },
209
+ {
210
+ name: 'vaultTokenAccount',
211
+ isMut: true,
212
+ isSigner: false
213
+ },
214
+ {
215
+ name: 'userTokenAccount',
216
+ isMut: true,
217
+ isSigner: false
218
+ },
219
+ {
220
+ name: 'systemProgram',
221
+ isMut: false,
222
+ isSigner: false
223
+ },
224
+ {
225
+ name: 'tokenProgram',
226
+ isMut: false,
227
+ isSigner: false
228
+ }
229
+ ],
230
+ args: [
231
+ {
232
+ name: 'args',
233
+ type: {
234
+ defined: 'ClosePositionArgs'
235
+ }
236
+ }
237
+ ]
238
+ }
239
+ ],
240
+ accounts: [
241
+ {
242
+ name: 'ticker',
243
+ type: {
244
+ kind: 'struct',
245
+ fields: [
246
+ {
247
+ name: 'initTs',
248
+ docs: ['timestamp of the creation of the ticker'],
249
+ type: 'i64'
250
+ },
251
+ {
252
+ name: 'updatedTs',
253
+ docs: ['timestamp of the last update of the ticker'],
254
+ type: 'i64'
255
+ },
256
+ {
257
+ name: 'bump',
258
+ docs: ['The bump for the ticker pda'],
259
+ type: 'u8'
260
+ },
261
+ {
262
+ name: 'authority',
263
+ docs: ['authority for the ticker'],
264
+ type: 'publicKey'
265
+ },
266
+ {
267
+ name: 'name',
268
+ docs: ['name of the ticekt'],
269
+ type: 'string'
270
+ },
271
+ {
272
+ name: 'protocolProgramId',
273
+ docs: [
274
+ 'protocol program id like dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH to get data info'
275
+ ],
276
+ type: 'publicKey'
277
+ },
278
+ {
279
+ name: 'price',
280
+ docs: ['ticker price'],
281
+ type: 'u64'
282
+ },
283
+ {
284
+ name: 'vault',
285
+ docs: ['Vault PDA'],
286
+ type: 'publicKey'
287
+ }
288
+ ]
289
+ }
290
+ },
291
+ {
292
+ name: 'user',
293
+ type: {
294
+ kind: 'struct',
295
+ fields: [
296
+ {
297
+ name: 'ts',
298
+ docs: ['timestamp'],
299
+ type: 'i64'
300
+ },
301
+ {
302
+ name: 'name',
303
+ docs: ["user's name"],
304
+ type: 'string'
305
+ },
306
+ {
307
+ name: 'bump',
308
+ docs: ['bump seed'],
309
+ type: 'u8'
310
+ },
311
+ {
312
+ name: 'authority',
313
+ docs: ["user's authority"],
314
+ type: 'publicKey'
315
+ },
316
+ {
317
+ name: 'referrer',
318
+ docs: ['referrer of the user'],
319
+ type: 'string'
320
+ },
321
+ {
322
+ name: 'community',
323
+ docs: ['community the user is part of'],
324
+ type: 'string'
325
+ },
326
+ {
327
+ name: 'netDeposits',
328
+ docs: ['lifetime net deposits of user'],
329
+ type: 'i64'
330
+ },
331
+ {
332
+ name: 'netWithdraws',
333
+ docs: ['lifetime net withdraws of user'],
334
+ type: 'i64'
335
+ },
336
+ {
337
+ name: 'totalDeposits',
338
+ docs: ['lifetime total deposits'],
339
+ type: 'u64'
340
+ },
341
+ {
342
+ name: 'totalWithdraws',
343
+ docs: ['lifetime total withdraws'],
344
+ type: 'u64'
345
+ },
346
+ {
347
+ name: 'lpShares',
348
+ docs: ['total available balance'],
349
+ type: 'u64'
350
+ }
351
+ ]
352
+ }
353
+ },
354
+ {
355
+ name: 'vault',
356
+ type: {
357
+ kind: 'struct',
358
+ fields: [
359
+ {
360
+ name: 'bump',
361
+ docs: ['The bump for the vault pda'],
362
+ type: 'u8'
363
+ },
364
+ {
365
+ name: 'authority',
366
+ docs: ['authority for the vault'],
367
+ type: 'publicKey'
368
+ },
369
+ {
370
+ name: 'name',
371
+ docs: ['name of the vault'],
372
+ type: 'string'
373
+ },
374
+ {
375
+ name: 'tokenAccount',
376
+ docs: ['token account for the vault e.g. tDRIFT'],
377
+ type: 'publicKey'
378
+ },
379
+ {
380
+ name: 'tickerAddress',
381
+ docs: ['ticker address'],
382
+ type: 'publicKey'
383
+ },
384
+ {
385
+ name: 'totalDeposits',
386
+ docs: ['lifetime total deposits'],
387
+ type: 'u64'
388
+ },
389
+ {
390
+ name: 'totalWithdraws',
391
+ docs: ['lifetime total withdraws'],
392
+ type: 'u64'
393
+ },
394
+ {
395
+ name: 'initTs',
396
+ docs: ['timestamp vault initialized'],
397
+ type: 'i64'
398
+ },
399
+ {
400
+ name: 'netDeposits',
401
+ docs: ['lifetime net deposits'],
402
+ type: 'u64'
403
+ },
404
+ {
405
+ name: 'netWithdraws',
406
+ docs: ['lifetime net withdraws'],
407
+ type: 'u64'
408
+ },
409
+ {
410
+ name: 'longBalance',
411
+ docs: ['Long bet balance'],
412
+ type: 'u64'
413
+ },
414
+ {
415
+ name: 'shortBalance',
416
+ docs: ['Short bet balance'],
417
+ type: 'u64'
418
+ },
419
+ {
420
+ name: 'longPositionsOpened',
421
+ docs: ['Opened long positions'],
422
+ type: 'u64'
423
+ },
424
+ {
425
+ name: 'shortPositionsOpened',
426
+ docs: ['Opened short positions'],
427
+ type: 'u64'
428
+ },
429
+ {
430
+ name: 'ticker',
431
+ docs: ['Ticker PDA'],
432
+ type: 'publicKey'
433
+ }
434
+ ]
435
+ }
436
+ }
437
+ ],
438
+ types: [
439
+ {
440
+ name: 'CreateTickerArgs',
441
+ type: {
442
+ kind: 'struct',
443
+ fields: [
444
+ {
445
+ name: 'name',
446
+ type: 'string'
447
+ },
448
+ {
449
+ name: 'protocolProgramId',
450
+ type: 'publicKey'
451
+ }
452
+ ]
453
+ }
454
+ },
455
+ {
456
+ name: 'UpdateTickerPriceArgs',
457
+ type: {
458
+ kind: 'struct',
459
+ fields: [
460
+ {
461
+ name: 'alphaApiKey',
462
+ type: {
463
+ array: ['u8', 64]
464
+ }
465
+ },
466
+ {
467
+ name: 'price',
468
+ type: 'u64'
469
+ }
470
+ ]
471
+ }
472
+ },
473
+ {
474
+ name: 'Position',
475
+ type: {
476
+ kind: 'struct',
477
+ fields: [
478
+ {
479
+ name: 'pubkey',
480
+ type: 'publicKey'
481
+ },
482
+ {
483
+ name: 'ticker',
484
+ type: 'publicKey'
485
+ },
486
+ {
487
+ name: 'amount',
488
+ type: 'u64'
489
+ },
490
+ {
491
+ name: 'leverage',
492
+ type: 'u64'
493
+ },
494
+ {
495
+ name: 'entryPrice',
496
+ type: 'u64'
497
+ },
498
+ {
499
+ name: 'ts',
500
+ type: 'i64'
501
+ },
502
+ {
503
+ name: 'isLong',
504
+ type: 'bool'
505
+ },
506
+ {
507
+ name: 'isOpen',
508
+ type: 'bool'
509
+ },
510
+ {
511
+ name: 'pnl',
512
+ type: 'i64'
513
+ }
514
+ ]
515
+ }
516
+ },
517
+ {
518
+ name: 'CreateUserArgs',
519
+ type: {
520
+ kind: 'struct',
521
+ fields: [
522
+ {
523
+ name: 'name',
524
+ type: 'string'
525
+ },
526
+ {
527
+ name: 'referrer',
528
+ type: 'string'
529
+ },
530
+ {
531
+ name: 'community',
532
+ type: 'string'
533
+ }
534
+ ]
535
+ }
536
+ },
537
+ {
538
+ name: 'OpenPositionArgs',
539
+ type: {
540
+ kind: 'struct',
541
+ fields: [
542
+ {
543
+ name: 'amount',
544
+ type: 'u64'
545
+ },
546
+ {
547
+ name: 'isLong',
548
+ type: 'bool'
549
+ }
550
+ ]
551
+ }
552
+ },
553
+ {
554
+ name: 'ClosePositionArgs',
555
+ type: {
556
+ kind: 'struct',
557
+ fields: [
558
+ {
559
+ name: 'amount',
560
+ type: 'u64'
561
+ },
562
+ {
563
+ name: 'isLong',
564
+ type: 'bool'
565
+ },
566
+ {
567
+ name: 'pubkey',
568
+ type: 'publicKey'
569
+ }
570
+ ]
571
+ }
572
+ }
573
+ ],
574
+ errors: [
575
+ {
576
+ code: 6000,
577
+ name: 'UnauthorizedToDeleteProject',
578
+ msg: 'Unauthorized to delete the project'
579
+ },
580
+ {
581
+ code: 6001,
582
+ name: 'InvalidShadowAccount',
583
+ msg: 'Invalid shadow account'
584
+ },
585
+ {
586
+ code: 6002,
587
+ name: 'InvalidAccount',
588
+ msg: 'Invalid account'
589
+ },
590
+ {
591
+ code: 6003,
592
+ name: 'Unauthorized',
593
+ msg: 'Unauthorized access'
594
+ },
595
+ {
596
+ code: 6004,
597
+ name: 'AlphaVantageApiError',
598
+ msg: 'Failed to get data from Vybe Network'
599
+ },
600
+ {
601
+ code: 6005,
602
+ name: 'DepositFailed',
603
+ msg: 'Failed to deposit'
604
+ },
605
+ {
606
+ code: 6006,
607
+ name: 'InvalidOwnerAuthority',
608
+ msg: 'Invalid Owner authority'
609
+ },
610
+ {
611
+ code: 6007,
612
+ name: 'InvalidMintAddress',
613
+ msg: 'Invalid Mint address'
614
+ },
615
+ {
616
+ code: 6008,
617
+ name: 'InvalidProfitShare',
618
+ msg: 'Invalid Profit Share'
619
+ },
620
+ {
621
+ code: 6009,
622
+ name: 'InvalidDepositAmount',
623
+ msg: 'Invalid Deposit Amount'
624
+ },
625
+ {
626
+ code: 6010,
627
+ name: 'InvalidWithdrawAmount',
628
+ msg: 'Invalid Withdraw Amount'
629
+ }
630
+ ]
631
+ };
@@ -0,0 +1 @@
1
+ export declare const TRIAD_PROTOCOL_PROGRAM_ID = "TRDwq3BN4mP3m9KsuNUWSN6QDff93VKGSwE95Jbr9Ss";
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TRIAD_PROTOCOL_PROGRAM_ID = void 0;
4
+ exports.TRIAD_PROTOCOL_PROGRAM_ID = 'TRDwq3BN4mP3m9KsuNUWSN6QDff93VKGSwE95Jbr9Ss';
@@ -0,0 +1,2 @@
1
+ import { Keypair } from '@solana/web3.js';
2
+ export declare const convertSecretKeyToKeypair: (key: string) => Keypair;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.convertSecretKeyToKeypair = void 0;
7
+ const web3_js_1 = require("@solana/web3.js");
8
+ const bs58_1 = __importDefault(require("bs58"));
9
+ const convertSecretKeyToKeypair = (key) => web3_js_1.Keypair.fromSecretKey(bs58_1.default.decode(key));
10
+ exports.convertSecretKeyToKeypair = convertSecretKeyToKeypair;
@@ -0,0 +1,9 @@
1
+ import { PublicKey } from '@solana/web3.js';
2
+ import BN from 'bn.js';
3
+ export declare const getTickerAddressSync: (programId: PublicKey, protocolProgramId: PublicKey) => PublicKey;
4
+ export declare const encodeString: (value: string) => number[];
5
+ export declare const decodeString: (bytes: number[]) => string;
6
+ export declare const getVaultAddressSync: (programId: PublicKey, tickerAddress: PublicKey) => PublicKey;
7
+ export declare const getTokenVaultAddressSync: (programId: PublicKey, vault: PublicKey) => PublicKey;
8
+ export declare function getUserAddressSync(programId: PublicKey, authority: PublicKey): PublicKey;
9
+ export declare const formatNumber: (number: bigint | BN, decimals?: number) => number;