23 lines
622 B
TypeScript
23 lines
622 B
TypeScript
|
import { BaseProvider } from "@ethersproject/providers";
|
||
|
import { IAddressResolver } from "./address-resolver";
|
||
|
|
||
|
type HardcodedAddressMap = Record<string, string | undefined>;
|
||
|
|
||
|
export class HardcodedAddressResolver implements IAddressResolver<string> {
|
||
|
async resolveAddress(
|
||
|
provider: BaseProvider,
|
||
|
address: string
|
||
|
): Promise<string | undefined> {
|
||
|
try {
|
||
|
const addressMap: HardcodedAddressMap = await import(
|
||
|
`./hardcoded-addresses/${provider.network.chainId}.json`
|
||
|
);
|
||
|
|
||
|
return addressMap[address];
|
||
|
} catch (err) {
|
||
|
// Ignore on purpose
|
||
|
return undefined;
|
||
|
}
|
||
|
}
|
||
|
}
|