for external call but the reason is not explained.
Do you know why?
External functions usually being called by another contracts and modifiers can cause to unexpected behaviour from the called contract when it’s being called by the calling one
How come? The behavior is the same whether you put a modifier or just the code of it inside the function
OK I see If it doesn't include complexe operations it could be OK, meaning a simple check like require, right?
Well, it's because external functions usually get called by other contracts. But what you can do is set the caller contract's address in the modifier, in case you want only one specific contract to call the function.
Обсуждают сегодня