<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def add_token_with_limits( self, token_address: TokenAddress, channel_participant_deposit_limit: TokenAmount, token_network_deposit_limit: TokenAmount, ) -> Address: """ Register token of `token_address` with the token network. The limits apply for version 0.13.0 and above of raiden-contracts, since instantiation also takes the limits as constructor arguments. """

        return self._add_token(
            token_address=token_address,
            additional_arguments={
                '_channel_participant_deposit_limit': channel_participant_deposit_limit,
                '_token_network_deposit_limit': token_network_deposit_limit,
            },
        )