Skip to content

[ICM] Rename TeleporterMessenger and related contracts to ICM #744

@martineckardt

Description

@martineckardt

Background

Currently, there's a naming mismatch between our product terminology (ICM - Inter-Chain Messaging) and the actual deployed contract names (TeleporterMessenger etc). As usage increases, this inconsistency will cause more confusion.

Problem

  • The TeleporterMessenger contract is deployed using Nick's address derivation method
  • Renaming would change the derived address

Proposed Solution

Rename everything in the repository while maintaining compatibility with deployed contracts:

  1. Rename TeleporterMessenger to ICMMessenger and other related contracts/interfaces in the repo
  2. Keep function signatures unchanged to maintain compatibility with deployed contracts
  3. Use "TeleporterMessenger" etc. only when specifically referring to the already deployed contracts

Implementation Details

  • The only place "Teleporter" would still appear is in verified contracts on block explorer
  • New L1s would still need to deploy and verify the old contracts using Nick's method
  • We already have documentation and tools for deployment using Nick's method:

Advantages

  • Removes confusion around naming while keeping current deployments
  • No interface changes as function signatures remain the same
  • No changes needed for integrating dApps
  • If there ever is an emergency patch necessary, the renaming is already done and the patched version will eliminate this naming issue after all

Potential Concerns

  • Adds some documentation complexity to explain the name mismatch between repo and deployed contracts
  • Only power users would notice this discrepancy

Related Work

  • Educational materials will need to be updated to use the new names and explain the discrepancy between the already deployed version
  • Consider adding an alert in our explorer to explain the naming for these contracts

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    Status

    Backlog 🧊

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions