code: def discovery(self, discovery_address: Address) -> Discovery:
          
          if not is_binary_address(discovery_address):
              raise ValueError('discovery_address must be a valid address')
  
          with self._discovery_creation_lock:
              if discovery_address not in self.address_to_discovery:
                  self.address_to_discovery[discovery_address] = Discovery(
                      jsonrpc_client=self.client,
                      discovery_address=discovery_address,
                      contract_manager=self.contract_manager,
                  )
  
          return self.address_to_discovery[discovery_address]
docs: Return a proxy to interact with the discovery.