pub struct ServiceContract {
pub service_name: String,
pub version: String,
pub methods: Vec<String>,
pub content_hash: String,
}Expand description
A versioned service contract anchored in the ExoChain.
Contracts declare the interface a service exposes. Once registered on-chain, a contract version is immutable.
Fields§
§service_name: StringName of the service this contract belongs to.
version: StringSemantic version string (e.g. “1.0.0”).
methods: Vec<String>Method names exposed by this contract version.
content_hash: StringSHAKE-256 hash of the canonical contract content.
Trait Implementations§
Source§impl Clone for ServiceContract
impl Clone for ServiceContract
Source§fn clone(&self) -> ServiceContract
fn clone(&self) -> ServiceContract
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ServiceContract
impl Debug for ServiceContract
Source§impl<'de> Deserialize<'de> for ServiceContract
impl<'de> Deserialize<'de> for ServiceContract
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ServiceContract
impl RefUnwindSafe for ServiceContract
impl Send for ServiceContract
impl Sync for ServiceContract
impl Unpin for ServiceContract
impl UnsafeUnpin for ServiceContract
impl UnwindSafe for ServiceContract
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more