docs(changelog): add Cobalt B20 seize surface + burnBlocked deprecation entry - #199
Merged
Conversation
stephancill
requested review from
amiecorso,
eric-ships,
ilikesymmetry,
rayyan224 and
stevieraykatz
as code owners
August 11, 2026 14:48
Interface Coverage✅ All interface functions have test coverage. |
📊 Forge Coverage (
|
| File | Lines | Stmts | Branches | Funcs |
|---|---|---|---|---|
| 🟡 B20FactoryLib.sol | 97.70% | 98.00% | 100.00% | 95.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% | 99.54% | 97.67% | 100.00% |
| 🟢 MockPolicyRegistryStorage.sol | 100.00% | 100.00% | 100.00% | 100.00% |
| Total | 97.07% | 97.52% | 98.16% | 97.00% |
Full report: download artifact. To browse locally: make coverage (runs forge coverage + genhtml + opens the HTML report).
✅ Fork tests: all 721 passedbase/base is fully in sync with the base-std spec. |
Base automatically changed from
changelog/cobalt-b20-asset-scheduled-multiplier-updates
to
main
August 11, 2026 16:12
robriks
reviewed
Aug 11, 2026
| - **Role:** caller holds `SEIZE_ROLE` (else `AccessControlUnauthorizedAccount`). | ||
| - **Pause:** `SEIZE` not paused (else `ContractPaused(SEIZE)`). | ||
| - **Addresses:** `to != address(0)` and `from != to` (else `InvalidReceiver`); `from != address(0)` | ||
| (else `InvalidSender`). |
Collaborator
There was a problem hiding this comment.
last I checked we are not explicitly checking that from != address(0), does it truly throw InvalidSender or does it fall through to some default like AccountNotSeizable || InsufficientBalance ?
Contributor
Author
There was a problem hiding this comment.
this is a change that was merged recently
Collaborator
There was a problem hiding this comment.
okay gotcha, thanks for clarifying!
…on entry Adds changelog/cobalt/b20-seize-surface.md documenting the Beryl -> Cobalt seize surface (seizeWithMemo, SEIZE_ROLE, SEIZE_HOLDER_POLICY, SEIZE_RECEIVER_POLICY, Seized event, AccountNotSeizable error, SEIZE pause vector) shared by B20 Asset and Stablecoin, and the advisory deprecation of burnBlocked (unchanged and still dialable). Links it from the changelog index. Co-authored-by: OpenCode <opencode-noreply@coinbase.com>
…ER_POLICY Co-authored-by: OpenCode <opencode-noreply@coinbase.com>
stephancill
force-pushed
the
changelog/cobalt-b20-seize
branch
from
August 11, 2026 19:08
2a4574f to
34fffce
Compare
rayyan224
added a commit
that referenced
this pull request
Aug 11, 2026
…e was squash-merged (#199) and deleted Co-Authored-By: Claude <noreply@anthropic.com> # Conflicts: # changelog/README.md
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.
Summary
Stacked on #197 (the
changelog/dir + convention). Adds the second entry: the Beryl to Cobalt seize surface and the advisory deprecation ofburnBlocked, on the sharedIB20surface (both B20 Asset and Stablecoin).changelog/cobalt/b20-seize-surface.mdchangelog/README.mdWhat lands at Cobalt (documented)
New, all dialable only once Cobalt activates:
seizeWithMemo(address,address,uint256,bytes32)0xf916d81b— admin balance reassignment (a transfer, not a burn)SEIZE_ROLE()0x3c7e9ba5,SEIZE_HOLDER_POLICY()0xb279d311,SEIZE_RECEIVER_POLICY()0xb31da27fSeized(address,address,address,uint256)event,AccountNotSeizable(address)0x91dbbc8derrorPausableFeature.SEIZE(ordinal 3, bit1 << 3)burnBlocked(address,uint256)0xec0cf3dcis deprecated but unchanged — same selector, events, and behavior; still callable. Migration is seize-to-treasury thenburn, noting the distinct role / pause vector / policy scope.Selectors, topic0s, and role/policy constant values were verified with
cast sig/cast keccakagainstsrc/interfaces/IB20.sol+ the frozen base/base ABIs (common/abi/v1.rs,common/abi/v2.rs).Notes for reviewers
changelog/cobalt-b20-asset-scheduled-multiplier-updates. Review/merge docs(changelog): add changelog dir + Cobalt B20 Asset scheduled-multiplier entry #197 first; this diff shows only the new files once docs(changelog): add changelog dir + Cobalt B20 Asset scheduled-multiplier entry #197 lands.