Summary
After Beryl activated on mainnet (block ~47,810,800, 18:00 UTC June 25), createB20 calls to the B20Factory precompile revert with FeatureNotActivated(bytes32) for both B20_ASSET and B20_STABLECOIN.
Repro
cast call 0xB20f000000000000000000000000000000000000 \
"createB20(uint8,bytes32,bytes,bytes[])" \
0 \
0x6173736574000000000000000000000000000000000000000000000000000000 \
"0x" "[]" \
--from <any address> \
--rpc-url https://mainnet.base.org
# Error: execution reverted, data: "0xb9b2a425cdcc772fe4cbdb1029f822861176d09e646db96723d4c1e82ddfdeb8163ef54c"
Decoding:
0xb9b2a425 = FeatureNotActivated(bytes32) selector
0xcdcc772f... = keccak256("base.b20_asset") — the B20_ASSET feature ID
- Same error with
B20_STABLECOIN (0xecfa0def...)
Root cause
The ActivationRegistry (0x8453000000000000000000000000000000000001) shows both features as inactive on mainnet:
cast call 0x8453000000000000000000000000000000000001 \
"isActivated(bytes32)(bool)" \
0xcdcc772fe4cbdb1029f822861176d09e646db96723d4c1e82ddfdeb8163ef54c \
--rpc-url https://mainnet.base.org
# false
cast call 0x8453000000000000000000000000000000000001 \
"isActivated(bytes32)(bool)" \
0xecfa0def2c10020caaf65e6155aa69c84b24892aaef76eeac52e0e2b3a0b8601 \
--rpc-url https://mainnet.base.org
# false
There are zero FeatureActivated events on mainnet since the Beryl activation block. On Sepolia both features return true.
The ActivationRegistry admin is 0xcE3a3bEE7E72E2A24079f3c0Cb3b97740ED425A9 — the activation call (activate(bytes32)) was apparently not executed as part of the mainnet Beryl rollout, unlike on Sepolia.
Impact
No B20 tokens can be created on mainnet. Any call to B20Factory.createB20 (directly or via a contract) reverts for both variants.
Expected
Both B20_ASSET and B20_STABLECOIN features should be activated in the ActivationRegistry, as they are on Sepolia, consistent with the announced Beryl activation on June 25.
Summary
After Beryl activated on mainnet (block ~47,810,800, 18:00 UTC June 25),
createB20calls to the B20Factory precompile revert withFeatureNotActivated(bytes32)for bothB20_ASSETandB20_STABLECOIN.Repro
Decoding:
0xb9b2a425=FeatureNotActivated(bytes32)selector0xcdcc772f...=keccak256("base.b20_asset")— theB20_ASSETfeature IDB20_STABLECOIN(0xecfa0def...)Root cause
The ActivationRegistry (
0x8453000000000000000000000000000000000001) shows both features as inactive on mainnet:There are zero
FeatureActivatedevents on mainnet since the Beryl activation block. On Sepolia both features returntrue.The ActivationRegistry admin is
0xcE3a3bEE7E72E2A24079f3c0Cb3b97740ED425A9— the activation call (activate(bytes32)) was apparently not executed as part of the mainnet Beryl rollout, unlike on Sepolia.Impact
No B20 tokens can be created on mainnet. Any call to
B20Factory.createB20(directly or via a contract) reverts for both variants.Expected
Both
B20_ASSETandB20_STABLECOINfeatures should be activated in the ActivationRegistry, as they are on Sepolia, consistent with the announced Beryl activation on June 25.