@glamsystems/glam-sdk 1.0.12 → 1.0.13-test

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 (110) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +1 -1
  3. package/index.cjs.js +1 -57320
  4. package/index.esm.js +1 -57081
  5. package/package.json +26 -15
  6. package/src/assets.d.ts +10 -17
  7. package/src/client/access.d.ts +13 -0
  8. package/src/client/base.d.ts +30 -7
  9. package/src/client/bridge.d.ts +183 -0
  10. package/src/client/bridgeRegistry.d.ts +32 -0
  11. package/src/client/epi.d.ts +78 -0
  12. package/src/client/fees.d.ts +4 -0
  13. package/src/client/invest.d.ts +1 -1
  14. package/src/client/jupiter.d.ts +27 -20
  15. package/src/client/loopscale.d.ts +84 -0
  16. package/src/client/mint.d.ts +54 -1
  17. package/src/client/price.d.ts +26 -39
  18. package/src/client.d.ts +9 -5
  19. package/src/constants.d.ts +11 -7
  20. package/src/deser/index.d.ts +1 -1
  21. package/src/deser/integrationPolicies.d.ts +30 -20
  22. package/src/deser/tokenAclLayouts.d.ts +67 -0
  23. package/src/error.d.ts +2 -1
  24. package/src/glamExports.d.ts +1351 -1546
  25. package/src/globalConfig.d.ts +27 -0
  26. package/src/index.d.ts +5 -1
  27. package/src/models/state.d.ts +2 -0
  28. package/src/utils/accounts.d.ts +9 -1
  29. package/src/utils/bitmask.d.ts +3 -0
  30. package/src/utils/common.d.ts +2 -0
  31. package/src/utils/glamPDAs.d.ts +6 -0
  32. package/src/utils/index.d.ts +0 -1
  33. package/src/utils/pkmap.d.ts +23 -18
  34. package/src/utils/positionCategorizer.d.ts +3 -21
  35. package/target/idl/ext_bridge-staging.json +2379 -0
  36. package/target/idl/ext_bridge.json +2379 -0
  37. package/target/idl/ext_cctp.json +1 -1
  38. package/target/idl/ext_drift.json +1613 -142
  39. package/target/idl/ext_epi-staging.json +2169 -0
  40. package/target/idl/ext_epi.json +2169 -0
  41. package/target/idl/ext_kamino-staging.json +1 -1
  42. package/target/idl/ext_kamino.json +109 -1
  43. package/target/idl/{ext_drift-staging.json → ext_loopscale-staging.json} +986 -1438
  44. package/target/idl/ext_loopscale.json +3541 -0
  45. package/target/idl/ext_marinade-staging.json +1587 -0
  46. package/target/idl/ext_spl-staging.json +1 -1
  47. package/target/idl/ext_spl.json +1 -1
  48. package/target/idl/glam_config.json +78 -9
  49. package/target/idl/glam_mint-staging.json +3002 -1244
  50. package/target/idl/glam_mint.json +239 -8
  51. package/target/idl/glam_policies.json +2 -7
  52. package/target/idl/glam_protocol-staging.json +187 -266
  53. package/target/idl/glam_protocol.json +217 -114
  54. package/target/idl/mock_layerzero_endpoint.json +144 -0
  55. package/target/idl/mock_layerzero_oft.json +155 -0
  56. package/target/types/ext_bridge-staging.d.ts +2385 -0
  57. package/target/types/ext_bridge-staging.ts +2385 -0
  58. package/target/types/ext_bridge.d.ts +2385 -0
  59. package/target/types/ext_bridge.ts +2385 -0
  60. package/target/types/ext_cctp.d.ts +1 -1
  61. package/target/types/ext_cctp.ts +1 -1
  62. package/target/types/ext_drift.d.ts +1609 -138
  63. package/target/types/ext_drift.ts +1613 -142
  64. package/target/types/ext_epi-staging.d.ts +2175 -0
  65. package/target/types/ext_epi-staging.ts +2175 -0
  66. package/target/types/ext_epi.d.ts +2175 -0
  67. package/target/types/ext_epi.ts +2175 -0
  68. package/target/types/ext_kamino-staging.d.ts +3433 -0
  69. package/target/types/ext_kamino-staging.ts +1 -1
  70. package/target/types/ext_kamino.d.ts +109 -1
  71. package/target/types/ext_kamino.ts +109 -1
  72. package/target/types/ext_loopscale-staging.d.ts +3547 -0
  73. package/target/types/{ext_drift-staging.ts → ext_loopscale-staging.ts} +988 -1440
  74. package/target/types/ext_loopscale.d.ts +3547 -0
  75. package/target/types/ext_loopscale.ts +3547 -0
  76. package/target/types/ext_marinade-staging.d.ts +1593 -0
  77. package/target/types/ext_marinade-staging.ts +1593 -0
  78. package/target/types/{ext_offchain.d.ts → ext_spl-staging.d.ts} +219 -19
  79. package/target/types/ext_spl-staging.ts +1 -1
  80. package/target/types/ext_spl.d.ts +1 -1
  81. package/target/types/ext_spl.ts +1 -1
  82. package/target/types/ext_stake_pool-staging.d.ts +1622 -0
  83. package/target/types/glam_config.d.ts +78 -9
  84. package/target/types/glam_config.ts +78 -9
  85. package/target/types/glam_mint-staging.d.ts +7856 -0
  86. package/target/types/glam_mint-staging.ts +3002 -1244
  87. package/target/types/glam_mint.d.ts +239 -8
  88. package/target/types/glam_mint.ts +239 -8
  89. package/target/types/glam_policies.d.ts +477 -0
  90. package/target/types/glam_policies.ts +2 -7
  91. package/target/types/glam_protocol-staging.d.ts +3292 -0
  92. package/target/types/glam_protocol-staging.ts +187 -266
  93. package/target/types/glam_protocol.d.ts +217 -114
  94. package/target/types/glam_protocol.ts +217 -114
  95. package/target/types/mock_layerzero_endpoint.d.ts +150 -0
  96. package/target/types/mock_layerzero_endpoint.ts +150 -0
  97. package/target/types/mock_layerzero_oft.d.ts +161 -0
  98. package/target/types/mock_layerzero_oft.ts +161 -0
  99. package/src/client/drift/index.d.ts +0 -2
  100. package/src/client/drift/protocol-v2.d.ts +0 -93
  101. package/src/client/drift/vaults.d.ts +0 -60
  102. package/src/deser/driftLayouts.d.ts +0 -217
  103. package/src/react/cluster-provider.d.ts +0 -22
  104. package/src/react/glam.d.ts +0 -51
  105. package/src/react/index.d.ts +0 -5
  106. package/src/react/query-keys.d.ts +0 -40
  107. package/src/react/useVaultBalanceSubscription.d.ts +0 -17
  108. package/src/utils/drift/index.d.ts +0 -2
  109. package/src/utils/drift/orderParams.d.ts +0 -28
  110. package/src/utils/drift/types.d.ts +0 -522
@@ -0,0 +1,2379 @@
1
+ {
2
+ "address": "G1NTbnLcjMex9Tjo8ocmNK9S2zBCiGVuxKUUNGhYZztx",
3
+ "metadata": {
4
+ "name": "ext_bridge",
5
+ "version": "1.0.0",
6
+ "spec": "0.1.0",
7
+ "description": "Bridge integration for GLAM Protocol"
8
+ },
9
+ "instructions": [
10
+ {
11
+ "name": "add_layerzero_oft_route",
12
+ "discriminator": [
13
+ 53,
14
+ 181,
15
+ 204,
16
+ 38,
17
+ 240,
18
+ 57,
19
+ 218,
20
+ 148
21
+ ],
22
+ "accounts": [
23
+ {
24
+ "name": "glam_state",
25
+ "writable": true
26
+ },
27
+ {
28
+ "name": "glam_signer",
29
+ "writable": true,
30
+ "signer": true
31
+ },
32
+ {
33
+ "name": "glam_protocol_program",
34
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
35
+ }
36
+ ],
37
+ "args": [
38
+ {
39
+ "name": "route",
40
+ "type": {
41
+ "defined": {
42
+ "name": "LayerzeroOftRoute"
43
+ }
44
+ }
45
+ }
46
+ ]
47
+ },
48
+ {
49
+ "name": "commit_oft_transfer",
50
+ "docs": [
51
+ "Verifies the OFT send completed and records the resulting transfer."
52
+ ],
53
+ "discriminator": [
54
+ 246,
55
+ 116,
56
+ 17,
57
+ 13,
58
+ 64,
59
+ 227,
60
+ 248,
61
+ 78
62
+ ],
63
+ "accounts": [
64
+ {
65
+ "name": "glam_state",
66
+ "writable": true
67
+ },
68
+ {
69
+ "name": "glam_vault",
70
+ "writable": true,
71
+ "pda": {
72
+ "seeds": [
73
+ {
74
+ "kind": "const",
75
+ "value": [
76
+ 118,
77
+ 97,
78
+ 117,
79
+ 108,
80
+ 116
81
+ ]
82
+ },
83
+ {
84
+ "kind": "account",
85
+ "path": "glam_state"
86
+ }
87
+ ],
88
+ "program": {
89
+ "kind": "account",
90
+ "path": "glam_protocol_program"
91
+ }
92
+ }
93
+ },
94
+ {
95
+ "name": "glam_signer",
96
+ "writable": true,
97
+ "signer": true
98
+ },
99
+ {
100
+ "name": "cpi_program"
101
+ },
102
+ {
103
+ "name": "glam_protocol_program",
104
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
105
+ },
106
+ {
107
+ "name": "instructions",
108
+ "address": "Sysvar1nstructions1111111111111111111111111"
109
+ },
110
+ {
111
+ "name": "bridge_registry",
112
+ "writable": true,
113
+ "pda": {
114
+ "seeds": [
115
+ {
116
+ "kind": "const",
117
+ "value": [
118
+ 98,
119
+ 114,
120
+ 105,
121
+ 100,
122
+ 103,
123
+ 101,
124
+ 45,
125
+ 114,
126
+ 101,
127
+ 103,
128
+ 105,
129
+ 115,
130
+ 116,
131
+ 114,
132
+ 121
133
+ ]
134
+ },
135
+ {
136
+ "kind": "account",
137
+ "path": "glam_state"
138
+ }
139
+ ]
140
+ }
141
+ },
142
+ {
143
+ "name": "bridge_session",
144
+ "writable": true,
145
+ "pda": {
146
+ "seeds": [
147
+ {
148
+ "kind": "const",
149
+ "value": [
150
+ 98,
151
+ 114,
152
+ 105,
153
+ 100,
154
+ 103,
155
+ 101,
156
+ 45,
157
+ 115,
158
+ 101,
159
+ 115,
160
+ 115,
161
+ 105,
162
+ 111,
163
+ 110
164
+ ]
165
+ },
166
+ {
167
+ "kind": "account",
168
+ "path": "glam_state"
169
+ },
170
+ {
171
+ "kind": "arg",
172
+ "path": "args.transfer_id"
173
+ }
174
+ ]
175
+ }
176
+ },
177
+ {
178
+ "name": "source_token_account",
179
+ "writable": true
180
+ },
181
+ {
182
+ "name": "source_mint"
183
+ },
184
+ {
185
+ "name": "auxiliary_token_account",
186
+ "writable": true
187
+ },
188
+ {
189
+ "name": "integration_authority",
190
+ "pda": {
191
+ "seeds": [
192
+ {
193
+ "kind": "const",
194
+ "value": [
195
+ 105,
196
+ 110,
197
+ 116,
198
+ 101,
199
+ 103,
200
+ 114,
201
+ 97,
202
+ 116,
203
+ 105,
204
+ 111,
205
+ 110,
206
+ 45,
207
+ 97,
208
+ 117,
209
+ 116,
210
+ 104,
211
+ 111,
212
+ 114,
213
+ 105,
214
+ 116,
215
+ 121
216
+ ]
217
+ }
218
+ ]
219
+ }
220
+ },
221
+ {
222
+ "name": "system_program",
223
+ "address": "11111111111111111111111111111111"
224
+ }
225
+ ],
226
+ "args": [
227
+ {
228
+ "name": "args",
229
+ "type": {
230
+ "defined": {
231
+ "name": "CommitOftTransferArgs"
232
+ }
233
+ }
234
+ }
235
+ ]
236
+ },
237
+ {
238
+ "name": "delete_layerzero_oft_route",
239
+ "discriminator": [
240
+ 122,
241
+ 191,
242
+ 90,
243
+ 182,
244
+ 160,
245
+ 67,
246
+ 86,
247
+ 227
248
+ ],
249
+ "accounts": [
250
+ {
251
+ "name": "glam_state",
252
+ "writable": true
253
+ },
254
+ {
255
+ "name": "glam_signer",
256
+ "writable": true,
257
+ "signer": true
258
+ },
259
+ {
260
+ "name": "glam_protocol_program",
261
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
262
+ }
263
+ ],
264
+ "args": [
265
+ {
266
+ "name": "route",
267
+ "type": {
268
+ "defined": {
269
+ "name": "LayerzeroOftRoute"
270
+ }
271
+ }
272
+ }
273
+ ]
274
+ },
275
+ {
276
+ "name": "prepare_oft_transfer",
277
+ "docs": [
278
+ "Prepares the auxiliary token account used by the OFT transfer flow."
279
+ ],
280
+ "discriminator": [
281
+ 192,
282
+ 75,
283
+ 97,
284
+ 92,
285
+ 178,
286
+ 246,
287
+ 220,
288
+ 8
289
+ ],
290
+ "accounts": [
291
+ {
292
+ "name": "glam_state",
293
+ "writable": true
294
+ },
295
+ {
296
+ "name": "glam_vault",
297
+ "writable": true,
298
+ "pda": {
299
+ "seeds": [
300
+ {
301
+ "kind": "const",
302
+ "value": [
303
+ 118,
304
+ 97,
305
+ 117,
306
+ 108,
307
+ 116
308
+ ]
309
+ },
310
+ {
311
+ "kind": "account",
312
+ "path": "glam_state"
313
+ }
314
+ ],
315
+ "program": {
316
+ "kind": "account",
317
+ "path": "glam_protocol_program"
318
+ }
319
+ }
320
+ },
321
+ {
322
+ "name": "glam_signer",
323
+ "writable": true,
324
+ "signer": true
325
+ },
326
+ {
327
+ "name": "integration_authority",
328
+ "pda": {
329
+ "seeds": [
330
+ {
331
+ "kind": "const",
332
+ "value": [
333
+ 105,
334
+ 110,
335
+ 116,
336
+ 101,
337
+ 103,
338
+ 114,
339
+ 97,
340
+ 116,
341
+ 105,
342
+ 111,
343
+ 110,
344
+ 45,
345
+ 97,
346
+ 117,
347
+ 116,
348
+ 104,
349
+ 111,
350
+ 114,
351
+ 105,
352
+ 116,
353
+ 121
354
+ ]
355
+ }
356
+ ]
357
+ }
358
+ },
359
+ {
360
+ "name": "bridge_registry",
361
+ "writable": true,
362
+ "pda": {
363
+ "seeds": [
364
+ {
365
+ "kind": "const",
366
+ "value": [
367
+ 98,
368
+ 114,
369
+ 105,
370
+ 100,
371
+ 103,
372
+ 101,
373
+ 45,
374
+ 114,
375
+ 101,
376
+ 103,
377
+ 105,
378
+ 115,
379
+ 116,
380
+ 114,
381
+ 121
382
+ ]
383
+ },
384
+ {
385
+ "kind": "account",
386
+ "path": "glam_state"
387
+ }
388
+ ]
389
+ }
390
+ },
391
+ {
392
+ "name": "bridge_session",
393
+ "writable": true,
394
+ "pda": {
395
+ "seeds": [
396
+ {
397
+ "kind": "const",
398
+ "value": [
399
+ 98,
400
+ 114,
401
+ 105,
402
+ 100,
403
+ 103,
404
+ 101,
405
+ 45,
406
+ 115,
407
+ 101,
408
+ 115,
409
+ 115,
410
+ 105,
411
+ 111,
412
+ 110
413
+ ]
414
+ },
415
+ {
416
+ "kind": "account",
417
+ "path": "glam_state"
418
+ },
419
+ {
420
+ "kind": "arg",
421
+ "path": "args.transfer_id"
422
+ }
423
+ ]
424
+ }
425
+ },
426
+ {
427
+ "name": "source_token_account",
428
+ "writable": true
429
+ },
430
+ {
431
+ "name": "source_mint"
432
+ },
433
+ {
434
+ "name": "auxiliary_token_account",
435
+ "writable": true
436
+ },
437
+ {
438
+ "name": "cpi_program"
439
+ },
440
+ {
441
+ "name": "glam_protocol_program",
442
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
443
+ },
444
+ {
445
+ "name": "system_program",
446
+ "address": "11111111111111111111111111111111"
447
+ },
448
+ {
449
+ "name": "instructions",
450
+ "address": "Sysvar1nstructions1111111111111111111111111"
451
+ }
452
+ ],
453
+ "args": [
454
+ {
455
+ "name": "args",
456
+ "type": {
457
+ "defined": {
458
+ "name": "PrepareOftTransferArgs"
459
+ }
460
+ }
461
+ }
462
+ ]
463
+ },
464
+ {
465
+ "name": "price_managed_transfers",
466
+ "docs": [
467
+ "Prices managed inflight transfers and publishes aggregated amount."
468
+ ],
469
+ "discriminator": [
470
+ 77,
471
+ 76,
472
+ 20,
473
+ 48,
474
+ 41,
475
+ 168,
476
+ 205,
477
+ 81
478
+ ],
479
+ "accounts": [
480
+ {
481
+ "name": "glam_state",
482
+ "writable": true
483
+ },
484
+ {
485
+ "name": "bridge_registry",
486
+ "pda": {
487
+ "seeds": [
488
+ {
489
+ "kind": "const",
490
+ "value": [
491
+ 98,
492
+ 114,
493
+ 105,
494
+ 100,
495
+ 103,
496
+ 101,
497
+ 45,
498
+ 114,
499
+ 101,
500
+ 103,
501
+ 105,
502
+ 115,
503
+ 116,
504
+ 114,
505
+ 121
506
+ ]
507
+ },
508
+ {
509
+ "kind": "account",
510
+ "path": "glam_state"
511
+ }
512
+ ]
513
+ }
514
+ },
515
+ {
516
+ "name": "integration_authority",
517
+ "pda": {
518
+ "seeds": [
519
+ {
520
+ "kind": "const",
521
+ "value": [
522
+ 105,
523
+ 110,
524
+ 116,
525
+ 101,
526
+ 103,
527
+ 114,
528
+ 97,
529
+ 116,
530
+ 105,
531
+ 111,
532
+ 110,
533
+ 45,
534
+ 97,
535
+ 117,
536
+ 116,
537
+ 104,
538
+ 111,
539
+ 114,
540
+ 105,
541
+ 116,
542
+ 121
543
+ ]
544
+ }
545
+ ]
546
+ }
547
+ },
548
+ {
549
+ "name": "glam_protocol_program",
550
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
551
+ },
552
+ {
553
+ "name": "glam_config",
554
+ "pda": {
555
+ "seeds": [
556
+ {
557
+ "kind": "const",
558
+ "value": [
559
+ 103,
560
+ 108,
561
+ 111,
562
+ 98,
563
+ 97,
564
+ 108,
565
+ 45,
566
+ 99,
567
+ 111,
568
+ 110,
569
+ 102,
570
+ 105,
571
+ 103
572
+ ]
573
+ }
574
+ ],
575
+ "program": {
576
+ "kind": "const",
577
+ "value": [
578
+ 10,
579
+ 11,
580
+ 0,
581
+ 83,
582
+ 72,
583
+ 16,
584
+ 46,
585
+ 144,
586
+ 46,
587
+ 42,
588
+ 79,
589
+ 22,
590
+ 157,
591
+ 123,
592
+ 21,
593
+ 242,
594
+ 192,
595
+ 146,
596
+ 1,
597
+ 78,
598
+ 88,
599
+ 59,
600
+ 102,
601
+ 9,
602
+ 190,
603
+ 226,
604
+ 92,
605
+ 189,
606
+ 187,
607
+ 232,
608
+ 83,
609
+ 220
610
+ ]
611
+ }
612
+ }
613
+ },
614
+ {
615
+ "name": "base_asset_oracle"
616
+ }
617
+ ],
618
+ "args": []
619
+ },
620
+ {
621
+ "name": "settle_managed_transfer",
622
+ "docs": [
623
+ "Settles a managed inflight transfer and removes it from the registry."
624
+ ],
625
+ "discriminator": [
626
+ 197,
627
+ 87,
628
+ 37,
629
+ 239,
630
+ 24,
631
+ 244,
632
+ 152,
633
+ 135
634
+ ],
635
+ "accounts": [
636
+ {
637
+ "name": "glam_state",
638
+ "writable": true
639
+ },
640
+ {
641
+ "name": "glam_vault",
642
+ "writable": true,
643
+ "pda": {
644
+ "seeds": [
645
+ {
646
+ "kind": "const",
647
+ "value": [
648
+ 118,
649
+ 97,
650
+ 117,
651
+ 108,
652
+ 116
653
+ ]
654
+ },
655
+ {
656
+ "kind": "account",
657
+ "path": "glam_state"
658
+ }
659
+ ],
660
+ "program": {
661
+ "kind": "account",
662
+ "path": "glam_protocol_program"
663
+ }
664
+ }
665
+ },
666
+ {
667
+ "name": "glam_signer",
668
+ "writable": true,
669
+ "signer": true
670
+ },
671
+ {
672
+ "name": "glam_protocol_program",
673
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
674
+ },
675
+ {
676
+ "name": "bridge_registry",
677
+ "writable": true,
678
+ "pda": {
679
+ "seeds": [
680
+ {
681
+ "kind": "const",
682
+ "value": [
683
+ 98,
684
+ 114,
685
+ 105,
686
+ 100,
687
+ 103,
688
+ 101,
689
+ 45,
690
+ 114,
691
+ 101,
692
+ 103,
693
+ 105,
694
+ 115,
695
+ 116,
696
+ 114,
697
+ 121
698
+ ]
699
+ },
700
+ {
701
+ "kind": "account",
702
+ "path": "glam_state"
703
+ }
704
+ ]
705
+ }
706
+ },
707
+ {
708
+ "name": "integration_authority",
709
+ "pda": {
710
+ "seeds": [
711
+ {
712
+ "kind": "const",
713
+ "value": [
714
+ 105,
715
+ 110,
716
+ 116,
717
+ 101,
718
+ 103,
719
+ 114,
720
+ 97,
721
+ 116,
722
+ 105,
723
+ 111,
724
+ 110,
725
+ 45,
726
+ 97,
727
+ 117,
728
+ 116,
729
+ 104,
730
+ 111,
731
+ 114,
732
+ 105,
733
+ 116,
734
+ 121
735
+ ]
736
+ }
737
+ ]
738
+ }
739
+ },
740
+ {
741
+ "name": "system_program",
742
+ "address": "11111111111111111111111111111111"
743
+ }
744
+ ],
745
+ "args": [
746
+ {
747
+ "name": "args",
748
+ "type": {
749
+ "defined": {
750
+ "name": "SettleManagedTransferArgs"
751
+ }
752
+ }
753
+ }
754
+ ]
755
+ },
756
+ {
757
+ "name": "update_layerzero_oft_route",
758
+ "discriminator": [
759
+ 77,
760
+ 162,
761
+ 99,
762
+ 1,
763
+ 182,
764
+ 142,
765
+ 66,
766
+ 172
767
+ ],
768
+ "accounts": [
769
+ {
770
+ "name": "glam_state",
771
+ "writable": true
772
+ },
773
+ {
774
+ "name": "glam_signer",
775
+ "writable": true,
776
+ "signer": true
777
+ },
778
+ {
779
+ "name": "glam_protocol_program",
780
+ "address": "GLAMpaME8wdTEzxtiYEAa5yD8fZbxZiz2hNtV58RZiEz"
781
+ }
782
+ ],
783
+ "args": [
784
+ {
785
+ "name": "route",
786
+ "type": {
787
+ "defined": {
788
+ "name": "LayerzeroOftRoute"
789
+ }
790
+ }
791
+ }
792
+ ]
793
+ },
794
+ {
795
+ "name": "validate_managed_transfer",
796
+ "docs": [
797
+ "Validates a managed inflight transfer so that it becomes priceable."
798
+ ],
799
+ "discriminator": [
800
+ 47,
801
+ 86,
802
+ 129,
803
+ 235,
804
+ 30,
805
+ 249,
806
+ 248,
807
+ 42
808
+ ],
809
+ "accounts": [
810
+ {
811
+ "name": "glam_state",
812
+ "writable": true
813
+ },
814
+ {
815
+ "name": "glam_signer",
816
+ "signer": true
817
+ },
818
+ {
819
+ "name": "bridge_registry",
820
+ "writable": true,
821
+ "pda": {
822
+ "seeds": [
823
+ {
824
+ "kind": "const",
825
+ "value": [
826
+ 98,
827
+ 114,
828
+ 105,
829
+ 100,
830
+ 103,
831
+ 101,
832
+ 45,
833
+ 114,
834
+ 101,
835
+ 103,
836
+ 105,
837
+ 115,
838
+ 116,
839
+ 114,
840
+ 121
841
+ ]
842
+ },
843
+ {
844
+ "kind": "account",
845
+ "path": "glam_state"
846
+ }
847
+ ]
848
+ }
849
+ }
850
+ ],
851
+ "args": [
852
+ {
853
+ "name": "args",
854
+ "type": {
855
+ "defined": {
856
+ "name": "ValidateManagedTransferArgs"
857
+ }
858
+ }
859
+ }
860
+ ]
861
+ }
862
+ ],
863
+ "accounts": [
864
+ {
865
+ "name": "BridgeRegistry",
866
+ "discriminator": [
867
+ 178,
868
+ 207,
869
+ 65,
870
+ 53,
871
+ 51,
872
+ 157,
873
+ 148,
874
+ 202
875
+ ]
876
+ },
877
+ {
878
+ "name": "BridgeSession",
879
+ "discriminator": [
880
+ 235,
881
+ 118,
882
+ 90,
883
+ 227,
884
+ 230,
885
+ 173,
886
+ 141,
887
+ 184
888
+ ]
889
+ },
890
+ {
891
+ "name": "StateAccount",
892
+ "discriminator": [
893
+ 142,
894
+ 247,
895
+ 54,
896
+ 95,
897
+ 85,
898
+ 133,
899
+ 249,
900
+ 103
901
+ ]
902
+ }
903
+ ],
904
+ "errors": [
905
+ {
906
+ "code": 6000,
907
+ "name": "UnsupportedProtocol",
908
+ "msg": "Unsupported bridge protocol"
909
+ },
910
+ {
911
+ "code": 6001,
912
+ "name": "PolicyNotFound",
913
+ "msg": "A matching bridge policy was not found"
914
+ },
915
+ {
916
+ "code": 6002,
917
+ "name": "AmountTooSmall",
918
+ "msg": "Bridge amount is below the policy minimum"
919
+ },
920
+ {
921
+ "code": 6003,
922
+ "name": "AmountTooLarge",
923
+ "msg": "Bridge amount exceeds the policy maximum"
924
+ },
925
+ {
926
+ "code": 6004,
927
+ "name": "InvalidProviderProgram",
928
+ "msg": "The provider program does not match the approved policy"
929
+ },
930
+ {
931
+ "code": 6005,
932
+ "name": "InvalidSourceTokenAccount",
933
+ "msg": "The source token account is invalid"
934
+ },
935
+ {
936
+ "code": 6006,
937
+ "name": "InvalidSourceBalance",
938
+ "msg": "The source token balance did not change as expected"
939
+ },
940
+ {
941
+ "code": 6007,
942
+ "name": "InvalidProviderReceipt",
943
+ "msg": "The bridge receipt metadata is invalid"
944
+ },
945
+ {
946
+ "code": 6008,
947
+ "name": "InvalidTransferStatus",
948
+ "msg": "The bridge transfer status does not allow this action"
949
+ },
950
+ {
951
+ "code": 6009,
952
+ "name": "TransferNotManaged",
953
+ "msg": "Only managed transfers can use this instruction"
954
+ },
955
+ {
956
+ "code": 6010,
957
+ "name": "MathOverflow",
958
+ "msg": "Arithmetic overflow"
959
+ },
960
+ {
961
+ "code": 6011,
962
+ "name": "InvalidTransferRecord",
963
+ "msg": "The transfer record does not belong to this vault"
964
+ },
965
+ {
966
+ "code": 6012,
967
+ "name": "TooManyProviderInstructions",
968
+ "msg": "Too many provider instructions were supplied"
969
+ },
970
+ {
971
+ "code": 6013,
972
+ "name": "DuplicateBridgeRoute",
973
+ "msg": "Bridge policy contains overlapping duplicate routes"
974
+ },
975
+ {
976
+ "code": 6014,
977
+ "name": "BridgeRouteNotFound",
978
+ "msg": "The bridge route was not found in the existing policy"
979
+ },
980
+ {
981
+ "code": 6015,
982
+ "name": "AmbiguousBridgeRoute",
983
+ "msg": "Multiple bridge routes matched; disambiguate the provider identity"
984
+ },
985
+ {
986
+ "code": 6016,
987
+ "name": "InvalidOftAuxiliaryTokenAccount",
988
+ "msg": "The OFT auxiliary token account is invalid"
989
+ },
990
+ {
991
+ "code": 6017,
992
+ "name": "OftAuxiliaryTokenAccountAlreadyExists",
993
+ "msg": "The OFT auxiliary token account already exists"
994
+ },
995
+ {
996
+ "code": 6018,
997
+ "name": "MissingEndOftInstruction",
998
+ "msg": "Transaction must include a matching commit_oft_transfer instruction"
999
+ },
1000
+ {
1001
+ "code": 6019,
1002
+ "name": "InvalidOftInstructionSet",
1003
+ "msg": "The OFT middle instruction set is invalid"
1004
+ },
1005
+ {
1006
+ "code": 6020,
1007
+ "name": "InvalidOftAuxiliaryBalance",
1008
+ "msg": "The OFT auxiliary token balance did not change as expected"
1009
+ },
1010
+ {
1011
+ "code": 6021,
1012
+ "name": "InvalidRemainingAccounts",
1013
+ "msg": "The remaining accounts are invalid"
1014
+ },
1015
+ {
1016
+ "code": 6022,
1017
+ "name": "DuplicateTransferRecord",
1018
+ "msg": "Duplicate transfer record found"
1019
+ },
1020
+ {
1021
+ "code": 6023,
1022
+ "name": "TooManyManagedTransfers",
1023
+ "msg": "Too many managed transfers are inflight for this vault"
1024
+ },
1025
+ {
1026
+ "code": 6024,
1027
+ "name": "InvalidBridgeRegistry",
1028
+ "msg": "The bridge registry does not belong to this vault"
1029
+ }
1030
+ ],
1031
+ "types": [
1032
+ {
1033
+ "name": "AccountType",
1034
+ "type": {
1035
+ "kind": "enum",
1036
+ "variants": [
1037
+ {
1038
+ "name": "Vault"
1039
+ },
1040
+ {
1041
+ "name": "TokenizedVault"
1042
+ },
1043
+ {
1044
+ "name": "Mint"
1045
+ },
1046
+ {
1047
+ "name": "SingleAssetVault"
1048
+ }
1049
+ ]
1050
+ }
1051
+ },
1052
+ {
1053
+ "name": "AccruedFees",
1054
+ "type": {
1055
+ "kind": "struct",
1056
+ "fields": [
1057
+ {
1058
+ "name": "vault_subscription_fee",
1059
+ "type": "u128"
1060
+ },
1061
+ {
1062
+ "name": "vault_redemption_fee",
1063
+ "type": "u128"
1064
+ },
1065
+ {
1066
+ "name": "manager_subscription_fee",
1067
+ "type": "u128"
1068
+ },
1069
+ {
1070
+ "name": "manager_redemption_fee",
1071
+ "type": "u128"
1072
+ },
1073
+ {
1074
+ "name": "management_fee",
1075
+ "type": "u128"
1076
+ },
1077
+ {
1078
+ "name": "performance_fee",
1079
+ "type": "u128"
1080
+ },
1081
+ {
1082
+ "name": "protocol_base_fee",
1083
+ "type": "u128"
1084
+ },
1085
+ {
1086
+ "name": "protocol_flow_fee",
1087
+ "type": "u128"
1088
+ }
1089
+ ]
1090
+ }
1091
+ },
1092
+ {
1093
+ "name": "BridgeManagedTransfer",
1094
+ "serialization": "bytemuckunsafe",
1095
+ "repr": {
1096
+ "kind": "c"
1097
+ },
1098
+ "type": {
1099
+ "kind": "struct",
1100
+ "fields": [
1101
+ {
1102
+ "name": "transfer_id",
1103
+ "type": "pubkey"
1104
+ },
1105
+ {
1106
+ "name": "source_mint",
1107
+ "type": "pubkey"
1108
+ },
1109
+ {
1110
+ "name": "destination_recipient",
1111
+ "type": "pubkey"
1112
+ },
1113
+ {
1114
+ "name": "provider_program",
1115
+ "type": "pubkey"
1116
+ },
1117
+ {
1118
+ "name": "provider_config",
1119
+ "type": "pubkey"
1120
+ },
1121
+ {
1122
+ "name": "provider_emitter",
1123
+ "type": "pubkey"
1124
+ },
1125
+ {
1126
+ "name": "source_amount",
1127
+ "type": "u64"
1128
+ },
1129
+ {
1130
+ "name": "quoted_out_amount",
1131
+ "type": "u64"
1132
+ },
1133
+ {
1134
+ "name": "provider_sequence",
1135
+ "type": "u64"
1136
+ },
1137
+ {
1138
+ "name": "committed_slot",
1139
+ "type": "u64"
1140
+ },
1141
+ {
1142
+ "name": "protocol",
1143
+ "type": "u16"
1144
+ },
1145
+ {
1146
+ "name": "destination_chain",
1147
+ "type": "u16"
1148
+ },
1149
+ {
1150
+ "name": "source_decimals",
1151
+ "type": "u8"
1152
+ },
1153
+ {
1154
+ "name": "status",
1155
+ "type": "u8"
1156
+ },
1157
+ {
1158
+ "name": "reserved",
1159
+ "type": {
1160
+ "array": [
1161
+ "u8",
1162
+ 2
1163
+ ]
1164
+ }
1165
+ }
1166
+ ]
1167
+ }
1168
+ },
1169
+ {
1170
+ "name": "BridgeRegistry",
1171
+ "serialization": "bytemuckunsafe",
1172
+ "repr": {
1173
+ "kind": "c"
1174
+ },
1175
+ "type": {
1176
+ "kind": "struct",
1177
+ "fields": [
1178
+ {
1179
+ "name": "glam_state",
1180
+ "type": "pubkey"
1181
+ },
1182
+ {
1183
+ "name": "managed_transfer_count",
1184
+ "type": "u8"
1185
+ },
1186
+ {
1187
+ "name": "reserved",
1188
+ "type": {
1189
+ "array": [
1190
+ "u8",
1191
+ 7
1192
+ ]
1193
+ }
1194
+ },
1195
+ {
1196
+ "name": "transfers",
1197
+ "type": {
1198
+ "array": [
1199
+ {
1200
+ "defined": {
1201
+ "name": "BridgeManagedTransfer"
1202
+ }
1203
+ },
1204
+ 16
1205
+ ]
1206
+ }
1207
+ }
1208
+ ]
1209
+ }
1210
+ },
1211
+ {
1212
+ "name": "BridgeSession",
1213
+ "type": {
1214
+ "kind": "struct",
1215
+ "fields": [
1216
+ {
1217
+ "name": "glam_state",
1218
+ "type": "pubkey"
1219
+ },
1220
+ {
1221
+ "name": "signer",
1222
+ "type": "pubkey"
1223
+ },
1224
+ {
1225
+ "name": "transfer_id",
1226
+ "type": "pubkey"
1227
+ },
1228
+ {
1229
+ "name": "protocol",
1230
+ "type": "u16"
1231
+ },
1232
+ {
1233
+ "name": "managed",
1234
+ "type": "bool"
1235
+ },
1236
+ {
1237
+ "name": "source_mint",
1238
+ "type": "pubkey"
1239
+ },
1240
+ {
1241
+ "name": "source_decimals",
1242
+ "type": "u8"
1243
+ },
1244
+ {
1245
+ "name": "source_token_account",
1246
+ "type": "pubkey"
1247
+ },
1248
+ {
1249
+ "name": "provider_program",
1250
+ "type": "pubkey"
1251
+ },
1252
+ {
1253
+ "name": "provider_config",
1254
+ "type": "pubkey"
1255
+ },
1256
+ {
1257
+ "name": "provider_sender",
1258
+ "type": "pubkey"
1259
+ },
1260
+ {
1261
+ "name": "provider_delegate",
1262
+ "type": "pubkey"
1263
+ },
1264
+ {
1265
+ "name": "provider_receipt",
1266
+ "type": "pubkey"
1267
+ },
1268
+ {
1269
+ "name": "provider_instruction_hash",
1270
+ "type": {
1271
+ "array": [
1272
+ "u8",
1273
+ 32
1274
+ ]
1275
+ }
1276
+ },
1277
+ {
1278
+ "name": "provider_instruction_count",
1279
+ "type": "u16"
1280
+ },
1281
+ {
1282
+ "name": "source_amount",
1283
+ "type": "u64"
1284
+ },
1285
+ {
1286
+ "name": "quoted_out_amount",
1287
+ "type": "u64"
1288
+ },
1289
+ {
1290
+ "name": "initial_source_balance",
1291
+ "type": "u64"
1292
+ },
1293
+ {
1294
+ "name": "initial_provider_sequence",
1295
+ "type": "u64"
1296
+ },
1297
+ {
1298
+ "name": "destination_chain",
1299
+ "type": "u16"
1300
+ },
1301
+ {
1302
+ "name": "destination_recipient",
1303
+ "type": "pubkey"
1304
+ },
1305
+ {
1306
+ "name": "quote_expires_at",
1307
+ "type": "i64"
1308
+ },
1309
+ {
1310
+ "name": "prepared_slot",
1311
+ "type": "u64"
1312
+ },
1313
+ {
1314
+ "name": "bump",
1315
+ "type": "u8"
1316
+ }
1317
+ ]
1318
+ }
1319
+ },
1320
+ {
1321
+ "name": "CommitOftTransferArgs",
1322
+ "type": {
1323
+ "kind": "struct",
1324
+ "fields": [
1325
+ {
1326
+ "name": "transfer_id",
1327
+ "type": "pubkey"
1328
+ }
1329
+ ]
1330
+ }
1331
+ },
1332
+ {
1333
+ "name": "CreatedModel",
1334
+ "type": {
1335
+ "kind": "struct",
1336
+ "fields": [
1337
+ {
1338
+ "name": "key",
1339
+ "type": {
1340
+ "array": [
1341
+ "u8",
1342
+ 8
1343
+ ]
1344
+ }
1345
+ },
1346
+ {
1347
+ "name": "created_by",
1348
+ "type": "pubkey"
1349
+ },
1350
+ {
1351
+ "name": "created_at",
1352
+ "type": "i64"
1353
+ }
1354
+ ]
1355
+ }
1356
+ },
1357
+ {
1358
+ "name": "DelegateAcl",
1359
+ "type": {
1360
+ "kind": "struct",
1361
+ "fields": [
1362
+ {
1363
+ "name": "pubkey",
1364
+ "type": "pubkey"
1365
+ },
1366
+ {
1367
+ "name": "integration_permissions",
1368
+ "type": {
1369
+ "vec": {
1370
+ "defined": {
1371
+ "name": "IntegrationPermissions"
1372
+ }
1373
+ }
1374
+ }
1375
+ },
1376
+ {
1377
+ "name": "expires_at",
1378
+ "type": "i64"
1379
+ }
1380
+ ]
1381
+ }
1382
+ },
1383
+ {
1384
+ "name": "EngineField",
1385
+ "type": {
1386
+ "kind": "struct",
1387
+ "fields": [
1388
+ {
1389
+ "name": "name",
1390
+ "type": {
1391
+ "defined": {
1392
+ "name": "EngineFieldName"
1393
+ }
1394
+ }
1395
+ },
1396
+ {
1397
+ "name": "value",
1398
+ "type": {
1399
+ "defined": {
1400
+ "name": "EngineFieldValue"
1401
+ }
1402
+ }
1403
+ }
1404
+ ]
1405
+ }
1406
+ },
1407
+ {
1408
+ "name": "EngineFieldName",
1409
+ "type": {
1410
+ "kind": "enum",
1411
+ "variants": [
1412
+ {
1413
+ "name": "Owner"
1414
+ },
1415
+ {
1416
+ "name": "PortfolioManagerName"
1417
+ },
1418
+ {
1419
+ "name": "Name"
1420
+ },
1421
+ {
1422
+ "name": "Uri"
1423
+ },
1424
+ {
1425
+ "name": "Assets"
1426
+ },
1427
+ {
1428
+ "name": "DelegateAcls"
1429
+ },
1430
+ {
1431
+ "name": "IntegrationAcls"
1432
+ },
1433
+ {
1434
+ "name": "TimelockDuration"
1435
+ },
1436
+ {
1437
+ "name": "Borrowable"
1438
+ },
1439
+ {
1440
+ "name": "DefaultAccountStateFrozen"
1441
+ },
1442
+ {
1443
+ "name": "PermanentDelegate"
1444
+ },
1445
+ {
1446
+ "name": "NotifyAndSettle"
1447
+ },
1448
+ {
1449
+ "name": "FeeStructure"
1450
+ },
1451
+ {
1452
+ "name": "FeeParams"
1453
+ },
1454
+ {
1455
+ "name": "ClaimableFees"
1456
+ },
1457
+ {
1458
+ "name": "ClaimedFees"
1459
+ },
1460
+ {
1461
+ "name": "OracleConfigs"
1462
+ }
1463
+ ]
1464
+ }
1465
+ },
1466
+ {
1467
+ "name": "EngineFieldValue",
1468
+ "type": {
1469
+ "kind": "enum",
1470
+ "variants": [
1471
+ {
1472
+ "name": "Boolean",
1473
+ "fields": [
1474
+ {
1475
+ "name": "val",
1476
+ "type": "bool"
1477
+ }
1478
+ ]
1479
+ },
1480
+ {
1481
+ "name": "U8",
1482
+ "fields": [
1483
+ {
1484
+ "name": "val",
1485
+ "type": "u8"
1486
+ }
1487
+ ]
1488
+ },
1489
+ {
1490
+ "name": "U32",
1491
+ "fields": [
1492
+ {
1493
+ "name": "val",
1494
+ "type": "u32"
1495
+ }
1496
+ ]
1497
+ },
1498
+ {
1499
+ "name": "U64",
1500
+ "fields": [
1501
+ {
1502
+ "name": "val",
1503
+ "type": "u64"
1504
+ }
1505
+ ]
1506
+ },
1507
+ {
1508
+ "name": "String",
1509
+ "fields": [
1510
+ {
1511
+ "name": "val",
1512
+ "type": "string"
1513
+ }
1514
+ ]
1515
+ },
1516
+ {
1517
+ "name": "Pubkey",
1518
+ "fields": [
1519
+ {
1520
+ "name": "val",
1521
+ "type": "pubkey"
1522
+ }
1523
+ ]
1524
+ },
1525
+ {
1526
+ "name": "VecPubkey",
1527
+ "fields": [
1528
+ {
1529
+ "name": "val",
1530
+ "type": {
1531
+ "vec": "pubkey"
1532
+ }
1533
+ }
1534
+ ]
1535
+ },
1536
+ {
1537
+ "name": "VecU8",
1538
+ "fields": [
1539
+ {
1540
+ "name": "val",
1541
+ "type": "bytes"
1542
+ }
1543
+ ]
1544
+ },
1545
+ {
1546
+ "name": "VecU32",
1547
+ "fields": [
1548
+ {
1549
+ "name": "val",
1550
+ "type": {
1551
+ "vec": "u32"
1552
+ }
1553
+ }
1554
+ ]
1555
+ },
1556
+ {
1557
+ "name": "VecDelegateAcl",
1558
+ "fields": [
1559
+ {
1560
+ "name": "val",
1561
+ "type": {
1562
+ "vec": {
1563
+ "defined": {
1564
+ "name": "DelegateAcl"
1565
+ }
1566
+ }
1567
+ }
1568
+ }
1569
+ ]
1570
+ },
1571
+ {
1572
+ "name": "VecIntegrationAcl",
1573
+ "fields": [
1574
+ {
1575
+ "name": "val",
1576
+ "type": {
1577
+ "vec": {
1578
+ "defined": {
1579
+ "name": "IntegrationAcl"
1580
+ }
1581
+ }
1582
+ }
1583
+ }
1584
+ ]
1585
+ },
1586
+ {
1587
+ "name": "FeeStructure",
1588
+ "fields": [
1589
+ {
1590
+ "name": "val",
1591
+ "type": {
1592
+ "defined": {
1593
+ "name": "FeeStructure"
1594
+ }
1595
+ }
1596
+ }
1597
+ ]
1598
+ },
1599
+ {
1600
+ "name": "FeeParams",
1601
+ "fields": [
1602
+ {
1603
+ "name": "val",
1604
+ "type": {
1605
+ "defined": {
1606
+ "name": "FeeParams"
1607
+ }
1608
+ }
1609
+ }
1610
+ ]
1611
+ },
1612
+ {
1613
+ "name": "AccruedFees",
1614
+ "fields": [
1615
+ {
1616
+ "name": "val",
1617
+ "type": {
1618
+ "defined": {
1619
+ "name": "AccruedFees"
1620
+ }
1621
+ }
1622
+ }
1623
+ ]
1624
+ },
1625
+ {
1626
+ "name": "NotifyAndSettle",
1627
+ "fields": [
1628
+ {
1629
+ "name": "val",
1630
+ "type": {
1631
+ "defined": {
1632
+ "name": "NotifyAndSettle"
1633
+ }
1634
+ }
1635
+ }
1636
+ ]
1637
+ },
1638
+ {
1639
+ "name": "OracleConfigs",
1640
+ "fields": [
1641
+ {
1642
+ "name": "val",
1643
+ "type": {
1644
+ "defined": {
1645
+ "name": "OracleConfigs"
1646
+ }
1647
+ }
1648
+ }
1649
+ ]
1650
+ }
1651
+ ]
1652
+ }
1653
+ },
1654
+ {
1655
+ "name": "EntryExitFees",
1656
+ "type": {
1657
+ "kind": "struct",
1658
+ "fields": [
1659
+ {
1660
+ "name": "subscription_fee_bps",
1661
+ "type": "u16"
1662
+ },
1663
+ {
1664
+ "name": "redemption_fee_bps",
1665
+ "type": "u16"
1666
+ }
1667
+ ]
1668
+ }
1669
+ },
1670
+ {
1671
+ "name": "FeeParams",
1672
+ "type": {
1673
+ "kind": "struct",
1674
+ "fields": [
1675
+ {
1676
+ "name": "year_in_seconds",
1677
+ "type": "u32"
1678
+ },
1679
+ {
1680
+ "name": "pa_high_water_mark",
1681
+ "type": "i128"
1682
+ },
1683
+ {
1684
+ "name": "pa_last_nav",
1685
+ "type": "i128"
1686
+ },
1687
+ {
1688
+ "name": "last_aum",
1689
+ "type": "i128"
1690
+ },
1691
+ {
1692
+ "name": "last_performance_fee_crystallized",
1693
+ "type": "i64"
1694
+ },
1695
+ {
1696
+ "name": "last_management_fee_crystallized",
1697
+ "type": "i64"
1698
+ },
1699
+ {
1700
+ "name": "last_protocol_fee_crystallized",
1701
+ "type": "i64"
1702
+ }
1703
+ ]
1704
+ }
1705
+ },
1706
+ {
1707
+ "name": "FeeStructure",
1708
+ "type": {
1709
+ "kind": "struct",
1710
+ "fields": [
1711
+ {
1712
+ "name": "vault",
1713
+ "type": {
1714
+ "defined": {
1715
+ "name": "EntryExitFees"
1716
+ }
1717
+ }
1718
+ },
1719
+ {
1720
+ "name": "manager",
1721
+ "type": {
1722
+ "defined": {
1723
+ "name": "EntryExitFees"
1724
+ }
1725
+ }
1726
+ },
1727
+ {
1728
+ "name": "management",
1729
+ "type": {
1730
+ "defined": {
1731
+ "name": "ManagementFee"
1732
+ }
1733
+ }
1734
+ },
1735
+ {
1736
+ "name": "performance",
1737
+ "type": {
1738
+ "defined": {
1739
+ "name": "PerformanceFee"
1740
+ }
1741
+ }
1742
+ },
1743
+ {
1744
+ "name": "protocol",
1745
+ "type": {
1746
+ "defined": {
1747
+ "name": "ProtocolFees"
1748
+ }
1749
+ }
1750
+ }
1751
+ ]
1752
+ }
1753
+ },
1754
+ {
1755
+ "name": "HurdleType",
1756
+ "type": {
1757
+ "kind": "enum",
1758
+ "variants": [
1759
+ {
1760
+ "name": "Hard"
1761
+ },
1762
+ {
1763
+ "name": "Soft"
1764
+ }
1765
+ ]
1766
+ }
1767
+ },
1768
+ {
1769
+ "name": "IntegrationAcl",
1770
+ "docs": [
1771
+ "An integration program can have multiple protocols supported.",
1772
+ "Enabled protocols are stored in a bitmask, and each protocol can have its own policy."
1773
+ ],
1774
+ "type": {
1775
+ "kind": "struct",
1776
+ "fields": [
1777
+ {
1778
+ "name": "integration_program",
1779
+ "type": "pubkey"
1780
+ },
1781
+ {
1782
+ "name": "protocols_bitmask",
1783
+ "type": "u16"
1784
+ },
1785
+ {
1786
+ "name": "protocol_policies",
1787
+ "type": {
1788
+ "vec": {
1789
+ "defined": {
1790
+ "name": "ProtocolPolicy"
1791
+ }
1792
+ }
1793
+ }
1794
+ }
1795
+ ]
1796
+ }
1797
+ },
1798
+ {
1799
+ "name": "IntegrationPermissions",
1800
+ "docs": [
1801
+ "Stores delegate permissions for an integration program."
1802
+ ],
1803
+ "type": {
1804
+ "kind": "struct",
1805
+ "fields": [
1806
+ {
1807
+ "name": "integration_program",
1808
+ "type": "pubkey"
1809
+ },
1810
+ {
1811
+ "name": "protocol_permissions",
1812
+ "type": {
1813
+ "vec": {
1814
+ "defined": {
1815
+ "name": "ProtocolPermissions"
1816
+ }
1817
+ }
1818
+ }
1819
+ }
1820
+ ]
1821
+ }
1822
+ },
1823
+ {
1824
+ "name": "LayerzeroOftRoute",
1825
+ "docs": [
1826
+ "source_mint, destination_chain, destination_recipient, provider_program uniquely identify a route"
1827
+ ],
1828
+ "type": {
1829
+ "kind": "struct",
1830
+ "fields": [
1831
+ {
1832
+ "name": "source_mint",
1833
+ "type": "pubkey"
1834
+ },
1835
+ {
1836
+ "name": "destination_chain",
1837
+ "type": "u32"
1838
+ },
1839
+ {
1840
+ "name": "destination_recipient",
1841
+ "type": "pubkey"
1842
+ },
1843
+ {
1844
+ "name": "provider_program",
1845
+ "type": "pubkey"
1846
+ },
1847
+ {
1848
+ "name": "management_mode",
1849
+ "type": {
1850
+ "defined": {
1851
+ "name": "RouteManagementMode"
1852
+ }
1853
+ }
1854
+ },
1855
+ {
1856
+ "name": "min_amount",
1857
+ "type": "u64"
1858
+ },
1859
+ {
1860
+ "name": "max_amount",
1861
+ "type": "u64"
1862
+ }
1863
+ ]
1864
+ }
1865
+ },
1866
+ {
1867
+ "name": "ManagementFee",
1868
+ "type": {
1869
+ "kind": "struct",
1870
+ "fields": [
1871
+ {
1872
+ "name": "fee_bps",
1873
+ "type": "u16"
1874
+ }
1875
+ ]
1876
+ }
1877
+ },
1878
+ {
1879
+ "name": "NoticePeriodType",
1880
+ "type": {
1881
+ "kind": "enum",
1882
+ "variants": [
1883
+ {
1884
+ "name": "Hard"
1885
+ },
1886
+ {
1887
+ "name": "Soft"
1888
+ }
1889
+ ]
1890
+ }
1891
+ },
1892
+ {
1893
+ "name": "NotifyAndSettle",
1894
+ "type": {
1895
+ "kind": "struct",
1896
+ "fields": [
1897
+ {
1898
+ "name": "model",
1899
+ "type": {
1900
+ "defined": {
1901
+ "name": "ValuationModel"
1902
+ }
1903
+ }
1904
+ },
1905
+ {
1906
+ "name": "permissionless_fulfillment",
1907
+ "type": "bool"
1908
+ },
1909
+ {
1910
+ "name": "subscribe_notice_period_type",
1911
+ "type": {
1912
+ "defined": {
1913
+ "name": "NoticePeriodType"
1914
+ }
1915
+ }
1916
+ },
1917
+ {
1918
+ "name": "subscribe_notice_period",
1919
+ "type": "u64"
1920
+ },
1921
+ {
1922
+ "name": "subscribe_settlement_period",
1923
+ "type": "u64"
1924
+ },
1925
+ {
1926
+ "name": "subscribe_cancellation_window",
1927
+ "type": "u64"
1928
+ },
1929
+ {
1930
+ "name": "redeem_notice_period_type",
1931
+ "type": {
1932
+ "defined": {
1933
+ "name": "NoticePeriodType"
1934
+ }
1935
+ }
1936
+ },
1937
+ {
1938
+ "name": "redeem_notice_period",
1939
+ "type": "u64"
1940
+ },
1941
+ {
1942
+ "name": "redeem_settlement_period",
1943
+ "type": "u64"
1944
+ },
1945
+ {
1946
+ "name": "redeem_cancellation_window",
1947
+ "type": "u64"
1948
+ },
1949
+ {
1950
+ "name": "time_unit",
1951
+ "type": {
1952
+ "defined": {
1953
+ "name": "TimeUnit"
1954
+ }
1955
+ }
1956
+ },
1957
+ {
1958
+ "name": "_padding",
1959
+ "type": {
1960
+ "array": [
1961
+ "u8",
1962
+ 3
1963
+ ]
1964
+ }
1965
+ }
1966
+ ]
1967
+ }
1968
+ },
1969
+ {
1970
+ "name": "OracleConfigs",
1971
+ "docs": [
1972
+ "Vault-specific oracle configs. If available, these configs are preferred over the global config."
1973
+ ],
1974
+ "type": {
1975
+ "kind": "struct",
1976
+ "fields": [
1977
+ {
1978
+ "name": "max_ages_seconds",
1979
+ "type": {
1980
+ "vec": {
1981
+ "array": [
1982
+ "u16",
1983
+ 2
1984
+ ]
1985
+ }
1986
+ }
1987
+ },
1988
+ {
1989
+ "name": "padding",
1990
+ "type": {
1991
+ "array": [
1992
+ "u8",
1993
+ 12
1994
+ ]
1995
+ }
1996
+ }
1997
+ ]
1998
+ }
1999
+ },
2000
+ {
2001
+ "name": "PerformanceFee",
2002
+ "type": {
2003
+ "kind": "struct",
2004
+ "fields": [
2005
+ {
2006
+ "name": "fee_bps",
2007
+ "type": "u16"
2008
+ },
2009
+ {
2010
+ "name": "hurdle_rate_bps",
2011
+ "type": "u16"
2012
+ },
2013
+ {
2014
+ "name": "hurdle_type",
2015
+ "type": {
2016
+ "defined": {
2017
+ "name": "HurdleType"
2018
+ }
2019
+ }
2020
+ }
2021
+ ]
2022
+ }
2023
+ },
2024
+ {
2025
+ "name": "PrepareOftTransferArgs",
2026
+ "type": {
2027
+ "kind": "struct",
2028
+ "fields": [
2029
+ {
2030
+ "name": "transfer_id",
2031
+ "type": "pubkey"
2032
+ },
2033
+ {
2034
+ "name": "middle_instruction_hash",
2035
+ "type": {
2036
+ "array": [
2037
+ "u8",
2038
+ 32
2039
+ ]
2040
+ }
2041
+ },
2042
+ {
2043
+ "name": "middle_instruction_count",
2044
+ "type": "u16"
2045
+ },
2046
+ {
2047
+ "name": "source_amount",
2048
+ "type": "u64"
2049
+ },
2050
+ {
2051
+ "name": "managed",
2052
+ "type": "bool"
2053
+ }
2054
+ ]
2055
+ }
2056
+ },
2057
+ {
2058
+ "name": "PricedProtocol",
2059
+ "type": {
2060
+ "kind": "struct",
2061
+ "fields": [
2062
+ {
2063
+ "name": "rent",
2064
+ "type": "u64"
2065
+ },
2066
+ {
2067
+ "name": "amount",
2068
+ "type": "i128"
2069
+ },
2070
+ {
2071
+ "name": "decimals",
2072
+ "type": "u8"
2073
+ },
2074
+ {
2075
+ "name": "last_updated_slot",
2076
+ "type": "u64"
2077
+ },
2078
+ {
2079
+ "name": "integration_program",
2080
+ "type": "pubkey"
2081
+ },
2082
+ {
2083
+ "name": "protocol_bitflag",
2084
+ "type": "u16"
2085
+ },
2086
+ {
2087
+ "name": "positions",
2088
+ "type": {
2089
+ "vec": "pubkey"
2090
+ }
2091
+ }
2092
+ ]
2093
+ }
2094
+ },
2095
+ {
2096
+ "name": "ProtocolFees",
2097
+ "type": {
2098
+ "kind": "struct",
2099
+ "fields": [
2100
+ {
2101
+ "name": "base_fee_bps",
2102
+ "type": "u16"
2103
+ },
2104
+ {
2105
+ "name": "flow_fee_bps",
2106
+ "type": "u16"
2107
+ }
2108
+ ]
2109
+ }
2110
+ },
2111
+ {
2112
+ "name": "ProtocolPermissions",
2113
+ "docs": [
2114
+ "Represents a delegate's permissions for a specific protocol"
2115
+ ],
2116
+ "type": {
2117
+ "kind": "struct",
2118
+ "fields": [
2119
+ {
2120
+ "name": "protocol_bitflag",
2121
+ "type": "u16"
2122
+ },
2123
+ {
2124
+ "name": "permissions_bitmask",
2125
+ "type": "u64"
2126
+ }
2127
+ ]
2128
+ }
2129
+ },
2130
+ {
2131
+ "name": "ProtocolPolicy",
2132
+ "docs": [
2133
+ "Stores policy data for an integrated protocol.",
2134
+ "Integration programs serialize/deserialize this data."
2135
+ ],
2136
+ "type": {
2137
+ "kind": "struct",
2138
+ "fields": [
2139
+ {
2140
+ "name": "protocol_bitflag",
2141
+ "type": "u16"
2142
+ },
2143
+ {
2144
+ "name": "data",
2145
+ "type": "bytes"
2146
+ }
2147
+ ]
2148
+ }
2149
+ },
2150
+ {
2151
+ "name": "RouteManagementMode",
2152
+ "type": {
2153
+ "kind": "enum",
2154
+ "variants": [
2155
+ {
2156
+ "name": "UnmanagedOnly"
2157
+ },
2158
+ {
2159
+ "name": "ManagedOnly"
2160
+ },
2161
+ {
2162
+ "name": "Either"
2163
+ }
2164
+ ]
2165
+ }
2166
+ },
2167
+ {
2168
+ "name": "SettleManagedTransferArgs",
2169
+ "type": {
2170
+ "kind": "struct",
2171
+ "fields": [
2172
+ {
2173
+ "name": "transfer_id",
2174
+ "type": "pubkey"
2175
+ }
2176
+ ]
2177
+ }
2178
+ },
2179
+ {
2180
+ "name": "StateAccount",
2181
+ "type": {
2182
+ "kind": "struct",
2183
+ "fields": [
2184
+ {
2185
+ "name": "account_type",
2186
+ "type": {
2187
+ "defined": {
2188
+ "name": "AccountType"
2189
+ }
2190
+ }
2191
+ },
2192
+ {
2193
+ "name": "enabled",
2194
+ "type": "bool"
2195
+ },
2196
+ {
2197
+ "name": "vault",
2198
+ "type": "pubkey"
2199
+ },
2200
+ {
2201
+ "name": "owner",
2202
+ "type": "pubkey"
2203
+ },
2204
+ {
2205
+ "name": "portfolio_manager_name",
2206
+ "type": {
2207
+ "array": [
2208
+ "u8",
2209
+ 32
2210
+ ]
2211
+ }
2212
+ },
2213
+ {
2214
+ "name": "created",
2215
+ "type": {
2216
+ "defined": {
2217
+ "name": "CreatedModel"
2218
+ }
2219
+ }
2220
+ },
2221
+ {
2222
+ "name": "base_asset_mint",
2223
+ "type": "pubkey"
2224
+ },
2225
+ {
2226
+ "name": "base_asset_decimals",
2227
+ "type": "u8"
2228
+ },
2229
+ {
2230
+ "name": "base_asset_token_program",
2231
+ "type": "u8"
2232
+ },
2233
+ {
2234
+ "name": "name",
2235
+ "type": {
2236
+ "array": [
2237
+ "u8",
2238
+ 32
2239
+ ]
2240
+ }
2241
+ },
2242
+ {
2243
+ "name": "timelock_duration",
2244
+ "type": "u32"
2245
+ },
2246
+ {
2247
+ "name": "timelock_expires_at",
2248
+ "type": "u64"
2249
+ },
2250
+ {
2251
+ "name": "mint",
2252
+ "type": "pubkey"
2253
+ },
2254
+ {
2255
+ "name": "assets",
2256
+ "type": {
2257
+ "vec": "pubkey"
2258
+ }
2259
+ },
2260
+ {
2261
+ "name": "integration_acls",
2262
+ "type": {
2263
+ "vec": {
2264
+ "defined": {
2265
+ "name": "IntegrationAcl"
2266
+ }
2267
+ }
2268
+ }
2269
+ },
2270
+ {
2271
+ "name": "delegate_acls",
2272
+ "type": {
2273
+ "vec": {
2274
+ "defined": {
2275
+ "name": "DelegateAcl"
2276
+ }
2277
+ }
2278
+ }
2279
+ },
2280
+ {
2281
+ "name": "external_positions",
2282
+ "type": {
2283
+ "vec": "pubkey"
2284
+ }
2285
+ },
2286
+ {
2287
+ "name": "priced_protocols",
2288
+ "type": {
2289
+ "vec": {
2290
+ "defined": {
2291
+ "name": "PricedProtocol"
2292
+ }
2293
+ }
2294
+ }
2295
+ },
2296
+ {
2297
+ "name": "params",
2298
+ "type": {
2299
+ "vec": {
2300
+ "vec": {
2301
+ "defined": {
2302
+ "name": "EngineField"
2303
+ }
2304
+ }
2305
+ }
2306
+ }
2307
+ }
2308
+ ]
2309
+ }
2310
+ },
2311
+ {
2312
+ "name": "TimeUnit",
2313
+ "type": {
2314
+ "kind": "enum",
2315
+ "variants": [
2316
+ {
2317
+ "name": "Second"
2318
+ },
2319
+ {
2320
+ "name": "Slot"
2321
+ }
2322
+ ]
2323
+ }
2324
+ },
2325
+ {
2326
+ "name": "ValidateManagedTransferArgs",
2327
+ "type": {
2328
+ "kind": "struct",
2329
+ "fields": [
2330
+ {
2331
+ "name": "transfer_id",
2332
+ "type": "pubkey"
2333
+ }
2334
+ ]
2335
+ }
2336
+ },
2337
+ {
2338
+ "name": "ValuationModel",
2339
+ "type": {
2340
+ "kind": "enum",
2341
+ "variants": [
2342
+ {
2343
+ "name": "Continuous"
2344
+ },
2345
+ {
2346
+ "name": "Periodic"
2347
+ }
2348
+ ]
2349
+ }
2350
+ }
2351
+ ],
2352
+ "constants": [
2353
+ {
2354
+ "name": "PROTO_BRIDGE_PERM_SEND",
2355
+ "type": "u64",
2356
+ "value": "1"
2357
+ },
2358
+ {
2359
+ "name": "PROTO_BRIDGE_PERM_SETTLE",
2360
+ "type": "u64",
2361
+ "value": "4"
2362
+ },
2363
+ {
2364
+ "name": "PROTO_BRIDGE_PERM_VALIDATE",
2365
+ "type": "u64",
2366
+ "value": "2"
2367
+ },
2368
+ {
2369
+ "name": "PROTO_LAYERZERO_OFT",
2370
+ "type": "u16",
2371
+ "value": "4"
2372
+ },
2373
+ {
2374
+ "name": "PROTO_MANAGED_INFLIGHT",
2375
+ "type": "u16",
2376
+ "value": "4"
2377
+ }
2378
+ ]
2379
+ }