Changed a few things to match how script validator will be used in consortiums:
operates for a whole process, not per link step: it makes it more general and script writers can always switch on link.Meta.Step in the Validate method if they have per-step validation
is referenced by its hash: a change proposal will contains a URL to the script on S3/IPFS/etc and network participants need to be able to fetch the script, compile it and verify that it produces the same hash
reproducible builds are a bit painful right now because they contain path information: we might have issues integrating that in real-world usecases. However, Go is working towards reproducible builds and it might land in Go 1.12 (but not sure if it will work for plugins easily)
Vendoring messes up the script because its dependencies use GOPATH instead of vendor: maybe fixed soon once official go support for modules ships?
Funny side note: the tests didn't work at all but test failures weren't reported correctly by go test because go build failed (since two scripts in the same package defined the same Init() function).
Changed a few things to match how script validator will be used in consortiums:
Funny side note: the tests didn't work at all but test failures weren't reported correctly by go test because go build failed (since two scripts in the same package defined the same Init() function).
This change is