Structs.sol 570 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. // contracts/Structs.sol
  2. // SPDX-License-Identifier: Apache 2
  3. pragma solidity ^0.8.0;
  4. interface Structs {
  5. struct Provider {
  6. uint16 chainId;
  7. uint16 governanceChainId;
  8. bytes32 governanceContract;
  9. }
  10. struct GuardianSet {
  11. address[] keys;
  12. uint32 expirationTime;
  13. }
  14. struct Signature {
  15. bytes32 r;
  16. bytes32 s;
  17. uint8 v;
  18. uint8 guardianIndex;
  19. }
  20. struct VM {
  21. uint8 version;
  22. uint32 timestamp;
  23. uint32 nonce;
  24. uint16 emitterChainId;
  25. bytes32 emitterAddress;
  26. bytes payload;
  27. uint32 guardianSetIndex;
  28. Signature[] signatures;
  29. bytes32 hash;
  30. }
  31. }