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/.
49 lines
1.3 KiB
TOML
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"]
|