@ethers-ancillary/bsc
Version:
An ethers-compatible provider for BSC using the bscscan.com third-party service.
56 lines • 2.49 kB
JavaScript
;
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
exports.__esModule = true;
exports.BscscanProvider = void 0;
var ethers_1 = require("ethers");
var networks_1 = require("./networks");
var _version_1 = require("./_version");
var logger = new ethers_1.ethers.utils.Logger(_version_1.version);
var defaultApiKey = "EVTS3CU31AATZV72YQ55TPGXGMVIFUQ9M9";
var BscscanProvider = /** @class */ (function (_super) {
__extends(BscscanProvider, _super);
function BscscanProvider(network, apiKey) {
var _this = this;
var standardNetwork = networks_1.getNetwork((network == null) ? "bsc-mainnet" : network);
switch ((standardNetwork || {}).name) {
case "bsc-mainnet":
case "bsc-testnet":
break;
default:
logger.throwError("unsupported network", ethers_1.ethers.utils.Logger.errors.UNSUPPORTED_OPERATION, {
network: network
});
}
_this = _super.call(this, standardNetwork, apiKey || defaultApiKey) || this;
return _this;
}
BscscanProvider.prototype.getBaseUrl = function () {
switch (this.network ? this.network.name : "invalid") {
case "bsc-mainnet":
return "https:/\/api.bscscan.com";
case "bsc-testnet":
return "https:/\/api-testnet.bscscan.com";
}
return logger.throwArgumentError("unsupported network", "network", this.network);
};
BscscanProvider.prototype.isCommunityResource = function () {
return (this.apiKey === defaultApiKey);
};
return BscscanProvider;
}(ethers_1.ethers.providers.EtherscanProvider));
exports.BscscanProvider = BscscanProvider;
//# sourceMappingURL=bscscan-provider.js.map