UNPKG

@mutopad/connex-framework

Version:
52 lines 4.33 kB
import * as R from './rules'; const MAX_LIMIT = 256; export 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)); } } }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssQ0FBQyxNQUFNLFNBQVMsQ0FBQTtBQUU1QixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUE7QUFFckIsTUFBTSxVQUFVLFNBQVMsQ0FDckIsV0FBbUMsRUFDbkMsSUFBTyxFQUNQLFFBQTBDO0lBRzFDLE1BQU0sVUFBVSxHQUFHO1FBQ2YsS0FBSyxFQUFFO1lBQ0gsSUFBSSxFQUFFLE9BQU87WUFDYixJQUFJLEVBQUUsQ0FBQztZQUNQLEVBQUUsRUFBRSxTQUFBLENBQUMsRUFBSSxFQUFFLENBQUEsR0FBRyxDQUFDO1NBQ2xCO1FBQ0QsT0FBTyxFQUFFO1lBQ0wsTUFBTSxFQUFFLENBQUM7WUFDVCxLQUFLLEVBQUUsRUFBRTtTQUNaO1FBQ0QsV0FBVyxFQUFFLFFBQVE7UUFDckIsS0FBSyxFQUFFLEtBQUs7S0FDZixDQUFBO0lBRUQsSUFBSSxVQUFnQyxDQUFBO0lBRXBDLE9BQU87UUFDSCxLQUFLLENBQUMsS0FBSztZQUNQLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNWLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLE9BQU8sSUFBSSxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsNEJBQTRCO2dCQUM5RSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU07Z0JBQ2QsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNO2FBQ2YsRUFBRSxNQUFNLENBQUMsQ0FBQTtZQUNWLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRSxFQUFFLGdDQUFnQyxDQUFDLENBQUE7WUFFbEUsVUFBVSxDQUFDLEtBQUsscUJBQVEsS0FBSyxDQUFFLENBQUE7WUFDL0IsT0FBTyxJQUFJLENBQUE7UUFDZixDQUFDO1FBQ0QsS0FBSyxDQUFDLEtBQUs7WUFDUCxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksS0FBSyxLQUFLLE1BQU0sRUFDeEMsZ0NBQWdDLENBQUMsQ0FBQTtZQUNyQyxVQUFVLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtZQUN4QixPQUFPLElBQUksQ0FBQTtRQUNmLENBQUM7UUFDRCxLQUFLLENBQUMsS0FBSztZQUNQLFVBQVUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtZQUN6RSxPQUFPLElBQUksQ0FBQTtRQUNmLENBQUM7UUFDRCxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUs7WUFDZixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1lBQ2hDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksU0FBUyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQ2hFLHNDQUFzQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1lBRXRELFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtZQUNsQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7WUFFaEMsSUFBSSxJQUFJLEtBQUssVUFBVSxFQUFFO2dCQUNyQixPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsVUFBaUIsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFBO2FBQ3pGO2lCQUFNO2dCQUNILE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsVUFBaUIsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFBO2FBQ3RGO1FBQ0wsQ0FBQztLQUNKLENBQUE7QUFDTCxDQUFDIn0=