name: zones-deploy-debug description: Deploy Tempo Zones, start zone nodes, validate router swap-and-deposit flows, and debug zone sync, portal ingestion, withdrawal, sequencer key, and generated zone artifact issues in this repository. Use when working with just deploy-zone, zone-up, deploy-router, demo-swap-and-deposit, or generated/<name>/zone.json.
Zones Deploy Debug
Use this skill for repo-local zone deployment, smoke tests, and sync debugging.
Start here
- If the zone already exists, read
generated/<name>/zone.jsonfirst. - For real smoke tests, prefer
releasefortempo-zone. - Use the
Justfileanddocs/ZONES.mdas the source of truth for user-facing commands. - Read
references/commands.mdfor concrete command patterns and troubleshooting checks.
Preferred workflow
- Build
tempo-zonein release before judging sync speed. - Deploy a fresh zone if you need a clean test surface.
- Start the zone node and confirm
http://localhost:8546is answering. - For a direct bridge smoke test, run
just max-approve-portal,just send-deposit,just max-approve-outbox, thenjust send-withdrawal. - Deploy the router for that zone.
- Run the same-zone swap-and-deposit demo.
- If the demo stalls, compare the L1 block of the relevant tx with the latest
l1_block=in the zone log before assuming the router flow is broken.
What to inspect
generated/<name>/zone.jsonJustfiledocs/ZONES.md/tmp/tempo-zone-<name>*/logs/*/reth.log
Known sharp edges
- Fresh
devnodes can look broken because they are still compiling and replaying L1; usereleasefor meaningful validation. - Direct deposit/withdraw validation needs both approvals:
just max-approve-portalbefore depositing andjust max-approve-outboxbefore withdrawing. - The demo's first real wait point is token enablement on L2. If the zone is still replaying older L1 blocks,
demo-swap-and-depositcan time out before theTokenEnabledevent appears. - The current
just demo-swap-and-depositrecipe takes optional overrides positionally, not asamount=... tick=.... - If a restarted zone crashes while seeding
transferPolicyIdfor a temporary token, checkcrates/tempo-zone/src/l1_state/tip403/cache.rsand consider retesting with a fresh zone.