@radixdlt/tx-parser
Version:
Parsing of Radix Engine transactions and instructions
41 lines • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TxSignature = void 0;
const neverthrow_1 = require("neverthrow");
const uint256_1 = require("@radixdlt/uint256");
const tokens_1 = require("./tokens");
const fromBufferReader = (bufferReader) => (0, neverthrow_1.combine)([
bufferReader.readNextBuffer(1),
bufferReader.readNextBuffer(32),
bufferReader.readNextBuffer(32),
])
.map(resList => {
const v = resList[0].readUInt8(0);
const uint256FromBuffer = (b) => {
const hex = b.toString('hex');
return new uint256_1.UInt256(hex, 16);
};
const r = uint256FromBuffer(resList[1]);
const s = uint256FromBuffer(resList[2]);
return {
v,
r,
s,
};
})
.map(partial => {
const buffer = Buffer.concat([
Buffer.from([partial.v]),
(0, tokens_1.amountToBuffer)(partial.r),
(0, tokens_1.amountToBuffer)(partial.s),
]);
return Object.assign(Object.assign({}, partial), { toBuffer: () => buffer, toString: () => `Signature: {
v: ${partial.v},
r: ${partial.r.toString(16)},
s: ${partial.s.toString(16)}
}` });
});
exports.TxSignature = {
fromBufferReader,
};
//# sourceMappingURL=txSignature.js.map