Files
proxmox/docs/07-ccip/TEZOS_CCIP_REMAINING_ITEMS.md
defiQUG bea1903ac9
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
Sync all local changes: docs, config, scripts, submodule refs, verification evidence
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-21 15:46:06 -08:00

105 lines
9.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Tezos CCIP DON and Cross-Chain Remaining Items
This document lists **all remaining items that need to be developed or executed** after the implementation plan (Phases 16) has been completed. It is derived from the plan, runbooks, and codebase review.
**Recently implemented (development):** Feature flags (TEZOS_BRIDGE_ENABLED, ETHERLINK_BRIDGE_ENABLED) and bridge-destination filter in routing; bridge rate limits/caps module (alltra-lifi-settlement); verification script (smom-dbis-138/scripts/verify-tezos-etherlink-support.js); EtherlinkRelayReceiver contract and deploy script; Tezos relay service scaffold (services/tezos-relay); Etherlink relay service scaffold (services/etherlink-relay); Jumper optional API call when JUMPER_API_KEY set.
---
## 1. External verification (non-code)
| Item | Owner | Notes |
|------|--------|------|
| **Verify Etherlink in CCIP supported networks** | Ops / Eng | Check [CCIP supported networks](https://docs.chain.link/ccip/supported-networks) for chain 42793. If listed: record chain selector, Router address, fee token; proceed with CCIP path. If not: document “custom relay only” and use Etherlink relay runbook. |
| **Verify Jumper API support** | Eng | Verify Jumper API/SDK support for 138, 651940, 42793, Tezos. Document in [TEZOS_JUMPER_SUPPORT_MATRIX](TEZOS_JUMPER_SUPPORT_MATRIX.md). If unsupported: keep `jumperSupported: false` and use LiFi + direct adapter only. |
| **Verify LiFi for Etherlink** | Eng | Check LiFi API (e.g. `https://li.quest/v1/chains`) for chain 42793. Set `lifiSupported` and `ccipSupported` in [alltra-lifi-settlement/src/config/chains.ts](../../alltra-lifi-settlement/src/config/chains.ts) and [CHAIN_SUPPORT.md](../../alltra-lifi-settlement/docs/CHAIN_SUPPORT.md) after verification. |
---
## 2. Smart contracts and deployment (execution)
| Item | Owner | Notes |
|------|--------|------|
| **Run InitializeRegistry** | Ops | Run [InitializeRegistry.s.sol](../../smom-dbis-138/scripts/bridge/interop/InitializeRegistry.s.sol) (or equivalent) so BridgeRegistry has Etherlink (42793) and Tezos L1 (chainId 1) registered. |
| **Run DeployAllAdapters** | Ops | Run [DeployAllAdapters.s.sol](../../smom-dbis-138/script/deploy/chains/DeployAllAdapters.s.sol) to deploy TezosAdapter, EVMAdapter(42793), and register them in ChainRegistry. |
| **Etherlink receiver contracts** | Eng | **If CCIP supports Etherlink:** Deploy CCIP receiver bridges and token contracts on Etherlink; add Etherlink to addDestination on source; fund LINK. **If CCIP does not:** Deploy relay-compatible receiver on Etherlink (e.g. `relayMintOrUnlock`-style interface); no such contract exists in repo yet. |
| **Token list governance** | Gov / Ops | Submit governance proposal to add Etherlink (42793) and Tezos L1 tokens to token list; extend schema if needed; execute via TokenlistGovernanceSync (submitTokenlistVersion + timelock). |
| **Set Etherlink finality** | Eng | [TEZOS_CROSS_CHAIN_FINALITY](TEZOS_CROSS_CHAIN_FINALITY.md) marks Etherlink as “TBD (e.g. 12)”. Set confirmation blocks in relay/DON config once decided. |
---
## 3. Off-chain services (development and operation)
| Item | Owner | Notes |
|------|--------|------|
| **Tezos L1 relay service** | Eng / Ops | Implement and run relay that: subscribes to TezosBridgeInitiated from TezosAdapter; performs Tezos-side mint/transfer; calls confirmTransaction(requestId, tezosTxHash) with ORACLE_ROLE. Runbook: [TEZOS_L1_RELAY_RUNBOOK](../../smom-dbis-138/docs/bridge/TEZOS_L1_RELAY_RUNBOOK.md). No relay code for Tezos exists in repo (existing relay is 138→Mainnet only). |
| **Etherlink custom relay service** | Eng / Ops | **If CCIP does not support Etherlink:** Implement relay that: monitors source chain for bridge messages to 42793; queues; calls relay-compatible receiver on Etherlink (relayMintOrUnlock or equivalent). Runbook: [ETHERLINK_RELAY_RUNBOOK](../../smom-dbis-138/docs/bridge/ETHERLINK_RELAY_RUNBOOK.md). No Etherlink-specific relay code exists. |
| **Etherlink relay-compatible receiver contract** | Eng | If using custom relay to Etherlink: implement and deploy receiver on Etherlink with e.g. `relayMintOrUnlock(messageId, token, recipient, amount)` and access control; idempotency via messageId. |
---
## 4. Routing and settlement (development)
| Item | Owner | Notes |
|------|--------|------|
| **Feature flags in routing** | Eng | ✅ **Done.** Checks for `TEZOS_BRIDGE_ENABLED` and `ETHERLINK_BRIDGE_ENABLED` implemented in [alltra-lifi-settlement/src/config/chains.ts](../../alltra-lifi-settlement/src/config/chains.ts) (`isBridgeDestinationEnabled`, `isTezosBridgeEnabled`, `isEtherlinkBridgeEnabled`). Used in [LiFiRoutingService](../../alltra-lifi-settlement/src/payments/lifi/lifi-routing.service.ts) and [JumperRoutingService](../../alltra-lifi-settlement/src/payments/jumper/jumper-routing.service.ts). When false, Tezos (1) and Etherlink (42793) are excluded from route options. |
| **Rate limits and caps per destination** | Eng | Enforce per-destination rate limits (e.g. 50/hr Tezos, 100/hr Etherlink) and per-tx/daily caps (see production config) in app or relay. |
| **Jumper API integration** | Eng | [JumperRoutingService](../../alltra-lifi-settlement/src/payments/jumper/jumper-routing.service.ts) currently returns `null` (stub). When Jumper supports the chains: implement real API calls (get quote, get route); set `JUMPER_API_KEY`; set `jumperSupported: true` in chains config for supported chain pairs. |
---
## 5. DON and cross-chain ops (execution)
| Item | Owner | Notes |
|------|--------|------|
| **Register Etherlink in DON (if CCIP)** | DON Ops | If Etherlink is on CCIP: register Etherlink chain selector and destination in DON config; run Commit/Execute tests for 138→Etherlink (and reverse if applicable). See [TEZOS_ETHERLINK_DON_CONFIG](TEZOS_ETHERLINK_DON_CONFIG.md). |
| **RMN policy for Tezos/Etherlink** | Security / Ops | If Etherlink uses CCIP: define and test RMN blessing/veto for high-value Tezos/Etherlink flows. See [TEZOS_ETHERLINK_RMN_POLICY](TEZOS_ETHERLINK_RMN_POLICY.md). |
---
## 6. Monitoring and production (implementation)
| Item | Owner | Notes |
|------|--------|------|
| **Implement metrics and dashboards** | Ops / Eng | [TEZOS_ETHERLINK_BRIDGE_MONITORING](../../docs/08-monitoring/TEZOS_ETHERLINK_BRIDGE_MONITORING.md) describes metrics (e.g. tezos_relay_events_detected_total, etherlink_relay_queue_depth). Implement these in Tezos and Etherlink relay services; add Prometheus/Grafana dashboards and panels. |
| **Configure alerts** | Ops | Configure alerting for: relay confirmation/submission failures; duplicate attempts; large transfers; backlog and queue depth; low LINK balance. Alert rules and runbook links are in the monitoring doc. |
| **Enable in production** | Ops / Product | After security sign-off and runbook readiness: set `TEZOS_BRIDGE_ENABLED=true` and `ETHERLINK_BRIDGE_ENABLED=true`; ensure rate limits and caps are active. |
---
## 7. Testing and security (execution)
| Item | Owner | Notes |
|------|--------|------|
| **Run TezosAdapter unit tests in CI** | Eng | [TezosAdapter.t.sol](../../smom-dbis-138/test/bridge/adapters/TezosAdapter.t.sol) exists; ensure `forge test` for this (and related) tests runs in CI on every PR. |
| **Integration tests** | Eng | Per [TEZOS_INTEGRATION_TESTING](../../smom-dbis-138/docs/bridge/TEZOS_INTEGRATION_TESTING.md): local + forked Etherlink (or mock); relay + confirmTransaction; BridgeRegistry/ChainRegistry with 42793 and 1. |
| **Ghostnet E2E** | Ops / Eng | Run E2E on Tezos Ghostnet per [TEZOS_E2E_RUNBOOK](../../smom-dbis-138/docs/bridge/TEZOS_E2E_RUNBOOK.md); then mainnet with rate limits. |
| **Security review** | Security | Security review of new Etherlink contracts and relay code; sign-off before mainnet Tezos/Etherlink per plan Phase 5. |
---
## 8. Other codebase TODOs (optional / broader scope)
These are existing TODOs in the repo that are not part of the Tezos/Etherlink plan but may affect bridging or routing:
| Location | Item |
|----------|------|
| alltra-lifi-settlement | [curve.service.ts](../../alltra-lifi-settlement/src/payments/curve/curve.service.ts), [uniswap.service.ts](../../alltra-lifi-settlement/src/payments/uniswap/uniswap.service.ts): stubs; implement when Curve/Uniswap pools exist on 138/651940. |
| smom-dbis-138 | [EnhancedSwapRouter.sol](../../smom-dbis-138/contracts/bridge/trustless/EnhancedSwapRouter.sol): Uniswap V3 quoter placeholder; Balancer pool tokens TODO. |
| smom-dbis-138 | [register-all-mainnet.s.sol](../../smom-dbis-138/scripts/deployment/register-all-mainnet.s.sol): avgBlockTime script and [ALL_MAINNET_CONFIGURATION](../../smom-dbis-138/docs/deployment/ALL_MAINNET_CONFIGURATION.md) document "verify actual block time"; operator to set value when known (e.g. 2s placeholder in script). |
| smom-dbis-138 | Transaction-mirroring-service, state-anchoring-service: exponential backoff and validator signature collection placeholders. |
---
## Summary
- **External verification:** 3 items (CCIP, Jumper, LiFi for Etherlink).
- **Contracts and deployment:** 5 items (run scripts, Etherlink receivers, token list governance, finality).
- **Off-chain services:** 3 items (Tezos relay, Etherlink relay, Etherlink receiver contract if custom relay).
- **Routing/settlement:** 3 items (feature flags, rate limits/caps, Jumper API integration).
- **DON/ops:** 2 items (DON registration for Etherlink if CCIP, RMN policy).
- **Monitoring/production:** 3 items (metrics/dashboards, alerts, go-live flags).
- **Testing/security:** 4 items (CI unit tests, integration tests, Ghostnet E2E, security review).
**Total: 23 plan-related remaining items** (plus optional broader-scope TODOs in §8).