Hash-based signatures implementation in TypeScript, featuring WOTS+ (Winternitz One-Time Signature Plus).
SPDX-License-Identifier: AGPL-3.0-or-later
Copyright (C) 2024 quip.network
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
npm install hashsigs-ts# Install dependencies
npm install# Build once
npm run build
# Watch mode during development
npm run devThe project uses Vitest for testing with the following commands:
# Run tests once
npm test
# Run tests in watch mode
npm run test:watch
# Run tests with coverage
npm run coverageThe project maintains high code coverage standards with the following minimum thresholds:
- Functions: 80%
- Branches: 80%
- Statements: 80%
To view coverage reports:
-
Run the coverage command:
npm run coverage
-
Coverage reports will be generated in multiple formats:
- Console output (summary)
- HTML report (in
./coverage/index.html) - JSON report
- LCOV report (for CI/CD integration)
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please ensure all tests pass and coverage thresholds are met before submitting a PR.