feat: add Bulletin Chain (para 1010) as a Paseo system chain#395
Open
AlexD10S wants to merge 14 commits into
Open
feat: add Bulletin Chain (para 1010) as a Paseo system chain#395AlexD10S wants to merge 14 commits into
AlexD10S wants to merge 14 commits into
Conversation
- Fix the 4 tests broken by the governance/authorizer para-ID switch (1500/1502/5140 -> Asset Hub/People). The PeopleNext test now exercises extending the storage-backed AllowedParachainIds allowlist at runtime, and the Fellows-plurality case expects a Barrier rejection since the fellowship carve-out was removed. - Set SS58Prefix to 42, matching the relay chain (sibling system paras use 0); also set ss58Format=42 in generate_chain_specs.sh and regenerate the local chain spec. - Add a 'live' genesis preset for launch: sudo 5EyFpXybSYon74HVGUZVyvtYxTLy4EuqUxMhgXcmLM2qz1BL and two invulnerable collators as clearly-marked well-known-key placeholders, to be swapped for the providers' real keys before the launch spec is generated. Add a bulletin-paseo (live) entry to generate_chain_specs.sh and preset-build tests for all presets. - Wire IdleMaxServiceWeight to the intended MessageQueueIdleServiceWeight.
…naming - Live preset: authorize the sudo account for storage at genesis (1k txs / 10 GiB, subject to the 14-day AuthorizationPeriod) and register it as an authorizer (100k txs / 100 GiB budget) so it can grant authorizations with plain signed calls. - Rename people_next_chain_can_authorize_storage_with_transact: 5140 (PeopleNext) is a Westend-era ID with no meaning on Paseo, where People is 1004. The test now covers governance extending the storage-backed AllowedParachainIds allowlist for an arbitrary para at runtime. - Regenerate the local chain spec (presets are compiled into :code).
…g needs no AnyRelayNumber
al3mart
approved these changes
Jul 7, 2026
al3mart
left a comment
Member
There was a problem hiding this comment.
We are missing one of the collator keys. but we seem good once we bring this one in!
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.
Used https://github.com/paritytech/polkadot-bulletin-chain/tree/main/runtimes as reference
Key config decisions:
MaxPermanentStorageSize = 1 TiB. Hard cap on total bytes committed to permanent storage (via renew) across all authorizations.
RetentionPeriod: how long any stored data (not just renewed/permanent) survives before garbage collection, currently the pallet's own default (14 days).
AuthorizationPeriod = 14 days, unchanged from bulletin-westend, how long a granted authorization (byte/tx allowance) stays valid before it expires and is swept.
AllowedParachainIds = [People (1004)]: sibling parachains allowed to authorize storage over XCM without needing Root. People Chain is the documented primary use case (it primes Bulletin via authorize_preimage for PoP-linked data)-> https://github.com/paritytech/polkadot-bulletin-chain/blob/main/runtimes/bulletin-paseo/src/xcm_config.rs#L136
GovernanceParachainIds = [AssetHub (1000)]: separate, more privileged list — grants full Root over Bulletin via XCM, matching bulletin-westend's GovernanceLocation = AssetHubLocation. Root/sudo itself can always authorize directly regardless of either list.Collators require
--ipfs-server, not optional. It's what turns on Bitswap serving of stored data; without it the chain still stores data but nothing can fetch it by CID. Reflected in the local zombienet config's collator args.To discuss