Skip to content

Docs/b20 reference - #1775

Open
soheimam wants to merge 3 commits into
masterfrom
docs/b20-reference
Open

Docs/b20 reference#1775
soheimam wants to merge 3 commits into
masterfrom
docs/b20-reference

Conversation

@soheimam

@soheimam soheimam commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

What changed? Why?

Added b20 reference using b20 spec

@mintlify

mintlify Bot commented Aug 5, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
base 🟢 Ready View Preview Aug 5, 2026, 7:22 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@cb-heimdall

Copy link
Copy Markdown
Collaborator

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1

@roethke roethke left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The following mirror comments left on #1766.

  • Systematic selector/topic bug: enum params are hashed by type name instead of uint8, so every enum-bearing selector/topic is wrong.
  • SEIZE_RECEIVER_POLICY missing: the standard has 6 policy scopes; the reference shows 5, which also makes seizeWithMemo wrong (it gates the recipient).
  • Plus seizeWithMemo return type, finalizeUpdateAdmin access-control, ChildPoliciesOutsideOfRange signature, the burnBlocked "no longer part of this interface" claim, and missing MIN/MAX_COMPOSITE_CHILD_POLICIES + UIMultiplierUpdated.

Comment thread docs/base-chain/specs/upgrades/beryl/b20/specification/index.mdx

@roethke roethke left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review — verified against current base/base-std (main) (selectors/topic0s checked with cast)

Overall the reference is faithful and high quality — precompile addresses, roles, policy scopes, constants, IPolicyRegistry, IActivationRegistry, IB20Factory, the full IB20 core, and the SEIZE model (SEIZE_ROLE / SEIZE_HOLDER_POLICY / SEIZE_RECEIVER_POLICY / seizeWithMemo) all match exactly. There's one clustered blocker: the IB20Asset scheduled-multiplier API is documented under pre-rename names, so the names and their selectors/topic0s are wrong.

🔴 Blocker — UIMultiplier* rename (source: src/interfaces/IB20Asset.sol on main)

  • IB20Asset/setUIMultiplier.mdxupdateUIMultiplier(uint256 newMultiplier, uint256 effectiveAt) (selector 0x628e600f)
  • IB20Asset/cancelScheduledMultiplier.mdxcancelUIMultiplierUpdate() (0x2c97a0f0)
  • errors-and-events-index.mdx:
    • ScheduleOverlapUIMultiplierUpdateExists(uint256 effectiveAt) (0x4481a68e)
    • NoScheduledMultiplierUIMultiplierUpdateDoesNotExist() (0xa7d6a5ca)
    • MultiplierUpdateCancelledUIMultiplierUpdateCancelled(uint256 cancelledMultiplier, uint256 cancelledEffectiveAt) (topic0 0x88385633…)
    • Add the deprecated event MultiplierUpdated(uint256 multiplier) (topic0 0x4dbe4840…), emitted by the instant updateMultiplier alongside UIMultiplierUpdated.
  • The old names also appear in IB20Asset.mdx, IB20Asset/OPERATOR_ROLE.mdx, and IB20Asset/updateMultiplier.mdx ("Prefer setUIMultiplier").

If these pages are generated, regenerating from current main is the cleanest fix.

Nits

  • scaledBalanceOf.mdx / IB20Asset.mdx: description says toScaledBalance(balanceOf(account)); source says toUIAmount(balanceOf(account)).
  • Missing pages: MAX_UI_MULTIPLIER() and the inherited ERC-8056 members (uiMultiplier, newUIMultiplier, effectiveAt, balanceOfUI, totalSupplyUI, toUIAmount/fromUIAmount) — at least uiMultiplier and MAX_UI_MULTIPLIER are worth adding.
  • updateMultiplier.mdx should note it emits both MultiplierUpdated (deprecated) and UIMultiplierUpdated.

Everything outside this cluster checks out.

@roethke roethke mentioned this pull request Aug 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants