Skip to content

Commit

Permalink
feat: add some auxiliary functions to facilitate debugging (#314)
Browse files Browse the repository at this point in the history
  • Loading branch information
ytqaljn authored Feb 26, 2024
1 parent 7b04ab4 commit 2002259
Show file tree
Hide file tree
Showing 4 changed files with 119 additions and 1 deletion.
100 changes: 100 additions & 0 deletions pallets/audit/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -759,6 +759,106 @@ pub mod pallet {
VerifySlip::<T>::remove(&old, &miner);
VerifySlip::<T>::insert(&new, &miner, true);

Ok(())
}
// FOR TEST
#[pallet::call_index(11)]
#[transactional]
#[pallet::weight(Weight::zero())]
pub fn point_miner_challenge(
origin: OriginFor<T>,
miner: AccountOf<T>,
) -> DispatchResult {
let _ = ensure_root(origin)?;

let miner = &miner;
let now = <frame_system::Pallet<T>>::block_number();
if <ChallengeSnapShot<T>>::contains_key(miner) {
return Ok(())
}

let miner_snapshot = match T::MinerControl::get_miner_snapshot(miner) {
Ok(miner_snapshot) => miner_snapshot,
Err(_) => return Ok(()),
};

let (idle_space, service_space, service_bloom_filter, space_proof_info, tee_signature) =
miner_snapshot;

if idle_space + service_space == 0 {
return Ok(())
}

let service_param = match Self::generate_miner_qelement(now.saturated_into()) {
Ok(service_param) => service_param,
Err(e) => {
log::info!("audit: {:?}", e);
return Ok(())
},
};
let space_param = match Self::generate_miner_space_param(now.saturated_into()) {
Ok(space_param) => space_param,
Err(e) => {
log::info!("audit: {:?}", e);
return Ok(())
},
};

let idle_life: u32 =
(idle_space.saturating_div(IDLE_PROVE_RATE).saturating_add(50)) as u32;
let idle_slip = now.saturating_add(idle_life.saturated_into());

let service_life: u32 =
(service_space.saturating_div(SERVICE_PROVE_RATE).saturating_add(50)) as u32;
let service_slip = now.saturating_add(service_life.saturated_into());

let max_slip = {
if idle_slip > service_slip {
idle_slip
} else {
service_slip
}
};

let one_hour = T::OneHours::get();
let tee_length = T::TeeWorkerHandler::get_pubkey_list().len();
if tee_length == 0 {
return Ok(());
}
let verify_life: u32 = (idle_space
.saturating_add(service_space)
.saturating_div(IDLE_VERIFY_RATE)
.saturating_div(tee_length as u128)) as u32;
let verify_slip =
max_slip.saturating_add(verify_life.saturated_into()).saturating_add(one_hour);

let challenge_info = ChallengeInfo::<T> {
miner_snapshot: MinerSnapShot::<T> {
idle_space,
service_space,
service_bloom_filter,
space_proof_info,
tee_signature,
},
challenge_element: ChallengeElement::<T> {
start: now,
idle_slip,
service_slip,
verify_slip,
space_param,
service_param,
},
prove_info: ProveInfo::<T> {
assign: u8::MIN,
idle_prove: None,
service_prove: None,
},
};

<ChallengeSnapShot<T>>::insert(&miner, challenge_info);
<ChallengeSlip<T>>::insert(&max_slip, &miner, true);
<VerifySlip<T>>::insert(&verify_slip, &miner, true);

Ok(())
}
}
Expand Down
6 changes: 6 additions & 0 deletions pallets/tee-worker/src/functions.rs
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,12 @@ impl<T: Config> Pallet<T> {
weight = weight.saturating_add(T::DbWeight::get().reads_writes(1, 1));
Keyfairies::<T>::put(keyfairys);

ValidationTypeList::<T>::mutate(|puk_list| -> DispatchResult {
puk_list.retain(|g| *g != pbk);
Ok(())
})?;
weight = weight.saturating_add(T::DbWeight::get().reads_writes(1, 1));

Ok(weight)
}
}
12 changes: 12 additions & 0 deletions pallets/tee-worker/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -793,6 +793,18 @@ pub mod pallet {

Ok(())
}

#[pallet::call_index(115)]
#[pallet::weight({0})]
pub fn patch_clear_invalid_tee(origin: OriginFor<T>) -> DispatchResult {
T::GovernanceOrigin::ensure_origin(origin)?;
ValidationTypeList::<T>::mutate(|puk_list| -> DispatchResult {
puk_list.retain(|g| Endpoints::<T>::contains_key(g));
Ok(())
})?;

Ok(())
}
}

impl<T: Config> ces_pallet_mq::MasterPubkeySupplier for Pallet<T> {
Expand Down
2 changes: 1 addition & 1 deletion standalone/chain/runtime/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion {
// `spec_version`, and `authoring_version` are the same between Wasm and native.
// This value is set to 100 to notify Polkadot-JS App (https://polkadot.js.org/apps) to use
// the compatible custom types.
spec_version: 105,
spec_version: 106,
impl_version: 1,
apis: RUNTIME_API_VERSIONS,
transaction_version: 1,
Expand Down

0 comments on commit 2002259

Please sign in to comment.