wormhole/ethereum/contracts/pyth/PythStructs.sol

50 lines
849 B
Solidity

// contracts/Structs.sol
// SPDX-License-Identifier: Apache 2
pragma solidity ^0.8.0;
import "../libraries/external/BytesLib.sol";
contract PythStructs {
using BytesLib for bytes;
struct Ema {
int64 value;
int64 numerator;
int64 denominator;
}
struct PriceAttestation {
uint32 magic; // constant "P2WH"
uint16 version;
// PayloadID uint8 = 1
uint8 payloadId;
bytes32 productId;
bytes32 priceId;
uint8 priceType;
int64 price;
int32 exponent;
Ema twap;
Ema twac;
uint64 confidenceInterval;
uint8 status;
uint8 corpAct;
uint64 timestamp;
}
struct UpgradeContract {
bytes32 module;
uint8 action;
uint16 chain;
address newContract;
}
}