ChainSafe / ChainSafe/canton-middleware

chore(bridge): hardening + mainnet enablement

Open
#360 0 comments 0 reactions 0 assignees View on GitHub
CIP-0086: Phase 2 Deliverable: D3 Type: Maintenance
Dominant language
Go
Stars
1
Forks
1
Avg merge
40m
Merged PRs (30d)
1

Description

# Goal

Production-harden multi-token bridging and wire mainnet configuration. Final phase of the multi-token bridging epic.

# Work items

**Hardening**
- [ ] Per-token limits enforcement (min/max transfer, rate limit) moved from global `relayer.Config` to `TokenConfig`
- [ ] Stuck-transfer alerting keyed by mechanism + stage: an xreserve transfer parked in `awaiting_attestation` beyond SLO usually means a Circle outage, not our bug — alert copy should say so
- [ ] Metrics: per-token + per-stage counters/durations in the driver loop
- [ ] Driver-loop load: index on `(status, next_step_at)`, cap batch size
- [ ] Finality UX audit: dapp presents `stage` honestly (xreserve inbound ~15 min; outbound timing Circle-controlled) — do not imply tx-inclusion = settled (known MetaMask-semantics gap, see `usdcx.md`)

**Mainnet enablement (external dependencies — start early)**
- [ ] Pin the Ethereum **mainnet** xReserve contract address (Circle docs / circlefin/evm-xreserve-contracts deploy artifacts; Sepolia is `0x008888878f94C0d87defdf0B07f46B93C1934442`)
- [ ] Pin Circle attestation API auth requirements + schema + fee schedule
- [ ] DA Utilities onboarding for MainNet bridge ops (`api.utilities.digitalasset.com`); note devnet-documented Daml choice names (`BridgeUserAgreement_Mint/_Burn`) may drift
- [ ] `config.api-server.mainnet.yaml`: add the missing `external_tokens` registry entry for USDCx (today mainnet has EVM metadata but no registry URL — factory resolution fails) + relayer mainnet token map
- [ ] MainNet USDCx admin party: `decentralized-usdc-interchain-rep::12208115f1e168dd7e792320be9c4ca720c751a02a3053c7606e1c1cd3dad9bf60ef`

# Depends on

- All other issues in the epic

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the dependent issues and the configuration references in config.api-server.mainnet.yaml and usdcx.md, then inspect the driver loop and relayer configuration for the hardening items. The work is done only when the checklist is completed, external mainnet dependencies are confirmed, and mainnet token resolution and bridging configuration work end to end.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend, blockchain
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.