Commit Graph

730 Commits

Author SHA1 Message Date
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
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
Mike Voronov
a66541de49
feat(execution-engine): introduce resolver (#574) 2023-04-12 16:09:12 +01: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]
499ee82903
chore(deps): update rust crate lalrpop-util to 0.19.9 (#552)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-10 23:39:22 +07:00
Orchimada
d62fa6fe60
feat(air): introduce explicit types for generation numbers (#530)
---------

Co-authored-by: vms <michail.vms@gmail.com>
Co-authored-by: Anatolios Laskaris <github_me@nahsi.dev>
2023-04-10 12:07:50 +01: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
Anatolios Laskaris
fe08a3846b
chore(ci): Do not upload artifacts when fork (#573)
Do not upload artifacts when fork
2023-04-10 13:29:36 +03: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]
695937d450
chore(deps): update rust crate num-traits to 0.2.15 (#570)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-10 03:22:22 +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]
648f297a2b
fix(deps): update rust crate marine-rs-sdk to 0.7.1 (#568)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-09 16:27:37 +01: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
raftedproc
b2116c7ea4
chore(trace-handler): fix fmt and clippy warnings (#567)
chore(trace-handler): remove some line breaks to sync with cargo fmt
2023-04-07 12:50:00 +03:00
raftedproc
658daf1d3f
feat(trace-handler): TracePos becomes a wrapper for u32 alias [fixes VM-267] (#544) 2023-04-05 11:50:15 +03:00
Anatolios Laskaris
a026512dcd
chore: Try different option to ignore dirs in renovate (#566)
Use different optioon
2023-04-04 19:27:39 +03:00