export interface Metadata {
    network: string
    chainId: number
    contracts: InternalContractMetadata
    externalContracts: ExternalContractMetadata
    vaults: VaultMetadata[]
}

export interface InternalContractMetadata {
    [deploymentsKey: string]: {
        name: string
        address: string
        createdBlockNumber: number
    }
}

export interface ExternalContractMetadata {
    [deploymentsKey: string]: string
}

export interface VaultMetadata {
    type: string
    name: string
    vault: string
    vaultQuoteToken: string
    vaultBaseToken: string
    vaultAsset: string
    vaultToken: string
    perpPositionManager: string
    perpBaseToken: string
    createdBlockNumber: number
    createdTimestamp: number
    // if no shower room, this will be zero address
    showerRoom: string
}
