MCPcopy Index your code
hub / github.com/QuipNetwork/hashsigs-ts

github.com/QuipNetwork/hashsigs-ts @main sqlite

repository ↗ · DeepWiki ↗
19 symbols 51 edges 5 files 0 documented · 0%
README

hashsigs-ts

Hash-based signatures implementation in TypeScript, featuring WOTS+ (Winternitz One-Time Signature Plus).

License

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.

Installation

npm install hashsigs-ts

Development

Setup

# Install dependencies
npm install

Building

# Build once
npm run build

# Watch mode during development
npm run dev

Testing

The 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 coverage

Code Coverage

The project maintains high code coverage standards with the following minimum thresholds: - Functions: 80% - Branches: 80% - Statements: 80%

To view coverage reports:

  1. Run the coverage command: bash npm run coverage

  2. Coverage reports will be generated in multiple formats:

  3. Console output (summary)
  4. HTML report (in ./coverage/index.html)
  5. JSON report
  6. LCOV report (for CI/CD integration)

Repository

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please ensure all tests pass and coverage thresholds are met before submitting a PR.

Extension points exported contracts — how you extend this code

HashFunction (Interface)
(no doc)
src/wotsplus.ts

Core symbols most depended-on inside this repo

hash
called by 7
src/wotsplus.ts
generateKeyPair
called by 6
src/wotsplus.ts
generateRandomizationElements
called by 5
src/wotsplus.ts
sign
called by 4
src/wotsplus.ts
verify
called by 4
src/wotsplus.ts
verifyWithRandomizationElements
called by 4
src/wotsplus.ts
prf
called by 3
src/wotsplus.ts
chain
called by 3
src/wotsplus.ts

Shape

Method 14
Class 2
Function 2
Interface 1

Languages

TypeScript100%

Modules by API surface

src/wotsplus.ts17 symbols
src/wotsplus.test.ts2 symbols

Dependencies from manifests, versioned

@noble/hashes1.7.1 · 1×
@types/node22.13.14 · 1×
@vitest/coverage-v83.0.9 · 1×
tsup8.4.0 · 1×
typescript5.8.2 · 1×
vitest3.0.9 · 1×

For agents

$ claude mcp add hashsigs-ts \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact