Imagine an exchange contract to store and handle different accounts for different buyers and sellers, it is possible for a contract to manage and hold different address and its balance for different erc20 tokens?
I know that a common pattern is to use approve, allowance and transferfrom, but this pattern doesnt guarantee a funds availability.
I am wondering if it is possible for a contract to generate different addresses and handle wallets?