Delegatecall
delegatecall
is a powerful EVM opcode that allows the calling contract to execute code in another contract, while keeping the storage context. You can read more about delegatecall
here.
API
To send a UserOp that uses delegatecall
, simply specify the callType
of the UserOp:
const userOpHash = await kernelClient.sendUserOperation({
callData: await kernelClient.account.encodeCalls([{
to: targetAdress,
data: callData,
value: 0n,
}], "delegatecall"),
})