Currently the swap instance contract assumes both tokens have the same decimals, which doesn't have to be the case.