@huma-finance/permissionless-sdk 1.0.18 → 1.0.19
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/dist/governance/client.d.ts +13 -0
- package/dist/governance/client.d.ts.map +1 -0
- package/dist/governance/client.js +32 -0
- package/dist/governance/client.js.map +1 -0
- package/dist/idl/voterStakeRegistry.d.ts +1377 -0
- package/dist/idl/voterStakeRegistry.d.ts.map +1 -0
- package/dist/idl/voterStakeRegistry.js +3 -0
- package/dist/idl/voterStakeRegistry.js.map +1 -0
- package/dist/idl/voterStakeRegistry.json +1372 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/permissionless/client.d.ts +2 -2
- package/dist/permissionless/client.d.ts.map +1 -1
- package/dist/permissionless/client.js +3 -3
- package/dist/permissionless/client.js.map +1 -1
- package/dist/utils/program.d.ts +2 -0
- package/dist/utils/program.d.ts.map +1 -1
- package/dist/utils/program.js +8 -1
- package/dist/utils/program.js.map +1 -1
- package/dist/utils/voterStakeRegistryAccounts.d.ts +9 -0
- package/dist/utils/voterStakeRegistryAccounts.d.ts.map +1 -0
- package/dist/utils/voterStakeRegistryAccounts.js +24 -0
- package/dist/utils/voterStakeRegistryAccounts.js.map +1 -0
- package/examples/governance/getStakedAmount.ts +23 -0
- package/examples/{addRedemptionRequest.ts → permissionless/addRedemptionRequest.ts} +6 -3
- package/examples/{deposit.ts → permissionless/deposit.ts} +6 -3
- package/examples/{getBalance.ts → permissionless/getBalance.ts} +7 -5
- package/examples/permissionless/getModeTargetAPY.ts +20 -0
- package/examples/{tokenPrice.ts → permissionless/tokenPrice.ts} +6 -5
- package/package.json +1 -1
- package/examples/getModeTargetAPY.ts +0 -20
|
@@ -0,0 +1,1372 @@
|
|
|
1
|
+
{
|
|
2
|
+
"address": "vsRJM68m7i18PwzTFphgPYXTujCgxEi28knpUwSmg3q",
|
|
3
|
+
"metadata": {
|
|
4
|
+
"name": "voter_stake_registry",
|
|
5
|
+
"version": "0.2.4",
|
|
6
|
+
"spec": "0.1.0"
|
|
7
|
+
},
|
|
8
|
+
"docs": [
|
|
9
|
+
"# Introduction",
|
|
10
|
+
"",
|
|
11
|
+
"The governance registry is an \"addin\" to the SPL governance program that",
|
|
12
|
+
"allows one to both vote with many different ypes of tokens for voting and to",
|
|
13
|
+
"scale voting power as a linear function of time locked--subject to some",
|
|
14
|
+
"maximum upper bound.",
|
|
15
|
+
"",
|
|
16
|
+
"The flow for voting with this program is as follows:",
|
|
17
|
+
"",
|
|
18
|
+
"- Create a SPL governance realm.",
|
|
19
|
+
"- Create a governance registry account.",
|
|
20
|
+
"- Add exchange rates for any tokens one wants to deposit. For example,",
|
|
21
|
+
"if one wants to vote with tokens A and B, where token B has twice the",
|
|
22
|
+
"voting power of token A, then the exchange rate of B would be 2 and the",
|
|
23
|
+
"exchange rate of A would be 1.",
|
|
24
|
+
"- Create a voter account.",
|
|
25
|
+
"- Deposit tokens into this program, with an optional lockup period.",
|
|
26
|
+
"- Vote.",
|
|
27
|
+
"",
|
|
28
|
+
"Upon voting with SPL governance, a client is expected to call",
|
|
29
|
+
"`decay_voting_power` to get an up to date measurement of a given `Voter`'s",
|
|
30
|
+
"voting power for the given slot. If this is not done, then the transaction",
|
|
31
|
+
"will fail (since the SPL governance program will require the measurement",
|
|
32
|
+
"to be active for the current slot).",
|
|
33
|
+
"",
|
|
34
|
+
"# Interacting with SPL Governance",
|
|
35
|
+
"",
|
|
36
|
+
"This program does not directly interact with SPL governance via CPI.",
|
|
37
|
+
"Instead, it simply writes a `VoterWeightRecord` account with a well defined",
|
|
38
|
+
"format, which is then used by SPL governance as the voting power measurement",
|
|
39
|
+
"for a given user.",
|
|
40
|
+
"",
|
|
41
|
+
"# Max Vote Weight",
|
|
42
|
+
"",
|
|
43
|
+
"Given that one can use multiple tokens to vote, the max vote weight needs",
|
|
44
|
+
"to be a function of the total supply of all tokens, converted into a common",
|
|
45
|
+
"currency. For example, if you have Token A and Token B, where 1 Token B =",
|
|
46
|
+
"10 Token A, then the `max_vote_weight` should be `supply(A) + supply(B)*10`",
|
|
47
|
+
"where both are converted into common decimals. Then, when calculating the",
|
|
48
|
+
"weight of an individual voter, one can convert B into A via the given",
|
|
49
|
+
"exchange rate, which must be fixed.",
|
|
50
|
+
"",
|
|
51
|
+
"Note that the above also implies that the `max_vote_weight` must fit into",
|
|
52
|
+
"a u64."
|
|
53
|
+
],
|
|
54
|
+
"instructions": [
|
|
55
|
+
{
|
|
56
|
+
"name": "create_registrar",
|
|
57
|
+
"discriminator": [132, 235, 36, 49, 139, 66, 202, 69],
|
|
58
|
+
"accounts": [
|
|
59
|
+
{
|
|
60
|
+
"name": "registrar",
|
|
61
|
+
"docs": [
|
|
62
|
+
"The voting registrar. There can only be a single registrar",
|
|
63
|
+
"per governance realm and governing mint."
|
|
64
|
+
],
|
|
65
|
+
"writable": true
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "realm",
|
|
69
|
+
"docs": [
|
|
70
|
+
"An spl-governance realm",
|
|
71
|
+
"",
|
|
72
|
+
"- realm is owned by the governance_program_id",
|
|
73
|
+
"- realm_governing_token_mint must be the community or council mint",
|
|
74
|
+
"- realm_authority is realm.authority"
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "governance_program_id",
|
|
79
|
+
"docs": [
|
|
80
|
+
"The program id of the spl-governance program the realm belongs to."
|
|
81
|
+
]
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"name": "realm_governing_token_mint",
|
|
85
|
+
"docs": ["Either the realm community mint or the council mint."]
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "realm_authority",
|
|
89
|
+
"signer": true
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"name": "payer",
|
|
93
|
+
"writable": true,
|
|
94
|
+
"signer": true
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"name": "system_program"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "rent"
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
"args": [
|
|
104
|
+
{
|
|
105
|
+
"name": "registrar_bump",
|
|
106
|
+
"type": "u8"
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"name": "configure_voting_mint",
|
|
112
|
+
"discriminator": [113, 153, 141, 236, 184, 9, 135, 15],
|
|
113
|
+
"accounts": [
|
|
114
|
+
{
|
|
115
|
+
"name": "registrar",
|
|
116
|
+
"writable": true
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"name": "realm_authority",
|
|
120
|
+
"signer": true
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"name": "mint",
|
|
124
|
+
"docs": ["Tokens of this mint will produce vote weight"]
|
|
125
|
+
}
|
|
126
|
+
],
|
|
127
|
+
"args": [
|
|
128
|
+
{
|
|
129
|
+
"name": "idx",
|
|
130
|
+
"type": "u16"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"name": "digit_shift",
|
|
134
|
+
"type": "i8"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"name": "baseline_vote_weight_scaled_factor",
|
|
138
|
+
"type": "u64"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"name": "max_extra_lockup_vote_weight_scaled_factor",
|
|
142
|
+
"type": "u64"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"name": "lockup_saturation_secs",
|
|
146
|
+
"type": "u64"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"name": "grant_authority",
|
|
150
|
+
"type": {
|
|
151
|
+
"option": "pubkey"
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
]
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"name": "create_voter",
|
|
158
|
+
"discriminator": [6, 24, 245, 52, 243, 255, 148, 25],
|
|
159
|
+
"accounts": [
|
|
160
|
+
{
|
|
161
|
+
"name": "registrar"
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"name": "voter",
|
|
165
|
+
"writable": true
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"name": "voter_authority",
|
|
169
|
+
"docs": [
|
|
170
|
+
"The authority controling the voter. Must be the same as the",
|
|
171
|
+
"`governing_token_owner` in the token owner record used with",
|
|
172
|
+
"spl-governance."
|
|
173
|
+
],
|
|
174
|
+
"signer": true
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"name": "voter_weight_record",
|
|
178
|
+
"docs": [
|
|
179
|
+
"The voter weight record is the account that will be shown to spl-governance",
|
|
180
|
+
"to prove how much vote weight the voter has. See update_voter_weight_record."
|
|
181
|
+
],
|
|
182
|
+
"writable": true
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"name": "payer",
|
|
186
|
+
"writable": true,
|
|
187
|
+
"signer": true
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"name": "system_program"
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"name": "rent"
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"name": "instructions"
|
|
197
|
+
}
|
|
198
|
+
],
|
|
199
|
+
"args": [
|
|
200
|
+
{
|
|
201
|
+
"name": "voter_bump",
|
|
202
|
+
"type": "u8"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"name": "voter_weight_record_bump",
|
|
206
|
+
"type": "u8"
|
|
207
|
+
}
|
|
208
|
+
]
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"name": "create_deposit_entry",
|
|
212
|
+
"discriminator": [185, 131, 167, 186, 159, 125, 19, 67],
|
|
213
|
+
"accounts": [
|
|
214
|
+
{
|
|
215
|
+
"name": "registrar"
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"name": "voter",
|
|
219
|
+
"writable": true
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
"name": "vault",
|
|
223
|
+
"writable": true
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
"name": "voter_authority",
|
|
227
|
+
"signer": true
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"name": "payer",
|
|
231
|
+
"writable": true,
|
|
232
|
+
"signer": true
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"name": "deposit_mint"
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"name": "system_program"
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
"name": "token_program"
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"name": "associated_token_program"
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"name": "rent"
|
|
248
|
+
}
|
|
249
|
+
],
|
|
250
|
+
"args": [
|
|
251
|
+
{
|
|
252
|
+
"name": "deposit_entry_index",
|
|
253
|
+
"type": "u8"
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"name": "kind",
|
|
257
|
+
"type": {
|
|
258
|
+
"defined": {
|
|
259
|
+
"name": "LockupKind"
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
"name": "start_ts",
|
|
265
|
+
"type": {
|
|
266
|
+
"option": "u64"
|
|
267
|
+
}
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
"name": "periods",
|
|
271
|
+
"type": "u32"
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
"name": "allow_clawback",
|
|
275
|
+
"type": "bool"
|
|
276
|
+
}
|
|
277
|
+
]
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"name": "deposit",
|
|
281
|
+
"discriminator": [242, 35, 198, 137, 82, 225, 242, 182],
|
|
282
|
+
"accounts": [
|
|
283
|
+
{
|
|
284
|
+
"name": "registrar"
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"name": "voter",
|
|
288
|
+
"writable": true
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"name": "vault",
|
|
292
|
+
"writable": true
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"name": "deposit_token",
|
|
296
|
+
"writable": true
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
"name": "deposit_authority",
|
|
300
|
+
"signer": true
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"name": "token_program"
|
|
304
|
+
}
|
|
305
|
+
],
|
|
306
|
+
"args": [
|
|
307
|
+
{
|
|
308
|
+
"name": "deposit_entry_index",
|
|
309
|
+
"type": "u8"
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
"name": "amount",
|
|
313
|
+
"type": "u64"
|
|
314
|
+
}
|
|
315
|
+
]
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
"name": "withdraw",
|
|
319
|
+
"discriminator": [183, 18, 70, 156, 148, 109, 161, 34],
|
|
320
|
+
"accounts": [
|
|
321
|
+
{
|
|
322
|
+
"name": "registrar"
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
"name": "voter",
|
|
326
|
+
"writable": true
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"name": "voter_authority",
|
|
330
|
+
"signer": true
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
"name": "token_owner_record",
|
|
334
|
+
"docs": [
|
|
335
|
+
"The token_owner_record for the voter_authority. This is needed",
|
|
336
|
+
"to be able to forbid withdraws while the voter is engaged with",
|
|
337
|
+
"a vote or has an open proposal.",
|
|
338
|
+
"",
|
|
339
|
+
"- owned by registrar.governance_program_id",
|
|
340
|
+
"- for the registrar.realm",
|
|
341
|
+
"- for the registrar.realm_governing_token_mint",
|
|
342
|
+
"- governing_token_owner is voter_authority"
|
|
343
|
+
]
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
"name": "voter_weight_record",
|
|
347
|
+
"docs": [
|
|
348
|
+
"Withdraws must update the voter weight record, to prevent a stale",
|
|
349
|
+
"record being used to vote after the withdraw."
|
|
350
|
+
],
|
|
351
|
+
"writable": true
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
"name": "vault",
|
|
355
|
+
"writable": true
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"name": "destination",
|
|
359
|
+
"writable": true
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
"name": "token_program"
|
|
363
|
+
}
|
|
364
|
+
],
|
|
365
|
+
"args": [
|
|
366
|
+
{
|
|
367
|
+
"name": "deposit_entry_index",
|
|
368
|
+
"type": "u8"
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
"name": "amount",
|
|
372
|
+
"type": "u64"
|
|
373
|
+
}
|
|
374
|
+
]
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
"name": "grant",
|
|
378
|
+
"discriminator": [145, 189, 68, 153, 161, 231, 76, 107],
|
|
379
|
+
"accounts": [
|
|
380
|
+
{
|
|
381
|
+
"name": "registrar"
|
|
382
|
+
},
|
|
383
|
+
{
|
|
384
|
+
"name": "voter",
|
|
385
|
+
"writable": true
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
"name": "voter_authority",
|
|
389
|
+
"docs": [
|
|
390
|
+
"The account of the grantee / the address controlling the voter",
|
|
391
|
+
"that the grant is going to."
|
|
392
|
+
]
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
"name": "voter_weight_record",
|
|
396
|
+
"docs": [
|
|
397
|
+
"The voter weight record is the account that will be shown to spl-governance",
|
|
398
|
+
"to prove how much vote weight the voter has. See update_voter_weight_record."
|
|
399
|
+
],
|
|
400
|
+
"writable": true
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
"name": "vault",
|
|
404
|
+
"writable": true
|
|
405
|
+
},
|
|
406
|
+
{
|
|
407
|
+
"name": "deposit_token",
|
|
408
|
+
"writable": true
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
"name": "token_authority",
|
|
412
|
+
"docs": ["Authority for transfering tokens away from deposit_token"],
|
|
413
|
+
"signer": true
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"name": "grant_authority",
|
|
417
|
+
"docs": [
|
|
418
|
+
"Authority for making a grant to this voter account",
|
|
419
|
+
"",
|
|
420
|
+
"Verification inline in instruction"
|
|
421
|
+
],
|
|
422
|
+
"signer": true
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"name": "payer",
|
|
426
|
+
"docs": ["Rent payer if a new account is to be created"],
|
|
427
|
+
"writable": true,
|
|
428
|
+
"signer": true
|
|
429
|
+
},
|
|
430
|
+
{
|
|
431
|
+
"name": "deposit_mint"
|
|
432
|
+
},
|
|
433
|
+
{
|
|
434
|
+
"name": "system_program"
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
"name": "token_program"
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
"name": "associated_token_program"
|
|
441
|
+
},
|
|
442
|
+
{
|
|
443
|
+
"name": "rent"
|
|
444
|
+
}
|
|
445
|
+
],
|
|
446
|
+
"args": [
|
|
447
|
+
{
|
|
448
|
+
"name": "voter_bump",
|
|
449
|
+
"type": "u8"
|
|
450
|
+
},
|
|
451
|
+
{
|
|
452
|
+
"name": "voter_weight_record_bump",
|
|
453
|
+
"type": "u8"
|
|
454
|
+
},
|
|
455
|
+
{
|
|
456
|
+
"name": "kind",
|
|
457
|
+
"type": {
|
|
458
|
+
"defined": {
|
|
459
|
+
"name": "LockupKind"
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
"name": "start_ts",
|
|
465
|
+
"type": {
|
|
466
|
+
"option": "u64"
|
|
467
|
+
}
|
|
468
|
+
},
|
|
469
|
+
{
|
|
470
|
+
"name": "periods",
|
|
471
|
+
"type": "u32"
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
"name": "allow_clawback",
|
|
475
|
+
"type": "bool"
|
|
476
|
+
},
|
|
477
|
+
{
|
|
478
|
+
"name": "amount",
|
|
479
|
+
"type": "u64"
|
|
480
|
+
}
|
|
481
|
+
]
|
|
482
|
+
},
|
|
483
|
+
{
|
|
484
|
+
"name": "clawback",
|
|
485
|
+
"discriminator": [111, 92, 142, 79, 33, 234, 82, 27],
|
|
486
|
+
"accounts": [
|
|
487
|
+
{
|
|
488
|
+
"name": "registrar"
|
|
489
|
+
},
|
|
490
|
+
{
|
|
491
|
+
"name": "realm_authority",
|
|
492
|
+
"signer": true
|
|
493
|
+
},
|
|
494
|
+
{
|
|
495
|
+
"name": "voter",
|
|
496
|
+
"writable": true
|
|
497
|
+
},
|
|
498
|
+
{
|
|
499
|
+
"name": "vault",
|
|
500
|
+
"writable": true
|
|
501
|
+
},
|
|
502
|
+
{
|
|
503
|
+
"name": "destination",
|
|
504
|
+
"writable": true
|
|
505
|
+
},
|
|
506
|
+
{
|
|
507
|
+
"name": "token_program"
|
|
508
|
+
}
|
|
509
|
+
],
|
|
510
|
+
"args": [
|
|
511
|
+
{
|
|
512
|
+
"name": "deposit_entry_index",
|
|
513
|
+
"type": "u8"
|
|
514
|
+
}
|
|
515
|
+
]
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
"name": "close_deposit_entry",
|
|
519
|
+
"discriminator": [236, 190, 87, 34, 251, 131, 138, 237],
|
|
520
|
+
"accounts": [
|
|
521
|
+
{
|
|
522
|
+
"name": "voter",
|
|
523
|
+
"writable": true
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
"name": "voter_authority",
|
|
527
|
+
"signer": true
|
|
528
|
+
}
|
|
529
|
+
],
|
|
530
|
+
"args": [
|
|
531
|
+
{
|
|
532
|
+
"name": "deposit_entry_index",
|
|
533
|
+
"type": "u8"
|
|
534
|
+
}
|
|
535
|
+
]
|
|
536
|
+
},
|
|
537
|
+
{
|
|
538
|
+
"name": "reset_lockup",
|
|
539
|
+
"discriminator": [243, 20, 24, 247, 238, 148, 94, 62],
|
|
540
|
+
"accounts": [
|
|
541
|
+
{
|
|
542
|
+
"name": "registrar"
|
|
543
|
+
},
|
|
544
|
+
{
|
|
545
|
+
"name": "voter",
|
|
546
|
+
"writable": true
|
|
547
|
+
},
|
|
548
|
+
{
|
|
549
|
+
"name": "voter_authority",
|
|
550
|
+
"signer": true
|
|
551
|
+
}
|
|
552
|
+
],
|
|
553
|
+
"args": [
|
|
554
|
+
{
|
|
555
|
+
"name": "deposit_entry_index",
|
|
556
|
+
"type": "u8"
|
|
557
|
+
},
|
|
558
|
+
{
|
|
559
|
+
"name": "kind",
|
|
560
|
+
"type": {
|
|
561
|
+
"defined": {
|
|
562
|
+
"name": "LockupKind"
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
},
|
|
566
|
+
{
|
|
567
|
+
"name": "periods",
|
|
568
|
+
"type": "u32"
|
|
569
|
+
}
|
|
570
|
+
]
|
|
571
|
+
},
|
|
572
|
+
{
|
|
573
|
+
"name": "internal_transfer_locked",
|
|
574
|
+
"discriminator": [246, 200, 90, 231, 133, 22, 25, 220],
|
|
575
|
+
"accounts": [
|
|
576
|
+
{
|
|
577
|
+
"name": "registrar"
|
|
578
|
+
},
|
|
579
|
+
{
|
|
580
|
+
"name": "voter",
|
|
581
|
+
"writable": true
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
"name": "voter_authority",
|
|
585
|
+
"signer": true
|
|
586
|
+
}
|
|
587
|
+
],
|
|
588
|
+
"args": [
|
|
589
|
+
{
|
|
590
|
+
"name": "source_deposit_entry_index",
|
|
591
|
+
"type": "u8"
|
|
592
|
+
},
|
|
593
|
+
{
|
|
594
|
+
"name": "target_deposit_entry_index",
|
|
595
|
+
"type": "u8"
|
|
596
|
+
},
|
|
597
|
+
{
|
|
598
|
+
"name": "amount",
|
|
599
|
+
"type": "u64"
|
|
600
|
+
}
|
|
601
|
+
]
|
|
602
|
+
},
|
|
603
|
+
{
|
|
604
|
+
"name": "internal_transfer_unlocked",
|
|
605
|
+
"discriminator": [95, 95, 252, 26, 102, 114, 142, 193],
|
|
606
|
+
"accounts": [
|
|
607
|
+
{
|
|
608
|
+
"name": "registrar"
|
|
609
|
+
},
|
|
610
|
+
{
|
|
611
|
+
"name": "voter",
|
|
612
|
+
"writable": true
|
|
613
|
+
},
|
|
614
|
+
{
|
|
615
|
+
"name": "voter_authority",
|
|
616
|
+
"signer": true
|
|
617
|
+
}
|
|
618
|
+
],
|
|
619
|
+
"args": [
|
|
620
|
+
{
|
|
621
|
+
"name": "source_deposit_entry_index",
|
|
622
|
+
"type": "u8"
|
|
623
|
+
},
|
|
624
|
+
{
|
|
625
|
+
"name": "target_deposit_entry_index",
|
|
626
|
+
"type": "u8"
|
|
627
|
+
},
|
|
628
|
+
{
|
|
629
|
+
"name": "amount",
|
|
630
|
+
"type": "u64"
|
|
631
|
+
}
|
|
632
|
+
]
|
|
633
|
+
},
|
|
634
|
+
{
|
|
635
|
+
"name": "update_voter_weight_record",
|
|
636
|
+
"discriminator": [45, 185, 3, 36, 109, 190, 115, 169],
|
|
637
|
+
"accounts": [
|
|
638
|
+
{
|
|
639
|
+
"name": "registrar"
|
|
640
|
+
},
|
|
641
|
+
{
|
|
642
|
+
"name": "voter"
|
|
643
|
+
},
|
|
644
|
+
{
|
|
645
|
+
"name": "voter_weight_record",
|
|
646
|
+
"writable": true
|
|
647
|
+
},
|
|
648
|
+
{
|
|
649
|
+
"name": "system_program"
|
|
650
|
+
}
|
|
651
|
+
],
|
|
652
|
+
"args": []
|
|
653
|
+
},
|
|
654
|
+
{
|
|
655
|
+
"name": "update_max_vote_weight",
|
|
656
|
+
"discriminator": [78, 221, 185, 255, 240, 128, 244, 162],
|
|
657
|
+
"accounts": [
|
|
658
|
+
{
|
|
659
|
+
"name": "registrar"
|
|
660
|
+
},
|
|
661
|
+
{
|
|
662
|
+
"name": "max_vote_weight_record"
|
|
663
|
+
}
|
|
664
|
+
],
|
|
665
|
+
"args": []
|
|
666
|
+
},
|
|
667
|
+
{
|
|
668
|
+
"name": "close_voter",
|
|
669
|
+
"discriminator": [117, 35, 234, 247, 206, 131, 182, 149],
|
|
670
|
+
"accounts": [
|
|
671
|
+
{
|
|
672
|
+
"name": "registrar"
|
|
673
|
+
},
|
|
674
|
+
{
|
|
675
|
+
"name": "voter",
|
|
676
|
+
"writable": true
|
|
677
|
+
},
|
|
678
|
+
{
|
|
679
|
+
"name": "voter_authority",
|
|
680
|
+
"signer": true
|
|
681
|
+
},
|
|
682
|
+
{
|
|
683
|
+
"name": "sol_destination",
|
|
684
|
+
"writable": true
|
|
685
|
+
},
|
|
686
|
+
{
|
|
687
|
+
"name": "token_program"
|
|
688
|
+
}
|
|
689
|
+
],
|
|
690
|
+
"args": []
|
|
691
|
+
},
|
|
692
|
+
{
|
|
693
|
+
"name": "log_voter_info",
|
|
694
|
+
"discriminator": [171, 72, 233, 90, 143, 151, 113, 51],
|
|
695
|
+
"accounts": [
|
|
696
|
+
{
|
|
697
|
+
"name": "registrar"
|
|
698
|
+
},
|
|
699
|
+
{
|
|
700
|
+
"name": "voter"
|
|
701
|
+
}
|
|
702
|
+
],
|
|
703
|
+
"args": [
|
|
704
|
+
{
|
|
705
|
+
"name": "deposit_entry_begin",
|
|
706
|
+
"type": "u8"
|
|
707
|
+
},
|
|
708
|
+
{
|
|
709
|
+
"name": "deposit_entry_count",
|
|
710
|
+
"type": "u8"
|
|
711
|
+
}
|
|
712
|
+
]
|
|
713
|
+
},
|
|
714
|
+
{
|
|
715
|
+
"name": "set_time_offset",
|
|
716
|
+
"discriminator": [89, 238, 89, 160, 239, 113, 25, 123],
|
|
717
|
+
"accounts": [
|
|
718
|
+
{
|
|
719
|
+
"name": "registrar",
|
|
720
|
+
"writable": true
|
|
721
|
+
},
|
|
722
|
+
{
|
|
723
|
+
"name": "realm_authority",
|
|
724
|
+
"signer": true
|
|
725
|
+
}
|
|
726
|
+
],
|
|
727
|
+
"args": [
|
|
728
|
+
{
|
|
729
|
+
"name": "time_offset",
|
|
730
|
+
"type": "i64"
|
|
731
|
+
}
|
|
732
|
+
]
|
|
733
|
+
}
|
|
734
|
+
],
|
|
735
|
+
"accounts": [
|
|
736
|
+
{
|
|
737
|
+
"name": "Registrar",
|
|
738
|
+
"discriminator": [193, 202, 205, 51, 78, 168, 150, 128]
|
|
739
|
+
},
|
|
740
|
+
{
|
|
741
|
+
"name": "Voter",
|
|
742
|
+
"discriminator": [241, 93, 35, 191, 254, 147, 17, 202]
|
|
743
|
+
}
|
|
744
|
+
],
|
|
745
|
+
"events": [
|
|
746
|
+
{
|
|
747
|
+
"name": "VoterInfo",
|
|
748
|
+
"discriminator": [95, 159, 197, 100, 178, 17, 75, 128]
|
|
749
|
+
},
|
|
750
|
+
{
|
|
751
|
+
"name": "DepositEntryInfo",
|
|
752
|
+
"discriminator": [44, 254, 32, 111, 41, 39, 5, 148]
|
|
753
|
+
}
|
|
754
|
+
],
|
|
755
|
+
"errors": [
|
|
756
|
+
{
|
|
757
|
+
"code": 6000,
|
|
758
|
+
"name": "InvalidRate",
|
|
759
|
+
"msg": "Exchange rate must be greater than zero"
|
|
760
|
+
},
|
|
761
|
+
{
|
|
762
|
+
"code": 6001,
|
|
763
|
+
"name": "RatesFull",
|
|
764
|
+
"msg": ""
|
|
765
|
+
},
|
|
766
|
+
{
|
|
767
|
+
"code": 6002,
|
|
768
|
+
"name": "VotingMintNotFound",
|
|
769
|
+
"msg": ""
|
|
770
|
+
},
|
|
771
|
+
{
|
|
772
|
+
"code": 6003,
|
|
773
|
+
"name": "DepositEntryNotFound",
|
|
774
|
+
"msg": ""
|
|
775
|
+
},
|
|
776
|
+
{
|
|
777
|
+
"code": 6004,
|
|
778
|
+
"name": "DepositEntryFull",
|
|
779
|
+
"msg": ""
|
|
780
|
+
},
|
|
781
|
+
{
|
|
782
|
+
"code": 6005,
|
|
783
|
+
"name": "VotingTokenNonZero",
|
|
784
|
+
"msg": ""
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
"code": 6006,
|
|
788
|
+
"name": "OutOfBoundsDepositEntryIndex",
|
|
789
|
+
"msg": ""
|
|
790
|
+
},
|
|
791
|
+
{
|
|
792
|
+
"code": 6007,
|
|
793
|
+
"name": "UnusedDepositEntryIndex",
|
|
794
|
+
"msg": ""
|
|
795
|
+
},
|
|
796
|
+
{
|
|
797
|
+
"code": 6008,
|
|
798
|
+
"name": "InsufficientUnlockedTokens",
|
|
799
|
+
"msg": ""
|
|
800
|
+
},
|
|
801
|
+
{
|
|
802
|
+
"code": 6009,
|
|
803
|
+
"name": "UnableToConvert",
|
|
804
|
+
"msg": ""
|
|
805
|
+
},
|
|
806
|
+
{
|
|
807
|
+
"code": 6010,
|
|
808
|
+
"name": "InvalidLockupPeriod",
|
|
809
|
+
"msg": ""
|
|
810
|
+
},
|
|
811
|
+
{
|
|
812
|
+
"code": 6011,
|
|
813
|
+
"name": "InvalidEndTs",
|
|
814
|
+
"msg": ""
|
|
815
|
+
},
|
|
816
|
+
{
|
|
817
|
+
"code": 6012,
|
|
818
|
+
"name": "InvalidDays",
|
|
819
|
+
"msg": ""
|
|
820
|
+
},
|
|
821
|
+
{
|
|
822
|
+
"code": 6013,
|
|
823
|
+
"name": "VotingMintConfigIndexAlreadyInUse",
|
|
824
|
+
"msg": ""
|
|
825
|
+
},
|
|
826
|
+
{
|
|
827
|
+
"code": 6014,
|
|
828
|
+
"name": "OutOfBoundsVotingMintConfigIndex",
|
|
829
|
+
"msg": ""
|
|
830
|
+
},
|
|
831
|
+
{
|
|
832
|
+
"code": 6015,
|
|
833
|
+
"name": "InvalidDecimals",
|
|
834
|
+
"msg": "Exchange rate decimals cannot be larger than registrar decimals"
|
|
835
|
+
},
|
|
836
|
+
{
|
|
837
|
+
"code": 6016,
|
|
838
|
+
"name": "InvalidToDepositAndWithdrawInOneSlot",
|
|
839
|
+
"msg": ""
|
|
840
|
+
},
|
|
841
|
+
{
|
|
842
|
+
"code": 6017,
|
|
843
|
+
"name": "ShouldBeTheFirstIxInATx",
|
|
844
|
+
"msg": ""
|
|
845
|
+
},
|
|
846
|
+
{
|
|
847
|
+
"code": 6018,
|
|
848
|
+
"name": "ForbiddenCpi",
|
|
849
|
+
"msg": ""
|
|
850
|
+
},
|
|
851
|
+
{
|
|
852
|
+
"code": 6019,
|
|
853
|
+
"name": "InvalidMint",
|
|
854
|
+
"msg": ""
|
|
855
|
+
},
|
|
856
|
+
{
|
|
857
|
+
"code": 6020,
|
|
858
|
+
"name": "DebugInstruction",
|
|
859
|
+
"msg": ""
|
|
860
|
+
},
|
|
861
|
+
{
|
|
862
|
+
"code": 6021,
|
|
863
|
+
"name": "ClawbackNotAllowedOnDeposit",
|
|
864
|
+
"msg": ""
|
|
865
|
+
},
|
|
866
|
+
{
|
|
867
|
+
"code": 6022,
|
|
868
|
+
"name": "DepositStillLocked",
|
|
869
|
+
"msg": ""
|
|
870
|
+
},
|
|
871
|
+
{
|
|
872
|
+
"code": 6023,
|
|
873
|
+
"name": "InvalidAuthority",
|
|
874
|
+
"msg": ""
|
|
875
|
+
},
|
|
876
|
+
{
|
|
877
|
+
"code": 6024,
|
|
878
|
+
"name": "InvalidTokenOwnerRecord",
|
|
879
|
+
"msg": ""
|
|
880
|
+
},
|
|
881
|
+
{
|
|
882
|
+
"code": 6025,
|
|
883
|
+
"name": "InvalidRealmAuthority",
|
|
884
|
+
"msg": ""
|
|
885
|
+
},
|
|
886
|
+
{
|
|
887
|
+
"code": 6026,
|
|
888
|
+
"name": "VoterWeightOverflow",
|
|
889
|
+
"msg": ""
|
|
890
|
+
},
|
|
891
|
+
{
|
|
892
|
+
"code": 6027,
|
|
893
|
+
"name": "LockupSaturationMustBePositive",
|
|
894
|
+
"msg": ""
|
|
895
|
+
},
|
|
896
|
+
{
|
|
897
|
+
"code": 6028,
|
|
898
|
+
"name": "VotingMintConfiguredWithDifferentIndex",
|
|
899
|
+
"msg": ""
|
|
900
|
+
},
|
|
901
|
+
{
|
|
902
|
+
"code": 6029,
|
|
903
|
+
"name": "InternalProgramError",
|
|
904
|
+
"msg": ""
|
|
905
|
+
},
|
|
906
|
+
{
|
|
907
|
+
"code": 6030,
|
|
908
|
+
"name": "InsufficientLockedTokens",
|
|
909
|
+
"msg": ""
|
|
910
|
+
},
|
|
911
|
+
{
|
|
912
|
+
"code": 6031,
|
|
913
|
+
"name": "MustKeepTokensLocked",
|
|
914
|
+
"msg": ""
|
|
915
|
+
},
|
|
916
|
+
{
|
|
917
|
+
"code": 6032,
|
|
918
|
+
"name": "InvalidLockupKind",
|
|
919
|
+
"msg": ""
|
|
920
|
+
},
|
|
921
|
+
{
|
|
922
|
+
"code": 6033,
|
|
923
|
+
"name": "InvalidChangeToClawbackDepositEntry",
|
|
924
|
+
"msg": ""
|
|
925
|
+
},
|
|
926
|
+
{
|
|
927
|
+
"code": 6034,
|
|
928
|
+
"name": "InternalErrorBadLockupVoteWeight",
|
|
929
|
+
"msg": ""
|
|
930
|
+
},
|
|
931
|
+
{
|
|
932
|
+
"code": 6035,
|
|
933
|
+
"name": "DepositStartTooFarInFuture",
|
|
934
|
+
"msg": ""
|
|
935
|
+
},
|
|
936
|
+
{
|
|
937
|
+
"code": 6036,
|
|
938
|
+
"name": "VaultTokenNonZero",
|
|
939
|
+
"msg": ""
|
|
940
|
+
},
|
|
941
|
+
{
|
|
942
|
+
"code": 6037,
|
|
943
|
+
"name": "InvalidTimestampArguments",
|
|
944
|
+
"msg": ""
|
|
945
|
+
}
|
|
946
|
+
],
|
|
947
|
+
"types": [
|
|
948
|
+
{
|
|
949
|
+
"name": "VestingInfo",
|
|
950
|
+
"type": {
|
|
951
|
+
"kind": "struct",
|
|
952
|
+
"fields": [
|
|
953
|
+
{
|
|
954
|
+
"name": "rate",
|
|
955
|
+
"docs": ["Amount of tokens vested each period"],
|
|
956
|
+
"type": "u64"
|
|
957
|
+
},
|
|
958
|
+
{
|
|
959
|
+
"name": "next_timestamp",
|
|
960
|
+
"docs": ["Time of the next upcoming vesting"],
|
|
961
|
+
"type": "u64"
|
|
962
|
+
}
|
|
963
|
+
]
|
|
964
|
+
}
|
|
965
|
+
},
|
|
966
|
+
{
|
|
967
|
+
"name": "LockingInfo",
|
|
968
|
+
"type": {
|
|
969
|
+
"kind": "struct",
|
|
970
|
+
"fields": [
|
|
971
|
+
{
|
|
972
|
+
"name": "amount",
|
|
973
|
+
"docs": ["Amount of locked tokens"],
|
|
974
|
+
"type": "u64"
|
|
975
|
+
},
|
|
976
|
+
{
|
|
977
|
+
"name": "end_timestamp",
|
|
978
|
+
"docs": [
|
|
979
|
+
"Time at which the lockup fully ends (None for Constant lockup)"
|
|
980
|
+
],
|
|
981
|
+
"type": {
|
|
982
|
+
"option": "u64"
|
|
983
|
+
}
|
|
984
|
+
},
|
|
985
|
+
{
|
|
986
|
+
"name": "vesting",
|
|
987
|
+
"docs": ["Information about vesting, if any"],
|
|
988
|
+
"type": {
|
|
989
|
+
"option": {
|
|
990
|
+
"defined": {
|
|
991
|
+
"name": "VestingInfo"
|
|
992
|
+
}
|
|
993
|
+
}
|
|
994
|
+
}
|
|
995
|
+
}
|
|
996
|
+
]
|
|
997
|
+
}
|
|
998
|
+
},
|
|
999
|
+
{
|
|
1000
|
+
"name": "DepositEntry",
|
|
1001
|
+
"docs": [
|
|
1002
|
+
"Bookkeeping for a single deposit for a given mint and lockup schedule."
|
|
1003
|
+
],
|
|
1004
|
+
"type": {
|
|
1005
|
+
"kind": "struct",
|
|
1006
|
+
"fields": [
|
|
1007
|
+
{
|
|
1008
|
+
"name": "lockup",
|
|
1009
|
+
"type": {
|
|
1010
|
+
"defined": {
|
|
1011
|
+
"name": "Lockup"
|
|
1012
|
+
}
|
|
1013
|
+
}
|
|
1014
|
+
},
|
|
1015
|
+
{
|
|
1016
|
+
"name": "amount_deposited_native",
|
|
1017
|
+
"docs": [
|
|
1018
|
+
"Amount in deposited, in native currency. Withdraws of vested tokens",
|
|
1019
|
+
"directly reduce this amount.",
|
|
1020
|
+
"",
|
|
1021
|
+
"This directly tracks the total amount added by the user. They may",
|
|
1022
|
+
"never withdraw more than this amount."
|
|
1023
|
+
],
|
|
1024
|
+
"type": "u64"
|
|
1025
|
+
},
|
|
1026
|
+
{
|
|
1027
|
+
"name": "amount_initially_locked_native",
|
|
1028
|
+
"docs": [
|
|
1029
|
+
"Amount in locked when the lockup began, in native currency.",
|
|
1030
|
+
"",
|
|
1031
|
+
"Note that this is not adjusted for withdraws. It is possible for this",
|
|
1032
|
+
"value to be bigger than amount_deposited_native after some vesting",
|
|
1033
|
+
"and withdrawals.",
|
|
1034
|
+
"",
|
|
1035
|
+
"This value is needed to compute the amount that vests each peroid,",
|
|
1036
|
+
"which should not change due to withdraws."
|
|
1037
|
+
],
|
|
1038
|
+
"type": "u64"
|
|
1039
|
+
},
|
|
1040
|
+
{
|
|
1041
|
+
"name": "is_used",
|
|
1042
|
+
"type": "bool"
|
|
1043
|
+
},
|
|
1044
|
+
{
|
|
1045
|
+
"name": "allow_clawback",
|
|
1046
|
+
"docs": [
|
|
1047
|
+
"If the clawback authority is allowed to extract locked tokens."
|
|
1048
|
+
],
|
|
1049
|
+
"type": "bool"
|
|
1050
|
+
},
|
|
1051
|
+
{
|
|
1052
|
+
"name": "voting_mint_config_idx",
|
|
1053
|
+
"type": "u8"
|
|
1054
|
+
},
|
|
1055
|
+
{
|
|
1056
|
+
"name": "reserved",
|
|
1057
|
+
"type": {
|
|
1058
|
+
"array": ["u8", 29]
|
|
1059
|
+
}
|
|
1060
|
+
}
|
|
1061
|
+
]
|
|
1062
|
+
}
|
|
1063
|
+
},
|
|
1064
|
+
{
|
|
1065
|
+
"name": "Lockup",
|
|
1066
|
+
"type": {
|
|
1067
|
+
"kind": "struct",
|
|
1068
|
+
"fields": [
|
|
1069
|
+
{
|
|
1070
|
+
"name": "start_ts",
|
|
1071
|
+
"docs": [
|
|
1072
|
+
"Start of the lockup.",
|
|
1073
|
+
"",
|
|
1074
|
+
"Note, that if start_ts is in the future, the funds are nevertheless",
|
|
1075
|
+
"locked up!",
|
|
1076
|
+
"",
|
|
1077
|
+
"Similarly vote power computations don't care about start_ts and always",
|
|
1078
|
+
"assume the full interval from now to end_ts."
|
|
1079
|
+
],
|
|
1080
|
+
"type": "i64"
|
|
1081
|
+
},
|
|
1082
|
+
{
|
|
1083
|
+
"name": "end_ts",
|
|
1084
|
+
"docs": ["End of the lockup."],
|
|
1085
|
+
"type": "i64"
|
|
1086
|
+
},
|
|
1087
|
+
{
|
|
1088
|
+
"name": "kind",
|
|
1089
|
+
"docs": ["Type of lockup."],
|
|
1090
|
+
"type": {
|
|
1091
|
+
"defined": {
|
|
1092
|
+
"name": "LockupKind"
|
|
1093
|
+
}
|
|
1094
|
+
}
|
|
1095
|
+
},
|
|
1096
|
+
{
|
|
1097
|
+
"name": "reserved",
|
|
1098
|
+
"type": {
|
|
1099
|
+
"array": ["u8", 15]
|
|
1100
|
+
}
|
|
1101
|
+
}
|
|
1102
|
+
]
|
|
1103
|
+
}
|
|
1104
|
+
},
|
|
1105
|
+
{
|
|
1106
|
+
"name": "VotingMintConfig",
|
|
1107
|
+
"docs": [
|
|
1108
|
+
"Exchange rate for an asset that can be used to mint voting rights.",
|
|
1109
|
+
"",
|
|
1110
|
+
"See documentation of configure_voting_mint for details on how",
|
|
1111
|
+
"native token amounts convert to vote weight."
|
|
1112
|
+
],
|
|
1113
|
+
"type": {
|
|
1114
|
+
"kind": "struct",
|
|
1115
|
+
"fields": [
|
|
1116
|
+
{
|
|
1117
|
+
"name": "mint",
|
|
1118
|
+
"docs": ["Mint for this entry."],
|
|
1119
|
+
"type": "pubkey"
|
|
1120
|
+
},
|
|
1121
|
+
{
|
|
1122
|
+
"name": "grant_authority",
|
|
1123
|
+
"docs": [
|
|
1124
|
+
"The authority that is allowed to push grants into voters"
|
|
1125
|
+
],
|
|
1126
|
+
"type": "pubkey"
|
|
1127
|
+
},
|
|
1128
|
+
{
|
|
1129
|
+
"name": "baseline_vote_weight_scaled_factor",
|
|
1130
|
+
"docs": [
|
|
1131
|
+
"Vote weight factor for all funds in the account, no matter if locked or not.",
|
|
1132
|
+
"",
|
|
1133
|
+
"In 1/SCALED_FACTOR_BASE units."
|
|
1134
|
+
],
|
|
1135
|
+
"type": "u64"
|
|
1136
|
+
},
|
|
1137
|
+
{
|
|
1138
|
+
"name": "max_extra_lockup_vote_weight_scaled_factor",
|
|
1139
|
+
"docs": [
|
|
1140
|
+
"Maximum extra vote weight factor for lockups.",
|
|
1141
|
+
"",
|
|
1142
|
+
"This is the extra votes gained for lockups lasting lockup_saturation_secs or",
|
|
1143
|
+
"longer. Shorter lockups receive only a fraction of the maximum extra vote weight,",
|
|
1144
|
+
"based on lockup_time divided by lockup_saturation_secs.",
|
|
1145
|
+
"",
|
|
1146
|
+
"In 1/SCALED_FACTOR_BASE units."
|
|
1147
|
+
],
|
|
1148
|
+
"type": "u64"
|
|
1149
|
+
},
|
|
1150
|
+
{
|
|
1151
|
+
"name": "lockup_saturation_secs",
|
|
1152
|
+
"docs": [
|
|
1153
|
+
"Number of seconds of lockup needed to reach the maximum lockup bonus."
|
|
1154
|
+
],
|
|
1155
|
+
"type": "u64"
|
|
1156
|
+
},
|
|
1157
|
+
{
|
|
1158
|
+
"name": "digit_shift",
|
|
1159
|
+
"docs": [
|
|
1160
|
+
"Number of digits to shift native amounts, applying a 10^digit_shift factor."
|
|
1161
|
+
],
|
|
1162
|
+
"type": "i8"
|
|
1163
|
+
},
|
|
1164
|
+
{
|
|
1165
|
+
"name": "reserved1",
|
|
1166
|
+
"type": {
|
|
1167
|
+
"array": ["u8", 7]
|
|
1168
|
+
}
|
|
1169
|
+
},
|
|
1170
|
+
{
|
|
1171
|
+
"name": "reserved2",
|
|
1172
|
+
"type": {
|
|
1173
|
+
"array": ["u64", 7]
|
|
1174
|
+
}
|
|
1175
|
+
}
|
|
1176
|
+
]
|
|
1177
|
+
}
|
|
1178
|
+
},
|
|
1179
|
+
{
|
|
1180
|
+
"name": "LockupKind",
|
|
1181
|
+
"type": {
|
|
1182
|
+
"kind": "enum",
|
|
1183
|
+
"variants": [
|
|
1184
|
+
{
|
|
1185
|
+
"name": "None"
|
|
1186
|
+
},
|
|
1187
|
+
{
|
|
1188
|
+
"name": "Daily"
|
|
1189
|
+
},
|
|
1190
|
+
{
|
|
1191
|
+
"name": "Monthly"
|
|
1192
|
+
},
|
|
1193
|
+
{
|
|
1194
|
+
"name": "Cliff"
|
|
1195
|
+
},
|
|
1196
|
+
{
|
|
1197
|
+
"name": "Constant"
|
|
1198
|
+
}
|
|
1199
|
+
]
|
|
1200
|
+
}
|
|
1201
|
+
},
|
|
1202
|
+
{
|
|
1203
|
+
"name": "Registrar",
|
|
1204
|
+
"docs": ["Instance of a voting rights distributor."],
|
|
1205
|
+
"type": {
|
|
1206
|
+
"kind": "struct",
|
|
1207
|
+
"fields": [
|
|
1208
|
+
{
|
|
1209
|
+
"name": "governance_program_id",
|
|
1210
|
+
"type": "pubkey"
|
|
1211
|
+
},
|
|
1212
|
+
{
|
|
1213
|
+
"name": "realm",
|
|
1214
|
+
"type": "pubkey"
|
|
1215
|
+
},
|
|
1216
|
+
{
|
|
1217
|
+
"name": "realm_governing_token_mint",
|
|
1218
|
+
"type": "pubkey"
|
|
1219
|
+
},
|
|
1220
|
+
{
|
|
1221
|
+
"name": "realm_authority",
|
|
1222
|
+
"type": "pubkey"
|
|
1223
|
+
},
|
|
1224
|
+
{
|
|
1225
|
+
"name": "reserved1",
|
|
1226
|
+
"type": {
|
|
1227
|
+
"array": ["u8", 32]
|
|
1228
|
+
}
|
|
1229
|
+
},
|
|
1230
|
+
{
|
|
1231
|
+
"name": "voting_mints",
|
|
1232
|
+
"docs": [
|
|
1233
|
+
"Storage for voting mints and their configuration.",
|
|
1234
|
+
"The length should be adjusted for one's use case."
|
|
1235
|
+
],
|
|
1236
|
+
"type": {
|
|
1237
|
+
"array": [
|
|
1238
|
+
{
|
|
1239
|
+
"defined": {
|
|
1240
|
+
"name": "VotingMintConfig"
|
|
1241
|
+
}
|
|
1242
|
+
},
|
|
1243
|
+
4
|
|
1244
|
+
]
|
|
1245
|
+
}
|
|
1246
|
+
},
|
|
1247
|
+
{
|
|
1248
|
+
"name": "time_offset",
|
|
1249
|
+
"docs": [
|
|
1250
|
+
"Debug only: time offset, to allow tests to move forward in time."
|
|
1251
|
+
],
|
|
1252
|
+
"type": "i64"
|
|
1253
|
+
},
|
|
1254
|
+
{
|
|
1255
|
+
"name": "bump",
|
|
1256
|
+
"type": "u8"
|
|
1257
|
+
},
|
|
1258
|
+
{
|
|
1259
|
+
"name": "reserved2",
|
|
1260
|
+
"type": {
|
|
1261
|
+
"array": ["u8", 7]
|
|
1262
|
+
}
|
|
1263
|
+
},
|
|
1264
|
+
{
|
|
1265
|
+
"name": "reserved3",
|
|
1266
|
+
"type": {
|
|
1267
|
+
"array": ["u64", 11]
|
|
1268
|
+
}
|
|
1269
|
+
}
|
|
1270
|
+
]
|
|
1271
|
+
}
|
|
1272
|
+
},
|
|
1273
|
+
{
|
|
1274
|
+
"name": "Voter",
|
|
1275
|
+
"docs": ["User account for minting voting rights."],
|
|
1276
|
+
"type": {
|
|
1277
|
+
"kind": "struct",
|
|
1278
|
+
"fields": [
|
|
1279
|
+
{
|
|
1280
|
+
"name": "voter_authority",
|
|
1281
|
+
"type": "pubkey"
|
|
1282
|
+
},
|
|
1283
|
+
{
|
|
1284
|
+
"name": "registrar",
|
|
1285
|
+
"type": "pubkey"
|
|
1286
|
+
},
|
|
1287
|
+
{
|
|
1288
|
+
"name": "deposits",
|
|
1289
|
+
"type": {
|
|
1290
|
+
"array": [
|
|
1291
|
+
{
|
|
1292
|
+
"defined": {
|
|
1293
|
+
"name": "DepositEntry"
|
|
1294
|
+
}
|
|
1295
|
+
},
|
|
1296
|
+
32
|
|
1297
|
+
]
|
|
1298
|
+
}
|
|
1299
|
+
},
|
|
1300
|
+
{
|
|
1301
|
+
"name": "voter_bump",
|
|
1302
|
+
"type": "u8"
|
|
1303
|
+
},
|
|
1304
|
+
{
|
|
1305
|
+
"name": "voter_weight_record_bump",
|
|
1306
|
+
"type": "u8"
|
|
1307
|
+
},
|
|
1308
|
+
{
|
|
1309
|
+
"name": "reserved",
|
|
1310
|
+
"type": {
|
|
1311
|
+
"array": ["u8", 94]
|
|
1312
|
+
}
|
|
1313
|
+
}
|
|
1314
|
+
]
|
|
1315
|
+
}
|
|
1316
|
+
},
|
|
1317
|
+
{
|
|
1318
|
+
"name": "VoterInfo",
|
|
1319
|
+
"type": {
|
|
1320
|
+
"kind": "struct",
|
|
1321
|
+
"fields": [
|
|
1322
|
+
{
|
|
1323
|
+
"name": "voting_power",
|
|
1324
|
+
"type": "u64"
|
|
1325
|
+
},
|
|
1326
|
+
{
|
|
1327
|
+
"name": "voting_power_baseline",
|
|
1328
|
+
"type": "u64"
|
|
1329
|
+
}
|
|
1330
|
+
]
|
|
1331
|
+
}
|
|
1332
|
+
},
|
|
1333
|
+
{
|
|
1334
|
+
"name": "DepositEntryInfo",
|
|
1335
|
+
"type": {
|
|
1336
|
+
"kind": "struct",
|
|
1337
|
+
"fields": [
|
|
1338
|
+
{
|
|
1339
|
+
"name": "deposit_entry_index",
|
|
1340
|
+
"type": "u8"
|
|
1341
|
+
},
|
|
1342
|
+
{
|
|
1343
|
+
"name": "voting_mint_config_index",
|
|
1344
|
+
"type": "u8"
|
|
1345
|
+
},
|
|
1346
|
+
{
|
|
1347
|
+
"name": "unlocked",
|
|
1348
|
+
"type": "u64"
|
|
1349
|
+
},
|
|
1350
|
+
{
|
|
1351
|
+
"name": "voting_power",
|
|
1352
|
+
"type": "u64"
|
|
1353
|
+
},
|
|
1354
|
+
{
|
|
1355
|
+
"name": "voting_power_baseline",
|
|
1356
|
+
"type": "u64"
|
|
1357
|
+
},
|
|
1358
|
+
{
|
|
1359
|
+
"name": "locking",
|
|
1360
|
+
"type": {
|
|
1361
|
+
"option": {
|
|
1362
|
+
"defined": {
|
|
1363
|
+
"name": "LockingInfo"
|
|
1364
|
+
}
|
|
1365
|
+
}
|
|
1366
|
+
}
|
|
1367
|
+
}
|
|
1368
|
+
]
|
|
1369
|
+
}
|
|
1370
|
+
}
|
|
1371
|
+
]
|
|
1372
|
+
}
|