UNPKG

simonflex-framework

Version:

A library implements Meter Flex interface

74 lines 5.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const account_visitor_1 = require("./account-visitor"); const staking_visitor_1 = require("./staking-visitor"); const auction_visitor_1 = require("./auction-visitor"); const block_visitor_1 = require("./block-visitor"); const tx_visitor_1 = require("./tx-visitor"); const filter_1 = require("./filter"); const head_tracker_1 = require("./head-tracker"); const explainer_1 = require("./explainer"); const R = require("./rules"); function newMeter(driver) { const headTracker = head_tracker_1.newHeadTracker(driver); const ctx = { driver, get trackedHead() { return headTracker.head; }, }; const genesis = JSON.parse(JSON.stringify(driver.genesis)); return { get genesis() { return genesis; }, get status() { return { head: headTracker.head, progress: headTracker.progress, }; }, ticker: () => headTracker.ticker(), account: (addr) => { addr = R.test(addr, R.address, 'arg0').toLowerCase(); return account_visitor_1.newAccountVisitor(ctx, addr); }, block: (revision) => { if (typeof revision === 'undefined') { revision = ctx.trackedHead.id; } else { R.ensure(typeof revision === 'string' ? R.isHexBytes(revision, 32) : R.isUInt(revision, 32), 'arg0: expected bytes32 or unsigned 32-bit integer'); } return block_visitor_1.newBlockVisitor(ctx, typeof revision === 'string' ? revision.toLowerCase() : revision); }, transaction: (id) => { id = R.test(id, R.bytes32, 'arg0').toLowerCase(); return tx_visitor_1.newTxVisitor(ctx, id); }, filter: (kind) => { R.ensure(kind === 'event' || kind === 'transfer', `arg0: expected 'event' or 'transfer'`); return filter_1.newFilter(ctx, kind); }, explain: () => explainer_1.newExplainer(ctx), candidates: () => { return staking_visitor_1.newStakingVisitor(ctx).getCandidates(); }, buckets: () => { return staking_visitor_1.newStakingVisitor(ctx).getBuckets(); }, stakeholders: () => { return staking_visitor_1.newStakingVisitor(ctx).getStakeholders(); }, auction: () => { return auction_visitor_1.newAuctionVisitor(ctx).get(); }, auctionSummaries: () => { return auction_visitor_1.newAuctionVisitor(ctx).getSummaries(); }, }; } exports.newMeter = newMeter; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZnJhbWV3b3JrL21ldGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsdURBQXNEO0FBQ3RELHVEQUFzRDtBQUN0RCx1REFBc0Q7QUFDdEQsbURBQWtEO0FBQ2xELDZDQUE0QztBQUM1QyxxQ0FBcUM7QUFDckMsaURBQWdEO0FBQ2hELDJDQUEyQztBQUMzQyw2QkFBNkI7QUFFN0IsU0FBZ0IsUUFBUSxDQUFDLE1BQW1CO0lBQzFDLE1BQU0sV0FBVyxHQUFHLDZCQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFM0MsTUFBTSxHQUFHLEdBQVk7UUFDbkIsTUFBTTtRQUNOLElBQUksV0FBVztZQUNiLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQztRQUMxQixDQUFDO0tBQ0YsQ0FBQztJQUVGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMzRCxPQUFPO1FBQ0wsSUFBSSxPQUFPO1lBQ1QsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztRQUNELElBQUksTUFBTTtZQUNSLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJO2dCQUN0QixRQUFRLEVBQUUsV0FBVyxDQUFDLFFBQVE7YUFDL0IsQ0FBQztRQUNKLENBQUM7UUFDRCxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRTtRQUNsQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNoQixJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyRCxPQUFPLG1DQUFpQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDbEIsSUFBSSxPQUFPLFFBQVEsS0FBSyxXQUFXLEVBQUU7Z0JBQ25DLFFBQVEsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQzthQUMvQjtpQkFBTTtnQkFDTCxDQUFDLENBQUMsTUFBTSxDQUNOLE9BQU8sUUFBUSxLQUFLLFFBQVE7b0JBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7b0JBQzVCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsRUFDMUIsbURBQW1ELENBQ3BELENBQUM7YUFDSDtZQUNELE9BQU8sK0JBQWUsQ0FDcEIsR0FBRyxFQUNILE9BQU8sUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQ2pFLENBQUM7UUFDSixDQUFDO1FBQ0QsV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUU7WUFDbEIsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakQsT0FBTyx5QkFBWSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBQ0QsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDZixDQUFDLENBQUMsTUFBTSxDQUNOLElBQUksS0FBSyxPQUFPLElBQUksSUFBSSxLQUFLLFVBQVUsRUFDdkMsc0NBQXNDLENBQ3ZDLENBQUM7WUFDRixPQUFPLGtCQUFTLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlCLENBQUM7UUFDRCxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsd0JBQVksQ0FBQyxHQUFHLENBQUM7UUFDaEMsVUFBVSxFQUFFLEdBQUcsRUFBRTtZQUNmLE9BQU8sbUNBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDaEQsQ0FBQztRQUNELE9BQU8sRUFBRSxHQUFHLEVBQUU7WUFDWixPQUFPLG1DQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzdDLENBQUM7UUFDRCxZQUFZLEVBQUUsR0FBRyxFQUFFO1lBQ2pCLE9BQU8sbUNBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDbEQsQ0FBQztRQUNELE9BQU8sRUFBRSxHQUFHLEVBQUU7WUFDWixPQUFPLG1DQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3RDLENBQUM7UUFDRCxnQkFBZ0IsRUFBRSxHQUFHLEVBQUU7WUFDckIsT0FBTyxtQ0FBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMvQyxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUF0RUQsNEJBc0VDIn0=