Skip to content

Commit

Permalink
Revert "fix: P-441 remove NoEligibleIdentity (#2739)" (#2777)
Browse files Browse the repository at this point in the history
This reverts commit cfbb47c.
  • Loading branch information
higherordertech authored May 31, 2024
1 parent c345e9b commit dbcac65
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 20 deletions.
4 changes: 4 additions & 0 deletions primitives/core/src/error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,9 @@ pub enum ErrorDetail {
// of verification data
#[codec(index = 10)]
VerifyWeb3SignatureFailed,
// error when trying to build vc but no eligible identity is found
#[codec(index = 11)]
NoEligibleIdentity,
}

impl fmt::Debug for ErrorDetail {
Expand All @@ -87,6 +90,7 @@ impl fmt::Debug for ErrorDetail {
ErrorDetail::WrongWeb2Handle => write!(f, "WrongWeb2Handle"),
ErrorDetail::UnexpectedMessage => write!(f, "UnexpectedMessage"),
ErrorDetail::VerifyWeb3SignatureFailed => write!(f, "VerifyWeb3SignatureFailed"),
ErrorDetail::NoEligibleIdentity => write!(f, "NoEligibleIdentity"),
}
}
}
Expand Down
7 changes: 4 additions & 3 deletions tee-worker/app-libs/stf/src/trusted_call_litentry.rs
Original file line number Diff line number Diff line change
Expand Up @@ -196,9 +196,10 @@ impl TrustedCallSigned {
let assertion_networks = assertion.get_supported_web3networks();
let identities = get_eligible_identities(id_graph.as_ref(), assertion_networks);

if identities.is_empty() {
debug!("[RequestVc]: No eligible identities");
}
ensure!(
!identities.is_empty(),
StfError::RequestVCFailed(assertion, ErrorDetail::NoEligibleIdentity)
);

let parachain_block_number = ParentchainLitentry::block_number();
let sidechain_block_number = System::block_number();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ export default {
UnexpectedMessage: "Null",
__Unused_WrongSignatureType: "Null",
VerifyWeb3SignatureFailed: "Null",
NoEligibleIdentity: "Null",
},
},
ShardIdentifier: "H256",
Expand Down
30 changes: 17 additions & 13 deletions tee-worker/litentry/core/assertion-build/src/brc20/amount_holder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -45,17 +45,21 @@ pub fn build(
)
})?;

let runtime_version = IssuerRuntimeVersion {
parachain: req.parachain_runtime_version,
sidechain: req.sidechain_runtime_version,
};

let mut credential_unsigned =
Credential::new(&req.who, &req.shard, &runtime_version).map_err(|e| {
error!("Generate unsigned credential failed {:?}", e);
Error::RequestVCFailed(Assertion::BRC20AmountHolder, e.into_error_detail())
})?;
credential_unsigned.update_brc20_amount_holder_credential(&response);

Ok(credential_unsigned)
if response.is_empty() {
Err(Error::RequestVCFailed(Assertion::BRC20AmountHolder, ErrorDetail::NoEligibleIdentity))
} else {
let runtime_version = IssuerRuntimeVersion {
parachain: req.parachain_runtime_version,
sidechain: req.sidechain_runtime_version,
};

let mut credential_unsigned = Credential::new(&req.who, &req.shard, &runtime_version)
.map_err(|e| {
error!("Generate unsigned credential failed {:?}", e);
Error::RequestVCFailed(Assertion::BRC20AmountHolder, e.into_error_detail())
})?;
credential_unsigned.update_brc20_amount_holder_credential(&response);

Ok(credential_unsigned)
}
}
5 changes: 5 additions & 0 deletions tee-worker/litentry/core/assertion-build/src/holding_time.rs
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,11 @@ pub fn build(
let q_min_balance = prepare_min_balance(&htype, &min_balance)?;
let accounts = prepare_accounts(&req.identities, &htype);

// Redundant check in principle, but better safe than sorry :)
if accounts.is_empty() {
return Err(emit_error(&htype, &min_balance, ErrorDetail::NoEligibleIdentity))
}

let holding_date = search_holding_date(data_provider_config, accounts, &q_min_balance)
.map_err(|e| emit_error(&htype, &min_balance, e))?;

Expand Down
5 changes: 1 addition & 4 deletions tee-worker/litentry/core/vc-task/receiver/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -529,10 +529,7 @@ where
let id_graph_hash = H256::from(blake2_256(&id_graph.encode()));
let assertion_networks = assertion.get_supported_web3networks();
let identities = get_eligible_identities(id_graph.as_ref(), assertion_networks);

if identities.is_empty() {
debug!("[RequestVc]: No eligible identities");
}
ensure!(!identities.is_empty(), "No eligible identity".to_string());

let signer_account = signer
.to_account_id()
Expand Down

0 comments on commit dbcac65

Please sign in to comment.