-
Notifications
You must be signed in to change notification settings - Fork 38
Open
Labels
enhancementNew feature or requestNew feature or request
Description
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:
- Rename
TeleporterMessenger
toICMMessenger
and other related contracts/interfaces in the repo - Keep function signatures unchanged to maintain compatibility with deployed contracts
- 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
containerman17
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Type
Projects
Status
Backlog 🧊