IAMB.sol 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // SPDX-License-Identifier: MIT
  2. // OpenZeppelin Contracts (last updated v4.6.0) (vendor/amb/IAMB.sol)
  3. pragma solidity ^0.8.0;
  4. interface IAMB {
  5. event UserRequestForAffirmation(bytes32 indexed messageId, bytes encodedData);
  6. event UserRequestForSignature(bytes32 indexed messageId, bytes encodedData);
  7. event AffirmationCompleted(
  8. address indexed sender,
  9. address indexed executor,
  10. bytes32 indexed messageId,
  11. bool status
  12. );
  13. event RelayedMessage(address indexed sender, address indexed executor, bytes32 indexed messageId, bool status);
  14. function messageSender() external view returns (address);
  15. function maxGasPerTx() external view returns (uint256);
  16. function transactionHash() external view returns (bytes32);
  17. function messageId() external view returns (bytes32);
  18. function messageSourceChainId() external view returns (bytes32);
  19. function messageCallStatus(bytes32 _messageId) external view returns (bool);
  20. function failedMessageDataHash(bytes32 _messageId) external view returns (bytes32);
  21. function failedMessageReceiver(bytes32 _messageId) external view returns (address);
  22. function failedMessageSender(bytes32 _messageId) external view returns (address);
  23. function requireToPassMessage(address _contract, bytes calldata _data, uint256 _gas) external returns (bytes32);
  24. function requireToConfirmMessage(address _contract, bytes calldata _data, uint256 _gas) external returns (bytes32);
  25. function sourceChainId() external view returns (uint256);
  26. function destinationChainId() external view returns (uint256);
  27. }