From 97d9cdb41e82587a743727e0452383f814e96df8 Mon Sep 17 00:00:00 2001 From: Neeraj Kashyap Date: Wed, 28 Jul 2021 11:03:13 -0700 Subject: [PATCH] Return empty list when no text candidates for hex signature Previously, we were returning `null`. --- backend/moonstream/abi_decoder.py | 6 +++--- backend/moonstream/data.py | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/backend/moonstream/abi_decoder.py b/backend/moonstream/abi_decoder.py index 03d7e05e..3b67d343 100644 --- a/backend/moonstream/abi_decoder.py +++ b/backend/moonstream/abi_decoder.py @@ -17,12 +17,10 @@ def query_for_text_signatures( session: Session, hex_signature: str, db_model: Union[ESDFunctionSignature, ESDEventSignature], -) -> Optional[List[str]]: +) -> List[str]: query = session.query(db_model) query = query.filter(db_model.hex_signature == hex_signature) results = query.all() - if not results: - return None text_signatures = [] for el in results: text_signatures.append(el.text_signature) @@ -97,6 +95,8 @@ def main() -> None: source: Optional[str] = None with args.infile as ifp: source = ifp.read().strip() + if source is None: + raise ValueError("Could not read ABI.") abi = decode_abi(source) print(abi.json()) diff --git a/backend/moonstream/data.py b/backend/moonstream/data.py index cd4fdb4e..01944f84 100644 --- a/backend/moonstream/data.py +++ b/backend/moonstream/data.py @@ -76,13 +76,14 @@ class SubscriptionsListResponse(BaseModel): class EVMFunctionSignature(BaseModel): type = "function" hex_signature: str - text_signature_candidates: Optional[List[str]] = None + text_signature_candidates: List[str] = Field(default_factory=list) class EVMEventSignature(BaseModel): type = "event" hex_signature: str - text_signature_candidates: Optional[List[str]] = None + text_signature_candidates: List[str] = Field(default_factory=list) + class ContractABI(BaseModel): functions: List[EVMFunctionSignature]