fix local tvm output actions parse
@@ -30,9 +30,11 @@ pub fn local_contract_call(code: SliceData, data: Arc<CellData>, msg: &Message)
let mut slice = SliceData::from(engine.get_actions().as_cell()?.clone());
let mut msgs = vec![];
- while &slice.get_bytestring(0) == &[0x0e, 0xc3, 0xc8, 0x6d, 0x00] && slice.remaining_references() == 2 {
+ while slice.remaining_references() != 0 {
let next = slice.checked_drain_reference()?.into();
+ if Ok(0x0ec3c86d) == slice.get_next_u32() && slice.remaining_references() == 1 {
msgs.push(Message::construct_from::<Message>(&mut slice.checked_drain_reference()?.into())?);
+ }
slice = next;
}
msgs.reverse();
