Commit Graph

666 Commits

Author SHA1 Message Date
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
Ivan Boldyrev
eaa40778c7
feat(avm-client): implement pluggable formats in JS (#776)
For parsing and producing call requests and call results in
AquaVM-compatible way with JSON and MessagePack.

Multicodec representation is also supported, both JSON and MessagePack
can be used as input.
---------

Co-authored-by: Akim <59872966+akim-bow@users.noreply.github.com>
2023-12-25 21:54:26 +07:00
Anatolios Laskaris
674108506b
chore: Fix typos risc0 release please (#778)
* Fixes

* Remove from workspace
2023-12-22 14:39:20 +02:00
Anatolios Laskaris
3577b0fcb1
chore: Add risc0 to release-please (#777)
Add risc0 to release-please
2023-12-22 14:13:39 +02:00
Mike Voronov
26429eaca2
feat(air-cli)!: introduce risc-0 extension (#681) 2023-12-21 16:51:15 +03:00
Mike Voronov
f90e7d48a2
chore(deps): update near-sdk (#772) 2023-12-18 19:45:07 +03: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
renovate[bot]
05fda3ee16
fix(deps): update rust crate marine-rs-sdk to 0.10.2 (#733)
---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ivan Boldyrev <ivan@fluence.one>
2023-12-12 23:24:11 +07:00
Ivan Boldyrev
1673cdf06c
feat(air-parser)!: optimize Instruction type layout (#767)
Instead of being boxed for each node, the `Instruction` type contains a boxed variable-size elements.  Thus `Instruction` is quite lean, and the allocator deals with variable-sized elements.

Total number of allocations is more or less same, but less space is wasted for unused memory: previously the Instruction's size was 112 bytes in WASM, now it is 16.

It reduces memory consumption on large AIR scripts (heap size decreased from 7.7MiB to 4.625MiB in parser-10000-100, and for the new parser-calls-10000-100 benchmark, it decreased from 5.115MiB to 4.375MiB).

This is a breaking change as the API changes (though the code that navigates the parsed tree generally should work as is).
2023-12-12 19:50:41 +07:00
renovate[bot]
f1b6c48987
chore(deps): update rust crate multihash to 0.19.1 (#748)
* chore(deps): update rust crate multihash to 0.19.1
* Coordinated update of `cid` and `multihash` crates

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ivan Boldyrev <ivan@fluence.one>
2023-12-08 00:32:16 +07:00
Ivan Boldyrev
2c78fd5f7a
fix(avm-server): make avm_server::RunnerError a public type (#764)
* fix(avm-server): make avm_server::RunnerError a public type
* Make RunnerResult public too
* Remove stale submodule dir
* gitkeep `benches/performance_metering`
2023-12-07 18:29:26 +07:00
Ivan Boldyrev
a5b520d6fe
chore(benchmark): clear stale benchmark data (#763)
* chore(benchmark): clear stale benchmark data

Originally, benchmark util merge benchmark data, i.e. only inserted new
data in the benchmark store.  However, sometimes benches disappear, and
incorrect information is stored for them (i.e. AquaVM version which is
per-machine).

However, sometimes this functionality is useful, when you want to add a
new benchmark without running all the others.  For such case,
`aquavm_performance_metergin run --unsafe-merge-results` option is
added.

* Restore the `null` benchmark

* Do text report generation exactly one time

It was regenerated from 0 to N times before, and it is wrong.
2023-12-04 20:26:22 +07:00
Ivan Boldyrev
7428cb39b3
chore(benchmark): restore parser-10000-100 bench (#762)
A benchmark with empty datas that has long AIR code with lot of variable (re-)assignments.
2023-11-30 20:33:41 +07:00
Ivan Boldyrev
2b83ad1755
chore(benchmarks): call-requests and call-results benchmarks (#759) 2023-11-28 00:01:14 +07:00
Anatolios Laskaris
97be08e900
chore: Add benchmark workflow (#758)
* Add benchmark workflow

* Do not check for marine artifact

* Cache rust things

* Fix check

* Run on ubuntu latest

* fix

* Fix?

* No timeout

* Run bench on release of air

* Fix

---------

Co-authored-by: raftedproc <71657594+raftedproc@users.noreply.github.com>
2023-11-25 13:38:02 +02: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
Anatolios Laskaris
dc8afdeeff
chore: Update e2e [fixes FLU-480] (#755)
* Update e2e

* Fix
2023-11-21 13:44:07 +02:00
raftedproc
973e8aeea5
chore(tests): etalon benchmarking test for network team convenience (#754) 2023-11-13 21:22:54 +03:00
raftedproc
a8965e04ec
chore(benchmarking): data generators for a set of map-related benchmarks [fixes VM-345] (#735) 2023-11-08 16:22:17 +03:00
raftedproc
938e5eb033
fix(air-interpreter): enable multiple invoke_tracing calls for air-interpreter (#753) 2023-11-08 15:00:56 +03:00
raftedproc
1b7de5e659
chore(testing-framework): a new behavior to print service call parameters/result out to console (#723) 2023-11-08 14:10:05 +03: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
renovate[bot]
7d4dfb76ea
chore(deps): update rust crate multimap to 0.9.1 (#738)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-29 15:41:30 +07:00
renovate[bot]
229091944e
chore(deps): update rust crate clap to 4.4.7 (#737)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-29 15:12:27 +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
635352bc5d
feat(air-interpreter)!: enable signature generation and verification features (#731)
Make `gen_signatures` and `check_signature` features default.  This will be the first release with both features enabled.
2023-10-26 16:18:02 +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]
2b944eb348
chore(deps): update rust crate built to 0.7.1 (#730)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 16:02:33 +03:00
renovate[bot]
8bc81191d3
chore(deps): update rust crate hashbrown to 0.14.2 (#710)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 15:00:43 +03:00
renovate[bot]
48fed36251
chore(deps): update stefanzweifel/git-auto-commit-action action to v5 (#717)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 14:24:33 +03:00
renovate[bot]
2d7c7b0137
chore(deps): update rust crate clap to 4.4.6 (#709)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 14:20:52 +03:00
renovate[bot]
69eaefa4f8
chore(deps): update actions/checkout action to v4 (#703)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 13:59:02 +03:00
renovate[bot]
2da7f9c8dc
chore(deps): update baptiste0928/cargo-install action to v2.2.0 (#695)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 13:41:09 +03: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]
f73e220ed1
chore(deps): update rust crate log to 0.4.20 (#661)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 13:03:15 +03:00
renovate[bot]
ac37f598e6
chore(deps): update dependency typescript to v5 (#538)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 12:41:07 +03:00
renovate[bot]
4d4c946eaa
chore(deps): update rust crate regex to 1.10.2 (#603)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 12:11:13 +03:00
Ivan Boldyrev
5b6533bef1
chore(benches): update benchmarks after 1024 stream limit (#728) 2023-10-20 21:00:19 +07:00
raftedproc
ed8c90bd32
chore(submodules): get the bench submodule great again (#726) 2023-10-20 18:21:27 +07: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
Ivan Boldyrev
a84716dad6
chore(interpreter-cid): fix compilation with correct featureflag (#724)
fix(interpreter-cid): fix compilation with correct featureflag
2023-10-19 13:02:24 +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