97 Commits

Author SHA1 Message Date
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
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
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
renovate[bot]
c9a0b87a4c
fix(deps): update rust crate fluence-keypair to 0.10.4 (#752)
* Update ed25519-dalek and rand_chacha to compatible versions
* Make clippy happier

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ivan Boldyrev <ivan@fluence.one>
2023-12-26 04:13:57 +07:00
Mike Voronov
0a8827bb3c
chore: use resolver 2 and 2021 edition (#769) 2023-12-18 18:48:46 +03:00
Ivan Boldyrev
771d42dec4
feat(data)!: flexible serialization formats (#757)
New crate air_interpreter_sede introduces a flexible serialization and deserialization infrastructure.

Low level API: the Format trait and related. It includes simple and universal mechanisms for serializing any possible (e.g. implementing the Serde traits) value.

High level API: Representation trait and related. It allows declaring representation types that can serialize and deserialize only certain types (for example, InterpreterDataRepr can serialize only the InterpreterData, but deserialize InterpreterData and Versions` types), producing newtype values as serialization results.

The serialized representation of CallResults now contains byte arrays, not strings, because the new infrastructure serializes to byte arrays only.

Also, the basic support for multicodecs is added.
2023-12-15 21:23:09 +07:00
fluencebot
17d7ef6c5a
chore: release master (#751)
* chore: release master

* chore: Bump air-interpreter and air-near-contract version to 0.55.0
2023-12-13 00:15:36 +07:00
Ivan Boldyrev
524c30243b
feat(interpreter-cid,interpreter-data)!: Support for multiple hash types in CID verification (#722)
It will allow to change CID hash functions without breaking compatibility or use multiple CID hash functions.
2023-11-23 01:12:42 +07:00
renovate[bot]
523dd6b219
chore(deps): update rust crate serde_json to 1.0.108 (#742)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-03 00:15:56 +07:00
Ivan Boldyrev
15ce40a1cd
feat(interpreter-data)!: allow only deterministic signature algorithms (#734)
Some public signature algorithms require a RNG, but it is not
available in certain environments like smartcontracts.
2023-11-02 21:43:35 +07:00
renovate[bot]
55da7a64aa
chore(deps): update rust crate tracing to 0.1.40 (#745)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-29 21:18:50 +07:00
renovate[bot]
9558692421
chore(deps): update rust crate serde to 1.0.190 (#740)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-29 20:44:40 +07:00
renovate[bot]
10341c42fd
chore(deps): update rust crate thiserror to 1.0.50 (#744)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-29 20:10:26 +07:00
fluencebot
9bac51f24e
chore: release master (#725)
* chore: release master

* chore: Bump air-interpreter and air-near-contract version to 0.54.0

* Update minimal version to 0.54.0

---------

Co-authored-by: Ivan Boldyrev <ivan@fluence.one>
2023-10-26 20:56:52 +07:00
Ivan Boldyrev
776d81a1db
feat(interpreter-cid)!: use Blake3 for CIDs (#729)
Change to more efficient cryptography hash implementation.
2023-10-23 20:16:15 +07:00
renovate[bot]
1d02b426b5
chore(deps): update rust crate num-traits to 0.2.17 (#669)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 13:39:31 +03:00
renovate[bot]
88e7dba5f2
fix(deps): update rust crate fluence-keypair to 0.10.3 (#620)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-19 19:00:15 +03:00
fluencebot
cbc659e939
chore: release master (#721)
* chore: release master

* chore: Bump air-interpreter and air-near-contract version to 0.53.0
2023-10-16 17:15:16 +03:00
Ivan Boldyrev
c2108e0fa0
feat(execution-engine,test-utils,interpreter-data,interpreter-cid)!: Rc into CID (#718)
* Hide `Rc` inside `CID` type, making it cheap to clone.
* Introduce `CidRef` type that abstracts on `CID`'s inner type.

This change makes code cleaner, makes memory more optimal (single allocation vs two allocations) and makes it easier to change CID's internal representation from string to binary.
2023-10-16 20:35:42 +07:00
fluencebot
d2ad221597
chore: release master (#720)
* chore: release master

* chore: Bump air-interpreter and air-near-contract version to 0.52.0
2023-10-16 16:01:49 +03:00
fluencebot
0aa23318d9
chore: release master (#716) 2023-10-13 22:21:19 +03:00
Ivan Boldyrev
8a07613027
feat(aquavm-air)!: signature checking (#607) 2023-10-13 22:19:02 +03:00
fluencebot
8f23d90ece
chore: release master (#698)
* chore: release master

* chore: Bump air-interpreter and air-near-contract version to 0.48.0
2023-09-22 00:46:21 +03:00
fluencebot
244bed3326
chore: release master (#694)
* chore: release master

* chore: Bump air-interpreter and air-near-contract version to 0.47.0
2023-09-07 17:56:11 +07:00
fluencebot
3dd239dc10
chore: release master (#690) 2023-09-05 00:28:26 +02: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
Ivan Boldyrev
2b636e808a
feat(execution-engine,interpreter-data)!: insert state for canon join (#682)
If `canon` is to be executed on another peer and the particle is to be
sent here, current peer inserts canon request-sent-by state to avoid
repeated requests, similar to `call` instruction.
2023-08-29 18:18:42 +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
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
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
Mike Voronov
eca52b7191
feat(execution-engine)!: refactor streams [fixes VM-255] (#621)
Refactored stream and stream generation a lot, it introduces the following changes:
- no generation in data anymore, AquaVM relies on generation inside data to stay valid and places value accordingly to it
- stream is internally divided into previous, current, and new values, before, it was one array for all of them
- recursive streams cursors are refactored and rely on new generation values instead
- the Generation enum was refactored and now contains the source of the generation
2023-08-03 21:07:57 +03:00
Mike Voronov
6fd0385058
chore(execution-engine): refactor unseen canon stream creation (#636) 2023-07-20 23:11:55 +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
Mike Voronov
62fdd74805
chore: remove unused dependecies (#626)
remove unused dependecies
2023-07-03 12:31:56 +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
vms
fb5c73136d add AquaVM update guide 2023-06-27 11:23:35 +03: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
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
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
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
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]
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
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
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