Who is msg.sender when contract calls another contract’s function?

If contract A calls transferFrom() of contract B, does contract B think the user or contract A is msg.sender?
submitted by /u/BoganLord2169
[link] [comments]
If contract A calls transferFrom() of contract B, does contract B think the user or contract A is msg.sender?
submitted by /u/BoganLord2169
[link] [comments]