Skip to content

Commit

Permalink
chore: add transfer received event
Browse files Browse the repository at this point in the history
  • Loading branch information
SGiaccobasso committed Sep 20, 2024
1 parent 05f6cce commit 154ee3e
Showing 1 changed file with 31 additions and 14 deletions.
45 changes: 31 additions & 14 deletions contracts/interfaces/IAxelarGMPTransfer.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,31 +3,48 @@
pragma solidity ^0.8.0;

/**
* @title IAxelarGMPTransfer
* @title IInterchainTransferSent
* @dev Interface for tracking asset value transfers using General Message Passing (GMP) calls in the Axelar Network.
* This interface defines an event that should be emitted when a GMP transfer occurs,
* This interface defines an event that should be emitted when a GMP transfer is sent,
* allowing for standardized volume tracking across different implementations.
*/
interface IAxelarGMPTransfer {
interface IInterchainTransferSent {
/**
* @dev Emitted when a GMP transfer occurs, providing details for volume tracking.
* @param sender The address of the caller that initiated the transfer on the source chain.
* @param sourceChain The Axelar chain identifier of the source chain.
* @dev Emitted when a GMP transfer is sent, providing details for volume tracking.
* @param destinationChain The Axelar chain identifier of the destination chain.
* @param destinationAddress The address of the contract on the destination chain that receives the transfer.
* @param recipientAddress The address of the final recipient of the transferred assets on the destination chain.
* @param tokenAddress The address of the token contract on the source chain.
* @param destinationContractAddress The address of the contract on the destination chain that receives the transfer.
* @param recipient The address of the final recipient of the transferred assets on the destination chain.
* @param token The address of the token contract on the source chain.
* @param amount The amount (in atomic units) of tokens transferred.
* @param decimals The number of decimal places for the token.
*/
event AxelarGMPTransfer(
address indexed sender,
string sourceChain,
event InterchainTransferSent(
string destinationChain,
string destinationContractAddress,
bytes recipient,
address token,
uint256 amount,
uint256 decimals
);
}

/**
* @title IInterchainTransferReceived
* @dev Interface for tracking asset value transfers using General Message Passing (GMP) calls in the Axelar Network.
* This interface defines an event that should be emitted when a GMP transfer is received,
* allowing for standardized volume tracking across different implementations.
*/
interface IInterchainTransferReceived {
/**
* @dev Emitted when an interchain transfer is received, providing details for volume tracking.
* @param sender The address of the caller that initiated the transfer on the source chain.
* @param sourceChain The Axelar chain identifier of the source chain.
* @param token The address of the token contract on the destination chain.
* @param amount The amount (in atomic units) of tokens received.
*/
event InterchainTransferReceived(
string sender,
string sourceChain,
bytes recipient,
address token,
uint256 amount,
);
}

0 comments on commit 154ee3e

Please sign in to comment.