PythStructs.sol 849 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. // contracts/Structs.sol
  2. // SPDX-License-Identifier: Apache 2
  3. pragma solidity ^0.8.0;
  4. import "../libraries/external/BytesLib.sol";
  5. contract PythStructs {
  6. using BytesLib for bytes;
  7. struct Ema {
  8. int64 value;
  9. int64 numerator;
  10. int64 denominator;
  11. }
  12. struct PriceAttestation {
  13. uint32 magic; // constant "P2WH"
  14. uint16 version;
  15. // PayloadID uint8 = 1
  16. uint8 payloadId;
  17. bytes32 productId;
  18. bytes32 priceId;
  19. uint8 priceType;
  20. int64 price;
  21. int32 exponent;
  22. Ema twap;
  23. Ema twac;
  24. uint64 confidenceInterval;
  25. uint8 status;
  26. uint8 corpAct;
  27. uint64 timestamp;
  28. }
  29. struct UpgradeContract {
  30. bytes32 module;
  31. uint8 action;
  32. uint16 chain;
  33. address newContract;
  34. }
  35. }