mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-12 20:31:13 +00:00
Contracts Add new version for marking new stable API (#3415)
Add a `ApiVersion` constant to the pallet-contracts Config to communicate with developers the current state of the host functions exposed by the pallet
This commit is contained in:
@@ -214,6 +214,18 @@ pub struct Environment<T: Config> {
|
||||
block_number: EnvironmentType<BlockNumberFor<T>>,
|
||||
}
|
||||
|
||||
/// Defines the current version of the HostFn APIs.
|
||||
/// This is used to communicate the available APIs in pallet-contracts.
|
||||
///
|
||||
/// The version is bumped any time a new HostFn is added or stabilized.
|
||||
#[derive(Encode, Decode, TypeInfo)]
|
||||
pub struct ApiVersion(u16);
|
||||
impl Default for ApiVersion {
|
||||
fn default() -> Self {
|
||||
Self(1)
|
||||
}
|
||||
}
|
||||
|
||||
#[frame_support::pallet]
|
||||
pub mod pallet {
|
||||
use super::*;
|
||||
@@ -402,6 +414,12 @@ pub mod pallet {
|
||||
#[pallet::constant]
|
||||
type Environment: Get<Environment<Self>>;
|
||||
|
||||
/// The version of the HostFn APIs that are available in the runtime.
|
||||
///
|
||||
/// Only valid value is `()`.
|
||||
#[pallet::constant]
|
||||
type ApiVersion: Get<ApiVersion>;
|
||||
|
||||
/// A type that exposes XCM APIs, allowing contracts to interact with other parachains, and
|
||||
/// execute XCM programs.
|
||||
type Xcm: xcm_builder::Controller<
|
||||
|
||||
Reference in New Issue
Block a user