Daohub-io / cap9

Capability-based security protocol for smart contracts
Apache License 2.0
22 stars 10 forks source link

Switch to manual parsing for validation #157

Closed JakeOShannessy closed 5 years ago

JakeOShannessy commented 5 years ago

I'm only merging this into the main validation branch but I'm doing it as a PR for visibility. The custom parser works and is able to link into the kernel and pass a smoke test. I was able to reuse the instruction parser from parity-wasm by wrapping it in a not inelegant way. Be warned this is currently 2 styles of parser smashed together so make no sense to read. Now that I have a firm handle of what needs to be done I should be able to produce something a little more solid.

This doesn't actually successfully validate procedures given our spec, but it does validate them roughly, the logic just needs to be updated.

JakeOShannessy commented 5 years ago

I'll merge once the tests pass.

JakeOShannessy commented 5 years ago

I've also update the nightly version. alloc, which we use has recently been stabilised (https://github.com/rust-lang/rfcs/pull/2480). If we use the previous version of nightly it would mean getting an error (or using extern crate alloc and getting a warning, but since we're on nightly anyway we may as well use a version that works cleanly).

Edit: actually we do have to use it, this version just won't emit a warning anymore.