curvefi / brownie-tutorial

Brownie Video Tutorial at https://www.youtube.com/playlist?list=PLVOHzVzbg7bFUaOGwN0NOgkTItUAVyBBQ
148 stars 40 forks source link

running script "compare_crv_to_cvx.py" fails with ValueError #1

Open markoinether opened 3 years ago

markoinether commented 3 years ago

Setup: WSL 1 under windows DISTRIB_ID=Ubuntu DISTRIB_RELEASE=20.04 DISTRIB_CODENAME=focal DISTRIB_DESCRIPTION="Ubuntu 20.04.3 LTS"

Problem: in: lesson-17-applications-i

Here is the output when I run the script:

Brownie environment is ready.
>>> run('compare_crv_to_crv')
  File "<console>", line 1, in <module>
  File "brownie/project/scripts.py", line 42, in run
    script, project = _get_path(script_path)
  File "brownie/project/scripts.py", line 130, in _get_path
    raise FileNotFoundError(f"Cannot find {path_str}")
FileNotFoundError: Cannot find compare_crv_to_crv
>>> run('compare_crv_to_cvx')
  File "<console>", line 1, in <module>
  File "brownie/project/scripts.py", line 53, in run
    module = _import_from_path(script)
  File "brownie/project/scripts.py", line 149, in _import_from_path
    _import_cache[import_str] = importlib.import_module(import_str)
  File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen, line line, in in
  File "<frozen, line line, in in
  File "<frozen, line line, in in
  File "<frozen, line line, in in
  File "<frozen, line line, in in
  File "<frozen, line line, in in
  File "./scripts/compare_crv_to_cvx.py", line 11, in <module>
    registry = load_contract("registry")
  File "./scripts/helpers/utils.py", line 13, in load_contract
    cont = Contract.from_explorer(addr)
  File "brownie/network/contract.py", line 1096, in from_explorer
    address = _resolve_address(address)
  File "brownie/network/web3.py", line 193, in _resolve_address
    return to_address(domain)
  File "brownie/convert/main.py", line 43, in to_address
    return str(EthAddress(value))
  File "brownie/convert/datatypes.py", line 204, in __new__
    raise ValueError(f"'{value}' is not a valid ETH address") from None
ValueError: 'registry' is not a valid ETH address
zcor commented 3 years ago

This script stores some common curve contracts as aliases instead of contract addresses. Run the script in lesson 16 to set aliases on your local machine and then this should work fine.