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

9.5 KiB
Raw Blame History

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 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. 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 and CHAIN_SUPPORT.md after verification.

2. Smart contracts and deployment (execution)

Item Owner Notes
Run InitializeRegistry Ops Run InitializeRegistry.s.sol (or equivalent) so BridgeRegistry has Etherlink (42793) and Tezos L1 (chainId 1) registered.
Run DeployAllAdapters Ops Run 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 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. 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. 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 (isBridgeDestinationEnabled, isTezosBridgeEnabled, isEtherlinkBridgeEnabled). Used in LiFiRoutingService and JumperRoutingService. 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 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.
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.

6. Monitoring and production (implementation)

Item Owner Notes
Implement metrics and dashboards Ops / Eng TEZOS_ETHERLINK_BRIDGE_MONITORING 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 exists; ensure forge test for this (and related) tests runs in CI on every PR.
Integration tests Eng Per TEZOS_INTEGRATION_TESTING: 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; 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, uniswap.service.ts: stubs; implement when Curve/Uniswap pools exist on 138/651940.
smom-dbis-138 EnhancedSwapRouter.sol: Uniswap V3 quoter placeholder; Balancer pool tokens TODO.
smom-dbis-138 register-all-mainnet.s.sol: avgBlockTime script and ALL_MAINNET_CONFIGURATION 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).