Struct diem_key_manager::KeyManager[][src]

pub struct KeyManager<LI, S> { /* fields omitted */ }

Implementations

Begins execution of the key manager by running an infinite loop where the key manager will periodically wake up, verify the state of the validator keys (e.g., the consensus key), and initiate a key rotation when required. If something goes wrong that we can’t handle, an error will be returned by this method, upon which the key manager will flag the error and stop execution.

Checks the current state of the validator keys and performs any actions that might be required (e.g., performing a key rotation).

Evaluates the current status of the key manager by performing various state checks between secure storage and the blockchain.

Note: every time this function is called, the diem_timestamp registered on-chain must be strictly monotonically increasing. This helps to ensure that the blockchain is making progress. Otherwise, if no progress is being made on-chain, a reconfiguration event is unlikely, and the key manager will be unable to rotate keys.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.