@wireio/stake 0.0.6 → 0.1.1
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.
- package/README.md +260 -13
- package/lib/stake.browser.js +4861 -4218
- package/lib/stake.browser.js.map +1 -1
- package/lib/stake.d.ts +434 -6484
- package/lib/stake.js +5059 -4371
- package/lib/stake.js.map +1 -1
- package/lib/stake.m.js +4861 -4218
- package/lib/stake.m.js.map +1 -1
- package/package.json +2 -2
- package/src/assets/solana/idl/liqsol_core.json +4239 -0
- package/src/assets/solana/idl/liqsol_token.json +183 -0
- package/src/assets/solana/idl/validator_leaderboard.json +296 -250
- package/src/assets/solana/types/liqsol_core.ts +4245 -0
- package/src/assets/solana/types/liqsol_token.ts +189 -0
- package/src/assets/solana/types/validator_leaderboard.ts +296 -250
- package/src/index.ts +2 -5
- package/src/networks/ethereum/contract.ts +138 -36
- package/src/networks/ethereum/ethereum.ts +167 -38
- package/src/networks/ethereum/types.ts +32 -1
- package/src/networks/solana/clients/deposit.client.ts +92 -139
- package/src/networks/solana/clients/distribution.client.ts +302 -178
- package/src/networks/solana/clients/leaderboard.client.ts +40 -160
- package/src/networks/solana/constants.ts +238 -69
- package/src/networks/solana/program.ts +27 -93
- package/src/networks/solana/solana.ts +181 -36
- package/src/networks/solana/types.ts +47 -0
- package/src/networks/solana/utils.ts +522 -93
- package/src/scripts/fetch-artifacts.sh +24 -0
- package/src/scripts/tsconfig.json +17 -0
- package/src/staker/staker.ts +35 -30
- package/src/staker/types.ts +25 -22
- package/src/assets/solana/idl/deposit.json +0 -260
- package/src/assets/solana/idl/distribution.json +0 -736
- package/src/assets/solana/idl/liq_sol_token.json +0 -275
- package/src/assets/solana/idl/stake_controller.json +0 -1788
- package/src/assets/solana/idl/stake_registry.json +0 -435
- package/src/assets/solana/idl/treasury.json +0 -336
- package/src/assets/solana/idl/validator_registry.json +0 -418
- package/src/assets/solana/idl/yield_oracle.json +0 -32
- package/src/assets/solana/types/deposit.ts +0 -266
- package/src/assets/solana/types/distribution.ts +0 -742
- package/src/assets/solana/types/liq_sol_token.ts +0 -281
- package/src/assets/solana/types/stake_controller.ts +0 -1794
- package/src/assets/solana/types/stake_registry.ts +0 -441
- package/src/assets/solana/types/treasury.ts +0 -342
- package/src/assets/solana/types/validator_registry.ts +0 -424
- package/src/assets/solana/types/yield_oracle.ts +0 -38
- package/src/utils.ts +0 -9
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"address": "
|
|
2
|
+
"address": "5Nf6jL5B2qkMbnLoN3RTT1sKcBKrrsRnovTBDZXcQnfo",
|
|
3
3
|
"metadata": {
|
|
4
4
|
"name": "validator_leaderboard",
|
|
5
5
|
"version": "0.1.0",
|
|
@@ -8,167 +8,118 @@
|
|
|
8
8
|
},
|
|
9
9
|
"instructions": [
|
|
10
10
|
{
|
|
11
|
-
"name": "
|
|
11
|
+
"name": "initialize_leaderboard",
|
|
12
12
|
"discriminator": [
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
47,
|
|
14
|
+
23,
|
|
15
|
+
34,
|
|
16
|
+
39,
|
|
17
|
+
46,
|
|
18
|
+
108,
|
|
19
|
+
91,
|
|
20
|
+
176
|
|
21
21
|
],
|
|
22
22
|
"accounts": [
|
|
23
23
|
{
|
|
24
|
-
"name": "
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
49,
|
|
35
|
-
48,
|
|
36
|
-
95,
|
|
37
|
-
99,
|
|
38
|
-
97,
|
|
39
|
-
99,
|
|
40
|
-
104,
|
|
41
|
-
101
|
|
42
|
-
]
|
|
43
|
-
}
|
|
44
|
-
]
|
|
45
|
-
}
|
|
24
|
+
"name": "authority",
|
|
25
|
+
"writable": true,
|
|
26
|
+
"signer": true
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"name": "leaderboard_state",
|
|
30
|
+
"writable": true
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "system_program"
|
|
46
34
|
}
|
|
47
35
|
],
|
|
48
|
-
"args": []
|
|
49
|
-
"returns": {
|
|
50
|
-
"array": [
|
|
51
|
-
"pubkey",
|
|
52
|
-
10
|
|
53
|
-
]
|
|
54
|
-
}
|
|
36
|
+
"args": []
|
|
55
37
|
},
|
|
56
38
|
{
|
|
57
|
-
"name": "
|
|
39
|
+
"name": "realloc_leaderboard",
|
|
58
40
|
"discriminator": [
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
41
|
+
2,
|
|
42
|
+
70,
|
|
43
|
+
106,
|
|
44
|
+
94,
|
|
45
|
+
81,
|
|
46
|
+
225,
|
|
47
|
+
113,
|
|
48
|
+
152
|
|
67
49
|
],
|
|
68
50
|
"accounts": [
|
|
69
51
|
{
|
|
70
|
-
"name": "
|
|
71
|
-
"writable": true
|
|
72
|
-
"signer": true
|
|
52
|
+
"name": "leaderboard_state",
|
|
53
|
+
"writable": true
|
|
73
54
|
},
|
|
74
55
|
{
|
|
75
|
-
"name": "
|
|
76
|
-
"docs": [
|
|
77
|
-
"HEAD node - points to the highest VPP validator"
|
|
78
|
-
],
|
|
56
|
+
"name": "payer",
|
|
79
57
|
"writable": true,
|
|
80
|
-
"
|
|
81
|
-
"seeds": [
|
|
82
|
-
{
|
|
83
|
-
"kind": "const",
|
|
84
|
-
"value": [
|
|
85
|
-
108,
|
|
86
|
-
101,
|
|
87
|
-
97,
|
|
88
|
-
100,
|
|
89
|
-
101,
|
|
90
|
-
114,
|
|
91
|
-
98,
|
|
92
|
-
111,
|
|
93
|
-
97,
|
|
94
|
-
114,
|
|
95
|
-
100,
|
|
96
|
-
95,
|
|
97
|
-
104,
|
|
98
|
-
101,
|
|
99
|
-
97,
|
|
100
|
-
100
|
|
101
|
-
]
|
|
102
|
-
}
|
|
103
|
-
]
|
|
104
|
-
}
|
|
58
|
+
"signer": true
|
|
105
59
|
},
|
|
106
60
|
{
|
|
107
|
-
"name": "system_program"
|
|
108
|
-
"address": "11111111111111111111111111111111"
|
|
61
|
+
"name": "system_program"
|
|
109
62
|
}
|
|
110
63
|
],
|
|
111
64
|
"args": []
|
|
112
65
|
},
|
|
113
66
|
{
|
|
114
|
-
"name": "
|
|
67
|
+
"name": "update_commission",
|
|
115
68
|
"discriminator": [
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
69
|
+
2,
|
|
70
|
+
202,
|
|
71
|
+
72,
|
|
72
|
+
156,
|
|
73
|
+
19,
|
|
74
|
+
253,
|
|
75
|
+
91,
|
|
76
|
+
174
|
|
124
77
|
],
|
|
125
78
|
"accounts": [
|
|
126
79
|
{
|
|
127
|
-
"name": "
|
|
80
|
+
"name": "registrant",
|
|
128
81
|
"writable": true,
|
|
129
82
|
"signer": true
|
|
130
83
|
},
|
|
131
84
|
{
|
|
132
|
-
"name": "
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
"kind": "const",
|
|
138
|
-
"value": [
|
|
139
|
-
116,
|
|
140
|
-
111,
|
|
141
|
-
112,
|
|
142
|
-
95,
|
|
143
|
-
49,
|
|
144
|
-
48,
|
|
145
|
-
95,
|
|
146
|
-
99,
|
|
147
|
-
97,
|
|
148
|
-
99,
|
|
149
|
-
104,
|
|
150
|
-
101
|
|
151
|
-
]
|
|
152
|
-
}
|
|
153
|
-
]
|
|
154
|
-
}
|
|
85
|
+
"name": "vote_account"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "validator_record",
|
|
89
|
+
"writable": true
|
|
155
90
|
},
|
|
156
91
|
{
|
|
157
|
-
"name": "system_program"
|
|
158
|
-
"address": "11111111111111111111111111111111"
|
|
92
|
+
"name": "system_program"
|
|
159
93
|
}
|
|
160
94
|
],
|
|
161
|
-
"args": [
|
|
95
|
+
"args": []
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"name": "update_mev_commission",
|
|
99
|
+
"discriminator": [
|
|
100
|
+
107,
|
|
101
|
+
65,
|
|
102
|
+
238,
|
|
103
|
+
108,
|
|
104
|
+
183,
|
|
105
|
+
47,
|
|
106
|
+
236,
|
|
107
|
+
203
|
|
108
|
+
],
|
|
109
|
+
"accounts": [
|
|
162
110
|
{
|
|
163
|
-
"name": "
|
|
164
|
-
"
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
111
|
+
"name": "signer",
|
|
112
|
+
"signer": true
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"name": "validator_record",
|
|
116
|
+
"writable": true
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"name": "tip_distribution_account"
|
|
170
120
|
}
|
|
171
|
-
]
|
|
121
|
+
],
|
|
122
|
+
"args": []
|
|
172
123
|
},
|
|
173
124
|
{
|
|
174
125
|
"name": "update_validator",
|
|
@@ -193,117 +144,40 @@
|
|
|
193
144
|
},
|
|
194
145
|
{
|
|
195
146
|
"name": "validator_record",
|
|
196
|
-
"writable": true
|
|
197
|
-
"pda": {
|
|
198
|
-
"seeds": [
|
|
199
|
-
{
|
|
200
|
-
"kind": "const",
|
|
201
|
-
"value": [
|
|
202
|
-
118,
|
|
203
|
-
97,
|
|
204
|
-
108,
|
|
205
|
-
105,
|
|
206
|
-
100,
|
|
207
|
-
97,
|
|
208
|
-
116,
|
|
209
|
-
111,
|
|
210
|
-
114
|
|
211
|
-
]
|
|
212
|
-
},
|
|
213
|
-
{
|
|
214
|
-
"kind": "account",
|
|
215
|
-
"path": "vote_account"
|
|
216
|
-
}
|
|
217
|
-
]
|
|
218
|
-
}
|
|
219
|
-
},
|
|
220
|
-
{
|
|
221
|
-
"name": "leaderboard_head",
|
|
222
|
-
"writable": true,
|
|
223
|
-
"pda": {
|
|
224
|
-
"seeds": [
|
|
225
|
-
{
|
|
226
|
-
"kind": "const",
|
|
227
|
-
"value": [
|
|
228
|
-
108,
|
|
229
|
-
101,
|
|
230
|
-
97,
|
|
231
|
-
100,
|
|
232
|
-
101,
|
|
233
|
-
114,
|
|
234
|
-
98,
|
|
235
|
-
111,
|
|
236
|
-
97,
|
|
237
|
-
114,
|
|
238
|
-
100,
|
|
239
|
-
95,
|
|
240
|
-
104,
|
|
241
|
-
101,
|
|
242
|
-
97,
|
|
243
|
-
100
|
|
244
|
-
]
|
|
245
|
-
}
|
|
246
|
-
]
|
|
247
|
-
}
|
|
248
|
-
},
|
|
249
|
-
{
|
|
250
|
-
"name": "insert_after",
|
|
251
|
-
"writable": true,
|
|
252
|
-
"optional": true
|
|
147
|
+
"writable": true
|
|
253
148
|
},
|
|
254
149
|
{
|
|
255
|
-
"name": "
|
|
256
|
-
"writable": true
|
|
257
|
-
"optional": true
|
|
258
|
-
},
|
|
259
|
-
{
|
|
260
|
-
"name": "current_prev",
|
|
261
|
-
"writable": true,
|
|
262
|
-
"optional": true
|
|
263
|
-
},
|
|
264
|
-
{
|
|
265
|
-
"name": "current_next",
|
|
266
|
-
"writable": true,
|
|
267
|
-
"optional": true
|
|
150
|
+
"name": "leaderboard_state",
|
|
151
|
+
"writable": true
|
|
268
152
|
},
|
|
269
153
|
{
|
|
270
|
-
"name": "system_program"
|
|
271
|
-
"address": "11111111111111111111111111111111"
|
|
154
|
+
"name": "system_program"
|
|
272
155
|
}
|
|
273
156
|
],
|
|
274
157
|
"args": [
|
|
275
158
|
{
|
|
276
159
|
"name": "vpp",
|
|
277
160
|
"type": "u64"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"name": "proposed_rank",
|
|
164
|
+
"type": "u16"
|
|
278
165
|
}
|
|
279
166
|
]
|
|
280
167
|
}
|
|
281
168
|
],
|
|
282
169
|
"accounts": [
|
|
283
170
|
{
|
|
284
|
-
"name": "
|
|
171
|
+
"name": "LeaderboardState",
|
|
285
172
|
"discriminator": [
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
41,
|
|
291
|
-
114,
|
|
292
|
-
23,
|
|
293
|
-
157
|
|
294
|
-
]
|
|
295
|
-
},
|
|
296
|
-
{
|
|
297
|
-
"name": "Top10Cache",
|
|
298
|
-
"discriminator": [
|
|
299
|
-
112,
|
|
300
|
-
78,
|
|
173
|
+
211,
|
|
174
|
+
181,
|
|
175
|
+
29,
|
|
176
|
+
120,
|
|
301
177
|
189,
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
15,
|
|
306
|
-
81
|
|
178
|
+
4,
|
|
179
|
+
106,
|
|
180
|
+
111
|
|
307
181
|
]
|
|
308
182
|
},
|
|
309
183
|
{
|
|
@@ -405,71 +279,212 @@
|
|
|
405
279
|
"code": 6016,
|
|
406
280
|
"name": "BrokenLinkage",
|
|
407
281
|
"msg": "Broken linked list continuity"
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"code": 6017,
|
|
285
|
+
"name": "CommissionNotUpdated",
|
|
286
|
+
"msg": "Commission must be updated for current epoch before updating validator"
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
"code": 6018,
|
|
290
|
+
"name": "MevCommissionNotUpdated",
|
|
291
|
+
"msg": "MEV commission must be updated for current epoch before updating validator"
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
"code": 6019,
|
|
295
|
+
"name": "InvalidCurrentNeighbor",
|
|
296
|
+
"msg": "Current neighbor account doesn't match validator's stored links"
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
"code": 6020,
|
|
300
|
+
"name": "NonAdjacentInsertionPosition",
|
|
301
|
+
"msg": "Insertion position accounts are not actually adjacent in leaderboard"
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
"code": 6021,
|
|
305
|
+
"name": "StaleAccountReference",
|
|
306
|
+
"msg": "Account reference is outdated due to concurrent update"
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
"code": 6022,
|
|
310
|
+
"name": "InvalidStakeAmount",
|
|
311
|
+
"msg": "Invalid stake amount - exceeds maximum allowed"
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
"code": 6023,
|
|
315
|
+
"name": "InvalidTipDistributionAccount",
|
|
316
|
+
"msg": "Invalid Tip Distribution Account provided"
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
"code": 6024,
|
|
320
|
+
"name": "InvalidRankPosition",
|
|
321
|
+
"msg": "Proposed rank position violates sorted ordering"
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"code": 6025,
|
|
325
|
+
"name": "LeaderboardFull",
|
|
326
|
+
"msg": "Leaderboard is full - cannot add more validators"
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"code": 6026,
|
|
330
|
+
"name": "ValidatorNotInRankings",
|
|
331
|
+
"msg": "Validator not found in rankings"
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
"code": 6027,
|
|
335
|
+
"name": "ArithmeticOverflow",
|
|
336
|
+
"msg": "Arithmetic overflow"
|
|
408
337
|
}
|
|
409
338
|
],
|
|
410
339
|
"types": [
|
|
411
340
|
{
|
|
412
|
-
"name": "
|
|
341
|
+
"name": "LeaderboardState",
|
|
413
342
|
"docs": [
|
|
414
|
-
"
|
|
343
|
+
"Central leaderboard state using parallel arrays for efficient ranking and CPI access",
|
|
344
|
+
"Stores VPP scores and sorted rankings for up to 1024 validators",
|
|
345
|
+
"Uses zero-copy for efficient access from other programs via CPI"
|
|
415
346
|
],
|
|
347
|
+
"serialization": "bytemuck",
|
|
348
|
+
"repr": {
|
|
349
|
+
"kind": "c"
|
|
350
|
+
},
|
|
416
351
|
"type": {
|
|
417
352
|
"kind": "struct",
|
|
418
353
|
"fields": [
|
|
419
354
|
{
|
|
420
|
-
"name": "
|
|
421
|
-
"
|
|
355
|
+
"name": "scores",
|
|
356
|
+
"docs": [
|
|
357
|
+
"VPP scores indexed by registry_index",
|
|
358
|
+
"registry_index is assigned on first validator registration and never changes"
|
|
359
|
+
],
|
|
360
|
+
"type": {
|
|
361
|
+
"array": [
|
|
362
|
+
"u64",
|
|
363
|
+
1024
|
|
364
|
+
]
|
|
365
|
+
}
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
"name": "sorted_indices",
|
|
369
|
+
"docs": [
|
|
370
|
+
"Validator indices sorted by VPP score descending",
|
|
371
|
+
"sorted_indices[0] = registry_index of highest VPP validator",
|
|
372
|
+
"sorted_indices[1] = registry_index of 2nd highest VPP validator, etc."
|
|
373
|
+
],
|
|
374
|
+
"type": {
|
|
375
|
+
"array": [
|
|
376
|
+
"u16",
|
|
377
|
+
1024
|
|
378
|
+
]
|
|
379
|
+
}
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
"name": "vote_accounts",
|
|
383
|
+
"docs": [
|
|
384
|
+
"Vote account pubkeys indexed by registry_index",
|
|
385
|
+
"Allows CPI callers to get vote accounts for top N validators"
|
|
386
|
+
],
|
|
387
|
+
"type": {
|
|
388
|
+
"array": [
|
|
389
|
+
{
|
|
390
|
+
"defined": {
|
|
391
|
+
"name": "PubkeyBytes"
|
|
392
|
+
}
|
|
393
|
+
},
|
|
394
|
+
1024
|
|
395
|
+
]
|
|
396
|
+
}
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
"name": "num_validators",
|
|
400
|
+
"docs": [
|
|
401
|
+
"Number of active validators currently in the leaderboard"
|
|
402
|
+
],
|
|
403
|
+
"type": "u16"
|
|
422
404
|
},
|
|
423
405
|
{
|
|
424
406
|
"name": "bump",
|
|
407
|
+
"docs": [
|
|
408
|
+
"PDA bump seed"
|
|
409
|
+
],
|
|
425
410
|
"type": "u8"
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
"name": "_padding",
|
|
414
|
+
"docs": [
|
|
415
|
+
"Reserved space for future upgrades"
|
|
416
|
+
],
|
|
417
|
+
"type": {
|
|
418
|
+
"array": [
|
|
419
|
+
"u8",
|
|
420
|
+
5
|
|
421
|
+
]
|
|
422
|
+
}
|
|
426
423
|
}
|
|
427
424
|
]
|
|
428
425
|
}
|
|
429
426
|
},
|
|
430
427
|
{
|
|
431
|
-
"name": "
|
|
428
|
+
"name": "PubkeyBytes",
|
|
432
429
|
"docs": [
|
|
433
|
-
"
|
|
430
|
+
"Fixed-size representation of a `Pubkey` that satisfies Anchor's zero-copy rules.",
|
|
431
|
+
"Stores the raw 32-byte array and offers helpers to convert to/from `Pubkey`."
|
|
434
432
|
],
|
|
433
|
+
"serialization": "bytemuck",
|
|
434
|
+
"repr": {
|
|
435
|
+
"kind": "transparent"
|
|
436
|
+
},
|
|
435
437
|
"type": {
|
|
436
438
|
"kind": "struct",
|
|
437
439
|
"fields": [
|
|
438
440
|
{
|
|
439
|
-
"name": "
|
|
441
|
+
"name": "bytes",
|
|
440
442
|
"type": {
|
|
441
443
|
"array": [
|
|
442
|
-
"
|
|
443
|
-
|
|
444
|
+
"u8",
|
|
445
|
+
32
|
|
444
446
|
]
|
|
445
447
|
}
|
|
446
|
-
},
|
|
447
|
-
{
|
|
448
|
-
"name": "last_updated_slot",
|
|
449
|
-
"type": "u64"
|
|
450
|
-
},
|
|
451
|
-
{
|
|
452
|
-
"name": "bump",
|
|
453
|
-
"type": "u8"
|
|
454
448
|
}
|
|
455
449
|
]
|
|
456
450
|
}
|
|
457
451
|
},
|
|
458
452
|
{
|
|
459
453
|
"name": "ValidatorRecord",
|
|
454
|
+
"docs": [
|
|
455
|
+
"Per-validator record account storing commission data and metadata"
|
|
456
|
+
],
|
|
460
457
|
"type": {
|
|
461
458
|
"kind": "struct",
|
|
462
459
|
"fields": [
|
|
463
460
|
{
|
|
464
461
|
"name": "vote_account",
|
|
462
|
+
"docs": [
|
|
463
|
+
"The validator's vote account pubkey"
|
|
464
|
+
],
|
|
465
465
|
"type": "pubkey"
|
|
466
466
|
},
|
|
467
|
+
{
|
|
468
|
+
"name": "registry_index",
|
|
469
|
+
"docs": [
|
|
470
|
+
"Immutable index into LeaderboardState arrays",
|
|
471
|
+
"Assigned on first registration, never changes"
|
|
472
|
+
],
|
|
473
|
+
"type": "u16"
|
|
474
|
+
},
|
|
467
475
|
{
|
|
468
476
|
"name": "credits_observed",
|
|
477
|
+
"docs": [
|
|
478
|
+
"Current cumulative credits from vote account"
|
|
479
|
+
],
|
|
469
480
|
"type": "u64"
|
|
470
481
|
},
|
|
471
482
|
{
|
|
472
483
|
"name": "commission_history",
|
|
484
|
+
"docs": [
|
|
485
|
+
"Circular buffer of past 10 commission values (0-100)",
|
|
486
|
+
"Used to penalize validators who increase commission"
|
|
487
|
+
],
|
|
473
488
|
"type": {
|
|
474
489
|
"array": [
|
|
475
490
|
"u8",
|
|
@@ -479,46 +494,77 @@
|
|
|
479
494
|
},
|
|
480
495
|
{
|
|
481
496
|
"name": "commission_index",
|
|
497
|
+
"docs": [
|
|
498
|
+
"Current index in commission_history circular buffer (0-9)"
|
|
499
|
+
],
|
|
482
500
|
"type": "u8"
|
|
483
501
|
},
|
|
484
502
|
{
|
|
485
503
|
"name": "last_commission_update",
|
|
504
|
+
"docs": [
|
|
505
|
+
"Last epoch when commission was updated"
|
|
506
|
+
],
|
|
486
507
|
"type": "u64"
|
|
487
508
|
},
|
|
488
509
|
{
|
|
489
510
|
"name": "epoch",
|
|
511
|
+
"docs": [
|
|
512
|
+
"Last epoch this validator was updated"
|
|
513
|
+
],
|
|
490
514
|
"type": "u64"
|
|
491
515
|
},
|
|
492
516
|
{
|
|
493
517
|
"name": "slot",
|
|
518
|
+
"docs": [
|
|
519
|
+
"Last slot this validator was updated"
|
|
520
|
+
],
|
|
494
521
|
"type": "u64"
|
|
495
522
|
},
|
|
496
523
|
{
|
|
497
|
-
"name": "
|
|
498
|
-
"
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
"
|
|
502
|
-
"type": "u64"
|
|
524
|
+
"name": "wire_operator",
|
|
525
|
+
"docs": [
|
|
526
|
+
"Whether this validator is a Wire operator (5% bonus)"
|
|
527
|
+
],
|
|
528
|
+
"type": "bool"
|
|
503
529
|
},
|
|
504
530
|
{
|
|
505
|
-
"name": "
|
|
506
|
-
"
|
|
531
|
+
"name": "mev_commission",
|
|
532
|
+
"docs": [
|
|
533
|
+
"Current MEV commission in basis points"
|
|
534
|
+
],
|
|
535
|
+
"type": "u16"
|
|
507
536
|
},
|
|
508
537
|
{
|
|
509
|
-
"name": "
|
|
510
|
-
"
|
|
538
|
+
"name": "mev_commission_history",
|
|
539
|
+
"docs": [
|
|
540
|
+
"Circular buffer of past 10 MEV commission values"
|
|
541
|
+
],
|
|
542
|
+
"type": {
|
|
543
|
+
"array": [
|
|
544
|
+
"u16",
|
|
545
|
+
10
|
|
546
|
+
]
|
|
547
|
+
}
|
|
511
548
|
},
|
|
512
549
|
{
|
|
513
|
-
"name": "
|
|
514
|
-
"
|
|
550
|
+
"name": "mev_commission_index",
|
|
551
|
+
"docs": [
|
|
552
|
+
"Current index in mev_commission_history circular buffer (0-9)"
|
|
553
|
+
],
|
|
554
|
+
"type": "u8"
|
|
515
555
|
},
|
|
516
556
|
{
|
|
517
|
-
"name": "
|
|
518
|
-
"
|
|
557
|
+
"name": "last_mev_commission_update",
|
|
558
|
+
"docs": [
|
|
559
|
+
"Last epoch when MEV commission was updated"
|
|
560
|
+
],
|
|
561
|
+
"type": "u64"
|
|
519
562
|
},
|
|
520
563
|
{
|
|
521
564
|
"name": "bump",
|
|
565
|
+
"docs": [
|
|
566
|
+
"PDA bump seed"
|
|
567
|
+
],
|
|
522
568
|
"type": "u8"
|
|
523
569
|
}
|
|
524
570
|
]
|