# Tezos Bridge E2E Runbook

End-to-end flow for Tezos L1 bridging: deploy TezosAdapter and relay, run E2E on testnet (Ghostnet), then mainnet with rate limits.

## Prerequisites

- TezosAdapter deployed via [DeployAllAdapters.s.sol](../../script/deploy/chains/DeployAllAdapters.s.sol).
- BridgeRegistry destination chainId 1 (Tezos-Mainnet) registered via [InitializeRegistry.s.sol](../../scripts/bridge/interop/InitializeRegistry.s.sol).
- ChainRegistry: Tezos-Mainnet registered (ChainType.Other).
- Relay service: event monitor + Tezos-side mint/transfer + confirmTransaction (see [TEZOS_L1_RELAY_RUNBOOK](TEZOS_L1_RELAY_RUNBOOK.md)).

## E2E on Ghostnet (Tezos testnet)

1. Deploy a test TezosAdapter on an EVM testnet (e.g. ChainID 138 testnet or local anvil).
2. Run relay against Ghostnet: configure Tezos RPC for Ghostnet; map test token to a Ghostnet FA1.2/FA2 or custody account.
3. User flow: call TezosAdapter.bridge(token, amount, destination, recipient) with a Ghostnet Tezos address (tz1/...).
4. Relay: watch TezosBridgeInitiated, mint/transfer on Ghostnet, call confirmTransaction(requestId, tezosOpHash).
5. Verify: getBridgeStatus(requestId) shows Confirmed; Tezos balance updated.

## Mainnet with rate limits

1. Deploy TezosAdapter and register on production (138 or target chain).
2. Run relay with mainnet Tezos RPC; use production token mapping and custody/mint contracts.
3. Apply rate limits and caps per token/chain (BridgeRegistry token config: minAmount, maxAmount, bridgeFeeBps).
4. Monitor: log all TezosBridgeInitiated and confirmTransaction calls; alert on failures and duplicates.

## Checklist

- [ ] TezosAdapter deployed and registered in ChainRegistry and BridgeRegistry.
- [ ] Relay running with ORACLE_ROLE; key secured.
- [ ] E2E passed on Ghostnet (or equivalent testnet).
- [ ] Rate limits and caps configured; monitoring in place.
