@wireio/stake 0.1.0 → 0.1.2

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 (104) hide show
  1. package/README.md +57 -0
  2. package/lib/stake.browser.js +11836 -4103
  3. package/lib/stake.browser.js.map +1 -1
  4. package/lib/stake.d.ts +374 -556
  5. package/lib/stake.js +12089 -4303
  6. package/lib/stake.js.map +1 -1
  7. package/lib/stake.m.js +11836 -4103
  8. package/lib/stake.m.js.map +1 -1
  9. package/package.json +1 -1
  10. package/src/assets/ethereum/ABI/liqEth/DepositManager.sol/DepositManager.dbg.json +4 -0
  11. package/src/assets/ethereum/ABI/liqEth/DepositManager.sol/DepositManager.json +1153 -0
  12. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IAccounting.dbg.json +4 -0
  13. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IAccounting.json +172 -0
  14. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
  15. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IDepositContract.json +39 -0
  16. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
  17. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IDepositManager.json +64 -0
  18. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/ILiqEthBurn.dbg.json +4 -0
  19. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/ILiqEthBurn.json +24 -0
  20. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/ILiqEthMint.dbg.json +4 -0
  21. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/ILiqEthMint.json +35 -0
  22. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
  23. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IRewardsERC20.json +213 -0
  24. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
  25. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IStakingModule.json +138 -0
  26. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
  27. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.json +70 -0
  28. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
  29. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IWithdrawalRecord.json +64 -0
  30. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
  31. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/LiqEthCommon.json +10 -0
  32. package/src/assets/ethereum/ABI/liqEth/RewardsERC20.sol/RewardsERC20.dbg.json +4 -0
  33. package/src/assets/ethereum/ABI/liqEth/RewardsERC20.sol/RewardsERC20.json +749 -0
  34. package/src/assets/ethereum/ABI/liqEth/RewardsERC20Pausable.sol/RewardsERC20Pausable.dbg.json +4 -0
  35. package/src/assets/ethereum/ABI/liqEth/RewardsERC20Pausable.sol/RewardsERC20Pausable.json +812 -0
  36. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/BeaconRoots.dbg.json +4 -0
  37. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/BeaconRoots.json +10 -0
  38. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZ.dbg.json +4 -0
  39. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZ.json +10 -0
  40. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/ValidatorBalanceVerifier.dbg.json +4 -0
  41. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/ValidatorBalanceVerifier.json +225 -0
  42. package/src/assets/ethereum/ABI/liqEth/Yield.sol/BeaconRoots.dbg.json +4 -0
  43. package/src/assets/ethereum/ABI/liqEth/Yield.sol/BeaconRoots.json +10 -0
  44. package/src/assets/ethereum/ABI/liqEth/Yield.sol/SSZ.dbg.json +4 -0
  45. package/src/assets/ethereum/ABI/liqEth/Yield.sol/SSZ.json +10 -0
  46. package/src/assets/ethereum/ABI/liqEth/Yield.sol/YieldOracle.dbg.json +4 -0
  47. package/src/assets/ethereum/ABI/liqEth/Yield.sol/YieldOracle.json +813 -0
  48. package/src/assets/ethereum/ABI/liqEth/accounting.sol/Accounting.dbg.json +4 -0
  49. package/src/assets/ethereum/ABI/liqEth/accounting.sol/Accounting.json +651 -0
  50. package/src/assets/ethereum/ABI/liqEth/liqEth.sol/LiqEthToken.dbg.json +4 -0
  51. package/src/assets/ethereum/ABI/liqEth/liqEth.sol/LiqEthToken.json +1110 -0
  52. package/src/assets/ethereum/ABI/liqEth/liqEthBurn.sol/LiqEthBurn.dbg.json +4 -0
  53. package/src/assets/ethereum/ABI/liqEth/liqEthBurn.sol/LiqEthBurn.json +391 -0
  54. package/src/assets/ethereum/ABI/liqEth/liqEthMint.sol/LiqEthMint.dbg.json +4 -0
  55. package/src/assets/ethereum/ABI/liqEth/liqEthMint.sol/LiqEthMint.json +402 -0
  56. package/src/assets/ethereum/ABI/liqEth/stakingModule.sol/StakingModule.dbg.json +4 -0
  57. package/src/assets/ethereum/ABI/liqEth/stakingModule.sol/StakingModule.json +1225 -0
  58. package/src/assets/ethereum/ABI/liqEth/withdrawalQueue.sol/WithdrawalQueue.dbg.json +4 -0
  59. package/src/assets/ethereum/ABI/liqEth/withdrawalQueue.sol/WithdrawalQueue.json +927 -0
  60. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/Uint64BE.dbg.json +4 -0
  61. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/Uint64BE.json +10 -0
  62. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/WithdrawalVault.dbg.json +4 -0
  63. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/WithdrawalVault.json +447 -0
  64. package/src/assets/solana/idl/liqsol_core.json +4239 -0
  65. package/src/assets/solana/idl/liqsol_token.json +183 -0
  66. package/src/assets/solana/idl/validator_leaderboard.json +270 -265
  67. package/src/assets/solana/types/liqsol_core.ts +4245 -0
  68. package/src/assets/solana/types/liqsol_token.ts +189 -0
  69. package/src/assets/solana/types/validator_leaderboard.ts +270 -265
  70. package/src/index.ts +1 -3
  71. package/src/networks/ethereum/contract.ts +101 -36
  72. package/src/networks/ethereum/ethereum.ts +141 -45
  73. package/src/networks/ethereum/types.ts +30 -2
  74. package/src/networks/solana/clients/deposit.client.ts +71 -109
  75. package/src/networks/solana/clients/distribution.client.ts +256 -383
  76. package/src/networks/solana/clients/leaderboard.client.ts +38 -133
  77. package/src/networks/solana/constants.ts +214 -130
  78. package/src/networks/solana/program.ts +25 -38
  79. package/src/networks/solana/solana.ts +120 -105
  80. package/src/networks/solana/types.ts +37 -47
  81. package/src/networks/solana/utils.ts +551 -0
  82. package/src/scripts/tsconfig.json +17 -0
  83. package/src/staker/staker.ts +10 -6
  84. package/src/staker/types.ts +14 -9
  85. package/src/assets/solana/idl/deposit.json +0 -296
  86. package/src/assets/solana/idl/distribution.json +0 -768
  87. package/src/assets/solana/idl/liq_sol_token.json +0 -298
  88. package/src/assets/solana/idl/mint_helper.json +0 -110
  89. package/src/assets/solana/idl/read_tracked_balance.json +0 -140
  90. package/src/assets/solana/idl/stake_controller.json +0 -2149
  91. package/src/assets/solana/idl/treasury.json +0 -110
  92. package/src/assets/solana/idl/validator_registry.json +0 -487
  93. package/src/assets/solana/idl/yield_oracle.json +0 -32
  94. package/src/assets/solana/types/deposit.ts +0 -302
  95. package/src/assets/solana/types/distribution.ts +0 -774
  96. package/src/assets/solana/types/liq_sol_token.ts +0 -304
  97. package/src/assets/solana/types/mint_helper.ts +0 -116
  98. package/src/assets/solana/types/read_tracked_balance.ts +0 -146
  99. package/src/assets/solana/types/stake_controller.ts +0 -2155
  100. package/src/assets/solana/types/stake_registry.ts +0 -441
  101. package/src/assets/solana/types/treasury.ts +0 -116
  102. package/src/assets/solana/types/validator_registry.ts +0 -493
  103. package/src/assets/solana/types/yield_oracle.ts +0 -38
  104. package/src/common/utils.ts +0 -9
@@ -0,0 +1,4245 @@
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/liqsol_core.json`.
6
+ */
7
+ export type LiqsolCore = {
8
+ "address": "BsxpwvCaoerUPdY4CgPFgHMmgN939ogDd8MMvH7Zdpgr",
9
+ "metadata": {
10
+ "name": "liqsolCore",
11
+ "version": "0.1.0",
12
+ "spec": "0.1.0",
13
+ "description": "Created with Anchor"
14
+ },
15
+ "instructions": [
16
+ {
17
+ "name": "addBondLevel",
18
+ "discriminator": [
19
+ 102,
20
+ 36,
21
+ 12,
22
+ 245,
23
+ 60,
24
+ 124,
25
+ 92,
26
+ 74
27
+ ],
28
+ "accounts": [
29
+ {
30
+ "name": "authority",
31
+ "writable": true,
32
+ "signer": true
33
+ },
34
+ {
35
+ "name": "barConfig"
36
+ },
37
+ {
38
+ "name": "bondLevel",
39
+ "writable": true
40
+ },
41
+ {
42
+ "name": "systemProgram"
43
+ }
44
+ ],
45
+ "args": [
46
+ {
47
+ "name": "bondId",
48
+ "type": {
49
+ "array": [
50
+ "u8",
51
+ 32
52
+ ]
53
+ }
54
+ },
55
+ {
56
+ "name": "warmupPeriod",
57
+ "type": "u64"
58
+ },
59
+ {
60
+ "name": "cooldownPeriod",
61
+ "type": "u64"
62
+ },
63
+ {
64
+ "name": "minReceiptPrincipal",
65
+ "type": "u64"
66
+ },
67
+ {
68
+ "name": "roles",
69
+ "type": {
70
+ "array": [
71
+ {
72
+ "defined": {
73
+ "name": "role"
74
+ }
75
+ },
76
+ 4
77
+ ]
78
+ }
79
+ }
80
+ ]
81
+ },
82
+ {
83
+ "name": "addValidator",
84
+ "docs": [
85
+ "Done///"
86
+ ],
87
+ "discriminator": [
88
+ 250,
89
+ 113,
90
+ 53,
91
+ 54,
92
+ 141,
93
+ 117,
94
+ 215,
95
+ 185
96
+ ],
97
+ "accounts": [
98
+ {
99
+ "name": "authority",
100
+ "signer": true
101
+ },
102
+ {
103
+ "name": "validatorRegistry",
104
+ "writable": true
105
+ },
106
+ {
107
+ "name": "transientsTracking",
108
+ "writable": true
109
+ }
110
+ ],
111
+ "args": [
112
+ {
113
+ "name": "voteAccount",
114
+ "type": "pubkey"
115
+ },
116
+ {
117
+ "name": "name",
118
+ "type": "string"
119
+ },
120
+ {
121
+ "name": "performanceScore",
122
+ "type": "u8"
123
+ }
124
+ ]
125
+ },
126
+ {
127
+ "name": "advanceServiceability",
128
+ "docs": [
129
+ "Advance the max servicable receipt ID"
130
+ ],
131
+ "discriminator": [
132
+ 139,
133
+ 89,
134
+ 79,
135
+ 2,
136
+ 90,
137
+ 211,
138
+ 173,
139
+ 240
140
+ ],
141
+ "accounts": [
142
+ {
143
+ "name": "global",
144
+ "writable": true
145
+ },
146
+ {
147
+ "name": "runtimeProgram"
148
+ }
149
+ ],
150
+ "args": [
151
+ {
152
+ "name": "resolvedEpoch",
153
+ "type": "u64"
154
+ }
155
+ ]
156
+ },
157
+ {
158
+ "name": "bondWireReceipt",
159
+ "discriminator": [
160
+ 56,
161
+ 121,
162
+ 67,
163
+ 27,
164
+ 75,
165
+ 101,
166
+ 114,
167
+ 5
168
+ ],
169
+ "accounts": [
170
+ {
171
+ "name": "payer",
172
+ "writable": true,
173
+ "signer": true
174
+ },
175
+ {
176
+ "name": "bondLevel",
177
+ "writable": true
178
+ },
179
+ {
180
+ "name": "actor",
181
+ "docs": [
182
+ "Actor being bonded/flagged"
183
+ ]
184
+ },
185
+ {
186
+ "name": "bondedActor",
187
+ "writable": true
188
+ },
189
+ {
190
+ "name": "bondOwner",
191
+ "docs": [
192
+ "Owner of the WireReceipt bond"
193
+ ],
194
+ "writable": true,
195
+ "signer": true
196
+ },
197
+ {
198
+ "name": "barConfig"
199
+ },
200
+ {
201
+ "name": "wireReceipt",
202
+ "docs": [
203
+ "The WireReceipt account used as the bond; must belong to the bond owner"
204
+ ],
205
+ "writable": true
206
+ },
207
+ {
208
+ "name": "systemProgram"
209
+ }
210
+ ],
211
+ "args": []
212
+ },
213
+ {
214
+ "name": "claimBond",
215
+ "discriminator": [
216
+ 173,
217
+ 34,
218
+ 157,
219
+ 61,
220
+ 45,
221
+ 120,
222
+ 246,
223
+ 11
224
+ ],
225
+ "accounts": [
226
+ {
227
+ "name": "bondOwner",
228
+ "writable": true,
229
+ "signer": true
230
+ },
231
+ {
232
+ "name": "barConfig",
233
+ "docs": [
234
+ "Reserved for future OPP assertions"
235
+ ]
236
+ },
237
+ {
238
+ "name": "bondLevel"
239
+ },
240
+ {
241
+ "name": "actor",
242
+ "docs": [
243
+ "Actor whose bond is being claimed/cleared"
244
+ ]
245
+ },
246
+ {
247
+ "name": "bondedActor",
248
+ "writable": true
249
+ },
250
+ {
251
+ "name": "wireReceipt",
252
+ "docs": [
253
+ "The WireReceipt to unlock after claiming bond"
254
+ ],
255
+ "writable": true
256
+ }
257
+ ],
258
+ "args": [
259
+ {
260
+ "name": "reclaimStorage",
261
+ "type": "bool"
262
+ }
263
+ ]
264
+ },
265
+ {
266
+ "name": "claimWithdraw",
267
+ "docs": [
268
+ "Pay user (stub) and close/burn the receipt via CPI to nft_factory."
269
+ ],
270
+ "discriminator": [
271
+ 232,
272
+ 89,
273
+ 154,
274
+ 117,
275
+ 16,
276
+ 204,
277
+ 182,
278
+ 224
279
+ ],
280
+ "accounts": [
281
+ {
282
+ "name": "user",
283
+ "writable": true,
284
+ "signer": true
285
+ },
286
+ {
287
+ "name": "global",
288
+ "docs": [
289
+ "Global operator state"
290
+ ],
291
+ "writable": true
292
+ },
293
+ {
294
+ "name": "mintAuthority"
295
+ },
296
+ {
297
+ "name": "receiptData",
298
+ "writable": true
299
+ },
300
+ {
301
+ "name": "mintAccount",
302
+ "writable": true
303
+ },
304
+ {
305
+ "name": "ownerAta",
306
+ "writable": true
307
+ },
308
+ {
309
+ "name": "tokenProgram"
310
+ },
311
+ {
312
+ "name": "systemProgram"
313
+ },
314
+ {
315
+ "name": "associatedTokenProgram"
316
+ }
317
+ ],
318
+ "args": []
319
+ },
320
+ {
321
+ "name": "deposit",
322
+ "discriminator": [
323
+ 242,
324
+ 35,
325
+ 198,
326
+ 137,
327
+ 82,
328
+ 225,
329
+ 242,
330
+ 182
331
+ ],
332
+ "accounts": [
333
+ {
334
+ "name": "user",
335
+ "writable": true,
336
+ "signer": true
337
+ },
338
+ {
339
+ "name": "depositAuthority",
340
+ "writable": true
341
+ },
342
+ {
343
+ "name": "systemProgram"
344
+ },
345
+ {
346
+ "name": "tokenProgram"
347
+ },
348
+ {
349
+ "name": "associatedTokenProgram"
350
+ },
351
+ {
352
+ "name": "liqsolProgram"
353
+ },
354
+ {
355
+ "name": "payRateHistory"
356
+ },
357
+ {
358
+ "name": "stakeProgram"
359
+ },
360
+ {
361
+ "name": "liqsolMint",
362
+ "writable": true
363
+ },
364
+ {
365
+ "name": "userAta",
366
+ "writable": true
367
+ },
368
+ {
369
+ "name": "liqsolMintAuthority"
370
+ },
371
+ {
372
+ "name": "reservePool",
373
+ "writable": true
374
+ },
375
+ {
376
+ "name": "vault"
377
+ },
378
+ {
379
+ "name": "ephemeralStake",
380
+ "writable": true
381
+ },
382
+ {
383
+ "name": "controllerState",
384
+ "writable": true
385
+ },
386
+ {
387
+ "name": "payoutState",
388
+ "writable": true
389
+ },
390
+ {
391
+ "name": "bucketAuthority"
392
+ },
393
+ {
394
+ "name": "bucketTokenAccount",
395
+ "docs": [
396
+ "The bucket's associated token account"
397
+ ],
398
+ "writable": true
399
+ },
400
+ {
401
+ "name": "userRecord",
402
+ "writable": true
403
+ },
404
+ {
405
+ "name": "distributionState",
406
+ "writable": true
407
+ },
408
+ {
409
+ "name": "instructionsSysvar"
410
+ },
411
+ {
412
+ "name": "clock"
413
+ },
414
+ {
415
+ "name": "stakeHistory"
416
+ },
417
+ {
418
+ "name": "rent"
419
+ }
420
+ ],
421
+ "args": [
422
+ {
423
+ "name": "amount",
424
+ "type": "u64"
425
+ },
426
+ {
427
+ "name": "seed",
428
+ "type": "u32"
429
+ }
430
+ ]
431
+ },
432
+ {
433
+ "name": "depositToReserve",
434
+ "docs": [
435
+ "Done///",
436
+ "/// TODO: delete after development or put in that flag thing"
437
+ ],
438
+ "discriminator": [
439
+ 8,
440
+ 79,
441
+ 123,
442
+ 129,
443
+ 146,
444
+ 140,
445
+ 178,
446
+ 128
447
+ ],
448
+ "accounts": [
449
+ {
450
+ "name": "depositor",
451
+ "writable": true,
452
+ "signer": true
453
+ },
454
+ {
455
+ "name": "reservePool",
456
+ "writable": true
457
+ },
458
+ {
459
+ "name": "vault"
460
+ },
461
+ {
462
+ "name": "ephemeralStake",
463
+ "writable": true
464
+ },
465
+ {
466
+ "name": "controllerState"
467
+ },
468
+ {
469
+ "name": "stakeProgram"
470
+ },
471
+ {
472
+ "name": "systemProgram"
473
+ },
474
+ {
475
+ "name": "clock"
476
+ },
477
+ {
478
+ "name": "stakeHistory"
479
+ },
480
+ {
481
+ "name": "rent"
482
+ }
483
+ ],
484
+ "args": [
485
+ {
486
+ "name": "amount",
487
+ "type": "u64"
488
+ },
489
+ {
490
+ "name": "seed",
491
+ "type": "u32"
492
+ }
493
+ ]
494
+ },
495
+ {
496
+ "name": "distributeFromReserve",
497
+ "docs": [
498
+ "Done///"
499
+ ],
500
+ "discriminator": [
501
+ 204,
502
+ 157,
503
+ 72,
504
+ 30,
505
+ 26,
506
+ 149,
507
+ 166,
508
+ 166
509
+ ],
510
+ "accounts": [
511
+ {
512
+ "name": "reservePool",
513
+ "writable": true
514
+ },
515
+ {
516
+ "name": "vault"
517
+ },
518
+ {
519
+ "name": "epochState",
520
+ "writable": true
521
+ },
522
+ {
523
+ "name": "processingState",
524
+ "writable": true
525
+ },
526
+ {
527
+ "name": "validatorRegistry",
528
+ "writable": true
529
+ },
530
+ {
531
+ "name": "stakeProgram"
532
+ },
533
+ {
534
+ "name": "systemProgram"
535
+ },
536
+ {
537
+ "name": "clock"
538
+ },
539
+ {
540
+ "name": "stakeHistory"
541
+ },
542
+ {
543
+ "name": "stakeConfig"
544
+ },
545
+ {
546
+ "name": "rent"
547
+ }
548
+ ],
549
+ "args": [
550
+ {
551
+ "name": "validatorsCount",
552
+ "type": "u8"
553
+ }
554
+ ]
555
+ },
556
+ {
557
+ "name": "getTransientValues",
558
+ "discriminator": [
559
+ 13,
560
+ 139,
561
+ 204,
562
+ 177,
563
+ 30,
564
+ 98,
565
+ 185,
566
+ 246
567
+ ],
568
+ "accounts": [
569
+ {
570
+ "name": "validatorRegistry"
571
+ }
572
+ ],
573
+ "args": [
574
+ {
575
+ "name": "voteAccount",
576
+ "type": "pubkey"
577
+ }
578
+ ]
579
+ },
580
+ {
581
+ "name": "initBucket",
582
+ "docs": [
583
+ "Done///"
584
+ ],
585
+ "discriminator": [
586
+ 237,
587
+ 69,
588
+ 61,
589
+ 218,
590
+ 18,
591
+ 60,
592
+ 21,
593
+ 236
594
+ ],
595
+ "accounts": [
596
+ {
597
+ "name": "admin",
598
+ "writable": true,
599
+ "signer": true
600
+ },
601
+ {
602
+ "name": "bucketAuthority"
603
+ },
604
+ {
605
+ "name": "bucketTokenAccount",
606
+ "writable": true
607
+ },
608
+ {
609
+ "name": "liqsolMint"
610
+ },
611
+ {
612
+ "name": "systemProgram"
613
+ },
614
+ {
615
+ "name": "tokenProgram"
616
+ },
617
+ {
618
+ "name": "associatedTokenProgram"
619
+ }
620
+ ],
621
+ "args": []
622
+ },
623
+ {
624
+ "name": "initialize",
625
+ "discriminator": [
626
+ 175,
627
+ 175,
628
+ 109,
629
+ 31,
630
+ 13,
631
+ 152,
632
+ 155,
633
+ 237
634
+ ],
635
+ "accounts": [
636
+ {
637
+ "name": "authority",
638
+ "writable": true,
639
+ "signer": true
640
+ },
641
+ {
642
+ "name": "liqsolMint"
643
+ },
644
+ {
645
+ "name": "distributionState",
646
+ "writable": true
647
+ },
648
+ {
649
+ "name": "tokenProgram"
650
+ },
651
+ {
652
+ "name": "systemProgram"
653
+ },
654
+ {
655
+ "name": "rent"
656
+ }
657
+ ],
658
+ "args": []
659
+ },
660
+ {
661
+ "name": "initializeBar",
662
+ "discriminator": [
663
+ 35,
664
+ 177,
665
+ 162,
666
+ 209,
667
+ 1,
668
+ 193,
669
+ 155,
670
+ 110
671
+ ],
672
+ "accounts": [
673
+ {
674
+ "name": "payer",
675
+ "writable": true,
676
+ "signer": true
677
+ },
678
+ {
679
+ "name": "barConfig",
680
+ "writable": true
681
+ },
682
+ {
683
+ "name": "systemProgram"
684
+ }
685
+ ],
686
+ "args": []
687
+ },
688
+ {
689
+ "name": "initializeEpochState",
690
+ "docs": [
691
+ "Done///"
692
+ ],
693
+ "discriminator": [
694
+ 139,
695
+ 122,
696
+ 53,
697
+ 254,
698
+ 85,
699
+ 205,
700
+ 138,
701
+ 245
702
+ ],
703
+ "accounts": [
704
+ {
705
+ "name": "admin",
706
+ "writable": true,
707
+ "signer": true
708
+ },
709
+ {
710
+ "name": "epochState",
711
+ "writable": true
712
+ },
713
+ {
714
+ "name": "systemProgram"
715
+ }
716
+ ],
717
+ "args": []
718
+ },
719
+ {
720
+ "name": "initializePayCycle",
721
+ "docs": [
722
+ "Done///"
723
+ ],
724
+ "discriminator": [
725
+ 1,
726
+ 184,
727
+ 249,
728
+ 179,
729
+ 11,
730
+ 182,
731
+ 239,
732
+ 224
733
+ ],
734
+ "accounts": [
735
+ {
736
+ "name": "admin",
737
+ "writable": true,
738
+ "signer": true
739
+ },
740
+ {
741
+ "name": "payCycle",
742
+ "writable": true
743
+ },
744
+ {
745
+ "name": "systemProgram"
746
+ }
747
+ ],
748
+ "args": []
749
+ },
750
+ {
751
+ "name": "initializePayRateHistory",
752
+ "docs": [
753
+ "Done///"
754
+ ],
755
+ "discriminator": [
756
+ 157,
757
+ 190,
758
+ 74,
759
+ 135,
760
+ 91,
761
+ 232,
762
+ 250,
763
+ 122
764
+ ],
765
+ "accounts": [
766
+ {
767
+ "name": "admin",
768
+ "writable": true,
769
+ "signer": true
770
+ },
771
+ {
772
+ "name": "payRateHistory",
773
+ "writable": true
774
+ },
775
+ {
776
+ "name": "systemProgram"
777
+ }
778
+ ],
779
+ "args": []
780
+ },
781
+ {
782
+ "name": "initializePayoutState",
783
+ "docs": [
784
+ "Done///"
785
+ ],
786
+ "discriminator": [
787
+ 105,
788
+ 120,
789
+ 7,
790
+ 121,
791
+ 238,
792
+ 221,
793
+ 62,
794
+ 160
795
+ ],
796
+ "accounts": [
797
+ {
798
+ "name": "admin",
799
+ "writable": true,
800
+ "signer": true
801
+ },
802
+ {
803
+ "name": "payoutState",
804
+ "writable": true
805
+ },
806
+ {
807
+ "name": "systemProgram"
808
+ }
809
+ ],
810
+ "args": []
811
+ },
812
+ {
813
+ "name": "initializeProcessingState",
814
+ "docs": [
815
+ "Done///"
816
+ ],
817
+ "discriminator": [
818
+ 228,
819
+ 202,
820
+ 164,
821
+ 194,
822
+ 29,
823
+ 134,
824
+ 125,
825
+ 242
826
+ ],
827
+ "accounts": [
828
+ {
829
+ "name": "admin",
830
+ "writable": true,
831
+ "signer": true
832
+ },
833
+ {
834
+ "name": "processingState",
835
+ "writable": true
836
+ },
837
+ {
838
+ "name": "systemProgram"
839
+ }
840
+ ],
841
+ "args": []
842
+ },
843
+ {
844
+ "name": "initializeReservePool",
845
+ "docs": [
846
+ "Done///"
847
+ ],
848
+ "discriminator": [
849
+ 4,
850
+ 7,
851
+ 171,
852
+ 131,
853
+ 156,
854
+ 172,
855
+ 150,
856
+ 220
857
+ ],
858
+ "accounts": [
859
+ {
860
+ "name": "reservePool",
861
+ "writable": true
862
+ },
863
+ {
864
+ "name": "vault"
865
+ },
866
+ {
867
+ "name": "payer",
868
+ "writable": true,
869
+ "signer": true
870
+ },
871
+ {
872
+ "name": "controllerState",
873
+ "writable": true
874
+ },
875
+ {
876
+ "name": "stakeProgram"
877
+ },
878
+ {
879
+ "name": "systemProgram"
880
+ },
881
+ {
882
+ "name": "rent"
883
+ }
884
+ ],
885
+ "args": []
886
+ },
887
+ {
888
+ "name": "initializeStakeControllerState",
889
+ "docs": [
890
+ "Done///"
891
+ ],
892
+ "discriminator": [
893
+ 220,
894
+ 247,
895
+ 13,
896
+ 165,
897
+ 202,
898
+ 250,
899
+ 102,
900
+ 197
901
+ ],
902
+ "accounts": [
903
+ {
904
+ "name": "controllerState",
905
+ "writable": true
906
+ },
907
+ {
908
+ "name": "payer",
909
+ "writable": true,
910
+ "signer": true
911
+ },
912
+ {
913
+ "name": "authority",
914
+ "signer": true
915
+ },
916
+ {
917
+ "name": "systemProgram"
918
+ }
919
+ ],
920
+ "args": []
921
+ },
922
+ {
923
+ "name": "initializeStakeMetrics",
924
+ "docs": [
925
+ "Done///"
926
+ ],
927
+ "discriminator": [
928
+ 203,
929
+ 209,
930
+ 129,
931
+ 123,
932
+ 12,
933
+ 17,
934
+ 20,
935
+ 175
936
+ ],
937
+ "accounts": [
938
+ {
939
+ "name": "admin",
940
+ "writable": true,
941
+ "signer": true
942
+ },
943
+ {
944
+ "name": "stakeMetrics",
945
+ "writable": true
946
+ },
947
+ {
948
+ "name": "systemProgram"
949
+ }
950
+ ],
951
+ "args": []
952
+ },
953
+ {
954
+ "name": "initializeTrancheState",
955
+ "discriminator": [
956
+ 160,
957
+ 50,
958
+ 212,
959
+ 249,
960
+ 197,
961
+ 155,
962
+ 79,
963
+ 226
964
+ ],
965
+ "accounts": [
966
+ {
967
+ "name": "authority",
968
+ "writable": true,
969
+ "signer": true
970
+ },
971
+ {
972
+ "name": "trancheState",
973
+ "writable": true
974
+ },
975
+ {
976
+ "name": "chainlinkFeed"
977
+ },
978
+ {
979
+ "name": "chainlinkProgram"
980
+ },
981
+ {
982
+ "name": "systemProgram"
983
+ }
984
+ ],
985
+ "args": []
986
+ },
987
+ {
988
+ "name": "initializeTransientsTracking",
989
+ "docs": [
990
+ "Done///"
991
+ ],
992
+ "discriminator": [
993
+ 45,
994
+ 17,
995
+ 111,
996
+ 28,
997
+ 248,
998
+ 238,
999
+ 237,
1000
+ 30
1001
+ ],
1002
+ "accounts": [
1003
+ {
1004
+ "name": "payer",
1005
+ "writable": true,
1006
+ "signer": true
1007
+ },
1008
+ {
1009
+ "name": "transientsTracking",
1010
+ "writable": true
1011
+ },
1012
+ {
1013
+ "name": "systemProgram"
1014
+ }
1015
+ ],
1016
+ "args": []
1017
+ },
1018
+ {
1019
+ "name": "initializeValidatorRegistry",
1020
+ "docs": [
1021
+ "Done///"
1022
+ ],
1023
+ "discriminator": [
1024
+ 168,
1025
+ 49,
1026
+ 128,
1027
+ 236,
1028
+ 25,
1029
+ 7,
1030
+ 168,
1031
+ 85
1032
+ ],
1033
+ "accounts": [
1034
+ {
1035
+ "name": "payer",
1036
+ "writable": true,
1037
+ "signer": true
1038
+ },
1039
+ {
1040
+ "name": "validatorRegistry",
1041
+ "writable": true
1042
+ },
1043
+ {
1044
+ "name": "systemProgram"
1045
+ }
1046
+ ],
1047
+ "args": [
1048
+ {
1049
+ "name": "authority",
1050
+ "type": "pubkey"
1051
+ }
1052
+ ]
1053
+ },
1054
+ {
1055
+ "name": "initializeVault",
1056
+ "docs": [
1057
+ "Done///"
1058
+ ],
1059
+ "discriminator": [
1060
+ 48,
1061
+ 191,
1062
+ 163,
1063
+ 44,
1064
+ 71,
1065
+ 129,
1066
+ 63,
1067
+ 164
1068
+ ],
1069
+ "accounts": [
1070
+ {
1071
+ "name": "vault",
1072
+ "writable": true
1073
+ },
1074
+ {
1075
+ "name": "payer",
1076
+ "writable": true,
1077
+ "signer": true
1078
+ },
1079
+ {
1080
+ "name": "controllerState",
1081
+ "writable": true
1082
+ },
1083
+ {
1084
+ "name": "systemProgram"
1085
+ }
1086
+ ],
1087
+ "args": []
1088
+ },
1089
+ {
1090
+ "name": "initializeWireConfig",
1091
+ "discriminator": [
1092
+ 65,
1093
+ 61,
1094
+ 193,
1095
+ 228,
1096
+ 121,
1097
+ 252,
1098
+ 165,
1099
+ 207
1100
+ ],
1101
+ "accounts": [
1102
+ {
1103
+ "name": "admin",
1104
+ "writable": true,
1105
+ "signer": true
1106
+ },
1107
+ {
1108
+ "name": "globalState",
1109
+ "writable": true
1110
+ },
1111
+ {
1112
+ "name": "systemProgram"
1113
+ }
1114
+ ],
1115
+ "args": []
1116
+ },
1117
+ {
1118
+ "name": "maintenanceMergeTransients",
1119
+ "docs": [
1120
+ "Done///"
1121
+ ],
1122
+ "discriminator": [
1123
+ 171,
1124
+ 33,
1125
+ 27,
1126
+ 133,
1127
+ 97,
1128
+ 62,
1129
+ 213,
1130
+ 96
1131
+ ],
1132
+ "accounts": [
1133
+ {
1134
+ "name": "admin",
1135
+ "signer": true
1136
+ },
1137
+ {
1138
+ "name": "vault",
1139
+ "writable": true
1140
+ },
1141
+ {
1142
+ "name": "validatorRegistry",
1143
+ "writable": true
1144
+ },
1145
+ {
1146
+ "name": "transientsTracking",
1147
+ "writable": true
1148
+ },
1149
+ {
1150
+ "name": "stakeProgram"
1151
+ },
1152
+ {
1153
+ "name": "systemProgram"
1154
+ },
1155
+ {
1156
+ "name": "clock"
1157
+ },
1158
+ {
1159
+ "name": "stakeHistory"
1160
+ },
1161
+ {
1162
+ "name": "rent"
1163
+ },
1164
+ {
1165
+ "name": "epochState",
1166
+ "writable": true
1167
+ },
1168
+ {
1169
+ "name": "processingState",
1170
+ "writable": true
1171
+ }
1172
+ ],
1173
+ "args": [
1174
+ {
1175
+ "name": "voteAccount",
1176
+ "type": "pubkey"
1177
+ },
1178
+ {
1179
+ "name": "startEpoch",
1180
+ "type": "u64"
1181
+ }
1182
+ ]
1183
+ },
1184
+ {
1185
+ "name": "moveTransientToActive",
1186
+ "discriminator": [
1187
+ 140,
1188
+ 99,
1189
+ 170,
1190
+ 186,
1191
+ 84,
1192
+ 61,
1193
+ 184,
1194
+ 75
1195
+ ],
1196
+ "accounts": [
1197
+ {
1198
+ "name": "validatorRegistry",
1199
+ "writable": true
1200
+ }
1201
+ ],
1202
+ "args": [
1203
+ {
1204
+ "name": "voteAccount",
1205
+ "type": "pubkey"
1206
+ },
1207
+ {
1208
+ "name": "amount",
1209
+ "type": "u64"
1210
+ }
1211
+ ]
1212
+ },
1213
+ {
1214
+ "name": "processPayCycle",
1215
+ "docs": [
1216
+ "Done///"
1217
+ ],
1218
+ "discriminator": [
1219
+ 98,
1220
+ 183,
1221
+ 240,
1222
+ 247,
1223
+ 39,
1224
+ 248,
1225
+ 198,
1226
+ 224
1227
+ ],
1228
+ "accounts": [
1229
+ {
1230
+ "name": "admin",
1231
+ "signer": true
1232
+ },
1233
+ {
1234
+ "name": "payCycle",
1235
+ "writable": true
1236
+ },
1237
+ {
1238
+ "name": "stakeMetrics",
1239
+ "writable": true
1240
+ },
1241
+ {
1242
+ "name": "payoutState",
1243
+ "writable": true
1244
+ },
1245
+ {
1246
+ "name": "payRateHistory",
1247
+ "writable": true
1248
+ },
1249
+ {
1250
+ "name": "distributionState"
1251
+ },
1252
+ {
1253
+ "name": "liqsolMint",
1254
+ "writable": true
1255
+ },
1256
+ {
1257
+ "name": "bucketTokenAccount",
1258
+ "writable": true
1259
+ },
1260
+ {
1261
+ "name": "stakeControllerAuthority",
1262
+ "writable": true
1263
+ },
1264
+ {
1265
+ "name": "mintAuthority"
1266
+ },
1267
+ {
1268
+ "name": "liqsolProgram"
1269
+ },
1270
+ {
1271
+ "name": "tokenProgram"
1272
+ },
1273
+ {
1274
+ "name": "instructions"
1275
+ }
1276
+ ],
1277
+ "args": []
1278
+ },
1279
+ {
1280
+ "name": "purchaseWarrantsFromYield",
1281
+ "discriminator": [
1282
+ 42,
1283
+ 126,
1284
+ 140,
1285
+ 136,
1286
+ 176,
1287
+ 155,
1288
+ 106,
1289
+ 139
1290
+ ],
1291
+ "accounts": [
1292
+ {
1293
+ "name": "user",
1294
+ "writable": true,
1295
+ "signer": true
1296
+ },
1297
+ {
1298
+ "name": "globalState",
1299
+ "writable": true
1300
+ },
1301
+ {
1302
+ "name": "liqsolMint"
1303
+ },
1304
+ {
1305
+ "name": "poolAuthority",
1306
+ "docs": [
1307
+ "Pool authority PDA"
1308
+ ]
1309
+ },
1310
+ {
1311
+ "name": "liqsolPoolAta",
1312
+ "docs": [
1313
+ "Pool's liqSOL ATA - deterministically derived from pool_authority + liqsol_mint"
1314
+ ],
1315
+ "writable": true
1316
+ },
1317
+ {
1318
+ "name": "solBucket",
1319
+ "docs": [
1320
+ "SOL bucket for raw SOL warrant purchases"
1321
+ ],
1322
+ "writable": true
1323
+ },
1324
+ {
1325
+ "name": "liqsolPoolUserRecord",
1326
+ "writable": true
1327
+ },
1328
+ {
1329
+ "name": "distributionState",
1330
+ "writable": true
1331
+ },
1332
+ {
1333
+ "name": "payRateHistory"
1334
+ },
1335
+ {
1336
+ "name": "bucketAuthority"
1337
+ },
1338
+ {
1339
+ "name": "bucketTokenAccount",
1340
+ "writable": true
1341
+ },
1342
+ {
1343
+ "name": "tokenProgram"
1344
+ },
1345
+ {
1346
+ "name": "systemProgram"
1347
+ },
1348
+ {
1349
+ "name": "trancheState",
1350
+ "writable": true
1351
+ },
1352
+ {
1353
+ "name": "userWarrantRecord",
1354
+ "writable": true
1355
+ },
1356
+ {
1357
+ "name": "chainlinkFeed"
1358
+ },
1359
+ {
1360
+ "name": "chainlinkProgram"
1361
+ }
1362
+ ],
1363
+ "args": []
1364
+ },
1365
+ {
1366
+ "name": "purchaseWithLiqsol",
1367
+ "discriminator": [
1368
+ 90,
1369
+ 74,
1370
+ 45,
1371
+ 119,
1372
+ 201,
1373
+ 62,
1374
+ 148,
1375
+ 74
1376
+ ],
1377
+ "accounts": [
1378
+ {
1379
+ "name": "user",
1380
+ "writable": true,
1381
+ "signer": true
1382
+ },
1383
+ {
1384
+ "name": "liqsolMint",
1385
+ "writable": true
1386
+ },
1387
+ {
1388
+ "name": "globalState",
1389
+ "writable": true
1390
+ },
1391
+ {
1392
+ "name": "buyerAta",
1393
+ "writable": true
1394
+ },
1395
+ {
1396
+ "name": "poolAuthority"
1397
+ },
1398
+ {
1399
+ "name": "liqsolPoolAta",
1400
+ "writable": true
1401
+ },
1402
+ {
1403
+ "name": "warrantDepositRecord",
1404
+ "docs": [
1405
+ "User's warrant deposit record"
1406
+ ],
1407
+ "writable": true
1408
+ },
1409
+ {
1410
+ "name": "liqsolPoolUserRecord",
1411
+ "docs": [
1412
+ "Pool's UserRecord in distribution system (for yield tracking)"
1413
+ ],
1414
+ "writable": true
1415
+ },
1416
+ {
1417
+ "name": "distributionState",
1418
+ "writable": true
1419
+ },
1420
+ {
1421
+ "name": "payRateHistory"
1422
+ },
1423
+ {
1424
+ "name": "bucketAuthority"
1425
+ },
1426
+ {
1427
+ "name": "bucketTokenAccount",
1428
+ "writable": true
1429
+ },
1430
+ {
1431
+ "name": "solBucket"
1432
+ },
1433
+ {
1434
+ "name": "trancheState",
1435
+ "writable": true
1436
+ },
1437
+ {
1438
+ "name": "userWarrantRecord",
1439
+ "writable": true
1440
+ },
1441
+ {
1442
+ "name": "chainlinkFeed"
1443
+ },
1444
+ {
1445
+ "name": "chainlinkProgram"
1446
+ },
1447
+ {
1448
+ "name": "tokenProgram"
1449
+ },
1450
+ {
1451
+ "name": "associatedTokenProgram"
1452
+ },
1453
+ {
1454
+ "name": "systemProgram"
1455
+ }
1456
+ ],
1457
+ "args": [
1458
+ {
1459
+ "name": "amount",
1460
+ "type": "u64"
1461
+ }
1462
+ ]
1463
+ },
1464
+ {
1465
+ "name": "purchaseWithSol",
1466
+ "discriminator": [
1467
+ 27,
1468
+ 238,
1469
+ 240,
1470
+ 155,
1471
+ 170,
1472
+ 180,
1473
+ 26,
1474
+ 118
1475
+ ],
1476
+ "accounts": [
1477
+ {
1478
+ "name": "user",
1479
+ "writable": true,
1480
+ "signer": true
1481
+ },
1482
+ {
1483
+ "name": "liqsolMint",
1484
+ "writable": true
1485
+ },
1486
+ {
1487
+ "name": "globalState",
1488
+ "writable": true
1489
+ },
1490
+ {
1491
+ "name": "poolAuthority",
1492
+ "docs": [
1493
+ "Pool authority PDA"
1494
+ ]
1495
+ },
1496
+ {
1497
+ "name": "liqsolPoolAta",
1498
+ "docs": [
1499
+ "Pool's liqSOL ATA (for baseline tracking)"
1500
+ ],
1501
+ "writable": true
1502
+ },
1503
+ {
1504
+ "name": "liqsolPoolUserRecord",
1505
+ "docs": [
1506
+ "Pool's UserRecord in distribution system (for yield tracking)"
1507
+ ],
1508
+ "writable": true
1509
+ },
1510
+ {
1511
+ "name": "distributionState",
1512
+ "writable": true
1513
+ },
1514
+ {
1515
+ "name": "payRateHistory"
1516
+ },
1517
+ {
1518
+ "name": "bucketAuthority"
1519
+ },
1520
+ {
1521
+ "name": "bucketTokenAccount",
1522
+ "writable": true
1523
+ },
1524
+ {
1525
+ "name": "solBucket",
1526
+ "docs": [
1527
+ "Native SOL bucket (System Account PDA)"
1528
+ ],
1529
+ "writable": true
1530
+ },
1531
+ {
1532
+ "name": "warrantDepositRecord",
1533
+ "docs": [
1534
+ "User's warrant deposit record"
1535
+ ],
1536
+ "writable": true
1537
+ },
1538
+ {
1539
+ "name": "trancheState",
1540
+ "writable": true
1541
+ },
1542
+ {
1543
+ "name": "userWarrantRecord",
1544
+ "writable": true
1545
+ },
1546
+ {
1547
+ "name": "chainlinkFeed"
1548
+ },
1549
+ {
1550
+ "name": "chainlinkProgram"
1551
+ },
1552
+ {
1553
+ "name": "tokenProgram"
1554
+ },
1555
+ {
1556
+ "name": "systemProgram"
1557
+ }
1558
+ ],
1559
+ "args": [
1560
+ {
1561
+ "name": "amount",
1562
+ "type": "u64"
1563
+ }
1564
+ ]
1565
+ },
1566
+ {
1567
+ "name": "recordPrice",
1568
+ "discriminator": [
1569
+ 210,
1570
+ 113,
1571
+ 46,
1572
+ 101,
1573
+ 107,
1574
+ 218,
1575
+ 83,
1576
+ 51
1577
+ ],
1578
+ "accounts": [
1579
+ {
1580
+ "name": "payer",
1581
+ "writable": true,
1582
+ "signer": true
1583
+ },
1584
+ {
1585
+ "name": "trancheState"
1586
+ },
1587
+ {
1588
+ "name": "priceHistory",
1589
+ "writable": true
1590
+ },
1591
+ {
1592
+ "name": "chainlinkProgram"
1593
+ },
1594
+ {
1595
+ "name": "chainlinkFeed"
1596
+ },
1597
+ {
1598
+ "name": "systemProgram"
1599
+ }
1600
+ ],
1601
+ "args": []
1602
+ },
1603
+ {
1604
+ "name": "requestWithdraw",
1605
+ "discriminator": [
1606
+ 137,
1607
+ 95,
1608
+ 187,
1609
+ 96,
1610
+ 250,
1611
+ 138,
1612
+ 31,
1613
+ 182
1614
+ ],
1615
+ "accounts": [
1616
+ {
1617
+ "name": "user",
1618
+ "writable": true,
1619
+ "signer": true
1620
+ },
1621
+ {
1622
+ "name": "owner",
1623
+ "docs": [
1624
+ "Recipient of the NFT receipt (can be user)"
1625
+ ],
1626
+ "writable": true
1627
+ },
1628
+ {
1629
+ "name": "global",
1630
+ "docs": [
1631
+ "Global operator state"
1632
+ ],
1633
+ "writable": true
1634
+ },
1635
+ {
1636
+ "name": "liqsolMint",
1637
+ "docs": [
1638
+ "liqSOL mint reference (must match Global.liqsol_mint so we can read decimals)"
1639
+ ]
1640
+ },
1641
+ {
1642
+ "name": "userAta",
1643
+ "writable": true
1644
+ },
1645
+ {
1646
+ "name": "userRecord",
1647
+ "writable": true
1648
+ },
1649
+ {
1650
+ "name": "mintAuthority"
1651
+ },
1652
+ {
1653
+ "name": "receiptData",
1654
+ "writable": true
1655
+ },
1656
+ {
1657
+ "name": "metadata",
1658
+ "writable": true
1659
+ },
1660
+ {
1661
+ "name": "nftMint",
1662
+ "writable": true
1663
+ },
1664
+ {
1665
+ "name": "nftAta",
1666
+ "writable": true
1667
+ },
1668
+ {
1669
+ "name": "tokenProgram"
1670
+ },
1671
+ {
1672
+ "name": "tokenInterface"
1673
+ },
1674
+ {
1675
+ "name": "associatedTokenProgram"
1676
+ },
1677
+ {
1678
+ "name": "systemProgram"
1679
+ },
1680
+ {
1681
+ "name": "rent"
1682
+ }
1683
+ ],
1684
+ "args": [
1685
+ {
1686
+ "name": "amount",
1687
+ "type": "u64"
1688
+ },
1689
+ {
1690
+ "name": "ts",
1691
+ "type": "u64"
1692
+ }
1693
+ ]
1694
+ },
1695
+ {
1696
+ "name": "resetDistributionState",
1697
+ "discriminator": [
1698
+ 159,
1699
+ 183,
1700
+ 162,
1701
+ 74,
1702
+ 228,
1703
+ 135,
1704
+ 157,
1705
+ 79
1706
+ ],
1707
+ "accounts": [
1708
+ {
1709
+ "name": "admin",
1710
+ "signer": true
1711
+ },
1712
+ {
1713
+ "name": "distributionState",
1714
+ "writable": true
1715
+ }
1716
+ ],
1717
+ "args": []
1718
+ },
1719
+ {
1720
+ "name": "resetGlobalState",
1721
+ "discriminator": [
1722
+ 252,
1723
+ 41,
1724
+ 117,
1725
+ 110,
1726
+ 248,
1727
+ 165,
1728
+ 48,
1729
+ 88
1730
+ ],
1731
+ "accounts": [
1732
+ {
1733
+ "name": "admin",
1734
+ "signer": true
1735
+ },
1736
+ {
1737
+ "name": "globalState",
1738
+ "writable": true
1739
+ }
1740
+ ],
1741
+ "args": []
1742
+ },
1743
+ {
1744
+ "name": "resetPriceHistory",
1745
+ "discriminator": [
1746
+ 213,
1747
+ 231,
1748
+ 155,
1749
+ 139,
1750
+ 248,
1751
+ 60,
1752
+ 67,
1753
+ 199
1754
+ ],
1755
+ "accounts": [
1756
+ {
1757
+ "name": "admin",
1758
+ "writable": true,
1759
+ "signer": true
1760
+ },
1761
+ {
1762
+ "name": "trancheState",
1763
+ "writable": true
1764
+ },
1765
+ {
1766
+ "name": "priceHistory",
1767
+ "writable": true
1768
+ },
1769
+ {
1770
+ "name": "systemProgram"
1771
+ }
1772
+ ],
1773
+ "args": []
1774
+ },
1775
+ {
1776
+ "name": "resetTrancheState",
1777
+ "discriminator": [
1778
+ 106,
1779
+ 102,
1780
+ 143,
1781
+ 40,
1782
+ 152,
1783
+ 173,
1784
+ 165,
1785
+ 168
1786
+ ],
1787
+ "accounts": [
1788
+ {
1789
+ "name": "admin",
1790
+ "writable": true,
1791
+ "signer": true
1792
+ },
1793
+ {
1794
+ "name": "trancheState",
1795
+ "writable": true
1796
+ },
1797
+ {
1798
+ "name": "priceHistory",
1799
+ "writable": true
1800
+ },
1801
+ {
1802
+ "name": "systemProgram"
1803
+ }
1804
+ ],
1805
+ "args": []
1806
+ },
1807
+ {
1808
+ "name": "setDDay",
1809
+ "discriminator": [
1810
+ 161,
1811
+ 160,
1812
+ 249,
1813
+ 85,
1814
+ 122,
1815
+ 254,
1816
+ 165,
1817
+ 218
1818
+ ],
1819
+ "accounts": [
1820
+ {
1821
+ "name": "admin",
1822
+ "signer": true
1823
+ },
1824
+ {
1825
+ "name": "globalState",
1826
+ "writable": true
1827
+ }
1828
+ ],
1829
+ "args": [
1830
+ {
1831
+ "name": "dDay",
1832
+ "type": "bool"
1833
+ }
1834
+ ]
1835
+ },
1836
+ {
1837
+ "name": "setMinWarmupCooldown",
1838
+ "discriminator": [
1839
+ 68,
1840
+ 204,
1841
+ 32,
1842
+ 34,
1843
+ 89,
1844
+ 181,
1845
+ 12,
1846
+ 5
1847
+ ],
1848
+ "accounts": [
1849
+ {
1850
+ "name": "authority",
1851
+ "signer": true
1852
+ },
1853
+ {
1854
+ "name": "barConfig",
1855
+ "writable": true
1856
+ }
1857
+ ],
1858
+ "args": [
1859
+ {
1860
+ "name": "minWarmupCooldown",
1861
+ "type": "u64"
1862
+ }
1863
+ ]
1864
+ },
1865
+ {
1866
+ "name": "setPaused",
1867
+ "discriminator": [
1868
+ 91,
1869
+ 60,
1870
+ 125,
1871
+ 192,
1872
+ 176,
1873
+ 225,
1874
+ 166,
1875
+ 218
1876
+ ],
1877
+ "accounts": [
1878
+ {
1879
+ "name": "admin",
1880
+ "signer": true
1881
+ },
1882
+ {
1883
+ "name": "globalState",
1884
+ "writable": true
1885
+ }
1886
+ ],
1887
+ "args": [
1888
+ {
1889
+ "name": "paused",
1890
+ "type": "bool"
1891
+ }
1892
+ ]
1893
+ },
1894
+ {
1895
+ "name": "setRefundActive",
1896
+ "discriminator": [
1897
+ 104,
1898
+ 25,
1899
+ 45,
1900
+ 139,
1901
+ 207,
1902
+ 254,
1903
+ 129,
1904
+ 237
1905
+ ],
1906
+ "accounts": [
1907
+ {
1908
+ "name": "admin",
1909
+ "signer": true
1910
+ },
1911
+ {
1912
+ "name": "globalState",
1913
+ "writable": true
1914
+ }
1915
+ ],
1916
+ "args": [
1917
+ {
1918
+ "name": "refundActive",
1919
+ "type": "bool"
1920
+ }
1921
+ ]
1922
+ },
1923
+ {
1924
+ "name": "slashBond",
1925
+ "discriminator": [
1926
+ 143,
1927
+ 246,
1928
+ 51,
1929
+ 243,
1930
+ 88,
1931
+ 198,
1932
+ 217,
1933
+ 48
1934
+ ],
1935
+ "accounts": [
1936
+ {
1937
+ "name": "authority",
1938
+ "writable": true,
1939
+ "signer": true
1940
+ },
1941
+ {
1942
+ "name": "barConfig"
1943
+ },
1944
+ {
1945
+ "name": "actor",
1946
+ "docs": [
1947
+ "Actor being slashed"
1948
+ ]
1949
+ },
1950
+ {
1951
+ "name": "bondedActor",
1952
+ "writable": true
1953
+ },
1954
+ {
1955
+ "name": "wireReceipt",
1956
+ "docs": [
1957
+ "The WireReceipt used as collateral - will be zeroed"
1958
+ ],
1959
+ "writable": true
1960
+ }
1961
+ ],
1962
+ "args": []
1963
+ },
1964
+ {
1965
+ "name": "stakeLiqsol",
1966
+ "discriminator": [
1967
+ 135,
1968
+ 102,
1969
+ 130,
1970
+ 67,
1971
+ 57,
1972
+ 29,
1973
+ 101,
1974
+ 95
1975
+ ],
1976
+ "accounts": [
1977
+ {
1978
+ "name": "user",
1979
+ "writable": true,
1980
+ "signer": true
1981
+ },
1982
+ {
1983
+ "name": "liqsolMint",
1984
+ "writable": true
1985
+ },
1986
+ {
1987
+ "name": "globalState",
1988
+ "writable": true
1989
+ },
1990
+ {
1991
+ "name": "userAta",
1992
+ "writable": true
1993
+ },
1994
+ {
1995
+ "name": "poolAuthority"
1996
+ },
1997
+ {
1998
+ "name": "liqsolPoolAta",
1999
+ "writable": true
2000
+ },
2001
+ {
2002
+ "name": "warrantDepositRecord",
2003
+ "docs": [
2004
+ "User's warrant deposit record"
2005
+ ],
2006
+ "writable": true
2007
+ },
2008
+ {
2009
+ "name": "liqsolPoolUserRecord",
2010
+ "docs": [
2011
+ "Pool's UserRecord in distribution system (for yield tracking)"
2012
+ ],
2013
+ "writable": true
2014
+ },
2015
+ {
2016
+ "name": "distributionState",
2017
+ "writable": true
2018
+ },
2019
+ {
2020
+ "name": "payRateHistory"
2021
+ },
2022
+ {
2023
+ "name": "bucketAuthority"
2024
+ },
2025
+ {
2026
+ "name": "bucketTokenAccount",
2027
+ "writable": true
2028
+ },
2029
+ {
2030
+ "name": "solBucket"
2031
+ },
2032
+ {
2033
+ "name": "tokenProgram"
2034
+ },
2035
+ {
2036
+ "name": "associatedTokenProgram"
2037
+ },
2038
+ {
2039
+ "name": "systemProgram"
2040
+ }
2041
+ ],
2042
+ "args": [
2043
+ {
2044
+ "name": "amount",
2045
+ "type": "u64"
2046
+ }
2047
+ ]
2048
+ },
2049
+ {
2050
+ "name": "syncValidatorScores",
2051
+ "discriminator": [
2052
+ 10,
2053
+ 26,
2054
+ 245,
2055
+ 222,
2056
+ 183,
2057
+ 46,
2058
+ 70,
2059
+ 181
2060
+ ],
2061
+ "accounts": [
2062
+ {
2063
+ "name": "authority",
2064
+ "signer": true
2065
+ },
2066
+ {
2067
+ "name": "validatorRegistry",
2068
+ "writable": true
2069
+ },
2070
+ {
2071
+ "name": "stakeControllerProgram"
2072
+ }
2073
+ ],
2074
+ "args": [
2075
+ {
2076
+ "name": "voteAccounts",
2077
+ "type": {
2078
+ "vec": "pubkey"
2079
+ }
2080
+ },
2081
+ {
2082
+ "name": "validatorMetrics",
2083
+ "type": {
2084
+ "vec": {
2085
+ "defined": {
2086
+ "name": "validatorMetrics"
2087
+ }
2088
+ }
2089
+ }
2090
+ }
2091
+ ]
2092
+ },
2093
+ {
2094
+ "name": "syncValidatorStakes",
2095
+ "docs": [
2096
+ "Done///"
2097
+ ],
2098
+ "discriminator": [
2099
+ 40,
2100
+ 56,
2101
+ 118,
2102
+ 52,
2103
+ 20,
2104
+ 213,
2105
+ 229,
2106
+ 135
2107
+ ],
2108
+ "accounts": [
2109
+ {
2110
+ "name": "admin",
2111
+ "signer": true
2112
+ },
2113
+ {
2114
+ "name": "mainValidatorStake"
2115
+ },
2116
+ {
2117
+ "name": "validatorRegistry",
2118
+ "writable": true
2119
+ },
2120
+ {
2121
+ "name": "stakeHistory"
2122
+ }
2123
+ ],
2124
+ "args": [
2125
+ {
2126
+ "name": "validator",
2127
+ "type": "pubkey"
2128
+ }
2129
+ ]
2130
+ },
2131
+ {
2132
+ "name": "unbond",
2133
+ "discriminator": [
2134
+ 151,
2135
+ 129,
2136
+ 36,
2137
+ 46,
2138
+ 102,
2139
+ 195,
2140
+ 111,
2141
+ 122
2142
+ ],
2143
+ "accounts": [
2144
+ {
2145
+ "name": "bondOwner",
2146
+ "signer": true
2147
+ },
2148
+ {
2149
+ "name": "barConfig",
2150
+ "docs": [
2151
+ "Reserved for future OPP assertions"
2152
+ ]
2153
+ },
2154
+ {
2155
+ "name": "bondLevel"
2156
+ },
2157
+ {
2158
+ "name": "actor",
2159
+ "docs": [
2160
+ "Actor whose bond is being released"
2161
+ ]
2162
+ },
2163
+ {
2164
+ "name": "bondedActor",
2165
+ "writable": true
2166
+ }
2167
+ ],
2168
+ "args": []
2169
+ },
2170
+ {
2171
+ "name": "updateBondLevel",
2172
+ "discriminator": [
2173
+ 48,
2174
+ 233,
2175
+ 159,
2176
+ 234,
2177
+ 230,
2178
+ 200,
2179
+ 171,
2180
+ 205
2181
+ ],
2182
+ "accounts": [
2183
+ {
2184
+ "name": "authority",
2185
+ "signer": true
2186
+ },
2187
+ {
2188
+ "name": "barConfig"
2189
+ },
2190
+ {
2191
+ "name": "bondLevel",
2192
+ "writable": true
2193
+ }
2194
+ ],
2195
+ "args": [
2196
+ {
2197
+ "name": "warmupPeriod",
2198
+ "type": "u64"
2199
+ },
2200
+ {
2201
+ "name": "cooldownPeriod",
2202
+ "type": "u64"
2203
+ },
2204
+ {
2205
+ "name": "minReceiptPrincipal",
2206
+ "type": "u64"
2207
+ },
2208
+ {
2209
+ "name": "roles",
2210
+ "type": {
2211
+ "array": [
2212
+ {
2213
+ "defined": {
2214
+ "name": "role"
2215
+ }
2216
+ },
2217
+ 4
2218
+ ]
2219
+ }
2220
+ },
2221
+ {
2222
+ "name": "enabled",
2223
+ "type": "bool"
2224
+ }
2225
+ ]
2226
+ },
2227
+ {
2228
+ "name": "updateGrowthParameters",
2229
+ "discriminator": [
2230
+ 172,
2231
+ 187,
2232
+ 237,
2233
+ 233,
2234
+ 250,
2235
+ 160,
2236
+ 115,
2237
+ 239
2238
+ ],
2239
+ "accounts": [
2240
+ {
2241
+ "name": "admin",
2242
+ "writable": true,
2243
+ "signer": true
2244
+ },
2245
+ {
2246
+ "name": "trancheState",
2247
+ "writable": true
2248
+ },
2249
+ {
2250
+ "name": "priceHistory",
2251
+ "writable": true
2252
+ },
2253
+ {
2254
+ "name": "systemProgram"
2255
+ }
2256
+ ],
2257
+ "args": [
2258
+ {
2259
+ "name": "supplyGrowthBps",
2260
+ "type": "u16"
2261
+ },
2262
+ {
2263
+ "name": "priceGrowthBps",
2264
+ "type": "u16"
2265
+ }
2266
+ ]
2267
+ },
2268
+ {
2269
+ "name": "updateMaxResolvedDeactivations",
2270
+ "discriminator": [
2271
+ 231,
2272
+ 111,
2273
+ 22,
2274
+ 0,
2275
+ 70,
2276
+ 141,
2277
+ 42,
2278
+ 204
2279
+ ],
2280
+ "accounts": [
2281
+ {
2282
+ "name": "transientsTracking",
2283
+ "writable": true
2284
+ }
2285
+ ],
2286
+ "args": [
2287
+ {
2288
+ "name": "voteAccount",
2289
+ "type": "pubkey"
2290
+ },
2291
+ {
2292
+ "name": "newValue",
2293
+ "type": "u16"
2294
+ }
2295
+ ]
2296
+ },
2297
+ {
2298
+ "name": "updateMaxResolvedStake",
2299
+ "discriminator": [
2300
+ 241,
2301
+ 21,
2302
+ 28,
2303
+ 14,
2304
+ 58,
2305
+ 11,
2306
+ 76,
2307
+ 44
2308
+ ],
2309
+ "accounts": [
2310
+ {
2311
+ "name": "transientsTracking",
2312
+ "writable": true
2313
+ }
2314
+ ],
2315
+ "args": [
2316
+ {
2317
+ "name": "voteAccount",
2318
+ "type": "pubkey"
2319
+ },
2320
+ {
2321
+ "name": "newValue",
2322
+ "type": "u16"
2323
+ }
2324
+ ]
2325
+ },
2326
+ {
2327
+ "name": "updatePriceBounds",
2328
+ "discriminator": [
2329
+ 241,
2330
+ 116,
2331
+ 141,
2332
+ 65,
2333
+ 61,
2334
+ 95,
2335
+ 232,
2336
+ 28
2337
+ ],
2338
+ "accounts": [
2339
+ {
2340
+ "name": "admin",
2341
+ "writable": true,
2342
+ "signer": true
2343
+ },
2344
+ {
2345
+ "name": "trancheState",
2346
+ "writable": true
2347
+ },
2348
+ {
2349
+ "name": "priceHistory",
2350
+ "writable": true
2351
+ },
2352
+ {
2353
+ "name": "systemProgram"
2354
+ }
2355
+ ],
2356
+ "args": [
2357
+ {
2358
+ "name": "minPriceUsd",
2359
+ "type": "i128"
2360
+ },
2361
+ {
2362
+ "name": "maxPriceUsd",
2363
+ "type": "i128"
2364
+ },
2365
+ {
2366
+ "name": "maxStalenessSeconds",
2367
+ "type": "i64"
2368
+ }
2369
+ ]
2370
+ },
2371
+ {
2372
+ "name": "updateStakeStateOnSync",
2373
+ "docs": [
2374
+ "Done///"
2375
+ ],
2376
+ "discriminator": [
2377
+ 146,
2378
+ 155,
2379
+ 114,
2380
+ 27,
2381
+ 121,
2382
+ 60,
2383
+ 159,
2384
+ 234
2385
+ ],
2386
+ "accounts": [
2387
+ {
2388
+ "name": "admin",
2389
+ "signer": true
2390
+ },
2391
+ {
2392
+ "name": "stakeMetrics",
2393
+ "writable": true
2394
+ },
2395
+ {
2396
+ "name": "epochState",
2397
+ "writable": true
2398
+ },
2399
+ {
2400
+ "name": "payoutState",
2401
+ "writable": true
2402
+ },
2403
+ {
2404
+ "name": "processingState",
2405
+ "writable": true
2406
+ },
2407
+ {
2408
+ "name": "validatorRegistry",
2409
+ "writable": true
2410
+ },
2411
+ {
2412
+ "name": "payCycle",
2413
+ "writable": true
2414
+ }
2415
+ ],
2416
+ "args": []
2417
+ },
2418
+ {
2419
+ "name": "updateTransientsTracking",
2420
+ "discriminator": [
2421
+ 146,
2422
+ 77,
2423
+ 164,
2424
+ 79,
2425
+ 174,
2426
+ 67,
2427
+ 108,
2428
+ 106
2429
+ ],
2430
+ "accounts": [
2431
+ {
2432
+ "name": "transientsTracking",
2433
+ "writable": true
2434
+ }
2435
+ ],
2436
+ "args": [
2437
+ {
2438
+ "name": "voteAccount",
2439
+ "type": "pubkey"
2440
+ },
2441
+ {
2442
+ "name": "params",
2443
+ "type": {
2444
+ "defined": {
2445
+ "name": "transientUpdateParams"
2446
+ }
2447
+ }
2448
+ }
2449
+ ]
2450
+ },
2451
+ {
2452
+ "name": "updateUser",
2453
+ "discriminator": [
2454
+ 9,
2455
+ 2,
2456
+ 160,
2457
+ 169,
2458
+ 118,
2459
+ 12,
2460
+ 207,
2461
+ 84
2462
+ ],
2463
+ "accounts": [
2464
+ {
2465
+ "name": "user",
2466
+ "writable": true
2467
+ },
2468
+ {
2469
+ "name": "userAta",
2470
+ "writable": true
2471
+ },
2472
+ {
2473
+ "name": "userRecord",
2474
+ "writable": true
2475
+ },
2476
+ {
2477
+ "name": "authority",
2478
+ "docs": [
2479
+ "Authority that can update this user record",
2480
+ "- For manual registration: user's keypair",
2481
+ "- For deposit flow: deposit program's program_authority PDA"
2482
+ ],
2483
+ "signer": true
2484
+ },
2485
+ {
2486
+ "name": "payer",
2487
+ "docs": [
2488
+ "Payer for the user record PDA creation (always the user)"
2489
+ ],
2490
+ "writable": true,
2491
+ "signer": true
2492
+ },
2493
+ {
2494
+ "name": "distributionState",
2495
+ "writable": true
2496
+ },
2497
+ {
2498
+ "name": "liqsolMint"
2499
+ },
2500
+ {
2501
+ "name": "instructionsSysvar"
2502
+ },
2503
+ {
2504
+ "name": "tokenProgram"
2505
+ },
2506
+ {
2507
+ "name": "payRateHistory"
2508
+ },
2509
+ {
2510
+ "name": "bucketAuthority"
2511
+ },
2512
+ {
2513
+ "name": "bucketTokenAccount",
2514
+ "docs": [
2515
+ "The bucket's associated token account holding liq"
2516
+ ],
2517
+ "writable": true
2518
+ },
2519
+ {
2520
+ "name": "systemProgram"
2521
+ }
2522
+ ],
2523
+ "args": []
2524
+ },
2525
+ {
2526
+ "name": "withdrawStake",
2527
+ "discriminator": [
2528
+ 153,
2529
+ 8,
2530
+ 22,
2531
+ 138,
2532
+ 105,
2533
+ 176,
2534
+ 87,
2535
+ 66
2536
+ ],
2537
+ "accounts": [
2538
+ {
2539
+ "name": "user",
2540
+ "writable": true,
2541
+ "signer": true
2542
+ },
2543
+ {
2544
+ "name": "liqsolMint",
2545
+ "writable": true
2546
+ },
2547
+ {
2548
+ "name": "globalState",
2549
+ "writable": true
2550
+ },
2551
+ {
2552
+ "name": "userAta",
2553
+ "writable": true
2554
+ },
2555
+ {
2556
+ "name": "poolAuthority"
2557
+ },
2558
+ {
2559
+ "name": "liqsolPoolAta",
2560
+ "writable": true
2561
+ },
2562
+ {
2563
+ "name": "warrantDepositRecord",
2564
+ "docs": [
2565
+ "User's warrant deposit record"
2566
+ ],
2567
+ "writable": true
2568
+ },
2569
+ {
2570
+ "name": "liqsolPoolUserRecord",
2571
+ "docs": [
2572
+ "Pool's UserRecord in distribution system (for yield tracking)"
2573
+ ],
2574
+ "writable": true
2575
+ },
2576
+ {
2577
+ "name": "distributionState",
2578
+ "writable": true
2579
+ },
2580
+ {
2581
+ "name": "payRateHistory"
2582
+ },
2583
+ {
2584
+ "name": "bucketAuthority"
2585
+ },
2586
+ {
2587
+ "name": "bucketTokenAccount",
2588
+ "docs": [
2589
+ "The bucket's associated token account holding liqSOL"
2590
+ ],
2591
+ "writable": true
2592
+ },
2593
+ {
2594
+ "name": "solBucket"
2595
+ },
2596
+ {
2597
+ "name": "tokenProgram"
2598
+ },
2599
+ {
2600
+ "name": "systemProgram"
2601
+ }
2602
+ ],
2603
+ "args": [
2604
+ {
2605
+ "name": "amount",
2606
+ "type": "u64"
2607
+ }
2608
+ ]
2609
+ }
2610
+ ],
2611
+ "accounts": [
2612
+ {
2613
+ "name": "barConfig",
2614
+ "discriminator": [
2615
+ 172,
2616
+ 166,
2617
+ 67,
2618
+ 186,
2619
+ 146,
2620
+ 5,
2621
+ 198,
2622
+ 67
2623
+ ]
2624
+ },
2625
+ {
2626
+ "name": "bondLevel",
2627
+ "discriminator": [
2628
+ 103,
2629
+ 61,
2630
+ 221,
2631
+ 129,
2632
+ 28,
2633
+ 118,
2634
+ 201,
2635
+ 85
2636
+ ]
2637
+ },
2638
+ {
2639
+ "name": "bondedActor",
2640
+ "discriminator": [
2641
+ 127,
2642
+ 148,
2643
+ 70,
2644
+ 241,
2645
+ 91,
2646
+ 0,
2647
+ 3,
2648
+ 233
2649
+ ]
2650
+ },
2651
+ {
2652
+ "name": "distributionState",
2653
+ "discriminator": [
2654
+ 7,
2655
+ 25,
2656
+ 94,
2657
+ 15,
2658
+ 208,
2659
+ 170,
2660
+ 4,
2661
+ 103
2662
+ ]
2663
+ },
2664
+ {
2665
+ "name": "epochState",
2666
+ "discriminator": [
2667
+ 191,
2668
+ 63,
2669
+ 139,
2670
+ 237,
2671
+ 144,
2672
+ 12,
2673
+ 223,
2674
+ 210
2675
+ ]
2676
+ },
2677
+ {
2678
+ "name": "global",
2679
+ "discriminator": [
2680
+ 167,
2681
+ 232,
2682
+ 232,
2683
+ 177,
2684
+ 200,
2685
+ 108,
2686
+ 114,
2687
+ 127
2688
+ ]
2689
+ },
2690
+ {
2691
+ "name": "globalState",
2692
+ "discriminator": [
2693
+ 163,
2694
+ 46,
2695
+ 74,
2696
+ 168,
2697
+ 216,
2698
+ 123,
2699
+ 133,
2700
+ 98
2701
+ ]
2702
+ },
2703
+ {
2704
+ "name": "liqReceiptData",
2705
+ "discriminator": [
2706
+ 75,
2707
+ 119,
2708
+ 90,
2709
+ 79,
2710
+ 25,
2711
+ 200,
2712
+ 9,
2713
+ 46
2714
+ ]
2715
+ },
2716
+ {
2717
+ "name": "payCycle",
2718
+ "discriminator": [
2719
+ 119,
2720
+ 127,
2721
+ 39,
2722
+ 70,
2723
+ 134,
2724
+ 173,
2725
+ 90,
2726
+ 225
2727
+ ]
2728
+ },
2729
+ {
2730
+ "name": "payRateHistory",
2731
+ "discriminator": [
2732
+ 139,
2733
+ 8,
2734
+ 65,
2735
+ 111,
2736
+ 71,
2737
+ 41,
2738
+ 187,
2739
+ 218
2740
+ ]
2741
+ },
2742
+ {
2743
+ "name": "payoutState",
2744
+ "discriminator": [
2745
+ 106,
2746
+ 54,
2747
+ 13,
2748
+ 167,
2749
+ 203,
2750
+ 44,
2751
+ 168,
2752
+ 150
2753
+ ]
2754
+ },
2755
+ {
2756
+ "name": "priceHistory",
2757
+ "discriminator": [
2758
+ 38,
2759
+ 241,
2760
+ 40,
2761
+ 19,
2762
+ 42,
2763
+ 228,
2764
+ 93,
2765
+ 152
2766
+ ]
2767
+ },
2768
+ {
2769
+ "name": "processingState",
2770
+ "discriminator": [
2771
+ 47,
2772
+ 15,
2773
+ 142,
2774
+ 130,
2775
+ 245,
2776
+ 250,
2777
+ 198,
2778
+ 161
2779
+ ]
2780
+ },
2781
+ {
2782
+ "name": "stakeControllerState",
2783
+ "discriminator": [
2784
+ 218,
2785
+ 168,
2786
+ 114,
2787
+ 136,
2788
+ 80,
2789
+ 186,
2790
+ 29,
2791
+ 218
2792
+ ]
2793
+ },
2794
+ {
2795
+ "name": "stakeMetrics",
2796
+ "discriminator": [
2797
+ 91,
2798
+ 84,
2799
+ 217,
2800
+ 97,
2801
+ 98,
2802
+ 38,
2803
+ 18,
2804
+ 143
2805
+ ]
2806
+ },
2807
+ {
2808
+ "name": "tokenMetadata",
2809
+ "discriminator": [
2810
+ 237,
2811
+ 215,
2812
+ 132,
2813
+ 182,
2814
+ 24,
2815
+ 127,
2816
+ 175,
2817
+ 173
2818
+ ]
2819
+ },
2820
+ {
2821
+ "name": "trancheState",
2822
+ "discriminator": [
2823
+ 212,
2824
+ 231,
2825
+ 254,
2826
+ 24,
2827
+ 238,
2828
+ 63,
2829
+ 92,
2830
+ 105
2831
+ ]
2832
+ },
2833
+ {
2834
+ "name": "userRecord",
2835
+ "discriminator": [
2836
+ 210,
2837
+ 252,
2838
+ 132,
2839
+ 218,
2840
+ 191,
2841
+ 85,
2842
+ 173,
2843
+ 167
2844
+ ]
2845
+ },
2846
+ {
2847
+ "name": "userWarrantRecord",
2848
+ "discriminator": [
2849
+ 241,
2850
+ 1,
2851
+ 155,
2852
+ 227,
2853
+ 164,
2854
+ 252,
2855
+ 70,
2856
+ 195
2857
+ ]
2858
+ },
2859
+ {
2860
+ "name": "userWithdrawRecord",
2861
+ "discriminator": [
2862
+ 127,
2863
+ 174,
2864
+ 233,
2865
+ 74,
2866
+ 19,
2867
+ 123,
2868
+ 21,
2869
+ 13
2870
+ ]
2871
+ },
2872
+ {
2873
+ "name": "validatorRegistry",
2874
+ "discriminator": [
2875
+ 168,
2876
+ 113,
2877
+ 195,
2878
+ 186,
2879
+ 62,
2880
+ 121,
2881
+ 163,
2882
+ 230
2883
+ ]
2884
+ },
2885
+ {
2886
+ "name": "validatorTransientsTracking",
2887
+ "discriminator": [
2888
+ 120,
2889
+ 82,
2890
+ 6,
2891
+ 162,
2892
+ 246,
2893
+ 129,
2894
+ 133,
2895
+ 63
2896
+ ]
2897
+ },
2898
+ {
2899
+ "name": "wireReceipt",
2900
+ "discriminator": [
2901
+ 166,
2902
+ 10,
2903
+ 172,
2904
+ 11,
2905
+ 51,
2906
+ 126,
2907
+ 156,
2908
+ 221
2909
+ ]
2910
+ }
2911
+ ],
2912
+ "events": [
2913
+ {
2914
+ "name": "epochResolved",
2915
+ "discriminator": [
2916
+ 62,
2917
+ 81,
2918
+ 212,
2919
+ 223,
2920
+ 209,
2921
+ 104,
2922
+ 51,
2923
+ 65
2924
+ ]
2925
+ },
2926
+ {
2927
+ "name": "stakesMerged",
2928
+ "discriminator": [
2929
+ 3,
2930
+ 16,
2931
+ 51,
2932
+ 153,
2933
+ 152,
2934
+ 186,
2935
+ 19,
2936
+ 97
2937
+ ]
2938
+ },
2939
+ {
2940
+ "name": "validatorsSyncedEvent",
2941
+ "discriminator": [
2942
+ 119,
2943
+ 121,
2944
+ 49,
2945
+ 120,
2946
+ 230,
2947
+ 132,
2948
+ 109,
2949
+ 214
2950
+ ]
2951
+ },
2952
+ {
2953
+ "name": "withdrawClaimed",
2954
+ "discriminator": [
2955
+ 77,
2956
+ 130,
2957
+ 89,
2958
+ 38,
2959
+ 239,
2960
+ 172,
2961
+ 174,
2962
+ 85
2963
+ ]
2964
+ },
2965
+ {
2966
+ "name": "withdrawRequested",
2967
+ "discriminator": [
2968
+ 114,
2969
+ 16,
2970
+ 240,
2971
+ 206,
2972
+ 93,
2973
+ 128,
2974
+ 151,
2975
+ 39
2976
+ ]
2977
+ }
2978
+ ],
2979
+ "errors": [
2980
+ {
2981
+ "code": 6000,
2982
+ "name": "destinationAccountDoesNotExist",
2983
+ "msg": "Destination stake account does not exist"
2984
+ },
2985
+ {
2986
+ "code": 6001,
2987
+ "name": "sourceAccountDoesNotExist",
2988
+ "msg": "Source stake account does not exist"
2989
+ },
2990
+ {
2991
+ "code": 6002,
2992
+ "name": "invalidDestinationOwner",
2993
+ "msg": "Destination account not owned by stake program"
2994
+ },
2995
+ {
2996
+ "code": 6003,
2997
+ "name": "invalidSourceOwner",
2998
+ "msg": "Source account not owned by stake program"
2999
+ },
3000
+ {
3001
+ "code": 6004,
3002
+ "name": "clockBorrowFailed",
3003
+ "msg": "Failed to borrow clock data"
3004
+ },
3005
+ {
3006
+ "code": 6005,
3007
+ "name": "clockDeserializeFailed",
3008
+ "msg": "Failed to deserialize clock"
3009
+ },
3010
+ {
3011
+ "code": 6006,
3012
+ "name": "destinationAnalysisFailed",
3013
+ "msg": "Failed to analyze destination stake account"
3014
+ },
3015
+ {
3016
+ "code": 6007,
3017
+ "name": "sourceAnalysisFailed",
3018
+ "msg": "Failed to analyze source stake account"
3019
+ },
3020
+ {
3021
+ "code": 6008,
3022
+ "name": "destinationStillActivating",
3023
+ "msg": "Destination stake is still activating"
3024
+ },
3025
+ {
3026
+ "code": 6009,
3027
+ "name": "destinationDeactivating",
3028
+ "msg": "Destination stake is deactivating"
3029
+ },
3030
+ {
3031
+ "code": 6010,
3032
+ "name": "sourceStillActivating",
3033
+ "msg": "Source stake is still activating"
3034
+ },
3035
+ {
3036
+ "code": 6011,
3037
+ "name": "sourceDeactivating",
3038
+ "msg": "Source stake is deactivating"
3039
+ },
3040
+ {
3041
+ "code": 6012,
3042
+ "name": "destinationBorrowFailed",
3043
+ "msg": "Failed to borrow destination account data"
3044
+ },
3045
+ {
3046
+ "code": 6013,
3047
+ "name": "destinationParseFailed",
3048
+ "msg": "Failed to parse destination stake state"
3049
+ },
3050
+ {
3051
+ "code": 6014,
3052
+ "name": "sourceBorrowFailed",
3053
+ "msg": "Failed to borrow source account data"
3054
+ },
3055
+ {
3056
+ "code": 6015,
3057
+ "name": "sourceParseFailed",
3058
+ "msg": "Failed to parse source stake state"
3059
+ },
3060
+ {
3061
+ "code": 6016,
3062
+ "name": "differentValidators",
3063
+ "msg": "Stakes are delegated to different validators"
3064
+ },
3065
+ {
3066
+ "code": 6017,
3067
+ "name": "differentStakers",
3068
+ "msg": "Stakes have different staker authorities"
3069
+ },
3070
+ {
3071
+ "code": 6018,
3072
+ "name": "differentWithdrawers",
3073
+ "msg": "Stakes have different withdrawer authorities"
3074
+ },
3075
+ {
3076
+ "code": 6019,
3077
+ "name": "authoritiesNotFound",
3078
+ "msg": "Could not extract authorities from accounts"
3079
+ },
3080
+ {
3081
+ "code": 6020,
3082
+ "name": "mergeInstructionFailed",
3083
+ "msg": "Merge instruction failed"
3084
+ },
3085
+ {
3086
+ "code": 6021,
3087
+ "name": "epochRewardsActive",
3088
+ "msg": "Epoch rewards distribution is active - stake operations blocked"
3089
+ },
3090
+ {
3091
+ "code": 6022,
3092
+ "name": "differentCreditsObserved",
3093
+ "msg": "Stakes have different credits_observed - cannot merge until both earn same rewards"
3094
+ }
3095
+ ],
3096
+ "types": [
3097
+ {
3098
+ "name": "barConfig",
3099
+ "type": {
3100
+ "kind": "struct",
3101
+ "fields": [
3102
+ {
3103
+ "name": "authority",
3104
+ "type": "pubkey"
3105
+ },
3106
+ {
3107
+ "name": "minWarmupCooldown",
3108
+ "type": "u64"
3109
+ },
3110
+ {
3111
+ "name": "bump",
3112
+ "type": "u8"
3113
+ }
3114
+ ]
3115
+ }
3116
+ },
3117
+ {
3118
+ "name": "bondLevel",
3119
+ "type": {
3120
+ "kind": "struct",
3121
+ "fields": [
3122
+ {
3123
+ "name": "id",
3124
+ "type": {
3125
+ "array": [
3126
+ "u8",
3127
+ 32
3128
+ ]
3129
+ }
3130
+ },
3131
+ {
3132
+ "name": "warmupPeriod",
3133
+ "type": "u64"
3134
+ },
3135
+ {
3136
+ "name": "cooldownPeriod",
3137
+ "type": "u64"
3138
+ },
3139
+ {
3140
+ "name": "minReceiptPrincipal",
3141
+ "docs": [
3142
+ "Minimum principal across WireReceipt buckets (staked + purchased + purchased_with_sol)"
3143
+ ],
3144
+ "type": "u64"
3145
+ },
3146
+ {
3147
+ "name": "roles",
3148
+ "docs": [
3149
+ "Roles granted when bonding at this level"
3150
+ ],
3151
+ "type": {
3152
+ "array": [
3153
+ {
3154
+ "defined": {
3155
+ "name": "role"
3156
+ }
3157
+ },
3158
+ 4
3159
+ ]
3160
+ }
3161
+ },
3162
+ {
3163
+ "name": "enabled",
3164
+ "type": "bool"
3165
+ },
3166
+ {
3167
+ "name": "bump",
3168
+ "type": "u8"
3169
+ }
3170
+ ]
3171
+ }
3172
+ },
3173
+ {
3174
+ "name": "bondedActor",
3175
+ "type": {
3176
+ "kind": "struct",
3177
+ "fields": [
3178
+ {
3179
+ "name": "actor",
3180
+ "type": "pubkey"
3181
+ },
3182
+ {
3183
+ "name": "bondOwner",
3184
+ "type": "pubkey"
3185
+ },
3186
+ {
3187
+ "name": "wireReceipt",
3188
+ "type": "pubkey"
3189
+ },
3190
+ {
3191
+ "name": "bondLevelId",
3192
+ "type": {
3193
+ "array": [
3194
+ "u8",
3195
+ 32
3196
+ ]
3197
+ }
3198
+ },
3199
+ {
3200
+ "name": "bondedAt",
3201
+ "type": "i64"
3202
+ },
3203
+ {
3204
+ "name": "unbondedAt",
3205
+ "type": "i64"
3206
+ },
3207
+ {
3208
+ "name": "bump",
3209
+ "type": "u8"
3210
+ }
3211
+ ]
3212
+ }
3213
+ },
3214
+ {
3215
+ "name": "distributionState",
3216
+ "type": {
3217
+ "kind": "struct",
3218
+ "fields": [
3219
+ {
3220
+ "name": "liqsolMint",
3221
+ "type": "pubkey"
3222
+ },
3223
+ {
3224
+ "name": "totalTrackedBalance",
3225
+ "type": "u64"
3226
+ },
3227
+ {
3228
+ "name": "availableBalance",
3229
+ "type": "u64"
3230
+ },
3231
+ {
3232
+ "name": "bump",
3233
+ "type": "u8"
3234
+ }
3235
+ ]
3236
+ }
3237
+ },
3238
+ {
3239
+ "name": "epochResolved",
3240
+ "type": {
3241
+ "kind": "struct",
3242
+ "fields": [
3243
+ {
3244
+ "name": "validator",
3245
+ "type": "pubkey"
3246
+ },
3247
+ {
3248
+ "name": "epoch",
3249
+ "type": "u64"
3250
+ },
3251
+ {
3252
+ "name": "totalStakeAmount",
3253
+ "type": "u64"
3254
+ },
3255
+ {
3256
+ "name": "maxIndex",
3257
+ "type": "u32"
3258
+ }
3259
+ ]
3260
+ }
3261
+ },
3262
+ {
3263
+ "name": "epochState",
3264
+ "type": {
3265
+ "kind": "struct",
3266
+ "fields": [
3267
+ {
3268
+ "name": "lastUpdatedGlobalEpoch",
3269
+ "type": "u64"
3270
+ },
3271
+ {
3272
+ "name": "lastDistributionEpoch",
3273
+ "type": {
3274
+ "option": "u64"
3275
+ }
3276
+ },
3277
+ {
3278
+ "name": "lastDistributionSlot",
3279
+ "type": {
3280
+ "option": "u64"
3281
+ }
3282
+ },
3283
+ {
3284
+ "name": "lastDeactivationEpoch",
3285
+ "type": "u64"
3286
+ },
3287
+ {
3288
+ "name": "lastRebalanceEpoch",
3289
+ "type": "u64"
3290
+ },
3291
+ {
3292
+ "name": "lastMergeTransientsEpoch",
3293
+ "type": "u64"
3294
+ },
3295
+ {
3296
+ "name": "currentMergeProcessingEpoch",
3297
+ "type": "u64"
3298
+ },
3299
+ {
3300
+ "name": "bump",
3301
+ "type": "u8"
3302
+ }
3303
+ ]
3304
+ }
3305
+ },
3306
+ {
3307
+ "name": "global",
3308
+ "docs": [
3309
+ "Global operator state. Epoch-based model: receipts are serviceable",
3310
+ "when `epoch <= serviceable_epoch` as reported by an external runtime."
3311
+ ],
3312
+ "type": {
3313
+ "kind": "struct",
3314
+ "fields": [
3315
+ {
3316
+ "name": "bump",
3317
+ "type": "u8"
3318
+ },
3319
+ {
3320
+ "name": "liqsolMint",
3321
+ "docs": [
3322
+ "Token-2022 liqSOL mint burned on withdraw."
3323
+ ],
3324
+ "type": "pubkey"
3325
+ },
3326
+ {
3327
+ "name": "serviceableEpoch",
3328
+ "docs": [
3329
+ "Highest epoch that is currently claimable."
3330
+ ],
3331
+ "type": "u64"
3332
+ }
3333
+ ]
3334
+ }
3335
+ },
3336
+ {
3337
+ "name": "globalState",
3338
+ "type": {
3339
+ "kind": "struct",
3340
+ "fields": [
3341
+ {
3342
+ "name": "admin",
3343
+ "type": "pubkey"
3344
+ },
3345
+ {
3346
+ "name": "dDay",
3347
+ "docs": [
3348
+ "D-Day flag - when true, staking withdrawals are disabled"
3349
+ ],
3350
+ "type": "bool"
3351
+ },
3352
+ {
3353
+ "name": "refundActive",
3354
+ "docs": [
3355
+ "Refund flag - when true, users may burn their positions for principal"
3356
+ ],
3357
+ "type": "bool"
3358
+ },
3359
+ {
3360
+ "name": "deployedAt",
3361
+ "docs": [
3362
+ "Delay before refunds automatically activate (seconds)"
3363
+ ],
3364
+ "type": "i64"
3365
+ },
3366
+ {
3367
+ "name": "refundDelaySeconds",
3368
+ "type": "i64"
3369
+ },
3370
+ {
3371
+ "name": "paused",
3372
+ "docs": [
3373
+ "Global pause flag - when true, all operations except refunds are disabled"
3374
+ ],
3375
+ "type": "bool"
3376
+ },
3377
+ {
3378
+ "name": "totalStakedLiqsol",
3379
+ "docs": [
3380
+ "Aggregate liqSOL staked through warrants (maps to distribution tracked balance)"
3381
+ ],
3382
+ "type": "u64"
3383
+ },
3384
+ {
3385
+ "name": "totalPurchasedLiqsol",
3386
+ "docs": [
3387
+ "Aggregate liqSOL warrant purchases (part of distribution tracked balance)"
3388
+ ],
3389
+ "type": "u64"
3390
+ },
3391
+ {
3392
+ "name": "totalPurchasedSol",
3393
+ "docs": [
3394
+ "Aggregate raw SOL warrant purchases (custodied in SOL bucket)"
3395
+ ],
3396
+ "type": "u64"
3397
+ },
3398
+ {
3399
+ "name": "totalShares",
3400
+ "docs": [
3401
+ "Total shares issued to all users (for share/index yield isolation)"
3402
+ ],
3403
+ "type": "u64"
3404
+ },
3405
+ {
3406
+ "name": "currentIndex",
3407
+ "docs": [
3408
+ "Current share-to-token exchange rate (scaled by INDEX_SCALE = 1e12)",
3409
+ "Starts at INDEX_SCALE (1.0) and grows as yield accrues"
3410
+ ],
3411
+ "type": "u64"
3412
+ },
3413
+ {
3414
+ "name": "lastPoolLiqsolBalance",
3415
+ "docs": [
3416
+ "Last observed liqSOL pool balance (for proportional yield calculation)"
3417
+ ],
3418
+ "type": "u64"
3419
+ },
3420
+ {
3421
+ "name": "lastPoolSolBalance",
3422
+ "docs": [
3423
+ "Last observed raw SOL pool balance (for proportional yield calculation)"
3424
+ ],
3425
+ "type": "u64"
3426
+ },
3427
+ {
3428
+ "name": "yieldAccumulatedSolEq",
3429
+ "docs": [
3430
+ "Accumulated yield (in equivalent units) available for protocol warrant purchases"
3431
+ ],
3432
+ "type": "u64"
3433
+ },
3434
+ {
3435
+ "name": "bump",
3436
+ "type": "u8"
3437
+ }
3438
+ ]
3439
+ }
3440
+ },
3441
+ {
3442
+ "name": "liqReceiptData",
3443
+ "type": {
3444
+ "kind": "struct",
3445
+ "fields": [
3446
+ {
3447
+ "name": "liqports",
3448
+ "type": "u64"
3449
+ },
3450
+ {
3451
+ "name": "epoch",
3452
+ "type": "u64"
3453
+ },
3454
+ {
3455
+ "name": "fulfilled",
3456
+ "type": "bool"
3457
+ }
3458
+ ]
3459
+ }
3460
+ },
3461
+ {
3462
+ "name": "payCycle",
3463
+ "type": {
3464
+ "kind": "struct",
3465
+ "fields": [
3466
+ {
3467
+ "name": "epoch",
3468
+ "type": "u64"
3469
+ },
3470
+ {
3471
+ "name": "totalYield",
3472
+ "type": "u64"
3473
+ },
3474
+ {
3475
+ "name": "timestamp",
3476
+ "type": "i64"
3477
+ },
3478
+ {
3479
+ "name": "fulfilled",
3480
+ "type": "bool"
3481
+ },
3482
+ {
3483
+ "name": "lastSlotPaidFor",
3484
+ "type": "u64"
3485
+ },
3486
+ {
3487
+ "name": "bump",
3488
+ "type": "u8"
3489
+ }
3490
+ ]
3491
+ }
3492
+ },
3493
+ {
3494
+ "name": "payRateEntry",
3495
+ "type": {
3496
+ "kind": "struct",
3497
+ "fields": [
3498
+ {
3499
+ "name": "timestamp",
3500
+ "type": "i64"
3501
+ },
3502
+ {
3503
+ "name": "scaledRate",
3504
+ "type": "u64"
3505
+ }
3506
+ ]
3507
+ }
3508
+ },
3509
+ {
3510
+ "name": "payRateHistory",
3511
+ "type": {
3512
+ "kind": "struct",
3513
+ "fields": [
3514
+ {
3515
+ "name": "currentIndex",
3516
+ "type": "u16"
3517
+ },
3518
+ {
3519
+ "name": "totalEntriesAdded",
3520
+ "type": "u64"
3521
+ },
3522
+ {
3523
+ "name": "entries",
3524
+ "type": {
3525
+ "vec": {
3526
+ "defined": {
3527
+ "name": "payRateEntry"
3528
+ }
3529
+ }
3530
+ }
3531
+ },
3532
+ {
3533
+ "name": "maxEntries",
3534
+ "type": "u16"
3535
+ },
3536
+ {
3537
+ "name": "bump",
3538
+ "type": "u8"
3539
+ }
3540
+ ]
3541
+ }
3542
+ },
3543
+ {
3544
+ "name": "payoutState",
3545
+ "type": {
3546
+ "kind": "struct",
3547
+ "fields": [
3548
+ {
3549
+ "name": "totalPaidOutThisEpoch",
3550
+ "type": "u64"
3551
+ },
3552
+ {
3553
+ "name": "epochPayoutDelta",
3554
+ "type": "i64"
3555
+ },
3556
+ {
3557
+ "name": "feesRemainingToDistribute",
3558
+ "type": "u64"
3559
+ },
3560
+ {
3561
+ "name": "feePayoutPerPc",
3562
+ "type": "u64"
3563
+ },
3564
+ {
3565
+ "name": "totalFeesDeposited",
3566
+ "type": "u64"
3567
+ },
3568
+ {
3569
+ "name": "totalCumulativePayout",
3570
+ "type": "u64"
3571
+ },
3572
+ {
3573
+ "name": "bump",
3574
+ "type": "u8"
3575
+ }
3576
+ ]
3577
+ }
3578
+ },
3579
+ {
3580
+ "name": "priceHistory",
3581
+ "docs": [
3582
+ "Price history for windowed moving average calculations",
3583
+ "All prices stored in 8-decimal precision"
3584
+ ],
3585
+ "type": {
3586
+ "kind": "struct",
3587
+ "fields": [
3588
+ {
3589
+ "name": "windowSize",
3590
+ "docs": [
3591
+ "Number of prices to keep in the moving average window"
3592
+ ],
3593
+ "type": "u8"
3594
+ },
3595
+ {
3596
+ "name": "prices",
3597
+ "docs": [
3598
+ "Circular buffer of recent prices (fixed size, 8-dec each)"
3599
+ ],
3600
+ "type": {
3601
+ "array": [
3602
+ "i128",
3603
+ 10
3604
+ ]
3605
+ }
3606
+ },
3607
+ {
3608
+ "name": "count",
3609
+ "docs": [
3610
+ "Number of valid entries in the prices array (0-10)"
3611
+ ],
3612
+ "type": "u8"
3613
+ },
3614
+ {
3615
+ "name": "nextIndex",
3616
+ "type": "u8"
3617
+ },
3618
+ {
3619
+ "name": "bump",
3620
+ "type": "u8"
3621
+ }
3622
+ ]
3623
+ }
3624
+ },
3625
+ {
3626
+ "name": "processingState",
3627
+ "type": {
3628
+ "kind": "struct",
3629
+ "fields": [
3630
+ {
3631
+ "name": "validatorsProcessedThisEpoch",
3632
+ "type": "u8"
3633
+ },
3634
+ {
3635
+ "name": "validatorsMergeProcessedThisEpoch",
3636
+ "type": "u8"
3637
+ },
3638
+ {
3639
+ "name": "distributionInProgress",
3640
+ "type": "bool"
3641
+ },
3642
+ {
3643
+ "name": "bump",
3644
+ "type": "u8"
3645
+ }
3646
+ ]
3647
+ }
3648
+ },
3649
+ {
3650
+ "name": "role",
3651
+ "docs": [
3652
+ "Role granted by a bond level"
3653
+ ],
3654
+ "type": {
3655
+ "kind": "struct",
3656
+ "fields": [
3657
+ {
3658
+ "name": "roleId",
3659
+ "type": "u64"
3660
+ },
3661
+ {
3662
+ "name": "executionDelay",
3663
+ "docs": [
3664
+ "Delay in seconds before role becomes active (for time-locked operations)"
3665
+ ],
3666
+ "type": "u32"
3667
+ }
3668
+ ]
3669
+ }
3670
+ },
3671
+ {
3672
+ "name": "stakeControllerState",
3673
+ "type": {
3674
+ "kind": "struct",
3675
+ "fields": [
3676
+ {
3677
+ "name": "authority",
3678
+ "type": "pubkey"
3679
+ },
3680
+ {
3681
+ "name": "vaultInitialized",
3682
+ "type": "bool"
3683
+ },
3684
+ {
3685
+ "name": "reservePoolInitialized",
3686
+ "type": "bool"
3687
+ },
3688
+ {
3689
+ "name": "bump",
3690
+ "type": "u8"
3691
+ }
3692
+ ]
3693
+ }
3694
+ },
3695
+ {
3696
+ "name": "stakeMetrics",
3697
+ "type": {
3698
+ "kind": "struct",
3699
+ "fields": [
3700
+ {
3701
+ "name": "currentActiveStake",
3702
+ "type": "u64"
3703
+ },
3704
+ {
3705
+ "name": "transientActiveStake",
3706
+ "type": "u64"
3707
+ },
3708
+ {
3709
+ "name": "actualSystemYieldReceived",
3710
+ "type": "u64"
3711
+ },
3712
+ {
3713
+ "name": "solSystemPayRate",
3714
+ "type": "u64"
3715
+ },
3716
+ {
3717
+ "name": "bump",
3718
+ "type": "u8"
3719
+ }
3720
+ ]
3721
+ }
3722
+ },
3723
+ {
3724
+ "name": "stakesMerged",
3725
+ "type": {
3726
+ "kind": "struct",
3727
+ "fields": [
3728
+ {
3729
+ "name": "validator",
3730
+ "type": "pubkey"
3731
+ },
3732
+ {
3733
+ "name": "epoch",
3734
+ "type": "u64"
3735
+ },
3736
+ {
3737
+ "name": "count",
3738
+ "type": "u32"
3739
+ },
3740
+ {
3741
+ "name": "amount",
3742
+ "type": "u64"
3743
+ }
3744
+ ]
3745
+ }
3746
+ },
3747
+ {
3748
+ "name": "tokenMetadata",
3749
+ "type": {
3750
+ "kind": "struct",
3751
+ "fields": [
3752
+ {
3753
+ "name": "name",
3754
+ "type": "string"
3755
+ },
3756
+ {
3757
+ "name": "symbol",
3758
+ "type": "string"
3759
+ },
3760
+ {
3761
+ "name": "uri",
3762
+ "type": "string"
3763
+ }
3764
+ ]
3765
+ }
3766
+ },
3767
+ {
3768
+ "name": "trancheState",
3769
+ "docs": [
3770
+ "All i128 values use 8-decimal precision (SCALE = 1e8 = 100,000,000)",
3771
+ "This matches Chainlink SOL/USD's native format, avoiding conversion overhead",
3772
+ "Example: $193.32 is stored as 19332000000"
3773
+ ],
3774
+ "type": {
3775
+ "kind": "struct",
3776
+ "fields": [
3777
+ {
3778
+ "name": "admin",
3779
+ "docs": [
3780
+ "Admin authority (can update growth parameters and price bounds)"
3781
+ ],
3782
+ "type": "pubkey"
3783
+ },
3784
+ {
3785
+ "name": "currentTrancheNumber",
3786
+ "type": "u64"
3787
+ },
3788
+ {
3789
+ "name": "currentTrancheSupply",
3790
+ "type": "i128"
3791
+ },
3792
+ {
3793
+ "name": "currentTranchePriceUsd",
3794
+ "type": "i128"
3795
+ },
3796
+ {
3797
+ "name": "totalWarrantsSold",
3798
+ "type": "i128"
3799
+ },
3800
+ {
3801
+ "name": "initialTrancheSupply",
3802
+ "type": "i128"
3803
+ },
3804
+ {
3805
+ "name": "supplyGrowthBps",
3806
+ "docs": [
3807
+ "Supply growth in basis points (e.g., 100 = 1%, max 10000)"
3808
+ ],
3809
+ "type": "u16"
3810
+ },
3811
+ {
3812
+ "name": "priceGrowthBps",
3813
+ "docs": [
3814
+ "Price growth in basis points (e.g., 200 = 2%, max 10000)"
3815
+ ],
3816
+ "type": "u16"
3817
+ },
3818
+ {
3819
+ "name": "minPriceUsd",
3820
+ "docs": [
3821
+ "Minimum valid SOL/USD price for validation (8-dec)"
3822
+ ],
3823
+ "type": "i128"
3824
+ },
3825
+ {
3826
+ "name": "maxPriceUsd",
3827
+ "docs": [
3828
+ "Maximum valid SOL/USD price for validation (8-dec)"
3829
+ ],
3830
+ "type": "i128"
3831
+ },
3832
+ {
3833
+ "name": "maxStalenessSeconds",
3834
+ "docs": [
3835
+ "Maximum staleness in seconds for Chainlink data"
3836
+ ],
3837
+ "type": "i64"
3838
+ },
3839
+ {
3840
+ "name": "chainlinkProgram",
3841
+ "docs": [
3842
+ "Chainlink program address"
3843
+ ],
3844
+ "type": "pubkey"
3845
+ },
3846
+ {
3847
+ "name": "chainlinkFeed",
3848
+ "docs": [
3849
+ "Chainlink price feed PDA"
3850
+ ],
3851
+ "type": "pubkey"
3852
+ },
3853
+ {
3854
+ "name": "bump",
3855
+ "type": "u8"
3856
+ }
3857
+ ]
3858
+ }
3859
+ },
3860
+ {
3861
+ "name": "transientStakeEntry",
3862
+ "type": {
3863
+ "kind": "struct",
3864
+ "fields": [
3865
+ {
3866
+ "name": "voteAccount",
3867
+ "type": "pubkey"
3868
+ },
3869
+ {
3870
+ "name": "maxResolvedEpochDeactivations",
3871
+ "type": "u16"
3872
+ },
3873
+ {
3874
+ "name": "maxResolvedActivatingStake",
3875
+ "type": "u16"
3876
+ },
3877
+ {
3878
+ "name": "lastUpdatedEpochActivations",
3879
+ "type": "u16"
3880
+ },
3881
+ {
3882
+ "name": "lastUpdatedEpochDeactivationsRebalancing",
3883
+ "type": "u16"
3884
+ },
3885
+ {
3886
+ "name": "lastUpdatedEpochDeactivationsWithdrawals",
3887
+ "type": "u16"
3888
+ },
3889
+ {
3890
+ "name": "totalDeactivationAmountForEpoch",
3891
+ "type": "u64"
3892
+ }
3893
+ ]
3894
+ }
3895
+ },
3896
+ {
3897
+ "name": "transientUpdateParams",
3898
+ "type": {
3899
+ "kind": "struct",
3900
+ "fields": [
3901
+ {
3902
+ "name": "maxResolvedEpochDeactivations",
3903
+ "type": {
3904
+ "option": "u16"
3905
+ }
3906
+ },
3907
+ {
3908
+ "name": "maxResolvedActivatingStake",
3909
+ "type": {
3910
+ "option": "u16"
3911
+ }
3912
+ },
3913
+ {
3914
+ "name": "lastUpdatedEpochActivations",
3915
+ "type": {
3916
+ "option": "u16"
3917
+ }
3918
+ },
3919
+ {
3920
+ "name": "lastUpdatedEpochDeactivations",
3921
+ "type": {
3922
+ "option": "u16"
3923
+ }
3924
+ }
3925
+ ]
3926
+ }
3927
+ },
3928
+ {
3929
+ "name": "userRecord",
3930
+ "type": {
3931
+ "kind": "struct",
3932
+ "fields": [
3933
+ {
3934
+ "name": "userAta",
3935
+ "type": "pubkey"
3936
+ },
3937
+ {
3938
+ "name": "trackedBalance",
3939
+ "type": "u64"
3940
+ },
3941
+ {
3942
+ "name": "claimBalance",
3943
+ "type": "u64"
3944
+ },
3945
+ {
3946
+ "name": "lastClaimTimestamp",
3947
+ "type": "i64"
3948
+ },
3949
+ {
3950
+ "name": "bump",
3951
+ "type": "u8"
3952
+ }
3953
+ ]
3954
+ }
3955
+ },
3956
+ {
3957
+ "name": "userWarrantRecord",
3958
+ "type": {
3959
+ "kind": "struct",
3960
+ "fields": [
3961
+ {
3962
+ "name": "user",
3963
+ "type": "pubkey"
3964
+ },
3965
+ {
3966
+ "name": "totalSolDeposited",
3967
+ "type": "u64"
3968
+ },
3969
+ {
3970
+ "name": "totalWarrantsPurchased",
3971
+ "type": "i128"
3972
+ },
3973
+ {
3974
+ "name": "lastTrancheNumber",
3975
+ "type": "u64"
3976
+ },
3977
+ {
3978
+ "name": "lastTranchePriceUsd",
3979
+ "type": "i128"
3980
+ },
3981
+ {
3982
+ "name": "bump",
3983
+ "type": "u8"
3984
+ }
3985
+ ]
3986
+ }
3987
+ },
3988
+ {
3989
+ "name": "userWithdrawRecord",
3990
+ "type": {
3991
+ "kind": "struct",
3992
+ "fields": [
3993
+ {
3994
+ "name": "bump",
3995
+ "type": "u8"
3996
+ },
3997
+ {
3998
+ "name": "trackedBalance",
3999
+ "type": "u64"
4000
+ }
4001
+ ]
4002
+ }
4003
+ },
4004
+ {
4005
+ "name": "validatorInfo",
4006
+ "type": {
4007
+ "kind": "struct",
4008
+ "fields": [
4009
+ {
4010
+ "name": "voteAccount",
4011
+ "type": "pubkey"
4012
+ },
4013
+ {
4014
+ "name": "vpp",
4015
+ "type": "u8"
4016
+ },
4017
+ {
4018
+ "name": "currentActiveStake",
4019
+ "type": "u64"
4020
+ },
4021
+ {
4022
+ "name": "epochReward",
4023
+ "type": "u64"
4024
+ },
4025
+ {
4026
+ "name": "transientActiveStake",
4027
+ "type": "u64"
4028
+ },
4029
+ {
4030
+ "name": "lastChainSyncEpoch",
4031
+ "type": "u16"
4032
+ }
4033
+ ]
4034
+ }
4035
+ },
4036
+ {
4037
+ "name": "validatorMetrics",
4038
+ "type": {
4039
+ "kind": "struct",
4040
+ "fields": [
4041
+ {
4042
+ "name": "commission",
4043
+ "type": "u8"
4044
+ },
4045
+ {
4046
+ "name": "skipRateBps",
4047
+ "type": "u32"
4048
+ },
4049
+ {
4050
+ "name": "isDelinquent",
4051
+ "type": "bool"
4052
+ },
4053
+ {
4054
+ "name": "activatedStake",
4055
+ "type": "u64"
4056
+ }
4057
+ ]
4058
+ }
4059
+ },
4060
+ {
4061
+ "name": "validatorRegistry",
4062
+ "type": {
4063
+ "kind": "struct",
4064
+ "fields": [
4065
+ {
4066
+ "name": "authority",
4067
+ "type": "pubkey"
4068
+ },
4069
+ {
4070
+ "name": "validators",
4071
+ "type": {
4072
+ "vec": {
4073
+ "defined": {
4074
+ "name": "validatorInfo"
4075
+ }
4076
+ }
4077
+ }
4078
+ },
4079
+ {
4080
+ "name": "lastUpdateEpoch",
4081
+ "type": "u64"
4082
+ },
4083
+ {
4084
+ "name": "bump",
4085
+ "type": "u8"
4086
+ }
4087
+ ]
4088
+ }
4089
+ },
4090
+ {
4091
+ "name": "validatorTransientsTracking",
4092
+ "type": {
4093
+ "kind": "struct",
4094
+ "fields": [
4095
+ {
4096
+ "name": "entries",
4097
+ "type": {
4098
+ "vec": {
4099
+ "defined": {
4100
+ "name": "transientStakeEntry"
4101
+ }
4102
+ }
4103
+ }
4104
+ },
4105
+ {
4106
+ "name": "count",
4107
+ "type": "u16"
4108
+ },
4109
+ {
4110
+ "name": "bump",
4111
+ "type": "u8"
4112
+ }
4113
+ ]
4114
+ }
4115
+ },
4116
+ {
4117
+ "name": "validatorsSyncedEvent",
4118
+ "type": {
4119
+ "kind": "struct",
4120
+ "fields": [
4121
+ {
4122
+ "name": "updatedCount",
4123
+ "type": "u32"
4124
+ },
4125
+ {
4126
+ "name": "notFoundCount",
4127
+ "type": "u32"
4128
+ },
4129
+ {
4130
+ "name": "epoch",
4131
+ "type": "u64"
4132
+ }
4133
+ ]
4134
+ }
4135
+ },
4136
+ {
4137
+ "name": "wireReceipt",
4138
+ "type": {
4139
+ "kind": "struct",
4140
+ "fields": [
4141
+ {
4142
+ "name": "user",
4143
+ "type": "pubkey"
4144
+ },
4145
+ {
4146
+ "name": "stakedLiqsol",
4147
+ "docs": [
4148
+ "STAKE deposits (withdrawable pre-D-Day)",
4149
+ "Principal amount staked (for display/tracking)"
4150
+ ],
4151
+ "type": "u64"
4152
+ },
4153
+ {
4154
+ "name": "stakedShares",
4155
+ "docs": [
4156
+ "Shares from staking (actual accounting for yield isolation)"
4157
+ ],
4158
+ "type": "u64"
4159
+ },
4160
+ {
4161
+ "name": "purchasedLiqsol",
4162
+ "docs": [
4163
+ "WARRANT_PURCHASE deposits with liqSOL (permanent)",
4164
+ "Principal amount spent on warrants (for display/tracking)"
4165
+ ],
4166
+ "type": "u64"
4167
+ },
4168
+ {
4169
+ "name": "purchasedShares",
4170
+ "docs": [
4171
+ "Shares from liqSOL warrant purchases (actual accounting for yield isolation)"
4172
+ ],
4173
+ "type": "u64"
4174
+ },
4175
+ {
4176
+ "name": "purchasedWithSol",
4177
+ "docs": [
4178
+ "WARRANT_PURCHASE deposits with raw SOL (permanent, separate settlement)",
4179
+ "Principal amount in lamports spent on warrants"
4180
+ ],
4181
+ "type": "u64"
4182
+ },
4183
+ {
4184
+ "name": "purchasedSolShares",
4185
+ "docs": [
4186
+ "Shares from SOL warrant purchases (actual accounting for yield isolation)"
4187
+ ],
4188
+ "type": "u64"
4189
+ },
4190
+ {
4191
+ "name": "locked",
4192
+ "docs": [
4193
+ "True when WireReceipt is locked by an active bond (prevents withdrawals)"
4194
+ ],
4195
+ "type": "bool"
4196
+ },
4197
+ {
4198
+ "name": "bump",
4199
+ "type": "u8"
4200
+ }
4201
+ ]
4202
+ }
4203
+ },
4204
+ {
4205
+ "name": "withdrawClaimed",
4206
+ "type": {
4207
+ "kind": "struct",
4208
+ "fields": [
4209
+ {
4210
+ "name": "epoch",
4211
+ "type": "u64"
4212
+ },
4213
+ {
4214
+ "name": "amount",
4215
+ "type": "u64"
4216
+ },
4217
+ {
4218
+ "name": "user",
4219
+ "type": "pubkey"
4220
+ }
4221
+ ]
4222
+ }
4223
+ },
4224
+ {
4225
+ "name": "withdrawRequested",
4226
+ "type": {
4227
+ "kind": "struct",
4228
+ "fields": [
4229
+ {
4230
+ "name": "epoch",
4231
+ "type": "u64"
4232
+ },
4233
+ {
4234
+ "name": "amount",
4235
+ "type": "u64"
4236
+ },
4237
+ {
4238
+ "name": "user",
4239
+ "type": "pubkey"
4240
+ }
4241
+ ]
4242
+ }
4243
+ }
4244
+ ]
4245
+ };