IAMB.sol 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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(
  24. address _contract,
  25. bytes calldata _data,
  26. uint256 _gas
  27. ) external returns (bytes32);
  28. function requireToConfirmMessage(
  29. address _contract,
  30. bytes calldata _data,
  31. uint256 _gas
  32. ) external returns (bytes32);
  33. function sourceChainId() external view returns (uint256);
  34. function destinationChainId() external view returns (uint256);
  35. }