In the original JSON ABI specification, there was a constant flag for each function, but that was deprecated and is now replaced with stateMutability. Newer solidity only generates stateMutability in the JSON output, constant isn't generated anymore. However, ethabi deserialization still attempts to find a constant parameter, and since it's missing, erroneously marks all functions as non-constant even if they have stateMutability: "view" set in the JSON.
In the original JSON ABI specification, there was a
constant
flag for each function, but that was deprecated and is now replaced withstateMutability
. Newer solidity only generatesstateMutability
in the JSON output,constant
isn't generated anymore. However, ethabi deserialization still attempts to find aconstant
parameter, and since it's missing, erroneously marks all functions as non-constant even if they havestateMutability: "view"
set in the JSON.