<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def set_url(self, url: str):
 """Sets the url needed to access the service via HTTP for the caller"""

        gas_limit = self.proxy.estimate_gas('latest', 'setURL', url)
        transaction_hash = self.proxy.transact('setURL', gas_limit, url)
        self.client.poll(transaction_hash)
        assert not check_transaction_threw(self.client, transaction_hash)