Closed wbt closed 6 years ago
I suspect the issue is in profiler.js in required_sources
or dependency_graph
.
The updated files are added to the list in line 149 based just on file update time. This is returned to index.js:299, then passed as options.paths
to compile.with_dependencies
which at line 325 bounces it back to Profiler.required_sources.
I don't have time to dive deeper at the moment but hope this helps.
This is a known issue, there's WIP to address this in #41
This is fixed as of 4.1.5
. Thanks @wbt.
(Moved from https://github.com/trufflesuite/truffle/issues/839)
Issue
Modifying a base contract doesn't trigger recompilation of derived contracts.
Steps to Reproduce
Copy
Alpha.sol
andBeta.sol
from https://github.com/ethereum/solidity/issues/3675 to a new Truffle project'scontracts
directory.In the project directory,
truffle compile
.To Alpha.sol, add the following before the final closing curly brace:
In the project directory,
truffle compile
again, as many times as you want.Inspect ABI of
Beta
inbuild/contracts/Beta.json
.Expected Behavior
The output from
truffle compile
should be:ABIs in
Alpha.json
andBeta.json
should both containnewFunctionInBaseContract
.Actual Results
The output from
truffle compile
is:and while
Alpha.json
contains the ABI includingnewFunctionInBaseContract
,Beta
does not.Environment
truffle version
): Truffle v4.0.4 (core: 4.0.4)node --version
): v9.3.0npm --version
): v5.6.0