@wireio/stake 0.0.6 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/README.md +203 -13
  2. package/lib/stake.browser.js +2800 -3329
  3. package/lib/stake.browser.js.map +1 -1
  4. package/lib/stake.d.ts +376 -6261
  5. package/lib/stake.js +2937 -3476
  6. package/lib/stake.js.map +1 -1
  7. package/lib/stake.m.js +2800 -3329
  8. package/lib/stake.m.js.map +1 -1
  9. package/package.json +2 -2
  10. package/src/assets/solana/idl/deposit.json +46 -10
  11. package/src/assets/solana/idl/distribution.json +40 -8
  12. package/src/assets/solana/idl/liq_sol_token.json +25 -2
  13. package/src/assets/solana/idl/mint_helper.json +110 -0
  14. package/src/assets/solana/idl/read_tracked_balance.json +140 -0
  15. package/src/assets/solana/idl/stake_controller.json +1141 -780
  16. package/src/assets/solana/idl/treasury.json +1 -227
  17. package/src/assets/solana/idl/validator_leaderboard.json +88 -47
  18. package/src/assets/solana/idl/validator_registry.json +115 -46
  19. package/src/assets/solana/idl/yield_oracle.json +1 -1
  20. package/src/assets/solana/types/deposit.ts +46 -10
  21. package/src/assets/solana/types/distribution.ts +40 -8
  22. package/src/assets/solana/types/liq_sol_token.ts +25 -2
  23. package/src/assets/solana/types/mint_helper.ts +116 -0
  24. package/src/assets/solana/types/read_tracked_balance.ts +146 -0
  25. package/src/assets/solana/types/stake_controller.ts +1141 -780
  26. package/src/assets/solana/types/treasury.ts +1 -227
  27. package/src/assets/solana/types/validator_leaderboard.ts +88 -47
  28. package/src/assets/solana/types/validator_registry.ts +115 -46
  29. package/src/assets/solana/types/yield_oracle.ts +1 -1
  30. package/src/index.ts +3 -4
  31. package/src/networks/ethereum/ethereum.ts +2 -2
  32. package/src/networks/solana/clients/deposit.client.ts +71 -80
  33. package/src/networks/solana/clients/distribution.client.ts +392 -141
  34. package/src/networks/solana/clients/leaderboard.client.ts +82 -107
  35. package/src/networks/solana/constants.ts +141 -56
  36. package/src/networks/solana/program.ts +36 -89
  37. package/src/networks/solana/solana.ts +168 -34
  38. package/src/networks/solana/types.ts +57 -0
  39. package/src/scripts/fetch-artifacts.sh +24 -0
  40. package/src/staker/staker.ts +32 -28
  41. package/src/staker/types.ts +24 -21
  42. package/src/assets/solana/idl/stake_registry.json +0 -435
  43. package/src/networks/solana/utils.ts +0 -122
  44. /package/src/{utils.ts → common/utils.ts} +0 -0
@@ -1,122 +1,11 @@
1
1
  {
2
- "address": "GJXKqEbdu76rRW6HcAVVupxdS3TetKfm7Dg8q3trHR8T",
2
+ "address": "98srSwC7RPw2BjUQE5oTuQMEhdWJ2GEK8GBLB4Ei2Awm",
3
3
  "metadata": {
4
4
  "name": "treasury",
5
5
  "version": "0.1.0",
6
6
  "spec": "0.1.0"
7
7
  },
8
8
  "instructions": [
9
- {
10
- "name": "add_authority",
11
- "discriminator": [
12
- 229,
13
- 9,
14
- 106,
15
- 73,
16
- 91,
17
- 213,
18
- 109,
19
- 183
20
- ],
21
- "accounts": [
22
- {
23
- "name": "treasury_config",
24
- "writable": true,
25
- "pda": {
26
- "seeds": [
27
- {
28
- "kind": "const",
29
- "value": [
30
- 116,
31
- 114,
32
- 101,
33
- 97,
34
- 115,
35
- 117,
36
- 114,
37
- 121,
38
- 95,
39
- 99,
40
- 111,
41
- 110,
42
- 102,
43
- 105,
44
- 103
45
- ]
46
- }
47
- ]
48
- }
49
- },
50
- {
51
- "name": "admin",
52
- "signer": true
53
- }
54
- ],
55
- "args": [
56
- {
57
- "name": "new_authority",
58
- "type": "pubkey"
59
- }
60
- ]
61
- },
62
- {
63
- "name": "initialize_config",
64
- "discriminator": [
65
- 208,
66
- 127,
67
- 21,
68
- 1,
69
- 194,
70
- 190,
71
- 196,
72
- 70
73
- ],
74
- "accounts": [
75
- {
76
- "name": "treasury_config",
77
- "writable": true,
78
- "pda": {
79
- "seeds": [
80
- {
81
- "kind": "const",
82
- "value": [
83
- 116,
84
- 114,
85
- 101,
86
- 97,
87
- 115,
88
- 117,
89
- 114,
90
- 121,
91
- 95,
92
- 99,
93
- 111,
94
- 110,
95
- 102,
96
- 105,
97
- 103
98
- ]
99
- }
100
- ]
101
- }
102
- },
103
- {
104
- "name": "payer",
105
- "writable": true,
106
- "signer": true
107
- },
108
- {
109
- "name": "system_program",
110
- "address": "11111111111111111111111111111111"
111
- }
112
- ],
113
- "args": [
114
- {
115
- "name": "authority",
116
- "type": "pubkey"
117
- }
118
- ]
119
- },
120
9
  {
121
10
  "name": "initialize_treasury",
122
11
  "discriminator": [
@@ -188,33 +77,6 @@
188
77
  "name": "recipient",
189
78
  "writable": true
190
79
  },
191
- {
192
- "name": "treasury_config",
193
- "pda": {
194
- "seeds": [
195
- {
196
- "kind": "const",
197
- "value": [
198
- 116,
199
- 114,
200
- 101,
201
- 97,
202
- 115,
203
- 117,
204
- 114,
205
- 121,
206
- 95,
207
- 99,
208
- 111,
209
- 110,
210
- 102,
211
- 105,
212
- 103
213
- ]
214
- }
215
- ]
216
- }
217
- },
218
80
  {
219
81
  "name": "system_program",
220
82
  "address": "11111111111111111111111111111111"
@@ -226,74 +88,6 @@
226
88
  "type": "u64"
227
89
  }
228
90
  ]
229
- },
230
- {
231
- "name": "remove_authority",
232
- "discriminator": [
233
- 242,
234
- 104,
235
- 208,
236
- 132,
237
- 190,
238
- 250,
239
- 74,
240
- 216
241
- ],
242
- "accounts": [
243
- {
244
- "name": "treasury_config",
245
- "writable": true,
246
- "pda": {
247
- "seeds": [
248
- {
249
- "kind": "const",
250
- "value": [
251
- 116,
252
- 114,
253
- 101,
254
- 97,
255
- 115,
256
- 117,
257
- 114,
258
- 121,
259
- 95,
260
- 99,
261
- 111,
262
- 110,
263
- 102,
264
- 105,
265
- 103
266
- ]
267
- }
268
- ]
269
- }
270
- },
271
- {
272
- "name": "admin",
273
- "signer": true
274
- }
275
- ],
276
- "args": [
277
- {
278
- "name": "target",
279
- "type": "pubkey"
280
- }
281
- ]
282
- }
283
- ],
284
- "accounts": [
285
- {
286
- "name": "TreasuryConfig",
287
- "discriminator": [
288
- 124,
289
- 54,
290
- 212,
291
- 227,
292
- 213,
293
- 189,
294
- 168,
295
- 41
296
- ]
297
91
  }
298
92
  ],
299
93
  "errors": [
@@ -312,25 +106,5 @@
312
106
  "name": "AlreadyInitialized",
313
107
  "msg": "Treasury PDA already initialised"
314
108
  }
315
- ],
316
- "types": [
317
- {
318
- "name": "TreasuryConfig",
319
- "type": {
320
- "kind": "struct",
321
- "fields": [
322
- {
323
- "name": "authorities",
324
- "type": {
325
- "vec": "pubkey"
326
- }
327
- },
328
- {
329
- "name": "bump",
330
- "type": "u8"
331
- }
332
- ]
333
- }
334
- }
335
109
  ]
336
110
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "address": "4tY1rN1EX7SfyhjwgRh8nEFp9AwCGwXrcUXnWDMac35e",
2
+ "address": "CYxrJjaraGmdVjnB6EDNyx73pz9Lk2dqpaVtysNo7EXj",
3
3
  "metadata": {
4
4
  "name": "validator_leaderboard",
5
5
  "version": "0.1.0",
@@ -7,52 +7,6 @@
7
7
  "description": "Created with Anchor"
8
8
  },
9
9
  "instructions": [
10
- {
11
- "name": "get_cached_top_10",
12
- "discriminator": [
13
- 28,
14
- 77,
15
- 207,
16
- 225,
17
- 217,
18
- 150,
19
- 249,
20
- 51
21
- ],
22
- "accounts": [
23
- {
24
- "name": "cache",
25
- "pda": {
26
- "seeds": [
27
- {
28
- "kind": "const",
29
- "value": [
30
- 116,
31
- 111,
32
- 112,
33
- 95,
34
- 49,
35
- 48,
36
- 95,
37
- 99,
38
- 97,
39
- 99,
40
- 104,
41
- 101
42
- ]
43
- }
44
- ]
45
- }
46
- }
47
- ],
48
- "args": [],
49
- "returns": {
50
- "array": [
51
- "pubkey",
52
- 10
53
- ]
54
- }
55
- },
56
10
  {
57
11
  "name": "initialize",
58
12
  "discriminator": [
@@ -110,6 +64,60 @@
110
64
  ],
111
65
  "args": []
112
66
  },
67
+ {
68
+ "name": "update_commission",
69
+ "discriminator": [
70
+ 2,
71
+ 202,
72
+ 72,
73
+ 156,
74
+ 19,
75
+ 253,
76
+ 91,
77
+ 174
78
+ ],
79
+ "accounts": [
80
+ {
81
+ "name": "registrant",
82
+ "writable": true,
83
+ "signer": true
84
+ },
85
+ {
86
+ "name": "vote_account"
87
+ },
88
+ {
89
+ "name": "validator_record",
90
+ "writable": true,
91
+ "pda": {
92
+ "seeds": [
93
+ {
94
+ "kind": "const",
95
+ "value": [
96
+ 118,
97
+ 97,
98
+ 108,
99
+ 105,
100
+ 100,
101
+ 97,
102
+ 116,
103
+ 111,
104
+ 114
105
+ ]
106
+ },
107
+ {
108
+ "kind": "account",
109
+ "path": "vote_account"
110
+ }
111
+ ]
112
+ }
113
+ },
114
+ {
115
+ "name": "system_program",
116
+ "address": "11111111111111111111111111111111"
117
+ }
118
+ ],
119
+ "args": []
120
+ },
113
121
  {
114
122
  "name": "update_top_10_cache",
115
123
  "discriminator": [
@@ -153,6 +161,34 @@
153
161
  ]
154
162
  }
155
163
  },
164
+ {
165
+ "name": "leaderboard_head",
166
+ "pda": {
167
+ "seeds": [
168
+ {
169
+ "kind": "const",
170
+ "value": [
171
+ 108,
172
+ 101,
173
+ 97,
174
+ 100,
175
+ 101,
176
+ 114,
177
+ 98,
178
+ 111,
179
+ 97,
180
+ 114,
181
+ 100,
182
+ 95,
183
+ 104,
184
+ 101,
185
+ 97,
186
+ 100
187
+ ]
188
+ }
189
+ ]
190
+ }
191
+ },
156
192
  {
157
193
  "name": "system_program",
158
194
  "address": "11111111111111111111111111111111"
@@ -405,6 +441,11 @@
405
441
  "code": 6016,
406
442
  "name": "BrokenLinkage",
407
443
  "msg": "Broken linked list continuity"
444
+ },
445
+ {
446
+ "code": 6017,
447
+ "name": "CommissionNotUpdated",
448
+ "msg": "Commission must be updated for current epoch before updating validator"
408
449
  }
409
450
  ],
410
451
  "types": [
@@ -1,5 +1,5 @@
1
1
  {
2
- "address": "DqaNZkyhg6ASSkut8tyQGjwMtv35Yj5rA9JZvzmzZb3e",
2
+ "address": "EgUbYv1coMTXsdRc5HBqTv32SNhTcsRS1nPiUDw5LbQK",
3
3
  "metadata": {
4
4
  "name": "validator_registry",
5
5
  "version": "0.1.0",
@@ -125,16 +125,45 @@
125
125
  ]
126
126
  },
127
127
  {
128
- "name": "sync_validators_from_chain",
128
+ "name": "move_transient_to_active",
129
129
  "discriminator": [
130
- 247,
131
- 11,
132
- 19,
133
- 18,
134
- 37,
135
- 20,
130
+ 140,
131
+ 99,
132
+ 170,
133
+ 186,
134
+ 84,
135
+ 61,
136
+ 184,
137
+ 75
138
+ ],
139
+ "accounts": [
140
+ {
141
+ "name": "validator_registry",
142
+ "writable": true
143
+ }
144
+ ],
145
+ "args": [
146
+ {
147
+ "name": "vote_account",
148
+ "type": "pubkey"
149
+ },
150
+ {
151
+ "name": "amount",
152
+ "type": "u64"
153
+ }
154
+ ]
155
+ },
156
+ {
157
+ "name": "sync_validator_scores",
158
+ "discriminator": [
159
+ 10,
160
+ 26,
136
161
  245,
137
- 232
162
+ 222,
163
+ 183,
164
+ 46,
165
+ 70,
166
+ 181
138
167
  ],
139
168
  "accounts": [
140
169
  {
@@ -169,22 +198,47 @@
169
198
  ]
170
199
  },
171
200
  {
172
- "name": "update_performance",
201
+ "name": "update_max_resolved_stake",
173
202
  "discriminator": [
203
+ 241,
204
+ 21,
205
+ 28,
206
+ 14,
207
+ 58,
174
208
  11,
175
- 251,
176
- 66,
177
- 148,
178
- 20,
179
- 86,
180
- 149,
181
- 20
209
+ 76,
210
+ 44
182
211
  ],
183
212
  "accounts": [
184
213
  {
185
- "name": "authority",
186
- "signer": true
214
+ "name": "validator_registry",
215
+ "writable": true
216
+ }
217
+ ],
218
+ "args": [
219
+ {
220
+ "name": "vote_account",
221
+ "type": "pubkey"
187
222
  },
223
+ {
224
+ "name": "new_value",
225
+ "type": "u64"
226
+ }
227
+ ]
228
+ },
229
+ {
230
+ "name": "update_validator_info",
231
+ "discriminator": [
232
+ 120,
233
+ 41,
234
+ 183,
235
+ 100,
236
+ 13,
237
+ 154,
238
+ 196,
239
+ 200
240
+ ],
241
+ "accounts": [
188
242
  {
189
243
  "name": "validator_registry",
190
244
  "writable": true
@@ -196,16 +250,34 @@
196
250
  "type": "pubkey"
197
251
  },
198
252
  {
199
- "name": "performance_score",
200
- "type": "u32"
253
+ "name": "current_active_stake_amount",
254
+ "type": {
255
+ "option": "u64"
256
+ }
201
257
  },
202
258
  {
203
- "name": "active_stake",
204
- "type": "u64"
259
+ "name": "epoch_reward_amount",
260
+ "type": {
261
+ "option": "u64"
262
+ }
205
263
  },
206
264
  {
207
- "name": "commission",
208
- "type": "u64"
265
+ "name": "transient_active_stake_amount",
266
+ "type": {
267
+ "option": "u64"
268
+ }
269
+ },
270
+ {
271
+ "name": "epoch",
272
+ "type": {
273
+ "option": "u64"
274
+ }
275
+ },
276
+ {
277
+ "name": "performance_score",
278
+ "type": {
279
+ "option": "u32"
280
+ }
209
281
  }
210
282
  ]
211
283
  }
@@ -280,6 +352,16 @@
280
352
  "code": 6007,
281
353
  "name": "InvalidStakeAccount",
282
354
  "msg": "Invalid Stake Account"
355
+ },
356
+ {
357
+ "code": 6008,
358
+ "name": "ArithmeticOverflow",
359
+ "msg": "Arithmetic overflow"
360
+ },
361
+ {
362
+ "code": 6009,
363
+ "name": "InsufficientTransientStake",
364
+ "msg": "Insufficient transient stake"
283
365
  }
284
366
  ],
285
367
  "types": [
@@ -293,48 +375,35 @@
293
375
  "type": "pubkey"
294
376
  },
295
377
  {
296
- "name": "name",
297
- "type": {
298
- "array": [
299
- "u8",
300
- 32
301
- ]
302
- }
303
- },
304
- {
305
- "name": "performance_score",
378
+ "name": "vpp",
306
379
  "type": "u32"
307
380
  },
308
381
  {
309
- "name": "active_stake",
382
+ "name": "current_active_stake",
310
383
  "type": "u64"
311
384
  },
312
385
  {
313
- "name": "activating_stake",
386
+ "name": "epoch_reward",
314
387
  "type": "u64"
315
388
  },
316
389
  {
317
- "name": "deactivating_stake",
318
- "type": "u64"
319
- },
320
- {
321
- "name": "commission",
390
+ "name": "transient_active_stake",
322
391
  "type": "u64"
323
392
  },
324
393
  {
325
- "name": "last_updated_epoch",
394
+ "name": "last_chain_sync_epoch",
326
395
  "type": "u64"
327
396
  },
328
397
  {
329
- "name": "initial_stake",
398
+ "name": "last_updated_slot",
330
399
  "type": "u64"
331
400
  },
332
401
  {
333
- "name": "previous_epoch_active_stake",
402
+ "name": "max_resolved_epoch_deactivations",
334
403
  "type": "u64"
335
404
  },
336
405
  {
337
- "name": "previous_epoch_snapshot",
406
+ "name": "max_resolved_activating_stake",
338
407
  "type": "u64"
339
408
  }
340
409
  ]
@@ -1,5 +1,5 @@
1
1
  {
2
- "address": "ABMUzgJCoJ17WPYvxZg4Biuo5oCaEbuD4svUVGFBTWCz",
2
+ "address": "6eQiRLG19udrDwK3TM17gTsPrHczoXVDusTErdD9pH8h",
3
3
  "metadata": {
4
4
  "name": "yield_oracle",
5
5
  "version": "0.1.0",