@wireio/stake 0.1.0 → 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 (50) hide show
  1. package/README.md +57 -0
  2. package/lib/stake.browser.js +4623 -3451
  3. package/lib/stake.browser.js.map +1 -1
  4. package/lib/stake.d.ts +372 -537
  5. package/lib/stake.js +4801 -3574
  6. package/lib/stake.js.map +1 -1
  7. package/lib/stake.m.js +4623 -3451
  8. package/lib/stake.m.js.map +1 -1
  9. package/package.json +1 -1
  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 +270 -265
  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 +270 -265
  16. package/src/index.ts +1 -3
  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 +71 -109
  21. package/src/networks/solana/clients/distribution.client.ts +256 -383
  22. package/src/networks/solana/clients/leaderboard.client.ts +38 -133
  23. package/src/networks/solana/constants.ts +214 -130
  24. package/src/networks/solana/program.ts +25 -38
  25. package/src/networks/solana/solana.ts +100 -89
  26. package/src/networks/solana/types.ts +37 -47
  27. package/src/networks/solana/utils.ts +551 -0
  28. package/src/scripts/tsconfig.json +17 -0
  29. package/src/staker/staker.ts +5 -4
  30. package/src/staker/types.ts +2 -2
  31. package/src/assets/solana/idl/deposit.json +0 -296
  32. package/src/assets/solana/idl/distribution.json +0 -768
  33. package/src/assets/solana/idl/liq_sol_token.json +0 -298
  34. package/src/assets/solana/idl/mint_helper.json +0 -110
  35. package/src/assets/solana/idl/read_tracked_balance.json +0 -140
  36. package/src/assets/solana/idl/stake_controller.json +0 -2149
  37. package/src/assets/solana/idl/treasury.json +0 -110
  38. package/src/assets/solana/idl/validator_registry.json +0 -487
  39. package/src/assets/solana/idl/yield_oracle.json +0 -32
  40. package/src/assets/solana/types/deposit.ts +0 -302
  41. package/src/assets/solana/types/distribution.ts +0 -774
  42. package/src/assets/solana/types/liq_sol_token.ts +0 -304
  43. package/src/assets/solana/types/mint_helper.ts +0 -116
  44. package/src/assets/solana/types/read_tracked_balance.ts +0 -146
  45. package/src/assets/solana/types/stake_controller.ts +0 -2155
  46. package/src/assets/solana/types/stake_registry.ts +0 -441
  47. package/src/assets/solana/types/treasury.ts +0 -116
  48. package/src/assets/solana/types/validator_registry.ts +0 -493
  49. package/src/assets/solana/types/yield_oracle.ts +0 -38
  50. package/src/common/utils.ts +0 -9
@@ -1,493 +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/validator_registry.json`.
6
- */
7
- export type ValidatorRegistry = {
8
- "address": "EgUbYv1coMTXsdRc5HBqTv32SNhTcsRS1nPiUDw5LbQK",
9
- "metadata": {
10
- "name": "validatorRegistry",
11
- "version": "0.1.0",
12
- "spec": "0.1.0",
13
- "description": "Created with Anchor"
14
- },
15
- "instructions": [
16
- {
17
- "name": "addValidator",
18
- "discriminator": [
19
- 250,
20
- 113,
21
- 53,
22
- 54,
23
- 141,
24
- 117,
25
- 215,
26
- 185
27
- ],
28
- "accounts": [
29
- {
30
- "name": "authority",
31
- "signer": true
32
- },
33
- {
34
- "name": "validatorRegistry",
35
- "writable": true
36
- }
37
- ],
38
- "args": [
39
- {
40
- "name": "voteAccount",
41
- "type": "pubkey"
42
- },
43
- {
44
- "name": "name",
45
- "type": "string"
46
- },
47
- {
48
- "name": "performanceScore",
49
- "type": "u32"
50
- }
51
- ]
52
- },
53
- {
54
- "name": "getValidators",
55
- "discriminator": [
56
- 74,
57
- 81,
58
- 116,
59
- 129,
60
- 224,
61
- 19,
62
- 17,
63
- 238
64
- ],
65
- "accounts": [
66
- {
67
- "name": "validatorRegistry"
68
- }
69
- ],
70
- "args": []
71
- },
72
- {
73
- "name": "initialize",
74
- "discriminator": [
75
- 175,
76
- 175,
77
- 109,
78
- 31,
79
- 13,
80
- 152,
81
- 155,
82
- 237
83
- ],
84
- "accounts": [
85
- {
86
- "name": "payer",
87
- "writable": true,
88
- "signer": true
89
- },
90
- {
91
- "name": "validatorRegistry",
92
- "writable": true,
93
- "pda": {
94
- "seeds": [
95
- {
96
- "kind": "const",
97
- "value": [
98
- 118,
99
- 97,
100
- 108,
101
- 105,
102
- 100,
103
- 97,
104
- 116,
105
- 111,
106
- 114,
107
- 95,
108
- 114,
109
- 101,
110
- 103,
111
- 105,
112
- 115,
113
- 116,
114
- 114,
115
- 121
116
- ]
117
- }
118
- ]
119
- }
120
- },
121
- {
122
- "name": "systemProgram",
123
- "address": "11111111111111111111111111111111"
124
- }
125
- ],
126
- "args": [
127
- {
128
- "name": "authority",
129
- "type": "pubkey"
130
- }
131
- ]
132
- },
133
- {
134
- "name": "moveTransientToActive",
135
- "discriminator": [
136
- 140,
137
- 99,
138
- 170,
139
- 186,
140
- 84,
141
- 61,
142
- 184,
143
- 75
144
- ],
145
- "accounts": [
146
- {
147
- "name": "validatorRegistry",
148
- "writable": true
149
- }
150
- ],
151
- "args": [
152
- {
153
- "name": "voteAccount",
154
- "type": "pubkey"
155
- },
156
- {
157
- "name": "amount",
158
- "type": "u64"
159
- }
160
- ]
161
- },
162
- {
163
- "name": "syncValidatorScores",
164
- "discriminator": [
165
- 10,
166
- 26,
167
- 245,
168
- 222,
169
- 183,
170
- 46,
171
- 70,
172
- 181
173
- ],
174
- "accounts": [
175
- {
176
- "name": "authority",
177
- "signer": true
178
- },
179
- {
180
- "name": "validatorRegistry",
181
- "writable": true
182
- },
183
- {
184
- "name": "stakeControllerProgram"
185
- }
186
- ],
187
- "args": [
188
- {
189
- "name": "voteAccounts",
190
- "type": {
191
- "vec": "pubkey"
192
- }
193
- },
194
- {
195
- "name": "validatorMetrics",
196
- "type": {
197
- "vec": {
198
- "defined": {
199
- "name": "validatorMetrics"
200
- }
201
- }
202
- }
203
- }
204
- ]
205
- },
206
- {
207
- "name": "updateMaxResolvedStake",
208
- "discriminator": [
209
- 241,
210
- 21,
211
- 28,
212
- 14,
213
- 58,
214
- 11,
215
- 76,
216
- 44
217
- ],
218
- "accounts": [
219
- {
220
- "name": "validatorRegistry",
221
- "writable": true
222
- }
223
- ],
224
- "args": [
225
- {
226
- "name": "voteAccount",
227
- "type": "pubkey"
228
- },
229
- {
230
- "name": "newValue",
231
- "type": "u64"
232
- }
233
- ]
234
- },
235
- {
236
- "name": "updateValidatorInfo",
237
- "discriminator": [
238
- 120,
239
- 41,
240
- 183,
241
- 100,
242
- 13,
243
- 154,
244
- 196,
245
- 200
246
- ],
247
- "accounts": [
248
- {
249
- "name": "validatorRegistry",
250
- "writable": true
251
- }
252
- ],
253
- "args": [
254
- {
255
- "name": "voteAccount",
256
- "type": "pubkey"
257
- },
258
- {
259
- "name": "currentActiveStakeAmount",
260
- "type": {
261
- "option": "u64"
262
- }
263
- },
264
- {
265
- "name": "epochRewardAmount",
266
- "type": {
267
- "option": "u64"
268
- }
269
- },
270
- {
271
- "name": "transientActiveStakeAmount",
272
- "type": {
273
- "option": "u64"
274
- }
275
- },
276
- {
277
- "name": "epoch",
278
- "type": {
279
- "option": "u64"
280
- }
281
- },
282
- {
283
- "name": "performanceScore",
284
- "type": {
285
- "option": "u32"
286
- }
287
- }
288
- ]
289
- }
290
- ],
291
- "accounts": [
292
- {
293
- "name": "validatorRegistry",
294
- "discriminator": [
295
- 168,
296
- 113,
297
- 195,
298
- 186,
299
- 62,
300
- 121,
301
- 163,
302
- 230
303
- ]
304
- }
305
- ],
306
- "events": [
307
- {
308
- "name": "validatorsSyncedEvent",
309
- "discriminator": [
310
- 119,
311
- 121,
312
- 49,
313
- 120,
314
- 230,
315
- 132,
316
- 109,
317
- 214
318
- ]
319
- }
320
- ],
321
- "errors": [
322
- {
323
- "code": 6000,
324
- "name": "unauthorized",
325
- "msg": "Unauthorized access"
326
- },
327
- {
328
- "code": 6001,
329
- "name": "maxValidatorsReached",
330
- "msg": "Maximum validators reached"
331
- },
332
- {
333
- "code": 6002,
334
- "name": "validatorAlreadyExists",
335
- "msg": "Validator already exists"
336
- },
337
- {
338
- "code": 6003,
339
- "name": "validatorNotFound",
340
- "msg": "Validator not found"
341
- },
342
- {
343
- "code": 6004,
344
- "name": "invalidStakeUpdateType",
345
- "msg": "Invalid stake update type"
346
- },
347
- {
348
- "code": 6005,
349
- "name": "invalidVoteAccount",
350
- "msg": "Invalid vote account provided"
351
- },
352
- {
353
- "code": 6006,
354
- "name": "invalidInputLength",
355
- "msg": "Invalid input length - all vectors must have same length"
356
- },
357
- {
358
- "code": 6007,
359
- "name": "invalidStakeAccount",
360
- "msg": "Invalid Stake Account"
361
- },
362
- {
363
- "code": 6008,
364
- "name": "arithmeticOverflow",
365
- "msg": "Arithmetic overflow"
366
- },
367
- {
368
- "code": 6009,
369
- "name": "insufficientTransientStake",
370
- "msg": "Insufficient transient stake"
371
- }
372
- ],
373
- "types": [
374
- {
375
- "name": "validatorInfo",
376
- "type": {
377
- "kind": "struct",
378
- "fields": [
379
- {
380
- "name": "voteAccount",
381
- "type": "pubkey"
382
- },
383
- {
384
- "name": "vpp",
385
- "type": "u32"
386
- },
387
- {
388
- "name": "currentActiveStake",
389
- "type": "u64"
390
- },
391
- {
392
- "name": "epochReward",
393
- "type": "u64"
394
- },
395
- {
396
- "name": "transientActiveStake",
397
- "type": "u64"
398
- },
399
- {
400
- "name": "lastChainSyncEpoch",
401
- "type": "u64"
402
- },
403
- {
404
- "name": "lastUpdatedSlot",
405
- "type": "u64"
406
- },
407
- {
408
- "name": "maxResolvedEpochDeactivations",
409
- "type": "u64"
410
- },
411
- {
412
- "name": "maxResolvedActivatingStake",
413
- "type": "u64"
414
- }
415
- ]
416
- }
417
- },
418
- {
419
- "name": "validatorMetrics",
420
- "type": {
421
- "kind": "struct",
422
- "fields": [
423
- {
424
- "name": "commission",
425
- "type": "u8"
426
- },
427
- {
428
- "name": "skipRateBps",
429
- "type": "u32"
430
- },
431
- {
432
- "name": "isDelinquent",
433
- "type": "bool"
434
- },
435
- {
436
- "name": "activatedStake",
437
- "type": "u64"
438
- }
439
- ]
440
- }
441
- },
442
- {
443
- "name": "validatorRegistry",
444
- "type": {
445
- "kind": "struct",
446
- "fields": [
447
- {
448
- "name": "authority",
449
- "type": "pubkey"
450
- },
451
- {
452
- "name": "validators",
453
- "type": {
454
- "vec": {
455
- "defined": {
456
- "name": "validatorInfo"
457
- }
458
- }
459
- }
460
- },
461
- {
462
- "name": "lastUpdateEpoch",
463
- "type": "u64"
464
- },
465
- {
466
- "name": "bump",
467
- "type": "u8"
468
- }
469
- ]
470
- }
471
- },
472
- {
473
- "name": "validatorsSyncedEvent",
474
- "type": {
475
- "kind": "struct",
476
- "fields": [
477
- {
478
- "name": "updatedCount",
479
- "type": "u32"
480
- },
481
- {
482
- "name": "notFoundCount",
483
- "type": "u32"
484
- },
485
- {
486
- "name": "epoch",
487
- "type": "u64"
488
- }
489
- ]
490
- }
491
- }
492
- ]
493
- };
@@ -1,38 +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/yield_oracle.json`.
6
- */
7
- export type YieldOracle = {
8
- "address": "6eQiRLG19udrDwK3TM17gTsPrHczoXVDusTErdD9pH8h",
9
- "metadata": {
10
- "name": "yieldOracle",
11
- "version": "0.1.0",
12
- "spec": "0.1.0",
13
- "description": "Created with Anchor"
14
- },
15
- "instructions": [
16
- {
17
- "name": "calculateYieldPerSol",
18
- "discriminator": [
19
- 51,
20
- 25,
21
- 150,
22
- 38,
23
- 173,
24
- 32,
25
- 27,
26
- 202
27
- ],
28
- "accounts": [
29
- {
30
- "name": "systemProgram",
31
- "address": "11111111111111111111111111111111"
32
- }
33
- ],
34
- "args": [],
35
- "returns": "u64"
36
- }
37
- ]
38
- };
@@ -1,9 +0,0 @@
1
- /**
2
- * Static utility functions for working with Wire Network Staking Protocol.
3
- *
4
- * @module utils
5
- */
6
-
7
- export const hi = (name: string): string => {
8
- return `Hello, ${name}!`;
9
- }