@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.
Files changed (48) hide show
  1. package/README.md +260 -13
  2. package/lib/stake.browser.js +4861 -4218
  3. package/lib/stake.browser.js.map +1 -1
  4. package/lib/stake.d.ts +434 -6484
  5. package/lib/stake.js +5059 -4371
  6. package/lib/stake.js.map +1 -1
  7. package/lib/stake.m.js +4861 -4218
  8. package/lib/stake.m.js.map +1 -1
  9. package/package.json +2 -2
  10. package/src/assets/solana/idl/liqsol_core.json +4239 -0
  11. package/src/assets/solana/idl/liqsol_token.json +183 -0
  12. package/src/assets/solana/idl/validator_leaderboard.json +296 -250
  13. package/src/assets/solana/types/liqsol_core.ts +4245 -0
  14. package/src/assets/solana/types/liqsol_token.ts +189 -0
  15. package/src/assets/solana/types/validator_leaderboard.ts +296 -250
  16. package/src/index.ts +2 -5
  17. package/src/networks/ethereum/contract.ts +138 -36
  18. package/src/networks/ethereum/ethereum.ts +167 -38
  19. package/src/networks/ethereum/types.ts +32 -1
  20. package/src/networks/solana/clients/deposit.client.ts +92 -139
  21. package/src/networks/solana/clients/distribution.client.ts +302 -178
  22. package/src/networks/solana/clients/leaderboard.client.ts +40 -160
  23. package/src/networks/solana/constants.ts +238 -69
  24. package/src/networks/solana/program.ts +27 -93
  25. package/src/networks/solana/solana.ts +181 -36
  26. package/src/networks/solana/types.ts +47 -0
  27. package/src/networks/solana/utils.ts +522 -93
  28. package/src/scripts/fetch-artifacts.sh +24 -0
  29. package/src/scripts/tsconfig.json +17 -0
  30. package/src/staker/staker.ts +35 -30
  31. package/src/staker/types.ts +25 -22
  32. package/src/assets/solana/idl/deposit.json +0 -260
  33. package/src/assets/solana/idl/distribution.json +0 -736
  34. package/src/assets/solana/idl/liq_sol_token.json +0 -275
  35. package/src/assets/solana/idl/stake_controller.json +0 -1788
  36. package/src/assets/solana/idl/stake_registry.json +0 -435
  37. package/src/assets/solana/idl/treasury.json +0 -336
  38. package/src/assets/solana/idl/validator_registry.json +0 -418
  39. package/src/assets/solana/idl/yield_oracle.json +0 -32
  40. package/src/assets/solana/types/deposit.ts +0 -266
  41. package/src/assets/solana/types/distribution.ts +0 -742
  42. package/src/assets/solana/types/liq_sol_token.ts +0 -281
  43. package/src/assets/solana/types/stake_controller.ts +0 -1794
  44. package/src/assets/solana/types/stake_registry.ts +0 -441
  45. package/src/assets/solana/types/treasury.ts +0 -342
  46. package/src/assets/solana/types/validator_registry.ts +0 -424
  47. package/src/assets/solana/types/yield_oracle.ts +0 -38
  48. package/src/utils.ts +0 -9
@@ -1,418 +0,0 @@
1
- {
2
- "address": "DqaNZkyhg6ASSkut8tyQGjwMtv35Yj5rA9JZvzmzZb3e",
3
- "metadata": {
4
- "name": "validator_registry",
5
- "version": "0.1.0",
6
- "spec": "0.1.0",
7
- "description": "Created with Anchor"
8
- },
9
- "instructions": [
10
- {
11
- "name": "add_validator",
12
- "discriminator": [
13
- 250,
14
- 113,
15
- 53,
16
- 54,
17
- 141,
18
- 117,
19
- 215,
20
- 185
21
- ],
22
- "accounts": [
23
- {
24
- "name": "authority",
25
- "signer": true
26
- },
27
- {
28
- "name": "validator_registry",
29
- "writable": true
30
- }
31
- ],
32
- "args": [
33
- {
34
- "name": "vote_account",
35
- "type": "pubkey"
36
- },
37
- {
38
- "name": "name",
39
- "type": "string"
40
- },
41
- {
42
- "name": "performance_score",
43
- "type": "u32"
44
- }
45
- ]
46
- },
47
- {
48
- "name": "get_validators",
49
- "discriminator": [
50
- 74,
51
- 81,
52
- 116,
53
- 129,
54
- 224,
55
- 19,
56
- 17,
57
- 238
58
- ],
59
- "accounts": [
60
- {
61
- "name": "validator_registry"
62
- }
63
- ],
64
- "args": []
65
- },
66
- {
67
- "name": "initialize",
68
- "discriminator": [
69
- 175,
70
- 175,
71
- 109,
72
- 31,
73
- 13,
74
- 152,
75
- 155,
76
- 237
77
- ],
78
- "accounts": [
79
- {
80
- "name": "payer",
81
- "writable": true,
82
- "signer": true
83
- },
84
- {
85
- "name": "validator_registry",
86
- "writable": true,
87
- "pda": {
88
- "seeds": [
89
- {
90
- "kind": "const",
91
- "value": [
92
- 118,
93
- 97,
94
- 108,
95
- 105,
96
- 100,
97
- 97,
98
- 116,
99
- 111,
100
- 114,
101
- 95,
102
- 114,
103
- 101,
104
- 103,
105
- 105,
106
- 115,
107
- 116,
108
- 114,
109
- 121
110
- ]
111
- }
112
- ]
113
- }
114
- },
115
- {
116
- "name": "system_program",
117
- "address": "11111111111111111111111111111111"
118
- }
119
- ],
120
- "args": [
121
- {
122
- "name": "authority",
123
- "type": "pubkey"
124
- }
125
- ]
126
- },
127
- {
128
- "name": "sync_validators_from_chain",
129
- "discriminator": [
130
- 247,
131
- 11,
132
- 19,
133
- 18,
134
- 37,
135
- 20,
136
- 245,
137
- 232
138
- ],
139
- "accounts": [
140
- {
141
- "name": "authority",
142
- "signer": true
143
- },
144
- {
145
- "name": "validator_registry",
146
- "writable": true
147
- },
148
- {
149
- "name": "stake_controller_program"
150
- }
151
- ],
152
- "args": [
153
- {
154
- "name": "vote_accounts",
155
- "type": {
156
- "vec": "pubkey"
157
- }
158
- },
159
- {
160
- "name": "validator_metrics",
161
- "type": {
162
- "vec": {
163
- "defined": {
164
- "name": "ValidatorMetrics"
165
- }
166
- }
167
- }
168
- }
169
- ]
170
- },
171
- {
172
- "name": "update_performance",
173
- "discriminator": [
174
- 11,
175
- 251,
176
- 66,
177
- 148,
178
- 20,
179
- 86,
180
- 149,
181
- 20
182
- ],
183
- "accounts": [
184
- {
185
- "name": "authority",
186
- "signer": true
187
- },
188
- {
189
- "name": "validator_registry",
190
- "writable": true
191
- }
192
- ],
193
- "args": [
194
- {
195
- "name": "vote_account",
196
- "type": "pubkey"
197
- },
198
- {
199
- "name": "performance_score",
200
- "type": "u32"
201
- },
202
- {
203
- "name": "active_stake",
204
- "type": "u64"
205
- },
206
- {
207
- "name": "commission",
208
- "type": "u64"
209
- }
210
- ]
211
- }
212
- ],
213
- "accounts": [
214
- {
215
- "name": "ValidatorRegistry",
216
- "discriminator": [
217
- 168,
218
- 113,
219
- 195,
220
- 186,
221
- 62,
222
- 121,
223
- 163,
224
- 230
225
- ]
226
- }
227
- ],
228
- "events": [
229
- {
230
- "name": "ValidatorsSyncedEvent",
231
- "discriminator": [
232
- 119,
233
- 121,
234
- 49,
235
- 120,
236
- 230,
237
- 132,
238
- 109,
239
- 214
240
- ]
241
- }
242
- ],
243
- "errors": [
244
- {
245
- "code": 6000,
246
- "name": "Unauthorized",
247
- "msg": "Unauthorized access"
248
- },
249
- {
250
- "code": 6001,
251
- "name": "MaxValidatorsReached",
252
- "msg": "Maximum validators reached"
253
- },
254
- {
255
- "code": 6002,
256
- "name": "ValidatorAlreadyExists",
257
- "msg": "Validator already exists"
258
- },
259
- {
260
- "code": 6003,
261
- "name": "ValidatorNotFound",
262
- "msg": "Validator not found"
263
- },
264
- {
265
- "code": 6004,
266
- "name": "InvalidStakeUpdateType",
267
- "msg": "Invalid stake update type"
268
- },
269
- {
270
- "code": 6005,
271
- "name": "InvalidVoteAccount",
272
- "msg": "Invalid vote account provided"
273
- },
274
- {
275
- "code": 6006,
276
- "name": "InvalidInputLength",
277
- "msg": "Invalid input length - all vectors must have same length"
278
- },
279
- {
280
- "code": 6007,
281
- "name": "InvalidStakeAccount",
282
- "msg": "Invalid Stake Account"
283
- }
284
- ],
285
- "types": [
286
- {
287
- "name": "ValidatorInfo",
288
- "type": {
289
- "kind": "struct",
290
- "fields": [
291
- {
292
- "name": "vote_account",
293
- "type": "pubkey"
294
- },
295
- {
296
- "name": "name",
297
- "type": {
298
- "array": [
299
- "u8",
300
- 32
301
- ]
302
- }
303
- },
304
- {
305
- "name": "performance_score",
306
- "type": "u32"
307
- },
308
- {
309
- "name": "active_stake",
310
- "type": "u64"
311
- },
312
- {
313
- "name": "activating_stake",
314
- "type": "u64"
315
- },
316
- {
317
- "name": "deactivating_stake",
318
- "type": "u64"
319
- },
320
- {
321
- "name": "commission",
322
- "type": "u64"
323
- },
324
- {
325
- "name": "last_updated_epoch",
326
- "type": "u64"
327
- },
328
- {
329
- "name": "initial_stake",
330
- "type": "u64"
331
- },
332
- {
333
- "name": "previous_epoch_active_stake",
334
- "type": "u64"
335
- },
336
- {
337
- "name": "previous_epoch_snapshot",
338
- "type": "u64"
339
- }
340
- ]
341
- }
342
- },
343
- {
344
- "name": "ValidatorMetrics",
345
- "type": {
346
- "kind": "struct",
347
- "fields": [
348
- {
349
- "name": "commission",
350
- "type": "u8"
351
- },
352
- {
353
- "name": "skip_rate_bps",
354
- "type": "u32"
355
- },
356
- {
357
- "name": "is_delinquent",
358
- "type": "bool"
359
- },
360
- {
361
- "name": "activated_stake",
362
- "type": "u64"
363
- }
364
- ]
365
- }
366
- },
367
- {
368
- "name": "ValidatorRegistry",
369
- "type": {
370
- "kind": "struct",
371
- "fields": [
372
- {
373
- "name": "authority",
374
- "type": "pubkey"
375
- },
376
- {
377
- "name": "validators",
378
- "type": {
379
- "vec": {
380
- "defined": {
381
- "name": "ValidatorInfo"
382
- }
383
- }
384
- }
385
- },
386
- {
387
- "name": "last_update_epoch",
388
- "type": "u64"
389
- },
390
- {
391
- "name": "bump",
392
- "type": "u8"
393
- }
394
- ]
395
- }
396
- },
397
- {
398
- "name": "ValidatorsSyncedEvent",
399
- "type": {
400
- "kind": "struct",
401
- "fields": [
402
- {
403
- "name": "updated_count",
404
- "type": "u32"
405
- },
406
- {
407
- "name": "not_found_count",
408
- "type": "u32"
409
- },
410
- {
411
- "name": "epoch",
412
- "type": "u64"
413
- }
414
- ]
415
- }
416
- }
417
- ]
418
- }
@@ -1,32 +0,0 @@
1
- {
2
- "address": "ABMUzgJCoJ17WPYvxZg4Biuo5oCaEbuD4svUVGFBTWCz",
3
- "metadata": {
4
- "name": "yield_oracle",
5
- "version": "0.1.0",
6
- "spec": "0.1.0",
7
- "description": "Created with Anchor"
8
- },
9
- "instructions": [
10
- {
11
- "name": "calculate_yield_per_sol",
12
- "discriminator": [
13
- 51,
14
- 25,
15
- 150,
16
- 38,
17
- 173,
18
- 32,
19
- 27,
20
- 202
21
- ],
22
- "accounts": [
23
- {
24
- "name": "system_program",
25
- "address": "11111111111111111111111111111111"
26
- }
27
- ],
28
- "args": [],
29
- "returns": "u64"
30
- }
31
- ]
32
- }
@@ -1,266 +0,0 @@
1
- /**
2
- * Program IDL in camelCase format in order to be used in JS/TS.
3
- *
4
- * Note that this is only a type helper and is not the actual IDL. The original
5
- * IDL can be found at `target/idl/deposit.json`.
6
- */
7
- export type Deposit = {
8
- "address": "8dtZVExD471mgT5hx8PWMZQT1YJ6aBbTdYw8BbydCdFJ",
9
- "metadata": {
10
- "name": "deposit",
11
- "version": "0.1.0",
12
- "spec": "0.1.0",
13
- "description": "Created with Anchor"
14
- },
15
- "instructions": [
16
- {
17
- "name": "deposit",
18
- "discriminator": [
19
- 242,
20
- 35,
21
- 198,
22
- 137,
23
- 82,
24
- 225,
25
- 242,
26
- 182
27
- ],
28
- "accounts": [
29
- {
30
- "name": "user",
31
- "writable": true,
32
- "signer": true
33
- },
34
- {
35
- "name": "programAuthority",
36
- "writable": true,
37
- "pda": {
38
- "seeds": [
39
- {
40
- "kind": "const",
41
- "value": [
42
- 112,
43
- 114,
44
- 111,
45
- 103,
46
- 114,
47
- 97,
48
- 109,
49
- 95,
50
- 97,
51
- 117,
52
- 116,
53
- 104,
54
- 111,
55
- 114,
56
- 105,
57
- 116,
58
- 121
59
- ]
60
- }
61
- ]
62
- }
63
- },
64
- {
65
- "name": "treasuryWallet",
66
- "writable": true
67
- },
68
- {
69
- "name": "systemProgram",
70
- "address": "11111111111111111111111111111111"
71
- },
72
- {
73
- "name": "tokenProgram"
74
- },
75
- {
76
- "name": "associatedTokenProgram",
77
- "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
78
- },
79
- {
80
- "name": "stakeControllerProgram",
81
- "address": "2BLSWVneoJAFXTDW2siQuEaZ7RUPTb9df482VChToK7K"
82
- },
83
- {
84
- "name": "liqsolProgram"
85
- },
86
- {
87
- "name": "yieldOracleProgram",
88
- "address": "ABMUzgJCoJ17WPYvxZg4Biuo5oCaEbuD4svUVGFBTWCz"
89
- },
90
- {
91
- "name": "stakeProgram",
92
- "address": "Stake11111111111111111111111111111111111111"
93
- },
94
- {
95
- "name": "distributionProgram",
96
- "address": "4MAXmFPeLotiGBt1BRWQwUYrWcsvGKrWWKxMwiMgKfci"
97
- },
98
- {
99
- "name": "liqsolMint",
100
- "writable": true
101
- },
102
- {
103
- "name": "userAta",
104
- "writable": true,
105
- "pda": {
106
- "seeds": [
107
- {
108
- "kind": "account",
109
- "path": "user"
110
- },
111
- {
112
- "kind": "account",
113
- "path": "tokenProgram"
114
- },
115
- {
116
- "kind": "account",
117
- "path": "liqsolMint"
118
- }
119
- ],
120
- "program": {
121
- "kind": "const",
122
- "value": [
123
- 140,
124
- 151,
125
- 37,
126
- 143,
127
- 78,
128
- 36,
129
- 137,
130
- 241,
131
- 187,
132
- 61,
133
- 16,
134
- 41,
135
- 20,
136
- 142,
137
- 13,
138
- 131,
139
- 11,
140
- 90,
141
- 19,
142
- 153,
143
- 218,
144
- 255,
145
- 16,
146
- 132,
147
- 4,
148
- 142,
149
- 123,
150
- 216,
151
- 219,
152
- 233,
153
- 248,
154
- 89
155
- ]
156
- }
157
- }
158
- },
159
- {
160
- "name": "liqsolMintAuthority"
161
- },
162
- {
163
- "name": "reservePool",
164
- "writable": true
165
- },
166
- {
167
- "name": "vault",
168
- "writable": true
169
- },
170
- {
171
- "name": "ephemeralStake",
172
- "writable": true
173
- },
174
- {
175
- "name": "controllerState"
176
- },
177
- {
178
- "name": "userRecord",
179
- "writable": true
180
- },
181
- {
182
- "name": "distributionState",
183
- "writable": true
184
- },
185
- {
186
- "name": "instructionsSysvar",
187
- "address": "Sysvar1nstructions1111111111111111111111111"
188
- },
189
- {
190
- "name": "clock",
191
- "address": "SysvarC1ock11111111111111111111111111111111"
192
- },
193
- {
194
- "name": "stakeHistory",
195
- "address": "SysvarStakeHistory1111111111111111111111111"
196
- },
197
- {
198
- "name": "rent",
199
- "address": "SysvarRent111111111111111111111111111111111"
200
- }
201
- ],
202
- "args": [
203
- {
204
- "name": "amount",
205
- "type": "u64"
206
- },
207
- {
208
- "name": "seed",
209
- "type": "u32"
210
- }
211
- ]
212
- }
213
- ],
214
- "errors": [
215
- {
216
- "code": 6000,
217
- "name": "depositTooSmall",
218
- "msg": "Deposit amount is below minimum required"
219
- },
220
- {
221
- "code": 6001,
222
- "name": "notInitialized",
223
- "msg": "Deposit Router not initialized"
224
- },
225
- {
226
- "code": 6002,
227
- "name": "invalidAuthority",
228
- "msg": "Invalid authority"
229
- },
230
- {
231
- "code": 6003,
232
- "name": "insufficientFunds",
233
- "msg": "Insufficient funds"
234
- },
235
- {
236
- "code": 6004,
237
- "name": "overflow",
238
- "msg": "Arithmetic overflow"
239
- },
240
- {
241
- "code": 6005,
242
- "name": "calculationFailure",
243
- "msg": "Calculation failure"
244
- },
245
- {
246
- "code": 6006,
247
- "name": "nothingToMint",
248
- "msg": "Cannot mint zero tokens"
249
- },
250
- {
251
- "code": 6007,
252
- "name": "invalidAccount",
253
- "msg": "Invalid account provided"
254
- },
255
- {
256
- "code": 6008,
257
- "name": "insufficientFundsForStake",
258
- "msg": "Insufficient funds remaining after reserving fees to proceed with staking"
259
- },
260
- {
261
- "code": 6009,
262
- "name": "unauthorizedProgram",
263
- "msg": "Unauthorized program attempting to call this instruction"
264
- }
265
- ]
266
- };