MCPcopy Create free account
hub / github.com/wevm/viem / encodeNumber

Function encodeNumber

src/utils/abi/encodeAbiParameters.ts:337–360  ·  view source on GitHub ↗
(
  value: number,
  { signed, size = 256 }: { signed: boolean; size?: number | undefined },
)

Source from the content-addressed store, hash-verified

335type EncodeNumberErrorType = NumberToHexErrorType | ErrorType
336
337function encodeNumber(
338 value: number,
339 { signed, size = 256 }: { signed: boolean; size?: number | undefined },
340): PreparedParam {
341 if (typeof size === 'number') {
342 const max = 2n ** (BigInt(size) - (signed ? 1n : 0n)) - 1n
343 const min = signed ? -max - 1n : 0n
344 if (value > max || value < min)
345 throw new IntegerOutOfRangeError({
346 max: max.toString(),
347 min: min.toString(),
348 signed,
349 size: size / 8,
350 value: value.toString(),
351 })
352 }
353 return {
354 dynamic: false,
355 encoded: numberToHex(value, {
356 size: 32,
357 signed,
358 }),
359 }
360}
361
362type EncodeStringErrorType =
363 | ConcatHexErrorType

Callers 1

prepareParamFunction · 0.85

Calls 1

numberToHexFunction · 0.85

Tested by

no test coverage detected