Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot access transaction's "return_value" with Anvil #1754

Open
no-fee-swap opened this issue Feb 25, 2024 · 3 comments
Open

Cannot access transaction's "return_value" with Anvil #1754

no-fee-swap opened this issue Feb 25, 2024 · 3 comments

Comments

@no-fee-swap
Copy link

no-fee-swap commented Feb 25, 2024

Environment information

  • brownie Version: 1.20.2
  • anvil Version: 0.2.0 commit 43b4e23
  • solc Version: 0.8.24
  • Python Version: 3.12.1
  • OS: osx

What was wrong?

Brownie v1.20.2 works great! Thank you. But I have the following issue with it:

When I use Anvil, features such as "tx.return_value" or "tx.call_trace" do not work. They return none type. It works great with Hardhat. But Anvil is faster and it would be great if we can access "return_value" with Anvil as well.

Please include information like:

I first run anvil with the following command in terminal:
anvil --hardfork cancun

I then open another terminal and run brownie:
brownie console --network anvil

I then run the following script:

from brownie.network.gas.strategies import LinearScalingStrategy
from brownie.network import gas_price
gas_strategy = LinearScalingStrategy("60 gwei", "70 gwei", 1.1)
gas_price(gas_strategy)
token = ERC20FixedSupply.deploy("ERC20_0", "ERC20_0", 1, accounts[0], {'from': accounts[0]})
tx = token.transfer(accounts[1], 1, {'from': accounts[0]})

I am supposed to get a bool as return value, but the following command returns nothing:
tx.return_value

@VersoriumX
Copy link

In this place we have to create or describe "_Value". In essence we are setting the digital parameters. The "_strategy" is to be defined based on concurrent data as well as the accounts from which you wish to send. I hope this Helps Cheers.

@iamdefinitelyahuman
Copy link
Member

Does anvil expose the debug_traceTransaction endpoint?

@LanceUp
Copy link
Contributor

LanceUp commented Jun 23, 2024

i found a workaround adding "--steps-tracing" anvil's flag in network-config.yaml (typically located in ~/.brownie/) for anvil's fork:
cmd: anvil --steps-tracing
no need to run anvil in another terminal, but, if you need to do it for some reason, in your case, run it with:
anvil --hardfork cancun --steps-tracing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants