Skip to content

Commit 1295edc

Browse files
Revert to record_last_event
1 parent 557060e commit 1295edc

File tree

3 files changed

+16
-17
lines changed

3 files changed

+16
-17
lines changed

polkadot/xcm/pallet-xcm/src/lib.rs

+10-11
Original file line numberDiff line numberDiff line change
@@ -849,9 +849,6 @@ pub mod pallet {
849849
#[pallet::storage]
850850
pub type EmittedEvent<T: Config> = StorageValue<_, <T as frame_system::Config>::RuntimeEvent>;
851851

852-
#[pallet::storage]
853-
pub type EmittedEventAsString<T: Config> = StorageValue<_, String, ValueQuery>;
854-
855852
#[pallet::genesis_config]
856853
pub struct GenesisConfig<T: Config> {
857854
#[serde(skip)]
@@ -3542,18 +3539,20 @@ impl<T: Config> RecordXcm for Pallet<T> {
35423539
RecordedXcm::<T>::put(xcm);
35433540
}
35443541

3545-
fn record_event(event: String) {
3546-
tracing::debug!(?event, "-> Recording the last event");
3547-
EmittedEventAsString::<T>::put(format!("{:?}", event.clone()));
3548-
// EmittedEvent::<T>::put(event);
3549-
let event = EmittedEvent::<T>::get();
3550-
tracing::debug!(?event, "<- Recorded the last event");
3542+
fn record_last_event() {
3543+
let records = frame_system::Pallet::<T>::events();
3544+
if let Some(record) = records.last() {
3545+
let event = record.event.clone();
3546+
tracing::debug!(?event, "-> Recording the last event");
3547+
EmittedEvent::<T>::put(event);
3548+
let event = EmittedEvent::<T>::get();
3549+
tracing::debug!(?event, "<- Recorded the last event");
3550+
}
35513551
}
35523552

35533553
fn emitted_event() -> Option<Self::RuntimeEvent> {
35543554
let event = EmittedEvent::<T>::get();
3555-
let event_as_string = EmittedEventAsString::<T>::get();
3556-
tracing::debug!(?event, ?event_as_string, "Emitted");
3555+
tracing::debug!(?event, "Emitted");
35573556
event
35583557
}
35593558
}

polkadot/xcm/xcm-executor/src/lib.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -453,15 +453,15 @@ impl<Config: config::Config> XcmExecutor<Config> {
453453
},
454454
Err(error) => {
455455
tracing::debug!(target: "xcm::send", ?error, "XCM failed to deliver with error");
456-
if Config::XcmRecorder::should_record() {
457-
Config::XcmRecorder::record_event("error.emit_send_failure_event()".to_string());
458-
}
459456
Config::XcmEventEmitter::emit_send_failure_event(
460457
self.original_origin.clone(),
461458
dest,
462459
error.clone(),
463460
self.context.message_id,
464461
);
462+
if Config::XcmRecorder::should_record() {
463+
Config::XcmRecorder::record_last_event();
464+
}
465465
Err(error.into())
466466
},
467467
}
@@ -858,7 +858,7 @@ impl<Config: config::Config> XcmExecutor<Config> {
858858
self.context.message_id,
859859
);
860860
if Config::XcmRecorder::should_record() {
861-
Config::XcmRecorder::record_event("emit_process_failure_event".to_string());
861+
Config::XcmRecorder::record_last_event();
862862
}
863863
*r = Err(ExecutorError {
864864
index: i as u32,

polkadot/xcm/xcm-executor/src/traits/record_xcm.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ pub trait RecordXcm {
3232
/// Record `xcm`.
3333
fn record(xcm: Xcm<()>);
3434
/// Record the last event.
35-
fn record_event(event: String);
35+
fn record_last_event();
3636
/// Get emitted events.
3737
fn emitted_event() -> Option<Self::RuntimeEvent>;
3838
}
@@ -52,7 +52,7 @@ impl RecordXcm for () {
5252

5353
fn record(_: Xcm<()>) {}
5454

55-
fn record_event(_event: String) {}
55+
fn record_last_event() {}
5656

5757
fn emitted_event() -> Option<Self::RuntimeEvent> { None }
5858
}

0 commit comments

Comments
 (0)