The home for Hyperlane core contracts, sdk packages, and other infrastructure
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hyperlane-monorepo/solidity/contracts/interfaces/middleware/IInterchainAccountRouter.sol

51 lines
1.3 KiB

// SPDX-License-Identifier: MIT OR Apache-2.0
pragma solidity >=0.6.11;
import {OwnableMulticall} from "../../OwnableMulticall.sol";
import {CallLib} from "../../libs/Call.sol";
interface IInterchainAccountRouter {
function callRemote(
uint32 _destination,
address _to,
uint256 _value,
bytes calldata _data
) external returns (bytes32);
function callRemote(uint32 _destination, CallLib.Call[] calldata calls)
external
returns (bytes32);
function callRemoteWithOverrides(
uint32 _destination,
bytes32 _router,
bytes32 _ism,
CallLib.Call[] calldata calls
) external returns (bytes32);
function getLocalInterchainAccount(
uint32 _origin,
bytes32 _router,
bytes32 _owner,
address _ism
) external view returns (OwnableMulticall);
function getLocalInterchainAccount(
uint32 _origin,
address _router,
address _owner,
address _ism
) external view returns (OwnableMulticall);
function getRemoteInterchainAccount(
address _router,
address _owner,
address _ism
) external view returns (address);
function getRemoteInterchainAccount(uint32 _destination, address _owner)
external
view
returns (address);
}