"use strict"; /** * There are many awesome community services that provide Ethereum * nodes both for developers just starting out and for large-scale * communities. * * @_section: api/providers/thirdparty: Community Providers [thirdparty] */ Object.defineProperty(exports, "__esModule", { value: true }); exports.showThrottleMessage = void 0; // Show the throttle message only once per service const shown = new Set(); /** * Displays a warning in tht console when the community resource is * being used too heavily by the app, recommending the developer * acquire their own credentials instead of using the community * credentials. * * The notification will only occur once per service. */ function showThrottleMessage(service) { if (shown.has(service)) { return; } shown.add(service); console.log("========= NOTICE ========="); console.log(`Request-Rate Exceeded for ${service} (this message will not be repeated)`); console.log(""); console.log("The default API keys for each service are provided as a highly-throttled,"); console.log("community resource for low-traffic projects and early prototyping."); console.log(""); console.log("While your application will continue to function, we highly recommended"); console.log("signing up for your own API keys to improve performance, increase your"); console.log("request rate/limit and enable other perks, such as metrics and advanced APIs."); console.log(""); console.log("For more details: https:/\/docs.ethers.org/api-keys/"); console.log("=========================="); } exports.showThrottleMessage = showThrottleMessage; //# sourceMappingURL=community.js.map