Skip to content

Commit 3be78dd

Browse files
authored
Merge pull request #3435 from autonomys/pallet-messenger-general-extrinsic
Migrate pallet-messenger to General Unsigned extrinsics
2 parents 423c64c + abfdc92 commit 3be78dd

File tree

18 files changed

+748
-264
lines changed

18 files changed

+748
-264
lines changed

Cargo.lock

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/subspace-malicious-operator/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ hex-literal.workspace = true
3636
log.workspace = true
3737
mimalloc.workspace = true
3838
pallet-domains.workspace = true
39+
pallet-messenger.workspace = true
3940
pallet-transaction-payment.workspace = true
4041
parity-scale-codec.workspace = true
4142
pallet-subspace.workspace = true

crates/subspace-malicious-operator/src/malicious_bundle_producer.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -418,6 +418,7 @@ fn get_singed_extra(best_number: u64, immortal: bool, nonce: Nonce) -> SignedExt
418418
DisablePallets,
419419
pallet_subspace::extensions::SubspaceExtension::<Runtime>::new(),
420420
pallet_domains::extensions::DomainsExtension::<Runtime>::new(),
421+
pallet_messenger::extensions::MessengerExtension::<Runtime>::new(),
421422
)
422423
}
423424

@@ -444,6 +445,7 @@ pub fn construct_signed_extrinsic(
444445
(),
445446
(),
446447
(),
448+
(),
447449
),
448450
);
449451

crates/subspace-runtime/src/lib.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -713,6 +713,7 @@ impl pallet_messenger::Config for Runtime {
713713
type DomainRegistration = DomainRegistration;
714714
type ChannelFeeModel = ChannelFeeModel;
715715
type MaxOutgoingMessages = MaxOutgoingMessages;
716+
type MessengerOrigin = pallet_messenger::EnsureMessengerOrigin;
716717
}
717718

718719
impl<C> frame_system::offchain::CreateTransactionBase<C> for Runtime
@@ -1038,6 +1039,7 @@ pub type SignedExtra = (
10381039
DisablePallets,
10391040
pallet_subspace::extensions::SubspaceExtension<Runtime>,
10401041
pallet_domains::extensions::DomainsExtension<Runtime>,
1042+
pallet_messenger::extensions::MessengerExtension<Runtime>,
10411043
);
10421044
/// Unchecked extrinsic type as expected by this runtime.
10431045
pub type UncheckedExtrinsic =
@@ -1076,6 +1078,15 @@ impl pallet_domains::extensions::MaybeDomainsCall<Runtime> for RuntimeCall {
10761078
}
10771079
}
10781080

1081+
impl pallet_messenger::extensions::MaybeMessengerCall<Runtime> for RuntimeCall {
1082+
fn maybe_messenger_call(&self) -> Option<&pallet_messenger::Call<Runtime>> {
1083+
match self {
1084+
RuntimeCall::Messenger(call) => Some(call),
1085+
_ => None,
1086+
}
1087+
}
1088+
}
1089+
10791090
fn extract_segment_headers(ext: &UncheckedExtrinsic) -> Option<Vec<SegmentHeader>> {
10801091
match &ext.function {
10811092
RuntimeCall::Subspace(pallet_subspace::Call::store_segment_headers { segment_headers }) => {
@@ -1130,6 +1141,7 @@ fn create_unsigned_general_extrinsic(call: RuntimeCall) -> UncheckedExtrinsic {
11301141
DisablePallets,
11311142
pallet_subspace::extensions::SubspaceExtension::<Runtime>::new(),
11321143
pallet_domains::extensions::DomainsExtension::<Runtime>::new(),
1144+
pallet_messenger::extensions::MessengerExtension::<Runtime>::new(),
11331145
);
11341146

11351147
UncheckedExtrinsic::new_transaction(call, extra)

domains/pallets/messenger/Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ sp-mmr-primitives.workspace = true
2727
sp-runtime.workspace = true
2828
sp-trie.workspace = true
2929
sp-subspace-mmr.workspace = true
30+
subspace-runtime-primitives.workspace = true
3031

3132
[dev-dependencies]
3233
domain-runtime-primitives.workspace = true
@@ -51,6 +52,7 @@ std = [
5152
"sp-runtime/std",
5253
"sp-trie/std",
5354
"sp-subspace-mmr/std",
55+
"subspace-runtime-primitives/std",
5456
]
5557
runtime-benchmarks = [
5658
"frame-benchmarking",

domains/pallets/messenger/src/benchmarking.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,11 @@ use sp_trie::StorageProof;
2525
#[cfg(feature = "std")]
2626
use std::collections::BTreeSet;
2727

28-
#[benchmarks]
28+
#[benchmarks(where <RuntimeCallFor<T> as sp_runtime::traits::Dispatchable>::RuntimeOrigin: From<crate::RawOrigin>)]
2929
mod benchmarks {
3030
use super::*;
31+
use crate::RawOrigin as MessengerOrigin;
32+
use frame_system::pallet_prelude::RuntimeCallFor;
3133

3234
#[benchmark]
3335
fn initiate_channel() {
@@ -152,7 +154,7 @@ mod benchmarks {
152154
};
153155

154156
#[extrinsic_call]
155-
_(RawOrigin::None, xdm);
157+
_(MessengerOrigin::ValidatedUnsigned, xdm);
156158

157159
let post_channel =
158160
Channels::<T>::get(dst_chain_id, channel_id).expect("channel should exist");
@@ -222,7 +224,7 @@ mod benchmarks {
222224
};
223225

224226
#[extrinsic_call]
225-
_(RawOrigin::None, xdm);
227+
_(MessengerOrigin::ValidatedUnsigned, xdm);
226228

227229
let post_channel =
228230
Channels::<T>::get(dst_chain_id, channel_id).expect("channel should exist");

0 commit comments

Comments
 (0)