Skip to content

test: add OptimismPortal2 and StandardBridge invariant tests#299

Open
okwn wants to merge 2 commits into
base:mainfrom
okwn:test-optimism-portal-2-invariants-combined
Open

test: add OptimismPortal2 and StandardBridge invariant tests#299
okwn wants to merge 2 commits into
base:mainfrom
okwn:test-optimism-portal-2-invariants-combined

Conversation

@okwn
Copy link
Copy Markdown

@okwn okwn commented May 22, 2026

Add invariant test files for OptimismPortal2 and StandardBridge critical accounting properties.

Changes

OptimismPortal2.t.sol (NEW)

  • Portal balance vs proven withdrawal value constraints
  • Finalization cannot exceed balance
  • l2Sender constrained to valid states
  • Proven withdrawal timestamps are in the past
  • Pause control by guardian only

StandardBridge.t.sol (NEW)

  • Escrowed tokens backed by real supply
  • OptimismMintable supply 1:1 matches bridged tokens
  • Deposits monotonic for individual token pairs
  • User deposits require EOA
  • Pending ETH bridges have balance coverage

Testing

  • Invariant tests run via forge test --match-contract "_Invariant"

Refs: #279

okwn added 2 commits May 22, 2026 06:46
Add invariant test file for OptimismPortal2 critical accounting
and access control properties. Tests portal balance constraints,
l2Sender state management, and paused state consistency.

Refs: base#279
Add invariant tests for StandardBridge ERC20 accounting properties.
Tests escrowed tokens backing, OptimismMintable supply matching,
deposit monotonicity, EOA requirement, and ETH balance coverage.

Refs: base#279
@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 1
Sum 2

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