Check whether the current active key bundle need to be evolved, and if so, evolve it.
Modulekes-agent-1.3.0.0Haskell2010
Cardano.KESAgent.Processes.Agent.CommonActions
Common operations used inside the KES agent process.
- 1 type
- 18 values
- Packagekes-agent-1.3.0.0
- Exports19
- LanguageHaskell2010
- LicenceApache-2.0
- SourceCommonActions.hs
Convenience wrapper for sending AgentTrace messages to an agent's default Tracer.
Convenience wrapper for tracing refcounting events in an agent context.
Modify the bundle stored in a KES agent in a thread-safe manner. The key modification function takes and returns a Maybe, where Nothing means that there is no key; returning Nothing will erase the stored key. Broadcasting the key update (if appropriate), evolving the key to the current evolution, and securely erasing any old keys, is the responsibility of the caller. See Agent for explanations of how keys are stored in a KES agent.
Perform an action on the key bundle stored in a KES agent in a thread-safe manner. The key bundle should be considered read-only; to manipulate the key bundle, use alterBundle. See Agent for explanations of how keys are stored in a KES agent.
Access a staged key stored in a KES agent. The staged key is read-only during this operation. See Agent for explanations of how keys are stored in a KES agent.
Initialize a new Agent. This will not spawn the actual agent process, just set up everything it needs.
Initialize a new Agent. This will not spawn the actual agent process, just set up everything it needs.
Initialize a new Agent. This will not spawn the actual agent process, just set up everything it needs.
Clean up after an Agent.
The result of pushing a key into an agent.
Constructors
PushKeyOK (Maybe (OCert c))Push was successful, key is now current.
PushKeyInvalidOCert StringPush failed due to an invalid operational certificate.
PushKeyTooOldPush failed because the pushed key is older than the current one.
Convert a PushKeyResult to a RecvResult to report back to a connected client.
Extract the OCert from a PushKeyResult, if any.
Extract the KES verification key from a PushKeyResult, if any.
Validate a key bundle. This will validate the operational certificate in the bundle against the cold key configured for the agent, and a verification key derived from the signing key in the bundle.
Validate a tagged bundle. This will perform a validation as per validateBundle if the tagged bundle contains a key; if the tagged bundle is a deletion (i.e., contains no key), then it always validates.
Handle an incoming TaggedBundle. This will perform the following steps: - Validate the tagged bundle against the currently installed bundle, if any. If validation fails, abort. - Update the agent's active key store to hold the new bundle. - Enqueue the key update for broadcasting to connected clients.