levr-sdk 0.3.1 → 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
package/dist/esm/stake.js CHANGED
@@ -1,12 +1,14 @@
1
1
  import { omit } from "lodash";
2
2
  import { encodeFunctionData, erc20Abi, parseUnits } from "viem";
3
- import { LevrFeeSplitter_v1, LevrForwarder_v1, LevrStaking_v1 } from "./abis/index.js";
4
- import { WETH } from "./constants.js";
3
+ import { IClankerFeeLocker, IClankerLPLocker, LevrFeeSplitter_v1, LevrForwarder_v1, LevrStaking_v1, } from "./abis/index.js";
4
+ import { GET_FEE_LOCKER_ADDRESS, GET_LP_LOCKER_ADDRESS, WETH } from "./constants/index.js";
5
+ import { normalizeDecimalInput } from "./util.js";
5
6
  export class Stake {
6
7
  wallet;
7
8
  publicClient;
8
9
  stakingAddress;
9
10
  tokenAddress;
11
+ stakedTokenAddress;
10
12
  tokenDecimals;
11
13
  chainId;
12
14
  userAddress;
@@ -20,6 +22,7 @@ export class Stake {
20
22
  this.publicClient = config.publicClient;
21
23
  this.stakingAddress = config.project.staking;
22
24
  this.tokenAddress = config.project.token.address;
25
+ this.stakedTokenAddress = config.project.stakedToken;
23
26
  this.tokenDecimals = config.project.token.decimals;
24
27
  this.chainId = config.publicClient.chain?.id ?? 1; // Get chainId from publicClient
25
28
  this.userAddress = config.wallet.account.address;
@@ -30,7 +33,9 @@ export class Stake {
30
33
  * Approve ERC20 tokens for spending by the staking contract
31
34
  */
32
35
  async approve(amount) {
33
- const parsedAmount = typeof amount === "bigint" ? amount : parseUnits(amount.toString(), this.tokenDecimals);
36
+ const parsedAmount = typeof amount === "bigint"
37
+ ? amount
38
+ : parseUnits(normalizeDecimalInput(amount), this.tokenDecimals);
34
39
  const hash = await this.wallet.writeContract({
35
40
  address: this.tokenAddress,
36
41
  abi: erc20Abi,
@@ -48,7 +53,9 @@ export class Stake {
48
53
  * Stake tokens in the staking contract
49
54
  */
50
55
  async stake(amount) {
51
- const parsedAmount = typeof amount === "bigint" ? amount : parseUnits(amount.toString(), this.tokenDecimals);
56
+ const parsedAmount = typeof amount === "bigint"
57
+ ? amount
58
+ : parseUnits(normalizeDecimalInput(amount), this.tokenDecimals);
52
59
  const hash = await this.wallet.writeContract({
53
60
  address: this.stakingAddress,
54
61
  abi: LevrStaking_v1,
@@ -73,13 +80,13 @@ export class Stake {
73
80
  }
74
81
  else {
75
82
  // Parse the amount
76
- parsedAmount = parseUnits(amount.toString(), this.tokenDecimals);
83
+ parsedAmount = parseUnits(normalizeDecimalInput(amount), this.tokenDecimals);
77
84
  }
78
85
  // Get current staked balance to prevent rounding errors on 100% unstake
79
86
  const currentStakedBalance = await this.publicClient.readContract({
80
- address: this.stakingAddress,
81
- abi: LevrStaking_v1,
82
- functionName: "stakedBalanceOf",
87
+ address: this.stakedTokenAddress,
88
+ abi: erc20Abi,
89
+ functionName: "balanceOf",
83
90
  args: [this.userAddress],
84
91
  });
85
92
  // If trying to unstake an amount very close to the total (within 0.01%), use exact balance
@@ -142,24 +149,39 @@ export class Stake {
142
149
  return receipt;
143
150
  }
144
151
  /**
145
- * Accrue rewards by triggering manual accrual from balance delta detection
152
+ * Accrue rewards for a single token using forwarder multicall
146
153
  *
147
- * NOTE: If fee splitter is configured, call distributeFromFeeSplitter() FIRST.
148
- * The fee splitter transfers tokens to staking, then accrueRewards() detects the balance increase.
154
+ * SECURITY FIX (External Audit 2): Fee collection now handled via SDK using executeMulticall
155
+ * This prevents arbitrary code execution risk from external contract calls in contracts
156
+ *
157
+ * Flow:
158
+ * 1. Call LP locker collectRewards() via forwarder.executeTransaction (wrapped external call)
159
+ * 2. Call fee locker claim() via forwarder.executeTransaction (wrapped external call)
160
+ * 3. If fee splitter: call distribute() (distributes to receivers including staking)
161
+ * 4. Call accrueRewards() on staking contract (detects balance increase)
162
+ *
163
+ * @param tokenAddress The reward token to accrue (defaults to clankerToken)
149
164
  */
150
165
  async accrueRewards(tokenAddress) {
151
- const hash = await this.wallet.writeContract({
152
- address: this.stakingAddress,
153
- abi: LevrStaking_v1,
154
- functionName: "accrueRewards",
155
- args: [tokenAddress ?? this.tokenAddress],
156
- chain: this.wallet.chain,
157
- });
158
- const receipt = await this.publicClient.waitForTransactionReceipt({ hash });
159
- if (receipt.status === "reverted") {
160
- throw new Error("Accrue rewards transaction reverted");
166
+ // If no forwarder, fall back to simple accrueRewards call
167
+ if (!this.trustedForwarder) {
168
+ const hash = await this.wallet.writeContract({
169
+ address: this.stakingAddress,
170
+ abi: LevrStaking_v1,
171
+ functionName: "accrueRewards",
172
+ args: [tokenAddress ?? this.tokenAddress],
173
+ chain: this.wallet.chain,
174
+ });
175
+ const receipt = await this.publicClient.waitForTransactionReceipt({ hash });
176
+ if (receipt.status === "reverted") {
177
+ throw new Error("Accrue rewards transaction reverted");
178
+ }
179
+ return receipt;
161
180
  }
162
- return receipt;
181
+ // Use accrueAllRewards with single token for complete flow
182
+ return this.accrueAllRewards({
183
+ tokens: [tokenAddress ?? this.tokenAddress],
184
+ });
163
185
  }
164
186
  /**
165
187
  * Distribute fees from the fee splitter to all configured receivers (including staking)
@@ -198,12 +220,14 @@ export class Stake {
198
220
  /**
199
221
  * Accrue rewards for multiple tokens in a single transaction using forwarder multicall
200
222
  *
201
- * If fee splitter is configured and active, this will:
202
- * 1. Call distribute() on fee splitter for each token
203
- * 2. Fee splitter automatically calls accrueRewards() after distribution
223
+ * SECURITY FIX (External Audit 2): Fee collection now handled via SDK using executeMulticall
224
+ * This prevents arbitrary code execution risk from external contract calls in contracts
204
225
  *
205
- * If fee splitter is NOT configured, this will:
206
- * 1. Directly call accrueRewards() for each token on staking contract
226
+ * Flow:
227
+ * 1. Call LP locker collectRewards() via factory.executeTransaction (wrapped external call)
228
+ * 2. Call fee locker claim() via factory.executeTransaction (wrapped external call)
229
+ * 3. If fee splitter: call distribute() (distributes to receivers including staking)
230
+ * 4. Call accrueRewards() on staking contract (detects balance increase)
207
231
  *
208
232
  * @param params.tokens - Array of token addresses to accrue (defaults to [clankerToken, WETH])
209
233
  * @param params.useFeeSplitter - If true, uses fee splitter distribute (auto-detected if not provided)
@@ -219,12 +243,74 @@ export class Stake {
219
243
  defaultTokens.push(wethAddress);
220
244
  }
221
245
  const tokenAddresses = params?.tokens ?? defaultTokens;
246
+ // Get LP locker and fee locker addresses
247
+ const lpLockerAddress = GET_LP_LOCKER_ADDRESS(this.chainId);
248
+ const feeLockerAddress = GET_FEE_LOCKER_ADDRESS(this.chainId);
249
+ if (!lpLockerAddress || !feeLockerAddress) {
250
+ throw new Error("LP locker or fee locker address not found for this chain");
251
+ }
222
252
  // Detect if fee splitter should be used (can be overridden)
223
253
  const useFeeSplitter = params?.useFeeSplitter ?? this._shouldUseFeeSplitter();
224
- let calls;
254
+ const calls = [];
255
+ // For each token, add fee collection calls
256
+ for (const tokenAddress of tokenAddresses) {
257
+ // Step 1: Collect rewards from LP locker (V4 pool → fee locker)
258
+ // Wrapped in forwarder.executeTransaction to prevent arbitrary code execution
259
+ calls.push({
260
+ target: this.trustedForwarder,
261
+ allowFailure: true, // Allow failure (might not have fees to collect)
262
+ value: 0n,
263
+ callData: encodeFunctionData({
264
+ abi: LevrForwarder_v1,
265
+ functionName: "executeTransaction",
266
+ args: [
267
+ lpLockerAddress,
268
+ encodeFunctionData({
269
+ abi: IClankerLPLocker,
270
+ functionName: "collectRewards",
271
+ args: [this.tokenAddress], // Note: collectRewards takes the CLANKER token, not reward token
272
+ }),
273
+ ],
274
+ }),
275
+ });
276
+ // Step 2: Claim fees from fee locker (fee locker → staking or fee splitter)
277
+ // Determine the recipient: fee splitter if active, otherwise staking
278
+ let feeRecipient;
279
+ if (useFeeSplitter) {
280
+ const { getFeeSplitter } = await import("./fee-splitter.js");
281
+ const feeSplitterAddress = await getFeeSplitter({
282
+ publicClient: this.publicClient,
283
+ clankerToken: this.tokenAddress,
284
+ chainId: this.chainId,
285
+ });
286
+ if (!feeSplitterAddress) {
287
+ throw new Error("Fee splitter not deployed for this token. Deploy it first or use useFeeSplitter: false");
288
+ }
289
+ feeRecipient = feeSplitterAddress;
290
+ }
291
+ else {
292
+ feeRecipient = this.stakingAddress;
293
+ }
294
+ calls.push({
295
+ target: this.trustedForwarder,
296
+ allowFailure: true, // Allow failure (might not have fees to claim)
297
+ value: 0n,
298
+ callData: encodeFunctionData({
299
+ abi: LevrForwarder_v1,
300
+ functionName: "executeTransaction",
301
+ args: [
302
+ feeLockerAddress,
303
+ encodeFunctionData({
304
+ abi: IClankerFeeLocker,
305
+ functionName: "claim",
306
+ args: [feeRecipient, tokenAddress],
307
+ }),
308
+ ],
309
+ }),
310
+ });
311
+ }
312
+ // Step 3: If using fee splitter, call distribute() for each token
225
313
  if (useFeeSplitter) {
226
- // Fee splitter mode: Get the deployed splitter for this token, then call distribute()
227
- // The fee splitter will automatically call accrueRewards() after distributing
228
314
  const { getFeeSplitter } = await import("./fee-splitter.js");
229
315
  const feeSplitterAddress = await getFeeSplitter({
230
316
  publicClient: this.publicClient,
@@ -232,37 +318,25 @@ export class Stake {
232
318
  chainId: this.chainId,
233
319
  });
234
320
  if (!feeSplitterAddress) {
235
- throw new Error("Fee splitter not deployed for this token. Deploy it first or use useFeeSplitter: false");
321
+ throw new Error("Fee splitter not deployed");
322
+ }
323
+ for (const tokenAddress of tokenAddresses) {
324
+ calls.push({
325
+ target: feeSplitterAddress,
326
+ allowFailure: false,
327
+ value: 0n,
328
+ callData: encodeFunctionData({
329
+ abi: LevrFeeSplitter_v1,
330
+ functionName: "distribute",
331
+ args: [tokenAddress],
332
+ }),
333
+ });
236
334
  }
237
- // Call distribute() for each token (fee splitter's portion + auto-accrue)
238
- const distributeCalls = tokenAddresses.map((tokenAddress) => ({
239
- target: feeSplitterAddress, // Per-project splitter, not deployer!
240
- allowFailure: false,
241
- value: 0n,
242
- callData: encodeFunctionData({
243
- abi: LevrFeeSplitter_v1,
244
- functionName: "distribute",
245
- args: [tokenAddress],
246
- }),
247
- }));
248
- // ALSO call accrueRewards() for each token (staking's direct portion from ClankerFeeLocker)
249
- // This handles hybrid setups where staking receives fees both via splitter AND directly
250
- const accrueCalls = tokenAddresses.map((tokenAddress) => ({
251
- target: this.stakingAddress,
252
- allowFailure: false,
253
- value: 0n,
254
- callData: encodeFunctionData({
255
- abi: LevrStaking_v1,
256
- functionName: "accrueRewards",
257
- args: [tokenAddress],
258
- }),
259
- }));
260
- // Execute both sets of calls in a single multicall transaction
261
- calls = [...distributeCalls, ...accrueCalls];
262
335
  }
263
- else {
264
- // Direct mode: Call accrueRewards() on staking contract
265
- calls = tokenAddresses.map((tokenAddress) => ({
336
+ // Step 4: Call accrueRewards() for each token
337
+ // This detects the balance increase from fee collection and credits rewards
338
+ for (const tokenAddress of tokenAddresses) {
339
+ calls.push({
266
340
  target: this.stakingAddress,
267
341
  allowFailure: false,
268
342
  value: 0n,
@@ -271,7 +345,7 @@ export class Stake {
271
345
  functionName: "accrueRewards",
272
346
  args: [tokenAddress],
273
347
  }),
274
- }));
348
+ });
275
349
  }
276
350
  const hash = await this.wallet.writeContract({
277
351
  address: this.trustedForwarder,
@@ -300,7 +374,9 @@ export class Stake {
300
374
  */
301
375
  async votingPowerOnUnstake(amount, userAddress) {
302
376
  const user = userAddress ?? this.userAddress;
303
- const parsedAmount = typeof amount === "bigint" ? amount : parseUnits(amount.toString(), this.tokenDecimals);
377
+ const parsedAmount = typeof amount === "bigint"
378
+ ? amount
379
+ : parseUnits(normalizeDecimalInput(amount), this.tokenDecimals);
304
380
  // Use simulateContract to get the return value without executing
305
381
  const simulation = await this.publicClient.simulateContract({
306
382
  address: this.stakingAddress,
@@ -1 +1 @@
1
- {"version":3,"file":"stake.js","sourceRoot":"","sources":["../../src/stake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stake.js","sourceRoot":"","sources":["../../src/stake.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { CommandType, RoutePlanner } from "@uniswap/universal-router-sdk";
2
2
  import { Actions, V4Planner } from "@uniswap/v4-sdk";
3
3
  import { erc20Abi } from "viem";
4
4
  import Permit2Abi from "./abis/Permit2.js";
5
- import { ADDRESS_THIS, CONTRACT_BALANCE, MSG_SENDER, UNISWAP_V4_PERMIT2, UNISWAP_V4_UNIVERSAL_ROUTER, WETH, } from "./constants.js";
5
+ import { ADDRESS_THIS, CONTRACT_BALANCE, MSG_SENDER, UNISWAP_V4_PERMIT2, UNISWAP_V4_UNIVERSAL_ROUTER, WETH, } from "./constants/index.js";
6
6
  /**
7
7
  * @description Check if a currency is WETH
8
8
  * @param currency Currency address
@@ -1,5 +1,5 @@
1
1
  import { formatUnits, parseUnits } from "viem";
2
- import { GET_USDC_ADDRESS, UNISWAP_V3_QUOTER_V2, WETH } from "./constants.js";
2
+ import { GET_USDC_ADDRESS, UNISWAP_V3_QUOTER_V2, WETH } from "./constants/index.js";
3
3
  import { createPoolKey } from "./pool-key.js";
4
4
  import { quote } from "./quote/index.js";
5
5
  /**
package/dist/esm/user.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { erc20Abi } from "viem";
2
2
  import { LevrStaking_v1 } from "./abis/index.js";
3
3
  import { formatBalanceWithUsd } from "./balance.js";
4
- import { WETH } from "./constants.js";
4
+ import { WETH } from "./constants/index.js";
5
5
  // ========================================
6
6
  // HELPER UTILS (for composition in larger multicalls)
7
7
  // ========================================
@@ -34,9 +34,9 @@ export function balanceContracts(params) {
34
34
  export function stakingContracts(params) {
35
35
  const contracts = [
36
36
  {
37
- address: params.stakingAddress,
38
- abi: LevrStaking_v1,
39
- functionName: "stakedBalanceOf",
37
+ address: params.stakedTokenAddress,
38
+ abi: erc20Abi,
39
+ functionName: "balanceOf",
40
40
  args: [params.userAddress],
41
41
  },
42
42
  {
@@ -83,9 +83,10 @@ export async function getUser({ publicClient, userAddress, project }) {
83
83
  if (!chainId)
84
84
  throw new Error("Chain ID not found on public client");
85
85
  const wethAddress = WETH(chainId)?.address;
86
- const { clankerToken, stakingAddress, tokenDecimals, pricing } = {
86
+ const { clankerToken, stakingAddress, stakedTokenAddress, tokenDecimals, pricing } = {
87
87
  clankerToken: project.token.address,
88
88
  stakingAddress: project.staking,
89
+ stakedTokenAddress: project.stakedToken,
89
90
  tokenDecimals: project.token.decimals,
90
91
  pricing: project.pricing,
91
92
  };
@@ -108,7 +109,13 @@ export async function getUser({ publicClient, userAddress, project }) {
108
109
  });
109
110
  }
110
111
  // Add staking contracts
111
- contracts.push(...stakingContracts({ userAddress, stakingAddress, clankerToken, wethAddress }));
112
+ contracts.push(...stakingContracts({
113
+ userAddress,
114
+ stakingAddress,
115
+ stakedTokenAddress,
116
+ clankerToken,
117
+ wethAddress,
118
+ }));
112
119
  // Execute single multicall + native balance
113
120
  const [nativeBalance, ...multicallResults] = await Promise.all([
114
121
  publicClient.getBalance({ address: userAddress }),
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/user.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/user.ts"],"names":[],"mappings":"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"}
package/dist/esm/util.js CHANGED
@@ -54,10 +54,66 @@ export function needsApproval(currentAllowance, requiredAmount, decimals) {
54
54
  }
55
55
  const parsedCurrentAllowance = typeof currentAllowance === 'bigint'
56
56
  ? currentAllowance
57
- : parseUnits(currentAllowance.toString(), decimals);
57
+ : parseUnits(normalizeDecimalInput(currentAllowance), decimals);
58
58
  const parsedRequiredAmount = typeof requiredAmount === 'bigint'
59
59
  ? requiredAmount
60
- : parseUnits(requiredAmount.toString(), decimals);
60
+ : parseUnits(normalizeDecimalInput(requiredAmount), decimals);
61
61
  return parsedCurrentAllowance < parsedRequiredAmount;
62
62
  }
63
+ /**
64
+ * Normalize decimal inputs to plain string representations (no scientific notation)
65
+ */
66
+ export function normalizeDecimalInput(value) {
67
+ let inputString;
68
+ if (typeof value === 'bigint') {
69
+ return value.toString();
70
+ }
71
+ else if (typeof value === 'number') {
72
+ if (!Number.isFinite(value)) {
73
+ throw new Error('Invalid decimal number');
74
+ }
75
+ inputString = value.toLocaleString('en-US', {
76
+ useGrouping: false,
77
+ maximumFractionDigits: 20,
78
+ });
79
+ }
80
+ else {
81
+ inputString = value.trim();
82
+ }
83
+ if (inputString.length === 0) {
84
+ return '0';
85
+ }
86
+ if (!/[eE]/.test(inputString)) {
87
+ return inputString;
88
+ }
89
+ return expandScientific(inputString);
90
+ }
91
+ function expandScientific(input) {
92
+ const normalized = input.replace(/^\+/, '');
93
+ const negative = normalized.startsWith('-');
94
+ const unsigned = negative ? normalized.slice(1) : normalized;
95
+ const [mantissa, exponentPart] = unsigned.split(/[eE]/);
96
+ const exponent = Number(exponentPart);
97
+ if (!Number.isInteger(exponent)) {
98
+ throw new Error('Invalid exponent in decimal input');
99
+ }
100
+ const [intPartRaw, fracPartRaw = ''] = mantissa.split('.');
101
+ const intPart = intPartRaw || '0';
102
+ const fracPart = fracPartRaw;
103
+ const rawDigitsUntrimmed = intPart + fracPart;
104
+ const digits = rawDigitsUntrimmed === '' ? '0' : rawDigitsUntrimmed;
105
+ const decimalIndex = intPart.length + exponent;
106
+ const sign = negative ? '-' : '';
107
+ if (decimalIndex <= 0) {
108
+ const zeros = Math.abs(decimalIndex);
109
+ const normalizedDigits = digits.replace(/^0+(?=\d)/, '') || '0';
110
+ return `${sign}0.${'0'.repeat(zeros)}${normalizedDigits}`;
111
+ }
112
+ if (decimalIndex >= digits.length) {
113
+ return `${sign}${digits}${'0'.repeat(decimalIndex - digits.length)}`;
114
+ }
115
+ const whole = digits.slice(0, decimalIndex) || '0';
116
+ const fraction = digits.slice(decimalIndex);
117
+ return `${sign}${whole}.${fraction}`;
118
+ }
63
119
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAC3D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAI/C;;GAEG;AACH,MAAM,gBAAgB,GAA2B;IAC/C,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,0BAA0B;IACrC,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,0BAA0B;CAC7C,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,MAAe;IAC9D,MAAM,GAAG,GAAG,MAAM,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC/C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,qCAAqC,OAAO,oCAAoC,CACjF,CAAA;IACH,CAAC;IAED,mBAAmB;IACnB,IAAI,KAAK,CAAA;IACT,IAAI,OAAO,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;QACxB,KAAK,GAAG,IAAI,CAAA;IACd,CAAC;SAAM,IAAI,OAAO,KAAK,WAAW,CAAC,EAAE,EAAE,CAAC;QACtC,KAAK,GAAG,WAAW,CAAA;IACrB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAA;IACpD,CAAC;IAED,OAAO,kBAAkB,CAAC;QACxB,KAAK;QACL,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC;KACrB,CAAoB,CAAA;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,gBAA0C,EAC1C,cAAwC,EACxC,QAAiB;IAEjB,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QAC/E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;QACjE,CAAC;IACH,CAAC;IAED,MAAM,sBAAsB,GAC1B,OAAO,gBAAgB,KAAK,QAAQ;QAClC,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,QAAS,CAAC,CAAA;IACxD,MAAM,oBAAoB,GACxB,OAAO,cAAc,KAAK,QAAQ;QAChC,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,QAAS,CAAC,CAAA;IAEtD,OAAO,sBAAsB,GAAG,oBAAoB,CAAA;AACtD,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
package/dist/esm/vault.js CHANGED
@@ -3,7 +3,7 @@
3
3
  * This module provides server-side functions to retrieve and interact with vault state
4
4
  */
5
5
  import { ClankerVault } from "./abis/index.js";
6
- import { GET_VAULT_ADDRESS } from "./constants.js";
6
+ import { GET_VAULT_ADDRESS } from "./constants/index.js";
7
7
  /**
8
8
  * Vault status enum
9
9
  */