* Introduce first groundwork for Wasm executor.
* Remove old Rust-runtime code.
* Avoid commiting compled files.
* Add runtime precompile.
* Rename so module makes more sense.
* Further renaming.
* Ensure tests work.
* Allow bringing in of externalities.
- Add util functions/macros.
- Add uncompacted runtime.
- Add some external crates from pwasm-std for managing allocs/memory
stuff.
* Nice macros for imports.
* Allow passing in of data through allocators.
Make memcpy and malloc work.
Basic allocator.
* Can now pass in bytes to WasmExecutor.
* Additional cleanup.
* Switch usages of `OutData` to `u64`
No need to be able to return bytes anymore.
* convert to safe but extremely verbose type conversion.
@rphmeier any more concise way of doing this?
* Remove StaticExternalities distinction.
* Remove another unused use.
* Refactor wasm utils out
* Remove extraneous copies that weren't really testing anything.
* Try to use wasm 0.15
* Make it work!
* Call-time externalities working.
* Add basic externalities.
* Fix grumbles and note unwraps to be sorted.
* Test storage externality.
Unforunately had to change signatures of externalities to avoid
immutable function returning a reference. Not sure what to do about
this...
* Fix nits.
* Compile collation logic.
* Move back to refs. Yey.
* Remove "object" id for storage access.
* Fix test.
* Fix up rest of tests.
* remove unwrap.
* Expose set/get code in externalities
Also improve tests and add nice wrappers in rust-wasm.
* Add validator set.
* Introduce validator set into externalities and test.
* Add another external function.
* Remove code and validators; use storage for everything.
* Introduce validators function.
* Tests (and a fix) for the validators getter.
* Allow calls into runtime to return data.
* Remove unneeded trace.
* Make runtime printing a bit nicer.
* Create separate runtimes for testing and polkadot.
* Remove commented code.
* Use new path.
* Refactor into shared support module.
* Fix warning.
* Remove unwraps.
* Make macro a little less unhygenic.
* Add wasm files.
* candidate statement importing
* import votes on validity
* import availability votes
* candidate receipt type
* make table mod public
* test context for table
* add harness for tests
* some tests for misbehavior
* produce proposal from table
* count candidate issuance as implicit vote
* keep track of messages known by validators
* fix primitives compilation
* simple BFT agreement
* kill unused macro_use annotation
* tests for BFT agreement
* test for not concluding on different prepares
* return summary upon statement import
* accept bft agreement on proposal not locally submitted
* check justification set for BFT
* BFT rewrite: vote accumulator with tests
* squash some warnings
* a few more tests for the accumulator
* add sender to table's signed statement
* implement honest node strategy for BFT
* inex -> index
* import and broadcast lock proofs
* poll repeatedly when state changes
* don't broadcast advance vote immediately if locked
* do not check validity of locked candidate
* basic tests for the strategy
* remove unused context trait and fix warning
* address some review grumbles
* address some more review nits
* fix lock import logic and add a test
* fix spaces
* fix a couple more style grumbles
* more type-safe justifications
* rename Communication enum variants
* improve some panic guard proofs
* add trailing comma