    function depositERC20Token(uint176 tokenAccount, uint amount) external {
        uint16 tokenCode = uint16(tokenAccount >> 160);
        address tokenContract = tokenContracts[tokenCode];
        require (tokenContract != address(0), "Registered token contract.");
        require (safeTransferFrom(tokenContract, msg.sender, address(this), amount),
                 "Could not transfer ERC-20 tokens using transferFrom.");
        address account = address(tokenAccount);
        emit Deposit(tokenCode, account, amount);
        addBalance(tokenCode, account, amount);
    }