• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

oasisprotocol / oasis-core / #4524

24 Feb 2024 12:41PM UTC coverage: 46.023% (-0.2%) from 46.21%
#4524

Pull #5569

peternose
keymanager/src/churp: Handle init RPC requests
Pull Request #5569: keymanager/src/churp: Handle init RPC requests

52 of 149 new or added lines in 7 files covered. (34.9%)

1 existing line in 1 file now uncovered.

3159 of 6864 relevant lines covered (46.02%)

1.05 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/keymanager/src/runtime/init.rs
1
use std::sync::Arc;
2

3
use oasis_core_runtime::{
4
    dispatcher::{Initializer, PostInitState, PreInitState},
5
    enclave_rpc::dispatcher::Handler,
6
    protocol::ProtocolUntrustedLocalStorage,
7
};
8

9
use crate::{
10
    churp::Churp,
11
    policy::{set_trusted_policy_signers, TrustedPolicySigners},
12
};
13

14
use super::secrets::Secrets;
15

16
/// Initialize a keymanager with trusted policy signers.
17
pub fn new_keymanager(signers: TrustedPolicySigners) -> Box<dyn Initializer> {
×
18
    // Initializer.
19
    let init = move |state: PreInitState<'_>| -> PostInitState {
×
20
        // Initialize the set of trusted policy signers.
21
        set_trusted_policy_signers(signers.clone());
×
22

23
        let secrets = Box::leak(Box::new(Secrets::new(
×
24
            state.identity.clone(),
×
25
            state.consensus_verifier.clone(),
×
26
            state.protocol.clone(),
×
27
        )));
28

NEW
29
        let churp = Box::leak(Box::new(Churp::new(
×
NEW
30
            state.protocol.get_runtime_id(),
×
NEW
31
            state.identity.clone(),
×
NEW
32
            state.consensus_verifier.clone(),
×
NEW
33
            Arc::new(ProtocolUntrustedLocalStorage::new(state.protocol.clone())),
×
34
        )));
35

UNCOV
36
        state.rpc_dispatcher.add_methods(secrets.methods());
×
NEW
37
        state.rpc_dispatcher.add_methods(churp.methods());
×
38

39
        // No transaction dispatcher.
40
        PostInitState::default()
×
41
    };
42

43
    Box::new(init)
44
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc