/** * @import {MapStore} from '@agoric/store'; * @import {PriceAuthority} from '@agoric/zoe/tools/types.js'; */ export const CHARGING_PERIOD_KEY: "ChargingPeriod"; export const RECORDING_PERIOD_KEY: "RecordingPeriod"; export const DEBT_LIMIT_KEY: "DebtLimit"; export const LIQUIDATION_MARGIN_KEY: "LiquidationMargin"; export const LIQUIDATION_PADDING_KEY: "LiquidationPadding"; export const LIQUIDATION_PENALTY_KEY: "LiquidationPenalty"; export const INTEREST_RATE_KEY: "InterestRate"; export const MINT_FEE_KEY: "MintFee"; export const MIN_INITIAL_DEBT_KEY: "MinInitialDebt"; export const SHORTFALL_INVITATION_KEY: "ShortfallInvitation"; export const REFERENCED_UI_KEY: "ReferencedUI"; export namespace vaultDirectorParamTypes { let MinInitialDebt: "amount"; let ChargingPeriod: "nat"; let RecordingPeriod: "nat"; let ReferencedUI: "string"; } export function makeVaultParamManager(publisherKit: import("@agoric/notifier").StoredPublisherKit, { debtLimit, interestRate, liquidationMargin, liquidationPadding, liquidationPenalty, mintFee, }: VaultManagerParamValues): import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{ DebtLimit: "amount"; InterestRate: "ratio"; LiquidationPadding: "ratio"; LiquidationMargin: "ratio"; LiquidationPenalty: "ratio"; MintFee: "ratio"; }>; /** @typedef {ReturnType} VaultParamManager */ export const vaultParamPattern: import("@endo/patterns").Matcher; export function makeGovernedTerms({ bootstrapPaymentValue, electorateInvitationAmount, interestTiming, minInitialDebt, priceAuthority, reservePublicFacet, timer, shortfallInvitationAmount, referencedUi, }: { electorateInvitationAmount: Amount<"set">; minInitialDebt: Amount<"nat">; bootstrapPaymentValue: bigint; priceAuthority: ERef; timer: ERef; reservePublicFacet: AssetReservePublicFacet; interestTiming: InterestTiming; shortfallInvitationAmount: Amount<"set">; referencedUi?: string; }): { priceAuthority: globalThis.ERef; reservePublicFacet: globalThis.GovernedPublicFacet>; getPublicTopics(): { metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic; }; }>>; timerService: globalThis.ERef; governedParams: { Electorate: { type: "invitation"; value: import("@agoric/ertp").SetAmount; }; MinInitialDebt: { type: "amount"; value: import("@agoric/ertp").NatAmount; }; ShortfallInvitation: { type: "invitation"; value: import("@agoric/ertp").SetAmount; }; ReferencedUI: { type: "string"; value: string; }; ChargingPeriod: { type: "nat"; value: bigint; }; RecordingPeriod: { type: "nat"; value: bigint; }; }; bootstrapPaymentValue: bigint; }; export function provideVaultParamManagers(baggage: import("@agoric/vat-data").Baggage, marshaller: ERef, managerParamOverrides: Record): { /** * @param {Brand} brand * @param {StorageNode} storageNode * @param {VaultManagerParamValues} initialParamValues */ addParamManager(brand: Brand, storageNode: StorageNode, initialParamValues: VaultManagerParamValues): import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{ DebtLimit: "amount"; InterestRate: "ratio"; LiquidationPadding: "ratio"; LiquidationMargin: "ratio"; LiquidationPenalty: "ratio"; MintFee: "ratio"; }>; /** @param {Brand} brand */ get(brand: Brand): import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{ DebtLimit: "amount"; InterestRate: "ratio"; LiquidationPadding: "ratio"; LiquidationMargin: "ratio"; LiquidationPenalty: "ratio"; MintFee: "ratio"; }>; }; export type VaultDirectorParams = import("@agoric/governance/src/contractGovernance/typedParamManager.js").ParamTypesMapFromRecord>; export type VaultParamManager = ReturnType; export type VaultManagerParamOverrides = VaultManagerParamValues & { brand: Brand; }; import type { PriceAuthority } from '@agoric/zoe/tools/types.js'; /** * @param {Amount<'set'>} electorateInvitationAmount * @param {Amount<'nat'>} minInitialDebt * @param {Amount<'set'>} shortfallInvitationAmount * @param {string} referencedUi * @param {InterestTiming} interestTiming */ declare function makeVaultDirectorParams(electorateInvitationAmount: Amount<"set">, minInitialDebt: Amount<"nat">, shortfallInvitationAmount: Amount<"set">, referencedUi: string, interestTiming: InterestTiming): { Electorate: { type: "invitation"; value: import("@agoric/ertp").SetAmount; }; MinInitialDebt: { type: "amount"; value: import("@agoric/ertp").NatAmount; }; ShortfallInvitation: { type: "invitation"; value: import("@agoric/ertp").SetAmount; }; ReferencedUI: { type: "string"; value: string; }; ChargingPeriod: { type: "nat"; value: bigint; }; RecordingPeriod: { type: "nat"; value: bigint; }; }; export {}; //# sourceMappingURL=params.d.ts.map