You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since the call to EntryPointSimulations.simulateHandleOp is made from the simulation entrypoint deployed by the bundler (this.entryPoint in the MethodHandlerERC4337 class) (deployed here) and not the existing entrypoint specified in the config (this.config.entryPoint), the Account reverts it from BaseAccount._requireFromEntryPoint due to msg.sender not being the expected entrypoint.
awaitthis._validateParameters(deepHexlify(userOp),entryPointInput)// todo: validation manager duplicate?constprovider=this.providerconstrpcParams=simulationRpcParams('simulateHandleOp',this.entryPoint.address,userOp,[AddressZero,'0x'],stateOverride// {// allow estimation when account's balance is zero.// todo: need a way to flag this, and not enable always.// [userOp.sender]: {// balance: hexStripZeros(parseEther('1').toHexString())// }// })constret=awaitprovider.send('eth_call',rpcParams).catch((e: any)=>{thrownewRpcError(decodeRevertReason(e)asstring,ValidationErrors.SimulateValidation)})
Is the entryPointAddress passed to simulationRpcParams supposed to be the simulation entrypoint? It is strange because the state-override ends up unnecessarily overriding that address with its own bytecode at rpcSimulateValidations.ts:16:
This small update would make it so that the deployed bytecode of the simulation entrypoint corresponds to the entrypoint-address expected by the Account:
Since the call to
EntryPointSimulations.simulateHandleOp
is made from the simulation entrypoint deployed by the bundler (this.entryPoint
in theMethodHandlerERC4337
class) (deployed here) and not the existing entrypoint specified in the config (this.config.entryPoint
), the Account reverts it fromBaseAccount._requireFromEntryPoint
due tomsg.sender
not being the expected entrypoint.estimateUserOperationGas
handler at MethodHandlerERC4337.ts:139 making the off-chainsimulateHandleOp
call:Is the
entryPointAddress
passed tosimulationRpcParams
supposed to be the simulation entrypoint? It is strange because the state-override ends up unnecessarily overriding that address with its own bytecode at rpcSimulateValidations.ts:16:This small update would make it so that the deployed bytecode of the simulation entrypoint corresponds to the entrypoint-address expected by the Account:
The text was updated successfully, but these errors were encountered: