@wireio/stake 0.1.0 → 0.1.2

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 (104) hide show
  1. package/README.md +57 -0
  2. package/lib/stake.browser.js +11836 -4103
  3. package/lib/stake.browser.js.map +1 -1
  4. package/lib/stake.d.ts +374 -556
  5. package/lib/stake.js +12089 -4303
  6. package/lib/stake.js.map +1 -1
  7. package/lib/stake.m.js +11836 -4103
  8. package/lib/stake.m.js.map +1 -1
  9. package/package.json +1 -1
  10. package/src/assets/ethereum/ABI/liqEth/DepositManager.sol/DepositManager.dbg.json +4 -0
  11. package/src/assets/ethereum/ABI/liqEth/DepositManager.sol/DepositManager.json +1153 -0
  12. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IAccounting.dbg.json +4 -0
  13. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IAccounting.json +172 -0
  14. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
  15. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IDepositContract.json +39 -0
  16. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
  17. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IDepositManager.json +64 -0
  18. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/ILiqEthBurn.dbg.json +4 -0
  19. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/ILiqEthBurn.json +24 -0
  20. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/ILiqEthMint.dbg.json +4 -0
  21. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/ILiqEthMint.json +35 -0
  22. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
  23. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IRewardsERC20.json +213 -0
  24. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
  25. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IStakingModule.json +138 -0
  26. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
  27. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.json +70 -0
  28. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
  29. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IWithdrawalRecord.json +64 -0
  30. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
  31. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/LiqEthCommon.json +10 -0
  32. package/src/assets/ethereum/ABI/liqEth/RewardsERC20.sol/RewardsERC20.dbg.json +4 -0
  33. package/src/assets/ethereum/ABI/liqEth/RewardsERC20.sol/RewardsERC20.json +749 -0
  34. package/src/assets/ethereum/ABI/liqEth/RewardsERC20Pausable.sol/RewardsERC20Pausable.dbg.json +4 -0
  35. package/src/assets/ethereum/ABI/liqEth/RewardsERC20Pausable.sol/RewardsERC20Pausable.json +812 -0
  36. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/BeaconRoots.dbg.json +4 -0
  37. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/BeaconRoots.json +10 -0
  38. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZ.dbg.json +4 -0
  39. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZ.json +10 -0
  40. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/ValidatorBalanceVerifier.dbg.json +4 -0
  41. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/ValidatorBalanceVerifier.json +225 -0
  42. package/src/assets/ethereum/ABI/liqEth/Yield.sol/BeaconRoots.dbg.json +4 -0
  43. package/src/assets/ethereum/ABI/liqEth/Yield.sol/BeaconRoots.json +10 -0
  44. package/src/assets/ethereum/ABI/liqEth/Yield.sol/SSZ.dbg.json +4 -0
  45. package/src/assets/ethereum/ABI/liqEth/Yield.sol/SSZ.json +10 -0
  46. package/src/assets/ethereum/ABI/liqEth/Yield.sol/YieldOracle.dbg.json +4 -0
  47. package/src/assets/ethereum/ABI/liqEth/Yield.sol/YieldOracle.json +813 -0
  48. package/src/assets/ethereum/ABI/liqEth/accounting.sol/Accounting.dbg.json +4 -0
  49. package/src/assets/ethereum/ABI/liqEth/accounting.sol/Accounting.json +651 -0
  50. package/src/assets/ethereum/ABI/liqEth/liqEth.sol/LiqEthToken.dbg.json +4 -0
  51. package/src/assets/ethereum/ABI/liqEth/liqEth.sol/LiqEthToken.json +1110 -0
  52. package/src/assets/ethereum/ABI/liqEth/liqEthBurn.sol/LiqEthBurn.dbg.json +4 -0
  53. package/src/assets/ethereum/ABI/liqEth/liqEthBurn.sol/LiqEthBurn.json +391 -0
  54. package/src/assets/ethereum/ABI/liqEth/liqEthMint.sol/LiqEthMint.dbg.json +4 -0
  55. package/src/assets/ethereum/ABI/liqEth/liqEthMint.sol/LiqEthMint.json +402 -0
  56. package/src/assets/ethereum/ABI/liqEth/stakingModule.sol/StakingModule.dbg.json +4 -0
  57. package/src/assets/ethereum/ABI/liqEth/stakingModule.sol/StakingModule.json +1225 -0
  58. package/src/assets/ethereum/ABI/liqEth/withdrawalQueue.sol/WithdrawalQueue.dbg.json +4 -0
  59. package/src/assets/ethereum/ABI/liqEth/withdrawalQueue.sol/WithdrawalQueue.json +927 -0
  60. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/Uint64BE.dbg.json +4 -0
  61. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/Uint64BE.json +10 -0
  62. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/WithdrawalVault.dbg.json +4 -0
  63. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/WithdrawalVault.json +447 -0
  64. package/src/assets/solana/idl/liqsol_core.json +4239 -0
  65. package/src/assets/solana/idl/liqsol_token.json +183 -0
  66. package/src/assets/solana/idl/validator_leaderboard.json +270 -265
  67. package/src/assets/solana/types/liqsol_core.ts +4245 -0
  68. package/src/assets/solana/types/liqsol_token.ts +189 -0
  69. package/src/assets/solana/types/validator_leaderboard.ts +270 -265
  70. package/src/index.ts +1 -3
  71. package/src/networks/ethereum/contract.ts +101 -36
  72. package/src/networks/ethereum/ethereum.ts +141 -45
  73. package/src/networks/ethereum/types.ts +30 -2
  74. package/src/networks/solana/clients/deposit.client.ts +71 -109
  75. package/src/networks/solana/clients/distribution.client.ts +256 -383
  76. package/src/networks/solana/clients/leaderboard.client.ts +38 -133
  77. package/src/networks/solana/constants.ts +214 -130
  78. package/src/networks/solana/program.ts +25 -38
  79. package/src/networks/solana/solana.ts +120 -105
  80. package/src/networks/solana/types.ts +37 -47
  81. package/src/networks/solana/utils.ts +551 -0
  82. package/src/scripts/tsconfig.json +17 -0
  83. package/src/staker/staker.ts +10 -6
  84. package/src/staker/types.ts +14 -9
  85. package/src/assets/solana/idl/deposit.json +0 -296
  86. package/src/assets/solana/idl/distribution.json +0 -768
  87. package/src/assets/solana/idl/liq_sol_token.json +0 -298
  88. package/src/assets/solana/idl/mint_helper.json +0 -110
  89. package/src/assets/solana/idl/read_tracked_balance.json +0 -140
  90. package/src/assets/solana/idl/stake_controller.json +0 -2149
  91. package/src/assets/solana/idl/treasury.json +0 -110
  92. package/src/assets/solana/idl/validator_registry.json +0 -487
  93. package/src/assets/solana/idl/yield_oracle.json +0 -32
  94. package/src/assets/solana/types/deposit.ts +0 -302
  95. package/src/assets/solana/types/distribution.ts +0 -774
  96. package/src/assets/solana/types/liq_sol_token.ts +0 -304
  97. package/src/assets/solana/types/mint_helper.ts +0 -116
  98. package/src/assets/solana/types/read_tracked_balance.ts +0 -146
  99. package/src/assets/solana/types/stake_controller.ts +0 -2155
  100. package/src/assets/solana/types/stake_registry.ts +0 -441
  101. package/src/assets/solana/types/treasury.ts +0 -116
  102. package/src/assets/solana/types/validator_registry.ts +0 -493
  103. package/src/assets/solana/types/yield_oracle.ts +0 -38
  104. 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
- }