I have a few questions regarding ETH and token storage.
Is it a good practice to store ETH on smart contract address in case only owner is authorized to withdraw it?
When deploing smart contract, do I have to send all available tokens to some external wallet address in my constructor function? Or I can leave tokens on smart contract address and send them to clients from contract address during crowdsale?
Summerizing the above two questions, how to distinguish balances of ETH and tokens on smart contract address? I mean does: address(this).balance returns ETH quantity and balances[address(this)] returns token quantity? Or they are similar?