Enum hdk::prelude::capability::CapGrant [−][src]
Represents a potentially valid access grant to a zome call. Zome call response will be Unauthorized without a valid grant.
The CapGrant is not always a dedicated entry in the chain. Notably AgentPubKey entries in the current chain act like root access to local zome calls.
A CapGrant
is valid if it matches the function, agent and secret for a given zome call.
See .is_valid()
Variants
Grants the capability of calling every extern to the calling agent, provided the calling
agent is the local chain author.
This grant is compared to the current Entry::Agent
entry on the source chain.
RemoteAgent(ZomeCallCapGrant)
Any agent other than the chain author is attempting to call an extern. The pubkey of the calling agent is secured by the cryptographic handshake at the network layer and the caller must provide a secret that we check for in a private entry in the local chain.
Implementations
impl CapGrant
[src]
pub fn is_valid(
&self,
check_function: &(ZomeName, FunctionName),
check_agent: &HoloHash<Agent>,
check_secret: Option<&CapSecret>
) -> bool
[src]
&self,
check_function: &(ZomeName, FunctionName),
check_agent: &HoloHash<Agent>,
check_secret: Option<&CapSecret>
) -> bool
Given a grant, is it valid in isolation? In a world of CRUD, some new entry might update or delete an existing one, but we can check if a grant is valid in a standalone way.
Trait Implementations
impl Clone for CapGrant
[src]
impl Debug for CapGrant
[src]
impl<'de> Deserialize<'de> for CapGrant
[src]
pub fn deserialize<__D>(
__deserializer: __D
) -> Result<CapGrant, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
[src]
__deserializer: __D
) -> Result<CapGrant, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
impl Eq for CapGrant
[src]
impl From<HoloHash<Agent>> for CapGrant
[src]
impl From<ZomeCallCapGrant> for CapGrant
[src]
pub fn from(zccg: ZomeCallCapGrant) -> CapGrant
[src]
Create a new ZomeCall capability grant
impl PartialEq<CapGrant> for CapGrant
[src]
impl Serialize for CapGrant
[src]
pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
[src]
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
impl StructuralEq for CapGrant
[src]
impl StructuralPartialEq for CapGrant
[src]
Auto Trait Implementations
impl RefUnwindSafe for CapGrant
impl Send for CapGrant
impl Sync for CapGrant
impl Unpin for CapGrant
impl UnwindSafe for CapGrant
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
pub fn equivalent(&self, key: &K) -> bool
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
[src]
Notable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
pub fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
[src]
Notable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,