OpenZeppelin / OpenZeppelin/docs
Tutorial issues: wrong default EntryPoint address and incorrect viem destructuring
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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