Add b20-token skill: deploy, manage, and accept B20 payments#134
Open
Sukanto01899 wants to merge 5 commits into
Open
Add b20-token skill: deploy, manage, and accept B20 payments#134Sukanto01899 wants to merge 5 commits into
Sukanto01899 wants to merge 5 commits into
Conversation
Covers setup (base-foundryup/base-std), activation verification via the ActivationRegistry precompile (getCode is not a valid liveness check), the client-side abi.encode(struct)-as-single-tuple encoding gotcha, deploy/salt handling, post-deploy mint/role/supply-cap/memo operations, and a full custom-error reference with a viem decoding pattern.
…/permit Adds full coverage of the Beryl B20 spec: complete roles table and admin model (renounceLastAdmin, admin-resurrection guard), the PolicyRegistry allowlist/blocklist model and its open-by-default trap, ASSET-only features (multiplier, announce, batchMint, extra metadata), and metadata/ERC-2612 permit details. Adds a tested scripts/check-activation.sh, table-of-contents headers on all reference files over 100 lines, and trims the frontmatter description to pass quick_validate.py (was 1775 chars, over the 1024 limit).
The skill now covers the full B20 lifecycle (deploy, operate, accept payments), not just deployment, so deploy-b20-token undersold its own scope. Renamed to b20-token to match. Adds references/accepting-payments.md from docs.base.org/apps/guides/ accept-b20-payments: the merchant/app-integration side (transferWithMemo, transferFromWithMemo for allowance-based collection, simulateContract pre-flight checks, and the CDP SQL API for indexing Transfer/Memo events at scale) — distinct from the issuer-side operations already covered in post-deploy.md.
Gives the new skill top-level discoverability for anyone browsing the repo, alongside build-on-base and base-mcp.
Found during a source-code audit against lib/base-std/IPolicyRegistry.sol: policy.md showed createPolicy/updateAllowlist/etc. usage but didn't document what they can revert with. These are distinct from the B20-token-level PolicyNotFound/UnsupportedPolicyType already in errors.md (different signatures, thrown by the registry itself vs by the token's updatePolicy).
Collaborator
🟡 Heimdall Review Status
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds a new skill covering the full B20 token lifecycle on Base, deploying
(Foundry CLI + wallet-signed viem/wagmi UI), roles/admin model, PolicyRegistry
compliance gating, post-deploy operations (mint/supply-cap/memo), ASSET-only
features, metadata/permit, accepting B20 payments, and a full error catalog.
Content audited against lib/base-std interfaces and live Base Sepolia calls
(address derivation, ALWAYS_ALLOW/ALWAYS_BLOCK sentinels, error signatures).
Type of change
Affected skill(s)
b20-token
Plugin checklist
N/A — this is a skill, not an MCP plugin submission.