pub trait AsPalletMetadata<E: ExternalMemory> {
// Required methods
fn name(&self) -> String;
fn storage(&self) -> Option<PalletStorageMetadata<PortableForm>>;
fn calls(&self) -> Option<PalletCallMetadata<PortableForm>>;
fn event(&self) -> Option<PalletEventMetadata<PortableForm>>;
fn constants(&self) -> Vec<PalletConstantMetadata<PortableForm>>;
fn error(&self) -> Option<PalletErrorMetadata<PortableForm>>;
fn index(&self) -> u8;
}