mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-22 19:41:07 +00:00
* Remove not required async calls
* Fixed missing renaming
* make_keystore can be sync
* More fixes
* Trivial nitpicks
* Cherry pick test fix from master
* Fixes after master merge
* update lockfile for {"substrate"}
---------
Co-authored-by: parity-processbot <>
This commit is contained in:
@@ -30,7 +30,7 @@ use polkadot_node_network_protocol::{authority_discovery::AuthorityDiscovery, Pe
|
||||
use sc_keystore::LocalKeystore;
|
||||
use sp_application_crypto::AppKey;
|
||||
use sp_keyring::Sr25519Keyring;
|
||||
use sp_keystore::{SyncCryptoStore, SyncCryptoStorePtr};
|
||||
use sp_keystore::{Keystore, KeystorePtr};
|
||||
|
||||
use polkadot_node_primitives::{DisputeMessage, SignedDisputeStatement};
|
||||
use polkadot_primitives::{
|
||||
@@ -126,13 +126,13 @@ pub fn make_candidate_receipt(relay_parent: Hash) -> CandidateReceipt {
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn make_explicit_signed(
|
||||
pub fn make_explicit_signed(
|
||||
validator: Sr25519Keyring,
|
||||
candidate_hash: CandidateHash,
|
||||
valid: bool,
|
||||
) -> SignedDisputeStatement {
|
||||
let keystore: SyncCryptoStorePtr = Arc::new(LocalKeystore::in_memory());
|
||||
SyncCryptoStore::sr25519_generate_new(&*keystore, ValidatorId::ID, Some(&validator.to_seed()))
|
||||
let keystore: KeystorePtr = Arc::new(LocalKeystore::in_memory());
|
||||
Keystore::sr25519_generate_new(&*keystore, ValidatorId::ID, Some(&validator.to_seed()))
|
||||
.expect("Insert key into keystore");
|
||||
|
||||
SignedDisputeStatement::sign_explicit(
|
||||
@@ -142,12 +142,11 @@ pub async fn make_explicit_signed(
|
||||
MOCK_SESSION_INDEX,
|
||||
validator.public().into(),
|
||||
)
|
||||
.await
|
||||
.expect("Keystore should be fine.")
|
||||
.expect("Signing should work.")
|
||||
}
|
||||
|
||||
pub async fn make_dispute_message(
|
||||
pub fn make_dispute_message(
|
||||
candidate: CandidateReceipt,
|
||||
valid_validator: ValidatorIndex,
|
||||
invalid_validator: ValidatorIndex,
|
||||
@@ -155,16 +154,14 @@ pub async fn make_dispute_message(
|
||||
let candidate_hash = candidate.hash();
|
||||
let before_request = Instant::now();
|
||||
let valid_vote =
|
||||
make_explicit_signed(MOCK_VALIDATORS[valid_validator.0 as usize], candidate_hash, true)
|
||||
.await;
|
||||
make_explicit_signed(MOCK_VALIDATORS[valid_validator.0 as usize], candidate_hash, true);
|
||||
gum::trace!(
|
||||
"Passed time for valid vote: {:#?}",
|
||||
Instant::now().saturating_duration_since(before_request)
|
||||
);
|
||||
let before_request = Instant::now();
|
||||
let invalid_vote =
|
||||
make_explicit_signed(MOCK_VALIDATORS[invalid_validator.0 as usize], candidate_hash, false)
|
||||
.await;
|
||||
make_explicit_signed(MOCK_VALIDATORS[invalid_validator.0 as usize], candidate_hash, false);
|
||||
gum::trace!(
|
||||
"Passed time for invald vote: {:#?}",
|
||||
Instant::now().saturating_duration_since(before_request)
|
||||
|
||||
@@ -123,7 +123,7 @@ async fn send_dispute(
|
||||
needs_session_info: bool,
|
||||
) {
|
||||
let before_request = Instant::now();
|
||||
let message = make_dispute_message(candidate.clone(), ALICE_INDEX, FERDIE_INDEX).await;
|
||||
let message = make_dispute_message(candidate.clone(), ALICE_INDEX, FERDIE_INDEX);
|
||||
gum::trace!(
|
||||
"Passed time for making message: {:#?}",
|
||||
Instant::now().saturating_duration_since(before_request)
|
||||
@@ -190,7 +190,7 @@ fn received_non_authorities_are_dropped() {
|
||||
|
||||
let relay_parent = Hash::random();
|
||||
let candidate = make_candidate_receipt(relay_parent);
|
||||
let message = make_dispute_message(candidate.clone(), ALICE_INDEX, FERDIE_INDEX).await;
|
||||
let message = make_dispute_message(candidate.clone(), ALICE_INDEX, FERDIE_INDEX);
|
||||
|
||||
// Non validator request should get dropped:
|
||||
let rx_response =
|
||||
@@ -222,7 +222,7 @@ fn received_request_triggers_import() {
|
||||
|
||||
let relay_parent = Hash::random();
|
||||
let candidate = make_candidate_receipt(relay_parent);
|
||||
let message = make_dispute_message(candidate.clone(), ALICE_INDEX, FERDIE_INDEX).await;
|
||||
let message = make_dispute_message(candidate.clone(), ALICE_INDEX, FERDIE_INDEX);
|
||||
|
||||
nested_network_dispute_request(
|
||||
&mut handle,
|
||||
@@ -250,7 +250,7 @@ fn batching_works() {
|
||||
|
||||
let relay_parent = Hash::random();
|
||||
let candidate = make_candidate_receipt(relay_parent);
|
||||
let message = make_dispute_message(candidate.clone(), ALICE_INDEX, FERDIE_INDEX).await;
|
||||
let message = make_dispute_message(candidate.clone(), ALICE_INDEX, FERDIE_INDEX);
|
||||
|
||||
// Initial request should get forwarded immediately:
|
||||
nested_network_dispute_request(
|
||||
@@ -266,27 +266,27 @@ fn batching_works() {
|
||||
|
||||
let mut rx_responses = Vec::new();
|
||||
|
||||
let message = make_dispute_message(candidate.clone(), BOB_INDEX, FERDIE_INDEX).await;
|
||||
let message = make_dispute_message(candidate.clone(), BOB_INDEX, FERDIE_INDEX);
|
||||
let peer = MOCK_AUTHORITY_DISCOVERY.get_peer_id_by_authority(Sr25519Keyring::Bob);
|
||||
rx_responses.push(send_network_dispute_request(req_tx, peer, message.clone().into()).await);
|
||||
|
||||
let message = make_dispute_message(candidate.clone(), CHARLIE_INDEX, FERDIE_INDEX).await;
|
||||
let message = make_dispute_message(candidate.clone(), CHARLIE_INDEX, FERDIE_INDEX);
|
||||
let peer = MOCK_AUTHORITY_DISCOVERY.get_peer_id_by_authority(Sr25519Keyring::Charlie);
|
||||
rx_responses.push(send_network_dispute_request(req_tx, peer, message.clone().into()).await);
|
||||
gum::trace!("Imported 3 votes into batch");
|
||||
|
||||
Delay::new(BATCH_COLLECTING_INTERVAL).await;
|
||||
Delay::new(BATCH_COLLECTING_INTERVAL);
|
||||
gum::trace!("Batch should still be alive");
|
||||
// Batch should still be alive (2 new votes):
|
||||
// Let's import two more votes, but fully duplicates - should not extend batch live.
|
||||
gum::trace!("Importing duplicate votes");
|
||||
let mut rx_responses_duplicate = Vec::new();
|
||||
let message = make_dispute_message(candidate.clone(), BOB_INDEX, FERDIE_INDEX).await;
|
||||
let message = make_dispute_message(candidate.clone(), BOB_INDEX, FERDIE_INDEX);
|
||||
let peer = MOCK_AUTHORITY_DISCOVERY.get_peer_id_by_authority(Sr25519Keyring::Bob);
|
||||
rx_responses_duplicate
|
||||
.push(send_network_dispute_request(req_tx, peer, message.clone().into()).await);
|
||||
|
||||
let message = make_dispute_message(candidate.clone(), CHARLIE_INDEX, FERDIE_INDEX).await;
|
||||
let message = make_dispute_message(candidate.clone(), CHARLIE_INDEX, FERDIE_INDEX);
|
||||
let peer = MOCK_AUTHORITY_DISCOVERY.get_peer_id_by_authority(Sr25519Keyring::Charlie);
|
||||
rx_responses_duplicate
|
||||
.push(send_network_dispute_request(req_tx, peer, message.clone().into()).await);
|
||||
@@ -375,7 +375,7 @@ fn receive_rate_limit_is_enforced() {
|
||||
|
||||
let relay_parent = Hash::random();
|
||||
let candidate = make_candidate_receipt(relay_parent);
|
||||
let message = make_dispute_message(candidate.clone(), ALICE_INDEX, FERDIE_INDEX).await;
|
||||
let message = make_dispute_message(candidate.clone(), ALICE_INDEX, FERDIE_INDEX);
|
||||
|
||||
// Initial request should get forwarded immediately:
|
||||
nested_network_dispute_request(
|
||||
@@ -393,15 +393,15 @@ fn receive_rate_limit_is_enforced() {
|
||||
|
||||
let peer = MOCK_AUTHORITY_DISCOVERY.get_peer_id_by_authority(Sr25519Keyring::Bob);
|
||||
|
||||
let message = make_dispute_message(candidate.clone(), BOB_INDEX, FERDIE_INDEX).await;
|
||||
let message = make_dispute_message(candidate.clone(), BOB_INDEX, FERDIE_INDEX);
|
||||
rx_responses.push(send_network_dispute_request(req_tx, peer, message.clone().into()).await);
|
||||
|
||||
let message = make_dispute_message(candidate.clone(), CHARLIE_INDEX, FERDIE_INDEX).await;
|
||||
let message = make_dispute_message(candidate.clone(), CHARLIE_INDEX, FERDIE_INDEX);
|
||||
rx_responses.push(send_network_dispute_request(req_tx, peer, message.clone().into()).await);
|
||||
|
||||
gum::trace!("Import one too much:");
|
||||
|
||||
let message = make_dispute_message(candidate.clone(), CHARLIE_INDEX, ALICE_INDEX).await;
|
||||
let message = make_dispute_message(candidate.clone(), CHARLIE_INDEX, ALICE_INDEX);
|
||||
let rx_response_flood =
|
||||
send_network_dispute_request(req_tx, peer, message.clone().into()).await;
|
||||
|
||||
@@ -486,7 +486,7 @@ fn send_dispute_gets_cleaned_up() {
|
||||
|
||||
let relay_parent = Hash::random();
|
||||
let candidate = make_candidate_receipt(relay_parent);
|
||||
let message = make_dispute_message(candidate.clone(), ALICE_INDEX, FERDIE_INDEX).await;
|
||||
let message = make_dispute_message(candidate.clone(), ALICE_INDEX, FERDIE_INDEX);
|
||||
handle
|
||||
.send(FromOrchestra::Communication {
|
||||
msg: DisputeDistributionMessage::SendDispute(message.clone()),
|
||||
@@ -552,7 +552,7 @@ fn dispute_retries_and_works_across_session_boundaries() {
|
||||
|
||||
let relay_parent = Hash::random();
|
||||
let candidate = make_candidate_receipt(relay_parent);
|
||||
let message = make_dispute_message(candidate.clone(), ALICE_INDEX, FERDIE_INDEX).await;
|
||||
let message = make_dispute_message(candidate.clone(), ALICE_INDEX, FERDIE_INDEX);
|
||||
handle
|
||||
.send(FromOrchestra::Communication {
|
||||
msg: DisputeDistributionMessage::SendDispute(message.clone()),
|
||||
|
||||
Reference in New Issue
Block a user