From b37b325b269a545644f2cfa2cdab65a0f8f18622 Mon Sep 17 00:00:00 2001 From: glihm Date: Fri, 17 Jan 2025 12:10:29 -0600 Subject: [PATCH] feat: bump to cairo 2.9.2 (#2879) * wip: deps versionning * fix: add missing scarb field * chore: bump scarb * fix blockifier changes * fix: update scarb related code for testing * fix blockifier resource bounds mapping * bump scarb version * cairo fmt * tests: regenerate test databases * fix: bump cainome to fix event parsing * fix: clippy * fix contract call * add test for calling non legacy contract * wip: fixing cairo compilation * chore: bump to cairo 2.9.2 * chore: update scarb * fix: fmt and scarb update * tests: regenerates test dbs * fix: migrate to new scarb test functions * tests: regenerate test db * tests: regenerate test db * ci: add scarb for test commands since it depends on scarb metadata * fix(core-cairo-test): build external world class and adjust panick messages * feat: don't enforce fee if tx max fee is zero * chore: bump scarb * fix: add better error message if env var SCARB is not correctly set * tests: regenerate test db and update addresses in cairo config * only modify if we're in fee enabled mode * tests: fix test policies * ci: use rust 181 devcontainer * tests: regenerate test db * ci: wip * ci+docker: move to ubuntu:noble * ci: add back dojo-dev image for test * ci: add the container to build for the same version * docker: add make to devcontainer * ci: use latest dojo-dev * docker: revert to bookworm for dojo image * fix(devcontainer): add missing dependencies for testing * ci: bump devcontainer * tests: regenerate test db --------- Co-authored-by: Ammar Arif --- .devcontainer/Dockerfile | 26 +- .github/workflows/ci.yml | 28 +- .github/workflows/devcontainer.yml | 4 +- .tool-versions | 2 +- Cargo.lock | 678 +++++++++++------- Cargo.toml | 54 +- bin/katana/Cargo.toml | 1 + bin/sozo/Cargo.toml | 9 +- bin/sozo/benches/spawn-and-move-build.rs | 1 + bin/sozo/src/commands/build.rs | 1 + bin/sozo/src/commands/test.rs | 332 ++++----- .../invalid_cairo_version/Scarb.lock | 6 + bin/sozo/tests/test_data/policies.json | 66 +- crates/benches/contracts/Scarb.lock | 2 +- crates/benches/contracts/Scarb.toml | 4 +- .../contracts/src/models/character.cairo | 2 +- crates/dojo/core-cairo-test/Cargo.toml | 15 + crates/dojo/core-cairo-test/Scarb.lock | 6 +- crates/dojo/core-cairo-test/Scarb.toml | 11 +- crates/dojo/core-cairo-test/src/lib.cairo | 4 +- .../src/tests/benchmarks.cairo | 36 +- .../core-cairo-test/src/tests/contract.cairo | 4 +- .../src/tests/event/event.cairo | 2 +- .../src/tests/helpers/event.cairo | 8 +- .../src/tests/helpers/helpers.cairo | 20 +- .../src/tests/helpers/model.cairo | 8 +- .../src/tests/meta/introspect.cairo | 34 +- .../src/tests/model/model.cairo | 12 +- .../src/tests/storage/packing.cairo | 39 +- .../src/tests/utils/hash.cairo | 2 +- .../core-cairo-test/src/tests/utils/key.cairo | 4 +- .../src/tests/utils/layout.cairo | 12 +- .../src/tests/utils/misc.cairo | 6 +- .../core-cairo-test/src/tests/world/acl.cairo | 36 +- .../src/tests/world/contract.cairo | 24 +- .../src/tests/world/event.cairo | 49 +- .../src/tests/world/metadata.cairo | 18 +- .../src/tests/world/model.cairo | 51 +- .../src/tests/world/namespace.cairo | 6 +- .../src/tests/world/storage.cairo | 92 ++- .../src/tests/world/world.cairo | 28 +- crates/dojo/core-cairo-test/src/utils.cairo | 2 +- crates/dojo/core-cairo-test/src/world.cairo | 44 +- crates/dojo/core/Scarb.lock | 2 +- crates/dojo/core/Scarb.toml | 6 +- .../src/contract/components/upgradeable.cairo | 8 +- .../contract/components/world_provider.cairo | 4 +- crates/dojo/core/src/event/component.cairo | 4 +- crates/dojo/core/src/event/event.cairo | 4 +- crates/dojo/core/src/lib.cairo | 6 +- crates/dojo/core/src/meta/introspect.cairo | 22 +- crates/dojo/core/src/meta/layout.cairo | 4 +- crates/dojo/core/src/model/component.cairo | 4 +- crates/dojo/core/src/model/definition.cairo | 2 +- crates/dojo/core/src/model/metadata.cairo | 4 +- crates/dojo/core/src/model/model.cairo | 4 +- crates/dojo/core/src/model/model_value.cairo | 2 +- crates/dojo/core/src/model/storage.cairo | 10 +- crates/dojo/core/src/storage/database.cairo | 2 +- .../dojo/core/src/storage/entity_model.cairo | 22 +- crates/dojo/core/src/storage/layout.cairo | 40 +- crates/dojo/core/src/storage/packing.cairo | 219 ++---- crates/dojo/core/src/storage/storage.cairo | 26 +- crates/dojo/core/src/utils/layout.cairo | 4 +- crates/dojo/core/src/utils/misc.cairo | 2 +- crates/dojo/core/src/utils/serde.cairo | 2 +- crates/dojo/core/src/utils/snf_test.cairo | 57 +- crates/dojo/core/src/world/errors.cairo | 2 +- crates/dojo/core/src/world/iworld.cairo | 18 +- crates/dojo/core/src/world/resource.cairo | 2 +- crates/dojo/core/src/world/storage.cairo | 110 +-- .../dojo/core/src/world/world_contract.cairo | 193 ++--- crates/dojo/lang/Scarb.lock | 2 +- crates/dojo/lang/Scarb.toml | 2 +- .../lang/src/attribute_macros/contract.rs | 1 + .../dojo/lang/src/attribute_macros/event.rs | 1 + .../lang/src/attribute_macros/interface.rs | 1 + .../dojo/lang/src/attribute_macros/model.rs | 1 + crates/dojo/lang/src/derive_macros/mod.rs | 1 + crates/dojo/lang/src/inline_macros/delete.rs | 1 + crates/dojo/lang/src/inline_macros/emit.rs | 1 + crates/dojo/lang/src/inline_macros/get.rs | 1 + .../get_models_test_class_hashes.rs | 1 + .../src/inline_macros/selector_from_tag.rs | 1 + crates/dojo/lang/src/inline_macros/set.rs | 1 + .../src/inline_macros/spawn_test_world.rs | 1 + crates/dojo/test-utils/src/compiler.rs | 4 +- crates/dojo/world/abigen/src/main.rs | 3 +- .../dojo/world/src/contracts/abigen/model.rs | 38 +- crates/katana/cairo/Cargo.toml | 2 +- crates/katana/executor/Cargo.toml | 8 +- .../src/implementation/blockifier/error.rs | 5 +- .../src/implementation/blockifier/mod.rs | 74 +- .../src/implementation/blockifier/state.rs | 40 +- .../src/implementation/blockifier/utils.rs | 480 ++++++++----- crates/katana/pool/src/validation/stateful.rs | 18 +- .../katana/primitives/src/conversion/rpc.rs | 7 +- crates/katana/rpc/rpc-types/src/class.rs | 5 +- crates/katana/rpc/rpc/tests/starknet.rs | 41 +- crates/torii/types-test/Scarb.lock | 4 +- crates/torii/types-test/Scarb.toml | 2 +- examples/game-lib/Scarb.lock | 2 +- examples/game-lib/Scarb.toml | 1 + examples/game-lib/armory/Scarb.toml | 1 + examples/game-lib/bestiary/Scarb.toml | 1 + examples/simple/Scarb.lock | 6 +- examples/simple/Scarb.toml | 5 +- examples/simple/dojo_dev.toml | 2 +- examples/simple/manifest_dev.json | 200 +----- examples/simple/src/lib.cairo | 18 +- examples/spawn-and-move/Scarb.lock | 6 +- examples/spawn-and-move/Scarb.toml | 5 +- examples/spawn-and-move/dojo_dev.toml | 2 +- examples/spawn-and-move/manifest_dev.json | 36 +- examples/spawn-and-move/src/actions.cairo | 27 +- examples/spawn-and-move/src/models.cairo | 4 +- rust-toolchain.toml | 2 +- spawn-and-move-db.tar.gz | Bin 5845803 -> 5832862 bytes types-test-db.tar.gz | Bin 1372410 -> 1363838 bytes xtask/generate-test-db/src/main.rs | 2 +- 120 files changed, 1861 insertions(+), 1780 deletions(-) create mode 100644 bin/sozo/tests/test_data/invalid_cairo_version/Scarb.lock create mode 100644 crates/dojo/core-cairo-test/Cargo.toml diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 32fe7261de..4722164ea7 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,32 +1,20 @@ -# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/rust/.devcontainer/base.Dockerfile +# See here for image contents: https://hub.docker.com/layers/library/rust/1.81.0-slim/images/sha256-ba4ee661bb466ab49f6ceb8c6d9e9f9784bba7c6e45225187cd3c7fb1fbc12ce -# [Choice] Debian OS version (use bookworm on local arm64/Apple Silicon): buster, bullseye, bookworm - -ARG VARIANT -FROM mcr.microsoft.com/vscode/devcontainers/rust:${VARIANT} -ARG VARIANT +ARG RUST_VERSION=1.81.0 +FROM rust:${RUST_VERSION}-slim +ARG RUST_VERSION # Install additional packages RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ - && apt-get -y install --no-install-recommends protobuf-compiler libprotobuf-dev libclang-dev libzstd-dev - -RUN apt install -y gh libgmp3-dev software-properties-common + && apt-get -y install --no-install-recommends protobuf-compiler libprotobuf-dev libclang-dev libzstd-dev make pkg-config libssl-dev -# Install Cairo Native dependencies -RUN curl -s https://apt.llvm.org/llvm-snapshot.gpg.key | tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc > /dev/null -RUN echo "deb http://apt.llvm.org/${VARIANT}/ llvm-toolchain-${VARIANT}-17 main" | tee /etc/apt/sources.list.d/llvm.list && apt-get update -RUN apt-get -y install -t llvm-toolchain-${VARIANT}-17 llvm-17 llvm-17-dev llvm-17-runtime clang-17 clang-tools-17 lld-17 libpolly-17-dev libmlir-17-dev mlir-17-tools +RUN apt-get install -y gh libgmp3-dev software-properties-common curl git RUN curl -L https://foundry.paradigm.xyz/ | bash && . /root/.bashrc && foundryup ENV PATH="${PATH}:/root/.foundry/bin" -# To build Katana with 'native' feature, we need to set the following environment variables -ENV MLIR_SYS_170_PREFIX=/usr/lib/llvm-17 -ENV LLVM_SYS_170_PREFIX=/usr/lib/llvm-17 -ENV TABLEGEN_170_PREFIX=/usr/lib/llvm-17 - # To allow independent workflow of the container, the rust-toolchain is explicitely given. -RUN echo "1.80.0" > rust_toolchain_version +RUN echo ${RUST_VERSION} > rust_toolchain_version # Make sure to sync the nightly version with the scripts in ./scripts RUN echo "nightly-2024-08-28" > nightly_rust_toolchain_version diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a41bf51bbf..0956c383af 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,12 +8,14 @@ on: env: CARGO_TERM_COLOR: always - RUST_VERSION: 1.80.0 + RUST_VERSION: 1.81.0 jobs: build: runs-on: ubuntu-latest-4-cores needs: [fmt, cairofmt] + container: + image: ghcr.io/dojoengine/dojo-dev:rust181bookworm2 steps: - uses: actions/checkout@v3 - uses: Swatinem/rust-cache@v2 @@ -32,7 +34,7 @@ jobs: needs: ensure-docker runs-on: ubuntu-latest-32-cores container: - image: ghcr.io/dojoengine/dojo-dev:v1.0.12 + image: ghcr.io/dojoengine/dojo-dev:rust181bookworm2 steps: - uses: actions/checkout@v3 - uses: Swatinem/rust-cache@v2 @@ -58,7 +60,7 @@ jobs: runs-on: ubuntu-latest needs: [fmt, cairofmt] container: - image: ghcr.io/dojoengine/dojo-dev:v1.0.12 + image: ghcr.io/dojoengine/dojo-dev:rust181bookworm2 steps: - uses: actions/checkout@v3 - uses: Swatinem/rust-cache@v2 @@ -92,7 +94,7 @@ jobs: needs: build runs-on: ubuntu-latest container: - image: debian:bookworm-slim + image: ubuntu:noble steps: - uses: actions/download-artifact@v4 with: @@ -114,7 +116,7 @@ jobs: - uses: actions/checkout@v3 - uses: software-mansion/setup-scarb@v1 with: - scarb-version: "2.8.4" + scarb-version: "2.9.2" - run: | scarb --manifest-path examples/spawn-and-move/Scarb.toml fmt --check scarb --manifest-path examples/simple/Scarb.toml fmt --check @@ -124,9 +126,10 @@ jobs: dojo-core-test: needs: build runs-on: ubuntu-latest - container: - image: ghcr.io/dojoengine/dojo-dev:v1.0.12 steps: + - uses: software-mansion/setup-scarb@v1 + with: + scarb-version: "2.9.2" - uses: actions/download-artifact@v4 with: name: dojo-bins @@ -140,9 +143,10 @@ jobs: dojo-spawn-and-move-example-test: needs: build runs-on: ubuntu-latest - container: - image: ghcr.io/dojoengine/dojo-dev:v1.0.12 steps: + - uses: software-mansion/setup-scarb@v1 + with: + scarb-version: "2.9.2" - uses: actions/download-artifact@v4 with: name: dojo-bins @@ -157,7 +161,7 @@ jobs: runs-on: ubuntu-latest-4-cores needs: [fmt, cairofmt] container: - image: ghcr.io/dojoengine/dojo-dev:v1.0.12 + image: ghcr.io/dojoengine/dojo-dev:rust181bookworm2 steps: - uses: actions/checkout@v3 - uses: Swatinem/rust-cache@v2 @@ -166,7 +170,7 @@ jobs: fmt: runs-on: ubuntu-latest container: - image: ghcr.io/dojoengine/dojo-dev:v1.0.12 + image: ghcr.io/dojoengine/dojo-dev:rust181bookworm2 steps: - uses: actions/checkout@v3 - uses: Swatinem/rust-cache@v2 @@ -176,7 +180,7 @@ jobs: runs-on: ubuntu-latest needs: [fmt, cairofmt] container: - image: ghcr.io/dojoengine/dojo-dev:v1.0.12 + image: ghcr.io/dojoengine/dojo-dev:rust181bookworm2 steps: - uses: actions/checkout@v3 - uses: Swatinem/rust-cache@v2 diff --git a/.github/workflows/devcontainer.yml b/.github/workflows/devcontainer.yml index ce4ccc1ec7..0c5cc9f1f9 100644 --- a/.github/workflows/devcontainer.yml +++ b/.github/workflows/devcontainer.yml @@ -64,11 +64,11 @@ jobs: - name: Build and push Docker image uses: docker/build-push-action@v2 with: - push: ${{ (github.event_name == 'push' && github.ref == 'refs/heads/main') || (github.event_name == 'release' && startsWith(github.ref, 'refs/tags/')) }} + push: ${{ (github.event_name == 'push' && github.ref == 'refs/heads/main') || (github.event_name == 'release' && startsWith(github.ref, 'refs/tags/')) || github.event_name == 'workflow_dispatch' }} file: .devcontainer/Dockerfile tags: ghcr.io/${{ github.repository }}-dev:latest,ghcr.io/${{ github.repository }}-dev:${{ env.DOCKER_TAG }} build-args: | - VARIANT=bookworm + RUST_VERSION=1.81.0 BUILD_TYPE=${{ github.event_name }} DOJO_VERSION=${{ github.event.release.tag_name }} platforms: linux/amd64,linux/arm64 diff --git a/.tool-versions b/.tool-versions index dee4ebacd4..e9c2ad7f1d 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ -scarb 2.8.4 +scarb 2.9.2 starknet-foundry 0.30.0 diff --git a/Cargo.lock b/Cargo.lock index 22fa1f05d2..0f3f87a70a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2001,7 +2001,7 @@ dependencies = [ "bitflags 2.6.0", "cexpr", "clang-sys", - "itertools 0.11.0", + "itertools 0.12.1", "lazy_static", "lazycell", "log", @@ -2122,8 +2122,8 @@ dependencies = [ [[package]] name = "blockifier" -version = "0.8.0-rc.3" -source = "git+https://github.com/dojoengine/sequencer?tag=v0.8.0-rc3.2#d6951f24fc2082c7aa89cdbc063648915b131d74" +version = "0.0.0" +source = "git+https://github.com/dojoengine/sequencer?rev=802c5dc#802c5dc1b3ca231d96b65ffcada349f4b5ab0e3b" dependencies = [ "anyhow", "ark-ec", @@ -2134,31 +2134,32 @@ dependencies = [ "cairo-lang-casm", "cairo-lang-runner", "cairo-lang-starknet-classes", - "cairo-lang-utils", "cairo-vm 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "derive_more 0.99.18", "indexmap 2.5.0", - "itertools 0.10.5", + "itertools 0.12.1", "keccak", "log", "num-bigint", "num-integer", "num-rational", "num-traits 0.2.19", - "once_cell", + "papyrus_config", "paste", "phf", "rand 0.8.5", "rstest 0.17.0", + "semver 1.0.23", "serde", "serde_json", "sha2 0.10.8", - "sha3", "starknet-types-core", "starknet_api", "strum 0.25.0", "strum_macros 0.25.3", + "tempfile", "thiserror 1.0.63", + "toml 0.8.19", ] [[package]] @@ -2214,7 +2215,7 @@ dependencies = [ "slotmap", "smallvec", "starknet-types-core", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] @@ -2628,9 +2629,9 @@ dependencies = [ [[package]] name = "cairo-lang-casm" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd4d6659539ace9649c8e8a7434e51b0c50a7a700111d0a2b967dde220ddff49" +checksum = "3929a38c1d586e35e19dbdf7798b146fba3627b308417a6d373fea8939535b6b" dependencies = [ "cairo-lang-utils", "indoc", @@ -2642,9 +2643,9 @@ dependencies = [ [[package]] name = "cairo-lang-compiler" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2016966ed29f3a44487fd1bbdb05320fb6ea8ec46201c04c6b222ccb5264e0a" +checksum = "0bed098f0c3666b3ad3a93aef6293f91fc1119bef660ce994105f6d1bc2802cf" dependencies = [ "anyhow", "cairo-lang-defs", @@ -2668,18 +2669,18 @@ dependencies = [ [[package]] name = "cairo-lang-debug" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50c804649297ca417206435ee3e8041d2100cc31ebf4a95bc4b92ed02dc63469" +checksum = "d7763505dcfe15f36899074c27185bf7e3494875f63fd06350c6e3ed8d1f91d5" dependencies = [ "cairo-lang-utils", ] [[package]] name = "cairo-lang-defs" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8fbda467ac36f73bb1879e1f741898fc719d6f9239a01cc422e6a023281319b" +checksum = "b4d29dc5a3cafe94ea4397d41b00cd54a9dffbe9bc3a3092a9ea617ea737bc6e" dependencies = [ "cairo-lang-debug", "cairo-lang-diagnostics", @@ -2694,9 +2695,9 @@ dependencies = [ [[package]] name = "cairo-lang-diagnostics" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c843ef4715e3d21de5388d02206db2506e2d2ec0e80e2629e0ae9900a08b8674" +checksum = "761d20ca9c3a3eb7025b2488aa6e0e5dc23c5d551dd95e83a989b5e87687f523" dependencies = [ "cairo-lang-debug", "cairo-lang-filesystem", @@ -2706,24 +2707,30 @@ dependencies = [ [[package]] name = "cairo-lang-doc" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a932262ab491cf248283ccbe6d584a76fd55fc85ae0c7879b2ad687c512a115" +checksum = "835b357a22fccbfecdeeee4c4566d94e0b329cedcf91c0aad1c535e966dd867b" dependencies = [ + "cairo-lang-debug", "cairo-lang-defs", + "cairo-lang-diagnostics", + "cairo-lang-filesystem", "cairo-lang-formatter", "cairo-lang-parser", + "cairo-lang-semantic", "cairo-lang-syntax", "cairo-lang-utils", "itertools 0.12.1", + "pulldown-cmark", "rust-analyzer-salsa", + "smol_str", ] [[package]] name = "cairo-lang-eq-solver" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33a416c5871960fb4823160ebef2abc51e0c1b86fef1e97a1ebb2e5f3c3795d3" +checksum = "d778ec864e92c82293370a512195715b12775b05981e14065d85eb5dd3dd96b6" dependencies = [ "cairo-lang-utils", "good_lp", @@ -2731,9 +2738,9 @@ dependencies = [ [[package]] name = "cairo-lang-filesystem" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47189e0cb84b21defd201af4cf24a94c6b0d09f48706cf659c9ffa0def8a7a43" +checksum = "d9dc486c554e2df3be8e84c47e30fe55b59d2349b680fbe992bfba801ef93ff5" dependencies = [ "cairo-lang-debug", "cairo-lang-utils", @@ -2742,13 +2749,14 @@ dependencies = [ "semver 1.0.23", "serde", "smol_str", + "toml 0.8.19", ] [[package]] name = "cairo-lang-formatter" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6409ff1f4a93ce7c0968d9d857d2a8c03657617a827159d33f978110b718b31d" +checksum = "675d281a3c9aa365055ce6e201d5dd91534dfccfd2929a41b7397f665c80293c" dependencies = [ "anyhow", "cairo-lang-diagnostics", @@ -2761,15 +2769,14 @@ dependencies = [ "itertools 0.12.1", "rust-analyzer-salsa", "serde", - "smol_str", "thiserror 1.0.63", ] [[package]] name = "cairo-lang-language-server" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5dad8906d9d4b3876e6b2061f9ddd499f0514368e3e7e0aeaea70e80c3608a" +checksum = "f6164634b4b3a07f8ab575435e053931c37bf0609121e52ca6026f000f542ed8" dependencies = [ "anyhow", "cairo-lang-compiler", @@ -2779,6 +2786,7 @@ dependencies = [ "cairo-lang-filesystem", "cairo-lang-formatter", "cairo-lang-lowering", + "cairo-lang-macro", "cairo-lang-parser", "cairo-lang-project", "cairo-lang-semantic", @@ -2786,17 +2794,25 @@ dependencies = [ "cairo-lang-syntax", "cairo-lang-test-plugin", "cairo-lang-utils", + "convert_case 0.6.0", + "crossbeam", + "governor", "indent", "indoc", "itertools 0.12.1", + "jod-thread", + "libc", + "lsp-server", + "lsp-types", "rust-analyzer-salsa", - "scarb-metadata 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-hash 1.1.0", + "scarb-metadata 1.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "scarb-proc-macro-server-types 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "scarb-stable-hash 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde", "serde_json", "smol_str", "tempfile", - "tokio", - "tower-lsp", "tracing", "tracing-chrome", "tracing-subscriber", @@ -2804,9 +2820,9 @@ dependencies = [ [[package]] name = "cairo-lang-lowering" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e224e006c82ef21bd9e243390992de2be25ae6fbbdaa8544067b3f0c31977f1" +checksum = "d880470c94f94fac08c2150bc0ce4af930b6760956a56966e47612de376d57ec" dependencies = [ "cairo-lang-debug", "cairo-lang-defs", @@ -2821,6 +2837,7 @@ dependencies = [ "itertools 0.12.1", "log", "num-bigint", + "num-integer", "num-traits 0.2.19", "rust-analyzer-salsa", "smol_str", @@ -2828,12 +2845,14 @@ dependencies = [ [[package]] name = "cairo-lang-macro" -version = "0.1.0" -source = "git+https://github.com/dojoengine/scarb?rev=e2c01f5351c5c9097f61b2201163611f84f62156#e2c01f5351c5c9097f61b2201163611f84f62156" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dda77fe9404e438edaa80c9acaf0d72260aa883ba433812d0a745f5a72f31881" dependencies = [ "cairo-lang-macro-attributes", "cairo-lang-macro-stable", "linkme", + "serde", ] [[package]] @@ -2855,9 +2874,9 @@ checksum = "c49906d6b1c215e5814be7c5c65ecf2328898b335bee8c2409ec07cfb5530daf" [[package]] name = "cairo-lang-parser" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afb260ba349c2b699639e56f9b64deb969ff01179a0253087e2c8ceec7e32157" +checksum = "37e2b488f659432c8b866bf540e54ab3696a24ac0f366faac33b860c5313e78c" dependencies = [ "cairo-lang-diagnostics", "cairo-lang-filesystem", @@ -2875,9 +2894,9 @@ dependencies = [ [[package]] name = "cairo-lang-plugins" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05a2e500dc8ddea4d25a866d8a839158b0e4c41a6c023f21911e2da252bd91b3" +checksum = "13cf34fd39a1efb997455fa38dbdb6bef489a125a2d17d77ebfea1ee580559f3" dependencies = [ "cairo-lang-defs", "cairo-lang-diagnostics", @@ -2892,11 +2911,17 @@ dependencies = [ "smol_str", ] +[[package]] +name = "cairo-lang-primitive-token" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "123ac0ecadf31bacae77436d72b88fa9caef2b8e92c89ce63a125ae911a12fae" + [[package]] name = "cairo-lang-proc-macros" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d72f17373740f242d6995e896b9195c2cedff7e8b14e496afdd16b405039d1fb" +checksum = "b3c4a161868276ce022c44ac500afbfa0d7d8371106feb40dfca34ea7be97503" dependencies = [ "cairo-lang-debug", "quote", @@ -2905,34 +2930,50 @@ dependencies = [ [[package]] name = "cairo-lang-project" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13294f08d2013fcd6e815e7235935680963dec3390e5baf454f33da866fc44b6" +checksum = "fde3cc9777fff4daacbfd839a6fcefa29abd660068de47f72ac6d5883fa93ccd" dependencies = [ "cairo-lang-filesystem", "cairo-lang-utils", "serde", - "smol_str", "thiserror 1.0.63", "toml 0.8.19", ] +[[package]] +name = "cairo-lang-runnable-utils" +version = "2.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872d846834c8fdc886a7dc591c1f6ddd969d25d2c88dd65452931c63dfca7acc" +dependencies = [ + "cairo-lang-casm", + "cairo-lang-sierra", + "cairo-lang-sierra-ap-change", + "cairo-lang-sierra-gas", + "cairo-lang-sierra-to-casm", + "cairo-lang-sierra-type-size", + "cairo-lang-utils", + "cairo-vm 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "itertools 0.12.1", + "thiserror 1.0.63", +] + [[package]] name = "cairo-lang-runner" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c5b9e6a21d92255b92f64c60658b4224dd7d290cde8beea783fadc10fbfcd8c" +checksum = "f9121164a61b0a8fcadefc8b21240e372bf04e6648ea31d09f9e85701e60877a" dependencies = [ "ark-ff 0.4.2", "ark-secp256k1", "ark-secp256r1", "cairo-lang-casm", "cairo-lang-lowering", + "cairo-lang-runnable-utils", "cairo-lang-sierra", - "cairo-lang-sierra-ap-change", "cairo-lang-sierra-generator", "cairo-lang-sierra-to-casm", - "cairo-lang-sierra-type-size", "cairo-lang-starknet", "cairo-lang-utils", "cairo-vm 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2950,9 +2991,9 @@ dependencies = [ [[package]] name = "cairo-lang-semantic" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6936215bca75c23e71873998420a3d46c322507a09917ce676c8d39f8c1bd6fe" +checksum = "8af1f92ba601fd61a994c44d0c80d711fbb3d64b2b5a1e72905fc6f581b1fadd" dependencies = [ "cairo-lang-debug", "cairo-lang-defs", @@ -2970,15 +3011,16 @@ dependencies = [ "num-bigint", "num-traits 0.2.19", "rust-analyzer-salsa", + "sha3", "smol_str", "toml 0.8.19", ] [[package]] name = "cairo-lang-sierra" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "424f55450494e959c1ae26c52a71075767a90f76e3ecca6e81056dd7517e8ba0" +checksum = "075c6457642ada82b32cf657d871a8545ae7a9d61c78dd5588a794c8c905abdc" dependencies = [ "anyhow", "cairo-lang-utils", @@ -3003,9 +3045,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-ap-change" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053dd520e0b9d1c1078d93ea69045f6f334c3d41b4b75db183ab33e32cfd8570" +checksum = "b69172fe8354b1dd564bba318ccb5233aa78f70d57145b8c92a0b1cf009fa0fc" dependencies = [ "cairo-lang-eq-solver", "cairo-lang-sierra", @@ -3019,9 +3061,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-gas" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a73227867377efc62ebb893cddaa88df3940bf2be5dbdc2f0b00f9edf69288e" +checksum = "42b571b73d9b02103f780aeee05dbf9a71d68d8a16341a04aa1dd581d0db3ad6" dependencies = [ "cairo-lang-eq-solver", "cairo-lang-sierra", @@ -3035,9 +3077,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-generator" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3752cacd475ea089d9a536357804150e693a124e703fcc33a55566d568094b3" +checksum = "1d3857cd98a0cb35b32cc962e70c04e6ddfcd8bf61106ac37b6cf453ec76b878" dependencies = [ "cairo-lang-debug", "cairo-lang-defs", @@ -3059,9 +3101,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-to-casm" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7162fb3c93960dfc6d8005b65064e518e3f1ed6102e8981b42ea41879c331184" +checksum = "add264b156dfb01f18292282a6037070c078acca3bccde05787da1e1c997b78c" dependencies = [ "assert_matches", "cairo-lang-casm", @@ -3080,9 +3122,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-type-size" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a51b80c117e2b05a6d300f2e2247892cc99e42e950e79f6085e6ed6cbcb44d12" +checksum = "7bda5388ef862bc26388e999ac7ad62dd8ab3064720c3483b81fd761b051e627" dependencies = [ "cairo-lang-sierra", "cairo-lang-utils", @@ -3090,9 +3132,9 @@ dependencies = [ [[package]] name = "cairo-lang-starknet" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aafaabc43f78dfa2f45d935993ba21c05c164bbb3bf277d348847a51e5939a9f" +checksum = "32d5ed4aa48fe739f643a8c503c14aec0858c31dc73ba4e6a335b77ca7438807" dependencies = [ "anyhow", "cairo-lang-compiler", @@ -3120,9 +3162,9 @@ dependencies = [ [[package]] name = "cairo-lang-starknet-classes" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "832fd9072ddf4204ca6d227c0238929349f10146bd066a98025d51ac15d27fad" +checksum = "fe691200b431e51e3d6cfa84f256a3dd2e8405f44d182843fbe124f803d085ff" dependencies = [ "cairo-lang-casm", "cairo-lang-sierra", @@ -3143,12 +3185,13 @@ dependencies = [ [[package]] name = "cairo-lang-syntax" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cebe67c0d68f9acf8709d170c1308ca57a778d22f70da38a57f74ae250eee28a" +checksum = "0a38f1431f22a9487b9b0dd7aef098c9605fe6b8677e0f620547aa69195f7fb5" dependencies = [ "cairo-lang-debug", "cairo-lang-filesystem", + "cairo-lang-primitive-token", "cairo-lang-utils", "num-bigint", "num-traits 0.2.19", @@ -3159,9 +3202,9 @@ dependencies = [ [[package]] name = "cairo-lang-syntax-codegen" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31cef5b4347626e61bad8f070495cd35d637a5cb6744c34d20dd382c7431aff8" +checksum = "fd7990586c9bb37eaa875ffeb218bdecf96f87881d03263ebf84fcd46514ca9f" dependencies = [ "genco", "xshell", @@ -3169,9 +3212,9 @@ dependencies = [ [[package]] name = "cairo-lang-test-plugin" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d5f036132e07b7829cb1d61b1ecc02789a70c7d16b2733722a2aca992492bc3" +checksum = "5432fb1e290bed1c961a6bd778b3b553480b364524e7dbc343495b79b452131b" dependencies = [ "anyhow", "cairo-lang-compiler", @@ -3196,9 +3239,9 @@ dependencies = [ [[package]] name = "cairo-lang-test-runner" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3effbddf1d0cebab9c91ca46d9792ed441095e1eb75a53785a15e5f378f9c52e" +checksum = "64db55a6df93c900c9f7d620292c9fca4d43b6e3e180442085a896d218a84e43" dependencies = [ "anyhow", "cairo-lang-compiler", @@ -3219,9 +3262,9 @@ dependencies = [ [[package]] name = "cairo-lang-test-utils" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "060c61ac4a3ae0428771244ff8db903105f127392b7d725d919fe3fb1ec4132f" +checksum = "f2b76c55a742da177540d2a0eb39fa50d011998d0ccfdeae8b48ea0e2d7f077f" dependencies = [ "cairo-lang-formatter", "cairo-lang-utils", @@ -3232,9 +3275,9 @@ dependencies = [ [[package]] name = "cairo-lang-utils" -version = "2.8.4" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bfc6372538143afad658c853a35bdc9f5210c5cb54e0c8f04ab78e268139466" +checksum = "ff5d7609abc99c15de7d7f90b8441b27e2bd52e930a3014c95a9b620e5d3211a" dependencies = [ "env_logger", "hashbrown 0.14.5", @@ -4092,7 +4135,7 @@ dependencies = [ [[package]] name = "create-output-dir" version = "1.0.0" -source = "git+https://github.com/dojoengine/scarb?rev=e2c01f5351c5c9097f61b2201163611f84f62156#e2c01f5351c5c9097f61b2201163611f84f62156" +source = "git+https://github.com/dojoengine/scarb?rev=f67331d99bca24c13ad56af6752b93f23e5ac373#f67331d99bca24c13ad56af6752b93f23e5ac373" dependencies = [ "anyhow", "core-foundation 0.10.0", @@ -4136,6 +4179,19 @@ dependencies = [ "itertools 0.10.5", ] +[[package]] +name = "crossbeam" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" +dependencies = [ + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-epoch", + "crossbeam-queue", + "crossbeam-utils", +] + [[package]] name = "crossbeam-channel" version = "0.5.13" @@ -4446,19 +4502,20 @@ dependencies = [ [[package]] name = "deno_task_shell" -version = "0.18.0" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec1b0c646a53492068b6675af74cecbef486e670be2c0cdd06e7e636d167e50f" +checksum = "e2da21d6f1061632e50ee585afa570bcad080b7a42fe7baedf447007c49f848e" dependencies = [ "anyhow", "futures", "glob", "monch", + "nix 0.29.0", "os_pipe", "path-dedot", - "thiserror 1.0.63", + "thiserror 2.0.11", "tokio", - "tokio-util", + "windows-sys 0.59.0", ] [[package]] @@ -4773,8 +4830,7 @@ version = "1.0.12" [[package]] name = "dojo-lang" -version = "1.0.11" -source = "git+https://github.com/dojoengine/dojo?rev=4a54cdcc6baff0b2511331f245c2d847468a7123#4a54cdcc6baff0b2511331f245c2d847468a7123" +version = "1.0.12" dependencies = [ "anyhow", "cairo-lang-defs", @@ -4784,7 +4840,7 @@ dependencies = [ "cairo-lang-semantic", "cairo-lang-syntax", "cairo-lang-utils", - "dojo-types 1.0.11", + "dojo-types 1.0.12", "itertools 0.12.1", "serde", "smol_str", @@ -4796,6 +4852,7 @@ dependencies = [ [[package]] name = "dojo-lang" version = "1.0.12" +source = "git+https://github.com/dojoengine/dojo?rev=b4bf759aca2765e2236e27e748468e44cbc77718#b4bf759aca2765e2236e27e748468e44cbc77718" dependencies = [ "anyhow", "cairo-lang-defs", @@ -4805,7 +4862,7 @@ dependencies = [ "cairo-lang-semantic", "cairo-lang-syntax", "cairo-lang-utils", - "dojo-types 1.0.12", + "dojo-types 1.0.12 (git+https://github.com/dojoengine/dojo?rev=b4bf759aca2765e2236e27e748468e44cbc77718)", "itertools 0.12.1", "serde", "smol_str", @@ -4864,8 +4921,7 @@ dependencies = [ [[package]] name = "dojo-types" -version = "1.0.11" -source = "git+https://github.com/dojoengine/dojo?rev=4a54cdcc6baff0b2511331f245c2d847468a7123#4a54cdcc6baff0b2511331f245c2d847468a7123" +version = "1.0.12" dependencies = [ "anyhow", "cainome 0.4.11", @@ -4887,6 +4943,7 @@ dependencies = [ [[package]] name = "dojo-types" version = "1.0.12" +source = "git+https://github.com/dojoengine/dojo?rev=b4bf759aca2765e2236e27e748468e44cbc77718#b4bf759aca2765e2236e27e748468e44cbc77718" dependencies = [ "anyhow", "cainome 0.4.11", @@ -5148,6 +5205,12 @@ dependencies = [ "regex", ] +[[package]] +name = "env_home" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7f84e12ccf0a7ddc17a6c41c93326024c42920d7ee630d04950e6926645c0fe" + [[package]] name = "env_logger" version = "0.11.5" @@ -5410,11 +5473,12 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.33" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" +checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" dependencies = [ "crc32fast", + "libz-sys", "miniz_oxide 0.8.0", ] @@ -5535,9 +5599,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -5545,9 +5609,9 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" @@ -5574,9 +5638,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-lite" @@ -5608,9 +5672,9 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", @@ -5630,15 +5694,15 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-ticker" @@ -5663,9 +5727,9 @@ dependencies = [ [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -5736,6 +5800,15 @@ dependencies = [ "zeroize", ] +[[package]] +name = "getopts" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5" +dependencies = [ + "unicode-width", +] + [[package]] name = "getrandom" version = "0.2.15" @@ -6709,6 +6782,25 @@ dependencies = [ "minilp", ] +[[package]] +name = "governor" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0746aa765db78b521451ef74221663b57ba595bf83f75d0ce23cc09447c8139f" +dependencies = [ + "cfg-if", + "futures-sink", + "futures-timer", + "futures-util", + "no-std-compat", + "nonzero_ext", + "parking_lot 0.12.3", + "portable-atomic", + "quanta", + "smallvec", + "spinning_top", +] + [[package]] name = "graphql-introspection-query" version = "0.2.0" @@ -7383,6 +7475,17 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" +[[package]] +name = "idna" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] + [[package]] name = "idna" version = "0.3.0" @@ -7442,6 +7545,12 @@ dependencies = [ "windows 0.51.1", ] +[[package]] +name = "if_chain" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed" + [[package]] name = "igd-next" version = "0.14.3" @@ -7654,6 +7763,15 @@ dependencies = [ "str_stack", ] +[[package]] +name = "infra_utils" +version = "0.0.0" +source = "git+https://github.com/dojoengine/sequencer?rev=802c5dc#802c5dc1b3ca231d96b65ffcada349f4b5ab0e3b" +dependencies = [ + "tokio", + "tracing", +] + [[package]] name = "inotify" version = "0.10.2" @@ -7990,6 +8108,12 @@ dependencies = [ "libc", ] +[[package]] +name = "jod-thread" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b23360e99b8717f20aaa4598f5a6541efbe30630039fbc7706cf954a87947ae" + [[package]] name = "jpeg-decoder" version = "0.3.1" @@ -9007,9 +9131,9 @@ dependencies = [ [[package]] name = "libloading" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" +checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ "cfg-if", "windows-targets 0.52.6", @@ -9556,6 +9680,17 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "libz-sys" +version = "1.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df9b68e50e6e0b26f672573834882eb57759f6db9b3be2ea3c35c91188bb4eaa" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + [[package]] name = "linked-hash-map" version = "0.5.6" @@ -9640,11 +9775,24 @@ dependencies = [ "linked-hash-map", ] +[[package]] +name = "lsp-server" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9462c4dc73e17f971ec1f171d44bfffb72e65a130117233388a0ebc7ec5656f9" +dependencies = [ + "crossbeam-channel", + "log", + "serde", + "serde_derive", + "serde_json", +] + [[package]] name = "lsp-types" -version = "0.94.1" +version = "0.95.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c66bfd44a06ae10647fe3f8214762e9369fd4248df1350924b4ef9e770a85ea1" +checksum = "158c1911354ef73e8fe42da6b10c0484cb65c7f1007f28022e847706c1ab6984" dependencies = [ "bitflags 1.3.2", "serde", @@ -9686,6 +9834,12 @@ dependencies = [ "regex-automata 0.1.10", ] +[[package]] +name = "matches" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" + [[package]] name = "matchit" version = "0.7.3" @@ -10231,6 +10385,12 @@ dependencies = [ "sha2 0.10.8", ] +[[package]] +name = "no-std-compat" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c" + [[package]] name = "nohash-hasher" version = "0.2.0" @@ -10247,6 +10407,12 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "nonzero_ext" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38bf9645c8b145698bb0b18a4637dcacbc421ea49bef2317e4fd8065a387cf21" + [[package]] name = "noop_proc_macro" version = "0.3.0" @@ -10691,6 +10857,21 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "papyrus_config" +version = "0.0.0" +source = "git+https://github.com/dojoengine/sequencer?rev=802c5dc#802c5dc1b3ca231d96b65ffcada349f4b5ab0e3b" +dependencies = [ + "clap", + "infra_utils", + "itertools 0.12.1", + "serde", + "serde_json", + "strum_macros 0.25.3", + "thiserror 1.0.63", + "validator", +] + [[package]] name = "parity-scale-codec" version = "3.6.12" @@ -11478,8 +11659,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" dependencies = [ "bytes", - "heck 0.4.1", - "itertools 0.11.0", + "heck 0.5.0", + "itertools 0.12.1", "log", "multimap", "once_cell", @@ -11499,7 +11680,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c1318b19085f08681016926435853bbf7858f9c082d0999b80550ff5d9abe15" dependencies = [ "bytes", - "heck 0.4.1", + "heck 0.5.0", "itertools 0.13.0", "log", "multimap", @@ -11520,7 +11701,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ "anyhow", - "itertools 0.11.0", + "itertools 0.12.1", "proc-macro2", "quote", "syn 2.0.90", @@ -11615,6 +11796,25 @@ dependencies = [ "psl-types", ] +[[package]] +name = "pulldown-cmark" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f86ba2052aebccc42cbbb3ed234b8b13ce76f75c3551a303cb2bcffcff12bb14" +dependencies = [ + "bitflags 2.6.0", + "getopts", + "memchr", + "pulldown-cmark-escape", + "unicase", +] + +[[package]] +name = "pulldown-cmark-escape" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "007d8adb5ddab6f8e3f491ac63566a7d5002cc7ed73901f72057943fa71ae1ae" + [[package]] name = "qoi" version = "0.4.1" @@ -11946,9 +12146,9 @@ dependencies = [ [[package]] name = "redb" -version = "2.1.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4760ad04a88ef77075ba86ba9ea79b919e6bab29c1764c5747237cd6eaedcaa" +checksum = "ea0a72cd7140de9fc3e318823b883abf819c20d478ec89ce880466dc2ef263c6" dependencies = [ "libc", ] @@ -12920,8 +13120,8 @@ dependencies = [ [[package]] name = "scarb" -version = "2.8.4" -source = "git+https://github.com/dojoengine/scarb?rev=e2c01f5351c5c9097f61b2201163611f84f62156#e2c01f5351c5c9097f61b2201163611f84f62156" +version = "2.9.2" +source = "git+https://github.com/dojoengine/scarb?rev=f67331d99bca24c13ad56af6752b93f23e5ac373#f67331d99bca24c13ad56af6752b93f23e5ac373" dependencies = [ "anyhow", "async-trait", @@ -12943,16 +13143,19 @@ dependencies = [ "cairo-lang-test-plugin", "cairo-lang-utils", "camino", + "cargo_metadata", "clap", "convert_case 0.6.0", "create-output-dir", + "crossbeam-channel", "data-encoding", "deno_task_shell", "derive_builder", "dialoguer", "directories", - "dojo-lang 1.0.11", + "dojo-lang 1.0.12 (git+https://github.com/dojoengine/dojo?rev=b4bf759aca2765e2236e27e748468e44cbc77718)", "dunce", + "flate2", "fs4", "fs_extra", "futures", @@ -12971,8 +13174,9 @@ dependencies = [ "redb", "reqwest 0.11.27", "scarb-build-metadata", - "scarb-metadata 1.12.0 (git+https://github.com/dojoengine/scarb?rev=e2c01f5351c5c9097f61b2201163611f84f62156)", - "scarb-stable-hash 1.0.0 (git+https://github.com/dojoengine/scarb?rev=e2c01f5351c5c9097f61b2201163611f84f62156)", + "scarb-metadata 1.13.0 (git+https://github.com/dojoengine/scarb?rev=f67331d99bca24c13ad56af6752b93f23e5ac373)", + "scarb-proc-macro-server-types 0.1.0 (git+https://github.com/dojoengine/scarb?rev=f67331d99bca24c13ad56af6752b93f23e5ac373)", + "scarb-stable-hash 1.0.0 (git+https://github.com/dojoengine/scarb?rev=f67331d99bca24c13ad56af6752b93f23e5ac373)", "scarb-ui", "semver 1.0.23", "serde", @@ -12984,7 +13188,7 @@ dependencies = [ "smallvec", "smol_str", "tar", - "thiserror 1.0.63", + "thiserror 2.0.11", "tokio", "toml 0.8.19", "toml_edit", @@ -12993,7 +13197,7 @@ dependencies = [ "typed-builder", "url", "walkdir", - "which 5.0.0", + "which 7.0.1", "windows-sys 0.59.0", "zip", "zstd 0.13.2", @@ -13001,17 +13205,17 @@ dependencies = [ [[package]] name = "scarb-build-metadata" -version = "2.8.4" -source = "git+https://github.com/dojoengine/scarb?rev=e2c01f5351c5c9097f61b2201163611f84f62156#e2c01f5351c5c9097f61b2201163611f84f62156" +version = "2.9.2" +source = "git+https://github.com/dojoengine/scarb?rev=f67331d99bca24c13ad56af6752b93f23e5ac373#f67331d99bca24c13ad56af6752b93f23e5ac373" dependencies = [ "cargo_metadata", ] [[package]] name = "scarb-metadata" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "170ebce1774a85568646ba4096827f898306665187eebd9282fee313e316518d" +checksum = "1a8b71f63999dbb6d269fbc6fd61310016ab3a160fb13e52a6511a2b904359f0" dependencies = [ "camino", "semver 1.0.23", @@ -13022,15 +13226,36 @@ dependencies = [ [[package]] name = "scarb-metadata" -version = "1.12.0" -source = "git+https://github.com/dojoengine/scarb?rev=e2c01f5351c5c9097f61b2201163611f84f62156#e2c01f5351c5c9097f61b2201163611f84f62156" +version = "1.13.0" +source = "git+https://github.com/dojoengine/scarb?rev=f67331d99bca24c13ad56af6752b93f23e5ac373#f67331d99bca24c13ad56af6752b93f23e5ac373" dependencies = [ "camino", "derive_builder", "semver 1.0.23", "serde", "serde_json", - "thiserror 1.0.63", + "thiserror 2.0.11", +] + +[[package]] +name = "scarb-proc-macro-server-types" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cb73a7fb2681885d05a1d918f95b179c034fb5d5a57adfbb718f36946fe5ade" +dependencies = [ + "cairo-lang-macro", + "serde", + "serde_json", +] + +[[package]] +name = "scarb-proc-macro-server-types" +version = "0.1.0" +source = "git+https://github.com/dojoengine/scarb?rev=f67331d99bca24c13ad56af6752b93f23e5ac373#f67331d99bca24c13ad56af6752b93f23e5ac373" +dependencies = [ + "cairo-lang-macro", + "serde", + "serde_json", ] [[package]] @@ -13046,7 +13271,7 @@ dependencies = [ [[package]] name = "scarb-stable-hash" version = "1.0.0" -source = "git+https://github.com/dojoengine/scarb?rev=e2c01f5351c5c9097f61b2201163611f84f62156#e2c01f5351c5c9097f61b2201163611f84f62156" +source = "git+https://github.com/dojoengine/scarb?rev=f67331d99bca24c13ad56af6752b93f23e5ac373#f67331d99bca24c13ad56af6752b93f23e5ac373" dependencies = [ "data-encoding", "xxhash-rust", @@ -13055,14 +13280,14 @@ dependencies = [ [[package]] name = "scarb-ui" version = "0.1.5" -source = "git+https://github.com/dojoengine/scarb?rev=e2c01f5351c5c9097f61b2201163611f84f62156#e2c01f5351c5c9097f61b2201163611f84f62156" +source = "git+https://github.com/dojoengine/scarb?rev=f67331d99bca24c13ad56af6752b93f23e5ac373#f67331d99bca24c13ad56af6752b93f23e5ac373" dependencies = [ "anyhow", "camino", "clap", "console", "indicatif", - "scarb-metadata 1.12.0 (git+https://github.com/dojoengine/scarb?rev=e2c01f5351c5c9097f61b2201163611f84f62156)", + "scarb-metadata 1.13.0 (git+https://github.com/dojoengine/scarb?rev=f67331d99bca24c13ad56af6752b93f23e5ac373)", "serde", "serde_json", "tracing-core", @@ -13251,9 +13476,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.210" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" dependencies = [ "serde_derive", ] @@ -13321,9 +13546,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.210" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", @@ -13833,29 +14058,24 @@ dependencies = [ "anyhow", "async-trait", "cainome 0.4.11", - "cairo-lang-compiler", - "cairo-lang-filesystem", - "cairo-lang-project", - "cairo-lang-starknet", + "cairo-lang-sierra", "cairo-lang-test-plugin", "cairo-lang-test-runner", - "cairo-lang-utils", "camino", "clap", "clap-verbosity-flag", "colored", "dojo-bindgen", - "dojo-lang 1.0.12", "dojo-test-utils", "dojo-types 1.0.12", "dojo-utils", "dojo-world", - "itertools 0.12.1", "katana-rpc-api", "katana-runner", "notify", "reqwest 0.11.27", "scarb", + "scarb-metadata 1.13.0 (git+https://github.com/dojoengine/scarb?rev=f67331d99bca24c13ad56af6752b93f23e5ac373)", "scarb-ui", "semver 1.0.23", "serde", @@ -13965,6 +14185,15 @@ dependencies = [ "lock_api", ] +[[package]] +name = "spinning_top" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d96d2d1d716fb500937168cc09353ffdc7a012be8475ac7308e1bdf0e3923300" +dependencies = [ + "lock_api", +] + [[package]] name = "spinoff" version = "0.8.0" @@ -14347,26 +14576,6 @@ dependencies = [ "starknet-types-core", ] -[[package]] -name = "starknet-crypto" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3f2175b0b3fc24ff2ec6dc07f5a720498994effca7e78b11a6e1c1bd02cad52" -dependencies = [ - "crypto-bigint", - "hex", - "hmac", - "num-bigint", - "num-integer", - "num-traits 0.2.19", - "rfc6979", - "sha2 0.10.8", - "starknet-crypto-codegen", - "starknet-curve 0.3.0", - "starknet-ff", - "zeroize", -] - [[package]] name = "starknet-crypto" version = "0.6.2" @@ -14417,15 +14626,6 @@ dependencies = [ "syn 2.0.90", ] -[[package]] -name = "starknet-curve" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "252610baff59e4c4332ce3569f7469c5d3f9b415a2240d698fb238b2b4fc0942" -dependencies = [ - "starknet-ff", -] - [[package]] name = "starknet-curve" version = "0.4.2" @@ -14563,24 +14763,27 @@ dependencies = [ [[package]] name = "starknet_api" -version = "0.13.0-rc.1" -source = "git+https://github.com/dojoengine/sequencer?tag=v0.8.0-rc3.2#d6951f24fc2082c7aa89cdbc063648915b131d74" +version = "0.0.0" +source = "git+https://github.com/dojoengine/sequencer?rev=802c5dc#802c5dc1b3ca231d96b65ffcada349f4b5ab0e3b" dependencies = [ "bitvec", + "cairo-lang-runner", "cairo-lang-starknet-classes", "derive_more 0.99.18", "hex", "indexmap 2.5.0", "itertools 0.12.1", - "once_cell", + "num-bigint", + "pretty_assertions", "primitive-types", + "semver 1.0.23", "serde", "serde_json", "sha3", - "starknet-crypto 0.5.2", + "starknet-crypto 0.7.2", "starknet-types-core", - "strum 0.24.1", - "strum_macros 0.24.3", + "strum 0.25.0", + "strum_macros 0.25.3", "thiserror 1.0.63", ] @@ -14638,12 +14841,6 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" -[[package]] -name = "strum" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" - [[package]] name = "strum" version = "0.25.0" @@ -14659,19 +14856,6 @@ dependencies = [ "strum_macros 0.26.4", ] -[[package]] -name = "strum_macros" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "rustversion", - "syn 1.0.109", -] - [[package]] name = "strum_macros" version = "0.25.3" @@ -15020,11 +15204,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.7" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93605438cbd668185516ab499d589afb7ee1859ea3d5fc8f6b0755e1c7443767" +checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" dependencies = [ - "thiserror-impl 2.0.7", + "thiserror-impl 2.0.11", ] [[package]] @@ -15040,9 +15224,9 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "2.0.7" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d8749b4531af2117677a5fcd12b1348a3fe2b81e36e61ffeac5c4aa3273e36" +checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" dependencies = [ "proc-macro2", "quote", @@ -15949,40 +16133,6 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" -[[package]] -name = "tower-lsp" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4ba052b54a6627628d9b3c34c176e7eda8359b7da9acd497b9f20998d118508" -dependencies = [ - "async-trait", - "auto_impl", - "bytes", - "dashmap 5.5.3", - "futures", - "httparse", - "lsp-types", - "memchr", - "serde", - "serde_json", - "tokio", - "tokio-util", - "tower 0.4.13", - "tower-lsp-macros", - "tracing", -] - -[[package]] -name = "tower-lsp-macros" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84fd902d4e0b9a4b27f2f440108dc034e1758628a9b702f8ec61ad66355422fa" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.90", -] - [[package]] name = "tower-service" version = "0.3.3" @@ -16470,6 +16620,45 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "validator" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d6937c33ec6039d8071bcf72933146b5bbe378d645d8fa59bdadabfc2a249" +dependencies = [ + "idna 0.2.3", + "lazy_static", + "regex", + "serde", + "serde_derive", + "serde_json", + "url", + "validator_derive", + "validator_types", +] + +[[package]] +name = "validator_derive" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4286b4497f270f59276a89ae0ad109d5f8f18c69b613e3fb22b61201aadb0c4d" +dependencies = [ + "if_chain", + "lazy_static", + "proc-macro-error", + "proc-macro2", + "quote", + "regex", + "syn 1.0.109", + "validator_types", +] + +[[package]] +name = "validator_types" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad9680608df133af2c1ddd5eaf1ddce91d60d61b6bc51494ef326458365a470a" + [[package]] name = "valuable" version = "0.1.0" @@ -17107,15 +17296,14 @@ dependencies = [ [[package]] name = "which" -version = "5.0.0" +version = "7.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14" +checksum = "fb4a9e33648339dc1642b0e36e21b3385e6148e289226f657c809dee59df5028" dependencies = [ "either", - "home", - "once_cell", + "env_home", "rustix 0.38.37", - "windows-sys 0.48.0", + "winsafe", ] [[package]] @@ -17509,6 +17697,12 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "winsafe" +version = "0.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" + [[package]] name = "wyz" version = "0.5.1" diff --git a/Cargo.toml b/Cargo.toml index a54a7d57e2..717774178d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -147,28 +147,28 @@ auto_impl = "1.2.0" base64 = "0.21.2" bigdecimal = "0.4.1" bytes = "1.6" -cairo-lang-compiler = "=2.8.4" -cairo-lang-debug = "=2.8.4" -cairo-lang-defs = "=2.8.4" -cairo-lang-diagnostics = "2.7.0" -cairo-lang-filesystem = "=2.8.4" -cairo-lang-formatter = "=2.8.4" -cairo-lang-language-server = "=2.8.4" -cairo-lang-lowering = "=2.8.4" -cairo-lang-parser = "=2.8.4" -cairo-lang-plugins = { version = "=2.8.4", features = [ "testing" ] } -cairo-lang-project = "=2.8.4" -cairo-lang-semantic = "=2.8.4" -cairo-lang-sierra = "=2.8.4" -cairo-lang-sierra-generator = "=2.8.4" -cairo-lang-sierra-to-casm = "=2.8.4" -cairo-lang-starknet = "=2.8.4" -cairo-lang-starknet-classes = "=2.8.4" -cairo-lang-syntax = "=2.8.4" -cairo-lang-test-plugin = "=2.8.4" -cairo-lang-test-runner = "=2.8.4" -cairo-lang-test-utils = "=2.8.4" -cairo-lang-utils = "=2.8.4" +cairo-lang-compiler = "=2.9.2" +cairo-lang-debug = "=2.9.2" +cairo-lang-defs = "=2.9.2" +cairo-lang-diagnostics = "=2.9.2" +cairo-lang-filesystem = "=2.9.2" +cairo-lang-formatter = "=2.9.2" +cairo-lang-language-server = "=2.9.2" +cairo-lang-lowering = "=2.9.2" +cairo-lang-parser = "=2.9.2" +cairo-lang-plugins = { version = "=2.9.2", features = [ "testing" ] } +cairo-lang-project = "=2.9.2" +cairo-lang-semantic = "=2.9.2" +cairo-lang-sierra = "=2.9.2" +cairo-lang-sierra-generator = "=2.9.2" +cairo-lang-sierra-to-casm = "=2.9.2" +cairo-lang-starknet = "=2.9.2" +cairo-lang-starknet-classes = "=2.9.2" +cairo-lang-syntax = "=2.9.2" +cairo-lang-test-plugin = "=2.9.2" +cairo-lang-test-runner = "=2.9.2" +cairo-lang-test-utils = "=2.9.2" +cairo-lang-utils = "=2.9.2" cairo-vm = "1.0.0-rc4" camino = { version = "1.1.2", features = [ "serde1" ] } chrono = { version = "0.4.24", features = [ "serde" ] } @@ -182,7 +182,7 @@ convert_case = "0.6.0" crypto-bigint = { version = "0.5.3", features = [ "serde" ] } data-url = "0.3" derive_more = "0.99.17" -flate2 = "1.0.24" +flate2 = "1.0.35" fluent-uri = "0.3" futures = "0.3.30" futures-util = "0.3.30" @@ -212,8 +212,9 @@ rpassword = "7.2.0" rstest = "0.18.2" rstest_reuse = "0.6.0" salsa = "0.16.1" -scarb = { git = "https://github.com/dojoengine/scarb", rev = "e2c01f5351c5c9097f61b2201163611f84f62156" } -scarb-ui = { git = "https://github.com/dojoengine/scarb", rev = "e2c01f5351c5c9097f61b2201163611f84f62156" } +scarb = { git = "https://github.com/dojoengine/scarb", rev = "f67331d99bca24c13ad56af6752b93f23e5ac373" } +scarb-metadata = { git = "https://github.com/dojoengine/scarb", rev = "f67331d99bca24c13ad56af6752b93f23e5ac373" } +scarb-ui = { git = "https://github.com/dojoengine/scarb", rev = "f67331d99bca24c13ad56af6752b93f23e5ac373" } semver = "1.0.5" serde = { version = "1.0", features = [ "derive" ] } serde_json = { version = "1.0", features = [ "arbitrary_precision" ] } @@ -222,7 +223,8 @@ similar-asserts = "1.5.0" smol_str = { version = "0.2.0", features = [ "serde" ] } spinoff = "0.8.0" sqlx = { version = "0.8.2", features = [ "chrono", "macros", "regexp", "runtime-async-std", "runtime-tokio", "sqlite", "uuid" ] } -starknet_api = "0.11.0" +#starknet_api = "0.11.0" +starknet_api = { git = "https://github.com/dojoengine/sequencer", rev = "802c5dc" } strum = "0.25" strum_macros = "0.25" tempfile = "3.9.0" diff --git a/bin/katana/Cargo.toml b/bin/katana/Cargo.toml index 04f8c76f57..513c6a5e21 100644 --- a/bin/katana/Cargo.toml +++ b/bin/katana/Cargo.toml @@ -1,3 +1,4 @@ + [package] description = "A fast and lightweight local Starknet development sequencer." edition.workspace = true diff --git a/bin/sozo/Cargo.toml b/bin/sozo/Cargo.toml index 6831fbf059..5cbf81b6f9 100644 --- a/bin/sozo/Cargo.toml +++ b/bin/sozo/Cargo.toml @@ -11,27 +11,22 @@ slot = { workspace = true, optional = true } anyhow.workspace = true async-trait.workspace = true cainome.workspace = true -cairo-lang-compiler.workspace = true -cairo-lang-filesystem.workspace = true -cairo-lang-project.workspace = true -cairo-lang-starknet.workspace = true +cairo-lang-sierra.workspace = true cairo-lang-test-plugin.workspace = true cairo-lang-test-runner.workspace = true -cairo-lang-utils.workspace = true camino.workspace = true clap.workspace = true clap-verbosity-flag.workspace = true colored.workspace = true dojo-bindgen.workspace = true -dojo-lang.workspace = true dojo-types.workspace = true dojo-utils.workspace = true dojo-world.workspace = true -itertools.workspace = true katana-rpc-api.workspace = true notify = "7.0.0" tabled = { version = "0.16.0", features = [ "ansi" ] } scarb.workspace = true +scarb-metadata.workspace = true scarb-ui.workspace = true semver.workspace = true serde.workspace = true diff --git a/bin/sozo/benches/spawn-and-move-build.rs b/bin/sozo/benches/spawn-and-move-build.rs index 8fccb7e7e1..4a6bfdeeae 100644 --- a/bin/sozo/benches/spawn-and-move-build.rs +++ b/bin/sozo/benches/spawn-and-move-build.rs @@ -23,6 +23,7 @@ fn build_spawn_and_move() { scarb::ops::compile( packages.iter().map(|p| p.id).collect(), CompileOpts { + ignore_cairo_version: false, include_target_names: vec![], include_target_kinds: vec![], exclude_target_kinds: vec![TargetKind::TEST], diff --git a/bin/sozo/src/commands/build.rs b/bin/sozo/src/commands/build.rs index 4c4688fb86..86956bec7c 100644 --- a/bin/sozo/src/commands/build.rs +++ b/bin/sozo/src/commands/build.rs @@ -103,6 +103,7 @@ impl BuildArgs { include_target_kinds: vec![], exclude_target_kinds: vec![TargetKind::TEST], features: self.features.try_into()?, + ignore_cairo_version: false, }, &ws, )?; diff --git a/bin/sozo/src/commands/test.rs b/bin/sozo/src/commands/test.rs index 772a87df1a..f12a1d454d 100644 --- a/bin/sozo/src/commands/test.rs +++ b/bin/sozo/src/commands/test.rs @@ -1,35 +1,22 @@ -//! Compiles and runs tests for a Dojo project. -//! -//! We can't use scarb to run tests since our injection will not work. -//! Scarb uses other binaries to run tests. Dojo plugin injection is done in scarb itself. -//! When proc macro will be fully supported, we can switch back to scarb. -use anyhow::{bail, Result}; -use cairo_lang_compiler::db::RootDatabase; -use cairo_lang_compiler::diagnostics::DiagnosticsReporter; -use cairo_lang_compiler::project::{ProjectConfig, ProjectConfigContent}; -use cairo_lang_filesystem::cfg::{Cfg, CfgSet}; -use cairo_lang_filesystem::db::{CrateSettings, ExperimentalFeaturesConfig, FilesGroup}; -use cairo_lang_filesystem::ids::{CrateId, CrateLongId, Directory}; -use cairo_lang_project::AllCratesConfig; -use cairo_lang_starknet::starknet_plugin_suite; -use cairo_lang_test_plugin::{test_plugin_suite, TestsCompilationConfig}; -use cairo_lang_test_runner::{CompiledTestRunner, RunProfilerConfig, TestCompiler, TestRunConfig}; -use cairo_lang_utils::ordered_hash_map::OrderedHashMap; +//! Compiles and runs tests for a Dojo project using Scarb. +use std::collections::HashSet; +use std::fs; + +use anyhow::{Context, Result}; +use cairo_lang_sierra::program::VersionedProgram; +use cairo_lang_test_plugin::{TestCompilation, TestCompilationMetadata}; +use cairo_lang_test_runner::{CompiledTestRunner, RunProfilerConfig, TestRunConfig}; +use camino::Utf8PathBuf; use clap::Args; -use dojo_lang::dojo_plugin_suite; -use itertools::Itertools; -use scarb::compiler::{ - CairoCompilationUnit, CompilationUnit, CompilationUnitAttributes, ContractSelector, -}; -use scarb::core::{Config, Package, TargetKind}; +use scarb::compiler::ContractSelector; +use scarb::core::{Config, TargetKind}; use scarb::ops::{self, CompileOpts}; +use scarb_metadata::{Metadata, MetadataCommand, PackageId, PackageMetadata, TargetMetadata}; use scarb_ui::args::{FeaturesSpec, PackagesFilter}; use serde::{Deserialize, Serialize}; -use smol_str::SmolStr; +use sozo_scarbext::WorkspaceExt; use tracing::trace; -pub const WORLD_QUALIFIED_PATH: &str = "dojo::world::world_contract::world"; - use super::check_package_dojo_version; #[derive(Debug, Default, Serialize, Deserialize)] @@ -81,7 +68,7 @@ pub struct TestArgs { features: FeaturesSpec, /// Specify packages to test. #[command(flatten)] - pub packages: Option, + pub packages: PackagesFilter, } impl TestArgs { @@ -92,211 +79,136 @@ impl TestArgs { std::process::exit(1); }); - let packages: Vec = if let Some(filter) = self.packages { - filter.match_many(&ws)?.into_iter().collect() - } else { - ws.members().collect() - }; - + // The scarb path is expected to be set in the env variable $SCARB. + // However, in some installation, we may not have the correct version, which will + // ends up in an error like "Scarb metadata not found". + let scarb_cairo_version = scarb::version::get().cairo.version.to_string(); + let scarb_env_value = std::env::var("SCARB").unwrap_or_default(); + let metadata = MetadataCommand::new() + .manifest_path(config.manifest_path()) + .exec() + .with_context(|| { + format!( + "Failed to get scarb metadata. Ensure `$SCARB` is set to the correct path \ + with the same version of Cairo ({scarb_cairo_version}). Current value: \ + {scarb_env_value}." + ) + })?; + + let packages = self.packages.match_many(&ws)?; for p in &packages { check_package_dojo_version(&ws, p)?; } - let resolve = ops::resolve_workspace(&ws)?; - - let opts = CompileOpts { - include_target_kinds: vec![TargetKind::TEST], - exclude_target_kinds: vec![], - include_target_names: vec![], - features: self.features.try_into()?, - }; - - let compilation_units = ops::generate_compilation_units(&resolve, &opts.features, &ws)? - .into_iter() - .filter(|cu| { - let is_excluded = - opts.exclude_target_kinds.contains(&cu.main_component().target_kind()); - let is_included = opts.include_target_kinds.is_empty() - || opts.include_target_kinds.contains(&cu.main_component().target_kind()); - let is_included = is_included - && (opts.include_target_names.is_empty() - || cu - .main_component() - .targets - .iter() - .any(|t| opts.include_target_names.contains(&t.name))); - - let is_selected = packages.iter().any(|p| p.id == cu.main_package_id()); + let matched = self.packages.match_many(&metadata)?; - let is_cairo_plugin = matches!(cu, CompilationUnit::ProcMacro(_)); - is_cairo_plugin || (is_included && is_selected && !is_excluded) + let target_names = matched + .iter() + .flat_map(|package| { + find_testable_targets(package).iter().map(|t| t.name.clone()).collect::>() }) .collect::>(); - for unit in compilation_units { - let unit = if let CompilationUnit::Cairo(unit) = unit { - unit - } else { - continue; - }; - - config.ui().print(format!("testing {}", unit.name())); - - let props: Props = unit.main_component().target_props()?; - let db = build_root_database(&unit)?; - - if DiagnosticsReporter::stderr().allow_warnings().check(&db) { - bail!("failed to compile"); + trace!(?target_names, "Extracting testable targets."); + + scarb::ops::compile( + packages.iter().map(|p| p.id).collect(), + CompileOpts { + include_target_kinds: vec![TargetKind::TEST], + exclude_target_kinds: vec![], + include_target_names: vec![], + features: self.features.try_into()?, + ignore_cairo_version: false, + }, + &ws, + )?; + + let target_dir = Utf8PathBuf::from(ws.target_dir_profile().to_string()); + + let mut deduplicator = TargetGroupDeduplicator::default(); + for package in matched { + println!("testing {} ...", package.name); + for target in find_testable_targets(&package) { + if !target_names.contains(&target.name) { + continue; + } + let name = target + .params + .get("group-id") + .and_then(|v| v.as_str()) + .map(ToString::to_string) + .unwrap_or(target.name.clone()); + let already_seen = deduplicator.visit(package.name.clone(), name.clone()); + if already_seen { + continue; + } + let test_compilation = deserialize_test_compilation(&target_dir, name.clone())?; + let config = TestRunConfig { + filter: self.filter.clone(), + include_ignored: self.include_ignored, + ignored: self.ignored, + run_profiler: RunProfilerConfig::None, + gas_enabled: is_gas_enabled(&metadata, &package.id, target), + print_resource_usage: self.print_resource_usage, + }; + let runner = CompiledTestRunner::new(test_compilation, config); + runner.run(None)?; + println!(); } - - let test_crate_ids = collect_main_crate_ids(&unit, &db, false); - - let mut main_crate_ids = collect_all_crate_ids(&unit, &db); - - if let Some(external_contracts) = props.build_external_contracts { - main_crate_ids.extend(collect_crates_ids_from_selectors(&db, &external_contracts)); - } - - let config = TestRunConfig { - filter: self.filter.clone(), - ignored: self.ignored, - include_ignored: self.include_ignored, - run_profiler: self.profiler_mode.clone().into(), - gas_enabled: self.gas_enabled, - print_resource_usage: self.print_resource_usage, - }; - - let compiler = TestCompiler { - db: db.snapshot(), - main_crate_ids, - test_crate_ids, - allow_warnings: true, - config: TestsCompilationConfig { - starknet: true, - add_statements_functions: false, - add_statements_code_locations: false, - }, - }; - - let compiled = compiler.build()?; - let runner = CompiledTestRunner { compiled, config }; - - // Database is required here for the profiler to work. - runner.run(Some(&db))?; - - println!(); } Ok(()) } } -pub(crate) fn build_root_database(unit: &CairoCompilationUnit) -> Result { - let mut b = RootDatabase::builder(); - b.with_project_config(build_project_config(unit)?); - b.with_cfg(CfgSet::from_iter([Cfg::name("test"), Cfg::kv("target", "test")])); - - b.with_plugin_suite(test_plugin_suite()); - b.with_plugin_suite(dojo_plugin_suite()); - b.with_plugin_suite(starknet_plugin_suite()); - - b.build() +fn deserialize_test_compilation(target_dir: &Utf8PathBuf, name: String) -> Result { + let file_path = target_dir.join(format!("{}.test.json", name)); + let test_comp_metadata = serde_json::from_str::( + &fs::read_to_string(file_path.clone()) + .with_context(|| format!("failed to read file: {file_path}"))?, + ) + .with_context(|| format!("failed to deserialize compiled tests metadata file: {file_path}"))?; + + let file_path = target_dir.join(format!("{}.test.sierra.json", name)); + let sierra_program = serde_json::from_str::( + &fs::read_to_string(file_path.clone()) + .with_context(|| format!("failed to read file: {file_path}"))?, + ) + .with_context(|| format!("failed to deserialize compiled tests sierra file: {file_path}"))?; + + Ok(TestCompilation { sierra_program: sierra_program.into_v1()?, metadata: test_comp_metadata }) } -fn build_project_config(unit: &CairoCompilationUnit) -> Result { - let crate_roots = unit - .components - .iter() - .filter(|c| !c.package.id.is_core()) - // NOTE: We're taking the first target of each compilation unit, which should always be the - // main package source root due to the order maintained by scarb. - .map(|c| { - ( - c.cairo_package_name(), - c.first_target().source_root().into(), - ) - }) - .collect(); - - let corelib = - unit.core_package_component().map(|c| Directory::Real(c.targets[0].source_root().into())); - - let crates_config = crates_config_for_compilation_unit(unit); - - let content = ProjectConfigContent { crate_roots, crates_config }; - - let project_config = - ProjectConfig { base_path: unit.main_component().package.root().into(), corelib, content }; - - trace!(?project_config, "Project config built."); - - Ok(project_config) +#[derive(Default)] +struct TargetGroupDeduplicator { + seen: HashSet<(String, String)>, } -/// Collects the main crate ids for Dojo including the core crates. -pub fn collect_main_crate_ids( - unit: &CairoCompilationUnit, - db: &RootDatabase, - with_dojo_core: bool, -) -> Vec { - let mut main_crate_ids = scarb::compiler::helpers::collect_main_crate_ids(unit, db); - - if unit.main_package_id.name.to_string() != "dojo" && with_dojo_core { - let core_crate_ids: Vec = collect_crates_ids_from_selectors( - db, - &[ContractSelector(WORLD_QUALIFIED_PATH.to_string())], - ); - - main_crate_ids.extend(core_crate_ids); +impl TargetGroupDeduplicator { + /// Returns true if already visited. + pub fn visit(&mut self, package_name: String, group_name: String) -> bool { + !self.seen.insert((package_name, group_name)) } - - main_crate_ids -} - -/// Collects the crate ids containing the given contract selectors. -pub fn collect_crates_ids_from_selectors( - db: &RootDatabase, - contract_selectors: &[ContractSelector], -) -> Vec { - contract_selectors - .iter() - .map(|selector| selector.package().into()) - .unique() - .map(|package_name: SmolStr| db.intern_crate(CrateLongId::Real(package_name))) - .collect::>() } -pub fn collect_all_crate_ids(unit: &CairoCompilationUnit, db: &RootDatabase) -> Vec { - unit.components - .iter() - .map(|component| db.intern_crate(CrateLongId::Real(component.cairo_package_name()))) - .collect() +/// Defines if gas is enabled for a given test target. +fn is_gas_enabled(metadata: &Metadata, package_id: &PackageId, target: &TargetMetadata) -> bool { + metadata + .compilation_units + .iter() + .find(|cu| { + cu.package == *package_id && cu.target.kind == "test" && cu.target.name == target.name + }) + .map(|cu| cu.compiler_config.clone()) + .and_then(|c| { + c.as_object() + .and_then(|c| c.get("enable_gas").and_then(|x| x.as_bool())) + }) + // Defaults to true, meaning gas enabled - relies on cli config then. + .unwrap_or(true) } -pub fn crates_config_for_compilation_unit(unit: &CairoCompilationUnit) -> AllCratesConfig { - let crates_config: OrderedHashMap = unit - .components() - .iter() - .map(|component| { - // Ensure experimental features are only enable if required. - let experimental_features = component.package.manifest.experimental_features.clone(); - let experimental_features = experimental_features.unwrap_or_default(); - - ( - component.cairo_package_name(), - CrateSettings { - version: Some(component.package.id.version.clone()), - edition: component.package.manifest.edition, - experimental_features: ExperimentalFeaturesConfig { - negative_impls: experimental_features - .contains(&SmolStr::new_inline("negative_impls")), - coupons: experimental_features.contains(&SmolStr::new_inline("coupons")), - }, - cfg_set: component.cfg_set.clone(), - }, - ) - }) - .collect(); - - AllCratesConfig { override_map: crates_config, ..Default::default() } +/// Finds all testable targets in a package. +fn find_testable_targets(package: &PackageMetadata) -> Vec<&TargetMetadata> { + package.targets.iter().filter(|target| target.kind == "test").collect() } diff --git a/bin/sozo/tests/test_data/invalid_cairo_version/Scarb.lock b/bin/sozo/tests/test_data/invalid_cairo_version/Scarb.lock new file mode 100644 index 0000000000..b430fc3d8d --- /dev/null +++ b/bin/sozo/tests/test_data/invalid_cairo_version/Scarb.lock @@ -0,0 +1,6 @@ +# Code generated by scarb DO NOT EDIT. +version = 1 + +[[package]] +name = "sozo_test" +version = "0.3.1-rc7" diff --git a/bin/sozo/tests/test_data/policies.json b/bin/sozo/tests/test_data/policies.json index 2094e3d30f..0b557554d0 100644 --- a/bin/sozo/tests/test_data/policies.json +++ b/bin/sozo/tests/test_data/policies.json @@ -1,134 +1,134 @@ [ { - "target": "0x52ee4d3cba58d1a0462bbfb6813bf5aa1b35078c3b859cded2b727c1d9469ea", + "target": "0x736c456dec44741fad1940876e62342a626ca73fd4ac574a94eb3ded2e25d8d", "method": "uuid" }, { - "target": "0x52ee4d3cba58d1a0462bbfb6813bf5aa1b35078c3b859cded2b727c1d9469ea", + "target": "0x736c456dec44741fad1940876e62342a626ca73fd4ac574a94eb3ded2e25d8d", "method": "set_metadata" }, { - "target": "0x52ee4d3cba58d1a0462bbfb6813bf5aa1b35078c3b859cded2b727c1d9469ea", + "target": "0x736c456dec44741fad1940876e62342a626ca73fd4ac574a94eb3ded2e25d8d", "method": "register_namespace" }, { - "target": "0x52ee4d3cba58d1a0462bbfb6813bf5aa1b35078c3b859cded2b727c1d9469ea", + "target": "0x736c456dec44741fad1940876e62342a626ca73fd4ac574a94eb3ded2e25d8d", "method": "register_event" }, { - "target": "0x52ee4d3cba58d1a0462bbfb6813bf5aa1b35078c3b859cded2b727c1d9469ea", + "target": "0x736c456dec44741fad1940876e62342a626ca73fd4ac574a94eb3ded2e25d8d", "method": "register_model" }, { - "target": "0x52ee4d3cba58d1a0462bbfb6813bf5aa1b35078c3b859cded2b727c1d9469ea", + "target": "0x736c456dec44741fad1940876e62342a626ca73fd4ac574a94eb3ded2e25d8d", "method": "register_contract" }, { - "target": "0x52ee4d3cba58d1a0462bbfb6813bf5aa1b35078c3b859cded2b727c1d9469ea", + "target": "0x736c456dec44741fad1940876e62342a626ca73fd4ac574a94eb3ded2e25d8d", "method": "init_contract" }, { - "target": "0x52ee4d3cba58d1a0462bbfb6813bf5aa1b35078c3b859cded2b727c1d9469ea", + "target": "0x736c456dec44741fad1940876e62342a626ca73fd4ac574a94eb3ded2e25d8d", "method": "upgrade_event" }, { - "target": "0x52ee4d3cba58d1a0462bbfb6813bf5aa1b35078c3b859cded2b727c1d9469ea", + "target": "0x736c456dec44741fad1940876e62342a626ca73fd4ac574a94eb3ded2e25d8d", "method": "upgrade_model" }, { - "target": "0x52ee4d3cba58d1a0462bbfb6813bf5aa1b35078c3b859cded2b727c1d9469ea", + "target": "0x736c456dec44741fad1940876e62342a626ca73fd4ac574a94eb3ded2e25d8d", "method": "upgrade_contract" }, { - "target": "0x52ee4d3cba58d1a0462bbfb6813bf5aa1b35078c3b859cded2b727c1d9469ea", + "target": "0x736c456dec44741fad1940876e62342a626ca73fd4ac574a94eb3ded2e25d8d", "method": "emit_event" }, { - "target": "0x52ee4d3cba58d1a0462bbfb6813bf5aa1b35078c3b859cded2b727c1d9469ea", + "target": "0x736c456dec44741fad1940876e62342a626ca73fd4ac574a94eb3ded2e25d8d", "method": "emit_events" }, { - "target": "0x52ee4d3cba58d1a0462bbfb6813bf5aa1b35078c3b859cded2b727c1d9469ea", + "target": "0x736c456dec44741fad1940876e62342a626ca73fd4ac574a94eb3ded2e25d8d", "method": "set_entity" }, { - "target": "0x52ee4d3cba58d1a0462bbfb6813bf5aa1b35078c3b859cded2b727c1d9469ea", + "target": "0x736c456dec44741fad1940876e62342a626ca73fd4ac574a94eb3ded2e25d8d", "method": "set_entities" }, { - "target": "0x52ee4d3cba58d1a0462bbfb6813bf5aa1b35078c3b859cded2b727c1d9469ea", + "target": "0x736c456dec44741fad1940876e62342a626ca73fd4ac574a94eb3ded2e25d8d", "method": "delete_entity" }, { - "target": "0x52ee4d3cba58d1a0462bbfb6813bf5aa1b35078c3b859cded2b727c1d9469ea", + "target": "0x736c456dec44741fad1940876e62342a626ca73fd4ac574a94eb3ded2e25d8d", "method": "delete_entities" }, { - "target": "0x52ee4d3cba58d1a0462bbfb6813bf5aa1b35078c3b859cded2b727c1d9469ea", + "target": "0x736c456dec44741fad1940876e62342a626ca73fd4ac574a94eb3ded2e25d8d", "method": "grant_owner" }, { - "target": "0x52ee4d3cba58d1a0462bbfb6813bf5aa1b35078c3b859cded2b727c1d9469ea", + "target": "0x736c456dec44741fad1940876e62342a626ca73fd4ac574a94eb3ded2e25d8d", "method": "revoke_owner" }, { - "target": "0x52ee4d3cba58d1a0462bbfb6813bf5aa1b35078c3b859cded2b727c1d9469ea", + "target": "0x736c456dec44741fad1940876e62342a626ca73fd4ac574a94eb3ded2e25d8d", "method": "grant_writer" }, { - "target": "0x52ee4d3cba58d1a0462bbfb6813bf5aa1b35078c3b859cded2b727c1d9469ea", + "target": "0x736c456dec44741fad1940876e62342a626ca73fd4ac574a94eb3ded2e25d8d", "method": "revoke_writer" }, { - "target": "0x52ee4d3cba58d1a0462bbfb6813bf5aa1b35078c3b859cded2b727c1d9469ea", + "target": "0x736c456dec44741fad1940876e62342a626ca73fd4ac574a94eb3ded2e25d8d", "method": "upgrade" }, { - "target": "0x50b1497d463d52cbeb5919a35a82360ea6702db2b9c62c2d69c167995f34c08", + "target": "0xe1fb33e10629d61ac3eb7c9bdca6a0ce947bcf7ecf598fbc0c42f9c76b3808", "method": "upgrade" }, { - "target": "0x72a9f501c260b2d13f8988ea172680c5c1fdc085c5b44bdcac8477362ed5290", + "target": "0x77a851ab985e88cbfdaee77a7c10e7afde9c9c3e49aa9ec2537e41de44e857c", "method": "upgrade" }, { - "target": "0x6bfba78b8f4f42da469860a95291c2fad959c91ea747e2062de763ff4e62c4a", + "target": "0x4ba8772b4785c0afce5b73ed98d30cf8832e3bfcceff5a688b085ef6d0f164e", "method": "spawn" }, { - "target": "0x6bfba78b8f4f42da469860a95291c2fad959c91ea747e2062de763ff4e62c4a", + "target": "0x4ba8772b4785c0afce5b73ed98d30cf8832e3bfcceff5a688b085ef6d0f164e", "method": "move" }, { - "target": "0x6bfba78b8f4f42da469860a95291c2fad959c91ea747e2062de763ff4e62c4a", + "target": "0x4ba8772b4785c0afce5b73ed98d30cf8832e3bfcceff5a688b085ef6d0f164e", "method": "set_player_config" }, { - "target": "0x6bfba78b8f4f42da469860a95291c2fad959c91ea747e2062de763ff4e62c4a", + "target": "0x4ba8772b4785c0afce5b73ed98d30cf8832e3bfcceff5a688b085ef6d0f164e", "method": "update_player_config_name" }, { - "target": "0x6bfba78b8f4f42da469860a95291c2fad959c91ea747e2062de763ff4e62c4a", + "target": "0x4ba8772b4785c0afce5b73ed98d30cf8832e3bfcceff5a688b085ef6d0f164e", "method": "reset_player_config" }, { - "target": "0x6bfba78b8f4f42da469860a95291c2fad959c91ea747e2062de763ff4e62c4a", + "target": "0x4ba8772b4785c0afce5b73ed98d30cf8832e3bfcceff5a688b085ef6d0f164e", "method": "set_player_server_profile" }, { - "target": "0x6bfba78b8f4f42da469860a95291c2fad959c91ea747e2062de763ff4e62c4a", + "target": "0x4ba8772b4785c0afce5b73ed98d30cf8832e3bfcceff5a688b085ef6d0f164e", "method": "set_models" }, { - "target": "0x6bfba78b8f4f42da469860a95291c2fad959c91ea747e2062de763ff4e62c4a", + "target": "0x4ba8772b4785c0afce5b73ed98d30cf8832e3bfcceff5a688b085ef6d0f164e", "method": "enter_dungeon" }, { - "target": "0x6bfba78b8f4f42da469860a95291c2fad959c91ea747e2062de763ff4e62c4a", + "target": "0x4ba8772b4785c0afce5b73ed98d30cf8832e3bfcceff5a688b085ef6d0f164e", "method": "upgrade" }, { - "target": "0x4b41a2abaeff170f3a04acb0144790a5a812e25e7a735dfef959247cfeb527", + "target": "0x3032d716e69f67e05983edad3d3b5b8efa9b08d09c778e2eecf224e095a1160", "method": "upgrade" }, { diff --git a/crates/benches/contracts/Scarb.lock b/crates/benches/contracts/Scarb.lock index 944857b5b8..88aeef7864 100644 --- a/crates/benches/contracts/Scarb.lock +++ b/crates/benches/contracts/Scarb.lock @@ -18,5 +18,5 @@ dependencies = [ [[package]] name = "dojo_plugin" -version = "2.8.4" +version = "2.9.1" source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-rc.0#f4199aec570a395278b8c8748bc46e2f6be3d0c7" diff --git a/crates/benches/contracts/Scarb.toml b/crates/benches/contracts/Scarb.toml index 240685d344..0aebfff1e8 100644 --- a/crates/benches/contracts/Scarb.toml +++ b/crates/benches/contracts/Scarb.toml @@ -1,5 +1,5 @@ [package] -cairo-version = "=2.8.4" +cairo-version = "=2.9.1" name = "benches" version = "1.0.0-rc.0" @@ -8,4 +8,4 @@ build-external-contracts = ["dojo::world::world_contract::world"] [dependencies] dojo = { git = "https://github.com/dojoengine/dojo", tag = "v1.0.0-rc.0" } -starknet = "=2.8.4" +starknet = "=2.9.1" diff --git a/crates/benches/contracts/src/models/character.cairo b/crates/benches/contracts/src/models/character.cairo index c1ace9b9eb..3d1b6806ab 100644 --- a/crates/benches/contracts/src/models/character.cairo +++ b/crates/benches/contracts/src/models/character.cairo @@ -39,7 +39,7 @@ struct Stats { #[derive(Introspect, Copy, Drop, Serde)] enum Weapon { DualWield: (Sword, Sword), - Fists: (Sword, Sword), // Introspect requires same arms + Fists: (Sword, Sword), } #[derive(Introspect, Copy, Drop, Serde)] diff --git a/crates/dojo/core-cairo-test/Cargo.toml b/crates/dojo/core-cairo-test/Cargo.toml new file mode 100644 index 0000000000..d023baba55 --- /dev/null +++ b/crates/dojo/core-cairo-test/Cargo.toml @@ -0,0 +1,15 @@ +[package] +name = "dojo-cairo-test" +edition.workspace = true +license.workspace = true +repository.workspace = true +version.workspace = true + +[package.metadata.release] +pre-release-replacements = [ + { file = "Scarb.lock", search = "^name = \"dojo\"\nversion = \".*\"$", replace = "name = \"dojo\"\nversion = \"{{version}}\"", min = 1 }, + { file = "Scarb.toml", search = "^version = \".*\"$", replace = "version = \"{{version}}\"", min = 1 }, +] + +[lib] +path = "src/lib.rs" diff --git a/crates/dojo/core-cairo-test/Scarb.lock b/crates/dojo/core-cairo-test/Scarb.lock index 6d9a3fcab9..a68e2ef393 100644 --- a/crates/dojo/core-cairo-test/Scarb.lock +++ b/crates/dojo/core-cairo-test/Scarb.lock @@ -3,18 +3,18 @@ version = 1 [[package]] name = "dojo" -version = "1.0.11" +version = "1.0.12" dependencies = [ "dojo_plugin", ] [[package]] name = "dojo_cairo_test" -version = "1.0.11" +version = "1.0.12" dependencies = [ "dojo", ] [[package]] name = "dojo_plugin" -version = "2.8.4" +version = "2.9.2" diff --git a/crates/dojo/core-cairo-test/Scarb.toml b/crates/dojo/core-cairo-test/Scarb.toml index efd80ecaf5..cd09982560 100644 --- a/crates/dojo/core-cairo-test/Scarb.toml +++ b/crates/dojo/core-cairo-test/Scarb.toml @@ -1,15 +1,18 @@ [package] -cairo-version = "=2.8.4" +cairo-version = "=2.9.2" edition = "2024_07" description = "Testing library for Dojo using Cairo test runner." name = "dojo_cairo_test" -version = "1.0.11" +version = "1.0.12" + +[[target.starknet-contract]] +build-external-contracts = [ "dojo::world::world_contract::world" ] [dependencies] -starknet = "=2.8.4" +starknet = "=2.9.2" dojo = { path = "../core" } [dev-dependencies] -cairo_test = "=2.8.4" +cairo_test = "=2.9.2" [lib] diff --git a/crates/dojo/core-cairo-test/src/lib.cairo b/crates/dojo/core-cairo-test/src/lib.cairo index 7517f85da7..27259486a3 100644 --- a/crates/dojo/core-cairo-test/src/lib.cairo +++ b/crates/dojo/core-cairo-test/src/lib.cairo @@ -47,12 +47,12 @@ mod tests { test_contract, test_contract_with_dojo_init_args, Sword, Case, Character, Abilities, Stats, Weapon, Ibar, IbarDispatcher, IbarDispatcherTrait, bar, deploy_world, deploy_world_and_bar, deploy_world_and_foo, drop_all_events, IFooSetter, - IFooSetterDispatcher, IFooSetterDispatcherTrait, NotCopiable + IFooSetterDispatcher, IFooSetterDispatcherTrait, NotCopiable, }; mod event; pub use event::{ - FooEventBadLayoutType, e_FooEventBadLayoutType, deploy_world_for_event_upgrades + FooEventBadLayoutType, e_FooEventBadLayoutType, deploy_world_for_event_upgrades, }; mod model; diff --git a/crates/dojo/core-cairo-test/src/tests/benchmarks.cairo b/crates/dojo/core-cairo-test/src/tests/benchmarks.cairo index e76b91b479..3f694f47eb 100644 --- a/crates/dojo/core-cairo-test/src/tests/benchmarks.cairo +++ b/crates/dojo/core-cairo-test/src/tests/benchmarks.cairo @@ -6,7 +6,7 @@ use core::serde::Serde; use starknet::{ContractAddress, SyscallResultTrait}; use starknet::storage_access::{ storage_base_address_from_felt252, storage_address_from_base, - storage_address_from_base_and_offset + storage_address_from_base_and_offset, }; use starknet::syscalls::{storage_read_syscall, storage_write_syscall}; @@ -44,11 +44,13 @@ struct ComplexModel { fn deploy_world() -> IWorldDispatcher { let namespace_def = NamespaceDef { - namespace: "dojo", resources: [ + namespace: "dojo", + resources: [ TestResource::Model(case::TEST_CLASS_HASH.try_into().unwrap()), TestResource::Model(case_not_packed::TEST_CLASS_HASH.try_into().unwrap()), TestResource::Model(complex_model::TEST_CLASS_HASH.try_into().unwrap()), - ].span(), + ] + .span(), }; spawn_test_world([namespace_def].span()) @@ -184,7 +186,7 @@ fn bench_simple_struct() { let caller = starknet::contract_address_const::<0x42>(); let gas = GasCounterTrait::start(); - let mut foo = Foo { caller, a: 0x123456789abcdef, b: 0x123456789abcdef, }; + let mut foo = Foo { caller, a: 0x123456789abcdef, b: 0x123456789abcdef }; gas.end("foo init"); let gas = GasCounterTrait::start(); @@ -285,7 +287,7 @@ fn bench_nested_struct_packed() { let gas = GasCounterTrait::start(); let mut case = Case { - owner: caller, sword: Sword { swordsmith: caller, damage: 0x12345678, }, material: 'wooden', + owner: caller, sword: Sword { swordsmith: caller, damage: 0x12345678 }, material: 'wooden', }; gas.end("case init"); @@ -360,8 +362,8 @@ fn bench_complex_struct_packed() { }, Sword { swordsmith: starknet::contract_address_const::<0x69>(), damage: 0x12345678, - } - ) + }, + ), ), gold: 0x12345678, }; @@ -412,11 +414,11 @@ fn test_benchmark_set_entity() { let bob = starknet::contract_address_const::<0xb0b>(); let simple_entity_packed = Case { - owner: bob, sword: Sword { swordsmith: bob, damage: 42, }, material: 'iron' + owner: bob, sword: Sword { swordsmith: bob, damage: 42 }, material: 'iron', }; let simple_entity_not_packed = CaseNotPacked { - owner: bob, sword: Sword { swordsmith: bob, damage: 42, }, material: 'iron' + owner: bob, sword: Sword { swordsmith: bob, damage: 42 }, material: 'iron', }; let complex_entity = ComplexModel { @@ -426,11 +428,11 @@ fn test_benchmark_set_entity() { last_name: "Doe", weapons: array![ Weapon::DualWield( - (Sword { swordsmith: bob, damage: 42 }, Sword { swordsmith: bob, damage: 800 }) + (Sword { swordsmith: bob, damage: 42 }, Sword { swordsmith: bob, damage: 800 }), ), Weapon::Fists( - (Sword { swordsmith: bob, damage: 300 }, Sword { swordsmith: bob, damage: 1200 }) - ) + (Sword { swordsmith: bob, damage: 300 }, Sword { swordsmith: bob, damage: 1200 }), + ), ], abilities: ( Abilities { @@ -448,7 +450,7 @@ fn test_benchmark_set_entity() { intelligence: 2, wisdom: 1, charisma: 43, - } + }, ), stats: Stats { kills: 99, @@ -459,7 +461,7 @@ fn test_benchmark_set_entity() { walked: 12, runned: 32, finished: true, - romances: 65 + romances: 65, }, }; @@ -469,7 +471,7 @@ fn test_benchmark_set_entity() { model_selector: Model::::selector(DOJO_NSH), index: ModelIndex::Keys(simple_entity_packed.serialized_keys()), values: simple_entity_packed.serialized_values(), - layout: Model::::layout() + layout: Model::::layout(), ); gas.end("World::SetEntity::SimplePacked"); @@ -479,7 +481,7 @@ fn test_benchmark_set_entity() { model_selector: Model::::selector(), index: ModelIndex::Keys(simple_entity_not_packed.serialized_keys()), values: simple_entity_not_packed.serialized_values(), - layout: Model::::layout() + layout: Model::::layout(), ); gas.end("World::SetEntity::SimpleNotPacked"); @@ -489,7 +491,7 @@ fn test_benchmark_set_entity() { model_selector: Model::::selector(), index: ModelIndex::Keys(complex_entity.keys()), values: complex_entity.serialized_values(), - layout: Model::::layout() + layout: Model::::layout(), ); gas.end("World::SetEntity::ComplexModel"); diff --git a/crates/dojo/core-cairo-test/src/tests/contract.cairo b/crates/dojo/core-cairo-test/src/tests/contract.cairo index 1fc1539eb1..a568c739fe 100644 --- a/crates/dojo/core-cairo-test/src/tests/contract.cairo +++ b/crates/dojo/core-cairo-test/src/tests/contract.cairo @@ -87,7 +87,7 @@ fn test_upgrade_from_world() { #[test] #[available_gas(7000000)] -#[should_panic(expected: ('ENTRYPOINT_NOT_FOUND', 'ENTRYPOINT_FAILED'))] +#[should_panic(expected: ('ENTRYPOINT_NOT_FOUND', 'ENTRYPOINT_FAILED', 'ENTRYPOINT_FAILED'))] fn test_upgrade_from_world_not_world_provider() { let world = deploy_world(); let world = world.dispatcher; @@ -177,7 +177,7 @@ mod invalid_model_world { expected: ( "Namespace `` is invalid according to Dojo naming rules: ^[a-zA-Z0-9_]+$", 'ENTRYPOINT_FAILED', - ) + ), )] fn test_register_namespace_empty_name() { let world = deploy_world(); diff --git a/crates/dojo/core-cairo-test/src/tests/event/event.cairo b/crates/dojo/core-cairo-test/src/tests/event/event.cairo index 2753abdcc8..5558795b78 100644 --- a/crates/dojo/core-cairo-test/src/tests/event/event.cairo +++ b/crates/dojo/core-cairo-test/src/tests/event/event.cairo @@ -6,7 +6,7 @@ struct FooEvent { #[key] k2: felt252, v1: u128, - v2: u32 + v2: u32, } #[test] diff --git a/crates/dojo/core-cairo-test/src/tests/helpers/event.cairo b/crates/dojo/core-cairo-test/src/tests/helpers/event.cairo index 4b41eaf263..bb6b9f28f8 100644 --- a/crates/dojo/core-cairo-test/src/tests/helpers/event.cairo +++ b/crates/dojo/core-cairo-test/src/tests/helpers/event.cairo @@ -65,15 +65,17 @@ struct FooEventMemberAdded { pub fn deploy_world_for_event_upgrades() -> IWorldDispatcher { let namespace_def = NamespaceDef { - namespace: "dojo", resources: [ + namespace: "dojo", + resources: [ TestResource::Event(old_foo_event_bad_layout_type::TEST_CLASS_HASH.try_into().unwrap()), TestResource::Event(e_FooEventMemberRemoved::TEST_CLASS_HASH.try_into().unwrap()), TestResource::Event( - e_FooEventMemberAddedButRemoved::TEST_CLASS_HASH.try_into().unwrap() + e_FooEventMemberAddedButRemoved::TEST_CLASS_HASH.try_into().unwrap(), ), TestResource::Event(e_FooEventMemberAddedButMoved::TEST_CLASS_HASH.try_into().unwrap()), TestResource::Event(e_FooEventMemberAdded::TEST_CLASS_HASH.try_into().unwrap()), - ].span() + ] + .span(), }; spawn_test_world([namespace_def].span()).dispatcher } diff --git a/crates/dojo/core-cairo-test/src/tests/helpers/helpers.cairo b/crates/dojo/core-cairo-test/src/tests/helpers/helpers.cairo index f0e859ec86..5212b01fb5 100644 --- a/crates/dojo/core-cairo-test/src/tests/helpers/helpers.cairo +++ b/crates/dojo/core-cairo-test/src/tests/helpers/helpers.cairo @@ -4,7 +4,7 @@ use dojo::world::{IWorldDispatcher, WorldStorage, WorldStorageTrait}; use dojo::model::Model; use crate::world::{ - spawn_test_world, NamespaceDef, TestResource, ContractDefTrait, WorldStorageTestTrait + spawn_test_world, NamespaceDef, TestResource, ContractDefTrait, WorldStorageTestTrait, }; pub const DOJO_NSH: felt252 = 0x309e09669bc1fdc1dd6563a7ef862aa6227c97d099d08cc7b81bad58a7443fa; @@ -164,7 +164,7 @@ pub struct Stats { #[derive(IntrospectPacked, Copy, Drop, Serde)] pub enum Weapon { DualWield: (Sword, Sword), - Fists: (Sword, Sword), // Introspect requires same arms + Fists: (Sword, Sword), } #[starknet::interface] @@ -196,7 +196,7 @@ pub mod bar { fn delete_foo(self: @ContractState) { let mut world = self.world(@"dojo"); let ptr = ModelPtr::< - Foo + Foo, > { id: core::poseidon::poseidon_hash_span([get_caller_address().into()].span()) }; world.erase_model_ptr(ptr); } @@ -205,7 +205,7 @@ pub mod bar { /// Deploys an empty world with the `dojo` namespace. pub fn deploy_world() -> WorldStorage { - let namespace_def = NamespaceDef { namespace: "dojo", resources: [].span(), }; + let namespace_def = NamespaceDef { namespace: "dojo", resources: [].span() }; spawn_test_world([namespace_def].span()) } @@ -214,10 +214,12 @@ pub fn deploy_world() -> WorldStorage { /// No permissions are granted. pub fn deploy_world_and_foo() -> (WorldStorage, felt252) { let namespace_def = NamespaceDef { - namespace: "dojo", resources: [ + namespace: "dojo", + resources: [ TestResource::Model(m_Foo::TEST_CLASS_HASH), TestResource::Model(m_NotCopiable::TEST_CLASS_HASH), - ].span(), + ] + .span(), }; (spawn_test_world([namespace_def].span()), Model::::selector(DOJO_NSH)) @@ -227,10 +229,12 @@ pub fn deploy_world_and_foo() -> (WorldStorage, felt252) { /// Grants the `bar` contract writer permissions to the `foo` model. pub fn deploy_world_and_bar() -> (WorldStorage, IbarDispatcher) { let namespace_def = NamespaceDef { - namespace: "dojo", resources: [ + namespace: "dojo", + resources: [ TestResource::Model(m_Foo::TEST_CLASS_HASH), TestResource::Contract(bar::TEST_CLASS_HASH), - ].span(), + ] + .span(), }; let bar_def = ContractDefTrait::new(@"dojo", @"bar") diff --git a/crates/dojo/core-cairo-test/src/tests/helpers/model.cairo b/crates/dojo/core-cairo-test/src/tests/helpers/model.cairo index 238f3e4fe0..f097358455 100644 --- a/crates/dojo/core-cairo-test/src/tests/helpers/model.cairo +++ b/crates/dojo/core-cairo-test/src/tests/helpers/model.cairo @@ -57,15 +57,17 @@ struct FooModelMemberAdded { pub fn deploy_world_for_model_upgrades() -> IWorldDispatcher { let namespace_def = NamespaceDef { - namespace: "dojo", resources: [ + namespace: "dojo", + resources: [ TestResource::Model(m_FooModelBadLayoutType::TEST_CLASS_HASH.try_into().unwrap()), TestResource::Model(m_FooModelMemberRemoved::TEST_CLASS_HASH.try_into().unwrap()), TestResource::Model( - m_FooModelMemberAddedButRemoved::TEST_CLASS_HASH.try_into().unwrap() + m_FooModelMemberAddedButRemoved::TEST_CLASS_HASH.try_into().unwrap(), ), TestResource::Model(m_FooModelMemberAddedButMoved::TEST_CLASS_HASH.try_into().unwrap()), TestResource::Model(m_FooModelMemberAdded::TEST_CLASS_HASH.try_into().unwrap()), - ].span() + ] + .span(), }; spawn_test_world([namespace_def].span()).dispatcher } diff --git a/crates/dojo/core-cairo-test/src/tests/meta/introspect.cairo b/crates/dojo/core-cairo-test/src/tests/meta/introspect.cairo index bfa89e3023..996111d135 100644 --- a/crates/dojo/core-cairo-test/src/tests/meta/introspect.cairo +++ b/crates/dojo/core-cairo-test/src/tests/meta/introspect.cairo @@ -9,70 +9,70 @@ struct Base { #[derive(Drop, Introspect)] struct WithArray { value: u32, - arr: Array + arr: Array, } #[derive(Drop, Introspect)] struct WithByteArray { value: u32, - arr: ByteArray + arr: ByteArray, } #[derive(Drop, Introspect)] struct WithTuple { value: u32, - arr: (u8, u16, u32) + arr: (u8, u16, u32), } #[derive(Drop, Introspect)] struct WithNestedTuple { value: u32, - arr: (u8, (u16, u128, u256), u32) + arr: (u8, (u16, u128, u256), u32), } #[derive(Drop, Introspect)] struct WithNestedArrayInTuple { value: u32, - arr: (u8, (u16, Array, u256), u32) + arr: (u8, (u16, Array, u256), u32), } #[derive(Drop, IntrospectPacked)] struct Vec3 { x: u32, y: u32, - z: u32 + z: u32, } #[derive(IntrospectPacked)] struct Translation { from: Vec3, - to: Vec3 + to: Vec3, } #[derive(Drop, IntrospectPacked)] struct StructInnerNotPacked { - x: Base + x: Base, } #[derive(Drop, Introspect)] enum EnumNoData { One, Two, - Three + Three, } #[derive(Drop, Introspect)] enum EnumWithSameData { One: u256, Two: u256, - Three: u256 + Three: u256, } #[derive(Drop, Introspect)] enum EnumWithSameTupleData { One: (u256, u32), Two: (u256, u32), - Three: (u256, u32) + Three: (u256, u32), } #[derive(Drop, Introspect)] @@ -103,7 +103,7 @@ enum EnumInnerNotPacked { #[derive(Drop, Introspect)] struct StructWithOption { - x: Option + x: Option, } #[derive(Drop, Introspect)] @@ -135,7 +135,7 @@ fn _enum(values: Array>) -> Layout { let v = *values.at(i); match v { Option::Some(v) => { items.append(field(i.into(), v)); }, - Option::None => { items.append(field(i.into(), fixed(array![]))) } + Option::None => { items.append(field(i.into(), fixed(array![]))) }, } i += 1; @@ -230,8 +230,8 @@ fn test_layout_of_enum_without_variant_data() { let layout = Introspect::::layout(); let expected = _enum(array![ // One Option::None, // Two - Option::None, // Three - Option::None,]); + Option::None, // Three + Option::None]); assert!(layout == expected); } @@ -247,7 +247,7 @@ fn test_layout_of_enum_with_variant_data() { Option::Some(tuple(array![fixed(array![8]), fixed(array![16])])), // Three Option::Some(arr(fixed(array![128]))), - ] + ], ); assert!(layout == expected); @@ -258,7 +258,7 @@ fn test_layout_of_struct_with_option() { let layout = Introspect::::layout(); let expected = Layout::Struct( array![field(selector!("x"), _enum(array![Option::Some(fixed(array![16])), Option::None]))] - .span() + .span(), ); assert!(layout == expected); diff --git a/crates/dojo/core-cairo-test/src/tests/model/model.cairo b/crates/dojo/core-cairo-test/src/tests/model/model.cairo index 1be07ed7e0..68f6cf5778 100644 --- a/crates/dojo/core-cairo-test/src/tests/model/model.cairo +++ b/crates/dojo/core-cairo-test/src/tests/model/model.cairo @@ -10,7 +10,7 @@ struct Foo { #[key] k2: felt252, v1: u128, - v2: u32 + v2: u32, } @@ -22,7 +22,7 @@ struct Foo2 { #[key] k2: felt252, v1: u128, - v2: u32 + v2: u32, } #[derive(Copy, Drop, Serde, Debug)] @@ -33,15 +33,17 @@ struct Foo3 { #[key] k2: felt252, v1: u128, - v2: u32 + v2: u32, } fn namespace_def() -> NamespaceDef { NamespaceDef { - namespace: "dojo_cairo_test", resources: [ + namespace: "dojo_cairo_test", + resources: [ TestResource::Model(m_Foo::TEST_CLASS_HASH.try_into().unwrap()), TestResource::Model(m_Foo2::TEST_CLASS_HASH.try_into().unwrap()), - ].span() + ] + .span(), } } diff --git a/crates/dojo/core-cairo-test/src/tests/storage/packing.cairo b/crates/dojo/core-cairo-test/src/tests/storage/packing.cairo index 1d2d32c315..ab378d91e2 100644 --- a/crates/dojo/core-cairo-test/src/tests/storage/packing.cairo +++ b/crates/dojo/core-cairo-test/src/tests/storage/packing.cairo @@ -3,7 +3,7 @@ use core::option::OptionTrait; use core::traits::{Into, TryInto}; use dojo::storage::packing::{ - shl, shr, fpow, pack, unpack, pack_inner, unpack_inner, calculate_packed_size, pow2_const + shl, shr, fpow, pack, unpack, pack_inner, unpack_inner, calculate_packed_size, pow2_const, }; #[test] @@ -11,9 +11,9 @@ use dojo::storage::packing::{ fn test_bit_fpow() { assert( fpow( - 2, 250 + 2, 250, ) == 1809251394333065553493296640760748560207343510400633813116524750123642650624_u256, - '' + '', ) } @@ -22,9 +22,9 @@ fn test_bit_fpow() { fn test_bit_pow2_const() { assert( pow2_const( - 250 + 250, ) == 1809251394333065553493296640760748560207343510400633813116524750123642650624_u256, - '' + '', ) } @@ -75,10 +75,11 @@ fn test_pack_unpack_felt252_u128() { assert( unpack_inner(128, ref packed_span, ref unpacking, ref un_offset).unwrap() == 1337, - 'Types u8' + 'Types u8', ); assert( - unpack_inner(252, ref packed_span, ref unpacking, ref un_offset).unwrap() == 420, 'Types u8' + unpack_inner(252, ref packed_span, ref unpacking, ref un_offset).unwrap() == 420, + 'Types u8', ); } @@ -100,10 +101,10 @@ fn test_pack_multiple() { packed.append(packing); assert( - *packed.at(0) == 0x6000000050000000400000003000000020000000100000000, 'Packed multiple 0' + *packed.at(0) == 0x6000000050000000400000003000000020000000100000000, 'Packed multiple 0', ); assert( - *packed.at(1) == 0xd0000000c0000000b0000000a000000090000000800000007, 'Packed multiple 1' + *packed.at(1) == 0xd0000000c0000000b0000000a000000090000000800000007, 'Packed multiple 1', ); assert(*packed.at(2) == 0x130000001200000011000000100000000f0000000e, 'Packed multiple 2'); } @@ -182,57 +183,57 @@ fn test_pack_unpack_types() { .unwrap() .try_into() .unwrap() == 3_u8, - 'Types u8' + 'Types u8', ); assert( unpack_inner(16, ref packed_span, ref unpacking, ref un_offset) .unwrap() .try_into() .unwrap() == 14_u16, - 'Types u16' + 'Types u16', ); assert( unpack_inner(32, ref packed_span, ref unpacking, ref un_offset) .unwrap() .try_into() .unwrap() == 59_u32, - 'Types u32' + 'Types u32', ); assert( unpack_inner(64, ref packed_span, ref unpacking, ref un_offset) .unwrap() .try_into() .unwrap() == 26_u64, - 'Types u64' + 'Types u64', ); assert( unpack_inner(128, ref packed_span, ref unpacking, ref un_offset) .unwrap() .try_into() .unwrap() == 53_u128, - 'Types u128' + 'Types u128', ); assert( unpack_inner(251, ref packed_span, ref unpacking, ref un_offset).unwrap() == 58_felt252, - 'Types felt252' + 'Types felt252', ); assert( unpack_inner(1, ref packed_span, ref unpacking, ref un_offset).unwrap() == false.into(), - 'Types bool' + 'Types bool', ); assert( unpack_inner(251, ref packed_span, ref unpacking, ref un_offset) .unwrap() .try_into() .unwrap() == contract_address, - 'Types ContractAddress' + 'Types ContractAddress', ); assert( unpack_inner(251, ref packed_span, ref unpacking, ref un_offset) .unwrap() .try_into() .unwrap() == class_hash, - 'Types ClassHash' + 'Types ClassHash', ); } @@ -258,7 +259,7 @@ fn test_inner_pack_unpack_u256_single() { let high = unpack_inner(128, ref packed_span, ref unpacking, ref un_offset).unwrap(); assert( u256 { low: low.try_into().unwrap(), high: high.try_into().unwrap() } == input, - 'Unpacked equals packed' + 'Unpacked equals packed', ); } diff --git a/crates/dojo/core-cairo-test/src/tests/utils/hash.cairo b/crates/dojo/core-cairo-test/src/tests/utils/hash.cairo index 362cd65035..d218667c2a 100644 --- a/crates/dojo/core-cairo-test/src/tests/utils/hash.cairo +++ b/crates/dojo/core-cairo-test/src/tests/utils/hash.cairo @@ -8,7 +8,7 @@ use crate::tests::helpers::DOJO_NSH; struct MyModel { #[key] x: u8, - y: u8 + y: u8, } #[test] diff --git a/crates/dojo/core-cairo-test/src/tests/utils/key.cairo b/crates/dojo/core-cairo-test/src/tests/utils/key.cairo index facd0a84c9..549bcffcc1 100644 --- a/crates/dojo/core-cairo-test/src/tests/utils/key.cairo +++ b/crates/dojo/core-cairo-test/src/tests/utils/key.cairo @@ -5,13 +5,13 @@ fn test_entity_id_from_keys() { let keys = [1, 2, 3].span(); assert( entity_id_from_serialized_keys(keys) == core::poseidon::poseidon_hash_span(keys), - 'bad entity ID' + 'bad entity ID', ); } #[test] fn test_combine_key() { assert( - combine_key(1, 2) == core::poseidon::poseidon_hash_span([1, 2].span()), 'combine key error' + combine_key(1, 2) == core::poseidon::poseidon_hash_span([1, 2].span()), 'combine key error', ); } diff --git a/crates/dojo/core-cairo-test/src/tests/utils/layout.cairo b/crates/dojo/core-cairo-test/src/tests/utils/layout.cairo index 93ee8c4a4e..9eeae83e68 100644 --- a/crates/dojo/core-cairo-test/src/tests/utils/layout.cairo +++ b/crates/dojo/core-cairo-test/src/tests/utils/layout.cairo @@ -7,7 +7,8 @@ fn test_find_layout_when_exists() { FieldLayout { selector: 'one', layout: Layout::Fixed([1].span()) }, FieldLayout { selector: 'two', layout: Layout::Fixed([2].span()) }, FieldLayout { selector: 'three', layout: Layout::Fixed([3].span()) }, - ].span(); + ] + .span(); let res = find_field_layout('two', layouts); assert(res.is_some(), 'layout not found'); @@ -21,7 +22,8 @@ fn test_find_layout_fails_when_not_exists() { FieldLayout { selector: 'one', layout: Layout::Fixed([1].span()) }, FieldLayout { selector: 'two', layout: Layout::Fixed([2].span()) }, FieldLayout { selector: 'three', layout: Layout::Fixed([3].span()) }, - ].span(); + ] + .span(); let res = find_field_layout('four', layouts); assert(res.is_none(), 'layout found'); @@ -34,7 +36,8 @@ fn test_find_model_layout_when_exists() { FieldLayout { selector: 'one', layout: Layout::Fixed([1].span()) }, FieldLayout { selector: 'two', layout: Layout::Fixed([2].span()) }, FieldLayout { selector: 'three', layout: Layout::Fixed([3].span()) }, - ].span() + ] + .span(), ); let res = find_model_field_layout(model_layout, 'two'); @@ -50,7 +53,8 @@ fn test_find_model_layout_fails_when_not_exists() { FieldLayout { selector: 'one', layout: Layout::Fixed([1].span()) }, FieldLayout { selector: 'two', layout: Layout::Fixed([2].span()) }, FieldLayout { selector: 'three', layout: Layout::Fixed([3].span()) }, - ].span() + ] + .span(), ); let res = find_model_field_layout(model_layout, 'four'); diff --git a/crates/dojo/core-cairo-test/src/tests/utils/misc.cairo b/crates/dojo/core-cairo-test/src/tests/utils/misc.cairo index 60973d4d58..ff7339f9dd 100644 --- a/crates/dojo/core-cairo-test/src/tests/utils/misc.cairo +++ b/crates/dojo/core-cairo-test/src/tests/utils/misc.cairo @@ -4,7 +4,7 @@ use dojo::utils::{any_none, sum}; fn test_any_none_when_one_none() { assert( any_none(@array![Option::Some(1_u8), Option::Some(2_u8), Option::None, Option::Some(3_u8)]), - 'None not found' + 'None not found', ) } @@ -12,7 +12,7 @@ fn test_any_none_when_one_none() { fn test_any_none_when_no_none() { assert( any_none(@array![Option::Some(1_u8), Option::Some(2_u8), Option::Some(3_u8)]) == false, - 'None found' + 'None found', ) } @@ -25,6 +25,6 @@ fn test_sum_when_empty_array() { fn test_sum_when_some_none_and_values() { assert( sum::(array![Option::Some(1), Option::None, Option::Some(2), Option::Some(3)]) == 6, - 'bad sum' + 'bad sum', ); } diff --git a/crates/dojo/core-cairo-test/src/tests/world/acl.cairo b/crates/dojo/core-cairo-test/src/tests/world/acl.cairo index f899b51dfb..c5cebc202d 100644 --- a/crates/dojo/core-cairo-test/src/tests/world/acl.cairo +++ b/crates/dojo/core-cairo-test/src/tests/world/acl.cairo @@ -2,7 +2,7 @@ use dojo::utils::bytearray_hash; use dojo::world::IWorldDispatcherTrait; use crate::tests::helpers::{ - deploy_world, foo_setter, IFooSetterDispatcher, IFooSetterDispatcherTrait, deploy_world_and_foo + deploy_world, foo_setter, IFooSetterDispatcher, IFooSetterDispatcherTrait, deploy_world_and_foo, }; use crate::tests::expanded::selector_attack::{attacker_model, attacker_contract}; @@ -43,7 +43,7 @@ fn test_grant_owner_not_registered_resource() { } #[test] -#[should_panic(expected: ('CONTRACT_NOT_DEPLOYED', 'ENTRYPOINT_FAILED'))] +#[should_panic(expected: ('CONTRACT_NOT_DEPLOYED', 'ENTRYPOINT_FAILED', 'ENTRYPOINT_FAILED'))] fn test_grant_owner_through_malicious_contract() { let (world, foo_selector) = deploy_world_and_foo(); let world = world.dispatcher; @@ -64,8 +64,8 @@ fn test_grant_owner_through_malicious_contract() { #[should_panic( expected: ( "Account `659918` does NOT have OWNER role on model (or its namespace) `Foo`", - 'ENTRYPOINT_FAILED' - ) + 'ENTRYPOINT_FAILED', + ), )] fn test_grant_owner_fails_for_non_owner() { let (world, foo_selector) = deploy_world_and_foo(); @@ -81,7 +81,7 @@ fn test_grant_owner_fails_for_non_owner() { } #[test] -#[should_panic(expected: ('CONTRACT_NOT_DEPLOYED', 'ENTRYPOINT_FAILED'))] +#[should_panic(expected: ('CONTRACT_NOT_DEPLOYED', 'ENTRYPOINT_FAILED', 'ENTRYPOINT_FAILED'))] fn test_revoke_owner_through_malicious_contract() { let (world, foo_selector) = deploy_world_and_foo(); let world = world.dispatcher; @@ -103,8 +103,8 @@ fn test_revoke_owner_through_malicious_contract() { #[should_panic( expected: ( "Account `659918` does NOT have OWNER role on model (or its namespace) `Foo`", - 'ENTRYPOINT_FAILED' - ) + 'ENTRYPOINT_FAILED', + ), )] fn test_revoke_owner_fails_for_non_owner() { let (world, foo_selector) = deploy_world_and_foo(); @@ -146,7 +146,7 @@ fn test_writer_not_registered_resource() { } #[test] -#[should_panic(expected: ('CONTRACT_NOT_DEPLOYED', 'ENTRYPOINT_FAILED'))] +#[should_panic(expected: ('CONTRACT_NOT_DEPLOYED', 'ENTRYPOINT_FAILED', 'ENTRYPOINT_FAILED'))] fn test_grant_writer_through_malicious_contract() { let (world, foo_selector) = deploy_world_and_foo(); let world = world.dispatcher; @@ -167,8 +167,8 @@ fn test_grant_writer_through_malicious_contract() { #[should_panic( expected: ( "Account `659918` does NOT have OWNER role on model (or its namespace) `Foo`", - 'ENTRYPOINT_FAILED' - ) + 'ENTRYPOINT_FAILED', + ), )] fn test_grant_writer_fails_for_non_owner() { let (world, foo_selector) = deploy_world_and_foo(); @@ -184,7 +184,7 @@ fn test_grant_writer_fails_for_non_owner() { } #[test] -#[should_panic(expected: ('CONTRACT_NOT_DEPLOYED', 'ENTRYPOINT_FAILED'))] +#[should_panic(expected: ('CONTRACT_NOT_DEPLOYED', 'ENTRYPOINT_FAILED', 'ENTRYPOINT_FAILED'))] fn test_revoke_writer_through_malicious_contract() { let (world, foo_selector) = deploy_world_and_foo(); let world = world.dispatcher; @@ -206,8 +206,8 @@ fn test_revoke_writer_through_malicious_contract() { #[should_panic( expected: ( "Account `659918` does NOT have OWNER role on model (or its namespace) `Foo`", - 'ENTRYPOINT_FAILED' - ) + 'ENTRYPOINT_FAILED', + ), )] fn test_revoke_writer_fails_for_non_owner() { let (world, foo_selector) = deploy_world_and_foo(); @@ -229,8 +229,8 @@ fn test_revoke_writer_fails_for_non_owner() { expected: ( "Contract `foo_setter` does NOT have WRITER role on model (or its namespace) `Foo`", 'ENTRYPOINT_FAILED', - 'ENTRYPOINT_FAILED' - ) + 'ENTRYPOINT_FAILED', + ), )] fn test_not_writer_with_known_contract() { let (world, _) = deploy_world_and_foo(); @@ -251,7 +251,7 @@ fn test_not_writer_with_known_contract() { d.set_foo(1, 2); core::panics::panic_with_byte_array( - @"Contract `dojo-foo_setter` does NOT have WRITER role on model (or its namespace) `Foo`" + @"Contract `dojo-foo_setter` does NOT have WRITER role on model (or its namespace) `Foo`", ); } @@ -262,7 +262,7 @@ fn test_not_writer_with_known_contract() { expected: ( "Account `7022365680606078322` does NOT have OWNER role on namespace `dojo`", 'ENTRYPOINT_FAILED', - ) + ), )] fn test_register_model_namespace_not_owner() { let owner = starknet::contract_address_const::<'owner'>(); @@ -294,7 +294,7 @@ fn test_register_model_namespace_not_owner() { expected: ( "Account `7022365680606078322` does NOT have OWNER role on namespace `dojo`", 'ENTRYPOINT_FAILED', - ) + ), )] fn test_register_contract_namespace_not_owner() { let owner = starknet::contract_address_const::<'owner'>(); diff --git a/crates/dojo/core-cairo-test/src/tests/world/contract.cairo b/crates/dojo/core-cairo-test/src/tests/world/contract.cairo index 093427cac9..51b18ca827 100644 --- a/crates/dojo/core-cairo-test/src/tests/world/contract.cairo +++ b/crates/dojo/core-cairo-test/src/tests/world/contract.cairo @@ -75,7 +75,7 @@ fn test_upgrade_from_world() { #[test] #[available_gas(7000000)] -#[should_panic(expected: ('ENTRYPOINT_NOT_FOUND', 'ENTRYPOINT_FAILED'))] +#[should_panic(expected: ('ENTRYPOINT_NOT_FOUND', 'ENTRYPOINT_FAILED', 'ENTRYPOINT_FAILED'))] fn test_upgrade_from_world_not_world_provider() { let world = deploy_world(); let world = world.dispatcher; @@ -190,13 +190,13 @@ fn test_deploy_contract_for_namespace_owner() { assert(event.salt == 'salt1', 'bad event salt'); assert(event.class_hash == class_hash, 'bad class_hash'); assert( - event.address != core::num::traits::Zero::::zero(), 'bad contract address' + event.address != core::num::traits::Zero::::zero(), 'bad contract address', ); } #[test] #[should_panic( - expected: ("Account `2827` does NOT have OWNER role on namespace `dojo`", 'ENTRYPOINT_FAILED',) + expected: ("Account `2827` does NOT have OWNER role on namespace `dojo`", 'ENTRYPOINT_FAILED'), )] fn test_deploy_contract_for_namespace_writer() { let world = deploy_world(); @@ -215,7 +215,7 @@ fn test_deploy_contract_for_namespace_writer() { #[test] #[should_panic( - expected: ("Account `2827` does NOT have OWNER role on namespace `dojo`", 'ENTRYPOINT_FAILED',) + expected: ("Account `2827` does NOT have OWNER role on namespace `dojo`", 'ENTRYPOINT_FAILED'), )] fn test_deploy_contract_no_namespace_owner_access() { let world = deploy_world(); @@ -229,21 +229,21 @@ fn test_deploy_contract_no_namespace_owner_access() { } #[test] -#[should_panic(expected: ("Namespace `buzz_namespace` is not registered", 'ENTRYPOINT_FAILED',))] +#[should_panic(expected: ("Namespace `buzz_namespace` is not registered", 'ENTRYPOINT_FAILED'))] fn test_deploy_contract_with_unregistered_namespace() { let world = deploy_world(); let world = world.dispatcher; world .register_contract( - 'salt1', "buzz_namespace", test_contract::TEST_CLASS_HASH.try_into().unwrap() + 'salt1', "buzz_namespace", test_contract::TEST_CLASS_HASH.try_into().unwrap(), ); } // It's CONTRACT_NOT_DEPLOYED for now as in this example the contract is not a dojo contract // and it's not the account that is calling the deploy_contract function. #[test] -#[should_panic(expected: ('CONTRACT_NOT_DEPLOYED', 'ENTRYPOINT_FAILED',))] +#[should_panic(expected: ('CONTRACT_NOT_DEPLOYED', 'ENTRYPOINT_FAILED', 'ENTRYPOINT_FAILED'))] fn test_deploy_contract_through_malicious_contract() { let world = deploy_world(); let world = world.dispatcher; @@ -288,9 +288,9 @@ fn test_upgrade_contract_from_resource_owner() { assert( event .selector == dojo::utils::selector_from_namespace_and_name( - DOJO_NSH, @contract_name + DOJO_NSH, @contract_name, ), - 'bad contract selector' + 'bad contract selector', ); assert(event.class_hash == class_hash, 'bad class_hash'); } else { @@ -303,7 +303,7 @@ fn test_upgrade_contract_from_resource_owner() { expected: ( "Account `659918` does NOT have OWNER role on contract (or its namespace) `test_contract`", 'ENTRYPOINT_FAILED', - ) + ), )] fn test_upgrade_contract_from_resource_writer() { let world = deploy_world(); @@ -337,7 +337,7 @@ fn test_upgrade_contract_from_resource_writer() { expected: ( "Account `659918` does NOT have OWNER role on contract (or its namespace) `test_contract`", 'ENTRYPOINT_FAILED', - ) + ), )] fn test_upgrade_contract_from_random_account() { let world = deploy_world(); @@ -356,7 +356,7 @@ fn test_upgrade_contract_from_random_account() { } #[test] -#[should_panic(expected: ('CONTRACT_NOT_DEPLOYED', 'ENTRYPOINT_FAILED',))] +#[should_panic(expected: ('CONTRACT_NOT_DEPLOYED', 'ENTRYPOINT_FAILED', 'ENTRYPOINT_FAILED'))] fn test_upgrade_contract_through_malicious_contract() { let world = deploy_world(); let world = world.dispatcher; diff --git a/crates/dojo/core-cairo-test/src/tests/world/event.cairo b/crates/dojo/core-cairo-test/src/tests/world/event.cairo index 2c52779447..6f6527a54d 100644 --- a/crates/dojo/core-cairo-test/src/tests/world/event.cairo +++ b/crates/dojo/core-cairo-test/src/tests/world/event.cairo @@ -2,7 +2,7 @@ use core::starknet::ContractAddress; use crate::tests::helpers::{ SimpleEvent, e_SimpleEvent, DOJO_NSH, e_FooEventBadLayoutType, drop_all_events, deploy_world, - deploy_world_for_event_upgrades + deploy_world_for_event_upgrades, }; use dojo::world::{world, IWorldDispatcherTrait}; use dojo::event::Event; @@ -22,7 +22,7 @@ pub struct FooEventMemberAddedButRemoved { pub caller: ContractAddress, pub b: u128, pub c: u256, - pub d: u256 + pub d: u256, } #[derive(Copy, Drop, Serde, Debug)] @@ -32,7 +32,7 @@ pub struct FooEventMemberAddedButMoved { pub caller: ContractAddress, pub b: u128, pub a: felt252, - pub c: u256 + pub c: u256, } #[derive(Copy, Drop, Serde, Debug)] @@ -42,7 +42,7 @@ pub struct FooEventMemberAdded { pub caller: ContractAddress, pub a: felt252, pub b: u128, - pub c: u256 + pub c: u256, } #[test] @@ -68,11 +68,11 @@ fn test_register_event_for_namespace_owner() { assert(event.namespace == "dojo", 'bad event namespace'); assert( event.class_hash == e_SimpleEvent::TEST_CLASS_HASH.try_into().unwrap(), - 'bad event class_hash' + 'bad event class_hash', ); assert( event.address != core::num::traits::Zero::::zero(), - 'bad event prev address' + 'bad event prev address', ); } else { core::panic_with_felt252('no EventRegistered event'); @@ -83,7 +83,7 @@ fn test_register_event_for_namespace_owner() { #[test] #[should_panic( - expected: ("Account `2827` does NOT have OWNER role on namespace `dojo`", 'ENTRYPOINT_FAILED',) + expected: ("Account `2827` does NOT have OWNER role on namespace `dojo`", 'ENTRYPOINT_FAILED'), )] fn test_register_event_for_namespace_writer() { let bob = starknet::contract_address_const::<0xb0b>(); @@ -119,15 +119,16 @@ fn test_upgrade_event_from_event_owner() { if let world::Event::EventUpgraded(event) = event.unwrap() { assert( - event.selector == Event::::selector(DOJO_NSH), 'bad model selector' + event.selector == Event::::selector(DOJO_NSH), + 'bad model selector', ); assert( event.class_hash == e_FooEventMemberAdded::TEST_CLASS_HASH.try_into().unwrap(), - 'bad model class_hash' + 'bad model class_hash', ); assert( event.address != core::num::traits::Zero::::zero(), - 'bad model prev address' + 'bad model prev address', ); } else { core::panic_with_felt252('no EventUpgraded event'); @@ -135,7 +136,7 @@ fn test_upgrade_event_from_event_owner() { assert( world.is_owner(Event::::selector(DOJO_NSH), bob), - 'bob is not the owner' + 'bob is not the owner', ); } @@ -152,14 +153,16 @@ fn test_upgrade_event() { if let world::Event::EventUpgraded(event) = event.unwrap() { assert( - event.selector == Event::::selector(DOJO_NSH), 'bad model selector' + event.selector == Event::::selector(DOJO_NSH), + 'bad model selector', ); assert( event.class_hash == e_FooEventMemberAdded::TEST_CLASS_HASH.try_into().unwrap(), - 'bad model class_hash' + 'bad model class_hash', ); assert( - event.address != core::num::traits::Zero::::zero(), 'bad model address' + event.address != core::num::traits::Zero::::zero(), + 'bad model address', ); } else { core::panic_with_felt252('no EventUpgraded event'); @@ -171,7 +174,7 @@ fn test_upgrade_event() { expected: ( "Invalid new layout to upgrade the resource `dojo-FooEventBadLayoutType`", 'ENTRYPOINT_FAILED', - ) + ), )] fn test_upgrade_event_with_bad_layout_type() { let world = deploy_world_for_event_upgrades(); @@ -183,7 +186,7 @@ fn test_upgrade_event_with_bad_layout_type() { expected: ( "Invalid new schema to upgrade the resource `dojo-FooEventMemberRemoved`", 'ENTRYPOINT_FAILED', - ) + ), )] fn test_upgrade_event_with_member_removed() { let world = deploy_world_for_event_upgrades(); @@ -195,13 +198,13 @@ fn test_upgrade_event_with_member_removed() { expected: ( "Invalid new schema to upgrade the resource `dojo-FooEventMemberAddedButRemoved`", 'ENTRYPOINT_FAILED', - ) + ), )] fn test_upgrade_event_with_member_added_but_removed() { let world = deploy_world_for_event_upgrades(); world .upgrade_event( - "dojo", e_FooEventMemberAddedButRemoved::TEST_CLASS_HASH.try_into().unwrap() + "dojo", e_FooEventMemberAddedButRemoved::TEST_CLASS_HASH.try_into().unwrap(), ); } @@ -210,7 +213,7 @@ fn test_upgrade_event_with_member_added_but_removed() { expected: ( "Invalid new schema to upgrade the resource `dojo-FooEventMemberAddedButMoved`", 'ENTRYPOINT_FAILED', - ) + ), )] fn test_upgrade_event_with_member_moved() { let world = deploy_world_for_event_upgrades(); @@ -222,7 +225,7 @@ fn test_upgrade_event_with_member_moved() { expected: ( "Account `659918` does NOT have OWNER role on event (or its namespace) `FooEventMemberAdded`", 'ENTRYPOINT_FAILED', - ) + ), )] fn test_upgrade_event_from_event_writer() { let alice = starknet::contract_address_const::<0xa11ce>(); @@ -238,7 +241,7 @@ fn test_upgrade_event_from_event_writer() { #[test] #[should_panic( - expected: ("Resource `dojo-SimpleEvent` is already registered", 'ENTRYPOINT_FAILED',) + expected: ("Resource `dojo-SimpleEvent` is already registered", 'ENTRYPOINT_FAILED'), )] fn test_upgrade_event_from_random_account() { let bob = starknet::contract_address_const::<0xb0b>(); @@ -260,7 +263,7 @@ fn test_upgrade_event_from_random_account() { } #[test] -#[should_panic(expected: ("Namespace `another_namespace` is not registered", 'ENTRYPOINT_FAILED',))] +#[should_panic(expected: ("Namespace `another_namespace` is not registered", 'ENTRYPOINT_FAILED'))] fn test_register_event_with_unregistered_namespace() { let world = deploy_world(); let world = world.dispatcher; @@ -271,7 +274,7 @@ fn test_register_event_with_unregistered_namespace() { // It's CONTRACT_NOT_DEPLOYED for now as in this example the contract is not a dojo contract // and it's not the account that is calling the register_event function. #[test] -#[should_panic(expected: ('CONTRACT_NOT_DEPLOYED', 'ENTRYPOINT_FAILED',))] +#[should_panic(expected: ('CONTRACT_NOT_DEPLOYED', 'ENTRYPOINT_FAILED', 'ENTRYPOINT_FAILED'))] fn test_register_event_through_malicious_contract() { let bob = starknet::contract_address_const::<0xb0b>(); let malicious_contract = starknet::contract_address_const::<0xdead>(); diff --git a/crates/dojo/core-cairo-test/src/tests/world/metadata.cairo b/crates/dojo/core-cairo-test/src/tests/world/metadata.cairo index 0471b82d62..8c8f19b0de 100644 --- a/crates/dojo/core-cairo-test/src/tests/world/metadata.cairo +++ b/crates/dojo/core-cairo-test/src/tests/world/metadata.cairo @@ -9,7 +9,7 @@ fn test_set_metadata_world() { let world = world.dispatcher; let metadata = ResourceMetadata { - resource_id: 0, metadata_uri: format!("ipfs:world_with_a_long_uri_that"), metadata_hash: 42 + resource_id: 0, metadata_uri: format!("ipfs:world_with_a_long_uri_that"), metadata_hash: 42, }; world.set_metadata(metadata.clone()); @@ -30,7 +30,7 @@ fn test_set_metadata_resource_owner() { starknet::testing::set_contract_address(bob); let metadata = ResourceMetadata { - resource_id: model_selector, metadata_uri: format!("ipfs:bob"), metadata_hash: 42 + resource_id: model_selector, metadata_uri: format!("ipfs:bob"), metadata_hash: 42, }; drop_all_events(world.contract_address); @@ -57,7 +57,7 @@ fn test_set_metadata_resource_owner() { expected: ( "Account `2827` does NOT have OWNER role on model (or its namespace) `Foo`", 'ENTRYPOINT_FAILED', - ) + ), )] fn test_set_metadata_not_possible_for_resource_writer() { let (world, model_selector) = deploy_world_and_foo(); @@ -71,22 +71,20 @@ fn test_set_metadata_not_possible_for_resource_writer() { starknet::testing::set_contract_address(bob); let metadata = ResourceMetadata { - resource_id: model_selector, metadata_uri: format!("ipfs:bob"), metadata_hash: 42 + resource_id: model_selector, metadata_uri: format!("ipfs:bob"), metadata_hash: 42, }; world.set_metadata(metadata.clone()); } #[test] -#[should_panic( - expected: ("Account `2827` does NOT have OWNER role on world", 'ENTRYPOINT_FAILED',) -)] +#[should_panic(expected: ("Account `2827` does NOT have OWNER role on world", 'ENTRYPOINT_FAILED'))] fn test_set_metadata_not_possible_for_random_account() { let world = deploy_world(); let world = world.dispatcher; let metadata = ResourceMetadata { // World metadata. - resource_id: 0, metadata_uri: format!("ipfs:bob"), metadata_hash: 42 + resource_id: 0, metadata_uri: format!("ipfs:bob"), metadata_hash: 42, }; let bob = starknet::contract_address_const::<0xb0b>(); @@ -99,7 +97,7 @@ fn test_set_metadata_not_possible_for_random_account() { } #[test] -#[should_panic(expected: ('CONTRACT_NOT_DEPLOYED', 'ENTRYPOINT_FAILED',))] +#[should_panic(expected: ('CONTRACT_NOT_DEPLOYED', 'ENTRYPOINT_FAILED', 'ENTRYPOINT_FAILED'))] fn test_set_metadata_through_malicious_contract() { let (world, model_selector) = deploy_world_and_foo(); let world = world.dispatcher; @@ -113,7 +111,7 @@ fn test_set_metadata_through_malicious_contract() { starknet::testing::set_contract_address(malicious_contract); let metadata = ResourceMetadata { - resource_id: model_selector, metadata_uri: format!("ipfs:bob"), metadata_hash: 42 + resource_id: model_selector, metadata_uri: format!("ipfs:bob"), metadata_hash: 42, }; world.set_metadata(metadata.clone()); diff --git a/crates/dojo/core-cairo-test/src/tests/world/model.cairo b/crates/dojo/core-cairo-test/src/tests/world/model.cairo index 64cce8ee3e..717d1d0afe 100644 --- a/crates/dojo/core-cairo-test/src/tests/world/model.cairo +++ b/crates/dojo/core-cairo-test/src/tests/world/model.cairo @@ -2,7 +2,7 @@ use core::starknet::ContractAddress; use crate::tests::helpers::{ Foo, m_Foo, DOJO_NSH, drop_all_events, deploy_world, deploy_world_for_model_upgrades, - foo_invalid_name + foo_invalid_name, }; use dojo::world::{world, IWorldDispatcherTrait}; use dojo::model::Model; @@ -32,7 +32,7 @@ pub struct FooModelMemberAddedButRemoved { pub caller: ContractAddress, pub b: u128, pub c: u256, - pub d: u256 + pub d: u256, } #[derive(Introspect, Copy, Drop, Serde)] @@ -42,7 +42,7 @@ pub struct FooModelMemberAddedButMoved { pub caller: ContractAddress, pub b: u128, pub a: felt252, - pub c: u256 + pub c: u256, } #[derive(Introspect, Copy, Drop, Serde)] @@ -52,7 +52,7 @@ pub struct FooModelMemberAdded { pub caller: ContractAddress, pub a: felt252, pub b: u128, - pub c: u256 + pub c: u256, } #[test] @@ -77,11 +77,11 @@ fn test_register_model_for_namespace_owner() { assert(event.name == Model::::name(), 'bad event name'); assert(event.namespace == "dojo", 'bad event namespace'); assert( - event.class_hash == m_Foo::TEST_CLASS_HASH.try_into().unwrap(), 'bad event class_hash' + event.class_hash == m_Foo::TEST_CLASS_HASH.try_into().unwrap(), 'bad event class_hash', ); assert( event.address != core::num::traits::Zero::::zero(), - 'bad event prev address' + 'bad event prev address', ); } else { core::panic_with_felt252('no ModelRegistered event'); @@ -96,7 +96,7 @@ fn test_register_model_for_namespace_owner() { expected: ( "Name `foo-bis` is invalid according to Dojo naming rules: ^[a-zA-Z0-9_]+$", 'ENTRYPOINT_FAILED', - ) + ), )] fn test_register_model_with_invalid_name() { let world = deploy_world(); @@ -107,7 +107,7 @@ fn test_register_model_with_invalid_name() { #[test] #[should_panic( - expected: ("Account `2827` does NOT have OWNER role on namespace `dojo`", 'ENTRYPOINT_FAILED',) + expected: ("Account `2827` does NOT have OWNER role on namespace `dojo`", 'ENTRYPOINT_FAILED'), )] fn test_register_model_for_namespace_writer() { let bob = starknet::contract_address_const::<0xb0b>(); @@ -143,15 +143,16 @@ fn test_upgrade_model_from_model_owner() { if let world::Event::ModelUpgraded(event) = event.unwrap() { assert( - event.selector == Model::::selector(DOJO_NSH), 'bad model selector' + event.selector == Model::::selector(DOJO_NSH), + 'bad model selector', ); assert( event.class_hash == m_FooModelMemberAdded::TEST_CLASS_HASH.try_into().unwrap(), - 'bad model class_hash' + 'bad model class_hash', ); assert( event.address != core::num::traits::Zero::::zero(), - 'bad model prev address' + 'bad model prev address', ); } else { core::panic_with_felt252('no ModelUpgraded event'); @@ -159,7 +160,7 @@ fn test_upgrade_model_from_model_owner() { assert( world.is_owner(Model::::selector(DOJO_NSH), bob), - 'bob is not the owner' + 'bob is not the owner', ); } @@ -176,14 +177,16 @@ fn test_upgrade_model() { if let world::Event::ModelUpgraded(event) = event.unwrap() { assert( - event.selector == Model::::selector(DOJO_NSH), 'bad model selector' + event.selector == Model::::selector(DOJO_NSH), + 'bad model selector', ); assert( event.class_hash == m_FooModelMemberAdded::TEST_CLASS_HASH.try_into().unwrap(), - 'bad model class_hash' + 'bad model class_hash', ); assert( - event.address != core::num::traits::Zero::::zero(), 'bad model address' + event.address != core::num::traits::Zero::::zero(), + 'bad model address', ); } else { core::panic_with_felt252('no ModelUpgraded event'); @@ -195,7 +198,7 @@ fn test_upgrade_model() { expected: ( "Invalid new layout to upgrade the resource `dojo-FooModelBadLayoutType`", 'ENTRYPOINT_FAILED', - ) + ), )] fn test_upgrade_model_with_bad_layout_type() { let world = deploy_world_for_model_upgrades(); @@ -207,7 +210,7 @@ fn test_upgrade_model_with_bad_layout_type() { expected: ( "Invalid new schema to upgrade the resource `dojo-FooModelMemberRemoved`", 'ENTRYPOINT_FAILED', - ) + ), )] fn test_upgrade_model_with_member_removed() { let world = deploy_world_for_model_upgrades(); @@ -219,13 +222,13 @@ fn test_upgrade_model_with_member_removed() { expected: ( "Invalid new schema to upgrade the resource `dojo-FooModelMemberAddedButRemoved`", 'ENTRYPOINT_FAILED', - ) + ), )] fn test_upgrade_model_with_member_added_but_removed() { let world = deploy_world_for_model_upgrades(); world .upgrade_model( - "dojo", m_FooModelMemberAddedButRemoved::TEST_CLASS_HASH.try_into().unwrap() + "dojo", m_FooModelMemberAddedButRemoved::TEST_CLASS_HASH.try_into().unwrap(), ); } @@ -234,7 +237,7 @@ fn test_upgrade_model_with_member_added_but_removed() { expected: ( "Invalid new schema to upgrade the resource `dojo-FooModelMemberAddedButMoved`", 'ENTRYPOINT_FAILED', - ) + ), )] fn test_upgrade_model_with_member_moved() { let world = deploy_world_for_model_upgrades(); @@ -246,7 +249,7 @@ fn test_upgrade_model_with_member_moved() { expected: ( "Account `659918` does NOT have OWNER role on model (or its namespace) `FooModelMemberAdded`", 'ENTRYPOINT_FAILED', - ) + ), )] fn test_upgrade_model_from_model_writer() { let alice = starknet::contract_address_const::<0xa11ce>(); @@ -261,7 +264,7 @@ fn test_upgrade_model_from_model_writer() { } #[test] -#[should_panic(expected: ("Resource `dojo-Foo` is already registered", 'ENTRYPOINT_FAILED',))] +#[should_panic(expected: ("Resource `dojo-Foo` is already registered", 'ENTRYPOINT_FAILED'))] fn test_upgrade_model_from_random_account() { let bob = starknet::contract_address_const::<0xb0b>(); let alice = starknet::contract_address_const::<0xa11ce>(); @@ -282,7 +285,7 @@ fn test_upgrade_model_from_random_account() { } #[test] -#[should_panic(expected: ("Namespace `another_namespace` is not registered", 'ENTRYPOINT_FAILED',))] +#[should_panic(expected: ("Namespace `another_namespace` is not registered", 'ENTRYPOINT_FAILED'))] fn test_register_model_with_unregistered_namespace() { let world = deploy_world(); let world = world.dispatcher; @@ -293,7 +296,7 @@ fn test_register_model_with_unregistered_namespace() { // It's CONTRACT_NOT_DEPLOYED for now as in this example the contract is not a dojo contract // and it's not the account that is calling the register_model function. #[test] -#[should_panic(expected: ('CONTRACT_NOT_DEPLOYED', 'ENTRYPOINT_FAILED',))] +#[should_panic(expected: ('CONTRACT_NOT_DEPLOYED', 'ENTRYPOINT_FAILED', 'ENTRYPOINT_FAILED'))] fn test_register_model_through_malicious_contract() { let bob = starknet::contract_address_const::<0xb0b>(); let malicious_contract = starknet::contract_address_const::<0xdead>(); diff --git a/crates/dojo/core-cairo-test/src/tests/world/namespace.cairo b/crates/dojo/core-cairo-test/src/tests/world/namespace.cairo index 12883604fa..c3b96c5c30 100644 --- a/crates/dojo/core-cairo-test/src/tests/world/namespace.cairo +++ b/crates/dojo/core-cairo-test/src/tests/world/namespace.cairo @@ -31,7 +31,7 @@ fn test_register_namespace() { } #[test] -#[should_panic(expected: ("Namespace `namespace` is already registered", 'ENTRYPOINT_FAILED',))] +#[should_panic(expected: ("Namespace `namespace` is already registered", 'ENTRYPOINT_FAILED'))] fn test_register_namespace_already_registered_same_caller() { let world = deploy_world(); let world = world.dispatcher; @@ -45,7 +45,7 @@ fn test_register_namespace_already_registered_same_caller() { } #[test] -#[should_panic(expected: ("Namespace `namespace` is already registered", 'ENTRYPOINT_FAILED',))] +#[should_panic(expected: ("Namespace `namespace` is already registered", 'ENTRYPOINT_FAILED'))] fn test_register_namespace_already_registered_other_caller() { let world = deploy_world(); let world = world.dispatcher; @@ -70,7 +70,7 @@ fn test_register_namespace_already_registered_other_caller() { expected: ( "Namespace `` is invalid according to Dojo naming rules: ^[a-zA-Z0-9_]+$", 'ENTRYPOINT_FAILED', - ) + ), )] fn test_register_namespace_empty_name() { let world = deploy_world(); diff --git a/crates/dojo/core-cairo-test/src/tests/world/storage.cairo b/crates/dojo/core-cairo-test/src/tests/world/storage.cairo index 7b7bf07ead..c7fc15e312 100644 --- a/crates/dojo/core-cairo-test/src/tests/world/storage.cairo +++ b/crates/dojo/core-cairo-test/src/tests/world/storage.cairo @@ -36,20 +36,19 @@ fn write_multiple_copiable() { let mut models_snaps: Array<@Foo> = array![]; let mut keys: Array = array![]; - for i in 0_u128 - ..10_u128 { - let felt: felt252 = i.into(); - let caller: starknet::ContractAddress = felt.try_into().unwrap(); - keys.append(caller); - - if i % 2 == 0 { - let foo = Foo { caller, a: felt, b: i }; - models_snaps.append(@foo); - } else { - let foo = Foo { caller, a: felt, b: i }; - models_snaps.append(@foo); - } - }; + for i in 0_u128..10_u128 { + let felt: felt252 = i.into(); + let caller: starknet::ContractAddress = felt.try_into().unwrap(); + keys.append(caller); + + if i % 2 == 0 { + let foo = Foo { caller, a: felt, b: i }; + models_snaps.append(@foo); + } else { + let foo = Foo { caller, a: felt, b: i }; + models_snaps.append(@foo); + } + }; world.write_models(models_snaps.span()); @@ -57,16 +56,15 @@ fn write_multiple_copiable() { assert_eq!(models.len(), 10); - for i in 0_u128 - ..10_u128 { - let felt: felt252 = i.into(); - let caller: starknet::ContractAddress = felt.try_into().unwrap(); - // Can desnap as copiable. - let model: Foo = *models[i.try_into().unwrap()]; - assert_eq!(model.caller, caller); - assert_eq!(model.a, felt); - assert_eq!(model.b, i); - }; + for i in 0_u128..10_u128 { + let felt: felt252 = i.into(); + let caller: starknet::ContractAddress = felt.try_into().unwrap(); + // Can desnap as copiable. + let model: Foo = *models[i.try_into().unwrap()]; + assert_eq!(model.caller, caller); + assert_eq!(model.a, felt); + assert_eq!(model.b, i); + }; world.erase_models(models_snaps.span()); @@ -85,20 +83,19 @@ fn write_multiple_not_copiable() { let mut models_snaps: Array<@NotCopiable> = array![]; let mut keys: Array = array![]; - for i in 0_u128 - ..10_u128 { - let felt: felt252 = i.into(); - let caller: starknet::ContractAddress = felt.try_into().unwrap(); - keys.append(caller); - - if i % 2 == 0 { - let foo = NotCopiable { caller, a: array![felt], b: "ab" }; - models_snaps.append(@foo); - } else { - let foo = NotCopiable { caller, a: array![felt], b: "ab" }; - models_snaps.append(@foo); - } - }; + for i in 0_u128..10_u128 { + let felt: felt252 = i.into(); + let caller: starknet::ContractAddress = felt.try_into().unwrap(); + keys.append(caller); + + if i % 2 == 0 { + let foo = NotCopiable { caller, a: array![felt], b: "ab" }; + models_snaps.append(@foo); + } else { + let foo = NotCopiable { caller, a: array![felt], b: "ab" }; + models_snaps.append(@foo); + } + }; world.write_models(models_snaps.span()); @@ -106,16 +103,15 @@ fn write_multiple_not_copiable() { assert_eq!(models.len(), 10); - for i in 0_u128 - ..10_u128 { - let felt: felt252 = i.into(); - let caller: starknet::ContractAddress = felt.try_into().unwrap(); - // Can desnap as copiable. - let model: NotCopiable = models.pop_front().unwrap(); - assert_eq!(model.caller, caller); - assert_eq!(model.a, array![felt]); - assert_eq!(model.b, "ab"); - }; + for i in 0_u128..10_u128 { + let felt: felt252 = i.into(); + let caller: starknet::ContractAddress = felt.try_into().unwrap(); + // Can desnap as copiable. + let model: NotCopiable = models.pop_front().unwrap(); + assert_eq!(model.caller, caller); + assert_eq!(model.a, array![felt]); + assert_eq!(model.b, "ab"); + }; world.erase_models(models_snaps.span()); diff --git a/crates/dojo/core-cairo-test/src/tests/world/world.cairo b/crates/dojo/core-cairo-test/src/tests/world/world.cairo index 47b6818a50..67a0b2e94b 100644 --- a/crates/dojo/core-cairo-test/src/tests/world/world.cairo +++ b/crates/dojo/core-cairo-test/src/tests/world/world.cairo @@ -3,14 +3,14 @@ use dojo::world::world::Event as WorldEvent; use dojo::utils::bytearray_hash; use dojo::world::{ IWorldDispatcher, IWorldDispatcherTrait, IUpgradeableWorldDispatcher, - IUpgradeableWorldDispatcherTrait, WorldStorageTrait + IUpgradeableWorldDispatcherTrait, WorldStorageTrait, }; use dojo::model::ModelStorage; use dojo::event::{Event, EventStorage}; use crate::tests::helpers::{ IbarDispatcherTrait, drop_all_events, deploy_world_and_bar, Foo, m_Foo, test_contract, - test_contract_with_dojo_init_args, SimpleEvent, e_SimpleEvent, deploy_world + test_contract_with_dojo_init_args, SimpleEvent, e_SimpleEvent, deploy_world, }; use crate::{spawn_test_world, ContractDefTrait, NamespaceDef, TestResource, WorldStorageTestTrait}; @@ -96,7 +96,7 @@ fn test_emit() { if let WorldEvent::EventEmitted(event) = event.unwrap() { assert( event.selector == Event::::selector(world.namespace_hash), - 'bad event selector' + 'bad event selector', ); assert(event.system_address == bob, 'bad system address'); assert(event.keys == [2].span(), 'bad keys'); @@ -154,7 +154,7 @@ fn test_upgradeable_world() { let world = world.dispatcher; let mut upgradeable_world_dispatcher = IUpgradeableWorldDispatcher { - contract_address: world.contract_address + contract_address: world.contract_address, }; upgradeable_world_dispatcher.upgrade(worldupgrade::TEST_CLASS_HASH.try_into().unwrap()); @@ -175,7 +175,7 @@ fn test_upgradeable_world_with_class_hash_zero() { starknet::testing::set_contract_address(admin); let mut upgradeable_world_dispatcher = IUpgradeableWorldDispatcher { - contract_address: world.contract_address + contract_address: world.contract_address, }; upgradeable_world_dispatcher.upgrade(0.try_into().unwrap()); } @@ -183,7 +183,7 @@ fn test_upgradeable_world_with_class_hash_zero() { #[test] #[available_gas(60000000)] #[should_panic( - expected: ("Caller `4919` cannot upgrade the resource `0` (not owner)", 'ENTRYPOINT_FAILED') + expected: ("Caller `4919` cannot upgrade the resource `0` (not owner)", 'ENTRYPOINT_FAILED'), )] fn test_upgradeable_world_from_non_owner() { // Deploy world contract @@ -195,7 +195,7 @@ fn test_upgradeable_world_from_non_owner() { starknet::testing::set_account_contract_address(not_owner); let mut upgradeable_world_dispatcher = IUpgradeableWorldDispatcher { - contract_address: world.contract_address + contract_address: world.contract_address, }; upgradeable_world_dispatcher.upgrade(worldupgrade::TEST_CLASS_HASH.try_into().unwrap()); } @@ -222,7 +222,7 @@ fn test_can_call_init_only_world() { "Only the world can init contract `test_contract`, but caller is `0`"; match starknet::syscalls::call_contract_syscall( - address, dojo::world::world::DOJO_INIT_SELECTOR, [].span() + address, dojo::world::world::DOJO_INIT_SELECTOR, [].span(), ) { Result::Ok(_) => panic!("should panic"), Result::Err(e) => { @@ -235,13 +235,13 @@ fn test_can_call_init_only_world() { let e_str: ByteArray = Serde::deserialize(ref s).expect('failed deser'); println!("e_str: {}", e_str); assert_eq!(e_str, expected_panic); - } + }, } } #[test] #[available_gas(6000000)] -#[should_panic(expected: ('CONTRACT_NOT_DEPLOYED', 'ENTRYPOINT_FAILED'))] +#[should_panic(expected: ('CONTRACT_NOT_DEPLOYED', 'ENTRYPOINT_FAILED', 'ENTRYPOINT_FAILED'))] fn test_can_call_init_only_owner() { let world = deploy_world(); let world = world.dispatcher; @@ -275,7 +275,7 @@ fn test_can_call_init_args() { let _address = world .register_contract( - 'salt1', "dojo", test_contract_with_dojo_init_args::TEST_CLASS_HASH.try_into().unwrap() + 'salt1', "dojo", test_contract_with_dojo_init_args::TEST_CLASS_HASH.try_into().unwrap(), ); world.init_contract(selector_from_tag!("dojo-test_contract_with_dojo_init_args"), [1].span()); @@ -288,14 +288,14 @@ fn test_can_call_init_only_world_args() { let address = world .register_contract( - 'salt1', "dojo", test_contract_with_dojo_init_args::TEST_CLASS_HASH.try_into().unwrap() + 'salt1', "dojo", test_contract_with_dojo_init_args::TEST_CLASS_HASH.try_into().unwrap(), ); let expected_panic: ByteArray = "Only the world can init contract `test_contract_with_dojo_init_args`, but caller is `0`"; match starknet::syscalls::call_contract_syscall( - address, dojo::world::world::DOJO_INIT_SELECTOR, [123].span() + address, dojo::world::world::DOJO_INIT_SELECTOR, [123].span(), ) { Result::Ok(_) => panic!("should panic"), Result::Err(e) => { @@ -308,6 +308,6 @@ fn test_can_call_init_only_world_args() { let e_str: ByteArray = Serde::deserialize(ref s).expect('failed deser'); assert_eq!(e_str, expected_panic); - } + }, } } diff --git a/crates/dojo/core-cairo-test/src/utils.cairo b/crates/dojo/core-cairo-test/src/utils.cairo index 051be84e2a..7222771e6b 100644 --- a/crates/dojo/core-cairo-test/src/utils.cairo +++ b/crates/dojo/core-cairo-test/src/utils.cairo @@ -49,7 +49,7 @@ pub fn assert_array(value: Span, expected: Span) { "Bad array value [{}] (expected: {} got: {})", i, *expected.at(i), - *value.at(i) + *value.at(i), ); i += 1; diff --git a/crates/dojo/core-cairo-test/src/world.cairo b/crates/dojo/core-cairo-test/src/world.cairo index 8e3910fc21..06ecd82c0e 100644 --- a/crates/dojo/core-cairo-test/src/world.cairo +++ b/crates/dojo/core-cairo-test/src/world.cairo @@ -55,12 +55,12 @@ pub struct NamespaceDef { #[generate_trait] pub impl ContractDefImpl of ContractDefTrait { - fn new(namespace: @ByteArray, name: @ByteArray,) -> ContractDef { + fn new(namespace: @ByteArray, name: @ByteArray) -> ContractDef { ContractDef { contract: ContractDescriptor::Named((namespace, name)), writer_of: [].span(), owner_of: [].span(), - init_calldata: [].span() + init_calldata: [].span(), } } @@ -69,14 +69,14 @@ pub impl ContractDefImpl of ContractDefTrait { contract: ContractDescriptor::Address(address), writer_of: [].span(), owner_of: [].span(), - init_calldata: [].span() + init_calldata: [].span(), } } fn with_init_calldata(mut self: ContractDef, init_calldata: Span) -> ContractDef { match self.contract { ContractDescriptor::Address(_) => panic!( - "Cannot set init_calldata for address descriptor" + "Cannot set init_calldata for address descriptor", ), ContractDescriptor::Named(_) => self.init_calldata = init_calldata, }; @@ -106,7 +106,7 @@ pub impl ContractDefImpl of ContractDefTrait { /// * address of contract deployed pub fn deploy_contract(class_hash: felt252, calldata: Span) -> ContractAddress { let (contract, _) = starknet::syscalls::deploy_syscall( - class_hash.try_into().unwrap(), 0, calldata, false + class_hash.try_into().unwrap(), 0, calldata, false, ) .unwrap(); contract @@ -145,7 +145,7 @@ pub fn spawn_test_world(namespaces_defs: Span) -> WorldStorage { world::TEST_CLASS_HASH.try_into().unwrap(), salt.into(), [world::TEST_CLASS_HASH].span(), - false + false, ) .unwrap(); @@ -161,21 +161,19 @@ pub fn spawn_test_world(namespaces_defs: Span) -> WorldStorage { first_namespace = Option::Some(namespace.clone()); } - for r in ns - .resources - .clone() { - match r { - TestResource::Event(ch) => { - world.register_event(namespace.clone(), (*ch).try_into().unwrap()); - }, - TestResource::Model(ch) => { - world.register_model(namespace.clone(), (*ch).try_into().unwrap()); - }, - TestResource::Contract(ch) => { - world.register_contract(*ch, namespace.clone(), (*ch).try_into().unwrap()); - } - } + for r in ns.resources.clone() { + match r { + TestResource::Event(ch) => { + world.register_event(namespace.clone(), (*ch).try_into().unwrap()); + }, + TestResource::Model(ch) => { + world.register_model(namespace.clone(), (*ch).try_into().unwrap()); + }, + TestResource::Contract(ch) => { + world.register_contract(*ch, namespace.clone(), (*ch).try_into().unwrap()); + }, } + } }; WorldStorageTrait::new(world, @first_namespace.unwrap()) @@ -189,7 +187,7 @@ pub impl WorldStorageInternalTestImpl of WorldStorageTestTrait { let contract_address = match c.contract { ContractDescriptor::Address(address) => *address, ContractDescriptor::Named(( - namespace, name + namespace, name, )) => { let selector = dojo::utils::selector_from_names(*namespace, *name); match (*self.dispatcher).resource(selector) { @@ -213,11 +211,11 @@ pub impl WorldStorageInternalTestImpl of WorldStorageTestTrait { match c.contract { ContractDescriptor::Address(_) => {}, ContractDescriptor::Named(( - namespace, name + namespace, name, )) => { let selector = dojo::utils::selector_from_names(*namespace, *name); (*self.dispatcher).init_contract(selector, *c.init_calldata); - } + }, } }; } diff --git a/crates/dojo/core/Scarb.lock b/crates/dojo/core/Scarb.lock index fd44540cbf..39a6f5d862 100644 --- a/crates/dojo/core/Scarb.lock +++ b/crates/dojo/core/Scarb.lock @@ -10,4 +10,4 @@ dependencies = [ [[package]] name = "dojo_plugin" -version = "2.8.4" +version = "2.9.2" diff --git a/crates/dojo/core/Scarb.toml b/crates/dojo/core/Scarb.toml index be77ca5308..eb9c3a386c 100644 --- a/crates/dojo/core/Scarb.toml +++ b/crates/dojo/core/Scarb.toml @@ -1,17 +1,17 @@ [package] -cairo-version = "=2.8.4" +cairo-version = "=2.9.2" edition = "2024_07" description = "The Dojo Core library for autonomous worlds." name = "dojo" version = "1.0.12" [dependencies] -starknet = "=2.8.4" +starknet = "=2.9.2" dojo_plugin = { path = "../lang" } #dojo_macros = { path = "../macros" } [dev-dependencies] -cairo_test = "=2.8.4" +cairo_test = "=2.9.2" [lib] diff --git a/crates/dojo/core/src/contract/components/upgradeable.cairo b/crates/dojo/core/src/contract/components/upgradeable.cairo index e08a718d7f..99afa8e24c 100644 --- a/crates/dojo/core/src/contract/components/upgradeable.cairo +++ b/crates/dojo/core/src/contract/components/upgradeable.cairo @@ -25,7 +25,7 @@ pub mod upgradeable_cpt { #[derive(Drop, starknet::Event)] pub struct Upgraded { - pub class_hash: ClassHash + pub class_hash: ClassHash, } pub mod Errors { @@ -37,16 +37,16 @@ pub mod upgradeable_cpt { #[embeddable_as(UpgradeableImpl)] impl Upgradeable< - TContractState, +HasComponent, +IWorldProvider + TContractState, +HasComponent, +IWorldProvider, > of super::IUpgradeable> { fn upgrade(ref self: ComponentState, new_class_hash: ClassHash) { assert( self.get_contract().world_dispatcher().contract_address.is_non_zero(), - Errors::INVALID_WORLD_ADDRESS + Errors::INVALID_WORLD_ADDRESS, ); assert( get_caller_address() == self.get_contract().world_dispatcher().contract_address, - Errors::INVALID_CALLER + Errors::INVALID_CALLER, ); assert(new_class_hash.is_non_zero(), Errors::INVALID_CLASS); diff --git a/crates/dojo/core/src/contract/components/world_provider.cairo b/crates/dojo/core/src/contract/components/world_provider.cairo index 934947d844..143f8e66ea 100644 --- a/crates/dojo/core/src/contract/components/world_provider.cairo +++ b/crates/dojo/core/src/contract/components/world_provider.cairo @@ -19,7 +19,7 @@ pub mod world_provider_cpt { #[embeddable_as(WorldProviderImpl)] pub impl WorldProvider< - TContractState, +HasComponent + TContractState, +HasComponent, > of super::IWorldProvider> { fn world_dispatcher(self: @ComponentState) -> IWorldDispatcher { self.world_dispatcher.read() @@ -28,7 +28,7 @@ pub mod world_provider_cpt { #[generate_trait] pub impl InternalImpl< - TContractState, +HasComponent + TContractState, +HasComponent, > of InternalTrait { fn initializer(ref self: ComponentState) { self diff --git a/crates/dojo/core/src/event/component.cairo b/crates/dojo/core/src/event/component.cairo index 14f0a934ca..10148a6cf2 100644 --- a/crates/dojo/core/src/event/component.cairo +++ b/crates/dojo/core/src/event/component.cairo @@ -3,7 +3,7 @@ use dojo::meta::{Layout, introspect::Struct}; #[starknet::embeddable] pub impl IDeployedEventImpl< - TContractState, E, +Event + TContractState, E, +Event, > of dojo::meta::interface::IDeployedResource { fn dojo_name(self: @TContractState) -> ByteArray { Event::::name() @@ -12,7 +12,7 @@ pub impl IDeployedEventImpl< #[starknet::embeddable] pub impl IStoredEventImpl< - TContractState, E, +Event + TContractState, E, +Event, > of dojo::meta::interface::IStoredResource { fn schema(self: @TContractState) -> Struct { Event::::schema() diff --git a/crates/dojo/core/src/event/event.cairo b/crates/dojo/core/src/event/event.cairo index 970c341429..4a3672a666 100644 --- a/crates/dojo/core/src/event/event.cairo +++ b/crates/dojo/core/src/event/event.cairo @@ -6,7 +6,7 @@ use dojo::model::model::ModelParser; pub struct EventDef { pub name: ByteArray, pub layout: Layout, - pub schema: Struct + pub schema: Struct, } pub trait EventDefinition { @@ -37,7 +37,7 @@ pub impl EventImpl, +EventDefinition, +Serde, +Introspe fn schema() -> Struct { match Introspect::::ty() { Ty::Struct(s) => s, - _ => panic!("Event: invalid schema.") + _ => panic!("Event: invalid schema."), } } fn serialized_keys(self: @E) -> Span { diff --git a/crates/dojo/core/src/lib.cairo b/crates/dojo/core/src/lib.cairo index c3e8068e56..67b2dc9290 100644 --- a/crates/dojo/core/src/lib.cairo +++ b/crates/dojo/core/src/lib.cairo @@ -25,7 +25,7 @@ pub mod meta { pub mod interface; pub use interface::{ IDeployedResource, IDeployedResourceDispatcher, IDeployedResourceDispatcherTrait, - IStoredResource, IStoredResourceDispatcher, IStoredResourceDispatcherTrait + IStoredResource, IStoredResourceDispatcher, IStoredResourceDispatcherTrait, }; pub mod introspect; @@ -54,7 +54,7 @@ pub mod model { pub use metadata::ResourceMetadata; pub mod storage; - pub use storage::{ModelStorage, ModelStorageTest, ModelValueStorage, ModelValueStorageTest,}; + pub use storage::{ModelStorage, ModelStorageTest, ModelValueStorage, ModelValueStorageTest}; } pub mod storage { @@ -94,7 +94,7 @@ pub mod world { mod iworld; pub use iworld::{ IWorld, IWorldDispatcher, IWorldDispatcherTrait, IUpgradeableWorld, - IUpgradeableWorldDispatcher, IUpgradeableWorldDispatcherTrait + IUpgradeableWorldDispatcher, IUpgradeableWorldDispatcherTrait, }; #[cfg(target: "test")] diff --git a/crates/dojo/core/src/meta/introspect.cairo b/crates/dojo/core/src/meta/introspect.cairo index 448ae94f21..6e6f8ee80e 100644 --- a/crates/dojo/core/src/meta/introspect.cairo +++ b/crates/dojo/core/src/meta/introspect.cairo @@ -18,21 +18,21 @@ pub enum Ty { pub struct Struct { pub name: felt252, pub attrs: Span, - pub children: Span + pub children: Span, } #[derive(Copy, Drop, Serde, Debug, PartialEq)] pub struct Enum { pub name: felt252, pub attrs: Span, - pub children: Span<(felt252, Ty)> + pub children: Span<(felt252, Ty)>, } #[derive(Copy, Drop, Serde, Debug, PartialEq)] pub struct Member { pub name: felt252, pub attrs: Span, - pub ty: Ty + pub ty: Ty, } #[generate_trait] @@ -267,20 +267,22 @@ pub impl Introspect_option> of Introspect> { Layout::Enum( [ dojo::meta::FieldLayout { // Some - selector: 0, layout: Introspect::::layout() }, + selector: 0, layout: Introspect::::layout() }, dojo::meta::FieldLayout { // None - selector: 1, layout: Layout::Fixed([].span()) }, - ].span() + selector: 1, layout: Layout::Fixed([].span()) }, + ] + .span(), ) } fn ty() -> Ty { Ty::Enum( Enum { - name: 'Option', attrs: [].span(), children: [ - ('Some(T)', Introspect::::ty()), ('None', Ty::Tuple([].span())) - ].span() - } + name: 'Option', + attrs: [].span(), + children: [('Some(T)', Introspect::::ty()), ('None', Ty::Tuple([].span()))] + .span(), + }, ) } } diff --git a/crates/dojo/core/src/meta/layout.cairo b/crates/dojo/core/src/meta/layout.cairo index ce82b527f0..660d066409 100644 --- a/crates/dojo/core/src/meta/layout.cairo +++ b/crates/dojo/core/src/meta/layout.cairo @@ -3,7 +3,7 @@ use dojo::storage::packing::calculate_packed_size; #[derive(Copy, Drop, Serde, Debug, PartialEq)] pub struct FieldLayout { pub selector: felt252, - pub layout: Layout + pub layout: Layout, } #[derive(Copy, Drop, Serde, Debug, PartialEq)] @@ -32,7 +32,7 @@ pub impl LayoutCompareImpl of LayoutCompareTrait { (Layout::Array(_), Layout::Array(_)) => true, (Layout::ByteArray, Layout::ByteArray) => true, (Layout::Enum(_), Layout::Enum(_)) => true, - _ => false + _ => false, } } } diff --git a/crates/dojo/core/src/model/component.cairo b/crates/dojo/core/src/model/component.cairo index 2a7cea2588..9a199dc4e7 100644 --- a/crates/dojo/core/src/model/component.cairo +++ b/crates/dojo/core/src/model/component.cairo @@ -3,7 +3,7 @@ use dojo::meta::{Layout, introspect::Struct}; #[starknet::embeddable] pub impl IDeployedModelImpl< - TContractState, M, +Model + TContractState, M, +Model, > of dojo::meta::IDeployedResource { fn dojo_name(self: @TContractState) -> ByteArray { Model::::name() @@ -12,7 +12,7 @@ pub impl IDeployedModelImpl< #[starknet::embeddable] pub impl IStoredModelImpl< - TContractState, M, +Model + TContractState, M, +Model, > of dojo::meta::IStoredResource { fn schema(self: @TContractState) -> Struct { Model::::schema() diff --git a/crates/dojo/core/src/model/definition.cairo b/crates/dojo/core/src/model/definition.cairo index 27c27eb066..e4c5598216 100644 --- a/crates/dojo/core/src/model/definition.cairo +++ b/crates/dojo/core/src/model/definition.cairo @@ -11,7 +11,7 @@ pub enum ModelIndex { Keys: Span, Id: felt252, // (entity_id, member_id) - MemberId: (felt252, felt252) + MemberId: (felt252, felt252), } /// The `ModelDefinition` trait. diff --git a/crates/dojo/core/src/model/metadata.cairo b/crates/dojo/core/src/model/metadata.cairo index acef47be19..14cbfe1110 100644 --- a/crates/dojo/core/src/model/metadata.cairo +++ b/crates/dojo/core/src/model/metadata.cairo @@ -9,7 +9,7 @@ pub struct ResourceMetadata { #[key] pub resource_id: felt252, pub metadata_uri: ByteArray, - pub metadata_hash: felt252 + pub metadata_hash: felt252, } pub fn default_address() -> starknet::ContractAddress { @@ -22,6 +22,6 @@ pub fn default_class_hash() -> starknet::ClassHash { pub fn resource_metadata_selector(default_namespace_hash: felt252) -> felt252 { utils::selector_from_namespace_and_name( - default_namespace_hash, @Model::::name() + default_namespace_hash, @Model::::name(), ) } diff --git a/crates/dojo/core/src/model/model.cairo b/crates/dojo/core/src/model/model.cairo index c88334ded4..5b5e20a72d 100644 --- a/crates/dojo/core/src/model/model.cairo +++ b/crates/dojo/core/src/model/model.cairo @@ -1,6 +1,6 @@ use dojo::{ meta::{Layout, introspect::Struct, layout::compute_packed_size}, - utils::{entity_id_from_serialized_keys, find_model_field_layout, entity_id_from_keys} + utils::{entity_id_from_serialized_keys, find_model_field_layout, entity_id_from_keys}, }; use super::{ModelDefinition, ModelDef}; @@ -131,7 +131,7 @@ pub impl ModelImpl, +ModelDefinition, +Serde> of Model< layout: Self::layout(), schema: Self::schema(), packed_size: Self::packed_size(), - unpacked_size: Self::unpacked_size() + unpacked_size: Self::unpacked_size(), } } diff --git a/crates/dojo/core/src/model/model_value.cairo b/crates/dojo/core/src/model/model_value.cairo index 8d4444f1ed..26ea71517c 100644 --- a/crates/dojo/core/src/model/model_value.cairo +++ b/crates/dojo/core/src/model/model_value.cairo @@ -1,4 +1,4 @@ -use dojo::{meta::{Layout}, model::{ModelDefinition},}; +use dojo::{meta::{Layout}, model::{ModelDefinition}}; pub trait ModelValueKey {} diff --git a/crates/dojo/core/src/model/storage.cairo b/crates/dojo/core/src/model/storage.cairo index 0109d4f70a..415146b457 100644 --- a/crates/dojo/core/src/model/storage.cairo +++ b/crates/dojo/core/src/model/storage.cairo @@ -40,7 +40,7 @@ pub trait ModelStorage { /// Retrieves a model of type `M` using the provided entity id. fn write_member, +Drop>( - ref self: S, ptr: ModelPtr, field_selector: felt252, value: T + ref self: S, ptr: ModelPtr, field_selector: felt252, value: T, ); /// Returns the current namespace hash. @@ -54,7 +54,7 @@ pub trait ModelValueStorage { /// Retrieves multiple model values of type `V` using the provided keys of type `K`. fn read_values, +Serde, +ModelValueKey>( - self: @S, keys: Span + self: @S, keys: Span, ) -> Array; /// Retrieves a model value of type `V` using the provided entity id. @@ -68,7 +68,7 @@ pub trait ModelValueStorage { /// Updates multiple model values of type `V`. fn write_values, +Serde, +ModelValueKey>( - ref self: S, keys: Span, values: Span<@V> + ref self: S, keys: Span, values: Span<@V>, ); /// Updates a model value of type `V`. @@ -102,11 +102,11 @@ pub trait ModelStorageTest { pub trait ModelValueStorageTest { /// Updates a model value of type `V`. fn write_value_test, +Serde, +ModelValueKey>( - ref self: S, keys: K, value: @V + ref self: S, keys: K, value: @V, ); /// Updates multiple model values of type `V`. fn write_values_test, +Serde, +ModelValueKey>( - ref self: S, keys: Span, values: Span<@V> + ref self: S, keys: Span, values: Span<@V>, ); /// Updates a model value of type `V`. fn write_value_from_id_test(ref self: S, entity_id: felt252, value: @V); diff --git a/crates/dojo/core/src/storage/database.cairo b/crates/dojo/core/src/storage/database.cairo index 461550dcb1..8a8f1d5a09 100644 --- a/crates/dojo/core/src/storage/database.cairo +++ b/crates/dojo/core/src/storage/database.cairo @@ -88,7 +88,7 @@ pub fn delete(table: felt252, key: felt252, layout: Span) { pub fn set_array(table: felt252, key: felt252, value: Span, offset: u32, array_size: u32) { let storage_key = get_storage_key(table, key); storage::set_packed_array( - storage::DEFAULT_ADDRESS_DOMAIN, storage_key, value, offset, array_size + storage::DEFAULT_ADDRESS_DOMAIN, storage_key, value, offset, array_size, ) .unwrap_syscall(); } diff --git a/crates/dojo/core/src/storage/entity_model.cairo b/crates/dojo/core/src/storage/entity_model.cairo index 7834e117fb..037a22855c 100644 --- a/crates/dojo/core/src/storage/entity_model.cairo +++ b/crates/dojo/core/src/storage/entity_model.cairo @@ -10,22 +10,22 @@ use dojo::meta::Layout; /// * `values` - the field values of the record /// * `layout` - the model layout pub fn write_model_entity( - model_selector: felt252, entity_id: felt252, values: Span, layout: Layout + model_selector: felt252, entity_id: felt252, values: Span, layout: Layout, ) { let mut offset = 0; match layout { Layout::Fixed(layout) => { super::layout::write_fixed_layout( - model_selector, entity_id, values, ref offset, layout + model_selector, entity_id, values, ref offset, layout, ); }, Layout::Struct(layout) => { super::layout::write_struct_layout( - model_selector, entity_id, values, ref offset, layout + model_selector, entity_id, values, ref offset, layout, ); }, - _ => { panic!("Unexpected layout type for a model."); } + _ => { panic!("Unexpected layout type for a model."); }, }; } @@ -43,7 +43,7 @@ pub fn delete_model_entity(model_selector: felt252, entity_id: felt252, layout: Layout::Struct(layout) => { super::layout::delete_struct_layout(model_selector, entity_id, layout); }, - _ => { panic!("Unexpected layout type for a model."); } + _ => { panic!("Unexpected layout type for a model."); }, }; } @@ -54,7 +54,7 @@ pub fn delete_model_entity(model_selector: felt252, entity_id: felt252, layout: /// * `entity_id` - the ID of the entity to read. /// * `layout` - the model layout pub fn read_model_entity( - model_selector: felt252, entity_id: felt252, layout: Layout + model_selector: felt252, entity_id: felt252, layout: Layout, ) -> Span { let mut read_data = ArrayTrait::::new(); @@ -65,7 +65,7 @@ pub fn read_model_entity( Layout::Struct(layout) => { super::layout::read_struct_layout(model_selector, entity_id, ref read_data, layout); }, - _ => { panic!("Unexpected layout type for a model."); } + _ => { panic!("Unexpected layout type for a model."); }, }; read_data.span() @@ -79,11 +79,11 @@ pub fn read_model_entity( /// * `member_id` - the selector of the model member to read. /// * `layout` - the model layout pub fn read_model_member( - model_selector: felt252, entity_id: felt252, member_id: felt252, layout: Layout + model_selector: felt252, entity_id: felt252, member_id: felt252, layout: Layout, ) -> Span { let mut read_data = ArrayTrait::::new(); super::layout::read_layout( - model_selector, dojo::utils::combine_key(entity_id, member_id), ref read_data, layout + model_selector, dojo::utils::combine_key(entity_id, member_id), ref read_data, layout, ); read_data.span() @@ -102,10 +102,10 @@ pub fn write_model_member( entity_id: felt252, member_id: felt252, values: Span, - layout: Layout + layout: Layout, ) { let mut offset = 0; super::layout::write_layout( - model_selector, dojo::utils::combine_key(entity_id, member_id), values, ref offset, layout + model_selector, dojo::utils::combine_key(entity_id, member_id), values, ref offset, layout, ) } diff --git a/crates/dojo/core/src/storage/layout.cairo b/crates/dojo/core/src/storage/layout.cairo index d29ca3235e..0107c3bdc6 100644 --- a/crates/dojo/core/src/storage/layout.cairo +++ b/crates/dojo/core/src/storage/layout.cairo @@ -24,7 +24,7 @@ pub fn write_layout( Layout::Array(layout) => { write_array_layout(model, key, values, ref offset, layout); }, Layout::Tuple(layout) => { write_tuple_layout(model, key, values, ref offset, layout); }, Layout::ByteArray => { write_byte_array_layout(model, key, values, ref offset); }, - Layout::Enum(layout) => { write_enum_layout(model, key, values, ref offset, layout); } + Layout::Enum(layout) => { write_enum_layout(model, key, values, ref offset, layout); }, } } @@ -37,7 +37,7 @@ pub fn write_layout( /// * `offset` - the start of model record values in the `values` parameter. /// * `layout` - the model record layout. pub fn write_fixed_layout( - model: felt252, key: felt252, values: Span, ref offset: u32, layout: Span + model: felt252, key: felt252, values: Span, ref offset: u32, layout: Span, ) { database::set(model, key, values, offset, layout); offset += layout.len(); @@ -52,7 +52,7 @@ pub fn write_fixed_layout( /// * `offset` - the start of model record values in the `values` parameter. /// * `item_layout` - the model record layout (temporary a Span because of type recursion issue). pub fn write_array_layout( - model: felt252, key: felt252, values: Span, ref offset: u32, item_layout: Span + model: felt252, key: felt252, values: Span, ref offset: u32, item_layout: Span, ) { assert((values.len() - offset) > 0, 'Invalid values length'); @@ -83,7 +83,7 @@ pub fn write_array_layout( /// pub fn write_byte_array_layout( - model: felt252, key: felt252, values: Span, ref offset: u32 + model: felt252, key: felt252, values: Span, ref offset: u32, ) { // The ByteArray internal structure is // struct ByteArray { @@ -99,7 +99,7 @@ pub fn write_byte_array_layout( let data_len = *values.at(offset); assert( data_len.into() <= (database::MAX_ARRAY_LENGTH - MIN_BYTE_ARRAY_SIZE.into()), - 'invalid array length' + 'invalid array length', ); let array_size: u32 = data_len.try_into().unwrap() + MIN_BYTE_ARRAY_SIZE.into(); @@ -118,7 +118,7 @@ pub fn write_byte_array_layout( /// * `offset` - the start of model record values in the `values` parameter. /// * `layout` - list of field layouts. pub fn write_struct_layout( - model: felt252, key: felt252, values: Span, ref offset: u32, layout: Span + model: felt252, key: felt252, values: Span, ref offset: u32, layout: Span, ) { let mut i = 0; loop { @@ -144,7 +144,7 @@ pub fn write_struct_layout( /// * `offset` - the start of model record values in the `values` parameter. /// * `layout` - list of tuple item layouts. pub fn write_tuple_layout( - model: felt252, key: felt252, values: Span, ref offset: u32, layout: Span + model: felt252, key: felt252, values: Span, ref offset: u32, layout: Span, ) { let mut i = 0; loop { @@ -166,7 +166,7 @@ pub fn write_enum_layout( key: felt252, values: Span, ref offset: u32, - variant_layouts: Span + variant_layouts: Span, ) { if let Option::Some(variant) = values.get(offset) { // TODO: when Cairo 2.8 support is added, unboxing should be implicit. @@ -183,9 +183,9 @@ pub fn write_enum_layout( match find_field_layout(variant, variant_layouts) { Option::Some(layout) => write_layout( - model, variant_data_key, values, ref offset, layout + model, variant_data_key, values, ref offset, layout, ), - Option::None => panic!("Unable to find the variant layout") + Option::None => panic!("Unable to find the variant layout"), }; } else { panic!("offset is out of bounds for enum layout variant"); @@ -226,7 +226,7 @@ pub fn delete_byte_array_layout(model: felt252, key: felt252) { database::delete( model, key, - [packing::PACKING_MAX_BITS, packing::PACKING_MAX_BITS, packing::PACKING_MAX_BITS].span() + [packing::PACKING_MAX_BITS, packing::PACKING_MAX_BITS, packing::PACKING_MAX_BITS].span(), ); } @@ -243,7 +243,7 @@ pub fn delete_layout(model: felt252, key: felt252, layout: Layout) { Layout::Array(_) => { delete_array_layout(model, key); }, Layout::Tuple(layout) => { delete_tuple_layout(model, key, layout); }, Layout::ByteArray => { delete_byte_array_layout(model, key); }, - Layout::Enum(layout) => { delete_enum_layout(model, key, layout); } + Layout::Enum(layout) => { delete_enum_layout(model, key, layout); }, } } @@ -307,7 +307,7 @@ pub fn delete_enum_layout(model: felt252, key: felt252, variant_layouts: Span delete_layout(model, variant_data_key, layout), - Option::None => panic!("Unable to find the variant layout") + Option::None => panic!("Unable to find the variant layout"), }; } @@ -337,7 +337,7 @@ pub fn read_layout(model: felt252, key: felt252, ref read_data: Array, /// * `read_data` - the read data. /// * `layout` - the model layout pub fn read_fixed_layout( - model: felt252, key: felt252, ref read_data: Array, layout: Span + model: felt252, key: felt252, ref read_data: Array, layout: Span, ) { let mut data = database::get(model, key, layout); read_data.append_span(data); @@ -351,7 +351,7 @@ pub fn read_fixed_layout( /// * `read_data` - the read data. /// * `layout` - the array item layout pub fn read_array_layout( - model: felt252, key: felt252, ref read_data: Array, layout: Span + model: felt252, key: felt252, ref read_data: Array, layout: Span, ) { // read number of array items let res = database::get(model, key, [packing::PACKING_MAX_BITS].span()); @@ -395,7 +395,7 @@ pub fn read_byte_array_layout(model: felt252, key: felt252, ref read_data: Array let data_len = *res.at(0); assert( data_len.into() <= (database::MAX_ARRAY_LENGTH - MIN_BYTE_ARRAY_SIZE.into()), - 'invalid array length' + 'invalid array length', ); let array_size: u32 = data_len.try_into().unwrap() + MIN_BYTE_ARRAY_SIZE; @@ -412,7 +412,7 @@ pub fn read_byte_array_layout(model: felt252, key: felt252, ref read_data: Array /// * `read_data` - the read data. /// * `layout` - the list of field layouts. pub fn read_struct_layout( - model: felt252, key: felt252, ref read_data: Array, layout: Span + model: felt252, key: felt252, ref read_data: Array, layout: Span, ) { let mut i = 0; loop { @@ -437,7 +437,7 @@ pub fn read_struct_layout( /// * `read_data` - the read data. /// * `layout` - the tuple item layouts pub fn read_tuple_layout( - model: felt252, key: felt252, ref read_data: Array, layout: Span + model: felt252, key: felt252, ref read_data: Array, layout: Span, ) { let mut i = 0; loop { @@ -454,7 +454,7 @@ pub fn read_tuple_layout( } pub fn read_enum_layout( - model: felt252, key: felt252, ref read_data: Array, variant_layouts: Span + model: felt252, key: felt252, ref read_data: Array, variant_layouts: Span, ) { // read the variant value first let res = database::get(model, key, [8].span()); @@ -470,6 +470,6 @@ pub fn read_enum_layout( match find_field_layout(variant, variant_layouts) { Option::Some(layout) => read_layout(model, variant_data_key, ref read_data, layout), - Option::None => panic!("Unable to find the variant layout") + Option::None => panic!("Unable to find the variant layout"), }; } diff --git a/crates/dojo/core/src/storage/packing.cairo b/crates/dojo/core/src/storage/packing.cairo index 5adbdb7682..a105ae6523 100644 --- a/crates/dojo/core/src/storage/packing.cairo +++ b/crates/dojo/core/src/storage/packing.cairo @@ -5,7 +5,7 @@ use core::traits::{Into, TryInto}; pub const PACKING_MAX_BITS: u8 = 251; pub fn pack( - ref packed: Array, ref unpacked: Span, offset: u32, ref layout: Span + ref packed: Array, ref unpacked: Span, offset: u32, ref layout: Span, ) { assert((unpacked.len() - offset) >= layout.len(), 'mismatched input lens'); let mut packing: felt252 = 0x0; @@ -15,10 +15,10 @@ pub fn pack( match layout.pop_front() { Option::Some(layout) => { pack_inner( - unpacked.at(index), *layout, ref packing, ref internal_offset, ref packed + unpacked.at(index), *layout, ref packing, ref internal_offset, ref packed, ); }, - Option::None(_) => { break; } + Option::None(_) => { break; }, }; index += 1; @@ -40,7 +40,7 @@ pub fn calculate_packed_size(ref layout: Span) -> usize { partial = item_size; } }, - Option::None(_) => { break; } + Option::None(_) => { break; }, }; }; @@ -59,10 +59,10 @@ pub fn unpack(ref unpacked: Array, ref packed: Span, ref layou // Layout value was successfully popped, // we are then expecting an unpacked value. core::panic_with_felt252('Unpack inner failed'); - } + }, } }, - Option::None(_) => { break; } + Option::None(_) => { break; }, }; } } @@ -73,7 +73,7 @@ pub fn pack_inner( size: u8, ref packing: felt252, ref packing_offset: u8, - ref packed: Array + ref packed: Array, ) { assert(packing_offset <= PACKING_MAX_BITS, 'Invalid packing offset'); assert(size <= PACKING_MAX_BITS, 'Invalid layout size'); @@ -105,7 +105,7 @@ pub fn pack_inner( } pub fn unpack_inner( - size: u8, ref packed: Span, ref unpacking: felt252, ref unpacking_offset: u8 + size: u8, ref packed: Span, ref unpacking: felt252, ref unpacking_offset: u8, ) -> Option { let remaining_bits: u8 = (PACKING_MAX_BITS - unpacking_offset).into(); @@ -167,162 +167,53 @@ pub fn pow2_const(n: u8) -> u256 { *POW_2.span().at(n.into()) } -pub const POW_2: [ - u256 - ; 256] = [ - 1, - 2, - 4, - 8, - 16, - 32, - 64, - 128, - 256, - 512, - 1024, - 2048, - 4096, - 8192, - 16384, - 32768, - 65536, - 131072, - 262144, - 524288, - 1048576, - 2097152, - 4194304, - 8388608, - 16777216, - 33554432, - 67108864, - 134217728, - 268435456, - 536870912, - 1073741824, - 2147483648, - 4294967296, - 8589934592, - 17179869184, - 34359738368, - 68719476736, - 137438953472, - 274877906944, - 549755813888, - 1099511627776, - 2199023255552, - 4398046511104, - 8796093022208, - 17592186044416, - 35184372088832, - 70368744177664, - 140737488355328, - 281474976710656, - 562949953421312, - 1125899906842624, - 2251799813685248, - 4503599627370496, - 9007199254740992, - 18014398509481984, - 36028797018963968, - 72057594037927936, - 144115188075855872, - 288230376151711744, - 576460752303423488, - 1152921504606846976, - 2305843009213693952, - 4611686018427387904, - 9223372036854775808, - 18446744073709551616, - 36893488147419103232, - 73786976294838206464, - 147573952589676412928, - 295147905179352825856, - 590295810358705651712, - 1180591620717411303424, - 2361183241434822606848, - 4722366482869645213696, - 9444732965739290427392, - 18889465931478580854784, - 37778931862957161709568, - 75557863725914323419136, - 151115727451828646838272, - 302231454903657293676544, - 604462909807314587353088, - 1208925819614629174706176, - 2417851639229258349412352, - 4835703278458516698824704, - 9671406556917033397649408, - 19342813113834066795298816, - 38685626227668133590597632, - 77371252455336267181195264, - 154742504910672534362390528, - 309485009821345068724781056, - 618970019642690137449562112, - 1237940039285380274899124224, - 2475880078570760549798248448, - 4951760157141521099596496896, - 9903520314283042199192993792, - 19807040628566084398385987584, - 39614081257132168796771975168, - 79228162514264337593543950336, - 158456325028528675187087900672, - 316912650057057350374175801344, - 633825300114114700748351602688, - 1267650600228229401496703205376, - 2535301200456458802993406410752, - 5070602400912917605986812821504, - 10141204801825835211973625643008, - 20282409603651670423947251286016, - 40564819207303340847894502572032, - 81129638414606681695789005144064, - 162259276829213363391578010288128, - 324518553658426726783156020576256, - 649037107316853453566312041152512, - 1298074214633706907132624082305024, - 2596148429267413814265248164610048, - 5192296858534827628530496329220096, - 10384593717069655257060992658440192, - 20769187434139310514121985316880384, - 41538374868278621028243970633760768, - 83076749736557242056487941267521536, - 166153499473114484112975882535043072, - 332306998946228968225951765070086144, - 664613997892457936451903530140172288, - 1329227995784915872903807060280344576, - 2658455991569831745807614120560689152, - 5316911983139663491615228241121378304, - 10633823966279326983230456482242756608, - 21267647932558653966460912964485513216, - 42535295865117307932921825928971026432, - 85070591730234615865843651857942052864, - 170141183460469231731687303715884105728, - 340282366920938463463374607431768211456, - 680564733841876926926749214863536422912, - 1361129467683753853853498429727072845824, - 2722258935367507707706996859454145691648, - 5444517870735015415413993718908291383296, - 10889035741470030830827987437816582766592, - 21778071482940061661655974875633165533184, - 43556142965880123323311949751266331066368, - 87112285931760246646623899502532662132736, - 174224571863520493293247799005065324265472, - 348449143727040986586495598010130648530944, - 696898287454081973172991196020261297061888, - 1393796574908163946345982392040522594123776, - 2787593149816327892691964784081045188247552, - 5575186299632655785383929568162090376495104, - 11150372599265311570767859136324180752990208, - 22300745198530623141535718272648361505980416, - 44601490397061246283071436545296723011960832, - 89202980794122492566142873090593446023921664, - 178405961588244985132285746181186892047843328, - 356811923176489970264571492362373784095686656, - 713623846352979940529142984724747568191373312, - 1427247692705959881058285969449495136382746624, - 2854495385411919762116571938898990272765493248, - 5708990770823839524233143877797980545530986496, +pub const POW_2: [u256; 256] = [ + 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, + 262144, 524288, 1048576, 2097152, 4194304, 8388608, 16777216, 33554432, 67108864, 134217728, + 268435456, 536870912, 1073741824, 2147483648, 4294967296, 8589934592, 17179869184, 34359738368, + 68719476736, 137438953472, 274877906944, 549755813888, 1099511627776, 2199023255552, + 4398046511104, 8796093022208, 17592186044416, 35184372088832, 70368744177664, 140737488355328, + 281474976710656, 562949953421312, 1125899906842624, 2251799813685248, 4503599627370496, + 9007199254740992, 18014398509481984, 36028797018963968, 72057594037927936, 144115188075855872, + 288230376151711744, 576460752303423488, 1152921504606846976, 2305843009213693952, + 4611686018427387904, 9223372036854775808, 18446744073709551616, 36893488147419103232, + 73786976294838206464, 147573952589676412928, 295147905179352825856, 590295810358705651712, + 1180591620717411303424, 2361183241434822606848, 4722366482869645213696, 9444732965739290427392, + 18889465931478580854784, 37778931862957161709568, 75557863725914323419136, + 151115727451828646838272, 302231454903657293676544, 604462909807314587353088, + 1208925819614629174706176, 2417851639229258349412352, 4835703278458516698824704, + 9671406556917033397649408, 19342813113834066795298816, 38685626227668133590597632, + 77371252455336267181195264, 154742504910672534362390528, 309485009821345068724781056, + 618970019642690137449562112, 1237940039285380274899124224, 2475880078570760549798248448, + 4951760157141521099596496896, 9903520314283042199192993792, 19807040628566084398385987584, + 39614081257132168796771975168, 79228162514264337593543950336, 158456325028528675187087900672, + 316912650057057350374175801344, 633825300114114700748351602688, 1267650600228229401496703205376, + 2535301200456458802993406410752, 5070602400912917605986812821504, + 10141204801825835211973625643008, 20282409603651670423947251286016, + 40564819207303340847894502572032, 81129638414606681695789005144064, + 162259276829213363391578010288128, 324518553658426726783156020576256, + 649037107316853453566312041152512, 1298074214633706907132624082305024, + 2596148429267413814265248164610048, 5192296858534827628530496329220096, + 10384593717069655257060992658440192, 20769187434139310514121985316880384, + 41538374868278621028243970633760768, 83076749736557242056487941267521536, + 166153499473114484112975882535043072, 332306998946228968225951765070086144, + 664613997892457936451903530140172288, 1329227995784915872903807060280344576, + 2658455991569831745807614120560689152, 5316911983139663491615228241121378304, + 10633823966279326983230456482242756608, 21267647932558653966460912964485513216, + 42535295865117307932921825928971026432, 85070591730234615865843651857942052864, + 170141183460469231731687303715884105728, 340282366920938463463374607431768211456, + 680564733841876926926749214863536422912, 1361129467683753853853498429727072845824, + 2722258935367507707706996859454145691648, 5444517870735015415413993718908291383296, + 10889035741470030830827987437816582766592, 21778071482940061661655974875633165533184, + 43556142965880123323311949751266331066368, 87112285931760246646623899502532662132736, + 174224571863520493293247799005065324265472, 348449143727040986586495598010130648530944, + 696898287454081973172991196020261297061888, 1393796574908163946345982392040522594123776, + 2787593149816327892691964784081045188247552, 5575186299632655785383929568162090376495104, + 11150372599265311570767859136324180752990208, 22300745198530623141535718272648361505980416, + 44601490397061246283071436545296723011960832, 89202980794122492566142873090593446023921664, + 178405961588244985132285746181186892047843328, 356811923176489970264571492362373784095686656, + 713623846352979940529142984724747568191373312, 1427247692705959881058285969449495136382746624, + 2854495385411919762116571938898990272765493248, 5708990770823839524233143877797980545530986496, 11417981541647679048466287755595961091061972992, 22835963083295358096932575511191922182123945984, 45671926166590716193865151022383844364247891968, diff --git a/crates/dojo/core/src/storage/storage.cairo b/crates/dojo/core/src/storage/storage.cairo index 4a89c5c2e2..67eef94a85 100644 --- a/crates/dojo/core/src/storage/storage.cairo +++ b/crates/dojo/core/src/storage/storage.cairo @@ -5,7 +5,7 @@ use core::traits::Into; use starknet::{SyscallResultTrait, SyscallResult}; use starknet::storage_access::{ StorageAddress, StorageBaseAddress, storage_base_address_from_felt252, - storage_address_from_base, storage_address_from_base_and_offset + storage_address_from_base, storage_address_from_base_and_offset, }; use starknet::syscalls::{storage_read_syscall, storage_write_syscall}; @@ -19,7 +19,7 @@ pub fn get(address_domain: u32, keys: Span) -> felt252 { } pub fn get_many( - address_domain: u32, keys: Span, mut layout: Span + address_domain: u32, keys: Span, mut layout: Span, ) -> SyscallResult> { let base = storage_base_address_from_felt252(poseidon_hash_span(keys)); let base_address = storage_address_from_base(base); @@ -36,7 +36,7 @@ pub fn get_many( let mut packed_span = loop { let value = match storage_read_syscall( - address_domain, storage_address_from_base_and_offset(chunk_base, index_in_chunk) + address_domain, storage_address_from_base_and_offset(chunk_base, index_in_chunk), ) { Result::Ok(value) => value, Result::Err(err) => { break SyscallResult::>::Err(err); }, @@ -51,7 +51,7 @@ pub fn get_many( } let (sum, has_overflowed) = core::num::traits::OverflowingAdd::overflowing_add( - index_in_chunk, 1 + index_in_chunk, 1, ); index_in_chunk = match has_overflowed { false => sum, @@ -82,7 +82,7 @@ pub fn set_many( keys: Span, mut unpacked: Span, offset: u32, - mut layout: Span + mut layout: Span, ) -> SyscallResult<()> { let base = storage_base_address_from_felt252(poseidon_hash_span(keys)); let base_address = storage_address_from_base(base); @@ -103,14 +103,14 @@ pub fn set_many( match storage_write_syscall( address_domain, storage_address_from_base_and_offset(chunk_base, index_in_chunk), - curr_value.into() + curr_value.into(), ) { Result::Ok(_) => {}, Result::Err(err) => { break Result::Err(err); }, }; let (sum, has_overflowed) = core::num::traits::OverflowingAdd::overflowing_add( - index_in_chunk, 1 + index_in_chunk, 1, ); index_in_chunk = match has_overflowed { false => sum, @@ -126,7 +126,7 @@ pub fn set_many( } pub fn set_packed_array( - address_domain: u32, keys: Span, mut data: Span, offset: u32, array_size: u32 + address_domain: u32, keys: Span, mut data: Span, offset: u32, array_size: u32, ) -> SyscallResult<()> { // write data+offset by chunk of 256 felts let base = storage_base_address_from_felt252(poseidon_hash_span(keys)); @@ -147,14 +147,14 @@ pub fn set_packed_array( match storage_write_syscall( address_domain, storage_address_from_base_and_offset(chunk_base, index_in_chunk), - curr_value.into() + curr_value.into(), ) { Result::Ok(_) => {}, Result::Err(err) => { break Result::Err(err); }, }; let (sum, has_overflowed) = core::num::traits::OverflowingAdd::overflowing_add( - index_in_chunk, 1 + index_in_chunk, 1, ); index_in_chunk = match has_overflowed { false => sum, @@ -172,7 +172,7 @@ pub fn set_packed_array( } pub fn get_packed_array( - address_domain: u32, keys: Span, array_size: u32 + address_domain: u32, keys: Span, array_size: u32, ) -> SyscallResult> { if array_size == 0 { return SyscallResult::>::Ok([].span()); @@ -190,7 +190,7 @@ pub fn get_packed_array( loop { let value = match storage_read_syscall( - address_domain, storage_address_from_base_and_offset(chunk_base, index_in_chunk) + address_domain, storage_address_from_base_and_offset(chunk_base, index_in_chunk), ) { Result::Ok(value) => value, Result::Err(err) => { break SyscallResult::>::Err(err); }, @@ -205,7 +205,7 @@ pub fn get_packed_array( } let (sum, has_overflowed) = core::num::traits::OverflowingAdd::overflowing_add( - index_in_chunk, 1 + index_in_chunk, 1, ); index_in_chunk = match has_overflowed { false => sum, diff --git a/crates/dojo/core/src/utils/layout.cairo b/crates/dojo/core/src/utils/layout.cairo index 3e09d47b93..b7826a5773 100644 --- a/crates/dojo/core/src/utils/layout.cairo +++ b/crates/dojo/core/src/utils/layout.cairo @@ -2,7 +2,7 @@ use dojo::meta::{Layout, FieldLayout}; /// find a field with its selector in a list of layouts pub fn find_field_layout( - field_selector: felt252, field_layouts: Span + field_selector: felt252, field_layouts: Span, ) -> Option { let mut i = 0; let layout = loop { @@ -37,6 +37,6 @@ pub fn find_model_field_layout(model_layout: Layout, member_selector: felt252) - // should never happen as model layouts are always struct layouts. core::panic_with_felt252('Unexpected model layout'); Option::None - } + }, } } diff --git a/crates/dojo/core/src/utils/misc.cairo b/crates/dojo/core/src/utils/misc.cairo index 177c7ee9a7..00620971dd 100644 --- a/crates/dojo/core/src/utils/misc.cairo +++ b/crates/dojo/core/src/utils/misc.cairo @@ -34,7 +34,7 @@ pub fn sum, +Copy, +AddAssign, +Zero>(arr: Array res += x, - Option::None => {} + Option::None => {}, } i += 1; diff --git a/crates/dojo/core/src/utils/serde.cairo b/crates/dojo/core/src/utils/serde.cairo index 5040ff226f..f19063b48a 100644 --- a/crates/dojo/core/src/utils/serde.cairo +++ b/crates/dojo/core/src/utils/serde.cairo @@ -7,6 +7,6 @@ pub fn serialize_inline>(value: @T) -> Span { pub fn deserialize_unwrap>(mut span: Span) -> T { match Serde::deserialize(ref span) { Option::Some(value) => value, - Option::None => core::panic_with_felt252('Could not deserialize') + Option::None => core::panic_with_felt252('Could not deserialize'), } } diff --git a/crates/dojo/core/src/utils/snf_test.cairo b/crates/dojo/core/src/utils/snf_test.cairo index 520e491c2e..4695aa6dbf 100644 --- a/crates/dojo/core/src/utils/snf_test.cairo +++ b/crates/dojo/core/src/utils/snf_test.cairo @@ -37,34 +37,23 @@ pub fn spawn_test_world(namespaces_defs: Span) -> IWorldDispatcher let namespace = ns.namespace.clone(); world.register_namespace(namespace.clone()); - for r in ns - .resources - .clone() { - match r { - TestResource::Event(name) => { - let ch: ClassHash = *declare(name.clone()) - .unwrap() - .contract_class() - .class_hash; - world.register_event(namespace.clone(), ch); - }, - TestResource::Model(name) => { - let ch: ClassHash = *declare(name.clone()) - .unwrap() - .contract_class() - .class_hash; - world.register_model(namespace.clone(), ch); - }, - TestResource::Contract(name) => { - let ch: ClassHash = *declare(name.clone()) - .unwrap() - .contract_class() - .class_hash; - let salt = dojo::utils::bytearray_hash(name); - world.register_contract(salt, namespace.clone(), ch); - }, - } + for r in ns.resources.clone() { + match r { + TestResource::Event(name) => { + let ch: ClassHash = *declare(name.clone()).unwrap().contract_class().class_hash; + world.register_event(namespace.clone(), ch); + }, + TestResource::Model(name) => { + let ch: ClassHash = *declare(name.clone()).unwrap().contract_class().class_hash; + world.register_model(namespace.clone(), ch); + }, + TestResource::Contract(name) => { + let ch: ClassHash = *declare(name.clone()).unwrap().contract_class().class_hash; + let salt = dojo::utils::bytearray_hash(name); + world.register_contract(salt, namespace.clone(), ch); + }, } + } }; world @@ -73,36 +62,36 @@ pub fn spawn_test_world(namespaces_defs: Span) -> IWorldDispatcher /// Extension trait for world dispatcher to test resources. pub trait WorldTestExt { fn resource_contract_address( - self: IWorldDispatcher, namespace: ByteArray, name: ByteArray + self: IWorldDispatcher, namespace: ByteArray, name: ByteArray, ) -> ContractAddress; fn resource_class_hash( - self: IWorldDispatcher, namespace: ByteArray, name: ByteArray + self: IWorldDispatcher, namespace: ByteArray, name: ByteArray, ) -> ClassHash; } impl WorldTestExtImpl of WorldTestExt { fn resource_contract_address( - self: IWorldDispatcher, namespace: ByteArray, name: ByteArray + self: IWorldDispatcher, namespace: ByteArray, name: ByteArray, ) -> ContractAddress { match self.resource(dojo::utils::selector_from_names(@namespace, @name)) { Resource::Contract((ca, _)) => ca, Resource::Event((ca, _)) => ca, Resource::Model((ca, _)) => ca, _ => panic_with_byte_array( - @format!("Resource is not registered: {}-{}", namespace, name) - ) + @format!("Resource is not registered: {}-{}", namespace, name), + ), } } fn resource_class_hash( - self: IWorldDispatcher, namespace: ByteArray, name: ByteArray + self: IWorldDispatcher, namespace: ByteArray, name: ByteArray, ) -> ClassHash { match self.resource(dojo::utils::selector_from_names(@namespace, @name)) { Resource::Contract((_, ch)) => ch.try_into().unwrap(), Resource::Event((_, ch)) => ch.try_into().unwrap(), Resource::Model((_, ch)) => ch.try_into().unwrap(), _ => panic_with_byte_array( - @format!("Resource is not registered: {}-{}", namespace, name) + @format!("Resource is not registered: {}-{}", namespace, name), ), } } diff --git a/crates/dojo/core/src/world/errors.cairo b/crates/dojo/core/src/world/errors.cairo index 2f8df1157d..a0cc3e4f0f 100644 --- a/crates/dojo/core/src/world/errors.cairo +++ b/crates/dojo/core/src/world/errors.cairo @@ -87,7 +87,7 @@ pub fn invalid_resource_layout_upgrade(namespace: @ByteArray, name: @ByteArray) } pub fn invalid_resource_version_upgrade( - namespace: @ByteArray, name: @ByteArray, expected_version: u8 + namespace: @ByteArray, name: @ByteArray, expected_version: u8, ) -> ByteArray { format!("The new resource version of `{}-{}` should be {}", namespace, name, expected_version) } diff --git a/crates/dojo/core/src/world/iworld.cairo b/crates/dojo/core/src/world/iworld.cairo index b11dfb67ec..82632d2e80 100644 --- a/crates/dojo/core/src/world/iworld.cairo +++ b/crates/dojo/core/src/world/iworld.cairo @@ -80,7 +80,7 @@ pub trait IWorld { /// * `namespace` - The namespace of the contract to be registered. /// * `class_hash` - The class hash of the contract. fn register_contract( - ref self: T, salt: felt252, namespace: ByteArray, class_hash: ClassHash + ref self: T, salt: felt252, namespace: ByteArray, class_hash: ClassHash, ) -> ContractAddress; /// Initializes a contract associated registered in the world. @@ -126,9 +126,7 @@ pub trait IWorld { /// * `event_selector` - The selector of the event. /// * `keys` - The keys of the event. /// * `values` - The data to be logged by the event. - fn emit_event( - ref self: T, event_selector: felt252, keys: Span, values: Span, - ); + fn emit_event(ref self: T, event_selector: felt252, keys: Span, values: Span); /// Emits multiple events. /// Permissions are only checked once, then the events are batched. @@ -158,7 +156,7 @@ pub trait IWorld { /// /// * `Span` - The serialized value of the model, zero initialized if not set. fn entity( - self: @T, model_selector: felt252, index: ModelIndex, layout: Layout + self: @T, model_selector: felt252, index: ModelIndex, layout: Layout, ) -> Span; /// Gets the model values for the given entities. @@ -169,7 +167,7 @@ pub trait IWorld { /// * `indices` - The indexes of the entities/members to read. /// * `layout` - The memory layout of the model. fn entities( - self: @T, model_selector: felt252, indexes: Span, layout: Layout + self: @T, model_selector: felt252, indexes: Span, layout: Layout, ) -> Span>; /// Sets the model value for the given entity/member. @@ -185,7 +183,7 @@ pub trait IWorld { model_selector: felt252, index: ModelIndex, values: Span, - layout: Layout + layout: Layout, ); /// Sets the model values for the given entities. @@ -202,7 +200,7 @@ pub trait IWorld { model_selector: felt252, indexes: Span, values: Span>, - layout: Layout + layout: Layout, ); /// Deletes a model value for the given entity/member. @@ -224,7 +222,7 @@ pub trait IWorld { /// * `indexes` - The indexes of the entities/members to delete. /// * `layout` - The memory layout of the model. fn delete_entities( - ref self: T, model_selector: felt252, indexes: Span, layout: Layout + ref self: T, model_selector: felt252, indexes: Span, layout: Layout, ); /// Returns true if the provided account has owner permission for the resource, false otherwise. @@ -299,7 +297,7 @@ pub trait IWorldTest { model_selector: felt252, index: ModelIndex, values: Span, - layout: Layout + layout: Layout, ); /// Deletes a model value for the given entity/member without checking for resource permissions. diff --git a/crates/dojo/core/src/world/resource.cairo b/crates/dojo/core/src/world/resource.cairo index f1db6e9ec3..7ae8061c90 100644 --- a/crates/dojo/core/src/world/resource.cairo +++ b/crates/dojo/core/src/world/resource.cairo @@ -47,7 +47,7 @@ pub impl ResourceIsNoneImpl of ResourceIsNoneTrait { fn is_unregistered(self: @Resource) -> bool { match self { Resource::Unregistered => true, - _ => false + _ => false, } } } diff --git a/crates/dojo/core/src/world/storage.cairo b/crates/dojo/core/src/world/storage.cairo index 6fdc9e9160..cc9f703a5f 100644 --- a/crates/dojo/core/src/world/storage.cairo +++ b/crates/dojo/core/src/world/storage.cairo @@ -7,7 +7,7 @@ use dojo::event::{Event, EventStorage}; use dojo::meta::Layout; use dojo::utils::{ entity_id_from_keys, entity_id_from_serialized_keys, serialize_inline, find_model_field_layout, - deserialize_unwrap + deserialize_unwrap, }; use starknet::{ContractAddress, ClassHash}; @@ -20,7 +20,7 @@ pub struct WorldStorage { fn field_layout_unwrap>(field_selector: felt252) -> Layout { match Model::::field_layout(field_selector) { Option::Some(layout) => layout, - Option::None => panic_with_felt252('bad member id') + Option::None => panic_with_felt252('bad member id'), } } @@ -39,12 +39,12 @@ pub impl WorldStorageInternalImpl of WorldStorageTrait { fn dns(self: @WorldStorage, contract_name: @ByteArray) -> Option<(ContractAddress, ClassHash)> { match (*self.dispatcher) .resource( - dojo::utils::selector_from_namespace_and_name(*self.namespace_hash, contract_name) + dojo::utils::selector_from_namespace_and_name(*self.namespace_hash, contract_name), ) { Resource::Contract(( - contract_address, class_hash + contract_address, class_hash, )) => Option::Some((contract_address, class_hash.try_into().unwrap())), - _ => Option::None + _ => Option::None, } } @@ -71,15 +71,15 @@ pub impl ModelStorageWorldStorageImpl, +Drop> of ModelStorage::selector(*self.namespace_hash), ModelIndex::Id(entity_id_from_serialized_keys(keys)), - Model::::layout() + Model::::layout(), ); match Model::::from_serialized(keys, values) { Option::Some(model) => model, Option::None => { panic!( - "Model: deserialization failed. Ensure the length of the keys tuple is matching the number of #[key] fields in the model struct." + "Model: deserialization failed. Ensure the length of the keys tuple is matching the number of #[key] fields in the model struct.", ) - } + }, } } @@ -96,7 +96,7 @@ pub impl ModelStorageWorldStorageImpl, +Drop> of ModelStorage::selector(*self.namespace_hash), indexes.span(), - Model::::layout() + Model::::layout(), ); let mut models: Array = array![]; @@ -107,9 +107,9 @@ pub impl ModelStorageWorldStorageImpl, +Drop> of ModelStorage models.append(model), Option::None => { panic!( - "Model: deserialization failed. Ensure the length of the keys tuple is matching the number of #[key] fields in the model struct." + "Model: deserialization failed. Ensure the length of the keys tuple is matching the number of #[key] fields in the model struct.", ) - } + }, }; i += 1; @@ -123,7 +123,7 @@ pub impl ModelStorageWorldStorageImpl, +Drop> of ModelStorage::selector(self.namespace_hash), ModelIndex::Keys(Model::::serialized_keys(model)), Model::::serialized_values(model), - Model::::layout() + Model::::layout(), ); } @@ -140,7 +140,7 @@ pub impl ModelStorageWorldStorageImpl, +Drop> of ModelStorage::selector(self.namespace_hash), keys.span(), values.span(), - Model::::layout() + Model::::layout(), ); } @@ -149,7 +149,7 @@ pub impl ModelStorageWorldStorageImpl, +Drop> of ModelStorage::selector(self.namespace_hash), ModelIndex::Id(Model::::entity_id(model)), - Model::::layout() + Model::::layout(), ); } @@ -163,7 +163,7 @@ pub impl ModelStorageWorldStorageImpl, +Drop> of ModelStorage::selector(self.namespace_hash), ids.span(), - Model::::layout() + Model::::layout(), ); } @@ -172,31 +172,31 @@ pub impl ModelStorageWorldStorageImpl, +Drop> of ModelStorage::selector(self.namespace_hash), ModelIndex::Id(ptr.id), - Model::::layout() + Model::::layout(), ); } fn read_member>( - self: @WorldStorage, ptr: ModelPtr, field_selector: felt252 + self: @WorldStorage, ptr: ModelPtr, field_selector: felt252, ) -> T { deserialize_unwrap( IWorldDispatcherTrait::entity( *self.dispatcher, Model::::selector(*self.namespace_hash), ModelIndex::MemberId((ptr.id, field_selector)), - field_layout_unwrap::(field_selector) - ) + field_layout_unwrap::(field_selector), + ), ) } fn write_member, +Drop>( - ref self: WorldStorage, ptr: ModelPtr, field_selector: felt252, value: T + ref self: WorldStorage, ptr: ModelPtr, field_selector: felt252, value: T, ) { IWorldDispatcherTrait::set_entity( self.dispatcher, Model::::selector(self.namespace_hash), ModelIndex::MemberId((ptr.id, field_selector)), serialize_inline(@value), - field_layout_unwrap::(field_selector) + field_layout_unwrap::(field_selector), ); } @@ -210,7 +210,7 @@ pub impl ModelStorageWorldStorageImpl, +Drop> of ModelStorage::selector(self.namespace_hash), indexes.span(), - Model::::layout() + Model::::layout(), ); } @@ -220,7 +220,7 @@ pub impl ModelStorageWorldStorageImpl, +Drop> of ModelStorage, +Drop + V, +ModelValue, +Drop, > of dojo::model::ModelValueStorage { fn read_value, +Serde, +ModelValueKey>(self: @WorldStorage, keys: K) -> V { Self::read_value_from_id(self, entity_id_from_keys(@keys)) @@ -231,20 +231,20 @@ impl ModelValueStorageWorldStorageImpl< *self.dispatcher, ModelValue::::selector(*self.namespace_hash), ModelIndex::Id(entity_id), - ModelValue::::layout() + ModelValue::::layout(), ); match ModelValue::::from_serialized(values) { Option::Some(entity) => entity, Option::None => { panic!( - "Value: deserialization failed. Ensure the length of the keys tuple is matching the number of #[key] fields in the model struct." + "Value: deserialization failed. Ensure the length of the keys tuple is matching the number of #[key] fields in the model struct.", ) - } + }, } } fn read_values, +Serde, +ModelValueKey>( - self: @WorldStorage, keys: Span + self: @WorldStorage, keys: Span, ) -> Array { let mut entity_ids: Array = array![]; for k in keys { @@ -264,23 +264,23 @@ impl ModelValueStorageWorldStorageImpl< *self.dispatcher, ModelValue::::selector(*self.namespace_hash), indexes.span(), - ModelValue::::layout() + ModelValue::::layout(), ) { let mut v = *v; match ModelValue::::from_serialized(v) { Option::Some(value) => values.append(value), Option::None => { panic!( - "Value: deserialization failed. Ensure the length of the keys tuple is matching the number of #[key] fields in the model struct." + "Value: deserialization failed. Ensure the length of the keys tuple is matching the number of #[key] fields in the model struct.", ) - } + }, } }; values } fn write_value, +Serde, +ModelValueKey>( - ref self: WorldStorage, keys: K, value: @V + ref self: WorldStorage, keys: K, value: @V, ) { IWorldDispatcherTrait::set_entity( self.dispatcher, @@ -288,12 +288,12 @@ impl ModelValueStorageWorldStorageImpl< // We need Id here to trigger the store update event. ModelIndex::Id(entity_id_from_serialized_keys(serialize_inline::(@keys))), ModelValue::::serialized_values(value), - ModelValue::::layout() + ModelValue::::layout(), ); } fn write_values, +Serde, +ModelValueKey>( - ref self: WorldStorage, keys: Span, values: Span<@V> + ref self: WorldStorage, keys: Span, values: Span<@V>, ) { let mut ids: Array = array![]; for k in keys { @@ -309,7 +309,7 @@ impl ModelValueStorageWorldStorageImpl< ModelValue::::selector(self.namespace_hash), ModelIndex::Id(entity_id), ModelValue::::serialized_values(value), - ModelValue::::layout() + ModelValue::::layout(), ); } @@ -334,18 +334,18 @@ impl ModelValueStorageWorldStorageImpl< ModelValue::::selector(self.namespace_hash), indexes.span(), all_values.span(), - ModelValue::::layout() + ModelValue::::layout(), ); } } #[cfg(target: "test")] pub impl EventStorageTestWorldStorageImpl< - E, +Event + E, +Event, > of dojo::event::EventStorageTest { fn emit_event_test(ref self: WorldStorage, event: @E) { let world_test = dojo::world::IWorldTestDispatcher { - contract_address: self.dispatcher.contract_address + contract_address: self.dispatcher.contract_address, }; dojo::world::IWorldTestDispatcherTrait::emit_event_test( world_test, @@ -360,18 +360,18 @@ pub impl EventStorageTestWorldStorageImpl< /// checks. #[cfg(target: "test")] pub impl ModelStorageTestWorldStorageImpl< - M, +Model, +Drop + M, +Model, +Drop, > of dojo::model::ModelStorageTest { fn write_model_test(ref self: WorldStorage, model: @M) { let world_test = dojo::world::IWorldTestDispatcher { - contract_address: self.dispatcher.contract_address + contract_address: self.dispatcher.contract_address, }; dojo::world::IWorldTestDispatcherTrait::set_entity_test( world_test, Model::::selector(self.namespace_hash), ModelIndex::Keys(Model::serialized_keys(model)), Model::::serialized_values(model), - Model::::layout() + Model::::layout(), ); } @@ -383,14 +383,14 @@ pub impl ModelStorageTestWorldStorageImpl< fn erase_model_test(ref self: WorldStorage, model: @M) { let world_test = dojo::world::IWorldTestDispatcher { - contract_address: self.dispatcher.contract_address + contract_address: self.dispatcher.contract_address, }; dojo::world::IWorldTestDispatcherTrait::delete_entity_test( world_test, Model::::selector(self.namespace_hash), ModelIndex::Keys(Model::serialized_keys(model)), - Model::::layout() + Model::::layout(), ); } @@ -402,20 +402,20 @@ pub impl ModelStorageTestWorldStorageImpl< fn erase_model_ptr_test(ref self: WorldStorage, ptr: ModelPtr) { let world_test = dojo::world::IWorldTestDispatcher { - contract_address: self.dispatcher.contract_address + contract_address: self.dispatcher.contract_address, }; dojo::world::IWorldTestDispatcherTrait::delete_entity_test( world_test, Model::::selector(self.namespace_hash), ModelIndex::Id(ptr.id), - Model::::layout() + Model::::layout(), ); } fn erase_models_ptrs_test(ref self: WorldStorage, ptrs: Span>) { let world_test = dojo::world::IWorldTestDispatcher { - contract_address: self.dispatcher.contract_address + contract_address: self.dispatcher.contract_address, }; for ptr in ptrs { @@ -423,7 +423,7 @@ pub impl ModelStorageTestWorldStorageImpl< world_test, Model::::selector(self.namespace_hash), ModelIndex::Id(*ptr.id), - Model::::layout() + Model::::layout(), ); } } @@ -433,16 +433,16 @@ pub impl ModelStorageTestWorldStorageImpl< /// checks. #[cfg(target: "test")] pub impl ModelValueStorageTestWorldStorageImpl< - V, +ModelValue + V, +ModelValue, > of dojo::model::ModelValueStorageTest { fn write_value_test, +Serde, +ModelValueKey>( - ref self: WorldStorage, keys: K, value: @V + ref self: WorldStorage, keys: K, value: @V, ) { Self::write_value_from_id_test(ref self, dojo::utils::entity_id_from_keys(@keys), value); } fn write_values_test, +Serde, +ModelValueKey>( - ref self: WorldStorage, keys: Span, values: Span<@V> + ref self: WorldStorage, keys: Span, values: Span<@V>, ) { let mut ids: Array = array![]; for k in keys { @@ -454,7 +454,7 @@ pub impl ModelValueStorageTestWorldStorageImpl< fn write_value_from_id_test(ref self: WorldStorage, entity_id: felt252, value: @V) { let world_test = dojo::world::IWorldTestDispatcher { - contract_address: self.dispatcher.contract_address + contract_address: self.dispatcher.contract_address, }; dojo::world::IWorldTestDispatcherTrait::set_entity_test( @@ -462,12 +462,12 @@ pub impl ModelValueStorageTestWorldStorageImpl< ModelValue::::selector(self.namespace_hash), ModelIndex::Id(entity_id), ModelValue::::serialized_values(value), - ModelValue::::layout() + ModelValue::::layout(), ); } fn write_values_from_ids_test( - ref self: WorldStorage, entity_ids: Span, values: Span<@V> + ref self: WorldStorage, entity_ids: Span, values: Span<@V>, ) { let mut i = 0; loop { @@ -497,7 +497,7 @@ fn update_serialized_member( world, model_id, ModelIndex::MemberId((entity_id, member_id)), values, field_layout, ) }, - Option::None => panic_with_felt252('bad member id') + Option::None => panic_with_felt252('bad member id'), } } @@ -512,10 +512,10 @@ fn get_serialized_member( match find_model_field_layout(layout, member_id) { Option::Some(field_layout) => { IWorldDispatcherTrait::entity( - world, model_id, ModelIndex::MemberId((entity_id, member_id)), field_layout + world, model_id, ModelIndex::MemberId((entity_id, member_id)), field_layout, ) }, - Option::None => panic_with_felt252('bad member id') + Option::None => panic_with_felt252('bad member id'), } } diff --git a/crates/dojo/core/src/world/world_contract.cairo b/crates/dojo/core/src/world/world_contract.cairo index ea1a10e1ea..f3654b37e3 100644 --- a/crates/dojo/core/src/world/world_contract.cairo +++ b/crates/dojo/core/src/world/world_contract.cairo @@ -32,22 +32,22 @@ pub mod world { }; pub use starknet::storage::{ StorageMapReadAccess, StorageMapWriteAccess, StoragePointerReadAccess, - StoragePointerWriteAccess + StoragePointerWriteAccess, }; use dojo::world::errors; use dojo::contract::components::upgradeable::{ - IUpgradeableDispatcher, IUpgradeableDispatcherTrait + IUpgradeableDispatcher, IUpgradeableDispatcherTrait, }; use dojo::meta::{ Layout, IStoredResourceDispatcher, IStoredResourceDispatcherTrait, IDeployedResourceDispatcher, IDeployedResourceDispatcherTrait, LayoutCompareTrait, - StructCompareTrait + StructCompareTrait, }; use dojo::model::{Model, ResourceMetadata, metadata, ModelIndex}; use dojo::storage; use dojo::utils::{ - entity_id_from_serialized_keys, bytearray_hash, selector_from_namespace_and_name + entity_id_from_serialized_keys, bytearray_hash, selector_from_namespace_and_name, }; use dojo::world::{IWorld, IUpgradeableWorld, Resource, ResourceIsNoneTrait}; use super::Permission; @@ -112,14 +112,14 @@ pub mod world { #[key] pub resource: felt252, pub uri: ByteArray, - pub hash: felt252 + pub hash: felt252, } #[derive(Drop, starknet::Event)] pub struct NamespaceRegistered { #[key] pub namespace: ByteArray, - pub hash: felt252 + pub hash: felt252, } #[derive(Drop, starknet::Event)] @@ -204,7 +204,7 @@ pub mod world { pub resource: felt252, #[key] pub contract: ContractAddress, - pub value: bool + pub value: bool, } #[derive(Drop, starknet::Event)] @@ -272,8 +272,8 @@ pub mod world { .write( metadata::resource_metadata_selector(internal_ns_hash), Resource::Model( - (metadata::default_address(), metadata::default_class_hash().into()) - ) + (metadata::default_address(), metadata::default_class_hash().into()), + ), ); self.emit(WorldSpawned { creator, class_hash: world_class_hash }); @@ -287,13 +287,13 @@ pub mod world { model_selector: felt252, index: ModelIndex, values: Span, - layout: Layout + layout: Layout, ) { self.set_entity_internal(model_selector, index, values, layout); } fn delete_entity_test( - ref self: ContractState, model_selector: felt252, index: ModelIndex, layout: Layout + ref self: ContractState, model_selector: felt252, index: ModelIndex, layout: Layout, ) { self.delete_entity_internal(model_selector, index, layout); } @@ -307,19 +307,22 @@ pub mod world { self .emit( EventEmitted { - selector: event_selector, system_address: get_caller_address(), keys, values - } + selector: event_selector, + system_address: get_caller_address(), + keys, + values, + }, ); } fn dojo_contract_address( - self: @ContractState, contract_selector: felt252 + self: @ContractState, contract_selector: felt252, ) -> ContractAddress { match self.resources.read(contract_selector) { Resource::Contract((a, _)) => a, _ => core::panics::panic_with_byte_array( - @format!("Contract not registered: {}", contract_selector) - ) + @format!("Contract not registered: {}", contract_selector), + ), } } } @@ -332,14 +335,14 @@ pub mod world { let mut values = storage::entity_model::read_model_entity( metadata::resource_metadata_selector(internal_ns_hash), entity_id_from_serialized_keys([resource_selector].span()), - Model::::layout() + Model::::layout(), ); let mut keys = [resource_selector].span(); match Model::::from_serialized(keys, values) { Option::Some(x) => x, - Option::None => panic!("Model `ResourceMetadata`: deserialization failed.") + Option::None => panic!("Model `ResourceMetadata`: deserialization failed."), } } @@ -352,7 +355,7 @@ pub mod world { metadata::resource_metadata_selector(internal_ns_hash), entity_id_from_serialized_keys([metadata.resource_id].span()), metadata.serialized_values(), - Model::::layout() + Model::::layout(), ); self @@ -360,8 +363,8 @@ pub mod world { MetadataUpdate { resource: metadata.resource_id, uri: metadata.metadata_uri, - hash: metadata.metadata_hash - } + hash: metadata.metadata_hash, + }, ); } @@ -462,8 +465,8 @@ pub mod world { name: event_name.clone(), namespace: namespace.clone(), address: contract_address, - class_hash - } + class_hash, + }, ); } @@ -497,17 +500,19 @@ pub mod world { Resource::Event((model_address, _)) => { prev_address = model_address; }, Resource::Unregistered => { panic_with_byte_array( - @errors::resource_not_registered_details(@namespace, @event_name) + @errors::resource_not_registered_details(@namespace, @event_name), ) }, _ => panic_with_byte_array( - @errors::resource_conflict(@format!("{}-{}", @namespace, @event_name), @"event") - ) + @errors::resource_conflict( + @format!("{}-{}", @namespace, @event_name), @"event", + ), + ), }; self .assert_resource_upgradability( - @namespace, @event_name, prev_address, new_contract_address + @namespace, @event_name, prev_address, new_contract_address, ); self @@ -521,7 +526,7 @@ pub mod world { prev_address, address: new_contract_address, class_hash, - } + }, ); } @@ -566,8 +571,8 @@ pub mod world { name: model_name.clone(), namespace: namespace.clone(), address: contract_address, - class_hash - } + class_hash, + }, ); } @@ -601,17 +606,19 @@ pub mod world { Resource::Model((model_address, _)) => { prev_address = model_address; }, Resource::Unregistered => { panic_with_byte_array( - @errors::resource_not_registered_details(@namespace, @model_name) + @errors::resource_not_registered_details(@namespace, @model_name), ) }, _ => panic_with_byte_array( - @errors::resource_conflict(@format!("{}-{}", @namespace, @model_name), @"model") - ) + @errors::resource_conflict( + @format!("{}-{}", @namespace, @model_name), @"model", + ), + ), }; self .assert_resource_upgradability( - @namespace, @model_name, prev_address, new_contract_address + @namespace, @model_name, prev_address, new_contract_address, ); self @@ -625,7 +632,7 @@ pub mod world { prev_address, address: new_contract_address, class_hash, - } + }, ); } @@ -638,7 +645,7 @@ pub mod world { match self.resources.read(hash) { Resource::Namespace => panic_with_byte_array( - @errors::namespace_already_registered(@namespace) + @errors::namespace_already_registered(@namespace), ), Resource::Unregistered => { self.resources.write(hash, Resource::Namespace(namespace.clone())); @@ -648,7 +655,7 @@ pub mod world { }, _ => { panic_with_byte_array(@errors::resource_conflict(@namespace, @"namespace")); - } + }, }; } @@ -665,7 +672,7 @@ pub mod world { let contract = IDeployedResourceDispatcher { contract_address }; let contract_name = contract.dojo_name(); let contract_selector = selector_from_namespace_and_name( - namespace_hash, @contract_name + namespace_hash, @contract_name, ); self.assert_name(@contract_name); @@ -673,7 +680,7 @@ pub mod world { let maybe_existing_contract = self.resources.read(contract_selector); if !maybe_existing_contract.is_unregistered() { panic_with_byte_array( - @errors::contract_already_registered(@namespace, @contract_name) + @errors::contract_already_registered(@namespace, @contract_name), ); } @@ -692,14 +699,14 @@ pub mod world { .emit( ContractRegistered { salt, class_hash, address: contract_address, namespace, name: contract_name, - } + }, ); contract_address } fn upgrade_contract( - ref self: ContractState, namespace: ByteArray, class_hash: ClassHash + ref self: ContractState, namespace: ByteArray, class_hash: ClassHash, ) -> ClassHash { // Only contracts use an external salt during registration. To ensure the // upgrade can also be done into a multicall, we combine the transaction hash @@ -709,7 +716,8 @@ pub mod world { [ starknet::get_tx_info().unbox().transaction_hash, dojo::utils::bytearray_hash(@namespace), - ].span() + ] + .span(), ); let (new_contract_address, _) = deploy_syscall(class_hash, salt, [].span(), false) @@ -720,14 +728,14 @@ pub mod world { let contract = IDeployedResourceDispatcher { contract_address: new_contract_address }; let contract_name = contract.dojo_name(); let contract_selector = selector_from_namespace_and_name( - namespace_hash, @contract_name + namespace_hash, @contract_name, ); // If namespace and name are the same, the contract is already registered and we // can upgrade it. match self.resources.read(contract_selector) { Resource::Contract(( - contract_address, _ + contract_address, _, )) => { self.assert_caller_permissions(contract_selector, Permission::Owner); @@ -738,14 +746,14 @@ pub mod world { }, Resource::Unregistered => { panic_with_byte_array( - @errors::resource_not_registered_details(@namespace, @contract_name) + @errors::resource_not_registered_details(@namespace, @contract_name), ) }, _ => panic_with_byte_array( @errors::resource_conflict( - @format!("{}-{}", @namespace, @contract_name), @"contract" - ) - ) + @format!("{}-{}", @namespace, @contract_name), @"contract", + ), + ), } } @@ -754,7 +762,7 @@ pub mod world { if self.initialized_contracts.read(selector) { let dispatcher = IDeployedResourceDispatcher { contract_address }; panic_with_byte_array( - @errors::contract_already_initialized(@dispatcher.dojo_name()) + @errors::contract_already_initialized(@dispatcher.dojo_name()), ); } else { self.assert_caller_permissions(selector, Permission::Owner); @@ -765,7 +773,7 @@ pub mod world { // starknet::syscalls::call_contract_syscall( - contract_address, DOJO_INIT_SELECTOR, init_calldata + contract_address, DOJO_INIT_SELECTOR, init_calldata, ) .unwrap_syscall(); @@ -775,7 +783,7 @@ pub mod world { } } else { panic_with_byte_array( - @errors::resource_conflict(@format!("{selector}"), @"contract") + @errors::resource_conflict(@format!("{selector}"), @"contract"), ); } } @@ -802,11 +810,11 @@ pub mod world { system_address: get_caller_address(), keys, values, - } + }, ); } else { panic_with_byte_array( - @errors::resource_conflict(@format!("{event_selector}"), @"event") + @errors::resource_conflict(@format!("{event_selector}"), @"event"), ); } } @@ -822,7 +830,7 @@ pub mod world { if keys.len() != values.len() { panic_with_byte_array( - @errors::lengths_mismatch(@"keys", @"values", @"emit_events") + @errors::lengths_mismatch(@"keys", @"values", @"emit_events"), ); } @@ -839,26 +847,29 @@ pub mod world { system_address: get_caller_address(), keys: *keys[i], values: *values[i], - } + }, ); i += 1; } } else { panic_with_byte_array( - @errors::resource_conflict(@format!("{event_selector}"), @"event") + @errors::resource_conflict(@format!("{event_selector}"), @"event"), ); } } fn entity( - self: @ContractState, model_selector: felt252, index: ModelIndex, layout: Layout + self: @ContractState, model_selector: felt252, index: ModelIndex, layout: Layout, ) -> Span { self.get_entity_internal(model_selector, index, layout) } fn entities( - self: @ContractState, model_selector: felt252, indexes: Span, layout: Layout + self: @ContractState, + model_selector: felt252, + indexes: Span, + layout: Layout, ) -> Span> { let mut models: Array> = array![]; @@ -874,14 +885,14 @@ pub mod world { model_selector: felt252, index: ModelIndex, values: Span, - layout: Layout + layout: Layout, ) { if let Resource::Model((_, _)) = self.resources.read(model_selector) { self.assert_caller_permissions(model_selector, Permission::Writer); self.set_entity_internal(model_selector, index, values, layout); } else { panic_with_byte_array( - @errors::resource_conflict(@format!("{model_selector}"), @"model") + @errors::resource_conflict(@format!("{model_selector}"), @"model"), ); } } @@ -891,11 +902,11 @@ pub mod world { model_selector: felt252, indexes: Span, values: Span>, - layout: Layout + layout: Layout, ) { if indexes.len() != values.len() { panic_with_byte_array( - @errors::lengths_mismatch(@"indexes", @"values", @"set_entities") + @errors::lengths_mismatch(@"indexes", @"values", @"set_entities"), ); } @@ -914,20 +925,20 @@ pub mod world { }; } else { panic_with_byte_array( - @errors::resource_conflict(@format!("{model_selector}"), @"model") + @errors::resource_conflict(@format!("{model_selector}"), @"model"), ); } } fn delete_entity( - ref self: ContractState, model_selector: felt252, index: ModelIndex, layout: Layout + ref self: ContractState, model_selector: felt252, index: ModelIndex, layout: Layout, ) { if let Resource::Model((_, _)) = self.resources.read(model_selector) { self.assert_caller_permissions(model_selector, Permission::Writer); self.delete_entity_internal(model_selector, index, layout); } else { panic_with_byte_array( - @errors::resource_conflict(@format!("{model_selector}"), @"model") + @errors::resource_conflict(@format!("{model_selector}"), @"model"), ); } } @@ -936,7 +947,7 @@ pub mod world { ref self: ContractState, model_selector: felt252, indexes: Span, - layout: Layout + layout: Layout, ) { if let Resource::Model((_, _)) = self.resources.read(model_selector) { self.assert_caller_permissions(model_selector, Permission::Writer); @@ -946,7 +957,7 @@ pub mod world { } } else { panic_with_byte_array( - @errors::resource_conflict(@format!("{model_selector}"), @"model") + @errors::resource_conflict(@format!("{model_selector}"), @"model"), ); } } @@ -1000,7 +1011,7 @@ pub mod world { /// * `resource_selector` - the selector of the resource. /// * `permission` - the required permission. fn assert_caller_permissions( - self: @ContractState, resource_selector: felt252, permission: Permission + self: @ContractState, resource_selector: felt252, permission: Permission, ) { let caller = get_caller_address(); @@ -1027,7 +1038,7 @@ pub mod world { Resource::Unregistered => { panic_with_byte_array(@errors::resource_not_registered(resource_selector)) }, - _ => self.panic_with_details(caller, resource_selector, permission) + _ => self.panic_with_details(caller, resource_selector, permission), }; if permission == Permission::Writer { @@ -1075,7 +1086,7 @@ pub mod world { namespace: @ByteArray, name: @ByteArray, prev_address: ContractAddress, - new_address: ContractAddress + new_address: ContractAddress, ) { let resource = IStoredResourceDispatcher { contract_address: prev_address }; let old_layout = resource.layout(); @@ -1104,30 +1115,30 @@ pub mod world { self: @ContractState, caller: ContractAddress, resource_selector: felt252, - permission: Permission + permission: Permission, ) -> core::never { let resource_name = match self.resources.read(resource_selector) { Resource::Contract(( - contract_address, _ + contract_address, _, )) => { let d = IDeployedResourceDispatcher { contract_address }; format!("contract (or its namespace) `{}`", d.dojo_name()) }, Resource::Event(( - contract_address, _ + contract_address, _, )) => { let d = IDeployedResourceDispatcher { contract_address }; format!("event (or its namespace) `{}`", d.dojo_name()) }, Resource::Model(( - contract_address, _ + contract_address, _, )) => { let d = IDeployedResourceDispatcher { contract_address }; format!("model (or its namespace) `{}`", d.dojo_name()) }, Resource::Namespace(ns) => { format!("namespace `{}`", ns) }, Resource::World => { format!("world") }, - Resource::Unregistered => { panic!("Unreachable") } + Resource::Unregistered => { panic!("Unreachable") }, }; let caller_name = if caller == get_tx_info().account_contract_address { @@ -1146,7 +1157,7 @@ pub mod world { }; panic_with_byte_array( - @format!("{} does NOT have {} role on {}", caller_name, permission, resource_name) + @format!("{} does NOT have {} role on {}", caller_name, permission, resource_name), ) } @@ -1158,7 +1169,7 @@ pub mod world { fn is_namespace_registered(self: @ContractState, namespace_hash: felt252) -> bool { match self.resources.read(namespace_hash) { Resource::Namespace => true, - _ => false + _ => false, } } @@ -1175,35 +1186,35 @@ pub mod world { model_selector: felt252, index: ModelIndex, values: Span, - layout: Layout + layout: Layout, ) { match index { ModelIndex::Keys(keys) => { let entity_id = entity_id_from_serialized_keys(keys); storage::entity_model::write_model_entity( - model_selector, entity_id, values, layout + model_selector, entity_id, values, layout, ); self.emit(StoreSetRecord { selector: model_selector, keys, values, entity_id }); }, ModelIndex::Id(entity_id) => { storage::entity_model::write_model_entity( - model_selector, entity_id, values, layout + model_selector, entity_id, values, layout, ); self.emit(StoreUpdateRecord { selector: model_selector, entity_id, values }); }, ModelIndex::MemberId(( - entity_id, member_selector + entity_id, member_selector, )) => { storage::entity_model::write_model_member( - model_selector, entity_id, member_selector, values, layout + model_selector, entity_id, member_selector, values, layout, ); self .emit( StoreUpdateMember { - selector: model_selector, entity_id, member_selector, values - } + selector: model_selector, entity_id, member_selector, values, + }, ); - } + }, } } @@ -1215,7 +1226,7 @@ pub mod world { /// * `index` - The index of the record/entity to delete. /// * `layout` - The memory layout of the model. fn delete_entity_internal( - ref self: ContractState, model_selector: felt252, index: ModelIndex, layout: Layout + ref self: ContractState, model_selector: felt252, index: ModelIndex, layout: Layout, ) { match index { ModelIndex::Keys(keys) => { @@ -1227,7 +1238,7 @@ pub mod world { storage::entity_model::delete_model_entity(model_selector, entity_id, layout); self.emit(StoreDelRecord { selector: model_selector, entity_id }); }, - ModelIndex::MemberId(_) => { panic_with_felt252(errors::DELETE_ENTITY_MEMBER); } + ModelIndex::MemberId(_) => { panic_with_felt252(errors::DELETE_ENTITY_MEMBER); }, } } @@ -1239,7 +1250,7 @@ pub mod world { /// * `index` - The entity/member to read for the given model. /// * `layout` - The memory layout of the model. fn get_entity_internal( - self: @ContractState, model_selector: felt252, index: ModelIndex, layout: Layout + self: @ContractState, model_selector: felt252, index: ModelIndex, layout: Layout, ) -> Span { match index { ModelIndex::Keys(keys) => { @@ -1250,12 +1261,12 @@ pub mod world { storage::entity_model::read_model_entity(model_selector, entity_id, layout) }, ModelIndex::MemberId(( - entity_id, member_id + entity_id, member_id, )) => { storage::entity_model::read_model_member( - model_selector, entity_id, member_id, layout + model_selector, entity_id, member_id, layout, ) - } + }, } } diff --git a/crates/dojo/lang/Scarb.lock b/crates/dojo/lang/Scarb.lock index 2f26886db2..26d59f4266 100644 --- a/crates/dojo/lang/Scarb.lock +++ b/crates/dojo/lang/Scarb.lock @@ -3,4 +3,4 @@ version = 1 [[package]] name = "dojo_plugin" -version = "2.8.4" +version = "2.9.2" diff --git a/crates/dojo/lang/Scarb.toml b/crates/dojo/lang/Scarb.toml index 6371a4614c..fd5f16eab8 100644 --- a/crates/dojo/lang/Scarb.toml +++ b/crates/dojo/lang/Scarb.toml @@ -1,6 +1,6 @@ [package] name = "dojo_plugin" -version = "2.8.4" +version = "2.9.2" [cairo-plugin] builtin = true diff --git a/crates/dojo/lang/src/attribute_macros/contract.rs b/crates/dojo/lang/src/attribute_macros/contract.rs index 2f9c94c9b7..9338bafe91 100644 --- a/crates/dojo/lang/src/attribute_macros/contract.rs +++ b/crates/dojo/lang/src/attribute_macros/contract.rs @@ -152,6 +152,7 @@ impl DojoContract { systems: contract.systems.clone(), })), code_mappings, + diagnostics_note: None, }), diagnostics: contract.diagnostics, remove_original_item: true, diff --git a/crates/dojo/lang/src/attribute_macros/event.rs b/crates/dojo/lang/src/attribute_macros/event.rs index 1f7762be44..c533c2eb98 100644 --- a/crates/dojo/lang/src/attribute_macros/event.rs +++ b/crates/dojo/lang/src/attribute_macros/event.rs @@ -158,6 +158,7 @@ impl DojoEvent { content: code, aux_data: Some(DynGeneratedFileAuxData::new(aux_data)), code_mappings, + diagnostics_note: None, }), diagnostics, remove_original_item: false, diff --git a/crates/dojo/lang/src/attribute_macros/interface.rs b/crates/dojo/lang/src/attribute_macros/interface.rs index 7e257095c4..f0a598c1ff 100644 --- a/crates/dojo/lang/src/attribute_macros/interface.rs +++ b/crates/dojo/lang/src/attribute_macros/interface.rs @@ -86,6 +86,7 @@ impl DojoInterface { content: code, aux_data: None, code_mappings, + diagnostics_note: None, }), diagnostics: interface.diagnostics, remove_original_item: true, diff --git a/crates/dojo/lang/src/attribute_macros/model.rs b/crates/dojo/lang/src/attribute_macros/model.rs index 9987f5e8b6..71030c508a 100644 --- a/crates/dojo/lang/src/attribute_macros/model.rs +++ b/crates/dojo/lang/src/attribute_macros/model.rs @@ -201,6 +201,7 @@ impl DojoModel { content: code, aux_data: Some(DynGeneratedFileAuxData::new(aux_data)), code_mappings, + diagnostics_note: None, }), diagnostics, remove_original_item: false, diff --git a/crates/dojo/lang/src/derive_macros/mod.rs b/crates/dojo/lang/src/derive_macros/mod.rs index 9377a4d7eb..40f2219dff 100644 --- a/crates/dojo/lang/src/derive_macros/mod.rs +++ b/crates/dojo/lang/src/derive_macros/mod.rs @@ -55,6 +55,7 @@ pub fn dojo_derive_all( content: code, aux_data: None, code_mappings, + diagnostics_note: None, }), diagnostics, remove_original_item: false, diff --git a/crates/dojo/lang/src/inline_macros/delete.rs b/crates/dojo/lang/src/inline_macros/delete.rs index 91070ceb65..b3105a5a70 100644 --- a/crates/dojo/lang/src/inline_macros/delete.rs +++ b/crates/dojo/lang/src/inline_macros/delete.rs @@ -105,6 +105,7 @@ impl InlineMacroExprPlugin for DeleteMacro { content: code, code_mappings, aux_data: None, + diagnostics_note: None, }), diagnostics: vec![], } diff --git a/crates/dojo/lang/src/inline_macros/emit.rs b/crates/dojo/lang/src/inline_macros/emit.rs index 57b87b424c..d33aeb87a5 100644 --- a/crates/dojo/lang/src/inline_macros/emit.rs +++ b/crates/dojo/lang/src/inline_macros/emit.rs @@ -109,6 +109,7 @@ impl InlineMacroExprPlugin for EmitMacro { content: code, code_mappings, aux_data: None, + diagnostics_note: None, }), diagnostics: vec![], } diff --git a/crates/dojo/lang/src/inline_macros/get.rs b/crates/dojo/lang/src/inline_macros/get.rs index f2c8f9a601..d66a8f0de6 100644 --- a/crates/dojo/lang/src/inline_macros/get.rs +++ b/crates/dojo/lang/src/inline_macros/get.rs @@ -99,6 +99,7 @@ impl InlineMacroExprPlugin for GetMacro { content: code, code_mappings, aux_data: None, + diagnostics_note: None, }), diagnostics: vec![], } diff --git a/crates/dojo/lang/src/inline_macros/get_models_test_class_hashes.rs b/crates/dojo/lang/src/inline_macros/get_models_test_class_hashes.rs index 1cfcfe0ea4..dd7e25310e 100644 --- a/crates/dojo/lang/src/inline_macros/get_models_test_class_hashes.rs +++ b/crates/dojo/lang/src/inline_macros/get_models_test_class_hashes.rs @@ -97,6 +97,7 @@ impl InlineMacroExprPlugin for GetModelsTestClassHashes { content: code, code_mappings, aux_data: None, + diagnostics_note: None, }), diagnostics: vec![], } diff --git a/crates/dojo/lang/src/inline_macros/selector_from_tag.rs b/crates/dojo/lang/src/inline_macros/selector_from_tag.rs index 4145100d4e..f8c7e8721c 100644 --- a/crates/dojo/lang/src/inline_macros/selector_from_tag.rs +++ b/crates/dojo/lang/src/inline_macros/selector_from_tag.rs @@ -67,6 +67,7 @@ impl InlineMacroExprPlugin for SelectorFromTagMacro { content: code, code_mappings, aux_data: None, + diagnostics_note: None, }), diagnostics: vec![], } diff --git a/crates/dojo/lang/src/inline_macros/set.rs b/crates/dojo/lang/src/inline_macros/set.rs index 7a040fbae9..3c53812c04 100644 --- a/crates/dojo/lang/src/inline_macros/set.rs +++ b/crates/dojo/lang/src/inline_macros/set.rs @@ -121,6 +121,7 @@ impl InlineMacroExprPlugin for SetMacro { content: code, code_mappings, aux_data: None, + diagnostics_note: None, }), diagnostics: vec![], } diff --git a/crates/dojo/lang/src/inline_macros/spawn_test_world.rs b/crates/dojo/lang/src/inline_macros/spawn_test_world.rs index e40004bebc..9df8dbc79c 100644 --- a/crates/dojo/lang/src/inline_macros/spawn_test_world.rs +++ b/crates/dojo/lang/src/inline_macros/spawn_test_world.rs @@ -98,6 +98,7 @@ impl InlineMacroExprPlugin for SpawnTestWorld { content: code, code_mappings, aux_data: None, + diagnostics_note: None, }), diagnostics: vec![], } diff --git a/crates/dojo/test-utils/src/compiler.rs b/crates/dojo/test-utils/src/compiler.rs index 5266cf7f94..94c8f89af9 100644 --- a/crates/dojo/test-utils/src/compiler.rs +++ b/crates/dojo/test-utils/src/compiler.rs @@ -171,6 +171,7 @@ pub fn copy_build_project_temp( include_target_kinds: vec![], exclude_target_kinds: vec![TargetKind::TEST], features: features_opts, + ignore_cairo_version: true, }, &ws, ) @@ -319,7 +320,8 @@ pub fn corelib() -> PathBuf { let features_opts = FeaturesOpts { features: FeaturesSelector::AllFeatures, no_default_features: false }; - let compilation_units = ops::generate_compilation_units(&resolve, &features_opts, &ws).unwrap(); + let compilation_units = + ops::generate_compilation_units(&resolve, &features_opts, true, &ws).unwrap(); if let CompilationUnit::Cairo(unit) = &compilation_units[0] { unit.core_package_component().expect("should have component").targets[0] diff --git a/crates/dojo/world/abigen/src/main.rs b/crates/dojo/world/abigen/src/main.rs index 58c139d859..6ed928897f 100644 --- a/crates/dojo/world/abigen/src/main.rs +++ b/crates/dojo/world/abigen/src/main.rs @@ -23,7 +23,7 @@ use scarb::ops::{CompileOpts, FeaturesOpts, FeaturesSelector}; const SCARB_MANIFEST: &str = "crates/dojo/core/Scarb.toml"; const WORLD_ARTIFACT: &str = "crates/dojo/core/target/dev/dojo_world.contract_class.json"; const MODEL_ARTIFACT: &str = - "crates/dojo/core/target/dev/dojo_resource_metadata.contract_class.json"; + "crates/dojo/core/target/dev/dojo_m_ResourceMetadata.contract_class.json"; const OUT_DIR: &str = "crates/dojo/world/src/contracts/abigen"; /// Entrypoint for the abigen program to generate or check the bindings for the world and model @@ -170,6 +170,7 @@ fn compile_dojo_core() -> Result<()> { include_target_kinds: vec![], exclude_target_kinds: vec![TargetKind::TEST], features: features_opts, + ignore_cairo_version: false, }, &ws, ) diff --git a/crates/dojo/world/src/contracts/abigen/model.rs b/crates/dojo/world/src/contracts/abigen/model.rs index c29d4506c7..6f2af4dfa8 100644 --- a/crates/dojo/world/src/contracts/abigen/model.rs +++ b/crates/dojo/world/src/contracts/abigen/model.rs @@ -221,6 +221,7 @@ impl cainome::cairo_serde::CairoSerde for ModelDef { pub struct ResourceMetadata { pub resource_id: starknet::core::types::Felt, pub metadata_uri: cainome::cairo_serde::ByteArray, + pub metadata_hash: starknet::core::types::Felt, } impl cainome::cairo_serde::CairoSerde for ResourceMetadata { type RustType = Self; @@ -230,12 +231,14 @@ impl cainome::cairo_serde::CairoSerde for ResourceMetadata { let mut __size = 0; __size += starknet::core::types::Felt::cairo_serialized_size(&__rust.resource_id); __size += cainome::cairo_serde::ByteArray::cairo_serialized_size(&__rust.metadata_uri); + __size += starknet::core::types::Felt::cairo_serialized_size(&__rust.metadata_hash); __size } fn cairo_serialize(__rust: &Self::RustType) -> Vec { let mut __out: Vec = vec![]; __out.extend(starknet::core::types::Felt::cairo_serialize(&__rust.resource_id)); __out.extend(cainome::cairo_serde::ByteArray::cairo_serialize(&__rust.metadata_uri)); + __out.extend(starknet::core::types::Felt::cairo_serialize(&__rust.metadata_hash)); __out } fn cairo_deserialize( @@ -247,12 +250,15 @@ impl cainome::cairo_serde::CairoSerde for ResourceMetadata { __offset += starknet::core::types::Felt::cairo_serialized_size(&resource_id); let metadata_uri = cainome::cairo_serde::ByteArray::cairo_deserialize(__felts, __offset)?; __offset += cainome::cairo_serde::ByteArray::cairo_serialized_size(&metadata_uri); - Ok(ResourceMetadata { resource_id, metadata_uri }) + let metadata_hash = starknet::core::types::Felt::cairo_deserialize(__felts, __offset)?; + __offset += starknet::core::types::Felt::cairo_serialized_size(&metadata_hash); + Ok(ResourceMetadata { resource_id, metadata_uri, metadata_hash }) } } #[derive(Clone, serde::Serialize, serde::Deserialize, PartialEq, Debug)] pub struct ResourceMetadataValue { pub metadata_uri: cainome::cairo_serde::ByteArray, + pub metadata_hash: starknet::core::types::Felt, } impl cainome::cairo_serde::CairoSerde for ResourceMetadataValue { type RustType = Self; @@ -261,11 +267,13 @@ impl cainome::cairo_serde::CairoSerde for ResourceMetadataValue { fn cairo_serialized_size(__rust: &Self::RustType) -> usize { let mut __size = 0; __size += cainome::cairo_serde::ByteArray::cairo_serialized_size(&__rust.metadata_uri); + __size += starknet::core::types::Felt::cairo_serialized_size(&__rust.metadata_hash); __size } fn cairo_serialize(__rust: &Self::RustType) -> Vec { let mut __out: Vec = vec![]; __out.extend(cainome::cairo_serde::ByteArray::cairo_serialize(&__rust.metadata_uri)); + __out.extend(starknet::core::types::Felt::cairo_serialize(&__rust.metadata_hash)); __out } fn cairo_deserialize( @@ -275,7 +283,9 @@ impl cainome::cairo_serde::CairoSerde for ResourceMetadataValue { let mut __offset = __offset; let metadata_uri = cainome::cairo_serde::ByteArray::cairo_deserialize(__felts, __offset)?; __offset += cainome::cairo_serde::ByteArray::cairo_serialized_size(&metadata_uri); - Ok(ResourceMetadataValue { metadata_uri }) + let metadata_hash = starknet::core::types::Felt::cairo_deserialize(__felts, __offset)?; + __offset += starknet::core::types::Felt::cairo_serialized_size(&metadata_hash); + Ok(ResourceMetadataValue { metadata_uri, metadata_hash }) } } #[derive(Clone, serde::Serialize, serde::Deserialize, PartialEq, Debug)] @@ -584,6 +594,18 @@ impl ModelContract { } #[allow(clippy::ptr_arg)] #[allow(clippy::too_many_arguments)] + pub fn ensure_unique(&self) -> cainome::cairo_serde::call::FCall { + use cainome::cairo_serde::CairoSerde; + let mut __calldata = vec![]; + let __call = starknet::core::types::FunctionCall { + contract_address: self.address, + entry_point_selector: starknet::macros::selector!("ensure_unique"), + calldata: __calldata, + }; + cainome::cairo_serde::call::FCall::new(__call, self.provider()) + } + #[allow(clippy::ptr_arg)] + #[allow(clippy::too_many_arguments)] pub fn ensure_values( &self, value: &ResourceMetadataValue, @@ -689,6 +711,18 @@ impl ModelContractReader

{ } #[allow(clippy::ptr_arg)] #[allow(clippy::too_many_arguments)] + pub fn ensure_unique(&self) -> cainome::cairo_serde::call::FCall { + use cainome::cairo_serde::CairoSerde; + let mut __calldata = vec![]; + let __call = starknet::core::types::FunctionCall { + contract_address: self.address, + entry_point_selector: starknet::macros::selector!("ensure_unique"), + calldata: __calldata, + }; + cainome::cairo_serde::call::FCall::new(__call, self.provider()) + } + #[allow(clippy::ptr_arg)] + #[allow(clippy::too_many_arguments)] pub fn ensure_values( &self, value: &ResourceMetadataValue, diff --git a/crates/katana/cairo/Cargo.toml b/crates/katana/cairo/Cargo.toml index dd0776c248..00f8565b91 100644 --- a/crates/katana/cairo/Cargo.toml +++ b/crates/katana/cairo/Cargo.toml @@ -18,7 +18,7 @@ cairo-lang-starknet = "2.7.0" cairo-lang-starknet-classes = "2.7.0" cairo-lang-utils = "2.7.0" cairo-vm = "1.0.1" -starknet_api = { git = "https://github.com/dojoengine/sequencer", tag = "v0.8.0-rc3.2" } +starknet_api = { git = "https://github.com/dojoengine/sequencer", rev = "802c5dc" } [features] # Some types that we used from cairo-vm implements the `Arbitrary` trait, diff --git a/crates/katana/executor/Cargo.toml b/crates/katana/executor/Cargo.toml index 785d18d3d4..93db00effa 100644 --- a/crates/katana/executor/Cargo.toml +++ b/crates/katana/executor/Cargo.toml @@ -7,17 +7,17 @@ version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] +katana-cairo = { workspace = true, optional = true } katana-primitives.workspace = true katana-provider.workspace = true katana-trie.workspace = true -parking_lot = { workspace = true, optional = true } -starknet = { workspace = true, optional = true } thiserror.workspace = true tracing.workspace = true -blockifier = { git = "https://github.com/dojoengine/sequencer", tag = "v0.8.0-rc3.2", features = [ "testing" ], optional = true } -katana-cairo = { workspace = true, optional = true } +blockifier = { git = "https://github.com/dojoengine/sequencer", rev = "802c5dc", features = [ "testing" ], optional = true } +parking_lot = { workspace = true, optional = true } +starknet = { workspace = true, optional = true } [dev-dependencies] alloy-primitives.workspace = true diff --git a/crates/katana/executor/src/implementation/blockifier/error.rs b/crates/katana/executor/src/implementation/blockifier/error.rs index 89b4d8ab4c..62e2779994 100644 --- a/crates/katana/executor/src/implementation/blockifier/error.rs +++ b/crates/katana/executor/src/implementation/blockifier/error.rs @@ -1,5 +1,4 @@ use blockifier::execution::errors::{EntryPointExecutionError, PreExecutionError}; -use blockifier::execution::execution_utils::format_panic_data; use blockifier::state::errors::StateError; use blockifier::transaction::errors::{ TransactionExecutionError, TransactionFeeError, TransactionPreValidationError, @@ -32,8 +31,8 @@ impl From for ExecutionError { impl From for ExecutionError { fn from(error: EntryPointExecutionError) -> Self { match error { - EntryPointExecutionError::ExecutionFailed { error_data } => { - Self::ExecutionFailed { reason: format_panic_data(&error_data) } + EntryPointExecutionError::ExecutionFailed { error_trace } => { + Self::ExecutionFailed { reason: error_trace.to_string() } } EntryPointExecutionError::InvalidExecutionInput { input_descriptor, info } => { Self::InvalidInput { input_descriptor, info } diff --git a/crates/katana/executor/src/implementation/blockifier/mod.rs b/crates/katana/executor/src/implementation/blockifier/mod.rs index d515beb5a9..dd27f0bd30 100644 --- a/crates/katana/executor/src/implementation/blockifier/mod.rs +++ b/crates/katana/executor/src/implementation/blockifier/mod.rs @@ -5,13 +5,12 @@ mod error; mod state; pub mod utils; -use std::num::NonZeroU128; - -use blockifier::blockifier::block::{BlockInfo, GasPrices}; use blockifier::context::BlockContext; use blockifier::state::cached_state::{self, MutRefState}; use blockifier::state::state_api::StateReader; -use katana_cairo::starknet_api::block::{BlockNumber, BlockTimestamp}; +use katana_cairo::starknet_api::block::{ + BlockInfo, BlockNumber, BlockTimestamp, GasPriceVector, GasPrices, NonzeroGasPrice, +}; use katana_primitives::block::{ExecutableBlock, GasPrices as KatanaGasPrices, PartialHeader}; use katana_primitives::env::{BlockEnv, CfgEnv}; use katana_primitives::fee::TxFeeInfo; @@ -102,17 +101,14 @@ impl<'a> StarknetVMProcessor<'a> { // TODO: should we enforce the gas price to not be 0, // as there's a flag to disable gas uasge instead? let eth_l1_gas_price = - NonZeroU128::new(header.l1_gas_prices.eth).unwrap_or(NonZeroU128::new(1).unwrap()); + NonzeroGasPrice::new(header.l1_gas_prices.eth.into()).unwrap_or(NonzeroGasPrice::MIN); let strk_l1_gas_price = - NonZeroU128::new(header.l1_gas_prices.strk).unwrap_or(NonZeroU128::new(1).unwrap()); + NonzeroGasPrice::new(header.l1_gas_prices.strk.into()).unwrap_or(NonzeroGasPrice::MIN); + let eth_l1_data_gas_price = NonzeroGasPrice::new(header.l1_data_gas_prices.eth.into()) + .unwrap_or(NonzeroGasPrice::MIN); + let strk_l1_data_gas_price = NonzeroGasPrice::new(header.l1_data_gas_prices.strk.into()) + .unwrap_or(NonzeroGasPrice::MIN); - // TODO: which values is correct for those one? - let eth_l1_data_gas_price = eth_l1_gas_price; - let strk_l1_data_gas_price = strk_l1_gas_price; - - // TODO: @kariy, not sure here if we should add some functions to alter it - // instead of cloning. Or did I miss a function? - // https://github.com/starkware-libs/blockifier/blob/a6200402ab635d8a8e175f7f135be5914c960007/crates/blockifier/src/context.rs#L23 let versioned_constants = self.block_context.versioned_constants().clone(); let chain_info = self.block_context.chain_info().clone(); let block_info = BlockInfo { @@ -120,10 +116,18 @@ impl<'a> StarknetVMProcessor<'a> { block_timestamp: timestamp, sequencer_address: utils::to_blk_address(header.sequencer_address), gas_prices: GasPrices { - eth_l1_gas_price, - strk_l1_gas_price, - eth_l1_data_gas_price, - strk_l1_data_gas_price, + eth_gas_prices: GasPriceVector { + l1_gas_price: eth_l1_gas_price, + l1_data_gas_price: eth_l1_data_gas_price, + // TODO: update to use the correct value + l2_gas_price: eth_l1_gas_price, + }, + strk_gas_prices: GasPriceVector { + l1_gas_price: strk_l1_gas_price, + l1_data_gas_price: strk_l1_data_gas_price, + // TODO: update to use the correct value + l2_gas_price: strk_l1_gas_price, + }, }, use_kzg_da: false, }; @@ -228,20 +232,38 @@ impl<'a> BlockExecutor<'a> for StarknetVMProcessor<'a> { } fn block_env(&self) -> BlockEnv { - let eth_l1_gas_price = self.block_context.block_info().gas_prices.eth_l1_gas_price; - let strk_l1_gas_price = self.block_context.block_info().gas_prices.strk_l1_gas_price; - BlockEnv { number: self.block_context.block_info().block_number.0, timestamp: self.block_context.block_info().block_timestamp.0, sequencer_address: utils::to_address(self.block_context.block_info().sequencer_address), l1_gas_prices: KatanaGasPrices { - eth: eth_l1_gas_price.into(), - strk: strk_l1_gas_price.into(), + eth: self.block_context.block_info().gas_prices.eth_gas_prices.l1_gas_price.get().0, + strk: self + .block_context + .block_info() + .gas_prices + .strk_gas_prices + .l1_gas_price + .get() + .0, }, l1_data_gas_prices: KatanaGasPrices { - eth: self.block_context.block_info().gas_prices.eth_l1_data_gas_price.into(), - strk: self.block_context.block_info().gas_prices.strk_l1_data_gas_price.into(), + eth: self + .block_context + .block_info() + .gas_prices + .eth_gas_prices + .l1_data_gas_price + .get() + .0, + strk: self + .block_context + .block_info() + .gas_prices + .strk_gas_prices + .l1_data_gas_price + .get() + .0, }, } } @@ -264,7 +286,9 @@ impl ExecutorExt for StarknetVMProcessor<'_> { transactions: Vec, flags: ExecutionFlags, ) -> Vec> { - self.simulate_with(transactions, &flags, |_, (_, res)| match res { + // TODO: figure out how this can be implied automatically + let estimate_fee_flags = flags.with_fee(false); + self.simulate_with(transactions, &estimate_fee_flags, |_, (_, res)| match res { ExecutionResult::Success { receipt, .. } => { // if the transaction was reverted, return as error if let Some(reason) = receipt.revert_reason() { diff --git a/crates/katana/executor/src/implementation/blockifier/state.rs b/crates/katana/executor/src/implementation/blockifier/state.rs index 86aba56190..da8bb1be61 100644 --- a/crates/katana/executor/src/implementation/blockifier/state.rs +++ b/crates/katana/executor/src/implementation/blockifier/state.rs @@ -46,18 +46,18 @@ impl<'a> StateReader for StateProviderDb<'a> { } } - fn get_compiled_contract_class( + fn get_compiled_class( &self, class_hash: ClassHash, - ) -> StateResult { + ) -> StateResult { if let Some(class) = self .compiled_class(class_hash.0) .map_err(|e| StateError::StateReadError(e.to_string()))? { - let class = - utils::to_class(class).map_err(|e| StateError::StateReadError(e.to_string()))?; + let class = utils::to_runnable_class(class) + .map_err(|e| StateError::StateReadError(e.to_string()))?; - Ok(class.contract_class()) + Ok(class) } else { Err(StateError::UndeclaredClassHash(class_hash)) } @@ -215,11 +215,11 @@ impl StateReader for CachedState { self.0.lock().inner.get_compiled_class_hash(class_hash) } - fn get_compiled_contract_class( + fn get_compiled_class( &self, class_hash: ClassHash, - ) -> StateResult { - self.0.lock().inner.get_compiled_contract_class(class_hash) + ) -> StateResult { + self.0.lock().inner.get_compiled_class(class_hash) } fn get_nonce_at( @@ -348,9 +348,8 @@ mod tests { let actual_storage_value = cached_state .get_storage_at(api_address, StorageKey(storage_key.try_into().unwrap()))?; let actual_compiled_hash = cached_state.get_compiled_class_hash(actual_class_hash)?; - let actual_class = cached_state.get_compiled_contract_class(actual_class_hash)?; - let actual_legacy_class = - cached_state.get_compiled_contract_class(ClassHash(legacy_class_hash))?; + let actual_class = cached_state.get_compiled_class(actual_class_hash)?; + let actual_legacy_class = cached_state.get_compiled_class(ClassHash(legacy_class_hash))?; assert_eq!(actual_nonce.0, felt!("0x7")); assert_eq!(actual_storage_value, felt!("0x2")); @@ -358,13 +357,14 @@ mod tests { assert_eq!(actual_compiled_hash.0, felt!("0x456")); assert_eq!( actual_class, - utils::to_class(DEFAULT_ACCOUNT_CLASS_CASM.clone()).unwrap().contract_class() + utils::to_runnable_class(DEFAULT_ACCOUNT_CLASS_CASM.clone()).unwrap() ); assert_eq!( actual_legacy_class, - utils::to_class(DEFAULT_LEGACY_ERC20_CLASS.clone().compile().expect("can compile")) - .unwrap() - .contract_class() + utils::to_runnable_class( + DEFAULT_LEGACY_ERC20_CLASS.clone().compile().expect("can compile") + ) + .unwrap() ); Ok(()) @@ -420,14 +420,12 @@ mod tests { let storage_key = StorageKey(new_storage_key.try_into().unwrap()); let storage_value = new_storage_value; let class_hash = ClassHash(new_class_hash); - let class = - utils::to_class(new_compiled_sierra_class.clone()).unwrap().contract_class(); + let class = utils::to_runnable_class(new_compiled_sierra_class.clone()).unwrap(); let compiled_hash = CompiledClassHash(new_compiled_hash); let legacy_class_hash = ClassHash(new_legacy_class_hash); let legacy_class = - utils::to_class(DEFAULT_LEGACY_UDC_CLASS.clone().compile().expect("can compile")) - .unwrap() - .contract_class(); + utils::to_runnable_class(DEFAULT_LEGACY_UDC_CLASS.clone().compile().unwrap()) + .unwrap(); let legacy_compiled_hash = CompiledClassHash(new_legacy_compiled_hash); blk_state.increment_nonce(address)?; @@ -540,7 +538,7 @@ mod tests { let actual_class_hash = cached_state.get_class_hash_at(api_address).expect("should return default value"); let actual_compiled_hash = cached_state.get_compiled_class_hash(api_class_hash); - let actual_compiled_class = cached_state.get_compiled_contract_class(api_class_hash); + let actual_compiled_class = cached_state.get_compiled_class(api_class_hash); let actual_edge_storage_value = cached_state .get_storage_at(utils::to_blk_address(edge_address), api_storage_key) .expect("should return default value"); diff --git a/crates/katana/executor/src/implementation/blockifier/utils.rs b/crates/katana/executor/src/implementation/blockifier/utils.rs index abae3566e6..b784755d10 100644 --- a/crates/katana/executor/src/implementation/blockifier/utils.rs +++ b/crates/katana/executor/src/implementation/blockifier/utils.rs @@ -1,47 +1,50 @@ use std::collections::{BTreeMap, BTreeSet}; -use std::num::NonZeroU128; use std::sync::Arc; -use blockifier::blockifier::block::{BlockInfo, GasPrices}; use blockifier::bouncer::BouncerConfig; use blockifier::context::{BlockContext, ChainInfo, FeeTokenAddresses, TransactionContext}; use blockifier::execution::call_info::{ CallExecution, CallInfo, OrderedEvent, OrderedL2ToL1Message, }; -use blockifier::execution::common_hints::ExecutionMode; use blockifier::execution::contract_class::{ - ClassInfo, ContractClass, ContractClassV0, ContractClassV1, + CompiledClassV0, CompiledClassV1, RunnableCompiledClass, }; use blockifier::execution::entry_point::{CallEntryPoint, CallType, EntryPointExecutionContext}; use blockifier::fee::fee_utils::get_fee_by_gas_vector; use blockifier::state::cached_state; use blockifier::state::state_api::StateReader; -use blockifier::transaction::account_transaction::AccountTransaction; +use blockifier::transaction::account_transaction::{ + AccountTransaction, ExecutionFlags as BlockifierExecutionFlags, +}; use blockifier::transaction::objects::{ - DeprecatedTransactionInfo, FeeType, HasRelatedFeeType, TransactionExecutionInfo, - TransactionInfo, + DeprecatedTransactionInfo, HasRelatedFeeType, TransactionExecutionInfo, TransactionInfo, }; use blockifier::transaction::transaction_execution::Transaction; -use blockifier::transaction::transactions::{ - DeclareTransaction, DeployAccountTransaction, ExecutableTransaction, InvokeTransaction, - L1HandlerTransaction, -}; +use blockifier::transaction::transactions::ExecutableTransaction; use blockifier::versioned_constants::VersionedConstants; use katana_cairo::cairo_vm::types::errors::program_errors::ProgramError; -use katana_cairo::cairo_vm::vm::runners::cairo_runner::ExecutionResources; -use katana_cairo::starknet_api::block::{BlockNumber, BlockTimestamp}; +use katana_cairo::cairo_vm::vm::runners::cairo_runner::{ExecutionResources, RunResources}; +use katana_cairo::starknet_api::block::{ + BlockInfo, BlockNumber, BlockTimestamp, FeeType, GasPriceVector, GasPrices, NonzeroGasPrice, +}; +use katana_cairo::starknet_api::contract_class::{ClassInfo, EntryPointType, SierraVersion}; use katana_cairo::starknet_api::core::{ self, ChainId, ClassHash, CompiledClassHash, ContractAddress, EntryPointSelector, Nonce, }; use katana_cairo::starknet_api::data_availability::DataAvailabilityMode; -use katana_cairo::starknet_api::deprecated_contract_class::EntryPointType; +use katana_cairo::starknet_api::executable_transaction::{ + DeclareTransaction, DeployAccountTransaction, InvokeTransaction, L1HandlerTransaction, +}; +use katana_cairo::starknet_api::transaction::fields::{ + AccountDeploymentData, Calldata, ContractAddressSalt, Fee, PaymasterData, ResourceBounds, Tip, + TransactionSignature, ValidResourceBounds, +}; use katana_cairo::starknet_api::transaction::{ - AccountDeploymentData, Calldata, ContractAddressSalt, DeclareTransaction as ApiDeclareTransaction, DeclareTransactionV0V1, DeclareTransactionV2, DeclareTransactionV3, DeployAccountTransaction as ApiDeployAccountTransaction, - DeployAccountTransactionV1, DeployAccountTransactionV3, Fee, - InvokeTransaction as ApiInvokeTransaction, PaymasterData, Resource, ResourceBounds, - ResourceBoundsMapping, Tip, TransactionHash, TransactionSignature, TransactionVersion, + DeployAccountTransactionV1, DeployAccountTransactionV3, + InvokeTransaction as ApiInvokeTransaction, InvokeTransactionV3, TransactionHash, + TransactionVersion, }; use katana_primitives::chain::NamedChainId; use katana_primitives::env::{BlockEnv, CfgEnv}; @@ -63,66 +66,51 @@ use crate::{ExecutionError, ExecutionResult}; pub fn transact( state: &mut cached_state::CachedState, block_context: &BlockContext, - simulation_flags: &ExecutionFlags, + flags: &ExecutionFlags, tx: ExecutableTxWithHash, ) -> ExecutionResult { fn transact_inner( state: &mut cached_state::CachedState, block_context: &BlockContext, - simulation_flags: &ExecutionFlags, tx: Transaction, ) -> Result<(TransactionExecutionInfo, TxFeeInfo), ExecutionError> { - let validate = simulation_flags.account_validation(); - let charge_fee = simulation_flags.fee(); - // Blockifier doesn't provide a way to fully skip nonce check during the tx validation - // stage. The `nonce_check` flag in `tx.execute()` only 'relaxes' the check for - // nonce that is equal or higher than the current (expected) account nonce. - // - // Related commit on Blockifier: https://github.com/dojoengine/blockifier/commit/2410b6055453f247d48759f223c34b3fb5fa777 - let nonce_check = simulation_flags.nonce_check(); - let fee_type = get_fee_type_from_tx(&tx); let info = match tx { - Transaction::AccountTransaction(tx) => { - tx.execute(state, block_context, charge_fee, validate, nonce_check) - } - Transaction::L1HandlerTransaction(tx) => { - tx.execute(state, block_context, charge_fee, validate, nonce_check) - } + Transaction::Account(tx) => tx.execute(state, block_context), + Transaction::L1Handler(tx) => tx.execute(state, block_context), }?; // There are a few case where the `actual_fee` field of the transaction info is not set // where the fee is skipped and thus not charged for the transaction (e.g. when the // `skip_fee_transfer` is explicitly set, or when the transaction `max_fee` is set to 0). In // these cases, we still want to calculate the fee. - let fee = if info.transaction_receipt.fee == Fee(0) { - get_fee_by_gas_vector( - block_context.block_info(), - info.transaction_receipt.gas, - &fee_type, - ) + let fee = if info.receipt.fee == Fee(0) { + get_fee_by_gas_vector(block_context.block_info(), info.receipt.gas, &fee_type) } else { - info.transaction_receipt.fee + info.receipt.fee }; - let gas_consumed = info.transaction_receipt.gas.l1_gas; + let gas_consumed = info.receipt.gas.l1_gas.0 as u128; + // TODO: i dont know if this is correct let (unit, gas_price) = match fee_type { - FeeType::Eth => { - (PriceUnit::Wei, block_context.block_info().gas_prices.eth_l1_gas_price) - } - FeeType::Strk => { - (PriceUnit::Fri, block_context.block_info().gas_prices.strk_l1_gas_price) - } + FeeType::Eth => ( + PriceUnit::Wei, + block_context.block_info().gas_prices.eth_gas_prices.l2_gas_price.get().0, + ), + FeeType::Strk => ( + PriceUnit::Fri, + block_context.block_info().gas_prices.strk_gas_prices.l2_gas_price.get().0, + ), }; - let fee_info = - TxFeeInfo { gas_consumed, gas_price: gas_price.into(), unit, overall_fee: fee.0 }; + let fee_info = TxFeeInfo { gas_consumed, gas_price, unit, overall_fee: fee.0 }; Ok((info, fee_info)) } - match transact_inner(state, block_context, simulation_flags, to_executor_tx(tx.clone())) { + let blockifier_tx = to_executor_tx(tx.clone(), flags.clone()); + match transact_inner(state, block_context, blockifier_tx) { Ok((info, fee)) => { // get the trace and receipt from the execution info let trace = to_exec_info(info, tx.r#type()); @@ -151,44 +139,54 @@ pub fn call( ..Default::default() }; - // TODO: this must be false if fees are disabled I assume. - let limit_steps_by_resources = true; - - // Now, the max step is not given directly to this function. - // It's computed by a new function max_steps, and it tooks the values - // from the block context itself instead of the input give. The dojoengine - // fork of the blockifier ensures we're not limited by the min function applied - // by starkware. - // https://github.com/starkware-libs/blockifier/blob/4fd71645b45fd1deb6b8e44802414774ec2a2ec1/crates/blockifier/src/execution/entry_point.rs#L159 - // https://github.com/dojoengine/blockifier/blob/5f58be8961ddf84022dd739a8ab254e32c435075/crates/blockifier/src/execution/entry_point.rs#L188 - - let res = call.execute( - &mut state, - &mut ExecutionResources::default(), - &mut EntryPointExecutionContext::new( - Arc::new(TransactionContext { - block_context: block_context.clone(), - tx_info: TransactionInfo::Deprecated(DeprecatedTransactionInfo::default()), - }), - ExecutionMode::Execute, - limit_steps_by_resources, - ) - .expect("shouldn't fail"), - )?; + let tx_context = Arc::new(TransactionContext { + block_context: block_context.clone(), + tx_info: TransactionInfo::Deprecated(DeprecatedTransactionInfo::default()), + }); + + // The reason why we assign a new `RunResources` is because of how the initial gas value for + // the call is being computed. Passing the `initial_gas` value directly used to work, + // meaning the literal value of the `initial_gas` would be used as the to run the contract call, + // but now Blockifier computes the initial gas differently, based on the block gas prices. + // See `EntryPointExecutionContext::max_steps()` for further references. + // + // The value of `limit_steps_by_resources` becomes irrelevant because of the explicit + // re-assignment of the run resources. + + let limit_steps_by_resources = false; + let mut ctx = EntryPointExecutionContext::new_invoke(tx_context, limit_steps_by_resources); + + // If `initial_gas` can't fit in a usize, use the maximum. + ctx.vm_run_resources = RunResources::new(initial_gas.try_into().unwrap_or(usize::MAX)); + + let mut remaining_gas = initial_gas as u64; + let res = call.execute(&mut state, &mut ctx, &mut remaining_gas)?; Ok(res.execution.retdata.0) } -pub fn to_executor_tx(tx: ExecutableTxWithHash) -> Transaction { +pub fn to_executor_tx(tx: ExecutableTxWithHash, mut flags: ExecutionFlags) -> Transaction { + use katana_cairo::starknet_api::executable_transaction::AccountTransaction as ExecTx; + let hash = tx.hash; + // We only do this if we're running in fee enabled mode. If fee is already disabled, then + // there's no need to do anything. + if flags.fee() { + // Disable fee charge if max fee is 0. + // + // This is to support genesis transactions where the fee token is not yet deployed. + let skip_fee = skip_fee_if_max_fee_is_zero(&tx); + flags = flags.with_fee(!skip_fee); + } + match tx.transaction { ExecutableTx::Invoke(tx) => match tx { InvokeTx::V0(tx) => { let calldata = tx.calldata; let signature = tx.signature; - Transaction::AccountTransaction(AccountTransaction::Invoke(InvokeTransaction { + let tx = InvokeTransaction { tx: ApiInvokeTransaction::V0( katana_cairo::starknet_api::transaction::InvokeTransactionV0 { entry_point_selector: EntryPointSelector(tx.entry_point_selector), @@ -199,15 +197,19 @@ pub fn to_executor_tx(tx: ExecutableTxWithHash) -> Transaction { }, ), tx_hash: TransactionHash(hash), - only_query: false, - })) + }; + + Transaction::Account(AccountTransaction { + tx: ExecTx::Invoke(tx), + execution_flags: flags.into(), + }) } InvokeTx::V1(tx) => { let calldata = tx.calldata; let signature = tx.signature; - Transaction::AccountTransaction(AccountTransaction::Invoke(InvokeTransaction { + let tx = InvokeTransaction { tx: ApiInvokeTransaction::V1( katana_cairo::starknet_api::transaction::InvokeTransactionV1 { max_fee: Fee(tx.max_fee), @@ -218,8 +220,12 @@ pub fn to_executor_tx(tx: ExecutableTxWithHash) -> Transaction { }, ), tx_hash: TransactionHash(hash), - only_query: false, - })) + }; + + Transaction::Account(AccountTransaction { + tx: ExecTx::Invoke(tx), + execution_flags: flags.into(), + }) } InvokeTx::V3(tx) => { @@ -231,24 +237,26 @@ pub fn to_executor_tx(tx: ExecutableTxWithHash) -> Transaction { let fee_data_availability_mode = to_api_da_mode(tx.fee_data_availability_mode); let nonce_data_availability_mode = to_api_da_mode(tx.nonce_data_availability_mode); - Transaction::AccountTransaction(AccountTransaction::Invoke(InvokeTransaction { - tx: ApiInvokeTransaction::V3( - katana_cairo::starknet_api::transaction::InvokeTransactionV3 { - tip: Tip(tx.tip), - nonce: Nonce(tx.nonce), - sender_address: to_blk_address(tx.sender_address), - signature: TransactionSignature(signature), - calldata: Calldata(Arc::new(calldata)), - paymaster_data: PaymasterData(paymaster_data), - account_deployment_data: AccountDeploymentData(account_deploy_data), - fee_data_availability_mode, - nonce_data_availability_mode, - resource_bounds: to_api_resource_bounds(tx.resource_bounds), - }, - ), + let tx = InvokeTransaction { + tx: ApiInvokeTransaction::V3(InvokeTransactionV3 { + tip: Tip(tx.tip), + nonce: Nonce(tx.nonce), + sender_address: to_blk_address(tx.sender_address), + signature: TransactionSignature(signature), + calldata: Calldata(Arc::new(calldata)), + paymaster_data: PaymasterData(paymaster_data), + account_deployment_data: AccountDeploymentData(account_deploy_data), + fee_data_availability_mode, + nonce_data_availability_mode, + resource_bounds: to_api_resource_bounds(tx.resource_bounds), + }), tx_hash: TransactionHash(hash), - only_query: false, - })) + }; + + Transaction::Account(AccountTransaction { + tx: ExecTx::Invoke(tx), + execution_flags: flags.into(), + }) } }, @@ -258,21 +266,23 @@ pub fn to_executor_tx(tx: ExecutableTxWithHash) -> Transaction { let signature = tx.signature; let salt = ContractAddressSalt(tx.contract_address_salt); - Transaction::AccountTransaction(AccountTransaction::DeployAccount( - DeployAccountTransaction { - contract_address: to_blk_address(tx.contract_address), - tx: ApiDeployAccountTransaction::V1(DeployAccountTransactionV1 { - max_fee: Fee(tx.max_fee), - nonce: Nonce(tx.nonce), - signature: TransactionSignature(signature), - class_hash: ClassHash(tx.class_hash), - constructor_calldata: Calldata(Arc::new(calldata)), - contract_address_salt: salt, - }), - tx_hash: TransactionHash(hash), - only_query: false, - }, - )) + let tx = DeployAccountTransaction { + contract_address: to_blk_address(tx.contract_address), + tx: ApiDeployAccountTransaction::V1(DeployAccountTransactionV1 { + max_fee: Fee(tx.max_fee), + nonce: Nonce(tx.nonce), + signature: TransactionSignature(signature), + class_hash: ClassHash(tx.class_hash), + constructor_calldata: Calldata(Arc::new(calldata)), + contract_address_salt: salt, + }), + tx_hash: TransactionHash(hash), + }; + + Transaction::Account(AccountTransaction { + tx: ExecTx::DeployAccount(tx), + execution_flags: flags.into(), + }) } DeployAccountTx::V3(tx) => { @@ -284,32 +294,34 @@ pub fn to_executor_tx(tx: ExecutableTxWithHash) -> Transaction { let fee_data_availability_mode = to_api_da_mode(tx.fee_data_availability_mode); let nonce_data_availability_mode = to_api_da_mode(tx.nonce_data_availability_mode); - Transaction::AccountTransaction(AccountTransaction::DeployAccount( - DeployAccountTransaction { - contract_address: to_blk_address(tx.contract_address), - tx: ApiDeployAccountTransaction::V3(DeployAccountTransactionV3 { - tip: Tip(tx.tip), - nonce: Nonce(tx.nonce), - signature: TransactionSignature(signature), - class_hash: ClassHash(tx.class_hash), - constructor_calldata: Calldata(Arc::new(calldata)), - contract_address_salt: salt, - paymaster_data: PaymasterData(paymaster_data), - fee_data_availability_mode, - nonce_data_availability_mode, - resource_bounds: to_api_resource_bounds(tx.resource_bounds), - }), - tx_hash: TransactionHash(hash), - only_query: false, - }, - )) + let tx = DeployAccountTransaction { + contract_address: to_blk_address(tx.contract_address), + tx: ApiDeployAccountTransaction::V3(DeployAccountTransactionV3 { + tip: Tip(tx.tip), + nonce: Nonce(tx.nonce), + signature: TransactionSignature(signature), + class_hash: ClassHash(tx.class_hash), + constructor_calldata: Calldata(Arc::new(calldata)), + contract_address_salt: salt, + paymaster_data: PaymasterData(paymaster_data), + fee_data_availability_mode, + nonce_data_availability_mode, + resource_bounds: to_api_resource_bounds(tx.resource_bounds), + }), + tx_hash: TransactionHash(hash), + }; + + Transaction::Account(AccountTransaction { + tx: ExecTx::DeployAccount(tx), + execution_flags: flags.into(), + }) } }, ExecutableTx::Declare(tx) => { let compiled = tx.class.as_ref().clone().compile().expect("failed to compile"); - let tx = match tx.transaction { + let api_tx = match tx.transaction { DeclareTx::V0(tx) => ApiDeclareTransaction::V0(DeclareTransactionV0V1 { max_fee: Fee(tx.max_fee), nonce: Nonce::default(), @@ -364,13 +376,18 @@ pub fn to_executor_tx(tx: ExecutableTxWithHash) -> Transaction { } }; - let hash = TransactionHash(hash); - let class = to_class(compiled).unwrap(); - let tx = DeclareTransaction::new(tx, hash, class).expect("class mismatch"); - Transaction::AccountTransaction(AccountTransaction::Declare(tx)) + let tx_hash = TransactionHash(hash); + let class_info = to_class_info(compiled).unwrap(); + + let tx = DeclareTransaction { class_info, tx_hash, tx: api_tx }; + + Transaction::Account(AccountTransaction { + tx: ExecTx::Declare(tx), + execution_flags: flags.into(), + }) } - ExecutableTx::L1Handler(tx) => Transaction::L1HandlerTransaction(L1HandlerTransaction { + ExecutableTx::L1Handler(tx) => Transaction::L1Handler(L1HandlerTransaction { paid_fee_on_l1: Fee(tx.paid_fee_on_l1), tx: katana_cairo::starknet_api::transaction::L1HandlerTransaction { nonce: core::Nonce(tx.nonce), @@ -392,16 +409,27 @@ pub fn block_context_from_envs(block_env: &BlockEnv, cfg_env: &CfgEnv) -> BlockC }; let eth_l1_gas_price = - NonZeroU128::new(block_env.l1_gas_prices.eth).unwrap_or(NonZeroU128::new(1).unwrap()); + NonzeroGasPrice::new(block_env.l1_gas_prices.eth.into()).unwrap_or(NonzeroGasPrice::MIN); let strk_l1_gas_price = - NonZeroU128::new(block_env.l1_gas_prices.strk).unwrap_or(NonZeroU128::new(1).unwrap()); + NonzeroGasPrice::new(block_env.l1_gas_prices.strk.into()).unwrap_or(NonzeroGasPrice::MIN); + let eth_l1_data_gas_price = NonzeroGasPrice::new(block_env.l1_data_gas_prices.eth.into()) + .unwrap_or(NonzeroGasPrice::MIN); + let strk_l1_data_gas_price = NonzeroGasPrice::new(block_env.l1_data_gas_prices.strk.into()) + .unwrap_or(NonzeroGasPrice::MIN); let gas_prices = GasPrices { - eth_l1_gas_price, - strk_l1_gas_price, - // TODO: should those be the same value? - eth_l1_data_gas_price: eth_l1_gas_price, - strk_l1_data_gas_price: strk_l1_gas_price, + eth_gas_prices: GasPriceVector { + l1_gas_price: eth_l1_gas_price, + l1_data_gas_price: eth_l1_data_gas_price, + // TODO: update to use the correct value + l2_gas_price: eth_l1_gas_price, + }, + strk_gas_prices: GasPriceVector { + l1_gas_price: strk_l1_gas_price, + l1_data_gas_price: strk_l1_data_gas_price, + // TODO: update to use the correct value + l2_gas_price: strk_l1_gas_price, + }, }; let block_info = BlockInfo { @@ -437,7 +465,7 @@ pub(super) fn state_update_from_cached_state( // TODO: Legacy class shouldn't have a compiled class hash. This is a hack we added // in our fork of `blockifier. Check if it's possible to remove it now. - for (class_hash, compiled_hash) in state_diff.compiled_class_hashes { + for (class_hash, compiled_hash) in state_diff.state_maps.compiled_class_hashes { let hash = class_hash.0; let class = state.class(hash).unwrap().expect("must exist if declared"); @@ -452,7 +480,7 @@ pub(super) fn state_update_from_cached_state( let nonce_updates = state_diff - .nonces + .state_maps.nonces .into_iter() .map(|(key, value)| (to_address(key), value.0)) .collect::( katana_primitives::contract::Nonce, >>(); - let storage_updates = state_diff.storage.into_iter().fold( + let storage_updates = state_diff.state_maps.storage.into_iter().fold( BTreeMap::new(), |mut storage, ((addr, key), value)| { let entry: &mut BTreeMap< @@ -474,6 +502,7 @@ pub(super) fn state_update_from_cached_state( let deployed_contracts = state_diff + .state_maps .class_hashes .into_iter() .map(|(key, value)| (to_address(key), value.0)) @@ -502,28 +531,26 @@ fn to_api_da_mode(mode: katana_primitives::da::DataAvailabilityMode) -> DataAvai } } +// The protocol version we want to support depends on the returned `ValidResourceBounds`. Returning +// the wrong variant without the right values will result in execution error. +// +// Ref: https://community.starknet.io/t/starknet-v0-13-1-pre-release-notes/113664#sdkswallets-how-to-use-the-new-fee-estimates-7 fn to_api_resource_bounds( resource_bounds: katana_primitives::fee::ResourceBoundsMapping, -) -> ResourceBoundsMapping { - let l1_gas = ResourceBounds { - max_amount: resource_bounds.l1_gas.max_amount, - max_price_per_unit: resource_bounds.l1_gas.max_price_per_unit, - }; - - let l2_gas = ResourceBounds { - max_amount: resource_bounds.l2_gas.max_amount, - max_price_per_unit: resource_bounds.l2_gas.max_price_per_unit, - }; - - ResourceBoundsMapping(BTreeMap::from([(Resource::L1Gas, l1_gas), (Resource::L2Gas, l2_gas)])) +) -> ValidResourceBounds { + // Pre 0.13.3. Only L1 gas. L2 bounds are signed but never used. + ValidResourceBounds::L1Gas(ResourceBounds { + max_amount: resource_bounds.l1_gas.max_amount.into(), + max_price_per_unit: resource_bounds.l1_gas.max_price_per_unit.into(), + }) } /// Get the fee type of a transaction. The fee type determines the token used to pay for the /// transaction. fn get_fee_type_from_tx(transaction: &Transaction) -> FeeType { match transaction { - Transaction::AccountTransaction(tx) => tx.fee_type(), - Transaction::L1HandlerTransaction(tx) => tx.fee_type(), + Transaction::Account(tx) => tx.fee_type(), + Transaction::L1Handler(tx) => tx.fee_type(), } } @@ -547,23 +574,41 @@ pub fn to_blk_chain_id(chain_id: katana_primitives::chain::ChainId) -> ChainId { } } -pub fn to_class(class: class::CompiledClass) -> Result { +pub fn to_runnable_class( + class: class::CompiledClass, +) -> Result { + // TODO: @kariy not sure of the variant that must be used in this case. Should we change the + // return type to include this case of error for contract class conversions? + match class { + class::CompiledClass::Legacy(class) => { + Ok(RunnableCompiledClass::V0(CompiledClassV0::try_from(class)?)) + } + class::CompiledClass::Class(casm) => { + Ok(RunnableCompiledClass::V1(CompiledClassV1::try_from(casm)?)) + } + } +} + +pub fn to_class_info(class: class::CompiledClass) -> Result { + use katana_cairo::starknet_api::contract_class::ContractClass; + // TODO: @kariy not sure of the variant that must be used in this case. Should we change the // return type to include this case of error for contract class conversions? match class { class::CompiledClass::Legacy(class) => { // For cairo 0, the sierra_program_length must be 0. - Ok(ClassInfo::new(&ContractClass::V0(ContractClassV0::try_from(class)?), 0, 0) + Ok(ClassInfo::new(&ContractClass::V0(class), 0, 0, SierraVersion::DEPRECATED) .map_err(|e| ProgramError::ConstWithoutValue(format!("{e}")))?) } - class::CompiledClass::Class(casm) => { - let sierra_program_len = casm.bytecode.len(); + class::CompiledClass::Class(class) => { + let sierra_program_len = class.bytecode.len(); // TODO: @kariy not sure from where the ABI length can be grasped. Ok(ClassInfo::new( - &ContractClass::V1(ContractClassV1::try_from(casm)?), + &ContractClass::V1(class), sierra_program_len, 0, + SierraVersion::LATEST, ) .map_err(|e| ProgramError::ConstWithoutValue(format!("{e}")))?) } @@ -584,20 +629,20 @@ pub fn to_exec_info(exec_info: TransactionExecutionInfo, r#type: TxType) -> TxEx validate_call_info: exec_info.validate_call_info.map(to_call_info), execute_call_info: exec_info.execute_call_info.map(to_call_info), fee_transfer_call_info: exec_info.fee_transfer_call_info.map(to_call_info), - actual_fee: exec_info.transaction_receipt.fee.0, - revert_error: exec_info.revert_error.clone(), + actual_fee: exec_info.receipt.fee.0, + revert_error: exec_info.revert_error.map(|e| e.to_string()), actual_resources: TxResources { vm_resources: to_execution_resources( - exec_info.transaction_receipt.resources.vm_resources, + exec_info.receipt.resources.computation.vm_resources, ), - n_reverted_steps: exec_info.transaction_receipt.resources.n_reverted_steps, + n_reverted_steps: exec_info.receipt.resources.computation.n_reverted_steps, data_availability: L1Gas { - l1_gas: exec_info.transaction_receipt.da_gas.l1_data_gas, - l1_data_gas: exec_info.transaction_receipt.da_gas.l1_data_gas, + l1_gas: exec_info.receipt.da_gas.l1_data_gas.0 as u128, + l1_data_gas: exec_info.receipt.da_gas.l1_data_gas.0 as u128, }, total_gas_consumed: L1Gas { - l1_gas: exec_info.transaction_receipt.gas.l1_data_gas, - l1_data_gas: exec_info.transaction_receipt.gas.l1_data_gas, + l1_gas: exec_info.receipt.gas.l1_data_gas.0 as u128, + l1_data_gas: exec_info.receipt.gas.l1_data_gas.0 as u128, }, }, } @@ -632,6 +677,8 @@ fn to_call_info(call: CallInfo) -> trace::CallInfo { let storage_read_values = call.storage_read_values; let storg_keys = call.accessed_storage_keys.into_iter().map(|k| *k.0.key()).collect(); let inner_calls = call.inner_calls.into_iter().map(to_call_info).collect(); + let execution_resources = to_execution_resources(call.charged_resources.vm_resources); + let gas_consumed = call.execution.gas_consumed as u128; trace::CallInfo { contract_address, @@ -643,13 +690,13 @@ fn to_call_info(call: CallInfo) -> trace::CallInfo { entry_point_type, calldata, retdata, - execution_resources: to_execution_resources(call.resources), + execution_resources, events, l2_to_l1_messages: l1_msg, storage_read_values, accessed_storage_keys: storg_keys, inner_calls, - gas_consumed: call.execution.gas_consumed as u128, + gas_consumed, failed: call.execution.failed, } } @@ -682,11 +729,68 @@ fn to_execution_resources( } } +impl From for BlockifierExecutionFlags { + fn from(value: ExecutionFlags) -> Self { + Self { + only_query: false, + charge_fee: value.fee(), + nonce_check: value.nonce_check(), + validate: value.account_validation(), + } + } +} + +/// Check if the tx max fee is 0, if yes, this function returns `true` - signalling that the +/// transaction should be executed without fee checks. +/// +/// This is to support the old behaviour of blockifier where tx with 0 max fee can still be +/// executed. This flow is not integrated in the transaction execution flow anymore in the new +/// blockifer rev. So, we handle it here manually to mimic that behaviour. +/// Reference: https://github.com/dojoengine/sequencer/blob/07f473f9385f1bce4cbd7d0d64b5396f6784bbf1/crates/blockifier/src/transaction/objects.rs#L103-L113 +/// +/// Transaction with 0 max fee is mainly used for genesis block. +fn skip_fee_if_max_fee_is_zero(tx: &ExecutableTxWithHash) -> bool { + match &tx.transaction { + ExecutableTx::Invoke(tx_inner) => match tx_inner { + InvokeTx::V0(tx) => tx.max_fee == 0, + InvokeTx::V1(tx) => tx.max_fee == 0, + InvokeTx::V3(tx) => { + let l1_bounds = &tx.resource_bounds.l1_gas; + let max_amount: u128 = l1_bounds.max_amount.into(); + (max_amount * l1_bounds.max_price_per_unit) == 0 + } + }, + + ExecutableTx::DeployAccount(tx_inner) => match tx_inner { + DeployAccountTx::V1(tx) => tx.max_fee == 0, + DeployAccountTx::V3(tx) => { + let l1_bounds = &tx.resource_bounds.l1_gas; + let max_amount: u128 = l1_bounds.max_amount.into(); + (max_amount * l1_bounds.max_price_per_unit) == 0 + } + }, + + ExecutableTx::Declare(tx_inner) => match &tx_inner.transaction { + DeclareTx::V0(tx) => tx.max_fee == 0, + DeclareTx::V1(tx) => tx.max_fee == 0, + DeclareTx::V2(tx) => tx.max_fee == 0, + DeclareTx::V3(tx) => { + let l1_bounds = &tx.resource_bounds.l1_gas; + let max_amount: u128 = l1_bounds.max_amount.into(); + (max_amount * l1_bounds.max_price_per_unit) == 0 + } + }, + + ExecutableTx::L1Handler(..) => true, + } +} + #[cfg(test)] mod tests { use std::collections::{HashMap, HashSet}; + use blockifier::execution::call_info::ChargedResources; use katana_cairo::cairo_vm::types::builtin_name::BuiltinName; use katana_cairo::cairo_vm::vm::runners::cairo_runner::ExecutionResources; use katana_cairo::starknet_api::core::EntryPointSelector; @@ -781,15 +885,19 @@ mod tests { }, storage_read_values: vec![felt!(1_u8), felt!(2_u8)], accessed_storage_keys: HashSet::from([3u128.into(), 4u128.into(), 5u128.into()]), - resources: ExecutionResources { - n_steps: 1_000_000, - n_memory_holes: 9_000, - builtin_instance_counter: HashMap::from([ - (BuiltinName::ecdsa, 50), - (BuiltinName::pedersen, 9), - ]), + charged_resources: ChargedResources { + vm_resources: ExecutionResources { + n_steps: 1_000_000, + n_memory_holes: 9_000, + builtin_instance_counter: HashMap::from([ + (BuiltinName::ecdsa, 50), + (BuiltinName::pedersen, 9), + ]), + }, + ..Default::default() }, inner_calls: vec![nested_call], + ..Default::default() } } diff --git a/crates/katana/pool/src/validation/stateful.rs b/crates/katana/pool/src/validation/stateful.rs index 7e81a5a9ee..0df1cbbeec 100644 --- a/crates/katana/pool/src/validation/stateful.rs +++ b/crates/katana/pool/src/validation/stateful.rs @@ -166,8 +166,11 @@ fn validate( skip_validate: bool, skip_fee_check: bool, ) -> ValidationResult { - match to_executor_tx(pool_tx.clone()) { - Transaction::AccountTransaction(tx) => { + let flags = + ExecutionFlags::new().with_account_validation(!skip_validate).with_fee(!skip_fee_check); + + match to_executor_tx(pool_tx.clone(), flags) { + Transaction::Account(tx) => { match validator.perform_validations(tx, skip_validate, skip_fee_check) { Ok(()) => Ok(ValidationOutcome::Valid(pool_tx)), Err(e) => match map_invalid_tx_err(e) { @@ -178,7 +181,7 @@ fn validate( } // we skip validation for L1HandlerTransaction - Transaction::L1HandlerTransaction(_) => Ok(ValidationOutcome::Valid(pool_tx)), + Transaction::L1Handler(_) => Ok(ValidationOutcome::Valid(pool_tx)), } } @@ -198,6 +201,15 @@ fn map_invalid_tx_err( Ok(InvalidTransactionError::ValidationFailure { address, class_hash, error }) } + TransactionExecutionError::PanicInValidate { panic_reason } => { + // TODO: maybe can remove the address and class hash? + Ok(InvalidTransactionError::ValidationFailure { + address: Default::default(), + class_hash: Default::default(), + error: panic_reason.to_string(), + }) + } + _ => Err(Box::new(err)), }, diff --git a/crates/katana/primitives/src/conversion/rpc.rs b/crates/katana/primitives/src/conversion/rpc.rs index 2fc10396cf..9a425da0c9 100644 --- a/crates/katana/primitives/src/conversion/rpc.rs +++ b/crates/katana/primitives/src/conversion/rpc.rs @@ -4,8 +4,9 @@ use std::mem; use anyhow::{Context, Result}; use katana_cairo::lang::starknet_classes::casm_contract_class::CasmContractClass; +use katana_cairo::starknet_api::contract_class::EntryPointType; use katana_cairo::starknet_api::deprecated_contract_class::{ - ContractClassAbiEntry, EntryPoint, EntryPointType, TypedParameter, + ContractClassAbiEntry, EntryPointV0, TypedParameter, }; use serde::Deserialize; use serde_json::json; @@ -34,10 +35,10 @@ pub fn legacy_inner_to_rpc_class( legacy_contract_class: LegacyContractClass, ) -> Result { fn to_rpc_entry_points( - entries: &HashMap>, + entries: &HashMap>, ) -> Result { fn collect_entry_points( - entries: &HashMap>, + entries: &HashMap>, entry_point_type: &EntryPointType, ) -> Result> { Ok(entries diff --git a/crates/katana/rpc/rpc-types/src/class.rs b/crates/katana/rpc/rpc-types/src/class.rs index f9a3521097..c39be168f2 100644 --- a/crates/katana/rpc/rpc-types/src/class.rs +++ b/crates/katana/rpc/rpc-types/src/class.rs @@ -6,8 +6,9 @@ use std::io::{self, Write}; use katana_cairo::lang::starknet_classes::contract_class::ContractEntryPoints; use katana_cairo::lang::utils::bigint::BigUintAsHex; +use katana_cairo::starknet_api::contract_class::EntryPointType; use katana_cairo::starknet_api::deprecated_contract_class::{ - ContractClassAbiEntry, EntryPoint, EntryPointType, Program as LegacyProgram, + ContractClassAbiEntry, EntryPointV0, Program as LegacyProgram, }; use katana_cairo::starknet_api::serde_utils::deserialize_optional_contract_class_abi_entry_vector; use katana_primitives::class::{ContractClass, LegacyContractClass, SierraContractClass}; @@ -126,7 +127,7 @@ pub struct RpcLegacyContractClass { #[serde(with = "base64")] pub program: Vec, /// The selector of each entry point is a unique identifier in the program. - pub entry_points_by_type: HashMap>, + pub entry_points_by_type: HashMap>, // Starknet does not verify the abi. If we can't parse it, we set it to None. #[serde(default, deserialize_with = "deserialize_optional_contract_class_abi_entry_vector")] pub abi: Option>, diff --git a/crates/katana/rpc/rpc/tests/starknet.rs b/crates/katana/rpc/rpc/tests/starknet.rs index 0dce2e039a..8e8064f27b 100644 --- a/crates/katana/rpc/rpc/tests/starknet.rs +++ b/crates/katana/rpc/rpc/tests/starknet.rs @@ -4,7 +4,7 @@ use std::sync::Arc; use anyhow::Result; use assert_matches::assert_matches; -use cainome::rs::abigen_legacy; +use cainome::rs::{abigen, abigen_legacy}; use common::split_felt; use dojo_test_utils::sequencer::{get_default_test_config, TestSequencer}; use indexmap::IndexSet; @@ -948,7 +948,7 @@ async fn block_traces() -> Result<()> { // will be using STRK fee token as its gas fee. So, the STRK fee token must exist in the chain in // order for this to pass. #[tokio::test] -async fn v3_transactions() -> Result<()> { +async fn v3_transactions() { let config = get_default_test_config(SequencingConfig { no_mining: true, ..Default::default() }); let sequencer = TestSequencer::start(config).await; @@ -966,13 +966,11 @@ async fn v3_transactions() -> Result<()> { .gas(100000000000) .send() .await - .inspect_err(|e| println!("transaction failed: {e:?}"))?; + .unwrap(); - let receipt = dojo_utils::TransactionWaiter::new(res.transaction_hash, &provider).await?; - let status = receipt.receipt.execution_result().status(); + let rec = dojo_utils::TransactionWaiter::new(res.transaction_hash, &provider).await.unwrap(); + let status = rec.receipt.execution_result().status(); assert_eq!(status, TransactionExecutionStatus::Succeeded); - - Ok(()) } #[tokio::test] @@ -1168,3 +1166,32 @@ async fn fetch_pending_blocks_in_instant_mode() { panic!("expected block with transaction receipts") } } + +#[tokio::test] +async fn call_contract() { + let config = get_default_test_config(SequencingConfig::default()); + let sequencer = TestSequencer::start(config).await; + + let provider = sequencer.provider(); + let account = sequencer.account().address(); + + // ----------------------------------------------------------------------- + // Call legacy contract + + let contract = Erc20ContractReader::new(DEFAULT_ETH_FEE_TOKEN_ADDRESS.into(), &provider); + let _ = contract.name().call().await.unwrap(); + let _ = contract.balanceOf(&account).call().await.unwrap(); + + // ----------------------------------------------------------------------- + // Call contract + + abigen!( + AccountContract, + "[{\"type\":\"function\",\"name\":\"get_public_key\",\"inputs\":[],\"outputs\":[{\"type\":\ + \"core::felt252\"}],\"state_mutability\":\"view\"}]" + ); + + // setup contract to interact with (can be any existing contract that can be interacted with) + let contract = AccountContractReader::new(account, &provider); + let _ = contract.get_public_key().call().await.unwrap(); +} diff --git a/crates/torii/types-test/Scarb.lock b/crates/torii/types-test/Scarb.lock index 903bea233e..2041330fe3 100644 --- a/crates/torii/types-test/Scarb.lock +++ b/crates/torii/types-test/Scarb.lock @@ -10,11 +10,11 @@ dependencies = [ [[package]] name = "dojo_plugin" -version = "2.8.4" +version = "2.9.2" [[package]] name = "types_test" -version = "1.0.11" +version = "1.0.12" dependencies = [ "dojo", ] diff --git a/crates/torii/types-test/Scarb.toml b/crates/torii/types-test/Scarb.toml index 58d2fcad12..376ae3bbc0 100644 --- a/crates/torii/types-test/Scarb.toml +++ b/crates/torii/types-test/Scarb.toml @@ -1,5 +1,5 @@ [package] -cairo-version = "=2.8.4" +cairo-version = "=2.9.2" edition = "2024_07" name = "types_test" version = "1.0.12" diff --git a/examples/game-lib/Scarb.lock b/examples/game-lib/Scarb.lock index 775fb46b9b..dc9ae55d70 100644 --- a/examples/game-lib/Scarb.lock +++ b/examples/game-lib/Scarb.lock @@ -24,4 +24,4 @@ dependencies = [ [[package]] name = "dojo_plugin" -version = "2.8.4" +version = "2.9.1" diff --git a/examples/game-lib/Scarb.toml b/examples/game-lib/Scarb.toml index b075438218..7f23d84816 100644 --- a/examples/game-lib/Scarb.toml +++ b/examples/game-lib/Scarb.toml @@ -7,6 +7,7 @@ members = [ [workspace.package] version = "0.1.0" description = "Example game library for Dojo" +edition = "2024_07" [workspace.dependencies] dojo = { path = "../../crates/dojo/core/" } diff --git a/examples/game-lib/armory/Scarb.toml b/examples/game-lib/armory/Scarb.toml index 103b5ec8ee..d280b1ce50 100644 --- a/examples/game-lib/armory/Scarb.toml +++ b/examples/game-lib/armory/Scarb.toml @@ -2,6 +2,7 @@ name = "armory" version = "0.1.0" description = "An armory of epic weapons." +edition.workspace = true [dependencies] dojo.workspace = true diff --git a/examples/game-lib/bestiary/Scarb.toml b/examples/game-lib/bestiary/Scarb.toml index 195a962b10..77d5c5d9eb 100644 --- a/examples/game-lib/bestiary/Scarb.toml +++ b/examples/game-lib/bestiary/Scarb.toml @@ -2,6 +2,7 @@ name = "bestiary" version = "0.1.0" description = "Some scary foes to fight." +edition.workspace = true [dependencies] dojo.workspace = true diff --git a/examples/simple/Scarb.lock b/examples/simple/Scarb.lock index 5e54d5ab44..96d37ec9d7 100644 --- a/examples/simple/Scarb.lock +++ b/examples/simple/Scarb.lock @@ -3,21 +3,21 @@ version = 1 [[package]] name = "dojo" -version = "1.0.11" +version = "1.0.12" dependencies = [ "dojo_plugin", ] [[package]] name = "dojo_cairo_test" -version = "1.0.11" +version = "1.0.12" dependencies = [ "dojo", ] [[package]] name = "dojo_plugin" -version = "2.8.4" +version = "2.9.2" [[package]] name = "dojo_simple" diff --git a/examples/simple/Scarb.toml b/examples/simple/Scarb.toml index 388df4c4b1..2fbe5bf02a 100644 --- a/examples/simple/Scarb.toml +++ b/examples/simple/Scarb.toml @@ -1,5 +1,5 @@ [package] -cairo-version = "=2.8.4" +cairo-version = "=2.9.2" name = "dojo_simple" version = "0.1.0" edition = "2024_07" @@ -11,9 +11,10 @@ build-external-contracts = ["dojo::world::world_contract::world"] [dependencies] dojo = { path = "../../crates/dojo/core" } -starknet = "2.8.4" +starknet = "2.9.2" [dev-dependencies] +cairo_test = "2.9.2" dojo_cairo_test = { path = "../../crates/dojo/core-cairo-test" } [features] diff --git a/examples/simple/dojo_dev.toml b/examples/simple/dojo_dev.toml index 5f388ecb45..f7d96c5697 100644 --- a/examples/simple/dojo_dev.toml +++ b/examples/simple/dojo_dev.toml @@ -8,7 +8,7 @@ rpc_url = "http://localhost:5050/" # Default account for katana with seed = 0 account_address = "0x127fd5f1fe78a71f8bcd1fec63e3fe2f0486b6ecd5c86a0466c3a21fa5cfcec" private_key = "0xc5b2fcab997346f3ea1c00b002ecf6f382c5f9c9659a3894eb783c5320f912" -#world_address = "0x077c0dc7c1aba7f8842aff393ce6aa71fa675b4ced1bc927f7fc971b6acd92fc" +#world_address = "0x01fdfa7a4dc649d4203d5669fb8086474a686458ea86f95027c7b9a5f10d43bb" [namespace] default = "ns" diff --git a/examples/simple/manifest_dev.json b/examples/simple/manifest_dev.json index 4cba9216c2..2ae5267d66 100644 --- a/examples/simple/manifest_dev.json +++ b/examples/simple/manifest_dev.json @@ -1,7 +1,7 @@ { "world": { - "class_hash": "0x45575a88cc5cef1e444c77ce60b7b4c9e73a01cbbe20926d5a4c72a94011410", - "address": "0x64613f376f05242dfcc9fe360fa2ce1fdd6b00b1ce73dae2ea649ea118fd9be", + "class_hash": "0x2361c106e790c1d1bff8c9f73c9d84e9e3ac94b2d8df6db4ddd55e82c33a9b4", + "address": "0x1fdfa7a4dc649d4203d5669fb8086474a686458ea86f95027c7b9a5f10d43bb", "seed": "simple", "name": "simple", "entrypoints": [ @@ -1252,8 +1252,8 @@ }, "contracts": [ { - "address": "0x1958afba5b86ac51f48313047357981a59ac274170e353f79d84eedc89219e3", - "class_hash": "0x340e197b0fac61961591acdd872a89b0cb862893272ab72455356f5534baa7e", + "address": "0x6bd026832b87c2374e80a6cc81cda814d5a6438a090422ea9965d9c6f5a11b", + "class_hash": "0x4f8b513b49ec2fdb194efa3a8d041aef0e66346a6e8a9a999b1f4eb2fb17045", "abi": [ { "type": "impl", @@ -1510,8 +1510,8 @@ ] }, { - "address": "0x5d9f3674dd96f173735f949d303abf107d1761b838a733703e95b31cc479270", - "class_hash": "0x2a400df88b0add6c980d281dc96354a5cfc2b886547e9ed621b097e21842ee6", + "address": "0x927d206ade2170c687f3587b2ea656b7b39e4422c75f00ae7051ba32a32b78", + "class_hash": "0x61abffb3fd1eee27cba6298be11b8252c21eb3f69c8730ff44e9859e173cfb8", "abi": [ { "type": "impl", @@ -1686,184 +1686,8 @@ ] }, { - "address": "0x38b6e133a81a3ef41438752fbcf497ed74f284fe64a70e02652c3fb434d4e8", - "class_hash": "0x7cc8d15e576873d544640f7fd124bd430bd19c0f31e203fb069b4fc2f5c0ab9", - "abi": [ - { - "type": "impl", - "name": "c3__ContractImpl", - "interface_name": "dojo::contract::interface::IContract" - }, - { - "type": "interface", - "name": "dojo::contract::interface::IContract", - "items": [] - }, - { - "type": "impl", - "name": "c3__DeployedContractImpl", - "interface_name": "dojo::meta::interface::IDeployedResource" - }, - { - "type": "struct", - "name": "core::byte_array::ByteArray", - "members": [ - { - "name": "data", - "type": "core::array::Array::" - }, - { - "name": "pending_word", - "type": "core::felt252" - }, - { - "name": "pending_word_len", - "type": "core::integer::u32" - } - ] - }, - { - "type": "interface", - "name": "dojo::meta::interface::IDeployedResource", - "items": [ - { - "type": "function", - "name": "dojo_name", - "inputs": [], - "outputs": [ - { - "type": "core::byte_array::ByteArray" - } - ], - "state_mutability": "view" - } - ] - }, - { - "type": "function", - "name": "dojo_init", - "inputs": [], - "outputs": [], - "state_mutability": "view" - }, - { - "type": "impl", - "name": "WorldProviderImpl", - "interface_name": "dojo::contract::components::world_provider::IWorldProvider" - }, - { - "type": "struct", - "name": "dojo::world::iworld::IWorldDispatcher", - "members": [ - { - "name": "contract_address", - "type": "core::starknet::contract_address::ContractAddress" - } - ] - }, - { - "type": "interface", - "name": "dojo::contract::components::world_provider::IWorldProvider", - "items": [ - { - "type": "function", - "name": "world_dispatcher", - "inputs": [], - "outputs": [ - { - "type": "dojo::world::iworld::IWorldDispatcher" - } - ], - "state_mutability": "view" - } - ] - }, - { - "type": "impl", - "name": "UpgradeableImpl", - "interface_name": "dojo::contract::components::upgradeable::IUpgradeable" - }, - { - "type": "interface", - "name": "dojo::contract::components::upgradeable::IUpgradeable", - "items": [ - { - "type": "function", - "name": "upgrade", - "inputs": [ - { - "name": "new_class_hash", - "type": "core::starknet::class_hash::ClassHash" - } - ], - "outputs": [], - "state_mutability": "external" - } - ] - }, - { - "type": "constructor", - "name": "constructor", - "inputs": [] - }, - { - "type": "event", - "name": "dojo::contract::components::upgradeable::upgradeable_cpt::Upgraded", - "kind": "struct", - "members": [ - { - "name": "class_hash", - "type": "core::starknet::class_hash::ClassHash", - "kind": "data" - } - ] - }, - { - "type": "event", - "name": "dojo::contract::components::upgradeable::upgradeable_cpt::Event", - "kind": "enum", - "variants": [ - { - "name": "Upgraded", - "type": "dojo::contract::components::upgradeable::upgradeable_cpt::Upgraded", - "kind": "nested" - } - ] - }, - { - "type": "event", - "name": "dojo::contract::components::world_provider::world_provider_cpt::Event", - "kind": "enum", - "variants": [] - }, - { - "type": "event", - "name": "dojo_simple::c3::Event", - "kind": "enum", - "variants": [ - { - "name": "UpgradeableEvent", - "type": "dojo::contract::components::upgradeable::upgradeable_cpt::Event", - "kind": "nested" - }, - { - "name": "WorldProviderEvent", - "type": "dojo::contract::components::world_provider::world_provider_cpt::Event", - "kind": "nested" - } - ] - } - ], - "init_calldata": [], - "tag": "ns-c3", - "selector": "0x69bd1ce04aa3945bacae701a68e86c58b44d21c4debee8a65fa921b4a717c5f", - "systems": [ - "upgrade" - ] - }, - { - "address": "0x47882727700801173a3ff731928c9d41303237e142104bd155f48fac3806814", - "class_hash": "0x340e197b0fac61961591acdd872a89b0cb862893272ab72455356f5534baa7e", + "address": "0x7c62d68fcd656d72eb64ad6375a1907f3be1afec52caac3b742e53a26d069d8", + "class_hash": "0x4f8b513b49ec2fdb194efa3a8d041aef0e66346a6e8a9a999b1f4eb2fb17045", "abi": [ { "type": "impl", @@ -2123,13 +1947,13 @@ "models": [ { "members": [], - "class_hash": "0x506d770b7301fc791cf3a19705848647524a0e2595a4d38365df917b4d1d246", + "class_hash": "0x1df58a3ea6de0001ca46fd906276d7189856a306c4e3002040c36c183d94296", "tag": "ns-M", "selector": "0x50aac05281bbfaa5393cacacc12e86f59ab7d5f3ee619427dd33a0756526f24" }, { "members": [], - "class_hash": "0x506d770b7301fc791cf3a19705848647524a0e2595a4d38365df917b4d1d246", + "class_hash": "0x1df58a3ea6de0001ca46fd906276d7189856a306c4e3002040c36c183d94296", "tag": "ns2-M", "selector": "0x3b26427a55dd1d51738b0e3e989fe6f25649e1311295f30f0a4fa2db439aa2c" } @@ -2137,13 +1961,13 @@ "events": [ { "members": [], - "class_hash": "0x943620824729c411797e6be26c3078924893be417ab08789489532d9c6aebb", + "class_hash": "0x59d5383613416bc60ebabaff3f908509cf6df91d0fdd67d2c73723619c17ae4", "tag": "ns-E", "selector": "0x260e0511a6fa454a7d4ed8bea5fa52fc80fc588e33ba4cb58c65bbeeadf7565" }, { "members": [], - "class_hash": "0x5ed10e08c25eb6a1cb7e221209eac3baab14be36a3ea0b55f789d8302712310", + "class_hash": "0x1c07ad25f96c43cd5d0f4ed4f60eb111e5e4819b7ad8858c8e1e91d3386e614", "tag": "ns-EH", "selector": "0x4c6c7772b19b700cf97d078d02a419670d11d2b689a7a3647eac311b2817ced" } diff --git a/examples/simple/src/lib.cairo b/examples/simple/src/lib.cairo index 682d9039c1..18c9ff165b 100644 --- a/examples/simple/src/lib.cairo +++ b/examples/simple/src/lib.cairo @@ -43,7 +43,7 @@ pub mod c1 { use dojo::event::EventStorage; fn dojo_init(self: @ContractState, v: felt252) { - let m = M { k: 0, v, }; + let m = M { k: 0, v }; let mut world = self.world_default(); world.write_model(@m); @@ -54,7 +54,7 @@ pub mod c1 { fn system_1(ref self: ContractState, k: felt252, v: felt252) { let mut world = self.world_default(); - let m = M { k, v, }; + let m = M { k, v }; world.write_model(@m) } @@ -70,17 +70,17 @@ pub mod c1 { fn system_3(ref self: ContractState, k: felt252, v: u32) { let mut world = self.world_default(); - let e = E { k, v, }; + let e = E { k, v }; world.emit_event(@e); - let eh = EH { k, v, }; + let eh = EH { k, v }; world.emit_event(@eh); } fn system_4(ref self: ContractState, k: felt252) { let mut world = self.world_default(); - let m = M { k, v: 288, }; + let m = M { k, v: 288 }; let entity_id = Model::::entity_id(@m); @@ -116,17 +116,19 @@ pub mod c3 {} mod tests { use dojo::model::ModelStorage; use dojo_cairo_test::{ - spawn_test_world, NamespaceDef, TestResource, ContractDefTrait, WorldStorageTestTrait + spawn_test_world, NamespaceDef, TestResource, ContractDefTrait, WorldStorageTestTrait, }; use super::{c1, m_M, M}; #[test] fn test_1() { let ndef = NamespaceDef { - namespace: "ns", resources: [ + namespace: "ns", + resources: [ TestResource::Model(m_M::TEST_CLASS_HASH), TestResource::Contract(c1::TEST_CLASS_HASH), - ].span() + ] + .span(), }; let world = spawn_test_world([ndef].span()); diff --git a/examples/spawn-and-move/Scarb.lock b/examples/spawn-and-move/Scarb.lock index 019c180bc8..9d1a0485f0 100644 --- a/examples/spawn-and-move/Scarb.lock +++ b/examples/spawn-and-move/Scarb.lock @@ -24,14 +24,14 @@ dependencies = [ [[package]] name = "dojo_cairo_test" -version = "1.0.11" +version = "1.0.12" dependencies = [ "dojo", ] [[package]] name = "dojo_examples" -version = "1.0.11" +version = "1.0.12" dependencies = [ "armory", "bestiary", @@ -41,4 +41,4 @@ dependencies = [ [[package]] name = "dojo_plugin" -version = "2.8.4" +version = "2.9.2" diff --git a/examples/spawn-and-move/Scarb.toml b/examples/spawn-and-move/Scarb.toml index 32672d248f..d720379558 100644 --- a/examples/spawn-and-move/Scarb.toml +++ b/examples/spawn-and-move/Scarb.toml @@ -1,5 +1,5 @@ [package] -cairo-version = "=2.8.4" +cairo-version = "=2.9.2" name = "dojo_examples" version = "1.0.12" # Use the prelude with the less imports as possible @@ -16,9 +16,10 @@ build-external-contracts = [ "dojo::world::world_contract::world" ] armory = { path = "../game-lib/armory" } bestiary = { path = "../game-lib/bestiary" } dojo = { path = "../../crates/dojo/core" } -starknet = "2.8.4" +starknet = "2.9.2" [dev-dependencies] +cairo_test = "2.9.2" dojo_cairo_test = { path = "../../crates/dojo/core-cairo-test" } [features] diff --git a/examples/spawn-and-move/dojo_dev.toml b/examples/spawn-and-move/dojo_dev.toml index 49e8d08de2..a1e96bb9e2 100644 --- a/examples/spawn-and-move/dojo_dev.toml +++ b/examples/spawn-and-move/dojo_dev.toml @@ -31,7 +31,7 @@ rpc_url = "http://localhost:5050/" # Default account for katana with seed = 0 account_address = "0x2af9427c5a277474c079a1283c880ee8a6f0f8fbf73ce969c08d88befec1bba" private_key = "0x1800000000300000180000000000030000000000003006001800006600" -world_address = "0x52ee4d3cba58d1a0462bbfb6813bf5aa1b35078c3b859cded2b727c1d9469ea" +world_address = "0x736c456dec44741fad1940876e62342a626ca73fd4ac574a94eb3ded2e25d8d" ipfs_config.url = "https://ipfs.infura.io:5001" ipfs_config.username = "2EBrzr7ZASQZKH32sl2xWauXPSA" ipfs_config.password = "12290b883db9138a8ae3363b6739d220" diff --git a/examples/spawn-and-move/manifest_dev.json b/examples/spawn-and-move/manifest_dev.json index fec6bf6d76..e47b64ed89 100644 --- a/examples/spawn-and-move/manifest_dev.json +++ b/examples/spawn-and-move/manifest_dev.json @@ -1,7 +1,7 @@ { "world": { - "class_hash": "0x45575a88cc5cef1e444c77ce60b7b4c9e73a01cbbe20926d5a4c72a94011410", - "address": "0x52ee4d3cba58d1a0462bbfb6813bf5aa1b35078c3b859cded2b727c1d9469ea", + "class_hash": "0x2361c106e790c1d1bff8c9f73c9d84e9e3ac94b2d8df6db4ddd55e82c33a9b4", + "address": "0x736c456dec44741fad1940876e62342a626ca73fd4ac574a94eb3ded2e25d8d", "seed": "dojo_examples", "name": "example", "entrypoints": [ @@ -1252,8 +1252,8 @@ }, "contracts": [ { - "address": "0x6bfba78b8f4f42da469860a95291c2fad959c91ea747e2062de763ff4e62c4a", - "class_hash": "0x3e65d56b082c47e9e0952503424bcf6956ddd6d5faff40dd9900ea787d89c6", + "address": "0x4ba8772b4785c0afce5b73ed98d30cf8832e3bfcceff5a688b085ef6d0f164e", + "class_hash": "0x2267c07d691a6da353f0beaec2e15f3b79ef271953364efb143c343713a6ccd", "abi": [ { "type": "impl", @@ -1606,8 +1606,8 @@ ] }, { - "address": "0x50b1497d463d52cbeb5919a35a82360ea6702db2b9c62c2d69c167995f34c08", - "class_hash": "0x16e8d864b5b5484bad069133a751f72961f9e5edade4f4f3b3b6076f6394c5b", + "address": "0x77a851ab985e88cbfdaee77a7c10e7afde9c9c3e49aa9ec2537e41de44e857c", + "class_hash": "0x7b31bb137c041fbe8247724a888bb108aaf2ff6b2bb7be5ecf5c954471e30c3", "abi": [ { "type": "impl", @@ -1800,8 +1800,8 @@ ] }, { - "address": "0x4b41a2abaeff170f3a04acb0144790a5a812e25e7a735dfef959247cfeb527", - "class_hash": "0x43e7cc34a35abdb9baf6804c71526811d8d3cccf58d66be5a095bd79b9be82e", + "address": "0xe1fb33e10629d61ac3eb7c9bdca6a0ce947bcf7ecf598fbc0c42f9c76b3808", + "class_hash": "0x38c4b1f36acecf15ea27430f34956bdfed933271ef23bcb9444db15dce66c6b", "abi": [ { "type": "impl", @@ -1976,8 +1976,8 @@ ] }, { - "address": "0x72a9f501c260b2d13f8988ea172680c5c1fdc085c5b44bdcac8477362ed5290", - "class_hash": "0xa1884cbaa79b05287019b513a94f993f0d98ed4d9602370bc2e5aaa04feebc", + "address": "0x3032d716e69f67e05983edad3d3b5b8efa9b08d09c778e2eecf224e095a1160", + "class_hash": "0x5dd5b200655bdc68fba0ec23b25a9fb2d8ea2da118d60789c2d1d6adac3afae", "abi": [ { "type": "impl", @@ -2162,37 +2162,37 @@ "models": [ { "members": [], - "class_hash": "0x60908b9fa1c4e26baf1e118fab6b79626db53f10a534a0e17bd3f7f9bd872d", + "class_hash": "0x2484dcdbc95660098ac9bd79cbd5d67b29db4440bd6ec29703edd2de2938239", "tag": "ns-Message", "selector": "0x7e77b60a338fa7414998176fd93ff265e4ca04b93105ac98f155bcb2e9e8438" }, { "members": [], - "class_hash": "0x417aef6c830a2d6e5083c5a47e87a61c8c9eb360e40acd835b16299d433b3c1", + "class_hash": "0x39664ad816df26acffafde523703dabbbd6340c882f0a74c065a65456919e80", "tag": "ns-MockToken", "selector": "0x23ee42c8f47d1d693b966176dcd5deca0ec147b33e42186382d9d027603a6fd" }, { "members": [], - "class_hash": "0x645ba084821e6a6a361c209e6bbaf40ba76dd8e9ac1c8a18470995fb3a7979b", + "class_hash": "0x150eee99ad95167e659a29f95d488f9b3352ede4a71ffbfcf0c6c58e0bb8bfc", "tag": "ns-Moves", "selector": "0x54104f060e63bdd9d68bb872f2dc6d40a101e168e18b999c10de348d06ea24a" }, { "members": [], - "class_hash": "0x77018639b9a36824fe474c7c2b2ba7b9ef0f30fa54be1d1f62037dbfc01a89b", + "class_hash": "0x71182ddf8495649cadc7d56859b2ad948fb1ff9d662ceb87d9f0acddb35741f", "tag": "ns-PlayerConfig", "selector": "0x3bea561c3e142a660a00d1471d7712b70695dc4ee3b173aeaefd5178f7a21af" }, { "members": [], - "class_hash": "0x6ccefe3d52e17e136309362d4b50c74c54b80f203ec1fb2f065e5ac7e4d4f5c", + "class_hash": "0x42626cdced5ba2ef1b35c3bdc9f2585af36195cb61a9aa522d1fa7099afce59", "tag": "ns-Position", "selector": "0x5e12c61e9cf30881c126a6d298975c8d79f95abed1a05c2d38b7803ed19445f" }, { "members": [], - "class_hash": "0x1f071ca31db4450e20be936d32669434959a9677470a9d8d164833a3ca93bcf", + "class_hash": "0x6cbcf6752cad02e0b6013bf08ebf977e4e862f51cec295b30906aae79d692f", "tag": "ns-ServerProfile", "selector": "0x641dc5f178aff0c7935a8f1ae30c6038a3d3512ea164d486f98bc37b6beabf" } @@ -2200,13 +2200,13 @@ "events": [ { "members": [], - "class_hash": "0x2999886b1a0ee530eb279f9808632b70750ac93418da8493fb554eebfb7b99a", + "class_hash": "0x1ed25b9d560885e8749d828ad56723d84bb8ffeefb8c7315957cd984e6f91b2", "tag": "ns-Moved", "selector": "0x6d4c1ac3717ba997500153c52344a2acac5123bbfa0f78d3dcc04cb786826b0" }, { "members": [], - "class_hash": "0x4771fc691467af7b9b606ae34d5fa9abe762adb856d65d2c508ce66b3941671", + "class_hash": "0x4021dfedffcc0efe8a09b97c634fcab28a00581b684d972c7c906b99517bc20", "tag": "ns-MyInit", "selector": "0xe1c030210beae7e2153a7b996d7d2ae6a428faf16a61f192f02178718b6f0" } diff --git a/examples/spawn-and-move/src/actions.cairo b/examples/spawn-and-move/src/actions.cairo index cd116a2255..f08b1489f7 100644 --- a/examples/spawn-and-move/src/actions.cairo +++ b/examples/spawn-and-move/src/actions.cairo @@ -53,13 +53,13 @@ pub mod actions { let byte: u8 = (uint % 255).try_into().unwrap(); let moves = Moves { - player: seed.try_into().unwrap(), remaining: byte, last_direction: Direction::None + player: seed.try_into().unwrap(), remaining: byte, last_direction: Direction::None, }; let position = Position { - player: seed.try_into().unwrap(), vec: Vec2 { x: prng, y: prng } + player: seed.try_into().unwrap(), vec: Vec2 { x: prng, y: prng }, }; let server_profile = ServerProfile { - player: seed.try_into().unwrap(), server_id: prng, name: "hello" + player: seed.try_into().unwrap(), server_id: prng, name: "hello", }; let player_config = PlayerConfig { player: seed.try_into().unwrap(), @@ -125,7 +125,7 @@ pub mod actions { let items = array![ PlayerItem { item_id: 1, quantity: 100, score: 150 }, - PlayerItem { item_id: 2, quantity: 50, score: -32 } + PlayerItem { item_id: 2, quantity: 50, score: -32 }, ]; let config = PlayerConfig { player, name, items, favorite_item: Option::Some(1) }; @@ -139,7 +139,7 @@ pub mod actions { // Don't need to read the model here, we directly overwrite the member "name". world .write_member( - Model::::ptr_from_keys(player), selector!("name"), name + Model::::ptr_from_keys(player), selector!("name"), name, ); } @@ -207,7 +207,7 @@ pub mod actions { let mut world = self.world_default(); world.write_model(@Moves { player, remaining: 99, last_direction: Direction::None }); - world.write_model(@Position { player, vec: Vec2 { x: 10, y: 10 } },); + world.write_model(@Position { player, vec: Vec2 { x: 10, y: 10 } }); } /// Use the default namespace "ns". A function is handy since the ByteArray @@ -224,20 +224,22 @@ mod tests { use dojo::world::WorldStorageTrait; use dojo_cairo_test::{ spawn_test_world, NamespaceDef, TestResource, ContractDefTrait, ContractDef, - WorldStorageTestTrait + WorldStorageTestTrait, }; use super::{actions, IActionsDispatcher, IActionsDispatcherTrait}; - use dojo_examples::models::{Position, PositionValue, m_Position, Moves, m_Moves, Direction,}; + use dojo_examples::models::{Position, PositionValue, m_Position, Moves, m_Moves, Direction}; fn namespace_def() -> NamespaceDef { let ndef = NamespaceDef { - namespace: "ns", resources: [ + namespace: "ns", + resources: [ TestResource::Model(m_Position::TEST_CLASS_HASH), TestResource::Model(m_Moves::TEST_CLASS_HASH), TestResource::Event(actions::e_Moved::TEST_CLASS_HASH), TestResource::Contract(actions::TEST_CLASS_HASH), - ].span() + ] + .span(), }; ndef @@ -247,7 +249,8 @@ mod tests { [ ContractDefTrait::new(@"ns", @"actions") .with_writer_of([dojo::utils::bytearray_hash(@"ns")].span()) - ].span() + ] + .span() } #[test] @@ -303,7 +306,7 @@ mod tests { let initial_position: Position = world.read_model(caller); assert( - initial_position.vec.x == 10 && initial_position.vec.y == 10, 'wrong initial position' + initial_position.vec.x == 10 && initial_position.vec.y == 10, 'wrong initial position', ); actions_system.move(Direction::Right(())); diff --git a/examples/spawn-and-move/src/models.cairo b/examples/spawn-and-move/src/models.cairo index d1ea16e830..e9aa05fdc1 100644 --- a/examples/spawn-and-move/src/models.cairo +++ b/examples/spawn-and-move/src/models.cairo @@ -39,7 +39,7 @@ pub struct Moves { #[key] pub player: ContractAddress, pub remaining: u8, - pub last_direction: Direction + pub last_direction: Direction, } #[derive(Copy, Drop, Serde, Debug)] @@ -53,7 +53,7 @@ pub struct MockToken { #[derive(Copy, Drop, Serde, IntrospectPacked, Debug)] pub struct Vec2 { pub x: u32, - pub y: u32 + pub y: u32, } // If `Vec2` wasn't packed, the `Position` would be invalid, diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 4d2dee853e..1de01fa45c 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "1.80.0" +channel = "1.81.0" diff --git a/spawn-and-move-db.tar.gz b/spawn-and-move-db.tar.gz index 5597000c9d2f34b757805abe3ad1ad549b6902e7..66981dc6d3930e45a06207d93ff54b25b69ad4d4 100644 GIT binary patch delta 1676729 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

=Sr#G*d8MR<)7a#i%%F23v}E+ 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≈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«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 z z4QIgv(hh2fy%d!?uxdK_o(OY7)Ft7gbK$mC6pY_0b+*~9gnwU)x?^Q@AM%%4)Da{e zP}!1ZzaMG#M^3wsFN+r{(m1YP#?hhZ`{OvO z+DgqD{9zo?4>rO7g_Nes2NfXy*WSxc)F)OZk1LS|$9hYwJe9z$t$&I`v@dB^lf{Fm znTqvZcE{<|LjN6(P)y}Sg!X^6_p;N!U_yIGGM$F7&tPMv_9+2U;He#FAu&TxQ$*N= zT(Qq!nxDjf{J=LT_pXla+x*Ce2Eqg2H+O-~C{(7%Ckz;a78_@P1cE8+)C@aGAB^|E zA$r=OTD0?IY9*;*@O}rL#NfI*jbc=aT(@LmfI#_jOP{bYgNuvgI?c2Camz0{zU`0$ zxcb}%QqiS7YE{lq8_@ZANbV^;O?W)jDJfJMcSq?Ig;AxmJ(09Ig&X$EPSS$TkSL#W2rQFc6J)@TCCrT z&p1j#u#+dr76oGU2Co%)z7k$@R6tt?2`nDZ6=Jpou0=a2#7}^0VwMXP6T^o)LPnO& z&uIdG*Xo>>A|ub-`37grxBwQ!sp9vnW%V`c_E-%DvpOBXfp5!0yI}zgs|{eKZ*yFm zN5EO`+};utQ2CDSwNf$0uqu>{N8A_lYc@q2ZGGFVwg*1Bno3%WU4j}XB%;(%bl+6A zg!T$Vd77ukSw#{T*(oA3j3rj1ol>+_pw&x%nIwhQwCuF=aM76*iv!{FRB-!N#oE`J z7pROu6|*(`f>4EkR>w0Yc8dj|=X6-2*L4Ota^!ETfqzK1TZIZ~-<_+$2C_Y_ovkgG zf%sky{h}as%Uj0-WovfET2+xa_0iip-AM>|i6msiYUzX?xkEu_mSRqvxtZWsG6XY! zlH^1~ng@vwgL;>@dEo(B4TM*^)m!>e7|4AexPW6&&DtafvR6Levl`F`_kAwhcU^(Z zqQQk>PtBu5A0XmHi{l+AM=;R>DN$X!?@6)Dceyf!uxFmxkj_bnX7)wKqenh)=$++t zD1B+%OcKjMu$??2k;w*E(AZ@F-ec~6*fLK%&z2NFw2oBsY1ur)TxnQ>h}so| z9^ZeiaB&?ZCWTR|Y)o=DCF2o<_8=85d9ByE5WfbiGRkJA2<)-c1I2^fy<~8I@(TRa zWjw>*wgesg{X>`WB9uGUAC_P(Lt-nCH%s3=ufVR$$^<5Xr&TGs0$)7)uWAK4hX{ex zDtwis{D-yFrN$X;krk}(1dep&qgBGa6_RAV$$?p~mwovB7{4|3CX0!Hb6qyKCwh*Y zX4{d~CNT=gU59EH{vbA~Z*Z-D_DcuIHoQZ>$W5k?=<76?dBErnAcU8# z@~NiWq%DSa9s?awrYKsUK}Ih(Nl4kl*h6kIepgd&GKFLA6{b)|p0<-8 z@w>7uIGLRA(KKB$1m9C*-e<*0ACV#UbP?G%#YwyZ&t$Mo@CYm+T5!34y|1*=XT`~9 z10UnN9|R{;NaqtuC243k-@06LS|l!Q9LBs%;^B|N#~<`2F^qfV8p}Tl542eloE)^{ z0uG7&RHlzaHj4{c!hE$DMJbr^b@=dsx+hA}{;pT_J&6)YE_ta6-$k(G?FEH#@)-4k z)+4iLGIK>MwO*Y$b)}+z1~2G%CTcttjY+CW8pRoU`Q9aR2iE8;>+cQ}#voi^KTZR( z-IL&m%(JX@AaVa0q>Tn{_c=Nn`Apz}Q$4KDCcMCiu zqrHlVgXlI8XF!)+e4NR9#_iQX1Tp>__L}xYy;&i1kna$GWMrc?=Cd|c8fK)&lpkzm z`Lp)1&hNRy&WE!$7EB$|UuOkBPa8mRlr*YH(!ik%Z-~f$l#9zdg)(JUy9{N}&NytpneTf)*^$~=q8jJ)}yA!fE!XtAx_SG}p~ZgVsz?^}r~V>!c-R9C7rT8ciB(;?>v5DV&Wh#A@=XUNcU?8z)7q#<}|=VpU~+ zk>6FkplGauNBFWH!mRp^F)R6!nReM)!NA?4jQekx6^ff4mpM-ZBY%T>u?z-Px+)CTuIF2Ok?Hf zV5sg#_rQ_Ho*TAI{0S}mW3lsIRAoYhu4io>nhJ1uOR3(>{G^2gQ}9$NgoKM0#-LTK zDCIH@K|TS6F*$Ep?te*zI3G)6kOH6J5GU{I!8VOD6T5-o>a?oV>^WJY?n)SLKlMV3 zi-%aQ%{mx zFaR11cU8?zH*T|-pXWMoq|di0NcUDt&d4%RHPx6&VZ=!r^N5uwJII#m`zwSd}JEGM%*V^MU&NY6Z09c~`UNv|85GtUhPN9Ad9n1YMO zOm;-s&{|y|?>(0iUhvP~!I+xJ;9@Epy0|Ivm)E0nXlg3_{vC5-25%{#3*FC3x#$~% zx6~)X18mW7gOJC(Z({JWimWvIc+;XWMQKY}AZyg3Pw27z=cn9vSM>N)SwO^htwc+` zX7rqrQDlSIO-x;HWIrvu^NRaD*VnY_k0Km5$N#4_WBk?TF={m)u=SFb_$!>J|SH&E(qIOd>jWDxmiv4B@q|#I^TYY@<^0 z2-8VnWm*~I>u{9M^h?Rc2l8wy6Kd=U1}PO8I|ydsL~otvzl3{mM+;ksc$5%%nb2L* z>U*5KPqkJ~iGY9oU(HE}%M#SLdA%dQKr5rmsu;+#8L?jSzLyJ>#@G7vNeG&zpgHnq zI9yJ%e%vF{n%$gB$`^^?#lH6TP< zOd0$GLp8BQTaB|q^Vc_TL)GR=8R;i5{QiV}PAT%WkwJgPmw}dp*H)H?&t!n8-y>Em zi29r(Q`E&8R)+*olv)asaIafgKM--AoJCDN?AuW$CG^qCWiB-v)W7h}6;g@CgYayq zNY3d2+Abo2e&FPQ$iWep#bR)n87{$v26KI^1)p>W#d9Gb8oc;~kqdRJQWo93mC>Z| zCW$oD?;L;1&FwLwNqS*yY-uCVDvG5_n5j4g;atQITE#XM+4IT~mv0`o@ClRKU+|iB zWKYd3uXE*$qgja2+(7$&6>+o*HqW2Z$5s$pLXGI`J8gxf#@L@-9n2L;qsY4Vzbc1z zC`-Y!$o&rlL3VaEP520w86;MtDvHEVgP7eqW3GRNuB)5Lnjxro3xQ=94p42n!~TC@ zLBVG=l5*=m)5YSz?9%Wi;0+x9t9>@YSo3EUkMuwcJelTt);giadY-jQ&twu0HVViD zZDYNlK|p9MXeIacISBPgmVE(l(pVNPZQ^H=Ja+D<#of9-+!V=JlE4 zb81jlNKOR9>&iQ>q2c?HXB#DMqm0Y3-!mabxb(m6mzcxd=m1GTw!h(_?#FGrLU!Sk z^ZTsO^7v{QNp9_-1astK5?1LBof_8z+Ex0XCKijho7m#V4Jqq(MEssJ?+@XIyy|}2?gkl=v<2{=i&4sv1V|mYU|R^6fvw!5?C)fsd^5Slf+}^7Q0+nhSsGf5h$w)TSzkz ztaYhzSjuvHtwMXV6Z6(!s{rjRp&djcw||Q{xa9jHLvA*H3y+t9cJ=plnf)_=FciNv zJ2N)E&ruFc&8(+8xR3`lKd))t5*F+2WBRzBn}XxQu-JpG?UA(!DjS_XycLdIQZqHY z<&RJKyw!Sc^^Q%%A1+imy92tI`nr8jg+KJ=gF~h0%lpBR$Fy5zfkMNuhxaTP^7`=Q zVO~n>l)@80ijPs*y6zxEXRh^s@*)@-)esa0;T`rehXBOD#Um*?alVrgqNz=@1saWm zLZ8l_=E}v8s_s)x^G1xAjVqRn-6reXPqPymTXN1gjA{S&gVVSQkJAj6V&a16*bS$J z==azSyugE;E{$mh{;41cyH&&fG$e9iGV-Ubr~V`m#0|-&f*bXa^aFc;U(7lgyY`rD z!>~5S#Aad-qVpxq*yGP`x65|_he0>}{pEQ~^n!E@zK7z^YdwLup9AsdwQf-Omq7e^ zsp~LKJd9J$K)X9xLn_Q$VdO0m53>_}utZCn z#lf%V>%*?lcK>S%l%Aqai`5cK;q%yKEkQ*!3esq{Gf%rBB-sST)EA^G} zsp_8!%a`noxSi8p*t&tSyQbkYCA7J~uQj1KI>e`fXnQy=MP35XS(~mmy!^WB&qJO! z`_)y|n2u>Abm4K0=^b9+3A*s^i#*eM;Y#whGtk02$p~%dJYIW$ras6;iFO?P4M$7g zD9y9hz4XKGL*ze+m$~5CF9%+Dmv4kaKuQrj!}n1H$QIt*(ZXYz*j9_6)4q~afS-Tm z2|X%njF&af`q8My!Row%M*~Own*-s`%I1=jAB`YG(|=IoWGimq6*uG+=k9c=2xGkL zkhqWG@tSzW6*aeiU}(kDI#0=Q*aMzd+?vg!^tbP<0AncNnr|zvS+ZTL?LcYwAIk1; zhx@#_TyZT>kCKI`#eY4oxFJ#xWB8F&_m9)5LHue`QG>HIijDthQj@>$=+ssxH*z@@ z3e-!Yq_M^Ks=?!rv**%jIqUoT+}XRa&m;MwU+1pQ`qp!QCq=+db0;8W@TdKsX3l!j z&Yaiy%glv|PQS`38P#Tco;m&xOI_|9v8ZNelLc|So^ z%GR0=ZWOeb(%w`=rLk=6-Mg|er0J*WLGUAoGC6_2g{>}QKpWyzG}a8PGxFRcf&bP* zlbpaeves`2eAEe)34H6(`(IAr*OJhGOyGyY68tTJAElo~ze*GMUW{ZU-nu7PnWP|B zRV=E1Mv^22o3H_q#H4h(`z|S1^;G`H3H-!fEE4#flUyh#`HUNI0$-yYB=B3^Xns%N zL-yp8Ht`Dy{MlkTR3M_hLG$-T_ZOSW^3IR>`^0*SZFQp>dahwBdTNgp1Qbdzblk_7 zC{qA_$lpIY0w})GG#w@IyCZdL+NHD1ePN6x_c@P-$_t{L+LFq9d zcqp@hePN-S@I+#oOjxL{z`;(+;$YbmBDOX}V#F{6qh;BS*g@l6yfxBh*OMH3VtDDa z@3KftPC6`|=1N4Ng)`p^vM8X2ENef1c9gJP*Fv=fYBpJY!X;=}t#UNAN~+Q*)G9NH z#nW4QoO)%2FSJ{tW=RNYmJ-f{xeMmP7brTYCDLL6Jd=2|h#VU|dK9^!DREAO=%f#@ zKLewDE6#V88;N7}>etjI!bb6SWaB5M=|*R)u1xB$T+1d>A36r$5~(JTCl)b(<%pJu z1i!L*U#st{jZ_NYhcczp{yf5RdUg;T&B17D zt+@vI9GujDflpb`98yFH8VAFx?!#NVyCWV^Xld~cFtLUpK0x(Cr@i& zJgH~w)=e@T%zi0KW5K~_jR`IqV?x;N${J^K(Haq4}bB#d`dBPv5 zf^d;b5MS0|R%Pmn)G6wJXDh1UH&v#=EfI9uhR?SegQNkdHhC+xo+k36t{RCb8Xadf z5^V)oCiAiqni}b7dFRW;w+4C6CP3ujxyxi^jSY$6hR;*!gFnJL9p^38@BAC8^U1a% zNii1ZTAK}mD#?Ve1X^;JU)$E(^4%)`kOx#s#ImqPF4PP*$S z_vV9jTjXUvwYCIcl$fEP(If1KuWRlZJhBt&%bI%zk7`)qEyzYpmZlZwu_GR;!8+W3 zqrg39Eo;E?k3OTlHzn*Q#Mx1KQ_0xou*f6tiidUQsJA^!r4aS@N5r|E-SJEEH^kWyhH_ZlB5Qu- zsa>yh+P4$t8E-zjgf}Z)Xr7sM@b4welgao~!n`yYmDHPmsod0T0K;egGIReuj$!1e z{x)}X=c?t?^4yKb+MYXWn9Z!)&&<}gm2d<3AKRu9=7fZ1*}Ul^i#zYA%)-(OW?>21 zax`)wO2az6q>9q8HdcY|Pdp)Ekyq}_o@iJOR=f!P!9`{=$MGrENLdsyc-WQfWK5oxMo-GZP+YuSI7$7}2Y}00qG)RPW$(xt5 zTJ2qAB()E%a%>`lw2>6m9NyNVC>9$UOy@&>%7$@yglb_9@6AFe%dI6jXX8wFSzp!lkHtk3>Z(e45QDPN()W6j`;DU& zdzIdoXk!B$e{F?AZmjlB<;W^E&@niR)h$sJDf7=KM{J`cRN^@GgXgusZD7QDP_f)}7L?_vYb|1${r;J^`Mqt1fhAE@BtCF4S&ORo zbA$Sx4T{M=^bs3Nd?B@Bengj#WCIv~t`m>2;cm&BsApX&;l*#KOz3itPE5_Du5H`d zHI80tRyzJtQPVY=Ddmv1HQK)&z3IHSww#TV*NG;noKiY@KRXP*v(iMlp)!j3FE|XY zO{iS_<}ft+iOPm}?2BQ7u^JXVlYiWu#A@%TxcOdP!Xr%$MGFX9Y3)qz7U|Z1y^5tc zaagI2cDegZN!~F1*t*cY``#KuF`8)6f(d(eY{zl&+!{mEwENMDcoOPVxly`x_N(_1 z;g8KhwK<0N!@x&;jd)UXj4D=4!4x8%`61!~q3Y0eOEML^#X?^q9>Ei?*6~$@)lU(R zx}S=Oz2?>H1w2PQaXGC@YR3G382=6BUTj z1k7hTX8!u#U8;RyFuxJ;#9wPPN5_=H_t^Zn@B z0rt_uPbaS(GGAhz=W|!jh;K1ZK6m4z`P}_?{e@3K&li8;d&txB7fAZ{d&Kk1IwQOE zDd4eIfUeTyRj=m9fCnJ2td`mX5g>AQ!WyJkXj}SrJ7{xrVn+3N;oFLYL`C`KA=*^%O;9(mwPR>B3sA|zwO2K9KC4-fJBsSr#NP=)WbM#|_uO8Rj zq7No#!`+%5OZP%0*A1)ig-HXBU;G6BJ84I}h)C0-D*%)Aky-qmYB5|dbQx44jkX-D zP+8784a1ysgg)SDCsGhNC@M=)gbxoImHNgXb?2X=7%53p>p zEyXKo_M$8yqjsNDIf7Qewmqh;tM177)!@FlojD~?>e%a`+69viI|H7w& zTT5dri|J0W6(g+*TB zjN4;?rcppez{-=qQhBa*z^i{xw1$n3&hY(LbBNgB>m@ro4Sj~(eNGD{EvU!9ewuUY9JSh zp6*4rs#uAG(d7aPc6>({QwcPqUg|m31&n@w->03a+U)N%5i?Q?yoRTlQwwu#+W0sd z`oh-kpEGYdjt9|J8!g!V`;7cPxu8}~M^$UwgPi5L2sf>taV#1Eq~*N1{DF)jsxonr z?#Q;~s!YPVG@|tVjb4Aif5dI-o%pEAE1tzLZWP(~?2M|;HKMlhF|vI4`% zoau#xVvgBTW6ObFJJ$VgI|0pGv8mT)WUp;P{~yFlDadGGEj+{)~6$P<5306tQeE#7)OpR#8B(?>hc2{#Wi-Wj+nES3Tfo% zB$KUkb| zgL~o*srI(*RrPNQw6pHi@mD(=$bQDEl! zw!Z*jzA}^hVD+3HPsphR%A(-HYO_dZ-;kM+Eozh+ksf-wze3Tg9Q%vEqRd4pWwh)N4&#udogDE%X|8|R95aU1+}Ir#vegqj5z(6>m(Z7s zDSzG}@6%nA9@ft97pL;bS#ml=&qEKrI+mi}1<2ABe!(zS_>KG$CC3D7T*V1L_lP^m zHyzT$5=nFafm^2oo^8`2u5nbMLMl6^%q^PIlzI4^GXFb+n2rd|2}7#m1Lff>Yjn|Q zYTJKj8`D^JC*p0=$}x2uMLTCf@9+vmAd9^3{Df61JN0!(2160b%nZ!b8g^N{tpOT# z>{8*v{Dqkp#tekKw^f(I0IKUa%D(k2nmAtduloP8VR+e{2VL2sC-!GJ163C zNC_)sQ^?|sb&8tBR9fO~wU~-RDH?Qly#3`uJ@R2AkK8oy(ACrUt_|=kK09{IjT&~6 z8CO;$IlvAG(@zTQ4Lg09P(q)I4RJ8u$$39rc!TipLEYqJ3yMQD()*q>T{HH3_C0^m z0#%iecDFk&vL$=9JM;mLSrIQ(5U6+6*JqclOm8uPcYj?MOej4{^9Y=r3mJJ(P$DP}IZURL4Xi4$i3c z$?2&ej;Fd)UpmtAc?yA0CENb%}pKQga=<_z5eh*=6uGdd1poS;Bo}`bGsz%NXu^rL-&o5g=DONy3ju7oAD7N=0~QI9MYXlspxDzNm+fx@ z8v&h{32*}_1Y8y!?w2)i12liUMNVGb25AmfP^`Nur3{5Vs)LMBHB3FXZsF{WP#&>gtLm6Ft%c_7Vj#vI5!<{IR;CWWUHG43;konG*`0 z0ntF!6}U)D2*~LeDo@%v$zy)(sql=-^H%`<_<=3yVR_yWZ*c=C3e%N?jO2Yg-qgvLp>YEuf5-Q>HJ=My ziWlb-{p=bq-etPhx~EqtV>GF6DY0>i2F|FNYOJo7t|ZXf0+O}zi>(O6vPjrk7?rM( zzPFwS&)qC50)IxvPZ!mP`w+z_HmXyK8Wf9LYG~XRQ_n0RMoPXx<1QL?H7L*BCRAx( zs$f#G`2hhLl1(_eid{A3e-Prc-}vxCmRP5Wm^55&=~uRxn|L9QF`CVjMy6tk$vkL#j|5;5@JL1$XSwRxG9{rzE08>nbIpN^H&fWt^%;%-0_g z6jCm9Zp(#W0Lk(O%hB&@{RCH5Gkp?@lBi|cdU49p+;Iw&e_W#|2boTYqGk&;s)Lro(Q%x%U_Uigy9uaDgBsvPza$t${J!^(!KrMIc|=}4)ha!vY3m1w z|36QiSIla0g~iK%g;+R%=*wOdf>2N=bB?EWteh*%>3RYjf2#r&$!gX$*&lIa%?R;f z-Qx)c@ihvf6-TDJhD_ygWse<70u17-O9HCmjDoK40P?wfb#}Y{1oBzJV#-HlxhZb@ zuP~pI$huU9pNDHur?85Pi{u#M`DP)$VE}$j$AD1c#w z6SK(k#Iex*e{WuEnI%^duXr3NAmDa(K%(~LMgh&{!mB9W7hn56t#k>9x1TcEbH+Yd zQNCkEd4GpYDK5+jXLt)2ws0>566r^8=Vnwvj9Ad2?qel*WvX41NqC_JT&|PQ@cXpB z&zcdQOT}4KEWKcuPh`+io^(#S&u&K}WHi*PJA6 z1qD_iUY^(DtjGEoyK^C(y9UTMH`<9C%h?IIX=-&){m`P)`LQ_AC+%bOpwW;;4-Kz3 z%!`G0e&nODh7O@Y8wvO7!2u^-SgdBBCzHH@$ut&#Adfju-_*m<9#PuC4AN1rX2 zWmNeAf?jj<=`y1m(f?dcK!o|UKh#C3xAj^GM za&{CMRTGl#d3(e;tF#}4XPOR)oxoGQcoLGk3&`=rwv8G2>LXN?euJ!HG&=-xxYk^o zUuJj%Y&O@*>X#6A10zMRNw{ut?J>Jd72)MnB;kIQCnUJ(x{!qP@`UIDmO$;JE65`D zfF#F0FJI-@Ywy!-YyAY~m3F&a4x>rv9f@qq>;|7uN-qkBk@1fLkvZtUkb9#fI^ zDo*MF53qcMEBnBODJVE*nDubuWc+QHF?a(Tf1l(dy4UD!W7-k7=~qP$rDr1TwP${d zT~Izk&2Dj|19$wU=;0RhJ1D+InjW>(p=o*)E#e zmF<8@ADDwXSjG6kNR#=y<9qEs0)X`-EA$z2zk`a@Gdcg94`cw0S25g%3W&|lQ`z>i ze}RL%VjJXa+%Bz-)*i^K3(QUSQ0V!-hNE%xEBPQ*F*=n%C>>Vxe8eG2&zG|+Ntw8c z_##`sD)u3F93xwEfqq}VNbAnwgnH2^M<);5lN6@x8Uakq>LuiX&!$kH-wjdLv-(v;)Wox& zd`N7?9EDIk)Dc?>NeM9Yxq9d$Dp|y-!z7I7OFjKF$2_qYGS%L56o{DBcFydGiPyQD zK8<%H{6gT`PjJq*);Fjv;c|NK1+1XPbl0>al#+;R+80&0Chh=|0)NIG;3*0Y_(AUQls#AC%qilYc^C+@98Bv>6-LBT|$v)F>qBM5^jnBHL{>C?>5+?OhCr6t`v~ z8|wLSj4FQv9&RA_M?!xnezre1f$K`~$Kktd)q5KveP$l8W4A(%0DQ zF{dKq6XfL-0x)g4RHFi3x)Dt|a8$8+wbzeD1@=2LN+FEN;(y8TVa*Fau_-Lyefp!I z=6z(|HeiE&CAMR)BJG8bD@u-%}UD95) z4ZE3$*NzVWH884^Zx4{H%{K+(Z4N5E0%l)YKgnxz?=QVj%TV<;y1ZQoA=DZ3Hl(h0 zAvAdhJ(C7mO@Cf5TH+OrvUImhQMsGk-)!7$>dq;_{cD4FfHcXg<{cD*4pye&P8Hg# zHEL=+Wf%X04Hha=xFQ3Vv`=1_w8=`HvDo*Bx{Z9S6yXw#f(wEid-2#Ch@yZ)7PcLaFzu5^@_&T8qwf&&ojLhAppHC^oGY0R zS@1o1zb_uSjYn?dkt;)hMm8pH_U3`C7beeFRwes1LfsTRjh*D>#W5N>a~IwzACpu2 zvxhx(l1dKrSD$I(m?T2v0(5cv@BlQCObbpOR+D8MIg_faV4b1{fSD{K z_z33JVt;Y_xZ(9MMah95#Q%<^On-F7t1zUN==$c4>r}q1VHoLKZ3LEgJTILuI!<%h zRc^8-M{0emRPcEfD>BJySwgj_>r4Vy4d$yO6unmarK4-P&^f!2)vgK|D@%`rS|Mv} ztHmO#tO{4mNKVz8SWupktZ6$3K_lbSRv*X4?0+O`dNb9yU7``5%C;0HmckwoS_+s1 z1Adfb3Y2J+dP5t^ESKy~DAf|D&@S9W`o4d=5p)&kb6J5YLvhtoLI&(v7O*Vx zyn}`3Y=&a`uX!$-N{QJVdR0Mlqks}V1qzFvyHedrE)TRqTTlhvb^ zy;B2t=fQFswf6(&;i0^FU2;l>6FE}kD1VKN)1GX!6K58j@{h}uj1qK_k~vRAJPHrE z_Cv1s?FG)@X?dKAY35Th-amS7OvG8!I&Xhst?y_|B=6Rc&N3yXw5NV-5QQB4us%%0 z|IY?dngP|wvF85&p+l7Gm;3C(aw&M7`F~UlkT-}KT>%kvih6&{HL?NY+OoEgSAQUO zSnAe9!v(gq?y9R`L~Ax+&WulM*QDuyN|YYyfQwzwNco)WbU;VR6TuWpf+W%bOr69> z*z#l-Z=vY1)i_k8clQql@`Pka%-rw#az1Vv>$Wg>nE1bJeY z+XPs_F0_#eI?@{)LNUuCOQv!wURoznfF0@@Eq)+&6;3=BNsFDI!fH(d*F#(NmC9WCIYws9FIwAFTi_5$uMB%nhRq!(~jH=&T*Nv#vZKO0r3k zZd+WW>jx4pO&JGd8w>duiF1osq^_@m>wO+8Vc~=ID;hlLu5)pTz)4iD&HYg493D9( z6|D_S+(B|1DhU{E3G|rNCVzHQbvC11ZY-QJ1^YJ-GB@Er?IyUDJ^;SR`-U(N@JWlV zJ$f`dxzgmBoArC=f}5m5;cN?8e~uF#Up&4N|+0qfWBj1Jljr<81Rj zVt&KnB7O{GCjuWyvwwGBQ!qeaX0jBMGV10r7G`~vqy`D)wXCeNdZ}+YBE@-mLA!3H zxU7JnEAL7D$u-q2ITi{U7L{=sAZVk?4Ttz|X))zmm9jf!3d=l5JT${HL<4GBT3uz- zvXs$)wTNNTvs|PU2!}MoK$fKn2Qu44K+#PW@eEuQ9$d|L;eRX@$Jm1-hj2${@M@B3 zPfF0FOi-1e3ACVV!DVt|)8GqcG#)MwgHViwV^adl5@jb&$K$bD>VQh~95r*|v>YpG zM6OvC8pP_CdrbRtega2z(-RiPlg?U{I&E0#Dr-|YJc3D6n?ooTK%%J25_|GBH^1FJQX;+mf4K1Ocaf_KJw-2GEw8pl~A%dAXWH<&bMgO zneH4ez_D-G0GcCK>Dhd^6Kp*A&6|%-z`| zw@E3z@^HZRyxsaXSq+lOW{(=cx!R*fMl^g&ttvnMO=RLjp@F?~*8NQM8o^OqO zT{4OR)_}%WZ*&D>yS?~;5O#Pf4FEsl~1L9y*W!AXK1ApbReIj@V&hvx;x2-51|-d-K0|PoaOC)new)d&+?z(;X@AU=sooGNiUdaHuZ&^L<_H(L1{u|* zTG*6M2{uOqZ-SvK%~7M~<5+XKa@ZC{bae~HYAF%!T-)8?yLk6CnAg%5!b4`im43!Z9^ z{6c6iU1?a>ybp_}S;AW!Dps!HhiT{eZ8$2Y;EDF`YsNiq72(wINRyeg3YHh6I}XE7@0--H|z7YQvj1jE~ZgqB~lJ|ZJ5ax|}Rm!F0M z8Uaq1x`qQNe~#?ajGv3eC1QNt>ta<5&8k6wl#yI$Iv}=|MTY)i#aDzpx$zbC^~ww( zysY)@-9hb*kmgn6QN&n9+rkEKK|qkLrA9X<5k_kg!6olj3=jHPQ4Ei{U`OCW$$P@h z%AAfGkRqoOPw{r(YfiCaEy;R}P+C)-<^)&Qz3SpZe`3Cq&xl5r-(aQ+Ia67RvbNNS z26bIRkJb&Y|LkaFPajib4L&D`yZPu7zcX~HP+8t!JdL>nc{LPx3!yT)AA3CW98R(A zSq{%LcT{y*&i^&*;%MC3{Mp45T0W1;O%CrFzwAk}{EsWHv4hJ%-7{g;kQFAAHfEHTKiQ z%MQ6n?u|1V^h@DW^5Kiu)(fh7_ej^NvedMBe?M;cv?3iCz^Bfa4NnJ6OW9H{mi776 zG5dP|!hI;mUp=6HWW}Y{zG#U~PyAQt3tUX)(#KwU>0JTV-7^coHlA7s8U;$4LWV>% zD~C`x9nqs2*9^-5;*Bk>AGX{^C_1N6)Dv@XDOxsG9IM=ku7vp{r6NJ*3IV~KIAaA% zf0DKya{kccf5>hx0-d}(=d6ff1AL_d9Yo|k_d!9bJvyOrby`hV?fIZs@GPwX zK%ZI?!L0>Ndl$JI>qAliZu&y1S=#F%e^Pd9LX>$HJU?xc@@l3tw1+4RN?>LaE=&%& zgzPLE#f(oVw5mOsc#2g$4=?f!w0GdrXu^fVe`Rzj z*_S>+t`7M}xZq&DY;}H-yS=4mr5ZrSu4K14y<(;+g2hQjN;UETW^_Zb7TlJ2AFV)j zgr@JSz)40YOl|d@N5RjT(G_C#!N36J@5TCp!yQeDPFX-B8sIIA7NK-xlcm+?TDCwG zfrj+PfbJ8nV?}S(w0=viOo4Ame;Qf_t1P%4&|;3`LRBwTEu@Rhrd;%w>JHj!e2YDV zh!_g|(}2hYG_HGg$%!!;XFt+ScR5Diad=8!S-v~2gWDLPpY@w})J0s~Aje7%S;ly= z%tF+<;xQ`N$=M11>etdes^c*eQ+E&tW_ql54YF;f!;10l$=&Diym!MHe|rXOQHW>L zf3+b$H@`{_=-TCMu^pTCOAD_hPU7|#WvOm^Kc2u}-y}kovSwn7P@|x0iC0-Xt{Q8p zKl560`mDEeNNb7nb~tJ6)XYm}JjDo42y|TD?znKLL*C9_0nPMw1sNz5-F8{N`-pla z9;Q+^my%$Jiq~4#T4hKx~MVk^A>v+og@psU(e8!#AJQhH%TNz3i zY!a5azYT0`vU@KX&AQ$TP&K9BoT-(I2)agNPiWz)wW@NK^@$=$f3RIV#QAu~#SEp> z@!&g0PSJRelj@lUy}ibQ?D4 zLJ=A8Y3p_MOGGBV-k3^5wKeck)UZ}6>oQ$J|1D5ALqD+HS*2tpHv3&+6xe zG{w2nvNZX(-6i-pNe;OxROV+DlC!LR5O|PcNh@g7Kl3UV0fF6zZykXYb@zSM@Gy*ugc0!4Q zkA;F0?_#;IgvL{ONS%EgmnYe&aS@O7IK6FM-%pUS)|g*&THA~EX8?Z46Cq88Un^8; zBj6uVBb+^P72Gb(tD8^MN$gn_w7{@oiwcH;ri}Wxm(q;`B!AA4!dcl;{q!!Z!YlKQ z`FB*ncSqJ!OOXqg?Op044{sP)q)Tcl*SM1-Y&Mo{ zXPFvJ%}i3Fv*DB|__GK($&8M6vO;kMe7mCm5j`LxSRigE1j{F;uGy71S<-TBbh{M- zPyGb6m1+u$Vt>c;o$fjzx^zfimMnmP8qD><_tj*{YrE3gI$YCNkm17oBsv!t!!mjW z1xMky<4xIYS)xrAbb$PJq5K+ZB1_5F=TaH=_RSC0XQn-XS z)7huxeWg0*g!puy8ExzO5)wYnamM>J_u{fLyDof8n12_ez2BjKF&#b=wn4V@?t(<>CB#yuFO|s%l44CI=s}yE{1%hbJ^Cwa85f z5iZtGZ^+k}plM7r?G%`IJH8JKW#^CG6IQmOKEvO!aopLo?5u%Xlu7g`UhBus9aL6} z?s|?aRDYma+(B=yydaB8g!tJLExJ*_0PQJPw6U#108J`r4t@lr>!&yjOSPx85!Eo~ zJV~;(!Tjgdat!z9OXb_s6 zYkyU*xIX6KiJk>R#qvWrRV%QEXDZ@g+P%S2NrQb}t7DFSv{NjqL5tZ+l^xZe=b#fJf`-T^x1`KVk!LmsC6@Ro_a=e3G7?(%3IC2prO{d+GpOPt9!AI#q ze-se&dLEU-0gB{YmP;Y8acV?}tEw~yq4nuarFJly26li2U-iEW+f@2-K<}=jKJE*? zwelp0-;av9sW{R@b{@&CLy=3*ab-hT7%EbM6lg8Ep{Xr-Lh2i_xK<_9*cTUOqJIxS ztn9N4S2sZ9NE=EQjcZ#CrLUYqb+t8Gbz@cb9N=#WY2geQF1i<52s`QAIts_u9$HDrBrq&yN{z$QG90H2()8q?$%7wPd2v5==Lc3eib`J>6Fta z8>@xB1>mJ6FR$`<#>%{vb=7)WZ-3?XKvvS41SQol*MH-pSj6Ay?~nof`qU`&e(V;= z@NHc99;~Xmci5nS^>~0Q;OnXGFgO8zY?~Rw^Y-p*!|>^a3E#5&s@2JyjChQH?sw4k zVF9mUnTedHC~%g(2}M9YWPBCBvo$OW<@(RvJP_pid(sclCcVtg8foylKYzYa)9(o& zGdZfKyh1FDDBdUMYPGs0=1>=k&Twui{jD$Bos3E4Tn>tKs1B4_-&SvH$KzF-_+O9P zn$A%|@nIe)0CFiFTu5uk#&H{0-5&GJ_n#?yJ_a3U9~&JpC5vUCJ3JSt~ z+qhBrmSr$v77Tdx)el=PD%=JnAj?B5(TK;(tlK&&h95t09k*jdql5I~@=4S6=!53C zQidz4&cr|K1RBq)M1Pr{4fL|^|2>}K0BQg4eGl_HqqbpDx_dtE<(KDviDc2fhr7J< zX5L{_kt9A{8sDbk2`vi8vF%sP;>9YaxcTm9ze!1VKa2GQvIc08^X|{+4&|oNsVs{F z?p?ns9G36NAFcs!_hNST3t0V#=dJFndLgq59Dirp-u}*>C4c^`c#GT4FKp+RF}u3k z&RZ7f;|h||l5q+c%rnxDh8R!ZcI=9HVQfB

    =hI;sahsn9n=b6cx&AO94s1p|ne^ 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

  1. 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⩔$opFpn#P{0ey3H18%dQJeDY$ed|ID>|L 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

      ^aepfHw9=3w9BeY@vGV71f-vrbc~%E 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

      rJgdYi9;Wq8+XZb2!2|p&b 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 ~ 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