• Converts an unpacked UserOperation to its packed format.

    Parameters

    • unpackedUserOperation: {
          callData: `0x${string}`;
          callGasLimit: bigint;
          factory: `0x${string}`;
          factoryData: `0x${string}`;
          maxFeePerGas: bigint;
          maxPriorityFeePerGas: bigint;
          nonce: bigint;
          paymaster: `0x${string}`;
          paymasterData: `0x${string}`;
          paymasterPostOpGasLimit?: bigint;
          paymasterVerificationGasLimit?: bigint;
          preVerificationGas: bigint;
          sender: `0x${string}`;
          signature: `0x${string}`;
          verificationGasLimit: bigint;
      }

      The unpacked user operation to convert

      • callData: `0x${string}`
      • callGasLimit: bigint

        Gas limit for the main execution call

      • factory: `0x${string}`
      • factoryData: `0x${string}`
      • maxFeePerGas: bigint

        Maximum total fee per gas unit

      • maxPriorityFeePerGas: bigint

        Maximum priority fee per gas unit

      • nonce: bigint

        Account nonce

      • paymaster: `0x${string}`
      • paymasterData: `0x${string}`
      • OptionalpaymasterPostOpGasLimit?: bigint

        Gas limit for paymaster post-operation execution

      • OptionalpaymasterVerificationGasLimit?: bigint

        Gas limit for paymaster verification

      • preVerificationGas: bigint

        Gas overhead for pre-verification operations

      • sender: `0x${string}`
      • signature: `0x${string}`
      • verificationGasLimit: bigint

        Gas limit for the verification phase

    Returns PackedUserOperation

    The packed user operation format

    const packed = toPackedUserOperation({
    sender: "0x123...",
    nonce: 1n,
    // ... other UserOperation fields
    });