I'm learning NEO blockchain programming with Python and I've started working on a modular project where different parts are executed by different smart contracts hard-linked back together.
I want to have a functionality such as: send 1 NEO to contract A -> contract A mints 1 XXX Token and sends it to cotnract B -> contract B does some operations or locks the funds for a bit then allows the user to reclaim it
It's purely theoretical simplified example to illustrate my question. How in such case transaction fees would be paid? If I want a contract to call to another contract, will the contract have to pay the fees for this transaction?