Getters.sol 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. // contracts/Getters.sol
  2. // SPDX-License-Identifier: Apache 2
  3. pragma solidity ^0.8.0;
  4. import "./State.sol";
  5. contract Getters is State {
  6. function getGuardianSet(uint32 index) public view returns (Structs.GuardianSet memory) {
  7. return _state.guardianSets[index];
  8. }
  9. function getCurrentGuardianSetIndex() public view returns (uint32) {
  10. return _state.guardianSetIndex;
  11. }
  12. function getGuardianSetExpiry() public view returns (uint32) {
  13. return _state.guardianSetExpiry;
  14. }
  15. function governanceActionIsConsumed(bytes32 hash) public view returns (bool) {
  16. return _state.consumedGovernanceActions[hash];
  17. }
  18. function isInitialized(address impl) public view returns (bool) {
  19. return _state.initializedImplementations[impl];
  20. }
  21. function chainId() public view returns (uint16) {
  22. return _state.provider.chainId;
  23. }
  24. function evmChainId() public view returns (uint256) {
  25. return _state.evmChainId;
  26. }
  27. function isFork() public view returns (bool) {
  28. return evmChainId() != block.chainid;
  29. }
  30. function governanceChainId() public view returns (uint16){
  31. return _state.provider.governanceChainId;
  32. }
  33. function governanceContract() public view returns (bytes32){
  34. return _state.provider.governanceContract;
  35. }
  36. function messageFee() public view returns (uint256) {
  37. return _state.messageFee;
  38. }
  39. function nextSequence(address emitter) public view returns (uint64) {
  40. return _state.sequences[emitter];
  41. }
  42. }