Skip to content

docs(denim): warn about block-number-based contract logic under 200ms blocks - #1949

Open
0x00101010 wants to merge 1 commit into
masterfrom
docs/denim-200ms-block-number-warning
Open

docs(denim): warn about block-number-based contract logic under 200ms blocks#1949
0x00101010 wants to merge 1 commit into
masterfrom
docs/denim-200ms-block-number-warning

Conversation

@0x00101010

@0x00101010 0x00101010 commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

What changed? Why?

Adds a Block-Number-Based Contract Logic section to the Denim 200ms Native Blocks page. Denim moves Base from 0.5 to 5 blocks/s, so block.number advances 10× faster in wall-clock time while block.timestamp stays seconds-based. Contracts that treat a block count as a duration (timelocks, cooldowns, vesting/emission schedules, per-block rate limits, expirationBlock deadlines, block-denominated governance windows) will see those durations shrink to one tenth; TWAP oracles keep correct values but retain ~half the history. Teams have asked about this and about activation timing, so the section also lists concrete preparation steps and points to Vibenet for testing.

Also aligns the page's activation text and Network Availability table with the Denim overview's October 2026 planning window (the page previously said "undecided" with no month).

Notes to reviewers

  • Pattern/effect table is informed by a scan of Base mainnet contracts (block-count exit lockups, emission retargets, per-block notional caps, ERC20Votes block-number clock(), Uniswap V3 observation cadence). No protocol addresses are named in the docs.
  • The Uniswap V3 row says history coverage shrinks ~2× (not 10×) because V3 writes at most one observation per whole second.
  • docs: move 200ms block activation to Cobalt #1933 (move 200ms to Cobalt) is still open; if it merges first, this section needs to move with the page and s/Denim/Cobalt/.

How has it been tested?

  • node scripts/lint-mdx.js docs/upgrades/denim/200ms-blocks.mdx — 0 errors, 0 warnings
  • Rendered locally with mint dev and inspected the new section, table, and callout.

Screenshots

Full page of /upgrades/denim/200ms-blocks — updated top callout, Network Availability table, and the new Block-Number-Based Contract Logic section (before Execution).

200ms Native Blocks page with Block-Number-Based Contract Logic section

… blocks

Add a Block-Number-Based Contract Logic section to the 200ms Native Blocks
page: block.number advances 10x faster in wall-clock time while
block.timestamp stays seconds-based, so block-count timelocks, vesting,
rate limits, deadlines, block-based governance windows, and TWAP history
depth are affected. Align the activation text with the Denim overview's
October 2026 planning window.

Amp-Thread-ID: https://ampcode.com/threads/T-01a08c4c-75d9-753e-92fa-d96799d82ff0
Co-authored-by: Amp <amp@ampcode.com>
@mintlify

mintlify Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

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

Project Status Preview Updated
base 🟢 Ready View Preview Sep 10, 2026, 5:21 PM

💡 Tip: Enable Automations 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

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.

2 participants