web3x
Version:
Typescript port of web3.js
45 lines (42 loc) • 3.28 kB
JavaScript
;
/*
This file is part of web3x.
web3x is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
web3x is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with web3x. If not, see <http://www.gnu.org/licenses/>.
*/
Object.defineProperty(exports, "__esModule", { value: true });
const formatters_1 = require("../../formatters");
const subscriptions_1 = require("../../subscriptions");
function subscribeForLogs(eth, logRequest = {}) {
const { fromBlock, ...subscriptionLogRequest } = logRequest;
const params = [formatters_1.toRawLogRequest(subscriptionLogRequest)];
const subscription = new subscriptions_1.Subscription('eth', 'logs', params, eth.provider, (result, sub) => {
const output = formatters_1.fromRawLogResponse(result);
sub.emit(output.removed ? 'changed' : 'data', output, sub);
}, false);
if (fromBlock !== undefined) {
eth
.getPastLogs(logRequest)
.then(logs => {
logs.forEach(log => subscription.emit('data', log, subscription));
subscription.subscribe();
})
.catch(err => {
subscription.emit('error', err, subscription);
});
}
else {
subscription.subscribe();
}
return subscription;
}
exports.subscribeForLogs = subscribeForLogs;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ldGgvc3Vic2NyaXB0aW9ucy9sb2dzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0VBZUU7O0FBR0YsaURBQWdIO0FBQ2hILHVEQUFtRDtBQUVuRCxTQUFnQixnQkFBZ0IsQ0FBQyxHQUFRLEVBQUUsYUFBeUIsRUFBRTtJQUNwRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsc0JBQXNCLEVBQUUsR0FBRyxVQUFVLENBQUM7SUFDNUQsTUFBTSxNQUFNLEdBQUcsQ0FBQyw0QkFBZSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQztJQUV6RCxNQUFNLFlBQVksR0FBRyxJQUFJLDRCQUFZLENBQ25DLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLEdBQUcsQ0FBQyxRQUFRLEVBQ1osQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDZCxNQUFNLE1BQU0sR0FBRywrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3RCxDQUFDLEVBQ0QsS0FBSyxDQUNOLENBQUM7SUFFRixJQUFJLFNBQVMsS0FBSyxTQUFTLEVBQUU7UUFDM0IsR0FBRzthQUNBLFdBQVcsQ0FBQyxVQUFVLENBQUM7YUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO1lBQ2xFLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDWCxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7S0FDTjtTQUFNO1FBQ0wsWUFBWSxDQUFDLFNBQVMsRUFBRSxDQUFDO0tBQzFCO0lBRUQsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQztBQS9CRCw0Q0ErQkMifQ==