UNPKG

@melonproject/protocol

Version:

Technology Regulated and Operated Investment Funds

48 lines (47 loc) 1.56 kB
import { Environment, WithDeployment } from '../environment/Environment'; import { ThirdPartyContracts } from './deployThirdParty'; import { Address } from '@melonproject/token-math'; export interface Factories { accountingFactory: Address; feeManagerFactory: Address; participationFactory: Address; policyManagerFactory: Address; sharesFactory: Address; tradingFactory: Address; vaultFactory: Address; } export interface MelonContracts { priceSource: Address; engine: Address; version: Address; ranking: Address; registry: Address; adapters: { kyberAdapter: Address; zeroExAdapter: Address; matchingMarketAdapter: Address; matchingMarketAccessor: Address; ethfinexAdapter: Address; }; policies: { priceTolerance: Address; userWhitelist: Address; }; fees: { managementFee: Address; performanceFee: Address; }; factories: Factories; } export interface ContractControl { MGM: Address; registryOwner: Address; versionOwner: Address; } export declare type MelonContractsDraft = Partial<MelonContracts>; export declare const deployAllContractsConfig: any; export declare const defaultControlConfig: any; /** * Deploys all contracts and checks their health */ export declare const deploySystem: (environmentWithoutDeployment: Environment, thirdPartyContracts: ThirdPartyContracts, adoptedContracts: Partial<MelonContracts>, control: ContractControl, description?: string) => Promise<WithDeployment>;