UNPKG

@sentio/truffle-fetch-and-compile

Version:
48 lines 1.75 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.MultipleRecognizer = void 0; const debug_1 = __importDefault(require("debug")); const debug = (0, debug_1.default)("fetch-and-compile:multiple"); const web3_utils_1 = __importDefault(require("web3-utils")); class MultipleRecognizer { constructor(addresses) { this.addressesToSkip = new Set(); this.results = {}; this.failureLog = {}; this.unrecognizedAddresses = [ ...new Set(addresses.map(web3_utils_1.default.toChecksumAddress)) ]; //remove duplicates (checksum to make case-insensitive & canonical) and clone } getResults() { return { results: this.results, failures: this.failureLog }; } /* * Interface methods follow */ isAddressUnrecognized(address) { return this.unrecognizedAddresses.includes(address); } getAnUnrecognizedAddress() { return this.unrecognizedAddresses.find(address => !this.addressesToSkip.has(address)); } markUnrecognizable(address, reason, error) { this.failureLog[address] = { reason, error }; this.addressesToSkip.add(address); } markBadFetcher(_fetcherName) { //do nothing } addCompiledInfo(info, address) { this.results[address] = info; const index = this.unrecognizedAddresses.indexOf(address); this.unrecognizedAddresses.splice(index, 1); //delete the address from the array } } exports.MultipleRecognizer = MultipleRecognizer; //# sourceMappingURL=multiple.js.map