userOperationEventEvent

Creates an event object for the UserOperationEvent event.

Example

import { getContractEvents } from "thirdweb";
import { userOperationEventEvent } from "thirdweb/extensions/erc4337";
const events = await getContractEvents({
contract,
events: [
userOperationEventEvent({
userOpHash: ...,
sender: ...,
paymaster: ...,
})
],
});
function userOperationEventEvent(
filters: Partial<{
paymaster: string;
sender: string;
userOpHash: `0x${string}`;
}>,
readonly inputs: readonly [
{
readonly indexed: true;
readonly name: "userOpHash";
readonly type: "bytes32";
},
{
readonly indexed: true;
readonly name: "sender";
readonly type: "address";
},
{
readonly indexed: true;
readonly name: "paymaster";
readonly type: "address";
},
{ readonly name: "nonce"; readonly type: "uint256" },
{ readonly name: "success"; readonly type: "bool" },
{ readonly name: "actualGasCost"; readonly type: "uint256" },
{ readonly name: "actualGasUsed"; readonly type: "uint256" },
];
readonly name: "UserOperationEvent";
readonly type: "event";
}>;

Parameters

Optional filters to apply to the event.

Type

let filters: Partial<{
paymaster: string;
sender: string;
userOpHash: `0x${string}`;
}>;

Returns

let returnType: PreparedEvent<{
readonly inputs: readonly [
{
readonly indexed: true;
readonly name: "userOpHash";
readonly type: "bytes32";
},
{
readonly indexed: true;
readonly name: "sender";
readonly type: "address";
},
{
readonly indexed: true;
readonly name: "paymaster";
readonly type: "address";
},
{ readonly name: "nonce"; readonly type: "uint256" },
{ readonly name: "success"; readonly type: "bool" },
{ readonly name: "actualGasCost"; readonly type: "uint256" },
{ readonly name: "actualGasUsed"; readonly type: "uint256" },
];
readonly name: "UserOperationEvent";
readonly type: "event";
}>;

The prepared event object.