Skip to content

feat: add ITokenMessenger and ITokenMessengerV2 interfaces#103

Open
dolepee wants to merge 1 commit intocirclefin:masterfrom
dolepee:feat-add-itokenmessenger-interface
Open

feat: add ITokenMessenger and ITokenMessengerV2 interfaces#103
dolepee wants to merge 1 commit intocirclefin:masterfrom
dolepee:feat-add-itokenmessenger-interface

Conversation

@dolepee
Copy link
Copy Markdown

@dolepee dolepee commented Feb 7, 2026

Summary

Add ITokenMessenger and ITokenMessengerV2 Solidity interfaces to src/interfaces/ and src/interfaces/v2/, respectively.

Motivation

The src/interfaces/ directory already provides interfaces for ITokenMinter, IMessageTransmitter, IMessageHandler, and other core contracts, but TokenMessenger and TokenMessengerV2 lack corresponding interfaces. This makes it harder for external protocols and integrators to interact with CCTP in a type-safe, composable way without importing the full concrete implementations.

Changes

  • src/interfaces/ITokenMessenger.sol — Interface covering all external functions of TokenMessenger: depositForBurn, depositForBurnWithCaller, replaceDepositForBurn, handleReceiveMessage, and admin functions (addRemoteTokenMessenger, removeRemoteTokenMessenger, addLocalMinter, removeLocalMinter).

  • src/interfaces/v2/ITokenMessengerV2.sol — Interface covering all external functions of TokenMessengerV2 and BaseTokenMessenger: depositForBurn, depositForBurnWithHook, handleReceiveFinalizedMessage, handleReceiveUnfinalizedMessage, getMinFeeAmount, fee/admin functions, and initializedVersion.

Both files follow the existing license header, pragma, and documentation style of neighboring interfaces.

Closes: #63

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature Request: interface for TokenMessenger contract

1 participant