/** * @import {AsyncSpecTuple} from '@agoric/governance/src/contractGovernance/typedParamManager.js'; * @import {SyncSpecTuple} from '@agoric/governance/src/contractGovernance/typedParamManager.js'; * @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; */ export const InvitationShape: import("@endo/patterns").Matcher; /** * In seconds, how often to start an auction. The auction will start at * AUCTION_START_DELAY seconds after a multiple of START_FREQUENCY, with the * price at STARTING_RATE_BP. Every CLOCK_STEP, the price will be reduced by * DISCOUNT_STEP_BP, as long as the rate is at or above LOWEST_RATE_BP, or until * START_FREQUENCY has elapsed. */ export const START_FREQUENCY: "StartFrequency"; /** in seconds, how often to reduce the price */ export const CLOCK_STEP: "ClockStep"; /** discount or markup for starting price in basis points. 9999 = 1bp discount */ export const STARTING_RATE_BP: "StartingRate"; /** A limit below which the price will not be discounted. */ export const LOWEST_RATE_BP: "LowestRate"; /** amount to reduce prices each time step in bp, as % of the start price */ export const DISCOUNT_STEP_BP: "DiscountStep"; /** * VaultManagers liquidate vaults at a frequency configured by START_FREQUENCY. * Auctions start this long after the hour to give vaults time to finish. */ export const AUCTION_START_DELAY: "AuctionStartDelay"; export const PRICE_LOCK_PERIOD: "PriceLockPeriod"; export const auctioneerParamPattern: import("@endo/patterns").Matcher; export namespace auctioneerParamTypes { let Electorate: "invitation"; let StartFrequency: "relativeTime"; let ClockStep: "relativeTime"; let StartingRate: "nat"; let LowestRate: "nat"; let DiscountStep: "nat"; let AuctionStartDelay: "relativeTime"; let PriceLockPeriod: "relativeTime"; } export function makeAuctioneerParams({ ElectorateInvitationAmount, StartFrequency, ClockStep, LowestRate, StartingRate, DiscountStep, AuctionStartDelay, PriceLockPeriod, TimerBrand, }: AuctionParams): { Electorate: { type: "invitation"; value: import("@agoric/ertp").SetAmount; }; StartFrequency: { type: "relativeTime"; value: import("@agoric/time").RelativeTimeRecord; }; ClockStep: { type: "relativeTime"; value: import("@agoric/time").RelativeTimeRecord; }; AuctionStartDelay: { type: "relativeTime"; value: import("@agoric/time").RelativeTimeRecord; }; PriceLockPeriod: { type: "relativeTime"; value: import("@agoric/time").RelativeTimeRecord; }; StartingRate: { type: "nat"; value: bigint; }; LowestRate: { type: "nat"; value: bigint; }; DiscountStep: { type: "nat"; value: bigint; }; }; export function makeAuctioneerParamManager(publisherKit: import("@agoric/notifier").StoredPublisherKit, zcf: ZCF, initial: AuctionParams): import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{ Electorate: "invitation"; StartFrequency: "relativeTime"; ClockStep: "relativeTime"; StartingRate: "nat"; LowestRate: "nat"; DiscountStep: "nat"; AuctionStartDelay: "relativeTime"; PriceLockPeriod: "relativeTime"; }>; export function makeGovernedTerms({ storageNode: _storageNode, marshaller: _marshaller }: { storageNode: ERef; marshaller: ERef; }, timer: ERef, priceAuthority: ERef, reservePublicFacet: ERef, params: AuctionParams): { priceAuthority: globalThis.ERef; reservePublicFacet: globalThis.ERef>; getPublicTopics(): { metrics: import("@agoric/zoe/src/contractSupport").PublicTopic; }; }>>>; timerService: globalThis.ERef; governedParams: { Electorate: { type: "invitation"; value: import("@agoric/ertp").SetAmount; }; StartFrequency: { type: "relativeTime"; value: import("@agoric/time").RelativeTimeRecord; }; ClockStep: { type: "relativeTime"; value: import("@agoric/time").RelativeTimeRecord; }; AuctionStartDelay: { type: "relativeTime"; value: import("@agoric/time").RelativeTimeRecord; }; PriceLockPeriod: { type: "relativeTime"; value: import("@agoric/time").RelativeTimeRecord; }; StartingRate: { type: "nat"; value: bigint; }; LowestRate: { type: "nat"; value: bigint; }; DiscountStep: { type: "nat"; value: bigint; }; }; }; export type AuctionParams = { ElectorateInvitationAmount: Amount<"set">; StartFrequency: RelativeTime; ClockStep: RelativeTime; StartingRate: bigint; LowestRate: bigint; DiscountStep: bigint; AuctionStartDelay: RelativeTime; PriceLockPeriod: RelativeTime; TimerBrand: import("@agoric/time").TimerBrand; }; export type AuctionParamRecord = ReturnType; export type AuctionParamManager = ReturnType; import type { PriceAuthority } from '@agoric/zoe/tools/types.js'; //# sourceMappingURL=params.d.ts.map