This may sound like a very naïve question. It's the first time I'm making interact two smart contracts (in general, I'm not very proficient with blockchain development). I have these two smart contracts, one should call the other, and the second one should first check that the call received is from the first smart contract in order to execute what it is supposed to do.
My questions are: 1) can this be done? In the constructor of both smart contracts I have to include both the addresses, but each time I truffle migrate the addresses change... 2) is this scalable? Does it make sense to model my application in a way that all the contracts are kept in mind by one single smart contract that, once it receives updates from an oracle, it updates in cascade all the contracts he is storing the addresses?