mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 22:11:02 +00:00
Snowbridge Ethereum Deneb fork preparation (#3029)
- Prepares for the Deneb hardfork on Sepolia testnet on 31 January (needs to be deployed to Rococo before then) - Removes `beacon-minimal-spec` flag for simpler config - Adds test comments --------- Co-authored-by: Ron <yrong1997@gmail.com> Co-authored-by: claravanstaden <Cats 4 life!> Co-authored-by: Alistair Singh <alistair.singh7@gmail.com>
This commit is contained in:
@@ -16,16 +16,25 @@
|
||||
|
||||
#![cfg(test)]
|
||||
|
||||
use bp_polkadot_core::Signature;
|
||||
use bridge_hub_rococo_runtime::{
|
||||
xcm_config::XcmConfig, MessageQueueServiceWeight, Runtime, RuntimeEvent, SessionKeys,
|
||||
bridge_to_bulletin_config::OnBridgeHubRococoRefundRococoBulletinMessages,
|
||||
bridge_to_westend_config::OnBridgeHubRococoRefundBridgeHubWestendMessages,
|
||||
xcm_config::XcmConfig, BridgeRejectObsoleteHeadersAndMessages, Executive,
|
||||
MessageQueueServiceWeight, Runtime, RuntimeCall, RuntimeEvent, SessionKeys, SignedExtra,
|
||||
UncheckedExtrinsic,
|
||||
};
|
||||
use codec::Decode;
|
||||
use codec::{Decode, Encode};
|
||||
use cumulus_primitives_core::XcmError::{FailedToTransactAsset, NotHoldingFees};
|
||||
use frame_support::parameter_types;
|
||||
use parachains_common::{AccountId, AuraId, Balance};
|
||||
use snowbridge_pallet_ethereum_client::WeightInfo;
|
||||
use sp_core::H160;
|
||||
use sp_keyring::AccountKeyring::Alice;
|
||||
use sp_runtime::{
|
||||
generic::{Era, SignedPayload},
|
||||
AccountId32,
|
||||
};
|
||||
|
||||
parameter_types! {
|
||||
pub const DefaultBridgeHubEthereumBaseFee: Balance = 2_750_872_500_000;
|
||||
@@ -107,3 +116,62 @@ fn max_message_queue_service_weight_is_more_than_beacon_extrinsic_weights() {
|
||||
max_message_queue_weight.all_gt(force_checkpoint);
|
||||
max_message_queue_weight.all_gt(submit_checkpoint);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn ethereum_client_consensus_extrinsics_work() {
|
||||
snowbridge_runtime_test_common::ethereum_extrinsic(
|
||||
collator_session_keys(),
|
||||
1013,
|
||||
construct_and_apply_extrinsic,
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn ethereum_to_polkadot_message_extrinsics_work() {
|
||||
snowbridge_runtime_test_common::ethereum_to_polkadot_message_extrinsics_work(
|
||||
collator_session_keys(),
|
||||
1013,
|
||||
construct_and_apply_extrinsic,
|
||||
);
|
||||
}
|
||||
|
||||
fn construct_extrinsic(
|
||||
sender: sp_keyring::AccountKeyring,
|
||||
call: RuntimeCall,
|
||||
) -> UncheckedExtrinsic {
|
||||
let account_id = AccountId32::from(sender.public());
|
||||
let extra: SignedExtra = (
|
||||
frame_system::CheckNonZeroSender::<Runtime>::new(),
|
||||
frame_system::CheckSpecVersion::<Runtime>::new(),
|
||||
frame_system::CheckTxVersion::<Runtime>::new(),
|
||||
frame_system::CheckGenesis::<Runtime>::new(),
|
||||
frame_system::CheckEra::<Runtime>::from(Era::immortal()),
|
||||
frame_system::CheckNonce::<Runtime>::from(
|
||||
frame_system::Pallet::<Runtime>::account(&account_id).nonce,
|
||||
),
|
||||
frame_system::CheckWeight::<Runtime>::new(),
|
||||
pallet_transaction_payment::ChargeTransactionPayment::<Runtime>::from(0),
|
||||
BridgeRejectObsoleteHeadersAndMessages::default(),
|
||||
(
|
||||
OnBridgeHubRococoRefundBridgeHubWestendMessages::default(),
|
||||
OnBridgeHubRococoRefundRococoBulletinMessages::default(),
|
||||
),
|
||||
);
|
||||
let payload = SignedPayload::new(call.clone(), extra.clone()).unwrap();
|
||||
let signature = payload.using_encoded(|e| sender.sign(e));
|
||||
UncheckedExtrinsic::new_signed(
|
||||
call,
|
||||
account_id.into(),
|
||||
Signature::Sr25519(signature.clone()),
|
||||
extra,
|
||||
)
|
||||
}
|
||||
|
||||
fn construct_and_apply_extrinsic(
|
||||
origin: sp_keyring::AccountKeyring,
|
||||
call: RuntimeCall,
|
||||
) -> sp_runtime::DispatchOutcome {
|
||||
let xt = construct_extrinsic(origin, call);
|
||||
let r = Executive::apply_extrinsic(xt);
|
||||
r.unwrap()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user