OpenZeppelin / OpenZeppelin/docs

Tutorial issues: wrong default EntryPoint address and incorrect viem destructuring

Open Beginner friendly
#134 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
MDX
Stars
6
Forks
23
Avg merge
1d 13h
Merged PRs (30d)
4

Description


Tutorial: https://docs.openzeppelin.com/contracts/5.x/learn/webauthn-smart-accounts


Issue 1: Default entryPoint() doesn't match the tutorial's EntryPoint address

Account.sol defaults to ENTRYPOINT_V09 (0x433709009B8330FDa32311DF1C2AFA402eD8D009), but the tutorial uses ENTRYPOINT_V08 (0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108). This mismatch causes validateUserOp to revert with AA23 because the onlyEntryPoint check fails.

The fix is to add this override to AccountWebAuthn:

function entryPoint() public view virtual override returns (IEntryPoint) {
    return ERC4337Utils.ENTRYPOINT_V08;
}

Issue 2: predictAddress return value incorrectly destructured

The tutorial uses array destructuring on a function that returns a single address:

// ❌ Wrong - destructures the address string as a char array, predictedAddress = "0"
const [predictedAddress] = await publicClient.readContract({ ... });

// ✅ Correct
const predictedAddress = await publicClient.readContract({ ... });

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Open the webauthn smart accounts tutorial and locate the AccountWebAuthn example and the predictAddress call. Confirm the EntryPoint version used by the tutorial, add the documented override, and use the single address return value without array destructuring; the tutorial should then match its stated address and avoid the AA23 failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
solidity, typescript
Domain
blockchain, documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.