UNPKG

@zerodev/sdk

Version:

A utility library for working with ERC-4337

54 lines (52 loc) 1.4 kB
import { encodeAbiParameters } from "viem" import { CALL_TYPE } from "../../../../constants.js" import type { CallArgs } from "../types.js" import { type EncodeExecuteOptions, encodeExecuteCall } from "./encodeExecuteCall.js" export const encodeExecuteBatchCall = ( args: readonly CallArgs[], options: Omit<EncodeExecuteOptions, "callType">, includeHooks?: boolean ) => { const calldata = encodeAbiParameters( [ { name: "executionBatch", type: "tuple[]", components: [ { name: "target", type: "address" }, { name: "value", type: "uint256" }, { name: "callData", type: "bytes" } ] } ], [ args.map((arg) => { return { target: arg.to, value: arg.value || 0n, callData: arg.data || "0x" } }) ] ) return encodeExecuteCall( { calldata }, { callType: CALL_TYPE.BATCH, execType: options.execType }, includeHooks ) }