pub struct NamespaceDelegation {
pub namespace: String,
pub target_key: Option<SigningPublicKey>,
pub is_root_delegation: bool,
pub restriction: Option<Restriction>,
}Expand description
[start NamespaceDelegation definition] namespace delegation (equivalent to X509v3 CA root or intermediate CAs) if is_root_delegation==false, the target key may sign all mappings requiring a signature for the namespace except other NamespaceDelegation mappings. authorization: a namespace delegation is either signed by the root key, or is signed by a key for which there exists a series of properly authorized namespace delegations that are ultimately signed by the root key revocation: a revoked namespace delegation cannot be re-created. While the delegation itself is revoked, valid transactions that have been signed using the authority of the delegation before its revocation stay valid. UNIQUE(namespace, target_key)
Fields§
§namespace: Stringfingerprint of the root key defining the namespace
target_key: Option<SigningPublicKey>target key of getting full rights on the namespace (if target == namespace, it’s a root CA)
is_root_delegation: boolflag indicating whether the given delegation is a root delegation or not a root delegation is also allowed to issue other NamespaceDelegations.
restriction: Option<Restriction>restricts target_key to only sign transactions with the specified mapping types. for backwards compatibility, only the following combinations are valid:
- is_root_delegation = true, restriction = empty: the key can sign all mappings
- is_root_delegation = false, restriction = empty: the key can sign all mappings but namespace delegations
- is_root_delegation = false, restriction = non-empty: the key can only sign the mappings according the restriction that is set
Trait Implementations§
Source§impl Clone for NamespaceDelegation
impl Clone for NamespaceDelegation
Source§fn clone(&self) -> NamespaceDelegation
fn clone(&self) -> NamespaceDelegation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for NamespaceDelegation
impl Debug for NamespaceDelegation
Source§impl Default for NamespaceDelegation
impl Default for NamespaceDelegation
Source§fn default() -> NamespaceDelegation
fn default() -> NamespaceDelegation
impl Eq for NamespaceDelegation
Source§impl Hash for NamespaceDelegation
impl Hash for NamespaceDelegation
Source§impl Message for NamespaceDelegation
impl Message for NamespaceDelegation
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl PartialEq for NamespaceDelegation
impl PartialEq for NamespaceDelegation
impl StructuralPartialEq for NamespaceDelegation
Auto Trait Implementations§
impl Freeze for NamespaceDelegation
impl RefUnwindSafe for NamespaceDelegation
impl Send for NamespaceDelegation
impl Sync for NamespaceDelegation
impl Unpin for NamespaceDelegation
impl UnsafeUnpin for NamespaceDelegation
impl UnwindSafe for NamespaceDelegation
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request