levr-sdk 0.0.1 → 0.0.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 (108) hide show
  1. package/README.md +109 -13
  2. package/dist/esm/abis/StateView.js +149 -0
  3. package/dist/esm/abis/V3QuoterV2.js +26 -0
  4. package/dist/esm/abis/index.js +4 -0
  5. package/dist/esm/balance.js +30 -4
  6. package/dist/esm/balance.js.map +1 -1
  7. package/dist/esm/client/hook/use-balance.js +2 -1
  8. package/dist/esm/client/hook/use-balance.js.map +1 -1
  9. package/dist/esm/client/hook/use-fee-receivers.js +0 -1
  10. package/dist/esm/client/hook/use-fee-receivers.js.map +1 -1
  11. package/dist/esm/client/hook/use-governance.js +13 -32
  12. package/dist/esm/client/hook/use-governance.js.map +1 -1
  13. package/dist/esm/client/hook/use-project.js +7 -10
  14. package/dist/esm/client/hook/use-project.js.map +1 -1
  15. package/dist/esm/client/hook/use-proposals.js +2 -4
  16. package/dist/esm/client/hook/use-proposals.js.map +1 -1
  17. package/dist/esm/client/hook/use-stake.js +3 -23
  18. package/dist/esm/client/hook/use-stake.js.map +1 -1
  19. package/dist/esm/client/hook/use-swap.js +14 -6
  20. package/dist/esm/client/hook/use-swap.js.map +1 -1
  21. package/dist/esm/client/levr-provider.js +9 -2
  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.js +41 -0
  26. package/dist/esm/constants.js.map +1 -1
  27. package/dist/esm/fee-receivers.js +5 -2
  28. package/dist/esm/fee-receivers.js.map +1 -1
  29. package/dist/esm/governance.js +20 -5
  30. package/dist/esm/governance.js.map +1 -1
  31. package/dist/esm/index.js +3 -1
  32. package/dist/esm/index.js.map +1 -1
  33. package/dist/esm/pool-key.js +152 -0
  34. package/dist/esm/pool-key.js.map +1 -0
  35. package/dist/esm/project.js +48 -5
  36. package/dist/esm/project.js.map +1 -1
  37. package/dist/esm/projects.js +2 -30
  38. package/dist/esm/projects.js.map +1 -1
  39. package/dist/esm/quote/index.js +98 -0
  40. package/dist/esm/quote/index.js.map +1 -0
  41. package/dist/esm/quote/v3.js +62 -0
  42. package/dist/esm/quote/v3.js.map +1 -0
  43. package/dist/esm/quote/v4.js +228 -0
  44. package/dist/esm/quote/v4.js.map +1 -0
  45. package/dist/esm/stake.js +102 -40
  46. package/dist/esm/stake.js.map +1 -1
  47. package/dist/esm/usd-price.js +149 -0
  48. package/dist/esm/usd-price.js.map +1 -0
  49. package/dist/esm/util.js +45 -1
  50. package/dist/esm/util.js.map +1 -1
  51. package/dist/types/abis/StateView.d.ts +278 -0
  52. package/dist/types/abis/V3QuoterV2.d.ts +39 -0
  53. package/dist/types/abis/index.d.ts +2 -0
  54. package/dist/types/balance.d.ts +4 -6
  55. package/dist/types/balance.d.ts.map +1 -1
  56. package/dist/types/client/hook/index.d.ts +1 -1
  57. package/dist/types/client/hook/index.d.ts.map +1 -1
  58. package/dist/types/client/hook/use-balance.d.ts +3 -1
  59. package/dist/types/client/hook/use-balance.d.ts.map +1 -1
  60. package/dist/types/client/hook/use-fee-receivers.d.ts +1 -1
  61. package/dist/types/client/hook/use-fee-receivers.d.ts.map +1 -1
  62. package/dist/types/client/hook/use-governance.d.ts +20 -15
  63. package/dist/types/client/hook/use-governance.d.ts.map +1 -1
  64. package/dist/types/client/hook/use-project.d.ts +3 -1
  65. package/dist/types/client/hook/use-project.d.ts.map +1 -1
  66. package/dist/types/client/hook/use-proposals.d.ts +1 -1
  67. package/dist/types/client/hook/use-proposals.d.ts.map +1 -1
  68. package/dist/types/client/hook/use-stake.d.ts +37 -132
  69. package/dist/types/client/hook/use-stake.d.ts.map +1 -1
  70. package/dist/types/client/hook/use-swap.d.ts +2 -1
  71. package/dist/types/client/hook/use-swap.d.ts.map +1 -1
  72. package/dist/types/client/levr-provider.d.ts +31 -38
  73. package/dist/types/client/levr-provider.d.ts.map +1 -1
  74. package/dist/types/client/query-keys.d.ts +1 -1
  75. package/dist/types/client/query-keys.d.ts.map +1 -1
  76. package/dist/types/constants.d.ts +18 -0
  77. package/dist/types/constants.d.ts.map +1 -1
  78. package/dist/types/fee-receivers.d.ts +1 -2
  79. package/dist/types/fee-receivers.d.ts.map +1 -1
  80. package/dist/types/governance.d.ts +8 -21
  81. package/dist/types/governance.d.ts.map +1 -1
  82. package/dist/types/index.d.ts +3 -1
  83. package/dist/types/index.d.ts.map +1 -1
  84. package/dist/types/pool-key.d.ts +121 -0
  85. package/dist/types/pool-key.d.ts.map +1 -0
  86. package/dist/types/project.d.ts +7 -12
  87. package/dist/types/project.d.ts.map +1 -1
  88. package/dist/types/projects.d.ts +1 -1
  89. package/dist/types/projects.d.ts.map +1 -1
  90. package/dist/types/quote/index.d.ts +97 -0
  91. package/dist/types/quote/index.d.ts.map +1 -0
  92. package/dist/types/quote/v3.d.ts +78 -0
  93. package/dist/types/quote/v3.d.ts.map +1 -0
  94. package/dist/types/quote/v4.d.ts +95 -0
  95. package/dist/types/quote/v4.d.ts.map +1 -0
  96. package/dist/types/stake.d.ts +38 -59
  97. package/dist/types/stake.d.ts.map +1 -1
  98. package/dist/types/types.d.ts +15 -0
  99. package/dist/types/types.d.ts.map +1 -1
  100. package/dist/types/usd-price.d.ts +141 -0
  101. package/dist/types/usd-price.d.ts.map +1 -0
  102. package/dist/types/util.d.ts +17 -0
  103. package/dist/types/util.d.ts.map +1 -1
  104. package/package.json +1 -1
  105. package/dist/esm/quote-v4.js +0 -169
  106. package/dist/esm/quote-v4.js.map +0 -1
  107. package/dist/types/quote-v4.d.ts +0 -54
  108. package/dist/types/quote-v4.d.ts.map +0 -1
package/README.md CHANGED
@@ -20,6 +20,9 @@ TypeScript SDK for interacting with Levr protocol - a decentralized governance,
20
20
  - 🪝 **React Hooks** - Easy integration with React applications
21
21
  - 🔌 **Server & Client** - Works in both server and client environments
22
22
  - 📦 **Tree-Shakeable** - Import only what you need
23
+ - 💰 **USD Pricing** - Integrated USD price calculations for tokens, balances, and APR
24
+ - 📊 **Price Impact** - Real-time price impact calculation for swaps
25
+ - ⚙️ **Hook Fees** - Automatic extraction of Clanker hook fees (static and dynamic)
23
26
 
24
27
  ## Installation
25
28
 
@@ -258,6 +261,7 @@ const {
258
261
  quote,
259
262
  balances,
260
263
  poolKey,
264
+ pricing, // USD pricing data
261
265
 
262
266
  // Convenience
263
267
  tokenBalance,
@@ -273,6 +277,10 @@ const {
273
277
  onSwapSuccess: (receipt) => console.log('Swapped!', receipt),
274
278
  })
275
279
 
280
+ // Access quote with price impact
281
+ console.log(quote.data?.priceImpactBps) // 0.5 (0.5% impact)
282
+ console.log(quote.data?.hookFees) // { type: 'static', clankerFee: 500, ... }
283
+
276
284
  // Build swap config (poolKey from context)
277
285
  const config = buildSwapConfig({
278
286
  zeroForOne: true,
@@ -375,7 +383,7 @@ All mutations automatically trigger appropriate refetches - no manual coordinati
375
383
 
376
384
  #### `project()`
377
385
 
378
- Get project data including token, contracts, and pool information:
386
+ Get project data including token, contracts, pool information, and optional USD pricing:
379
387
 
380
388
  ```typescript
381
389
  import { project } from 'levr-sdk'
@@ -383,11 +391,19 @@ import { project } from 'levr-sdk'
383
391
  const projectData = await project({
384
392
  publicClient,
385
393
  factoryAddress: '0x...',
386
- chainId: 8453, // Base
387
394
  clankerToken: '0x...',
395
+ // Optional: Provide oracle client for USD pricing
396
+ oraclePublicClient: mainnetClient, // For WETH/USD and token/USD prices
388
397
  })
398
+
399
+ // Access USD-denominated values
400
+ console.log(projectData.pricing) // { wethUsd: "2543.21", tokenUsd: "0.05" }
401
+ console.log(projectData.treasuryStats.balance.usd) // "50000.00"
402
+ console.log(projectData.treasuryStats.totalAllocated.usd) // "150000.00"
389
403
  ```
390
404
 
405
+ **Note**: `chainId` parameter is no longer required - it's automatically derived from `publicClient.chain.id`.
406
+
391
407
  #### `balance()`
392
408
 
393
409
  Get token balances for multiple tokens:
@@ -412,7 +428,7 @@ console.log(balances.eth?.formatted) // "0.1"
412
428
 
413
429
  #### `Stake` Class
414
430
 
415
- Manage staking operations:
431
+ Manage staking operations with optional USD pricing:
416
432
 
417
433
  ```typescript
418
434
  import { Stake } from 'levr-sdk'
@@ -431,6 +447,13 @@ const poolData = await stake.getPoolData()
431
447
  const userData = await stake.getUserData()
432
448
  const allowance = await stake.getAllowance()
433
449
 
450
+ // Get APR with USD pricing
451
+ const aprData = await stake.getWethRewardRate({
452
+ totalStaked: poolData.totalStaked,
453
+ pricing: { wethUsd: '2543.21', tokenUsd: '0.05' }, // Optional USD prices
454
+ })
455
+ console.log(aprData.aprBps) // 1500 (15% APR)
456
+
434
457
  // Perform operations
435
458
  await stake.approve(amount)
436
459
  await stake.stake(amount)
@@ -441,7 +464,7 @@ await stake.accrueRewards(tokenAddress)
441
464
 
442
465
  #### `Governance` Class
443
466
 
444
- Manage governance operations:
467
+ Manage governance operations with optional USD pricing:
445
468
 
446
469
  ```typescript
447
470
  import { Governance } from 'levr-sdk'
@@ -457,6 +480,14 @@ const governance = new Governance({
457
480
  // Get governance data
458
481
  const cycleId = await governance.getCurrentCycleId()
459
482
  const treasury = await governance.getTreasury()
483
+
484
+ // Get addresses with USD values
485
+ const addresses = await governance.getAddresses({
486
+ pricing: { wethUsd: '2543.21', tokenUsd: '0.05' },
487
+ })
488
+ console.log(addresses.treasury.balance.usd) // "50000.00"
489
+
490
+ // Get airdrop status
460
491
  const airdropStatus = await governance.getAirdropStatus()
461
492
 
462
493
  // Propose actions
@@ -473,17 +504,41 @@ await governance.vote(proposalId, true) // true = support
473
504
  await governance.executeProposal(proposalId)
474
505
  ```
475
506
 
476
- #### `swapV4()` and `quoteV4()`
507
+ #### `quoteV3()`
508
+
509
+ Quote swaps on Uniswap V3:
510
+
511
+ ```typescript
512
+ import { quoteV3, UNISWAP_V3_QUOTER_V2, WETH, GET_USDC_ADDRESS } from 'levr-sdk'
513
+
514
+ const chainId = 8453 // Base
515
+ const quoterAddress = UNISWAP_V3_QUOTER_V2(chainId)
516
+ const wethData = WETH(chainId)
517
+ const usdcAddress = GET_USDC_ADDRESS(chainId)
518
+
519
+ // Get V3 quote
520
+ const quote = await quoteV3({
521
+ publicClient,
522
+ quoterAddress,
523
+ tokenIn: wethData.address,
524
+ tokenOut: usdcAddress,
525
+ amountIn: parseUnits('1', 18),
526
+ fee: 3000, // 0.3%
527
+ })
528
+
529
+ console.log(formatUnits(quote.amountOut, 6)) // "2543.21"
530
+ ```
531
+
532
+ #### `quoteV4()`
477
533
 
478
- Uniswap v4 swap operations:
534
+ Get swap quotes on Uniswap V4 with price impact and hook fees:
479
535
 
480
536
  ```typescript
481
- import { swapV4, quoteV4 } from 'levr-sdk'
537
+ import { quoteV4 } from 'levr-sdk'
482
538
 
483
- // Get swap quote
539
+ // Get V4 quote with price impact
484
540
  const quote = await quoteV4({
485
541
  publicClient,
486
- chainId: 8453,
487
542
  poolKey: {
488
543
  currency0: '0x...',
489
544
  currency1: '0x...',
@@ -493,15 +548,35 @@ const quote = await quoteV4({
493
548
  },
494
549
  zeroForOne: true,
495
550
  amountIn: parseUnits('100', 18),
551
+ // Optional: Provide pricing data for price impact calculation
552
+ pricing: {
553
+ wethUsd: '2543.21',
554
+ tokenUsd: '0.05',
555
+ },
556
+ tokenAddress: '0x...', // Project token address
557
+ currency0Decimals: 18,
558
+ currency1Decimals: 18,
496
559
  })
497
560
 
498
561
  console.log(formatUnits(quote.amountOut, 18)) // "95.5"
562
+ console.log(quote.priceImpactBps) // 0.5 (0.5% price impact)
563
+ console.log(quote.hookFees) // { type: 'static', clankerFee: 500, pairedFee: 100 }
564
+ console.log(quote.gasEstimate) // 150000n
565
+ ```
566
+
567
+ **Note**: `chainId` parameter is no longer required - it's automatically derived from `publicClient.chain.id`.
568
+
569
+ #### `swapV4()`
570
+
571
+ Execute swaps on Uniswap V4:
572
+
573
+ ```typescript
574
+ import { swapV4 } from 'levr-sdk'
499
575
 
500
576
  // Execute swap
501
577
  const receipt = await swapV4({
502
578
  publicClient,
503
579
  wallet: walletClient,
504
- chainId: 8453,
505
580
  poolKey,
506
581
  zeroForOne: true,
507
582
  amountIn: parseUnits('100', 18),
@@ -509,6 +584,25 @@ const receipt = await swapV4({
509
584
  })
510
585
  ```
511
586
 
587
+ #### `getUsdPrice()`
588
+
589
+ Get USD price for any token paired with WETH:
590
+
591
+ ```typescript
592
+ import { getUsdPrice } from 'levr-sdk'
593
+
594
+ // Get token price in USD
595
+ // Uses mainnet for accurate WETH/USDC oracle, testnet for token quote
596
+ const { priceUsd, tokenPerWeth, wethPerUsdc } = await getUsdPrice({
597
+ oraclePublicClient: mainnetClient, // For WETH/USDC price (auto-discovers best V3 pool)
598
+ quotePublicClient: testnetClient, // For token/WETH price (your chain)
599
+ tokenAddress: '0x...', // Token to price
600
+ quoteFee: 3000, // Optional: Pool fee tier (default: 3000 = 0.3%)
601
+ })
602
+
603
+ console.log(`Token price: $${priceUsd}`) // "0.05"
604
+ ```
605
+
512
606
  ## Architecture: Centralized Provider Pattern
513
607
 
514
608
  The SDK uses a centralized provider pattern that eliminates query duplication and provides 100% refetch coverage:
@@ -628,7 +722,7 @@ import { queryKeys } from 'levr-sdk/client'
628
722
 
629
723
  // Use in custom queries or invalidations
630
724
  queryClient.invalidateQueries({
631
- queryKey: queryKeys.project(factoryAddress, clankerToken, chainId),
725
+ queryKey: queryKeys.project(clankerToken, chainId),
632
726
  })
633
727
  ```
634
728
 
@@ -674,8 +768,10 @@ levr-sdk/
674
768
  │ ├── balance.ts # Balance queries
675
769
  │ ├── stake.ts # Stake class
676
770
  │ ├── governance.ts # Governance class
677
- │ ├── swap-v4.ts # Swap functions
678
- │ ├── quote-v4.ts # Quote functions
771
+ │ ├── swap-v4.ts # V4 swap functions
772
+ │ ├── quote-v3.ts # V3 quote functions
773
+ │ ├── quote-v4.ts # V4 quote functions with price impact
774
+ │ ├── usd-price.ts # USD pricing utilities
679
775
  │ └── client/
680
776
  │ ├── index.ts # Client-only exports
681
777
  │ ├── levr-provider.tsx # Centralized provider
@@ -0,0 +1,149 @@
1
+ export default [
2
+ {
3
+ inputs: [{ internalType: 'contract IPoolManager', name: '_poolManager', type: 'address' }],
4
+ stateMutability: 'nonpayable',
5
+ type: 'constructor',
6
+ },
7
+ {
8
+ inputs: [{ internalType: 'PoolId', name: 'poolId', type: 'bytes32' }],
9
+ name: 'getFeeGrowthGlobals',
10
+ outputs: [
11
+ { internalType: 'uint256', name: 'feeGrowthGlobal0', type: 'uint256' },
12
+ { internalType: 'uint256', name: 'feeGrowthGlobal1', type: 'uint256' },
13
+ ],
14
+ stateMutability: 'view',
15
+ type: 'function',
16
+ },
17
+ {
18
+ inputs: [
19
+ { internalType: 'PoolId', name: 'poolId', type: 'bytes32' },
20
+ { internalType: 'int24', name: 'tickLower', type: 'int24' },
21
+ { internalType: 'int24', name: 'tickUpper', type: 'int24' },
22
+ ],
23
+ name: 'getFeeGrowthInside',
24
+ outputs: [
25
+ { internalType: 'uint256', name: 'feeGrowthInside0X128', type: 'uint256' },
26
+ { internalType: 'uint256', name: 'feeGrowthInside1X128', type: 'uint256' },
27
+ ],
28
+ stateMutability: 'view',
29
+ type: 'function',
30
+ },
31
+ {
32
+ inputs: [{ internalType: 'PoolId', name: 'poolId', type: 'bytes32' }],
33
+ name: 'getLiquidity',
34
+ outputs: [{ internalType: 'uint128', name: 'liquidity', type: 'uint128' }],
35
+ stateMutability: 'view',
36
+ type: 'function',
37
+ },
38
+ {
39
+ inputs: [
40
+ { internalType: 'PoolId', name: 'poolId', type: 'bytes32' },
41
+ { internalType: 'bytes32', name: 'positionId', type: 'bytes32' },
42
+ ],
43
+ name: 'getPositionInfo',
44
+ outputs: [
45
+ { internalType: 'uint128', name: 'liquidity', type: 'uint128' },
46
+ { internalType: 'uint256', name: 'feeGrowthInside0LastX128', type: 'uint256' },
47
+ { internalType: 'uint256', name: 'feeGrowthInside1LastX128', type: 'uint256' },
48
+ ],
49
+ stateMutability: 'view',
50
+ type: 'function',
51
+ },
52
+ {
53
+ inputs: [
54
+ { internalType: 'PoolId', name: 'poolId', type: 'bytes32' },
55
+ { internalType: 'address', name: 'owner', type: 'address' },
56
+ { internalType: 'int24', name: 'tickLower', type: 'int24' },
57
+ { internalType: 'int24', name: 'tickUpper', type: 'int24' },
58
+ { internalType: 'bytes32', name: 'salt', type: 'bytes32' },
59
+ ],
60
+ name: 'getPositionInfo',
61
+ outputs: [
62
+ { internalType: 'uint128', name: 'liquidity', type: 'uint128' },
63
+ { internalType: 'uint256', name: 'feeGrowthInside0LastX128', type: 'uint256' },
64
+ { internalType: 'uint256', name: 'feeGrowthInside1LastX128', type: 'uint256' },
65
+ ],
66
+ stateMutability: 'view',
67
+ type: 'function',
68
+ },
69
+ {
70
+ inputs: [
71
+ { internalType: 'PoolId', name: 'poolId', type: 'bytes32' },
72
+ { internalType: 'bytes32', name: 'positionId', type: 'bytes32' },
73
+ ],
74
+ name: 'getPositionLiquidity',
75
+ outputs: [{ internalType: 'uint128', name: 'liquidity', type: 'uint128' }],
76
+ stateMutability: 'view',
77
+ type: 'function',
78
+ },
79
+ {
80
+ inputs: [{ internalType: 'PoolId', name: 'poolId', type: 'bytes32' }],
81
+ name: 'getSlot0',
82
+ outputs: [
83
+ { internalType: 'uint160', name: 'sqrtPriceX96', type: 'uint160' },
84
+ { internalType: 'int24', name: 'tick', type: 'int24' },
85
+ { internalType: 'uint24', name: 'protocolFee', type: 'uint24' },
86
+ { internalType: 'uint24', name: 'lpFee', type: 'uint24' },
87
+ ],
88
+ stateMutability: 'view',
89
+ type: 'function',
90
+ },
91
+ {
92
+ inputs: [
93
+ { internalType: 'PoolId', name: 'poolId', type: 'bytes32' },
94
+ { internalType: 'int16', name: 'tick', type: 'int16' },
95
+ ],
96
+ name: 'getTickBitmap',
97
+ outputs: [{ internalType: 'uint256', name: 'tickBitmap', type: 'uint256' }],
98
+ stateMutability: 'view',
99
+ type: 'function',
100
+ },
101
+ {
102
+ inputs: [
103
+ { internalType: 'PoolId', name: 'poolId', type: 'bytes32' },
104
+ { internalType: 'int24', name: 'tick', type: 'int24' },
105
+ ],
106
+ name: 'getTickFeeGrowthOutside',
107
+ outputs: [
108
+ { internalType: 'uint256', name: 'feeGrowthOutside0X128', type: 'uint256' },
109
+ { internalType: 'uint256', name: 'feeGrowthOutside1X128', type: 'uint256' },
110
+ ],
111
+ stateMutability: 'view',
112
+ type: 'function',
113
+ },
114
+ {
115
+ inputs: [
116
+ { internalType: 'PoolId', name: 'poolId', type: 'bytes32' },
117
+ { internalType: 'int24', name: 'tick', type: 'int24' },
118
+ ],
119
+ name: 'getTickInfo',
120
+ outputs: [
121
+ { internalType: 'uint128', name: 'liquidityGross', type: 'uint128' },
122
+ { internalType: 'int128', name: 'liquidityNet', type: 'int128' },
123
+ { internalType: 'uint256', name: 'feeGrowthOutside0X128', type: 'uint256' },
124
+ { internalType: 'uint256', name: 'feeGrowthOutside1X128', type: 'uint256' },
125
+ ],
126
+ stateMutability: 'view',
127
+ type: 'function',
128
+ },
129
+ {
130
+ inputs: [
131
+ { internalType: 'PoolId', name: 'poolId', type: 'bytes32' },
132
+ { internalType: 'int24', name: 'tick', type: 'int24' },
133
+ ],
134
+ name: 'getTickLiquidity',
135
+ outputs: [
136
+ { internalType: 'uint128', name: 'liquidityGross', type: 'uint128' },
137
+ { internalType: 'int128', name: 'liquidityNet', type: 'int128' },
138
+ ],
139
+ stateMutability: 'view',
140
+ type: 'function',
141
+ },
142
+ {
143
+ inputs: [],
144
+ name: 'poolManager',
145
+ outputs: [{ internalType: 'contract IPoolManager', name: '', type: 'address' }],
146
+ stateMutability: 'view',
147
+ type: 'function',
148
+ },
149
+ ];
@@ -0,0 +1,26 @@
1
+ export default [
2
+ {
3
+ type: 'function',
4
+ name: 'quoteExactInputSingle',
5
+ inputs: [
6
+ {
7
+ name: 'params',
8
+ type: 'tuple',
9
+ components: [
10
+ { name: 'tokenIn', type: 'address' },
11
+ { name: 'tokenOut', type: 'address' },
12
+ { name: 'amountIn', type: 'uint256' },
13
+ { name: 'fee', type: 'uint24' },
14
+ { name: 'sqrtPriceLimitX96', type: 'uint160' },
15
+ ],
16
+ },
17
+ ],
18
+ outputs: [
19
+ { name: 'amountOut', type: 'uint256' },
20
+ { name: 'sqrtPriceX96After', type: 'uint160' },
21
+ { name: 'initializedTicksCrossed', type: 'uint32' },
22
+ { name: 'gasEstimate', type: 'uint256' },
23
+ ],
24
+ stateMutability: 'nonpayable',
25
+ },
26
+ ];
@@ -7,8 +7,12 @@ export { default as LevrStakedToken_v1 } from "./LevrStakedToken_v1.js";
7
7
  export { default as LevrStaking_v1 } from "./LevrStaking_v1.js";
8
8
  export { default as LevrTreasury_v1 } from "./LevrTreasury_v1.js";
9
9
  // -----------------------------
10
+ // Uniswap V3
11
+ export { default as V3QuoterV2 } from "./V3QuoterV2.js";
12
+ // -----------------------------
10
13
  // Uniswap V4
11
14
  export { default as Permit2 } from "./Permit2.js";
15
+ export { default as StateView } from "./StateView.js";
12
16
  export { default as V4Quoter } from "./V4Quoter.js";
13
17
  // -----------------------------
14
18
  // Clanker
@@ -1,12 +1,21 @@
1
1
  import { erc20Abi, formatUnits, zeroAddress } from 'viem';
2
+ /**
3
+ * Calculate USD value for a balance
4
+ */
5
+ const calculateUsd = (formatted, usdPrice) => {
6
+ const amount = parseFloat(formatted);
7
+ const price = parseFloat(usdPrice);
8
+ return (amount * price).toString();
9
+ };
2
10
  /**
3
11
  * Get balances for multiple tokens including native currency
4
12
  * @param publicClient - The public client to use for queries
5
13
  * @param address - The address to check balances for
6
14
  * @param tokens - Array of token configurations (use zeroAddress for native currency)
15
+ * @param pricing - Optional pricing data for USD values
7
16
  * @returns Object with balances keyed by token address or custom key
8
17
  */
9
- export async function balance({ publicClient, address, tokens, }) {
18
+ export async function balance({ publicClient, address, tokens, pricing, }) {
10
19
  if (!address || tokens.length === 0)
11
20
  return {};
12
21
  const balances = {};
@@ -19,9 +28,11 @@ export async function balance({ publicClient, address, tokens, }) {
19
28
  const nativeBalance = await publicClient.getBalance({ address });
20
29
  nativeTokens.forEach((token) => {
21
30
  const key = token.key || token.address;
31
+ const formatted = formatUnits(nativeBalance, token.decimals);
22
32
  balances[key] = {
23
33
  raw: nativeBalance,
24
- formatted: formatUnits(nativeBalance, token.decimals),
34
+ formatted,
35
+ usd: pricing && key === 'eth' ? calculateUsd(formatted, pricing.wethUsd) : undefined,
25
36
  };
26
37
  });
27
38
  }
@@ -32,6 +43,7 @@ export async function balance({ publicClient, address, tokens, }) {
32
43
  balances[key] = {
33
44
  raw: 0n,
34
45
  formatted: '0',
46
+ usd: pricing ? '0.00' : undefined,
35
47
  };
36
48
  });
37
49
  }
@@ -50,9 +62,22 @@ export async function balance({ publicClient, address, tokens, }) {
50
62
  erc20Tokens.forEach((token, index) => {
51
63
  const result = results[index].result;
52
64
  const key = token.key || token.address;
65
+ const raw = result || 0n;
66
+ const formatted = formatUnits(raw, token.decimals);
67
+ // Calculate USD value based on token type
68
+ let usd;
69
+ if (pricing) {
70
+ if (key === 'token') {
71
+ usd = calculateUsd(formatted, pricing.tokenUsd);
72
+ }
73
+ else if (key === 'weth') {
74
+ usd = calculateUsd(formatted, pricing.wethUsd);
75
+ }
76
+ }
53
77
  balances[key] = {
54
- raw: result || 0n,
55
- formatted: formatUnits(result || 0n, token.decimals),
78
+ raw,
79
+ formatted,
80
+ usd,
56
81
  };
57
82
  });
58
83
  }
@@ -63,6 +88,7 @@ export async function balance({ publicClient, address, tokens, }) {
63
88
  balances[key] = {
64
89
  raw: 0n,
65
90
  formatted: '0',
91
+ usd: pricing ? '0.00' : undefined,
66
92
  };
67
93
  });
68
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../src/balance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../src/balance.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ import { queryKeys } from "../query-keys.js";
10
10
  * Internal: Creates balance query with all logic
11
11
  * Used by LevrProvider
12
12
  */
13
- export function useBalanceQuery({ clankerToken, projectTokenDecimals = 18, enabled: e = true, }) {
13
+ export function useBalanceQuery({ clankerToken, projectTokenDecimals = 18, pricing, enabled: e = true, }) {
14
14
  const publicClient = usePublicClient();
15
15
  const chainId = useChainId();
16
16
  const { address: userAddress } = useAccount();
@@ -48,6 +48,7 @@ export function useBalanceQuery({ clankerToken, projectTokenDecimals = 18, enabl
48
48
  publicClient: publicClient,
49
49
  address: userAddress,
50
50
  tokens: tokenAddresses,
51
+ pricing,
51
52
  });
52
53
  },
53
54
  enabled: e && !!publicClient && !!userAddress && tokenAddresses.length > 0,
@@ -1 +1 @@
1
- {"version":3,"file":"use-balance.js","sourceRoot":"","sources":["../../../../src/client/hook/use-balance.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AAG/D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAczC;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,YAAY,EACZ,oBAAoB,GAAG,EAAE,EACzB,OAAO,EAAE,CAAC,GAAG,IAAI,GACK;IACtB,MAAM,YAAY,GAAG,eAAe,EAAE,CAAA;IACtC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAC5B,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,EAAE,CAAA;IAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAE1C,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE;QAClC,MAAM,SAAS,GAA+D,EAAE,CAAA;QAEhF,IAAI,YAAY,EAAE,CAAC;YACjB,SAAS,CAAC,IAAI,CAAC;gBACb,OAAO,EAAE,YAAY;gBACrB,QAAQ,EAAE,oBAAoB;gBAC9B,GAAG,EAAE,OAAO;aACb,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,SAAS,CAAC,IAAI,CAAC;gBACb,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,EAAE;gBACZ,GAAG,EAAE,MAAM;aACZ,CAAC,CAAA;QACJ,CAAC;QAED,yBAAyB;QACzB,SAAS,CAAC,IAAI,CAAC;YACb,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE,EAAE;YACZ,GAAG,EAAE,KAAK;SACX,CAAC,CAAA;QAEF,OAAO,SAAS,CAAA;IAClB,CAAC,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,WAAW,CAAC,CAAC,CAAA;IAErD,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,WAAY,CAAC;QACzF,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC,WAAW,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAA;YAC1D,OAAO,OAAO,CAAC;gBACb,YAAY,EAAE,YAAa;gBAC3B,OAAO,EAAE,WAAW;gBACpB,MAAM,EAAE,cAAc;aACvB,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,WAAW,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;QAC1E,eAAe,EAAE,MAAM;KACxB,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"use-balance.js","sourceRoot":"","sources":["../../../../src/client/hook/use-balance.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AAI/D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAezC;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,YAAY,EACZ,oBAAoB,GAAG,EAAE,EACzB,OAAO,EACP,OAAO,EAAE,CAAC,GAAG,IAAI,GACK;IACtB,MAAM,YAAY,GAAG,eAAe,EAAE,CAAA;IACtC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAC5B,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,EAAE,CAAA;IAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAE1C,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE;QAClC,MAAM,SAAS,GAA+D,EAAE,CAAA;QAEhF,IAAI,YAAY,EAAE,CAAC;YACjB,SAAS,CAAC,IAAI,CAAC;gBACb,OAAO,EAAE,YAAY;gBACrB,QAAQ,EAAE,oBAAoB;gBAC9B,GAAG,EAAE,OAAO;aACb,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,SAAS,CAAC,IAAI,CAAC;gBACb,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,EAAE;gBACZ,GAAG,EAAE,MAAM;aACZ,CAAC,CAAA;QACJ,CAAC;QAED,yBAAyB;QACzB,SAAS,CAAC,IAAI,CAAC;YACb,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE,EAAE;YACZ,GAAG,EAAE,KAAK;SACX,CAAC,CAAA;QAEF,OAAO,SAAS,CAAA;IAClB,CAAC,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,WAAW,CAAC,CAAC,CAAA;IAErD,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,WAAY,CAAC;QACzF,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC,WAAW,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAA;YAE1D,OAAO,OAAO,CAAC;gBACb,YAAY,EAAE,YAAa;gBAC3B,OAAO,EAAE,WAAW;gBACpB,MAAM,EAAE,cAAc;gBACtB,OAAO;aACR,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,WAAW,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;QAC1E,eAAe,EAAE,MAAM;KACxB,CAAC,CAAA;AACJ,CAAC"}
@@ -17,7 +17,6 @@ export function useFeeReceiversQuery({ clankerToken, enabled: e = true, }) {
17
17
  queryFn: () => feeReceivers({
18
18
  publicClient: publicClient,
19
19
  clankerToken: clankerToken,
20
- chainId: chainId,
21
20
  userAddress,
22
21
  }),
23
22
  enabled: e && !!publicClient && !!chainId && !!clankerToken,
@@ -1 +1 @@
1
- {"version":3,"file":"use-fee-receivers.js","sourceRoot":"","sources":["../../../../src/client/hook/use-fee-receivers.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AAGhF,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAOzC;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,EACnC,YAAY,EACZ,OAAO,EAAE,CAAC,GAAG,IAAI,GACU;IAC3B,MAAM,YAAY,GAAG,eAAe,EAAE,CAAA;IACtC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAC5B,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,EAAE,CAAA;IAE7C,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,YAAa,EAAE,WAAW,EAAE,OAAO,CAAC;QACrE,OAAO,EAAE,GAAG,EAAE,CACZ,YAAY,CAAC;YACX,YAAY,EAAE,YAAa;YAC3B,YAAY,EAAE,YAAa;YAC3B,OAAO,EAAE,OAAQ;YACjB,WAAW;SACZ,CAAC;QACJ,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,YAAY;QAC3D,SAAS,EAAE,MAAM;KAClB,CAAC,CAAA;AACJ,CAAC;AAaD;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,YAAY,EAAE,aAAa,EAC3B,OAAO,EAAE,EAAE,GAAG,IAAI,EAClB,SAAS,EACT,OAAO,MACkB,EAAE;IAC3B,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAA;IACzD,MAAM,YAAY,GAAG,eAAe,EAAE,CAAA;IACtC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;IAChC,MAAM,OAAO,GAAG,YAAY,EAAE,KAAK,EAAE,EAAE,CAAA;IAEvC,MAAM,MAAM,GAAG,WAAW,CAAC;QACzB,UAAU,EAAE,CAAC,MAAiE,EAAE,EAAE,CAChF,iBAAiB,CAAC;YAChB,YAAY,EAAE,MAAM,CAAC,IAAK;YAC1B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,OAAO,EAAE,OAAQ;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC;QACJ,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACxB,MAAM,OAAO,CAAC,YAAY,EAAE,CAAA;YAC5B,SAAS,EAAE,CAAC,IAAI,CAAC,CAAA;QACnB,CAAC;QACD,OAAO,EAAE,OAAO;KACjB,CAAC,CAAA;IAEF,OAAO;QACL,KAAK;QACL,MAAM;KACP,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"use-fee-receivers.js","sourceRoot":"","sources":["../../../../src/client/hook/use-fee-receivers.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AAGhF,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAOzC;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,EACnC,YAAY,EACZ,OAAO,EAAE,CAAC,GAAG,IAAI,GACU;IAC3B,MAAM,YAAY,GAAG,eAAe,EAAE,CAAA;IACtC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAC5B,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,EAAE,CAAA;IAE7C,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,YAAa,EAAE,WAAW,EAAE,OAAO,CAAC;QACrE,OAAO,EAAE,GAAG,EAAE,CACZ,YAAY,CAAC;YACX,YAAY,EAAE,YAAa;YAC3B,YAAY,EAAE,YAAa;YAC3B,WAAW;SACZ,CAAC;QACJ,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,YAAY;QAC3D,SAAS,EAAE,MAAM;KAClB,CAAC,CAAA;AACJ,CAAC;AAaD;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,YAAY,EAAE,aAAa,EAC3B,OAAO,EAAE,EAAE,GAAG,IAAI,EAClB,SAAS,EACT,OAAO,MACkB,EAAE;IAC3B,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAA;IACzD,MAAM,YAAY,GAAG,eAAe,EAAE,CAAA;IACtC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;IAChC,MAAM,OAAO,GAAG,YAAY,EAAE,KAAK,EAAE,EAAE,CAAA;IAEvC,MAAM,MAAM,GAAG,WAAW,CAAC;QACzB,UAAU,EAAE,CAAC,MAAiE,EAAE,EAAE,CAChF,iBAAiB,CAAC;YAChB,YAAY,EAAE,MAAM,CAAC,IAAK;YAC1B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,OAAO,EAAE,OAAQ;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC;QACJ,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACxB,MAAM,OAAO,CAAC,YAAY,EAAE,CAAA;YAC5B,SAAS,EAAE,CAAC,IAAI,CAAC,CAAA;QACnB,CAAC;QACD,OAAO,EAAE,OAAO;KACjB,CAAC,CAAA;IAEF,OAAO;QACL,KAAK;QACL,MAAM;KACP,CAAA;AACH,CAAC"}