Skip to content

Commit

Permalink
bugfix - using ens domains for contract addresses
Browse files Browse the repository at this point in the history
  • Loading branch information
iamdefinitelyahuman committed Nov 20, 2019
1 parent f5ad639 commit 9e371c0
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 2 deletions.
4 changes: 2 additions & 2 deletions brownie/network/state.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
from typing import Any, Dict, Iterator, List

from brownie._singleton import _Singleton
from brownie.convert import to_address

from .rpc import _revert_register
from .web3 import _resolve_address

_contract_map: Dict = {}

Expand Down Expand Up @@ -88,7 +88,7 @@ def _gas(self, fn_name: str, gas_used: int) -> None:


def _find_contract(address: Any) -> Any:
address = to_address(address)
address = _resolve_address(address)
if address not in _contract_map:
return None
return _contract_map[address]
Expand Down
File renamed without changes.
26 changes: 26 additions & 0 deletions tests/network/contract/test_ens_contract.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#!/usr/bin/python3

import pytest
from ens.exceptions import InvalidName

from brownie.exceptions import UnsetENSName
from brownie.network.contract import Contract


def test_lookup(network):
network.connect("mainnet")
c = Contract("Test", "ens.snakecharmers.eth", [])
assert c == "0x808B53bF4D70A24bA5cb720D37A4835621A9df00"
assert c == "ens.snakecharmers.eth"


def test_invalid(network):
network.connect("mainnet")
with pytest.raises(InvalidName):
Contract("Test", "this-is-not-an-ENS-address,isit?.eth", [])


def test_unset(network):
network.connect("mainnet")
with pytest.raises(UnsetENSName):
Contract("Test", "pleasedonot.buythisoryouwill.breakmytests.eth", [])

0 comments on commit 9e371c0

Please sign in to comment.