I was investigating a strange decoding behavior as i discovered that in SolidityType#decodeInt (l. 404) is no distincted case for an unsigned int.
Shouldn't the BigInteger constructor call use the signum = 1 param in that case?
Currently byte[] b = [-13, -75, 19, 86, -119, 67, 112, -4, 118, -86, 98, -46, 103, -42, -126, 63, -60, -15, -87, 57, 43, 11, -17, -52, 0, 3, -65, 14, -67, -40, 65, 119]
will get parsed to -5560134246666045367803923210000275923246569538997228521514361932073667116681
instead of 110231954990650150055767061798687631930023415126643335517943222075839462523255.
I was investigating a strange decoding behavior as i discovered that in
SolidityType#decodeInt
(l. 404) is no distincted case for an unsigned int. Shouldn't the BigInteger constructor call use the signum = 1 param in that case?Currently
byte[] b = [-13, -75, 19, 86, -119, 67, 112, -4, 118, -86, 98, -46, 103, -42, -126, 63, -60, -15, -87, 57, 43, 11, -17, -52, 0, 3, -65, 14, -67, -40, 65, 119]
will get parsed to-5560134246666045367803923210000275923246569538997228521514361932073667116681
instead of110231954990650150055767061798687631930023415126643335517943222075839462523255
.I can provide a testcase and PR if appreciated.