Struct fedimint_core::admin_client::WsAdminClient
source · pub struct WsAdminClient {
pub url: SafeUrl,
/* private fields */
}
Expand description
For a guardian to communicate with their server
Fields§
§url: SafeUrl
Implementations§
source§impl WsAdminClient
impl WsAdminClient
pub fn new(url: SafeUrl) -> Self
sourcepub async fn set_password(&self, auth: ApiAuth) -> FederationResult<()>
pub async fn set_password(&self, auth: ApiAuth) -> FederationResult<()>
Sets the password used to decrypt the configs and authenticate
Must be called first before any other calls to the API
sourcepub async fn set_config_gen_connections(
&self,
info: ConfigGenConnectionsRequest,
auth: ApiAuth
) -> FederationResult<()>
pub async fn set_config_gen_connections( &self, info: ConfigGenConnectionsRequest, auth: ApiAuth ) -> FederationResult<()>
During config gen, sets the server connection containing our endpoints
Optionally sends our server info to the config gen leader using
add_config_gen_peer
sourcepub async fn add_config_gen_peer(
&self,
peer: PeerServerParams
) -> FederationResult<()>
pub async fn add_config_gen_peer( &self, peer: PeerServerParams ) -> FederationResult<()>
During config gen, used for an API-to-API call that adds a peer’s server connection info to the leader.
Note this call will fail until the leader has their API running and has
set_server_connections
so clients should retry.
This call is not authenticated because it’s guardian-to-guardian
sourcepub async fn get_config_gen_peers(
&self
) -> FederationResult<Vec<PeerServerParams>>
pub async fn get_config_gen_peers( &self ) -> FederationResult<Vec<PeerServerParams>>
During config gen, gets all the server connections we’ve received from
peers using add_config_gen_peer
Could be called on the leader, so it’s not authenticated
sourcepub async fn get_default_config_gen_params(
&self,
auth: ApiAuth
) -> FederationResult<ConfigGenParamsRequest>
pub async fn get_default_config_gen_params( &self, auth: ApiAuth ) -> FederationResult<ConfigGenParamsRequest>
Gets the default config gen params which can be configured by the leader, gives them a template to modify
sourcepub async fn set_config_gen_params(
&self,
requested: ConfigGenParamsRequest,
auth: ApiAuth
) -> FederationResult<()>
pub async fn set_config_gen_params( &self, requested: ConfigGenParamsRequest, auth: ApiAuth ) -> FederationResult<()>
Leader sets the consensus params, everyone sets the local params
After calling this ConfigGenParams
can be created for DKG
sourcepub async fn consensus_config_gen_params(
&self
) -> FederationResult<ConfigGenParamsResponse>
pub async fn consensus_config_gen_params( &self ) -> FederationResult<ConfigGenParamsResponse>
Returns the consensus config gen params, followers will delegate this call to the leader. Once this endpoint returns successfully we can run DKG.
sourcepub async fn run_dkg(&self, auth: ApiAuth) -> FederationResult<()>
pub async fn run_dkg(&self, auth: ApiAuth) -> FederationResult<()>
Runs DKG, can only be called once after configs have been generated in
get_consensus_config_gen_params
. If DKG fails this returns a 500
error and config gen must be restarted.
sourcepub async fn get_verify_config_hash(
&self,
auth: ApiAuth
) -> FederationResult<BTreeMap<PeerId, Hash>>
pub async fn get_verify_config_hash( &self, auth: ApiAuth ) -> FederationResult<BTreeMap<PeerId, Hash>>
After DKG, returns the hash of the consensus config tweaked with our id. We need to share this with all other peers to complete verification.
sourcepub async fn start_consensus(&self, auth: ApiAuth) -> FederationResult<()>
pub async fn start_consensus(&self, auth: ApiAuth) -> FederationResult<()>
Reads the configs from the disk, starts the consensus server, and shuts down the config gen API to start the Fedimint API
Clients may receive an error due to forced shutdown, should call the
server_status
to see if consensus has started.
sourcepub async fn status(&self) -> FederationResult<StatusResponse>
pub async fn status(&self) -> FederationResult<StatusResponse>
Returns the status of the server
sourcepub async fn audit(&self, auth: ApiAuth) -> FederationResult<AuditSummary>
pub async fn audit(&self, auth: ApiAuth) -> FederationResult<AuditSummary>
Show an audit across all modules
sourcepub async fn auth(&self, auth: ApiAuth) -> FederationResult<()>
pub async fn auth(&self, auth: ApiAuth) -> FederationResult<()>
Check auth credentials
Auto Trait Implementations§
impl !RefUnwindSafe for WsAdminClient
impl Send for WsAdminClient
impl Sync for WsAdminClient
impl Unpin for WsAdminClient
impl !UnwindSafe for WsAdminClient
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
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
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>
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.