mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-01 05:27:56 +00:00
Add submit_finality_proof_ex call to the GRANDPA pallet (#2821)
* depreacte submit_finality_proof and introduce submit_finality_proof_ex instead * propagate changes to the rest of runtime crates * tests for new call * suppress deprecation warning * revert changes to benchmarks to avoid unnecessary compilation issues when integrating to other repos
This commit is contained in:
committed by
Bastian Köcher
parent
a7255831ca
commit
4d53c846e7
@@ -195,6 +195,19 @@ impl CallInfo {
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns mutable reference to pre-dispatch `finality_target` sent to the
|
||||
/// `SubmitFinalityProof` call.
|
||||
#[cfg(test)]
|
||||
fn submit_finality_proof_info_mut(
|
||||
&mut self,
|
||||
) -> Option<&mut SubmitFinalityProofInfo<RelayBlockNumber>> {
|
||||
match *self {
|
||||
Self::AllFinalityAndMsgs(ref mut info, _, _) => Some(info),
|
||||
Self::RelayFinalityAndMsgs(ref mut info, _) => Some(info),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns the pre-dispatch `SubmitParachainHeadsInfo`.
|
||||
fn submit_parachain_heads_info(&self) -> Option<&SubmitParachainHeadsInfo> {
|
||||
match self {
|
||||
@@ -844,7 +857,7 @@ mod tests {
|
||||
use bp_parachains::{BestParaHeadHash, ParaInfo};
|
||||
use bp_polkadot_core::parachains::{ParaHeadsProof, ParaId};
|
||||
use bp_runtime::{BasicOperatingMode, HeaderId};
|
||||
use bp_test_utils::{make_default_justification, test_keyring};
|
||||
use bp_test_utils::{make_default_justification, test_keyring, TEST_GRANDPA_SET_ID};
|
||||
use frame_support::{
|
||||
assert_storage_noop, parameter_types,
|
||||
traits::{fungible::Mutate, ReservableCurrency},
|
||||
@@ -929,7 +942,7 @@ mod tests {
|
||||
let authorities = test_keyring().into_iter().map(|(a, w)| (a.into(), w)).collect();
|
||||
let best_relay_header = HeaderId(best_relay_header_number, RelayBlockHash::default());
|
||||
pallet_bridge_grandpa::CurrentAuthoritySet::<TestRuntime>::put(
|
||||
StoredAuthoritySet::try_new(authorities, 0).unwrap(),
|
||||
StoredAuthoritySet::try_new(authorities, TEST_GRANDPA_SET_ID).unwrap(),
|
||||
);
|
||||
pallet_bridge_grandpa::BestFinalized::<TestRuntime>::put(best_relay_header);
|
||||
|
||||
@@ -977,6 +990,23 @@ mod tests {
|
||||
})
|
||||
}
|
||||
|
||||
fn submit_relay_header_call_ex(relay_header_number: RelayBlockNumber) -> RuntimeCall {
|
||||
let relay_header = BridgedChainHeader::new(
|
||||
relay_header_number,
|
||||
Default::default(),
|
||||
Default::default(),
|
||||
Default::default(),
|
||||
Default::default(),
|
||||
);
|
||||
let relay_justification = make_default_justification(&relay_header);
|
||||
|
||||
RuntimeCall::BridgeGrandpa(GrandpaCall::submit_finality_proof_ex {
|
||||
finality_target: Box::new(relay_header),
|
||||
justification: relay_justification,
|
||||
current_set_id: TEST_GRANDPA_SET_ID,
|
||||
})
|
||||
}
|
||||
|
||||
fn submit_parachain_head_call(
|
||||
parachain_head_at_relay_header_number: RelayBlockNumber,
|
||||
) -> RuntimeCall {
|
||||
@@ -1059,6 +1089,18 @@ mod tests {
|
||||
})
|
||||
}
|
||||
|
||||
fn relay_finality_and_delivery_batch_call_ex(
|
||||
relay_header_number: RelayBlockNumber,
|
||||
best_message: MessageNonce,
|
||||
) -> RuntimeCall {
|
||||
RuntimeCall::Utility(UtilityCall::batch_all {
|
||||
calls: vec![
|
||||
submit_relay_header_call_ex(relay_header_number),
|
||||
message_delivery_call(best_message),
|
||||
],
|
||||
})
|
||||
}
|
||||
|
||||
fn relay_finality_and_confirmation_batch_call(
|
||||
relay_header_number: RelayBlockNumber,
|
||||
best_message: MessageNonce,
|
||||
@@ -1071,6 +1113,18 @@ mod tests {
|
||||
})
|
||||
}
|
||||
|
||||
fn relay_finality_and_confirmation_batch_call_ex(
|
||||
relay_header_number: RelayBlockNumber,
|
||||
best_message: MessageNonce,
|
||||
) -> RuntimeCall {
|
||||
RuntimeCall::Utility(UtilityCall::batch_all {
|
||||
calls: vec![
|
||||
submit_relay_header_call_ex(relay_header_number),
|
||||
message_confirmation_call(best_message),
|
||||
],
|
||||
})
|
||||
}
|
||||
|
||||
fn all_finality_and_delivery_batch_call(
|
||||
relay_header_number: RelayBlockNumber,
|
||||
parachain_head_at_relay_header_number: RelayBlockNumber,
|
||||
@@ -1085,6 +1139,20 @@ mod tests {
|
||||
})
|
||||
}
|
||||
|
||||
fn all_finality_and_delivery_batch_call_ex(
|
||||
relay_header_number: RelayBlockNumber,
|
||||
parachain_head_at_relay_header_number: RelayBlockNumber,
|
||||
best_message: MessageNonce,
|
||||
) -> RuntimeCall {
|
||||
RuntimeCall::Utility(UtilityCall::batch_all {
|
||||
calls: vec![
|
||||
submit_relay_header_call_ex(relay_header_number),
|
||||
submit_parachain_head_call(parachain_head_at_relay_header_number),
|
||||
message_delivery_call(best_message),
|
||||
],
|
||||
})
|
||||
}
|
||||
|
||||
fn all_finality_and_confirmation_batch_call(
|
||||
relay_header_number: RelayBlockNumber,
|
||||
parachain_head_at_relay_header_number: RelayBlockNumber,
|
||||
@@ -1099,12 +1167,27 @@ mod tests {
|
||||
})
|
||||
}
|
||||
|
||||
fn all_finality_and_confirmation_batch_call_ex(
|
||||
relay_header_number: RelayBlockNumber,
|
||||
parachain_head_at_relay_header_number: RelayBlockNumber,
|
||||
best_message: MessageNonce,
|
||||
) -> RuntimeCall {
|
||||
RuntimeCall::Utility(UtilityCall::batch_all {
|
||||
calls: vec![
|
||||
submit_relay_header_call_ex(relay_header_number),
|
||||
submit_parachain_head_call(parachain_head_at_relay_header_number),
|
||||
message_confirmation_call(best_message),
|
||||
],
|
||||
})
|
||||
}
|
||||
|
||||
fn all_finality_pre_dispatch_data() -> PreDispatchData<ThisChainAccountId> {
|
||||
PreDispatchData {
|
||||
relayer: relayer_account_at_this_chain(),
|
||||
call_info: CallInfo::AllFinalityAndMsgs(
|
||||
SubmitFinalityProofInfo {
|
||||
block_number: 200,
|
||||
current_set_id: None,
|
||||
extra_weight: Weight::zero(),
|
||||
extra_size: 0,
|
||||
},
|
||||
@@ -1128,12 +1211,20 @@ mod tests {
|
||||
}
|
||||
}
|
||||
|
||||
fn all_finality_pre_dispatch_data_ex() -> PreDispatchData<ThisChainAccountId> {
|
||||
let mut data = all_finality_pre_dispatch_data();
|
||||
data.call_info.submit_finality_proof_info_mut().unwrap().current_set_id =
|
||||
Some(TEST_GRANDPA_SET_ID);
|
||||
data
|
||||
}
|
||||
|
||||
fn all_finality_confirmation_pre_dispatch_data() -> PreDispatchData<ThisChainAccountId> {
|
||||
PreDispatchData {
|
||||
relayer: relayer_account_at_this_chain(),
|
||||
call_info: CallInfo::AllFinalityAndMsgs(
|
||||
SubmitFinalityProofInfo {
|
||||
block_number: 200,
|
||||
current_set_id: None,
|
||||
extra_weight: Weight::zero(),
|
||||
extra_size: 0,
|
||||
},
|
||||
@@ -1153,12 +1244,20 @@ mod tests {
|
||||
}
|
||||
}
|
||||
|
||||
fn all_finality_confirmation_pre_dispatch_data_ex() -> PreDispatchData<ThisChainAccountId> {
|
||||
let mut data = all_finality_confirmation_pre_dispatch_data();
|
||||
data.call_info.submit_finality_proof_info_mut().unwrap().current_set_id =
|
||||
Some(TEST_GRANDPA_SET_ID);
|
||||
data
|
||||
}
|
||||
|
||||
fn relay_finality_pre_dispatch_data() -> PreDispatchData<ThisChainAccountId> {
|
||||
PreDispatchData {
|
||||
relayer: relayer_account_at_this_chain(),
|
||||
call_info: CallInfo::RelayFinalityAndMsgs(
|
||||
SubmitFinalityProofInfo {
|
||||
block_number: 200,
|
||||
current_set_id: None,
|
||||
extra_weight: Weight::zero(),
|
||||
extra_size: 0,
|
||||
},
|
||||
@@ -1177,12 +1276,20 @@ mod tests {
|
||||
}
|
||||
}
|
||||
|
||||
fn relay_finality_pre_dispatch_data_ex() -> PreDispatchData<ThisChainAccountId> {
|
||||
let mut data = relay_finality_pre_dispatch_data();
|
||||
data.call_info.submit_finality_proof_info_mut().unwrap().current_set_id =
|
||||
Some(TEST_GRANDPA_SET_ID);
|
||||
data
|
||||
}
|
||||
|
||||
fn relay_finality_confirmation_pre_dispatch_data() -> PreDispatchData<ThisChainAccountId> {
|
||||
PreDispatchData {
|
||||
relayer: relayer_account_at_this_chain(),
|
||||
call_info: CallInfo::RelayFinalityAndMsgs(
|
||||
SubmitFinalityProofInfo {
|
||||
block_number: 200,
|
||||
current_set_id: None,
|
||||
extra_weight: Weight::zero(),
|
||||
extra_size: 0,
|
||||
},
|
||||
@@ -1197,6 +1304,13 @@ mod tests {
|
||||
}
|
||||
}
|
||||
|
||||
fn relay_finality_confirmation_pre_dispatch_data_ex() -> PreDispatchData<ThisChainAccountId> {
|
||||
let mut data = relay_finality_confirmation_pre_dispatch_data();
|
||||
data.call_info.submit_finality_proof_info_mut().unwrap().current_set_id =
|
||||
Some(TEST_GRANDPA_SET_ID);
|
||||
data
|
||||
}
|
||||
|
||||
fn parachain_finality_pre_dispatch_data() -> PreDispatchData<ThisChainAccountId> {
|
||||
PreDispatchData {
|
||||
relayer: relayer_account_at_this_chain(),
|
||||
@@ -1393,6 +1507,10 @@ mod tests {
|
||||
run_validate(all_finality_and_delivery_batch_call(200, 200, 200)),
|
||||
Ok(Default::default()),
|
||||
);
|
||||
assert_eq!(
|
||||
run_validate(all_finality_and_delivery_batch_call_ex(200, 200, 200)),
|
||||
Ok(Default::default()),
|
||||
);
|
||||
// message confirmation validation is passing
|
||||
assert_eq!(
|
||||
run_validate_ignore_priority(message_confirmation_call(200)),
|
||||
@@ -1410,6 +1528,12 @@ mod tests {
|
||||
)),
|
||||
Ok(Default::default()),
|
||||
);
|
||||
assert_eq!(
|
||||
run_validate_ignore_priority(all_finality_and_confirmation_batch_call_ex(
|
||||
200, 200, 200
|
||||
)),
|
||||
Ok(Default::default()),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1500,12 +1624,24 @@ mod tests {
|
||||
run_validate_ignore_priority(all_finality_and_delivery_batch_call(200, 200, 200)),
|
||||
Ok(ValidTransaction::default()),
|
||||
);
|
||||
assert_eq!(
|
||||
run_validate_ignore_priority(all_finality_and_delivery_batch_call_ex(
|
||||
200, 200, 200
|
||||
)),
|
||||
Ok(ValidTransaction::default()),
|
||||
);
|
||||
assert_eq!(
|
||||
run_validate_ignore_priority(all_finality_and_confirmation_batch_call(
|
||||
200, 200, 200
|
||||
)),
|
||||
Ok(ValidTransaction::default()),
|
||||
);
|
||||
assert_eq!(
|
||||
run_validate_ignore_priority(all_finality_and_confirmation_batch_call_ex(
|
||||
200, 200, 200
|
||||
)),
|
||||
Ok(ValidTransaction::default()),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1518,11 +1654,19 @@ mod tests {
|
||||
run_pre_dispatch(all_finality_and_delivery_batch_call(100, 200, 200)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_pre_dispatch(all_finality_and_delivery_batch_call_ex(100, 200, 200)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
run_validate(all_finality_and_delivery_batch_call(100, 200, 200)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_validate(all_finality_and_delivery_batch_call_ex(100, 200, 200)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1535,10 +1679,18 @@ mod tests {
|
||||
run_pre_dispatch(all_finality_and_delivery_batch_call(101, 100, 200)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_pre_dispatch(all_finality_and_delivery_batch_call_ex(101, 100, 200)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_validate(all_finality_and_delivery_batch_call(101, 100, 200)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_validate(all_finality_and_delivery_batch_call_ex(101, 100, 200)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
run_pre_dispatch(parachain_finality_and_delivery_batch_call(100, 200)),
|
||||
@@ -1560,19 +1712,35 @@ mod tests {
|
||||
run_pre_dispatch(all_finality_and_delivery_batch_call(200, 200, 100)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_pre_dispatch(all_finality_and_delivery_batch_call_ex(200, 200, 100)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_pre_dispatch(all_finality_and_confirmation_batch_call(200, 200, 100)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_pre_dispatch(all_finality_and_confirmation_batch_call_ex(200, 200, 100)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
run_validate(all_finality_and_delivery_batch_call(200, 200, 100)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_validate(all_finality_and_delivery_batch_call_ex(200, 200, 100)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_validate(all_finality_and_confirmation_batch_call(200, 200, 100)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_validate(all_finality_and_confirmation_batch_call_ex(200, 200, 100)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
run_pre_dispatch(parachain_finality_and_delivery_batch_call(200, 100)),
|
||||
@@ -1609,10 +1777,18 @@ mod tests {
|
||||
run_pre_dispatch(all_finality_and_delivery_batch_call(200, 200, 200)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Call)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_pre_dispatch(all_finality_and_delivery_batch_call_ex(200, 200, 200)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Call)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_pre_dispatch(all_finality_and_confirmation_batch_call(200, 200, 200)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Call)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_pre_dispatch(all_finality_and_confirmation_batch_call_ex(200, 200, 200)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Call)),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1631,10 +1807,18 @@ mod tests {
|
||||
run_pre_dispatch(all_finality_and_delivery_batch_call(200, 200, 200)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Call)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_pre_dispatch(all_finality_and_delivery_batch_call_ex(200, 200, 200)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Call)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_pre_dispatch(all_finality_and_confirmation_batch_call(200, 200, 200)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Call)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_pre_dispatch(all_finality_and_confirmation_batch_call_ex(200, 200, 200)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Call)),
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
run_pre_dispatch(parachain_finality_and_delivery_batch_call(200, 200)),
|
||||
@@ -1662,10 +1846,18 @@ mod tests {
|
||||
run_pre_dispatch(all_finality_and_delivery_batch_call(200, 200, 200)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Call)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_pre_dispatch(all_finality_and_delivery_batch_call_ex(200, 200, 200)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Call)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_pre_dispatch(all_finality_and_confirmation_batch_call(200, 200, 200)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Call)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_pre_dispatch(all_finality_and_confirmation_batch_call_ex(200, 200, 200)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Call)),
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
run_pre_dispatch(parachain_finality_and_delivery_batch_call(200, 200)),
|
||||
@@ -1696,10 +1888,18 @@ mod tests {
|
||||
run_pre_dispatch(all_finality_and_delivery_batch_call(200, 200, 200)),
|
||||
Ok(Some(all_finality_pre_dispatch_data())),
|
||||
);
|
||||
assert_eq!(
|
||||
run_pre_dispatch(all_finality_and_delivery_batch_call_ex(200, 200, 200)),
|
||||
Ok(Some(all_finality_pre_dispatch_data_ex())),
|
||||
);
|
||||
assert_eq!(
|
||||
run_pre_dispatch(all_finality_and_confirmation_batch_call(200, 200, 200)),
|
||||
Ok(Some(all_finality_confirmation_pre_dispatch_data())),
|
||||
);
|
||||
assert_eq!(
|
||||
run_pre_dispatch(all_finality_and_confirmation_batch_call_ex(200, 200, 200)),
|
||||
Ok(Some(all_finality_confirmation_pre_dispatch_data_ex())),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -2126,6 +2326,12 @@ mod tests {
|
||||
),
|
||||
Ok(None),
|
||||
);
|
||||
assert_eq!(
|
||||
TestGrandpaExtensionProvider::parse_and_check_for_obsolete_call(
|
||||
&all_finality_and_delivery_batch_call_ex(200, 200, 200)
|
||||
),
|
||||
Ok(None),
|
||||
);
|
||||
|
||||
// relay + parachain + message confirmation calls batch is ignored
|
||||
assert_eq!(
|
||||
@@ -2134,6 +2340,12 @@ mod tests {
|
||||
),
|
||||
Ok(None),
|
||||
);
|
||||
assert_eq!(
|
||||
TestGrandpaExtensionProvider::parse_and_check_for_obsolete_call(
|
||||
&all_finality_and_confirmation_batch_call_ex(200, 200, 200)
|
||||
),
|
||||
Ok(None),
|
||||
);
|
||||
|
||||
// parachain + message delivery call batch is ignored
|
||||
assert_eq!(
|
||||
@@ -2158,6 +2370,12 @@ mod tests {
|
||||
),
|
||||
Ok(Some(relay_finality_pre_dispatch_data().call_info)),
|
||||
);
|
||||
assert_eq!(
|
||||
TestGrandpaExtensionProvider::parse_and_check_for_obsolete_call(
|
||||
&relay_finality_and_delivery_batch_call_ex(200, 200)
|
||||
),
|
||||
Ok(Some(relay_finality_pre_dispatch_data_ex().call_info)),
|
||||
);
|
||||
|
||||
// relay + message confirmation call batch is accepted
|
||||
assert_eq!(
|
||||
@@ -2166,6 +2384,12 @@ mod tests {
|
||||
),
|
||||
Ok(Some(relay_finality_confirmation_pre_dispatch_data().call_info)),
|
||||
);
|
||||
assert_eq!(
|
||||
TestGrandpaExtensionProvider::parse_and_check_for_obsolete_call(
|
||||
&relay_finality_and_confirmation_batch_call_ex(200, 200)
|
||||
),
|
||||
Ok(Some(relay_finality_confirmation_pre_dispatch_data_ex().call_info)),
|
||||
);
|
||||
|
||||
// message delivery call batch is accepted
|
||||
assert_eq!(
|
||||
@@ -2194,11 +2418,19 @@ mod tests {
|
||||
run_grandpa_pre_dispatch(relay_finality_and_delivery_batch_call(100, 200)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_grandpa_pre_dispatch(relay_finality_and_delivery_batch_call_ex(100, 200)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
run_grandpa_validate(relay_finality_and_delivery_batch_call(100, 200)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_grandpa_validate(relay_finality_and_delivery_batch_call_ex(100, 200)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -2211,19 +2443,35 @@ mod tests {
|
||||
run_grandpa_pre_dispatch(relay_finality_and_delivery_batch_call(200, 100)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_grandpa_pre_dispatch(relay_finality_and_delivery_batch_call_ex(200, 100)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_grandpa_pre_dispatch(relay_finality_and_confirmation_batch_call(200, 100)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_grandpa_pre_dispatch(relay_finality_and_confirmation_batch_call_ex(200, 100)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
run_grandpa_validate(relay_finality_and_delivery_batch_call(200, 100)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_grandpa_validate(relay_finality_and_delivery_batch_call_ex(200, 100)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_grandpa_validate(relay_finality_and_confirmation_batch_call(200, 100)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
assert_eq!(
|
||||
run_grandpa_validate(relay_finality_and_confirmation_batch_call_ex(200, 100)),
|
||||
Err(TransactionValidityError::Invalid(InvalidTransaction::Stale)),
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
run_grandpa_pre_dispatch(message_delivery_call(100)),
|
||||
@@ -2254,19 +2502,35 @@ mod tests {
|
||||
run_grandpa_pre_dispatch(relay_finality_and_delivery_batch_call(200, 200)),
|
||||
Ok(Some(relay_finality_pre_dispatch_data()),)
|
||||
);
|
||||
assert_eq!(
|
||||
run_grandpa_pre_dispatch(relay_finality_and_delivery_batch_call_ex(200, 200)),
|
||||
Ok(Some(relay_finality_pre_dispatch_data_ex()),)
|
||||
);
|
||||
assert_eq!(
|
||||
run_grandpa_pre_dispatch(relay_finality_and_confirmation_batch_call(200, 200)),
|
||||
Ok(Some(relay_finality_confirmation_pre_dispatch_data())),
|
||||
);
|
||||
assert_eq!(
|
||||
run_grandpa_pre_dispatch(relay_finality_and_confirmation_batch_call_ex(200, 200)),
|
||||
Ok(Some(relay_finality_confirmation_pre_dispatch_data_ex())),
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
run_grandpa_validate(relay_finality_and_delivery_batch_call(200, 200)),
|
||||
Ok(Default::default()),
|
||||
);
|
||||
assert_eq!(
|
||||
run_grandpa_validate(relay_finality_and_delivery_batch_call_ex(200, 200)),
|
||||
Ok(Default::default()),
|
||||
);
|
||||
assert_eq!(
|
||||
run_grandpa_validate(relay_finality_and_confirmation_batch_call(200, 200)),
|
||||
Ok(Default::default()),
|
||||
);
|
||||
assert_eq!(
|
||||
run_grandpa_validate(relay_finality_and_confirmation_batch_call_ex(200, 200)),
|
||||
Ok(Default::default()),
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
run_grandpa_pre_dispatch(message_delivery_call(200)),
|
||||
|
||||
Reference in New Issue
Block a user