If a function inside a contract calls another function in the same contract, is the msg.sender now the contract or still the original address that sent the initial transaction?
I know if contract A calls a function from contract B, the msg.sender is now contract A, but what about internally within 1 contract? does the msg.sender ever change? or is always the original tx sender?