aboutsummaryrefslogtreecommitdiffstats
path: root/accounts/abi/packing.go
Commit message (Collapse)AuthorAgeFilesLines
* accounts/abi: add support for function types (#3405)RJ2017-01-051-1/+1
|
* accounts/abi: Negative numbers not properly converted in ABI encodingThomas Bocek2016-06-061-2/+2
| | | | | | | | | | | | | | | When converting a negative number e.g., -2, the resulting ABI encoding should look as follows: fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe. However, since the check of the type is for an uint instead of an int, it results in the following ABI encoding: 0101010101010101010101010101010101010101010101010101010101010102. The Ethereum ABI (https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI) says, that signed integers are stored in two's complement which should be of the form ffffff.... and not 01010101..... for e.g. -1. Thus, I removed the type check in numbers.go as well as the function S256 as I don't think they are correct. Or maybe I'm missing something?
* accounts/abi: fixed string and fixed size bytes packingJeffrey Wilcke2016-04-281-1/+1
|
* accouns/abi: refactored ABI packageJeffrey Wilcke2016-04-201-0/+65
Refactored the abi package parsing and type handling. Relying mostly on package reflect as opposed to most of our own type reflection. Our own type reflection is still used however for cases such as Bytes and FixedBytes (abi: bytes•). This also inclused several fixes for slice handling of arbitrary and fixed size for all supported types. This also further removes implicit type casting such as assigning, for example `[2]T{} = []T{1}` will fail, however `[2]T{} == []T{1, 2}` (notice assigning *slice* to fixed size *array*). Assigning arrays to slices will always succeed if they are of the same element type. Incidentally also fixes #2379