diff options
author | chriseth <c@ethdev.com> | 2015-06-18 23:38:26 +0800 |
---|---|---|
committer | chriseth <c@ethdev.com> | 2015-06-18 23:38:26 +0800 |
commit | ffb7d94035bf650c79cac1f94e2711795ee3f85b (patch) | |
tree | f099a964408efe78e6a3c629c6564b0785d4c712 | |
parent | f9bbe3279e7ecbbc6c25bc484500977a56af8e52 (diff) | |
download | dexon-solidity-ffb7d94035bf650c79cac1f94e2711795ee3f85b.tar dexon-solidity-ffb7d94035bf650c79cac1f94e2711795ee3f85b.tar.gz dexon-solidity-ffb7d94035bf650c79cac1f94e2711795ee3f85b.tar.bz2 dexon-solidity-ffb7d94035bf650c79cac1f94e2711795ee3f85b.tar.lz dexon-solidity-ffb7d94035bf650c79cac1f94e2711795ee3f85b.tar.xz dexon-solidity-ffb7d94035bf650c79cac1f94e2711795ee3f85b.tar.zst dexon-solidity-ffb7d94035bf650c79cac1f94e2711795ee3f85b.zip |
Added fallback function to gas estimation and fixed mix gas estimation.
Fixes #2156
-rw-r--r-- | CommandLineInterface.cpp | 5 | ||||
-rw-r--r-- | jsonCompiler.cpp | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/CommandLineInterface.cpp b/CommandLineInterface.cpp index ec2a9003..c95f34f6 100644 --- a/CommandLineInterface.cpp +++ b/CommandLineInterface.cpp @@ -273,6 +273,11 @@ void CommandLineInterface::handleGasEstimation(string const& _contract) GasEstimator::GasConsumption gas = GasEstimator::functionalEstimation(*items, sig); cout << " " << sig << ":\t" << gas << endl; } + if (contract.getFallbackFunction()) + { + GasEstimator::GasConsumption gas = GasEstimator::functionalEstimation(*items, "INVALID"); + cout << " fallback:\t" << gas << endl; + } cout << "internal:" << endl; for (auto const& it: contract.getDefinedFunctions()) { diff --git a/jsonCompiler.cpp b/jsonCompiler.cpp index 7bde3e47..340713b1 100644 --- a/jsonCompiler.cpp +++ b/jsonCompiler.cpp @@ -91,6 +91,8 @@ Json::Value estimateGas(CompilerStack const& _compiler, string const& _contract) string sig = it.second->externalSignature(); externalFunctions[sig] = gasToJson(GasEstimator::functionalEstimation(*items, sig)); } + if (contract.getFallbackFunction()) + externalFunctions[""] = gasToJson(GasEstimator::functionalEstimation(*items, "INVALID")); gasEstimates["external"] = externalFunctions; Json::Value internalFunctions(Json::objectValue); for (auto const& it: contract.getDefinedFunctions()) |