diff --git a/.github/actions/label/build.js b/.github/actions/label/build.js index c4d456b194e..8866bcf4e09 100644 --- a/.github/actions/label/build.js +++ b/.github/actions/label/build.js @@ -30,29 +30,24 @@ const skip = async ({ core, github }) => { ref: REF, }); - core.info(`check runs: ${check_runs}`); - const runs = linux ? check_runs.filter( (run) => run.name === "build" || run.name === "build / linux" ) : check_runs.filter((run) => run.name === "build / macos-x86"); - // Skip this action by default. - let skipped = false; + let skipAction = false; for (run of runs) { - // Process this action only if the previous build has been skipped. + // If there is already a build, skip this action. if ( - (run.name === "build" && run.conclusion === "skipped") - ) - skipped = true; - - // If there is already a build, skip this action without more conditions. - if (run.name === "build / linux" || run.name === "build / macos-x86") - return true; + run.name === "build / linux" + || run.name === "build / macos-x86" + || (run.name === "build" && run.conclusion !== "skipped")) { + return [true]; + } } - return !skipped; + return [skipAction, JSON.stringify(check_runs, null, 2)]; }; /** @@ -147,8 +142,9 @@ const listJobs = async ({ github, core, run_id }) => { * The main function. **/ module.exports = async ({ github, core }) => { - if (await skip({ core, github })) { - core.info("Build has already been processed."); + const [skipAction, check_runs] = await skip({ core, github }); + if (skipAction) { + core.info("Build has already been processed, check runs: " + check_runs); return; } diff --git a/.github/workflows/CI.yaml b/.github/workflows/CI.yaml index 01a50f5f55a..8ea62ea73ee 100644 --- a/.github/workflows/CI.yaml +++ b/.github/workflows/CI.yaml @@ -127,6 +127,9 @@ jobs: - name: "Build: Node" run: ./scripts/gear.sh build node --release --locked + - name: "Check: Stack height limit" + run: cargo run -p calc-stack-height --release --locked + - name: "Test: gsdk tests" run: ./scripts/gear.sh test gsdk --release diff --git a/.github/workflows/PR.yml b/.github/workflows/PR.yml index dd388ecdb1e..cc3db9588b5 100644 --- a/.github/workflows/PR.yml +++ b/.github/workflows/PR.yml @@ -43,7 +43,7 @@ jobs: echo "cache: ${CACHE}" echo "cache=${CACHE}" >> $GITHUB_OUTPUT - - uses: actions/github-script@v6 + - uses: actions/github-script@v7 env: HEAD_SHA: ${{ github.event.pull_request.head.sha }} TITLE: ${{ github.event.pull_request.title }} diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index 1337b6fc61c..c33fc1468ac 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -44,6 +44,9 @@ jobs: - name: "Build: Node" run: cargo build -p gear-cli + + - name: "Check: Stack height limit" + run: cargo run -p calc-stack-height --release --locked - name: "Test: Lazy pages" run: >- diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 09ca0ceb9d8..0a08e75669c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -74,6 +74,9 @@ jobs: - name: "Check: Vara runtime imports" run: ./target/release/wasm-proc --check-runtime-imports target/release/wbuild/vara-runtime/vara_runtime.compact.wasm + - name: "Check: Stack height limit" + run: cargo run -p calc-stack-height --release --locked + - name: "Test: Gear workspace" run: ./scripts/gear.sh test gear --exclude gclient --exclude gcli --exclude gsdk --release --locked @@ -100,7 +103,7 @@ jobs: # check also lazy-pages benchmarks tests for native runtime ./target/release/gear benchmark pallet --chain=dev --pallet=pallet_gear --extrinsic="check_lazy_pages_all" --execution=native --heap-pages=4096 --extra - - name: "Test: Sys-calls Wasmi integrity" + - name: "Test: Syscalls Wasmi integrity" run: ./scripts/gear.sh test syscalls --release - name: "Test: `try-runtime` feature tests" @@ -110,7 +113,7 @@ jobs: - name: "Test: Try runtime migrations" run: | cargo build -p gear-cli --features try-runtime --release --locked - ./target/release/gear try-runtime --runtime ./target/release/wbuild/vara-runtime/vara_runtime.wasm on-runtime-upgrade --checks live --uri ws://52.32.138.151:9944 + ./target/release/gear try-runtime --runtime ./target/release/wbuild/vara-runtime/vara_runtime.wasm on-runtime-upgrade --checks live --uri ws://rpc-private.vara-network.io:9944 env: RUST_LOG: info @@ -175,8 +178,6 @@ jobs: with: path: artifact - - run: sccache --show-stats - win-cross: runs-on: [kuberunner, github-runner-03] env: @@ -228,6 +229,11 @@ jobs: env: CARGO_BUILD_TARGET: x86_64-pc-windows-msvc + - name: "Check: Stack height limit" + run: cargo xwin run -p calc-stack-height --release --locked + env: + CARGO_BUILD_TARGET: x86_64-pc-windows-msvc + # These tests randomly stops responding #- name: "Test: Client tests" diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index edb648865d9..a3f7fdde5f1 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -61,8 +61,6 @@ jobs: - name: "Check: Compiling gstd on stable" run: cargo +stable check -p gstd - - run: sccache --show-stats - fuzzer: runs-on: [kuberunner, github-runner-01] env: @@ -78,6 +76,13 @@ jobs: - name: "ACTIONS: Checkout" uses: actions/checkout@v4 + - name: "MOUNT: Logs path" + run: | + FUZZER_LOGS_PATH=/mnt/fuzzer_logs + sudo mkdir -p $FUZZER_LOGS_PATH + sudo ln -s $FUZZER_LOGS_PATH/artifacts $PWD/utils/runtime-fuzzer/fuzz/artifacts + sudo ln -s $FUZZER_LOGS_PATH/proptest-regressions $PWD/utils/runtime-fuzzer/proptest-regressions + - name: "Install: Set cargo path" run: echo "/tmp/cargo/bin" >> $GITHUB_PATH @@ -90,8 +95,8 @@ jobs: - name: Install cargo-fuzz run: cargo install cargo-fuzz - - name: "Check fuzzer with mutation test" - run: ./scripts/check-fuzzer.sh + - name: "Run runtime-fuzzer crate tests" + run: ./scripts/gear.sh test fuzzer-tests - - name: "Check fuzzer reproduction" - run: ./scripts/gear.sh test fuzz-repr + - name: "Check fuzzer competence with mutation test" + run: ./scripts/check-fuzzer.sh diff --git a/.github/workflows/crates-io.yml b/.github/workflows/crates-io.yml new file mode 100644 index 00000000000..8d03d121436 --- /dev/null +++ b/.github/workflows/crates-io.yml @@ -0,0 +1,25 @@ +name: Crates IO + +on: + workflow_dispatch: + +env: + CARGO_INCREMENTAL: 0 + CARGO_TERM_COLOR: always + RUST_BACKTRACE: short + TERM: xterm-256color + +jobs: + publish: + runs-on: ubuntu-latest + env: + CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} + steps: + - name: "ACTIONS: Checkout" + uses: actions/checkout@v4 + + - name: "Install: Rust toolchain" + uses: dsherret/rust-toolchain-file@v1 + + - name: "Publish packages" + run: cargo run --release -p crates-io-manager diff --git a/.github/workflows/label.yml b/.github/workflows/label.yml index c27ae71e5a6..ae81d5e140f 100644 --- a/.github/workflows/label.yml +++ b/.github/workflows/label.yml @@ -17,7 +17,7 @@ jobs: - uses: actions/checkout@v4 with: ref: ${{ github.event.pull_request.head.sha }} - - uses: actions/github-script@v6 + - uses: actions/github-script@v7 env: HEAD_SHA: ${{ github.event.pull_request.head.sha }} LABEL: ${{ github.event.label.name }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 70a8233f4f4..36b562829bc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,9 +10,9 @@ env: TERM: xterm-256color jobs: - generate-changelog: + changelog: name: Generate changelog - runs-on: ubuntu-latest + runs-on: [kuberunner] outputs: release_body: ${{ steps.git-cliff.outputs.content }} steps: @@ -20,9 +20,7 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Update config - shell: bash - run: sed -E -i "s/\s+\#\s(.*)\s\#\sreplace issue numbers/\\t\1/g" cliff.toml + - name: Generate a changelog uses: orhun/git-cliff-action@v2 id: git-cliff @@ -32,21 +30,8 @@ jobs: env: OUTPUT: CHANGES.md - prepare: - needs: generate-changelog - runs-on: ubuntu-latest - steps: - - id: version - run: echo "VERSION=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_OUTPUT - - - name: Show version - run: echo ${{ steps.version.outputs.VERSION }} - - outputs: - version: ${{ steps.version.outputs.VERSION }} - build: - needs: prepare + needs: changelog runs-on: [kuberunner] steps: - name: "Actions: Checkout" @@ -82,7 +67,7 @@ jobs: run: ./wasm-proc --check-runtime-imports --check-runtime-is-dev false target/production/wbuild/vara-runtime/vara_runtime.compact.wasm - name: "Artifact: Production `vara-runtime`" - run: cp target/production/wbuild/vara-runtime/vara_runtime.compact.compressed.wasm "artifact/vara_runtime_v$VARA_SPEC.wasm" + run: cp target/production/wbuild/vara-runtime/vara_runtime.compact.compressed.wasm "artifact/production_vara_runtime_v$VARA_SPEC.wasm" - name: "Build: Production node client and development `vara-runtime`" run: cargo build -p gear-cli --profile production @@ -92,14 +77,14 @@ jobs: - name: "Artifact: Production node client and development `vara-runtime`" run: | - cp target/production/wbuild/vara-runtime/vara_runtime.compact.compressed.wasm "artifact/vara_devruntime_v$VARA_SPEC.wasm" + cp target/production/wbuild/vara-runtime/vara_runtime.compact.compressed.wasm "artifact/testnet_vara_runtime_v$VARA_SPEC.wasm" cp target/production/gear artifact/gear strip artifact/gear || true - name: Publish uses: softprops/action-gh-release@v1 with: - body: "${{ needs.generate-changelog.outputs.release_body }}" + body: ${{ needs.changelog.outputs.release_body }} files: artifact/* tag_name: ${{ steps.version.outputs.VERSION }} draft: true diff --git a/.github/workflows/validation.yml b/.github/workflows/validation.yml index 67bcb54f0f4..4732ebb456f 100644 --- a/.github/workflows/validation.yml +++ b/.github/workflows/validation.yml @@ -52,7 +52,7 @@ jobs: context: . file: ./docker/Dockerfile push: true - tags: ghcr.io/gear-tech/node:latest, ${{ needs.tag-image.outputs.image_tag }} + tags: ${{ needs.tag-image.outputs.image_tag }} - name: SSH into VM uses: appleboy/ssh-action@v1.0.0 diff --git a/.gitignore b/.gitignore index 5f4cba4f153..b19ce35a504 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ node_modules/ target/ target-no-lazy/ +target-xwin/ log/ .binpath .vscode diff --git a/Cargo.lock b/Cargo.lock index 6db9f433084..a11bb4b00a5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -14,7 +14,7 @@ dependencies = [ [[package]] name = "actor-system-error" -version = "0.1.0" +version = "1.0.3" dependencies = [ "derive_more", ] @@ -529,7 +529,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -564,7 +564,7 @@ checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -1024,6 +1024,20 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "calc-stack-height" +version = "1.0.3" +dependencies = [ + "anyhow", + "env_logger", + "gear-core", + "log", + "vara-runtime", + "wabt", + "wasmer", + "wasmer-types", +] + [[package]] name = "camino" version = "1.1.6" @@ -1056,6 +1070,16 @@ dependencies = [ "thiserror", ] +[[package]] +name = "cargo_toml" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "599aa35200ffff8f04c1925aa1acc92fa2e08874379ef42e210a80e527e60838" +dependencies = [ + "serde", + "toml 0.7.8", +] + [[package]] name = "cc" version = "1.0.83" @@ -1217,9 +1241,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.7" +version = "4.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac495e00dcec98c83465d5ad66c5c4fabd652fd6686e7c6269b117e729a6f17b" +checksum = "41fffed7514f420abec6d183b1d3acfd9099c79c3a10a06ade4f8203f1411272" dependencies = [ "clap_builder", "clap_derive 4.4.7", @@ -1227,9 +1251,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.7" +version = "4.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c77ed9a32a62e6ca27175d00d29d05ca32e396ea1eb5fb01d8256b669cec7663" +checksum = "63361bae7eef3771745f02d8d892bec2fee5f6e34af316ba556e7f97a7069ff1" dependencies = [ "anstream", "anstyle", @@ -1259,7 +1283,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -1616,6 +1640,32 @@ dependencies = [ "wasmtime-types", ] +[[package]] +name = "crates-io" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "876aa69b4afca5f2eb5e23daa3445930faf829bcb67075a20ffa884f11f8c57c" +dependencies = [ + "anyhow", + "curl", + "percent-encoding", + "serde", + "serde_json", + "url", +] + +[[package]] +name = "crates-io-manager" +version = "1.0.3" +dependencies = [ + "anyhow", + "cargo_metadata", + "cargo_toml", + "crates-io", + "curl", + "toml 0.7.8", +] + [[package]] name = "crc" version = "3.0.1" @@ -1772,6 +1822,36 @@ dependencies = [ "cipher 0.4.4", ] +[[package]] +name = "curl" +version = "0.4.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22" +dependencies = [ + "curl-sys", + "libc", + "openssl-probe", + "openssl-sys", + "schannel", + "socket2 0.4.9", + "winapi", +] + +[[package]] +name = "curl-sys" +version = "0.4.68+curl-8.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4a0d18d88360e374b16b2273c832b5e57258ffc1d4aa4f96b108e0738d5752f" +dependencies = [ + "cc", + "libc", + "libz-sys", + "openssl-sys", + "pkg-config", + "vcpkg", + "windows-sys 0.48.0", +] + [[package]] name = "curve25519-dalek" version = "2.1.3" @@ -1823,7 +1903,7 @@ checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -1863,7 +1943,7 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -1880,7 +1960,7 @@ checksum = "587663dd5fb3d10932c8aecfe7c844db1bcf0aee93eeab08fac13dc1212c2e7f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -1928,7 +2008,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -1950,7 +2030,7 @@ checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" dependencies = [ "darling_core 0.20.3", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -2051,6 +2131,7 @@ name = "demo-calc-hash" version = "0.1.0" dependencies = [ "gear-wasm-builder", + "gstd", "parity-scale-codec", "sha2 0.10.8", ] @@ -2106,6 +2187,14 @@ dependencies = [ "parity-scale-codec", ] +[[package]] +name = "demo-delayed-reservation-sender" +version = "0.1.0" +dependencies = [ + "gear-wasm-builder", + "gstd", +] + [[package]] name = "demo-delayed-sender" version = "0.1.0" @@ -2207,6 +2296,7 @@ name = "demo-meta-io" version = "0.1.0" dependencies = [ "gmeta", + "gstd", "parity-scale-codec", "scale-info", ] @@ -2416,6 +2506,14 @@ dependencies = [ "parity-scale-codec", ] +[[package]] +name = "demo-signal-wait" +version = "0.1.0" +dependencies = [ + "gear-wasm-builder", + "gstd", +] + [[package]] name = "demo-stack-allocations" version = "0.1.0" @@ -2611,7 +2709,7 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -2779,7 +2877,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -2800,6 +2898,15 @@ dependencies = [ "str-buf", ] +[[package]] +name = "document-features" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e493c573fce17f00dcab13b6ac057994f3ce17d1af4dc39bfd482b83c6eb6157" +dependencies = [ + "litrs", +] + [[package]] name = "downcast" version = "0.11.0" @@ -3069,7 +3176,7 @@ checksum = "eecf8589574ce9b895052fa12d69af7a233f99e6107f5cb8dd1044f2a17bfdcb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -3110,7 +3217,7 @@ checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -3131,14 +3238,14 @@ dependencies = [ "darling 0.20.3", "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] name = "env_logger" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece" dependencies = [ "humantime", "is-terminal", @@ -3161,12 +3268,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.5" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" dependencies = [ "libc", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -3395,9 +3502,9 @@ dependencies = [ [[package]] name = "form_urlencoded" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ "percent-encoding", ] @@ -3441,7 +3548,7 @@ dependencies = [ "Inflector", "array-bytes", "chrono", - "clap 4.4.7", + "clap 4.4.10", "comfy-table", "frame-benchmarking", "frame-support", @@ -3756,7 +3863,7 @@ version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2eeb4ed9e12f43b7fa0baae3f9cdda28352770132ef2e09a23760c29cae8bd47" dependencies = [ - "rustix 0.38.21", + "rustix 0.38.25", "windows-sys 0.48.0", ] @@ -3846,7 +3953,7 @@ checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -3907,18 +4014,18 @@ dependencies = [ [[package]] name = "galloc" -version = "1.0.2" +version = "1.0.3" dependencies = [ "dlmalloc", ] [[package]] name = "gcli" -version = "1.0.2" +version = "1.0.3" dependencies = [ "anyhow", "base64 0.21.5", - "clap 4.4.7", + "clap 4.4.10", "color-eyre", "demo-messager", "demo-new-meta", @@ -3928,8 +4035,6 @@ dependencies = [ "etc", "gear-core", "gear-core-errors", - "gear-core-processor", - "gear-lazy-pages-interface", "gmeta", "gsdk", "hex", @@ -3957,7 +4062,7 @@ dependencies = [ [[package]] name = "gclient" -version = "1.0.2" +version = "1.0.3" dependencies = [ "anyhow", "async-trait", @@ -3999,7 +4104,7 @@ dependencies = [ [[package]] name = "gcore" -version = "1.0.2" +version = "1.0.3" dependencies = [ "galloc", "gear-core-errors", @@ -4012,7 +4117,7 @@ dependencies = [ [[package]] name = "gear-authorship" -version = "1.0.2" +version = "1.0.3" dependencies = [ "demo-mul-by-const", "env_logger", @@ -4057,7 +4162,7 @@ dependencies = [ name = "gear-bags-thresholds" version = "1.0.0" dependencies = [ - "clap 4.4.7", + "clap 4.4.10", "generate-bags", "vara-runtime", ] @@ -4079,9 +4184,9 @@ dependencies = [ [[package]] name = "gear-cli" -version = "1.0.2" +version = "1.0.3" dependencies = [ - "clap 4.4.7", + "clap 4.4.10", "frame-benchmarking", "frame-benchmarking-cli", "frame-system", @@ -4111,7 +4216,7 @@ dependencies = [ [[package]] name = "gear-common" -version = "1.0.2" +version = "1.0.3" dependencies = [ "derive_more", "enum-iterator 1.4.1", @@ -4136,15 +4241,15 @@ dependencies = [ [[package]] name = "gear-common-codegen" -version = "1.0.2" +version = "1.0.3" dependencies = [ "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] name = "gear-core" -version = "1.0.2" +version = "1.0.3" dependencies = [ "blake2-rfc", "byteorder", @@ -4171,7 +4276,7 @@ dependencies = [ [[package]] name = "gear-core-backend" -version = "1.0.2" +version = "1.0.3" dependencies = [ "actor-system-error", "blake2-rfc", @@ -4189,7 +4294,7 @@ dependencies = [ [[package]] name = "gear-core-errors" -version = "1.0.2" +version = "1.0.3" dependencies = [ "derive_more", "enum-iterator 1.4.1", @@ -4198,7 +4303,7 @@ dependencies = [ [[package]] name = "gear-core-processor" -version = "1.0.2" +version = "1.0.3" dependencies = [ "actor-system-error", "derive_more", @@ -4217,7 +4322,7 @@ dependencies = [ [[package]] name = "gear-key-finder" -version = "1.0.2" +version = "1.0.3" dependencies = [ "directories 5.0.1", "hex", @@ -4225,7 +4330,7 @@ dependencies = [ [[package]] name = "gear-lazy-pages" -version = "1.0.2" +version = "1.0.3" dependencies = [ "cfg-if", "derive_more", @@ -4238,17 +4343,14 @@ dependencies = [ "log", "mach", "nix 0.26.4", - "once_cell", "region", - "sp-io", - "sp-std 5.0.0", "sp-wasm-interface", "winapi", ] [[package]] name = "gear-lazy-pages-common" -version = "1.0.2" +version = "1.0.3" dependencies = [ "gear-core", "num_enum", @@ -4257,24 +4359,23 @@ dependencies = [ [[package]] name = "gear-lazy-pages-interface" -version = "1.0.2" +version = "1.0.3" dependencies = [ "byteorder", "gear-common", "gear-core", "gear-lazy-pages-common", "gear-runtime-interface", - "gear-wasm-instrument", "log", "sp-std 5.0.0", ] [[package]] name = "gear-node-loader" -version = "1.0.2" +version = "1.0.3" dependencies = [ "anyhow", - "clap 4.4.7", + "clap 4.4.10", "futures", "futures-timer", "gclient", @@ -4285,7 +4386,6 @@ dependencies = [ "gear-wasm-gen", "gsdk", "names 0.14.0", - "once_cell", "parking_lot 0.12.1", "primitive-types", "rand 0.8.5", @@ -4295,12 +4395,12 @@ dependencies = [ "tokio", "tracing", "tracing-appender", - "tracing-subscriber 0.3.17", + "tracing-subscriber 0.3.18", ] [[package]] name = "gear-node-testing" -version = "1.0.2" +version = "1.0.3" dependencies = [ "frame-benchmarking", "frame-support", @@ -4341,7 +4441,7 @@ dependencies = [ name = "gear-replay-cli" version = "1.0.0" dependencies = [ - "clap 4.4.7", + "clap 4.4.10", "frame-remote-externalities", "frame-system", "gear-runtime-interface", @@ -4368,7 +4468,7 @@ dependencies = [ [[package]] name = "gear-runtime-common" -version = "1.0.2" +version = "1.0.3" dependencies = [ "frame-benchmarking", "frame-support", @@ -4393,7 +4493,7 @@ dependencies = [ [[package]] name = "gear-runtime-interface" -version = "1.0.2" +version = "1.0.3" dependencies = [ "byteorder", "gear-core", @@ -4402,6 +4502,7 @@ dependencies = [ "gear-sandbox-host", "log", "parity-scale-codec", + "sp-io", "sp-runtime-interface", "sp-std 5.0.0", "sp-wasm-interface", @@ -4411,7 +4512,7 @@ dependencies = [ [[package]] name = "gear-runtime-primitives" -version = "1.0.2" +version = "1.0.3" dependencies = [ "sp-core", "sp-runtime", @@ -4435,7 +4536,7 @@ dependencies = [ [[package]] name = "gear-sandbox-env" -version = "0.1.0" +version = "1.0.3" dependencies = [ "parity-scale-codec", "sp-core", @@ -4445,12 +4546,11 @@ dependencies = [ [[package]] name = "gear-sandbox-host" -version = "0.1.0" +version = "1.0.3" dependencies = [ "environmental", "gear-sandbox-env", "log", - "once_cell", "parity-scale-codec", "sp-allocator", "sp-wasm-interface", @@ -4464,7 +4564,7 @@ dependencies = [ [[package]] name = "gear-service" -version = "1.0.2" +version = "1.0.3" dependencies = [ "frame-benchmarking", "frame-benchmarking-cli", @@ -4534,14 +4634,14 @@ dependencies = [ [[package]] name = "gear-stack-buffer" -version = "1.0.2" +version = "1.0.3" dependencies = [ "cc", ] [[package]] name = "gear-utils" -version = "0.1.0" +version = "1.0.3" dependencies = [ "env_logger", "gear-core", @@ -4557,7 +4657,7 @@ dependencies = [ name = "gear-validator-checks" version = "0.1.0" dependencies = [ - "clap 4.4.7", + "clap 4.4.10", "env_logger", "futures", "gsdk", @@ -4571,9 +4671,9 @@ dependencies = [ [[package]] name = "gear-wasm" -version = "0.45.0" +version = "0.45.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f745ed9eb163f4509f01d5564e37db52ec43dd23569bafdba597a5f1e4c125c9" +checksum = "bbfbfa701dc65e683fcd2fb24f046bcef22634acbdf47ad14724637dc39ad05b" [[package]] name = "gear-wasm-builder" @@ -4627,11 +4727,10 @@ dependencies = [ [[package]] name = "gear-wasm-instrument" -version = "1.0.2" +version = "1.0.3" dependencies = [ "enum-iterator 1.4.1", "gear-core", - "gear-core-backend", "gwasm-instrument", "wasmparser-nostd 0.100.1", "wat", @@ -4641,7 +4740,7 @@ dependencies = [ name = "gear-weight-diff" version = "1.0.0" dependencies = [ - "clap 4.4.7", + "clap 4.4.10", "frame-support", "indexmap 2.1.0", "pallet-gear", @@ -4805,7 +4904,7 @@ dependencies = [ [[package]] name = "gmeta" -version = "1.0.2" +version = "1.0.3" dependencies = [ "blake2-rfc", "derive_more", @@ -4819,7 +4918,7 @@ dependencies = [ [[package]] name = "gmeta-codegen" -version = "1.0.2" +version = "1.0.3" dependencies = [ "gmeta", "gstd", @@ -4827,7 +4926,7 @@ dependencies = [ "proc-macro2", "quote", "scale-info", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -4854,7 +4953,7 @@ dependencies = [ [[package]] name = "gsdk" -version = "1.0.2" +version = "1.0.3" dependencies = [ "anyhow", "base64 0.21.5", @@ -4902,23 +5001,24 @@ dependencies = [ "sp-io", "subxt-codegen", "subxt-metadata", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] name = "gsdk-codegen" -version = "1.0.2" +version = "1.0.3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] name = "gstd" -version = "1.0.2" +version = "1.0.3" dependencies = [ "bs58 0.5.0", + "document-features", "futures", "galloc", "gcore", @@ -4939,13 +5039,13 @@ dependencies = [ "gstd", "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", "trybuild", ] [[package]] name = "gsys" -version = "1.0.2" +version = "1.0.3" [[package]] name = "gtest" @@ -4962,7 +5062,8 @@ dependencies = [ "gear-core", "gear-core-errors", "gear-core-processor", - "gear-lazy-pages-interface", + "gear-lazy-pages", + "gear-lazy-pages-common", "gear-utils", "gear-wasm-instrument", "gsys", @@ -4971,14 +5072,13 @@ dependencies = [ "parity-scale-codec", "path-clean", "rand 0.8.5", - "sp-io", ] [[package]] name = "gwasm-instrument" -version = "0.2.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcb127cb43d375de7cdacffd0e4e1c746e52381d11a0465909ae6fbecb99c6c3" +checksum = "69fe7c1db90c8183b2aecb6d3629b2e59b71dfb538d9138f9ae2fa76a2fc0c55" dependencies = [ "gear-wasm", ] @@ -5325,9 +5425,9 @@ dependencies = [ [[package]] name = "idna" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -5532,7 +5632,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" dependencies = [ "hermit-abi 0.3.3", - "rustix 0.38.21", + "rustix 0.38.25", "windows-sys 0.48.0", ] @@ -5895,9 +5995,9 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.149" +version = "0.2.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" +checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" [[package]] name = "libc-print" @@ -6612,9 +6712,15 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" +checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829" + +[[package]] +name = "litrs" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9275e0933cf8bb20f008924c0cb07a0692fe54d8064996520bf998de9eb79aa" [[package]] name = "lock_api" @@ -7409,7 +7515,7 @@ checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -7418,6 +7524,19 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" +[[package]] +name = "numerated" +version = "1.0.3" +dependencies = [ + "derive_more", + "env_logger", + "log", + "num-traits", + "parity-scale-codec", + "proptest", + "scale-info", +] + [[package]] name = "object" version = "0.28.4" @@ -7493,6 +7612,18 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +[[package]] +name = "openssl-sys" +version = "0.9.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40a4130519a360279579c2053038317e40eff64d13fd3f004f9e1b72b8a6aaf9" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + [[package]] name = "option-ext" version = "0.2.0" @@ -7730,7 +7861,7 @@ dependencies = [ [[package]] name = "pallet-gear" -version = "1.0.2" +version = "1.0.3" dependencies = [ "blake2-rfc", "demo-async", @@ -7745,6 +7876,7 @@ dependencies = [ "demo-compose", "demo-constructor", "demo-custom", + "demo-delayed-reservation-sender", "demo-delayed-sender", "demo-distributor", "demo-futures-unordered", @@ -7768,6 +7900,7 @@ dependencies = [ "demo-rwlock", "demo-send-from-reservation", "demo-signal-entry", + "demo-signal-wait", "demo-state-rollback", "demo-sync-duplicate", "demo-wait", @@ -7828,7 +7961,7 @@ dependencies = [ [[package]] name = "pallet-gear-bank" -version = "1.0.2" +version = "1.0.3" dependencies = [ "frame-benchmarking", "frame-support", @@ -7846,7 +7979,7 @@ dependencies = [ [[package]] name = "pallet-gear-debug" -version = "1.0.2" +version = "1.0.3" dependencies = [ "demo-vec", "env_logger", @@ -7882,7 +8015,7 @@ dependencies = [ [[package]] name = "pallet-gear-gas" -version = "1.0.2" +version = "1.0.3" dependencies = [ "env_logger", "frame-benchmarking", @@ -7911,7 +8044,7 @@ dependencies = [ [[package]] name = "pallet-gear-messenger" -version = "1.0.2" +version = "1.0.3" dependencies = [ "env_logger", "frame-benchmarking", @@ -7935,7 +8068,7 @@ dependencies = [ [[package]] name = "pallet-gear-payment" -version = "1.0.2" +version = "1.0.3" dependencies = [ "env_logger", "frame-benchmarking", @@ -7969,16 +8102,16 @@ dependencies = [ [[package]] name = "pallet-gear-proc-macro" -version = "1.0.2" +version = "1.0.3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] name = "pallet-gear-program" -version = "1.0.2" +version = "1.0.3" dependencies = [ "frame-support", "frame-system", @@ -8003,7 +8136,7 @@ dependencies = [ [[package]] name = "pallet-gear-rpc" -version = "1.0.2" +version = "1.0.3" dependencies = [ "gear-common", "gear-core", @@ -8019,7 +8152,7 @@ dependencies = [ [[package]] name = "pallet-gear-rpc-runtime-api" -version = "1.0.2" +version = "1.0.3" dependencies = [ "pallet-gear", "sp-api", @@ -8030,7 +8163,7 @@ dependencies = [ [[package]] name = "pallet-gear-scheduler" -version = "1.0.2" +version = "1.0.3" dependencies = [ "env_logger", "frame-benchmarking", @@ -8061,7 +8194,7 @@ dependencies = [ [[package]] name = "pallet-gear-staking-rewards" -version = "1.0.2" +version = "1.0.3" dependencies = [ "env_logger", "frame-benchmarking", @@ -8116,7 +8249,7 @@ dependencies = [ [[package]] name = "pallet-gear-voucher" -version = "1.0.2" +version = "1.0.3" dependencies = [ "env_logger", "frame-benchmarking", @@ -8751,9 +8884,9 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" @@ -8786,7 +8919,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -8827,7 +8960,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -9109,9 +9242,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.69" +version = "1.0.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" +checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" dependencies = [ "unicode-ident", ] @@ -9178,9 +9311,9 @@ dependencies = [ [[package]] name = "proptest" -version = "1.3.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c003ac8c77cb07bb74f5f198bce836a689bcd5a42574612bf14d17bfd08c20e" +checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" dependencies = [ "bit-set", "bit-vec", @@ -9190,7 +9323,7 @@ dependencies = [ "rand 0.8.5", "rand_chacha 0.3.1", "rand_xorshift", - "regex-syntax 0.7.5", + "regex-syntax 0.8.2", "rusty-fork", "tempfile", "unarray", @@ -9590,7 +9723,7 @@ checksum = "7f7473c2cfcf90008193dd0e3e16599455cb601a9fce322b5bb55de799664925" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -9682,7 +9815,7 @@ dependencies = [ name = "regression-analysis" version = "0.1.0" dependencies = [ - "clap 4.4.7", + "clap 4.4.10", "frame-support", "junit-common", "pallet-gear", @@ -9908,7 +10041,7 @@ version = "0.1.0" dependencies = [ "anyhow", "arbitrary", - "clap 4.4.7", + "clap 4.4.10", "frame-support", "frame-system", "gear-call-gen", @@ -10016,14 +10149,14 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.21" +version = "0.38.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3" +checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e" dependencies = [ "bitflags 2.4.1", "errno", "libc", - "linux-raw-sys 0.4.10", + "linux-raw-sys 0.4.11", "windows-sys 0.48.0", ] @@ -10211,7 +10344,7 @@ source = "git+https://github.com/gear-tech/substrate.git?branch=gear-polkadot-v0 dependencies = [ "array-bytes", "chrono", - "clap 4.4.7", + "clap 4.4.10", "fdlimit", "futures", "libp2p-identity", @@ -10999,7 +11132,7 @@ name = "sc-storage-monitor" version = "0.1.0" source = "git+https://github.com/gear-tech/substrate.git?branch=gear-polkadot-v0.9.43-canary-no-sandbox#26cb1995d90479894e0631a5ba37e05ce878bd8f" dependencies = [ - "clap 4.4.7", + "clap 4.4.10", "fs4", "futures", "log", @@ -11094,7 +11227,7 @@ dependencies = [ "sp-tracing", "thiserror", "tracing", - "tracing-log", + "tracing-log 0.1.3", "tracing-subscriber 0.2.25", ] @@ -11512,9 +11645,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.190" +version = "1.0.193" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7" +checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" dependencies = [ "serde_derive", ] @@ -11530,13 +11663,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.190" +version = "1.0.193" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3" +checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -11558,7 +11691,7 @@ checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -13012,7 +13145,7 @@ dependencies = [ "quote", "scale-info", "subxt-metadata", - "syn 2.0.38", + "syn 2.0.39", "thiserror", "tokio", ] @@ -13043,7 +13176,7 @@ dependencies = [ "darling 0.20.3", "proc-macro-error", "subxt-codegen", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -13072,9 +13205,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.38" +version = "2.0.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" +checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" dependencies = [ "proc-macro2", "quote", @@ -13159,7 +13292,7 @@ dependencies = [ "cfg-if", "fastrand 2.0.1", "redox_syscall 0.4.1", - "rustix 0.38.21", + "rustix 0.38.25", "windows-sys 0.48.0", ] @@ -13230,7 +13363,7 @@ checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -13352,9 +13485,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.33.0" +version = "1.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653" +checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9" dependencies = [ "backtrace", "bytes", @@ -13371,13 +13504,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -13541,13 +13674,14 @@ dependencies = [ [[package]] name = "tracing-appender" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d48f71a791638519505cefafe162606f706c25592e4bde4d97600c0195312e" +checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" dependencies = [ "crossbeam-channel", + "thiserror", "time", - "tracing-subscriber 0.3.17", + "tracing-subscriber 0.3.18", ] [[package]] @@ -13558,7 +13692,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] @@ -13578,7 +13712,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e" dependencies = [ "tracing", - "tracing-subscriber 0.3.17", + "tracing-subscriber 0.3.18", ] [[package]] @@ -13602,6 +13736,17 @@ dependencies = [ "tracing-core", ] +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + [[package]] name = "tracing-serde" version = "0.1.3" @@ -13631,15 +13776,15 @@ dependencies = [ "thread_local", "tracing", "tracing-core", - "tracing-log", + "tracing-log 0.1.3", "tracing-serde", ] [[package]] name = "tracing-subscriber" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" dependencies = [ "matchers 0.1.0", "nu-ansi-term", @@ -13652,7 +13797,7 @@ dependencies = [ "thread_local", "tracing", "tracing-core", - "tracing-log", + "tracing-log 0.2.0", "tracing-serde", ] @@ -13736,7 +13881,7 @@ version = "0.10.0-dev" source = "git+https://github.com/gear-tech/substrate.git?branch=gear-polkadot-v0.9.43-canary-no-sandbox#26cb1995d90479894e0631a5ba37e05ce878bd8f" dependencies = [ "async-trait", - "clap 4.4.7", + "clap 4.4.10", "frame-remote-externalities", "frame-try-runtime", "hex", @@ -13929,12 +14074,12 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" dependencies = [ "form_urlencoded", - "idna 0.4.0", + "idna 0.5.0", "percent-encoding", ] @@ -13961,7 +14106,7 @@ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" [[package]] name = "vara-runtime" -version = "1.0.2" +version = "1.0.3" dependencies = [ "const-str", "env_logger", @@ -14164,7 +14309,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", "wasm-bindgen-shared", ] @@ -14198,7 +14343,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -14219,9 +14364,9 @@ dependencies = [ [[package]] name = "wasm-encoder" -version = "0.36.1" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53ae0be20bf87918df4fa831bfbbd0b491d24aee407ed86360eae4c2c5608d38" +checksum = "7b09bc5df933a3dabbdb72ae4b6b71be8ae07f58774d5aa41bd20adcd41a235a" dependencies = [ "leb128", ] @@ -14230,7 +14375,7 @@ dependencies = [ name = "wasm-info" version = "0.1.0" dependencies = [ - "clap 4.4.7", + "clap 4.4.10", "hex", "parity-wasm 0.45.0", ] @@ -14287,7 +14432,7 @@ dependencies = [ name = "wasm-proc" version = "0.1.0" dependencies = [ - "clap 4.4.7", + "clap 4.4.10", "env_logger", "gear-wasm-builder", "log", @@ -14729,9 +14874,9 @@ dependencies = [ [[package]] name = "wasmparser" -version = "0.116.0" +version = "0.118.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53290b1276c5c2d47d694fb1a920538c01f51690e7e261acbe1d10c5fc306ea1" +checksum = "ebbb91574de0011ded32b14db12777e7dd5e9ea2f9d7317a1ab51a9495c75924" dependencies = [ "indexmap 2.1.0", "semver 1.0.20", @@ -14754,12 +14899,12 @@ dependencies = [ [[package]] name = "wasmprinter" -version = "0.2.71" +version = "0.2.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f98260aa20f939518bcec1fac32c78898d5c68872e7363a4651f21f791b6c7e" +checksum = "61a7a046e6636d25c06a5df00bdc34e02f9e6e0e8a356d738299b961a6126114" dependencies = [ "anyhow", - "wasmparser 0.116.0", + "wasmparser 0.118.0", ] [[package]] @@ -14959,21 +15104,21 @@ dependencies = [ [[package]] name = "wast" -version = "67.0.0" +version = "69.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36c2933efd77ff2398b83817a98984ffe4b67aefd9aa1d2c8e68e19b553f1c38" +checksum = "efa51b5ad1391943d1bfad537e50f28fe938199ee76b115be6bae83802cd5185" dependencies = [ "leb128", "memchr", "unicode-width", - "wasm-encoder 0.36.1", + "wasm-encoder 0.38.0", ] [[package]] name = "wat" -version = "1.0.78" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c02905d13751dcb18f4e19f489d37a1bf139f519feaeef28d072a41a78e69a74" +checksum = "74a4c2488d058326466e086a43f5d4ea448241a8d0975e3eb0642c0828be1eb3" dependencies = [ "wast", ] @@ -15240,7 +15385,7 @@ dependencies = [ "either", "home", "once_cell", - "rustix 0.38.21", + "rustix 0.38.25", ] [[package]] @@ -15350,6 +15495,15 @@ dependencies = [ "windows-targets 0.48.5", ] +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.0", +] + [[package]] name = "windows-targets" version = "0.42.2" @@ -15380,6 +15534,21 @@ dependencies = [ "windows_x86_64_msvc 0.48.5", ] +[[package]] +name = "windows-targets" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +dependencies = [ + "windows_aarch64_gnullvm 0.52.0", + "windows_aarch64_msvc 0.52.0", + "windows_i686_gnu 0.52.0", + "windows_i686_msvc 0.52.0", + "windows_x86_64_gnu 0.52.0", + "windows_x86_64_gnullvm 0.52.0", + "windows_x86_64_msvc 0.52.0", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.42.2" @@ -15392,6 +15561,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" + [[package]] name = "windows_aarch64_msvc" version = "0.33.0" @@ -15410,6 +15585,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" + [[package]] name = "windows_i686_gnu" version = "0.33.0" @@ -15428,6 +15609,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +[[package]] +name = "windows_i686_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" + [[package]] name = "windows_i686_msvc" version = "0.33.0" @@ -15446,6 +15633,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +[[package]] +name = "windows_i686_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" + [[package]] name = "windows_x86_64_gnu" version = "0.33.0" @@ -15464,6 +15657,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" + [[package]] name = "windows_x86_64_gnullvm" version = "0.42.2" @@ -15476,6 +15675,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" + [[package]] name = "windows_x86_64_msvc" version = "0.33.0" @@ -15494,6 +15699,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" + [[package]] name = "winnow" version = "0.5.17" @@ -15689,7 +15900,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn 2.0.39", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 4a35351232f..cc63134cc6a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [workspace.package] -version = "1.0.2" +version = "1.0.3" authors = ["Gear Technologies"] edition = "2021" license = "GPL-3.0" @@ -14,6 +14,7 @@ default-members = ["node/cli"] members = [ "common", "common/codegen", + "common/numerated", "core", "core-backend", "core-processor", @@ -26,6 +27,7 @@ members = [ "examples/autoreply", "examples/calc-hash", "examples/custom", + "examples/delayed-reservation-sender", "examples/compose", "examples/constructor", "examples/delayed-sender", @@ -57,9 +59,10 @@ members = [ "examples/rwlock", "examples/send-from-reservation", "examples/signal-entry", + "examples/signal-wait", "examples/state-rollback", "examples/sync-duplicate", - "examples/sys-calls", + "examples/syscalls", "examples/syscall-error", "examples/vec", "examples/wait", @@ -73,6 +76,7 @@ members = [ "gclient", "gcore", "gmeta", + "gmeta/codegen", "gsdk", "gsdk/codegen", "gsdk/api-gen", @@ -98,7 +102,9 @@ base64 = "0.21.5" byteorder = { version = "1.5.0", default-features = false } blake2-rfc = { version = "0.2.18", default-features = false } bs58 = { version = "0.5.0", default-features = false } -clap = { version = "4.4.7" } +# TODO: upgrade this package ( issue #2694 ) +cargo_metadata = "=0.15.3" +clap = { version = "4.4.10" } codec = { package = "parity-scale-codec", version = "3.6.4", default-features = false } color-eyre = "0.6.2" colored = "2.0.0" @@ -109,6 +115,7 @@ dlmalloc = { git = "https://github.com/gear-tech/dlmalloc-rust.git" } dyn-clonable = "0.9.0" enum-iterator = "1.4.0" env_logger = "0.10" +environmental = "1.1.3" futures = { version = "0.3", default-features = false } futures-timer = "3.0.2" futures-util = "0.3.29" @@ -127,7 +134,7 @@ parking_lot = "0.12.1" path-clean = "1.0.1" primitive-types = { version = "0.12.2", default-features = false } proc-macro2 = { version = "1", default-features = false } -proptest = "1.3.1" +proptest = "1.4.0" quick-xml = "0.28" quote = { version = "1.0.33", default-features = false } rand = { version = "0.8", default-features = false } @@ -157,31 +164,36 @@ static_assertions = "1" subxt = { version = "0.32.1" } subxt-metadata = { version = "0.32.1" } subxt-codegen = { version = "0.32.1" } -syn = "2.0.38" +syn = "2.0.39" thiserror = "1.0.50" -tokio = { version = "1.33.0" } -url = "2.4.1" -wat = "1.0.78" +tokio = { version = "1.34.0" } +url = "2.5.0" +wat = "1.0.81" wabt = "0.10.0" +wasmer = "2.2" +wasmer-cache = "2.2.1" +wasmer-types = "2.2" wasmi = { version = "0.14.0", default-features = false } wasmparser = { package = "wasmparser-nostd", version = "0.100.1", default-features = false } -which = "4.4.0" +which = "4.4.2" winapi = "0.3.9" paste = "1.0" +tempfile = "3.8.1" # Published deps # # fork of `parity-wasm` with sign-ext enabled by default. # -# https://github.com/gear-tech/parity-wasm/tree/v0.45.0-sign-ext -# gear-wasm = "0.45.0" +# https://github.com/gear-tech/parity-wasm/tree/v0.45.1-sign-ext +# gear-wasm = "0.45.1" # # fork of `wasm-instrument` # -# https://github.com/gear-tech/wasm-instrument/tree/v0.2.1-sign-ext -gwasm-instrument = { version = "0.2.1", default-features = false } +# https://github.com/gear-tech/wasm-instrument/tree/v0.2.3-sign-ext +gwasm-instrument = { version = "0.2.3", default-features = false } # Internal deps +numerated = { path = "common/numerated" } authorship = { package = "gear-authorship", path = "node/authorship" } common = { package = "gear-common", path = "common", default-features = false } core-processor = { package = "gear-core-processor", path = "core-processor", default-features = false } @@ -190,10 +202,11 @@ gcore = { path = "gcore" } gcli = { path = "gcli" } gclient = { path = "gclient" } gsdk = { path = "gsdk" } -gstd = { path = "gstd" } +gstd = { path = "gstd", features = [ "nightly" ] } gsys = { path = "gsys" } gtest = { path = "gtest" } gmeta = { path = "gmeta" } +gmeta-codegen = { path = "gmeta/codegen" } gear-authorship = { path = "node/authorship" } gear-core-backend = { path = "core-backend", default-features = false } gear-call-gen = { path = "utils/call-gen" } @@ -219,6 +232,7 @@ gear-wasm-gen = { path = "utils/wasm-gen" } gear-wasm-instrument = { path = "utils/wasm-instrument", default-features = false } junit-common = { path = "utils/junit-common" } actor-system-error = { path = "utils/actor-system-error" } +calc-stack-height = { path = "utils/calc-stack-height" } pallet-gear = { path = "pallets/gear", default-features = false } pallet-gear-debug = { path = "pallets/gear-debug", default-features = false } pallet-gear-gas = { path = "pallets/gas", default-features = false } @@ -240,6 +254,10 @@ testing = { package = "gear-node-testing", path = "node/testing" } vara-runtime = { path = "runtime/vara", default-features = false } wasm-smith = { version = "0.12.21", git = "https://github.com/gear-tech/wasm-tools.git", branch = "gear-stable" } +# Common executors between `sandbox-host` and `calc-stack-height` +sandbox-wasmer = { package = "wasmer", version = "2.2", features = ["singlepass"] } +sandbox-wasmer-types = { package = "wasmer-types", version = "2.2" } + # Substrate deps frame-benchmarking = { version = "4.0.0-dev", git = "https://github.com/gear-tech/substrate.git", branch = "gear-polkadot-v0.9.43-canary-no-sandbox", default-features = false } frame-benchmarking-cli = { version = "4.0.0-dev", git = "https://github.com/gear-tech/substrate.git", branch = "gear-polkadot-v0.9.43-canary-no-sandbox" } @@ -360,7 +378,7 @@ substrate-wasm-builder = { version = "5.0.0-dev", git = "https://github.com/gear try-runtime-cli = { version = "0.10.0-dev", git = "https://github.com/gear-tech/substrate.git", branch = "gear-polkadot-v0.9.43-canary-no-sandbox" } # Examples -test-syscalls = { path = "examples/sys-calls", default-features = false } +test-syscalls = { path = "examples/syscalls", default-features = false } demo-async = { path = "examples/async" } demo-async-custom-entry = { path = "examples/async-custom-entry" } demo-async-init = { path = "examples/async-init" } @@ -371,6 +389,7 @@ demo-calc-hash = { path = "examples/calc-hash" } demo-calc-hash-in-one-block = { path = "examples/calc-hash/in-one-block" } demo-calc-hash-over-blocks = { path = "examples/calc-hash/over-blocks" } demo-custom = { path = "examples/custom" } +demo-delayed-reservation-sender = { path = "examples/delayed-reservation-sender" } demo-compose = { path = "examples/compose" } demo-constructor = { path = "examples/constructor", default-features = false } demo-delayed-sender = { path = "examples/delayed-sender" } @@ -401,6 +420,7 @@ demo-reserve-gas = { path = "examples/reserve-gas", default-features = false } demo-rwlock = { path = "examples/rwlock" } demo-send-from-reservation = { path = "examples/send-from-reservation" } demo-signal-entry = { path = "examples/signal-entry" } +demo-signal-wait = { path = "examples/signal-wait" } demo-state-rollback = { path = "examples/state-rollback" } demo-sync-duplicate = { path = "examples/sync-duplicate" } demo-vec = { path = "examples/vec" } @@ -416,9 +436,8 @@ demo-wat = { path = "examples/wat" } # # TODO: remove these dependencies (from this file?) or add more docs. cfg-if = "1.0.0" # gear-lazy-pages -# TODO: upgrade this package ( issue #2694 ) -cargo_metadata = "=0.15.4" # utils/wasm-builder errno = "0.3" # gear-lazy-pages +nix = "0.26.4" # gear-lazy-pages impl-trait-for-tuples = "0.2.2" # pallets/staking-rewards indexmap = "2.1.0" # utils/weight-diff indicatif = "*" # utils/wasm-gen @@ -426,7 +445,6 @@ keyring = "1.2.1" # gcli libp2p = "=0.50.1" # gcli (same version as sc-consensus) mimalloc = { version = "0.1.39", default-features = false } # node/cli nacl = "0.5.3" # gcli -nix = "0.26.4" # gear-lazy-pages nonempty = "0.8.1" # utils/utils libfuzzer-sys = "0.4" # utils/runtime-fuzzer/fuzz pwasm-utils = "0.19.0" # utils/wasm-builder @@ -440,7 +458,7 @@ thousands = "0.2.0" # util toml = "0.7.8" # utils/wasm-builder tracing = "0.1.40" # utils/node-loder tracing-appender = "0.2" # utils/node-loder -tracing-subscriber = "0.3.16" # utils/node-loder +tracing-subscriber = "0.3.18" # utils/node-loder trybuild = "1" # gstd/codegen wasm-opt = "0.112" # utils/wasm-builder wasmprinter = "0.2" # utils/wasm-gen @@ -449,6 +467,9 @@ fail = "0.5" # gear scale-value = "^0.12" # gsdk heck = "0.4.1" # gsdk-api-gen etc = "0.1.16" # gcli +cargo_toml = "0.15.3" # crates-io +crates-io = "0.37.0" # crates-io +curl = "0.4.44" # crates-io scale-decode = "0.9.0" # gsdk directories = "5.0.1" # utils/key-finder num-traits = { version = "0.2", default-features = false } # gear-core diff --git a/README.md b/README.md index abbdd0a2f89..35428c73f98 100644 --- a/README.md +++ b/README.md @@ -5,12 +5,12 @@
-Hit the :star: button to keep up with our daily progress!
+Hit the :star: button to keep up with daily protocol's development progress!
# Getting Started -1. :open_hands: The easiest way to get started with Gear is by using the demo environment at [https://idea.gear-tech.io](https://idea.gear-tech.io). +1. :open_hands: The easiest way to get started with Gear Protocol is by using the demo environment at [https://idea.gear-tech.io](https://idea.gear-tech.io). -2. :wrench: Follow the instructions from ["Getting started in 5 minutes"](https://wiki.gear-tech.io/docs/getting-started-in-5-minutes/) to compile the Rust test smart contract to Wasm. :running: Upload and run smart contract in Vara Network Testnet via [Gear Idea](https://idea.gear-tech.io/programs?node=wss%3A%2F%2Ftestnet.vara-network.io), send a message to a program, check how it is going. +2. :wrench: Follow the instructions from ["Getting started in 5 minutes"](https://wiki.gear-tech.io/docs/getting-started-in-5-minutes/) to compile the Rust test program to Wasm. :running: Upload and run the program on the Vara Network Testnet via [Gear Idea](https://idea.gear-tech.io/programs?node=wss%3A%2F%2Ftestnet.vara-network.io), send a message to a program, check how it is going. -3. :scroll: Write your own smart contract or choose one from the available comprehensive [examples](https://github.com/gear-foundation/dapps) for a convenient and swift onboarding process. +3. :scroll: Write your own program or use one from the comprehensive [examples library](https://github.com/gear-foundation/dapps) as a basis for a convenient and swift onboarding process. 4. :computer: Download and run your Gear node locally or create your own multi-node local testnet. -5. :dolphin: Deep dive to the [Smart Contracts section](https://wiki.gear-tech.io/docs/developing-contracts/introduction) of the Gear Wiki for more details about how to implement and run your dApp in Gear. +5. :dolphin: Deep dive to the [Examples section](https://wiki.gear-tech.io/docs/developing-contracts/introduction) of the Gear Wiki for more details about how to implement and run your dApp with Gear. ## Run Gear Node @@ -66,19 +66,25 @@ Gear node can run in a single Dev Net mode or you can create a Multi-Node local - **Linux x64**: [gear-nightly-x86_64-unknown-linux-gnu.tar.xz](https://get.gear.rs/gear-nightly-x86_64-unknown-linux-gnu.tar.xz) - **Windows x64**: [gear-nightly-x86_64-pc-windows-msvc.zip](https://get.gear.rs/gear-nightly-x86_64-pc-windows-msvc.zip) -2. Run Gear node without special arguments to get a node connected to the testnet: +2. Run Gear node without special arguments to get a node connected to the test network: ```bash gear ``` -3. One may run a local node in development mode for testing purposes. This node will not be connected to any external network. Use `--dev` argument for running the node locally and storing the state in temporary storage: +3. Connect to the Vara network: + + ```bash + gear --chain=vara + ``` + +4. One may run a local node in development mode for testing purposes. This node will not be connected to any external network. Use `--dev` argument for running the node locally and storing the state in temporary storage: ```bash gear --dev ``` -4. Get more info about usage details, flags, available options and subcommands: +5. Get more info about usage details, flags, available options and subcommands: ```bash gear --help @@ -86,39 +92,41 @@ Gear node can run in a single Dev Net mode or you can create a Multi-Node local ## Implement and run your own blockchain application -1. Visit the [Gear Wiki](https://wiki.gear-tech.io/docs/examples/prerequisites) to explore dApp examples in action and gain a deeper understanding of their functionalities. Write your own smart contract or take one from the available templates. Adapt a template in accordance with your business needs. +1. Visit the [Gear Wiki](https://wiki.gear-tech.io/docs/examples/prerequisites) to explore dApp examples in action and gain a deeper understanding of their functionalities. Write your own program or take one from the available templates. Adapt a template in accordance with your business needs. -2. Test your smart contract off-chain, test it on-chain using a local node, then upload to Gear-powered network via [Gear Idea](https://idea.gear-tech.io/). +2. Test your program off-chain, test it on-chain using a local node, then upload to Gear-powered network via [Gear Idea](https://idea.gear-tech.io/). -3. Implement frontend applications that interact with your smart contracts using [JS API](https://github.com/gear-tech/gear-js/tree/main/api). React application examples are available [here](https://github.com/gear-foundation/dapps/tree/master/frontend). +3. Implement frontend application that interacts with your program using [JS API](https://github.com/gear-tech/gear-js/tree/main/api). React application examples are available [here](https://github.com/gear-foundation/dapps/tree/master/frontend). -# Gear components +# Gear Protocol components -* [core](https://github.com/gear-tech/gear/tree/master/core) - Gear engine for distributed computing core components. +* [core](https://github.com/gear-tech/gear/tree/master/core) - engine for distributed computing core components. -* [node](https://github.com/gear-tech/gear/tree/master/node) - Gear substrate-based node, ready for hacking :rocket:. +* [node](https://github.com/gear-tech/gear/tree/master/node) - substrate-based node, ready for hacking :rocket:. -* [gstd](https://github.com/gear-tech/gear/tree/master/gstd) - Standard library for Gear smart contracts. +* [gstd](https://github.com/gear-tech/gear/tree/master/gstd) - standard library for implementing programs with Gear Protocol. -* [gear-js](https://github.com/gear-tech/gear-js/tree/main/api) - JSON-RPC API of Gear backend. +* [gtest](https://github.com/gear-tech/gear/tree/master/gtest) - fast and lightweight tool for debugging program logic. + +* [gclient](https://github.com/gear-tech/gear/tree/master/gclient) - a tool for testing programs with a real blockchain network. -* [examples](https://github.com/gear-foundation/dapps) - Smart contract examples. +* [gear-js](https://github.com/gear-tech/gear-js/tree/main/api) - JSON-RPC API of Gear backend. -Go to https://docs.gear.rs to dive into the documentation on Gear crates. +Go to https://docs.gear.rs to dive into the documentation on Gear Protocol crates. -# What does Gear do? +# What does Gear Protocol do?
-
Gear provides the easiest and most cost-effective way
to run WebAssembly programs (smart-contracts) compiled from
many popular languages, such as Rust, C/C++ and more.
+
Gear Protocol provides the easiest and most cost-effective way
to run Wasm programs compiled from
many popular languages, such as Rust, C/C++ and more.
-
Gear ensures very minimal, intuitive, and sufficient API
for running both newly written and existing programs
on multiple networks without the need to rewrite them.
+
It ensures very minimal, intuitive, and sufficient API
for running both newly written and existing programs
on multiple Gear-powered networks without the need to rewrite them.
-
Smart Contracts are stored in the blockchain’s state
and are invoked preserving their state upon request.
+
Programs are stored in the blockchain’s state
and are invoked preserving their state upon request.
-
Gear facilitates a seamless transition to Web3,
enabling the operation of dApps, microservices, middleware, and open APIs.
+
Gear Protocol facilitates a seamless transition to Web3,
enabling the operation of dApps, microservices, middleware, and open APIs.