UNPKG

@moonwell-fi/moonwell-sdk

Version:

TypeScript Interface for Moonwell

1,267 lines 98 kB
import type { Narrow, Prettify } from "viem"; import { type ArbitrumEnvironment, type AvalancheEnvironment, type BaseEnvironment, type Environment, type EthereumEnvironment, type MoonbeamEnvironment, type MoonriverEnvironment, type OptimismEnvironment, type PolygonEnvironment, type SupportedChains } from "../environments/index.js"; export type MoonwellClient<environments = { [name in SupportedChains]?: Environment; }> = { environments: Prettify<{ [name in keyof environments as Extract<name, "base">]: BaseEnvironment; } & { [name in keyof environments as Extract<name, "optimism">]: OptimismEnvironment; } & { [name in keyof environments as Extract<name, "moonbeam">]: MoonbeamEnvironment; } & { [name in keyof environments as Extract<name, "moonriver">]: MoonriverEnvironment; } & { [name in keyof environments as Extract<name, "ethereum">]: EthereumEnvironment; } & { [name in keyof environments as Extract<name, "avalanche">]: AvalancheEnvironment; } & { [name in keyof environments as Extract<name, "arbitrum">]: ArbitrumEnvironment; } & { [name in keyof environments as Extract<name, "polygon">]: PolygonEnvironment; }>; }; export type NetworkConfig = { rpcUrls: string[]; }; export type NetworksConfig<networks> = {} extends networks ? {} : { [name in SupportedChains]?: NetworkConfig; }; export declare const createMoonwellClient: <const networks>(config: { networks: NetworksConfig<Narrow<networks>>; onError?: (error: unknown, context: { source: string; chainId: number; }) => void; }) => { environments: { [name in keyof networks as Extract<name, "base">]: Environment<{ readonly ETH: { readonly address: "0x0000000000000000000000000000000000000000"; readonly decimals: 18; readonly name: "Ethereum"; readonly symbol: "ETH"; }; readonly WETH: { readonly address: "0x4200000000000000000000000000000000000006"; readonly decimals: 18; readonly name: "Wrapped Ethereum"; readonly symbol: "WETH"; }; readonly USDC: { readonly address: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"; readonly decimals: 6; readonly name: "USD Coin"; readonly symbol: "USDC"; }; readonly MOONWELL_USDC: { readonly address: "0xEdc817A28E8B93B03976FBd4a3dDBc9f7D176c22"; readonly decimals: 8; readonly name: "Moonwell USDC"; readonly symbol: "mUSDC"; }; readonly MOONWELL_ETH: { readonly address: "0x628ff693426583D9a7FB391E54366292F509D457"; readonly decimals: 8; readonly name: "Moonwell ETH"; readonly symbol: "mWETH"; }; readonly cbETH: { readonly address: "0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22"; readonly decimals: 18; readonly name: "Coinbase Staked Ethereum"; readonly symbol: "cbETH"; }; readonly MOONWELL_cbETH: { readonly address: "0x3bf93770f2d4a794c3d9EBEfBAeBAE2a8f09A5E5"; readonly decimals: 8; readonly name: "Moonwell cbETH"; readonly symbol: "mcbETH"; }; readonly wstETH: { readonly address: "0xc1cba3fcea344f92d9239c08c0568f6f2f0ee452"; readonly decimals: 18; readonly name: "Lido Staked Ethereum"; readonly symbol: "wstETH"; }; readonly MOONWELL_wstETH: { readonly address: "0x627Fe393Bc6EdDA28e99AE648fD6fF362514304b"; readonly decimals: 8; readonly name: "Moonwell wstETH"; readonly symbol: "mwstETH"; }; readonly rETH: { readonly address: "0xb6fe221fe9eef5aba221c348ba20a1bf5e73624c"; readonly decimals: 18; readonly name: "Rocket Pool Staked Ethereum"; readonly symbol: "rETH"; }; readonly MOONWELL_rETH: { readonly address: "0xCB1DaCd30638ae38F2B94eA64F066045B7D45f44"; readonly decimals: 8; readonly name: "Moonwell rETH"; readonly symbol: "mrETH"; }; readonly weETH: { readonly address: "0x04c0599ae5a44757c0af6f9ec3b93da8976c150a"; readonly decimals: 18; readonly name: "EtherFi Restaked Ethereum"; readonly symbol: "weETH"; }; readonly MOONWELL_weETH: { readonly address: "0xb8051464C8c92209C92F3a4CD9C73746C4c3CFb3"; readonly decimals: 8; readonly name: "Moonwell weETH"; readonly symbol: "mweETH"; }; readonly cbBTC: { readonly address: "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf"; readonly decimals: 8; readonly name: "Coinbase Bitcoin"; readonly symbol: "cbBTC"; }; readonly MOONWELL_cbBTC: { readonly address: "0xF877ACaFA28c19b96727966690b2f44d35aD5976"; readonly decimals: 8; readonly name: "Moonwell cbBTC"; readonly symbol: "mcbBTC"; }; readonly AERO: { readonly address: "0x940181a94A35A4569E4529A3CDfB74e38FD98631"; readonly decimals: 18; readonly name: "Aerodrome"; readonly symbol: "AERO"; }; readonly MOONWELL_AERO: { readonly address: "0x73902f619CEB9B31FD8EFecf435CbDf89E369Ba6"; readonly decimals: 8; readonly name: "Moonwell AERO"; readonly symbol: "mAERO"; }; readonly DAI: { readonly address: "0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb"; readonly decimals: 18; readonly name: "DAI"; readonly symbol: "DAI"; }; readonly MOONWELL_DAI: { readonly address: "0x73b06D8d18De422E269645eaCe15400DE7462417"; readonly decimals: 8; readonly name: "Moonwell DAI"; readonly symbol: "mDAI"; }; readonly USDbC: { readonly address: "0xd9aaec86b65d86f6a7b5b1b0c42ffa531710b6ca"; readonly decimals: 6; readonly name: "USD Coin"; readonly symbol: "USDbC"; }; readonly MOONWELL_USDbC: { readonly address: "0x703843C3379b52F9FF486c9f5892218d2a065cC8"; readonly decimals: 8; readonly name: "Moonwell USDbC"; readonly symbol: "mUSDC"; }; readonly EURC: { readonly address: "0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42"; readonly decimals: 6; readonly name: "Euro Coin"; readonly symbol: "EURC"; }; readonly MOONWELL_EURC: { readonly address: "0xb682c840B5F4FC58B20769E691A6fa1305A501a2"; readonly decimals: 8; readonly name: "Moonwell EURC"; readonly symbol: "mEURC"; }; readonly mwETH: { readonly address: "0x89BeDBB1C4837444Da215A377275Ff96A84D6f53"; readonly decimals: 18; readonly name: "Moonwell Flagship ETH"; readonly symbol: "mwETH"; }; readonly mwETHv1: { readonly address: "0xa0E430870c4604CcfC7B38Ca7845B1FF653D0ff1"; readonly decimals: 18; readonly name: "Moonwell Flagship ETH V1"; readonly symbol: "mwETHv1"; }; readonly mwUSDC: { readonly address: "0x48a90E85be5C56b0A669985A12ee7C449fC79965"; readonly decimals: 18; readonly name: "Moonwell Flagship USDC"; readonly symbol: "mwUSDC"; }; readonly mwUSDCv1: { readonly address: "0xc1256Ae5FF1cf2719D4937adb3bbCCab2E00A2Ca"; readonly decimals: 18; readonly name: "Moonwell Flagship USDC V1"; readonly symbol: "mwUSDCv1"; }; readonly mwEURC: { readonly address: "0x5083b1387Ec3d4Ee6467B83890D98f1AF93F7c48"; readonly decimals: 18; readonly name: "Moonwell Flagship EURC"; readonly symbol: "mwEURC"; }; readonly mwEURCv1: { readonly address: "0xf24608E0CCb972b0b0f4A6446a0BBf58c701a026"; readonly decimals: 18; readonly name: "Moonwell Flagship EURC V1"; readonly symbol: "mwEURCv1"; }; readonly mwcbBTC: { readonly address: "0xdbA76Bc542bb07538e046B40F2e8a215B409F7A8"; readonly decimals: 18; readonly name: "Moonwell Frontier cbBTC"; readonly symbol: "mwcbBTC"; }; readonly mwcbBTCv1: { readonly address: "0x543257eF2161176D7C8cD90BA65C2d4CaEF5a796"; readonly decimals: 18; readonly name: "Moonwell Frontier cbBTC V1"; readonly symbol: "mwcbBTCv1"; }; readonly WELL: { readonly address: "0xA88594D404727625A9437C3f886C7643872296AE"; readonly decimals: 18; readonly name: "Moonwell"; readonly symbol: "WELL"; }; readonly WORMHOLE_WELL: { readonly address: "0xFF8adeC2221f9f4D8dfbAFa6B9a297d17603493D"; readonly decimals: 18; readonly name: "WELL (Wormhole)"; readonly symbol: "WELL"; }; readonly stkWELL: { readonly address: "0xe66E3A37C3274Ac24FE8590f7D84A2427194DC17"; readonly decimals: 18; readonly name: "stkWELL"; readonly symbol: "stkWELL"; }; readonly wrsETH: { readonly address: "0xEDfa23602D0EC14714057867A78d01e94176BEA0"; readonly decimals: 18; readonly name: "KelpDAO Restaked Ethereum"; readonly symbol: "wrsETH"; }; readonly MOONWELL_wrsETH: { readonly address: "0xfC41B49d064Ac646015b459C522820DB9472F4B5"; readonly decimals: 8; readonly name: "Moonwell wrsETH"; readonly symbol: "mwrsETH"; }; readonly MOONWELL_WELL: { readonly address: "0xdC7810B47eAAb250De623F0eE07764afa5F71ED1"; readonly decimals: 8; readonly name: "Moonwell WELL"; readonly symbol: "mWELL"; }; readonly PT_LBTC_29MAY2025: { readonly address: "0x5d746848005507DA0b1717C137A10C30AD9ee307"; readonly decimals: 8; readonly name: "PT Lombard LBTC 29MAY2025"; readonly symbol: "PT_LBTC_29MAY2025"; }; readonly LBTC: { readonly address: "0xecAc9C5F704e954931349Da37F60E39f515c11c1"; readonly decimals: 8; readonly name: "Lombard Staked Bitcoin"; readonly symbol: "LBTC"; }; readonly USDS: { readonly address: "0x820C137fa70C8691f0e44Dc420a5e53c168921Dc"; readonly decimals: 18; readonly name: "Sky Dollar"; readonly symbol: "USDS"; }; readonly MOONWELL_USDS: { readonly address: "0xb6419c6C2e60c4025D6D06eE4F913ce89425a357"; readonly decimals: 8; readonly name: "Moonwell USDS"; readonly symbol: "mUSDS"; }; readonly tBTC: { readonly address: "0x236aa50979D5f3De3Bd1Eeb40E81137F22ab794b"; readonly decimals: 18; readonly name: "Threshold Bitcoin"; readonly symbol: "tBTC"; }; readonly MOONWELL_tBTC: { readonly address: "0x9A858ebfF1bEb0D3495BB0e2897c1528eD84A218"; readonly decimals: 8; readonly name: "Moonwell tBTC"; readonly symbol: "mtBTC"; }; readonly MOONWELL_LBTC: { readonly address: "0x10fF57877b79e9bd949B3815220eC87B9fc5D2ee"; readonly decimals: 8; readonly name: "Moonwell LBTC"; readonly symbol: "mLBTC"; }; readonly VIRTUAL: { readonly address: "0x0b3e328455c4059EEb9e3f84b5543F74E24e7E1b"; readonly decimals: 18; readonly name: "Virtuals Protocol"; readonly symbol: "VIRTUAL"; }; readonly MOONWELL_VIRTUAL: { readonly address: "0xdE8Df9d942D78edE3Ca06e60712582F79CFfFC64"; readonly decimals: 8; readonly name: "Moonwell Virtual"; readonly symbol: "mVIRTUAL"; }; readonly MORPHO: { readonly address: "0xBAa5CC21fd487B8Fcc2F632f3F4E8D37262a0842"; readonly decimals: 18; readonly name: "Morpho"; readonly symbol: "MORPHO"; }; readonly MOONWELL_MORPHO: { readonly address: "0x6308204872BdB7432dF97b04B42443c714904F3E"; readonly decimals: 8; readonly name: "Moonwell MORPHO"; readonly symbol: "mMORPHO"; }; readonly cbXRP: { readonly address: "0xcb585250f852C6c6bf90434AB21A00f02833a4af"; readonly decimals: 6; readonly name: "Coinbase XRP"; readonly symbol: "cbXRP"; }; readonly MOONWELL_cbXRP: { readonly address: "0xb4fb8fed5b3AaA8434f0B19b1b623d977e07e86d"; readonly decimals: 8; readonly name: "Moonwell cbXRP"; readonly symbol: "mcbXRP"; }; readonly meUSDC: { readonly address: "0xbB2F06CeAE42CBcF5559Ed0713538c8892D977c9"; readonly decimals: 18; readonly name: "Moonwell Ecosystem USDC"; readonly symbol: "meUSDC"; }; readonly meUSDCv1: { readonly address: "0xe1ba476304255353aef290e6474a417d06e7b773"; readonly decimals: 18; readonly name: "Moonwell Ecosystem USDC V1"; readonly symbol: "meUSDCv1"; }; readonly MAMO: { readonly address: "0x7300B37DfdfAb110d83290A29DfB31B1740219fE"; readonly decimals: 18; readonly name: "Mamo"; readonly symbol: "MAMO"; }; readonly MOONWELL_MAMO: { readonly address: "0x2f90bb22eb3979f5ffad31ea6c3f0792ca66da32"; readonly decimals: 8; readonly name: "Moonwell MAMO"; readonly symbol: "mMAMO"; }; readonly VVV: { readonly address: "0xacfE6019Ed1A7Dc6f7B508C02d1b04ec88cC21bf"; readonly decimals: 18; readonly name: "Venice Token"; readonly symbol: "VVV"; }; readonly MOONWELL_VVV: { readonly address: "0xd64bcb70c613a6d1f4d7d57ba64bb4a0767a9682"; readonly decimals: 8; readonly name: "Moonwell VVV"; readonly symbol: "mVVV"; }; }, { readonly MOONWELL_USDC: { readonly marketToken: "MOONWELL_USDC"; readonly underlyingToken: "USDC"; }; readonly MOONWELL_ETH: { readonly marketToken: "MOONWELL_ETH"; readonly underlyingToken: "ETH"; }; readonly MOONWELL_cbETH: { readonly marketToken: "MOONWELL_cbETH"; readonly underlyingToken: "cbETH"; }; readonly MOONWELL_wstETH: { readonly marketToken: "MOONWELL_wstETH"; readonly underlyingToken: "wstETH"; }; readonly MOONWELL_rETH: { readonly marketToken: "MOONWELL_rETH"; readonly underlyingToken: "rETH"; }; readonly MOONWELL_weETH: { readonly marketToken: "MOONWELL_weETH"; readonly underlyingToken: "weETH"; }; readonly MOONWELL_cbBTC: { readonly marketToken: "MOONWELL_cbBTC"; readonly underlyingToken: "cbBTC"; }; readonly MOONWELL_AERO: { readonly marketToken: "MOONWELL_AERO"; readonly underlyingToken: "AERO"; }; readonly MOONWELL_DAI: { readonly marketToken: "MOONWELL_DAI"; readonly underlyingToken: "DAI"; }; readonly MOONWELL_USDbC: { readonly marketToken: "MOONWELL_USDbC"; readonly underlyingToken: "USDbC"; readonly deprecated: true; }; readonly MOONWELL_EURC: { readonly marketToken: "MOONWELL_EURC"; readonly underlyingToken: "EURC"; }; readonly MOONWELL_wrsETH: { readonly marketToken: "MOONWELL_wrsETH"; readonly underlyingToken: "wrsETH"; }; readonly MOONWELL_WELL: { readonly marketToken: "MOONWELL_WELL"; readonly underlyingToken: "WELL"; }; readonly MOONWELL_USDS: { readonly marketToken: "MOONWELL_USDS"; readonly underlyingToken: "USDS"; }; readonly MOONWELL_tBTC: { readonly marketToken: "MOONWELL_tBTC"; readonly underlyingToken: "tBTC"; }; readonly MOONWELL_LBTC: { readonly marketToken: "MOONWELL_LBTC"; readonly underlyingToken: "LBTC"; }; readonly MOONWELL_VIRTUAL: { readonly marketToken: "MOONWELL_VIRTUAL"; readonly underlyingToken: "VIRTUAL"; }; readonly MOONWELL_MORPHO: { readonly marketToken: "MOONWELL_MORPHO"; readonly underlyingToken: "MORPHO"; }; readonly MOONWELL_cbXRP: { readonly marketToken: "MOONWELL_cbXRP"; readonly underlyingToken: "cbXRP"; }; readonly MOONWELL_MAMO: { readonly marketToken: "MOONWELL_MAMO"; readonly underlyingToken: "MAMO"; }; readonly MOONWELL_VVV: { readonly marketToken: "MOONWELL_VVV"; readonly underlyingToken: "VVV"; }; }, { readonly mwETH: { readonly underlyingToken: "ETH"; readonly vaultToken: "mwETH"; readonly campaignId: "0x1df9a935f6b928b4809c4fda483f16839140864b2b412cc5fea85fd5d9d00e57"; readonly version: 2; readonly v1VaultKey: "mwETHv1"; }; readonly mwETHv1: { readonly underlyingToken: "ETH"; readonly vaultToken: "mwETHv1"; readonly campaignId: "0x1df9a935f6b928b4809c4fda483f16839140864b2b412cc5fea85fd5d9d00e57"; }; readonly mwUSDC: { readonly underlyingToken: "USDC"; readonly vaultToken: "mwUSDC"; readonly campaignId: "0xec43a3d75ae25c5255eb06b3aac6b79ccb2cdb6b99740ea13553661b0f06b756"; readonly version: 2; readonly v1VaultKey: "mwUSDCv1"; }; readonly mwUSDCv1: { readonly underlyingToken: "USDC"; readonly vaultToken: "mwUSDCv1"; readonly campaignId: "0xec43a3d75ae25c5255eb06b3aac6b79ccb2cdb6b99740ea13553661b0f06b756"; }; readonly mwEURC: { readonly underlyingToken: "EURC"; readonly vaultToken: "mwEURC"; readonly campaignId: "0x03430078e052d58b6e80fa8e373c38a75736f1d24768b9c92a2e44bc4ce62b1d"; readonly version: 2; readonly v1VaultKey: "mwEURCv1"; }; readonly mwEURCv1: { readonly underlyingToken: "EURC"; readonly vaultToken: "mwEURCv1"; readonly campaignId: "0x03430078e052d58b6e80fa8e373c38a75736f1d24768b9c92a2e44bc4ce62b1d"; }; readonly mwcbBTC: { readonly underlyingToken: "cbBTC"; readonly vaultToken: "mwcbBTC"; readonly campaignId: "0xb230a09331c22280ae3e02a65caad21a553274912352d8f93c7a92c0f9bb3da4"; readonly version: 2; readonly v1VaultKey: "mwcbBTCv1"; }; readonly mwcbBTCv1: { readonly underlyingToken: "cbBTC"; readonly vaultToken: "mwcbBTCv1"; readonly campaignId: "0xb230a09331c22280ae3e02a65caad21a553274912352d8f93c7a92c0f9bb3da4"; }; readonly meUSDC: { readonly underlyingToken: "USDC"; readonly vaultToken: "meUSDC"; readonly campaignId: "0x6738320fdf80785ff7a1d45ed93a6ffa07068ce9ec4170c1887d09f32fba7b57"; readonly version: 2; readonly v1VaultKey: "meUSDCv1"; }; readonly meUSDCv1: { readonly underlyingToken: "USDC"; readonly vaultToken: "meUSDCv1"; readonly campaignId: "0x6738320fdf80785ff7a1d45ed93a6ffa07068ce9ec4170c1887d09f32fba7b57"; }; }, { readonly stakingToken: "stkWELL"; readonly wrappedNativeToken: "WETH"; readonly governanceToken: "WELL"; readonly comptroller: "0xfBb21d0380beE3312B33c4353c8936a0F13EF26C"; readonly views: "0x821Ff3a967b39bcbE8A018a9b1563EAf878bad39"; readonly multiRewardDistributor: "0xe9005b078701e2A0948D2EaC43010D35870Ad9d2"; readonly oracle: "0xEC942bE8A8114bFD0396A5052c36027f2cA6a9d0"; readonly router: "0x70778cfcFC475c7eA0f24cC625Baf6EaE475D0c9"; readonly temporalGovernor: "0x8b621804a7637b781e2BbD58e256a591F2dF7d51"; readonly voteCollector: "0xe0278B32c627FF6fFbbe7de6A18Ade145603e949"; readonly morphoBlue: "0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb"; readonly morphoBaseBundler: "0x6BFd8137e702540E7A42B74178A4a49Ba43920C4"; readonly morphoBundler: "0xb98c948CFA24072e58935BC004a8A7b376AE746A"; readonly morphoPublicAllocator: "0xA090dD1a701408Df1d4d0B85b716c87565f90467"; readonly morphoViews: "0xc72fCC9793a10b9c363EeaAcaAbe422E0672B42B"; readonly morphoViewsV2: "0x8D189997ccD6ab6909eF89836e5bcEf94599Cce0"; }, { morpho: { minimalDeployment: false; apiUrl: string; rewardsApiUrl: string; }; governance: { token: "WELL"; chainIds: never[]; }; wormhole: { chainId: number; tokenBridge: { address: "0x8d2de8d2f73F1F4cAB472AC9A881C9b123C79627"; }; }; socket: { gateway: { address: "0x3a23F943181408EAC424116Af7b7790c94Cb97a5"; }; }; xWELL: { bridgeAdapter: { address: "0x734AbBCe07679C9A6B4Fe3bC16325e028fA6DbB7"; }; }; }>; } & { [name_1 in keyof networks as Extract<name_1, "optimism">]: Environment<{ readonly USDC: { readonly address: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85"; readonly decimals: 6; readonly name: "USD Coin"; readonly symbol: "USDC"; }; readonly MOONWELL_USDC: { readonly address: "0x8E08617b0d66359D73Aa11E11017834C29155525"; readonly decimals: 8; readonly name: "Moonwell USDC"; readonly symbol: "mUSDC"; }; readonly ETH: { readonly address: "0x0000000000000000000000000000000000000000"; readonly decimals: 18; readonly name: "Ethereum"; readonly symbol: "ETH"; }; readonly WETH: { readonly address: "0x4200000000000000000000000000000000000006"; readonly decimals: 18; readonly name: "Wrapped Ethereum"; readonly symbol: "WETH"; }; readonly MOONWELL_ETH: { readonly address: "0xb4104C02BBf4E9be85AAa41a62974E4e28D59A33"; readonly decimals: 8; readonly name: "Moonwell ETH"; readonly symbol: "mWETH"; }; readonly cbETH: { readonly address: "0xadDb6A0412DE1BA0F936DCaeb8Aaa24578dcF3B2"; readonly decimals: 18; readonly name: "Coinbase Staked Ethereum"; readonly symbol: "cbETH"; }; readonly MOONWELL_cbETH: { readonly address: "0x95C84F369bd0251ca903052600A3C96838D78bA1"; readonly decimals: 8; readonly name: "Moonwell cbETH"; readonly symbol: "mcbETH"; }; readonly wstETH: { readonly address: "0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb"; readonly decimals: 18; readonly name: "Lido Staked Ethereum"; readonly symbol: "wstETH"; }; readonly MOONWELL_wstETH: { readonly address: "0xbb3b1aB66eFB43B10923b87460c0106643B83f9d"; readonly decimals: 8; readonly name: "Moonwell wstETH"; readonly symbol: "mwstETH"; }; readonly rETH: { readonly address: "0x9Bcef72be871e61ED4fBbc7630889beE758eb81D"; readonly decimals: 18; readonly name: "Rocket Pool Staked Ethereum"; readonly symbol: "rETH"; }; readonly MOONWELL_rETH: { readonly address: "0x4c2E35E3eC4A0C82849637BC04A4609Dbe53d321"; readonly decimals: 8; readonly name: "Moonwell rETH"; readonly symbol: "mrETH"; }; readonly weETH: { readonly address: "0x5A7fACB970D094B6C7FF1df0eA68D99E6e73CBFF"; readonly decimals: 18; readonly name: "EtherFi Restaked Ethereum"; readonly symbol: "weETH"; }; readonly MOONWELL_weETH: { readonly address: "0xb8051464C8c92209C92F3a4CD9C73746C4c3CFb3"; readonly decimals: 8; readonly name: "Moonwell weETH"; readonly symbol: "mweETH"; }; readonly WBTC: { readonly address: "0x68f180fcCe6836688e9084f035309E29Bf0A2095"; readonly decimals: 8; readonly name: "Wrapped Bitcoin"; readonly symbol: "WBTC"; }; readonly MOONWELL_WBTC: { readonly address: "0x6e6CA598A06E609c913551B729a228B023f06fDB"; readonly decimals: 8; readonly name: "Moonwell WBTC"; readonly symbol: "mWBTC"; }; readonly USDT: { readonly address: "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58"; readonly decimals: 6; readonly name: "Tether"; readonly symbol: "USDT"; }; readonly MOONWELL_USDT: { readonly address: "0xa3A53899EE8f9f6E963437C5B3f805FEc538BF84"; readonly decimals: 8; readonly name: "Moonwell USDT"; readonly symbol: "mUSDT"; }; readonly VELO: { readonly address: "0x9560e827af36c94d2ac33a39bce1fe78631088db"; readonly decimals: 18; readonly name: "Velodrome"; readonly symbol: "VELO"; }; readonly MOONWELL_VELO: { readonly address: "0x866b838b97Ee43F2c818B3cb5Cc77A0dc22003Fc"; readonly decimals: 8; readonly name: "Moonwell VELO"; readonly symbol: "mVELO"; }; readonly DAI: { readonly address: "0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1"; readonly decimals: 18; readonly name: "DAI"; readonly symbol: "DAI"; }; readonly MOONWELL_DAI: { readonly address: "0x3FE782C2Fe7668C2F1Eb313ACf3022a31feaD6B2"; readonly decimals: 8; readonly name: "Moonwell DAI"; readonly symbol: "mDAI"; }; readonly OP: { readonly address: "0x4200000000000000000000000000000000000042"; readonly decimals: 18; readonly name: "Optimism"; readonly symbol: "OP"; }; readonly MOONWELL_OP: { readonly address: "0x9fc345a20541Bf8773988515c5950eD69aF01847"; readonly decimals: 8; readonly name: "Moonwell OP"; readonly symbol: "mOP"; }; readonly wrsETH: { readonly address: "0x87eEE96D50Fb761AD85B1c982d28A042169d61b1"; readonly decimals: 18; readonly name: "KelpDAO Restaked Ethereum"; readonly symbol: "wrsETH"; }; readonly MOONWELL_wrsETH: { readonly address: "0x181bA797ccF779D8aB339721ED6ee827E758668e"; readonly decimals: 8; readonly name: "Moonwell wrsETH"; readonly symbol: "mwrsETH"; }; readonly WELL: { readonly address: "0xA88594D404727625A9437C3f886C7643872296AE"; readonly decimals: 18; readonly name: "WELL"; readonly symbol: "WELL"; }; readonly stkWELL: { readonly address: "0xfB26A4947A38cb53e2D083c6490060CCCE7438c5"; readonly decimals: 18; readonly name: "stkWELL"; readonly symbol: "stkWELL"; }; readonly mwUSDC: { readonly address: "0x3520e1a10038131a3c00bf2158835a75e929642d"; readonly decimals: 18; readonly name: "Moonwell Flagship USDC"; readonly symbol: "mwUSDC"; }; readonly USDT0: { readonly address: "0x01bFF41798a0BcF287b996046Ca68b395DbC1071"; readonly decimals: 6; readonly name: "USDT0"; readonly symbol: "USDT0"; }; readonly MOONWELL_USDT0: { readonly address: "0xed37cD7872c6fe4020982d35104bE7919b8f8b33"; readonly decimals: 8; readonly name: "Moonwell USDT0"; readonly symbol: "mUSDT0"; }; }, { readonly MOONWELL_USDC: { readonly marketToken: "MOONWELL_USDC"; readonly underlyingToken: "USDC"; }; readonly MOONWELL_ETH: { readonly marketToken: "MOONWELL_ETH"; readonly underlyingToken: "ETH"; }; readonly MOONWELL_cbETH: { readonly marketToken: "MOONWELL_cbETH"; readonly underlyingToken: "cbETH"; }; readonly MOONWELL_wstETH: { readonly marketToken: "MOONWELL_wstETH"; readonly underlyingToken: "wstETH"; }; readonly MOONWELL_rETH: { readonly marketToken: "MOONWELL_rETH"; readonly underlyingToken: "rETH"; }; readonly MOONWELL_weETH: { readonly marketToken: "MOONWELL_weETH"; readonly underlyingToken: "weETH"; }; readonly MOONWELL_WBTC: { readonly marketToken: "MOONWELL_WBTC"; readonly underlyingToken: "WBTC"; }; readonly MOONWELL_USDT: { readonly marketToken: "MOONWELL_USDT"; readonly underlyingToken: "USDT"; }; readonly MOONWELL_VELO: { readonly marketToken: "MOONWELL_VELO"; readonly underlyingToken: "VELO"; }; readonly MOONWELL_DAI: { readonly marketToken: "MOONWELL_DAI"; readonly underlyingToken: "DAI"; }; readonly MOONWELL_OP: { readonly marketToken: "MOONWELL_OP"; readonly underlyingToken: "OP"; }; readonly MOONWELL_wrsETH: { readonly marketToken: "MOONWELL_wrsETH"; readonly underlyingToken: "wrsETH"; }; readonly MOONWELL_USDT0: { readonly marketToken: "MOONWELL_USDT0"; readonly underlyingToken: "USDT0"; }; }, { readonly mwUSDC: { readonly underlyingToken: "USDC"; readonly vaultToken: "mwUSDC"; readonly multiReward: "0x2EED2b7d44E2cF64a41B6b3f78bE2Fdc56223d2B"; readonly campaignId: "0x3c5d019808525f25ae0edc7cfe5fdbce6896625281e47ee9a39cbaa6a5c2a1e1"; readonly deprecated: true; }; }, { readonly governanceToken: "WELL"; readonly stakingToken: "stkWELL"; readonly wrappedNativeToken: "WETH"; readonly comptroller: "0xCa889f40aae37FFf165BccF69aeF1E82b5C511B9"; readonly views: "0xD6C66868f937f00604d0FB860241970D6CC2CBfE"; readonly multiRewardDistributor: "0xF9524bfa18C19C3E605FbfE8DFd05C6e967574Aa"; readonly oracle: "0x2f1490bD6aD10C9CE42a2829afa13EAc0b746dcf"; readonly router: "0xc4Ab8C031717d7ecCCD653BE898e0f92410E11dC"; readonly temporalGovernor: "0x17C9ba3fDa7EC71CcfD75f978Ef31E21927aFF3d"; readonly voteCollector: "0x3C968481BE3ba1a99fed5f73dB2Ff51151037738"; readonly morphoBlue: "0xce95AfbB8EA029495c66020883F87aaE8864AF92"; readonly morphoBaseBundler: "0xFBCd3C258feB131D8E038F2A3a670A7bE0507C05"; readonly morphoBundler: "0x79481C87f24A3C4332442A2E9faaf675e5F141f0"; readonly morphoPublicAllocator: "0x0d68a97324E602E02799CD83B42D337207B40658"; readonly morphoViews: "0x90AA62DD4Fd10955A46f77176019d908849451F8"; }, { morpho: { minimalDeployment: true; apiUrl: string; rewardsApiUrl: string; }; governance: { token: "WELL"; chainIds: never[]; }; multiRewarder: { rewardToken: string; }[]; }>; } & { [name_2 in keyof networks as Extract<name_2, "moonbeam">]: Environment<{ readonly GLMR: { readonly address: "0x0000000000000000000000000000000000000000"; readonly decimals: 18; readonly name: "Moonbeam"; readonly symbol: "GLMR"; }; readonly WGLMR: { readonly address: "0xAcc15dC74880C9944775448304B263D191c6077F"; readonly decimals: 18; readonly name: "Wrapped GLMR"; readonly symbol: "WGLMR"; }; readonly MOONWELL_GLMR: { readonly address: "0x091608f4e4a15335145be0A279483C0f8E4c7955"; readonly decimals: 8; readonly name: "Moonwell GLMR"; readonly symbol: "mGLMR"; }; readonly xcDOT: { readonly address: "0xffffffff1fcacbd218edc0eba20fc2308c778080"; readonly decimals: 10; readonly name: "Polkadot"; readonly symbol: "xcDOT"; }; readonly MOONWELL_xcDOT: { readonly address: "0xD22Da948c0aB3A27f5570b604f3ADef5F68211C3"; readonly decimals: 8; readonly name: "Moonwell xcDOT"; readonly symbol: "mDOT"; }; readonly FRAX: { readonly address: "0x322e86852e492a7ee17f28a78c663da38fb33bfb"; readonly decimals: 18; readonly name: "Frax"; readonly symbol: "FRAX"; }; readonly MOONWELL_FRAX: { readonly address: "0x1C55649f73CDA2f72CEf3DD6C5CA3d49EFcF484C"; readonly decimals: 8; readonly name: "Moonwell FRAX"; readonly symbol: "mFRAX"; }; readonly xcUSDC: { readonly address: "0xFFfffffF7D2B0B761Af01Ca8e25242976ac0aD7D"; readonly decimals: 6; readonly name: "USD Coin"; readonly symbol: "xcUSDC"; }; readonly MOONWELL_xcUSDC: { readonly address: "0x22b1a40e3178fe7C7109eFCc247C5bB2B34ABe32"; readonly decimals: 8; readonly name: "Moonwell xcUSDC"; readonly symbol: "mxcUSDC"; }; readonly xcUSDT: { readonly address: "0xFFFFFFfFea09FB06d082fd1275CD48b191cbCD1d"; readonly decimals: 6; readonly name: "Tether"; readonly symbol: "xcUSDT"; }; readonly MOONWELL_xcUSDT: { readonly address: "0x42A96C0681B74838eC525AdbD13c37f66388f289"; readonly decimals: 8; readonly name: "Moonwell xcUSDT"; readonly symbol: "mxcUSDT"; }; readonly ETH_NOMAD: { readonly address: "0x30d2a9f5fdf90ace8c17952cbb4ee48a55d916a7"; readonly decimals: 18; readonly name: "Ethereum"; readonly symbol: "ETH.mad"; }; readonly MOONWELL_ETH_NOMAD: { readonly address: "0xc3090f41Eb54A7f18587FD6651d4D3ab477b07a4"; readonly decimals: 8; readonly name: "Moonwell ETH"; readonly symbol: "mETH"; }; readonly BTC_NOMAD: { readonly address: "0x1DC78Acda13a8BC4408B207c9E48CDBc096D95e0"; readonly decimals: 8; readonly name: "Bitcoin"; readonly symbol: "BTC.mad"; }; readonly MOONWELL_BTC_NOMAD: { readonly address: "0x24A9d8f1f350d59cB0368D3d52A77dB29c833D1D"; readonly decimals: 8; readonly name: "Moonwell BTC"; readonly symbol: "mWBTC"; }; readonly USDC_NOMAD: { readonly address: "0x8f552a71efe5eefc207bf75485b356a0b3f01ec9"; readonly decimals: 6; readonly name: "USD Coin"; readonly symbol: "USDC.mad"; }; readonly MOONWELL_USDC_NOMAD: { readonly address: "0x02e9081DfadD37A852F9a73C4d7d69e615E61334"; readonly decimals: 8; readonly name: "Moonwell USDC"; readonly symbol: "mUSDC"; }; readonly ETH_WORMHOLE: { readonly address: "0xab3f0245b83feb11d15aaffefd7ad465a59817ed"; readonly decimals: 18; readonly name: "Ethereum"; readonly symbol: "ETH.wh"; }; readonly MOONWELL_ETH_WORMHOLE: { readonly address: "0xb6c94b3A378537300387B57ab1cC0d2083f9AeaC"; readonly decimals: 8; readonly name: "Moonwell ETH"; readonly symbol: "mETH.wh"; }; readonly BTC_WORMHOLE: { readonly address: "0xe57ebd2d67b462e9926e04a8e33f01cd0d64346d"; readonly decimals: 8; readonly name: "Bitcoin"; readonly symbol: "BTC.wh"; }; readonly MOONWELL_BTC_WORMHOLE: { readonly address: "0xaaa20c5a584a9fECdFEDD71E46DA7858B774A9ce"; readonly decimals: 8; readonly name: "Moonwell BTC"; readonly symbol: "mWBTC.wh"; }; readonly USDC_WORMHOLE: { readonly address: "0x931715fee2d06333043d11f658c8ce934ac61d0c"; readonly decimals: 6; readonly name: "USD Coin"; readonly symbol: "USDC.wh"; }; readonly MOONWELL_USDC_WORMHOLE: { readonly address: "0x744b1756e7651c6D57f5311767EAFE5E931D615b"; readonly decimals: 8; readonly name: "Moonwell USDC"; readonly symbol: "mUSDC.wh"; }; readonly BUSD_WORMHOLE: { readonly address: "0x692c57641fc054c2ad6551ccc6566eba599de1ba"; readonly decimals: 18; readonly name: "BUSD Coin"; readonly symbol: "BUSD.wh"; }; readonly MOONWELL_BUSD_WORMHOLE: { readonly address: "0x298f2E346b82D69a473BF25f329BDF869e17dEc8"; readonly decimals: 8; readonly name: "Moonwell BUSD"; readonly symbol: "mBUSD.wh"; }; readonly WELL: { readonly address: "0x511aB53F793683763E5a8829738301368a2411E3"; readonly decimals: 18; readonly name: "WELL"; readonly symbol: "WELL"; }; readonly XWELL: { readonly address: "0xA88594D404727625A9437C3f886C7643872296AE"; readonly decimals: 18; readonly name: "WELL"; readonly symbol: "WELL"; }; readonly stkWELL: { readonly address: "0x8568A675384d761f36eC269D695d6Ce4423cfaB1"; readonly decimals: 18; readonly name: "stkWELL"; readonly symbol: "stkWELL"; }; }, { readonly MOONWELL_GLMR: { readonly marketToken: "MOONWELL_GLMR"; readonly underlyingToken: "GLMR"; }; readonly MOONWELL_xcDOT: { readonly marketToken: "MOONWELL_xcDOT"; readonly underlyingToken: "xcDOT"; readonly badDebt: true; }; readonly MOONWELL_FRAX: { readonly marketToken: "MOONWELL_FRAX"; readonly underlyingToken: "FRAX"; readonly badDebt: true; }; readonly MOONWELL_xcUSDC: { readonly marketToken: "MOONWELL_xcUSDC"; readonly underlyingToken: "xcUSDC"; }; readonly MOONWELL_xcUSDT: { readonly marketToken: "MOONWELL_xcUSDT"; readonly underlyingToken: "xcUSDT"; }; readonly MOONWELL_ETH_NOMAD: { readonly marketToken: "MOONWELL_ETH_NOMAD"; readonly underlyingToken: "ETH_NOMAD"; readonly deprecated: true; }; readonly MOONWELL_BTC_NOMAD: { readonly marketToken: "MOONWELL_BTC_NOMAD"; readonly underlyingToken: "BTC_NOMAD"; readonly deprecated: true; }; readonly MOONWELL_USDC_NOMAD: { readonly marketToken: "MOONWELL_USDC_NOMAD"; readonly underlyingToken: "USDC_NOMAD"; readonly deprecated: true; }; readonly MOONWELL_ETH_WORMHOLE: { readonly marketToken: "MOONWELL_ETH_WORMHOLE"; readonly underlyingToken: "ETH_WORMHOLE"; }; readonly MOONWELL_BTC_WORMHOLE: { readonly marketToken: "MOONWELL_BTC_WORMHOLE"; readonly underlyingToken: "BTC_WORMHOLE"; }; readonly MOONWELL_USDC_WORMHOLE: { readonly marketToken: "MOONWELL_USDC_WORMHOLE"; readonly underlyingToken: "USDC_WORMHOLE"; }; readonly MOONWELL_BUSD_WORMHOLE: { readonly marketToken: "MOONWELL_BUSD_WORMHOLE"; readonly underlyingToken: "BUSD_WORMHOLE"; readonly deprecated: true; }; }, unknown, { readonly governanceToken: "WELL"; readonly stakingToken: "stkWELL"; readonly wrappedNativeToken: "WGLMR"; readonly tokenSale: "0x933fCDf708481c57E9FD82f6BAA084f42e98B60e"; readonly comptroller: "0x8E00D5e02E65A19337Cdba98bbA9F84d4186a180"; readonly maximillion: "0xe5Ef9310cC7E3437bAD83466675f24FD62A380c3"; readonly views: "0xe76C8B8706faC85a8Fbdcac3C42e3E7823c73994"; readonly oracle: "0xED301cd3EB27217BDB05C4E9B820a8A3c8B665f9"; readonly governor: "0xfc4DFB17101A12C5CEc5eeDd8E92B5b16557666d"; readonly multichainGovernor: "0x9A8464C4C11CeA17e191653Deb7CdC1bE30F1Af4"; }, { governance: { token: "WELL"; chainIds: (10 | 8453)[]; proposalIdOffset: number; snapshotEnsName: string; }; wormhole: { chainId: number; tokenBridge: { address: "0xB1731c586ca89a23809861c6103F0b96B3F57D92"; }; }; socket: { gateway: { address: "0x3a23F943181408EAC424116Af7b7790c94Cb97a5"; }; }; xWELL: { bridgeAdapter: { address: "0xb84543e036054E2cD5394A9D99fa701Eef666df4"; }; }; }>; } & { [name_3 in keyof networks as Extract<name_3, "moonriver">]: Environment<{ readonly MOVR: { readonly address: "0x0000000000000000000000000000000000000000"; readonly decimals: 18; readonly name: "MOVR"; readonly symbol: "MOVR"; }; readonly WMOVR: { readonly address: "0x98878B06940aE243284CA214f92Bb71a2b032B8A"; readonly decimals: 18; readonly name: "Wrapped MOVR"; readonly symbol: "MOVR"; }; readonly MOONWELL_MOVR: { readonly address: "0x6a1A771C7826596652daDC9145fEAaE62b1cd07f"; readonly decimals: 8; readonly name: "Moonwell MOVR"; readonly symbol: "mMOVR"; }; readonly xcKSM: { readonly address: "0xffffffff1fcacbd218edc0eba20fc2308c778080"; readonly decimals: 12; readonly name: "Kusama"; readonly symbol: "xcKSM"; }; readonly MOONWELL_xcKSM: { readonly address: "0xa0D116513Bd0B8f3F14e6Ea41556c6Ec34688e0f"; readonly decimals: 8; readonly name: "Moonwell xcKSM"; readonly symbol: "mxcKSM"; }; readonly FRAX: { readonly address: "0x1A93B23281CC1CDE4C4741353F3064709A16197d"; readonly decimals: 18; readonly name: "Frax"; readonly symbol: "FRAX"; }; readonly MOONWELL_FRAX: { readonly address: "0x93Ef8B7c6171BaB1C0A51092B2c9da8dc2ba0e9D"; readonly decimals: 8; readonly name: "Moonwell FRAX"; readonly symbol: "mFRAX"; }; readonly BTC: { readonly address: "0x6aB6d61428fde76768D7b45D8BFeec19c6eF91A8"; readonly decimals: 8; readonly name: "Bitcoin"; readonly symbol: "BTC"; }; readonly MOONWELL_BTC: { readonly address: "0x6E745367F4Ad2b3da7339aee65dC85d416614D90"; readonly decimals: 8; readonly name: "Moonwell BTC"; readonly symbol: "mWBTC"; }; readonly USDC: { readonly address: "0xE3F5a90F9cb311505cd691a46596599aA1A0AD7D"; readonly decimals: 6; readonly name: "USD Coin"; readonly symbol: "USDC"; }; readonly MOONWELL_USDC: { readonly address: "0xd0670AEe3698F66e2D4dAf071EB9c690d978BFA8"; readonly decimals: 8; readonly name: "Moonwell USDC"; readonly symbol: "mUSDC"; }; readonly ETH: { readonly address: "0x639A647fbe20b6c8ac19E48E2de44ea792c62c5C"; readonly decimals: 18; readonly name: "Ethereum"; readonly symbol: "ETH"; }; readonly MOONWELL_ETH: { readonly address: "0x6503D905338e2ebB550c9eC39Ced525b612E77aE"; readonly decimals: 8; readonly name: "Moonwell ETH"; readonly symbol: "mETH"; }; readonly USDT: { readonly address: "0xB44a9B6905aF7c801311e8F4E76932ee959c663C"; readonly decimals: 6; readonly name: "Tether"; readonly symbol: "USDT"; }; readonly MOONWELL_USDT: { readonly address: "0x36918B66F9A3eC7a59d0007D8458DB17bDffBF21"; readonly decimals: 8; readonly name: "Moonwell USDT"; readonly symbol: "mUSDT"; }; readonly MFAM: { readonly address: "0xBb8d88bcD9749636BC4D2bE22aaC4Bb3B01A58F1"; readonly decimals: 18; readonly name: "MFAM"; readonly symbol: "MFAM"; }; readonly stkMFAM: { readonly address: "0xCd76e63f3AbFA864c53b4B98F57c1aA6539FDa3a"; readonly decimals: 18; readonly name: "stkMFAM"; readonly symbol: "stkMFAM"; }; }, { readonly MOONWELL_MOVR: { readonly marketToken: "MOONWELL_MOVR"; readonly underlyingToken: "MOVR"; readonly deprecated: true; }; readonly MOONWELL_xcKSM: { readonly marketToken: "MOONWELL_xcKSM"; readonly underlyingToken: "xcKSM"; readonly deprecated: true; }; readonly MOONWELL_FRAX: { readonly marketToken: "MOONWELL_FRAX"; readonly underlyingToken: "FRAX"; readonly deprecated: true; }; readonly MOONWELL_BTC: { readonly marketToken: "MOONWELL_BTC"; readonly underlyingToken: "BTC"; readonly deprecated: true; }; readonly MOONWELL_USDC: { readonly marketToken: "MOONWELL_USDC"; readonly underlyingToken: "USDC"; readonly deprecated: true; }; readonly MOONWELL_ETH: { readonly marketToken: "MOONWELL_ETH"; readonly underlyingToken: "ETH"; readonly deprecated: true; }; readonly MOONWELL_USDT: { readonly marketToken: "MOONWELL_USDT"; readonly underlyingToken: "USDT"; readonly deprecated: true; }; }, unknown, { readonly governanceToken: "MFAM"; readonly stakingToken: "stkMFAM"; readonly wrappedNativeToken: "WMOVR"; readonly comptroller: "0x0b7a0EAA884849c6Af7a129e899536dDDcA4905E"; readonly maximillion: "0x1650C0AD9483158f9e240fd58d0E173807A80CcC"; readonly views: "0x6F0cC02e5a7640B28F538fcc06bCA3BdFA57d1BB"; readonly oracle: "0x892bE716Dcf0A6199677F355f45ba8CC123BAF60"; readonly governor: "0x2BE2e230e89c59c8E20E633C524AD2De246e7370"; }, { governance: { token: "MFAM"; chainIds: never[]; snapshotEnsName: string; }; }>; } & { [name_4 in keyof networks as Extract<name_4, "ethereum">]: Environment<{ readonly ETH: { readonly address: "0x0000000000000000000000000000000000000000"; readonly decimals: 18; readonly name: "ETH"; readonly symbol: "ETH"; }; readonly USDC: { readonly address: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"; readonly decimals: 6; readonly name: "USD Coin"; readonly symbol: "USDC"; }; readonly WELL: { readonly address: "0xA88594D404727625A9437C3f886C7643872296AE"; readonly decimals: 18; readonly name: "Moonwell"; readonly symbol: "WELL"; }; readonly stkWELL: { readonly address: "0xb