/** * @typedef {ZCF< * GovernanceTerms & { * priceAuthority: ERef; * reservePublicFacet: AssetReservePublicFacet; * timerService: import('@agoric/time').TimerService; * } * >} VaultFactoryZCF */ /** @type {ContractMeta} */ export const meta: ContractMeta; export function start(zcf: VaultFactoryZCF, privateArgs: { feeMintAccess: FeeMintAccess; initialPoserInvitation: Invitation; initialShortfallInvitation: Invitation; storageNode: ERef; marshaller: ERef; auctioneerInstance: Instance<(zcf: ZCF & { timerService: import("@agoric/time").TimerService; reservePublicFacet: AssetReservePublicFacet; priceAuthority: PriceAuthority; }>, privateArgs: { initialPoserInvitation: Invitation; storageNode: StorageNode; marshaller: Marshaller; }, baggage: Baggage) => Promise<{ publicFacet: globalThis.GovernedPublicFacet<{ getElectorate: () => import("@agoric/ertp").SetAmount; getStartFrequency: () => RelativeTime; getClockStep: () => RelativeTime; getStartingRate: () => bigint; getLowestRate: () => bigint; getDiscountStep: () => bigint; getAuctionStartDelay: () => RelativeTime; getPriceLockPeriod: () => RelativeTime; makeBidInvitation(collateralBrand: Brand<"nat">): Promise>; getSchedules(): { liveAuctionSchedule: import("../auction/scheduler.js").Schedule | null; nextAuctionSchedule: import("../auction/scheduler.js").Schedule | null; }; getScheduleUpdates(): globalThis.Subscriber; getBookDataUpdates(brand: any): globalThis.Subscriber; getPublicTopics(brand: any): { bookData: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic; } | { schedule: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic; }; makeDepositInvitation: () => Promise; }>>; }>; creatorFacet: globalThis.GovernedCreatorFacet<{ addBrand(issuer: Issuer<"nat">, kwd: Keyword): Promise; getSchedule(): Promise; } & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, { addBrand(issuer: Issuer<"nat">, kwd: Keyword): Promise; getSchedule(): Promise; }>>; }>>; managerParams: Record; directorParamOverrides: [object]; }, baggage: import("@agoric/swingset-liveslots").Baggage): Promise<{ creatorFacet: import("@endo/exo").Guarded<{ getParamMgrRetriever: () => { get: (paramPath?: VaultFactoryParamPath) => import("./vaultDirector.js").VaultDirectorParamManager | import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{ DebtLimit: "amount"; InterestRate: "ratio"; LiquidationPadding: "ratio"; LiquidationMargin: "ratio"; LiquidationPenalty: "ratio"; MintFee: "ratio"; }>; } & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, { get: (paramPath?: VaultFactoryParamPath) => import("./vaultDirector.js").VaultDirectorParamManager | import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{ DebtLimit: "amount"; InterestRate: "ratio"; LiquidationPadding: "ratio"; LiquidationMargin: "ratio"; LiquidationPenalty: "ratio"; MintFee: "ratio"; }>; }>; getInvitation(name: string): Promise; getLimitedCreatorFacet(): import("@endo/exo").Guarded<{ addVaultType(collateralIssuer: Issuer<"nat">, collateralKeyword: Keyword, initialParamValues: VaultManagerParamValues): Promise; storagePath: Promise; }; }; invitationMakers: import("@endo/exo").Guarded<{ AdjustBalances(): Promise>; CloseVault(): Promise>; TransferVault(): Promise>; }>; vault: import("@endo/exo").Guarded<{ getPublicTopics(): { vault: { description: string; subscriber: globalThis.Subscriber; storagePath: Promise; }; }; makeAdjustBalancesInvitation(): Promise>; makeCloseInvitation(): Promise>; makeTransferInvitation(): Promise>; getCollateralAmount(): import("@agoric/ertp").NatAmount; getCurrentDebt(): import("@agoric/ertp").NatAmount; getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt; }>; vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder; }>; getCollateralQuote(): PriceQuote; getPublicFacet(): import("@endo/exo").Guarded<{ makeVaultInvitation(): Promise; storagePath: Promise; }; }; invitationMakers: import("@endo/exo").Guarded<{ AdjustBalances(): Promise>; CloseVault(): Promise>; TransferVault(): Promise>; }>; vault: import("@endo/exo").Guarded<{ getPublicTopics(): { vault: { description: string; subscriber: globalThis.Subscriber; storagePath: Promise; }; }; makeAdjustBalancesInvitation(): Promise>; makeCloseInvitation(): Promise>; makeTransferInvitation(): Promise>; getCollateralAmount(): import("@agoric/ertp").NatAmount; getCurrentDebt(): import("@agoric/ertp").NatAmount; getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt; }>; vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder; }, undefined>>; getQuotes(): import("@agoric/notifier").StoredNotifier; getCompoundedInterest(): Ratio; getPublicTopics(): { asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic; metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic; }; }>; lockOraclePrices(): PriceQuote; liquidateVaults(auctionPF: ERef): Promise; }>>; makeCollectFeesInvitation(): Promise>; getRewardAllocation(): Allocation; makeLiquidationWaker(): { wake: (timestamp: any) => any; } & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, { wake: (timestamp: any) => any; }>; makeReschedulerWaker(): { wake: (timestamp: any) => any; } & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, { wake: (timestamp: any) => any; }>; makePriceLockWaker(): { wake: (timestamp: any) => any; } & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, { wake: (timestamp: any) => any; }>; setShortfallReporter(newInvitation: any): Promise; }>; getGovernedApis(): ERef; getGovernedApiNames(): never[]; setOfferFilter: (strings: any) => Promise; }>; publicFacet: import("@endo/exo").Guarded<{ getCollateralManager(brandIn: Brand): import("@endo/exo").Guarded<{ makeVaultInvitation(): Promise; storagePath: Promise; }; }; invitationMakers: import("@endo/exo").Guarded<{ AdjustBalances(): Promise>; CloseVault(): Promise>; TransferVault(): Promise>; }>; vault: import("@endo/exo").Guarded<{ getPublicTopics(): { vault: { description: string; subscriber: globalThis.Subscriber; storagePath: Promise; }; }; makeAdjustBalancesInvitation(): Promise>; makeCloseInvitation(): Promise>; makeTransferInvitation(): Promise>; getCollateralAmount(): import("@agoric/ertp").NatAmount; getCurrentDebt(): import("@agoric/ertp").NatAmount; getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt; }>; vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder; }, undefined>>; getQuotes(): import("@agoric/notifier").StoredNotifier; getCompoundedInterest(): Ratio; getPublicTopics(): { asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic; metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic; }; }>; getDebtIssuer(): globalThis.Issuer<"nat", import("@endo/patterns").Key>; getSubscription({ collateralBrand }: { collateralBrand: Brand; }): globalThis.StoredSubscription; getPublicTopics(): { metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic; }; getElectorateSubscription(): globalThis.StoredSubscription; getGovernedParams({ collateralBrand }: { collateralBrand: Brand; }): globalThis.ERef; getDirectorGovernedParams(): globalThis.ERef; getInvitationAmount(name: string): import("@agoric/ertp").SetAmount; }>; }>; export type VaultFactoryZCF = ZCF & { priceAuthority: ERef; reservePublicFacet: AssetReservePublicFacet; timerService: import("@agoric/time").TimerService; }>; export type VaultFactoryContract = ContractOf; import type { ContractMeta } from '@agoric/zoe'; import type { FeeMintAccess } from '@agoric/zoe'; import type { Invitation } from '@agoric/zoe'; import type { PriceAuthority } from '@agoric/zoe/tools/types.js'; import type { ZCF } from '@agoric/zoe'; import type { ZCFSeat } from '@agoric/zoe'; import type { PriceQuote } from '@agoric/zoe/tools/types.js'; import type { ContractOf } from '@agoric/zoe/src/zoeService/utils.js'; //# sourceMappingURL=vaultFactory.d.ts.map