Hi, when I send an internal message to contract A -(msg 1)-> contract B -(msg 2)-> contract C -(msg 3)-> contract D, if msg 3 being processed in contract D throws an exception, all are the msg processing (msg 1, msg2, msg3) reverted or only msg 3 reverted and msg 1,2 executed?
Jan 31, 2023, 5:20 AM
Only processing of msg 3 will be failed, 1,2 excuted.
Jan 31, 2023, 5:33 AM
thank you!
one more question, then how can make dex aggregator in ton…?
Jan 31, 2023, 5:35 AM
Developer have to handle all this cases in contracts logic. So, when something going wrong, for example, Contract D should send "notification" message, say, to contract A. But it means, we need to know, what could be wrong, of course.
Jan 31, 2023, 5:39 AM
Acquire everything by your contracts (which probably would not fail) then do all outgoing actions.
That's where formal description and verification is needed) I've recently posted such a footstep so I think someone could take it.
Jan 31, 2023, 5:42 AM
then, with dex aggregator case, does all dex provide revert message receiver ( for slippage case ) ?
Jan 31, 2023, 5:45 AM