Commit Graph

546 Commits

Author SHA1 Message Date
renovate[bot]
786b111642
fix(deps): update rust crate marine-macro to 0.8.0 (#639)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-27 20:10:50 +03:00
raftedproc
8871465324
feat(air-parser): canon stream syntax (#618)
feat(air-parser): improved canon stream syntax support [fixes VM-293]
2023-07-25 12:38:10 +03:00
Mike Voronov
6bd60d48e7
chore(execution-engine): optimize StreamMapKey::from_kvpair (#638)
optimize StreamMapKey::from_kvpair
2023-07-25 11:15:37 +03:00
renovate[bot]
5e147161cf
chore(deps): update baptiste0928/cargo-install action to v2 (#547)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-25 08:36:20 +03:00
Ivan Boldyrev
5cbe79d619
chore: run llvm-cov on default features only (#637)
In the PR #607 tests are not compatible with some feautre flags yet.
Disable `llvm-cov`'s `--all-feautres` until all the tests are fixed.
For now, run `llvm-cov` only with default features.
2023-07-21 19:53:56 +03:00
Mike Voronov
6fd0385058
chore(execution-engine): refactor unseen canon stream creation (#636) 2023-07-20 23:11:55 +03:00
Mike Voronov
3fa8be0776
chore(execution-engine): move get_unique_map_keys_stream into StreamMap (#635) 2023-07-19 21:51:20 +03:00
Ivan Boldyrev
c530c93fcb
feat(air-test-utils): print_trace prints values (#633)
As traces contain CIDs for calls and canons, one cannot easily see
values produced.  Print them for convenience.
2023-07-18 19:59:58 +07:00
fluencebot
531956b9ba
chore: release master (#619)
* chore: release master

* chore: Bump air-interpreter version to 0.42.0
2023-07-17 21:55:56 +07:00
raftedproc
33a9d9f32f
feat(execution-engine)!: add error-code invariant check for match/mismatch (#622) 2023-07-16 17:53:01 +03:00
raftedproc
d195152320
feat(execution-engine)!: unfefined %last_error% now returns an empty … (#628)
feat(execution-engine)!: %last_eror%.$.message and $.error_code now return an empty string and 0 correspondingly [fixes VM-313]
2023-07-14 21:46:28 +03:00
Mike Voronov
d5a3f768af
chore: remove fstrings dep (#627)
* remove fstrings dep

---------

Co-authored-by: Ivan Boldyrev <ivan@fluence.one>
2023-07-14 20:02:19 +07:00
Ivan Boldyrev
adcf708c95
fix(air-beautifier): print fold's last_instruction (#630)
It was not printed before by mistake.
2023-07-14 18:40:05 +07:00
Ivan Boldyrev
75f5516c58
feat(aquavm-air)!: ap join behavior (#631)
* feat(aquavm-air)!: `ap` join behavior

Previously, `ap` of an undefined (first) variable was a catchable error.
Now `ap` has join behavior for its first argument.

It should simplify compiling Aqua to AIR.

Closes #632
2023-07-14 17:48:23 +07:00
Anatolios Laskaris
734952d762
chore: Renaming things (#615)
* Migrate aqua-playground to aqua repo

* Rename rust-peer to nox, fluence-cli to flox

* Update

* Fix

* Fix
2023-07-10 09:41:32 +03:00
Mike Voronov
62fdd74805
chore: remove unused dependecies (#626)
remove unused dependecies
2023-07-03 12:31:56 +03:00
raftedproc
fcb4c9dab4
feat(execution-engine)!: stream map to scalar conversion using canon instruction [fixes VM-294] (#610)
feat(execution-engine): Stream Map to Scalar conversion using canon instruction [fixes VM-294]
2023-06-28 13:59:16 +03:00
raftedproc
56a03364b1
chore(execution-engine): additional StreamMap positive tests [fixes VM-295] (#608)
chore(execution-engine): Additional StreamMap positive tests [fixes VM-295]
2023-06-28 12:24:58 +03:00
renovate[bot]
bba1becdce
chore(deps): update rust crate serde to 1.0.164 (#595)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-28 03:47:42 +07:00
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
Mike Voronov
be8c97c35c
chore(tests): add tests for topology hops (#616) 2023-06-27 21:09:10 +03:00
Mike Voronov
dadbba37e9
chore(core): fix variable checking (#617)
fix variable checking
2023-06-27 12:57:16 +03:00
vms
fb5c73136d add AquaVM update guide 2023-06-27 11:23:35 +03: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
shamsartem
5e36c223a4
feat!: set nodejs target for air-beautify (#613)
* feat: set nodejs target for air-beautify

BREAKING CHANGE: this package is now intended for use in nodejs

* change year

* Update tools/wasm/air-beautify-wasm/src/lib.rs
2023-06-23 16:37:09 +02:00
Ivan Boldyrev
c332cca6b7
chore(testing-framework)!: restore WASM test executor (#609)
* chore(testing-framework)!: fix WASM test runner

Native mode was used before because some package used native runner
for its tests.

This PR allows to explicitly select test runner for tests.  Many testing-framework
types are now parametrized with a runner type with almost compatible defaults.

* chore(testing-framework): Add `ReleaseWasmAirRunner`
* chore(testing-framework)!: Rename `AirScriptExecutor::simple` to `AirScriptExecutor::from_annotated`.
2023-06-23 19:28:28 +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
Anatolios Laskaris
f11ee86baa
chore: Automatically add e2e label on approved PR (#606)
* Automaically add e2e label when PR is approved

* Trigger when e2e label workflow changes

* Fix
2023-06-05 18:29:56 +03:00
raftedproc
9d7d34a452
feat(execution-engine): Stream Map initial support [fixes VM-283,VM-284] (#592)
feat(execution-engine): StreamMap initial support for ap and new instructions [fixes VM-283,VM-284]
2023-06-04 21:14:59 +03:00
Ivan Boldyrev
252d43b348
feat(air-interpreter-signatures): use (de)serialize_with (#605)
* feat(air-interpreter-signatures): use (de)serialize_with

Wrapper types do not hold strings anymore, but use `(de)serialize_with`
serde attributes to parse keys and signatures during parse time.

`PublicKey` and `Signature` traits implement `Deref` trait that returns
the inner value.
2023-06-04 20:06:31 +07:00
Mike Voronov
e1872208cc
chore(ci): remove redundant build.profiler (#597)
remove build.profiler
2023-06-02 22:52:58 +03: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
Ivan Boldyrev
1d98afeb34
feat(interpreter-data): Introduce source information for canon data (#577)
* `ValueAggregate` refactoring

0. Service results, canon results and literals are constructed as
   separate types that are further wrapped with `ValueAggregate`.
1. `ValueAggregate` is enum that contains all the provenance info.
2. Construction methods get provenance information as well.

* Rename CID state field

Prepare to adding a canon CID field: rename `canon_tracker`/`canon_store`
to `canon_element_tracker`/`canon_element_store`.

* Add canon result store/tracker

* Rename some structs that have CIDs inside

Reflect explicitly that they contain CIDs inside:

`CanonResultAggregate` -> `CanonResultCidAggregate`
`ServiceResultAggregate` -> `ServiceResultCidAggregate`

---------

Co-authored-by: Mike Voronov <michail.vms@gmail.com>
2023-05-08 19:42:41 +07:00
raftedproc
b480e018b4
chore(trace-handler): sub/-trace len dedicated alias to replace usize [fixes VM-282] (#569)
feat(trace-handler): sub/-trace len dedicated alias to replace usize [fixes VM-282]
2023-05-02 16:32:18 +03: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
Anatolios Laskaris
789bbe3046
chore: Readd registry and fluence-cli [fixes FLU-314] (#563)
* Readd registry and fluence-cli

* Remove status

* Use fluence-cli from branch

* Checkout to branch

* Test

* Update branch

* Use main
2023-04-26 15:32:10 +03:00
Ivan Boldyrev
88fd1f3095
fix(execution-engine): Fold-over-scalar values' wrong lambda (#578)
* fix(air): Fold-over-scalar values had wrong lambda

Previously, iterator values in fold over scalar inherited tetraplet from
the scalar.  But for security guarantees, they should have `.[N]` lambda
added, where N is an element index.

When fold iterates over canon or stream, elements keep their original
tetraplet;  tests for that is added.
2023-04-19 18:22:46 +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
raftedproc
762b355385
chore: rust channel update dedicated to Yuri's Night (#579)
Co-authored-by: Anatolios Laskaris <github_me@nahsi.dev>
2023-04-18 18:19:53 +07:00
renovate[bot]
ad319cbe5a
chore(deps): update coverallsapp/github-action action to v2 (#533)
* chore(deps): update coverallsapp/github-action action to v2

* Update

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Anatoly Laskaris <github_me@nahsi.dev>
2023-04-18 11:06:23 +03:00
raftedproc
70f27f7cb6
fix(execution-engine): this removes an unused and impossible check (#575) 2023-04-13 17:48:14 +03:00
Mike Voronov
513d33a1c5
feat(execution-engine): remove stream jvaluable implementation (#576)
* remove JValuable implementation for streams

---------

Co-authored-by: Ivan Boldyrev <ivan@fluence.one>
2023-04-13 18:20:17 +07:00
renovate[bot]
138501fff9
fix(deps): update rust crate fluence-it-types to 0.4.1 (#545)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-13 16:25:19 +07:00