[WIP] Pallet Wrappers PoC
PoC for #257
Scope for this PR is currently the OzSystem Wrapper. Scope may be expanded before merging if the OzSystem Wrapper design is approved.
TODOs
- [x] impl OzSystem for generic::Runtime
- [x] use OzSystem in frame_system::Config for generic::Runtime
- [x] use OzSystem in pallet_timestamp::Config for generic::Runtime
- [x] use OzSystem in parachain_info::Config for generic::Runtime
- [x] use OzSystem in pallet_proxy::Config for generic::Runtime
- [x] use OzSystem in pallet_utility::Config for generic::Runtime
- [ ] use OzSystem in pallet_scheduler::Config for generic::Runtime
- [ ] use OzSystem in pallet_preimage::Config for generic::Runtime
- [ ] use OzSystem in pallet_balances::Config for generic::Runtime
- [ ] use OzSystem in cumulus_pallet_parachain_system::Config for generic::Runtime
Logistics
- move
oz-wrappersto root directory to share between templates - once derive_impl is fixed, use it to generate assignments for all
<OzSystem<Configuration> as DefaultConfig>::$TYPES
Notes for Reviewers
frame macros used include:
Follow Ups / Parallel Tasks
As mentioned internally, it may be productive for @ozgunozerk to tackle one of these in parallel to see distinct approaches and explore the design space in general. Remaining pallet abstraction groupings:
- OzTokens
- OzConsensus
- OzGovernance
- OzEVM
- OzXCM
Deploy Preview for docs-oz-polkadot canceled.
| Name | Link |
|---|---|
| Latest commit | 9dfad12f484faf980f5835ecd3caee701c6f07c0 |
| Latest deploy log | https://app.netlify.com/sites/docs-oz-polkadot/deploys/66c6587b9cb99b00083be610 |
After internal discussion, we are going with a different PoC approach that will leverage our own custom macros to expand inner code into the impl blocks, construct_runtime declaration, and RuntimeApi impls.
Opening WIP PR of the above approach later today :)