UNPKG

@tribecahq/registry

Version:

Registry of Tribeca DAOs.

59 lines 2.03 kB
import type { GovernanceConfig, GovernorConfig, GovernorParameters, LockerParameters, QuarryConfig, TrackedAccountInfo } from "./types"; declare type QuarryConfigJSON = Omit<QuarryConfig, "rewarder" | "mintWrapper" | "redeemer" | "additionalRewarders"> & { rewarder?: string; mintWrapper?: string; redeemer?: string; additionalRewarders: readonly string[]; }; /** * An address tracked by the DAO. */ interface TrackedAccountInfoJSON extends Omit<TrackedAccountInfo, "address"> { address: string; } export interface GovernorConfigJSON extends Omit<GovernorConfig, "address" | "governance" | "quarry" | "saves" | "minter" | "gauge" | "mndeNftLocker" | "nftLockerGauges" | "addresses"> { address: string; governance: Omit<GovernanceConfig, "address" | "parameters"> & { address: string; parameters?: { governor?: Omit<GovernorParameters, "proposalActivationMinVotes"> & { proposalActivationMinVotes: string; }; locker?: Omit<LockerParameters, "quorumVotes"> & { quorumVotes: string; }; }; }; quarry?: QuarryConfigJSON; saves?: { mint: string; duration: number; }[]; minter?: { mintWrapper?: string; redeemer?: string; }; gauge?: Omit<GovernorConfig["gauge"], "gaugemeister"> & { gaugemeister: string; }; mndeNftLocker?: { address: string; creators: string[]; docs: string; app: string; }; nftLockerGauges?: { label: string; address: string; stateAccount?: string; docs: string; }[]; addresses?: Record<string, TrackedAccountInfoJSON>; } /** * Loads a Governor from its JSON representation. * @returns */ export declare const loadGovernorConfig: ({ address, governance, quarry, saves, minter, gauge, mndeNftLocker, nftLockerGauges, addresses, ...rest }: GovernorConfigJSON) => GovernorConfig; export {}; //# sourceMappingURL=loadConfig.d.ts.map