synor/docker-compose.wasm.yml
Gulshan Yadav 1606776394 feat: Phase 7 critical tasks - security, formal verification, WASM crypto
## Formal Verification
- Add TLA+ specs for UTXO conservation (formal/tla/UTXOConservation.tla)
- Add TLA+ specs for GHOSTDAG ordering (formal/tla/GHOSTDAGOrdering.tla)
- Add mathematical proof of DAA convergence (formal/proofs/)
- Document Kani verification approach (formal/kani/)

## Bug Bounty Program
- Add SECURITY.md with vulnerability disclosure process
- Add docs/BUG_BOUNTY.md with $500-$100,000 reward tiers
- Define scope, rules, and response SLA

## Web Wallet Dilithium3 WASM Integration
- Build WASM module via Docker (498KB optimized)
- Add wasm-crypto.ts lazy loader for Dilithium3
- Add createHybridSignatureLocal() for full client-side signing
- Add createHybridSignatureSmart() for auto-mode selection
- Add Dockerfile.wasm and build scripts

## Security Review ($0 Approach)
- Add .github/workflows/security.yml CI workflow
- Add deny.toml for cargo-deny license/security checks
- Add Dockerfile.security for audit container
- Add scripts/security-audit.sh for local audits
- Configure cargo-audit, cargo-deny, cargo-geiger, gitleaks
2026-01-10 01:40:03 +05:30

49 lines
1.4 KiB
YAML

# Docker Compose for building WASM modules
# Usage: docker compose -f docker-compose.wasm.yml up --build
services:
# ==========================================================================
# WASM Builder - synor-crypto-wasm
# ==========================================================================
wasm-builder:
build:
context: .
dockerfile: Dockerfile.wasm
container_name: synor-wasm-builder
volumes:
# Output built WASM to web wallet directory
- ./apps/web/src/wasm:/dest
command: >
sh -c '
echo "Copying WASM artifacts to web wallet..."
cp -r /wasm-output/pkg/* /dest/
echo "WASM build complete!"
ls -la /dest/
'
# ==========================================================================
# Web Wallet Development Server (with WASM)
# ==========================================================================
web-wallet:
build:
context: ./apps/web
dockerfile: Dockerfile.dev
container_name: synor-web-wallet
ports:
- "5173:5173" # Vite dev server
volumes:
- ./apps/web/src:/app/src
- ./apps/web/public:/app/public
environment:
- VITE_RPC_URL=http://localhost:17110
- VITE_WS_URL=ws://localhost:17111
- VITE_NETWORK=testnet
depends_on:
wasm-builder:
condition: service_completed_successfully
profiles:
- dev
networks:
default:
name: synor-build