Skip to content

Commit

Permalink
format changes
Browse files Browse the repository at this point in the history
  • Loading branch information
Alejandro-Morales committed Jun 4, 2023
1 parent 71cc66c commit 573abfe
Showing 1 changed file with 27 additions and 33 deletions.
60 changes: 27 additions & 33 deletions src/uagents/resolver.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,36 +5,30 @@
from uagents.network import get_almanac_contract, get_service_contract


def _query_record(agent_address: str, service: str) -> dict:
contract = get_almanac_contract()
query_msg = {
"query_record": {"agent_address": agent_address, "record_type": service}
}
result = contract.query(query_msg)
return result

def _get_agent_address(name: str) -> str:
query_msg = {"domain_record": {"domain": f"{name}.agent"}}
res = get_service_contract().query(query_msg)
if res["record"] is not None:
registered_address = res["record"]["records"][0]["agent_address"]["records"]
if len(registered_address) > 0:
return registered_address[0]["address"]
return 0
return 1

def _is_agent_address(address):
prefix = "agent"
expected_length = 65

if len(address) != expected_length:
return False

if not address.startswith(prefix):
return False

return True

def query_record(agent_address: str, service: str) -> dict:
contract = get_almanac_contract()
query_msg = {
"query_record": {"agent_address": agent_address, "record_type": service}
}
result = contract.query(query_msg)
return result

def get_agent_address(name: str) -> str:
query_msg = {"domain_record": {"domain": f"{name}.agent"}}
result = get_service_contract().query(query_msg)
if result["record"] is not None:
registered_address = result["record"]["records"][0]["agent_address"]["records"]
if len(registered_address) > 0:
return registered_address[0]["address"]
return 0
return 1


def is_agent_address(address):
prefix = "agent"
expected_length = 65

return len(address) == expected_length and address.startswith(prefix)

class Resolver(ABC):
@abstractmethod
Expand All @@ -45,12 +39,12 @@ async def resolve(self, address: str) -> Optional[str]:
class AlmanacResolver(Resolver):
async def resolve(self, destination: str) -> Optional[str]:

if _is_agent_address(destination):
if is_agent_address(destination):
address = destination
else:
address = _get_agent_address(destination)
address = get_agent_address(destination)

result = _query_record(address, "service")
result = query_record(address, "service")
if result is not None:
record = result.get("record") or {}
endpoint_list = (
Expand Down

0 comments on commit 573abfe

Please sign in to comment.