@glamsystems/glam-sdk 1.1.0-alpha.3 → 1.1.0-alpha.5

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,1268 @@
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_cctp.json`.
6
+ */
7
+ export type ExtCctp = {
8
+ "address": "gstgcuRwiX2FpmtigowB1TnVi3fPkZC9TEmVnc5sdxW",
9
+ "metadata": {
10
+ "name": "extCctp",
11
+ "version": "1.0.1",
12
+ "spec": "0.1.0",
13
+ "description": "CCTP integration for GLAM Protocol"
14
+ },
15
+ "instructions": [
16
+ {
17
+ "name": "depositForBurn",
18
+ "discriminator": [
19
+ 215,
20
+ 60,
21
+ 61,
22
+ 46,
23
+ 114,
24
+ 55,
25
+ 128,
26
+ 176
27
+ ],
28
+ "accounts": [
29
+ {
30
+ "name": "glamState",
31
+ "writable": true
32
+ },
33
+ {
34
+ "name": "glamVault",
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": "glamState"
51
+ }
52
+ ],
53
+ "program": {
54
+ "kind": "account",
55
+ "path": "glamProtocolProgram"
56
+ }
57
+ }
58
+ },
59
+ {
60
+ "name": "glamSigner",
61
+ "writable": true,
62
+ "signer": true
63
+ },
64
+ {
65
+ "name": "integrationAuthority",
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": "cpiProgram",
99
+ "address": "CCTPV2vPZJS2u2BBsUoscuikbYjnpFmbFsvVuJdgUMQe"
100
+ },
101
+ {
102
+ "name": "glamProtocolProgram",
103
+ "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz"
104
+ },
105
+ {
106
+ "name": "systemProgram",
107
+ "address": "11111111111111111111111111111111"
108
+ },
109
+ {
110
+ "name": "senderAuthorityPda"
111
+ },
112
+ {
113
+ "name": "burnTokenAccount",
114
+ "writable": true
115
+ },
116
+ {
117
+ "name": "denylistAccount"
118
+ },
119
+ {
120
+ "name": "messageTransmitter",
121
+ "writable": true
122
+ },
123
+ {
124
+ "name": "tokenMessenger"
125
+ },
126
+ {
127
+ "name": "remoteTokenMessenger"
128
+ },
129
+ {
130
+ "name": "tokenMinter"
131
+ },
132
+ {
133
+ "name": "localToken",
134
+ "writable": true
135
+ },
136
+ {
137
+ "name": "burnTokenMint",
138
+ "writable": true
139
+ },
140
+ {
141
+ "name": "messageSentEventData",
142
+ "writable": true,
143
+ "signer": true
144
+ },
145
+ {
146
+ "name": "messageTransmitterProgram",
147
+ "address": "CCTPV2Sm4AdWt5296sk4P66VBZ7bEhcARwFaaS9YPbeC"
148
+ },
149
+ {
150
+ "name": "tokenMessengerMinterProgram",
151
+ "address": "CCTPV2vPZJS2u2BBsUoscuikbYjnpFmbFsvVuJdgUMQe"
152
+ },
153
+ {
154
+ "name": "tokenProgram",
155
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
156
+ },
157
+ {
158
+ "name": "eventAuthority"
159
+ }
160
+ ],
161
+ "args": [
162
+ {
163
+ "name": "args",
164
+ "type": {
165
+ "defined": {
166
+ "name": "depositForBurnParams"
167
+ }
168
+ }
169
+ }
170
+ ]
171
+ },
172
+ {
173
+ "name": "setCctpPolicy",
174
+ "discriminator": [
175
+ 32,
176
+ 88,
177
+ 254,
178
+ 15,
179
+ 2,
180
+ 206,
181
+ 222,
182
+ 234
183
+ ],
184
+ "accounts": [
185
+ {
186
+ "name": "glamState",
187
+ "writable": true
188
+ },
189
+ {
190
+ "name": "glamSigner",
191
+ "writable": true,
192
+ "signer": true
193
+ },
194
+ {
195
+ "name": "glamProtocolProgram",
196
+ "address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz"
197
+ }
198
+ ],
199
+ "args": [
200
+ {
201
+ "name": "policy",
202
+ "type": {
203
+ "defined": {
204
+ "name": "cctpPolicy"
205
+ }
206
+ }
207
+ }
208
+ ]
209
+ }
210
+ ],
211
+ "accounts": [
212
+ {
213
+ "name": "stateAccount",
214
+ "discriminator": [
215
+ 142,
216
+ 247,
217
+ 54,
218
+ 95,
219
+ 85,
220
+ 133,
221
+ 249,
222
+ 103
223
+ ]
224
+ }
225
+ ],
226
+ "types": [
227
+ {
228
+ "name": "accountType",
229
+ "type": {
230
+ "kind": "enum",
231
+ "variants": [
232
+ {
233
+ "name": "vault"
234
+ },
235
+ {
236
+ "name": "tokenizedVault"
237
+ },
238
+ {
239
+ "name": "mint"
240
+ },
241
+ {
242
+ "name": "singleAssetVault"
243
+ }
244
+ ]
245
+ }
246
+ },
247
+ {
248
+ "name": "accruedFees",
249
+ "type": {
250
+ "kind": "struct",
251
+ "fields": [
252
+ {
253
+ "name": "vaultSubscriptionFee",
254
+ "type": "u128"
255
+ },
256
+ {
257
+ "name": "vaultRedemptionFee",
258
+ "type": "u128"
259
+ },
260
+ {
261
+ "name": "managerSubscriptionFee",
262
+ "type": "u128"
263
+ },
264
+ {
265
+ "name": "managerRedemptionFee",
266
+ "type": "u128"
267
+ },
268
+ {
269
+ "name": "managementFee",
270
+ "type": "u128"
271
+ },
272
+ {
273
+ "name": "performanceFee",
274
+ "type": "u128"
275
+ },
276
+ {
277
+ "name": "protocolBaseFee",
278
+ "type": "u128"
279
+ },
280
+ {
281
+ "name": "protocolFlowFee",
282
+ "type": "u128"
283
+ }
284
+ ]
285
+ }
286
+ },
287
+ {
288
+ "name": "cctpDestination",
289
+ "type": {
290
+ "kind": "struct",
291
+ "fields": [
292
+ {
293
+ "name": "domain",
294
+ "type": "u32"
295
+ },
296
+ {
297
+ "name": "address",
298
+ "type": "pubkey"
299
+ }
300
+ ]
301
+ }
302
+ },
303
+ {
304
+ "name": "cctpPolicy",
305
+ "type": {
306
+ "kind": "struct",
307
+ "fields": [
308
+ {
309
+ "name": "allowedDestinations",
310
+ "type": {
311
+ "vec": {
312
+ "defined": {
313
+ "name": "cctpDestination"
314
+ }
315
+ }
316
+ }
317
+ }
318
+ ]
319
+ }
320
+ },
321
+ {
322
+ "name": "createdModel",
323
+ "type": {
324
+ "kind": "struct",
325
+ "fields": [
326
+ {
327
+ "name": "key",
328
+ "type": {
329
+ "array": [
330
+ "u8",
331
+ 8
332
+ ]
333
+ }
334
+ },
335
+ {
336
+ "name": "createdBy",
337
+ "type": "pubkey"
338
+ },
339
+ {
340
+ "name": "createdAt",
341
+ "type": "i64"
342
+ }
343
+ ]
344
+ }
345
+ },
346
+ {
347
+ "name": "delegateAcl",
348
+ "type": {
349
+ "kind": "struct",
350
+ "fields": [
351
+ {
352
+ "name": "pubkey",
353
+ "type": "pubkey"
354
+ },
355
+ {
356
+ "name": "integrationPermissions",
357
+ "type": {
358
+ "vec": {
359
+ "defined": {
360
+ "name": "integrationPermissions"
361
+ }
362
+ }
363
+ }
364
+ },
365
+ {
366
+ "name": "expiresAt",
367
+ "type": "i64"
368
+ }
369
+ ]
370
+ }
371
+ },
372
+ {
373
+ "name": "depositForBurnParams",
374
+ "type": {
375
+ "kind": "struct",
376
+ "fields": [
377
+ {
378
+ "name": "amount",
379
+ "type": "u64"
380
+ },
381
+ {
382
+ "name": "destinationDomain",
383
+ "type": "u32"
384
+ },
385
+ {
386
+ "name": "mintRecipient",
387
+ "type": "pubkey"
388
+ },
389
+ {
390
+ "name": "destinationCaller",
391
+ "type": "pubkey"
392
+ },
393
+ {
394
+ "name": "maxFee",
395
+ "type": "u64"
396
+ },
397
+ {
398
+ "name": "minFinalityThreshold",
399
+ "type": "u32"
400
+ }
401
+ ]
402
+ }
403
+ },
404
+ {
405
+ "name": "engineField",
406
+ "type": {
407
+ "kind": "struct",
408
+ "fields": [
409
+ {
410
+ "name": "name",
411
+ "type": {
412
+ "defined": {
413
+ "name": "engineFieldName"
414
+ }
415
+ }
416
+ },
417
+ {
418
+ "name": "value",
419
+ "type": {
420
+ "defined": {
421
+ "name": "engineFieldValue"
422
+ }
423
+ }
424
+ }
425
+ ]
426
+ }
427
+ },
428
+ {
429
+ "name": "engineFieldName",
430
+ "type": {
431
+ "kind": "enum",
432
+ "variants": [
433
+ {
434
+ "name": "owner"
435
+ },
436
+ {
437
+ "name": "portfolioManagerName"
438
+ },
439
+ {
440
+ "name": "name"
441
+ },
442
+ {
443
+ "name": "uri"
444
+ },
445
+ {
446
+ "name": "assets"
447
+ },
448
+ {
449
+ "name": "delegateAcls"
450
+ },
451
+ {
452
+ "name": "integrationAcls"
453
+ },
454
+ {
455
+ "name": "timelockDuration"
456
+ },
457
+ {
458
+ "name": "borrowable"
459
+ },
460
+ {
461
+ "name": "defaultAccountStateFrozen"
462
+ },
463
+ {
464
+ "name": "permanentDelegate"
465
+ },
466
+ {
467
+ "name": "notifyAndSettle"
468
+ },
469
+ {
470
+ "name": "feeStructure"
471
+ },
472
+ {
473
+ "name": "feeParams"
474
+ },
475
+ {
476
+ "name": "claimableFees"
477
+ },
478
+ {
479
+ "name": "claimedFees"
480
+ },
481
+ {
482
+ "name": "oracleConfigs"
483
+ }
484
+ ]
485
+ }
486
+ },
487
+ {
488
+ "name": "engineFieldValue",
489
+ "type": {
490
+ "kind": "enum",
491
+ "variants": [
492
+ {
493
+ "name": "boolean",
494
+ "fields": [
495
+ {
496
+ "name": "val",
497
+ "type": "bool"
498
+ }
499
+ ]
500
+ },
501
+ {
502
+ "name": "u8",
503
+ "fields": [
504
+ {
505
+ "name": "val",
506
+ "type": "u8"
507
+ }
508
+ ]
509
+ },
510
+ {
511
+ "name": "u32",
512
+ "fields": [
513
+ {
514
+ "name": "val",
515
+ "type": "u32"
516
+ }
517
+ ]
518
+ },
519
+ {
520
+ "name": "u64",
521
+ "fields": [
522
+ {
523
+ "name": "val",
524
+ "type": "u64"
525
+ }
526
+ ]
527
+ },
528
+ {
529
+ "name": "string",
530
+ "fields": [
531
+ {
532
+ "name": "val",
533
+ "type": "string"
534
+ }
535
+ ]
536
+ },
537
+ {
538
+ "name": "pubkey",
539
+ "fields": [
540
+ {
541
+ "name": "val",
542
+ "type": "pubkey"
543
+ }
544
+ ]
545
+ },
546
+ {
547
+ "name": "vecPubkey",
548
+ "fields": [
549
+ {
550
+ "name": "val",
551
+ "type": {
552
+ "vec": "pubkey"
553
+ }
554
+ }
555
+ ]
556
+ },
557
+ {
558
+ "name": "vecU8",
559
+ "fields": [
560
+ {
561
+ "name": "val",
562
+ "type": "bytes"
563
+ }
564
+ ]
565
+ },
566
+ {
567
+ "name": "vecU32",
568
+ "fields": [
569
+ {
570
+ "name": "val",
571
+ "type": {
572
+ "vec": "u32"
573
+ }
574
+ }
575
+ ]
576
+ },
577
+ {
578
+ "name": "vecDelegateAcl",
579
+ "fields": [
580
+ {
581
+ "name": "val",
582
+ "type": {
583
+ "vec": {
584
+ "defined": {
585
+ "name": "delegateAcl"
586
+ }
587
+ }
588
+ }
589
+ }
590
+ ]
591
+ },
592
+ {
593
+ "name": "vecIntegrationAcl",
594
+ "fields": [
595
+ {
596
+ "name": "val",
597
+ "type": {
598
+ "vec": {
599
+ "defined": {
600
+ "name": "integrationAcl"
601
+ }
602
+ }
603
+ }
604
+ }
605
+ ]
606
+ },
607
+ {
608
+ "name": "feeStructure",
609
+ "fields": [
610
+ {
611
+ "name": "val",
612
+ "type": {
613
+ "defined": {
614
+ "name": "feeStructure"
615
+ }
616
+ }
617
+ }
618
+ ]
619
+ },
620
+ {
621
+ "name": "feeParams",
622
+ "fields": [
623
+ {
624
+ "name": "val",
625
+ "type": {
626
+ "defined": {
627
+ "name": "feeParams"
628
+ }
629
+ }
630
+ }
631
+ ]
632
+ },
633
+ {
634
+ "name": "accruedFees",
635
+ "fields": [
636
+ {
637
+ "name": "val",
638
+ "type": {
639
+ "defined": {
640
+ "name": "accruedFees"
641
+ }
642
+ }
643
+ }
644
+ ]
645
+ },
646
+ {
647
+ "name": "notifyAndSettle",
648
+ "fields": [
649
+ {
650
+ "name": "val",
651
+ "type": {
652
+ "defined": {
653
+ "name": "notifyAndSettle"
654
+ }
655
+ }
656
+ }
657
+ ]
658
+ },
659
+ {
660
+ "name": "oracleConfigs",
661
+ "fields": [
662
+ {
663
+ "name": "val",
664
+ "type": {
665
+ "defined": {
666
+ "name": "oracleConfigs"
667
+ }
668
+ }
669
+ }
670
+ ]
671
+ }
672
+ ]
673
+ }
674
+ },
675
+ {
676
+ "name": "entryExitFees",
677
+ "type": {
678
+ "kind": "struct",
679
+ "fields": [
680
+ {
681
+ "name": "subscriptionFeeBps",
682
+ "type": "u16"
683
+ },
684
+ {
685
+ "name": "redemptionFeeBps",
686
+ "type": "u16"
687
+ }
688
+ ]
689
+ }
690
+ },
691
+ {
692
+ "name": "feeParams",
693
+ "type": {
694
+ "kind": "struct",
695
+ "fields": [
696
+ {
697
+ "name": "yearInSeconds",
698
+ "type": "u32"
699
+ },
700
+ {
701
+ "name": "paHighWaterMark",
702
+ "type": "i128"
703
+ },
704
+ {
705
+ "name": "paLastNav",
706
+ "type": "i128"
707
+ },
708
+ {
709
+ "name": "lastAum",
710
+ "type": "i128"
711
+ },
712
+ {
713
+ "name": "lastPerformanceFeeCrystallized",
714
+ "type": "i64"
715
+ },
716
+ {
717
+ "name": "lastManagementFeeCrystallized",
718
+ "type": "i64"
719
+ },
720
+ {
721
+ "name": "lastProtocolFeeCrystallized",
722
+ "type": "i64"
723
+ }
724
+ ]
725
+ }
726
+ },
727
+ {
728
+ "name": "feeStructure",
729
+ "type": {
730
+ "kind": "struct",
731
+ "fields": [
732
+ {
733
+ "name": "vault",
734
+ "type": {
735
+ "defined": {
736
+ "name": "entryExitFees"
737
+ }
738
+ }
739
+ },
740
+ {
741
+ "name": "manager",
742
+ "type": {
743
+ "defined": {
744
+ "name": "entryExitFees"
745
+ }
746
+ }
747
+ },
748
+ {
749
+ "name": "management",
750
+ "type": {
751
+ "defined": {
752
+ "name": "managementFee"
753
+ }
754
+ }
755
+ },
756
+ {
757
+ "name": "performance",
758
+ "type": {
759
+ "defined": {
760
+ "name": "performanceFee"
761
+ }
762
+ }
763
+ },
764
+ {
765
+ "name": "protocol",
766
+ "type": {
767
+ "defined": {
768
+ "name": "protocolFees"
769
+ }
770
+ }
771
+ }
772
+ ]
773
+ }
774
+ },
775
+ {
776
+ "name": "hurdleType",
777
+ "type": {
778
+ "kind": "enum",
779
+ "variants": [
780
+ {
781
+ "name": "hard"
782
+ },
783
+ {
784
+ "name": "soft"
785
+ }
786
+ ]
787
+ }
788
+ },
789
+ {
790
+ "name": "integrationAcl",
791
+ "docs": [
792
+ "An integration program can have multiple protocols supported.",
793
+ "Enabled protocols are stored in a bitmask, and each protocol can have its own policy."
794
+ ],
795
+ "type": {
796
+ "kind": "struct",
797
+ "fields": [
798
+ {
799
+ "name": "integrationProgram",
800
+ "type": "pubkey"
801
+ },
802
+ {
803
+ "name": "protocolsBitmask",
804
+ "type": "u16"
805
+ },
806
+ {
807
+ "name": "protocolPolicies",
808
+ "type": {
809
+ "vec": {
810
+ "defined": {
811
+ "name": "protocolPolicy"
812
+ }
813
+ }
814
+ }
815
+ }
816
+ ]
817
+ }
818
+ },
819
+ {
820
+ "name": "integrationPermissions",
821
+ "docs": [
822
+ "Stores delegate permissions for an integration program."
823
+ ],
824
+ "type": {
825
+ "kind": "struct",
826
+ "fields": [
827
+ {
828
+ "name": "integrationProgram",
829
+ "type": "pubkey"
830
+ },
831
+ {
832
+ "name": "protocolPermissions",
833
+ "type": {
834
+ "vec": {
835
+ "defined": {
836
+ "name": "protocolPermissions"
837
+ }
838
+ }
839
+ }
840
+ }
841
+ ]
842
+ }
843
+ },
844
+ {
845
+ "name": "managementFee",
846
+ "type": {
847
+ "kind": "struct",
848
+ "fields": [
849
+ {
850
+ "name": "feeBps",
851
+ "type": "u16"
852
+ }
853
+ ]
854
+ }
855
+ },
856
+ {
857
+ "name": "noticePeriodType",
858
+ "type": {
859
+ "kind": "enum",
860
+ "variants": [
861
+ {
862
+ "name": "hard"
863
+ },
864
+ {
865
+ "name": "soft"
866
+ }
867
+ ]
868
+ }
869
+ },
870
+ {
871
+ "name": "notifyAndSettle",
872
+ "type": {
873
+ "kind": "struct",
874
+ "fields": [
875
+ {
876
+ "name": "model",
877
+ "type": {
878
+ "defined": {
879
+ "name": "valuationModel"
880
+ }
881
+ }
882
+ },
883
+ {
884
+ "name": "permissionlessFulfillment",
885
+ "type": "bool"
886
+ },
887
+ {
888
+ "name": "subscribeNoticePeriodType",
889
+ "type": {
890
+ "defined": {
891
+ "name": "noticePeriodType"
892
+ }
893
+ }
894
+ },
895
+ {
896
+ "name": "subscribeNoticePeriod",
897
+ "type": "u64"
898
+ },
899
+ {
900
+ "name": "subscribeSettlementPeriod",
901
+ "type": "u64"
902
+ },
903
+ {
904
+ "name": "subscribeCancellationWindow",
905
+ "type": "u64"
906
+ },
907
+ {
908
+ "name": "redeemNoticePeriodType",
909
+ "type": {
910
+ "defined": {
911
+ "name": "noticePeriodType"
912
+ }
913
+ }
914
+ },
915
+ {
916
+ "name": "redeemNoticePeriod",
917
+ "type": "u64"
918
+ },
919
+ {
920
+ "name": "redeemSettlementPeriod",
921
+ "type": "u64"
922
+ },
923
+ {
924
+ "name": "redeemCancellationWindow",
925
+ "type": "u64"
926
+ },
927
+ {
928
+ "name": "timeUnit",
929
+ "type": {
930
+ "defined": {
931
+ "name": "timeUnit"
932
+ }
933
+ }
934
+ },
935
+ {
936
+ "name": "padding",
937
+ "type": {
938
+ "array": [
939
+ "u8",
940
+ 3
941
+ ]
942
+ }
943
+ }
944
+ ]
945
+ }
946
+ },
947
+ {
948
+ "name": "oracleConfigs",
949
+ "docs": [
950
+ "Vault-specific oracle configs. If available, these configs are preferred over the global config."
951
+ ],
952
+ "type": {
953
+ "kind": "struct",
954
+ "fields": [
955
+ {
956
+ "name": "maxAgesSeconds",
957
+ "type": {
958
+ "vec": {
959
+ "array": [
960
+ "u16",
961
+ 2
962
+ ]
963
+ }
964
+ }
965
+ },
966
+ {
967
+ "name": "padding",
968
+ "type": {
969
+ "array": [
970
+ "u8",
971
+ 12
972
+ ]
973
+ }
974
+ }
975
+ ]
976
+ }
977
+ },
978
+ {
979
+ "name": "performanceFee",
980
+ "type": {
981
+ "kind": "struct",
982
+ "fields": [
983
+ {
984
+ "name": "feeBps",
985
+ "type": "u16"
986
+ },
987
+ {
988
+ "name": "hurdleRateBps",
989
+ "type": "u16"
990
+ },
991
+ {
992
+ "name": "hurdleType",
993
+ "type": {
994
+ "defined": {
995
+ "name": "hurdleType"
996
+ }
997
+ }
998
+ }
999
+ ]
1000
+ }
1001
+ },
1002
+ {
1003
+ "name": "pricedProtocol",
1004
+ "type": {
1005
+ "kind": "struct",
1006
+ "fields": [
1007
+ {
1008
+ "name": "rent",
1009
+ "type": "u64"
1010
+ },
1011
+ {
1012
+ "name": "amount",
1013
+ "type": "i128"
1014
+ },
1015
+ {
1016
+ "name": "decimals",
1017
+ "type": "u8"
1018
+ },
1019
+ {
1020
+ "name": "lastUpdatedSlot",
1021
+ "type": "u64"
1022
+ },
1023
+ {
1024
+ "name": "integrationProgram",
1025
+ "type": "pubkey"
1026
+ },
1027
+ {
1028
+ "name": "protocolBitflag",
1029
+ "type": "u16"
1030
+ },
1031
+ {
1032
+ "name": "positions",
1033
+ "type": {
1034
+ "vec": "pubkey"
1035
+ }
1036
+ }
1037
+ ]
1038
+ }
1039
+ },
1040
+ {
1041
+ "name": "protocolFees",
1042
+ "type": {
1043
+ "kind": "struct",
1044
+ "fields": [
1045
+ {
1046
+ "name": "baseFeeBps",
1047
+ "type": "u16"
1048
+ },
1049
+ {
1050
+ "name": "flowFeeBps",
1051
+ "type": "u16"
1052
+ }
1053
+ ]
1054
+ }
1055
+ },
1056
+ {
1057
+ "name": "protocolPermissions",
1058
+ "docs": [
1059
+ "Represents a delegate's permissions for a specific protocol"
1060
+ ],
1061
+ "type": {
1062
+ "kind": "struct",
1063
+ "fields": [
1064
+ {
1065
+ "name": "protocolBitflag",
1066
+ "type": "u16"
1067
+ },
1068
+ {
1069
+ "name": "permissionsBitmask",
1070
+ "type": "u64"
1071
+ }
1072
+ ]
1073
+ }
1074
+ },
1075
+ {
1076
+ "name": "protocolPolicy",
1077
+ "docs": [
1078
+ "Stores policy data for an integrated protocol.",
1079
+ "Integration programs serialize/deserialize this data."
1080
+ ],
1081
+ "type": {
1082
+ "kind": "struct",
1083
+ "fields": [
1084
+ {
1085
+ "name": "protocolBitflag",
1086
+ "type": "u16"
1087
+ },
1088
+ {
1089
+ "name": "data",
1090
+ "type": "bytes"
1091
+ }
1092
+ ]
1093
+ }
1094
+ },
1095
+ {
1096
+ "name": "stateAccount",
1097
+ "type": {
1098
+ "kind": "struct",
1099
+ "fields": [
1100
+ {
1101
+ "name": "accountType",
1102
+ "type": {
1103
+ "defined": {
1104
+ "name": "accountType"
1105
+ }
1106
+ }
1107
+ },
1108
+ {
1109
+ "name": "enabled",
1110
+ "type": "bool"
1111
+ },
1112
+ {
1113
+ "name": "vault",
1114
+ "type": "pubkey"
1115
+ },
1116
+ {
1117
+ "name": "owner",
1118
+ "type": "pubkey"
1119
+ },
1120
+ {
1121
+ "name": "portfolioManagerName",
1122
+ "type": {
1123
+ "array": [
1124
+ "u8",
1125
+ 32
1126
+ ]
1127
+ }
1128
+ },
1129
+ {
1130
+ "name": "created",
1131
+ "type": {
1132
+ "defined": {
1133
+ "name": "createdModel"
1134
+ }
1135
+ }
1136
+ },
1137
+ {
1138
+ "name": "baseAssetMint",
1139
+ "type": "pubkey"
1140
+ },
1141
+ {
1142
+ "name": "baseAssetDecimals",
1143
+ "type": "u8"
1144
+ },
1145
+ {
1146
+ "name": "baseAssetTokenProgram",
1147
+ "type": "u8"
1148
+ },
1149
+ {
1150
+ "name": "name",
1151
+ "type": {
1152
+ "array": [
1153
+ "u8",
1154
+ 32
1155
+ ]
1156
+ }
1157
+ },
1158
+ {
1159
+ "name": "timelockDuration",
1160
+ "type": "u32"
1161
+ },
1162
+ {
1163
+ "name": "timelockExpiresAt",
1164
+ "type": "u64"
1165
+ },
1166
+ {
1167
+ "name": "mint",
1168
+ "type": "pubkey"
1169
+ },
1170
+ {
1171
+ "name": "assets",
1172
+ "type": {
1173
+ "vec": "pubkey"
1174
+ }
1175
+ },
1176
+ {
1177
+ "name": "integrationAcls",
1178
+ "type": {
1179
+ "vec": {
1180
+ "defined": {
1181
+ "name": "integrationAcl"
1182
+ }
1183
+ }
1184
+ }
1185
+ },
1186
+ {
1187
+ "name": "delegateAcls",
1188
+ "type": {
1189
+ "vec": {
1190
+ "defined": {
1191
+ "name": "delegateAcl"
1192
+ }
1193
+ }
1194
+ }
1195
+ },
1196
+ {
1197
+ "name": "externalPositions",
1198
+ "type": {
1199
+ "vec": "pubkey"
1200
+ }
1201
+ },
1202
+ {
1203
+ "name": "pricedProtocols",
1204
+ "type": {
1205
+ "vec": {
1206
+ "defined": {
1207
+ "name": "pricedProtocol"
1208
+ }
1209
+ }
1210
+ }
1211
+ },
1212
+ {
1213
+ "name": "params",
1214
+ "type": {
1215
+ "vec": {
1216
+ "vec": {
1217
+ "defined": {
1218
+ "name": "engineField"
1219
+ }
1220
+ }
1221
+ }
1222
+ }
1223
+ }
1224
+ ]
1225
+ }
1226
+ },
1227
+ {
1228
+ "name": "timeUnit",
1229
+ "type": {
1230
+ "kind": "enum",
1231
+ "variants": [
1232
+ {
1233
+ "name": "second"
1234
+ },
1235
+ {
1236
+ "name": "slot"
1237
+ }
1238
+ ]
1239
+ }
1240
+ },
1241
+ {
1242
+ "name": "valuationModel",
1243
+ "type": {
1244
+ "kind": "enum",
1245
+ "variants": [
1246
+ {
1247
+ "name": "continuous"
1248
+ },
1249
+ {
1250
+ "name": "periodic"
1251
+ }
1252
+ ]
1253
+ }
1254
+ }
1255
+ ],
1256
+ "constants": [
1257
+ {
1258
+ "name": "protoCctp",
1259
+ "type": "u16",
1260
+ "value": "1"
1261
+ },
1262
+ {
1263
+ "name": "protoCctpPermTransfer",
1264
+ "type": "u64",
1265
+ "value": "1"
1266
+ }
1267
+ ]
1268
+ };