Skip to content

Commit

Permalink
Add benchmark for new registration extrisic
Browse files Browse the repository at this point in the history
  • Loading branch information
HCastano committed Jul 23, 2024
1 parent 0efb5f6 commit 3d8d334
Showing 1 changed file with 79 additions and 0 deletions.
79 changes: 79 additions & 0 deletions pallets/registry/src/benchmarking.rs
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,85 @@ benchmarks! {
assert!(Registering::<T>::contains_key(sig_req_account));
}

on_chain_registration {
let p in 1 .. T::MaxProgramHashes::get();

let program_modification_account: T::AccountId = whitelisted_caller();
let signature_request_account: T::AccountId = whitelisted_caller();

let program = vec![0u8];
let configuration_schema = vec![1u8];
let auxiliary_data_schema = vec![2u8];
let oracle_data_pointer = vec![3u8];
let program_hash = T::Hashing::hash(&program);
let programs_info = BoundedVec::try_from(vec![
ProgramInstance {
program_pointer: program_hash,
program_config: vec![],
};
p as usize
])
.unwrap();

Programs::<T>::insert(
program_hash,
ProgramInfo {
bytecode: program,
configuration_schema,
auxiliary_data_schema,
oracle_data_pointer,
deployer: program_modification_account.clone(),
ref_counter: 0,
},
);

let network_verifying_key = entropy_shared::DAVE_VERIFYING_KEY;
<JumpStartProgress<T>>::put(JumpStartDetails {
jump_start_status: JumpStartStatus::Done,
confirmations: vec![],
verifying_key: Some(BoundedVec::try_from(network_verifying_key.to_vec()).unwrap()),
});


let balance =
<T as pallet_staking_extension::Config>::Currency::minimum_balance() * 100u32.into();
let _ = <T as pallet_staking_extension::Config>::Currency::make_free_balance_be(
&signature_request_account,
balance,
);
}: _(
RawOrigin::Signed(signature_request_account.clone()),
program_modification_account,
programs_info
)
verify {
use synedrion::DeriveChildKey;

let network_verifying_key =
synedrion::ecdsa::VerifyingKey::try_from(network_verifying_key.as_slice()).unwrap();

let derivation_path = "m/0/0".parse().unwrap();
let expected_verifying_key = network_verifying_key
.derive_verifying_key_bip32(&derivation_path)
.unwrap();
let expected_verifying_key = BoundedVec::try_from(
expected_verifying_key
.to_encoded_point(true)
.as_bytes()
.to_vec(),
)
.unwrap();

assert_last_event::<T>(
Event::<T>::AccountRegistered(
signature_request_account,
expected_verifying_key.clone()
).into(),
);

assert!(RegisteredOnChain::<T>::contains_key(expected_verifying_key));
}

prune_registration {
let p in 1 .. T::MaxProgramHashes::get();
let program_modification_account: T::AccountId = whitelisted_caller();
Expand Down

0 comments on commit 3d8d334

Please sign in to comment.