Commit Graph

276 Commits

Author SHA1 Message Date
renovate[bot]
e90dc9285d
chore(deps): update rust crate lalrpop to 0.20.0 (#596)
* 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>
2023-06-28 03:12:04 +07:00
fluencebot
e4665a55fa
chore: release master (#614)
* chore: release master

* chore: Bump air-interpreter version to 0.41.0
2023-06-23 22:38:43 +07:00
fluencebot
c6627fe437
chore: release master (#553)
* 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>
2023-06-23 04:45:40 +07:00
Ivan Boldyrev
8ce8af3823
feat(avm-server,air-interpreter,aquavm-air)!: secret key and particle ID arguments (#593)
* 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>
2023-06-23 03:12:37 +07:00
Ivan Boldyrev
93c6899429
feat(aquavm-air-cli,performance_metering): memory size in performance report (#600)
* 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.
2023-06-08 20:22:11 +07:00
Ivan Boldyrev
f8b734abde
feat(aquavm-air,air-interpreter-signature,air-interpreter-data)!: Peer signatures (#598)
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.
2023-05-15 22:21:57 +07:00
renovate[bot]
5e7423bd06
chore(deps): update rust crate clap to 4.2.7 (#594)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-15 17:49:03 +07:00
renovate[bot]
80486ed6ad
chore(deps): update rust crate lalrpop to 0.19.12 (#588)
* chore(deps): update rust crate lalrpop to 0.19.12

* chore(deps): update rust crate lalrpop-util to 0.19.12

* Update generated files

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ivan Boldyrev <ivan@fluence.one>
2023-05-02 01:39:02 +07:00
renovate[bot]
da58640e31
chore(deps): update rust crate clap to 4.2.5 (#587)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-02 00:37:24 +07:00
renovate[bot]
97fc47d45c
chore(deps): update rust crate regex to 1.8.1 (#586)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-28 00:24:32 +07:00
renovate[bot]
b2e0545cfc
chore(deps): update rust crate tracing-subscriber to 0.3.17 (#585)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-26 23:29:49 +07:00
renovate[bot]
79faaa2c4c
chore(deps): update rust crate multihash to 0.18.1 (#581)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-19 02:11:05 +07:00
renovate[bot]
6a31f40515
chore(deps): update rust crate clap to 4.2.2 (#580)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-19 01:46:58 +07:00
renovate[bot]
f5c61af7e2
fix(deps): update rust crate marine-runtime to 0.26.3 (#558)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-13 03:13:03 +07:00
renovate[bot]
fc92309a6f
chore(deps): update rust crate clap to 4.2.1 (#572)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-12 18:46:26 +07:00
Ivan Boldyrev
d155bc7610
chore(benches): update benchmark data to new format (#559)
* feat(aquavm-air-cli): `run` fails if AquaVM fails
Unless `run --no-fail` is provided.  It will make benchmarks fail
on errors, unless you provide `--no-fail` to specific benchmark.

* Fix dashboard and network_explore benches
* Convert benchmark data to new format
* `performance_metering`: use dirs only

Ordinary files like README.md are not considered to be a benchmark.

* Update `benches/performance_metering/README.md`

* Fix performance report

Looks like performance reports was merged in wrong order: data is not
sorted by machine ID.  The sorting is needed for stable diffs.

* Run benchmarks on Macbook Air M1
2023-04-11 02:27:32 +07:00
renovate[bot]
3027f0be26
chore(deps): update rust crate lalrpop to 0.19.9 (#551)
* chore(deps): update rust crate lalrpop to 0.19.9
* Regenerate parsers

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ivan Boldyrev <ivan@fluence.one>
2023-04-10 17:55:42 +07:00
renovate[bot]
7d37c36d00
chore(deps): update rust crate serde_json to 1.0.95 (#571)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-10 15:56:12 +07:00
renovate[bot]
839c3200a9
chore(deps): update rust crate serde to 1.0.159 (#565)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-10 02:34:34 +07:00
renovate[bot]
85cf531de4
chore(deps): update rust crate multimap to 0.9.0 (#550)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-07 19:35:12 +07:00
renovate[bot]
76d263b4c8
fix(deps): update rust crate marine-runtime to 0.26.1 (#546)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-29 23:07:57 +07:00
renovate[bot]
8bcad8e3af
chore(deps): update rust crate regex to 1.7.3 (#549)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-27 22:59:39 +07:00
renovate[bot]
b0e771430f
chore(deps): update rust crate clap to 4.1.13 (#548)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-27 22:57:35 +07:00
Ivan Boldyrev
73c1ba70cc
feat(aquavm-air-cli)!: Usability enhancements (#540)
* Fix aquavm-air-cli release-please config
* Print a prompt when AIR is read from stdin
* Make `run --plain --data` arg optional
* Rename `... --data` to `... --current-data`
* Update AIR cli README
2023-03-27 16:27:01 +07:00
fluencebot
28cf5045b6
chore: release master (#542)
* chore: release master

* chore: Bump air-interpreter version to 0.39.0
2023-03-23 17:37:30 +07:00
renovate[bot]
2c8d02d271
chore(deps): update rust crate serde to 1.0.158 (#536)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-21 00:28:18 +07:00
renovate[bot]
ad1ab9ee81
chore(deps): update rust crate anyhow to 1.0.70 (#534)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-21 00:12:59 +07:00
renovate[bot]
282ff9de70
chore(deps): update rust crate thiserror to 1.0.40 (#537)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-20 23:23:46 +07:00
renovate[bot]
94708528ba
chore(deps): update rust crate clap to 4.1.11 (#535)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-20 23:20:57 +07:00
renovate[bot]
8388a95bf4
chore(deps): update rust crate bimap to 0.6.3 (#539)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-20 23:19:21 +07:00
fluencebot
eb55564369
chore: release master (#524)
* chore: release master

* chore: Bump air-interpreter version to 0.38.0
2023-03-15 17:32:29 +02:00
Anatolios Laskaris
a22e2dd3fb
chore: Revert "chore: release master (#520)" (#523)
Revert "chore: release master (#520)"

This reverts commit 7aa5d4bef5.
2023-03-15 17:21:47 +02:00
fluencebot
7aa5d4bef5
chore: release master (#520)
* chore: release master

* chore: Bump air-interpreter version to 0.38.0
2023-03-15 17:35:44 +03:00
Valery Antopol
126d5507c8
feat(avm)!: integrate Marine 0.26.0 (#461) 2023-03-15 17:11:53 +03:00
fluencebot
3ac1d03868
chore: release master (#515)
* chore: release master

* chore: Bump air-interpreter version to 0.37.1
2023-03-15 19:29:59 +07:00
Ivan Boldyrev
79ac153f1d
feat(tools): merge some tools into the air CLI tool (#509)
* feat(tools): merge some tools into the `air` CLI tool

`air-beautify` and `air-trace` are merged into a single `air` tool.  Its
crate name is `fluence-air-cli` as otherwise it confilicts with `air`
interpreter crate.  The tool has subcommands `beautify`, `run`
and `stats`.

* Add one-letter aliases to `air` CLI subcommands

+ `air beautify` => `air b`
+ `air run` => `air r`
+ `air stats` => `air s`

---------

Co-authored-by: Mike Voronov <michail.vms@gmail.com>
2023-03-15 16:59:30 +07:00
fluencebot
d99272f9d3
chore: release master (#491) 2023-03-14 19:08:48 +03:00
renovate[bot]
62da247c3a chore(deps): update rust crate semver to 1.0.17 (#510)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-13 15:59:38 +03:00
renovate[bot]
eb1425de25
chore(deps): update rust crate serde to 1.0.155 (#508)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-12 14:35:50 +07:00
renovate[bot]
f87d1cb373
chore(deps): update rust crate thiserror to 1.0.39 (#507)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-11 13:28:33 +03:00
renovate[bot]
16265f97b0
chore(deps): update rust crate serde to 1.0.154 (#506)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-11 13:28:15 +03:00
renovate[bot]
8c25dbe8f6
fix(deps): update rust crate marine-runtime to 0.25.0 (#498)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-07 11:05:12 +03:00
renovate[bot]
c985e39824
chore(deps): update rust crate serde_json to 1.0.94 (#499)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-07 11:04:55 +03:00
renovate[bot]
d9bdcff343
chore(deps): update rust crate clap to 4.1.8 (#496)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-07 11:04:36 +03:00
Mike Voronov
95b2d154ff
feat(execution-engine)!: make StreamDontHaveSuchGeneration uncatchable… (#492)
`StreamDontHaveSuchGeneration` is a catchable error that could be caught by a xor instruction and then handled by a user. But it makes no sense because this error could arise only iff smth went wrong during merging or when data is corrupted.
2023-03-02 22:22:13 +03:00
fluencebot
357ae63732
chore: release master (#488)
* chore: release master

* chore: Bump air-interpreter version to 0.35.5
2023-02-27 17:24:49 +03:00
Anatolios Laskaris
b4818c57de
chore(release-please): Fix release (#487)
* Revert "chore: release master (#484)"

This reverts commit 4ae3afc0da.

* Revert "fix(air-trace): set correct air verison (#486)"

This reverts commit c10f89b5e5.

* Disable link version

* Fix air
2023-02-27 16:10:34 +02:00
Valery Antopol
c10f89b5e5
fix(air-trace): set correct air verison (#486) 2023-02-27 16:43:12 +03:00
Mike Voronov
5e6863d4d5
feat(avm)!: improve anomaly detection (#479) 2023-02-21 20:28:56 +03:00
Mike Voronov
87f7e2f361
feat(execution-engine)!: make fold convergent wrt errors (#351)
fold over a stream was not convergent when errors are produced inside a fold body. After iteration, it produces if there were several errors, only the last one is bubbled up. But on the same peer, there could different last (and first) errors, and it'll become non-convergent and moreover non-deterministic.

After this PR fold won't bubble any errors to make execution convergent and deterministic. To obtain errors from a fold body one should wrap this body into xor and push errors into some stream. Then fold over this stream and handle errors.
2023-02-09 17:09:24 +03:00
fluencebot
5aa3c75875
chore: release master (#454)
* chore: release master

* chore: Bump air-interpreter-wasm version to 0.35.4
2023-02-08 15:28:17 +03:00
Anatolios Laskaris
c277676d43
chore: Force air-interpreter version (#459)
Set version
2023-02-08 14:22:45 +02:00
Anatolios Laskaris
e168d2a55e
chore(ci): Revert previous release, prepare for new release [fixed FLU-271] (#453)
* Add versions everywhere

* Revert "chore(air-trace): release master (#452)"

This reverts commit 3452b6b24d.

* Fix

* Fix versions
2023-02-08 12:08:51 +02:00
Mike Voronov
367546b82c
feat(trace-handler): improve data deserialization version check (#451) 2023-02-07 21:07:02 +03:00
renovate[bot]
881e303b14
chore(deps): update rust crate nom_locate to 4.1.0 (#439)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-07 01:38:44 +07:00
renovate[bot]
ff4667754a
chore(deps): update rust crate anyhow to 1.0.69 (#446)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-06 16:45:10 +03:00
renovate[bot]
c91fd625ad
chore(deps): update rust crate serde_bytes to 0.11.9 (#447)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-06 16:44:44 +03:00
renovate[bot]
84af9c6185
chore(deps): update rust crate serde_json to 1.0.92 (#448)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-06 16:44:20 +03:00
Ivan Boldyrev
c35eac0f01
fix(air-trace): air-trace native-only compilation fix (#429)
It was not correctly refactored in the #381.
Add a CI check for the `air-trace` native-only mode.
2023-02-06 19:59:47 +07:00
renovate[bot]
ac24507171
chore(deps): update rust crate clap to 4.1.4 (#435)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-06 19:05:10 +07:00
renovate[bot]
dacd4f074b
chore(deps): update rust crate regex to 1.7.1 (#433)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-24 22:29:00 +07:00
renovate[bot]
6c809e943d
chore(deps): update rust crate cid to 0.10.1 (#432)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-24 20:10:30 +07:00
renovate[bot]
a081e61507
chore(deps): update rust crate nom to 7.1.3 (#437)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-19 17:33:00 +07:00
Anatolios Laskaris
80e71783c8
chore: Update Cargo.lock (#428) 2023-01-09 17:22:30 +02:00
renovate[bot]
63c88e011e
chore(deps): update rust crate nom to 7.1.2 (#425)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-09 14:34:33 +07:00
Ivan Boldyrev
8f587b7803
feature(execution-engine): Canon data with CID (#419)
* Use CID values for tetraplets and `canon` vectors.

* Rename `cid_store` to `value_store`

It is consistent with the new `tetraplet_store` and `canon_store`
fields.

* Make canon data more typeful

The `CanonResult` doesn't take a JSON value anymore that is further
deserialized elsewhere, but is a struct that has all data deserialized.

* Typeful `CID` type

The `CID` type has a phantom type paramter defining its value's type.

* Group cid stores and trackers

Group cid stores into `CidInfo` struct, and trackers into `ExecutionCidState` struct.
2023-01-09 13:22:57 +07:00
renovate[bot]
f73e246a2e
chore(deps): update rust crate cid to 0.10.0 (#422)
* chore(deps): update rust crate cid to 0.10.0
* One has to update `cid` together with `multihash`

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ivan Boldyrev <ivan@fluence.one>
2023-01-02 17:14:41 +07:00
renovate[bot]
9b1e4d1bd8
chore(deps): update rust crate once_cell to 1.17.0 (#424)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-31 20:49:27 +07:00
Mike Voronov
86fce01e67
chore(execution-engine): more handy way to work with subgraph_complete (#416) 2022-12-28 14:09:03 +03:00
renovate[bot]
23b3cd6e8a
chore(deps): update rust crate serde_bytes to 0.11.8 (#406)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-27 21:58:38 +07:00
renovate[bot]
58748f48cd
chore(deps): update rust crate semver to 1.0.16 (#405)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Mike Voronov <michail.vms@gmail.com>
2022-12-27 01:20:34 +03:00
renovate[bot]
a4305fb0a6
chore(deps): update rust crate anyhow to 1.0.68 (#404)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Mike Voronov <michail.vms@gmail.com>
2022-12-27 00:45:51 +03:00
renovate[bot]
b01ad36cdb
chore(deps): update rust crate serde_json to 1.0.91 (#407)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-27 00:24:38 +03:00
renovate[bot]
25a7ae5e88
chore(deps): update rust crate clap to 4.0.32 (#410)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-27 00:20:59 +03:00
renovate[bot]
d9cfa9cf15
chore(deps): update rust crate thiserror to 1.0.38 (#408)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-27 00:19:10 +03:00
Ivan Boldyrev
89f7cd09f7
fix(interpreter-interface): Remove the cid field (#414)
The `InterpreterOutcome::cid` field is not really needed, but makes integration more difficult.
2022-12-26 23:20:11 +07:00
renovate[bot]
9cf326f1dd
chore(deps): update rust crate serde to 1.0.151 (#398)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-26 21:45:08 +07:00
renovate[bot]
3c24658919
chore(deps): update rust crate marine-runtime to 0.24.0 (#397)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-26 19:42:10 +07:00
Ivan Boldyrev
0226c062f8
feat!(execution-engine): Store call executed values as CIDs in the data (#401)
The trace stores CID strings for call result values.  These strings are to be resolved to real values with `InterpreterData::cid_store` map.
2022-12-26 15:45:14 +07:00
Mike Voronov
9fe7afb897
feat(all): reduce stream usage scope (#298)
This PR intended to reduce stream usage scope in order to make AquaVM truly deterministic.

Refs: #297.

Co-authored-by: Ivan Boldyrev <ivan@fluence.one>
Co-authored-by: Anatoly Laskaris <github_me@nahsi.dev>
2022-11-30 17:38:32 +03:00
renovate[bot]
7aba7024e5
chore(deps): update rust crate clap to 4.0.29 (#388)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-29 23:22:42 +03:00
Ivan Boldyrev
becdedc364
feat!(avm-server): Per-call current_peer_id (#381)
The current peer ID is passed as a new field of `TestRunParameters` named
`current_peer_id: String`, instead of creating an AVM with peer ID.

This is a breaking API change of `avm-interface` and `avm-server`.
2022-11-25 14:59:09 +07:00
renovate[bot]
d3bda16e71
fix(deps): update all non-major rust dependencies (#369)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-24 12:54:40 +03:00
Ivan Boldyrev
ea934ab9a9
air-beautify-wasm in the tree (#336)
1. Update wasm-bindgen in the wasm-air-beautify to make it buildable with rest of tree.
2. Rename `wasm-air-beautify` to `air-beautify-wasm`, to make it consistent
   with other packages.
3. Implement github workflows to build and deploy the `air-beautify-wasm` package.
2022-10-25 14:54:51 +07:00
renovate[bot]
bbc521ce53
fix(deps): update all non-major rust dependencies (#338)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-15 21:08:46 +03:00
renovate[bot]
fb32f33154
chore(deps): update rust crate pretty_assertions to v1 (#361)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-14 12:40:12 +03:00
Mike Voronov
8c3f9a3090
feat(interpreter-data): add interpreter version in data (#367) 2022-10-13 12:50:32 +03:00
Ivan Boldyrev
22fac9329e
feat(testing-framework): prevalidate AIR script (#365)
Try to parse the annotated AIR script with the standard parser to catch
to catch errors early with better error messages.

We do it in the `TestExecutor` only to make testing framwork parser
tests simplier.  For user experience, it doesn't matter.
2022-10-12 13:44:59 +07:00
Mike Voronov
bf8aee7f15
fix(execution-engine): fix invalid iteration over stream (#362)
This PR is mostly a revertion of #357, that is needed to make stream work correctly in fold itrerations.

Closes #363.
2022-10-11 01:41:22 +03:00
Ivan Boldyrev
076045124c
feat(testing) Testing framework chapter 1, asserts and comments (#342)
* seq_result` -> `seq_ok`; add `seq_err`

`seq_ok` and `seq_err` are consistent with `ok` and `err`, but produce
results sequentially.

* Accept `;;` and longer comments in the sexp parser

Currently they are just dropped, and resulting AIR has different
character positions in the error messages.

* Add "map" assertion

Lookup result in a map by service's first argument.
2022-10-11 01:05:20 +07:00
Mike Voronov
910f1665eb
fix(trace-handler): fix fold and canon compatibility (#357)
Fixes bug of traces divergence when `canon` is used inside `fold`.

Closes #356.
2022-10-09 12:56:12 +03:00
renovate[bot]
35a4fe4451
fix(deps): update rust crate clap to v4 (#344)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-29 03:45:06 +03:00
Ivan Boldyrev
4a2e8be178
refactor(parser): use AirPos type for AIR script position (#341)
Use a dedicated wrapper type for better type safety and self-documented code.
2022-09-29 00:16:37 +03:00
Mike Voronov
c85b2e2fbf
feat(execution-engine): change behaviour of fold over streams (#340)
feat(execution-engine): change behaviour of fold over streams

Change behaviour of fold over streams to make it more similar to pi-calculus channels/names (for more info see #333).

Closes #333.

BREAKING CHANGE:

The new stream behaviour is not compatible with old one, such as
```
(fold $stream iterator
   (seq
       (call ...)
       (next iterator)))
```
will never end after this change (for more info again see #333).
2022-09-28 22:03:54 +03:00
renovate[bot]
ad504bce8b
Update all non-major Rust dependencies (#330)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-19 14:07:34 +03:00
Anatoly Laskaris
ca62bd6066
chore: release (#329) 2022-09-13 19:08:47 +03:00
renovate[bot]
40bb3c843f
Update all non-major Rust dependencies (#323)
* Update all non-major Rust dependencies

* bump fluence-app-service version

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Valery Antopol <valery.antopol@gmail.com>
2022-09-13 19:03:18 +03:00
Ivan Boldyrev
89355d9da3
style: Misc clippy fixes (#327)
* Add warn(rust_2018_idioms) to remaining crates
 air-beautifier, air-beautify and air-trace now have this lint too.

* Fix more warnings
2022-09-13 20:54:57 +07:00
Valery Antopol
204b2be44d
Bump avm-server version to 0.26.0 (#317) 2022-09-09 16:56:03 +03:00
renovate[bot]
a77fb3395c
Update all non-major Rust dependencies (#321) 2022-09-09 13:36:19 +03:00