@wireio/stake 0.0.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/LICENSE.md +114 -0
  2. package/README.md +28 -0
  3. package/lib/stake.browser.js +6875 -0
  4. package/lib/stake.browser.js.map +1 -0
  5. package/lib/stake.d.ts +6759 -0
  6. package/lib/stake.js +7178 -0
  7. package/lib/stake.js.map +1 -0
  8. package/lib/stake.m.js +6875 -0
  9. package/lib/stake.m.js.map +1 -0
  10. package/package.json +102 -0
  11. package/src/assets/ethereum/ABI/token/ERC1155Token.sol/ERC1155Token.dbg.json +4 -0
  12. package/src/assets/ethereum/ABI/token/ERC1155Token.sol/ERC1155Token.json +472 -0
  13. package/src/assets/ethereum/ABI/token/ERC20Token.sol/ERC20Token.dbg.json +4 -0
  14. package/src/assets/ethereum/ABI/token/ERC20Token.sol/ERC20Token.json +330 -0
  15. package/src/assets/ethereum/ABI/token/ERC721Token.sol/ERC721Token.dbg.json +4 -0
  16. package/src/assets/ethereum/ABI/token/ERC721Token.sol/ERC721Token.json +449 -0
  17. package/src/assets/solana/idl/deposit.json +260 -0
  18. package/src/assets/solana/idl/distribution.json +736 -0
  19. package/src/assets/solana/idl/liq_sol_token.json +275 -0
  20. package/src/assets/solana/idl/stake_controller.json +1788 -0
  21. package/src/assets/solana/idl/stake_registry.json +435 -0
  22. package/src/assets/solana/idl/treasury.json +336 -0
  23. package/src/assets/solana/idl/validator_leaderboard.json +528 -0
  24. package/src/assets/solana/idl/validator_registry.json +418 -0
  25. package/src/assets/solana/idl/yield_oracle.json +32 -0
  26. package/src/assets/solana/types/deposit.ts +266 -0
  27. package/src/assets/solana/types/distribution.ts +742 -0
  28. package/src/assets/solana/types/liq_sol_token.ts +281 -0
  29. package/src/assets/solana/types/stake_controller.ts +1794 -0
  30. package/src/assets/solana/types/stake_registry.ts +441 -0
  31. package/src/assets/solana/types/treasury.ts +342 -0
  32. package/src/assets/solana/types/validator_leaderboard.ts +534 -0
  33. package/src/assets/solana/types/validator_registry.ts +424 -0
  34. package/src/assets/solana/types/yield_oracle.ts +38 -0
  35. package/src/index.ts +21 -0
  36. package/src/networks/ethereum/contract.ts +167 -0
  37. package/src/networks/ethereum/ethereum.ts +64 -0
  38. package/src/networks/ethereum/types.ts +6 -0
  39. package/src/networks/solana/clients/deposit.client.ts +178 -0
  40. package/src/networks/solana/clients/distribution.client.ts +230 -0
  41. package/src/networks/solana/clients/leaderboard.client.ts +179 -0
  42. package/src/networks/solana/constants.ts +73 -0
  43. package/src/networks/solana/program.ts +113 -0
  44. package/src/networks/solana/solana.ts +84 -0
  45. package/src/networks/solana/utils.ts +122 -0
  46. package/src/staker/staker.ts +38 -0
  47. package/src/staker/types.ts +26 -0
  48. package/src/utils.ts +9 -0
@@ -0,0 +1,742 @@
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/distribution.json`.
6
+ */
7
+ export type Distribution = {
8
+ "address": "4MAXmFPeLotiGBt1BRWQwUYrWcsvGKrWWKxMwiMgKfci",
9
+ "metadata": {
10
+ "name": "distribution",
11
+ "version": "0.1.0",
12
+ "spec": "0.1.0",
13
+ "description": "Created with Anchor"
14
+ },
15
+ "instructions": [
16
+ {
17
+ "name": "claimRewards",
18
+ "discriminator": [
19
+ 4,
20
+ 144,
21
+ 132,
22
+ 71,
23
+ 116,
24
+ 23,
25
+ 151,
26
+ 80
27
+ ],
28
+ "accounts": [
29
+ {
30
+ "name": "user",
31
+ "writable": true,
32
+ "signer": true
33
+ },
34
+ {
35
+ "name": "userAta",
36
+ "writable": true,
37
+ "pda": {
38
+ "seeds": [
39
+ {
40
+ "kind": "account",
41
+ "path": "user"
42
+ },
43
+ {
44
+ "kind": "const",
45
+ "value": [
46
+ 6,
47
+ 221,
48
+ 246,
49
+ 225,
50
+ 215,
51
+ 101,
52
+ 161,
53
+ 147,
54
+ 217,
55
+ 203,
56
+ 225,
57
+ 70,
58
+ 206,
59
+ 235,
60
+ 121,
61
+ 172,
62
+ 28,
63
+ 180,
64
+ 133,
65
+ 237,
66
+ 95,
67
+ 91,
68
+ 55,
69
+ 145,
70
+ 58,
71
+ 140,
72
+ 245,
73
+ 133,
74
+ 126,
75
+ 255,
76
+ 0,
77
+ 169
78
+ ]
79
+ },
80
+ {
81
+ "kind": "account",
82
+ "path": "liqsolMint"
83
+ }
84
+ ],
85
+ "program": {
86
+ "kind": "const",
87
+ "value": [
88
+ 140,
89
+ 151,
90
+ 37,
91
+ 143,
92
+ 78,
93
+ 36,
94
+ 137,
95
+ 241,
96
+ 187,
97
+ 61,
98
+ 16,
99
+ 41,
100
+ 20,
101
+ 142,
102
+ 13,
103
+ 131,
104
+ 11,
105
+ 90,
106
+ 19,
107
+ 153,
108
+ 218,
109
+ 255,
110
+ 16,
111
+ 132,
112
+ 4,
113
+ 142,
114
+ 123,
115
+ 216,
116
+ 219,
117
+ 233,
118
+ 248,
119
+ 89
120
+ ]
121
+ }
122
+ }
123
+ },
124
+ {
125
+ "name": "userRecord",
126
+ "writable": true,
127
+ "pda": {
128
+ "seeds": [
129
+ {
130
+ "kind": "const",
131
+ "value": [
132
+ 117,
133
+ 115,
134
+ 101,
135
+ 114,
136
+ 95,
137
+ 114,
138
+ 101,
139
+ 99,
140
+ 111,
141
+ 114,
142
+ 100
143
+ ]
144
+ },
145
+ {
146
+ "kind": "account",
147
+ "path": "user"
148
+ }
149
+ ]
150
+ }
151
+ },
152
+ {
153
+ "name": "distributionState",
154
+ "writable": true,
155
+ "pda": {
156
+ "seeds": [
157
+ {
158
+ "kind": "const",
159
+ "value": [
160
+ 100,
161
+ 105,
162
+ 115,
163
+ 116,
164
+ 114,
165
+ 105,
166
+ 98,
167
+ 117,
168
+ 116,
169
+ 105,
170
+ 111,
171
+ 110,
172
+ 95,
173
+ 115,
174
+ 116,
175
+ 97,
176
+ 116,
177
+ 101
178
+ ]
179
+ }
180
+ ]
181
+ }
182
+ },
183
+ {
184
+ "name": "liqsolMint",
185
+ "writable": true
186
+ },
187
+ {
188
+ "name": "liqsolProgram",
189
+ "address": "4XtXy6aa2VCi6GN2Vnj3F5GfGG2qbVhBz2DpDSy8MF4X"
190
+ },
191
+ {
192
+ "name": "liqsolMintAuthority"
193
+ },
194
+ {
195
+ "name": "instructionsSysvar",
196
+ "address": "Sysvar1nstructions1111111111111111111111111"
197
+ },
198
+ {
199
+ "name": "yieldOracleProgram"
200
+ },
201
+ {
202
+ "name": "tokenProgram"
203
+ },
204
+ {
205
+ "name": "associatedTokenProgram",
206
+ "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
207
+ },
208
+ {
209
+ "name": "systemProgram",
210
+ "address": "11111111111111111111111111111111"
211
+ }
212
+ ],
213
+ "args": []
214
+ },
215
+ {
216
+ "name": "initialize",
217
+ "discriminator": [
218
+ 175,
219
+ 175,
220
+ 109,
221
+ 31,
222
+ 13,
223
+ 152,
224
+ 155,
225
+ 237
226
+ ],
227
+ "accounts": [
228
+ {
229
+ "name": "authority",
230
+ "writable": true,
231
+ "signer": true
232
+ },
233
+ {
234
+ "name": "liqsolMint"
235
+ },
236
+ {
237
+ "name": "distributionState",
238
+ "writable": true,
239
+ "pda": {
240
+ "seeds": [
241
+ {
242
+ "kind": "const",
243
+ "value": [
244
+ 100,
245
+ 105,
246
+ 115,
247
+ 116,
248
+ 114,
249
+ 105,
250
+ 98,
251
+ 117,
252
+ 116,
253
+ 105,
254
+ 111,
255
+ 110,
256
+ 95,
257
+ 115,
258
+ 116,
259
+ 97,
260
+ 116,
261
+ 101
262
+ ]
263
+ }
264
+ ]
265
+ }
266
+ },
267
+ {
268
+ "name": "tokenProgram"
269
+ },
270
+ {
271
+ "name": "systemProgram",
272
+ "address": "11111111111111111111111111111111"
273
+ },
274
+ {
275
+ "name": "rent",
276
+ "address": "SysvarRent111111111111111111111111111111111"
277
+ }
278
+ ],
279
+ "args": []
280
+ },
281
+ {
282
+ "name": "updateUser",
283
+ "discriminator": [
284
+ 9,
285
+ 2,
286
+ 160,
287
+ 169,
288
+ 118,
289
+ 12,
290
+ 207,
291
+ 84
292
+ ],
293
+ "accounts": [
294
+ {
295
+ "name": "user",
296
+ "writable": true
297
+ },
298
+ {
299
+ "name": "userAta",
300
+ "writable": true
301
+ },
302
+ {
303
+ "name": "userRecord",
304
+ "writable": true,
305
+ "pda": {
306
+ "seeds": [
307
+ {
308
+ "kind": "const",
309
+ "value": [
310
+ 117,
311
+ 115,
312
+ 101,
313
+ 114,
314
+ 95,
315
+ 114,
316
+ 101,
317
+ 99,
318
+ 111,
319
+ 114,
320
+ 100
321
+ ]
322
+ },
323
+ {
324
+ "kind": "account",
325
+ "path": "user"
326
+ }
327
+ ]
328
+ }
329
+ },
330
+ {
331
+ "name": "authority",
332
+ "docs": [
333
+ "Authority that can update this user record",
334
+ "- For manual registration: user's keypair",
335
+ "- For deposit flow: deposit program's program_authority PDA"
336
+ ],
337
+ "signer": true
338
+ },
339
+ {
340
+ "name": "payer",
341
+ "docs": [
342
+ "Payer for the user record PDA creation (always the user)"
343
+ ],
344
+ "writable": true,
345
+ "signer": true
346
+ },
347
+ {
348
+ "name": "distributionState",
349
+ "writable": true,
350
+ "pda": {
351
+ "seeds": [
352
+ {
353
+ "kind": "const",
354
+ "value": [
355
+ 100,
356
+ 105,
357
+ 115,
358
+ 116,
359
+ 114,
360
+ 105,
361
+ 98,
362
+ 117,
363
+ 116,
364
+ 105,
365
+ 111,
366
+ 110,
367
+ 95,
368
+ 115,
369
+ 116,
370
+ 97,
371
+ 116,
372
+ 101
373
+ ]
374
+ }
375
+ ]
376
+ }
377
+ },
378
+ {
379
+ "name": "liqsolMint"
380
+ },
381
+ {
382
+ "name": "instructionsSysvar",
383
+ "address": "Sysvar1nstructions1111111111111111111111111"
384
+ },
385
+ {
386
+ "name": "tokenProgram"
387
+ },
388
+ {
389
+ "name": "yieldOracleProgram"
390
+ },
391
+ {
392
+ "name": "systemProgram",
393
+ "address": "11111111111111111111111111111111"
394
+ }
395
+ ],
396
+ "args": []
397
+ },
398
+ {
399
+ "name": "withdraw",
400
+ "discriminator": [
401
+ 183,
402
+ 18,
403
+ 70,
404
+ 156,
405
+ 148,
406
+ 109,
407
+ 161,
408
+ 34
409
+ ],
410
+ "accounts": [
411
+ {
412
+ "name": "user",
413
+ "writable": true,
414
+ "signer": true
415
+ },
416
+ {
417
+ "name": "userAta",
418
+ "writable": true,
419
+ "pda": {
420
+ "seeds": [
421
+ {
422
+ "kind": "account",
423
+ "path": "user"
424
+ },
425
+ {
426
+ "kind": "const",
427
+ "value": [
428
+ 6,
429
+ 221,
430
+ 246,
431
+ 225,
432
+ 215,
433
+ 101,
434
+ 161,
435
+ 147,
436
+ 217,
437
+ 203,
438
+ 225,
439
+ 70,
440
+ 206,
441
+ 235,
442
+ 121,
443
+ 172,
444
+ 28,
445
+ 180,
446
+ 133,
447
+ 237,
448
+ 95,
449
+ 91,
450
+ 55,
451
+ 145,
452
+ 58,
453
+ 140,
454
+ 245,
455
+ 133,
456
+ 126,
457
+ 255,
458
+ 0,
459
+ 169
460
+ ]
461
+ },
462
+ {
463
+ "kind": "account",
464
+ "path": "distribution_state.liqsol_mint",
465
+ "account": "distributionState"
466
+ }
467
+ ],
468
+ "program": {
469
+ "kind": "const",
470
+ "value": [
471
+ 140,
472
+ 151,
473
+ 37,
474
+ 143,
475
+ 78,
476
+ 36,
477
+ 137,
478
+ 241,
479
+ 187,
480
+ 61,
481
+ 16,
482
+ 41,
483
+ 20,
484
+ 142,
485
+ 13,
486
+ 131,
487
+ 11,
488
+ 90,
489
+ 19,
490
+ 153,
491
+ 218,
492
+ 255,
493
+ 16,
494
+ 132,
495
+ 4,
496
+ 142,
497
+ 123,
498
+ 216,
499
+ 219,
500
+ 233,
501
+ 248,
502
+ 89
503
+ ]
504
+ }
505
+ }
506
+ },
507
+ {
508
+ "name": "userRecord",
509
+ "writable": true,
510
+ "pda": {
511
+ "seeds": [
512
+ {
513
+ "kind": "const",
514
+ "value": [
515
+ 117,
516
+ 115,
517
+ 101,
518
+ 114,
519
+ 95,
520
+ 114,
521
+ 101,
522
+ 99,
523
+ 111,
524
+ 114,
525
+ 100
526
+ ]
527
+ },
528
+ {
529
+ "kind": "account",
530
+ "path": "user"
531
+ }
532
+ ]
533
+ }
534
+ },
535
+ {
536
+ "name": "distributionState",
537
+ "writable": true,
538
+ "pda": {
539
+ "seeds": [
540
+ {
541
+ "kind": "const",
542
+ "value": [
543
+ 100,
544
+ 105,
545
+ 115,
546
+ 116,
547
+ 114,
548
+ 105,
549
+ 98,
550
+ 117,
551
+ 116,
552
+ 105,
553
+ 111,
554
+ 110,
555
+ 95,
556
+ 115,
557
+ 116,
558
+ 97,
559
+ 116,
560
+ 101
561
+ ]
562
+ }
563
+ ]
564
+ }
565
+ },
566
+ {
567
+ "name": "liqsolMint",
568
+ "writable": true
569
+ },
570
+ {
571
+ "name": "tokenProgram"
572
+ },
573
+ {
574
+ "name": "stakeControllerProgram"
575
+ },
576
+ {
577
+ "name": "stakeControllerState"
578
+ },
579
+ {
580
+ "name": "controllerAuthority"
581
+ },
582
+ {
583
+ "name": "yieldOracleProgram"
584
+ },
585
+ {
586
+ "name": "systemProgram",
587
+ "address": "11111111111111111111111111111111"
588
+ }
589
+ ],
590
+ "args": [
591
+ {
592
+ "name": "amount",
593
+ "type": "u64"
594
+ }
595
+ ]
596
+ }
597
+ ],
598
+ "accounts": [
599
+ {
600
+ "name": "distributionState",
601
+ "discriminator": [
602
+ 7,
603
+ 25,
604
+ 94,
605
+ 15,
606
+ 208,
607
+ 170,
608
+ 4,
609
+ 103
610
+ ]
611
+ },
612
+ {
613
+ "name": "userRecord",
614
+ "discriminator": [
615
+ 210,
616
+ 252,
617
+ 132,
618
+ 218,
619
+ 191,
620
+ 85,
621
+ 173,
622
+ 167
623
+ ]
624
+ }
625
+ ],
626
+ "errors": [
627
+ {
628
+ "code": 6000,
629
+ "name": "overflow",
630
+ "msg": "Arithmetic overflow"
631
+ },
632
+ {
633
+ "code": 6001,
634
+ "name": "noRewardsToClaim",
635
+ "msg": "No rewards to claim"
636
+ },
637
+ {
638
+ "code": 6002,
639
+ "name": "insufficientBalance",
640
+ "msg": "Insufficient balance"
641
+ },
642
+ {
643
+ "code": 6003,
644
+ "name": "insufficientFunds",
645
+ "msg": "Insufficient funds"
646
+ },
647
+ {
648
+ "code": 6004,
649
+ "name": "unauthorized",
650
+ "msg": "Unauthorized - caller is not the distribution authority"
651
+ },
652
+ {
653
+ "code": 6005,
654
+ "name": "invalidMint",
655
+ "msg": "Invalid mint"
656
+ },
657
+ {
658
+ "code": 6006,
659
+ "name": "invalidOwner",
660
+ "msg": "Invalid owner"
661
+ },
662
+ {
663
+ "code": 6007,
664
+ "name": "invalidUserRecord",
665
+ "msg": "Invalid user record"
666
+ },
667
+ {
668
+ "code": 6008,
669
+ "name": "invalidWithdrawal",
670
+ "msg": "Invalid withdrawal - balance increased instead of decreased"
671
+ },
672
+ {
673
+ "code": 6009,
674
+ "name": "invalidProgramId",
675
+ "msg": "Invalid program ID"
676
+ },
677
+ {
678
+ "code": 6010,
679
+ "name": "unauthorizedProgram",
680
+ "msg": "Unauthorized program attempting CPI call"
681
+ },
682
+ {
683
+ "code": 6011,
684
+ "name": "instructionIntrospectionFailed",
685
+ "msg": "Instruction introspection failed"
686
+ }
687
+ ],
688
+ "types": [
689
+ {
690
+ "name": "distributionState",
691
+ "type": {
692
+ "kind": "struct",
693
+ "fields": [
694
+ {
695
+ "name": "liqsolMint",
696
+ "type": "pubkey"
697
+ },
698
+ {
699
+ "name": "totalTrackedBalance",
700
+ "type": "u64"
701
+ },
702
+ {
703
+ "name": "availableBalance",
704
+ "type": "u64"
705
+ },
706
+ {
707
+ "name": "bump",
708
+ "type": "u8"
709
+ }
710
+ ]
711
+ }
712
+ },
713
+ {
714
+ "name": "userRecord",
715
+ "type": {
716
+ "kind": "struct",
717
+ "fields": [
718
+ {
719
+ "name": "userAta",
720
+ "type": "pubkey"
721
+ },
722
+ {
723
+ "name": "trackedBalance",
724
+ "type": "u64"
725
+ },
726
+ {
727
+ "name": "claimBalance",
728
+ "type": "u64"
729
+ },
730
+ {
731
+ "name": "lastClaimTimestamp",
732
+ "type": "i64"
733
+ },
734
+ {
735
+ "name": "bump",
736
+ "type": "u8"
737
+ }
738
+ ]
739
+ }
740
+ }
741
+ ]
742
+ };