* 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>
* wip
* remove patch.crates-io section
* switch from Into to From
* fmt + Cargo.lock update
* try use marine-rs-sdk 0.9.0
* Revert "try use marine-rs-sdk 0.9.0"
This reverts commit 603c18fb71.
Refactored stream and stream generation a lot, it introduces the following changes:
- no generation in data anymore, AquaVM relies on generation inside data to stay valid and places value accordingly to it
- stream is internally divided into previous, current, and new values, before, it was one array for all of them
- recursive streams cursors are refactored and rely on new generation values instead
- the Generation enum was refactored and now contains the source of the generation
* chore(deps): update rust crate lalrpop to 0.20.0
* Update lalrpop-util to compatible version
* Fix code broken by the API change
* Regenerate parsers
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
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>
* chore(bench): update benchmark data
After recent data format changes.
* feat(aquavm-air-cli): send memory size to logger
* feat(performance_metering): report memory size
`performance_metering` collects memory sizes reported by `air run` and
reports minimal and maximal values.
A peer signs the multiset of call results and canon results it has produced.
New field signatures, a map from peer public key to signature, is added to the interpreter data.
Signatures verification is yet to be done.