AIR beautifier may output virtual `hopon` instruction based on specific pattern generated by the Aqua compiler.
The `air_beatifier::beatify` function has now an extra argument that determines if to perform the virtual instruction detection, giving more readable output.
The `air-beautify-wasm` crate has behavior of the `beautify` function changed: the functions now extracts virtual instructions, so it is a drop-in replacement for previous version with new functionality. New exported function `beautify_raw` is added, that doesn't look for virtual instructions' patterns, formatting the code as is.
* chore: release master
* chore: Bump air-interpreter and air-near-contract version to 0.58.0
* Set minimal interpreter version to 0.58.0
---------
Co-authored-by: Ivan Boldyrev <ivan@fluence.one>
It seems that release-please doesn't handle these crates, not updating
dependency versions in the release pull request.
---------
Co-authored-by: Anatoly Laskaris <github_me@nahsi.dev>
* chore: release master
* chore: Bump air-interpreter and air-near-contract version to 0.56.0
* temporary disable risc-0
* remove the risc-0 part from the release-please at all
---------
Co-authored-by: Mike Voronov <michail.vms@gmail.com>
* 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>
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.
* chore(benchmark): clear stale benchmark data
Originally, benchmark util merge benchmark data, i.e. only inserted new
data in the benchmark store. However, sometimes benches disappear, and
incorrect information is stored for them (i.e. AquaVM version which is
per-machine).
However, sometimes this functionality is useful, when you want to add a
new benchmark without running all the others. For such case,
`aquavm_performance_metergin run --unsafe-merge-results` option is
added.
* Restore the `null` benchmark
* Do text report generation exactly one time
It was regenerated from 0 to N times before, and it is wrong.
* 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>