Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[tracking] adopt BlockNumberProvider for the pallets migrating to AH #6297

Open
muharem opened this issue Oct 30, 2024 · 2 comments
Open

[tracking] adopt BlockNumberProvider for the pallets migrating to AH #6297

muharem opened this issue Oct 30, 2024 · 2 comments

Comments

@muharem
Copy link
Contributor

muharem commented Oct 30, 2024

Some of the pallets migrating from the Relay Chain to the Asset Hub require a more deterministic clock than what a parachain can provide. To address this, the decision was made to adapt these pallets to use a configurable block number provider, which can be set to the Relay Chain’s block number provider for greater determinism. (For more details, see the discussions at #3268). This approach will also simplify the migration of pallets' state from the Relay Chain to the Asset Hub since, in most cases, block numbers won’t require mapping.

Task:

Adapt BlockNumberProvider for the pallets migrating to the Asset Hub:

  • Introduce a BlockNumberProvider configuration parameter and use its current_block_number function as the time reference instead of System::<T>::block_number().
  • Ensure pallet hooks like on_initialize(n) are compatible with the BlockNumberProvider and can handle cases when the hook isn’t called on every tick (e.g., adapt conditions that rely on exact matches like compilation_time == BlockNumberProvider::current_block_number()).
  • Review all instances of generic block number types, ensuring they reference the correct type (e.g., BlockNumberProvider::BlockNumber when migrated to BlockNumberProvider).
  • Update documentation for calls with block number parameters, configuration settings like BountyUpdatePeriod, and storage fields. Documentation should clarify for users that block numbers refer to those from Config::BlockNumberProvider, which may come from either the local parachain or the Relay Chain.

Reference PR: #3970

Pallet list:

(when you start to work on a pallet, pul your name next to it or leave a comment)

@AurevoirXavier
Copy link
Contributor

Love to take on some tasks once the #3970 is merged as a standard to follow.

@muharem
Copy link
Contributor Author

muharem commented Nov 1, 2024

@AurevoirXavier it is merged now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Backlog
Development

No branches or pull requests

2 participants