One of the Solidity best practices relating to external calls is to avoid state changes after an external call.
However, does this principle still apply if one is using a private blockchain such as Quorum?
For example, in a hypothetical situation, to decide if a trade should proceed (i.e., update a state variable in the smart contract), an external call to a service which returns credit spread VaR needs to be made first. Based on the result of the external call, the trade will either proceed or be halted.
Understand that the original intent of this external call principle is to ensure determinism. However, based on the returned external call result (i.e., an arbitrary number), the smart contract will use a if-else range to decide if the trade should proceed or not -- making this process deterministic again.
Thus, should a smart contract in a private/permissioned blockchain such as Quorum be allowed to make state changes after external calls?
SOURCES: https://docs.oraclize.it/#background