@@ -22,11 +22,11 @@ use ra_tls::{
2222} ;
2323use safe_write:: safe_write;
2424
25- use crate :: ckd:: {
26- derive_root_key_from_mpc, g1_to_near_format, generate_ephemeral_keypair, MpcConfig ,
27- } ;
25+ use crate :: ckd:: { derive_root_key_from_mpc, g1_to_near_format, generate_ephemeral_keypair} ;
2826use crate :: config:: { AuthApi , KmsConfig } ;
29- use crate :: near_kms_client:: { load_or_generate_near_signer, near_public_key_to_report_data, NearKmsClient } ;
27+ use crate :: near_kms_client:: {
28+ load_or_generate_near_signer, near_public_key_to_report_data, NearKmsClient ,
29+ } ;
3030use dcap_qvl:: collateral;
3131use near_api:: NetworkConfig ;
3232use ra_tls:: kdf;
@@ -426,7 +426,10 @@ async fn try_derive_keys_from_mpc(
426426 let mpc_domain_id = near. mpc_domain_id ;
427427
428428 let network_id = near. network_id . as_deref ( ) . unwrap_or ( "testnet" ) ;
429- let network_config = NetworkConfig :: from_rpc_url ( network_id, rpc_url. parse ( ) . unwrap ( ) ) ;
429+ let network_config = NetworkConfig :: from_rpc_url (
430+ network_id,
431+ rpc_url. parse ( ) . context ( "Failed to parse RPC URL" ) ?,
432+ ) ;
430433
431434 // Load or generate NEAR signer (implicit account)
432435 let signer = load_or_generate_near_signer ( cfg) ?;
@@ -471,15 +474,6 @@ async fn try_derive_keys_from_mpc(
471474
472475 tracing:: debug!( "Generated ephemeral BLS12-381 keypair" ) ;
473476
474- // Create MPC config
475- let mpc_config = MpcConfig {
476- mpc_contract_id : mpc_contract_id. clone ( ) ,
477- mpc_domain_id,
478- mpc_public_key : mpc_public_key. clone ( ) ,
479- kms_contract_id : kms_contract_id. clone ( ) ,
480- near_rpc_url : rpc_url. to_string ( ) ,
481- } ;
482-
483477 // Get TDX attestation (quote, collateral, tcb_info) for KMS contract
484478 // The KMS contract's request_kms_root_key() requires attestation verification
485479 let ( quote_hex, collateral_json, tcb_info_json) = if quote_enabled {
@@ -498,7 +492,7 @@ async fn try_derive_keys_from_mpc(
498492 let quote_bytes = attestation
499493 . into_inner ( )
500494 . tdx_quote ( )
501- . and_then ( |q| Some ( q. quote . clone ( ) ) )
495+ . map ( |q| q. quote . clone ( ) )
502496 . context ( "Failed to get TDX quote bytes" ) ?;
503497 let quote_hex = hex:: encode ( & quote_bytes) ;
504498
@@ -552,7 +546,7 @@ async fn try_derive_keys_from_mpc(
552546 let root_key = derive_root_key_from_mpc (
553547 & mpc_response,
554548 ephemeral_private_key,
555- & mpc_config ,
549+ & mpc_public_key ,
556550 kms_contract_id,
557551 )
558552 . context ( "Failed to derive root key from MPC response" ) ?;
0 commit comments