Lets consider an example of transaction lifecycle where a smart contract uses Oracle to get external data ETH/USD price feed that is changed in real-time.
Transaction is executed during mining, so it creates request to Chainlink oracles that return Price1. Is Price1 stored/cached somewhere on the blockchain?
Once block is mined, mining node sends it to other Ethereum nodes to validate.
Validating nodes also execute that smart contract. What will happen to subsequent calls to the Oracle to get the ETH/USD price? Would Oracle return "cached" response Price1 during block validation or we would get Price2. Does it mean if we get Price2 then block validation fails?