-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Validation merge #154
Merged
Merged
Validation merge #154
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This reverts commit df48168.
Latrasis
pushed a commit
that referenced
this pull request
Jun 7, 2019
* Change nightly version. The previous nightly version specified (nightly-2019-03-05) had an issue where components where not supported on Windows. 2018 versions had an issue with some wasm memory functions not being finalised (see rust-lang/rust#56292). This could all be wrong but I found this version worked for me where others didn't. * Add batch equivalent to build.sh * Update windows build command * Rough validation testing This tests the proofs-of-concept for the validation code. It is not currently integrated into the test suites or CI. * Fix contract name * Add cap9-build to link in sycalls * Validate syscalls. * Functioning syscall linking and validation (albeit very messy) * Change toolchain version * Use cross platform CWD. * Use no_std in native validator * Clean up cap9-build logging * Add toolchain to native-validator * Move validation code into separate lib * Switch to HTTP transport for tests This is what I'd used previously and it had always worked well for me. * Experiment with circleci * Remove SolC * Only build ewasm * Change parity command * Fix directory * Build wasm-build 0.6.0 * Fix parity url * Fix directory to run parity * Fix location of cargo.lock * Fix parity path * Don't need to kill database * Fix Cargo.lock path * Remove reference to Cargo.lock, which is not commited * Correct specification of dev dependencies * Fix no_std build * Fix std build * Add get_code_size to the kernel * Use custom parity node in CI * Fix installation of parity * circleci: install cmake * circleci: use the right package manager * circleci: needed privileges * circleci: add more dependencies * circleci: remove gflags * circleci: try different gflags package name * circleci: add perl and yasm * circleci: see if we can use parity's image * circleci: remove sudo * circleci: remove install line * circleci: try building parity's branch * Copy example from parity's docker image * circleci: actually clone parity * circleci: switch to stable parity * circleci: build syn first * circleci: build syn from git * circleci: dev build * circleci: build 1 package at a time * circleci: save cache after parity build * Revert "circleci: save cache after parity build" This reverts commit df48168. * circleci: save cache after parity build * circleci: checkout code * circleci: restore cache * circleci: cache parity builds * circleci: version bump deps * circleci: install parity stage * circleci: don't update rust * circleci: set default toolchain * circleci: reorder rustup * circleci: check for the existence of cargo * circleci: only install not build then install * circleci: install this package * circleci: formatting * Don't update rust * circleci: cache rustup * circleci: update PATH * circleci: checkout code * circleci: fix .profile * circleci: force overwrite of parity node * circleci: wrong line * circleci: add log line * circleci: more log lines * circleci: fix cache path * circleci: properly namespace directories * circleci: fix yaml syntax error * circleci: install nodejs * circleci: add repo for nodejs * circleci: add missing -y * circleci: install newer version of node * circleci: use .xz * circleci: switch parity to master * Build custom parity as part of ci (#152) * circleci: add more dependencies * circleci: remove gflags * circleci: try different gflags package name * circleci: add perl and yasm * circleci: see if we can use parity's image * circleci: remove sudo * circleci: remove install line * circleci: try building parity's branch * Copy example from parity's docker image * circleci: actually clone parity * circleci: switch to stable parity * circleci: build syn first * circleci: build syn from git * circleci: dev build * circleci: build 1 package at a time * circleci: save cache after parity build * Revert "circleci: save cache after parity build" This reverts commit df48168. * circleci: save cache after parity build * circleci: checkout code * circleci: restore cache * circleci: cache parity builds * circleci: version bump deps * circleci: install parity stage * circleci: don't update rust * circleci: set default toolchain * circleci: reorder rustup * circleci: check for the existence of cargo * circleci: only install not build then install * circleci: install this package * circleci: formatting * Don't update rust * circleci: cache rustup * circleci: update PATH * circleci: checkout code * circleci: fix .profile * circleci: force overwrite of parity node * circleci: wrong line * circleci: add log line * circleci: more log lines * circleci: fix cache path * circleci: properly namespace directories * circleci: fix yaml syntax error * circleci: install nodejs * circleci: add repo for nodejs * circleci: add missing -y * circleci: install newer version of node * circleci: use .xz * circleci: switch parity to master * validation: update whitelist and reorder to match parity. * validation: add EXTCODECOPY and simple test * Validation merge (#154) * circleci: add more dependencies * circleci: remove gflags * circleci: try different gflags package name * circleci: add perl and yasm * circleci: see if we can use parity's image * circleci: remove sudo * circleci: remove install line * circleci: try building parity's branch * Copy example from parity's docker image * circleci: actually clone parity * circleci: switch to stable parity * circleci: build syn first * circleci: build syn from git * circleci: dev build * circleci: build 1 package at a time * circleci: save cache after parity build * Revert "circleci: save cache after parity build" This reverts commit df48168. * circleci: save cache after parity build * circleci: checkout code * circleci: restore cache * circleci: cache parity builds * circleci: version bump deps * circleci: install parity stage * circleci: don't update rust * circleci: set default toolchain * circleci: reorder rustup * circleci: check for the existence of cargo * circleci: only install not build then install * circleci: install this package * circleci: formatting * Don't update rust * circleci: cache rustup * circleci: update PATH * circleci: checkout code * circleci: fix .profile * circleci: force overwrite of parity node * circleci: wrong line * circleci: add log line * circleci: more log lines * circleci: fix cache path * circleci: properly namespace directories * circleci: fix yaml syntax error * circleci: install nodejs * circleci: add repo for nodejs * circleci: add missing -y * circleci: install newer version of node * circleci: use .xz * circleci: switch parity to master * validation: update whitelist and reorder to match parity. * validation: add EXTCODECOPY and simple test * cap9-build: increase the amount of available memory in kernel * kernel: link in basic validation code for testing * example_contact: expand * cap9-build: properly pass the number of memory pages * kernel: LTO needs to be turned off for mem access bug workaround * kernel: unlock more tests * kernel: switch to git version of parity-wasm * kernel: use wasm module type exposed by validator * kernel: set number of memory pages to 3 * kernel: panic on inability to parse wasm * kernel: test simple procedure contract * Switch to manual parsing for validation (#157) * wasm-parser: remove parity-wasm dependency * wasm-parser: proof of basic idea * wasm-parser: import instruction mappings from parity-wasm * wasm-parser: build and link with kernel * wasm-parser: fix parsing of import entries * wasm-parser: add missing file * kernel: add test script * wasm-parser: minor cleanup * circleci: don't force rebuild of parity-ethereum * kernel: update tests to be more accurate * kernel: update nightly version for alloc crate * circleci: fix error with parity installation * circleci: fix error in previous commit * wasm-parser: reinclude alloc * wasm-parser: merge Cursor and CodeCursor * circleci: add example contract 2 * circleci: set-up environment for test * circleci: fix example_contract_2 build * wasm-parser: properly validate instructions in syscall * wasm-parser: fix import cursor progression * circleci: remove config step from parity * circleci: clear cache * remove and gitignore build files * validation: rustfmt and add tests * wasm-parse: refactor * wasm-parser: docs * validation: forbid indirect calls * validation: correct invalidation of bad dcall * wasm-parser: minor cleanup * kernel: skip unimplemented test * wasm-parser: check for varuint32 issues * wasm-parser: additional comments * whitespace
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Merging the two validation branches