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

Function encodeFunctionData

src/utils/abi/encodeFunctionData.ts:70–95  ·  view source on GitHub ↗
(
  parameters: EncodeFunctionDataParameters<abi, functionName>,
)

Source from the content-addressed store, hash-verified

68 | ErrorType
69
70export function encodeFunctionData<
71 const abi extends Abi | readonly unknown[],
72 functionName extends ContractFunctionName<abi> | undefined = undefined,
73>(
74 parameters: EncodeFunctionDataParameters<abi, functionName>,
75): EncodeFunctionDataReturnType {
76 const { args } = parameters as EncodeFunctionDataParameters
77
78 const { abi, functionName } = (() => {
79 if (
80 parameters.abi.length === 1 &&
81 parameters.functionName?.startsWith('0x')
82 )
83 return parameters as { abi: Abi; functionName: Hex }
84 return prepareEncodeFunctionData(parameters)
85 })()
86
87 const abiItem = abi[0]
88 const signature = functionName
89
90 const data =
91 'inputs' in abiItem && abiItem.inputs
92 ? encodeAbiParameters(abiItem.inputs, args ?? [])
93 : undefined
94 return concatHex([signature, data ?? '0x'])
95}

Callers 15

deployEarnGatewayFunction · 0.85
getBalanceFunction · 0.85
scheduleMulticallFunction · 0.85
simulateContractFunction · 0.85
estimateContractGasFunction · 0.85
call.test.tsFile · 0.85
multicallFunction · 0.85

Calls 3

encodeAbiParametersFunction · 0.85
concatHexFunction · 0.85

Tested by

no test coverage detected