///
///
///
import { BeetStruct, FixableBeetStruct } from '@metaplex-foundation/beet';
import BigNumber from 'bignumber.js';
import { PublicKey } from '@solana/web3.js';
export declare enum AggregatorResolutionMode {
ModeRoundResolution = 0,
ModeSlidingResolution = 1
}
export type Hash = {
data: number[];
};
export declare const hashStruct: BeetStruct>;
export type SwitchboardDecimal = {
mantissa: BigNumber;
scale: number;
};
export declare const switchboardDecimalStruct: BeetStruct>;
export type AggregatorRound = {
numSuccess: number;
numError: number;
isClosed: boolean;
roundOpenSlot: BigNumber;
roundOpenTimestamp: BigNumber;
result: SwitchboardDecimal;
stdDeviation: SwitchboardDecimal;
minResponse: SwitchboardDecimal;
maxResponse: SwitchboardDecimal;
oraclePubkeysData: PublicKey[];
mediansData: SwitchboardDecimal[];
currentPayout: BigNumber[];
mediansFulfilled: boolean[];
errorsFulfilled: boolean[];
};
export declare const aggregatorRoundStruct: FixableBeetStruct>;
export type AggregatorAccount = {
buffer: Buffer;
name: number[];
metadata: number[];
reserved1: number[];
queuePubkey: PublicKey;
oracleRequestBatchSize: number;
minOracleResults: number;
minJobResults: number;
minUpdateDelaySeconds: number;
startAfter: BigNumber;
varianceThreshold: SwitchboardDecimal;
forceReportPeriod: BigNumber;
expiration: BigNumber;
consecutiveFailureCount: BigNumber;
nextAllowedUpdateTime: BigNumber;
isLocked: boolean;
crankPubkey: PublicKey;
latestConfirmedRound: AggregatorRound;
currentRound: AggregatorRound;
jobPubkeysData: PublicKey[];
jobHashes: Hash[];
jobPubkeysSize: number;
jobsChecksum: number[];
authority: PublicKey;
historyBuffer: PublicKey;
previousConfirmedRoundResult: SwitchboardDecimal;
previousConfirmedRoundSlot: BigNumber;
disableCrank: boolean;
jobWeights: number[];
creationTimestamp: BigNumber;
resolutionMode: AggregatorResolutionMode;
basePriorityFee: number;
priorityFeeBump: number;
priorityFeeBumpPeriod: number;
maxPriorityFeeMultiplier: number;
parentFunction: PublicKey;
ebuf: number[];
};
export declare const aggregatorAccountStruct: FixableBeetStruct>;
export type PullFeedAccountDataResult = {
value: BigNumber;
std_dev: BigNumber;
mean: BigNumber;
range: BigNumber;
min_value: BigNumber;
max_value: BigNumber;
num_samples: number;
submission_idx: number;
padding1: number[];
slot: BigNumber;
};
export declare const pullFeedAccountDataResultStruct: BeetStruct>;
export type OracleSubmission = {
oracle: PublicKey;
slot: BigNumber;
landed_at: BigNumber;
value: BigNumber;
};
export declare const oracleSubmissionStruct: BeetStruct>;
export type PullFeedAccountData = {
buffer: Buffer;
submissions: OracleSubmission[];
authority: PublicKey;
queue: PublicKey;
feed_hash: number[];
initialized_at: BigNumber;
permissions: BigNumber;
max_variance: BigNumber;
min_responses: BigNumber;
name: number[];
padding1: number[];
historical_result_idx: number;
min_sample_size: number;
last_update_timestamp: BigNumber;
lut_slot: BigNumber;
_reserved1: number[];
result: PullFeedAccountDataResult;
};
export declare const pullFeedAccountDataStruct: BeetStruct>;