#[derive(StorageKey)]
Expand description
Derives ink::storage
’s StorageKey
trait for the given struct
or enum
.
§Examples
use ink::storage::traits::{
AutoStorableHint,
StorageKey,
ManualKey,
AutoKey,
};
#[derive(StorageKey)]
struct NamedFields {
a: u32,
b: [u32; 32],
}
assert_eq!(<NamedFields as StorageKey>::KEY, 0);
#[derive(StorageKey)]
struct NamedFieldsManualKey<KEY: StorageKey> {
a: <u32 as AutoStorableHint<ManualKey<0, KEY>>>::Type,
b: <[u32; 32] as AutoStorableHint<ManualKey<1, KEY>>>::Type,
}
assert_eq!(<NamedFieldsManualKey<()> as StorageKey>::KEY, 0);
assert_eq!(<NamedFieldsManualKey<AutoKey> as StorageKey>::KEY, 0);
assert_eq!(<NamedFieldsManualKey<ManualKey<123>> as StorageKey>::KEY, 123);