@triadxyz/triad-protocol 0.0.1-beta

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,1444 @@
1
+ /**
2
+ * Program IDL in camelCase format in order to be used in JS/TS.
3
+ *
4
+ * Note that this is only a type helper and is not the actual IDL. The original
5
+ * IDL can be found at `target/idl/triad_protocol.json`.
6
+ */
7
+ export type TriadProtocol = {
8
+ address: 'TRDwq3BN4mP3m9KsuNUWSN6QDff93VKGSwE95Jbr9Ss';
9
+ metadata: {
10
+ name: 'triadProtocol';
11
+ version: '0.1.0';
12
+ spec: '0.1.0';
13
+ };
14
+ instructions: [
15
+ {
16
+ name: 'closePosition';
17
+ discriminator: [123, 134, 81, 0, 49, 68, 98, 98];
18
+ accounts: [
19
+ {
20
+ name: 'signer';
21
+ writable: true;
22
+ signer: true;
23
+ },
24
+ {
25
+ name: 'ticker';
26
+ writable: true;
27
+ },
28
+ {
29
+ name: 'vault';
30
+ writable: true;
31
+ },
32
+ {
33
+ name: 'userPosition';
34
+ writable: true;
35
+ },
36
+ {
37
+ name: 'vaultTokenAccount';
38
+ writable: true;
39
+ },
40
+ {
41
+ name: 'userTokenAccount';
42
+ writable: true;
43
+ },
44
+ {
45
+ name: 'systemProgram';
46
+ address: '11111111111111111111111111111111';
47
+ },
48
+ {
49
+ name: 'tokenProgram';
50
+ address: 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA';
51
+ }
52
+ ];
53
+ args: [
54
+ {
55
+ name: 'args';
56
+ type: {
57
+ defined: {
58
+ name: 'closePositionArgs';
59
+ };
60
+ };
61
+ }
62
+ ];
63
+ },
64
+ {
65
+ name: 'createTicker';
66
+ discriminator: [32, 213, 147, 234, 14, 160, 57, 17];
67
+ accounts: [
68
+ {
69
+ name: 'signer';
70
+ writable: true;
71
+ signer: true;
72
+ },
73
+ {
74
+ name: 'ticker';
75
+ writable: true;
76
+ pda: {
77
+ seeds: [
78
+ {
79
+ kind: 'const';
80
+ value: [116, 105, 99, 107, 101, 114];
81
+ },
82
+ {
83
+ kind: 'arg';
84
+ path: 'args.name';
85
+ }
86
+ ];
87
+ };
88
+ },
89
+ {
90
+ name: 'vault';
91
+ writable: true;
92
+ pda: {
93
+ seeds: [
94
+ {
95
+ kind: 'const';
96
+ value: [118, 97, 117, 108, 116];
97
+ },
98
+ {
99
+ kind: 'account';
100
+ path: 'ticker';
101
+ }
102
+ ];
103
+ };
104
+ },
105
+ {
106
+ name: 'payerTokenMint';
107
+ },
108
+ {
109
+ name: 'tokenAccount';
110
+ writable: true;
111
+ pda: {
112
+ seeds: [
113
+ {
114
+ kind: 'const';
115
+ value: [
116
+ 118,
117
+ 97,
118
+ 117,
119
+ 108,
120
+ 116,
121
+ 95,
122
+ 116,
123
+ 111,
124
+ 107,
125
+ 101,
126
+ 110,
127
+ 95,
128
+ 97,
129
+ 99,
130
+ 99,
131
+ 111,
132
+ 117,
133
+ 110,
134
+ 116
135
+ ];
136
+ },
137
+ {
138
+ kind: 'account';
139
+ path: 'vault';
140
+ }
141
+ ];
142
+ };
143
+ },
144
+ {
145
+ name: 'systemProgram';
146
+ address: '11111111111111111111111111111111';
147
+ },
148
+ {
149
+ name: 'tokenProgram';
150
+ address: 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA';
151
+ }
152
+ ];
153
+ args: [
154
+ {
155
+ name: 'args';
156
+ type: {
157
+ defined: {
158
+ name: 'createTickerArgs';
159
+ };
160
+ };
161
+ }
162
+ ];
163
+ },
164
+ {
165
+ name: 'createUserPosition';
166
+ discriminator: [6, 137, 127, 227, 135, 241, 14, 109];
167
+ accounts: [
168
+ {
169
+ name: 'signer';
170
+ writable: true;
171
+ signer: true;
172
+ },
173
+ {
174
+ name: 'ticker';
175
+ writable: true;
176
+ },
177
+ {
178
+ name: 'userPosition';
179
+ writable: true;
180
+ pda: {
181
+ seeds: [
182
+ {
183
+ kind: 'const';
184
+ value: [
185
+ 117,
186
+ 115,
187
+ 101,
188
+ 114,
189
+ 95,
190
+ 112,
191
+ 111,
192
+ 115,
193
+ 105,
194
+ 116,
195
+ 105,
196
+ 111,
197
+ 110
198
+ ];
199
+ },
200
+ {
201
+ kind: 'account';
202
+ path: 'signer';
203
+ },
204
+ {
205
+ kind: 'account';
206
+ path: 'ticker';
207
+ }
208
+ ];
209
+ };
210
+ },
211
+ {
212
+ name: 'systemProgram';
213
+ address: '11111111111111111111111111111111';
214
+ }
215
+ ];
216
+ args: [];
217
+ },
218
+ {
219
+ name: 'depositStakeRewards';
220
+ discriminator: [59, 201, 204, 3, 44, 75, 231, 129];
221
+ accounts: [
222
+ {
223
+ name: 'signer';
224
+ writable: true;
225
+ signer: true;
226
+ },
227
+ {
228
+ name: 'stakeVault';
229
+ writable: true;
230
+ pda: {
231
+ seeds: [
232
+ {
233
+ kind: 'const';
234
+ value: [115, 116, 97, 107, 101, 95, 118, 97, 117, 108, 116];
235
+ },
236
+ {
237
+ kind: 'arg';
238
+ path: 'args.stake_vault';
239
+ }
240
+ ];
241
+ };
242
+ },
243
+ {
244
+ name: 'mint';
245
+ writable: true;
246
+ },
247
+ {
248
+ name: 'fromAta';
249
+ writable: true;
250
+ },
251
+ {
252
+ name: 'toAta';
253
+ writable: true;
254
+ },
255
+ {
256
+ name: 'tokenProgram';
257
+ address: 'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb';
258
+ },
259
+ {
260
+ name: 'associatedTokenProgram';
261
+ address: 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL';
262
+ },
263
+ {
264
+ name: 'systemProgram';
265
+ address: '11111111111111111111111111111111';
266
+ }
267
+ ];
268
+ args: [
269
+ {
270
+ name: 'args';
271
+ type: {
272
+ defined: {
273
+ name: 'depositStakeRewardsArgs';
274
+ };
275
+ };
276
+ }
277
+ ];
278
+ },
279
+ {
280
+ name: 'initializeStakeVault';
281
+ discriminator: [125, 55, 104, 34, 35, 179, 67, 3];
282
+ accounts: [
283
+ {
284
+ name: 'signer';
285
+ writable: true;
286
+ signer: true;
287
+ },
288
+ {
289
+ name: 'stakeVault';
290
+ writable: true;
291
+ pda: {
292
+ seeds: [
293
+ {
294
+ kind: 'const';
295
+ value: [115, 116, 97, 107, 101, 95, 118, 97, 117, 108, 116];
296
+ },
297
+ {
298
+ kind: 'arg';
299
+ path: 'args.name';
300
+ }
301
+ ];
302
+ };
303
+ },
304
+ {
305
+ name: 'systemProgram';
306
+ address: '11111111111111111111111111111111';
307
+ },
308
+ {
309
+ name: 'tokenProgram';
310
+ address: 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA';
311
+ }
312
+ ];
313
+ args: [
314
+ {
315
+ name: 'args';
316
+ type: {
317
+ defined: {
318
+ name: 'initializeStakeVaultArgs';
319
+ };
320
+ };
321
+ }
322
+ ];
323
+ },
324
+ {
325
+ name: 'openPosition';
326
+ discriminator: [135, 128, 47, 77, 15, 152, 240, 49];
327
+ accounts: [
328
+ {
329
+ name: 'signer';
330
+ writable: true;
331
+ signer: true;
332
+ },
333
+ {
334
+ name: 'ticker';
335
+ writable: true;
336
+ },
337
+ {
338
+ name: 'vault';
339
+ writable: true;
340
+ },
341
+ {
342
+ name: 'userPosition';
343
+ writable: true;
344
+ },
345
+ {
346
+ name: 'vaultTokenAccount';
347
+ writable: true;
348
+ pda: {
349
+ seeds: [
350
+ {
351
+ kind: 'const';
352
+ value: [
353
+ 118,
354
+ 97,
355
+ 117,
356
+ 108,
357
+ 116,
358
+ 95,
359
+ 116,
360
+ 111,
361
+ 107,
362
+ 101,
363
+ 110,
364
+ 95,
365
+ 97,
366
+ 99,
367
+ 99,
368
+ 111,
369
+ 117,
370
+ 110,
371
+ 116
372
+ ];
373
+ },
374
+ {
375
+ kind: 'account';
376
+ path: 'vault';
377
+ }
378
+ ];
379
+ };
380
+ },
381
+ {
382
+ name: 'userTokenAccount';
383
+ writable: true;
384
+ },
385
+ {
386
+ name: 'systemProgram';
387
+ address: '11111111111111111111111111111111';
388
+ },
389
+ {
390
+ name: 'tokenProgram';
391
+ address: 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA';
392
+ }
393
+ ];
394
+ args: [
395
+ {
396
+ name: 'args';
397
+ type: {
398
+ defined: {
399
+ name: 'openPositionArgs';
400
+ };
401
+ };
402
+ }
403
+ ];
404
+ },
405
+ {
406
+ name: 'requestWithdrawNft';
407
+ discriminator: [132, 52, 242, 121, 178, 147, 240, 223];
408
+ accounts: [
409
+ {
410
+ name: 'signer';
411
+ writable: true;
412
+ signer: true;
413
+ },
414
+ {
415
+ name: 'stakeVault';
416
+ writable: true;
417
+ pda: {
418
+ seeds: [
419
+ {
420
+ kind: 'const';
421
+ value: [115, 116, 97, 107, 101, 95, 118, 97, 117, 108, 116];
422
+ },
423
+ {
424
+ kind: 'arg';
425
+ path: 'args.stake_vault';
426
+ }
427
+ ];
428
+ };
429
+ },
430
+ {
431
+ name: 'stake';
432
+ writable: true;
433
+ pda: {
434
+ seeds: [
435
+ {
436
+ kind: 'const';
437
+ value: [115, 116, 97, 107, 101];
438
+ },
439
+ {
440
+ kind: 'arg';
441
+ path: 'args.nft_name';
442
+ }
443
+ ];
444
+ };
445
+ },
446
+ {
447
+ name: 'mint';
448
+ writable: true;
449
+ },
450
+ {
451
+ name: 'tokenProgram';
452
+ address: 'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb';
453
+ },
454
+ {
455
+ name: 'associatedTokenProgram';
456
+ address: 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL';
457
+ },
458
+ {
459
+ name: 'systemProgram';
460
+ address: '11111111111111111111111111111111';
461
+ }
462
+ ];
463
+ args: [
464
+ {
465
+ name: 'args';
466
+ type: {
467
+ defined: {
468
+ name: 'requestWithdrawNftArgs';
469
+ };
470
+ };
471
+ }
472
+ ];
473
+ },
474
+ {
475
+ name: 'stake';
476
+ discriminator: [206, 176, 202, 18, 200, 209, 179, 108];
477
+ accounts: [
478
+ {
479
+ name: 'signer';
480
+ writable: true;
481
+ signer: true;
482
+ },
483
+ {
484
+ name: 'stakeVault';
485
+ writable: true;
486
+ pda: {
487
+ seeds: [
488
+ {
489
+ kind: 'const';
490
+ value: [115, 116, 97, 107, 101, 95, 118, 97, 117, 108, 116];
491
+ },
492
+ {
493
+ kind: 'arg';
494
+ path: 'args.stake_vault';
495
+ }
496
+ ];
497
+ };
498
+ },
499
+ {
500
+ name: 'stake';
501
+ writable: true;
502
+ pda: {
503
+ seeds: [
504
+ {
505
+ kind: 'const';
506
+ value: [115, 116, 97, 107, 101];
507
+ },
508
+ {
509
+ kind: 'arg';
510
+ path: 'args.name';
511
+ }
512
+ ];
513
+ };
514
+ },
515
+ {
516
+ name: 'mint';
517
+ writable: true;
518
+ },
519
+ {
520
+ name: 'fromAta';
521
+ writable: true;
522
+ },
523
+ {
524
+ name: 'toAta';
525
+ writable: true;
526
+ },
527
+ {
528
+ name: 'tokenProgram';
529
+ address: 'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb';
530
+ },
531
+ {
532
+ name: 'associatedTokenProgram';
533
+ address: 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL';
534
+ },
535
+ {
536
+ name: 'systemProgram';
537
+ address: '11111111111111111111111111111111';
538
+ }
539
+ ];
540
+ args: [
541
+ {
542
+ name: 'args';
543
+ type: {
544
+ defined: {
545
+ name: 'stakeNftArgs';
546
+ };
547
+ };
548
+ }
549
+ ];
550
+ },
551
+ {
552
+ name: 'updateTickerPrice';
553
+ discriminator: [203, 166, 139, 83, 76, 144, 250, 29];
554
+ accounts: [
555
+ {
556
+ name: 'signer';
557
+ writable: true;
558
+ signer: true;
559
+ },
560
+ {
561
+ name: 'ticker';
562
+ writable: true;
563
+ },
564
+ {
565
+ name: 'systemProgram';
566
+ address: '11111111111111111111111111111111';
567
+ }
568
+ ];
569
+ args: [
570
+ {
571
+ name: 'args';
572
+ type: {
573
+ defined: {
574
+ name: 'updateTickerPriceArgs';
575
+ };
576
+ };
577
+ }
578
+ ];
579
+ },
580
+ {
581
+ name: 'withdrawNft';
582
+ discriminator: [142, 181, 191, 149, 82, 175, 216, 100];
583
+ accounts: [
584
+ {
585
+ name: 'signer';
586
+ writable: true;
587
+ signer: true;
588
+ },
589
+ {
590
+ name: 'stakeVault';
591
+ writable: true;
592
+ pda: {
593
+ seeds: [
594
+ {
595
+ kind: 'const';
596
+ value: [115, 116, 97, 107, 101, 95, 118, 97, 117, 108, 116];
597
+ },
598
+ {
599
+ kind: 'arg';
600
+ path: 'args.stake_vault';
601
+ }
602
+ ];
603
+ };
604
+ },
605
+ {
606
+ name: 'stake';
607
+ writable: true;
608
+ pda: {
609
+ seeds: [
610
+ {
611
+ kind: 'const';
612
+ value: [115, 116, 97, 107, 101];
613
+ },
614
+ {
615
+ kind: 'arg';
616
+ path: 'args.nft_name';
617
+ }
618
+ ];
619
+ };
620
+ },
621
+ {
622
+ name: 'mint';
623
+ writable: true;
624
+ },
625
+ {
626
+ name: 'fromAta';
627
+ writable: true;
628
+ },
629
+ {
630
+ name: 'toAta';
631
+ writable: true;
632
+ },
633
+ {
634
+ name: 'tokenProgram';
635
+ address: 'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb';
636
+ },
637
+ {
638
+ name: 'associatedTokenProgram';
639
+ address: 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL';
640
+ },
641
+ {
642
+ name: 'systemProgram';
643
+ address: '11111111111111111111111111111111';
644
+ }
645
+ ];
646
+ args: [
647
+ {
648
+ name: 'args';
649
+ type: {
650
+ defined: {
651
+ name: 'withdrawNftArgs';
652
+ };
653
+ };
654
+ }
655
+ ];
656
+ }
657
+ ];
658
+ accounts: [
659
+ {
660
+ name: 'stake';
661
+ discriminator: [150, 197, 176, 29, 55, 132, 112, 149];
662
+ },
663
+ {
664
+ name: 'stakeVault';
665
+ discriminator: [192, 112, 65, 125, 129, 151, 173, 226];
666
+ },
667
+ {
668
+ name: 'ticker';
669
+ discriminator: [214, 74, 184, 188, 214, 64, 251, 53];
670
+ },
671
+ {
672
+ name: 'userPosition';
673
+ discriminator: [251, 248, 209, 245, 83, 234, 17, 27];
674
+ },
675
+ {
676
+ name: 'vault';
677
+ discriminator: [211, 8, 232, 43, 2, 152, 117, 119];
678
+ }
679
+ ];
680
+ events: [
681
+ {
682
+ name: 'closePositionRecord';
683
+ discriminator: [202, 208, 157, 166, 193, 229, 76, 5];
684
+ },
685
+ {
686
+ name: 'openPositionRecord';
687
+ discriminator: [118, 71, 105, 89, 222, 111, 56, 63];
688
+ },
689
+ {
690
+ name: 'tickerPriceUpdateRecord';
691
+ discriminator: [11, 38, 250, 234, 149, 218, 144, 15];
692
+ }
693
+ ];
694
+ errors: [
695
+ {
696
+ code: 6000;
697
+ name: 'unauthorizedToDeleteProject';
698
+ msg: 'Unauthorized to delete the project';
699
+ },
700
+ {
701
+ code: 6001;
702
+ name: 'invalidShadowAccount';
703
+ msg: 'Invalid shadow account';
704
+ },
705
+ {
706
+ code: 6002;
707
+ name: 'invalidAccount';
708
+ msg: 'Invalid account';
709
+ },
710
+ {
711
+ code: 6003;
712
+ name: 'unauthorized';
713
+ msg: 'Unauthorized access';
714
+ },
715
+ {
716
+ code: 6004;
717
+ name: 'alphaVantageApiError';
718
+ msg: 'Failed to get data from Vybe Network';
719
+ },
720
+ {
721
+ code: 6005;
722
+ name: 'depositFailed';
723
+ msg: 'Failed to deposit';
724
+ },
725
+ {
726
+ code: 6006;
727
+ name: 'invalidOwnerAuthority';
728
+ msg: 'Invalid Owner authority';
729
+ },
730
+ {
731
+ code: 6007;
732
+ name: 'invalidPosition';
733
+ msg: 'Invalid Position';
734
+ },
735
+ {
736
+ code: 6008;
737
+ name: 'invalidTickerPosition';
738
+ msg: 'Invalid Ticker position';
739
+ },
740
+ {
741
+ code: 6009;
742
+ name: 'noFreePositionSlot';
743
+ msg: 'No free position slot';
744
+ },
745
+ {
746
+ code: 6010;
747
+ name: 'invalidMintAddress';
748
+ msg: 'Invalid Mint address';
749
+ },
750
+ {
751
+ code: 6011;
752
+ name: 'invalidProfitShare';
753
+ msg: 'Invalid Profit Share';
754
+ },
755
+ {
756
+ code: 6012;
757
+ name: 'invalidDepositAmount';
758
+ msg: 'Invalid Deposit Amount';
759
+ },
760
+ {
761
+ code: 6013;
762
+ name: 'invalidWithdrawAmount';
763
+ msg: 'Invalid Withdraw Amount';
764
+ },
765
+ {
766
+ code: 6014;
767
+ name: 'invalidStakeVault';
768
+ msg: 'Invalid Stake Vault';
769
+ },
770
+ {
771
+ code: 6015;
772
+ name: 'invalidStakeVaultAuthority';
773
+ msg: 'Invalid Stake Vault Authority';
774
+ },
775
+ {
776
+ code: 6016;
777
+ name: 'invalidStakeVaultAmount';
778
+ msg: 'Invalid Stake Vault Amount';
779
+ },
780
+ {
781
+ code: 6017;
782
+ name: 'stakeVaultLocked';
783
+ msg: 'Stake Vault Available';
784
+ },
785
+ {
786
+ code: 6018;
787
+ name: 'stakeLocked';
788
+ msg: 'Stake is locked';
789
+ },
790
+ {
791
+ code: 6019;
792
+ name: 'stakeVaultFull';
793
+ msg: 'Stake Vault Full';
794
+ }
795
+ ];
796
+ types: [
797
+ {
798
+ name: 'closePositionArgs';
799
+ type: {
800
+ kind: 'struct';
801
+ fields: [
802
+ {
803
+ name: 'positionIndex';
804
+ type: 'u8';
805
+ }
806
+ ];
807
+ };
808
+ },
809
+ {
810
+ name: 'closePositionRecord';
811
+ type: {
812
+ kind: 'struct';
813
+ fields: [
814
+ {
815
+ name: 'amount';
816
+ type: 'u64';
817
+ },
818
+ {
819
+ name: 'ticker';
820
+ type: 'pubkey';
821
+ },
822
+ {
823
+ name: 'closePrice';
824
+ type: 'u64';
825
+ },
826
+ {
827
+ name: 'ts';
828
+ type: 'i64';
829
+ },
830
+ {
831
+ name: 'isLong';
832
+ type: 'bool';
833
+ },
834
+ {
835
+ name: 'pnl';
836
+ type: 'i64';
837
+ },
838
+ {
839
+ name: 'user';
840
+ type: 'pubkey';
841
+ }
842
+ ];
843
+ };
844
+ },
845
+ {
846
+ name: 'collection';
847
+ type: {
848
+ kind: 'enum';
849
+ variants: [
850
+ {
851
+ name: 'coleta';
852
+ },
853
+ {
854
+ name: 'undead';
855
+ },
856
+ {
857
+ name: 'alligators';
858
+ },
859
+ {
860
+ name: 'pyth';
861
+ }
862
+ ];
863
+ };
864
+ },
865
+ {
866
+ name: 'createTickerArgs';
867
+ type: {
868
+ kind: 'struct';
869
+ fields: [
870
+ {
871
+ name: 'name';
872
+ type: 'string';
873
+ },
874
+ {
875
+ name: 'protocolProgramId';
876
+ type: 'pubkey';
877
+ }
878
+ ];
879
+ };
880
+ },
881
+ {
882
+ name: 'depositStakeRewardsArgs';
883
+ type: {
884
+ kind: 'struct';
885
+ fields: [
886
+ {
887
+ name: 'amount';
888
+ type: 'u64';
889
+ },
890
+ {
891
+ name: 'stakeVault';
892
+ type: 'string';
893
+ }
894
+ ];
895
+ };
896
+ },
897
+ {
898
+ name: 'initializeStakeVaultArgs';
899
+ type: {
900
+ kind: 'struct';
901
+ fields: [
902
+ {
903
+ name: 'name';
904
+ type: 'string';
905
+ },
906
+ {
907
+ name: 'slots';
908
+ type: 'u64';
909
+ },
910
+ {
911
+ name: 'collection';
912
+ type: 'string';
913
+ },
914
+ {
915
+ name: 'amount';
916
+ type: 'u64';
917
+ }
918
+ ];
919
+ };
920
+ },
921
+ {
922
+ name: 'openPositionArgs';
923
+ type: {
924
+ kind: 'struct';
925
+ fields: [
926
+ {
927
+ name: 'amount';
928
+ type: 'u64';
929
+ },
930
+ {
931
+ name: 'isLong';
932
+ type: 'bool';
933
+ }
934
+ ];
935
+ };
936
+ },
937
+ {
938
+ name: 'openPositionRecord';
939
+ type: {
940
+ kind: 'struct';
941
+ fields: [
942
+ {
943
+ name: 'amount';
944
+ type: 'u64';
945
+ },
946
+ {
947
+ name: 'ticker';
948
+ type: 'pubkey';
949
+ },
950
+ {
951
+ name: 'entryPrice';
952
+ type: 'u64';
953
+ },
954
+ {
955
+ name: 'ts';
956
+ type: 'i64';
957
+ },
958
+ {
959
+ name: 'isLong';
960
+ type: 'bool';
961
+ },
962
+ {
963
+ name: 'user';
964
+ type: 'pubkey';
965
+ }
966
+ ];
967
+ };
968
+ },
969
+ {
970
+ name: 'position';
971
+ type: {
972
+ kind: 'struct';
973
+ fields: [
974
+ {
975
+ name: 'amount';
976
+ type: 'u64';
977
+ },
978
+ {
979
+ name: 'entryPrice';
980
+ type: 'u64';
981
+ },
982
+ {
983
+ name: 'ts';
984
+ type: 'i64';
985
+ },
986
+ {
987
+ name: 'isLong';
988
+ type: 'bool';
989
+ },
990
+ {
991
+ name: 'isOpen';
992
+ type: 'bool';
993
+ },
994
+ {
995
+ name: 'pnl';
996
+ type: 'i64';
997
+ }
998
+ ];
999
+ };
1000
+ },
1001
+ {
1002
+ name: 'rarity';
1003
+ type: {
1004
+ kind: 'enum';
1005
+ variants: [
1006
+ {
1007
+ name: 'common';
1008
+ },
1009
+ {
1010
+ name: 'uncommon';
1011
+ },
1012
+ {
1013
+ name: 'rare';
1014
+ },
1015
+ {
1016
+ name: 'epic';
1017
+ },
1018
+ {
1019
+ name: 'legendary';
1020
+ },
1021
+ {
1022
+ name: 'mythic';
1023
+ }
1024
+ ];
1025
+ };
1026
+ },
1027
+ {
1028
+ name: 'requestWithdrawNftArgs';
1029
+ type: {
1030
+ kind: 'struct';
1031
+ fields: [
1032
+ {
1033
+ name: 'stakeVault';
1034
+ type: 'string';
1035
+ },
1036
+ {
1037
+ name: 'nftName';
1038
+ type: 'string';
1039
+ }
1040
+ ];
1041
+ };
1042
+ },
1043
+ {
1044
+ name: 'stake';
1045
+ type: {
1046
+ kind: 'struct';
1047
+ fields: [
1048
+ {
1049
+ name: 'bump';
1050
+ type: 'u8';
1051
+ },
1052
+ {
1053
+ name: 'authority';
1054
+ type: 'pubkey';
1055
+ },
1056
+ {
1057
+ name: 'initTs';
1058
+ type: 'i64';
1059
+ },
1060
+ {
1061
+ name: 'isLocked';
1062
+ type: 'bool';
1063
+ },
1064
+ {
1065
+ name: 'withdrawTs';
1066
+ type: 'i64';
1067
+ },
1068
+ {
1069
+ name: 'name';
1070
+ type: 'string';
1071
+ },
1072
+ {
1073
+ name: 'collections';
1074
+ type: {
1075
+ vec: {
1076
+ defined: {
1077
+ name: 'collection';
1078
+ };
1079
+ };
1080
+ };
1081
+ },
1082
+ {
1083
+ name: 'rarity';
1084
+ type: {
1085
+ defined: {
1086
+ name: 'rarity';
1087
+ };
1088
+ };
1089
+ },
1090
+ {
1091
+ name: 'mint';
1092
+ type: 'pubkey';
1093
+ },
1094
+ {
1095
+ name: 'stakeVault';
1096
+ type: 'pubkey';
1097
+ },
1098
+ {
1099
+ name: 'stakeRewards';
1100
+ type: 'pubkey';
1101
+ }
1102
+ ];
1103
+ };
1104
+ },
1105
+ {
1106
+ name: 'stakeNftArgs';
1107
+ type: {
1108
+ kind: 'struct';
1109
+ fields: [
1110
+ {
1111
+ name: 'name';
1112
+ type: 'string';
1113
+ },
1114
+ {
1115
+ name: 'rarity';
1116
+ type: {
1117
+ defined: {
1118
+ name: 'rarity';
1119
+ };
1120
+ };
1121
+ },
1122
+ {
1123
+ name: 'stakeVault';
1124
+ type: 'string';
1125
+ },
1126
+ {
1127
+ name: 'collections';
1128
+ type: {
1129
+ vec: {
1130
+ defined: {
1131
+ name: 'collection';
1132
+ };
1133
+ };
1134
+ };
1135
+ }
1136
+ ];
1137
+ };
1138
+ },
1139
+ {
1140
+ name: 'stakeVault';
1141
+ type: {
1142
+ kind: 'struct';
1143
+ fields: [
1144
+ {
1145
+ name: 'bump';
1146
+ type: 'u8';
1147
+ },
1148
+ {
1149
+ name: 'authority';
1150
+ type: 'pubkey';
1151
+ },
1152
+ {
1153
+ name: 'initTs';
1154
+ type: 'i64';
1155
+ },
1156
+ {
1157
+ name: 'endTs';
1158
+ type: 'i64';
1159
+ },
1160
+ {
1161
+ name: 'amount';
1162
+ type: 'u64';
1163
+ },
1164
+ {
1165
+ name: 'amountPaid';
1166
+ type: 'u64';
1167
+ },
1168
+ {
1169
+ name: 'apr';
1170
+ type: 'u8';
1171
+ },
1172
+ {
1173
+ name: 'amountUsers';
1174
+ type: 'u64';
1175
+ },
1176
+ {
1177
+ name: 'slots';
1178
+ type: 'u64';
1179
+ },
1180
+ {
1181
+ name: 'isLocked';
1182
+ type: 'bool';
1183
+ },
1184
+ {
1185
+ name: 'name';
1186
+ type: 'string';
1187
+ },
1188
+ {
1189
+ name: 'collection';
1190
+ type: 'string';
1191
+ },
1192
+ {
1193
+ name: 'usersPaid';
1194
+ type: 'pubkey';
1195
+ },
1196
+ {
1197
+ name: 'padding';
1198
+ type: {
1199
+ array: ['u8', 64];
1200
+ };
1201
+ }
1202
+ ];
1203
+ };
1204
+ },
1205
+ {
1206
+ name: 'ticker';
1207
+ type: {
1208
+ kind: 'struct';
1209
+ fields: [
1210
+ {
1211
+ name: 'initTs';
1212
+ docs: ['timestamp of the creation of the ticker'];
1213
+ type: 'i64';
1214
+ },
1215
+ {
1216
+ name: 'updatedTs';
1217
+ docs: ['timestamp of the last update of the ticker'];
1218
+ type: 'i64';
1219
+ },
1220
+ {
1221
+ name: 'bump';
1222
+ docs: ['The bump for the ticker pda'];
1223
+ type: 'u8';
1224
+ },
1225
+ {
1226
+ name: 'authority';
1227
+ docs: ['authority for the ticker'];
1228
+ type: 'pubkey';
1229
+ },
1230
+ {
1231
+ name: 'name';
1232
+ docs: ['name of the ticekt'];
1233
+ type: 'string';
1234
+ },
1235
+ {
1236
+ name: 'protocolProgramId';
1237
+ docs: [
1238
+ 'protocol program id like dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH to get data info'
1239
+ ];
1240
+ type: 'pubkey';
1241
+ },
1242
+ {
1243
+ name: 'price';
1244
+ docs: ['ticker price'];
1245
+ type: 'u64';
1246
+ },
1247
+ {
1248
+ name: 'vault';
1249
+ docs: ['Vault PDA'];
1250
+ type: 'pubkey';
1251
+ }
1252
+ ];
1253
+ };
1254
+ },
1255
+ {
1256
+ name: 'tickerPriceUpdateRecord';
1257
+ type: {
1258
+ kind: 'struct';
1259
+ fields: [
1260
+ {
1261
+ name: 'price';
1262
+ type: 'u64';
1263
+ },
1264
+ {
1265
+ name: 'ts';
1266
+ type: 'i64';
1267
+ },
1268
+ {
1269
+ name: 'ticker';
1270
+ type: 'pubkey';
1271
+ }
1272
+ ];
1273
+ };
1274
+ },
1275
+ {
1276
+ name: 'updateTickerPriceArgs';
1277
+ type: {
1278
+ kind: 'struct';
1279
+ fields: [
1280
+ {
1281
+ name: 'price';
1282
+ type: 'u64';
1283
+ }
1284
+ ];
1285
+ };
1286
+ },
1287
+ {
1288
+ name: 'userPosition';
1289
+ type: {
1290
+ kind: 'struct';
1291
+ fields: [
1292
+ {
1293
+ name: 'ts';
1294
+ docs: ['timestamp'];
1295
+ type: 'i64';
1296
+ },
1297
+ {
1298
+ name: 'bump';
1299
+ docs: ['bump seed'];
1300
+ type: 'u8';
1301
+ },
1302
+ {
1303
+ name: 'totalDeposited';
1304
+ docs: ['total deposited'];
1305
+ type: 'u64';
1306
+ },
1307
+ {
1308
+ name: 'totalWithdrawn';
1309
+ docs: ['total withdrawn'];
1310
+ type: 'u64';
1311
+ },
1312
+ {
1313
+ name: 'lpShare';
1314
+ docs: ['total liquidity provided'];
1315
+ type: 'u64';
1316
+ },
1317
+ {
1318
+ name: 'totalPositions';
1319
+ docs: ['total positions'];
1320
+ type: 'u16';
1321
+ },
1322
+ {
1323
+ name: 'ticker';
1324
+ docs: ['ticker account'];
1325
+ type: 'pubkey';
1326
+ },
1327
+ {
1328
+ name: 'authority';
1329
+ docs: ["user's authority"];
1330
+ type: 'pubkey';
1331
+ },
1332
+ {
1333
+ name: 'positions';
1334
+ docs: ["user's position"];
1335
+ type: {
1336
+ array: [
1337
+ {
1338
+ defined: {
1339
+ name: 'position';
1340
+ };
1341
+ },
1342
+ 3
1343
+ ];
1344
+ };
1345
+ }
1346
+ ];
1347
+ };
1348
+ },
1349
+ {
1350
+ name: 'vault';
1351
+ type: {
1352
+ kind: 'struct';
1353
+ fields: [
1354
+ {
1355
+ name: 'bump';
1356
+ docs: ['The bump for the vault pda'];
1357
+ type: 'u8';
1358
+ },
1359
+ {
1360
+ name: 'authority';
1361
+ docs: ['authority for the vault'];
1362
+ type: 'pubkey';
1363
+ },
1364
+ {
1365
+ name: 'name';
1366
+ docs: ['name of the vault'];
1367
+ type: 'string';
1368
+ },
1369
+ {
1370
+ name: 'tokenAccount';
1371
+ docs: ['token account for the vault e.g. tDRIFT'];
1372
+ type: 'pubkey';
1373
+ },
1374
+ {
1375
+ name: 'tickerAddress';
1376
+ docs: ['ticker address'];
1377
+ type: 'pubkey';
1378
+ },
1379
+ {
1380
+ name: 'totalDeposited';
1381
+ docs: ['lifetime total deposited'];
1382
+ type: 'u64';
1383
+ },
1384
+ {
1385
+ name: 'totalWithdrawn';
1386
+ docs: ['lifetime total withdrawn'];
1387
+ type: 'u64';
1388
+ },
1389
+ {
1390
+ name: 'initTs';
1391
+ docs: ['timestamp vault initialized'];
1392
+ type: 'i64';
1393
+ },
1394
+ {
1395
+ name: 'netDeposits';
1396
+ docs: ['lifetime net deposits'];
1397
+ type: 'u128';
1398
+ },
1399
+ {
1400
+ name: 'netWithdraws';
1401
+ docs: ['lifetime net withdraws'];
1402
+ type: 'u128';
1403
+ },
1404
+ {
1405
+ name: 'longBalance';
1406
+ docs: ['Long bet balance'];
1407
+ type: 'u64';
1408
+ },
1409
+ {
1410
+ name: 'shortBalance';
1411
+ docs: ['Short bet balance'];
1412
+ type: 'u64';
1413
+ },
1414
+ {
1415
+ name: 'longPositionsOpened';
1416
+ docs: ['Opened long positions'];
1417
+ type: 'u64';
1418
+ },
1419
+ {
1420
+ name: 'shortPositionsOpened';
1421
+ docs: ['Opened short positions'];
1422
+ type: 'u64';
1423
+ }
1424
+ ];
1425
+ };
1426
+ },
1427
+ {
1428
+ name: 'withdrawNftArgs';
1429
+ type: {
1430
+ kind: 'struct';
1431
+ fields: [
1432
+ {
1433
+ name: 'stakeVault';
1434
+ type: 'string';
1435
+ },
1436
+ {
1437
+ name: 'nftName';
1438
+ type: 'string';
1439
+ }
1440
+ ];
1441
+ };
1442
+ }
1443
+ ];
1444
+ };