`Transaction`, `Block` and `Contract` are represented as `Array`s in VM, so we must return pointers. Revert a1f98f92.
a1f98f92
Contract can have Hash160, Hash256, Signature etc. types which all map to a `[]byte` in Go. Having synonyms helps us to generate proper manifest file.