Rename Aqua to AIR, move AVM from FCE (#99)

This commit is contained in:
Mike Voronov 2021-05-10 14:25:34 +03:00 committed by GitHub
parent 0ddc44bf52
commit 2ac0304d3e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
123 changed files with 11960 additions and 5487 deletions

View File

@ -1,6 +1,6 @@
version: 2 version: 2
jobs: jobs:
aqua: air:
docker: docker:
- image: circleci/rust:latest - image: circleci/rust:latest
resource_class: medium+ resource_class: medium+
@ -11,7 +11,7 @@ jobs:
- checkout - checkout
- restore_cache: - restore_cache:
keys: keys:
- aqua01-{{ checksum "Cargo.lock" }} - air01-{{ checksum "Cargo.lock" }}
- run: | - run: |
rustup toolchain install nightly-2021-03-24-x86_64-unknown-linux-gnu rustup toolchain install nightly-2021-03-24-x86_64-unknown-linux-gnu
rustup default nightly-2021-03-24-x86_64-unknown-linux-gnu rustup default nightly-2021-03-24-x86_64-unknown-linux-gnu
@ -20,13 +20,13 @@ jobs:
rustup component add rustfmt rustup component add rustfmt
rustup component add clippy rustup component add clippy
cargo install --force fcli --git https://github.com/fluencelabs/fce cargo install --force fcli
# build a Wasm binary for interpreter # build a Wasm binary for interpreter
(cd interpreter; fce build --features fce) (cd air-interpreter; fce build --features fce)
# build Wasm binaries for tests # build Wasm binaries for tests
(cd interpreter-lib/tests/; ./build_test_binaries.sh) (cd air/tests/; ./build_test_binaries.sh)
cargo fmt --all -- --check --color always cargo fmt --all -- --check --color always
cargo check cargo check
@ -37,9 +37,9 @@ jobs:
paths: paths:
- ~/.cargo - ~/.cargo
- ~/.rustup - ~/.rustup
key: aqua01-{{ checksum "Cargo.lock" }} key: air01-{{ checksum "Cargo.lock" }}
workflows: workflows:
version: 2 version: 2
aqua: air:
jobs: jobs:
- aqua - air

View File

@ -36,7 +36,7 @@ jobs:
command: update command: update
- name: fce build --release - name: fce build --release
working-directory: ./interpreter working-directory: ./air-interpreter
shell: bash shell: bash
run: fce build --release --features fce run: fce build --release --features fce
@ -48,4 +48,4 @@ jobs:
prerelease: false prerelease: false
files: | files: |
LICENSE LICENSE
target/wasm32-wasi/release/aquamarine.wasm target/wasm32-wasi/release/air_interpreter_server.wasm

View File

@ -10,7 +10,7 @@ on:
jobs: jobs:
npm-publish: npm-publish:
name: "Publish Aquamarine to NPM & crates.io" name: "Publish AIR to NPM & crates.io"
runs-on: ubuntu-latest runs-on: ubuntu-latest
defaults: defaults:
run: run:
@ -64,14 +64,18 @@ jobs:
# JQ version regex pattern # JQ version regex pattern
PAT="\\\\d+.\\\\d+.\\\\d+" PAT="\\\\d+.\\\\d+.\\\\d+"
STEPPER_CARGO_TOML="interpreter/Cargo.toml" INTERPRETER_CARGO_TOML="interpreter/Cargo.toml"
CARGO_TOML="crates/air-interpreter-wasm/Cargo.toml" CARGO_TOML="crates/air-interpreter-wasm/Cargo.toml"
PACKAGE_JSON="avm/client/package.json"
# get package name from Cargo.toml # get package name from Cargo.toml
RS_PKG_NAME="$(toml get "$CARGO_TOML" package.name | tr -d \")" RS_PKG_NAME="$(toml get "$CARGO_TOML" package.name | tr -d \")"
JS_PKG_NAME="@fluencelabs/aquamarine-interpreter"
# get package name from package.json
JS_PKG_NAME="$(cat "$PACKAGE_JSON" | jq -r .name)"
# get version from Cargo.toml # get version from Cargo.toml
STEPPER_RUST_VERSION="$(toml get "$STEPPER_CARGO_TOML" package.version | tr -d \")" INTERPRETER_RUST_VERSION="$(toml get "$INTERPRETER_CARGO_TOML" package.version | tr -d \")"
LOCAL_RUST_VERSION="$(toml get "$CARGO_TOML" package.version | tr -d \")" LOCAL_RUST_VERSION="$(toml get "$CARGO_TOML" package.version | tr -d \")"
# get & increment version from NPM # get & increment version from NPM
@ -86,7 +90,7 @@ jobs:
NEXT_RS_VERSION="$(semver --increment patch "$MAX_RS_VERSION" || true)" NEXT_RS_VERSION="$(semver --increment patch "$MAX_RS_VERSION" || true)"
# take the highest version # take the highest version
MAX_VERSION="$(semver "$NEXT_JS_VERSION" "$NEXT_RS_VERSION" "$LOCAL_RUST_VERSION" "$STEPPER_RUST_VERSION" | tail -n1)" MAX_VERSION="$(semver "$NEXT_JS_VERSION" "$NEXT_RS_VERSION" "$LOCAL_RUST_VERSION" "$INTERPRETER_RUST_VERSION" | tail -n1)"
echo "FINAL_VERSION=$MAX_VERSION" | tee -a $GITHUB_ENV echo "FINAL_VERSION=$MAX_VERSION" | tee -a $GITHUB_ENV
echo "JS_PKG_NAME=$JS_PKG_NAME" | tee -a $GITHUB_ENV echo "JS_PKG_NAME=$JS_PKG_NAME" | tee -a $GITHUB_ENV
@ -97,7 +101,7 @@ jobs:
continue-on-error: true continue-on-error: true
- name: Build npm package - name: Build npm package
working-directory: npm working-directory: avm/client
run: | run: |
./build_wasm.sh ./build_wasm.sh
npm i npm i
@ -106,7 +110,7 @@ jobs:
### Set version ### Set version
- name: Set version to ${{ env.FINAL_VERSION }} - name: Set version to ${{ env.FINAL_VERSION }}
run: yarn version --new-version ${{ env.FINAL_VERSION }} --no-git-tag-version run: yarn version --new-version ${{ env.FINAL_VERSION }} --no-git-tag-version
working-directory: npm working-directory: avm/client
### Publish to NPM registry ### Publish to NPM registry
- uses: actions/setup-node@v1 - uses: actions/setup-node@v1
@ -115,7 +119,7 @@ jobs:
registry-url: "https://registry.npmjs.org" registry-url: "https://registry.npmjs.org"
- run: npm publish --access public - run: npm publish --access public
working-directory: npm working-directory: avm/client
env: env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
@ -131,16 +135,16 @@ jobs:
toml set Cargo.toml package.version "${{ env.FINAL_VERSION }}" | sponge Cargo.toml toml set Cargo.toml package.version "${{ env.FINAL_VERSION }}" | sponge Cargo.toml
) )
( (
cd interpreter-lib cd air
toml set Cargo.toml package.version "${{ env.FINAL_VERSION }}" | sponge Cargo.toml toml set Cargo.toml package.version "${{ env.FINAL_VERSION }}" | sponge Cargo.toml
) )
- name: Build aquamarine.wasm for node - name: Build air_interpreter_server.wasm for node
run: fce build --release -p aquamarine --features fce run: fce build --release -p air-interpreter --features fce
working-directory: interpreter working-directory: interpreter
- name: Copy aquamarine.wasm to air-interpreter-wasm - name: Copy air_interpreter_server.wasm to air-interpreter-wasm
run: cp target/wasm32-wasi/release/aquamarine.wasm crates/air-interpreter-wasm/aquamarine.wasm run: cp target/wasm32-wasi/release/air_interpreter_server.wasm crates/air-interpreter-wasm/air_interpreter_server.wasm
- name: Set project version to ${{ env.FINAL_VERSION }} - name: Set project version to ${{ env.FINAL_VERSION }}
run: | run: |

View File

@ -71,8 +71,9 @@ jobs:
yarn global add semver yarn global add semver
PATH="$(yarn global bin):$PATH" PATH="$(yarn global bin):$PATH"
INTERPRETER_CARGO_TOML="interpreter/Cargo.toml" INTERPRETER_CARGO_TOML="air-interpreter/Cargo.toml"
CARGO_TOML="crates/air-interpreter-wasm/Cargo.toml" CARGO_TOML="crates/air-interpreter-wasm/Cargo.toml"
PACKAGE_JSON="avm/client/package.json"
# sanitize branch name so it can be used as a semver suffix (replace [^0-9a-zA-Z-] with hyphen) # sanitize branch name so it can be used as a semver suffix (replace [^0-9a-zA-Z-] with hyphen)
SANITIZED_BRANCH="$(echo -n "${{ env.BRANCH_NAME }}" | tr -C '[:alnum:]-' -)" SANITIZED_BRANCH="$(echo -n "${{ env.BRANCH_NAME }}" | tr -C '[:alnum:]-' -)"
@ -81,7 +82,9 @@ jobs:
# get package name from Cargo.toml # get package name from Cargo.toml
PKG_NAME="$(toml get "$CARGO_TOML" package.name | tr -d \")" PKG_NAME="$(toml get "$CARGO_TOML" package.name | tr -d \")"
JS_PKG_NAME="@fluencelabs/aquamarine-interpreter"
# get package name from package.json
JS_PKG_NAME="$(cat "$PACKAGE_JSON" | jq -r .name)"
### NPM ### NPM
# take all versions from npm and replace single quotes with double quotes # take all versions from npm and replace single quotes with double quotes
@ -124,7 +127,7 @@ jobs:
continue-on-error: true continue-on-error: true
- name: Build npm package - name: Build npm package
working-directory: npm working-directory: avm/client
run: | run: |
./build_wasm.sh ./build_wasm.sh
npm i npm i
@ -132,7 +135,7 @@ jobs:
### Set version to FINAL_VERSION ### Set version to FINAL_VERSION
- run: yarn version --new-version ${{ env.FINAL_VERSION }} --no-git-tag-version || true - run: yarn version --new-version ${{ env.FINAL_VERSION }} --no-git-tag-version || true
working-directory: npm working-directory: avm/client
### Publish to NPM registry ### Publish to NPM registry
- uses: actions/setup-node@v1 - uses: actions/setup-node@v1
@ -141,7 +144,7 @@ jobs:
registry-url: "https://registry.npmjs.org" registry-url: "https://registry.npmjs.org"
- run: npm publish --access public --tag=beta - run: npm publish --access public --tag=beta
working-directory: npm working-directory: avm/client
env: env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
@ -153,14 +156,14 @@ jobs:
run: | run: |
PATH="~/.cargo/bin:$PATH" PATH="~/.cargo/bin:$PATH"
toml set Cargo.toml package.version "${{ env.FINAL_VERSION }}" | sponge Cargo.toml toml set Cargo.toml package.version "${{ env.FINAL_VERSION }}" | sponge Cargo.toml
working-directory: interpreter-lib working-directory: air
- name: Build aquamarine.wasm for node - name: Build air_interpreter_server.wasm for node
run: fce build -p aquamarine --release --features fce run: fce build -p air-interpreter --release --features fce
working-directory: interpreter working-directory: air-interpreter
- name: Copy aquamarine.wasm to air-interpreter-wasm - name: Copy air_interpreter_server.wasm to air-interpreter-wasm
run: cp target/wasm32-wasi/release/aquamarine.wasm crates/air-interpreter-wasm/aquamarine.wasm run: cp target/wasm32-wasi/release/air_interpreter_server.wasm crates/air-interpreter-wasm/air_interpreter_server.wasm
- name: Set project name@version to ${{ env.PKG_NAME }}@${{ env.FINAL_VERSION }} - name: Set project name@version to ${{ env.PKG_NAME }}@${{ env.FINAL_VERSION }}
run: | run: |

View File

@ -37,4 +37,4 @@ jobs:
publish_branch: gh-pages publish_branch: gh-pages
publish_dir: ./target/doc publish_dir: ./target/doc
force_orphan: true force_orphan: true
cname: aquamarine.fluence.dev cname: air.fluence.dev

2
.gitignore vendored
View File

@ -1,6 +1,6 @@
.idea/ .idea/
**/target **/target
interpreter-lib/target air/target
.DS_Store .DS_Store
.repl_history .repl_history
*.wasm *.wasm

View File

@ -1,22 +1,22 @@
## Version 0.1.3 (2020-11-11) ## Version 0.1.3 (2020-11-11)
- Switched to the new LALRPOP parser ([PR 13](https://github.com/fluencelabs/aquamarine/pull/13)): - Switched to the new LALRPOP parser ([PR 13](https://github.com/fluencelabs/air/pull/13)):
- arguments should be wrapped wit square braces [] - arguments should be wrapped wit square braces []
- empty results in call allowed and lead to forget a call result - empty results in call allowed and lead to forget a call result
- Added a few benchmarks - Added a few benchmarks
- Fixed behaviour of the Xor instruction with inner Par instructions ([PR 19](https://github.com/fluencelabs/aquamarine/pull/19)) - Fixed behaviour of the Xor instruction with inner Par instructions ([PR 19](https://github.com/fluencelabs/air/pull/19))
- Iterator in the Fold becomes resolvable ([PR 23](https://github.com/fluencelabs/aquamarine/pull/23)) - Iterator in the Fold becomes resolvable ([PR 23](https://github.com/fluencelabs/air/pull/23))
## Version 0.1.2 (2020-10-29) ## Version 0.1.2 (2020-10-29)
- Added new data format ([PR 12](https://github.com/fluencelabs/aquamarine/pull/12)): - Added new data format ([PR 12](https://github.com/fluencelabs/air/pull/12)):
- previously data was a hashmap with variable names to values, and now it is call evidence path that contains call and par evidence states - previously data was a hashmap with variable names to values, and now it is call evidence path that contains call and par evidence states
- logger is refactored and supports now several log targets - logger is refactored and supports now several log targets
- interpreter decoupled into two crates: `interpreter-lib` and `interpreter`. To build it for the FCE target the `fce` feature should be specified (`fce build --features fce`) - interpreter decoupled into two crates: `interpreter-lib` and `interpreter`. To build it for the FCE target the `fce` feature should be specified (`fce build --features fce`)
## Version 0.1.1 (2020-10-23) ## Version 0.1.1 (2020-10-23)
- Added join behaviour ([PR 11](https://github.com/fluencelabs/aquamarine/pull/11)): - Added join behaviour ([PR 11](https://github.com/fluencelabs/air/pull/11)):
- if `call` uses non existing variable, it is just being passed and isn't executed without any error - if `call` uses non existing variable, it is just being passed and isn't executed without any error
- `par` becomes completed when at least one of its subtree is completed - `par` becomes completed when at least one of its subtree is completed

216
Cargo.lock generated
View File

@ -4,13 +4,59 @@ version = 3
[[package]] [[package]]
name = "aho-corasick" name = "aho-corasick"
version = "0.7.15" version = "0.7.18"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5" checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
dependencies = [ dependencies = [
"memchr", "memchr",
] ]
[[package]]
name = "air"
version = "0.9.0"
dependencies = [
"air-interpreter-interface",
"air-parser",
"air-test-utils",
"boolinator",
"criterion",
"csv",
"env_logger",
"fluence",
"fluence-app-service",
"jsonpath_lib-fl",
"log",
"maplit",
"once_cell",
"polyplets",
"pretty_assertions",
"serde",
"serde_json",
"thiserror",
"wasm-bindgen",
]
[[package]]
name = "air-interpreter"
version = "0.9.0"
dependencies = [
"air",
"fluence",
"log",
"serde",
"serde_json",
"wasm-bindgen",
]
[[package]]
name = "air-interpreter-interface"
version = "0.5.0"
dependencies = [
"fluence",
"fluence-it-types",
"serde",
]
[[package]] [[package]]
name = "air-parser" name = "air-parser"
version = "0.7.0" version = "0.7.0"
@ -29,6 +75,22 @@ dependencies = [
"thiserror", "thiserror",
] ]
[[package]]
name = "air-test-module"
version = "0.1.0"
dependencies = [
"fluence",
]
[[package]]
name = "air-test-utils"
version = "0.1.0"
dependencies = [
"avm-server",
"fluence",
"serde_json",
]
[[package]] [[package]]
name = "ansi_term" name = "ansi_term"
version = "0.11.0" version = "0.11.0"
@ -44,69 +106,6 @@ version = "1.0.40"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28b2cd92db5cbd74e8e5028f7e27dd7aa3090e89e4f2a197cc7c8dfb69c7063b" checksum = "28b2cd92db5cbd74e8e5028f7e27dd7aa3090e89e4f2a197cc7c8dfb69c7063b"
[[package]]
name = "aqua-interpreter-interface"
version = "0.5.0"
dependencies = [
"fluence",
"fluence-it-types",
"serde",
]
[[package]]
name = "aqua-interpreter-interface"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ddaec44ed96baa11fbbefcad1a25c9bd3aca704398cb71d5b35eb879c9f2ac52"
dependencies = [
"fluence",
"fluence-it-types",
"serde",
]
[[package]]
name = "aqua-test-module"
version = "0.1.0"
dependencies = [
"fluence",
]
[[package]]
name = "aqua-test-utils"
version = "0.1.0"
dependencies = [
"aquamarine-vm",
"fluence",
"serde_json",
]
[[package]]
name = "aquamarine"
version = "0.9.0"
dependencies = [
"fluence",
"interpreter-lib",
"log",
"serde",
"serde_json",
"wasm-bindgen",
]
[[package]]
name = "aquamarine-vm"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "847f21c580fbb315673c1601a87101d5a1bcd4755cee6d5a0ed39ad92544cd44"
dependencies = [
"aqua-interpreter-interface 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
"fluence-faas",
"log",
"maplit",
"parking_lot 0.11.1",
"serde",
"serde_json",
]
[[package]] [[package]]
name = "array_tool" name = "array_tool"
version = "1.0.3" version = "1.0.3"
@ -151,6 +150,20 @@ version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
[[package]]
name = "avm-server"
version = "0.7.0"
dependencies = [
"air-interpreter-interface",
"fluence-faas",
"log",
"maplit",
"parking_lot 0.11.1",
"serde",
"serde_json",
"thiserror",
]
[[package]] [[package]]
name = "base64" name = "base64"
version = "0.13.0" version = "0.13.0"
@ -221,9 +234,9 @@ checksum = "cfa8873f51c92e232f9bac4065cddef41b714152812bfc5f7672ba16d6ef8cd9"
[[package]] [[package]]
name = "bstr" name = "bstr"
version = "0.2.15" version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a40b47ad93e1a5404e6c18dec46b628214fee441c70f4ab5d6942142cc268a3d" checksum = "90682c8d613ad3373e66de8c6411e0ae2ab2571e879d2efbf73558cc66f21279"
dependencies = [ dependencies = [
"lazy_static", "lazy_static",
"memchr", "memchr",
@ -464,9 +477,9 @@ dependencies = [
[[package]] [[package]]
name = "crossbeam-epoch" name = "crossbeam-epoch"
version = "0.9.3" version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2584f639eb95fea8c798496315b297cf81b9b58b6d30ab066a75455333cf4b12" checksum = "52fb27eab85b17fbb9f6fd667089e07d6a2eb8743d02639ee7f6a7a7729c9c94"
dependencies = [ dependencies = [
"cfg-if 1.0.0", "cfg-if 1.0.0",
"crossbeam-utils", "crossbeam-utils",
@ -477,9 +490,9 @@ dependencies = [
[[package]] [[package]]
name = "crossbeam-utils" name = "crossbeam-utils"
version = "0.8.3" version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7e9d99fa91428effe99c5c6d4634cdeba32b8cf784fc428a2a687f61a952c49" checksum = "4feb231f0d4d6af81aed15928e58ecf5816aa62a2393e2c82f46973e92a9a278"
dependencies = [ dependencies = [
"autocfg", "autocfg",
"cfg-if 1.0.0", "cfg-if 1.0.0",
@ -1015,31 +1028,6 @@ dependencies = [
"cfg-if 1.0.0", "cfg-if 1.0.0",
] ]
[[package]]
name = "interpreter-lib"
version = "0.9.0"
dependencies = [
"air-parser",
"aqua-interpreter-interface 0.5.0",
"aqua-test-utils",
"boolinator",
"criterion",
"csv",
"env_logger",
"fluence",
"fluence-app-service",
"jsonpath_lib-fl",
"log",
"maplit",
"once_cell",
"polyplets",
"pretty_assertions",
"serde",
"serde_json",
"thiserror",
"wasm-bindgen",
]
[[package]] [[package]]
name = "inventory" name = "inventory"
version = "0.1.10" version = "0.1.10"
@ -1200,9 +1188,9 @@ dependencies = [
[[package]] [[package]]
name = "lock_api" name = "lock_api"
version = "0.4.3" version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a3c91c24eae6777794bb1997ad98bbb87daf92890acab859f7eaa4320333176" checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb"
dependencies = [ dependencies = [
"scopeguard", "scopeguard",
] ]
@ -1224,9 +1212,9 @@ checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
[[package]] [[package]]
name = "memchr" name = "memchr"
version = "2.3.4" version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525" checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc"
[[package]] [[package]]
name = "memmap" name = "memmap"
@ -1369,7 +1357,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb" checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb"
dependencies = [ dependencies = [
"instant", "instant",
"lock_api 0.4.3", "lock_api 0.4.4",
"parking_lot_core 0.8.3", "parking_lot_core 0.8.3",
] ]
@ -1396,7 +1384,7 @@ dependencies = [
"cfg-if 1.0.0", "cfg-if 1.0.0",
"instant", "instant",
"libc", "libc",
"redox_syscall 0.2.6", "redox_syscall 0.2.8",
"smallvec", "smallvec",
"winapi", "winapi",
] ]
@ -1437,9 +1425,9 @@ dependencies = [
[[package]] [[package]]
name = "pico-args" name = "pico-args"
version = "0.4.0" version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d70072c20945e1ab871c472a285fc772aefd4f5407723c206242f2c6f94595d6" checksum = "7d7afeb98c5a10e0bffcc7fc16e105b04d06729fac5fd6384aebf7ff5cb5a67d"
[[package]] [[package]]
name = "plotters" name = "plotters"
@ -1580,9 +1568,9 @@ checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
[[package]] [[package]]
name = "redox_syscall" name = "redox_syscall"
version = "0.2.6" version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8270314b5ccceb518e7e578952f0b72b88222d02e8f77f5ecf7abbb673539041" checksum = "742739e41cd49414de871ea5e549afb7e2a3ac77b589bcbebe8c82fab37147fc"
dependencies = [ dependencies = [
"bitflags", "bitflags",
] ]
@ -1600,9 +1588,9 @@ dependencies = [
[[package]] [[package]]
name = "regex" name = "regex"
version = "1.4.6" version = "1.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a26af418b574bd56588335b3a3659a65725d4e636eb1016c2f9e3b38c7cc759" checksum = "ce5f1ceb7f74abbce32601642fcf8e8508a8a8991e0621c7d750295b9095702b"
dependencies = [ dependencies = [
"aho-corasick", "aho-corasick",
"memchr", "memchr",
@ -1620,9 +1608,9 @@ dependencies = [
[[package]] [[package]]
name = "regex-syntax" name = "regex-syntax"
version = "0.6.23" version = "0.6.25"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24d5f089152e60f62d28b835fbff2cd2e8dc0baf1ac13343bef92ab7eed84548" checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
[[package]] [[package]]
name = "rust-argon2" name = "rust-argon2"
@ -1804,9 +1792,9 @@ checksum = "1e81da0851ada1f3e9d4312c704aa4f8806f0f9d69faaf8df2f3464b4a9437c2"
[[package]] [[package]]
name = "syn" name = "syn"
version = "1.0.71" version = "1.0.72"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ad184cc9470f9117b2ac6817bfe297307418819ba40552f9b3846f05c33d5373" checksum = "a1e8cdbefb79a9a5a65e0db8b47b723ee907b7c7f8496c76a1770b5c310bab82"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -1957,9 +1945,9 @@ checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
[[package]] [[package]]
name = "unicode-xid" name = "unicode-xid"
version = "0.2.1" version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
[[package]] [[package]]
name = "uuid" name = "uuid"

View File

@ -1,18 +1,19 @@
[workspace] [workspace]
members = [ members = [
"air",
"air-interpreter",
"crates/air-parser", "crates/air-parser",
"crates/polyplets", "crates/polyplets",
"crates/interpreter-interface", "crates/interpreter-interface",
"crates/test-module", "crates/test-module",
"crates/test-utils", "crates/test-utils",
"interpreter", "avm/server",
"interpreter-lib"
] ]
exclude = [ exclude = [
"air/tests/security_tetraplets/auth_module",
"air/tests/security_tetraplets/log_storage",
"crates/air-interpreter-wasm", "crates/air-interpreter-wasm",
"interpreter-lib/tests/security_tetraplets/auth_module",
"interpreter-lib/tests/security_tetraplets/log_storage",
] ]
[profile.release] [profile.release]

View File

@ -1,12 +1,12 @@
modules_dir = "./target/wasm32-wasi/release/" modules_dir = "./target/wasm32-wasi/release/"
[[module]] [[module]]
name = "aqua_test_module" name = "air_test_module"
mem_pages_count = 100 mem_pages_count = 100
logger_enabled = true logger_enabled = true
[[module]] [[module]]
name = "aquamarine" name = "air_interpreter_server"
mem_pages_count = 100 mem_pages_count = 100
logger_enabled = true logger_enabled = true

View File

@ -1,5 +1,5 @@
[![crates.io version](https://img.shields.io/crates/v/air-interpreter-wasm?style=flat-square)](https://crates.io/crates/air-interpreter-wasm) [![crates.io version](https://img.shields.io/crates/v/air-interpreter-wasm?style=flat-square)](https://crates.io/crates/air-interpreter-wasm)
[![npm version](https://img.shields.io/npm/v/@fluencelabs/aquamarine-interpreter)](https://www.npmjs.com/package/@fluencelabs/aquamarine-interpreter) [![npm version](https://img.shields.io/npm/v/@fluencelabs/air-interpreter)](https://www.npmjs.com/package/@fluencelabs/air-interpreter)
# Aquamarine # Aquamarine
@ -15,7 +15,7 @@
## Fluence stack ## Fluence stack
Fluence [nodes](https://github.com/fluencelabs/fluence) use aquamarine to coordinate requests between different services run by [FCE](https://github.com/fluencelabs/fce): Fluence [nodes](https://github.com/fluencelabs/fluence) uses AIR to coordinate requests between different services run by [Marine](https://github.com/fluencelabs/marine):
<br/> <br/>
<p align="center" width="100%"> <p align="center" width="100%">
@ -88,4 +88,3 @@ Scripts written in AIR look like this:
- `null` takes no arguments - `null` takes no arguments
- does nothing, useful for code generation - does nothing, useful for code generation

View File

@ -1,20 +1,20 @@
[package] [package]
name = "aquamarine" name = "air-interpreter"
version = "0.9.0" version = "0.9.0"
authors = ["Fluence Labs"] authors = ["Fluence Labs"]
edition = "2018" edition = "2018"
[lib] [lib]
name = "aquamarine_client" name = "air_interpreter_client"
crate-type = ["cdylib"] crate-type = ["cdylib"]
path = "src/wasm_bindgen.rs" path = "src/wasm_bindgen.rs"
[[bin]] [[bin]]
name = "aquamarine" name = "air_interpreter_server"
path = "src/fce.rs" path = "src/fce.rs"
[dependencies] [dependencies]
interpreter-lib = { path = "../interpreter-lib" } air = { path = "../air" }
fluence = { version = "0.6.2", features = ["logger"] } fluence = { version = "0.6.2", features = ["logger"] }
@ -26,4 +26,4 @@ serde = { version = "=1.0.118", features = [ "derive", "rc" ] }
serde_json = "1.0" serde_json = "1.0"
[features] [features]
fce = ["interpreter-lib/fce"] fce = ["air/fce"]

View File

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
use interpreter_lib::parser::parse; use air::parser::parse;
/// Parse AIR script and return it as minified JSON /// Parse AIR script and return it as minified JSON
pub fn ast(script: String) -> String { pub fn ast(script: String) -> String {

View File

@ -29,17 +29,17 @@
mod ast; mod ast;
mod logger; mod logger;
use air::execute_air;
use air::InterpreterOutcome;
use fluence::fce; use fluence::fce;
use interpreter_lib::execute_aqua;
use interpreter_lib::InterpreterOutcome;
pub fn main() { pub fn main() {
logger::init_logger(); logger::init_logger();
} }
#[fce] #[fce]
pub fn invoke(init_peer_id: String, aqua: String, prev_data: Vec<u8>, data: Vec<u8>) -> InterpreterOutcome { pub fn invoke(init_peer_id: String, air: String, prev_data: Vec<u8>, data: Vec<u8>) -> InterpreterOutcome {
execute_aqua(init_peer_id, aqua, prev_data, data) execute_air(init_peer_id, air, prev_data, data)
} }
#[fce] #[fce]

View File

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
use interpreter_lib::log_targets::TARGET_MAP; use air::log_targets::TARGET_MAP;
pub fn init_logger() { pub fn init_logger() {
let target_map = TARGET_MAP.iter().cloned().collect(); let target_map = TARGET_MAP.iter().cloned().collect();

View File

@ -29,7 +29,7 @@
mod ast; mod ast;
mod logger; mod logger;
use interpreter_lib::execute_aqua; use air::execute_air;
use log::LevelFilter; use log::LevelFilter;
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
@ -42,13 +42,13 @@ pub fn main() {
} }
#[wasm_bindgen] #[wasm_bindgen]
pub fn invoke(init_peer_id: String, aqua: String, prev_data: Vec<u8>, data: Vec<u8>, log_level: &str) -> String { pub fn invoke(init_peer_id: String, air: String, prev_data: Vec<u8>, data: Vec<u8>, log_level: &str) -> String {
use std::str::FromStr; use std::str::FromStr;
let log_level = log::LevelFilter::from_str(log_level).unwrap_or(DEFAULT_LOG_LEVEL); let log_level = log::LevelFilter::from_str(log_level).unwrap_or(DEFAULT_LOG_LEVEL);
log::set_max_level(log_level); log::set_max_level(log_level);
let outcome = execute_aqua(init_peer_id, aqua, prev_data, data); let outcome = execute_air(init_peer_id, air, prev_data, data);
serde_json::to_string(&outcome).expect("Cannot parse InterpreterOutcome") serde_json::to_string(&outcome).expect("Cannot parse InterpreterOutcome")
} }

View File

@ -1,18 +1,18 @@
[package] [package]
name = "interpreter-lib" name = "air"
version = "0.9.0" version = "0.9.0"
authors = ["Fluence Labs"] authors = ["Fluence Labs"]
edition = "2018" edition = "2018"
[lib] [lib]
name = "interpreter_lib" name = "air"
path = "src/lib.rs" path = "src/lib.rs"
[dependencies] [dependencies]
air-parser = { path = "../crates/air-parser" } air-parser = { path = "../crates/air-parser" }
fluence = { version = "0.6.1", features = ["logger"] } fluence = { version = "0.6.1", features = ["logger"] }
polyplets = { path = "../crates/polyplets" } polyplets = { path = "../crates/polyplets" }
aqua-interpreter-interface = { path = "../crates/interpreter-interface" } air-interpreter-interface = { path = "../crates/interpreter-interface" }
serde = { version = "=1.0.118", features = [ "derive", "rc" ] } serde = { version = "=1.0.118", features = [ "derive", "rc" ] }
serde_json = "=1.0.61" serde_json = "=1.0.61"
@ -27,7 +27,7 @@ thiserror = "1.0.23"
wasm-bindgen = "=0.2.65" wasm-bindgen = "=0.2.65"
[dev_dependencies] [dev_dependencies]
aqua-test-utils = { path = "../crates/test-utils" } air-test-utils = { path = "../crates/test-utils" }
fluence-app-service = "0.7.0" fluence-app-service = "0.7.0"
criterion = "0.3.3" criterion = "0.3.3"

View File

@ -1,8 +1,8 @@
use aqua_test_utils::create_aqua_vm; use air_test_utils::create_avm;
use aqua_test_utils::unit_call_service; use air_test_utils::unit_call_service;
use aqua_test_utils::AquamarineVM; use air_test_utils::AVMError;
use aqua_test_utils::AquamarineVMError; use air_test_utils::InterpreterOutcome;
use aqua_test_utils::InterpreterOutcome; use air_test_utils::AVM;
use criterion::criterion_group; use criterion::criterion_group;
use criterion::criterion_main; use criterion::criterion_main;
@ -10,7 +10,7 @@ use criterion::Criterion;
use std::cell::RefCell; use std::cell::RefCell;
thread_local!(static VM: RefCell<AquamarineVM> = RefCell::new(create_aqua_vm(unit_call_service(), "test_peer_id"))); thread_local!(static VM: RefCell<AVM> = RefCell::new(create_avm(unit_call_service(), "test_peer_id")));
thread_local!(static SCRIPT: String = String::from( thread_local!(static SCRIPT: String = String::from(
r#" r#"
(call "test_peer_id" ("local_service_id" "local_fn_name") [] result_name) (call "test_peer_id" ("local_service_id" "local_fn_name") [] result_name)
@ -18,7 +18,7 @@ thread_local!(static SCRIPT: String = String::from(
) )
); );
fn current_peer_id_call() -> Result<InterpreterOutcome, AquamarineVMError> { fn current_peer_id_call() -> Result<InterpreterOutcome, AVMError> {
VM.with(|vm| SCRIPT.with(|script| vm.borrow_mut().call_with_prev_data("", script.clone(), "[]", "[]"))) VM.with(|vm| SCRIPT.with(|script| vm.borrow_mut().call_with_prev_data("", script.clone(), "[]", "[]")))
} }

View File

@ -1,11 +1,11 @@
use aqua_test_utils::create_aqua_vm; use air_test_utils::create_avm;
use aqua_test_utils::unit_call_service; use air_test_utils::unit_call_service;
use aqua_test_utils::AquamarineVM; use air_test_utils::AVMError;
use aqua_test_utils::AquamarineVMError; use air_test_utils::CallServiceClosure;
use aqua_test_utils::CallServiceClosure; use air_test_utils::IValue;
use aqua_test_utils::IValue; use air_test_utils::InterpreterOutcome;
use aqua_test_utils::InterpreterOutcome; use air_test_utils::NEVec;
use aqua_test_utils::NEVec; use air_test_utils::AVM;
use criterion::criterion_group; use criterion::criterion_group;
use criterion::criterion_main; use criterion::criterion_main;
@ -13,9 +13,9 @@ use criterion::Criterion;
use std::cell::RefCell; use std::cell::RefCell;
thread_local!(static RELAY_1_VM: RefCell<AquamarineVM> = RefCell::new(create_aqua_vm(unit_call_service(), "Relay1"))); thread_local!(static RELAY_1_VM: RefCell<AVM> = RefCell::new(create_avm(unit_call_service(), "Relay1")));
thread_local!(static RELAY_2_VM: RefCell<AquamarineVM> = RefCell::new(create_aqua_vm(unit_call_service(), "Relay2"))); thread_local!(static RELAY_2_VM: RefCell<AVM> = RefCell::new(create_avm(unit_call_service(), "Relay2")));
thread_local!(static REMOTE_VM: RefCell<AquamarineVM> = RefCell::new({ thread_local!(static REMOTE_VM: RefCell<AVM> = RefCell::new({
let members_call_service: CallServiceClosure = Box::new(|_, _| -> Option<IValue> { let members_call_service: CallServiceClosure = Box::new(|_, _| -> Option<IValue> {
Some(IValue::Record( Some(IValue::Record(
NEVec::new(vec![ NEVec::new(vec![
@ -26,12 +26,12 @@ thread_local!(static REMOTE_VM: RefCell<AquamarineVM> = RefCell::new({
)) ))
}); });
create_aqua_vm(members_call_service, "Remote") create_avm(members_call_service, "Remote")
})); }));
thread_local!(static CLIENT_1_VM: RefCell<AquamarineVM> = RefCell::new(create_aqua_vm(unit_call_service(), "A"))); thread_local!(static CLIENT_1_VM: RefCell<AVM> = RefCell::new(create_avm(unit_call_service(), "A")));
thread_local!(static CLIENT_2_VM: RefCell<AquamarineVM> = RefCell::new(create_aqua_vm(unit_call_service(), "B"))); thread_local!(static CLIENT_2_VM: RefCell<AVM> = RefCell::new(create_avm(unit_call_service(), "B")));
fn chat_sent_message_benchmark() -> Result<InterpreterOutcome, AquamarineVMError> { fn chat_sent_message_benchmark() -> Result<InterpreterOutcome, AVMError> {
let script = String::from( let script = String::from(
r#" r#"
(seq (seq

View File

@ -1,11 +1,11 @@
use aqua_test_utils::create_aqua_vm; use air_test_utils::create_avm;
use aqua_test_utils::set_variables_call_service; use air_test_utils::set_variables_call_service;
use aqua_test_utils::AquamarineVM; use air_test_utils::AVMError;
use aqua_test_utils::AquamarineVMError; use air_test_utils::CallServiceClosure;
use aqua_test_utils::CallServiceClosure; use air_test_utils::IValue;
use aqua_test_utils::IValue; use air_test_utils::InterpreterOutcome;
use aqua_test_utils::InterpreterOutcome; use air_test_utils::NEVec;
use aqua_test_utils::NEVec; use air_test_utils::AVM;
use serde_json::json; use serde_json::json;
@ -15,7 +15,7 @@ use criterion::Criterion;
use std::cell::RefCell; use std::cell::RefCell;
thread_local!(static VM: RefCell<AquamarineVM> = RefCell::new({ thread_local!(static VM: RefCell<AVM> = RefCell::new({
let add_module_response = String::from("add_module response"); let add_module_response = String::from("add_module response");
let add_blueprint_response = String::from("add_blueprint response"); let add_blueprint_response = String::from("add_blueprint response");
let create_response = String::from("create response"); let create_response = String::from("create response");
@ -38,10 +38,10 @@ thread_local!(static VM: RefCell<AquamarineVM> = RefCell::new({
)) ))
}); });
create_aqua_vm(call_service, "A") create_avm(call_service, "A")
})); }));
thread_local!(static SET_VARIABLES_VM: RefCell<AquamarineVM> = RefCell::new({ thread_local!(static SET_VARIABLES_VM: RefCell<AVM> = RefCell::new({
let module = "greeting"; let module = "greeting";
let module_config = json!( let module_config = json!(
{ {
@ -65,10 +65,10 @@ thread_local!(static SET_VARIABLES_VM: RefCell<AquamarineVM> = RefCell::new({
String::from("blueprint") => blueprint.to_string(), String::from("blueprint") => blueprint.to_string(),
); );
create_aqua_vm(set_variables_call_service(variables_mapping), "set_variables") create_avm(set_variables_call_service(variables_mapping), "set_variables")
})); }));
fn create_service_benchmark() -> Result<InterpreterOutcome, AquamarineVMError> { fn create_service_benchmark() -> Result<InterpreterOutcome, AVMError> {
let script = String::from( let script = String::from(
r#" r#"
(seq (seq

View File

@ -20,35 +20,35 @@ use crate::execution::ExecutableInstruction;
use crate::preparation::prepare; use crate::preparation::prepare;
use crate::preparation::PreparationDescriptor; use crate::preparation::PreparationDescriptor;
use aqua_interpreter_interface::InterpreterOutcome; use air_interpreter_interface::InterpreterOutcome;
pub fn execute_aqua(init_peer_id: String, aqua: String, prev_data: Vec<u8>, data: Vec<u8>) -> InterpreterOutcome { pub fn execute_air(init_peer_id: String, air: String, prev_data: Vec<u8>, data: Vec<u8>) -> InterpreterOutcome {
use std::convert::identity; use std::convert::identity;
log::trace!( log::trace!(
"aquamarine version is {}, init user id is {}", "air interpreter version is {}, init user id is {}",
env!("CARGO_PKG_VERSION"), env!("CARGO_PKG_VERSION"),
init_peer_id init_peer_id
); );
execute_aqua_impl(init_peer_id, aqua, prev_data, data).unwrap_or_else(identity) execute_air_impl(init_peer_id, air, prev_data, data).unwrap_or_else(identity)
} }
fn execute_aqua_impl( fn execute_air_impl(
init_peer_id: String, init_peer_id: String,
aqua: String, air: String,
prev_data: Vec<u8>, prev_data: Vec<u8>,
data: Vec<u8>, data: Vec<u8>,
) -> Result<InterpreterOutcome, InterpreterOutcome> { ) -> Result<InterpreterOutcome, InterpreterOutcome> {
let PreparationDescriptor { let PreparationDescriptor {
mut exec_ctx, mut exec_ctx,
mut trace_ctx, mut trace_ctx,
aqua, air,
} = prepare(&prev_data, &data, aqua.as_str(), init_peer_id) } = prepare(&prev_data, &data, air.as_str(), init_peer_id)
// return the initial data in case of errors // return the initial data in case of errors
.map_err(|e| outcome::from_preparation_error(data, e))?; .map_err(|e| outcome::from_preparation_error(data, e))?;
aqua.execute(&mut exec_ctx, &mut trace_ctx) air.execute(&mut exec_ctx, &mut trace_ctx)
// return new collected trace in case of errors // return new collected trace in case of errors
.map_err(|e| outcome::from_execution_error(&trace_ctx.new_trace, exec_ctx.next_peer_pks.clone(), e))?; .map_err(|e| outcome::from_execution_error(&trace_ctx.new_trace, exec_ctx.next_peer_pks.clone(), e))?;

View File

@ -30,7 +30,7 @@ use std::collections::VecDeque;
use std::rc::Rc; use std::rc::Rc;
/// Contains all necessary state needed to execute aqua script. /// Contains all necessary state needed to execute AIR script.
#[derive(Default)] #[derive(Default)]
pub(crate) struct ExecutionCtx<'i> { pub(crate) struct ExecutionCtx<'i> {
/// Contains all set variables. /// Contains all set variables.
@ -40,10 +40,10 @@ pub(crate) struct ExecutionCtx<'i> {
/// Set of peer public keys that should receive resulted data. /// Set of peer public keys that should receive resulted data.
pub next_peer_pks: Vec<String>, pub next_peer_pks: Vec<String>,
/// PeerId of a peer executing this aqua script at the moment. /// PeerId of a peer executing this AIR script at the moment.
pub current_peer_id: String, pub current_peer_id: String,
/// PeerId of a peer send this aqua script. /// PeerId of a peer send this AIR script.
pub init_peer_id: String, pub init_peer_id: String,
/// Last error produced by local service. /// Last error produced by local service.

View File

@ -71,14 +71,14 @@ mod tests {
use crate::contexts::execution_trace::ExecutionTrace; use crate::contexts::execution_trace::ExecutionTrace;
use crate::JValue; use crate::JValue;
use aqua_test_utils::call_vm; use air_test_utils::call_vm;
use aqua_test_utils::create_aqua_vm; use air_test_utils::create_avm;
use aqua_test_utils::echo_string_call_service; use air_test_utils::echo_string_call_service;
use aqua_test_utils::set_variable_call_service; use air_test_utils::set_variable_call_service;
use aqua_test_utils::unit_call_service; use air_test_utils::unit_call_service;
use aqua_test_utils::CallServiceClosure; use air_test_utils::CallServiceClosure;
use aqua_test_utils::IValue; use air_test_utils::IValue;
use aqua_test_utils::NEVec; use air_test_utils::NEVec;
use std::rc::Rc; use std::rc::Rc;
@ -90,7 +90,7 @@ mod tests {
use crate::contexts::execution_trace::ExecutedState::*; use crate::contexts::execution_trace::ExecutedState::*;
let vm_peer_id = String::from("test_peer_id"); let vm_peer_id = String::from("test_peer_id");
let mut vm = create_aqua_vm(unit_call_service(), vm_peer_id.clone()); let mut vm = create_avm(unit_call_service(), vm_peer_id.clone());
let service_id = String::from("local_service_id"); let service_id = String::from("local_service_id");
let function_name = String::from("local_fn_name"); let function_name = String::from("local_fn_name");
@ -130,7 +130,7 @@ mod tests {
use crate::contexts::execution_trace::ExecutedState::*; use crate::contexts::execution_trace::ExecutedState::*;
let some_local_peer_id = String::from("some_local_peer_id"); let some_local_peer_id = String::from("some_local_peer_id");
let mut vm = create_aqua_vm(echo_string_call_service(), some_local_peer_id.clone()); let mut vm = create_avm(echo_string_call_service(), some_local_peer_id.clone());
let remote_peer_id = String::from("some_remote_peer_id"); let remote_peer_id = String::from("some_remote_peer_id");
let script = format!( let script = format!(
@ -149,8 +149,8 @@ mod tests {
// Check that setting variables works as expected. // Check that setting variables works as expected.
#[test] #[test]
fn variables() { fn variables() {
let mut vm = create_aqua_vm(unit_call_service(), "remote_peer_id"); let mut vm = create_avm(unit_call_service(), "remote_peer_id");
let mut set_variable_vm = create_aqua_vm(set_variable_call_service(r#""remote_peer_id""#), "set_variable"); let mut set_variable_vm = create_avm(set_variable_call_service(r#""remote_peer_id""#), "set_variable");
let script = format!( let script = format!(
r#" r#"
@ -170,7 +170,7 @@ mod tests {
// Check that duplicate variables are impossible. // Check that duplicate variables are impossible.
#[test] #[test]
fn duplicate_variables() { fn duplicate_variables() {
let mut vm = create_aqua_vm(unit_call_service(), "some_peer_id"); let mut vm = create_avm(unit_call_service(), "some_peer_id");
let script = format!( let script = format!(
r#" r#"
@ -205,10 +205,10 @@ mod tests {
}); });
let vm_peer_id = String::from("A"); let vm_peer_id = String::from("A");
let mut vm = create_aqua_vm(call_service, vm_peer_id.clone()); let mut vm = create_avm(call_service, vm_peer_id.clone());
let set_variable_vm_peer_id = String::from("set_variable"); let set_variable_vm_peer_id = String::from("set_variable");
let mut set_variable_vm = create_aqua_vm( let mut set_variable_vm = create_avm(
set_variable_call_service(r#""arg3_value""#), set_variable_call_service(r#""arg3_value""#),
set_variable_vm_peer_id.clone(), set_variable_vm_peer_id.clone(),
); );

View File

@ -159,13 +159,13 @@ mod tests {
use crate::contexts::execution_trace::ExecutionTrace; use crate::contexts::execution_trace::ExecutionTrace;
use crate::JValue; use crate::JValue;
use aqua_test_utils::call_vm; use air_test_utils::call_vm;
use aqua_test_utils::create_aqua_vm; use air_test_utils::create_avm;
use aqua_test_utils::echo_number_call_service; use air_test_utils::echo_number_call_service;
use aqua_test_utils::echo_string_call_service; use air_test_utils::echo_string_call_service;
use aqua_test_utils::set_variable_call_service; use air_test_utils::set_variable_call_service;
use aqua_test_utils::AquamarineVMError; use air_test_utils::AVMError;
use aqua_test_utils::InterpreterOutcome; use air_test_utils::InterpreterOutcome;
use serde_json::json; use serde_json::json;
use std::rc::Rc; use std::rc::Rc;
@ -177,8 +177,8 @@ mod tests {
use crate::contexts::execution_trace::CallResult::*; use crate::contexts::execution_trace::CallResult::*;
use crate::contexts::execution_trace::ExecutedState::*; use crate::contexts::execution_trace::ExecutedState::*;
let mut vm = create_aqua_vm(echo_number_call_service(), "A"); let mut vm = create_avm(echo_number_call_service(), "A");
let mut set_variable_vm = create_aqua_vm(set_variable_call_service(r#"["1","2","3","4","5"]"#), "set_variable"); let mut set_variable_vm = create_avm(set_variable_call_service(r#"["1","2","3","4","5"]"#), "set_variable");
let lfold = String::from( let lfold = String::from(
r#" r#"
@ -210,8 +210,8 @@ mod tests {
use crate::contexts::execution_trace::CallResult::*; use crate::contexts::execution_trace::CallResult::*;
use crate::contexts::execution_trace::ExecutedState::*; use crate::contexts::execution_trace::ExecutedState::*;
let mut vm = create_aqua_vm(echo_number_call_service(), "A"); let mut vm = create_avm(echo_number_call_service(), "A");
let mut set_variable_vm = create_aqua_vm(set_variable_call_service(r#"["1","2","3","4","5"]"#), "set_variable"); let mut set_variable_vm = create_avm(set_variable_call_service(r#"["1","2","3","4","5"]"#), "set_variable");
let rfold = String::from( let rfold = String::from(
r#" r#"
@ -243,8 +243,8 @@ mod tests {
use crate::contexts::execution_trace::CallResult::*; use crate::contexts::execution_trace::CallResult::*;
use crate::contexts::execution_trace::ExecutedState::*; use crate::contexts::execution_trace::ExecutedState::*;
let mut vm = create_aqua_vm(echo_number_call_service(), "A"); let mut vm = create_avm(echo_number_call_service(), "A");
let mut set_variable_vm = create_aqua_vm(set_variable_call_service(r#"["1","2","3","4","5"]"#), "set_variable"); let mut set_variable_vm = create_avm(set_variable_call_service(r#"["1","2","3","4","5"]"#), "set_variable");
let script = String::from( let script = String::from(
r#" r#"
@ -287,7 +287,7 @@ mod tests {
#[test] #[test]
fn inner_fold_with_same_iterator() { fn inner_fold_with_same_iterator() {
let mut vm = create_aqua_vm(set_variable_call_service(r#"["1","2","3","4","5"]"#), "set_variable"); let mut vm = create_avm(set_variable_call_service(r#"["1","2","3","4","5"]"#), "set_variable");
let script = String::from( let script = String::from(
r#" r#"
@ -320,8 +320,8 @@ mod tests {
use crate::contexts::execution_trace::CallResult::*; use crate::contexts::execution_trace::CallResult::*;
use crate::contexts::execution_trace::ExecutedState::*; use crate::contexts::execution_trace::ExecutedState::*;
let mut vm = create_aqua_vm(echo_number_call_service(), "A"); let mut vm = create_avm(echo_number_call_service(), "A");
let mut set_variable_vm = create_aqua_vm(set_variable_call_service(r#"[]"#), "set_variable"); let mut set_variable_vm = create_avm(set_variable_call_service(r#"[]"#), "set_variable");
let empty_fold = String::from( let empty_fold = String::from(
r#" r#"
@ -349,8 +349,8 @@ mod tests {
use crate::contexts::execution_trace::CallResult::*; use crate::contexts::execution_trace::CallResult::*;
use crate::contexts::execution_trace::ExecutedState::*; use crate::contexts::execution_trace::ExecutedState::*;
let mut vm = create_aqua_vm(echo_number_call_service(), "A"); let mut vm = create_avm(echo_number_call_service(), "A");
let mut set_variable_vm = create_aqua_vm(set_variable_call_service(r#"{ "messages": [] }"#), "set_variable"); let mut set_variable_vm = create_avm(set_variable_call_service(r#"{ "messages": [] }"#), "set_variable");
let empty_fold = r#" let empty_fold = r#"
(seq (seq
@ -374,8 +374,8 @@ mod tests {
// Check that fold works with the join behaviour without hanging up. // Check that fold works with the join behaviour without hanging up.
#[test] #[test]
fn fold_with_join() { fn fold_with_join() {
let mut vm = create_aqua_vm(echo_number_call_service(), "A"); let mut vm = create_avm(echo_number_call_service(), "A");
let mut set_variable_vm = create_aqua_vm(set_variable_call_service(r#"["1","2"]"#), "set_variable"); let mut set_variable_vm = create_avm(set_variable_call_service(r#"["1","2"]"#), "set_variable");
let fold_with_join = String::from( let fold_with_join = String::from(
r#" r#"
@ -405,8 +405,8 @@ mod tests {
use crate::contexts::execution_trace::CallResult::*; use crate::contexts::execution_trace::CallResult::*;
use crate::contexts::execution_trace::ExecutedState::*; use crate::contexts::execution_trace::ExecutedState::*;
let mut vm = create_aqua_vm(echo_number_call_service(), "A"); let mut vm = create_avm(echo_number_call_service(), "A");
let mut set_variable_vm = create_aqua_vm( let mut set_variable_vm = create_avm(
set_variable_call_service(r#"{ "array": ["1","2","3","4","5"] }"#), set_variable_call_service(r#"{ "array": ["1","2","3","4","5"] }"#),
"set_variable", "set_variable",
); );
@ -444,9 +444,9 @@ mod tests {
use crate::contexts::execution_trace::CallResult::*; use crate::contexts::execution_trace::CallResult::*;
use crate::contexts::execution_trace::ExecutedState::*; use crate::contexts::execution_trace::ExecutedState::*;
let mut set_variables_vm = create_aqua_vm(set_variable_call_service(r#"["1","2"]"#), "set_variable"); let mut set_variables_vm = create_avm(set_variable_call_service(r#"["1","2"]"#), "set_variable");
let mut vm_a = create_aqua_vm(echo_string_call_service(), "A"); let mut vm_a = create_avm(echo_string_call_service(), "A");
let mut vm_b = create_aqua_vm(echo_string_call_service(), "B"); let mut vm_b = create_avm(echo_string_call_service(), "B");
let script = String::from( let script = String::from(
r#" r#"
@ -499,10 +499,10 @@ mod tests {
use crate::contexts::execution_trace::CallResult::*; use crate::contexts::execution_trace::CallResult::*;
use crate::contexts::execution_trace::ExecutedState::*; use crate::contexts::execution_trace::ExecutedState::*;
fn execute_script(script: String) -> Result<InterpreterOutcome, AquamarineVMError> { fn execute_script(script: String) -> Result<InterpreterOutcome, AVMError> {
let mut set_variables_vm = create_aqua_vm(set_variable_call_service(r#"["1","2"]"#), "set_variable"); let mut set_variables_vm = create_avm(set_variable_call_service(r#"["1","2"]"#), "set_variable");
let mut vm_a = create_aqua_vm(echo_string_call_service(), "A"); let mut vm_a = create_avm(echo_string_call_service(), "A");
let mut vm_b = create_aqua_vm(echo_string_call_service(), "B"); let mut vm_b = create_avm(echo_string_call_service(), "B");
let res = call_vm!(set_variables_vm, "", script.clone(), "[]", "[]"); let res = call_vm!(set_variables_vm, "", script.clone(), "[]", "[]");
let res = call_vm!(vm_a, "", script.clone(), "[]", res.data); let res = call_vm!(vm_a, "", script.clone(), "[]", res.data);

View File

@ -46,9 +46,9 @@ mod tests {
use crate::contexts::execution_trace::ExecutionTrace; use crate::contexts::execution_trace::ExecutionTrace;
use crate::JValue; use crate::JValue;
use aqua_test_utils::create_aqua_vm; use air_test_utils::create_avm;
use aqua_test_utils::echo_string_call_service; use air_test_utils::echo_string_call_service;
use aqua_test_utils::{call_vm, set_variable_call_service}; use air_test_utils::{call_vm, set_variable_call_service};
use std::rc::Rc; use std::rc::Rc;
@ -58,10 +58,10 @@ mod tests {
use crate::contexts::execution_trace::ExecutedState::*; use crate::contexts::execution_trace::ExecutedState::*;
let set_variable_peer_id = "set_variable_peer_id"; let set_variable_peer_id = "set_variable_peer_id";
let mut set_variable_vm = create_aqua_vm(echo_string_call_service(), set_variable_peer_id); let mut set_variable_vm = create_avm(echo_string_call_service(), set_variable_peer_id);
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let mut vm = create_aqua_vm(echo_string_call_service(), local_peer_id); let mut vm = create_avm(echo_string_call_service(), local_peer_id);
let script = format!( let script = format!(
r#" r#"
@ -96,10 +96,10 @@ mod tests {
use crate::contexts::execution_trace::ExecutedState::*; use crate::contexts::execution_trace::ExecutedState::*;
let set_variable_peer_id = "set_variable_peer_id"; let set_variable_peer_id = "set_variable_peer_id";
let mut set_variable_vm = create_aqua_vm(echo_string_call_service(), set_variable_peer_id); let mut set_variable_vm = create_avm(echo_string_call_service(), set_variable_peer_id);
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let mut vm = create_aqua_vm(echo_string_call_service(), local_peer_id); let mut vm = create_avm(echo_string_call_service(), local_peer_id);
let script = format!( let script = format!(
r#" r#"
@ -134,10 +134,10 @@ mod tests {
use crate::contexts::execution_trace::ExecutedState::*; use crate::contexts::execution_trace::ExecutedState::*;
let set_variable_peer_id = "set_variable_peer_id"; let set_variable_peer_id = "set_variable_peer_id";
let mut set_variable_vm = create_aqua_vm(echo_string_call_service(), set_variable_peer_id); let mut set_variable_vm = create_avm(echo_string_call_service(), set_variable_peer_id);
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let mut vm = create_aqua_vm(echo_string_call_service(), local_peer_id); let mut vm = create_avm(echo_string_call_service(), local_peer_id);
let script = format!( let script = format!(
r#" r#"
@ -169,10 +169,10 @@ mod tests {
use crate::contexts::execution_trace::ExecutedState::*; use crate::contexts::execution_trace::ExecutedState::*;
let set_variable_peer_id = "set_variable_peer_id"; let set_variable_peer_id = "set_variable_peer_id";
let mut set_variable_vm = create_aqua_vm(echo_string_call_service(), set_variable_peer_id); let mut set_variable_vm = create_avm(echo_string_call_service(), set_variable_peer_id);
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let mut vm = create_aqua_vm(echo_string_call_service(), local_peer_id); let mut vm = create_avm(echo_string_call_service(), local_peer_id);
let script = format!( let script = format!(
r#" r#"
@ -201,7 +201,7 @@ mod tests {
#[test] #[test]
fn match_with_equal_numbers() { fn match_with_equal_numbers() {
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let mut vm = create_aqua_vm(echo_string_call_service(), local_peer_id); let mut vm = create_avm(echo_string_call_service(), local_peer_id);
let script = " let script = "
(xor (xor
@ -218,10 +218,10 @@ mod tests {
#[test] #[test]
fn match_without_xor() { fn match_without_xor() {
let set_variable_peer_id = "set_variable_peer_id"; let set_variable_peer_id = "set_variable_peer_id";
let mut set_variable_vm = create_aqua_vm(echo_string_call_service(), set_variable_peer_id); let mut set_variable_vm = create_avm(echo_string_call_service(), set_variable_peer_id);
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let mut vm = create_aqua_vm(echo_string_call_service(), local_peer_id); let mut vm = create_avm(echo_string_call_service(), local_peer_id);
let script = format!( let script = format!(
r#" r#"
@ -253,7 +253,7 @@ mod tests {
use crate::contexts::execution_trace::ExecutedState::*; use crate::contexts::execution_trace::ExecutedState::*;
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let mut vm = create_aqua_vm( let mut vm = create_avm(
set_variable_call_service(serde_json::json!(false).to_string()), set_variable_call_service(serde_json::json!(false).to_string()),
local_peer_id, local_peer_id,
); );

View File

@ -46,10 +46,10 @@ mod tests {
use crate::contexts::execution_trace::ExecutionTrace; use crate::contexts::execution_trace::ExecutionTrace;
use crate::JValue; use crate::JValue;
use aqua_test_utils::call_vm; use air_test_utils::call_vm;
use aqua_test_utils::create_aqua_vm; use air_test_utils::create_avm;
use aqua_test_utils::echo_string_call_service; use air_test_utils::echo_string_call_service;
use aqua_test_utils::set_variable_call_service; use air_test_utils::set_variable_call_service;
use std::rc::Rc; use std::rc::Rc;
@ -59,10 +59,10 @@ mod tests {
use crate::contexts::execution_trace::ExecutedState::*; use crate::contexts::execution_trace::ExecutedState::*;
let set_variable_peer_id = "set_variable_peer_id"; let set_variable_peer_id = "set_variable_peer_id";
let mut set_variable_vm = create_aqua_vm(echo_string_call_service(), set_variable_peer_id); let mut set_variable_vm = create_avm(echo_string_call_service(), set_variable_peer_id);
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let mut vm = create_aqua_vm(echo_string_call_service(), local_peer_id); let mut vm = create_avm(echo_string_call_service(), local_peer_id);
let script = format!( let script = format!(
r#" r#"
@ -97,10 +97,10 @@ mod tests {
use crate::contexts::execution_trace::ExecutedState::*; use crate::contexts::execution_trace::ExecutedState::*;
let set_variable_peer_id = "set_variable_peer_id"; let set_variable_peer_id = "set_variable_peer_id";
let mut set_variable_vm = create_aqua_vm(echo_string_call_service(), set_variable_peer_id); let mut set_variable_vm = create_avm(echo_string_call_service(), set_variable_peer_id);
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let mut vm = create_aqua_vm(echo_string_call_service(), local_peer_id); let mut vm = create_avm(echo_string_call_service(), local_peer_id);
let script = format!( let script = format!(
r#" r#"
@ -135,10 +135,10 @@ mod tests {
use crate::contexts::execution_trace::ExecutedState::*; use crate::contexts::execution_trace::ExecutedState::*;
let set_variable_peer_id = "set_variable_peer_id"; let set_variable_peer_id = "set_variable_peer_id";
let mut set_variable_vm = create_aqua_vm(echo_string_call_service(), set_variable_peer_id); let mut set_variable_vm = create_avm(echo_string_call_service(), set_variable_peer_id);
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let mut vm = create_aqua_vm(echo_string_call_service(), local_peer_id); let mut vm = create_avm(echo_string_call_service(), local_peer_id);
let script = format!( let script = format!(
r#" r#"
@ -167,10 +167,10 @@ mod tests {
#[test] #[test]
fn mismatch_without_xor() { fn mismatch_without_xor() {
let set_variable_peer_id = "set_variable_peer_id"; let set_variable_peer_id = "set_variable_peer_id";
let mut set_variable_vm = create_aqua_vm(echo_string_call_service(), set_variable_peer_id); let mut set_variable_vm = create_avm(echo_string_call_service(), set_variable_peer_id);
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let mut vm = create_aqua_vm(echo_string_call_service(), local_peer_id); let mut vm = create_avm(echo_string_call_service(), local_peer_id);
let script = format!( let script = format!(
r#" r#"
@ -202,7 +202,7 @@ mod tests {
use crate::contexts::execution_trace::ExecutedState::*; use crate::contexts::execution_trace::ExecutedState::*;
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let mut vm = create_aqua_vm( let mut vm = create_avm(
set_variable_call_service(serde_json::json!(false).to_string()), set_variable_call_service(serde_json::json!(false).to_string()),
local_peer_id, local_peer_id,
); );

View File

@ -166,15 +166,15 @@ fn update_par_state(
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use aqua_test_utils::call_vm; use air_test_utils::call_vm;
use aqua_test_utils::create_aqua_vm; use air_test_utils::create_avm;
use aqua_test_utils::unit_call_service; use air_test_utils::unit_call_service;
#[test] #[test]
fn par_remote_remote() { fn par_remote_remote() {
use std::collections::HashSet; use std::collections::HashSet;
let mut vm = create_aqua_vm(unit_call_service(), ""); let mut vm = create_avm(unit_call_service(), "");
let script = String::from( let script = String::from(
r#" r#"
@ -196,7 +196,7 @@ mod tests {
#[test] #[test]
fn par_local_remote() { fn par_local_remote() {
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let mut vm = create_aqua_vm(unit_call_service(), local_peer_id); let mut vm = create_avm(unit_call_service(), local_peer_id);
let script = format!( let script = format!(
r#" r#"

View File

@ -38,15 +38,15 @@ impl<'i> super::ExecutableInstruction<'i> for Seq<'i> {
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use aqua_test_utils::call_vm; use air_test_utils::call_vm;
use aqua_test_utils::create_aqua_vm; use air_test_utils::create_avm;
use aqua_test_utils::unit_call_service; use air_test_utils::unit_call_service;
use serde_json::json; use serde_json::json;
#[test] #[test]
fn seq_remote_remote() { fn seq_remote_remote() {
let mut vm = create_aqua_vm(unit_call_service(), ""); let mut vm = create_avm(unit_call_service(), "");
let script = String::from( let script = String::from(
r#" r#"
@ -67,7 +67,7 @@ mod tests {
fn seq_local_remote() { fn seq_local_remote() {
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let remote_peer_id = String::from("remote_peer_id"); let remote_peer_id = String::from("remote_peer_id");
let mut vm = create_aqua_vm(unit_call_service(), local_peer_id); let mut vm = create_avm(unit_call_service(), local_peer_id);
let script = format!( let script = format!(
r#" r#"

View File

@ -62,9 +62,9 @@ mod tests {
use crate::contexts::execution_trace::ExecutionTrace; use crate::contexts::execution_trace::ExecutionTrace;
use crate::JValue; use crate::JValue;
use aqua_test_utils::call_vm; use air_test_utils::call_vm;
use aqua_test_utils::create_aqua_vm; use air_test_utils::create_avm;
use aqua_test_utils::fallible_call_service; use air_test_utils::fallible_call_service;
use std::rc::Rc; use std::rc::Rc;
@ -75,7 +75,7 @@ mod tests {
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let fallible_service_id = String::from("service_id_1"); let fallible_service_id = String::from("service_id_1");
let mut vm = create_aqua_vm(fallible_call_service(fallible_service_id), local_peer_id); let mut vm = create_avm(fallible_call_service(fallible_service_id), local_peer_id);
let script = format!( let script = format!(
r#" r#"
@ -117,10 +117,10 @@ mod tests {
fn xor_var_not_found() { fn xor_var_not_found() {
use crate::contexts::execution_trace::CallResult::*; use crate::contexts::execution_trace::CallResult::*;
use crate::contexts::execution_trace::ExecutedState::*; use crate::contexts::execution_trace::ExecutedState::*;
use aqua_test_utils::echo_string_call_service; use air_test_utils::echo_string_call_service;
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let mut vm = create_aqua_vm(echo_string_call_service(), local_peer_id); let mut vm = create_avm(echo_string_call_service(), local_peer_id);
let script = format!( let script = format!(
r#" r#"
@ -144,13 +144,13 @@ mod tests {
fn xor_multiple_variables_found() { fn xor_multiple_variables_found() {
use crate::contexts::execution_trace::CallResult::*; use crate::contexts::execution_trace::CallResult::*;
use crate::contexts::execution_trace::ExecutedState::*; use crate::contexts::execution_trace::ExecutedState::*;
use aqua_test_utils::echo_string_call_service; use air_test_utils::echo_string_call_service;
let set_variables_peer_id = "set_variables_peer_id"; let set_variables_peer_id = "set_variables_peer_id";
let mut set_variables_vm = create_aqua_vm(echo_string_call_service(), set_variables_peer_id); let mut set_variables_vm = create_avm(echo_string_call_service(), set_variables_peer_id);
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let mut vm = create_aqua_vm(echo_string_call_service(), local_peer_id); let mut vm = create_avm(echo_string_call_service(), local_peer_id);
let test_string_1 = String::from("some_string"); let test_string_1 = String::from("some_string");
let test_string_2 = String::from("expected_string"); let test_string_2 = String::from("expected_string");
@ -182,7 +182,7 @@ mod tests {
let fallible_service_id = String::from("service_id_1"); let fallible_service_id = String::from("service_id_1");
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let mut vm = create_aqua_vm(fallible_call_service(fallible_service_id.clone()), local_peer_id); let mut vm = create_avm(fallible_call_service(fallible_service_id.clone()), local_peer_id);
let script = format!( let script = format!(
r#" r#"
@ -232,12 +232,12 @@ mod tests {
fn last_error_with_xor() { fn last_error_with_xor() {
use crate::contexts::execution_trace::CallResult::*; use crate::contexts::execution_trace::CallResult::*;
use crate::contexts::execution_trace::ExecutedState::*; use crate::contexts::execution_trace::ExecutedState::*;
use aqua_test_utils::echo_string_call_service; use air_test_utils::echo_string_call_service;
let faillible_peer_id = "failible_peer_id"; let faillible_peer_id = "failible_peer_id";
let mut faillible_vm = create_aqua_vm(fallible_call_service("service_id_1"), faillible_peer_id); let mut faillible_vm = create_avm(fallible_call_service("service_id_1"), faillible_peer_id);
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let mut vm = create_aqua_vm(echo_string_call_service(), local_peer_id); let mut vm = create_avm(echo_string_call_service(), local_peer_id);
let script = format!( let script = format!(
r#" r#"

View File

@ -19,8 +19,8 @@ mod boxed_value;
mod errors; mod errors;
mod utils; mod utils;
pub(super) use air::ExecutableInstruction; pub(super) use self::air::ExecutableInstruction;
pub(super) use air::FoldState; pub(super) use self::air::FoldState;
pub(super) use errors::ExecutionError; pub(super) use errors::ExecutionError;
use std::rc::Rc; use std::rc::Rc;

View File

@ -31,15 +31,15 @@ mod contexts;
mod execution; mod execution;
mod preparation; mod preparation;
mod aqua; mod air;
pub mod log_targets; pub mod log_targets;
pub use aqua_interpreter_interface::InterpreterOutcome; pub use air_interpreter_interface::InterpreterOutcome;
pub use aqua_interpreter_interface::INTERPRETER_SUCCESS; pub use air_interpreter_interface::INTERPRETER_SUCCESS;
pub use polyplets::ResolvedTriplet; pub use polyplets::ResolvedTriplet;
pub use polyplets::SecurityTetraplet; pub use polyplets::SecurityTetraplet;
pub use aqua::execute_aqua; pub use crate::air::execute_air;
pub mod execution_trace { pub mod execution_trace {
pub use crate::contexts::execution_trace::CallResult; pub use crate::contexts::execution_trace::CallResult;

View File

@ -80,7 +80,7 @@ impl fmt::Display for PreparationError {
use PreparationError::*; use PreparationError::*;
match self { match self {
AIRParseError(err_msg) => write!(f, "aqua script can't be parsed:\n{}", err_msg), AIRParseError(err_msg) => write!(f, "air can't be parsed:\n{}", err_msg),
ExecutedTraceDeError(serde_error, executed_trace) => { ExecutedTraceDeError(serde_error, executed_trace) => {
fn print_error( fn print_error(
f: &mut fmt::Formatter<'_>, f: &mut fmt::Formatter<'_>,

View File

@ -30,14 +30,14 @@ type PreparationResult<T> = Result<T, PreparationError>;
pub(crate) struct PreparationDescriptor<'ctx, 'i> { pub(crate) struct PreparationDescriptor<'ctx, 'i> {
pub(crate) exec_ctx: ExecutionCtx<'ctx>, pub(crate) exec_ctx: ExecutionCtx<'ctx>,
pub(crate) trace_ctx: ExecutionTraceCtx, pub(crate) trace_ctx: ExecutionTraceCtx,
pub(crate) aqua: Instruction<'i>, pub(crate) air: Instruction<'i>,
} }
/// Parse and prepare supplied data and aqua script. /// Parse and prepare supplied data and AIR script.
pub(crate) fn prepare<'i>( pub(crate) fn prepare<'i>(
prev_data: &[u8], prev_data: &[u8],
data: &[u8], data: &[u8],
raw_aqua: &'i str, raw_air: &'i str,
init_peer_id: String, init_peer_id: String,
) -> PreparationResult<PreparationDescriptor<'static, 'i>> { ) -> PreparationResult<PreparationDescriptor<'static, 'i>> {
fn to_executed_trace(raw_data: &[u8]) -> PreparationResult<ExecutionTrace> { fn to_executed_trace(raw_data: &[u8]) -> PreparationResult<ExecutionTrace> {
@ -55,12 +55,12 @@ pub(crate) fn prepare<'i>(
let prev_trace = to_executed_trace(prev_data)?; let prev_trace = to_executed_trace(prev_data)?;
let trace = to_executed_trace(data)?; let trace = to_executed_trace(data)?;
let aqua: Instruction<'i> = *air_parser::parse(raw_aqua).map_err(PreparationError::AIRParseError)?; let air: Instruction<'i> = *air_parser::parse(raw_air).map_err(PreparationError::AIRParseError)?;
log::trace!( log::trace!(
target: RUN_PARAMS, target: RUN_PARAMS,
"aqua: {:?}\nprev_trace: {:?}\ncurrent_trace: {:?}", "air: {:?}\nprev_trace: {:?}\ncurrent_trace: {:?}",
aqua, air,
prev_trace, prev_trace,
trace trace
); );
@ -69,7 +69,7 @@ pub(crate) fn prepare<'i>(
let result = PreparationDescriptor { let result = PreparationDescriptor {
exec_ctx, exec_ctx,
trace_ctx, trace_ctx,
aqua, air,
}; };
Ok(result) Ok(result)

View File

@ -14,13 +14,13 @@
* limitations under the License. * limitations under the License.
*/ */
use aqua_test_utils::call_vm; use air_test_utils::call_vm;
use aqua_test_utils::create_aqua_vm; use air_test_utils::create_avm;
use aqua_test_utils::set_variables_call_service; use air_test_utils::set_variables_call_service;
use aqua_test_utils::unit_call_service; use air_test_utils::unit_call_service;
use aqua_test_utils::CallServiceClosure; use air_test_utils::CallServiceClosure;
use aqua_test_utils::IValue; use air_test_utils::IValue;
use aqua_test_utils::NEVec; use air_test_utils::NEVec;
use serde_json::json; use serde_json::json;
@ -30,11 +30,11 @@ type JValue = serde_json::Value;
#[test] #[test]
fn seq_par_call() { fn seq_par_call() {
use interpreter_lib::execution_trace::CallResult::*; use air::execution_trace::CallResult::*;
use interpreter_lib::execution_trace::ExecutedState::{self, *}; use air::execution_trace::ExecutedState::{self, *};
let vm_peer_id = String::from("some_peer_id"); let vm_peer_id = String::from("some_peer_id");
let mut vm = create_aqua_vm(unit_call_service(), vm_peer_id.clone()); let mut vm = create_avm(unit_call_service(), vm_peer_id.clone());
let script = format!( let script = format!(
r#" r#"
@ -66,11 +66,11 @@ fn seq_par_call() {
#[test] #[test]
fn par_par_call() { fn par_par_call() {
use interpreter_lib::execution_trace::CallResult::*; use air::execution_trace::CallResult::*;
use interpreter_lib::execution_trace::ExecutedState::{self, *}; use air::execution_trace::ExecutedState::{self, *};
let vm_peer_id = String::from("some_peer_id"); let vm_peer_id = String::from("some_peer_id");
let mut vm = create_aqua_vm(unit_call_service(), vm_peer_id.clone()); let mut vm = create_avm(unit_call_service(), vm_peer_id.clone());
let script = format!( let script = format!(
r#" r#"
@ -103,8 +103,8 @@ fn par_par_call() {
#[test] #[test]
fn create_service() { fn create_service() {
use interpreter_lib::execution_trace::CallResult::*; use air::execution_trace::CallResult::*;
use interpreter_lib::execution_trace::ExecutedState::{self, *}; use air::execution_trace::ExecutedState::{self, *};
let module = "greeting"; let module = "greeting";
let module_config = json!( let module_config = json!(
@ -129,7 +129,7 @@ fn create_service() {
String::from("blueprint") => blueprint.to_string(), String::from("blueprint") => blueprint.to_string(),
); );
let mut set_variables_vm = create_aqua_vm(set_variables_call_service(variables_mapping), "set_variables"); let mut set_variables_vm = create_avm(set_variables_call_service(variables_mapping), "set_variables");
let add_module_response = String::from("add_module response"); let add_module_response = String::from("add_module response");
let add_blueprint_response = String::from("add_blueprint response"); let add_blueprint_response = String::from("add_blueprint response");
@ -153,7 +153,7 @@ fn create_service() {
)) ))
}); });
let mut vm = create_aqua_vm(call_service, "A"); let mut vm = create_avm(call_service, "A");
let script = include_str!("./scripts/create_service.clj"); let script = include_str!("./scripts/create_service.clj");

View File

@ -14,13 +14,13 @@
* limitations under the License. * limitations under the License.
*/ */
use aqua_test_utils::call_vm; use air_test_utils::call_vm;
use aqua_test_utils::create_aqua_vm; use air_test_utils::create_avm;
use aqua_test_utils::echo_number_call_service; use air_test_utils::echo_number_call_service;
use aqua_test_utils::unit_call_service; use air_test_utils::unit_call_service;
use aqua_test_utils::CallServiceClosure; use air_test_utils::CallServiceClosure;
use aqua_test_utils::IValue; use air_test_utils::IValue;
use aqua_test_utils::NEVec; use air_test_utils::NEVec;
use serde_json::json; use serde_json::json;
@ -30,11 +30,11 @@ type JValue = serde_json::Value;
#[test] #[test]
fn executed_trace_seq_par_call() { fn executed_trace_seq_par_call() {
use interpreter_lib::execution_trace::CallResult::*; use air::execution_trace::CallResult::*;
use interpreter_lib::execution_trace::ExecutedState::{self, *}; use air::execution_trace::ExecutedState::{self, *};
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let mut vm = create_aqua_vm(unit_call_service(), local_peer_id); let mut vm = create_avm(unit_call_service(), local_peer_id);
let script = format!( let script = format!(
r#" r#"
@ -73,11 +73,11 @@ fn executed_trace_seq_par_call() {
#[test] #[test]
fn executed_trace_par_par_call() { fn executed_trace_par_par_call() {
use interpreter_lib::execution_trace::CallResult::*; use air::execution_trace::CallResult::*;
use interpreter_lib::execution_trace::ExecutedState::{self, *}; use air::execution_trace::ExecutedState::{self, *};
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let mut vm = create_aqua_vm(unit_call_service(), local_peer_id); let mut vm = create_avm(unit_call_service(), local_peer_id);
let script = format!( let script = format!(
r#" r#"
@ -118,13 +118,13 @@ fn executed_trace_par_par_call() {
#[test] #[test]
fn executed_trace_seq_seq() { fn executed_trace_seq_seq() {
use interpreter_lib::execution_trace::CallResult::*; use air::execution_trace::CallResult::*;
use interpreter_lib::execution_trace::ExecutedState::{self, *}; use air::execution_trace::ExecutedState::{self, *};
let peer_id_1 = String::from("12D3KooWHk9BjDQBUqnavciRPhAYFvqKBe4ZiPPvde7vDaqgn5er"); let peer_id_1 = String::from("12D3KooWHk9BjDQBUqnavciRPhAYFvqKBe4ZiPPvde7vDaqgn5er");
let peer_id_2 = String::from("12D3KooWAzJcYitiZrerycVB4Wryrx22CFKdDGx7c4u31PFdfTbR"); let peer_id_2 = String::from("12D3KooWAzJcYitiZrerycVB4Wryrx22CFKdDGx7c4u31PFdfTbR");
let mut vm1 = create_aqua_vm(unit_call_service(), peer_id_1.clone()); let mut vm1 = create_avm(unit_call_service(), peer_id_1.clone());
let mut vm2 = create_aqua_vm(unit_call_service(), peer_id_2.clone()); let mut vm2 = create_avm(unit_call_service(), peer_id_2.clone());
let script = format!( let script = format!(
r#" r#"
@ -162,8 +162,8 @@ fn executed_trace_seq_seq() {
#[test] #[test]
fn executed_trace_create_service() { fn executed_trace_create_service() {
use interpreter_lib::execution_trace::CallResult::*; use air::execution_trace::CallResult::*;
use interpreter_lib::execution_trace::ExecutedState::{self, *}; use air::execution_trace::ExecutedState::{self, *};
let module = "greeting"; let module = "greeting";
let module_config = json!( let module_config = json!(
@ -204,7 +204,7 @@ fn executed_trace_create_service() {
)) ))
}); });
let mut vm = create_aqua_vm(call_service, "A"); let mut vm = create_avm(call_service, "A");
let script = include_str!("./scripts/create_service.clj"); let script = include_str!("./scripts/create_service.clj");
@ -243,9 +243,9 @@ fn executed_trace_par_seq_fold_call() {
)) ))
}); });
let mut vm1 = create_aqua_vm(return_numbers_call_service, "some_peer_id_1"); let mut vm1 = create_avm(return_numbers_call_service, "some_peer_id_1");
let mut vm2 = create_aqua_vm(echo_number_call_service(), "some_peer_id_2"); let mut vm2 = create_avm(echo_number_call_service(), "some_peer_id_2");
let mut vm3 = create_aqua_vm(unit_call_service(), "some_peer_id_3"); let mut vm3 = create_avm(unit_call_service(), "some_peer_id_3");
let script = String::from( let script = String::from(
r#" r#"
@ -319,9 +319,9 @@ fn executed_trace_par_seq_fold_in_cycle_call() {
)) ))
}); });
let mut vm1 = create_aqua_vm(return_numbers_call_service, "some_peer_id_1"); let mut vm1 = create_avm(return_numbers_call_service, "some_peer_id_1");
let mut vm2 = create_aqua_vm(echo_number_call_service(), "some_peer_id_2"); let mut vm2 = create_avm(echo_number_call_service(), "some_peer_id_2");
let mut vm3 = create_aqua_vm(unit_call_service(), "some_peer_id_3"); let mut vm3 = create_avm(unit_call_service(), "some_peer_id_3");
let script = String::from( let script = String::from(
r#" r#"
@ -383,8 +383,8 @@ fn executed_trace_par_seq_fold_in_cycle_call() {
fn executed_trace_seq_par_seq_seq() { fn executed_trace_seq_par_seq_seq() {
let peer_id_1 = String::from("12D3KooWHk9BjDQBUqnavciRPhAYFvqKBe4ZiPPvde7vDaqgn5er"); let peer_id_1 = String::from("12D3KooWHk9BjDQBUqnavciRPhAYFvqKBe4ZiPPvde7vDaqgn5er");
let peer_id_2 = String::from("12D3KooWAzJcYitiZrerycVB4Wryrx22CFKdDGx7c4u31PFdfTbR"); let peer_id_2 = String::from("12D3KooWAzJcYitiZrerycVB4Wryrx22CFKdDGx7c4u31PFdfTbR");
let mut vm1 = create_aqua_vm(unit_call_service(), peer_id_1.clone()); let mut vm1 = create_avm(unit_call_service(), peer_id_1.clone());
let mut vm2 = create_aqua_vm(unit_call_service(), peer_id_2.clone()); let mut vm2 = create_avm(unit_call_service(), peer_id_2.clone());
let script = format!( let script = format!(
r#" r#"
(seq (seq

View File

@ -14,11 +14,11 @@
* limitations under the License. * limitations under the License.
*/ */
use aqua_test_utils::call_vm; use air_test_utils::call_vm;
use aqua_test_utils::create_aqua_vm; use air_test_utils::create_avm;
use aqua_test_utils::IValue; use air_test_utils::IValue;
use aqua_test_utils::NEVec; use air_test_utils::NEVec;
use aqua_test_utils::{AquamarineVM, CallServiceClosure}; use air_test_utils::{CallServiceClosure, AVM};
use std::cell::RefCell; use std::cell::RefCell;
use std::collections::HashSet; use std::collections::HashSet;
@ -174,8 +174,8 @@ fn create_peer_host_function(peer_id: String, known_peer_ids: Vec<String>) -> Ca
) )
} }
struct AquaVMState { struct AVMState {
vm: AquamarineVM, vm: AVM,
peer_id: String, peer_id: String,
prev_result: Vec<u8>, prev_result: Vec<u8>,
} }
@ -190,8 +190,8 @@ fn dashboard() {
let (host_function, all_info) = client_host_function(known_peer_ids.clone(), client_id.clone(), relay_id.clone()); let (host_function, all_info) = client_host_function(known_peer_ids.clone(), client_id.clone(), relay_id.clone());
let mut client = create_aqua_vm(host_function, client_id.clone()); let mut client = create_avm(host_function, client_id.clone());
let mut relay = create_aqua_vm( let mut relay = create_avm(
create_peer_host_function(relay_id.clone(), known_peer_ids.clone()), create_peer_host_function(relay_id.clone(), known_peer_ids.clone()),
relay_id.clone(), relay_id.clone(),
); );
@ -200,11 +200,11 @@ fn dashboard() {
.iter() .iter()
.cloned() .cloned()
.map(|peer_id| { .map(|peer_id| {
let vm = create_aqua_vm( let vm = create_avm(
create_peer_host_function(peer_id.clone(), known_peer_ids.clone()), create_peer_host_function(peer_id.clone(), known_peer_ids.clone()),
peer_id.clone(), peer_id.clone(),
); );
AquaVMState { AVMState {
vm, vm,
peer_id, peer_id,
prev_result: vec![], prev_result: vec![],
@ -246,10 +246,10 @@ fn dashboard() {
let mut client_3_res = client_2_res.clone(); let mut client_3_res = client_2_res.clone();
// peers 1 -> relay 2 -> client 3 // peers 1 -> relay 2 -> client 3
for aqua_vm in known_peers.iter_mut() { for avm in known_peers.iter_mut() {
let prev_result = std::mem::replace(&mut aqua_vm.prev_result, vec![]); let prev_result = std::mem::replace(&mut avm.prev_result, vec![]);
let known_peer_res = call_vm!( let known_peer_res = call_vm!(
aqua_vm.vm, avm.vm,
client_id.clone(), client_id.clone(),
script.clone(), script.clone(),
prev_result, prev_result,
@ -257,14 +257,14 @@ fn dashboard() {
); );
assert_eq!(known_peer_res.next_peer_pks, vec![relay_id.clone()]); assert_eq!(known_peer_res.next_peer_pks, vec![relay_id.clone()]);
aqua_vm.prev_result = known_peer_res.data; avm.prev_result = known_peer_res.data;
relay_2_res = call_vm!( relay_2_res = call_vm!(
relay, relay,
client_id.clone(), client_id.clone(),
script.clone(), script.clone(),
relay_2_res.data.clone(), relay_2_res.data.clone(),
aqua_vm.prev_result.clone() avm.prev_result.clone()
); );
assert_eq!(relay_2_res.next_peer_pks, vec![client_id.clone()]); assert_eq!(relay_2_res.next_peer_pks, vec![client_id.clone()]);
@ -280,7 +280,7 @@ fn dashboard() {
*all_info.borrow(), *all_info.borrow(),
format!( format!(
r#"["{peer_id}","{peer_id}_ident",["{peer_id}_interface_0","{peer_id}_interface_1","{peer_id}_interface_2"],["{peer_id}_blueprint_0","{peer_id}_blueprint_1","{peer_id}_blueprint_2"],["{peer_id}_module_0","{peer_id}_module_1","{peer_id}_module_2"]]"#, r#"["{peer_id}","{peer_id}_ident",["{peer_id}_interface_0","{peer_id}_interface_1","{peer_id}_interface_2"],["{peer_id}_blueprint_0","{peer_id}_blueprint_1","{peer_id}_blueprint_2"],["{peer_id}_module_0","{peer_id}_module_1","{peer_id}_module_2"]]"#,
peer_id = aqua_vm.peer_id peer_id = avm.peer_id
) )
) )
} }
@ -292,29 +292,29 @@ fn dashboard() {
let mut client_4_res = client_3_res.clone(); let mut client_4_res = client_3_res.clone();
// peers 2 -> relay 3 -> client 4 // peers 2 -> relay 3 -> client 4
for aqua_vm in known_peers.iter_mut() { for avm in known_peers.iter_mut() {
let prev_result = std::mem::replace(&mut aqua_vm.prev_result, vec![]); let prev_result = std::mem::replace(&mut avm.prev_result, vec![]);
let known_peer_res = call_vm!( let known_peer_res = call_vm!(
aqua_vm.vm, avm.vm,
client_id.clone(), client_id.clone(),
script.clone(), script.clone(),
prev_result, prev_result,
relay_1_res.data.clone() relay_1_res.data.clone()
); );
all_peer_pks.remove(&aqua_vm.peer_id); all_peer_pks.remove(&avm.peer_id);
let next_peer_pks = into_hashset(known_peer_res.next_peer_pks.clone()); let next_peer_pks = into_hashset(known_peer_res.next_peer_pks.clone());
assert_eq!(next_peer_pks, all_peer_pks); assert_eq!(next_peer_pks, all_peer_pks);
all_peer_pks.insert(aqua_vm.peer_id.clone()); all_peer_pks.insert(avm.peer_id.clone());
aqua_vm.prev_result = known_peer_res.data; avm.prev_result = known_peer_res.data;
relay_3_res = call_vm!( relay_3_res = call_vm!(
relay, relay,
client_id.clone(), client_id.clone(),
script.clone(), script.clone(),
relay_3_res.data.clone(), relay_3_res.data.clone(),
aqua_vm.prev_result.clone() avm.prev_result.clone()
); );
assert_eq!(relay_3_res.next_peer_pks, vec![client_id.clone()]); assert_eq!(relay_3_res.next_peer_pks, vec![client_id.clone()]);
@ -331,7 +331,7 @@ fn dashboard() {
*all_info.borrow(), *all_info.borrow(),
format!( format!(
r#"["{peer_id}","{peer_id}_ident",["{peer_id}_interface_0","{peer_id}_interface_1","{peer_id}_interface_2"],["{peer_id}_blueprint_0","{peer_id}_blueprint_1","{peer_id}_blueprint_2"],["{peer_id}_module_0","{peer_id}_module_1","{peer_id}_module_2"]]"#, r#"["{peer_id}","{peer_id}_ident",["{peer_id}_interface_0","{peer_id}_interface_1","{peer_id}_interface_2"],["{peer_id}_blueprint_0","{peer_id}_blueprint_1","{peer_id}_blueprint_2"],["{peer_id}_module_0","{peer_id}_module_1","{peer_id}_module_2"]]"#,
peer_id = aqua_vm.peer_id peer_id = avm.peer_id
) )
) )
} }

View File

@ -14,12 +14,12 @@
* limitations under the License. * limitations under the License.
*/ */
use aqua_test_utils::call_vm; use air_test_utils::call_vm;
use aqua_test_utils::create_aqua_vm; use air_test_utils::create_avm;
use aqua_test_utils::set_variable_call_service; use air_test_utils::set_variable_call_service;
use aqua_test_utils::CallServiceClosure; use air_test_utils::CallServiceClosure;
use aqua_test_utils::IValue; use air_test_utils::IValue;
use aqua_test_utils::NEVec; use air_test_utils::NEVec;
use pretty_assertions::assert_eq; use pretty_assertions::assert_eq;
use serde_json::json; use serde_json::json;
@ -40,8 +40,8 @@ fn data_merge() {
)) ))
}); });
let mut vm1 = create_aqua_vm(neighborhood_call_service1, "A"); let mut vm1 = create_avm(neighborhood_call_service1, "A");
let mut vm2 = create_aqua_vm(neighborhood_call_service2, "B"); let mut vm2 = create_avm(neighborhood_call_service2, "B");
let script = String::from( let script = String::from(
r#" r#"
@ -183,8 +183,8 @@ fn acc_merge() {
)) ))
}); });
let mut vm1 = create_aqua_vm(set_variable_call_service(r#""peer_id""#), "A"); let mut vm1 = create_avm(set_variable_call_service(r#""peer_id""#), "A");
let mut vm2 = create_aqua_vm(neighborhood_call_service, "B"); let mut vm2 = create_avm(neighborhood_call_service, "B");
let script = String::from( let script = String::from(
r#" r#"

View File

@ -14,12 +14,12 @@
* limitations under the License. * limitations under the License.
*/ */
use aqua_test_utils::call_vm; use air_test_utils::call_vm;
use aqua_test_utils::create_aqua_vm; use air_test_utils::create_avm;
use aqua_test_utils::set_variable_call_service; use air_test_utils::set_variable_call_service;
use aqua_test_utils::CallServiceClosure; use air_test_utils::CallServiceClosure;
use aqua_test_utils::IValue; use air_test_utils::IValue;
use aqua_test_utils::NEVec; use air_test_utils::NEVec;
use serde_json::json; use serde_json::json;
@ -75,11 +75,11 @@ fn flattening_scalar_arrays() {
let scalar_array = serde_json::to_string(&scalar_array).expect("the default serializer shouldn't fail"); let scalar_array = serde_json::to_string(&scalar_array).expect("the default serializer shouldn't fail");
let set_variable_peer_id = "set_variable"; let set_variable_peer_id = "set_variable";
let mut set_variable_vm = create_aqua_vm(set_variable_call_service(scalar_array), set_variable_peer_id); let mut set_variable_vm = create_avm(set_variable_call_service(scalar_array), set_variable_peer_id);
let closure_call_args = ClosureCallArgs::default(); let closure_call_args = ClosureCallArgs::default();
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let mut local_vm = create_aqua_vm(create_check_service_closure(closure_call_args.clone()), local_peer_id); let mut local_vm = create_avm(create_check_service_closure(closure_call_args.clone()), local_peer_id);
let script = format!( let script = format!(
r#" r#"
@ -119,11 +119,11 @@ fn flattening_streams() {
let stream_value = serde_json::to_string(&stream_value).expect("the default serializer shouldn't fail"); let stream_value = serde_json::to_string(&stream_value).expect("the default serializer shouldn't fail");
let set_variable_peer_id = "set_variable"; let set_variable_peer_id = "set_variable";
let mut set_variable_vm = create_aqua_vm(set_variable_call_service(stream_value), set_variable_peer_id); let mut set_variable_vm = create_avm(set_variable_call_service(stream_value), set_variable_peer_id);
let closure_call_args = ClosureCallArgs::default(); let closure_call_args = ClosureCallArgs::default();
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let mut local_vm = create_aqua_vm(create_check_service_closure(closure_call_args.clone()), local_peer_id); let mut local_vm = create_avm(create_check_service_closure(closure_call_args.clone()), local_peer_id);
let script = format!( let script = format!(
r#" r#"
@ -169,11 +169,11 @@ fn test_handling_non_flattening_values() {
let stream_value = serde_json::to_string(&stream_value).expect("the default serializer shouldn't fail"); let stream_value = serde_json::to_string(&stream_value).expect("the default serializer shouldn't fail");
let set_variable_peer_id = "set_variable"; let set_variable_peer_id = "set_variable";
let mut set_variable_vm = create_aqua_vm(set_variable_call_service(stream_value), set_variable_peer_id); let mut set_variable_vm = create_avm(set_variable_call_service(stream_value), set_variable_peer_id);
let closure_call_args = ClosureCallArgs::default(); let closure_call_args = ClosureCallArgs::default();
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let mut local_vm = create_aqua_vm(create_check_service_closure(closure_call_args.clone()), local_peer_id); let mut local_vm = create_avm(create_check_service_closure(closure_call_args.clone()), local_peer_id);
let script = format!( let script = format!(
r#" r#"

View File

@ -14,12 +14,12 @@
* limitations under the License. * limitations under the License.
*/ */
use aqua_test_utils::call_vm; use air_test_utils::call_vm;
use aqua_test_utils::create_aqua_vm; use air_test_utils::create_avm;
use aqua_test_utils::unit_call_service; use air_test_utils::unit_call_service;
use aqua_test_utils::CallServiceClosure; use air_test_utils::CallServiceClosure;
use aqua_test_utils::IValue; use air_test_utils::IValue;
use aqua_test_utils::NEVec; use air_test_utils::NEVec;
use pretty_assertions::assert_eq; use pretty_assertions::assert_eq;
use serde_json::json; use serde_json::json;
@ -40,11 +40,11 @@ fn join_chat() {
)) ))
}); });
let mut relay_1 = create_aqua_vm(unit_call_service(), "Relay1"); let mut relay_1 = create_avm(unit_call_service(), "Relay1");
let mut relay_2 = create_aqua_vm(unit_call_service(), "Relay2"); let mut relay_2 = create_avm(unit_call_service(), "Relay2");
let mut remote = create_aqua_vm(members_call_service1, "Remote"); let mut remote = create_avm(members_call_service1, "Remote");
let mut client_1 = create_aqua_vm(unit_call_service(), "A"); let mut client_1 = create_avm(unit_call_service(), "A");
let mut client_2 = create_aqua_vm(unit_call_service(), "B"); let mut client_2 = create_avm(unit_call_service(), "B");
let script = String::from( let script = String::from(
r#" r#"
@ -203,9 +203,9 @@ fn join() {
)) ))
}); });
let mut relay_1 = create_aqua_vm(unit_call_service(), "Relay1"); let mut relay_1 = create_avm(unit_call_service(), "Relay1");
let mut remote = create_aqua_vm(members_call_service1, "Remote"); let mut remote = create_avm(members_call_service1, "Remote");
let mut client_1 = create_aqua_vm(unit_call_service(), "A"); let mut client_1 = create_avm(unit_call_service(), "A");
let script = String::from( let script = String::from(
r#" r#"
@ -261,10 +261,10 @@ fn init_peer_id() {
let initiator_peer_id = String::from("initiator"); let initiator_peer_id = String::from("initiator");
let mut relay_1 = create_aqua_vm(unit_call_service(), "Relay1"); let mut relay_1 = create_avm(unit_call_service(), "Relay1");
let mut remote = create_aqua_vm(members_call_service1, "Remote"); let mut remote = create_avm(members_call_service1, "Remote");
let mut client_1 = create_aqua_vm(unit_call_service(), "A"); let mut client_1 = create_avm(unit_call_service(), "A");
let mut initiator = create_aqua_vm(unit_call_service(), initiator_peer_id.clone()); let mut initiator = create_avm(unit_call_service(), initiator_peer_id.clone());
let script = String::from( let script = String::from(
r#"(seq r#"(seq

View File

@ -14,10 +14,10 @@
* limitations under the License. * limitations under the License.
*/ */
use aqua_test_utils::call_vm; use air_test_utils::call_vm;
use aqua_test_utils::create_aqua_vm; use air_test_utils::create_avm;
use aqua_test_utils::set_variables_call_service; use air_test_utils::set_variables_call_service;
use aqua_test_utils::unit_call_service; use air_test_utils::unit_call_service;
use serde_json::json; use serde_json::json;
@ -39,10 +39,10 @@ fn non_wait_on_json_path() {
let set_variables_call_service = set_variables_call_service(variables); let set_variables_call_service = set_variables_call_service(variables);
let set_variable_peer_id = "set_variable"; let set_variable_peer_id = "set_variable";
let mut set_variable_vm = create_aqua_vm(set_variables_call_service, set_variable_peer_id); let mut set_variable_vm = create_avm(set_variables_call_service, set_variable_peer_id);
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let mut local_vm = create_aqua_vm(unit_call_service(), local_peer_id); let mut local_vm = create_avm(unit_call_service(), local_peer_id);
let script = format!( let script = format!(
r#" r#"

View File

@ -14,14 +14,14 @@
* limitations under the License. * limitations under the License.
*/ */
use aqua_test_utils::call_vm; use air::SecurityTetraplet;
use aqua_test_utils::create_aqua_vm; use air_test_utils::call_vm;
use aqua_test_utils::fallible_call_service; use air_test_utils::create_avm;
use aqua_test_utils::unit_call_service; use air_test_utils::fallible_call_service;
use aqua_test_utils::CallServiceClosure; use air_test_utils::unit_call_service;
use aqua_test_utils::IValue; use air_test_utils::CallServiceClosure;
use aqua_test_utils::NEVec; use air_test_utils::IValue;
use interpreter_lib::SecurityTetraplet; use air_test_utils::NEVec;
use std::cell::RefCell; use std::cell::RefCell;
use std::rc::Rc; use std::rc::Rc;
@ -60,16 +60,16 @@ fn create_check_service_closure(
#[test] #[test]
fn last_error_tetraplets() { fn last_error_tetraplets() {
let set_variable_peer_id = "set_variable"; let set_variable_peer_id = "set_variable";
let mut set_variable_vm = create_aqua_vm(unit_call_service(), set_variable_peer_id); let mut set_variable_vm = create_avm(unit_call_service(), set_variable_peer_id);
let fallible_peer_id = "fallible_peer_id"; let fallible_peer_id = "fallible_peer_id";
let mut fallible_vm = create_aqua_vm(fallible_call_service("fallible_call_service"), fallible_peer_id); let mut fallible_vm = create_avm(fallible_call_service("fallible_call_service"), fallible_peer_id);
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let args = Rc::new(RefCell::new(None)); let args = Rc::new(RefCell::new(None));
let tetraplets = Rc::new(RefCell::new(None)); let tetraplets = Rc::new(RefCell::new(None));
let mut local_vm = create_aqua_vm( let mut local_vm = create_avm(
create_check_service_closure(args.clone(), tetraplets.clone()), create_check_service_closure(args.clone(), tetraplets.clone()),
local_peer_id, local_peer_id,
); );
@ -98,13 +98,13 @@ fn last_error_tetraplets() {
#[test] #[test]
fn not_clear_last_error_in_match() { fn not_clear_last_error_in_match() {
let set_variable_peer_id = "set_variable"; let set_variable_peer_id = "set_variable";
let mut set_variable_vm = create_aqua_vm(unit_call_service(), set_variable_peer_id); let mut set_variable_vm = create_avm(unit_call_service(), set_variable_peer_id);
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let args = Rc::new(RefCell::new(None)); let args = Rc::new(RefCell::new(None));
let tetraplets = Rc::new(RefCell::new(None)); let tetraplets = Rc::new(RefCell::new(None));
let mut local_vm = create_aqua_vm( let mut local_vm = create_avm(
create_check_service_closure(args.clone(), tetraplets.clone()), create_check_service_closure(args.clone(), tetraplets.clone()),
local_peer_id, local_peer_id,
); );
@ -136,13 +136,13 @@ fn not_clear_last_error_in_match() {
#[test] #[test]
fn not_clear_last_error_in_mismatch() { fn not_clear_last_error_in_mismatch() {
let set_variable_peer_id = "set_variable"; let set_variable_peer_id = "set_variable";
let mut set_variable_vm = create_aqua_vm(unit_call_service(), set_variable_peer_id); let mut set_variable_vm = create_avm(unit_call_service(), set_variable_peer_id);
let local_peer_id = "local_peer_id"; let local_peer_id = "local_peer_id";
let args = Rc::new(RefCell::new(None)); let args = Rc::new(RefCell::new(None));
let tetraplets = Rc::new(RefCell::new(None)); let tetraplets = Rc::new(RefCell::new(None));
let mut local_vm = create_aqua_vm( let mut local_vm = create_avm(
create_check_service_closure(args.clone(), tetraplets.clone()), create_check_service_closure(args.clone(), tetraplets.clone()),
local_peer_id, local_peer_id,
); );

View File

@ -14,9 +14,9 @@
* limitations under the License. * limitations under the License.
*/ */
use aqua_test_utils::call_vm; use air_test_utils::call_vm;
use aqua_test_utils::create_aqua_vm; use air_test_utils::create_avm;
use aqua_test_utils::set_variables_call_service; use air_test_utils::set_variables_call_service;
use serde_json::json; use serde_json::json;
@ -30,7 +30,7 @@ fn network_explore() {
); );
let client_call_service = set_variables_call_service(set_variables_state); let client_call_service = set_variables_call_service(set_variables_state);
let mut client = create_aqua_vm( let mut client = create_avm(
client_call_service, client_call_service,
"12D3KooWEDU1WwGtvHUKpGCaMjhcLWyCUq3MQiRKZBLLFcBVVMck", "12D3KooWEDU1WwGtvHUKpGCaMjhcLWyCUq3MQiRKZBLLFcBVVMck",
); );
@ -38,16 +38,16 @@ fn network_explore() {
let client_1_id = String::from("12D3KooWFX27Tg3cNJkFk3W2iapnyRhwfwdQ4ZiTucsy1Go3MSGL"); let client_1_id = String::from("12D3KooWFX27Tg3cNJkFk3W2iapnyRhwfwdQ4ZiTucsy1Go3MSGL");
let client_2_id = String::from("12D3KooWGNJoFmCNEHq8NpunB4pZSUh9UBHM53W1NwE7gM8L3RjZ"); let client_2_id = String::from("12D3KooWGNJoFmCNEHq8NpunB4pZSUh9UBHM53W1NwE7gM8L3RjZ");
let relay_call_service = let relay_call_service =
aqua_test_utils::set_variable_call_service(format!(r#"["{}", "{}"]"#, client_1_id, client_2_id)); air_test_utils::set_variable_call_service(format!(r#"["{}", "{}"]"#, client_1_id, client_2_id));
let mut relay = create_aqua_vm(relay_call_service, relay_id.clone()); let mut relay = create_avm(relay_call_service, relay_id.clone());
let client_1_call_service = let client_1_call_service =
aqua_test_utils::set_variable_call_service(format!(r#"["{}", "{}"]"#, relay_id, client_2_id)); air_test_utils::set_variable_call_service(format!(r#"["{}", "{}"]"#, relay_id, client_2_id));
let mut client_1 = create_aqua_vm(client_1_call_service, client_1_id.clone()); let mut client_1 = create_avm(client_1_call_service, client_1_id.clone());
let client_2_call_service = let client_2_call_service =
aqua_test_utils::set_variable_call_service(format!(r#"["{}", "{}"]"#, relay_id, client_1_id)); air_test_utils::set_variable_call_service(format!(r#"["{}", "{}"]"#, relay_id, client_1_id));
let mut client_2 = create_aqua_vm(client_2_call_service, client_2_id.clone()); let mut client_2 = create_avm(client_2_call_service, client_2_id.clone());
let script = include_str!("./scripts/network_explore.clj"); let script = include_str!("./scripts/network_explore.clj");

View File

@ -14,13 +14,13 @@
* limitations under the License. * limitations under the License.
*/ */
use aqua_test_utils::call_vm; use air::ResolvedTriplet;
use aqua_test_utils::create_aqua_vm; use air::SecurityTetraplet;
use aqua_test_utils::CallServiceClosure; use air_test_utils::call_vm;
use aqua_test_utils::IValue; use air_test_utils::create_avm;
use aqua_test_utils::NEVec; use air_test_utils::CallServiceClosure;
use interpreter_lib::ResolvedTriplet; use air_test_utils::IValue;
use interpreter_lib::SecurityTetraplet; use air_test_utils::NEVec;
use std::cell::RefCell; use std::cell::RefCell;
use std::rc::Rc; use std::rc::Rc;
@ -64,12 +64,12 @@ fn simple_fold() {
}); });
let set_variable_vm_peer_id = String::from("some_peer_id_1"); let set_variable_vm_peer_id = String::from("some_peer_id_1");
let mut set_variable_vm = create_aqua_vm(return_numbers_call_service, set_variable_vm_peer_id.clone()); let mut set_variable_vm = create_avm(return_numbers_call_service, set_variable_vm_peer_id.clone());
let mut client_vms = Vec::new(); let mut client_vms = Vec::new();
for i in 1..=10 { for i in 1..=10 {
let (arg_host_func, arg_tetraplets) = arg_host_function(); let (arg_host_func, arg_tetraplets) = arg_host_function();
let vm = create_aqua_vm(arg_host_func, i.to_string()); let vm = create_avm(arg_host_func, i.to_string());
client_vms.push((vm, arg_tetraplets)) client_vms.push((vm, arg_tetraplets))
} }
@ -141,11 +141,11 @@ fn fold_json_path() {
}); });
let set_variable_vm_peer_id = String::from("some_peer_id_1"); let set_variable_vm_peer_id = String::from("some_peer_id_1");
let mut set_variable_vm = create_aqua_vm(return_numbers_call_service, set_variable_vm_peer_id.clone()); let mut set_variable_vm = create_avm(return_numbers_call_service, set_variable_vm_peer_id.clone());
let (arg_host_func, arg_tetraplets) = arg_host_function(); let (arg_host_func, arg_tetraplets) = arg_host_function();
let client_peer_id = String::from("client_id"); let client_peer_id = String::from("client_id");
let mut client_vm = create_aqua_vm(arg_host_func, client_peer_id.clone()); let mut client_vm = create_avm(arg_host_func, client_peer_id.clone());
let service_id = String::from("some_service_id"); let service_id = String::from("some_service_id");
let function_name = String::from("some_function_name"); let function_name = String::from("some_function_name");
@ -200,9 +200,9 @@ use fluence_app_service::AppServiceConfig;
use fluence_app_service::FaaSConfig; use fluence_app_service::FaaSConfig;
use fluence_app_service::ModuleDescriptor; use fluence_app_service::ModuleDescriptor;
use interpreter_lib::execution_trace::CallResult; use air::execution_trace::CallResult;
use interpreter_lib::execution_trace::ExecutedState; use air::execution_trace::ExecutedState;
use interpreter_lib::execution_trace::ExecutionTrace; use air::execution_trace::ExecutionTrace;
use std::path::PathBuf; use std::path::PathBuf;
fn construct_service_config(module_name: impl Into<String>) -> AppServiceConfig { fn construct_service_config(module_name: impl Into<String>) -> AppServiceConfig {
@ -301,7 +301,7 @@ fn tetraplet_with_wasm_modules() {
local_peer_id, local_peer_id,
); );
let mut vm = create_aqua_vm(host_func, local_peer_id); let mut vm = create_avm(host_func, local_peer_id);
let result = call_vm!(vm, ADMIN_PEER_PK, script, "", ""); let result = call_vm!(vm, ADMIN_PEER_PK, script, "", "");
let actual_trace: ExecutionTrace = serde_json::from_slice(&result.data).unwrap(); let actual_trace: ExecutionTrace = serde_json::from_slice(&result.data).unwrap();

View File

@ -11,6 +11,32 @@ dependencies = [
"memchr", "memchr",
] ]
[[package]]
name = "air"
version = "0.9.0"
dependencies = [
"air-interpreter-interface",
"air-parser",
"boolinator",
"fluence",
"jsonpath_lib-fl",
"log",
"polyplets",
"serde",
"serde_json",
"thiserror",
"wasm-bindgen",
]
[[package]]
name = "air-interpreter-interface"
version = "0.5.0"
dependencies = [
"fluence",
"fluence-it-types",
"serde",
]
[[package]] [[package]]
name = "air-parser" name = "air-parser"
version = "0.7.0" version = "0.7.0"
@ -27,15 +53,6 @@ dependencies = [
"thiserror", "thiserror",
] ]
[[package]]
name = "aqua-interpreter-interface"
version = "0.5.0"
dependencies = [
"fluence",
"fluence-it-types",
"serde",
]
[[package]] [[package]]
name = "array_tool" name = "array_tool"
version = "1.0.3" version = "1.0.3"
@ -78,8 +95,8 @@ dependencies = [
name = "auth_module" name = "auth_module"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"air",
"fluence", "fluence",
"interpreter-lib",
] ]
[[package]] [[package]]
@ -378,23 +395,6 @@ dependencies = [
"hashbrown", "hashbrown",
] ]
[[package]]
name = "interpreter-lib"
version = "0.9.0"
dependencies = [
"air-parser",
"aqua-interpreter-interface",
"boolinator",
"fluence",
"jsonpath_lib-fl",
"log",
"polyplets",
"serde",
"serde_json",
"thiserror",
"wasm-bindgen",
]
[[package]] [[package]]
name = "it-to-bytes" name = "it-to-bytes"
version = "0.1.0" version = "0.1.0"

View File

@ -9,7 +9,7 @@ name = "auth_module"
path = "src/main.rs" path = "src/main.rs"
[dependencies] [dependencies]
interpreter-lib = { path = "../../../../interpreter-lib" } air = { path = "../../../../air" }
fluence = "0.6.1" fluence = "0.6.1"
[workspace] [workspace]

View File

@ -11,6 +11,32 @@ dependencies = [
"memchr", "memchr",
] ]
[[package]]
name = "air"
version = "0.9.0"
dependencies = [
"air-interpreter-interface",
"air-parser",
"boolinator",
"fluence",
"jsonpath_lib-fl",
"log",
"polyplets",
"serde",
"serde_json",
"thiserror",
"wasm-bindgen",
]
[[package]]
name = "air-interpreter-interface"
version = "0.5.0"
dependencies = [
"fluence",
"fluence-it-types",
"serde",
]
[[package]] [[package]]
name = "air-parser" name = "air-parser"
version = "0.7.0" version = "0.7.0"
@ -27,15 +53,6 @@ dependencies = [
"thiserror", "thiserror",
] ]
[[package]]
name = "aqua-interpreter-interface"
version = "0.5.0"
dependencies = [
"fluence",
"fluence-it-types",
"serde",
]
[[package]] [[package]]
name = "array_tool" name = "array_tool"
version = "1.0.3" version = "1.0.3"
@ -370,23 +387,6 @@ dependencies = [
"hashbrown", "hashbrown",
] ]
[[package]]
name = "interpreter-lib"
version = "0.9.0"
dependencies = [
"air-parser",
"aqua-interpreter-interface",
"boolinator",
"fluence",
"jsonpath_lib-fl",
"log",
"polyplets",
"serde",
"serde_json",
"thiserror",
"wasm-bindgen",
]
[[package]] [[package]]
name = "it-to-bytes" name = "it-to-bytes"
version = "0.1.0" version = "0.1.0"
@ -478,8 +478,8 @@ dependencies = [
name = "log_storage" name = "log_storage"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"air",
"fluence", "fluence",
"interpreter-lib",
] ]
[[package]] [[package]]

View File

@ -9,7 +9,7 @@ name = "log_storage"
path = "src/main.rs" path = "src/main.rs"
[dependencies] [dependencies]
interpreter-lib = { path = "../../../../interpreter-lib" } air = { path = "../../../../air" }
fluence = "0.6.1" fluence = "0.6.1"
[workspace] [workspace]

View File

@ -1,8 +1,8 @@
New-Item -ItemType Directory -Force -Path ./wasm New-Item -ItemType Directory -Force -Path ./wasm
wasm-pack build ../interpreter --no-typescript --release -d ../npm/wasm wasm-pack build ../../air-interpreter --no-typescript --release -d wasm
$base64string = [Convert]::ToBase64String([IO.File]::ReadAllBytes('./npm/wasm/aquamarine_client_bg.wasm')) $base64string = [Convert]::ToBase64String([IO.File]::ReadAllBytes('./wasm/air_interpreter_client_bg.wasm'))
$data = "// auto-generated $data = "// auto-generated

16
avm/client/build_wasm.sh Executable file
View File

@ -0,0 +1,16 @@
#!/bin/sh
## requires wasm-pack
## > curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
(
cd ../..;
mkdir -p ./avm/client/wasm || exit;
wasm-pack build ./air-interpreter --no-typescript --release -d ../avm/client/wasm
)
cat << EOF > ./src/wasm.js
// auto-generated
module.exports = "$(base64 -w0 wasm/air_interpreter_client_bg.wasm)";
EOF

10913
avm/client/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -20,7 +20,7 @@
}, },
"devDependencies": { "devDependencies": {
"@types/jest": "^26.0.23", "@types/jest": "^26.0.23",
"jest": "^26.6.3", "jest": "26.5.0",
"ts-jest": "^26.5.5", "ts-jest": "^26.5.5",
"typescript": "^3.9.5" "typescript": "^3.9.5"
} }

View File

@ -43,7 +43,7 @@ export type ParticleHandler = (
) => CallServiceResult; ) => CallServiceResult;
type ImportObject = { type ImportObject = {
'./aquamarine_client_bg.js': { './air_interpreter_client_bg.js': {
// fn call_service_impl(service_id: String, fn_name: String, args: String, security_tetraplets: String) -> String; // fn call_service_impl(service_id: String, fn_name: String, args: String, security_tetraplets: String) -> String;
// prettier-ignore // prettier-ignore
__wbg_callserviceimpl_d5849c05cb19df30: (arg0: any, arg1: any, arg2: any, arg3: any, arg4: any, arg5: any, arg6: any, arg7: any, arg8: any, ) => void; __wbg_callserviceimpl_d5849c05cb19df30: (arg0: any, arg1: any, arg2: any, arg3: any, arg4: any, arg5: any, arg6: any, arg7: any, arg8: any, ) => void;
@ -131,7 +131,7 @@ function newImportObject(
return { return {
// __wbg_callserviceimpl_c0ca292e3c8c0c97 this is a function generated by bindgen. Could be changed. // __wbg_callserviceimpl_c0ca292e3c8c0c97 this is a function generated by bindgen. Could be changed.
// If so, an error with a new name will be occurred after wasm initialization. // If so, an error with a new name will be occurred after wasm initialization.
'./aquamarine_client_bg.js': { './air_interpreter_client_bg.js': {
// prettier-ignore // prettier-ignore
__wbg_callserviceimpl_d5849c05cb19df30: (arg0: any, arg1: any, arg2: any, arg3: any, arg4: any, arg5: any, arg6: any, arg7: any, arg8: any) => { __wbg_callserviceimpl_d5849c05cb19df30: (arg0: any, arg1: any, arg2: any, arg3: any, arg4: any, arg5: any, arg6: any, arg7: any, arg8: any) => {
let wasm = cfg.exports; let wasm = cfg.exports;

Some files were not shown because too many files have changed in this diff Show More