Skip to content
This repository has been archived by the owner on Oct 22, 2024. It is now read-only.

Commit

Permalink
Merge commit '47806d2da26a5fa3d7dd7b154318278c96013bcb' as 'bridges/s…
Browse files Browse the repository at this point in the history
…nowbridge'
  • Loading branch information
claravanstaden authored and claravanstaden committed Jan 22, 2024
2 parents 7b9aeb8 + 47806d2 commit 84cbcf2
Show file tree
Hide file tree
Showing 481 changed files with 116,092 additions and 0 deletions.
5 changes: 5 additions & 0 deletions bridges/snowbridge/.envrc-example
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
if ! has nix_direnv_version || ! nix_direnv_version 2.2.1; then
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/2.2.1/direnvrc" "sha256-zelF0vLbEl5uaqrfIzbgNzJWGmLzCmYAkInj/LNxvKs="
fi

use flake
1 change: 1 addition & 0 deletions bridges/snowbridge/.gitbook.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
root: ./docs/
2 changes: 2 additions & 0 deletions bridges/snowbridge/.github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*.sol @snowfork/snowbridge-solidity-code-owners
*.rs @snowfork/snowbridge-rust-code-owners
36 changes: 36 additions & 0 deletions bridges/snowbridge/.github/workflows/contracts.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: contracts

on:
push:
paths:
- "contracts/**"
- "!contracts/**/README.md"
branches:
- main
pull_request:
paths:
- "contracts/**"
- "!contracts/**/README.md"

jobs:
build:
runs-on: snowbridge-runner
timeout-minutes: 15
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 2
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
- name: Test
working-directory: contracts
run: forge test
- name: Coverage
working-directory: contracts
run: forge coverage --report=lcov --via-ir
- name: Upload coverage reports to Codecov with GitHub Action
uses: codecov/codecov-action@v3
with:
working-directory: contracts
files: lcov.info
flags: solidity
304 changes: 304 additions & 0 deletions bridges/snowbridge/.github/workflows/parachain.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,304 @@
name: parachain

on:
push:
paths:
- "parachain/**"
- "!parachain/README.md"
- "!parachain/LICENSE"
branches:
- main
pull_request:
paths:
- "parachain/**"
- "!parachain/README.md"
- "!parachain/LICENSE"
workflow_dispatch:

env:
FUZZ_MAX_LEN: 10000000000
FUZZ_MAX_RUNS: 30000
RUST_NIGHTLY: "2023-05-23"

jobs:
check:
runs-on: snowbridge-runner
env:
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: 1
RUSTFLAGS: -C debuginfo=1
SKIP_WASM_BUILD: 1
RUST_NIGHTLY_VERSION: nightly-2023-05-23
steps:
- uses: actions/checkout@v2
with:
submodules: "true"
- uses: arduino/setup-protoc@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/cache@v1
with:
path: |
~/.cargo/registry
~/.cargo/git
key: ${{ runner.os }}-cargo-${{ hashFiles('parachain/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
- uses: actions/[email protected]
with:
node-version: "18.x"
registry-url: "https://npm.pkg.github.com"
scope: "@paritytech"
- name: setup rust toolchain
run: rustup show
- name: cargo check
working-directory: parachain
run: cargo check --workspace --all-features
- name: clippy
working-directory: parachain
run: cargo clippy --all-features -- -D warnings
- name: format
working-directory: parachain
run: |
rustup install --profile minimal $RUST_NIGHTLY_VERSION
rustup component add --toolchain $RUST_NIGHTLY_VERSION rustfmt
cargo +$RUST_NIGHTLY_VERSION fmt --check
- name: install taplo
run: |
cargo install taplo-cli --locked
- name: taplo snowbridge
working-directory: parachain
run: taplo format --check --config .config/taplo.toml
- name: taplo polkadot-sdk
working-directory: polkadot-sdk
run: taplo format --check --config .config/taplo.toml

- name: install zepter
run: |
cargo install zepter -f --locked
- name: zepter snowbridge
working-directory: parachain
run: zepter run check
- name: zepter polkadot-sdk
working-directory: polkadot-sdk
run: zepter run check
- name: lint-markdown
working-directory: parachain
run: |
npm install -g markdownlint-cli
markdownlint --version
markdownlint --config .config/.markdownlint.yaml --ignore target
test:
needs: check
runs-on: snowbridge-runner
env:
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: 1
RUSTFLAGS: -C debuginfo=1
SKIP_WASM_BUILD: 1
RUST_MIN_STACK: 8388608
steps:
- uses: actions/checkout@v2
with:
ref: ${{ github.head_ref }}
submodules: "true"
- uses: arduino/setup-protoc@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/cache@v1
with:
path: |
~/.cargo/registry
~/.cargo/git
key: ${{ runner.os }}-cargo-${{ hashFiles('parachain/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: setup rust toolchain
run: rustup show
# Increase stack limit for beacon light client tests
- run: sudo prlimit --pid $$ --stack=32768
# Run tests for runtime-benchmarks feature
- name: Tests for runtime-benchmarks
working-directory: parachain
run: >
cargo test
--workspace
--features runtime-benchmarks
# Run tests for fast-runtime feature
- name: Tests for fast-runtime
working-directory: parachain
run: >
cargo test
--workspace
--features fast-runtime
# Run tests for all features
- name: Tests for all features
working-directory: parachain
run: >
cargo test
--workspace
--all-features
coverage:
needs: check
runs-on: snowbridge-runner
env:
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: 1
RUSTFLAGS: -C debuginfo=1
SKIP_WASM_BUILD: 1
RUST_MIN_STACK: 8388608
steps:
- uses: actions/checkout@v2
with:
ref: ${{ github.head_ref }}
submodules: "true"
- uses: arduino/setup-protoc@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: setup rust toolchain
run: rustup show
- name: run coverage test
working-directory: parachain
run: >
cargo install [email protected] &&
cargo tarpaulin
--workspace
--engine llvm
--out xml
- name: Upload coverage reports to Codecov with GitHub Action
uses: codecov/codecov-action@v3
with:
working-directory: parachain
files: cobertura.xml
flags: rust

check-cumulus:
runs-on: snowbridge-runner
steps:
- uses: actions/checkout@v2
with:
submodules: "true"
- uses: arduino/setup-protoc@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: setup rust toolchain
run: rustup show
- name: check bridge-hub fast-runtime
working-directory: polkadot-sdk
run: >
cargo check
--release --verbose
--package bridge-hub-rococo-runtime
--features fast-runtime
- name: check bridge-hub runtime-benchmarks
working-directory: polkadot-sdk
run: >
cargo check
--release --verbose
--package bridge-hub-rococo-runtime
--features runtime-benchmarks
- name: check bridge-hub try-runtime
working-directory: polkadot-sdk
run: >
cargo check
--release --verbose
--package bridge-hub-rococo-runtime
--features try-runtime
- name: check bridge-hub all features
working-directory: polkadot-sdk
run: >
cargo check
--release --verbose
--package bridge-hub-rococo-runtime
--all-features
- name: check asset-hub all features
working-directory: polkadot-sdk
run: >
cargo check
--release --verbose
--package asset-hub-rococo-runtime
--all-features
runtime-tests:
needs: check
runs-on: snowbridge-runner
steps:
- uses: actions/checkout@v2
with:
submodules: "true"
- uses: arduino/setup-protoc@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: setup rust toolchain
run: rustup show
- name: snowbridge runtime tests
working-directory: polkadot-sdk
run: >
RUST_LOG=xcm=trace cargo test
--package bridge-hub-rococo-runtime
--test snowbridge
-- --nocapture
integration-tests:
needs: check
runs-on: snowbridge-runner
steps:
- uses: actions/checkout@v2
with:
submodules: "true"
- uses: arduino/setup-protoc@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: setup rust toolchain
run: rustup show
- name: bridge-hub and asset-hub integration tests
working-directory: polkadot-sdk
run: >
RUST_LOG=xcm=trace cargo test
-p bridge-hub-rococo-integration-tests
-p asset-hub-rococo-integration-tests
-- --nocapture
beacon-fuzz:
if: false
needs: test
runs-on: snowbridge-runner
env:
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: 1
RUSTFLAGS: -C debuginfo=1
SKIP_WASM_BUILD: 1
steps:
- uses: actions/checkout@v2
with:
ref: ${{ github.head_ref }}
submodules: "true"
- uses: actions/cache@v1
with:
path: |
~/.cargo/registry
~/.cargo/git
key: ${{ runner.os }}-cargo-${{ hashFiles('parachain/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: install nightly
run: rustup install --profile minimal nightly-$RUST_NIGHTLY
- name: Install cargo-fuzz from crates.io
uses: baptiste0928/cargo-install@v2
with:
crate: cargo-fuzz
version: "^0.11.2"
- name: Fuzz force checkpoint extrinsic
run: >
cd parachain/pallets/ethereum-beacon-client && cargo +nightly-$RUST_NIGHTLY fuzz run fuzz_force_checkpoint --
-max_len=$FUZZ_MAX_LEN -runs=$FUZZ_MAX_RUNS
- name: Fuzz submit extrinsic
run: >
cd parachain/pallets/ethereum-beacon-client && cargo +nightly-$RUST_NIGHTLY fuzz run fuzz_submit --
-max_len=$FUZZ_MAX_LEN -runs=$FUZZ_MAX_RUNS
- name: Fuzz submit execution header extrinsic
run: >
cd parachain/pallets/ethereum-beacon-client && cargo +nightly-$RUST_NIGHTLY fuzz run fuzz_submit_execution_header --
-max_len=$FUZZ_MAX_LEN -runs=$FUZZ_MAX_RUNS
32 changes: 32 additions & 0 deletions bridges/snowbridge/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Local Netlify folder
.netlify

# VSCode Workspace
workspace.code-workspace

# Node modules
node_modules/

#Intellij project file
.idea

# asdf plugin versions
.tool-versions

/relaychain/
.vscode

/.rustup/
.cargo/
!.cargo/config.toml

.DS_Store

.direnv
.envrc
parachain/build_rs_cov.profraw
compiler_config.json
contracts/beefy-state.json

go/
gocache/
Loading

0 comments on commit 84cbcf2

Please sign in to comment.