@glamsystems/glam-sdk 1.0.14-alpha.4 → 1.0.14-alpha.6

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