Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions .firebaserc
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,6 @@
]
}
},
"stake-demo-app": {
"hosting": {
"stake-demo-app": [
"stake-demo-app"
]
}
},
"nft-quest-testnet": {
"hosting": {
"nft-quest-testnet": [
Expand Down
83 changes: 0 additions & 83 deletions .github/workflows/ci-rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,100 +5,17 @@ permissions:
on:
push:
paths:
- "packages/contracts/**"
- "packages/erc4337-contracts/**"
- "packages/sdk-platforms/rust/**"
- ".github/workflows/ci-rust.yml"
pull_request:
paths:
- "packages/contracts/**"
- "packages/erc4337-contracts/**"
- "packages/sdk-platforms/rust/**"
- ".github/workflows/ci-rust.yml"
workflow_dispatch:

jobs:
rust-sdk:
name: Rust Legacy SDK
runs-on: ubuntu-latest
strategy:
matrix:
config:
- debug
steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.4

- name: Install Rust
run: |
rustup update stable && rustup default stable
rustup toolchain install nightly

- name: Run rustfmt
run: |
rustup component add rustfmt --toolchain nightly
cargo +nightly fmt --all -- --check
working-directory: packages/sdk-platforms/rust/zksync-sso

- name: Install Anvil ZKsync Manually
run: |
SCRIPT_PATH=".github/workflows/scripts/install-anvil-zksync.sh"
chmod +x "$SCRIPT_PATH"
bash "$SCRIPT_PATH"

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9.11.0

- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: lts/Iron
cache: pnpm

- name: Install dependencies
run: pnpm install -r --frozen-lockfile

- name: Install contract dependencies
run: pnpm install -r --frozen-lockfile
working-directory: packages/contracts

- name: Build contracts
run: pnpm build
working-directory: packages/contracts

- name: Run clippy
run: |
rustup component add clippy --toolchain stable
rustup component add --toolchain 1.90.0-x86_64-unknown-linux-gnu clippy
cargo clippy --all-targets -- -D warnings
working-directory: packages/sdk-platforms/rust/zksync-sso

- name: Start anvil-zksync node
run: |
anvil-zksync --cache=none run > anvil-zksync.log 2>&1 &
# Wait a few seconds to ensure the node starts
sleep 5
# Verify it's running
if ! pgrep -f "anvil-zksync"; then
echo "Error: anvil-zksync failed to start"
cat anvil-zksync.log
exit 1
fi

- name: Run rust tests
run: cargo test -- --test-threads=1
working-directory: packages/sdk-platforms/rust/zksync-sso

# - name: Run integration tests
# run: cargo test test_complete_zksync_sso_integration -- --ignored
# working-directory: packages/sdk-platforms/rust/zksync-sso

rust-sdk-erc4337:
name: Rust 4337 SDK
runs-on: ubuntu-latest
Expand Down
159 changes: 3 additions & 156 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,116 +4,10 @@ on:
push:
branches:
- main
paths-ignore:
- "packages/sdk-platforms/**"
- ".github/workflows/ci-swift.yml"
- ".github/workflows/ci-rust.yml"
- ".github/workflows/ci-reactnative.yml"
pull_request:
paths-ignore:
- "packages/sdk-platforms/**"
- ".github/workflows/ci-swift.yml"
- ".github/workflows/ci-rust.yml"
- ".github/workflows/ci-reactnative.yml"
workflow_dispatch:

jobs:
e2e-demo-app:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
submodules: recursive

# Start node
- name: Era Test Node Action
uses: dutterbutter/era-test-node-action@36ffd2eefd46dc16e7e2a8e1715124400ec0a3ba # v1

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9.11.0

- name: Use Node.js
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4
with:
node-version: lts/Iron
cache: pnpm

- name: Setup Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: wasm32-unknown-unknown

- name: Install wasm-pack
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh

- name: Install zksync-foundry
run: |
wget -qc https://github.com/matter-labs/foundry-zksync/releases/download/nightly/foundry_nightly_linux_amd64.tar.gz -O - | tar -xz
./forge -V && ./cast -V
sudo mv ./forge /usr/local/bin/
sudo mv ./cast /usr/local/bin/
forge -V && cast -V

# Install dependencies for repo
- name: Install dependencies
run: pnpm install -r --frozen-lockfile

# Install dependencies for the submodule
- name: Install contract dependencies
run: pnpm install -r --frozen-lockfile
working-directory: packages/contracts

- name: Build contracts
run: pnpm build
working-directory: packages/contracts

- name: Deploy contracts
run: pnpm run deploy --file ../auth-server/stores/local-node.json
working-directory: packages/contracts

# Web SDK depends on ERC-4337 contracts for WASM build
- name: Install ERC-4337 contract dependencies
run: forge soldeer install
working-directory: packages/erc4337-contracts

- name: Build ERC-4337 contracts
run: forge build
working-directory: packages/erc4337-contracts

- name: Build SDK
run: |
pnpm nx build sdk
pnpm nx build web-sdk
pnpm nx build sdk-4337
pnpm nx build connector-export
pnpm nx build demo-app

- name: Deploy Demo-App contracts
run: pnpm nx deploy-contracts demo-app

- name: Run tests
run: pnpm test
working-directory: packages/sdk

# Run E2E tests
- name: Install Playwright Chromium Browser
run: pnpm exec playwright install chromium
working-directory: examples/demo-app
- name: Run e2e tests
run: pnpm nx e2e demo-app
- uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: demo-app-playwright-report
path: examples/demo-app/playwright-report/
retention-days: 3

e2e-demo-app-erc4337:
runs-on: ubuntu-latest
permissions:
Expand All @@ -127,10 +21,6 @@ jobs:
with:
submodules: recursive

# Start node
- name: Era Test Node Action
uses: dutterbutter/era-test-node-action@36ffd2eefd46dc16e7e2a8e1715124400ec0a3ba # v1

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
Expand Down Expand Up @@ -178,12 +68,10 @@ jobs:
run: forge build
working-directory: packages/erc4337-contracts

- name: Build SDK with ERC-4337
- name: Build ERC-4337 related packages
run: |
pnpm nx build sdk
pnpm nx build web-sdk
pnpm nx build sdk-4337
pnpm nx build connector-export
pnpm nx build:erc4337 demo-app

- name: Deploy Demo-App ERC-4337 contracts
Expand Down Expand Up @@ -218,7 +106,7 @@ jobs:
name: demo-app-4337-playwright-report
path: examples/demo-app/playwright-report/
retention-days: 3

e2e-nft-quest:
runs-on: ubuntu-latest
defaults:
Expand Down Expand Up @@ -278,45 +166,4 @@ jobs:
with:
name: nft-quest-playwright-report
path: examples/nft-quest/playwright-report/
retention-days: 3

contracts:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
submodules: recursive

# Start node
- name: Era Test Node Action
uses: dutterbutter/era-test-node-action@36ffd2eefd46dc16e7e2a8e1715124400ec0a3ba # v1

# Setup pnpm
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9.11.0

- name: Use Node.js
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4
with:
node-version: lts/Iron
cache: pnpm

# Install dependencies for the submodule
- name: Install contract dependencies
run: pnpm install -r --frozen-lockfile
working-directory: packages/contracts

# Build contracts and generate types
- name: Build contracts
run: pnpm build
working-directory: packages/contracts

# Run contract tests
- name: Run contract test
run: pnpm test
working-directory: packages/contracts
retention-days: 3
38 changes: 22 additions & 16 deletions .github/workflows/deploy-auth-server.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@ on:
push:
branches: [ "main" ]
paths:
- "packages/erc4337-contracts/**"
- "packages/sdk-platforms/rust/**"
- "packages/auth-server/**"
- "packages/sdk/**"
- "packages/sdk-4337/**"
workflow_dispatch:

env:
Expand All @@ -31,26 +33,30 @@ jobs:
node-version: lts/Iron
cache: 'pnpm'

# SDK depends on contracts
- name: Install contract dependencies
run: pnpm install -r --frozen-lockfile
working-directory: packages/contracts

- name: Build contracts
run: pnpm run build
working-directory: packages/contracts

# Local node to have target for deploy
- name: Era Test Node Action
uses: dutterbutter/anvil-zksync-action@v1.1.0
- name: Setup Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: wasm32-unknown-unknown

- name: Deploy contracts
run: pnpm run deploy --file ../auth-server/stores/local-node.json
working-directory: packages/contracts
- name: Install wasm-pack
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh

- name: Install dependencies
run: pnpm install -r --frozen-lockfile

# Web SDK depends on ERC-4337 contracts for WASM build
- name: Install foundry
uses: foundry-rs/foundry-toolchain@v1.5.0

- name: Install ERC-4337 contract dependencies
run: forge soldeer install
working-directory: packages/erc4337-contracts

- name: Build ERC-4337 contracts
run: forge build
working-directory: packages/erc4337-contracts

- name: Build apps
env:
NUXT_PUBLIC_DEFAULT_CHAIN_ID: 300
Expand Down
Loading
Loading