tornado-nova/contracts/interfaces/IBridge.sol

31 lines
786 B
Solidity

// SPDX-License-Identifier: MIT
pragma solidity ^0.7.0;
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
// https://docs.tokenbridge.net/amb-bridge/development-of-a-cross-chain-application/how-to-develop-xchain-apps-by-amb#call-a-method-in-another-chain-using-the-amb-bridge
interface IAMB {
function messageSender() external view returns (address);
function messageSourceChainId() external view returns (bytes32);
}
interface IOmniBridge {
function bridgeContract() external view returns (IAMB);
}
interface IERC6777 is IERC20 {
function transferAndCall(
address,
uint256,
bytes calldata
) external returns (bool);
}
interface IERC20Receiver {
function onTokenBridged(
IERC6777 token,
uint256 value,
bytes calldata data
) external;
}