From 0c4e78e2bc2fc186a81fa18b449a2b31d7d643b8 Mon Sep 17 00:00:00 2001 From: Nicholas Rodrigues Lordello Date: Fri, 25 Jul 2025 11:45:41 +0200 Subject: [PATCH] Fix `eth_call` Gas Parameter Serialization Fix the `gas` field serialization in `_simulateHandleOps` to use a "QUANTITY", that is a hex-encoded string with no leading 0's, instead of a number. This was causing errors when using Geth with `--unsafe` mode. --- packages/validation-manager/src/ValidationManager.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/validation-manager/src/ValidationManager.ts b/packages/validation-manager/src/ValidationManager.ts index 71f04f09..3cbe9a41 100644 --- a/packages/validation-manager/src/ValidationManager.ts +++ b/packages/validation-manager/src/ValidationManager.ts @@ -1,5 +1,6 @@ import { BigNumber, BigNumberish } from 'ethers' +import { hexValue } from '@ethersproject/bytes' import { JsonRpcProvider } from '@ethersproject/providers' import Debug from 'debug' @@ -215,7 +216,7 @@ export class ValidationManager implements IValidationManager { to: this.entryPoint.address, data, authorizationList: userOp.eip7702Auth == null ? null : [userOp.eip7702Auth], - gas: sum(prevg, userOp.verificationGasLimit, userOp.paymasterVerificationGasLimit).toNumber() + gas: hexValue(sum(prevg, userOp.verificationGasLimit, userOp.paymasterVerificationGasLimit)) } try {