I noticed that SubstrateType is a stateful version of RustTypeMarker. And I think them should keep similiar as possible.
I think the following common types should be defined in a new enum type.
pub enum SubstrateType {
/// 512-bit hash type
H512(primitives::H512),
/// 256-bit hash type
H256(primitives::H256),
/// Recursive Call Type
Call(Vec<(String, SubstrateType)>),
/// Era
Era(runtime_primitives::generic::Era),
/// Vote
#[serde(with = "RemoteVote")]
GenericVote(pallet_democracy::Vote),
...
And SubstrateType should be:
pub enum SubstrateType<T> {
Common(T),
...
Other people can compose their own implementations more easily.
And can ensure that the core changes as little as possible
How about your thinking?
I noticed that SubstrateType is a stateful version of RustTypeMarker. And I think them should keep similiar as possible.
I think the following common types should be defined in a new enum type.
And SubstrateType should be:
Other people can compose their own implementations more easily.
And can ensure that the core changes as little as possible
How about your thinking?