pub struct RegistrationRequest {
pub node_id: Vec<u8>,
pub bip32_key: Vec<u8>,
pub network: String,
pub challenge: Vec<u8>,
pub signature: Vec<u8>,
pub signer_proto: String,
pub init_msg: Vec<u8>,
pub csr: Vec<u8>,
pub invite_code: String,
pub startupmsgs: Vec<StartupMessage>,
}Fields§
§node_id: Vec<u8>33 bytes node public key.
bip32_key: Vec<u8>DEPRECATED: The init_msg subsumes this field
network: StringWhich network is this node going to run on? Options are bitcoin, testnet, and regtest.
challenge: Vec<u8>An previously unused challenge as retrieved from
Scheduler.GetChallenge() with scope=REGISTER. In combination with the signaturebelow this is used to authenticate the caller and ensure the caller has access to the secret keys corresponding to thenode_id`.
signature: Vec<u8>A signature for the challenge signed by the secret key
corresponding to the node_id. Please refer to the
documentation of Scheduler.GetChallenge() for details on
how to create this signature.
signer_proto: StringThe signer_proto is required in order to determine which version the node should run. If these don’t match the signer may not be able to sign incoming requests.
init_msg: Vec<u8>The fuil init message returned by the libhsmd, this
supersedes the bip32_key field which was a misnomer. Notice
that this includes the prefix 0x006F which is the message
type.
csr: Vec<u8>The certificate signing request that will be signed by the greenlight backend. Notice that this must have the valid CN corresponding to the node_id e.g. /users/{node_id} set.
invite_code: StringAn optional invite code. We may want to throttle the registration rate. Therefore we might check that a registration request has a valid invite code.
startupmsgs: Vec<StartupMessage>Messages stashed at the scheduler to allow signerless startups.
Trait Implementations§
Source§impl Clone for RegistrationRequest
impl Clone for RegistrationRequest
Source§fn clone(&self) -> RegistrationRequest
fn clone(&self) -> RegistrationRequest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RegistrationRequest
impl Debug for RegistrationRequest
Source§impl Default for RegistrationRequest
impl Default for RegistrationRequest
Source§impl<'de> Deserialize<'de> for RegistrationRequest
impl<'de> Deserialize<'de> for RegistrationRequest
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>,
Source§impl Message for RegistrationRequest
impl Message for RegistrationRequest
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
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<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
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<B>(buf: B) -> Result<Self, DecodeError>
fn decode<B>(buf: B) -> Result<Self, DecodeError>
Source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
Source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
self. Read moreSource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
self.Source§impl PartialEq for RegistrationRequest
impl PartialEq for RegistrationRequest
Source§impl Serialize for RegistrationRequest
impl Serialize for RegistrationRequest
impl StructuralPartialEq for RegistrationRequest
Auto Trait Implementations§
impl Freeze for RegistrationRequest
impl RefUnwindSafe for RegistrationRequest
impl Send for RegistrationRequest
impl Sync for RegistrationRequest
impl Unpin for RegistrationRequest
impl UnwindSafe for RegistrationRequest
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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<T> Downcast for T
impl<T> Downcast for T
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>
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>
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 moreSource§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