UNPKG

@celo/contractkit

Version:

Celo's ContractKit to interact with Celo network

49 lines 2.56 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.FeeCurrencyDirectoryWrapper = void 0; const AbstractFeeCurrencyWrapper_1 = require("./AbstractFeeCurrencyWrapper"); const BaseWrapper_1 = require("./BaseWrapper"); /** * FeeCurrencyDirectory contract listing available currencies usable to pay fees */ class FeeCurrencyDirectoryWrapper extends AbstractFeeCurrencyWrapper_1.AbstractFeeCurrencyWrapper { constructor() { super(...arguments); this.getCurrencies = (0, BaseWrapper_1.proxyCall)(this.contract.methods.getCurrencies, undefined, (addresses) => [...new Set(addresses)].sort()); this.getExchangeRate = (0, BaseWrapper_1.proxyCall)(this.contract.methods.getExchangeRate, undefined, (res) => ({ numerator: (0, BaseWrapper_1.valueToBigNumber)(res.numerator), denominator: (0, BaseWrapper_1.valueToBigNumber)(res.denominator), })); this.getCurrencyConfig = (0, BaseWrapper_1.proxyCall)(this.contract.methods.getCurrencyConfig, undefined, (res) => ({ oracle: res.oracle, intrinsicGas: (0, BaseWrapper_1.valueToBigNumber)(res.intrinsicGas), })); } getAddresses() { return this.getCurrencies(); } /** * Returns current configuration parameters. */ getConfig() { return __awaiter(this, void 0, void 0, function* () { const addresses = yield this.getAddresses(); const config = { intrinsicGasForAlternativeFeeCurrency: {} }; for (const address of addresses) { config.intrinsicGasForAlternativeFeeCurrency[address] = (yield this.getCurrencyConfig(address)).intrinsicGas; } return config; }); } } exports.FeeCurrencyDirectoryWrapper = FeeCurrencyDirectoryWrapper; //# sourceMappingURL=FeeCurrencyDirectoryWrapper.js.map