50 lines
849 B
Solidity
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;
|
|
}
|
|
} |