UNPKG

simonzgconnexframework

Version:

A library implements VeChain Connex interface

51 lines 4.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const account_visitor_1 = require("./account-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 newThor(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) }; } exports.newThor = newThor; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mcmFtZXdvcmsvdGhvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHVEQUFxRDtBQUNyRCxtREFBaUQ7QUFDakQsNkNBQTJDO0FBQzNDLHFDQUFvQztBQUNwQyxpREFBK0M7QUFDL0MsMkNBQTBDO0FBQzFDLDZCQUE0QjtBQUU1QixTQUFnQixPQUFPLENBQUMsTUFBcUI7SUFDekMsTUFBTSxXQUFXLEdBQUcsNkJBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUUxQyxNQUFNLEdBQUcsR0FBWTtRQUNqQixNQUFNO1FBQ04sSUFBSSxXQUFXLEtBQUssT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFBLENBQUMsQ0FBQztLQUNoRCxDQUFBO0lBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO0lBQzFELE9BQU87UUFDSCxJQUFJLE9BQU8sS0FBSyxPQUFPLE9BQU8sQ0FBQSxDQUFDLENBQUM7UUFDaEMsSUFBSSxNQUFNO1lBQ04sT0FBTztnQkFDSCxJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUk7Z0JBQ3RCLFFBQVEsRUFBRSxXQUFXLENBQUMsUUFBUTthQUNqQyxDQUFBO1FBQ0wsQ0FBQztRQUNELE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFO1FBQ2xDLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNaLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFBO1lBQ3BELE9BQU8sbUNBQWlCLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQ3ZDLENBQUM7UUFDRCxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUU7WUFDZCxJQUFJLE9BQU8sUUFBUSxLQUFLLFdBQVcsRUFBRTtnQkFDakMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFBO2FBQ2hDO2lCQUFNO2dCQUNILENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLEVBQ3ZGLG1EQUFtRCxDQUFDLENBQUE7YUFDM0Q7WUFDRCxPQUFPLCtCQUFlLENBQUMsR0FBRyxFQUFFLE9BQU8sUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNqRyxDQUFDO1FBQ0QsV0FBVyxFQUFFLEVBQUUsQ0FBQyxFQUFFO1lBQ2QsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUE7WUFDaEQsT0FBTyx5QkFBWSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUNoQyxDQUFDO1FBQ0QsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssT0FBTyxJQUFJLElBQUksS0FBSyxVQUFVLEVBQzVDLHNDQUFzQyxDQUFDLENBQUE7WUFDM0MsT0FBTyxrQkFBUyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUMvQixDQUFDO1FBQ0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLHdCQUFZLENBQUMsR0FBRyxDQUFDO0tBQ25DLENBQUE7QUFDTCxDQUFDO0FBMUNELDBCQTBDQyJ9