@glamsystems/glam-sdk 1.1.0-alpha.2 → 1.1.0-alpha.4

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,2839 @@
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/ext_orca.json`.
6
+ */
7
+ export type ExtOrca = {
8
+ "address": "G1NToC9pRj2NUdeAQK33xs72ep2prtDdPkcGZgRHGxmS",
9
+ "metadata": {
10
+ "name": "extOrca",
11
+ "version": "0.1.0",
12
+ "spec": "0.1.0",
13
+ "description": "Orca Whirlpools integration for GLAM Protocol"
14
+ },
15
+ "instructions": [
16
+ {
17
+ "name": "closePositionWithTokenExtensions",
18
+ "docs": [
19
+ "Close an empty Token-2022 Orca Whirlpools position owned by the GLAM vault.",
20
+ "",
21
+ "- Permission: `ClosePosition`."
22
+ ],
23
+ "discriminator": [
24
+ 1,
25
+ 182,
26
+ 135,
27
+ 59,
28
+ 155,
29
+ 25,
30
+ 99,
31
+ 223
32
+ ],
33
+ "accounts": [
34
+ {
35
+ "name": "glamState",
36
+ "writable": true
37
+ },
38
+ {
39
+ "name": "glamVault",
40
+ "writable": true,
41
+ "pda": {
42
+ "seeds": [
43
+ {
44
+ "kind": "const",
45
+ "value": [
46
+ 118,
47
+ 97,
48
+ 117,
49
+ 108,
50
+ 116
51
+ ]
52
+ },
53
+ {
54
+ "kind": "account",
55
+ "path": "glamState"
56
+ }
57
+ ],
58
+ "program": {
59
+ "kind": "account",
60
+ "path": "glamProtocolProgram"
61
+ }
62
+ }
63
+ },
64
+ {
65
+ "name": "glamSigner",
66
+ "writable": true,
67
+ "signer": true
68
+ },
69
+ {
70
+ "name": "integrationAuthority",
71
+ "pda": {
72
+ "seeds": [
73
+ {
74
+ "kind": "const",
75
+ "value": [
76
+ 105,
77
+ 110,
78
+ 116,
79
+ 101,
80
+ 103,
81
+ 114,
82
+ 97,
83
+ 116,
84
+ 105,
85
+ 111,
86
+ 110,
87
+ 45,
88
+ 97,
89
+ 117,
90
+ 116,
91
+ 104,
92
+ 111,
93
+ 114,
94
+ 105,
95
+ 116,
96
+ 121
97
+ ]
98
+ }
99
+ ]
100
+ }
101
+ },
102
+ {
103
+ "name": "cpiProgram",
104
+ "address": "whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc"
105
+ },
106
+ {
107
+ "name": "glamProtocolProgram",
108
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
109
+ },
110
+ {
111
+ "name": "systemProgram",
112
+ "address": "11111111111111111111111111111111"
113
+ },
114
+ {
115
+ "name": "whirlpool"
116
+ },
117
+ {
118
+ "name": "position",
119
+ "writable": true
120
+ },
121
+ {
122
+ "name": "positionMint",
123
+ "writable": true
124
+ },
125
+ {
126
+ "name": "positionTokenAccount",
127
+ "writable": true
128
+ },
129
+ {
130
+ "name": "token2022Program",
131
+ "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
132
+ }
133
+ ],
134
+ "args": []
135
+ },
136
+ {
137
+ "name": "collectFeesV2",
138
+ "docs": [
139
+ "Collect accrued pool fees using Token-2022-aware accounts.",
140
+ "",
141
+ "- Permission: `CollectFees`."
142
+ ],
143
+ "discriminator": [
144
+ 207,
145
+ 117,
146
+ 95,
147
+ 191,
148
+ 229,
149
+ 180,
150
+ 226,
151
+ 15
152
+ ],
153
+ "accounts": [
154
+ {
155
+ "name": "glamState",
156
+ "writable": true
157
+ },
158
+ {
159
+ "name": "glamVault",
160
+ "writable": true,
161
+ "pda": {
162
+ "seeds": [
163
+ {
164
+ "kind": "const",
165
+ "value": [
166
+ 118,
167
+ 97,
168
+ 117,
169
+ 108,
170
+ 116
171
+ ]
172
+ },
173
+ {
174
+ "kind": "account",
175
+ "path": "glamState"
176
+ }
177
+ ],
178
+ "program": {
179
+ "kind": "account",
180
+ "path": "glamProtocolProgram"
181
+ }
182
+ }
183
+ },
184
+ {
185
+ "name": "glamSigner",
186
+ "writable": true,
187
+ "signer": true
188
+ },
189
+ {
190
+ "name": "integrationAuthority",
191
+ "pda": {
192
+ "seeds": [
193
+ {
194
+ "kind": "const",
195
+ "value": [
196
+ 105,
197
+ 110,
198
+ 116,
199
+ 101,
200
+ 103,
201
+ 114,
202
+ 97,
203
+ 116,
204
+ 105,
205
+ 111,
206
+ 110,
207
+ 45,
208
+ 97,
209
+ 117,
210
+ 116,
211
+ 104,
212
+ 111,
213
+ 114,
214
+ 105,
215
+ 116,
216
+ 121
217
+ ]
218
+ }
219
+ ]
220
+ }
221
+ },
222
+ {
223
+ "name": "cpiProgram",
224
+ "address": "whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc"
225
+ },
226
+ {
227
+ "name": "glamProtocolProgram",
228
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
229
+ },
230
+ {
231
+ "name": "systemProgram",
232
+ "address": "11111111111111111111111111111111"
233
+ },
234
+ {
235
+ "name": "whirlpool"
236
+ },
237
+ {
238
+ "name": "position",
239
+ "writable": true
240
+ },
241
+ {
242
+ "name": "positionTokenAccount"
243
+ },
244
+ {
245
+ "name": "tokenMintA"
246
+ },
247
+ {
248
+ "name": "tokenMintB"
249
+ },
250
+ {
251
+ "name": "tokenOwnerAccountA",
252
+ "writable": true
253
+ },
254
+ {
255
+ "name": "tokenVaultA",
256
+ "writable": true
257
+ },
258
+ {
259
+ "name": "tokenOwnerAccountB",
260
+ "writable": true
261
+ },
262
+ {
263
+ "name": "tokenVaultB",
264
+ "writable": true
265
+ },
266
+ {
267
+ "name": "tokenProgramA"
268
+ },
269
+ {
270
+ "name": "tokenProgramB"
271
+ },
272
+ {
273
+ "name": "memoProgram"
274
+ }
275
+ ],
276
+ "args": [
277
+ {
278
+ "name": "remainingAccountsInfo",
279
+ "type": {
280
+ "option": {
281
+ "defined": {
282
+ "name": "remainingAccountsInfo"
283
+ }
284
+ }
285
+ }
286
+ }
287
+ ]
288
+ },
289
+ {
290
+ "name": "collectRewardV2",
291
+ "docs": [
292
+ "Collect one reward emission using Token-2022-aware accounts.",
293
+ "",
294
+ "- Permission: `CollectReward`."
295
+ ],
296
+ "discriminator": [
297
+ 177,
298
+ 107,
299
+ 37,
300
+ 180,
301
+ 160,
302
+ 19,
303
+ 49,
304
+ 209
305
+ ],
306
+ "accounts": [
307
+ {
308
+ "name": "glamState",
309
+ "writable": true
310
+ },
311
+ {
312
+ "name": "glamVault",
313
+ "writable": true,
314
+ "pda": {
315
+ "seeds": [
316
+ {
317
+ "kind": "const",
318
+ "value": [
319
+ 118,
320
+ 97,
321
+ 117,
322
+ 108,
323
+ 116
324
+ ]
325
+ },
326
+ {
327
+ "kind": "account",
328
+ "path": "glamState"
329
+ }
330
+ ],
331
+ "program": {
332
+ "kind": "account",
333
+ "path": "glamProtocolProgram"
334
+ }
335
+ }
336
+ },
337
+ {
338
+ "name": "glamSigner",
339
+ "writable": true,
340
+ "signer": true
341
+ },
342
+ {
343
+ "name": "integrationAuthority",
344
+ "pda": {
345
+ "seeds": [
346
+ {
347
+ "kind": "const",
348
+ "value": [
349
+ 105,
350
+ 110,
351
+ 116,
352
+ 101,
353
+ 103,
354
+ 114,
355
+ 97,
356
+ 116,
357
+ 105,
358
+ 111,
359
+ 110,
360
+ 45,
361
+ 97,
362
+ 117,
363
+ 116,
364
+ 104,
365
+ 111,
366
+ 114,
367
+ 105,
368
+ 116,
369
+ 121
370
+ ]
371
+ }
372
+ ]
373
+ }
374
+ },
375
+ {
376
+ "name": "cpiProgram",
377
+ "address": "whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc"
378
+ },
379
+ {
380
+ "name": "glamProtocolProgram",
381
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
382
+ },
383
+ {
384
+ "name": "systemProgram",
385
+ "address": "11111111111111111111111111111111"
386
+ },
387
+ {
388
+ "name": "whirlpool"
389
+ },
390
+ {
391
+ "name": "position",
392
+ "writable": true
393
+ },
394
+ {
395
+ "name": "positionTokenAccount"
396
+ },
397
+ {
398
+ "name": "rewardOwnerAccount",
399
+ "writable": true
400
+ },
401
+ {
402
+ "name": "rewardMint"
403
+ },
404
+ {
405
+ "name": "rewardVault",
406
+ "writable": true
407
+ },
408
+ {
409
+ "name": "rewardTokenProgram"
410
+ },
411
+ {
412
+ "name": "memoProgram"
413
+ }
414
+ ],
415
+ "args": [
416
+ {
417
+ "name": "rewardIndex",
418
+ "type": "u8"
419
+ },
420
+ {
421
+ "name": "remainingAccountsInfo",
422
+ "type": {
423
+ "option": {
424
+ "defined": {
425
+ "name": "remainingAccountsInfo"
426
+ }
427
+ }
428
+ }
429
+ }
430
+ ]
431
+ },
432
+ {
433
+ "name": "decreaseLiquidityV2",
434
+ "docs": [
435
+ "Decrease liquidity in an Orca Whirlpools position using Token-2022-aware accounts.",
436
+ "",
437
+ "- Permission: `DecreaseLiquidity`."
438
+ ],
439
+ "discriminator": [
440
+ 58,
441
+ 127,
442
+ 188,
443
+ 62,
444
+ 79,
445
+ 82,
446
+ 196,
447
+ 96
448
+ ],
449
+ "accounts": [
450
+ {
451
+ "name": "glamState",
452
+ "writable": true
453
+ },
454
+ {
455
+ "name": "glamVault",
456
+ "writable": true,
457
+ "pda": {
458
+ "seeds": [
459
+ {
460
+ "kind": "const",
461
+ "value": [
462
+ 118,
463
+ 97,
464
+ 117,
465
+ 108,
466
+ 116
467
+ ]
468
+ },
469
+ {
470
+ "kind": "account",
471
+ "path": "glamState"
472
+ }
473
+ ],
474
+ "program": {
475
+ "kind": "account",
476
+ "path": "glamProtocolProgram"
477
+ }
478
+ }
479
+ },
480
+ {
481
+ "name": "glamSigner",
482
+ "writable": true,
483
+ "signer": true
484
+ },
485
+ {
486
+ "name": "integrationAuthority",
487
+ "pda": {
488
+ "seeds": [
489
+ {
490
+ "kind": "const",
491
+ "value": [
492
+ 105,
493
+ 110,
494
+ 116,
495
+ 101,
496
+ 103,
497
+ 114,
498
+ 97,
499
+ 116,
500
+ 105,
501
+ 111,
502
+ 110,
503
+ 45,
504
+ 97,
505
+ 117,
506
+ 116,
507
+ 104,
508
+ 111,
509
+ 114,
510
+ 105,
511
+ 116,
512
+ 121
513
+ ]
514
+ }
515
+ ]
516
+ }
517
+ },
518
+ {
519
+ "name": "cpiProgram",
520
+ "address": "whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc"
521
+ },
522
+ {
523
+ "name": "glamProtocolProgram",
524
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
525
+ },
526
+ {
527
+ "name": "systemProgram",
528
+ "address": "11111111111111111111111111111111"
529
+ },
530
+ {
531
+ "name": "whirlpool",
532
+ "writable": true
533
+ },
534
+ {
535
+ "name": "tokenProgramA"
536
+ },
537
+ {
538
+ "name": "tokenProgramB"
539
+ },
540
+ {
541
+ "name": "memoProgram"
542
+ },
543
+ {
544
+ "name": "position",
545
+ "writable": true
546
+ },
547
+ {
548
+ "name": "positionTokenAccount"
549
+ },
550
+ {
551
+ "name": "tokenMintA"
552
+ },
553
+ {
554
+ "name": "tokenMintB"
555
+ },
556
+ {
557
+ "name": "tokenOwnerAccountA",
558
+ "writable": true
559
+ },
560
+ {
561
+ "name": "tokenOwnerAccountB",
562
+ "writable": true
563
+ },
564
+ {
565
+ "name": "tokenVaultA",
566
+ "writable": true
567
+ },
568
+ {
569
+ "name": "tokenVaultB",
570
+ "writable": true
571
+ },
572
+ {
573
+ "name": "tickArrayLower",
574
+ "writable": true
575
+ },
576
+ {
577
+ "name": "tickArrayUpper",
578
+ "writable": true
579
+ }
580
+ ],
581
+ "args": [
582
+ {
583
+ "name": "liquidityAmount",
584
+ "type": "u128"
585
+ },
586
+ {
587
+ "name": "tokenMinA",
588
+ "type": "u64"
589
+ },
590
+ {
591
+ "name": "tokenMinB",
592
+ "type": "u64"
593
+ },
594
+ {
595
+ "name": "remainingAccountsInfo",
596
+ "type": {
597
+ "option": {
598
+ "defined": {
599
+ "name": "remainingAccountsInfo"
600
+ }
601
+ }
602
+ }
603
+ }
604
+ ]
605
+ },
606
+ {
607
+ "name": "increaseLiquidityByTokenAmountsV2",
608
+ "docs": [
609
+ "Increase liquidity by token amount bounds using Token-2022-aware accounts."
610
+ ],
611
+ "discriminator": [
612
+ 239,
613
+ 251,
614
+ 9,
615
+ 124,
616
+ 210,
617
+ 198,
618
+ 53,
619
+ 43
620
+ ],
621
+ "accounts": [
622
+ {
623
+ "name": "glamState",
624
+ "writable": true
625
+ },
626
+ {
627
+ "name": "glamVault",
628
+ "writable": true,
629
+ "pda": {
630
+ "seeds": [
631
+ {
632
+ "kind": "const",
633
+ "value": [
634
+ 118,
635
+ 97,
636
+ 117,
637
+ 108,
638
+ 116
639
+ ]
640
+ },
641
+ {
642
+ "kind": "account",
643
+ "path": "glamState"
644
+ }
645
+ ],
646
+ "program": {
647
+ "kind": "account",
648
+ "path": "glamProtocolProgram"
649
+ }
650
+ }
651
+ },
652
+ {
653
+ "name": "glamSigner",
654
+ "writable": true,
655
+ "signer": true
656
+ },
657
+ {
658
+ "name": "integrationAuthority",
659
+ "pda": {
660
+ "seeds": [
661
+ {
662
+ "kind": "const",
663
+ "value": [
664
+ 105,
665
+ 110,
666
+ 116,
667
+ 101,
668
+ 103,
669
+ 114,
670
+ 97,
671
+ 116,
672
+ 105,
673
+ 111,
674
+ 110,
675
+ 45,
676
+ 97,
677
+ 117,
678
+ 116,
679
+ 104,
680
+ 111,
681
+ 114,
682
+ 105,
683
+ 116,
684
+ 121
685
+ ]
686
+ }
687
+ ]
688
+ }
689
+ },
690
+ {
691
+ "name": "cpiProgram",
692
+ "address": "whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc"
693
+ },
694
+ {
695
+ "name": "glamProtocolProgram",
696
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
697
+ },
698
+ {
699
+ "name": "systemProgram",
700
+ "address": "11111111111111111111111111111111"
701
+ },
702
+ {
703
+ "name": "whirlpool",
704
+ "writable": true
705
+ },
706
+ {
707
+ "name": "tokenProgramA"
708
+ },
709
+ {
710
+ "name": "tokenProgramB"
711
+ },
712
+ {
713
+ "name": "memoProgram"
714
+ },
715
+ {
716
+ "name": "position",
717
+ "writable": true
718
+ },
719
+ {
720
+ "name": "positionTokenAccount"
721
+ },
722
+ {
723
+ "name": "tokenMintA"
724
+ },
725
+ {
726
+ "name": "tokenMintB"
727
+ },
728
+ {
729
+ "name": "tokenOwnerAccountA",
730
+ "writable": true
731
+ },
732
+ {
733
+ "name": "tokenOwnerAccountB",
734
+ "writable": true
735
+ },
736
+ {
737
+ "name": "tokenVaultA",
738
+ "writable": true
739
+ },
740
+ {
741
+ "name": "tokenVaultB",
742
+ "writable": true
743
+ },
744
+ {
745
+ "name": "tickArrayLower",
746
+ "writable": true
747
+ },
748
+ {
749
+ "name": "tickArrayUpper",
750
+ "writable": true
751
+ }
752
+ ],
753
+ "args": [
754
+ {
755
+ "name": "method",
756
+ "type": {
757
+ "defined": {
758
+ "name": "increaseLiquidityMethod"
759
+ }
760
+ }
761
+ },
762
+ {
763
+ "name": "remainingAccountsInfo",
764
+ "type": {
765
+ "option": {
766
+ "defined": {
767
+ "name": "remainingAccountsInfo"
768
+ }
769
+ }
770
+ }
771
+ }
772
+ ]
773
+ },
774
+ {
775
+ "name": "increaseLiquidityV2",
776
+ "docs": [
777
+ "Increase liquidity in an Orca Whirlpools position using Token-2022-aware accounts.",
778
+ "",
779
+ "- Permission: `IncreaseLiquidity`.",
780
+ "- Policy: Whirlpool and both pool token mints must be allowlisted."
781
+ ],
782
+ "discriminator": [
783
+ 133,
784
+ 29,
785
+ 89,
786
+ 223,
787
+ 69,
788
+ 238,
789
+ 176,
790
+ 10
791
+ ],
792
+ "accounts": [
793
+ {
794
+ "name": "glamState",
795
+ "writable": true
796
+ },
797
+ {
798
+ "name": "glamVault",
799
+ "writable": true,
800
+ "pda": {
801
+ "seeds": [
802
+ {
803
+ "kind": "const",
804
+ "value": [
805
+ 118,
806
+ 97,
807
+ 117,
808
+ 108,
809
+ 116
810
+ ]
811
+ },
812
+ {
813
+ "kind": "account",
814
+ "path": "glamState"
815
+ }
816
+ ],
817
+ "program": {
818
+ "kind": "account",
819
+ "path": "glamProtocolProgram"
820
+ }
821
+ }
822
+ },
823
+ {
824
+ "name": "glamSigner",
825
+ "writable": true,
826
+ "signer": true
827
+ },
828
+ {
829
+ "name": "integrationAuthority",
830
+ "pda": {
831
+ "seeds": [
832
+ {
833
+ "kind": "const",
834
+ "value": [
835
+ 105,
836
+ 110,
837
+ 116,
838
+ 101,
839
+ 103,
840
+ 114,
841
+ 97,
842
+ 116,
843
+ 105,
844
+ 111,
845
+ 110,
846
+ 45,
847
+ 97,
848
+ 117,
849
+ 116,
850
+ 104,
851
+ 111,
852
+ 114,
853
+ 105,
854
+ 116,
855
+ 121
856
+ ]
857
+ }
858
+ ]
859
+ }
860
+ },
861
+ {
862
+ "name": "cpiProgram",
863
+ "address": "whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc"
864
+ },
865
+ {
866
+ "name": "glamProtocolProgram",
867
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
868
+ },
869
+ {
870
+ "name": "systemProgram",
871
+ "address": "11111111111111111111111111111111"
872
+ },
873
+ {
874
+ "name": "whirlpool",
875
+ "writable": true
876
+ },
877
+ {
878
+ "name": "tokenProgramA"
879
+ },
880
+ {
881
+ "name": "tokenProgramB"
882
+ },
883
+ {
884
+ "name": "memoProgram"
885
+ },
886
+ {
887
+ "name": "position",
888
+ "writable": true
889
+ },
890
+ {
891
+ "name": "positionTokenAccount"
892
+ },
893
+ {
894
+ "name": "tokenMintA"
895
+ },
896
+ {
897
+ "name": "tokenMintB"
898
+ },
899
+ {
900
+ "name": "tokenOwnerAccountA",
901
+ "writable": true
902
+ },
903
+ {
904
+ "name": "tokenOwnerAccountB",
905
+ "writable": true
906
+ },
907
+ {
908
+ "name": "tokenVaultA",
909
+ "writable": true
910
+ },
911
+ {
912
+ "name": "tokenVaultB",
913
+ "writable": true
914
+ },
915
+ {
916
+ "name": "tickArrayLower",
917
+ "writable": true
918
+ },
919
+ {
920
+ "name": "tickArrayUpper",
921
+ "writable": true
922
+ }
923
+ ],
924
+ "args": [
925
+ {
926
+ "name": "liquidityAmount",
927
+ "type": "u128"
928
+ },
929
+ {
930
+ "name": "tokenMaxA",
931
+ "type": "u64"
932
+ },
933
+ {
934
+ "name": "tokenMaxB",
935
+ "type": "u64"
936
+ },
937
+ {
938
+ "name": "remainingAccountsInfo",
939
+ "type": {
940
+ "option": {
941
+ "defined": {
942
+ "name": "remainingAccountsInfo"
943
+ }
944
+ }
945
+ }
946
+ }
947
+ ]
948
+ },
949
+ {
950
+ "name": "initializeTickArray",
951
+ "docs": [
952
+ "Initialize an Orca fixed tick array for an allowlisted Whirlpool.",
953
+ "",
954
+ "- Permission: `InitializeTickArray`.",
955
+ "- Policy: Whirlpool and both pool token mints must be allowlisted."
956
+ ],
957
+ "discriminator": [
958
+ 11,
959
+ 188,
960
+ 193,
961
+ 214,
962
+ 141,
963
+ 91,
964
+ 149,
965
+ 184
966
+ ],
967
+ "accounts": [
968
+ {
969
+ "name": "glamState",
970
+ "writable": true
971
+ },
972
+ {
973
+ "name": "glamVault",
974
+ "writable": true,
975
+ "pda": {
976
+ "seeds": [
977
+ {
978
+ "kind": "const",
979
+ "value": [
980
+ 118,
981
+ 97,
982
+ 117,
983
+ 108,
984
+ 116
985
+ ]
986
+ },
987
+ {
988
+ "kind": "account",
989
+ "path": "glamState"
990
+ }
991
+ ],
992
+ "program": {
993
+ "kind": "account",
994
+ "path": "glamProtocolProgram"
995
+ }
996
+ }
997
+ },
998
+ {
999
+ "name": "glamSigner",
1000
+ "writable": true,
1001
+ "signer": true
1002
+ },
1003
+ {
1004
+ "name": "integrationAuthority",
1005
+ "pda": {
1006
+ "seeds": [
1007
+ {
1008
+ "kind": "const",
1009
+ "value": [
1010
+ 105,
1011
+ 110,
1012
+ 116,
1013
+ 101,
1014
+ 103,
1015
+ 114,
1016
+ 97,
1017
+ 116,
1018
+ 105,
1019
+ 111,
1020
+ 110,
1021
+ 45,
1022
+ 97,
1023
+ 117,
1024
+ 116,
1025
+ 104,
1026
+ 111,
1027
+ 114,
1028
+ 105,
1029
+ 116,
1030
+ 121
1031
+ ]
1032
+ }
1033
+ ]
1034
+ }
1035
+ },
1036
+ {
1037
+ "name": "cpiProgram",
1038
+ "address": "whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc"
1039
+ },
1040
+ {
1041
+ "name": "glamProtocolProgram",
1042
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
1043
+ },
1044
+ {
1045
+ "name": "systemProgram",
1046
+ "address": "11111111111111111111111111111111"
1047
+ },
1048
+ {
1049
+ "name": "whirlpool"
1050
+ },
1051
+ {
1052
+ "name": "tickArray",
1053
+ "writable": true
1054
+ }
1055
+ ],
1056
+ "args": [
1057
+ {
1058
+ "name": "startTickIndex",
1059
+ "type": "i32"
1060
+ }
1061
+ ]
1062
+ },
1063
+ {
1064
+ "name": "openPositionWithTokenExtensions",
1065
+ "docs": [
1066
+ "Open a Token-2022 Orca Whirlpools position owned by the GLAM vault.",
1067
+ "",
1068
+ "- Permission: `OpenPosition`.",
1069
+ "- Policy: Whirlpool and both pool token mints must be allowlisted."
1070
+ ],
1071
+ "discriminator": [
1072
+ 212,
1073
+ 47,
1074
+ 95,
1075
+ 92,
1076
+ 114,
1077
+ 102,
1078
+ 131,
1079
+ 250
1080
+ ],
1081
+ "accounts": [
1082
+ {
1083
+ "name": "glamState",
1084
+ "writable": true
1085
+ },
1086
+ {
1087
+ "name": "glamVault",
1088
+ "writable": true,
1089
+ "pda": {
1090
+ "seeds": [
1091
+ {
1092
+ "kind": "const",
1093
+ "value": [
1094
+ 118,
1095
+ 97,
1096
+ 117,
1097
+ 108,
1098
+ 116
1099
+ ]
1100
+ },
1101
+ {
1102
+ "kind": "account",
1103
+ "path": "glamState"
1104
+ }
1105
+ ],
1106
+ "program": {
1107
+ "kind": "account",
1108
+ "path": "glamProtocolProgram"
1109
+ }
1110
+ }
1111
+ },
1112
+ {
1113
+ "name": "glamSigner",
1114
+ "writable": true,
1115
+ "signer": true
1116
+ },
1117
+ {
1118
+ "name": "integrationAuthority",
1119
+ "pda": {
1120
+ "seeds": [
1121
+ {
1122
+ "kind": "const",
1123
+ "value": [
1124
+ 105,
1125
+ 110,
1126
+ 116,
1127
+ 101,
1128
+ 103,
1129
+ 114,
1130
+ 97,
1131
+ 116,
1132
+ 105,
1133
+ 111,
1134
+ 110,
1135
+ 45,
1136
+ 97,
1137
+ 117,
1138
+ 116,
1139
+ 104,
1140
+ 111,
1141
+ 114,
1142
+ 105,
1143
+ 116,
1144
+ 121
1145
+ ]
1146
+ }
1147
+ ]
1148
+ }
1149
+ },
1150
+ {
1151
+ "name": "cpiProgram",
1152
+ "address": "whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc"
1153
+ },
1154
+ {
1155
+ "name": "glamProtocolProgram",
1156
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
1157
+ },
1158
+ {
1159
+ "name": "systemProgram",
1160
+ "address": "11111111111111111111111111111111"
1161
+ },
1162
+ {
1163
+ "name": "position",
1164
+ "writable": true
1165
+ },
1166
+ {
1167
+ "name": "positionMint",
1168
+ "writable": true,
1169
+ "signer": true
1170
+ },
1171
+ {
1172
+ "name": "positionTokenAccount",
1173
+ "writable": true
1174
+ },
1175
+ {
1176
+ "name": "whirlpool"
1177
+ },
1178
+ {
1179
+ "name": "token2022Program",
1180
+ "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
1181
+ },
1182
+ {
1183
+ "name": "associatedTokenProgram",
1184
+ "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
1185
+ },
1186
+ {
1187
+ "name": "metadataUpdateAuth"
1188
+ }
1189
+ ],
1190
+ "args": [
1191
+ {
1192
+ "name": "tickLowerIndex",
1193
+ "type": "i32"
1194
+ },
1195
+ {
1196
+ "name": "tickUpperIndex",
1197
+ "type": "i32"
1198
+ },
1199
+ {
1200
+ "name": "withTokenMetadataExtension",
1201
+ "type": "bool"
1202
+ }
1203
+ ]
1204
+ },
1205
+ {
1206
+ "name": "repositionLiquidityV2",
1207
+ "docs": [
1208
+ "Reposition liquidity into a new Orca Whirlpools tick range."
1209
+ ],
1210
+ "discriminator": [
1211
+ 191,
1212
+ 169,
1213
+ 224,
1214
+ 11,
1215
+ 131,
1216
+ 19,
1217
+ 158,
1218
+ 253
1219
+ ],
1220
+ "accounts": [
1221
+ {
1222
+ "name": "glamState",
1223
+ "writable": true
1224
+ },
1225
+ {
1226
+ "name": "glamVault",
1227
+ "writable": true,
1228
+ "pda": {
1229
+ "seeds": [
1230
+ {
1231
+ "kind": "const",
1232
+ "value": [
1233
+ 118,
1234
+ 97,
1235
+ 117,
1236
+ 108,
1237
+ 116
1238
+ ]
1239
+ },
1240
+ {
1241
+ "kind": "account",
1242
+ "path": "glamState"
1243
+ }
1244
+ ],
1245
+ "program": {
1246
+ "kind": "account",
1247
+ "path": "glamProtocolProgram"
1248
+ }
1249
+ }
1250
+ },
1251
+ {
1252
+ "name": "glamSigner",
1253
+ "writable": true,
1254
+ "signer": true
1255
+ },
1256
+ {
1257
+ "name": "integrationAuthority",
1258
+ "pda": {
1259
+ "seeds": [
1260
+ {
1261
+ "kind": "const",
1262
+ "value": [
1263
+ 105,
1264
+ 110,
1265
+ 116,
1266
+ 101,
1267
+ 103,
1268
+ 114,
1269
+ 97,
1270
+ 116,
1271
+ 105,
1272
+ 111,
1273
+ 110,
1274
+ 45,
1275
+ 97,
1276
+ 117,
1277
+ 116,
1278
+ 104,
1279
+ 111,
1280
+ 114,
1281
+ 105,
1282
+ 116,
1283
+ 121
1284
+ ]
1285
+ }
1286
+ ]
1287
+ }
1288
+ },
1289
+ {
1290
+ "name": "cpiProgram",
1291
+ "address": "whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc"
1292
+ },
1293
+ {
1294
+ "name": "glamProtocolProgram",
1295
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
1296
+ },
1297
+ {
1298
+ "name": "systemProgram",
1299
+ "address": "11111111111111111111111111111111"
1300
+ },
1301
+ {
1302
+ "name": "whirlpool",
1303
+ "writable": true
1304
+ },
1305
+ {
1306
+ "name": "tokenProgramA"
1307
+ },
1308
+ {
1309
+ "name": "tokenProgramB"
1310
+ },
1311
+ {
1312
+ "name": "memoProgram"
1313
+ },
1314
+ {
1315
+ "name": "position",
1316
+ "writable": true
1317
+ },
1318
+ {
1319
+ "name": "positionTokenAccount"
1320
+ },
1321
+ {
1322
+ "name": "tokenMintA"
1323
+ },
1324
+ {
1325
+ "name": "tokenMintB"
1326
+ },
1327
+ {
1328
+ "name": "tokenOwnerAccountA",
1329
+ "writable": true
1330
+ },
1331
+ {
1332
+ "name": "tokenOwnerAccountB",
1333
+ "writable": true
1334
+ },
1335
+ {
1336
+ "name": "tokenVaultA",
1337
+ "writable": true
1338
+ },
1339
+ {
1340
+ "name": "tokenVaultB",
1341
+ "writable": true
1342
+ },
1343
+ {
1344
+ "name": "existingTickArrayLower",
1345
+ "writable": true
1346
+ },
1347
+ {
1348
+ "name": "existingTickArrayUpper",
1349
+ "writable": true
1350
+ },
1351
+ {
1352
+ "name": "newTickArrayLower",
1353
+ "writable": true
1354
+ },
1355
+ {
1356
+ "name": "newTickArrayUpper",
1357
+ "writable": true
1358
+ }
1359
+ ],
1360
+ "args": [
1361
+ {
1362
+ "name": "newTickLowerIndex",
1363
+ "type": "i32"
1364
+ },
1365
+ {
1366
+ "name": "newTickUpperIndex",
1367
+ "type": "i32"
1368
+ },
1369
+ {
1370
+ "name": "method",
1371
+ "type": {
1372
+ "defined": {
1373
+ "name": "repositionLiquidityMethod"
1374
+ }
1375
+ }
1376
+ },
1377
+ {
1378
+ "name": "remainingAccountsInfo",
1379
+ "type": {
1380
+ "option": {
1381
+ "defined": {
1382
+ "name": "remainingAccountsInfo"
1383
+ }
1384
+ }
1385
+ }
1386
+ }
1387
+ ]
1388
+ },
1389
+ {
1390
+ "name": "setWhirlpoolsPolicy",
1391
+ "docs": [
1392
+ "Set the Orca Whirlpools policy for a GLAM vault."
1393
+ ],
1394
+ "discriminator": [
1395
+ 87,
1396
+ 233,
1397
+ 250,
1398
+ 82,
1399
+ 120,
1400
+ 40,
1401
+ 212,
1402
+ 223
1403
+ ],
1404
+ "accounts": [
1405
+ {
1406
+ "name": "glamState",
1407
+ "writable": true
1408
+ },
1409
+ {
1410
+ "name": "glamSigner",
1411
+ "writable": true,
1412
+ "signer": true
1413
+ },
1414
+ {
1415
+ "name": "glamProtocolProgram",
1416
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
1417
+ }
1418
+ ],
1419
+ "args": [
1420
+ {
1421
+ "name": "policy",
1422
+ "type": {
1423
+ "defined": {
1424
+ "name": "whirlpoolsPolicy"
1425
+ }
1426
+ }
1427
+ }
1428
+ ]
1429
+ },
1430
+ {
1431
+ "name": "updateFeesAndRewards",
1432
+ "docs": [
1433
+ "Update accrued fees and rewards for an Orca Whirlpools position.",
1434
+ "",
1435
+ "- Permission: `UpdateFeesAndRewards`."
1436
+ ],
1437
+ "discriminator": [
1438
+ 154,
1439
+ 230,
1440
+ 250,
1441
+ 13,
1442
+ 236,
1443
+ 209,
1444
+ 75,
1445
+ 223
1446
+ ],
1447
+ "accounts": [
1448
+ {
1449
+ "name": "glamState",
1450
+ "writable": true
1451
+ },
1452
+ {
1453
+ "name": "glamVault",
1454
+ "writable": true,
1455
+ "pda": {
1456
+ "seeds": [
1457
+ {
1458
+ "kind": "const",
1459
+ "value": [
1460
+ 118,
1461
+ 97,
1462
+ 117,
1463
+ 108,
1464
+ 116
1465
+ ]
1466
+ },
1467
+ {
1468
+ "kind": "account",
1469
+ "path": "glamState"
1470
+ }
1471
+ ],
1472
+ "program": {
1473
+ "kind": "account",
1474
+ "path": "glamProtocolProgram"
1475
+ }
1476
+ }
1477
+ },
1478
+ {
1479
+ "name": "glamSigner",
1480
+ "writable": true,
1481
+ "signer": true
1482
+ },
1483
+ {
1484
+ "name": "integrationAuthority",
1485
+ "pda": {
1486
+ "seeds": [
1487
+ {
1488
+ "kind": "const",
1489
+ "value": [
1490
+ 105,
1491
+ 110,
1492
+ 116,
1493
+ 101,
1494
+ 103,
1495
+ 114,
1496
+ 97,
1497
+ 116,
1498
+ 105,
1499
+ 111,
1500
+ 110,
1501
+ 45,
1502
+ 97,
1503
+ 117,
1504
+ 116,
1505
+ 104,
1506
+ 111,
1507
+ 114,
1508
+ 105,
1509
+ 116,
1510
+ 121
1511
+ ]
1512
+ }
1513
+ ]
1514
+ }
1515
+ },
1516
+ {
1517
+ "name": "cpiProgram",
1518
+ "address": "whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc"
1519
+ },
1520
+ {
1521
+ "name": "glamProtocolProgram",
1522
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
1523
+ },
1524
+ {
1525
+ "name": "systemProgram",
1526
+ "address": "11111111111111111111111111111111"
1527
+ },
1528
+ {
1529
+ "name": "whirlpool",
1530
+ "writable": true
1531
+ },
1532
+ {
1533
+ "name": "position",
1534
+ "writable": true
1535
+ },
1536
+ {
1537
+ "name": "tickArrayLower"
1538
+ },
1539
+ {
1540
+ "name": "tickArrayUpper"
1541
+ }
1542
+ ],
1543
+ "args": []
1544
+ }
1545
+ ],
1546
+ "accounts": [
1547
+ {
1548
+ "name": "stateAccount",
1549
+ "discriminator": [
1550
+ 142,
1551
+ 247,
1552
+ 54,
1553
+ 95,
1554
+ 85,
1555
+ 133,
1556
+ 249,
1557
+ 103
1558
+ ]
1559
+ }
1560
+ ],
1561
+ "errors": [
1562
+ {
1563
+ "code": 6000,
1564
+ "name": "invalidWhirlpoolAccount",
1565
+ "msg": "Invalid Orca Whirlpool account"
1566
+ },
1567
+ {
1568
+ "code": 6001,
1569
+ "name": "invalidPositionAccount",
1570
+ "msg": "Invalid Orca position account"
1571
+ },
1572
+ {
1573
+ "code": 6002,
1574
+ "name": "invalidRewardIndex",
1575
+ "msg": "Invalid Orca reward index"
1576
+ },
1577
+ {
1578
+ "code": 6003,
1579
+ "name": "tokenMintMismatch",
1580
+ "msg": "Orca token account mint does not match the Whirlpool"
1581
+ },
1582
+ {
1583
+ "code": 6004,
1584
+ "name": "glamStateDisabled",
1585
+ "msg": "GLAM state is disabled"
1586
+ },
1587
+ {
1588
+ "code": 6005,
1589
+ "name": "invalidIxArgs",
1590
+ "msg": "Invalid instruction arguments"
1591
+ },
1592
+ {
1593
+ "code": 6006,
1594
+ "name": "protocolPolicyViolation",
1595
+ "msg": "Protocol policy violation"
1596
+ },
1597
+ {
1598
+ "code": 6007,
1599
+ "name": "pricingError",
1600
+ "msg": "Pricing error"
1601
+ },
1602
+ {
1603
+ "code": 6008,
1604
+ "name": "missingAccount",
1605
+ "msg": "An account required by the instruction is missing"
1606
+ },
1607
+ {
1608
+ "code": 6009,
1609
+ "name": "unsupportedOracleSource",
1610
+ "msg": "Oracle source not supported in this context"
1611
+ },
1612
+ {
1613
+ "code": 6010,
1614
+ "name": "invalidAccountType",
1615
+ "msg": "Invalid account type"
1616
+ },
1617
+ {
1618
+ "code": 6011,
1619
+ "name": "unexpectedProgramOwner",
1620
+ "msg": "Account is owned by an unexpected program"
1621
+ },
1622
+ {
1623
+ "code": 6012,
1624
+ "name": "invalidPriceDenom",
1625
+ "msg": "Invalid price denom"
1626
+ },
1627
+ {
1628
+ "code": 6013,
1629
+ "name": "maxDeviationExceeded",
1630
+ "msg": "Max deviation exceeded"
1631
+ },
1632
+ {
1633
+ "code": 6014,
1634
+ "name": "invalidTokenAccount",
1635
+ "msg": "Invalid token account"
1636
+ },
1637
+ {
1638
+ "code": 6015,
1639
+ "name": "invalidVaultTokenAccount",
1640
+ "msg": "Invalid vault ata"
1641
+ }
1642
+ ],
1643
+ "types": [
1644
+ {
1645
+ "name": "accountType",
1646
+ "type": {
1647
+ "kind": "enum",
1648
+ "variants": [
1649
+ {
1650
+ "name": "vault"
1651
+ },
1652
+ {
1653
+ "name": "tokenizedVault"
1654
+ },
1655
+ {
1656
+ "name": "mint"
1657
+ },
1658
+ {
1659
+ "name": "singleAssetVault"
1660
+ }
1661
+ ]
1662
+ }
1663
+ },
1664
+ {
1665
+ "name": "accountsType",
1666
+ "type": {
1667
+ "kind": "enum",
1668
+ "variants": [
1669
+ {
1670
+ "name": "transferHookA"
1671
+ },
1672
+ {
1673
+ "name": "transferHookB"
1674
+ },
1675
+ {
1676
+ "name": "transferHookReward"
1677
+ },
1678
+ {
1679
+ "name": "transferHookInput"
1680
+ },
1681
+ {
1682
+ "name": "transferHookIntermediate"
1683
+ },
1684
+ {
1685
+ "name": "transferHookOutput"
1686
+ },
1687
+ {
1688
+ "name": "supplementalTickArrays"
1689
+ },
1690
+ {
1691
+ "name": "supplementalTickArraysOne"
1692
+ },
1693
+ {
1694
+ "name": "supplementalTickArraysTwo"
1695
+ },
1696
+ {
1697
+ "name": "transferHookDepositA"
1698
+ },
1699
+ {
1700
+ "name": "transferHookDepositB"
1701
+ },
1702
+ {
1703
+ "name": "transferHookWithdrawalA"
1704
+ },
1705
+ {
1706
+ "name": "transferHookWithdrawalB"
1707
+ }
1708
+ ]
1709
+ }
1710
+ },
1711
+ {
1712
+ "name": "accruedFees",
1713
+ "type": {
1714
+ "kind": "struct",
1715
+ "fields": [
1716
+ {
1717
+ "name": "vaultSubscriptionFee",
1718
+ "type": "u128"
1719
+ },
1720
+ {
1721
+ "name": "vaultRedemptionFee",
1722
+ "type": "u128"
1723
+ },
1724
+ {
1725
+ "name": "managerSubscriptionFee",
1726
+ "type": "u128"
1727
+ },
1728
+ {
1729
+ "name": "managerRedemptionFee",
1730
+ "type": "u128"
1731
+ },
1732
+ {
1733
+ "name": "managementFee",
1734
+ "type": "u128"
1735
+ },
1736
+ {
1737
+ "name": "performanceFee",
1738
+ "type": "u128"
1739
+ },
1740
+ {
1741
+ "name": "protocolBaseFee",
1742
+ "type": "u128"
1743
+ },
1744
+ {
1745
+ "name": "protocolFlowFee",
1746
+ "type": "u128"
1747
+ }
1748
+ ]
1749
+ }
1750
+ },
1751
+ {
1752
+ "name": "createdModel",
1753
+ "type": {
1754
+ "kind": "struct",
1755
+ "fields": [
1756
+ {
1757
+ "name": "key",
1758
+ "type": {
1759
+ "array": [
1760
+ "u8",
1761
+ 8
1762
+ ]
1763
+ }
1764
+ },
1765
+ {
1766
+ "name": "createdBy",
1767
+ "type": "pubkey"
1768
+ },
1769
+ {
1770
+ "name": "createdAt",
1771
+ "type": "i64"
1772
+ }
1773
+ ]
1774
+ }
1775
+ },
1776
+ {
1777
+ "name": "delegateAcl",
1778
+ "type": {
1779
+ "kind": "struct",
1780
+ "fields": [
1781
+ {
1782
+ "name": "pubkey",
1783
+ "type": "pubkey"
1784
+ },
1785
+ {
1786
+ "name": "integrationPermissions",
1787
+ "type": {
1788
+ "vec": {
1789
+ "defined": {
1790
+ "name": "integrationPermissions"
1791
+ }
1792
+ }
1793
+ }
1794
+ },
1795
+ {
1796
+ "name": "expiresAt",
1797
+ "type": "i64"
1798
+ }
1799
+ ]
1800
+ }
1801
+ },
1802
+ {
1803
+ "name": "engineField",
1804
+ "type": {
1805
+ "kind": "struct",
1806
+ "fields": [
1807
+ {
1808
+ "name": "name",
1809
+ "type": {
1810
+ "defined": {
1811
+ "name": "engineFieldName"
1812
+ }
1813
+ }
1814
+ },
1815
+ {
1816
+ "name": "value",
1817
+ "type": {
1818
+ "defined": {
1819
+ "name": "engineFieldValue"
1820
+ }
1821
+ }
1822
+ }
1823
+ ]
1824
+ }
1825
+ },
1826
+ {
1827
+ "name": "engineFieldName",
1828
+ "type": {
1829
+ "kind": "enum",
1830
+ "variants": [
1831
+ {
1832
+ "name": "owner"
1833
+ },
1834
+ {
1835
+ "name": "portfolioManagerName"
1836
+ },
1837
+ {
1838
+ "name": "name"
1839
+ },
1840
+ {
1841
+ "name": "uri"
1842
+ },
1843
+ {
1844
+ "name": "assets"
1845
+ },
1846
+ {
1847
+ "name": "delegateAcls"
1848
+ },
1849
+ {
1850
+ "name": "integrationAcls"
1851
+ },
1852
+ {
1853
+ "name": "timelockDuration"
1854
+ },
1855
+ {
1856
+ "name": "borrowable"
1857
+ },
1858
+ {
1859
+ "name": "defaultAccountStateFrozen"
1860
+ },
1861
+ {
1862
+ "name": "permanentDelegate"
1863
+ },
1864
+ {
1865
+ "name": "notifyAndSettle"
1866
+ },
1867
+ {
1868
+ "name": "feeStructure"
1869
+ },
1870
+ {
1871
+ "name": "feeParams"
1872
+ },
1873
+ {
1874
+ "name": "claimableFees"
1875
+ },
1876
+ {
1877
+ "name": "claimedFees"
1878
+ },
1879
+ {
1880
+ "name": "oracleConfigs"
1881
+ }
1882
+ ]
1883
+ }
1884
+ },
1885
+ {
1886
+ "name": "engineFieldValue",
1887
+ "type": {
1888
+ "kind": "enum",
1889
+ "variants": [
1890
+ {
1891
+ "name": "boolean",
1892
+ "fields": [
1893
+ {
1894
+ "name": "val",
1895
+ "type": "bool"
1896
+ }
1897
+ ]
1898
+ },
1899
+ {
1900
+ "name": "u8",
1901
+ "fields": [
1902
+ {
1903
+ "name": "val",
1904
+ "type": "u8"
1905
+ }
1906
+ ]
1907
+ },
1908
+ {
1909
+ "name": "u32",
1910
+ "fields": [
1911
+ {
1912
+ "name": "val",
1913
+ "type": "u32"
1914
+ }
1915
+ ]
1916
+ },
1917
+ {
1918
+ "name": "u64",
1919
+ "fields": [
1920
+ {
1921
+ "name": "val",
1922
+ "type": "u64"
1923
+ }
1924
+ ]
1925
+ },
1926
+ {
1927
+ "name": "string",
1928
+ "fields": [
1929
+ {
1930
+ "name": "val",
1931
+ "type": "string"
1932
+ }
1933
+ ]
1934
+ },
1935
+ {
1936
+ "name": "pubkey",
1937
+ "fields": [
1938
+ {
1939
+ "name": "val",
1940
+ "type": "pubkey"
1941
+ }
1942
+ ]
1943
+ },
1944
+ {
1945
+ "name": "vecPubkey",
1946
+ "fields": [
1947
+ {
1948
+ "name": "val",
1949
+ "type": {
1950
+ "vec": "pubkey"
1951
+ }
1952
+ }
1953
+ ]
1954
+ },
1955
+ {
1956
+ "name": "vecU8",
1957
+ "fields": [
1958
+ {
1959
+ "name": "val",
1960
+ "type": "bytes"
1961
+ }
1962
+ ]
1963
+ },
1964
+ {
1965
+ "name": "vecU32",
1966
+ "fields": [
1967
+ {
1968
+ "name": "val",
1969
+ "type": {
1970
+ "vec": "u32"
1971
+ }
1972
+ }
1973
+ ]
1974
+ },
1975
+ {
1976
+ "name": "vecDelegateAcl",
1977
+ "fields": [
1978
+ {
1979
+ "name": "val",
1980
+ "type": {
1981
+ "vec": {
1982
+ "defined": {
1983
+ "name": "delegateAcl"
1984
+ }
1985
+ }
1986
+ }
1987
+ }
1988
+ ]
1989
+ },
1990
+ {
1991
+ "name": "vecIntegrationAcl",
1992
+ "fields": [
1993
+ {
1994
+ "name": "val",
1995
+ "type": {
1996
+ "vec": {
1997
+ "defined": {
1998
+ "name": "integrationAcl"
1999
+ }
2000
+ }
2001
+ }
2002
+ }
2003
+ ]
2004
+ },
2005
+ {
2006
+ "name": "feeStructure",
2007
+ "fields": [
2008
+ {
2009
+ "name": "val",
2010
+ "type": {
2011
+ "defined": {
2012
+ "name": "feeStructure"
2013
+ }
2014
+ }
2015
+ }
2016
+ ]
2017
+ },
2018
+ {
2019
+ "name": "feeParams",
2020
+ "fields": [
2021
+ {
2022
+ "name": "val",
2023
+ "type": {
2024
+ "defined": {
2025
+ "name": "feeParams"
2026
+ }
2027
+ }
2028
+ }
2029
+ ]
2030
+ },
2031
+ {
2032
+ "name": "accruedFees",
2033
+ "fields": [
2034
+ {
2035
+ "name": "val",
2036
+ "type": {
2037
+ "defined": {
2038
+ "name": "accruedFees"
2039
+ }
2040
+ }
2041
+ }
2042
+ ]
2043
+ },
2044
+ {
2045
+ "name": "notifyAndSettle",
2046
+ "fields": [
2047
+ {
2048
+ "name": "val",
2049
+ "type": {
2050
+ "defined": {
2051
+ "name": "notifyAndSettle"
2052
+ }
2053
+ }
2054
+ }
2055
+ ]
2056
+ },
2057
+ {
2058
+ "name": "oracleConfigs",
2059
+ "fields": [
2060
+ {
2061
+ "name": "val",
2062
+ "type": {
2063
+ "defined": {
2064
+ "name": "oracleConfigs"
2065
+ }
2066
+ }
2067
+ }
2068
+ ]
2069
+ }
2070
+ ]
2071
+ }
2072
+ },
2073
+ {
2074
+ "name": "entryExitFees",
2075
+ "type": {
2076
+ "kind": "struct",
2077
+ "fields": [
2078
+ {
2079
+ "name": "subscriptionFeeBps",
2080
+ "type": "u16"
2081
+ },
2082
+ {
2083
+ "name": "redemptionFeeBps",
2084
+ "type": "u16"
2085
+ }
2086
+ ]
2087
+ }
2088
+ },
2089
+ {
2090
+ "name": "feeParams",
2091
+ "type": {
2092
+ "kind": "struct",
2093
+ "fields": [
2094
+ {
2095
+ "name": "yearInSeconds",
2096
+ "type": "u32"
2097
+ },
2098
+ {
2099
+ "name": "paHighWaterMark",
2100
+ "type": "i128"
2101
+ },
2102
+ {
2103
+ "name": "paLastNav",
2104
+ "type": "i128"
2105
+ },
2106
+ {
2107
+ "name": "lastAum",
2108
+ "type": "i128"
2109
+ },
2110
+ {
2111
+ "name": "lastPerformanceFeeCrystallized",
2112
+ "type": "i64"
2113
+ },
2114
+ {
2115
+ "name": "lastManagementFeeCrystallized",
2116
+ "type": "i64"
2117
+ },
2118
+ {
2119
+ "name": "lastProtocolFeeCrystallized",
2120
+ "type": "i64"
2121
+ }
2122
+ ]
2123
+ }
2124
+ },
2125
+ {
2126
+ "name": "feeStructure",
2127
+ "type": {
2128
+ "kind": "struct",
2129
+ "fields": [
2130
+ {
2131
+ "name": "vault",
2132
+ "type": {
2133
+ "defined": {
2134
+ "name": "entryExitFees"
2135
+ }
2136
+ }
2137
+ },
2138
+ {
2139
+ "name": "manager",
2140
+ "type": {
2141
+ "defined": {
2142
+ "name": "entryExitFees"
2143
+ }
2144
+ }
2145
+ },
2146
+ {
2147
+ "name": "management",
2148
+ "type": {
2149
+ "defined": {
2150
+ "name": "managementFee"
2151
+ }
2152
+ }
2153
+ },
2154
+ {
2155
+ "name": "performance",
2156
+ "type": {
2157
+ "defined": {
2158
+ "name": "performanceFee"
2159
+ }
2160
+ }
2161
+ },
2162
+ {
2163
+ "name": "protocol",
2164
+ "type": {
2165
+ "defined": {
2166
+ "name": "protocolFees"
2167
+ }
2168
+ }
2169
+ }
2170
+ ]
2171
+ }
2172
+ },
2173
+ {
2174
+ "name": "hurdleType",
2175
+ "type": {
2176
+ "kind": "enum",
2177
+ "variants": [
2178
+ {
2179
+ "name": "hard"
2180
+ },
2181
+ {
2182
+ "name": "soft"
2183
+ }
2184
+ ]
2185
+ }
2186
+ },
2187
+ {
2188
+ "name": "increaseLiquidityMethod",
2189
+ "type": {
2190
+ "kind": "enum",
2191
+ "variants": [
2192
+ {
2193
+ "name": "byTokenAmounts",
2194
+ "fields": [
2195
+ {
2196
+ "name": "tokenMaxA",
2197
+ "type": "u64"
2198
+ },
2199
+ {
2200
+ "name": "tokenMaxB",
2201
+ "type": "u64"
2202
+ },
2203
+ {
2204
+ "name": "minSqrtPrice",
2205
+ "type": "u128"
2206
+ },
2207
+ {
2208
+ "name": "maxSqrtPrice",
2209
+ "type": "u128"
2210
+ }
2211
+ ]
2212
+ }
2213
+ ]
2214
+ }
2215
+ },
2216
+ {
2217
+ "name": "integrationAcl",
2218
+ "docs": [
2219
+ "An integration program can have multiple protocols supported.",
2220
+ "Enabled protocols are stored in a bitmask, and each protocol can have its own policy."
2221
+ ],
2222
+ "type": {
2223
+ "kind": "struct",
2224
+ "fields": [
2225
+ {
2226
+ "name": "integrationProgram",
2227
+ "type": "pubkey"
2228
+ },
2229
+ {
2230
+ "name": "protocolsBitmask",
2231
+ "type": "u16"
2232
+ },
2233
+ {
2234
+ "name": "protocolPolicies",
2235
+ "type": {
2236
+ "vec": {
2237
+ "defined": {
2238
+ "name": "protocolPolicy"
2239
+ }
2240
+ }
2241
+ }
2242
+ }
2243
+ ]
2244
+ }
2245
+ },
2246
+ {
2247
+ "name": "integrationPermissions",
2248
+ "docs": [
2249
+ "Stores delegate permissions for an integration program."
2250
+ ],
2251
+ "type": {
2252
+ "kind": "struct",
2253
+ "fields": [
2254
+ {
2255
+ "name": "integrationProgram",
2256
+ "type": "pubkey"
2257
+ },
2258
+ {
2259
+ "name": "protocolPermissions",
2260
+ "type": {
2261
+ "vec": {
2262
+ "defined": {
2263
+ "name": "protocolPermissions"
2264
+ }
2265
+ }
2266
+ }
2267
+ }
2268
+ ]
2269
+ }
2270
+ },
2271
+ {
2272
+ "name": "managementFee",
2273
+ "type": {
2274
+ "kind": "struct",
2275
+ "fields": [
2276
+ {
2277
+ "name": "feeBps",
2278
+ "type": "u16"
2279
+ }
2280
+ ]
2281
+ }
2282
+ },
2283
+ {
2284
+ "name": "noticePeriodType",
2285
+ "type": {
2286
+ "kind": "enum",
2287
+ "variants": [
2288
+ {
2289
+ "name": "hard"
2290
+ },
2291
+ {
2292
+ "name": "soft"
2293
+ }
2294
+ ]
2295
+ }
2296
+ },
2297
+ {
2298
+ "name": "notifyAndSettle",
2299
+ "type": {
2300
+ "kind": "struct",
2301
+ "fields": [
2302
+ {
2303
+ "name": "model",
2304
+ "type": {
2305
+ "defined": {
2306
+ "name": "valuationModel"
2307
+ }
2308
+ }
2309
+ },
2310
+ {
2311
+ "name": "permissionlessFulfillment",
2312
+ "type": "bool"
2313
+ },
2314
+ {
2315
+ "name": "subscribeNoticePeriodType",
2316
+ "type": {
2317
+ "defined": {
2318
+ "name": "noticePeriodType"
2319
+ }
2320
+ }
2321
+ },
2322
+ {
2323
+ "name": "subscribeNoticePeriod",
2324
+ "type": "u64"
2325
+ },
2326
+ {
2327
+ "name": "subscribeSettlementPeriod",
2328
+ "type": "u64"
2329
+ },
2330
+ {
2331
+ "name": "subscribeCancellationWindow",
2332
+ "type": "u64"
2333
+ },
2334
+ {
2335
+ "name": "redeemNoticePeriodType",
2336
+ "type": {
2337
+ "defined": {
2338
+ "name": "noticePeriodType"
2339
+ }
2340
+ }
2341
+ },
2342
+ {
2343
+ "name": "redeemNoticePeriod",
2344
+ "type": "u64"
2345
+ },
2346
+ {
2347
+ "name": "redeemSettlementPeriod",
2348
+ "type": "u64"
2349
+ },
2350
+ {
2351
+ "name": "redeemCancellationWindow",
2352
+ "type": "u64"
2353
+ },
2354
+ {
2355
+ "name": "timeUnit",
2356
+ "type": {
2357
+ "defined": {
2358
+ "name": "timeUnit"
2359
+ }
2360
+ }
2361
+ },
2362
+ {
2363
+ "name": "padding",
2364
+ "type": {
2365
+ "array": [
2366
+ "u8",
2367
+ 3
2368
+ ]
2369
+ }
2370
+ }
2371
+ ]
2372
+ }
2373
+ },
2374
+ {
2375
+ "name": "oracleConfigs",
2376
+ "docs": [
2377
+ "Vault-specific oracle configs. If available, these configs are preferred over the global config."
2378
+ ],
2379
+ "type": {
2380
+ "kind": "struct",
2381
+ "fields": [
2382
+ {
2383
+ "name": "maxAgesSeconds",
2384
+ "type": {
2385
+ "vec": {
2386
+ "array": [
2387
+ "u16",
2388
+ 2
2389
+ ]
2390
+ }
2391
+ }
2392
+ },
2393
+ {
2394
+ "name": "padding",
2395
+ "type": {
2396
+ "array": [
2397
+ "u8",
2398
+ 12
2399
+ ]
2400
+ }
2401
+ }
2402
+ ]
2403
+ }
2404
+ },
2405
+ {
2406
+ "name": "performanceFee",
2407
+ "type": {
2408
+ "kind": "struct",
2409
+ "fields": [
2410
+ {
2411
+ "name": "feeBps",
2412
+ "type": "u16"
2413
+ },
2414
+ {
2415
+ "name": "hurdleRateBps",
2416
+ "type": "u16"
2417
+ },
2418
+ {
2419
+ "name": "hurdleType",
2420
+ "type": {
2421
+ "defined": {
2422
+ "name": "hurdleType"
2423
+ }
2424
+ }
2425
+ }
2426
+ ]
2427
+ }
2428
+ },
2429
+ {
2430
+ "name": "pricedProtocol",
2431
+ "type": {
2432
+ "kind": "struct",
2433
+ "fields": [
2434
+ {
2435
+ "name": "rent",
2436
+ "type": "u64"
2437
+ },
2438
+ {
2439
+ "name": "amount",
2440
+ "type": "i128"
2441
+ },
2442
+ {
2443
+ "name": "decimals",
2444
+ "type": "u8"
2445
+ },
2446
+ {
2447
+ "name": "lastUpdatedSlot",
2448
+ "type": "u64"
2449
+ },
2450
+ {
2451
+ "name": "integrationProgram",
2452
+ "type": "pubkey"
2453
+ },
2454
+ {
2455
+ "name": "protocolBitflag",
2456
+ "type": "u16"
2457
+ },
2458
+ {
2459
+ "name": "positions",
2460
+ "type": {
2461
+ "vec": "pubkey"
2462
+ }
2463
+ }
2464
+ ]
2465
+ }
2466
+ },
2467
+ {
2468
+ "name": "protocolFees",
2469
+ "type": {
2470
+ "kind": "struct",
2471
+ "fields": [
2472
+ {
2473
+ "name": "baseFeeBps",
2474
+ "type": "u16"
2475
+ },
2476
+ {
2477
+ "name": "flowFeeBps",
2478
+ "type": "u16"
2479
+ }
2480
+ ]
2481
+ }
2482
+ },
2483
+ {
2484
+ "name": "protocolPermissions",
2485
+ "docs": [
2486
+ "Represents a delegate's permissions for a specific protocol"
2487
+ ],
2488
+ "type": {
2489
+ "kind": "struct",
2490
+ "fields": [
2491
+ {
2492
+ "name": "protocolBitflag",
2493
+ "type": "u16"
2494
+ },
2495
+ {
2496
+ "name": "permissionsBitmask",
2497
+ "type": "u64"
2498
+ }
2499
+ ]
2500
+ }
2501
+ },
2502
+ {
2503
+ "name": "protocolPolicy",
2504
+ "docs": [
2505
+ "Stores policy data for an integrated protocol.",
2506
+ "Integration programs serialize/deserialize this data."
2507
+ ],
2508
+ "type": {
2509
+ "kind": "struct",
2510
+ "fields": [
2511
+ {
2512
+ "name": "protocolBitflag",
2513
+ "type": "u16"
2514
+ },
2515
+ {
2516
+ "name": "data",
2517
+ "type": "bytes"
2518
+ }
2519
+ ]
2520
+ }
2521
+ },
2522
+ {
2523
+ "name": "remainingAccountsInfo",
2524
+ "type": {
2525
+ "kind": "struct",
2526
+ "fields": [
2527
+ {
2528
+ "name": "slices",
2529
+ "type": {
2530
+ "vec": {
2531
+ "defined": {
2532
+ "name": "remainingAccountsSlice"
2533
+ }
2534
+ }
2535
+ }
2536
+ }
2537
+ ]
2538
+ }
2539
+ },
2540
+ {
2541
+ "name": "remainingAccountsSlice",
2542
+ "type": {
2543
+ "kind": "struct",
2544
+ "fields": [
2545
+ {
2546
+ "name": "accountsType",
2547
+ "type": {
2548
+ "defined": {
2549
+ "name": "accountsType"
2550
+ }
2551
+ }
2552
+ },
2553
+ {
2554
+ "name": "length",
2555
+ "type": "u8"
2556
+ }
2557
+ ]
2558
+ }
2559
+ },
2560
+ {
2561
+ "name": "repositionLiquidityMethod",
2562
+ "type": {
2563
+ "kind": "enum",
2564
+ "variants": [
2565
+ {
2566
+ "name": "byLiquidity",
2567
+ "fields": [
2568
+ {
2569
+ "name": "newLiquidityAmount",
2570
+ "type": "u128"
2571
+ },
2572
+ {
2573
+ "name": "existingRangeTokenMinA",
2574
+ "type": "u64"
2575
+ },
2576
+ {
2577
+ "name": "existingRangeTokenMinB",
2578
+ "type": "u64"
2579
+ },
2580
+ {
2581
+ "name": "newRangeTokenMaxA",
2582
+ "type": "u64"
2583
+ },
2584
+ {
2585
+ "name": "newRangeTokenMaxB",
2586
+ "type": "u64"
2587
+ }
2588
+ ]
2589
+ }
2590
+ ]
2591
+ }
2592
+ },
2593
+ {
2594
+ "name": "stateAccount",
2595
+ "type": {
2596
+ "kind": "struct",
2597
+ "fields": [
2598
+ {
2599
+ "name": "accountType",
2600
+ "type": {
2601
+ "defined": {
2602
+ "name": "accountType"
2603
+ }
2604
+ }
2605
+ },
2606
+ {
2607
+ "name": "enabled",
2608
+ "type": "bool"
2609
+ },
2610
+ {
2611
+ "name": "vault",
2612
+ "type": "pubkey"
2613
+ },
2614
+ {
2615
+ "name": "owner",
2616
+ "type": "pubkey"
2617
+ },
2618
+ {
2619
+ "name": "portfolioManagerName",
2620
+ "type": {
2621
+ "array": [
2622
+ "u8",
2623
+ 32
2624
+ ]
2625
+ }
2626
+ },
2627
+ {
2628
+ "name": "created",
2629
+ "type": {
2630
+ "defined": {
2631
+ "name": "createdModel"
2632
+ }
2633
+ }
2634
+ },
2635
+ {
2636
+ "name": "baseAssetMint",
2637
+ "type": "pubkey"
2638
+ },
2639
+ {
2640
+ "name": "baseAssetDecimals",
2641
+ "type": "u8"
2642
+ },
2643
+ {
2644
+ "name": "baseAssetTokenProgram",
2645
+ "type": "u8"
2646
+ },
2647
+ {
2648
+ "name": "name",
2649
+ "type": {
2650
+ "array": [
2651
+ "u8",
2652
+ 32
2653
+ ]
2654
+ }
2655
+ },
2656
+ {
2657
+ "name": "timelockDuration",
2658
+ "type": "u32"
2659
+ },
2660
+ {
2661
+ "name": "timelockExpiresAt",
2662
+ "type": "u64"
2663
+ },
2664
+ {
2665
+ "name": "mint",
2666
+ "type": "pubkey"
2667
+ },
2668
+ {
2669
+ "name": "assets",
2670
+ "type": {
2671
+ "vec": "pubkey"
2672
+ }
2673
+ },
2674
+ {
2675
+ "name": "integrationAcls",
2676
+ "type": {
2677
+ "vec": {
2678
+ "defined": {
2679
+ "name": "integrationAcl"
2680
+ }
2681
+ }
2682
+ }
2683
+ },
2684
+ {
2685
+ "name": "delegateAcls",
2686
+ "type": {
2687
+ "vec": {
2688
+ "defined": {
2689
+ "name": "delegateAcl"
2690
+ }
2691
+ }
2692
+ }
2693
+ },
2694
+ {
2695
+ "name": "externalPositions",
2696
+ "type": {
2697
+ "vec": "pubkey"
2698
+ }
2699
+ },
2700
+ {
2701
+ "name": "pricedProtocols",
2702
+ "type": {
2703
+ "vec": {
2704
+ "defined": {
2705
+ "name": "pricedProtocol"
2706
+ }
2707
+ }
2708
+ }
2709
+ },
2710
+ {
2711
+ "name": "params",
2712
+ "type": {
2713
+ "vec": {
2714
+ "vec": {
2715
+ "defined": {
2716
+ "name": "engineField"
2717
+ }
2718
+ }
2719
+ }
2720
+ }
2721
+ }
2722
+ ]
2723
+ }
2724
+ },
2725
+ {
2726
+ "name": "timeUnit",
2727
+ "type": {
2728
+ "kind": "enum",
2729
+ "variants": [
2730
+ {
2731
+ "name": "second"
2732
+ },
2733
+ {
2734
+ "name": "slot"
2735
+ }
2736
+ ]
2737
+ }
2738
+ },
2739
+ {
2740
+ "name": "valuationModel",
2741
+ "type": {
2742
+ "kind": "enum",
2743
+ "variants": [
2744
+ {
2745
+ "name": "continuous"
2746
+ },
2747
+ {
2748
+ "name": "periodic"
2749
+ }
2750
+ ]
2751
+ }
2752
+ },
2753
+ {
2754
+ "name": "whirlpoolsPolicy",
2755
+ "type": {
2756
+ "kind": "struct",
2757
+ "fields": [
2758
+ {
2759
+ "name": "whirlpoolsAllowlist",
2760
+ "type": {
2761
+ "vec": "pubkey"
2762
+ }
2763
+ },
2764
+ {
2765
+ "name": "tokenMintsAllowlist",
2766
+ "type": {
2767
+ "vec": "pubkey"
2768
+ }
2769
+ },
2770
+ {
2771
+ "name": "maxDeviationBps",
2772
+ "docs": [
2773
+ "Signed pool/oracle price threshold in bps, matching Jupiter swap v2 semantics.",
2774
+ "Positive permits pool price below oracle, zero requires at least oracle, negative requires a premium."
2775
+ ],
2776
+ "type": "i16"
2777
+ }
2778
+ ]
2779
+ }
2780
+ }
2781
+ ],
2782
+ "constants": [
2783
+ {
2784
+ "name": "protoOrcaWhirlpools",
2785
+ "type": "u16",
2786
+ "value": "1"
2787
+ },
2788
+ {
2789
+ "name": "protoOrcaWhirlpoolsPermClosePosition",
2790
+ "type": "u64",
2791
+ "value": "64"
2792
+ },
2793
+ {
2794
+ "name": "protoOrcaWhirlpoolsPermCollectFees",
2795
+ "type": "u64",
2796
+ "value": "16"
2797
+ },
2798
+ {
2799
+ "name": "protoOrcaWhirlpoolsPermCollectReward",
2800
+ "type": "u64",
2801
+ "value": "32"
2802
+ },
2803
+ {
2804
+ "name": "protoOrcaWhirlpoolsPermDecreaseLiquidity",
2805
+ "type": "u64",
2806
+ "value": "4"
2807
+ },
2808
+ {
2809
+ "name": "protoOrcaWhirlpoolsPermIncreaseLiquidity",
2810
+ "type": "u64",
2811
+ "value": "2"
2812
+ },
2813
+ {
2814
+ "name": "protoOrcaWhirlpoolsPermIncreaseLiquidityByTokenAmounts",
2815
+ "type": "u64",
2816
+ "value": "128"
2817
+ },
2818
+ {
2819
+ "name": "protoOrcaWhirlpoolsPermInitializeTickArray",
2820
+ "type": "u64",
2821
+ "value": "512"
2822
+ },
2823
+ {
2824
+ "name": "protoOrcaWhirlpoolsPermOpenPosition",
2825
+ "type": "u64",
2826
+ "value": "1"
2827
+ },
2828
+ {
2829
+ "name": "protoOrcaWhirlpoolsPermRepositionLiquidity",
2830
+ "type": "u64",
2831
+ "value": "256"
2832
+ },
2833
+ {
2834
+ "name": "protoOrcaWhirlpoolsPermUpdateFeesAndRewards",
2835
+ "type": "u64",
2836
+ "value": "8"
2837
+ }
2838
+ ]
2839
+ };