Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Jan 26, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

sigurpol and others added 2 commits January 26, 2026 08:46
Key  Points :                                               
                                                                       
1. Flow: User calls set_keys on AH → AH validates keys/proof → AH sends
XCM to RC → RC calls set_keys_from_ah → RC sets keys via
SessionInterface
                                                                       
2. Fee model: Total fee = delivery fee + execution cost, all charged on
AH upfront; RC uses UnpaidExecution
                                                                       
3. Validation split:                                                   
- AH validates keys format and ownership proof (prevents XCM queue
bloating)
   - RC trusts AH's validation and just stores the keys                
                                                                       
4. Access control:                                                     
   - set_keys: Requires caller to be a registered validator            
- purge_keys: Anyone can call (allows chilled validators to purge keys)

Notes:          
- Staking proxies can call `set_keys` and `purge_keys` on behalf of
validators. The `ProxyType::Staking` filter on runtime has been updated
to include these calls.
- Validators are still allowed to call `set_keys` and `purge_keys` via
relay-chain pallet-session's extrinsics. This option will be deprecated
in the future.
- No key deposit is required on AssetHub.  
- **Workflow Change**: unlike the current flow for new validators on RC
`(bond -> set_keys -> validate)`, users on Asset Hub MUST call bond and
validate BEFORE calling set_keys. Attempting to set keys before
declaring intent to validate will fail with NotValidator.

Close #8806.

---------

Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ankan <[email protected]>
This PR fixes a minor discrepancy in the Snowbridge Ethereum cient
pallet where the fork version for sync committee signature verification
was derived from `signature_slot` instead of `signature_slot - 1` as
required by the
https://github.com/ethereum/consensus-specs/blob/dev/specs/altair/light-client/sync-protocol.md#validate_light_client_update.
This caused valid light client updates to be rejected at Ethereum
hard-fork boundaries. The impact is low severity - only affecting
liveness once or twice a year for a few minutes. Origin: bug bounty
report.

---------

Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@pull pull bot locked and limited conversation to collaborators Jan 26, 2026
@pull pull bot added the ⤵️ pull label Jan 26, 2026
@pull pull bot merged commit 2da3987 into cshein45:master Jan 26, 2026
0 of 7 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants