IAMB.sol 1.6 KB

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