* Update ed25519-dalek and rand_chacha to compatible versions
* Make clippy happier
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ivan Boldyrev <ivan@fluence.one>
For parsing and producing call requests and call results in
AquaVM-compatible way with JSON and MessagePack.
Multicodec representation is also supported, both JSON and MessagePack
can be used as input.
---------
Co-authored-by: Akim <59872966+akim-bow@users.noreply.github.com>
New crate air_interpreter_sede introduces a flexible serialization and deserialization infrastructure.
Low level API: the Format trait and related. It includes simple and universal mechanisms for serializing any possible (e.g. implementing the Serde traits) value.
High level API: Representation trait and related. It allows declaring representation types that can serialize and deserialize only certain types (for example, InterpreterDataRepr can serialize only the InterpreterData, but deserialize InterpreterData and Versions` types), producing newtype values as serialization results.
The serialized representation of CallResults now contains byte arrays, not strings, because the new infrastructure serializes to byte arrays only.
Also, the basic support for multicodecs is added.
* fix(avm-server): make avm_server::RunnerError a public type
* Make RunnerResult public too
* Remove stale submodule dir
* gitkeep `benches/performance_metering`
* chore: release master
* chore: Bump air-interpreter and air-near-contract version to 0.54.0
* Update minimal version to 0.54.0
---------
Co-authored-by: Ivan Boldyrev <ivan@fluence.one>
* chore: release master
* chore: Bump air-interpreter version to 0.40.0
* feat(aquavm-air): Set minimal supported version to 0.40.0
---------
Co-authored-by: Ivan Boldyrev <ivan@fluence.one>
* feat(avm-server)!: keypair and particle ID arguments
Add `&fluence_keypair::KeyPair` argument to `AVM::call` and
`AVMRunner::call`. This value is further forwarded in a deconstructed
form to WASM Air interpreter, but is not used there yet. Also,
`AVMRunner::call` gets `particle_id: String` argument.
feat(air-interpreter)!: `invoke` methods have three new arguments:
`key_format: u8`, `secret_key_bytes: Vec<u8>` and `paritcle_id: String`.
feat(aquavm-air): `air::execute_air` has two three arguments:
`key_format: u8`, `secret_key_bytes: Vec<u8>` and `paritcle_id: String`.
feat(aquavm-air-cli)!: add `--random-key`/`--ed25519-key file` options to AIR CLI.
* feat(avm-server)!: Add `RunnerError::KeypairError`
* chore(bench): Add signature performance benchmarks
These benchmarks contain valid signature, so they should work with
verification out of the box.
---------
Co-authored-by: Artsiom Shamsutdzinau <shamsartem@gmail.com>
Co-authored-by: folex <0xdxdy@gmail.com>