red-team.sh called bare `sudo docker compose up/down` which applies
env_reset and drops FORK_URL before anvil-entrypoint.sh can read it.
Change both calls to `sudo -E` so the caller's FORK_URL override is
propagated to docker-compose and into the anvil container.
Update ENVIRONMENT.md to reflect that a plain `FORK_URL=... bash
red-team.sh` invocation now works correctly.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Fix factual error: bootstrap deploys KRAIKEN protocol contracts and uses
the existing V3 Factory; it does not re-deploy Uniswap V3 infrastructure
- Fix count/characterisation: intro now says "two network contexts" (dev
Anvil + backtesting tools) and clarifies FitnessEvaluator uses revm
in-process, not Anvil
- Fix sudo env-stripping hazard: replace bare `export FORK_URL` instruction
with `FORK_URL=... sudo -E bash red-team.sh` so the variable is not
silently dropped by sudo
- Nit: add --match-test testBatchEvaluate to the FitnessEvaluator example
to match the test file's own documented usage
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Clarify that the dev Anvil defaults to Base Sepolia but can be overridden
with FORK_URL (confirmed from containers/anvil-entrypoint.sh)
- Add "Network Contexts" section distinguishing three distinct Anvil usages:
1. Dev stack Anvil (docker-compose): Base Sepolia by default
2. red-team.sh: requires FORK_URL=mainnet because it uses Base mainnet
periphery addresses (V3_FACTORY, SwapRouter02, NPM)
3. FitnessEvaluator.t.sol: independent mainnet fork via BASE_RPC_URL,
unrelated to the docker-compose stack
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- LocalSwapWidget: move useWallet() to top-level <script setup> (was
incorrectly called inside async buyKrk() event handler)
- LocalSwapWidget + CheatsView: fix misleading toast — all transactions
are fully confirmed at that point, so say 'Swap complete' not 'Swap
submitted'
- LocalSwapWidget: add $KRK sigil to warning/hint text for consistency
with GetKrkView
- LocalSwapWidget: add comment on amountOutMinimum: 0n explaining it is
intentional for a no-MEV local anvil environment
- CheatsView: apply same useWallet() fix (pre-existing anti-pattern)
- docs/ENVIRONMENT.md: document VITE_ENABLE_LOCAL_SWAP and related
VITE_ variables in a new webapp env-var table
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>