brownie
brownie copied to clipboard
KeyError: 'language' when allow_revert=True again
Environment information
-
brownieVersion: 1.19.0 -
ganache-cliVersion: 7.2.0 -
solcVersion: 0.8.14 - Python Version: 3.8.9
- OS: osx + linux
What was wrong?
Very similar to https://github.com/eth-brownie/brownie/issues/1139
File "brownie/_cli/run.py", line 51, in main
return_value, frame = run(
File "brownie/project/scripts.py", line 110, in run
return_value = f_locals[method_name](*args, **kwargs)
File "./scripts/scratch.py", line 51, in main
tx = finder.withdrawEthWithRevertMessage(
File "brownie/network/contract.py", line 1861, in __call__
return self.transact(*args)
File "brownie/network/contract.py", line 1734, in transact
return tx["from"].transfer(
File "brownie/network/account.py", line 682, in transfer
receipt._raise_if_reverted(exc)
File "brownie/network/transaction.py", line 441, in _raise_if_reverted
marker = "//" if contract._build["language"] == "Solidity" else "#"
KeyError: 'language'
How can it be fixed?
Replace all instances of contract._build["language"] with contract._build.get("language") in transaction.py.
I've patched my local copy to get around this issue.
See PR #1555