@glamsystems/glam-sdk 1.1.0 → 1.1.1-alpha.0

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