ChainSafe / ChainSafe/canton-middleware
chore(bridge): hardening + mainnet enablement
- 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