@celo-tools/celo-ethers-wrapper
Version:
A minimal wrapper to make Ethers.JS compatible with the Celo network.
32 lines • 2.66 kB
JavaScript
import { EtherscanProvider, assertArgument, } from "ethers";
import { getNetwork } from "./networks";
export class CeloscanProvider extends EtherscanProvider {
constructor(networkish = "celo", apiKey) {
const network = 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:
}
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);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2Vsb3NjYW5Qcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvQ2Vsb3NjYW5Qcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBRWpCLGNBQWMsR0FDZixNQUFNLFFBQVEsQ0FBQztBQUNoQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXhDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxpQkFBaUI7SUFDckQsWUFBWSxhQUF5QixNQUFNLEVBQUUsTUFBZTtRQUMxRCxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdkMsS0FBSyxDQUFDLE9BQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsVUFBVTtRQUNSLFFBQVEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRTtZQUNwRCxLQUFLLE1BQU07Z0JBQ1QsT0FBTyx5QkFBeUIsQ0FBQztZQUNuQyxLQUFLLFdBQVc7Z0JBQ2QsT0FBTyxtQ0FBbUMsQ0FBQztZQUM3QyxLQUFLLFNBQVM7Z0JBQ1osMEVBQTBFO2dCQUMxRSxPQUFPLG1DQUFtQyxDQUFDO1lBQzdDLFFBQVE7U0FDVDtRQUVELGNBQWMsQ0FBQyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FDZCxPQUFlLEVBQ2YsVUFBcUIsRUFDckIsUUFBbUI7UUFFbkIsTUFBTSxNQUFNLEdBQUc7WUFDYixNQUFNLEVBQUUsUUFBUTtZQUNoQixPQUFPO1lBQ1AsVUFBVSxFQUFFLFVBQVUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVTtZQUMvQyxRQUFRLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRO1lBQ2hELElBQUksRUFBRSxLQUFLO1NBQ1osQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQztDQUNGIn0=