mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-07-06 21:57:22 +00:00
Introduce storage attr macro #[disable_try_decode_storage] and set it on System::Events and ParachainSystem::HostConfiguration (#3454)
Closes https://github.com/paritytech/polkadot-sdk/issues/2560 Allows marking storage items with `#[disable_try_decode_storage]`, and uses it with `System::Events`. Question: what's the recommended way to write a test for this? I couldn't find a test for similar existing macro `#[whitelist_storage]`.
This commit is contained in:
@@ -1371,6 +1371,25 @@ pub fn whitelist_storage(_: TokenStream, _: TokenStream) -> TokenStream {
|
||||
pallet_macro_stub()
|
||||
}
|
||||
|
||||
/// The optional attribute `#[pallet::disable_try_decode_storage]` will declare the
|
||||
/// storage as whitelisted from decoding during try-runtime checks. This should only be
|
||||
/// attached to transient storage which cannot be migrated during runtime upgrades.
|
||||
///
|
||||
/// ### Example
|
||||
/// ```ignore
|
||||
/// #[pallet::storage]
|
||||
/// #[pallet::disable_try_decode_storage]
|
||||
/// pub(super) type Events<T: Config> = StorageValue<_, Vec<Box<EventRecord<T::RuntimeEvent, T::Hash>>>, ValueQuery>;
|
||||
/// ```
|
||||
///
|
||||
/// NOTE: As with all `pallet::*` attributes, this one _must_ be written as
|
||||
/// `#[pallet::disable_try_decode_storage]` and can only be placed inside a `pallet` module in order
|
||||
/// for it to work properly.
|
||||
#[proc_macro_attribute]
|
||||
pub fn disable_try_decode_storage(_: TokenStream, _: TokenStream) -> TokenStream {
|
||||
pallet_macro_stub()
|
||||
}
|
||||
|
||||
/// The `#[pallet::type_value]` attribute lets you define a struct implementing the `Get` trait
|
||||
/// to ease the use of storage types. This attribute is meant to be used alongside
|
||||
/// [`#[pallet::storage]`](`macro@storage`) to define a storage's default value. This attribute
|
||||
|
||||
Reference in New Issue
Block a user