765 Commits

Author SHA1 Message Date
Ivan Boldyrev
9b02be151d Run starlark benchmarks on Linux x64 2024-08-20 19:33:45 +03:00
Ivan Boldyrev
aa23ca4626 Run starlark benchmarks on MacOS M1 2024-08-20 17:58:14 +02:00
Ivan Boldyrev
2bbac7921f Add tracing to Starlark execute 2024-08-20 17:57:54 +02:00
Ivan Boldyrev
38f51b8759 Add Starlark benchmarks 2024-08-20 16:49:30 +02:00
Ivan Boldyrev
c38a1b9343 Implement RawString in testing-framework
Keep original string type to avoid incorrect transformed script
generation.
2024-08-20 15:34:26 +02:00
Ivan Boldyrev
7b746e3288 Support embed in testing-framework 2024-08-19 18:40:28 +02:00
Ivan Boldyrev
721e61eff7 Support raw strings in testing-framework 2024-08-19 18:02:26 +02:00
Ivan Boldyrev
9e2f123dc3 Fix typo 2024-08-08 18:57:32 +02:00
Ivan Boldyrev
aba0423106 Document embed instruction 2024-08-08 18:33:59 +02:00
Ivan Boldyrev
39dede12c1 make fmt happy 2024-08-08 17:15:20 +02:00
Ivan Boldyrev
7df9263011 fix last-minute change in tests 2024-08-08 16:45:55 +02:00
Ivan Boldyrev
9725bf9742 add embed_zip_reverse test 2024-08-08 16:14:18 +02:00
Ivan Boldyrev
c8f8297b3c add embed join behavior test 2024-08-07 10:49:02 +02:00
Ivan Boldyrev
97fe1cec4b Use raw strings #".."# for embed
1. `EmbedString` is removed from lexer
2. `#".."#` is parsed as a string.  It can contain quotation marks and
    hash signs inside, but `"#` combination ends it.

The raw strings can be used everywhere where string can be used.

`(#...#)` cannot be used because it can exist in real code (for example,
canon stream in call triplet).
2024-08-01 15:54:02 +02:00
Ivan Boldyrev
8a4bb18ca3 Make fmt happy 2024-08-01 13:19:26 +02:00
Ivan Boldyrev
646796ba79 Make clippy happy 2024-08-01 13:10:06 +02:00
Ivan Boldyrev
962830489e Update time@0.30.30 to 0.30.36 2024-08-01 12:59:44 +02:00
Ivan Boldyrev
5a7167475f embed args test 2024-08-01 00:04:04 +02:00
Ivan Boldyrev
d601a48238 Some comments 2024-08-01 00:04:04 +02:00
Ivan Boldyrev
fbfe9ff8ad Handle Starlark's fail in AquaVM 2024-08-01 00:04:04 +02:00
Ivan Boldyrev
5aa104d778 Revert "Simplify returning error"
This reverts commit 3300d870bcda76f904697c54e9392cf5a6085c0b.

It seems to be more convenient to work with typed result in the AquaVM.
2024-08-01 00:04:04 +02:00
Ivan Boldyrev
2fe198fb4a Test embed errors 2024-08-01 00:04:04 +02:00
Ivan Boldyrev
9239cb68d1 Execute embed statement 2024-08-01 00:04:04 +02:00
Ivan Boldyrev
f916166ed7 Remove dbg output 2024-08-01 00:04:04 +02:00
Ivan Boldyrev
0e4c9f5bdf Implement validator for embed 2024-08-01 00:04:04 +02:00
Ivan Boldyrev
e06aaa21be starlark's get_tetraplet returns list
As theoretically many tetraplets may be associated with a value,
we return all of them instead of just one.
2024-08-01 00:04:04 +02:00
Ivan Boldyrev
804ba8c2fa Add embed parser tests 2024-08-01 00:04:04 +02:00
Ivan Boldyrev
d6650f93bf More starlark tests 2024-08-01 00:04:04 +02:00
Ivan Boldyrev
224c5eeae7 Add embed syntax to AIR parser 2024-08-01 00:04:04 +02:00
Ivan Boldyrev
322101655f Add an embedded script support to AIR lexer
Everything between `(#` and `#)` is considered an embedded script.  The
script itself is not analyzed.
2024-08-01 00:04:04 +02:00
Ivan Boldyrev
5fb484617b Simplify returning error
Make `Fail` one of variants of the `ExecutionResult`, not a nested result.
2024-08-01 00:04:04 +02:00
Ivan Boldyrev
7d788e7c5d Arrange Starlark error handling
Make it more compatible with AquaVM approach
2024-08-01 00:04:04 +02:00
Ivan Boldyrev
2727fe5530 Add Starlark tetraplet and value tests 2024-08-01 00:04:04 +02:00
Ivan Boldyrev
6d209ca4b4 TODO catchable 2024-08-01 00:04:04 +02:00
Ivan Boldyrev
38cd002f18 Implement interpreter invocation 2024-08-01 00:04:01 +02:00
Ivan Boldyrev
a5e551d021 Implement starlark traits for JValue
Guarded by `starlark` feature flag.
2024-08-01 00:02:35 +02:00
fluencebot
12db38a6ec
chore: release master (#849)
Co-authored-by: Ivan Boldyrev <ivan@cloudless.dev>
air-test-utils-v0.18.3 aquavm-air-cli-v0.9.2 avm-server-v0.38.1 air-testing-framework-v0.11.3
2024-07-23 02:43:42 +07:00
Ivan Boldyrev
8454c48558
chore: Rust channel update dedicated to Panamerican Engineer's Day (#851)
* chore: Rust channel update dedicated to panamerican Engineer's Day

It fixes compilation issues with serde.

* chore(deps): update time to time@0.3.36
2024-07-23 01:45:55 +07:00
Ivan Boldyrev
58a5f3046a
fix(value): remove unused code (#850)
* fix(value): remove unused code

It breaks compilation.
2024-07-22 23:53:16 +07:00
Ivan Boldyrev
b684ca0b82
chore: Rust channel update dedicated to panamerican Engineer's Day (#847)
* chore: Rust channel update dedicated to panamerican Engineer's Day

It fixes compilation issues with serde.

* chore(deps): update time to time@0.3.36
2024-07-22 22:16:34 +07:00
Ivan Boldyrev
50b23c6d9f
fix(avm-server): remove unused AVM code (#848)
It breaks compilation on newer rustc versions.
2024-07-22 22:14:24 +07:00
fluencebot
c423434fa1
chore: release master (#846)
* chore: release master

* chore: Bump air-interpreter and air-near-contract version to 0.64.1
avm-client-v0.64.1 air-v0.64.1 aquavm-air-cli-v0.9.1 air-testing-framework-v0.11.2 air-test-utils-v0.18.2 air-interpreter-v0.64.1
2024-07-22 20:07:07 +07:00
Ivan Boldyrev
038637f94d
fix(execution-engine): quickfix for canon map iteration order (#845)
An O(n) quickfix for the canon map reverse iteration bug.
2024-07-22 18:38:21 +07:00
fluencebot
c611ae584b
chore: release master (#841)
* chore: release master

* chore: Bump air-interpreter and air-near-contract version to 0.64.0
air-test-utils-v0.18.1 air-beautifier-v0.5.0 air-interpreter-v0.64.0 air-testing-framework-v0.11.1 aquavm-air-cli-v0.9.0 air-v0.64.0 avm-client-v0.64.0 air-beautify-wasm-v0.4.0
2024-06-28 11:12:03 +01:00
Mike Voronov
4bdc881c7a
chore: change license to AGPL-3 (#844) 2024-06-26 12:34:36 +03:00
raftedproc
325cce2f54
feat(air)!: change fold over canon map iterator contents [fixes VM-620] (#843) 2024-06-25 13:39:16 +01:00
renovate[bot]
7eb99570d5
chore(deps): update rust crate cid to v0.11.1 (#837)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-26 03:42:52 +07:00
Ivan Boldyrev
acb07a3364
chore(deps): update rust crate borsh to 1.5.0 (#838) 2024-05-26 03:00:56 +07:00
Ivan Boldyrev
04bacb7039
feat(cli)!: hopon virtual instruction in the beautifier (#840)
AIR beautifier may output virtual `hopon` instruction based on specific pattern generated by the Aqua compiler.

The `air_beatifier::beatify` function has now an extra argument that determines if to perform the virtual instruction detection, giving more readable output.

The `air-beautify-wasm` crate has behavior of the `beautify` function changed: the functions now extracts virtual instructions, so it is a drop-in replacement for previous version with new functionality.  New exported function `beautify_raw` is added, that doesn't look for virtual instructions' patterns, formatting the code as is.
2024-05-24 19:27:51 +07:00
Ivan Boldyrev
79d1c11a0e
fix(dep): update air-near-contract deps (#839)
It fixes several vulnerabilities in deps
2024-05-14 12:56:36 +04:00