import cbbtcMainnet from "@mezo-org/mezod-contracts/deployments/mainnet/mcbBTC.json" import daiMainnet from "@mezo-org/mezod-contracts/deployments/mainnet/mDAI.json" import fbtcMainnet from "@mezo-org/mezod-contracts/deployments/mainnet/mFBTC.json" import solvbtcMainnet from "@mezo-org/mezod-contracts/deployments/mainnet/mSolvBTC.json" import swbtcMainnet from "@mezo-org/mezod-contracts/deployments/mainnet/mswBTC.json" import tMainnet from "@mezo-org/mezod-contracts/deployments/mainnet/mT.json" import usdcMainnet from "@mezo-org/mezod-contracts/deployments/mainnet/mUSDC.json" import usdeMainnet from "@mezo-org/mezod-contracts/deployments/mainnet/mUSDe.json" import usdtMainnet from "@mezo-org/mezod-contracts/deployments/mainnet/mUSDT.json" import xsolvbtcMainnet from "@mezo-org/mezod-contracts/deployments/mainnet/mxSolvBTC.json" import musdMainnet from "@mezo-org/musd-contracts/deployments/mainnet/MUSD.json" import troveManagerMainnet from "@mezo-org/musd-contracts/deployments/mainnet/TroveManager.json" import borrowerOperationsMainnet from "@mezo-org/musd-contracts/deployments/mainnet/BorrowerOperations.json" import cbbtcTestnet from "@mezo-org/mezod-contracts/deployments/testnet/mcbBTC.json" import daiTestnet from "@mezo-org/mezod-contracts/deployments/testnet/mDAI.json" import fbtcTestnet from "@mezo-org/mezod-contracts/deployments/testnet/mFBTC.json" import solvbtcTestnet from "@mezo-org/mezod-contracts/deployments/testnet/mSolvBTC.json" import swbtcTestnet from "@mezo-org/mezod-contracts/deployments/testnet/mswBTC.json" import tTestnet from "@mezo-org/mezod-contracts/deployments/testnet/mT.json" import usdcTestnet from "@mezo-org/mezod-contracts/deployments/testnet/mUSDC.json" import usdeTestnet from "@mezo-org/mezod-contracts/deployments/testnet/mUSDe.json" import usdtTestnet from "@mezo-org/mezod-contracts/deployments/testnet/mUSDT.json" import xsolvbtcTestnet from "@mezo-org/mezod-contracts/deployments/testnet/mxSolvBTC.json" import musdTestnet from "@mezo-org/musd-contracts/deployments/matsnet/MUSD.json" import troveManagerTestnet from "@mezo-org/musd-contracts/deployments/matsnet/TroveManager.json" import borrowerOperationsTestnet from "@mezo-org/musd-contracts/deployments/matsnet/BorrowerOperations.json" import priceFeed from "@mezo-org/musd-contracts/deployments/mainnet/PriceFeed.json" import priceFeedTestnet from "@mezo-org/musd-contracts/deployments/matsnet/PriceFeed.json" import { Abi, Address } from "viem" import mezoArtifact from "./artifacts/MEZO.json" export type MezoChainToken = | "mcbBTC" | "mDAI" | "mFBTC" | "mSolvBTC" | "mswBTC" | "mT" | "mUSDC" | "mUSDe" | "mUSDT" | "mxSolvBTC" | "MUSD" | "MEZO" export type MezoBorrowContract = | "TroveManager" | "BorrowerOperations" | "PriceFeed" type ContractsMap = Record< K, { address: Address abi: Abi } > export const testnetTokenContracts = { mcbBTC: cbbtcTestnet, mDAI: daiTestnet, mFBTC: fbtcTestnet, mSolvBTC: solvbtcTestnet, mswBTC: swbtcTestnet, mT: tTestnet, mUSDC: usdcTestnet, mUSDe: usdeTestnet, mUSDT: usdtTestnet, mxSolvBTC: xsolvbtcTestnet, MUSD: musdTestnet, MEZO: mezoArtifact, } as unknown as ContractsMap export const mainnetTokenContracts = { mcbBTC: cbbtcMainnet, mDAI: daiMainnet, mFBTC: fbtcMainnet, mSolvBTC: solvbtcMainnet, mswBTC: swbtcMainnet, mT: tMainnet, mUSDC: usdcMainnet, mUSDe: usdeMainnet, mUSDT: usdtMainnet, mxSolvBTC: xsolvbtcMainnet, MUSD: musdMainnet, MEZO: mezoArtifact, } as unknown as ContractsMap export const mainnetBorrowContracts = { TroveManager: troveManagerMainnet, BorrowerOperations: borrowerOperationsMainnet, PriceFeed: priceFeed, } as unknown as ContractsMap export const testnetBorrowContracts = { TroveManager: troveManagerTestnet, BorrowerOperations: borrowerOperationsTestnet, PriceFeed: priceFeedTestnet, } as unknown as ContractsMap