Commit Graph

718 Commits

Author SHA1 Message Date
Ivan Boldyrev
acb07a3364
chore(deps): update rust crate borsh to 1.5.0 (#838) 2024-05-26 03:00:56 +07:00
Ivan Boldyrev
04bacb7039
feat(cli)!: hopon virtual instruction in the beautifier (#840)
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.
2024-05-24 19:27:51 +07:00
Ivan Boldyrev
79d1c11a0e
fix(dep): update air-near-contract deps (#839)
It fixes several vulnerabilities in deps
2024-05-14 12:56:36 +04:00
renovate[bot]
d1f0e2fc32
chore(deps): update rust crate eyre to v0.6.12 [security] (#827)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-18 17:23:08 +07:00
renovate[bot]
20e102d8dd
chore(deps): update actions/setup-node action to v4 (#736)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-18 12:41:43 +03:00
renovate[bot]
2d87fa753f
chore(deps): update actions/setup-python action to v5 (#785)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-18 12:41:34 +03:00
renovate[bot]
5c586f5dcb
chore(deps): update google-github-actions/release-please-action action to v4 (#787)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-18 12:41:25 +03:00
renovate[bot]
6dd909b72c
chore(deps): update mozilla-actions/sccache-action action to v0.0.4 (#816)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-18 12:41:17 +03:00
renovate[bot]
5029a0c109
chore(deps): update baptiste0928/cargo-install action to v3 (#817)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-18 12:41:10 +03:00
fluencebot
c04d8f889e
chore: release master (#825)
* chore: release master

* chore: Bump air-interpreter and air-near-contract version to 0.63.0
2024-04-17 14:16:37 +04:00
Valery Antopol
bf9414e8d4
feat(runtime)!: switch to async marine (#815)
* bench results for sync marine

* WIP

* start updating tests

* most of initial issues fixed

* tests compile without warnings

* rustfmt

* merge with master

* use git dependency

* merge fix + fmt

* fix bench builder

* add Cargo.lock

* fix + fmt after merge

* fix build with latest marine

* use released marine
2024-04-15 19:17:17 +04:00
raftedproc
2bffc27a86
fix(avm-client)!: this fixes the last argument type for WASM module 'invoke' function (#824) 2024-02-26 14:40:35 +03:00
fluencebot
a600c1735c
chore: release master (#823) 2024-02-23 01:18:15 +03:00
Ivan Boldyrev
bab0c002f5
chore: Rust channel update dedicated to ENIAC Day (#822)
It requires updating minor version of curve25519-dalek and ahash crates in the
Cargo.lock.  If you need to use older version of nightly rustc, use
curve25519-dalek-4.1.1 and ahash-07.8/0.8.9.  It affects Cargo.lock only.
2024-02-23 04:29:22 +07:00
fluencebot
9cc62cbb9a
chore: release master (#821) 2024-02-22 14:05:33 +03:00
Valery Antopol
08e85478b4
feat!: update marine-rs-sdk to 0.14.0, remove all of json_path remains (#820)
* support call_parameters v2

* remove old comment

* use released marine

* fix test wasm

* update sdk marine use lens

* fix test module

* WIP fixing the tests to use lens

* WIP tetraplet field renaming test fixes

* rename more lambda to lens

* fix build

* Fix gen-bench-data compilation

* Update gen-bench-data Cargo.lock

* Fix signature tests

---------

Co-authored-by: drrtuy <roman@fluence.one>
Co-authored-by: Ivan Boldyrev <ivan@fluence.one>
2024-02-22 11:57:27 +04:00
fluencebot
b9f04dfbaf
chore: release master (#810)
* chore: release master

* chore: Bump air-interpreter and air-near-contract version to 0.60.0
2024-02-20 15:37:21 +03:00
raftedproc
5417c085ec
feat(performance)!: update perf database and trigger a minor version bump (#819) 2024-02-20 14:38:28 +03:00
raftedproc
2ed1901dbc
feat(avm-server): a convenience method to hide implementation from nox and fix for items ordering bug (#818) 2024-02-20 10:35:50 +03:00
raftedproc
5afd5cb3a1
feat(execution-engine): aquavm args limits (#811)
* feat(preparation,memory):  AquaVM preparation step now checks input arguments sizes [fixes VM-425]
2024-02-15 19:55:25 +03:00
Ivan Boldyrev
0d53f2bab1
feat(execution-engine): Rc-based JSON value (#813)
Use custom JSON value type with Rc inside.  It cannot be edited, but producing new values based on child element is very cheap.

This new type is used exclusively in AquaVM internals.  Interface APIs use serde_json's Value or JSON strings, as before.
---------

Co-authored-by: raftedproc <71657594+raftedproc@users.noreply.github.com>
2024-02-13 19:11:21 +07:00
raftedproc
f887ddddbc
chore(performance,test): periodic bench results sync (#812) 2024-02-05 10:58:02 +03:00
Ivan Boldyrev
9d4094dc99
chore(performance): use fluence-blake3 with wasm32 SIMD support (#806)
* chore(preformance): use fluence-blake3

Enable wasm32 SIMD on the appropriate target.  It gives a noticeable performance improvement.

The smaller memory size on benchmarks is due to unrelated stack size reduction.
2024-02-04 21:27:49 +07:00
Ivan Boldyrev
47420723bc
feat(cli): use eyre in air-cli (#808)
Instead of `anyhow`, use `eyre` to reduce number of deps.  The `eyre`
crate is already used in `avm-server` and `fluence-keypair`.
2024-01-31 00:43:47 +07:00
raftedproc
9bad40b3d7
feat(performance): reduced stack size (#799) 2024-01-28 16:24:12 +03:00
renovate[bot]
de562b0488
chore(deps): update rust crate eyre to 0.6.11 (#803)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-26 00:49:42 +07:00
Anatolios Laskaris
5c91bb86c4
chore: Remove redundant input (#807)
Fix
2024-01-25 17:22:15 +02:00
fluencebot
d0ca93c231
chore: release master (#797)
* chore: release master

* chore: Bump air-interpreter and air-near-contract version to 0.59.0
2024-01-24 20:41:11 +07:00
Valery Antopol
3375c7a3b6
feat(deps)!: update to marine runtime with memory limits and wasmtime (#768) 2024-01-24 17:16:33 +04:00
raftedproc
6c1cb289cc
fix(performance): avoiding particle data printout in errors 2024-01-23 11:50:00 +03:00
raftedproc
755456871a
chore(performance,tests): hybrid workload memory intensive test (#800) 2024-01-22 15:12:34 +03:00
Ivan Boldyrev
44407d2e7a
chore(bench): re-run on MacOS arm64 and Linux x64 (#798) 2024-01-15 21:56:01 +07:00
renovate[bot]
a33e853812
fix(deps): update rust crate marine-rs-sdk to 0.10.3 (#782)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-15 20:14:57 +07:00
raftedproc
1888de130c
chore(benches): this is a set of RAM intensive benchmarks to understand memory consumption patterns in AquaVM 2024-01-15 15:10:01 +03:00
fluencebot
d7d33ddb7f
chore: release master (#793)
* 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>
2024-01-11 18:56:03 +07:00
Ivan Boldyrev
d6b1da9bdc
feat(air,air-cli): pretty-printing binary interpreter data (#794)
Add new interpreter method `to_human_readable_data` and `air data` subcommand to convert binary data to JSON with indentation.
2024-01-11 17:46:16 +07:00
Ivan Boldyrev
0a680f8d2e chore(build): break circular dependency
With a legacy syntax hack.
2024-01-09 21:12:21 +01:00
Ivan Boldyrev
2e0b54c2d4
feat(data)!: Rkyv for InterprerterData (#783)
* Refactor out the `InterpreterDataEnvelope`

It is an envelope for the data that makes `version` info accessible in
standard non-changing way.  Inner data in `InterpreterDataEnv` is a binary blob.

* Use `rkyv` for `InterpreterData`
* `InterpreterDataEnvelope` uses MsgPack directly

It will be changed when `interpreter-sede` will support types with serde borrows.
2024-01-10 00:22:11 +07:00
renovate[bot]
1def8fc03c
chore(deps): update rust crate anyhow to 1.0.79 (#788)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-09 23:27:35 +07:00
fluencebot
38677832f6
chore: release master (#789)
* chore: release master

* chore: Bump air-interpreter and air-near-contract version to 0.57.0
2024-01-09 22:40:00 +07:00
Ivan Boldyrev
17482f078c
chore(build): remove risc-0 from workspace (#791)
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>
2024-01-09 21:14:34 +07:00
Ivan Boldyrev
325eea7e91
feat(interface)!: Use MessagePack for calls (#780)
Top-level structs use multicodec-prefixed MessagePack, the nested
structures (arguments, tetraplets) use just ordinary MessagePack.

* JS-compatible `CallResults`

Binary format implementations like `rmp-serde` do not bother converting keys from strings, unlike `serde_json`.
So, we use `CallResults` with string keys, as JS client cannot produce anything else.

---------

Co-authored-by: Mike Voronov <michail.vms@gmail.com>
2024-01-08 18:01:58 +07:00
Ivan Boldyrev
ccb8f025b7 fix(chore): syntax release-please/manifest.json 2024-01-08 11:35:47 +01:00
fluencebot
0d3ce3bcd9
chore: release master (#771)
* 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>
2024-01-08 17:32:49 +07:00
raftedproc
ab8a0e032d
chore(docs): an additional doc on fold (#750) 2024-01-04 00:44:44 +03:00
renovate[bot]
ecfabaa02d
chore(deps): update rust crate criterion to 0.5.1 (#746)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-03 19:13:01 +07:00
raftedproc
c6f157a6e3
feat(air-parser): VM-347 After next validator fold check (#774) 2023-12-28 20:48:16 +03:00
renovate[bot]
518bb95a17
fix(deps): update rust crate marine-call-parameters to 0.10.3 (#781)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-28 20:40:29 +07:00
Ivan Boldyrev
f1c7b43a1e
feat(data)!: values are binary blobs (#775)
* Store deserialize values as raw JSON values

Values are parsed on-demand.
---------

Co-authored-by: Mike Voronov <michail.vms@gmail.com>
2023-12-26 18:42:40 +07:00
raftedproc
b331fa4351
chore(perf): database data update (#779) 2023-12-26 09:35:25 +03:00