levr-sdk 0.3.0 → 0.4.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 (115) hide show
  1. package/dist/esm/abis/IClankerFeeLocker.js +215 -0
  2. package/dist/esm/abis/IClankerLpLockerFeeConversion.js +26 -0
  3. package/dist/esm/abis/LevrDeployer_v1.js +86 -0
  4. package/dist/esm/abis/LevrFactory_v1.js +603 -66
  5. package/dist/esm/abis/LevrFeeSplitter_v1.js +5 -58
  6. package/dist/esm/abis/LevrGovernor_v1.js +215 -14
  7. package/dist/esm/abis/LevrStakedToken_v1.js +15 -0
  8. package/dist/esm/abis/LevrStaking_v1.js +318 -63
  9. package/dist/esm/abis/LevrTreasury_v1.js +34 -38
  10. package/dist/esm/abis/index.js +2 -0
  11. package/dist/esm/airdrop.js +29 -14
  12. package/dist/esm/airdrop.js.map +1 -1
  13. package/dist/esm/build-calldatas-v4.js +2 -1
  14. package/dist/esm/build-calldatas-v4.js.map +1 -1
  15. package/dist/esm/build-clanker-v4.js +6 -1
  16. package/dist/esm/build-clanker-v4.js.map +1 -1
  17. package/dist/esm/client/hook/use-project.js +6 -3
  18. package/dist/esm/client/hook/use-project.js.map +1 -1
  19. package/dist/esm/client/hook/use-register.js +1 -1
  20. package/dist/esm/client/hook/use-stake.js +1 -1
  21. package/dist/esm/client/levr-provider.js +43 -72
  22. package/dist/esm/client/levr-provider.js.map +1 -1
  23. package/dist/esm/client/query-keys.js +1 -1
  24. package/dist/esm/client/query-keys.js.map +1 -1
  25. package/dist/esm/constants/clanker.js +84 -0
  26. package/dist/esm/constants/clanker.js.map +1 -0
  27. package/dist/esm/constants/config.js +71 -0
  28. package/dist/esm/constants/config.js.map +1 -0
  29. package/dist/esm/constants/index.js +52 -0
  30. package/dist/esm/constants/index.js.map +1 -0
  31. package/dist/esm/constants/levr.js +34 -0
  32. package/dist/esm/constants/levr.js.map +1 -0
  33. package/dist/esm/constants/uniswap.js +86 -0
  34. package/dist/esm/constants/uniswap.js.map +1 -0
  35. package/dist/esm/deploy-v4.js +1 -1
  36. package/dist/esm/factory.js +84 -7
  37. package/dist/esm/factory.js.map +1 -1
  38. package/dist/esm/fee-receivers.js +1 -1
  39. package/dist/esm/fee-splitter.js +1 -1
  40. package/dist/esm/governance.js +4 -3
  41. package/dist/esm/governance.js.map +1 -1
  42. package/dist/esm/index.js +1 -1
  43. package/dist/esm/pool-key.js +1 -1
  44. package/dist/esm/pool.js +1 -1
  45. package/dist/esm/project.js +194 -55
  46. package/dist/esm/project.js.map +1 -1
  47. package/dist/esm/proposal.js +1 -0
  48. package/dist/esm/proposal.js.map +1 -1
  49. package/dist/esm/quote/v4.js +1 -1
  50. package/dist/esm/schema/levr.schema.js +37 -10
  51. package/dist/esm/schema/levr.schema.js.map +1 -1
  52. package/dist/esm/stake.js +137 -61
  53. package/dist/esm/stake.js.map +1 -1
  54. package/dist/esm/swap-v4.js +1 -1
  55. package/dist/esm/usd-price.js +1 -1
  56. package/dist/esm/user.js +13 -6
  57. package/dist/esm/user.js.map +1 -1
  58. package/dist/esm/util.js +58 -2
  59. package/dist/esm/util.js.map +1 -1
  60. package/dist/esm/vault.js +1 -1
  61. package/dist/types/abis/IClankerFeeLocker.d.ts +169 -0
  62. package/dist/types/abis/IClankerLpLockerFeeConversion.d.ts +20 -0
  63. package/dist/types/abis/LevrDeployer_v1.d.ts +67 -0
  64. package/dist/types/abis/LevrFactory_v1.d.ts +454 -39
  65. package/dist/types/abis/LevrFeeSplitter_v1.d.ts +4 -44
  66. package/dist/types/abis/LevrGovernor_v1.d.ts +172 -14
  67. package/dist/types/abis/LevrStakedToken_v1.d.ts +12 -0
  68. package/dist/types/abis/LevrStaking_v1.d.ts +258 -61
  69. package/dist/types/abis/LevrTreasury_v1.d.ts +29 -31
  70. package/dist/types/abis/index.d.ts +2 -0
  71. package/dist/types/airdrop.d.ts +2 -1
  72. package/dist/types/airdrop.d.ts.map +1 -1
  73. package/dist/types/build-calldatas-v4.d.ts +1 -0
  74. package/dist/types/build-calldatas-v4.d.ts.map +1 -1
  75. package/dist/types/build-clanker-v4.d.ts +2 -1
  76. package/dist/types/build-clanker-v4.d.ts.map +1 -1
  77. package/dist/types/client/hook/use-factory.d.ts +2 -0
  78. package/dist/types/client/hook/use-factory.d.ts.map +1 -1
  79. package/dist/types/client/hook/use-project.d.ts.map +1 -1
  80. package/dist/types/client/levr-provider.d.ts.map +1 -1
  81. package/dist/types/client/query-keys.d.ts +1 -1
  82. package/dist/types/client/query-keys.d.ts.map +1 -1
  83. package/dist/types/constants/clanker.d.ts +31 -0
  84. package/dist/types/constants/clanker.d.ts.map +1 -0
  85. package/dist/types/constants/config.d.ts +71 -0
  86. package/dist/types/constants/config.d.ts.map +1 -0
  87. package/dist/types/constants/index.d.ts +35 -0
  88. package/dist/types/constants/index.d.ts.map +1 -0
  89. package/dist/types/constants/levr.d.ts +17 -0
  90. package/dist/types/constants/levr.d.ts.map +1 -0
  91. package/dist/types/constants/uniswap.d.ts +37 -0
  92. package/dist/types/constants/uniswap.d.ts.map +1 -0
  93. package/dist/types/factory.d.ts +20 -3
  94. package/dist/types/factory.d.ts.map +1 -1
  95. package/dist/types/fee-receivers.d.ts +17 -177
  96. package/dist/types/fee-receivers.d.ts.map +1 -1
  97. package/dist/types/governance.d.ts +2 -0
  98. package/dist/types/governance.d.ts.map +1 -1
  99. package/dist/types/project.d.ts +17 -2
  100. package/dist/types/project.d.ts.map +1 -1
  101. package/dist/types/proposal.d.ts +344 -28
  102. package/dist/types/proposal.d.ts.map +1 -1
  103. package/dist/types/schema/levr.schema.d.ts +21 -0
  104. package/dist/types/schema/levr.schema.d.ts.map +1 -1
  105. package/dist/types/stake.d.ts +20 -34
  106. package/dist/types/stake.d.ts.map +1 -1
  107. package/dist/types/user.d.ts +813 -1
  108. package/dist/types/user.d.ts.map +1 -1
  109. package/dist/types/util.d.ts +4 -0
  110. package/dist/types/util.d.ts.map +1 -1
  111. package/package.json +2 -1
  112. package/dist/esm/constants.js +0 -300
  113. package/dist/esm/constants.js.map +0 -1
  114. package/dist/types/constants.d.ts +0 -177
  115. package/dist/types/constants.d.ts.map +0 -1
@@ -177,9 +177,821 @@ export declare function balanceContracts(params: {
177
177
  export declare function stakingContracts(params: {
178
178
  userAddress: `0x${string}`;
179
179
  stakingAddress: `0x${string}`;
180
+ stakedTokenAddress: `0x${string}`;
180
181
  clankerToken: `0x${string}`;
181
182
  wethAddress?: `0x${string}`;
182
- }): any[];
183
+ }): ({
184
+ address: `0x${string}`;
185
+ abi: readonly [{
186
+ readonly type: "event";
187
+ readonly name: "Approval";
188
+ readonly inputs: readonly [{
189
+ readonly indexed: true;
190
+ readonly name: "owner";
191
+ readonly type: "address";
192
+ }, {
193
+ readonly indexed: true;
194
+ readonly name: "spender";
195
+ readonly type: "address";
196
+ }, {
197
+ readonly indexed: false;
198
+ readonly name: "value";
199
+ readonly type: "uint256";
200
+ }];
201
+ }, {
202
+ readonly type: "event";
203
+ readonly name: "Transfer";
204
+ readonly inputs: readonly [{
205
+ readonly indexed: true;
206
+ readonly name: "from";
207
+ readonly type: "address";
208
+ }, {
209
+ readonly indexed: true;
210
+ readonly name: "to";
211
+ readonly type: "address";
212
+ }, {
213
+ readonly indexed: false;
214
+ readonly name: "value";
215
+ readonly type: "uint256";
216
+ }];
217
+ }, {
218
+ readonly type: "function";
219
+ readonly name: "allowance";
220
+ readonly stateMutability: "view";
221
+ readonly inputs: readonly [{
222
+ readonly name: "owner";
223
+ readonly type: "address";
224
+ }, {
225
+ readonly name: "spender";
226
+ readonly type: "address";
227
+ }];
228
+ readonly outputs: readonly [{
229
+ readonly type: "uint256";
230
+ }];
231
+ }, {
232
+ readonly type: "function";
233
+ readonly name: "approve";
234
+ readonly stateMutability: "nonpayable";
235
+ readonly inputs: readonly [{
236
+ readonly name: "spender";
237
+ readonly type: "address";
238
+ }, {
239
+ readonly name: "amount";
240
+ readonly type: "uint256";
241
+ }];
242
+ readonly outputs: readonly [{
243
+ readonly type: "bool";
244
+ }];
245
+ }, {
246
+ readonly type: "function";
247
+ readonly name: "balanceOf";
248
+ readonly stateMutability: "view";
249
+ readonly inputs: readonly [{
250
+ readonly name: "account";
251
+ readonly type: "address";
252
+ }];
253
+ readonly outputs: readonly [{
254
+ readonly type: "uint256";
255
+ }];
256
+ }, {
257
+ readonly type: "function";
258
+ readonly name: "decimals";
259
+ readonly stateMutability: "view";
260
+ readonly inputs: readonly [];
261
+ readonly outputs: readonly [{
262
+ readonly type: "uint8";
263
+ }];
264
+ }, {
265
+ readonly type: "function";
266
+ readonly name: "name";
267
+ readonly stateMutability: "view";
268
+ readonly inputs: readonly [];
269
+ readonly outputs: readonly [{
270
+ readonly type: "string";
271
+ }];
272
+ }, {
273
+ readonly type: "function";
274
+ readonly name: "symbol";
275
+ readonly stateMutability: "view";
276
+ readonly inputs: readonly [];
277
+ readonly outputs: readonly [{
278
+ readonly type: "string";
279
+ }];
280
+ }, {
281
+ readonly type: "function";
282
+ readonly name: "totalSupply";
283
+ readonly stateMutability: "view";
284
+ readonly inputs: readonly [];
285
+ readonly outputs: readonly [{
286
+ readonly type: "uint256";
287
+ }];
288
+ }, {
289
+ readonly type: "function";
290
+ readonly name: "transfer";
291
+ readonly stateMutability: "nonpayable";
292
+ readonly inputs: readonly [{
293
+ readonly name: "recipient";
294
+ readonly type: "address";
295
+ }, {
296
+ readonly name: "amount";
297
+ readonly type: "uint256";
298
+ }];
299
+ readonly outputs: readonly [{
300
+ readonly type: "bool";
301
+ }];
302
+ }, {
303
+ readonly type: "function";
304
+ readonly name: "transferFrom";
305
+ readonly stateMutability: "nonpayable";
306
+ readonly inputs: readonly [{
307
+ readonly name: "sender";
308
+ readonly type: "address";
309
+ }, {
310
+ readonly name: "recipient";
311
+ readonly type: "address";
312
+ }, {
313
+ readonly name: "amount";
314
+ readonly type: "uint256";
315
+ }];
316
+ readonly outputs: readonly [{
317
+ readonly type: "bool";
318
+ }];
319
+ }];
320
+ functionName: string;
321
+ args: `0x${string}`[];
322
+ } | {
323
+ address: `0x${string}`;
324
+ abi: readonly [{
325
+ readonly type: "constructor";
326
+ readonly inputs: readonly [{
327
+ readonly name: "factory_";
328
+ readonly type: "address";
329
+ readonly internalType: "address";
330
+ }, {
331
+ readonly name: "trustedForwarder";
332
+ readonly type: "address";
333
+ readonly internalType: "address";
334
+ }];
335
+ readonly stateMutability: "nonpayable";
336
+ }, {
337
+ readonly type: "function";
338
+ readonly name: "BASIS_POINTS";
339
+ readonly inputs: readonly [];
340
+ readonly outputs: readonly [{
341
+ readonly name: "";
342
+ readonly type: "uint256";
343
+ readonly internalType: "uint256";
344
+ }];
345
+ readonly stateMutability: "view";
346
+ }, {
347
+ readonly type: "function";
348
+ readonly name: "MIN_REWARD_AMOUNT";
349
+ readonly inputs: readonly [];
350
+ readonly outputs: readonly [{
351
+ readonly name: "";
352
+ readonly type: "uint256";
353
+ readonly internalType: "uint256";
354
+ }];
355
+ readonly stateMutability: "view";
356
+ }, {
357
+ readonly type: "function";
358
+ readonly name: "PRECISION";
359
+ readonly inputs: readonly [];
360
+ readonly outputs: readonly [{
361
+ readonly name: "";
362
+ readonly type: "uint256";
363
+ readonly internalType: "uint256";
364
+ }];
365
+ readonly stateMutability: "view";
366
+ }, {
367
+ readonly type: "function";
368
+ readonly name: "SECONDS_PER_DAY";
369
+ readonly inputs: readonly [];
370
+ readonly outputs: readonly [{
371
+ readonly name: "";
372
+ readonly type: "uint256";
373
+ readonly internalType: "uint256";
374
+ }];
375
+ readonly stateMutability: "view";
376
+ }, {
377
+ readonly type: "function";
378
+ readonly name: "accRewardPerShare";
379
+ readonly inputs: readonly [{
380
+ readonly name: "";
381
+ readonly type: "address";
382
+ readonly internalType: "address";
383
+ }];
384
+ readonly outputs: readonly [{
385
+ readonly name: "";
386
+ readonly type: "uint256";
387
+ readonly internalType: "uint256";
388
+ }];
389
+ readonly stateMutability: "view";
390
+ }, {
391
+ readonly type: "function";
392
+ readonly name: "accrueRewards";
393
+ readonly inputs: readonly [{
394
+ readonly name: "token";
395
+ readonly type: "address";
396
+ readonly internalType: "address";
397
+ }];
398
+ readonly outputs: readonly [];
399
+ readonly stateMutability: "nonpayable";
400
+ }, {
401
+ readonly type: "function";
402
+ readonly name: "aprBps";
403
+ readonly inputs: readonly [];
404
+ readonly outputs: readonly [{
405
+ readonly name: "";
406
+ readonly type: "uint256";
407
+ readonly internalType: "uint256";
408
+ }];
409
+ readonly stateMutability: "view";
410
+ }, {
411
+ readonly type: "function";
412
+ readonly name: "claimRewards";
413
+ readonly inputs: readonly [{
414
+ readonly name: "tokens";
415
+ readonly type: "address[]";
416
+ readonly internalType: "address[]";
417
+ }, {
418
+ readonly name: "to";
419
+ readonly type: "address";
420
+ readonly internalType: "address";
421
+ }];
422
+ readonly outputs: readonly [];
423
+ readonly stateMutability: "nonpayable";
424
+ }, {
425
+ readonly type: "function";
426
+ readonly name: "claimableRewards";
427
+ readonly inputs: readonly [{
428
+ readonly name: "account";
429
+ readonly type: "address";
430
+ readonly internalType: "address";
431
+ }, {
432
+ readonly name: "token";
433
+ readonly type: "address";
434
+ readonly internalType: "address";
435
+ }];
436
+ readonly outputs: readonly [{
437
+ readonly name: "claimable";
438
+ readonly type: "uint256";
439
+ readonly internalType: "uint256";
440
+ }];
441
+ readonly stateMutability: "view";
442
+ }, {
443
+ readonly type: "function";
444
+ readonly name: "cleanupFinishedRewardToken";
445
+ readonly inputs: readonly [{
446
+ readonly name: "token";
447
+ readonly type: "address";
448
+ readonly internalType: "address";
449
+ }];
450
+ readonly outputs: readonly [];
451
+ readonly stateMutability: "nonpayable";
452
+ }, {
453
+ readonly type: "function";
454
+ readonly name: "escrowBalance";
455
+ readonly inputs: readonly [{
456
+ readonly name: "";
457
+ readonly type: "address";
458
+ readonly internalType: "address";
459
+ }];
460
+ readonly outputs: readonly [{
461
+ readonly name: "";
462
+ readonly type: "uint256";
463
+ readonly internalType: "uint256";
464
+ }];
465
+ readonly stateMutability: "view";
466
+ }, {
467
+ readonly type: "function";
468
+ readonly name: "factory";
469
+ readonly inputs: readonly [];
470
+ readonly outputs: readonly [{
471
+ readonly name: "";
472
+ readonly type: "address";
473
+ readonly internalType: "address";
474
+ }];
475
+ readonly stateMutability: "view";
476
+ }, {
477
+ readonly type: "function";
478
+ readonly name: "getTokenStreamInfo";
479
+ readonly inputs: readonly [{
480
+ readonly name: "token";
481
+ readonly type: "address";
482
+ readonly internalType: "address";
483
+ }];
484
+ readonly outputs: readonly [{
485
+ readonly name: "streamStart";
486
+ readonly type: "uint64";
487
+ readonly internalType: "uint64";
488
+ }, {
489
+ readonly name: "streamEnd";
490
+ readonly type: "uint64";
491
+ readonly internalType: "uint64";
492
+ }, {
493
+ readonly name: "streamTotal";
494
+ readonly type: "uint256";
495
+ readonly internalType: "uint256";
496
+ }];
497
+ readonly stateMutability: "view";
498
+ }, {
499
+ readonly type: "function";
500
+ readonly name: "getVotingPower";
501
+ readonly inputs: readonly [{
502
+ readonly name: "user";
503
+ readonly type: "address";
504
+ readonly internalType: "address";
505
+ }];
506
+ readonly outputs: readonly [{
507
+ readonly name: "votingPower";
508
+ readonly type: "uint256";
509
+ readonly internalType: "uint256";
510
+ }];
511
+ readonly stateMutability: "view";
512
+ }, {
513
+ readonly type: "function";
514
+ readonly name: "getWhitelistedTokens";
515
+ readonly inputs: readonly [];
516
+ readonly outputs: readonly [{
517
+ readonly name: "";
518
+ readonly type: "address[]";
519
+ readonly internalType: "address[]";
520
+ }];
521
+ readonly stateMutability: "view";
522
+ }, {
523
+ readonly type: "function";
524
+ readonly name: "initialize";
525
+ readonly inputs: readonly [{
526
+ readonly name: "underlying_";
527
+ readonly type: "address";
528
+ readonly internalType: "address";
529
+ }, {
530
+ readonly name: "stakedToken_";
531
+ readonly type: "address";
532
+ readonly internalType: "address";
533
+ }, {
534
+ readonly name: "treasury_";
535
+ readonly type: "address";
536
+ readonly internalType: "address";
537
+ }, {
538
+ readonly name: "initialWhitelistedTokens";
539
+ readonly type: "address[]";
540
+ readonly internalType: "address[]";
541
+ }];
542
+ readonly outputs: readonly [];
543
+ readonly stateMutability: "nonpayable";
544
+ }, {
545
+ readonly type: "function";
546
+ readonly name: "isTokenWhitelisted";
547
+ readonly inputs: readonly [{
548
+ readonly name: "token";
549
+ readonly type: "address";
550
+ readonly internalType: "address";
551
+ }];
552
+ readonly outputs: readonly [{
553
+ readonly name: "";
554
+ readonly type: "bool";
555
+ readonly internalType: "bool";
556
+ }];
557
+ readonly stateMutability: "view";
558
+ }, {
559
+ readonly type: "function";
560
+ readonly name: "isTrustedForwarder";
561
+ readonly inputs: readonly [{
562
+ readonly name: "forwarder";
563
+ readonly type: "address";
564
+ readonly internalType: "address";
565
+ }];
566
+ readonly outputs: readonly [{
567
+ readonly name: "";
568
+ readonly type: "bool";
569
+ readonly internalType: "bool";
570
+ }];
571
+ readonly stateMutability: "view";
572
+ }, {
573
+ readonly type: "function";
574
+ readonly name: "lastStakeBlock";
575
+ readonly inputs: readonly [{
576
+ readonly name: "";
577
+ readonly type: "address";
578
+ readonly internalType: "address";
579
+ }];
580
+ readonly outputs: readonly [{
581
+ readonly name: "";
582
+ readonly type: "uint256";
583
+ readonly internalType: "uint256";
584
+ }];
585
+ readonly stateMutability: "view";
586
+ }, {
587
+ readonly type: "function";
588
+ readonly name: "outstandingRewards";
589
+ readonly inputs: readonly [{
590
+ readonly name: "token";
591
+ readonly type: "address";
592
+ readonly internalType: "address";
593
+ }];
594
+ readonly outputs: readonly [{
595
+ readonly name: "available";
596
+ readonly type: "uint256";
597
+ readonly internalType: "uint256";
598
+ }];
599
+ readonly stateMutability: "view";
600
+ }, {
601
+ readonly type: "function";
602
+ readonly name: "rewardDebt";
603
+ readonly inputs: readonly [{
604
+ readonly name: "";
605
+ readonly type: "address";
606
+ readonly internalType: "address";
607
+ }, {
608
+ readonly name: "";
609
+ readonly type: "address";
610
+ readonly internalType: "address";
611
+ }];
612
+ readonly outputs: readonly [{
613
+ readonly name: "";
614
+ readonly type: "uint256";
615
+ readonly internalType: "uint256";
616
+ }];
617
+ readonly stateMutability: "view";
618
+ }, {
619
+ readonly type: "function";
620
+ readonly name: "rewardRatePerSecond";
621
+ readonly inputs: readonly [{
622
+ readonly name: "token";
623
+ readonly type: "address";
624
+ readonly internalType: "address";
625
+ }];
626
+ readonly outputs: readonly [{
627
+ readonly name: "";
628
+ readonly type: "uint256";
629
+ readonly internalType: "uint256";
630
+ }];
631
+ readonly stateMutability: "view";
632
+ }, {
633
+ readonly type: "function";
634
+ readonly name: "stake";
635
+ readonly inputs: readonly [{
636
+ readonly name: "amount";
637
+ readonly type: "uint256";
638
+ readonly internalType: "uint256";
639
+ }];
640
+ readonly outputs: readonly [];
641
+ readonly stateMutability: "nonpayable";
642
+ }, {
643
+ readonly type: "function";
644
+ readonly name: "stakeStartTime";
645
+ readonly inputs: readonly [{
646
+ readonly name: "";
647
+ readonly type: "address";
648
+ readonly internalType: "address";
649
+ }];
650
+ readonly outputs: readonly [{
651
+ readonly name: "";
652
+ readonly type: "uint256";
653
+ readonly internalType: "uint256";
654
+ }];
655
+ readonly stateMutability: "view";
656
+ }, {
657
+ readonly type: "function";
658
+ readonly name: "stakedToken";
659
+ readonly inputs: readonly [];
660
+ readonly outputs: readonly [{
661
+ readonly name: "";
662
+ readonly type: "address";
663
+ readonly internalType: "address";
664
+ }];
665
+ readonly stateMutability: "view";
666
+ }, {
667
+ readonly type: "function";
668
+ readonly name: "totalStaked";
669
+ readonly inputs: readonly [];
670
+ readonly outputs: readonly [{
671
+ readonly name: "";
672
+ readonly type: "uint256";
673
+ readonly internalType: "uint256";
674
+ }];
675
+ readonly stateMutability: "view";
676
+ }, {
677
+ readonly type: "function";
678
+ readonly name: "treasury";
679
+ readonly inputs: readonly [];
680
+ readonly outputs: readonly [{
681
+ readonly name: "";
682
+ readonly type: "address";
683
+ readonly internalType: "address";
684
+ }];
685
+ readonly stateMutability: "view";
686
+ }, {
687
+ readonly type: "function";
688
+ readonly name: "trustedForwarder";
689
+ readonly inputs: readonly [];
690
+ readonly outputs: readonly [{
691
+ readonly name: "";
692
+ readonly type: "address";
693
+ readonly internalType: "address";
694
+ }];
695
+ readonly stateMutability: "view";
696
+ }, {
697
+ readonly type: "function";
698
+ readonly name: "underlying";
699
+ readonly inputs: readonly [];
700
+ readonly outputs: readonly [{
701
+ readonly name: "";
702
+ readonly type: "address";
703
+ readonly internalType: "address";
704
+ }];
705
+ readonly stateMutability: "view";
706
+ }, {
707
+ readonly type: "function";
708
+ readonly name: "unstake";
709
+ readonly inputs: readonly [{
710
+ readonly name: "amount";
711
+ readonly type: "uint256";
712
+ readonly internalType: "uint256";
713
+ }, {
714
+ readonly name: "to";
715
+ readonly type: "address";
716
+ readonly internalType: "address";
717
+ }];
718
+ readonly outputs: readonly [{
719
+ readonly name: "newVotingPower";
720
+ readonly type: "uint256";
721
+ readonly internalType: "uint256";
722
+ }];
723
+ readonly stateMutability: "nonpayable";
724
+ }, {
725
+ readonly type: "function";
726
+ readonly name: "unwhitelistToken";
727
+ readonly inputs: readonly [{
728
+ readonly name: "token";
729
+ readonly type: "address";
730
+ readonly internalType: "address";
731
+ }];
732
+ readonly outputs: readonly [];
733
+ readonly stateMutability: "nonpayable";
734
+ }, {
735
+ readonly type: "function";
736
+ readonly name: "whitelistToken";
737
+ readonly inputs: readonly [{
738
+ readonly name: "token";
739
+ readonly type: "address";
740
+ readonly internalType: "address";
741
+ }];
742
+ readonly outputs: readonly [];
743
+ readonly stateMutability: "nonpayable";
744
+ }, {
745
+ readonly type: "event";
746
+ readonly name: "Initialized";
747
+ readonly inputs: readonly [{
748
+ readonly name: "underlying";
749
+ readonly type: "address";
750
+ readonly indexed: true;
751
+ readonly internalType: "address";
752
+ }, {
753
+ readonly name: "stakedToken";
754
+ readonly type: "address";
755
+ readonly indexed: true;
756
+ readonly internalType: "address";
757
+ }, {
758
+ readonly name: "treasury";
759
+ readonly type: "address";
760
+ readonly indexed: true;
761
+ readonly internalType: "address";
762
+ }];
763
+ readonly anonymous: false;
764
+ }, {
765
+ readonly type: "event";
766
+ readonly name: "RewardTokenRemoved";
767
+ readonly inputs: readonly [{
768
+ readonly name: "token";
769
+ readonly type: "address";
770
+ readonly indexed: true;
771
+ readonly internalType: "address";
772
+ }];
773
+ readonly anonymous: false;
774
+ }, {
775
+ readonly type: "event";
776
+ readonly name: "RewardsAccrued";
777
+ readonly inputs: readonly [{
778
+ readonly name: "token";
779
+ readonly type: "address";
780
+ readonly indexed: true;
781
+ readonly internalType: "address";
782
+ }, {
783
+ readonly name: "amount";
784
+ readonly type: "uint256";
785
+ readonly indexed: false;
786
+ readonly internalType: "uint256";
787
+ }, {
788
+ readonly name: "newPoolTotal";
789
+ readonly type: "uint256";
790
+ readonly indexed: false;
791
+ readonly internalType: "uint256";
792
+ }];
793
+ readonly anonymous: false;
794
+ }, {
795
+ readonly type: "event";
796
+ readonly name: "RewardsClaimed";
797
+ readonly inputs: readonly [{
798
+ readonly name: "account";
799
+ readonly type: "address";
800
+ readonly indexed: true;
801
+ readonly internalType: "address";
802
+ }, {
803
+ readonly name: "to";
804
+ readonly type: "address";
805
+ readonly indexed: true;
806
+ readonly internalType: "address";
807
+ }, {
808
+ readonly name: "token";
809
+ readonly type: "address";
810
+ readonly indexed: true;
811
+ readonly internalType: "address";
812
+ }, {
813
+ readonly name: "amount";
814
+ readonly type: "uint256";
815
+ readonly indexed: false;
816
+ readonly internalType: "uint256";
817
+ }];
818
+ readonly anonymous: false;
819
+ }, {
820
+ readonly type: "event";
821
+ readonly name: "Staked";
822
+ readonly inputs: readonly [{
823
+ readonly name: "staker";
824
+ readonly type: "address";
825
+ readonly indexed: true;
826
+ readonly internalType: "address";
827
+ }, {
828
+ readonly name: "amount";
829
+ readonly type: "uint256";
830
+ readonly indexed: false;
831
+ readonly internalType: "uint256";
832
+ }];
833
+ readonly anonymous: false;
834
+ }, {
835
+ readonly type: "event";
836
+ readonly name: "StreamReset";
837
+ readonly inputs: readonly [{
838
+ readonly name: "token";
839
+ readonly type: "address";
840
+ readonly indexed: true;
841
+ readonly internalType: "address";
842
+ }, {
843
+ readonly name: "windowSeconds";
844
+ readonly type: "uint32";
845
+ readonly indexed: false;
846
+ readonly internalType: "uint32";
847
+ }, {
848
+ readonly name: "streamStart";
849
+ readonly type: "uint64";
850
+ readonly indexed: false;
851
+ readonly internalType: "uint64";
852
+ }, {
853
+ readonly name: "streamEnd";
854
+ readonly type: "uint64";
855
+ readonly indexed: false;
856
+ readonly internalType: "uint64";
857
+ }];
858
+ readonly anonymous: false;
859
+ }, {
860
+ readonly type: "event";
861
+ readonly name: "TokenUnwhitelisted";
862
+ readonly inputs: readonly [{
863
+ readonly name: "token";
864
+ readonly type: "address";
865
+ readonly indexed: true;
866
+ readonly internalType: "address";
867
+ }];
868
+ readonly anonymous: false;
869
+ }, {
870
+ readonly type: "event";
871
+ readonly name: "TokenWhitelisted";
872
+ readonly inputs: readonly [{
873
+ readonly name: "token";
874
+ readonly type: "address";
875
+ readonly indexed: true;
876
+ readonly internalType: "address";
877
+ }];
878
+ readonly anonymous: false;
879
+ }, {
880
+ readonly type: "event";
881
+ readonly name: "Unstaked";
882
+ readonly inputs: readonly [{
883
+ readonly name: "staker";
884
+ readonly type: "address";
885
+ readonly indexed: true;
886
+ readonly internalType: "address";
887
+ }, {
888
+ readonly name: "to";
889
+ readonly type: "address";
890
+ readonly indexed: true;
891
+ readonly internalType: "address";
892
+ }, {
893
+ readonly name: "amount";
894
+ readonly type: "uint256";
895
+ readonly indexed: false;
896
+ readonly internalType: "uint256";
897
+ }];
898
+ readonly anonymous: false;
899
+ }, {
900
+ readonly type: "error";
901
+ readonly name: "AlreadyInitialized";
902
+ readonly inputs: readonly [];
903
+ }, {
904
+ readonly type: "error";
905
+ readonly name: "AlreadyWhitelisted";
906
+ readonly inputs: readonly [];
907
+ }, {
908
+ readonly type: "error";
909
+ readonly name: "CannotModifyUnderlying";
910
+ readonly inputs: readonly [];
911
+ }, {
912
+ readonly type: "error";
913
+ readonly name: "CannotRemoveUnderlying";
914
+ readonly inputs: readonly [];
915
+ }, {
916
+ readonly type: "error";
917
+ readonly name: "CannotRemoveWhitelisted";
918
+ readonly inputs: readonly [];
919
+ }, {
920
+ readonly type: "error";
921
+ readonly name: "CannotUnwhitelistUnderlying";
922
+ readonly inputs: readonly [];
923
+ }, {
924
+ readonly type: "error";
925
+ readonly name: "CannotUnwhitelistWithPendingRewards";
926
+ readonly inputs: readonly [];
927
+ }, {
928
+ readonly type: "error";
929
+ readonly name: "CannotWhitelistWithPendingRewards";
930
+ readonly inputs: readonly [];
931
+ }, {
932
+ readonly type: "error";
933
+ readonly name: "InsufficientEscrow";
934
+ readonly inputs: readonly [];
935
+ }, {
936
+ readonly type: "error";
937
+ readonly name: "InsufficientRewardLiquidity";
938
+ readonly inputs: readonly [];
939
+ }, {
940
+ readonly type: "error";
941
+ readonly name: "InsufficientStake";
942
+ readonly inputs: readonly [];
943
+ }, {
944
+ readonly type: "error";
945
+ readonly name: "InvalidAmount";
946
+ readonly inputs: readonly [];
947
+ }, {
948
+ readonly type: "error";
949
+ readonly name: "InvalidTokenDecimals";
950
+ readonly inputs: readonly [];
951
+ }, {
952
+ readonly type: "error";
953
+ readonly name: "OnlyFactory";
954
+ readonly inputs: readonly [];
955
+ }, {
956
+ readonly type: "error";
957
+ readonly name: "OnlyTokenAdmin";
958
+ readonly inputs: readonly [];
959
+ }, {
960
+ readonly type: "error";
961
+ readonly name: "ReentrancyGuardReentrantCall";
962
+ readonly inputs: readonly [];
963
+ }, {
964
+ readonly type: "error";
965
+ readonly name: "RewardTooSmall";
966
+ readonly inputs: readonly [];
967
+ }, {
968
+ readonly type: "error";
969
+ readonly name: "RewardsStillPending";
970
+ readonly inputs: readonly [];
971
+ }, {
972
+ readonly type: "error";
973
+ readonly name: "SafeERC20FailedOperation";
974
+ readonly inputs: readonly [{
975
+ readonly name: "token";
976
+ readonly type: "address";
977
+ readonly internalType: "address";
978
+ }];
979
+ }, {
980
+ readonly type: "error";
981
+ readonly name: "TokenNotRegistered";
982
+ readonly inputs: readonly [];
983
+ }, {
984
+ readonly type: "error";
985
+ readonly name: "TokenNotWhitelisted";
986
+ readonly inputs: readonly [];
987
+ }, {
988
+ readonly type: "error";
989
+ readonly name: "ZeroAddress";
990
+ readonly inputs: readonly [];
991
+ }];
992
+ functionName: string;
993
+ args: `0x${string}`[];
994
+ })[];
183
995
  /**
184
996
  * Get all user-related data in a single efficient multicall
185
997
  * Composes balances, staking, and governance data with USD values