Add local instaswap E2E workspace harness
This commit is contained in:
215
docker-compose.local.yml
Normal file
215
docker-compose.local.yml
Normal file
@@ -0,0 +1,215 @@
|
||||
services:
|
||||
wire-sysio-dev:
|
||||
build:
|
||||
context: ${WIRE_SYSIO_CONTEXT:-./wire-sysio}
|
||||
dockerfile: etc/docker/Dockerfile
|
||||
target: platform-dev
|
||||
additional_contexts:
|
||||
clang-18-scripts: ${WIRE_SYSIO_CONTEXT:-./wire-sysio}/scripts/clang-18
|
||||
app-root: ${WIRE_SYSIO_CONTEXT:-./wire-sysio}
|
||||
image: ${WIRE_SYSIO_IMAGE:-wire/sysio:platform-dev-local}
|
||||
user: "${LOCAL_UID:-1000}:${LOCAL_GID:-1000}"
|
||||
working_dir: /wire
|
||||
volumes:
|
||||
- .:/wire
|
||||
- ./.local/wire-node:/srv/wire-node
|
||||
environment:
|
||||
WIRE_ROOT: /wire/${WIRE_SYSIO_REPO_DIR:-wire-sysio}
|
||||
WIRE_SYSIO_DIR: /wire/${WIRE_SYSIO_REPO_DIR:-wire-sysio}
|
||||
command: ["bash", "-lc", "sleep infinity"]
|
||||
|
||||
wire-nodeop:
|
||||
build:
|
||||
context: ${WIRE_SYSIO_CONTEXT:-./wire-sysio}
|
||||
dockerfile: etc/docker/Dockerfile
|
||||
target: platform-dev
|
||||
additional_contexts:
|
||||
clang-18-scripts: ${WIRE_SYSIO_CONTEXT:-./wire-sysio}/scripts/clang-18
|
||||
app-root: ${WIRE_SYSIO_CONTEXT:-./wire-sysio}
|
||||
image: ${WIRE_SYSIO_IMAGE:-wire/sysio:platform-dev-local}
|
||||
user: "${LOCAL_UID:-1000}:${LOCAL_GID:-1000}"
|
||||
working_dir: /wire
|
||||
init: true
|
||||
volumes:
|
||||
- .:/wire
|
||||
- ./.local/wire-node:/srv/wire-node
|
||||
environment:
|
||||
WIRE_ROOT: /wire/${WIRE_SYSIO_REPO_DIR:-wire-sysio}
|
||||
WIRE_SYSIO_DIR: /wire/${WIRE_SYSIO_REPO_DIR:-wire-sysio}
|
||||
WIRE_NODE_ROOT: ${WIRE_NODE_ROOT:-/srv/wire-node/chain-001}
|
||||
WIRE_ARTIFACTS_DIR: /wire/.local/e2e
|
||||
WIRE_ETH_DEPOT_ACCOUNT: ${WIRE_ETH_DEPOT_ACCOUNT:-sysio.dpeth}
|
||||
WIRE_SOL_DEPOT_ACCOUNT: ${WIRE_SOL_DEPOT_ACCOUNT:-sysio.dpsol}
|
||||
WIRE_INSTASWAP_ACCOUNT: ${WIRE_INSTASWAP_ACCOUNT:-sysio.iswap}
|
||||
WIRE_WYIELD_ACCOUNT: ${WIRE_WYIELD_ACCOUNT:-sysio.wyield}
|
||||
WIRE_TEST_USER_ACCOUNT: ${WIRE_TEST_USER_ACCOUNT:-userinsta1}
|
||||
WIRE_BATCH_OPERATOR_ETH_ACCOUNT: ${WIRE_BATCH_OPERATOR_ETH_ACCOUNT:-bopeth111111}
|
||||
WIRE_BATCH_OPERATOR_SOL_ACCOUNT: ${WIRE_BATCH_OPERATOR_SOL_ACCOUNT:-bopsol111111}
|
||||
WIRE_BATCH_OPERATOR_ETH_WIRE_PROVIDER_ID: ${WIRE_BATCH_OPERATOR_ETH_WIRE_PROVIDER_ID:-wire-bopeth-1}
|
||||
WIRE_BATCH_OPERATOR_SOL_WIRE_PROVIDER_ID: ${WIRE_BATCH_OPERATOR_SOL_WIRE_PROVIDER_ID:-wire-bopsol-1}
|
||||
ports:
|
||||
- "${WIRE_HTTP_PORT:-8887}:8887"
|
||||
- "${WIRE_P2P_PORT:-4443}:4443"
|
||||
command: ["bash", "-lc", "bash /wire/wire-nodeop-local.sh"]
|
||||
|
||||
batch-operator-eth-1:
|
||||
build:
|
||||
context: ${WIRE_SYSIO_CONTEXT:-./wire-sysio}
|
||||
dockerfile: etc/docker/Dockerfile
|
||||
target: platform-dev
|
||||
additional_contexts:
|
||||
clang-18-scripts: ${WIRE_SYSIO_CONTEXT:-./wire-sysio}/scripts/clang-18
|
||||
app-root: ${WIRE_SYSIO_CONTEXT:-./wire-sysio}
|
||||
image: ${WIRE_SYSIO_IMAGE:-wire/sysio:platform-dev-local}
|
||||
user: "${LOCAL_UID:-1000}:${LOCAL_GID:-1000}"
|
||||
working_dir: /wire
|
||||
init: true
|
||||
volumes:
|
||||
- .:/wire
|
||||
environment:
|
||||
WIRE_ROOT: /wire/${WIRE_SYSIO_REPO_DIR:-wire-sysio}
|
||||
WIRE_SYSIO_DIR: /wire/${WIRE_SYSIO_REPO_DIR:-wire-sysio}
|
||||
WIRE_BATCH_OPERATOR_ROUTE: eth
|
||||
WIRE_BATCH_OPERATOR_INDEX: "1"
|
||||
WIRE_BATCH_OPERATOR_ROOT: /wire/.local/wire-batch-operators
|
||||
WIRE_BATCH_OPERATOR_ARTIFACTS_DIR: /wire/.local/e2e
|
||||
WIRE_BATCH_OPERATOR_WIRE_RPC_URL: ${WIRE_BATCH_OPERATOR_WIRE_RPC_URL:-http://wire-nodeop:8887}
|
||||
WIRE_BATCH_OPERATOR_WIRE_DEPOT_ACCOUNT: ${WIRE_BATCH_OPERATOR_ETH_WIRE_DEPOT_ACCOUNT:-sysio.dpeth}
|
||||
WIRE_BATCH_OPERATOR_WIRE_ACCOUNT: ${WIRE_BATCH_OPERATOR_ETH_WIRE_ACCOUNT:-}
|
||||
WIRE_BATCH_OPERATOR_WIRE_PROVIDER_ID: ${WIRE_BATCH_OPERATOR_ETH_WIRE_PROVIDER_ID:-}
|
||||
WIRE_BATCH_OPERATOR_WIRE_PROVIDER_SPEC: ${WIRE_BATCH_OPERATOR_ETH_WIRE_PROVIDER_SPEC:-}
|
||||
WIRE_BATCH_OPERATOR_SOURCE_CLIENT_ID: ${WIRE_BATCH_OPERATOR_ETH_CLIENT_ID:-eth-local-1}
|
||||
WIRE_BATCH_OPERATOR_SOURCE_PROVIDER_ID: ${WIRE_BATCH_OPERATOR_ETH_PROVIDER_ID:-eth-local-1}
|
||||
WIRE_BATCH_OPERATOR_SOURCE_PROVIDER_SPEC: ${WIRE_BATCH_OPERATOR_ETH_PROVIDER_SPEC:-}
|
||||
WIRE_BATCH_OPERATOR_SOURCE_RPC_URL: ${WIRE_BATCH_OPERATOR_ETH_RPC_URL:-http://hardhat:8545}
|
||||
WIRE_BATCH_OPERATOR_ETH_CHAIN_ID: ${WIRE_BATCH_OPERATOR_ETH_CHAIN_ID:-31337}
|
||||
WIRE_BATCH_OPERATOR_ETH_ABI_FILE: ${WIRE_BATCH_OPERATOR_ETH_ABI_FILE:-/wire/.local/e2e/ethereum-outpost-abi.json}
|
||||
WIRE_BATCH_OPERATOR_ETH_OPP_ADDRESS: ${WIRE_BATCH_OPERATOR_ETH_OPP_ADDRESS:-}
|
||||
WIRE_BATCH_OPERATOR_ETH_OPP_INBOUND_ADDRESS: ${WIRE_BATCH_OPERATOR_ETH_OPP_INBOUND_ADDRESS:-}
|
||||
WIRE_BATCH_OPERATOR_POLL_INTERVAL_MS: ${WIRE_BATCH_OPERATOR_POLL_INTERVAL_MS:-5000}
|
||||
depends_on:
|
||||
wire-nodeop:
|
||||
condition: service_started
|
||||
hardhat:
|
||||
condition: service_started
|
||||
command: ["bash", "-lc", "bash /wire/wire-batch-operator-local.sh eth 1"]
|
||||
|
||||
batch-operator-sol-1:
|
||||
build:
|
||||
context: ${WIRE_SYSIO_CONTEXT:-./wire-sysio}
|
||||
dockerfile: etc/docker/Dockerfile
|
||||
target: platform-dev
|
||||
additional_contexts:
|
||||
clang-18-scripts: ${WIRE_SYSIO_CONTEXT:-./wire-sysio}/scripts/clang-18
|
||||
app-root: ${WIRE_SYSIO_CONTEXT:-./wire-sysio}
|
||||
image: ${WIRE_SYSIO_IMAGE:-wire/sysio:platform-dev-local}
|
||||
user: "${LOCAL_UID:-1000}:${LOCAL_GID:-1000}"
|
||||
working_dir: /wire
|
||||
init: true
|
||||
volumes:
|
||||
- .:/wire
|
||||
environment:
|
||||
WIRE_ROOT: /wire/${WIRE_SYSIO_REPO_DIR:-wire-sysio}
|
||||
WIRE_SYSIO_DIR: /wire/${WIRE_SYSIO_REPO_DIR:-wire-sysio}
|
||||
WIRE_BATCH_OPERATOR_ROUTE: sol
|
||||
WIRE_BATCH_OPERATOR_INDEX: "1"
|
||||
WIRE_BATCH_OPERATOR_ROOT: /wire/.local/wire-batch-operators
|
||||
WIRE_BATCH_OPERATOR_ARTIFACTS_DIR: /wire/.local/e2e
|
||||
WIRE_BATCH_OPERATOR_WIRE_RPC_URL: ${WIRE_BATCH_OPERATOR_WIRE_RPC_URL:-http://wire-nodeop:8887}
|
||||
WIRE_BATCH_OPERATOR_WIRE_DEPOT_ACCOUNT: ${WIRE_BATCH_OPERATOR_SOL_WIRE_DEPOT_ACCOUNT:-sysio.dpsol}
|
||||
WIRE_BATCH_OPERATOR_WIRE_ACCOUNT: ${WIRE_BATCH_OPERATOR_SOL_WIRE_ACCOUNT:-}
|
||||
WIRE_BATCH_OPERATOR_WIRE_PROVIDER_ID: ${WIRE_BATCH_OPERATOR_SOL_WIRE_PROVIDER_ID:-}
|
||||
WIRE_BATCH_OPERATOR_WIRE_PROVIDER_SPEC: ${WIRE_BATCH_OPERATOR_SOL_WIRE_PROVIDER_SPEC:-}
|
||||
WIRE_BATCH_OPERATOR_SOURCE_CLIENT_ID: ${WIRE_BATCH_OPERATOR_SOL_CLIENT_ID:-sol-local-1}
|
||||
WIRE_BATCH_OPERATOR_SOURCE_PROVIDER_ID: ${WIRE_BATCH_OPERATOR_SOL_PROVIDER_ID:-sol-local-1}
|
||||
WIRE_BATCH_OPERATOR_SOURCE_PROVIDER_SPEC: ${WIRE_BATCH_OPERATOR_SOL_PROVIDER_SPEC:-}
|
||||
WIRE_BATCH_OPERATOR_SOURCE_RPC_URL: ${WIRE_BATCH_OPERATOR_SOL_RPC_URL:-http://solana-validator:8899}
|
||||
WIRE_BATCH_OPERATOR_SOL_PROGRAM_ID: ${WIRE_BATCH_OPERATOR_SOL_PROGRAM_ID:-}
|
||||
WIRE_BATCH_OPERATOR_SOL_IDL_FILE: ${WIRE_BATCH_OPERATOR_SOL_IDL_FILE:-/wire/.branch-worktrees/capital-staking-opp-parity/target/idl/liqsol_core.json}
|
||||
WIRE_BATCH_OPERATOR_POLL_INTERVAL_MS: ${WIRE_BATCH_OPERATOR_POLL_INTERVAL_MS:-5000}
|
||||
depends_on:
|
||||
wire-nodeop:
|
||||
condition: service_started
|
||||
solana-validator:
|
||||
condition: service_healthy
|
||||
command: ["bash", "-lc", "bash /wire/wire-batch-operator-local.sh sol 1"]
|
||||
|
||||
wire-ethereum-dev:
|
||||
image: node:20-bookworm
|
||||
user: "${LOCAL_UID:-1000}:${LOCAL_GID:-1000}"
|
||||
working_dir: /workspace/${WIRE_ETHEREUM_REPO_DIR:-wire-ethereum}
|
||||
volumes:
|
||||
- .:/workspace
|
||||
command: ["bash", "-lc", "sleep infinity"]
|
||||
|
||||
hardhat:
|
||||
image: node:20-bookworm
|
||||
user: "${LOCAL_UID:-1000}:${LOCAL_GID:-1000}"
|
||||
working_dir: /workspace/${WIRE_ETHEREUM_REPO_DIR:-wire-ethereum}
|
||||
volumes:
|
||||
- .:/workspace
|
||||
ports:
|
||||
- "${HARDHAT_PORT:-8545}:8545"
|
||||
command: ["bash", "-lc", "npm ci && npx hardhat node --hostname 0.0.0.0"]
|
||||
|
||||
capital-staking-dev:
|
||||
build:
|
||||
context: ${CAPITAL_STAKING_BUILD_CONTEXT:-./capital-staking}
|
||||
dockerfile: docker/anchor-toolchain.Dockerfile
|
||||
image: ${CAPITAL_STAKING_IMAGE:-skunk-net/capital-staking-dev:local}
|
||||
user: "${LOCAL_UID:-1000}:${LOCAL_GID:-1000}"
|
||||
working_dir: /workspace/${CAPITAL_STAKING_REPO_DIR:-capital-staking}
|
||||
volumes:
|
||||
- .:/workspace
|
||||
environment:
|
||||
ANCHOR_PROVIDER_URL: ${ANCHOR_PROVIDER_URL:-http://solana-validator:8899}
|
||||
ANCHOR_WALLET: ${ANCHOR_WALLET:-/workspace/.branch-worktrees/capital-staking-opp-parity/wallets/deploymentWallet/universalDeploymentWallet.json}
|
||||
DOCKER_CLUSTER: "1"
|
||||
RPC_URL: ${RPC_URL:-http://solana-validator:8899}
|
||||
REQUIRED_VALIDATORS: ${REQUIRED_VALIDATORS:-1}
|
||||
SOLANA_RPC: ${SOLANA_RPC:-http://solana-validator:8899}
|
||||
depends_on:
|
||||
solana-validator:
|
||||
condition: service_healthy
|
||||
command: ["bash", "-lc", "sleep infinity"]
|
||||
|
||||
solana-validator:
|
||||
build:
|
||||
context: ./solana-docker-setup
|
||||
dockerfile: Dockerfile
|
||||
image: ${SOLANA_DOCKER_IMAGE:-skunk-net/solana-validator:local}
|
||||
working_dir: /solana
|
||||
volumes:
|
||||
- solana-validator-data:/solana-data
|
||||
ports:
|
||||
- "${SOLANA_GOSSIP_PORT:-8001}:8001/udp"
|
||||
- "${SOLANA_RPC_PORT:-8899}:8899"
|
||||
- "${SOLANA_WS_PORT:-8900}:8900"
|
||||
- "${SOLANA_FAUCET_PORT:-9900}:9900"
|
||||
environment:
|
||||
IS_GENESIS: "true"
|
||||
NODE_NAME: genesis
|
||||
GOSSIP_HOST: solana-validator
|
||||
GOSSIP_PORT: ${SOLANA_GOSSIP_PORT:-8001}
|
||||
RPC_PORT: 8899
|
||||
RPC_BIND_ADDRESS: 0.0.0.0
|
||||
BIND_ADDRESS: 0.0.0.0
|
||||
FAUCET_ENABLE: "true"
|
||||
FAUCET_ADDRESS: 0.0.0.0
|
||||
FAUCET_PORT: 9900
|
||||
SLOTS_PER_EPOCH: ${SOLANA_SLOTS_PER_EPOCH:-64}
|
||||
DATA_DIR: /solana-data/genesis
|
||||
SOLANA_RUN_SH_VALIDATOR_ARGS: ${SOLANA_RUN_SH_VALIDATOR_ARGS:-}
|
||||
ulimits:
|
||||
nofile:
|
||||
soft: 1000000
|
||||
hard: 1000000
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:8899/health >/dev/null"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 60
|
||||
start_period: 120s
|
||||
|
||||
volumes:
|
||||
solana-validator-data:
|
||||
Reference in New Issue
Block a user