diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 4b842733..aee450bb 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -16,9 +16,8 @@ concurrency: jobs: # First Tier - build-operator: - uses: ./.github/workflows/task-build-operator.yml - secrets: inherit # For demonstrative purposes, we don't use any secrets yet. + # build-operator: + # uses: ./.github/workflows/task-build-operator.yml ts-build: uses: ./.github/workflows/task-ts-build.yml ts-lint: @@ -29,10 +28,14 @@ jobs: uses: ./.github/workflows/task-foundry-tests.yml rust-lint: uses: ./.github/workflows/task-rust-lint.yml + docker-build: + uses: ./.github/workflows/task-docker.yml + secrets: inherit # Second Tier e2e-tests: - needs: [build-operator] + needs: [docker-build] uses: ./.github/workflows/task-e2e.yml + secrets: inherit with: - binary-hash: ${{ needs.build-operator.outputs.binary-hash }} + image-tag: ${{ needs.docker-build.outputs.image-tag }} diff --git a/.github/workflows/actions/cleanup-runner/action.yml b/.github/workflows/actions/cleanup-runner/action.yml new file mode 100644 index 00000000..9be342f9 --- /dev/null +++ b/.github/workflows/actions/cleanup-runner/action.yml @@ -0,0 +1,30 @@ +name: "Cleanup Runner" +description: "Cleans up the runner environment to free up disk space" + +runs: + using: "composite" + steps: + - name: Install duf (optional pretty output) + run: sudo apt-get update -qq && sudo apt-get install -y -qq duf + shell: bash + - run: duf + shell: bash + - name: Free up disk space + id: prune + shell: bash + run: | + echo "Space before:" ; df -h / + sudo rm -rf \ + /usr/local/lib/android \ + /usr/local/lib/heroku \ + /usr/share/dotnet \ + /opt/hostedtoolcache/CodeQL \ + /opt/hostedtoolcache/go \ + /opt/hostedtoolcache/Python \ + /opt/hostedtoolcache/Ruby \ + /opt/hostedtoolcache/Java + sudo apt-get clean + echo "Space after:" ; df -h / + - run: duf + shell: bash + \ No newline at end of file diff --git a/.github/workflows/task-build-operator.yml b/.github/workflows/task-build-operator.yml index abf20fd6..114becc7 100644 --- a/.github/workflows/task-build-operator.yml +++ b/.github/workflows/task-build-operator.yml @@ -33,7 +33,7 @@ jobs: with: cache-key: CI - name: Build node binary - run: cargo build --profile ci --locked + run: cargo build --release --locked - name: Hash binary id: hash-binary run: | diff --git a/.github/workflows/task-docker.yml b/.github/workflows/task-docker.yml new file mode 100644 index 00000000..0f974354 --- /dev/null +++ b/.github/workflows/task-docker.yml @@ -0,0 +1,103 @@ +name: Docker Build & Publish + +on: + workflow_dispatch: + workflow_call: + outputs: + image-tag: + description: "The tag of the docker image" + value: ${{ jobs.build-test-push.outputs.image-tag }} + +concurrency: + group: docker-build-${{ github.ref }} + cancel-in-progress: true + +jobs: + build-test-push: + runs-on: ubuntu-latest + outputs: + image-tag: ${{ steps.last_tag_extractor.outputs.last_tag_value }} + defaults: + run: + working-directory: operator + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - uses: ./.github/workflows/actions/cleanup-runner + + - name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + images: moonsonglabs/datahaven + flavor: | + latest=auto + tags: | + type=sha,format=short,prefix=sha- + type=ref,event=tag + type=ref,event=pr + + - name: Extract last tag for job output + id: last_tag_extractor + run: | + echo "last_tag_value=$(echo '${{ steps.meta.outputs.json }}' | jq -r '.tags[-1]')" >> $GITHUB_OUTPUT + + - name: Log Docker Metadata + run: | + echo "Generated tags: ${{ steps.meta.outputs.tags }}" + echo "Generated labels: ${{ steps.meta.outputs.labels }}" + + - uses: docker/setup-qemu-action@v3 + - uses: docker/setup-buildx-action@v3 + - uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build Docker image (load for tests) + id: build + uses: docker/build-push-action@v5 + with: + context: ./operator + file: ./operator/Dockerfile + load: true + push: false + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + build-args: | + BUILDKIT_INLINE_CACHE=1 + cache-from: type=gha,scope=polkadot-build + cache-to: type=gha,mode=max,scope=polkadot-build + + # --- Smoke tests --- + + - name: Test node --help + run: docker run --rm ${{ steps.last_tag_extractor.outputs.last_tag_value }} --help + + - name: Integration test (dev chain starts) + run: | + docker run --rm -d -p 9944:9944 --name local-dh-node \ + ${{ steps.last_tag_extractor.outputs.last_tag_value }} --dev --unsafe-rpc-external + - run: sleep 60 + - run: docker logs local-dh-node --tail 100 + - run: | + curl --fail --location 'http://127.0.0.1:9944' \ + --header 'Content-Type: application/json' \ + --data '{"jsonrpc":"2.0","id":1,"method":"system_chain","params":[]}' + - run: docker rm -f local-dh-node + + # --- Push to Docker Hub --- + - name: Push Docker image + uses: docker/build-push-action@v5 + with: + context: ./operator + file: ./operator/Dockerfile + push: true + load: false + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + cache-from: type=gha,scope=polkadot-build + cache-to: type=gha,mode=max,scope=polkadot-build + provenance: mode=max + sbom: true diff --git a/.github/workflows/task-e2e.yml b/.github/workflows/task-e2e.yml index ce0cbde1..2edfd780 100644 --- a/.github/workflows/task-e2e.yml +++ b/.github/workflows/task-e2e.yml @@ -3,16 +3,22 @@ # Overview: # 1. Start kurtosis network # 2. Deploy AVS contracts -# 3. Run E2E tests +# 3. Start DataHaven node +# 4. Run E2E tests name: E2E - Kurtosis Deploy and Verify on: workflow_dispatch: + inputs: + image-tag: + description: "The tag of the docker image" + required: true + type: string workflow_call: inputs: - binary-hash: - description: "The hash of the operator binary" + image-tag: + description: "The tag of the docker image" required: true type: string @@ -30,7 +36,7 @@ jobs: steps: - uses: actions/checkout@v4 with: - submodules: recursive + submodules: d - uses: oven-sh/setup-bun@v2 - name: Install Foundry uses: foundry-rs/foundry-toolchain@v1 @@ -65,23 +71,27 @@ jobs: key: ${{ runner.os }}-foundry-build-${{ hashFiles('contracts/foundry.toml', 'contracts/**/*.sol') }} restore-keys: | ${{ runner.os }}-foundry-build- - - - name: Download operator binary - uses: actions/download-artifact@v4 + - uses: docker/login-action@v3 with: - name: datahaven-node-${{ inputs.binary-hash }} - path: operator/target/release/ - + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Download snowbridge binary run: | docker create --name temp moonsonglabs/snowbridge-relayer:latest mkdir -p tmp/bin docker cp temp:/usr/local/bin/snowbridge-relay tmp/bin/ chmod +x tmp/bin/snowbridge-relay + docker rm temp - run: tmp/bin/snowbridge-relay --help - - run: chmod +x ../operator/target/release/datahaven-node + - name: Download datahaven binary + run: | + docker create --name temp ${{ inputs.image-tag }} + mkdir -p ../operator/target/release/ + docker cp temp:/usr/local/bin/datahaven-node ../operator/target/release/ + chmod +x ../operator/target/release/datahaven-node + docker rm temp - run: ../operator/target/release/datahaven-node --help - - run: bun install - run: bun start:e2e:ci - run: bun test:e2e diff --git a/.github/workflows/task-rust-lint.yml b/.github/workflows/task-rust-lint.yml index 26779a4d..d3ec8724 100644 --- a/.github/workflows/task-rust-lint.yml +++ b/.github/workflows/task-rust-lint.yml @@ -64,9 +64,9 @@ jobs: steps: - name: Check out the repository to the runner uses: actions/checkout@v4 + - uses: uncenter/setup-taplo@v1 + with: + version: "0.8.1" - - name: Make script executable - run: chmod +x scripts/sort-cargo-deps.sh - - - name: Run the script on all Cargo.toml files - run: find . -name "Cargo.toml" -print0 | xargs -0 -n1 -I{} bash -c 'scripts/sort-cargo-deps.sh "{}" check' || exit 1 + - run: taplo fmt --check + - run: taplo lint diff --git a/.github/workflows/task-rust-tests.yml b/.github/workflows/task-rust-tests.yml index ba95772e..4d9eb59d 100644 --- a/.github/workflows/task-rust-tests.yml +++ b/.github/workflows/task-rust-tests.yml @@ -33,14 +33,7 @@ jobs: - uses: ./.github/workflows/actions/setup-env with: cache-key: "TEST" - - name: Free up disk space - # Remove some pre-installed tooling that we don't use to free space - run: | - echo "Disk space before cleanup:" - df -h / - sudo rm -rf /usr/share/dotnet /opt/ghc /opt/hostedtoolcache/CodeQL - echo "Disk space after cleanup:" - df -h / + - uses: ./.github/workflows/actions/cleanup-runner - name: Install nextest uses: taiki-e/install-action@nextest - name: Build and archive tests diff --git a/docker/SnowbridgeRelayer.dockerfile b/docker/SnowbridgeRelayer.dockerfile deleted file mode 100644 index 89849e10..00000000 --- a/docker/SnowbridgeRelayer.dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM ubuntu:22.04 - -WORKDIR /app - -COPY test/configs/ ./config/ -COPY .env ./ - -# Use --no-install-recommends to keep the image smaller -# Clean up apt cache afterwards -RUN apt-get update && \ - apt-get install -y --no-install-recommends ca-certificates && \ - rm -rf /var/lib/apt/lists/* - -COPY test/tmp/snowbridge-relay /usr/bin/snowbridge-relay -RUN chmod +x /usr/bin/snowbridge-relay - -# EXPOSE 30333 - -ENTRYPOINT ["snowbridge-relay"] -CMD ["help"] diff --git a/operator/Cargo.toml b/operator/Cargo.toml index 271b61cd..ff10a2f7 100644 --- a/operator/Cargo.toml +++ b/operator/Cargo.toml @@ -1,9 +1,9 @@ [workspace.package] -license = "GPL-3" authors = ["MoonsongLabs "] -homepage = "https://moonbeam.network/" -repository = "https://github.com/Moonsong-Labs/datahaven.git" edition = "2021" +homepage = "https://moonbeam.network/" +license = "GPL-3" +repository = "https://github.com/Moonsong-Labs/datahaven.git" [workspace] members = [ @@ -51,7 +51,9 @@ libsecp256k1 = { version = "0.7", default-features = false } log = { version = "0.4.25" } milagro-bls = { version = "1.5.4", default-features = false, package = "snowbridge-milagro-bls" } parity-bytes = { version = "0.1.2", default-features = false } -parity-scale-codec = { version = "3.0.0", default-features = false, features = ["derive"] } +parity-scale-codec = { version = "3.0.0", default-features = false, features = [ + "derive", +] } rand = { version = "0.8.5", default-features = false } rlp = { version = "0.6.1", default-features = false } scale-info = { version = "2.11.6", default-features = false } @@ -204,9 +206,3 @@ fc-mapping-sync = { git = "https://github.com/polkadot-evm/frontier", branch = " fc-rpc = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false } fc-rpc-core = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false } fc-storage = { git = "https://github.com/polkadot-evm/frontier", branch = "stable2412", default-features = false } - -[profile.ci] -inherits = "release" -incremental = false -codegen-units = 16 -lto = false diff --git a/operator/Dockerfile b/operator/Dockerfile index 8dc6b259..7764e610 100644 --- a/operator/Dockerfile +++ b/operator/Dockerfile @@ -1,26 +1,47 @@ -FROM docker.io/paritytech/ci-unified:latest as builder +# --- Analyze dependencies --- -WORKDIR /polkadot -COPY . /polkadot +FROM docker.io/paritytech/ci-unified:bullseye-1.85.0 AS chef -RUN cargo fetch -RUN cargo build --locked --release +WORKDIR /datahaven +RUN cargo install cargo-chef --locked -q + +COPY . . +RUN cargo chef prepare --recipe-path recipe.json + + +# --- Build dependencies --- +FROM docker.io/paritytech/ci-unified:bullseye-1.85.0 AS builder + +WORKDIR /datahaven + +RUN cargo install cargo-chef --locked -q +COPY --from=chef /datahaven/recipe.json recipe.json +RUN cargo chef cook --recipe-path recipe.json --release + +# Copy the full workspace *after* the dep cache is warm. +COPY . . + +RUN cargo build --locked --release --bin datahaven-node + + +# --- Prepare Runtime Environment --- FROM docker.io/parity/base-bin:latest -COPY --from=builder /polkadot/target/release/datahaven-node /usr/local/bin +COPY --from=builder /datahaven/target/release/datahaven-node /usr/local/bin +# --- Create minimal, non‑root runtime user --- USER root -RUN useradd -m -u 1001 -U -s /bin/sh -d /polkadot polkadot && \ - mkdir -p /data /polkadot/.local/share && \ - chown -R polkadot:polkadot /data && \ - ln -s /data /polkadot/.local/share/polkadot && \ -# unclutter and minimize the attack surface +RUN useradd -m -u 1001 -U -s /bin/sh -d /datahaven datahaven && \ + mkdir -p /data /datahaven/.local/share && \ + chown -R datahaven:datahaven /data && \ + ln -s /data /datahaven/.local/share/datahaven && \ + # unclutter and minimise the attack surface rm -rf /usr/bin /usr/sbin && \ -# check if executable works in this container + # sanity check that the binary is runnable inside this image /usr/local/bin/datahaven-node --version -USER polkadot +USER datahaven EXPOSE 30333 9933 9944 9615 VOLUME ["/data"] diff --git a/operator/node/Cargo.toml b/operator/node/Cargo.toml index 66b275a1..ded82d99 100644 --- a/operator/node/Cargo.toml +++ b/operator/node/Cargo.toml @@ -1,13 +1,13 @@ [package] -name = "datahaven-node" -description = "A solochain node template built with Substrate, part of Polkadot Sdk." -version = "0.1.0" -license = "Unlicense" authors = { workspace = true } -homepage = { workspace = true } -repository = { workspace = true } +description = "A solochain node template built with Substrate, part of Polkadot Sdk." edition = { workspace = true } +homepage = { workspace = true } +license = "Unlicense" +name = "datahaven-node" publish = false +repository = { workspace = true } +version = "0.1.0" build = "build.rs" @@ -45,7 +45,9 @@ frame-system-rpc-runtime-api = { workspace = true } pallet-im-online = { workspace = true } pallet-transaction-payment = { workspace = true, default-features = true } pallet-transaction-payment-rpc = { workspace = true, default-features = true } -pallet-transaction-payment-rpc-runtime-api = { workspace = true, features = ["std"] } +pallet-transaction-payment-rpc-runtime-api = { workspace = true, features = [ + "std", +] } sc-basic-authorship = { workspace = true, default-features = true } sc-cli = { workspace = true, default-features = true } sc-client-api = { workspace = true, default-features = true } @@ -102,30 +104,30 @@ substrate-build-script-utils = { workspace = true, default-features = true } [features] default = ["std"] std = [ - "datahaven-runtime-common/std", - "datahaven-stagenet-runtime/std", - "datahaven-mainnet-runtime/std", - "datahaven-testnet-runtime/std", + "datahaven-runtime-common/std", + "datahaven-stagenet-runtime/std", + "datahaven-mainnet-runtime/std", + "datahaven-testnet-runtime/std", ] # Dependencies that are only required if runtime benchmarking should be build. runtime-benchmarks = [ - "frame-benchmarking-cli/runtime-benchmarks", - "frame-system/runtime-benchmarks", - "sc-service/runtime-benchmarks", - "datahaven-runtime-common/runtime-benchmarks", - "datahaven-stagenet-runtime/runtime-benchmarks", - "datahaven-mainnet-runtime/runtime-benchmarks", - "datahaven-testnet-runtime/runtime-benchmarks", - "sp-runtime/runtime-benchmarks", + "frame-benchmarking-cli/runtime-benchmarks", + "frame-system/runtime-benchmarks", + "sc-service/runtime-benchmarks", + "datahaven-runtime-common/runtime-benchmarks", + "datahaven-stagenet-runtime/runtime-benchmarks", + "datahaven-mainnet-runtime/runtime-benchmarks", + "datahaven-testnet-runtime/runtime-benchmarks", + "sp-runtime/runtime-benchmarks", ] # Enable features that allow the runtime to be tried and debugged. Name might be subject to change # in the near future. try-runtime = [ - "frame-system/try-runtime", - "pallet-transaction-payment/try-runtime", - "datahaven-stagenet-runtime/try-runtime", - "datahaven-mainnet-runtime/try-runtime", - "datahaven-testnet-runtime/try-runtime", - "sp-runtime/try-runtime", + "frame-system/try-runtime", + "pallet-transaction-payment/try-runtime", + "datahaven-stagenet-runtime/try-runtime", + "datahaven-mainnet-runtime/try-runtime", + "datahaven-testnet-runtime/try-runtime", + "sp-runtime/try-runtime", ] diff --git a/operator/pallets/ethereum-client/Cargo.toml b/operator/pallets/ethereum-client/Cargo.toml index 89507b50..dfa617c0 100644 --- a/operator/pallets/ethereum-client/Cargo.toml +++ b/operator/pallets/ethereum-client/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "snowbridge-pallet-ethereum-client" -description = "Snowbridge Ethereum Client Pallet" -version = "0.2.0" authors = ["Snowfork "] -edition.workspace = true -repository.workspace = true -license = "Apache-2.0" categories = ["cryptography::cryptocurrencies"] +description = "Snowbridge Ethereum Client Pallet" +edition.workspace = true +license = "Apache-2.0" +name = "snowbridge-pallet-ethereum-client" +repository.workspace = true +version = "0.2.0" [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] @@ -50,41 +50,41 @@ sp-io = { workspace = true, default-features = true } [features] default = ["std"] fuzzing = ["hex-literal", "pallet-timestamp", "serde", "serde_json", "sp-io"] -std = [ - "codec/std", - "frame-support/std", - "frame-system/std", - "log/std", - "pallet-timestamp/std", - "scale-info/std", - "serde", - "snowbridge-beacon-primitives/std", - "snowbridge-core/std", - "snowbridge-ethereum/std", - "snowbridge-inbound-queue-primitives/std", - "snowbridge-pallet-ethereum-client-fixtures/std", - "sp-core/std", - "sp-io/std", - "sp-runtime/std", - "sp-std/std", - 'frame-benchmarking/std', -] runtime-benchmarks = [ - "frame-benchmarking/runtime-benchmarks", - "frame-support/runtime-benchmarks", - "frame-system/runtime-benchmarks", - "hex-literal", - "pallet-timestamp?/runtime-benchmarks", - "snowbridge-core/runtime-benchmarks", - "snowbridge-inbound-queue-primitives/runtime-benchmarks", - "snowbridge-pallet-ethereum-client-fixtures/runtime-benchmarks", - "sp-runtime/runtime-benchmarks", + "frame-benchmarking/runtime-benchmarks", + "frame-support/runtime-benchmarks", + "frame-system/runtime-benchmarks", + "hex-literal", + "pallet-timestamp?/runtime-benchmarks", + "snowbridge-core/runtime-benchmarks", + "snowbridge-inbound-queue-primitives/runtime-benchmarks", + "snowbridge-pallet-ethereum-client-fixtures/runtime-benchmarks", + "sp-runtime/runtime-benchmarks", +] +std = [ + "codec/std", + "frame-support/std", + "frame-system/std", + "log/std", + "pallet-timestamp/std", + "scale-info/std", + "serde", + "snowbridge-beacon-primitives/std", + "snowbridge-core/std", + "snowbridge-ethereum/std", + "snowbridge-inbound-queue-primitives/std", + "snowbridge-pallet-ethereum-client-fixtures/std", + "sp-core/std", + "sp-io/std", + "sp-runtime/std", + "sp-std/std", + 'frame-benchmarking/std', ] try-runtime = [ - "frame-support/try-runtime", - "frame-system/try-runtime", - "pallet-timestamp?/try-runtime", - "sp-runtime/try-runtime", + "frame-support/try-runtime", + "frame-system/try-runtime", + "pallet-timestamp?/try-runtime", + "sp-runtime/try-runtime", ] # THIS IS JUST TO AVOID TESTS RUNNING IN THE CI. diff --git a/operator/pallets/ethereum-client/fixtures/Cargo.toml b/operator/pallets/ethereum-client/fixtures/Cargo.toml index 6e7d9492..49a545c6 100644 --- a/operator/pallets/ethereum-client/fixtures/Cargo.toml +++ b/operator/pallets/ethereum-client/fixtures/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "snowbridge-pallet-ethereum-client-fixtures" -description = "Snowbridge Ethereum Client Test Fixtures" -version = "0.9.0" authors = ["Snowfork "] -edition.workspace = true -repository.workspace = true -license = "Apache-2.0" categories = ["cryptography::cryptocurrencies"] +description = "Snowbridge Ethereum Client Test Fixtures" +edition.workspace = true +license = "Apache-2.0" +name = "snowbridge-pallet-ethereum-client-fixtures" +repository.workspace = true +version = "0.9.0" [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] @@ -24,14 +24,14 @@ sp-std = { workspace = true } [features] default = ["std"] -std = [ - "snowbridge-beacon-primitives/std", - "snowbridge-core/std", - "snowbridge-inbound-queue-primitives/std", - "sp-core/std", - "sp-std/std", -] runtime-benchmarks = [ - "snowbridge-core/runtime-benchmarks", - "snowbridge-inbound-queue-primitives/runtime-benchmarks", + "snowbridge-core/runtime-benchmarks", + "snowbridge-inbound-queue-primitives/runtime-benchmarks", +] +std = [ + "snowbridge-beacon-primitives/std", + "snowbridge-core/std", + "snowbridge-inbound-queue-primitives/std", + "sp-core/std", + "sp-std/std", ] diff --git a/operator/pallets/inbound-queue-v2/Cargo.toml b/operator/pallets/inbound-queue-v2/Cargo.toml index ca59f2bf..f30930b3 100644 --- a/operator/pallets/inbound-queue-v2/Cargo.toml +++ b/operator/pallets/inbound-queue-v2/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "snowbridge-pallet-inbound-queue-v2" -description = "Snowbridge Inbound Queue Pallet V2" -version = "0.2.0" authors = ["Snowfork "] -edition.workspace = true -repository.workspace = true -license = "Apache-2.0" categories = ["cryptography::cryptocurrencies"] +description = "Snowbridge Inbound Queue Pallet V2" +edition.workspace = true +license = "Apache-2.0" +name = "snowbridge-pallet-inbound-queue-v2" +repository.workspace = true +version = "0.2.0" [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] @@ -53,50 +53,50 @@ sp-keyring = { workspace = true, default-features = true } [features] default = ["std"] -std = [ - "alloy-core/std", - "bp-relayers/std", - "codec/std", - "frame-benchmarking/std", - "frame-support/std", - "frame-system/std", - "log/std", - "pallet-balances/std", - "scale-info/std", - "serde", - "snowbridge-beacon-primitives/std", - "snowbridge-core/std", - "snowbridge-inbound-queue-primitives/std", - "snowbridge-pallet-inbound-queue-v2-fixtures?/std", - "sp-core/std", - "sp-io/std", - "sp-runtime/std", - "sp-std/std", - "tracing/std", - "xcm-builder/std", - "xcm-executor/std", - "xcm/std", -] runtime-benchmarks = [ - "frame-benchmarking", - "frame-benchmarking/runtime-benchmarks", - "frame-support/runtime-benchmarks", - "frame-system/runtime-benchmarks", - "hex-literal", - "pallet-balances/runtime-benchmarks", - "snowbridge-core/runtime-benchmarks", - "snowbridge-inbound-queue-primitives/runtime-benchmarks", - "snowbridge-pallet-ethereum-client/runtime-benchmarks", - "snowbridge-pallet-inbound-queue-v2-fixtures/runtime-benchmarks", - "snowbridge-test-utils/runtime-benchmarks", - "sp-runtime/runtime-benchmarks", - "xcm-builder/runtime-benchmarks", - "xcm-executor/runtime-benchmarks", + "frame-benchmarking", + "frame-benchmarking/runtime-benchmarks", + "frame-support/runtime-benchmarks", + "frame-system/runtime-benchmarks", + "hex-literal", + "pallet-balances/runtime-benchmarks", + "snowbridge-core/runtime-benchmarks", + "snowbridge-inbound-queue-primitives/runtime-benchmarks", + "snowbridge-pallet-ethereum-client/runtime-benchmarks", + "snowbridge-pallet-inbound-queue-v2-fixtures/runtime-benchmarks", + "snowbridge-test-utils/runtime-benchmarks", + "sp-runtime/runtime-benchmarks", + "xcm-builder/runtime-benchmarks", + "xcm-executor/runtime-benchmarks", +] +std = [ + "alloy-core/std", + "bp-relayers/std", + "codec/std", + "frame-benchmarking/std", + "frame-support/std", + "frame-system/std", + "log/std", + "pallet-balances/std", + "scale-info/std", + "serde", + "snowbridge-beacon-primitives/std", + "snowbridge-core/std", + "snowbridge-inbound-queue-primitives/std", + "snowbridge-pallet-inbound-queue-v2-fixtures?/std", + "sp-core/std", + "sp-io/std", + "sp-runtime/std", + "sp-std/std", + "tracing/std", + "xcm-builder/std", + "xcm-executor/std", + "xcm/std", ] try-runtime = [ - "frame-support/try-runtime", - "frame-system/try-runtime", - "pallet-balances/try-runtime", - "snowbridge-pallet-ethereum-client/try-runtime", - "sp-runtime/try-runtime", + "frame-support/try-runtime", + "frame-system/try-runtime", + "pallet-balances/try-runtime", + "snowbridge-pallet-ethereum-client/try-runtime", + "sp-runtime/try-runtime", ] diff --git a/operator/pallets/inbound-queue-v2/fixtures/Cargo.toml b/operator/pallets/inbound-queue-v2/fixtures/Cargo.toml index 64807abe..7568f8fc 100644 --- a/operator/pallets/inbound-queue-v2/fixtures/Cargo.toml +++ b/operator/pallets/inbound-queue-v2/fixtures/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "snowbridge-pallet-inbound-queue-v2-fixtures" -description = "Snowbridge Inbound Queue Test Fixtures V2" -version = "0.10.0" authors = ["Snowfork "] -edition.workspace = true -repository.workspace = true -license = "Apache-2.0" categories = ["cryptography::cryptocurrencies"] +description = "Snowbridge Inbound Queue Test Fixtures V2" +edition.workspace = true +license = "Apache-2.0" +name = "snowbridge-pallet-inbound-queue-v2-fixtures" +repository.workspace = true +version = "0.10.0" [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] @@ -24,14 +24,14 @@ sp-std = { workspace = true } [features] default = ["std"] -std = [ - "snowbridge-beacon-primitives/std", - "snowbridge-core/std", - "snowbridge-inbound-queue-primitives/std", - "sp-core/std", - "sp-std/std", -] runtime-benchmarks = [ - "snowbridge-core/runtime-benchmarks", - "snowbridge-inbound-queue-primitives/runtime-benchmarks", + "snowbridge-core/runtime-benchmarks", + "snowbridge-inbound-queue-primitives/runtime-benchmarks", +] +std = [ + "snowbridge-beacon-primitives/std", + "snowbridge-core/std", + "snowbridge-inbound-queue-primitives/std", + "sp-core/std", + "sp-std/std", ] diff --git a/operator/pallets/outbound-commitment-store/Cargo.toml b/operator/pallets/outbound-commitment-store/Cargo.toml index 1afcd66f..5295f315 100644 --- a/operator/pallets/outbound-commitment-store/Cargo.toml +++ b/operator/pallets/outbound-commitment-store/Cargo.toml @@ -1,9 +1,9 @@ [package] +authors = { workspace = true } +description = "Pallet for storing the latest commitment hash from the outbound queue for cross-chain verification" +edition = { workspace = true } name = "pallet-outbound-commitment-store" version = "0.1.0" -description = "Pallet for storing the latest commitment hash from the outbound queue for cross-chain verification" -authors = { workspace = true } -edition = { workspace = true } [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] @@ -17,6 +17,10 @@ sp-core = { workspace = true } [features] default = ["std"] +runtime-benchmarks = [ + "frame-support/runtime-benchmarks", + "frame-system/runtime-benchmarks", +] std = [ "codec/std", "frame-support/std", @@ -24,11 +28,4 @@ std = [ "scale-info/std", "sp-core/std", ] -try-runtime = [ - "frame-support/try-runtime", - "frame-system/try-runtime", -] -runtime-benchmarks = [ - "frame-support/runtime-benchmarks", - "frame-system/runtime-benchmarks", -] +try-runtime = ["frame-support/try-runtime", "frame-system/try-runtime"] diff --git a/operator/pallets/outbound-queue-v2/Cargo.toml b/operator/pallets/outbound-queue-v2/Cargo.toml index b67e897b..a6b2810a 100644 --- a/operator/pallets/outbound-queue-v2/Cargo.toml +++ b/operator/pallets/outbound-queue-v2/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "snowbridge-pallet-outbound-queue-v2" -description = "Snowbridge Outbound Queue Pallet V2" -version = "0.2.0" authors = ["Snowfork "] -edition.workspace = true -repository.workspace = true -license = "Apache-2.0" categories = ["cryptography::cryptocurrencies"] +description = "Snowbridge Outbound Queue Pallet V2" +edition.workspace = true +license = "Apache-2.0" +name = "snowbridge-pallet-outbound-queue-v2" +repository.workspace = true +version = "0.2.0" [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] @@ -49,45 +49,45 @@ sp-keyring = { workspace = true, default-features = true } [features] default = ["std"] -std = [ - "alloy-core/std", - "bp-relayers/std", - "bridge-hub-common/std", - "codec/std", - "ethabi/std", - "frame-benchmarking/std", - "frame-support/std", - "frame-system/std", - "pallet-message-queue/std", - "scale-info/std", - "serde/std", - "snowbridge-core/std", - "snowbridge-merkle-tree/std", - "snowbridge-outbound-queue-primitives/std", - "sp-arithmetic/std", - "sp-core/std", - "sp-io/std", - "sp-runtime/std", - "sp-std/std", - "xcm-builder/std", - "xcm-executor/std", - "xcm/std", -] runtime-benchmarks = [ - "bridge-hub-common/runtime-benchmarks", - "frame-benchmarking", - "frame-benchmarking/runtime-benchmarks", - "frame-support/runtime-benchmarks", - "frame-system/runtime-benchmarks", - "pallet-message-queue/runtime-benchmarks", - "snowbridge-core/runtime-benchmarks", - "sp-runtime/runtime-benchmarks", - "xcm-builder/runtime-benchmarks", - "xcm-executor/runtime-benchmarks", + "bridge-hub-common/runtime-benchmarks", + "frame-benchmarking", + "frame-benchmarking/runtime-benchmarks", + "frame-support/runtime-benchmarks", + "frame-system/runtime-benchmarks", + "pallet-message-queue/runtime-benchmarks", + "snowbridge-core/runtime-benchmarks", + "sp-runtime/runtime-benchmarks", + "xcm-builder/runtime-benchmarks", + "xcm-executor/runtime-benchmarks", +] +std = [ + "alloy-core/std", + "bp-relayers/std", + "bridge-hub-common/std", + "codec/std", + "ethabi/std", + "frame-benchmarking/std", + "frame-support/std", + "frame-system/std", + "pallet-message-queue/std", + "scale-info/std", + "serde/std", + "snowbridge-core/std", + "snowbridge-merkle-tree/std", + "snowbridge-outbound-queue-primitives/std", + "sp-arithmetic/std", + "sp-core/std", + "sp-io/std", + "sp-runtime/std", + "sp-std/std", + "xcm-builder/std", + "xcm-executor/std", + "xcm/std", ] try-runtime = [ - "frame-support/try-runtime", - "frame-system/try-runtime", - "pallet-message-queue/try-runtime", - "sp-runtime/try-runtime", + "frame-support/try-runtime", + "frame-system/try-runtime", + "pallet-message-queue/try-runtime", + "sp-runtime/try-runtime", ] diff --git a/operator/pallets/outbound-queue-v2/runtime-api/Cargo.toml b/operator/pallets/outbound-queue-v2/runtime-api/Cargo.toml index abb6cc54..81c41269 100644 --- a/operator/pallets/outbound-queue-v2/runtime-api/Cargo.toml +++ b/operator/pallets/outbound-queue-v2/runtime-api/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "snowbridge-outbound-queue-v2-runtime-api" -description = "Snowbridge Outbound Queue Runtime API V2" -version = "0.2.0" authors = ["Snowfork "] -edition.workspace = true -repository.workspace = true -license = "Apache-2.0" categories = ["cryptography::cryptocurrencies"] +description = "Snowbridge Outbound Queue Runtime API V2" +edition.workspace = true +license = "Apache-2.0" +name = "snowbridge-outbound-queue-v2-runtime-api" +repository.workspace = true +version = "0.2.0" [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] @@ -28,13 +28,13 @@ xcm = { workspace = true } [features] default = ["std"] std = [ - "codec/std", - "frame-support/std", - "scale-info/std", - "snowbridge-core/std", - "snowbridge-merkle-tree/std", - "snowbridge-outbound-queue-primitives/std", - "sp-api/std", - "sp-std/std", - "xcm/std", + "codec/std", + "frame-support/std", + "scale-info/std", + "snowbridge-core/std", + "snowbridge-merkle-tree/std", + "snowbridge-outbound-queue-primitives/std", + "sp-api/std", + "sp-std/std", + "xcm/std", ] diff --git a/operator/pallets/system-v2/Cargo.toml b/operator/pallets/system-v2/Cargo.toml index 6030d938..2742ffd3 100644 --- a/operator/pallets/system-v2/Cargo.toml +++ b/operator/pallets/system-v2/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "snowbridge-pallet-system-v2" -description = "Snowbridge System Pallet V2" -version = "0.2.0" authors = ["Snowfork "] -edition = { workspace = true } -repository = { workspace = true } -license = "Apache-2.0" categories = ["cryptography::cryptocurrencies"] +description = "Snowbridge System Pallet V2" +edition = { workspace = true } +license = "Apache-2.0" +name = "snowbridge-pallet-system-v2" +repository = { workspace = true } +version = "0.2.0" [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] @@ -42,44 +42,44 @@ sp-keyring = { workspace = true, default-features = true } [features] default = ["std"] -std = [ - "codec/std", - "frame-benchmarking?/std", - "frame-support/std", - "frame-system/std", - "log/std", - "pallet-xcm/std", - "scale-info/std", - "snowbridge-core/std", - "snowbridge-outbound-queue-primitives/std", - "snowbridge-pallet-system/std", - "sp-core/std", - "sp-io/std", - "sp-runtime/std", - "sp-std/std", - "xcm-executor/std", - "xcm/std", -] runtime-benchmarks = [ - "frame-benchmarking/runtime-benchmarks", - "frame-support/runtime-benchmarks", - "frame-system/runtime-benchmarks", - "pallet-balances/runtime-benchmarks", - "pallet-xcm/runtime-benchmarks", - "polkadot-primitives/runtime-benchmarks", - "snowbridge-core/runtime-benchmarks", - "snowbridge-pallet-outbound-queue-v2/runtime-benchmarks", - "snowbridge-pallet-system/runtime-benchmarks", - "snowbridge-test-utils/runtime-benchmarks", - "sp-runtime/runtime-benchmarks", - "xcm-executor/runtime-benchmarks", + "frame-benchmarking/runtime-benchmarks", + "frame-support/runtime-benchmarks", + "frame-system/runtime-benchmarks", + "pallet-balances/runtime-benchmarks", + "pallet-xcm/runtime-benchmarks", + "polkadot-primitives/runtime-benchmarks", + "snowbridge-core/runtime-benchmarks", + "snowbridge-pallet-outbound-queue-v2/runtime-benchmarks", + "snowbridge-pallet-system/runtime-benchmarks", + "snowbridge-test-utils/runtime-benchmarks", + "sp-runtime/runtime-benchmarks", + "xcm-executor/runtime-benchmarks", +] +std = [ + "codec/std", + "frame-benchmarking?/std", + "frame-support/std", + "frame-system/std", + "log/std", + "pallet-xcm/std", + "scale-info/std", + "snowbridge-core/std", + "snowbridge-outbound-queue-primitives/std", + "snowbridge-pallet-system/std", + "sp-core/std", + "sp-io/std", + "sp-runtime/std", + "sp-std/std", + "xcm-executor/std", + "xcm/std", ] try-runtime = [ - "frame-support/try-runtime", - "frame-system/try-runtime", - "pallet-balances/try-runtime", - "pallet-xcm/try-runtime", - "snowbridge-pallet-outbound-queue-v2/try-runtime", - "snowbridge-pallet-system/try-runtime", - "sp-runtime/try-runtime", + "frame-support/try-runtime", + "frame-system/try-runtime", + "pallet-balances/try-runtime", + "pallet-xcm/try-runtime", + "snowbridge-pallet-outbound-queue-v2/try-runtime", + "snowbridge-pallet-system/try-runtime", + "sp-runtime/try-runtime", ] diff --git a/operator/pallets/system-v2/runtime-api/Cargo.toml b/operator/pallets/system-v2/runtime-api/Cargo.toml index fe38a97e..a24bbe2a 100644 --- a/operator/pallets/system-v2/runtime-api/Cargo.toml +++ b/operator/pallets/system-v2/runtime-api/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "snowbridge-system-v2-runtime-api" -description = "Snowbridge System Runtime API V2" -version = "0.2.0" authors = ["Snowfork "] -edition.workspace = true -repository.workspace = true -license = "Apache-2.0" categories = ["cryptography::cryptocurrencies"] +description = "Snowbridge System Runtime API V2" +edition.workspace = true +license = "Apache-2.0" +name = "snowbridge-system-v2-runtime-api" +repository.workspace = true +version = "0.2.0" [lints] workspace = true diff --git a/operator/pallets/system/Cargo.toml b/operator/pallets/system/Cargo.toml index ac09abf9..601a6783 100644 --- a/operator/pallets/system/Cargo.toml +++ b/operator/pallets/system/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "snowbridge-pallet-system" -description = "Snowbridge System Pallet" -version = "0.13.1" authors = ["Snowfork "] -edition.workspace = true -repository.workspace = true -license = "Apache-2.0" categories = ["cryptography::cryptocurrencies"] +description = "Snowbridge System Pallet" +edition.workspace = true +license = "Apache-2.0" +name = "snowbridge-pallet-system" +repository.workspace = true +version = "0.13.1" [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] @@ -26,8 +26,8 @@ sp-core.workspace = true sp-io.workspace = true sp-runtime.workspace = true sp-std.workspace = true -xcm-executor.workspace = true xcm.workspace = true +xcm-executor.workspace = true [dev-dependencies] hex = { workspace = true, default-features = true } @@ -39,41 +39,41 @@ snowbridge-pallet-outbound-queue = { default-features = true, workspace = true } [features] default = ["std"] -std = [ - "codec/std", - "frame-benchmarking?/std", - "frame-support/std", - "frame-system/std", - "log/std", - "scale-info/std", - "snowbridge-core/std", - "snowbridge-outbound-queue-primitives/std", - "sp-core/std", - "sp-io/std", - "sp-runtime/std", - "sp-std/std", - "xcm-executor/std", - "xcm/std", -] runtime-benchmarks = [ - "frame-benchmarking/runtime-benchmarks", - "frame-support/runtime-benchmarks", - "frame-system/runtime-benchmarks", - "pallet-balances/runtime-benchmarks", - "pallet-message-queue/runtime-benchmarks", - "polkadot-primitives/runtime-benchmarks", - "snowbridge-core/runtime-benchmarks", - "snowbridge-pallet-outbound-queue/runtime-benchmarks", - "sp-runtime/runtime-benchmarks", - "xcm-executor/runtime-benchmarks", + "frame-benchmarking/runtime-benchmarks", + "frame-support/runtime-benchmarks", + "frame-system/runtime-benchmarks", + "pallet-balances/runtime-benchmarks", + "pallet-message-queue/runtime-benchmarks", + "polkadot-primitives/runtime-benchmarks", + "snowbridge-core/runtime-benchmarks", + "snowbridge-pallet-outbound-queue/runtime-benchmarks", + "sp-runtime/runtime-benchmarks", + "xcm-executor/runtime-benchmarks", +] +std = [ + "codec/std", + "frame-benchmarking?/std", + "frame-support/std", + "frame-system/std", + "log/std", + "scale-info/std", + "snowbridge-core/std", + "snowbridge-outbound-queue-primitives/std", + "sp-core/std", + "sp-io/std", + "sp-runtime/std", + "sp-std/std", + "xcm-executor/std", + "xcm/std", ] try-runtime = [ - "frame-support/try-runtime", - "frame-system/try-runtime", - "pallet-balances/try-runtime", - "pallet-message-queue/try-runtime", - "snowbridge-pallet-outbound-queue/try-runtime", - "sp-runtime/try-runtime", + "frame-support/try-runtime", + "frame-system/try-runtime", + "pallet-balances/try-runtime", + "pallet-message-queue/try-runtime", + "snowbridge-pallet-outbound-queue/try-runtime", + "sp-runtime/try-runtime", ] [lib] diff --git a/operator/pallets/system/runtime-api/Cargo.toml b/operator/pallets/system/runtime-api/Cargo.toml index 2b766e4a..72d53e17 100644 --- a/operator/pallets/system/runtime-api/Cargo.toml +++ b/operator/pallets/system/runtime-api/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "snowbridge-system-runtime-api" -description = "Snowbridge System Runtime API" -version = "0.13.0" authors = ["Snowfork "] -edition.workspace = true -repository.workspace = true -license = "Apache-2.0" categories = ["cryptography::cryptocurrencies"] +description = "Snowbridge System Runtime API" +edition.workspace = true +license = "Apache-2.0" +name = "snowbridge-system-runtime-api" +repository.workspace = true +version = "0.13.0" [lints] workspace = true diff --git a/operator/pallets/validator-set/Cargo.toml b/operator/pallets/validator-set/Cargo.toml index d1b479dc..d7c2fa89 100644 --- a/operator/pallets/validator-set/Cargo.toml +++ b/operator/pallets/validator-set/Cargo.toml @@ -1,9 +1,12 @@ [package] -name = 'pallet-validator-set' -version = '1.0.0' -authors = ['Gautam Dhameja ', 'Parity Technologies '] +authors = [ + 'Gautam Dhameja ', + 'Parity Technologies ', +] edition = '2021' license = 'Apache-2.0' +name = 'pallet-validator-set' +version = '1.0.0' [dependencies] codec = { workspace = true, features = ["derive"] } diff --git a/operator/primitives/bridge/Cargo.toml b/operator/primitives/bridge/Cargo.toml index 978aeb62..66d5807f 100644 --- a/operator/primitives/bridge/Cargo.toml +++ b/operator/primitives/bridge/Cargo.toml @@ -1,11 +1,11 @@ [package] -name = "dhp-bridge" -version = "0.1.0" -license = { workspace = true } authors = { workspace = true } -homepage = { workspace = true } -repository = { workspace = true } edition = { workspace = true } +homepage = { workspace = true } +license = { workspace = true } +name = "dhp-bridge" +repository = { workspace = true } +version = "0.1.0" [dependencies] frame-support = { workspace = true } diff --git a/operator/primitives/snowbridge/beacon/Cargo.toml b/operator/primitives/snowbridge/beacon/Cargo.toml index 0f30c258..4c032849 100644 --- a/operator/primitives/snowbridge/beacon/Cargo.toml +++ b/operator/primitives/snowbridge/beacon/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "snowbridge-beacon-primitives" -description = "Snowbridge Beacon Primitives" -version = "0.2.0" authors = ["Snowfork "] -edition.workspace = true -repository.workspace = true -license = "Apache-2.0" categories = ["cryptography::cryptocurrencies"] +description = "Snowbridge Beacon Primitives" +edition.workspace = true +license = "Apache-2.0" +name = "snowbridge-beacon-primitives" +repository.workspace = true +version = "0.2.0" [package.metadata.polkadot-sdk] exclude-from-umbrella = true @@ -16,7 +16,9 @@ codec = { workspace = true } hex = { workspace = true } rlp = { workspace = true } scale-info = { features = ["derive"], workspace = true } -serde = { optional = true, features = ["derive"], workspace = true, default-features = true } +serde = { optional = true, features = [ + "derive", +], workspace = true, default-features = true } frame-support = { workspace = true } sp-core = { workspace = true } @@ -37,18 +39,18 @@ hex-literal = { workspace = true, default-features = true } [features] default = ["std"] std = [ - "byte-slice-cast/std", - "codec/std", - "frame-support/std", - "hex/std", - "milagro-bls/std", - "rlp/std", - "scale-info/std", - "serde", - "snowbridge-ethereum/std", - "sp-core/std", - "sp-io/std", - "sp-runtime/std", - "sp-std/std", - "ssz_rs/std", + "byte-slice-cast/std", + "codec/std", + "frame-support/std", + "hex/std", + "milagro-bls/std", + "rlp/std", + "scale-info/std", + "serde", + "snowbridge-ethereum/std", + "sp-core/std", + "sp-io/std", + "sp-runtime/std", + "sp-std/std", + "ssz_rs/std", ] diff --git a/operator/primitives/snowbridge/bridge-hub-common/Cargo.toml b/operator/primitives/snowbridge/bridge-hub-common/Cargo.toml index f4ecc574..081868b9 100644 --- a/operator/primitives/snowbridge/bridge-hub-common/Cargo.toml +++ b/operator/primitives/snowbridge/bridge-hub-common/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "bridge-hub-common" -version = "0.13.1" authors.workspace = true -edition.workspace = true description = "Bridge hub common utilities" -license = "Apache-2.0" +edition.workspace = true homepage.workspace = true +license = "Apache-2.0" +name = "bridge-hub-common" repository.workspace = true +version = "0.13.1" [dependencies] codec = { features = ["derive"], workspace = true } @@ -18,33 +18,33 @@ snowbridge-core.workspace = true sp-core.workspace = true sp-runtime.workspace = true sp-std.workspace = true +xcm.workspace = true xcm-builder.workspace = true xcm-executor.workspace = true -xcm.workspace = true [features] default = ["std"] std = [ - "codec/std", - "cumulus-primitives-core/std", - "frame-support/std", - "pallet-message-queue/std", - "scale-info/std", - "snowbridge-core/std", - "sp-core/std", - "sp-runtime/std", - "sp-std/std", - "xcm-builder/std", - "xcm-executor/std", - "xcm/std", + "codec/std", + "cumulus-primitives-core/std", + "frame-support/std", + "pallet-message-queue/std", + "scale-info/std", + "snowbridge-core/std", + "sp-core/std", + "sp-runtime/std", + "sp-std/std", + "xcm-builder/std", + "xcm-executor/std", + "xcm/std", ] runtime-benchmarks = [ - "cumulus-primitives-core/runtime-benchmarks", - "frame-support/runtime-benchmarks", - "pallet-message-queue/runtime-benchmarks", - "snowbridge-core/runtime-benchmarks", - "sp-runtime/runtime-benchmarks", - "xcm-builder/runtime-benchmarks", - "xcm-executor/runtime-benchmarks", + "cumulus-primitives-core/runtime-benchmarks", + "frame-support/runtime-benchmarks", + "pallet-message-queue/runtime-benchmarks", + "snowbridge-core/runtime-benchmarks", + "sp-runtime/runtime-benchmarks", + "xcm-builder/runtime-benchmarks", + "xcm-executor/runtime-benchmarks", ] diff --git a/operator/primitives/snowbridge/core/Cargo.toml b/operator/primitives/snowbridge/core/Cargo.toml index b0b3c844..b87c7393 100644 --- a/operator/primitives/snowbridge/core/Cargo.toml +++ b/operator/primitives/snowbridge/core/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "snowbridge-core" -description = "Snowbridge Core" -version = "0.2.0" authors = ["Snowfork "] -edition.workspace = true -repository.workspace = true -license = "Apache-2.0" categories = ["cryptography::cryptocurrencies"] +description = "Snowbridge Core" +edition.workspace = true +license = "Apache-2.0" +name = "snowbridge-core" +repository.workspace = true +version = "0.2.0" [package.metadata.polkadot-sdk] exclude-from-umbrella = true @@ -39,31 +39,31 @@ hex = { workspace = true, default-features = true } [features] default = ["std"] -std = [ - "bp-relayers/std", - "codec/std", - "ethabi/std", - "frame-support/std", - "frame-system/std", - "log/std", - "polkadot-parachain-primitives/std", - "scale-info/std", - "serde/std", - "sp-arithmetic/std", - "sp-core/std", - "sp-io/std", - "sp-runtime/std", - "sp-std/std", - "xcm-builder/std", - "xcm-executor/std", - "xcm/std", +runtime-benchmarks = [ + "frame-support/runtime-benchmarks", + "frame-system/runtime-benchmarks", + "polkadot-parachain-primitives/runtime-benchmarks", + "sp-runtime/runtime-benchmarks", + "xcm-builder/runtime-benchmarks", + "xcm-executor/runtime-benchmarks", ] serde = ["dep:serde", "scale-info/serde"] -runtime-benchmarks = [ - "frame-support/runtime-benchmarks", - "frame-system/runtime-benchmarks", - "polkadot-parachain-primitives/runtime-benchmarks", - "sp-runtime/runtime-benchmarks", - "xcm-builder/runtime-benchmarks", - "xcm-executor/runtime-benchmarks", +std = [ + "bp-relayers/std", + "codec/std", + "ethabi/std", + "frame-support/std", + "frame-system/std", + "log/std", + "polkadot-parachain-primitives/std", + "scale-info/std", + "serde/std", + "sp-arithmetic/std", + "sp-core/std", + "sp-io/std", + "sp-runtime/std", + "sp-std/std", + "xcm-builder/std", + "xcm-executor/std", + "xcm/std", ] diff --git a/operator/primitives/snowbridge/ethereum/Cargo.toml b/operator/primitives/snowbridge/ethereum/Cargo.toml index 9a7dfbb4..9d49aa6d 100644 --- a/operator/primitives/snowbridge/ethereum/Cargo.toml +++ b/operator/primitives/snowbridge/ethereum/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "snowbridge-ethereum" -description = "Snowbridge Ethereum" -version = "0.3.0" authors = ["Snowfork "] -edition.workspace = true -repository.workspace = true -license = "Apache-2.0" categories = ["cryptography::cryptocurrencies"] +description = "Snowbridge Ethereum" +edition.workspace = true +license = "Apache-2.0" +name = "snowbridge-ethereum" +repository.workspace = true +version = "0.3.0" [package.metadata.polkadot-sdk] exclude-from-umbrella = true @@ -19,8 +19,12 @@ hex-literal = { workspace = true } parity-bytes = { workspace = true } rlp = { workspace = true } scale-info = { features = ["derive"], workspace = true } -serde = { optional = true, features = ["derive"], workspace = true, default-features = true } -serde-big-array = { optional = true, features = ["const-generics"], workspace = true } +serde = { optional = true, features = [ + "derive", +], workspace = true, default-features = true } +serde-big-array = { optional = true, features = [ + "const-generics", +], workspace = true } sp-io = { workspace = true } sp-runtime = { workspace = true } @@ -36,16 +40,16 @@ serde_json = { workspace = true, default-features = true } default = ["std"] expensive_tests = [] std = [ - "codec/std", - "ethabi/std", - "ethbloom/std", - "ethereum-types/std", - "parity-bytes/std", - "rlp/std", - "scale-info/std", - "serde", - "serde-big-array", - "sp-io/std", - "sp-runtime/std", - "sp-std/std", + "codec/std", + "ethabi/std", + "ethbloom/std", + "ethereum-types/std", + "parity-bytes/std", + "rlp/std", + "scale-info/std", + "serde", + "serde-big-array", + "sp-io/std", + "sp-runtime/std", + "sp-std/std", ] diff --git a/operator/primitives/snowbridge/inbound-queue/Cargo.toml b/operator/primitives/snowbridge/inbound-queue/Cargo.toml index 415a1eb0..b58f333a 100644 --- a/operator/primitives/snowbridge/inbound-queue/Cargo.toml +++ b/operator/primitives/snowbridge/inbound-queue/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "snowbridge-inbound-queue-primitives" -description = "Snowbridge Inbound Queue Primitives" -version = "0.9.0" authors = ["Snowfork "] -edition.workspace = true -repository.workspace = true -license = "Apache-2.0" categories = ["cryptography::cryptocurrencies"] +description = "Snowbridge Inbound Queue Primitives" +edition.workspace = true +license = "Apache-2.0" +name = "snowbridge-inbound-queue-primitives" +repository.workspace = true +version = "0.9.0" [package.metadata.polkadot-sdk] exclude-from-umbrella = true @@ -39,30 +39,30 @@ hex-literal = { workspace = true, default-features = true } [dev-dependencies] [features] default = ["std"] -std = [ - "alloy-core/std", - "codec/std", - "frame-support/std", - "frame-system/std", - "hex/std", - "log/std", - "scale-info/std", - "snowbridge-beacon-primitives/std", - "snowbridge-core/std", - "snowbridge-verification-primitives/std", - "sp-core/std", - "sp-io/std", - "sp-runtime/std", - "sp-std/std", - "xcm-builder/std", - "xcm-executor/std", - "xcm/std", -] runtime-benchmarks = [ - "frame-support/runtime-benchmarks", - "frame-system/runtime-benchmarks", - "snowbridge-core/runtime-benchmarks", - "sp-runtime/runtime-benchmarks", - "xcm-builder/runtime-benchmarks", - "xcm-executor/runtime-benchmarks", + "frame-support/runtime-benchmarks", + "frame-system/runtime-benchmarks", + "snowbridge-core/runtime-benchmarks", + "sp-runtime/runtime-benchmarks", + "xcm-builder/runtime-benchmarks", + "xcm-executor/runtime-benchmarks", +] +std = [ + "alloy-core/std", + "codec/std", + "frame-support/std", + "frame-system/std", + "hex/std", + "log/std", + "scale-info/std", + "snowbridge-beacon-primitives/std", + "snowbridge-core/std", + "snowbridge-verification-primitives/std", + "sp-core/std", + "sp-io/std", + "sp-runtime/std", + "sp-std/std", + "xcm-builder/std", + "xcm-executor/std", + "xcm/std", ] diff --git a/operator/primitives/snowbridge/merkle-tree/Cargo.toml b/operator/primitives/snowbridge/merkle-tree/Cargo.toml index f2948a35..da490080 100644 --- a/operator/primitives/snowbridge/merkle-tree/Cargo.toml +++ b/operator/primitives/snowbridge/merkle-tree/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "snowbridge-merkle-tree" -description = "Snowbridge Merkle Tree" -version = "0.2.0" authors = ["Snowfork "] -edition.workspace = true -repository.workspace = true -license = "Apache-2.0" categories = ["cryptography::cryptocurrencies"] +description = "Snowbridge Merkle Tree" +edition.workspace = true +license = "Apache-2.0" +name = "snowbridge-merkle-tree" +repository.workspace = true +version = "0.2.0" [package.metadata.polkadot-sdk] exclude-from-umbrella = true diff --git a/operator/primitives/snowbridge/outbound-queue/Cargo.toml b/operator/primitives/snowbridge/outbound-queue/Cargo.toml index d2d58bd1..1b6f8362 100644 --- a/operator/primitives/snowbridge/outbound-queue/Cargo.toml +++ b/operator/primitives/snowbridge/outbound-queue/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "snowbridge-outbound-queue-primitives" -description = "Snowbridge Outbound Queue Primitives" -version = "0.2.0" authors = ["Snowfork "] -edition.workspace = true -repository.workspace = true -license = "Apache-2.0" categories = ["cryptography::cryptocurrencies"] +description = "Snowbridge Outbound Queue Primitives" +edition.workspace = true +license = "Apache-2.0" +name = "snowbridge-outbound-queue-primitives" +repository.workspace = true +version = "0.2.0" [package.metadata.polkadot-sdk] exclude-from-umbrella = true @@ -42,22 +42,22 @@ hex = { workspace = true, default-features = true } [features] default = ["std"] std = [ - "alloy-core/std", - "codec/std", - "ethabi/std", - "frame-support/std", - "frame-system/std", - "log/std", - "polkadot-parachain-primitives/std", - "scale-info/std", - "snowbridge-core/std", - "snowbridge-verification-primitives/std", - "sp-arithmetic/std", - "sp-core/std", - "sp-io/std", - "sp-runtime/std", - "sp-std/std", - "xcm-builder/std", - "xcm-executor/std", - "xcm/std", + "alloy-core/std", + "codec/std", + "ethabi/std", + "frame-support/std", + "frame-system/std", + "log/std", + "polkadot-parachain-primitives/std", + "scale-info/std", + "snowbridge-core/std", + "snowbridge-verification-primitives/std", + "sp-arithmetic/std", + "sp-core/std", + "sp-io/std", + "sp-runtime/std", + "sp-std/std", + "xcm-builder/std", + "xcm-executor/std", + "xcm/std", ] diff --git a/operator/primitives/snowbridge/test-utils/Cargo.toml b/operator/primitives/snowbridge/test-utils/Cargo.toml index 1607abaa..077b1fdd 100644 --- a/operator/primitives/snowbridge/test-utils/Cargo.toml +++ b/operator/primitives/snowbridge/test-utils/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "snowbridge-test-utils" -description = "Snowbridge test utilities" -version = "0.1.0" authors = ["Snowfork "] -edition.workspace = true -repository.workspace = true -license = "Apache-2.0" categories = ["cryptography::cryptocurrencies"] +description = "Snowbridge test utilities" +edition.workspace = true +license = "Apache-2.0" +name = "snowbridge-test-utils" +repository.workspace = true +version = "0.1.0" [package.metadata.polkadot-sdk] exclude-from-umbrella = true @@ -19,7 +19,9 @@ frame-system = { workspace = true, default-features = true } hex = { workspace = true, default-features = true } log = { workspace = true, default-features = true } pallet-xcm = { workspace = true, default-features = true } -scale-info = { features = ["derive"], workspace = true, default-features = true } +scale-info = { features = [ + "derive", +], workspace = true, default-features = true } snowbridge-outbound-queue-primitives = { workspace = true, default-features = true } sp-core = { workspace = true, default-features = true } sp-std = { workspace = true, default-features = true } @@ -29,10 +31,10 @@ xcm-executor = { workspace = true, default-features = true } [features] runtime-benchmarks = [ - "frame-benchmarking/runtime-benchmarks", - "frame-support/runtime-benchmarks", - "frame-system/runtime-benchmarks", - "pallet-xcm/runtime-benchmarks", - "xcm-builder/runtime-benchmarks", - "xcm-executor/runtime-benchmarks", + "frame-benchmarking/runtime-benchmarks", + "frame-support/runtime-benchmarks", + "frame-system/runtime-benchmarks", + "pallet-xcm/runtime-benchmarks", + "xcm-builder/runtime-benchmarks", + "xcm-executor/runtime-benchmarks", ] diff --git a/operator/primitives/snowbridge/verification/Cargo.toml b/operator/primitives/snowbridge/verification/Cargo.toml index 08457c9c..5be7f011 100644 --- a/operator/primitives/snowbridge/verification/Cargo.toml +++ b/operator/primitives/snowbridge/verification/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "snowbridge-verification-primitives" -description = "Snowbridge Verification Primitives" -version = "0.2.0" authors = ["Snowfork "] -edition.workspace = true -repository.workspace = true -license = "Apache-2.0" categories = ["cryptography::cryptocurrencies"] +description = "Snowbridge Verification Primitives" +edition.workspace = true +license = "Apache-2.0" +name = "snowbridge-verification-primitives" +repository.workspace = true +version = "0.2.0" [package.metadata.polkadot-sdk] exclude-from-umbrella = true @@ -22,10 +22,10 @@ sp-std = { workspace = true } [features] default = ["std"] std = [ - "codec/std", - "frame-support/std", - "scale-info/std", - "snowbridge-beacon-primitives/std", - "sp-core/std", - "sp-std/std", + "codec/std", + "frame-support/std", + "scale-info/std", + "snowbridge-beacon-primitives/std", + "sp-core/std", + "sp-std/std", ] diff --git a/operator/runtime/common/Cargo.toml b/operator/runtime/common/Cargo.toml index 3a87268e..ae3c1e9b 100644 --- a/operator/runtime/common/Cargo.toml +++ b/operator/runtime/common/Cargo.toml @@ -1,8 +1,8 @@ [package] -name = "datahaven-runtime-common" description = "Common code used through the Datahaven network" -version = "0.1.0" edition = { workspace = true } +name = "datahaven-runtime-common" +version = "0.1.0" [dependencies] fp-account = { workspace = true } @@ -21,7 +21,7 @@ std = [ "polkadot-runtime-common/std", "xcm/std", "sp-core/std", - "sp-runtime/std", + "sp-runtime/std", ] runtime-benchmarks = [ diff --git a/operator/runtime/mainnet/Cargo.toml b/operator/runtime/mainnet/Cargo.toml index 21824713..cf03e45b 100644 --- a/operator/runtime/mainnet/Cargo.toml +++ b/operator/runtime/mainnet/Cargo.toml @@ -1,13 +1,13 @@ [package] -name = "datahaven-mainnet-runtime" -description = "DataHaven Mainnet runtime" -version = "0.1.0" -license = "Unlicense" authors = { workspace = true } -homepage = { workspace = true } -repository = { workspace = true } +description = "DataHaven Mainnet runtime" edition = { workspace = true } +homepage = { workspace = true } +license = "Unlicense" +name = "datahaven-mainnet-runtime" publish = false +repository = { workspace = true } +version = "0.1.0" [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] @@ -60,7 +60,9 @@ pallet-validator-set = { workspace = true } polkadot-primitives = { workspace = true } polkadot-runtime-common = { workspace = true } scale-info = { workspace = true, features = ["derive", "serde"] } -serde_json = { workspace = true, default-features = false, features = ["alloc"] } +serde_json = { workspace = true, default-features = false, features = [ + "alloc", +] } snowbridge-beacon-primitives = { workspace = true } snowbridge-core = { workspace = true } snowbridge-inbound-queue-primitives = { workspace = true } @@ -249,9 +251,7 @@ try-runtime = [ "pallet-outbound-commitment-store/try-runtime", ] -fast-runtime = [ - "datahaven-runtime-common/fast-runtime", -] +fast-runtime = ["datahaven-runtime-common/fast-runtime"] # Enable the metadata hash generation. # diff --git a/operator/runtime/stagenet/Cargo.toml b/operator/runtime/stagenet/Cargo.toml index 4117d191..86f796d9 100644 --- a/operator/runtime/stagenet/Cargo.toml +++ b/operator/runtime/stagenet/Cargo.toml @@ -1,13 +1,13 @@ [package] -name = "datahaven-stagenet-runtime" -description = "DataHaven Stagenet runtime" -version = "0.1.0" -license = "Unlicense" authors = { workspace = true } -homepage = { workspace = true } -repository = { workspace = true } +description = "DataHaven Stagenet runtime" edition = { workspace = true } +homepage = { workspace = true } +license = "Unlicense" +name = "datahaven-stagenet-runtime" publish = false +repository = { workspace = true } +version = "0.1.0" [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] @@ -60,7 +60,9 @@ pallet-validator-set = { workspace = true } polkadot-primitives = { workspace = true } polkadot-runtime-common = { workspace = true } scale-info = { workspace = true, features = ["derive", "serde"] } -serde_json = { workspace = true, default-features = false, features = ["alloc"] } +serde_json = { workspace = true, default-features = false, features = [ + "alloc", +] } snowbridge-beacon-primitives = { workspace = true } snowbridge-core = { workspace = true } snowbridge-inbound-queue-primitives = { workspace = true } @@ -249,9 +251,7 @@ try-runtime = [ "pallet-outbound-commitment-store/try-runtime", ] -fast-runtime = [ - "datahaven-runtime-common/fast-runtime", -] +fast-runtime = ["datahaven-runtime-common/fast-runtime"] # Enable the metadata hash generation. # diff --git a/operator/runtime/testnet/Cargo.toml b/operator/runtime/testnet/Cargo.toml index deb002a8..cae1cb2e 100644 --- a/operator/runtime/testnet/Cargo.toml +++ b/operator/runtime/testnet/Cargo.toml @@ -1,13 +1,13 @@ [package] -name = "datahaven-testnet-runtime" -description = "DataHaven Testnet runtime" -version = "0.1.0" -license = "Unlicense" authors = { workspace = true } -homepage = { workspace = true } -repository = { workspace = true } +description = "DataHaven Testnet runtime" edition = { workspace = true } +homepage = { workspace = true } +license = "Unlicense" +name = "datahaven-testnet-runtime" publish = false +repository = { workspace = true } +version = "0.1.0" [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] @@ -60,7 +60,9 @@ pallet-validator-set = { workspace = true } polkadot-primitives = { workspace = true } polkadot-runtime-common = { workspace = true } scale-info = { workspace = true, features = ["derive", "serde"] } -serde_json = { workspace = true, default-features = false, features = ["alloc"] } +serde_json = { workspace = true, default-features = false, features = [ + "alloc", +] } snowbridge-beacon-primitives = { workspace = true } snowbridge-core = { workspace = true } snowbridge-inbound-queue-primitives = { workspace = true } @@ -249,9 +251,7 @@ try-runtime = [ "pallet-outbound-commitment-store/try-runtime", ] -fast-runtime = [ - "datahaven-runtime-common/fast-runtime", -] +fast-runtime = ["datahaven-runtime-common/fast-runtime"] # Enable the metadata hash generation. # diff --git a/operator/rust-toolchain.toml b/operator/rust-toolchain.toml index dfb7da93..dcd8e577 100644 --- a/operator/rust-toolchain.toml +++ b/operator/rust-toolchain.toml @@ -1,14 +1,14 @@ [toolchain] channel = "1.85" components = [ - "cargo", - "clippy", - "rust-analyzer", - "rust-src", - "rust-std", - "rustc-dev", - "rustc", - "rustfmt", + "cargo", + "clippy", + "rust-analyzer", + "rust-src", + "rust-std", + "rustc-dev", + "rustc", + "rustfmt", ] -targets = [ "wasm32-unknown-unknown" ] profile = "minimal" +targets = ["wasm32-unknown-unknown"] diff --git a/operator/test/config/zombie-flamingo-local.toml b/operator/test/config/zombie-flamingo-local.toml index f2c11a82..e7c3c065 100644 --- a/operator/test/config/zombie-flamingo-local.toml +++ b/operator/test/config/zombie-flamingo-local.toml @@ -2,9 +2,14 @@ timeout = 120 [relaychain] -default_command = "${output_bin_dir:-./target/release}/datahaven-node" chain = "local" -default_args = [ "-l=debug", "--pruning=archive", "--enable-offchain-indexing=true", "--offchain-worker=when-authority" ] +default_args = [ + "-l=debug", + "--pruning=archive", + "--enable-offchain-indexing=true", + "--offchain-worker=when-authority", +] +default_command = "${output_bin_dir:-./target/release}/datahaven-node" [[relaychain.nodes]] name = "alice" diff --git a/taplo.toml b/taplo.toml new file mode 100644 index 00000000..c2a2d2af --- /dev/null +++ b/taplo.toml @@ -0,0 +1,7 @@ + +include = ["operator/Cargo.toml", "operator/**/*.toml"] +exclude = ["/contracts"] + +[formatting] +indent_string = " " +reorder_keys = true \ No newline at end of file diff --git a/test/package.json b/test/package.json index 6ae2acae..86f907f8 100644 --- a/test/package.json +++ b/test/package.json @@ -7,6 +7,7 @@ "cli": "bun run cli/index.ts", "fmt": "biome check .", "fmt:fix": "biome check --write .", + "build:docker:operator": "docker build -t moonsonglabs/datahaven:local -f ../operator/Dockerfile ../operator", "build:docker:relayer": "bun -e \"import build from './scripts/snowbridge-relayer.ts'; build()\"", "generate:wagmi": "wagmi generate", "generate:snowbridge-cfgs": "bun -e \"import {generateSnowbridgeConfigs} from './scripts/gen-snowbridge-cfgs.ts'; await generateSnowbridgeConfigs()\"",