web3x
Version:
Typescript port of web3.js
60 lines (57 loc) • 5.09 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 util_1 = require("util");
const address_1 = require("../address");
const utils_1 = require("../utils");
const input_block_number_formatter_1 = require("./input-block-number-formatter");
function toRawLogRequest(logRequest = {}) {
const rawLogRequest = {};
if (logRequest.fromBlock !== undefined) {
rawLogRequest.fromBlock = input_block_number_formatter_1.inputBlockNumberFormatter(logRequest.fromBlock);
}
if (logRequest.toBlock !== undefined) {
rawLogRequest.toBlock = input_block_number_formatter_1.inputBlockNumberFormatter(logRequest.toBlock);
}
// Convert topics to hex.
rawLogRequest.topics = (logRequest.topics || []).map(topic => {
const toTopic = value => {
if (value === null || typeof value === 'undefined') {
return null;
}
value = String(value);
return value.indexOf('0x') === 0 ? value : utils_1.utf8ToHex(value);
};
return util_1.isArray(topic) ? topic.map(toTopic) : toTopic(topic);
});
if (logRequest.address) {
rawLogRequest.address = util_1.isArray(logRequest.address)
? logRequest.address.map(a => a.toString().toLowerCase())
: logRequest.address.toString().toLowerCase();
}
return rawLogRequest;
}
exports.toRawLogRequest = toRawLogRequest;
function fromRawLogRequest(rawLogRequest) {
const { toBlock, fromBlock, address, topics } = rawLogRequest;
return {
toBlock: toBlock ? utils_1.hexToNumber(toBlock) : undefined,
fromBlock: fromBlock ? utils_1.hexToNumber(fromBlock) : undefined,
address: address ? (util_1.isArray(address) ? address.map(address_1.Address.fromString) : address_1.Address.fromString(address)) : undefined,
topics,
};
}
exports.fromRawLogRequest = fromRawLogRequest;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLXJlcXVlc3QtZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Zvcm1hdHRlcnMvbG9nLXJlcXVlc3QtZm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0VBZUU7O0FBRUYsK0JBQStCO0FBQy9CLHdDQUFxQztBQUVyQyxvQ0FBZ0Y7QUFDaEYsaUZBQTJFO0FBaUIzRSxTQUFnQixlQUFlLENBQUMsYUFBeUIsRUFBRTtJQUN6RCxNQUFNLGFBQWEsR0FBa0IsRUFBRSxDQUFDO0lBRXhDLElBQUksVUFBVSxDQUFDLFNBQVMsS0FBSyxTQUFTLEVBQUU7UUFDdEMsYUFBYSxDQUFDLFNBQVMsR0FBRyx3REFBeUIsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDM0U7SUFFRCxJQUFJLFVBQVUsQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFO1FBQ3BDLGFBQWEsQ0FBQyxPQUFPLEdBQUcsd0RBQXlCLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ3ZFO0lBRUQseUJBQXlCO0lBQ3pCLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUMzRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsRUFBRTtZQUN0QixJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssV0FBVyxFQUFFO2dCQUNsRCxPQUFPLElBQUksQ0FBQzthQUNiO1lBQ0QsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0QixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGlCQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUQsQ0FBQyxDQUFDO1FBQ0YsT0FBTyxjQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRTtRQUN0QixhQUFhLENBQUMsT0FBTyxHQUFHLGNBQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO1lBQ2pELENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6RCxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztLQUNqRDtJQUVELE9BQU8sYUFBYSxDQUFDO0FBQ3ZCLENBQUM7QUE5QkQsMENBOEJDO0FBRUQsU0FBZ0IsaUJBQWlCLENBQUMsYUFBNEI7SUFDNUQsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLGFBQWEsQ0FBQztJQUM5RCxPQUFPO1FBQ0wsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsbUJBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUNuRCxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxtQkFBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1FBQ3pELE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDakgsTUFBTTtLQUNQLENBQUM7QUFDSixDQUFDO0FBUkQsOENBUUMifQ==