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
@@ -1,10 +1,39 @@
1
1
  import { erc20Abi, zeroAddress } from "viem";
2
- import { IClankerToken, LevrFactory_v1, LevrGovernor_v1, LevrStaking_v1 } from "./abis/index.js";
2
+ import { IClankerFeeLocker, IClankerLpLockerFeeConversion, IClankerToken, LevrFactory_v1, LevrGovernor_v1, LevrStaking_v1, } from "./abis/index.js";
3
3
  import { formatBalanceWithUsd } from "./balance.js";
4
- import { GET_FACTORY_ADDRESS, WETH } from "./constants.js";
4
+ import { GET_FACTORY_ADDRESS, GET_FEE_LOCKER_ADDRESS, GET_LP_LOCKER_ADDRESS, WETH, } from "./constants/index.js";
5
5
  import { getFeeReceiverContracts, getFeeSplitterDynamicContracts, getFeeSplitterStaticContracts, parseFeeReceivers, parseFeeSplitterDynamic, parseFeeSplitterStatic, } from "./fee-receivers.js";
6
6
  import { getFeeSplitter } from "./fee-splitter.js";
7
7
  import { getUsdPrice, getWethUsdPrice } from "./usd-price.js";
8
+ async function fetchFeePreferences({ publicClient, chainId, clankerToken, slotCount, }) {
9
+ if (!slotCount)
10
+ return undefined;
11
+ const lpLockerAddress = GET_LP_LOCKER_ADDRESS(chainId);
12
+ if (!lpLockerAddress)
13
+ return undefined;
14
+ try {
15
+ const contracts = Array.from({ length: slotCount }, (_, index) => ({
16
+ address: lpLockerAddress,
17
+ abi: IClankerLpLockerFeeConversion,
18
+ functionName: "feePreferences",
19
+ args: [clankerToken, BigInt(index)],
20
+ }));
21
+ const results = await publicClient.multicall({
22
+ allowFailure: true,
23
+ contracts,
24
+ });
25
+ const preferences = new Array(slotCount).fill(undefined);
26
+ results.forEach((result, index) => {
27
+ if (result.status === "success") {
28
+ preferences[index] = Number(result.result);
29
+ }
30
+ });
31
+ return preferences.some((value) => value !== undefined) ? preferences : undefined;
32
+ }
33
+ catch (error) {
34
+ return undefined;
35
+ }
36
+ }
8
37
  // ---
9
38
  // Contract Getters
10
39
  function getTokenContracts(clankerToken) {
@@ -41,7 +70,7 @@ function getFactoryContracts(factoryAddress, clankerToken) {
41
70
  {
42
71
  address: factoryAddress,
43
72
  abi: LevrFactory_v1,
44
- functionName: "getProjectContracts",
73
+ functionName: "getProject",
45
74
  args: [clankerToken],
46
75
  },
47
76
  {
@@ -65,6 +94,12 @@ function getTreasuryContracts(clankerToken, treasury, staking, wethAddress) {
65
94
  functionName: "balanceOf",
66
95
  args: [staking],
67
96
  },
97
+ {
98
+ address: staking,
99
+ abi: LevrStaking_v1,
100
+ functionName: "escrowBalance",
101
+ args: [clankerToken],
102
+ },
68
103
  ];
69
104
  if (wethAddress) {
70
105
  contracts.push({
@@ -124,17 +159,8 @@ function getStakingContracts(staking, clankerToken, wethAddress) {
124
159
  {
125
160
  address: staking,
126
161
  abi: LevrStaking_v1,
127
- functionName: "streamWindowSeconds",
128
- },
129
- {
130
- address: staking,
131
- abi: LevrStaking_v1,
132
- functionName: "streamStart",
133
- },
134
- {
135
- address: staking,
136
- abi: LevrStaking_v1,
137
- functionName: "streamEnd",
162
+ functionName: "getTokenStreamInfo",
163
+ args: [clankerToken],
138
164
  },
139
165
  ];
140
166
  const wethContracts = wethAddress
@@ -151,6 +177,33 @@ function getStakingContracts(staking, clankerToken, wethAddress) {
151
177
  functionName: "rewardRatePerSecond",
152
178
  args: [wethAddress],
153
179
  },
180
+ {
181
+ address: staking,
182
+ abi: LevrStaking_v1,
183
+ functionName: "getTokenStreamInfo",
184
+ args: [wethAddress],
185
+ },
186
+ ]
187
+ : [];
188
+ return [...baseContracts, ...wethContracts];
189
+ }
190
+ function getPendingFeesContracts(feeLockerAddress, feeRecipient, clankerToken, wethAddress) {
191
+ const baseContracts = [
192
+ {
193
+ address: feeLockerAddress,
194
+ abi: IClankerFeeLocker,
195
+ functionName: "availableFees",
196
+ args: [feeRecipient, clankerToken],
197
+ },
198
+ ];
199
+ const wethContracts = wethAddress
200
+ ? [
201
+ {
202
+ address: feeLockerAddress,
203
+ abi: IClankerFeeLocker,
204
+ functionName: "availableFees",
205
+ args: [feeRecipient, wethAddress],
206
+ },
154
207
  ]
155
208
  : [];
156
209
  return [...baseContracts, ...wethContracts];
@@ -196,9 +249,10 @@ function parseFactoryData(results) {
196
249
  };
197
250
  }
198
251
  function parseTreasuryStats(results, tokenDecimals, totalSupply, tokenUsdPrice, wethUsdPrice) {
199
- const [treasuryBalance, stakingBalance, stakingWethBalance] = results;
252
+ const [treasuryBalance, stakingBalance, escrowBalance, stakingWethBalance] = results;
200
253
  const treasuryBalanceRaw = treasuryBalance.result;
201
254
  const stakingBalanceRaw = stakingBalance.result;
255
+ const escrowBalanceRaw = escrowBalance.result;
202
256
  const stakingWethBalanceRaw = stakingWethBalance ? stakingWethBalance.result : null;
203
257
  // Total allocated = treasury + staking balances (protocol-controlled tokens)
204
258
  const totalAllocatedRaw = treasuryBalanceRaw + stakingBalanceRaw;
@@ -210,6 +264,7 @@ function parseTreasuryStats(results, tokenDecimals, totalSupply, tokenUsdPrice,
210
264
  totalAllocated: formatBalanceWithUsd(totalAllocatedRaw, tokenDecimals, tokenUsdPrice),
211
265
  utilization,
212
266
  stakingContractBalance: formatBalanceWithUsd(stakingBalanceRaw, tokenDecimals, tokenUsdPrice),
267
+ escrowBalance: formatBalanceWithUsd(escrowBalanceRaw, tokenDecimals, tokenUsdPrice),
213
268
  stakingContractWethBalance: stakingWethBalanceRaw
214
269
  ? formatBalanceWithUsd(stakingWethBalanceRaw, 18, wethUsdPrice ?? null)
215
270
  : undefined,
@@ -225,18 +280,63 @@ function parseGovernanceData(results) {
225
280
  },
226
281
  };
227
282
  }
228
- function parseStakingStats(results, tokenDecimals, tokenUsdPrice, wethUsdPrice, blockTimestamp, pricing, feeSplitterPending) {
283
+ function parseStakingStats(results, pendingFeesResults, tokenDecimals, tokenUsdPrice, wethUsdPrice, blockTimestamp, pricing, feeSplitterPending) {
229
284
  const totalStakedRaw = results[0].result;
230
285
  const aprBpsRaw = results[1].result;
231
- const outstandingRewardsTokenRaw = results[2].result;
286
+ const outstandingRewardsTokenAvailable = results[2].result; // Now returns only available
232
287
  const tokenRewardRateRaw = results[3].result;
233
- const streamWindowSecondsRaw = results[4].result;
234
- const streamStartRaw = results[5].result;
235
- const streamEndRaw = results[6].result;
288
+ // Extract stream info from getTokenStreamInfo tuple (streamStart, streamEnd, streamTotal)
289
+ const streamInfoRaw = results[4].result;
290
+ const tokenStreamStartRaw = streamInfoRaw[0];
291
+ const tokenStreamEndRaw = streamInfoRaw[1];
236
292
  // Check if WETH data is present
237
- const hasWethData = results.length > 7;
238
- const outstandingRewardsWethRaw = hasWethData && results[7] ? results[7].result : null;
239
- const wethRewardRateRaw = hasWethData && results[8] ? results[8].result : null;
293
+ const hasWethData = results.length > 5;
294
+ const outstandingRewardsWethAvailable = hasWethData && results[5] ? results[5].result : null;
295
+ const wethRewardRateRaw = hasWethData && results[6] ? results[6].result : null;
296
+ // Check if token stream is currently active
297
+ const isTokenStreamActive = tokenStreamStartRaw <= blockTimestamp && blockTimestamp <= tokenStreamEndRaw;
298
+ // Check if WETH stream is active (if available) and get longest active stream window
299
+ let isWethStreamActive = false;
300
+ let wethStreamStartRaw = 0n;
301
+ let wethStreamEndRaw = 0n;
302
+ if (hasWethData && results[7]) {
303
+ const wethStreamInfoRaw = results[7].result;
304
+ wethStreamStartRaw = wethStreamInfoRaw[0];
305
+ wethStreamEndRaw = wethStreamInfoRaw[1];
306
+ isWethStreamActive = wethStreamStartRaw <= blockTimestamp && blockTimestamp <= wethStreamEndRaw;
307
+ }
308
+ // Stream is active if either token or WETH reward stream is active
309
+ const isStreamActive = isTokenStreamActive || isWethStreamActive;
310
+ // Determine which stream window to display
311
+ let displayStreamStartRaw = tokenStreamStartRaw;
312
+ let displayStreamEndRaw = tokenStreamEndRaw;
313
+ const tokenStreamDuration = tokenStreamEndRaw > tokenStreamStartRaw ? tokenStreamEndRaw - tokenStreamStartRaw : 0n;
314
+ const wethStreamDuration = wethStreamStartRaw > 0n && wethStreamEndRaw > wethStreamStartRaw
315
+ ? wethStreamEndRaw - wethStreamStartRaw
316
+ : 0n;
317
+ if (isTokenStreamActive && isWethStreamActive) {
318
+ // When both streams are active, display the one that ends last
319
+ displayStreamStartRaw =
320
+ wethStreamEndRaw > tokenStreamEndRaw ? wethStreamStartRaw : tokenStreamStartRaw;
321
+ displayStreamEndRaw =
322
+ wethStreamEndRaw > tokenStreamEndRaw ? wethStreamEndRaw : tokenStreamEndRaw;
323
+ }
324
+ else if (isTokenStreamActive) {
325
+ displayStreamStartRaw = tokenStreamStartRaw;
326
+ displayStreamEndRaw = tokenStreamEndRaw;
327
+ }
328
+ else if (isWethStreamActive) {
329
+ displayStreamStartRaw = wethStreamStartRaw;
330
+ displayStreamEndRaw = wethStreamEndRaw;
331
+ }
332
+ else if (wethStreamDuration > tokenStreamDuration) {
333
+ // No active streams: keep prior behaviour of showing the longer window
334
+ displayStreamStartRaw = wethStreamStartRaw;
335
+ displayStreamEndRaw = wethStreamEndRaw;
336
+ }
337
+ // Get pending fees from ClankerFeeLocker (staking recipient)
338
+ const stakingPendingToken = pendingFeesResults?.[0]?.result ?? 0n;
339
+ const stakingPendingWeth = pendingFeesResults?.[1]?.result ?? 0n;
240
340
  // Calculate WETH APR if available
241
341
  let wethApr = null;
242
342
  if (wethRewardRateRaw !== null &&
@@ -259,19 +359,16 @@ function parseStakingStats(results, tokenDecimals, tokenUsdPrice, wethUsdPrice,
259
359
  };
260
360
  }
261
361
  }
262
- // Calculate if stream is active using blockchain timestamp
263
- const isStreamActive = streamStartRaw <= blockTimestamp && blockTimestamp <= streamEndRaw;
264
- // When fee splitter is active, ADD both fee splitter's pending AND staking's pending
265
- // (hybrid setup: fee splitter gets some %, staking gets rest % directly from ClankerFeeLocker)
266
- // When fee splitter is NOT active, use only staking's pending from ClankerFeeLocker
267
- const tokenPendingTotal = feeSplitterPending
268
- ? feeSplitterPending.token + outstandingRewardsTokenRaw[1] // ADD both portions
269
- : outstandingRewardsTokenRaw[1]; // Use staking's pending (it's the only recipient)
270
- const wethPendingTotal = feeSplitterPending?.weth !== undefined
271
- ? (feeSplitterPending.weth ?? 0n) + (outstandingRewardsWethRaw?.[1] ?? 0n) // ADD both portions
272
- : outstandingRewardsWethRaw
273
- ? outstandingRewardsWethRaw[1] // Use staking's pending (it's the only recipient)
274
- : null;
362
+ // Calculate stream window from the stream time range
363
+ const streamWindowSecondsRaw = displayStreamEndRaw > displayStreamStartRaw
364
+ ? Number(displayStreamEndRaw - displayStreamStartRaw)
365
+ : 0;
366
+ // SECURITY FIX: Pending fees now queried for correct recipient
367
+ // When fee splitter is active: stakingPendingToken = fee splitter's pending from ClankerFeeLocker
368
+ // When fee splitter is NOT active: stakingPendingToken = staking's pending from ClankerFeeLocker
369
+ // Note: feeSplitterPending is now local balance only (not from ClankerFeeLocker), so we don't add it
370
+ const tokenPendingTotal = stakingPendingToken; // Already queried for correct recipient
371
+ const wethPendingTotal = stakingPendingWeth; // Already queried for correct recipient
275
372
  return {
276
373
  totalStaked: formatBalanceWithUsd(totalStakedRaw, tokenDecimals, tokenUsdPrice),
277
374
  apr: {
@@ -283,13 +380,13 @@ function parseStakingStats(results, tokenDecimals, tokenUsdPrice, wethUsdPrice,
283
380
  },
284
381
  outstandingRewards: {
285
382
  staking: {
286
- available: formatBalanceWithUsd(outstandingRewardsTokenRaw[0], tokenDecimals, tokenUsdPrice),
383
+ available: formatBalanceWithUsd(outstandingRewardsTokenAvailable, tokenDecimals, tokenUsdPrice),
287
384
  pending: formatBalanceWithUsd(tokenPendingTotal, tokenDecimals, tokenUsdPrice),
288
385
  },
289
- weth: outstandingRewardsWethRaw
386
+ weth: outstandingRewardsWethAvailable !== null
290
387
  ? {
291
- available: formatBalanceWithUsd(outstandingRewardsWethRaw[0], 18, wethUsdPrice),
292
- pending: formatBalanceWithUsd(wethPendingTotal ?? 0n, 18, wethUsdPrice),
388
+ available: formatBalanceWithUsd(outstandingRewardsWethAvailable, 18, wethUsdPrice),
389
+ pending: formatBalanceWithUsd(wethPendingTotal, 18, wethUsdPrice),
293
390
  }
294
391
  : null,
295
392
  },
@@ -300,9 +397,9 @@ function parseStakingStats(results, tokenDecimals, tokenUsdPrice, wethUsdPrice,
300
397
  : null,
301
398
  },
302
399
  streamParams: {
303
- windowSeconds: Number(streamWindowSecondsRaw),
304
- streamStart: streamStartRaw,
305
- streamEnd: streamEndRaw,
400
+ windowSeconds: streamWindowSecondsRaw,
401
+ streamStart: displayStreamStartRaw,
402
+ streamEnd: displayStreamEndRaw,
306
403
  isActive: isStreamActive,
307
404
  },
308
405
  };
@@ -427,8 +524,7 @@ export async function getStaticProject({ publicClient, clankerToken, userAddress
427
524
  const factoryData = parseFactoryData(factoryResults);
428
525
  // Check if project exists
429
526
  const { treasury, governor, staking, stakedToken } = factoryData;
430
- if ([treasury, governor, staking, stakedToken].some((a) => a === zeroAddress))
431
- return null;
527
+ const isRegistered = [treasury, governor, staking, stakedToken].every((a) => a !== zeroAddress);
432
528
  // Extract pool information and fee receivers from LP locker
433
529
  let poolInfo;
434
530
  let feeReceivers;
@@ -440,9 +536,26 @@ export async function getStaticProject({ publicClient, clankerToken, userAddress
440
536
  feeDisplay: poolKey.fee === 8388608 ? "Dynamic" : `${(poolKey.fee / 10000).toFixed(2)}%`,
441
537
  numPositions: tokenRewards.numPositions,
442
538
  };
539
+ const rewardSlotCount = tokenRewards.rewardRecipients?.length ??
540
+ tokenRewards.rewardAdmins?.length ??
541
+ tokenRewards.rewardBps?.length ??
542
+ 0;
543
+ const feePreferences = rewardSlotCount > 0
544
+ ? await fetchFeePreferences({
545
+ publicClient,
546
+ chainId,
547
+ clankerToken,
548
+ slotCount: rewardSlotCount,
549
+ })
550
+ : undefined;
443
551
  // Parse fee receivers using shared utility (no logic duplication)
444
552
  // Pass userAddress so areYouAnAdmin works out of the box
445
- feeReceivers = parseFeeReceivers(tokenRewards, userAddress);
553
+ feeReceivers = parseFeeReceivers({
554
+ rewardAdmins: tokenRewards.rewardAdmins,
555
+ rewardRecipients: tokenRewards.rewardRecipients,
556
+ rewardBps: tokenRewards.rewardBps,
557
+ ...(feePreferences ? { feePreferences } : {}),
558
+ }, userAddress);
446
559
  }
447
560
  // If tokenRewards fails (e.g., token not deployed through Clanker), poolInfo remains undefined
448
561
  // Parse fee splitter static data
@@ -453,17 +566,27 @@ export async function getStaticProject({ publicClient, clankerToken, userAddress
453
566
  const parsed = parseFeeSplitterStatic(feeSplitterStaticResults, currentFeeRecipient, feeSplitterAddress);
454
567
  feeSplitter = parsed ?? undefined;
455
568
  }
569
+ const baseProject = {
570
+ forwarder: factoryData.forwarder,
571
+ factory: factoryAddress,
572
+ token: tokenData,
573
+ feeReceivers,
574
+ feeSplitter,
575
+ };
576
+ if (!isRegistered) {
577
+ return {
578
+ ...baseProject,
579
+ isRegistered: false,
580
+ };
581
+ }
456
582
  return {
583
+ ...baseProject,
584
+ isRegistered: true,
457
585
  treasury: factoryData.treasury,
458
586
  governor: factoryData.governor,
459
587
  staking: factoryData.staking,
460
588
  stakedToken: factoryData.stakedToken,
461
- forwarder: factoryData.forwarder,
462
- factory: factoryAddress,
463
- token: tokenData,
464
589
  pool: poolInfo,
465
- feeReceivers,
466
- feeSplitter,
467
590
  };
468
591
  }
469
592
  /**
@@ -512,20 +635,32 @@ export async function getProject({ publicClient, staticProject, oraclePublicClie
512
635
  // Get current block timestamp for accurate stream status
513
636
  const block = await publicClient.getBlock();
514
637
  const blockTimestamp = block.timestamp;
515
- // Fetch only dynamic data (treasury, governance, staking stats, and fee splitter dynamic)
638
+ // Get fee locker address to query pending fees
639
+ const feeLockerAddress = GET_FEE_LOCKER_ADDRESS(chainId);
640
+ // Determine fee recipient for pending fees query
641
+ // If fee splitter is active, query pending for fee splitter (it receives fees before distribution)
642
+ // If fee splitter is NOT active, query pending for staking (direct recipient)
643
+ const stakingFeeRecipient = feeSplitterAddress && staticProject.feeSplitter?.isActive
644
+ ? feeSplitterAddress // Fee splitter is the ClankerFeeLocker recipient
645
+ : staticProject.staking; // Staking is the direct ClankerFeeLocker recipient
646
+ // Fetch only dynamic data (treasury, governance, staking stats, pending fees, and fee splitter dynamic)
516
647
  const contracts = [
517
648
  ...getTreasuryContracts(clankerToken, staticProject.treasury, staticProject.staking, wethAddress),
518
649
  ...getGovernanceContracts(staticProject.governor),
519
650
  ...getStakingContracts(staticProject.staking, clankerToken, wethAddress),
651
+ ...(feeLockerAddress
652
+ ? getPendingFeesContracts(feeLockerAddress, stakingFeeRecipient, clankerToken, wethAddress)
653
+ : []),
520
654
  ...(feeSplitterAddress && staticProject.feeSplitter?.isActive
521
655
  ? getFeeSplitterDynamicContracts(clankerToken, feeSplitterAddress, rewardTokens)
522
656
  : []),
523
657
  ];
524
658
  const results = await publicClient.multicall({ contracts });
525
659
  // Calculate slice indices for dynamic data
526
- const treasuryCount = wethAddress ? 3 : 2;
660
+ const treasuryCount = wethAddress ? 4 : 3; // treasury balance, staking balance, escrow balance, (optional weth balance)
527
661
  const governanceCount = 3; // currentCycleId + 2 activeProposalCount calls
528
- const stakingCount = wethAddress ? 9 : 7; // Added 3 stream-related calls
662
+ const stakingCount = wethAddress ? 8 : 5; // 5 base + 3 optional weth (including getTokenStreamInfo for weth)
663
+ const pendingFeesCount = feeLockerAddress ? (wethAddress ? 2 : 1) : 0; // Pending fees from ClankerFeeLocker
529
664
  const feeSplitterDynamicCount = feeSplitterAddress && staticProject.feeSplitter?.isActive ? rewardTokens.length : 0;
530
665
  let idx = 0;
531
666
  const treasuryResults = results.slice(idx, idx + treasuryCount);
@@ -534,6 +669,10 @@ export async function getProject({ publicClient, staticProject, oraclePublicClie
534
669
  idx += governanceCount;
535
670
  const stakingResults = results.slice(idx, idx + stakingCount);
536
671
  idx += stakingCount;
672
+ const pendingFeesResults = pendingFeesCount > 0
673
+ ? results.slice(idx, idx + pendingFeesCount)
674
+ : null;
675
+ idx += pendingFeesCount;
537
676
  const feeSplitterDynamicResults = feeSplitterDynamicCount > 0 ? results.slice(idx, idx + feeSplitterDynamicCount) : null;
538
677
  // Calculate USD values for stats if pricing is available
539
678
  const tokenUsdPrice = pricing ? parseFloat(pricing.tokenUsd) : null;
@@ -558,7 +697,7 @@ export async function getProject({ publicClient, staticProject, oraclePublicClie
558
697
  }
559
698
  // Parse treasury and staking stats using individual parsers
560
699
  const treasuryStats = parseTreasuryStats(treasuryResults, staticProject.token.decimals, staticProject.token.totalSupply, tokenUsdPrice, wethUsdPrice);
561
- const stakingStats = parseStakingStats(stakingResults, staticProject.token.decimals, tokenUsdPrice, wethUsdPrice, blockTimestamp, pricing, feeSplitterPendingFees);
700
+ const stakingStats = parseStakingStats(stakingResults, pendingFeesResults, staticProject.token.decimals, tokenUsdPrice, wethUsdPrice, blockTimestamp, pricing, feeSplitterPendingFees);
562
701
  const governanceStats = parseGovernanceData(governanceResults);
563
702
  return {
564
703
  chainId,
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/project.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,7 @@ export function parseProposalData(results, tokenDecimals, pricing) {
46
46
  id: proposalData.id,
47
47
  proposalType: proposalData.proposalType,
48
48
  proposer: proposalData.proposer,
49
+ token: proposalData.token,
49
50
  amount: {
50
51
  raw: proposalData.amount,
51
52
  formatted: amountFormatted,
@@ -1 +1 @@
1
- {"version":3,"file":"proposal.js","sourceRoot":"","sources":["../../src/proposal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proposal.js","sourceRoot":"","sources":["../../src/proposal.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { encodeFunctionData, formatUnits } from "viem";
2
2
  import { IClankerHookDynamicFee, IClankerHookStaticFee, StateView, V4Quoter } from "../abis/index.js";
3
- import { UNISWAP_V4_QUOTER, UNISWAP_V4_STATE_VIEW } from "../constants.js";
3
+ import { UNISWAP_V4_QUOTER, UNISWAP_V4_STATE_VIEW } from "../constants/index.js";
4
4
  import { getPoolId } from "../pool-key.js";
5
5
  // ============================================================================
6
6
  // V4 Helper Functions
@@ -1,5 +1,5 @@
1
1
  import { Schema } from "effect";
2
- import { LEVR_TEAM_LP_FEE_PERCENTAGE, STAKING_REWARDS, STATIC_FEE_TIERS, TREASURY_AIRDROP_AMOUNTS, VAULT_LOCKUP_PERIODS, VAULT_PERCENTAGES, VAULT_VESTING_PERIODS, } from "../constants.js";
2
+ import { LEVR_TEAM_LP_FEE_PERCENTAGE, STAKING_REWARDS, STATIC_FEE_TIERS, TREASURY_AIRDROP_AMOUNTS, VAULT_LOCKUP_PERIODS, VAULT_PERCENTAGES, VAULT_VESTING_PERIODS, } from "../constants/index.js";
3
3
  import { EthereumAddress, NonEmptyString } from "./base.schema.js";
4
4
  import { ClankerDeploymentSchema } from "./clanker.schema.js";
5
5
  const LevrMetadata = Schema.Struct({
@@ -77,6 +77,14 @@ const LevrStakingReward = Schema.Literal(...Object.keys(STAKING_REWARDS)).annota
77
77
  * Maximum allowed sum of staking reward and rewards recipients (as percentages 0-100)
78
78
  */
79
79
  const MAX_TOTAL_REWARDS_PERCENTAGE = 100;
80
+ /**
81
+ * Maximum percentage of the total supply that can be allocated outside liquidity
82
+ */
83
+ const MAX_NON_LIQUIDITY_ALLOCATION_PERCENTAGE = 90;
84
+ /**
85
+ * Total token supply expressed as percentage for readability (100%)
86
+ */
87
+ const TOTAL_SUPPLY_PERCENTAGE = 100;
80
88
  /**
81
89
  * Vault lockup period schema
82
90
  */
@@ -125,17 +133,13 @@ export const LevrClankerDeploymentSchema = Schema.Struct({
125
133
  stakingReward: LevrStakingReward,
126
134
  rewards: Schema.optional(LevrRewardRecipients),
127
135
  }).pipe(Schema.filter((data) => {
128
- // Calculate total airdrop percentage
129
- const airdropTotal = data.airdrop?.reduce((sum, entry) => sum + entry.percentage, 0) ?? 0;
130
- // Get treasury percentage (e.g., "30%" -> 30)
131
- const treasuryPercentage = parseFloat(data.treasuryFunding ?? "30%");
132
- // Get vault percentage (e.g., "5%" -> 5)
133
- const vaultPercentage = data.vault ? parseFloat(data.vault.percentage) : 0;
136
+ const { totalAllocatedPercentage } = calculateAllocationBreakdown(data, {
137
+ fallbackTreasuryPercentage: 30,
138
+ });
134
139
  // Check if total allocation exceeds 90% (must leave minimum 10% for liquidity)
135
- const totalAllocated = airdropTotal + treasuryPercentage + vaultPercentage;
136
- return totalAllocated <= 90;
140
+ return totalAllocatedPercentage <= MAX_NON_LIQUIDITY_ALLOCATION_PERCENTAGE;
137
141
  }, {
138
- message: () => `Total allocation (airdrop + vault + treasury funding) cannot exceed 90% (minimum 10% must be reserved for liquidity)`,
142
+ message: () => `Total allocation (airdrop + vault + treasury funding) cannot exceed ${MAX_NON_LIQUIDITY_ALLOCATION_PERCENTAGE}% (minimum 10% must be reserved for liquidity)`,
139
143
  }), Schema.filter((data) => {
140
144
  // Convert staking reward from percentage string (e.g., "100%") to number (e.g., 100)
141
145
  const stakingRewardPercentageStr = data.stakingReward; // e.g., "100%"
@@ -175,4 +179,27 @@ export const LevrFeeSplitterConfigSchema = Schema.Struct({
175
179
  }, {
176
180
  message: () => "Must have 1-10 fee receivers",
177
181
  }));
182
+ /**
183
+ * @description Calculates how the total token supply is allocated between treasury, vault, airdrop, and liquidity
184
+ * @param {SupplyAllocationInput} data - Deployment configuration containing allocation fields
185
+ * @param {CalculateAllocationBreakdownOptions} options - Optional overrides for calculation defaults
186
+ * @returns {SupplyAllocationBreakdown} Breakdown of allocations including the implied liquidity percentage
187
+ */
188
+ export function calculateAllocationBreakdown(data, options = {}) {
189
+ const fallbackTreasuryPercentage = options.fallbackTreasuryPercentage ?? 0;
190
+ const airdropPercentage = data?.airdrop?.reduce((sum, entry) => sum + (entry?.percentage ?? 0), 0) ?? 0;
191
+ const treasuryPercentage = data?.treasuryFunding !== undefined
192
+ ? parseFloat(data.treasuryFunding)
193
+ : fallbackTreasuryPercentage;
194
+ const vaultPercentage = data?.vault?.percentage !== undefined ? parseFloat(data.vault.percentage) : 0;
195
+ const totalAllocatedPercentage = airdropPercentage + treasuryPercentage + vaultPercentage;
196
+ const liquidityPercentage = Number(Math.max(0, TOTAL_SUPPLY_PERCENTAGE - totalAllocatedPercentage).toFixed(4));
197
+ return {
198
+ airdropPercentage,
199
+ treasuryPercentage,
200
+ vaultPercentage,
201
+ totalAllocatedPercentage,
202
+ liquidityPercentage,
203
+ };
204
+ }
178
205
  //# sourceMappingURL=levr.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"levr.schema.js","sourceRoot":"","sources":["../../../src/schema/levr.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"levr.schema.js","sourceRoot":"","sources":["../../../src/schema/levr.schema.ts"],"names":[],"mappings":"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"}