Skip to content

Commit b532413

Browse files
Stebalienarajasek
authored andcommitted
fix: correctly propagate v3 events
1 parent 895c910 commit b532413

File tree

2 files changed

+27
-23
lines changed

2 files changed

+27
-23
lines changed

rust/Cargo.lock

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

rust/src/fvm/engine.rs

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,7 @@ mod v4 {
245245
mod v3 {
246246
use anyhow::{anyhow, Context};
247247
use cid::Cid;
248+
use fvm4_shared::event::{self, ActorEvent, Entry, StampedEvent};
248249
use num_traits::FromPrimitive;
249250
use std::sync::Mutex;
250251

@@ -328,7 +329,7 @@ mod v3 {
328329
exit_code: ExitCode::new(ret.msg_receipt.exit_code.value()),
329330
return_data: ret.msg_receipt.return_data,
330331
gas_used: ret.msg_receipt.gas_used,
331-
events_root: None,
332+
events_root: ret.msg_receipt.events_root,
332333
},
333334
penalty: TokenAmount::from_atto(ret.penalty.atto().clone()),
334335
miner_tip: TokenAmount::from_atto(ret.miner_tip.atto().clone()),
@@ -423,10 +424,32 @@ mod v3 {
423424
.unwrap_or(ErrorNumber::AssertionFailed),
424425
)))
425426
}
427+
ExecutionEvent3::InvokeActor(cid) => {
428+
Some(ExecutionEvent::InvokeActor(cid))
429+
}
426430
_ => None,
427431
})
428432
.collect(),
429-
events: vec![],
433+
events: ret
434+
.events
435+
.into_iter()
436+
.map(|e| StampedEvent {
437+
emitter: e.emitter,
438+
event: ActorEvent {
439+
entries: e
440+
.event
441+
.entries
442+
.into_iter()
443+
.map(|e| Entry {
444+
flags: event::Flags::from_bits_retain(e.flags.bits()),
445+
key: e.key,
446+
codec: e.codec,
447+
value: e.value,
448+
})
449+
.collect(),
450+
},
451+
})
452+
.collect(),
430453
}),
431454
Err(x) => Err(x),
432455
}

0 commit comments

Comments
 (0)