首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AttributeError: UsingForDirective对象没有属性“typeName”

AttributeError: UsingForDirective对象没有属性“typeName”
EN

Ethereum用户
提问于 2021-12-11 07:07:28
回答 1查看 246关注 0票数 3

我试图从欧姆BondDepository.sol契约编译代码,但是每次我这样做时,我都会从brownie那里得到这个错误

代码语言:javascript
复制
Compiling contracts...
  Solc version: 0.7.5
  Optimizer: Enabled  Runs: 200
  EVM Version: Istanbul
Generating build data...
  File "C:\Users\provsalt\AppData\Local\Programs\Python\Python39\lib\site-packages\brownie\_cli\__main__.py", line 64, in main
    importlib.import_module(f"brownie._cli.{cmd}").main()
  File "C:\Users\provsalt\AppData\Local\Programs\Python\Python39\lib\site-packages\brownie\_cli\run.py", line 40, in main
    active_project = project.load()
  File "C:\Users\provsalt\AppData\Local\Programs\Python\Python39\lib\site-packages\brownie\project\main.py", line 751, in load
    return Project(name, project_path)
  File "C:\Users\provsalt\AppData\Local\Programs\Python\Python39\lib\site-packages\brownie\project\main.py", line 183, in __init__
    self.load()
  File "C:\Users\provsalt\AppData\Local\Programs\Python\Python39\lib\site-packages\brownie\project\main.py", line 238, in load
    self._compile(changed, self._compiler_config, False)
  File "C:\Users\provsalt\AppData\Local\Programs\Python\Python39\lib\site-packages\brownie\project\main.py", line 95, in _compile
    build_json = compiler.compile_and_format(
  File "C:\Users\provsalt\AppData\Local\Programs\Python\Python39\lib\site-packages\brownie\project\compiler\__init__.py", line 142, in compile_and_format
    build_json.update(generate_build_json(input_json, output_json, compiler_data, silent))
  File "C:\Users\provsalt\AppData\Local\Programs\Python\Python39\lib\site-packages\brownie\project\compiler\__init__.py", line 287, in generate_build_json
    source_nodes, statement_nodes, branch_nodes = solidity._get_nodes(output_json)
  File "C:\Users\provsalt\AppData\Local\Programs\Python\Python39\lib\site-packages\brownie\project\compiler\solidity.py", line 606, in _get_nodes
    source_nodes = solcast.from_standard_output(output_json)
  File "C:\Users\provsalt\AppData\Local\Programs\Python\Python39\lib\site-packages\solcast\main.py", line 33, in from_standard_output
    source_nodes = set_dependencies(source_nodes)
  File "C:\Users\provsalt\AppData\Local\Programs\Python\Python39\lib\site-packages\solcast\dependencies.py", line 18, in set_dependencies
    contract.libraries = dict(
  File "C:\Users\provsalt\AppData\Local\Programs\Python\Python39\lib\site-packages\solcast\dependencies.py", line 19, in <genexpr>
    (_get_type_name(i.typeName), i.libraryName.name)
AttributeError: 'UsingForDirective' object has no attribute 'typeName'

在查找此错误后,在第617行使用FixedPoint进行*时似乎是一个错误。与其使用这种语法,我如何才能修复它,使它不只是崩溃?坦率地说,我对稳健性很陌生,不明白这种语法是如何工作的。

EN

回答 1

Ethereum用户

回答已采纳

发布于 2022-01-04 14:48:24

我想原因就在这串:

代码语言:javascript
复制
using FixedPoint for *;

我消除了这个错误,改变了估价(.)

代码语言:javascript
复制
 _value = totalValue.mul( FixedPoint.decode112with18( FixedPoint.fraction( amount_, totalSupply ) ) ).div( 1e18 );
票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/115375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档