55 Commits

Author SHA1 Message Date
raftedproc
20afb79e3f
feat(execution-engine): a new :error: runtime attribute according with FLIP-11 [fixes VM-329] (#683)
* feat(execution-engine): a new :error: runtime attribute according with FLIP-11 [fixes VM-329]
2023-09-04 22:57:51 +03:00
fluencebot
46142f3163
chore: release master (#688)
* chore: release master

* chore: Bump air-interpreter and air-near-contract version to 0.45.0
2023-08-31 17:22:44 +07:00
Anatolios Laskaris
c41c101083
chore: Revert release and fix typo in release-please (#684)
* Fix component name

* Revert "chore: release master (#680)"

This reverts commit d6bd1c0348d163ae9b7d4c45b41399e84fd60ac0.
2023-08-31 10:48:50 +03:00
fluencebot
d6bd1c0348
chore: release master (#680)
* chore: release master

* chore: Bump air-interpreter version to 0.45.0
2023-08-29 19:36:08 +02:00
fluencebot
27a99fcca0
chore: release master (#668)
* chore: release master

* chore: Bump air-interpreter version to 0.44.0
2023-08-17 16:06:59 +03:00
Ivan Boldyrev
681ec35d07
chore(testing-framework): clearer triplet error message (#675)
* chore(testing-framework): clearer triplet error message

ATM service ID has to be a static string; make it more explicit in the
error message.
2023-08-16 17:39:57 +07:00
Valery Antopol
4b4e3bde83
feat: updating marine-rs-sdk minor version (#667)
* 1st polyplets update: minor marine-rs-sdk-main bump

* renovate manifest update

* update marine-rs-sdk

* update marine runtime

* bump minor versions
2023-08-09 22:11:45 +03:00
fluencebot
e5039086cd
chore: release master (#665) 2023-08-08 11:46:32 +03:00
fluencebot
b66c3346e2
chore: release master (#659)
Co-authored-by: Mike Voronov <michail.vms@gmail.com>
2023-08-04 17:04:29 +03:00
fluencebot
372b90496f
chore: release master (#634)
* chore: release master

* chore: Bump air-interpreter version to 0.43.0

---------

Co-authored-by: Mike Voronov <michail.vms@gmail.com>
2023-08-04 00:18:11 +03: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
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
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
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
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
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
Ivan Boldyrev
d5028942e4
feat(interpreter-data)!: New data format for calls (#501)
BREAKING CHANGE:
1. Call values in the trace have CID references to structures that have call arguments' hash and CID references to values and tetraplets.
2. If call value is unused, it is serialized with `Unused` variant, and CID references are not stored.

Previous data scheme was (Scalar as an example, other cases are similar):

```
Scalar(CID<JValue>) ---<value_store>----> JValue
```

New data scheme is much more sophisticated:

```
Scalar(CID<ServiceResultAggregate>) ---+
                                       |
  +----<service_result_store>----------+
  |
  +-------> ServiceResultAggregate:
               value_cid ------------<value_store>----> JValue
               tetraplet_cid --------<tetraplet_store>----> SecurityTetraplet
               argument_hash: String
```
`Stream` variant is similar, however, `Unused` is different: it has value CID only, but the value is not stored into the `value_store`:

```
Unused(Rc<CID<JValue>>) ---> X
```

Co-authored-by: Mike Voronov <michail.vms@gmail.com>
2023-03-21 19:12:04 +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 7aa5d4bef5a86085dc9ead723e8799a89bd544e7.
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
Ivan Boldyrev
a96a52db27
chore: fix some Cargo.tomls (#521)
* chore: fix some Cargo.tomls

* chore: publish `air-testing-framework`

As it is a dev dependency to `aquavm-air` crate.
2023-03-15 21:28:10 +07: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]
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
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 4ae3afc0daf5f791f08742c1d250bb5b191852f6.

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

This reverts commit c10f89b5e5856ed155da1dcb4784e73d63cc1bea.

* Disable link version

* Fix air
2023-02-27 16:10:34 +02:00
fluencebot
4ae3afc0da
chore: release master (#484) 2023-02-27 16:57:46 +03:00
fluencebot
c9eb5cd47a
chore: release master (#481) 2023-02-21 21:54:12 +03:00
renovate[bot]
91189a1d9d
chore(deps): update rust crate serde_json to 1.0.93 (#462)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-13 12:17:52 +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
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 3452b6b24d5b838241a353ff3a7a536899421fed.

* Fix

* Fix versions
2023-02-08 12:08:51 +02:00
fluencebot
3452b6b24d
chore(air-trace): release master (#452)
chore: release master
2023-02-07 21:33:57 +03:00
fluencebot
888b05bbd4
chore(air-trace): release master (#444) 2023-02-07 10:48:58 +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]
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
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
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
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
Ivan Boldyrev
004ce10abd
Make unstable clippy happy with clippy --fix (#402)
Most of changes either move variables into `format!` templates
or remove excessive clones.
2022-12-12 22:37:05 +07:00
Ivan Boldyrev
e5837e9171
feat(testing-framework): tetraplet behavior (#396)
`behavior=tetraplet` annotation crates a service that returns call's tetraplets
2022-12-01 17:33:59 +07:00
Ivan Boldyrev
843d2a1d7b
feat(testing-framework): testing parser improvements (#375)
* Introduce multiline call annotations

Call annotations have same format as `;`-annotations, but can allow
multiline JSON literals.  They look like `#| ...  |#` (that's Common Lisp syntax for multiline comments).

For example:

```
(call "peer_id" ("serv" "func") [a b] var)  #|
      map = {
        "0": null,
        "default": 42,
      }
   |#
```

* A JSON in the assertion parser doesn't have be last

We have been using nom's `rest` for JSON values.  Now we have a simple JSON parser
that recognizes JSON to be parsed with `serde_json`, and may have multiple JSON objects
within same assertion.

* Allow annotation after a compound form

It is attached to a rightmost nested element that has to be a `call` special form.
2022-11-25 17:56:23 +07:00
Ivan Boldyrev
4e86da7eda
feat(testing-framework): Testing framework major refactoring (#372)
1. Network can be shared between several execution, being used by an Rc-handle.
2. The neighborhood is just network's all peers with removed/inserted hosts delta with respect to network.
3. An AIR script is transformed into a separate value of type `TransformedAirScript`.  It allows running several
particles on the same parsed AIR script, sharing state.
4. `TestExecutor` was renamed to `AirScriptExecutor`.  It also has a constructor that accepts a `TransformedAirScript`.
2022-11-24 23:33:55 +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
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
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
Ivan Boldyrev
651b569a13
feat(testing-framework): allow exclamation mark (#364)
While exclamation mark is legacy feature in the lambda parser, people
seem to use it anyway, getting errors not always easy to understand.
2022-10-11 21:52:49 +07:00