pub fn verify_revoke_token<E: Engine>(rt: &RevokeToken, merch_state: &mut MerchantState<E>) -> BoltResult<cl::Signature<E>> {
        let pay_token_result = merch_state.verify_revoke_token(&rt.signature, &rt.message, &rt.message.wpk);
        let new_pay_token = match pay_token_result {
            Ok(n) => n,
            Err(err) => return Err(String::from(err.to_string()))
        };
        update_merchant_state(&mut merch_state.keys, &rt.message.wpk, Some(rt.signature.clone()));
        Ok(Some(new_pay_token))
    }
///
/// verify_revoke_token (phase 2) - takes as input revoke message and signature
/// from the customer and the merchant state. If the revocation token is valid,
/// generate a new signature for the new wallet (from the PoK of committed values in new wallet).
///
verify_revoke_token (phase 2) - takes as input revoke message and signature
from the customer and the merchant state. If the revocation token is valid,
generate a new signature for the new wallet (from the PoK of committed values in new wallet).
verify_revoke_token ( phase 2 ) - takes as input revoke message and signature from the customer and the merchant state . If the revocation token is valid generate a new signature for the new wallet ( from the PoK of committed values in new wallet ) .
pub fn verify_revoke_token<E: Engine>(rt: &RevokeToken, merch_state: &mut MerchantState<E>) -> BoltResult<cl::Signature<E>> {
        let pay_token_result = merch_state.verify_revoke_token(&rt.signature, &rt.message, &rt.message.wpk);
        let new_pay_token = match pay_token_result {
            Ok(n) => n,
            Err(err) => return Err(String::from(err.to_string()))
        };
        update_merchant_state(&mut merch_state.keys, &rt.message.wpk, Some(rt.signature.clone()));
        Ok(Some(new_pay_token))
    }
pub fn verify_revoke_token < E : Engine > ( rt : & RevokeToken , merch_state : & mut MerchantState < E > ) -> BoltResult < cl :: Signature < E > > { let pay_token_result = merch_state . verify_revoke_token ( & rt . signature , & rt . message , & rt . message . wpk ) ; let new_pay_token = match pay_token_result { Ok ( n ) => n , Err ( err ) => return Err ( String :: from ( err . to_string ( ) ) ) } ; update_merchant_state ( & mut merch_state . keys , & rt . message . wpk , Some ( rt . signature . clone ( ) ) ) ; Ok ( Some ( new_pay_token ) ) }
verify_revoke_token (phase 2) - takes as input revoke message and signature
from the customer and the merchant state.
verify_revoke_token ( phase 2 ) - takes as input revoke message and signature from the customer and the merchant state .
rt
&RevokeToken
merch_state
&mut MerchantState<E>
rt
&RevokeToken
merch_state
&mut MerchantState<E>