export const INVITATION_MAKERS_DESC: "oracle invitation"; export function prepareFluxAggregatorKit(baggage: Baggage, zcf: ZCF; brandOut: Brand<"nat">; unitAmountIn?: Amount<"nat">; }>, timerPresence: TimerService, quoteKit: import("./roundsManager.js").QuoteKit, storageNode: StorageNode, makeDurablePublishKit: () => PublishKit, makeRecorder: import("@agoric/zoe/src/contractSupport/recorder.js").MakeRecorder): Promise<() => import("@endo/exo").GuardedKit<{ creator: { /** * An "oracle invitation" is an invitation to be able to submit data to * include in the priceAggregator's results. * * The offer result from this invitation is a OracleAdmin, which can be * used directly to manage the price submissions as well as to terminate * the relationship. * * @param {string} oracleId unique per contract instance */ makeOracleInvitation(oracleId: string): Promise>; } & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, { /** @param {import('./roundsManager.js').PriceRound} result */ PushPrice(result: import("./roundsManager.js").PriceRound): Promise>; }>; oracle: import("@endo/exo").Guarded<{ pushPrice({ roundId: roundIdRaw, unitPrice: valueRaw, }: PriceDatum): Promise; getStatus(): OracleStatus; }>; }, undefined>>; /** @param {string} oracleId */ removeOracle(oracleId: string): Promise; getRoundData: (roundIdRaw: any) => Promise; /** @param {string} oracleId */ initOracle(oracleId: string): Promise; getStatus(): OracleStatus; }; }>>; /** * a method to provide all current info oracleStatuses need. Intended * only only to be callable by oracleStatuses. Not for use by contracts * to read state. * * @param {string} oracleId * @param {bigint} queriedRoundId * @returns {Promise} */ oracleRoundState(oracleId: string, queriedRoundId: bigint): Promise; }; public: { getPriceAuthority(): PriceAuthority; getPublicTopics(): { quotes: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic; latestRound: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic; }; }; }>>; export type RoundState = { eligibleForSpecificRound: boolean; queriedRoundId: bigint; latestSubmission: bigint; startedAt: Timestamp; roundTimeout: number; oracleCount: number; }; export type ChainlinkConfig = { maxSubmissionCount: number; minSubmissionCount: number; /** * the number of rounds an Oracle has to wait * before they can initiate a round */ restartDelay: bigint; /** * an immutable check for a lower bound of * what submission values are accepted from an oracle */ minSubmissionValue: number; /** * an immutable check for an upper bound * of what submission values are accepted from an oracle */ maxSubmissionValue: number; /** * the number of seconds after the previous round * that allowed to lapse before allowing an oracle to skip an unfinished * round */ timeout: number; }; export type FluxAggregatorKit = EReturn>; import type { Baggage } from '@agoric/vat-data'; import type { TimerService } from '@agoric/time'; import type { PriceAuthority } from '@agoric/zoe/tools/types.js'; import type { PriceDescription } from '@agoric/zoe/tools/types.js'; import type { Timestamp } from '@agoric/time'; import type { EReturn } from '@endo/far'; //# sourceMappingURL=fluxAggregatorKit.d.ts.map