I'm trying to type an object with nested objects, but keep getting an error.
Object literal may only specify known properties, and '"0x63564c40"' does not exist in type 'Network'.
export interface Network {
network: {
chainId: string;
rpcUrls: string[];
chainName: string;
nativeCurrency: {
name: string;
symbol: string;
decimals: number;
};
blockExplorerUrls: string[];
iconUrls: string[];
};
}
export const networkParams: Network = {
"0x63564c40": {
chainId: "0x63564c40",
rpcUrls: ["https://api.harmony.one"],
chainName: "Harmony Mainnet",
nativeCurrency: { name: "ONE", decimals: 18, symbol: "ONE" },
blockExplorerUrls: ["https://explorer.harmony.one"],
iconUrls: ["https://harmonynews.one/wp-content/uploads/2019/11/slfdjs.png"],
},
"0xa4ec": {
chainId: "0xa4ec",
rpcUrls: ["https://forno.celo.org"],
chainName: "Celo Mainnet",
nativeCurrency: { name: "CELO", decimals: 18, symbol: "CELO" },
blockExplorerUrl: ["https://explorer.celo.org"],
iconUrls: ["https://celo.org/images/marketplace-icons/icon-celo-CELO-color-f.svg"],
},
};
Why does it say so with the first, but not the second object?
'"0xa4ec"' does not exist in type 'Network'networkParamsis supposed to implementNetwork, andNetworkdoes not have a key named0x63564c40.