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

Function prepareEncodeFunctionData

src/utils/abi/prepareEncodeFunctionData.ts:84–111  ·  view source on GitHub ↗
(
  parameters: PrepareEncodeFunctionDataParameters<abi, functionName>,
)

Source from the content-addressed store, hash-verified

82 | ErrorType
83
84export function prepareEncodeFunctionData<
85 const abi extends Abi | readonly unknown[],
86 functionName extends ContractFunctionName<abi> | undefined = undefined,
87>(
88 parameters: PrepareEncodeFunctionDataParameters<abi, functionName>,
89): PrepareEncodeFunctionDataReturnType<abi, functionName> {
90 const { abi, args, functionName } =
91 parameters as PrepareEncodeFunctionDataParameters
92
93 let abiItem = abi[0]
94 if (functionName) {
95 const item = getAbiItem({
96 abi,
97 args,
98 name: functionName,
99 })
100 if (!item) throw new AbiFunctionNotFoundError(functionName, { docsPath })
101 abiItem = item
102 }
103
104 if (abiItem.type !== 'function')
105 throw new AbiFunctionNotFoundError(undefined, { docsPath })
106
107 return {
108 abi: [abiItem],
109 functionName: toFunctionSelector(formatAbiItem(abiItem)),
110 } as unknown as PrepareEncodeFunctionDataReturnType<abi, functionName>
111}

Calls 3

getAbiItemFunction · 0.85
toFunctionSelectorFunction · 0.85
formatAbiItemFunction · 0.85

Tested by

no test coverage detected