2021-10-31 08:10:42 +00:00
|
|
|
import { ensRenderer } from "../../components/ENSName";
|
2021-11-02 06:30:16 +00:00
|
|
|
import { plainStringRenderer } from "../../components/PlainString";
|
2021-10-31 22:51:11 +00:00
|
|
|
import { tokenRenderer } from "../../components/TokenName";
|
2021-12-03 13:04:42 +00:00
|
|
|
import { uniswapV1PairRenderer } from "../../components/UniswapV1ExchangeName";
|
2021-12-03 11:37:09 +00:00
|
|
|
import { uniswapV2PairRenderer } from "../../components/UniswapV2PairName";
|
2021-12-03 19:14:09 +00:00
|
|
|
import { uniswapV3PairRenderer } from "../../components/UniswapV3PoolName";
|
2021-10-31 08:10:42 +00:00
|
|
|
import { IAddressResolver, ResolvedAddressRenderer } from "./address-resolver";
|
2021-10-31 05:38:41 +00:00
|
|
|
import {
|
|
|
|
|
CompositeAddressResolver,
|
|
|
|
|
SelectedResolvedName,
|
|
|
|
|
} from "./CompositeAddressResolver";
|
2021-10-31 00:06:11 +00:00
|
|
|
import { ENSAddressResolver } from "./ENSAddressResolver";
|
2021-12-03 13:04:42 +00:00
|
|
|
import { UniswapV1Resolver } from "./UniswapV1Resolver";
|
2021-12-03 11:37:09 +00:00
|
|
|
import { UniswapV2Resolver } from "./UniswapV2Resolver";
|
2021-12-03 19:14:09 +00:00
|
|
|
import { UniswapV3Resolver } from "./UniswapV3Resolver";
|
2021-10-31 22:51:11 +00:00
|
|
|
import { ERCTokenResolver } from "./ERCTokenResolver";
|
2021-11-02 06:30:16 +00:00
|
|
|
import { HardcodedAddressResolver } from "./HardcodedAddressResolver";
|
2021-10-31 00:06:11 +00:00
|
|
|
|
2021-10-31 22:51:11 +00:00
|
|
|
export type ResolvedAddresses = Record<string, SelectedResolvedName<any>>;
|
2021-10-31 00:08:10 +00:00
|
|
|
|
2021-10-31 00:06:11 +00:00
|
|
|
// Create and configure the main resolver
|
2021-10-31 05:38:41 +00:00
|
|
|
export const ensResolver = new ENSAddressResolver();
|
2021-12-03 13:04:42 +00:00
|
|
|
export const uniswapV1Resolver = new UniswapV1Resolver();
|
2021-12-03 19:14:09 +00:00
|
|
|
export const uniswapV2Resolver = new UniswapV2Resolver();
|
|
|
|
|
export const uniswapV3Resolver = new UniswapV3Resolver();
|
2021-10-31 22:51:11 +00:00
|
|
|
export const ercTokenResolver = new ERCTokenResolver();
|
2021-11-02 06:30:16 +00:00
|
|
|
export const hardcodedResolver = new HardcodedAddressResolver();
|
2021-10-31 00:06:11 +00:00
|
|
|
|
2021-10-31 22:51:11 +00:00
|
|
|
const _mainResolver = new CompositeAddressResolver();
|
2021-10-31 05:38:41 +00:00
|
|
|
_mainResolver.addResolver(ensResolver);
|
2021-12-03 19:14:09 +00:00
|
|
|
_mainResolver.addResolver(uniswapV3Resolver);
|
2021-12-03 11:37:09 +00:00
|
|
|
_mainResolver.addResolver(uniswapV2Resolver);
|
2021-12-03 13:04:42 +00:00
|
|
|
_mainResolver.addResolver(uniswapV1Resolver);
|
2021-10-31 22:51:11 +00:00
|
|
|
_mainResolver.addResolver(ercTokenResolver);
|
2021-11-02 06:30:16 +00:00
|
|
|
_mainResolver.addResolver(hardcodedResolver);
|
2021-10-31 05:38:41 +00:00
|
|
|
|
2021-10-31 22:51:11 +00:00
|
|
|
export const mainResolver: IAddressResolver<SelectedResolvedName<any>> =
|
2021-10-31 05:38:41 +00:00
|
|
|
_mainResolver;
|
2021-10-31 00:06:11 +00:00
|
|
|
|
2021-10-31 08:10:42 +00:00
|
|
|
export const resolverRendererRegistry = new Map<
|
2021-10-31 22:51:11 +00:00
|
|
|
IAddressResolver<any>,
|
|
|
|
|
ResolvedAddressRenderer<any>
|
2021-10-31 08:10:42 +00:00
|
|
|
>();
|
|
|
|
|
resolverRendererRegistry.set(ensResolver, ensRenderer);
|
2021-12-03 13:04:42 +00:00
|
|
|
resolverRendererRegistry.set(uniswapV1Resolver, uniswapV1PairRenderer);
|
2021-12-03 19:14:09 +00:00
|
|
|
resolverRendererRegistry.set(uniswapV2Resolver, uniswapV2PairRenderer);
|
|
|
|
|
resolverRendererRegistry.set(uniswapV3Resolver, uniswapV3PairRenderer);
|
2021-10-31 22:51:11 +00:00
|
|
|
resolverRendererRegistry.set(ercTokenResolver, tokenRenderer);
|
2021-11-02 06:30:16 +00:00
|
|
|
resolverRendererRegistry.set(hardcodedResolver, plainStringRenderer);
|