mirror of https://github.com/nucypher/nucypher.git
Fix typing in ContractAgency
parent
24c45ce0d8
commit
8f66cee6ba
|
@ -30,7 +30,7 @@ from eth_typing.evm import ChecksumAddress
|
||||||
from eth_utils.address import to_checksum_address
|
from eth_utils.address import to_checksum_address
|
||||||
from hexbytes.main import HexBytes
|
from hexbytes.main import HexBytes
|
||||||
from twisted.logger import Logger # type: ignore
|
from twisted.logger import Logger # type: ignore
|
||||||
from typing import Dict, Iterable, List, Tuple, Type, Union, Any, Optional
|
from typing import Dict, Iterable, List, Tuple, Type, Union, Any, Optional, cast
|
||||||
from web3.contract import Contract, ContractFunction
|
from web3.contract import Contract, ContractFunction
|
||||||
from web3.types import Wei, Timestamp, TxReceipt, TxParams, Nonce
|
from web3.types import Wei, Timestamp, TxReceipt, TxParams, Nonce
|
||||||
|
|
||||||
|
@ -1535,7 +1535,7 @@ class ContractAgency:
|
||||||
"""Where agents live and die."""
|
"""Where agents live and die."""
|
||||||
|
|
||||||
# TODO: Enforce singleton - #1506 - Okay, actually, make this into a module
|
# TODO: Enforce singleton - #1506 - Okay, actually, make this into a module
|
||||||
__agents: Dict[str, Dict[Type[EthereumContractAgent], Agent]] = dict()
|
__agents: Dict[str, Dict[Type[EthereumContractAgent], EthereumContractAgent]] = dict()
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_agent(cls,
|
def get_agent(cls,
|
||||||
|
@ -1554,9 +1554,9 @@ class ContractAgency:
|
||||||
raise ValueError("Need to specify a registry in order to get an agent from the ContractAgency")
|
raise ValueError("Need to specify a registry in order to get an agent from the ContractAgency")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
return cls.__agents[registry.id][agent_class]
|
return cast(Agent, cls.__agents[registry.id][agent_class])
|
||||||
except KeyError:
|
except KeyError:
|
||||||
agent = agent_class(registry=registry, provider_uri=provider_uri)
|
agent = cast(Agent, agent_class(registry=registry, provider_uri=provider_uri))
|
||||||
cls.__agents[registry.id] = cls.__agents.get(registry.id, dict())
|
cls.__agents[registry.id] = cls.__agents.get(registry.id, dict())
|
||||||
cls.__agents[registry.id][agent_class] = agent
|
cls.__agents[registry.id][agent_class] = agent
|
||||||
return agent
|
return agent
|
||||||
|
|
Loading…
Reference in New Issue