web3x
Version:
Typescript port of web3.js
83 lines (80 loc) • 8.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 transaction_response_formatter_1 = require("./transaction-response-formatter");
function toRawBlockHeaderResponse(block) {
return {
hash: block.hash ? utils_1.bufferToHex(block.hash) : null,
parentHash: utils_1.bufferToHex(block.parentHash),
sha3Uncles: utils_1.bufferToHex(block.sha3Uncles),
miner: block.miner.toString(),
stateRoot: utils_1.bufferToHex(block.stateRoot),
transactionsRoot: utils_1.bufferToHex(block.transactionsRoot),
receiptsRoot: utils_1.bufferToHex(block.receiptsRoot),
logsBloom: block.logsBloom ? utils_1.bufferToHex(block.logsBloom) : null,
difficulty: utils_1.numberToHex(block.difficulty),
number: block.number ? utils_1.numberToHex(block.number) : null,
gasLimit: utils_1.numberToHex(block.gasLimit),
gasUsed: utils_1.numberToHex(block.gasUsed),
timestamp: utils_1.numberToHex(block.timestamp),
extraData: utils_1.bufferToHex(block.extraData),
nonce: block.nonce ? utils_1.bufferToHex(block.nonce) : null,
};
}
exports.toRawBlockHeaderResponse = toRawBlockHeaderResponse;
function toRawBlockResponse(block) {
return {
...toRawBlockHeaderResponse(block),
totalDifficulty: utils_1.numberToHex(block.totalDifficulty),
size: utils_1.numberToHex(block.size),
transactions: block.transactions.map(tx => (Buffer.isBuffer(tx) ? utils_1.bufferToHex(tx) : transaction_response_formatter_1.toRawTransactionResponse(tx))),
uncles: block.uncles,
};
}
exports.toRawBlockResponse = toRawBlockResponse;
function fromRawBlockHeaderResponse(block) {
return {
hash: block.hash ? utils_1.hexToBuffer(block.hash) : null,
parentHash: utils_1.hexToBuffer(block.parentHash),
sha3Uncles: utils_1.hexToBuffer(block.sha3Uncles),
miner: address_1.Address.fromString(block.miner),
stateRoot: utils_1.hexToBuffer(block.stateRoot),
transactionsRoot: utils_1.hexToBuffer(block.transactionsRoot),
receiptsRoot: utils_1.hexToBuffer(block.receiptsRoot),
logsBloom: block.logsBloom ? utils_1.hexToBuffer(block.logsBloom) : null,
difficulty: utils_1.hexToNumberString(block.difficulty),
number: block.number ? utils_1.hexToNumber(block.number) : null,
gasLimit: utils_1.hexToNumber(block.gasLimit),
gasUsed: utils_1.hexToNumber(block.gasUsed),
timestamp: utils_1.hexToNumber(block.timestamp),
extraData: utils_1.hexToBuffer(block.extraData),
nonce: block.nonce ? utils_1.hexToBuffer(block.nonce) : null,
};
}
exports.fromRawBlockHeaderResponse = fromRawBlockHeaderResponse;
function fromRawBlockResponse(block) {
return {
...fromRawBlockHeaderResponse(block),
totalDifficulty: utils_1.hexToNumberString(block.totalDifficulty),
size: utils_1.hexToNumber(block.size),
transactions: block.transactions.map(tx => (util_1.isString(tx) ? utils_1.hexToBuffer(tx) : transaction_response_formatter_1.fromRawTransactionResponse(tx))),
uncles: block.uncles,
};
}
exports.fromRawBlockResponse = fromRawBlockResponse;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2stcmVzcG9uc2UtZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Zvcm1hdHRlcnMvYmxvY2stcmVzcG9uc2UtZm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0VBZUU7O0FBRUYsK0JBQWdDO0FBQ2hDLHdDQUFxQztBQUNyQyxvQ0FBaUc7QUFDakcscUZBSzBDO0FBb0QxQyxTQUFnQix3QkFBd0IsQ0FBQyxLQUEwQjtJQUNqRSxPQUFPO1FBQ0wsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLG1CQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQ2pELFVBQVUsRUFBRSxtQkFBVyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFDekMsVUFBVSxFQUFFLG1CQUFXLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUN6QyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7UUFDN0IsU0FBUyxFQUFFLG1CQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUN2QyxnQkFBZ0IsRUFBRSxtQkFBVyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztRQUNyRCxZQUFZLEVBQUUsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBQzdDLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxtQkFBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtRQUNoRSxVQUFVLEVBQUUsbUJBQVcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQ3pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxtQkFBVyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSTtRQUN4RCxR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