Files
status-web/e2e/docker-compose.anvil.yml
Jules b501af3781 feat(e2e): add reusable Anvil wallet harness
* chore(e2e): remove dead pre-deposit deposit tests

Deposits are sunsetted; the Hub pre-deposits page is now withdrawal-only.
Drop the network-switch and validation specs, the deposit modal page
object, and the now-unused TEST_AMOUNTS and clickDepositForVault helpers.

* fix(e2e): repair pre-deposits display smoke test

- sidebar: match the renamed "Pre-deposit vaults" link
- vaultHeadings: anchor to "<token> vault" so FAQ headings aren't counted
- assert exact vault names to avoid FAQ strict-mode collisions

* chore: add changeset

* ci(e2e): align workflow triggers with CI

Run on push to main, pull_request, and workflow_call.
Drop deployment_status, path filters, and manual dispatch.

* feat(e2e): expand MetaMask harness for transaction flows

Add tx, token-spend and signature approval to the notification page
object, expose a reusable launchMetaMaskContext, and split VIEWPORT into
its own constants module. Drop the unused home page object.

* feat(e2e): add Anvil fork wallet harness

Local mainnet + Linea Anvil forks (docker compose + eRPC) with an
AnvilRpcHelper for funding and snapshot/revert, MetaMask RPC redirection
(service-worker patch + Smart Transactions disabler), and a Hub-connected
anvil fixture decoupled from any feature. Adds anvil:up/down + test:anvil
scripts and an `anvil` Playwright project; reads metamaskVersion from
package.json.

* chore(e2e): add changelog
2026-06-17 01:51:21 +09:00

66 lines
1.6 KiB
YAML

name: status-web-anvil
services:
erpc:
image: ghcr.io/erpc/erpc:latest
platform: ${DOCKER_PLATFORM:-linux/amd64}
volumes:
- ./erpc.yaml:/erpc.yaml:ro
environment:
MAINNET_FORK_URL: ${MAINNET_FORK_URL:-https://ethereum-rpc.publicnode.com}
LINEA_FORK_URL: ${LINEA_FORK_URL:-https://rpc.linea.build}
anvil-mainnet:
image: ghcr.io/foundry-rs/foundry:v1.4.0
platform: ${DOCKER_PLATFORM:-linux/amd64}
entrypoint: anvil
depends_on:
erpc:
condition: service_started
restart: on-failure
command:
- --host=0.0.0.0
- --port=8545
- --fork-url=http://erpc:4000/main/evm/1
- --chain-id=1
- --silent
- --timeout=15000
- --retries=2
- --no-rate-limit
ports:
- '${MAINNET_FORK_PORT:-8547}:8545'
healthcheck:
test:
['CMD', 'cast', 'block-number', '--rpc-url', 'http://localhost:8545']
start_period: 30s
interval: 2s
timeout: 5s
retries: 15
anvil-linea:
image: ghcr.io/foundry-rs/foundry:v1.4.0
platform: ${DOCKER_PLATFORM:-linux/amd64}
entrypoint: anvil
depends_on:
erpc:
condition: service_started
restart: on-failure
command:
- --host=0.0.0.0
- --port=8545
- --fork-url=http://erpc:4000/main/evm/59144
- --chain-id=59144
- --silent
- --timeout=15000
- --retries=2
- --no-rate-limit
ports:
- '${LINEA_FORK_PORT:-8546}:8545'
healthcheck:
test:
['CMD', 'cast', 'block-number', '--rpc-url', 'http://localhost:8545']
start_period: 30s
interval: 2s
timeout: 5s
retries: 15