UNPKG

@sotatech/nest-quickfix

Version:

A powerful NestJS implementation of the FIX (Financial Information eXchange) protocol. Provides high-performance, reliable messaging for financial trading applications with built-in session management, message validation, and recovery mechanisms.

28 lines 1.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ChecksumValidator = void 0; const fields_1 = require("../../fields"); class ChecksumValidator { static validate(message) { const checksum = message.getField(fields_1.Fields.CheckSum); const calculatedChecksum = this.calculateChecksum(message); return checksum === calculatedChecksum; } static calculateChecksum(message) { let messageString = ''; message.getAllFields().forEach((value, field) => { if (field !== fields_1.Fields.CheckSum) { messageString += `${field}=${value}${this.SOH}`; } }); let sum = 0; for (let i = 0; i < messageString.length; i++) { sum += messageString.charCodeAt(i); } sum = sum % 256; return sum.toString().padStart(3, '0'); } } exports.ChecksumValidator = ChecksumValidator; ChecksumValidator.SOH = '\x01'; //# sourceMappingURL=checksum.validator.js.map