Skip to content

docs: add step-by-step playground UI instructions to b20 bug bash#172

Closed
rayyan224 wants to merge 1 commit into
mainfrom
docs/b20-bug-bash-playground-steps
Closed

docs: add step-by-step playground UI instructions to b20 bug bash#172
rayyan224 wants to merge 1 commit into
mainfrom
docs/b20-bug-bash-playground-steps

Conversation

@rayyan224

Copy link
Copy Markdown
Collaborator

Summary

Rewrites all five journeys in docs/b20-bug-bash.md with numbered, UI-first steps that walk bug-bash participants through the playground instead of vague "via the playground or cast" references.

  • J1 (Create): connect → predict address in utils tab → create Asset and Stablecoin in tokens tab → check explorer/indexer/wallet
  • J2 (Mint): grant MINT_ROLE via Authz → mint via Supply → attempt unauthorized mint → verify across all surfaces
  • J3 (Policy + Transfer): create allowlist in registry tab → attach to token via Compliance → allowed transfer → memo transfer → blocked transfer (expect PolicyForbids) → check propagation
  • J4 (Liquidity): connect to Base Sepolia → build Pool Key → read pool state → initialize pool → add/remove liquidity → decimals normalization check
  • J5 (Swap): quote before swapping → swap ETH→B20 → swap B20→ETH with inline approve → verify quote matches execution → fee accrual → check explorer/indexer surfaces

Also adds the Uniswap V4 Base Sepolia contract address table to J4 and updates the playground link in reference links.

Test plan

  • Read through each journey end-to-end and confirm the steps match the current playground UI
  • Verify the Uniswap V4 contract addresses in J4 match the official Base Sepolia deployment page

Rewrites all five journeys (J1–J5) in b20-bug-bash.md with numbered,
UI-first steps that walk participants through the playground instead of
raw cast commands or vague "via the playground" references.

J1 (Create): connect → predict address in utils tab → create Asset and
Stablecoin in tokens tab → check explorer/indexer/wallet surfaces.

J2 (Mint): grant MINT_ROLE via Authz section → mint via Supply section
→ attempt unauthorized mint → verify across explorer/indexer/wallet.

J3 (Policy + Transfer): create allowlist in registry tab → attach to
token via Compliance section → transfer to allowed wallet → send with
memo → transfer to non-member (expect PolicyForbids) → check surfaces.

J4 (Liquidity): connect to Base Sepolia → build Pool Key → read pool
state → initialize pool → add/remove liquidity → decimals check.

J5 (Swap): quote before swapping → swap ETH→B20 → swap B20→ETH with
inline approve → verify quote matches execution → check fee accrual.

Also adds the Uniswap V4 Base Sepolia contract address table and updates
the playground link in reference links to note Base Sepolia / Uniswap tab.

Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

Interface Coverage

✅ All interface functions have test coverage.

@github-actions

Copy link
Copy Markdown

📊 Forge Coverage (src/lib/)

🟡 ≥95% across all metrics — some metrics below 99%.

File Lines Stmts Branches Funcs
🟢 B20FactoryLib.sol 100.00% 100.00% 100.00% 100.00%
🔴 test/lib/ForceFeeder.sol 0.00% 0.00% 100.00% 0.00%
🔴 test/lib/PrecompileProbe.sol 0.00% 0.00% 0.00% 0.00%
🟢 MockActivationRegistry.sol 100.00% 100.00% 100.00% 100.00%
🟢 MockActivationRegistryStorage.sol 100.00% 100.00% 100.00% 100.00%
🟢 MockB20.sol 100.00% 100.00% 100.00% 100.00%
🟢 MockB20Asset.sol 100.00% 100.00% 100.00% 100.00%
🟡 MockB20Factory.sol 98.96% 99.10% 100.00% 100.00%
🟢 MockB20Stablecoin.sol 100.00% 100.00% 100.00% 100.00%
🟢 MockB20Storage.sol 100.00% 100.00% 100.00% 100.00%
🟢 MockPolicyRegistry.sol 100.00% 100.00% 100.00% 100.00%
🟢 MockPolicyRegistryStorage.sol 100.00% 100.00% 100.00% 100.00%
Total 96.69% 97.23% 98.39% 96.89%

Full report: download artifact. To browse locally: make coverage (runs forge coverage + genhtml + opens the HTML report).

@github-actions

Copy link
Copy Markdown

✅ Fork tests: all 616 passed

base/base is fully in sync with the base-std spec.

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.

1 participant