mineracks-ckbunker-hsm-sign/pyproject.toml
mineracks 9d380f5013 Initial import: CKBunker HSM validation harness
WebSocket client + CLI harness + pytest suite that exercises each axis of
a CKBunker + Coldcard Mk4 policy and asserts the expected outcomes, including
the critical negative test that a large PSBT without TOTP is rejected with
a specific 'rule #1: need user(s) confirmation' reason.

Configuration via .env / YAML / CLI flags, two pre-crafted test PSBTs as
fixtures (generation guide in fixtures/README.md), dashboard counter
scraper as sanity check, design rationale in docs/.
2026-04-14 10:50:04 +10:00

49 lines
1.3 KiB
TOML

[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "ckbunker-hsm-sign"
version = "1.0.0"
description = "Production validation test harness for CKBunker + Coldcard Mk4 HSM deployments"
readme = "README.md"
requires-python = ">=3.10"
license = { text = "MIT" }
authors = [
{ name = "Mineracks" },
]
keywords = ["bitcoin", "hsm", "coldcard", "ckbunker", "signing", "testing"]
classifiers = [
"Development Status :: 4 - Beta",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Security :: Cryptography",
"Topic :: Software Development :: Testing",
]
dependencies = [
"websockets>=12.0",
"pyotp>=2.9.0",
"requests>=2.31.0",
"PyYAML>=6.0",
]
[project.optional-dependencies]
test = ["pytest>=8.0.0", "pytest-asyncio>=0.23.0"]
[project.scripts]
hsm-validate = "ckbunker_hsm_sign.cli:main"
[project.urls]
Source = "https://git.mineracks.com/mineracks/mineracks-ckbunker-hsm-sign"
[tool.setuptools]
packages = ["ckbunker_hsm_sign"]
py-modules = ["hsm_validate"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]