From 3716b5a71b30fd10a6e7a9d1602f6b85cf2e524d Mon Sep 17 00:00:00 2001 From: BobTheBuidler Date: Thu, 29 Aug 2024 04:37:10 +0000 Subject: [PATCH 1/2] chore: fix sourcery warnings --- dank_mids/_debugging/_base.py | 2 +- dank_mids/brownie_patch/call.py | 2 +- dank_mids/brownie_patch/contract.py | 5 ++--- dank_mids/controller.py | 10 ++++------ dank_mids/types.py | 5 ++++- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/dank_mids/_debugging/_base.py b/dank_mids/_debugging/_base.py index 4edc7280..19c79186 100644 --- a/dank_mids/_debugging/_base.py +++ b/dank_mids/_debugging/_base.py @@ -18,7 +18,7 @@ def __init__(self, chainid: int): if not isinstance(chainid, int): raise TypeError(f"`chainid` must be an integer. You passed {chainid}") from None self.chainid = chainid - self.path = self.path + f"/{self.chainid}" + self.path += f"/{self.chainid}" self.ensure_dir() @lru_cache(maxsize=1) def ensure_dir(self) -> None: diff --git a/dank_mids/brownie_patch/call.py b/dank_mids/brownie_patch/call.py index aa30ad5d..beb06458 100644 --- a/dank_mids/brownie_patch/call.py +++ b/dank_mids/brownie_patch/call.py @@ -173,7 +173,7 @@ def __validate_output(abi: Dict[str, Any], hexstr: BytesLike): revert_str = f"Panic (error code: {error_code})" raise Revert(f"Call reverted: {revert_str}") elif selector == "0xc1b84b2f": - raise Revert(f"Call reverted: execution reverted") + raise Revert("Call reverted: execution reverted") if abi["outputs"] and not hexstr: raise Revert("No data was returned - the call likely reverted") except ValueError as e: diff --git a/dank_mids/brownie_patch/contract.py b/dank_mids/brownie_patch/contract.py index 3913cf7f..25194281 100644 --- a/dank_mids/brownie_patch/contract.py +++ b/dank_mids/brownie_patch/contract.py @@ -87,8 +87,7 @@ def __get_method_object__(self, name: str) -> DankContractMethod: natspec = self._build["natspec"]["methods"].get(sig, {}) if overloaded is False: - fn = _get_method_object(self.address, abi, full_name, self._owner, natspec) - return fn + return _get_method_object(self.address, abi, full_name, self._owner, natspec) # special logic to handle function overloading elif overloaded is True: @@ -123,6 +122,6 @@ class _ContractMethodPlaceholder: """A sentinel object that indicates a Contract does have a member by a specific name.""" def _check_persist(persist: bool) -> Literal[True]: - if persist is False: + if not persist: raise NotImplementedError("persist: False") return persist diff --git a/dank_mids/controller.py b/dank_mids/controller.py index cf015280..6d9c93f0 100644 --- a/dank_mids/controller.py +++ b/dank_mids/controller.py @@ -250,17 +250,15 @@ def set_batch_size_limit(self, new_limit: int) -> None: @lru_cache(maxsize=1024) def _select_mcall_target_for_block(self, block) -> "_MulticallContract": if block == 'latest': - return self.mc3 if self.mc3 else self.mc2 # type: ignore [return-value] + return self.mc3 or self.mc2 # type: ignore [return-value] if self.mc3 and not self.mc3.needs_override_code_for_block(block): return self.mc3 - if self.mc2: - # We don't care if mc2 needs override code, mc2 override code is shorter - return self.mc2 - return self.mc3 # type: ignore [return-value] + # We don't care if mc2 needs override code, mc2 override code is shorter + return self.mc2 or self.mc3 # type: ignore [return-value] def __setup_attrdict_middleware(self) -> None: """This will only run for web3 versions > 6.0. It runs one time when the instance is initialized.""" - from web3.middleware import async_attrdict_middleware + from web3.middleware import async_attrdict_middleware # type: ignore [attr-defined] try: self.w3.middleware_onion.add(async_attrdict_middleware) except ValueError as e: diff --git a/dank_mids/types.py b/dank_mids/types.py index f240af32..82f33994 100644 --- a/dank_mids/types.py +++ b/dank_mids/types.py @@ -132,7 +132,10 @@ def decode_result(self, method: Optional[RPCEndpoint] = None, _caller = None) -> try: return msgspec.json.decode(self.result, type=typ) except msgspec.ValidationError as e: - raise ValueError(e, f'method: {method} result: {msgspec.json.decode(self.result)}').with_traceback(e.__traceback__) + raise ValueError( + e, + f'method: {method} result: {msgspec.json.decode(self.result)}', + ).with_traceback(e.__traceback__) from e try: start = time() decoded = msgspec.json.decode(self.result, type=typ) From e341e69b7eb99c6de9f0c9f7d2064b9694b197a2 Mon Sep 17 00:00:00 2001 From: BobTheBuidler Date: Thu, 29 Aug 2024 04:49:31 +0000 Subject: [PATCH 2/2] chore: fix sourcery warnings --- dank_mids/controller.py | 1 + 1 file changed, 1 insertion(+) diff --git a/dank_mids/controller.py b/dank_mids/controller.py index 6d9c93f0..5f1dc91f 100644 --- a/dank_mids/controller.py +++ b/dank_mids/controller.py @@ -266,6 +266,7 @@ def __setup_attrdict_middleware(self) -> None: raise # NOTE: the web3 instance already has the middleware + class _MulticallContract(Struct): address: ChecksumAddress deploy_block: Optional[BlockNumber]