Skip to content

v0.1.7

Choose a tag to compare

@kalambet kalambet released this 15 Dec 17:25
· 417 commits to main since this release
v0.1.7
2af60de

Canton-Ethereum Token Bridge - Release Notes v1.0

Overview

A centralized token bridge connecting CIP-56 tokens on Canton Network with ERC-20 tokens on Ethereum Mainnet, enabling bidirectional cross-chain transfers.

Core Features

Relayer Service

  • Go-based relayer node running as a sidecar to Canton Network Partner Node
  • Bidirectional event streaming from both Canton and Ethereum
  • Persistent offset tracking with PostgreSQL for crash recovery
  • Automatic reconciliation of pending transfers (every 5 minutes)
  • Readiness probes for Kubernetes deployment

Deposit Flow (EVM → Canton)

  • Monitors Deposit events on Ethereum bridge contract
  • Creates PendingDeposit on Canton via Ledger API
  • Resolves user fingerprint mapping and processes deposit
  • Unlocks/mints tokens to Canton user's holding

Withdrawal Flow (Canton → EVM)

  • Streams WithdrawalEvent contracts from Canton
  • Submits withdrawFromCanton transaction on Ethereum
  • Marks withdrawal complete on Canton for reconciliation
  • Idempotency protection via Canton tx hash tracking

Smart Contracts

  • Ethereum: Solidity bridge contract for ERC-20 lock/unlock and wrapped token mint/burn
  • Canton: DAML contracts for CIP-56 token management and bridge operations

Operational Scripts

  • bootstrap-bridge.go - Initialize Canton bridge contracts
  • register-user.go - Register user fingerprint mappings
  • query-holdings.go - Query Canton token holdings
  • initiate-withdrawal.go - Initiate Canton→EVM withdrawals
  • cleanup-withdrawals.go - Reconcile incomplete withdrawals

Configuration

  • YAML-based configuration with environment variable overrides
  • Support for local, devnet, and mainnet environments
  • Docker Compose deployments included

Observability

  • Prometheus metrics for pending transfers
  • Structured logging with zap
  • Health/readiness endpoints