trufflesuite / truffle

:warning: The Truffle Suite is being sunset. For information on ongoing support, migration options and FAQs, visit the Consensys blog. Thank you for all the support over the years.
https://consensys.io/blog/consensys-announces-the-sunset-of-truffle-and-ganache-and-new-hardhat?utm_source=github&utm_medium=referral&utm_campaign=2023_Sep_truffle-sunset-2023_announcement_
MIT License
14.02k stars 2.32k forks source link

Debugger won't decode return values from non-Solidity transactions #3831

Open haltman-at opened 3 years ago

haltman-at commented 3 years ago

Issue

The debugger will decode the return value at the end of a transaction, but it doesn't support this for Vyper. Because return value decoding is ABI-based and Vyper uses the same ABI as Solidity, doing this shouldn't be too hard; it just isn't possible at the moment due to some awkwardness with the debugger internals. Still, it shouldn't be too hard and it's something we should do.

haltman-at commented 3 years ago

Note: This problem will also apply to Yul once we support Yul (#1906). (Yul has no ABI, of course, but the problem still applies to return values from constructors.) Again, this is purely a problem with debugger internals. More specifically the issue is that it relies on there being a ContractDefinition AST node for the contract. This shouldn't be necessary; it's just arranged that way at present. So the problem is to rearrange it so that's no longer a requirement for decoding.