@mutopad/connex-framework
Version:
A library implements VeChain Connex interface
56 lines • 4.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.newFilter = void 0;
const R = require("./rules");
const MAX_LIMIT = 256;
function newFilter(readyDriver, kind, criteria) {
const filterBody = {
range: {
unit: 'block',
from: 0,
to: Math.pow(2, 32) - 1
},
options: {
offset: 0,
limit: 10
},
criteriaSet: criteria,
order: 'asc'
};
let cacheHints;
return {
range(range) {
R.test(range, {
unit: v => (v === 'block' || v === 'time') ? '' : `expected 'block' or 'time'`,
from: R.uint64,
to: R.uint64
}, 'arg0');
R.ensure(range.from <= range.to, 'arg0.from: expected <= arg0.to');
filterBody.range = Object.assign({}, range);
return this;
},
order(order) {
R.ensure(order === 'asc' || order === 'desc', `arg0: expected 'asc' or 'desc'`);
filterBody.order = order;
return this;
},
cache(hints) {
cacheHints = R.test(hints, [R.address], 'arg0').map(t => t.toLowerCase());
return this;
},
apply(offset, limit) {
R.test(offset, R.uint64, 'arg0');
R.ensure(limit >= 0 && limit <= MAX_LIMIT && Number.isInteger(limit), `arg1: expected unsigned integer <= ${MAX_LIMIT}`);
filterBody.options.offset = offset;
filterBody.options.limit = limit;
if (kind === 'transfer') {
return readyDriver.then(d => d.filterTransferLogs(filterBody, cacheHints));
}
else {
return readyDriver.then(d => d.filterEventLogs(filterBody, cacheHints));
}
}
};
}
exports.newFilter = newFilter;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBNEI7QUFFNUIsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFBO0FBRXJCLFNBQWdCLFNBQVMsQ0FDckIsV0FBbUMsRUFDbkMsSUFBTyxFQUNQLFFBQTBDO0lBRzFDLE1BQU0sVUFBVSxHQUFHO1FBQ2YsS0FBSyxFQUFFO1lBQ0gsSUFBSSxFQUFFLE9BQU87WUFDYixJQUFJLEVBQUUsQ0FBQztZQUNQLEVBQUUsRUFBRSxTQUFBLENBQUMsRUFBSSxFQUFFLENBQUEsR0FBRyxDQUFDO1NBQ2xCO1FBQ0QsT0FBTyxFQUFFO1lBQ0wsTUFBTSxFQUFFLENBQUM7WUFDVCxLQUFLLEVBQUUsRUFBRTtTQUNaO1FBQ0QsV0FBVyxFQUFFLFFBQVE7UUFDckIsS0FBSyxFQUFFLEtBQUs7S0FDZixDQUFBO0lBRUQsSUFBSSxVQUFnQyxDQUFBO0lBRXBDLE9BQU87UUFDSCxLQUFLLENBQUMsS0FBSztZQUNQLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNWLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLE9BQU8sSUFBSSxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsNEJBQTRCO2dCQUM5RSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU07Z0JBQ2QsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNO2FBQ2YsRUFBRSxNQUFNLENBQUMsQ0FBQTtZQUNWLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRSxFQUFFLGdDQUFnQyxDQUFDLENBQUE7WUFFbEUsVUFBVSxDQUFDLEtBQUsscUJBQVEsS0FBSyxDQUFFLENBQUE7WUFDL0IsT0FBTyxJQUFJLENBQUE7UUFDZixDQUFDO1FBQ0QsS0FBSyxDQUFDLEtBQUs7WUFDUCxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksS0FBSyxLQUFLLE1BQU0sRUFDeEMsZ0NBQWdDLENBQUMsQ0FBQTtZQUNyQyxVQUFVLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtZQUN4QixPQUFPLElBQUksQ0FBQTtRQUNmLENBQUM7UUFDRCxLQUFLLENBQUMsS0FBSztZQUNQLFVBQVUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtZQUN6RSxPQUFPLElBQUksQ0FBQTtRQUNmLENBQUM7UUFDRCxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUs7WUFDZixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1lBQ2hDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksU0FBUyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQ2hFLHNDQUFzQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1lBRXRELFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtZQUNsQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7WUFFaEMsSUFBSSxJQUFJLEtBQUssVUFBVSxFQUFFO2dCQUNyQixPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsVUFBaUIsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFBO2FBQ3pGO2lCQUFNO2dCQUNILE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsVUFBaUIsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFBO2FBQ3RGO1FBQ0wsQ0FBQztLQUNKLENBQUE7QUFDTCxDQUFDO0FBM0RELDhCQTJEQyJ9