ContractWithMetadata
type ContractWithMetadata = { chainId: number; contractType: () => Promise<ContractType>; extensions: () => Promise<Array<string>>; metadata: () => Promise<{ image?: string; name: string }>;};
type chainId = number;
function contractType(): Promise<ContractType>;
function extensions(): Promise<Array<string>>;
function metadata(): Promise<{ image?: string; name: string }>;