/** * Contract Types * * Types for contract addresses, instances, and contract-related operations. */ import type { CONTRACT_ABIS } from "@0xmonaco/contracts"; import type { GetContractReturnType } from "viem"; /** * Interface for all contract addresses in the Monaco Markets protocol. * * @property VAULT - Vault contract address for managing user balances */ export interface ContractAddresses { /** Vault contract address for managing user balances */ VAULT: string; } /** * Type representing all contract instances. * Maps contract names to their typed instances with full ABI type safety. * * @property vault - Vault contract instance for managing user balances */ export type ContractInstances = { /** Vault contract instance for managing user balances */ vault: GetContractReturnType; }; export type { Token, UserBalance } from "./balances";