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 · 6 comments
Open

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

muharem opened this issue Oct 30, 2024 · 6 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

@Doordashcon
Copy link
Contributor

is anyone working pallet-nis atm?

@gui1117
Copy link
Contributor

gui1117 commented Dec 9, 2024

pallet nis make use of total_issuance. So migrating to AH also mean that DOT total issuance is recorded on AH. Also I don't how much we teleport asset between trusted chains, but teleporting asset does change the accuracy of the value no?

@Doordashcon
Copy link
Contributor

is anyone working on pallet-society atm?

@PolkadotDom
Copy link
Contributor

PolkadotDom commented Dec 21, 2024

Not on the list @muharem but pallet-core-fellowship #6978 and pallet-salary #7000

github-merge-queue bot pushed a commit that referenced this issue Dec 22, 2024
Make pallet-recovery supports `BlockNumberProvider`.

Part of #6297.

---

Polkadot address: 156HGo9setPcU2qhFMVWLkcmtCEGySLwNqa3DaEiYSWtte4Y

---------

Co-authored-by: Guillaume Thiolliere <[email protected]>
Co-authored-by: GitHub Action <[email protected]>
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

5 participants