@celo-tools/celo-ethers-wrapper
Version:
A minimal wrapper to make Ethers.JS compatible with the Celo network.
36 lines • 2.76 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CeloscanProvider = void 0;
const ethers_1 = require("ethers");
const networks_1 = require("./networks");
class CeloscanProvider extends ethers_1.EtherscanProvider {
constructor(networkish = "celo", apiKey) {
const network = (0, networks_1.getNetwork)(networkish);
super(network, apiKey);
}
getBaseUrl() {
switch (this.network ? this.network.name : "invalid") {
case "celo":
return "https://api.celoscan.io";
case "alfajores":
return "https://api-alfajores.celoscan.io";
case "baklava":
// baklava is currently not supported by celoscan.io, so we use Blockscout
return "https://explorer.celo.org/baklava";
default:
}
(0, ethers_1.assertArgument)(false, "unsupported network", "network", this.network);
}
async getHistory(address, startBlock, endBlock) {
const params = {
action: "txlist",
address,
startblock: startBlock == null ? 0 : startBlock,
endblock: endBlock == null ? 99999999 : endBlock,
sort: "asc",
};
return this.fetch("account", params);
}
}
exports.CeloscanProvider = CeloscanProvider;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2Vsb3NjYW5Qcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvQ2Vsb3NjYW5Qcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FLZ0I7QUFDaEIseUNBQXdDO0FBRXhDLE1BQWEsZ0JBQWlCLFNBQVEsMEJBQWlCO0lBQ3JELFlBQVksYUFBeUIsTUFBTSxFQUFFLE1BQWU7UUFDMUQsTUFBTSxPQUFPLEdBQUcsSUFBQSxxQkFBVSxFQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZDLEtBQUssQ0FBQyxPQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELFVBQVU7UUFDUixRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUU7WUFDcEQsS0FBSyxNQUFNO2dCQUNULE9BQU8seUJBQXlCLENBQUM7WUFDbkMsS0FBSyxXQUFXO2dCQUNkLE9BQU8sbUNBQW1DLENBQUM7WUFDN0MsS0FBSyxTQUFTO2dCQUNaLDBFQUEwRTtnQkFDMUUsT0FBTyxtQ0FBbUMsQ0FBQztZQUM3QyxRQUFRO1NBQ1Q7UUFFRCxJQUFBLHVCQUFjLEVBQUMsS0FBSyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQ2QsT0FBZSxFQUNmLFVBQXFCLEVBQ3JCLFFBQW1CO1FBRW5CLE1BQU0sTUFBTSxHQUFHO1lBQ2IsTUFBTSxFQUFFLFFBQVE7WUFDaEIsT0FBTztZQUNQLFVBQVUsRUFBRSxVQUFVLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVU7WUFDL0MsUUFBUSxFQUFFLFFBQVEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUTtZQUNoRCxJQUFJLEVBQUUsS0FBSztTQUNaLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDRjtBQXBDRCw0Q0FvQ0MifQ==