UNPKG

@exromany/lido-csm-sdk

Version:

[![GitHub license](https://img.shields.io/github/license/lidofinance/lido-csm-sdk?color=limegreen)](https://github.com/lidofinance/lido-csm-sdk/blob/main/LICENSE.txt) [![Version npm](https://img.shields.io/npm/v/@lidofinance/lido-csm-sdk?label=version)](h

25 lines 916 B
import { encodeFunctionData } from 'viem'; /** * Prepares a contract call for use with viem's sendCalls method * @param contract - Contract instance from getContract * @param functionName - Name of the contract function to call (type-safe from ABI) * @param args - Function arguments (type-safe from ABI) * @param value - ETH value to send (required for payable, forbidden for others) * @returns Call object compatible with viem sendCalls format * * @example * ```ts * const call = prepCall(contract, 'transfer', ['0x...', 100n]); * const payableCall = prepCall(contract, 'deposit', [], 1000n); // value required for payable * ``` */ export const prepCall = (contract, functionName, args, ...valueArgs) => ({ to: contract.address, data: encodeFunctionData({ abi: contract.abi, functionName, args, }), value: valueArgs[0], }); //# sourceMappingURL=prep-call.js.map