Skip to Content
Dive DeeperIReactorGateway

IReactorGateway Interface

Overview

The IReactorGateway interface defines a set of functions designed for managing cross-chain communication, fee handling, and contract state (pause/unpause). It enables sending messages, executing actions from other chains, retrying failed messages, and configuring fee management.


Interface

interface IReactorGateway { function execute(bytes32 _id, address _destinationAddress, string calldata _sourceChainName, string calldata _sourceAddress, string calldata _action, bytes calldata _payload) external; function feeManager() external returns (address); function pause() external; function retry(bytes32 _id, address _destinationAddress, string calldata _sourceChainName, string calldata _sourceAddress, string calldata _action, bytes calldata _payload) external; function send(address _paymentToken, string calldata _destinationChainName, string calldata _destinationAddress, string calldata _action, bytes calldata _payload, bool _waitForFinality) external payable; function setFeeHolder(address _feeHolder) external; function setFeeManager(address _feeManager) external; function unpause() external; }

Function Details

execute

function execute( bytes32 _id, address _destinationAddress, string calldata _sourceChainName, string calldata _sourceAddress, string calldata _action, bytes calldata _payload ) external;

Executes an action received from another chain.

  • _id: Unique identifier for the message.
  • _destinationAddress: Contract address to execute the payload.
  • _sourceChainName: Name of the originating blockchain.
  • _sourceAddress: Address of the caller on the source chain.
  • _action: Action to be performed.
  • _payload: Encoded data required to perform the action.

feeManager

function feeManager() external returns (address);

Returns the current address of the fee manager responsible for fee logic.


pause

function pause() external;

Pauses contract operations. Typically used during upgrades or incident response.


retry

function retry( bytes32 _id, address _destinationAddress, string calldata _sourceChainName, string calldata _sourceAddress, string calldata _action, bytes calldata _payload ) external;

Retries a previously failed message delivery or execution.

  • Same parameters as execute.

send

function send( address _paymentToken, string calldata _destinationChainName, string calldata _destinationAddress, string calldata _action, bytes calldata _payload, bool _waitForFinality ) external payable;

Sends a message or initiates an action on a destination chain.

  • _paymentToken: Token used to pay for cross-chain messaging.
  • _destinationChainName: Target blockchain name.
  • _destinationAddress: Address to invoke on the destination chain.
  • _action: Action name to be invoked.
  • _payload: Encoded action-specific data.
  • _waitForFinality: Whether to wait for finality before proceeding.

setFeeHolder

function setFeeHolder(address _feeHolder) external;

Sets the address to receive collected fees.


setFeeManager

function setFeeManager(address _feeManager) external;

Updates the address responsible for fee logic.


unpause

function unpause() external;

Resumes normal contract operations after a pause.


Last updated on