Commit graph

42 commits

Author SHA1 Message Date
Claude
cc99c92c42
docs: HF5 confidential assets implementation plan
Some checks failed
Security Scan / security (push) Successful in 8s
Test / Test (push) Failing after 20s
Co-Authored-By: Charon <charon@lethean.io>
2026-03-16 20:25:56 +00:00
Claude
6eabe2a64d
docs: HF6 block time halving implementation plan
Co-Authored-By: Charon <charon@lethean.io>
2026-03-16 20:21:34 +00:00
Claude
023f4b813c
docs: HF3 block version implementation plan
Co-Authored-By: Charon <charon@lethean.io>
2026-03-16 20:20:56 +00:00
Claude
5a53c719de
docs: HF5 confidential assets + HF6 block time halving design specs
Some checks failed
Security Scan / security (push) Successful in 10s
Test / Test (push) Failing after 20s
HF5: Asset descriptor types, wire parsing for tag 40 + proof tags,
consensus validation for asset operations, pre-hardfork freeze.
Minimum viable approach: wire parsing first, deep validation later.

HF6: Block time target switch from 120s to 240s. ~10 lines.
Flagged potential bug: current code gates on HF2 not HF6.

Co-Authored-By: Charon <charon@lethean.io>
2026-03-16 20:09:56 +00:00
Claude
c7c169dd67
docs: HF1 transaction types implementation plan
Co-Authored-By: Charon <charon@lethean.io>
2026-03-16 20:09:03 +00:00
Claude
ef232fcb80
docs: HF3 block version 2 design spec
Block major version validation covering all hardfork transitions.
Single expectedBlockMajorVersion function handles HF0→HF4.

Co-Authored-By: Charon <charon@lethean.io>
2026-03-16 20:05:55 +00:00
Claude
a71976f259
docs: address spec review — 12 issues fixed
Fix gaps from spec review: sumInputs/checkKeyImages/verifyV1Signatures
for HTLC inputs, complete call-site list for TxOutTarget refactor,
both v1+v2 decoders, function signature changes, block version check
placement, HTLCOrigin naming clarification.

Co-Authored-By: Charon <charon@lethean.io>
2026-03-16 20:02:02 +00:00
Claude
57b8bbce2d
docs: HF1 transaction types design spec
Add design for HTLC and multisig transaction type support needed for
hardfork 1 activation at block 10,080. Covers types, wire, and consensus
changes with TxOutTarget interface refactor.

Co-Authored-By: Charon <charon@lethean.io>
2026-03-16 19:59:16 +00:00
Snider
98d308c831 docs: remove completed plan files
Some checks failed
Security Scan / security (push) Successful in 9s
Test / Test (push) Failing after 25s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-14 08:20:11 +00:00
Snider
f7cd812263 docs: add human-friendly documentation
Some checks failed
Security Scan / security (push) Successful in 7s
Test / Test (push) Failing after 18s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 13:02:39 +00:00
Claude
d8eb6c5478
docs: archive completed plans, expand history for TUI and difficulty
Some checks failed
Security Scan / security (push) Successful in 9s
Test / Test (push) Failing after 30s
Move all 21 plan files to docs/plans/completed/ — every phase (0-9) is
implemented. Expand history.md with full writeups for the Difficulty
Computation, V2+ Zarcanum Consensus, and TUI Dashboard sections that
were previously just bullet points.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 13:47:35 +00:00
Claude
cd8ed3d502
docs: add TUI dashboard to architecture and history
Co-Authored-By: Charon <charon@lethean.io>
2026-02-23 00:06:28 +00:00
Claude
1cc956631e
docs: add blockchain TUI dashboard design
Standalone TUI in go-blockchain using core/cli Frame (bubbletea).
Day-one scope: chain sync status header + block explorer content.
Model library pattern (tui/) with thin cmd/chain/ wiring.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 23:34:12 +00:00
Claude
5b3e274aaa
docs: add difficulty computation design and plan
Local difficulty computation for P2P sync — replaces hardcoded
difficulty=0 with LWMA-based calculation from stored block history.

Co-Authored-By: Charon <charon@lethean.io>
2026-02-21 21:58:04 +00:00
Claude
1cfe74fe9b
docs: update architecture and history for block sync
Document NLSAG verification, P2P sync protocol, and shared block
processing.

Co-Authored-By: Charon <charon@lethean.io>
2026-02-21 21:34:55 +00:00
Claude
ca3d8e04d1
docs: add block sync design and implementation plan
Three-part design: NLSAG signature verification, full RPC sync to tip,
and P2P block sync via REQUEST_CHAIN / REQUEST_GET_OBJECTS. 13-task
implementation plan with TDD steps.

Co-Authored-By: Charon <charon@lethean.io>
2026-02-21 20:21:14 +00:00
Claude
8335b11a85
feat(wire): v2+ transaction serialisation with real testnet verification
Fix three bugs in the v2+ wire format and add complete variant tag handlers
for Zarcanum proof and signature structures. Verified byte-identical
round-trip against a real post-HF4 coinbase transaction from testnet block
101 (1323 bytes, tx hash 543bc3c2...3b61e0).

Bugs fixed:
- V2 suffix order was attachment+proofs, corrected to attachment+signatures+proofs
- TransactionHash was hashing full blob, corrected to prefix-only (matching C++)
- tagSignedParts was reading 4 fixed bytes, corrected to two varints

New: TxInputZC type, SignaturesRaw field, tagZarcanumTxDataV1 handler,
proof tags 46-48, signature tags 42-45, crypto blob readers for BPP/BPPE/
BGE/CLSAG GGX/GGXXG/aggregation proof/double Schnorr structures.

Co-Authored-By: Charon <charon@lethean.io>
2026-02-21 19:09:34 +00:00
Claude
dd04cc9dee
feat(crypto): wire BPP/BPPE/BGE proof verification with real testnet data
Add cn_bpp_verify for Bulletproofs++ (1 delta, bpp_crypto_trait_ZC_out)
used by zc_outs_range_proof in post-HF4 transactions. Distinguish from
cn_bppe_verify (2 deltas, bpp_crypto_trait_Zarcanum) used for Zarcanum
PoS proofs.

Key changes:
- Add deserialise_bpp() and cn_bpp_verify() to bridge.cpp
- Add VerifyBPP() Go wrapper in proof.go
- Wire BPPE and BGE stubs into real C++ verify functions
- Add try/catch to all proof verifiers (C++ throws on invalid points)
- Add nil/empty input guards to all Go proof functions
- Test with real BPP proof from testnet block 101 coinbase tx

The BPP proof from tx 543bc3c2... (first post-HF4 coinbase) verifies
successfully through the full CGo pipeline, confirming wire format
deserialisation matches the C++ daemon output.

Co-Authored-By: Charon <charon@lethean.io>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 18:37:08 +00:00
Claude
cef9a34bea
docs: Phase 8 mining complete
Co-Authored-By: Charon <charon@lethean.io>
2026-02-21 02:21:36 +00:00
Claude
5624d33de4
docs: Phase 8 mining implementation plan
10 tasks: RPC addition, header hash, miner struct, mining loop,
submission tests, error handling, integration test, docs.

Co-Authored-By: Charon <charon@lethean.io>
2026-02-21 01:56:36 +00:00
Claude
d41be2d12e
docs: Phase 8 mining design
Solo PoW miner against C++ daemon via JSON-RPC. Single-threaded
RandomX nonce grinding with daemon-provided block templates.

Co-Authored-By: Charon <charon@lethean.io>
2026-02-21 01:53:12 +00:00
Claude
153fc6a3e0
docs: Phase 7 consensus rules complete
Add integration test, update architecture docs with consensus/ package
description, record Phase 7 in project history.

Co-Authored-By: Charon <charon@lethean.io>
2026-02-21 01:14:41 +00:00
Claude
bd8a42562a
docs: Phase 7 consensus rules implementation plan
13-task TDD plan covering block reward, fee extraction, transaction
semantic validation, block validation, PoW verification, signature
verification, and chain sync integration.

Co-Authored-By: Charon <charon@lethean.io>
2026-02-21 00:35:03 +00:00
Claude
eb039fea38
docs: Phase 7 consensus rules design
Layered validation architecture (structural, economic, cryptographic)
in a standalone consensus/ package. Full hardfork coverage (HF0-HF6),
PoW via CGo bridge, optional signature verification during sync.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 00:26:58 +00:00
Claude
459ff80f1f
docs: Phase 6 wallet core documentation and integration test
Co-Authored-By: Charon <charon@lethean.io>
2026-02-20 23:32:07 +00:00
Claude
b506c9c0a1
docs: Phase 6 wallet core implementation plan
11 tasks covering mnemonic seeds, TX extra parsing, account management,
transfer storage, scanning, signing, ring selection, tx building, and
wallet orchestration. TDD with complete code for every step.

Co-Authored-By: Charon <charon@lethean.io>
2026-02-20 22:51:19 +00:00
Claude
4a07e6ca70
docs: Phase 6 wallet core design
Interface-driven wallet with Scanner, Signer, Builder, RingSelector
abstractions. v1 NLSAG ships first, v2+ Zarcanum architecture ready.
Full send+receive: key management, output scanning, tx construction,
ring selection via RPC, encrypted key storage in go-store.

Co-Authored-By: Charon <charon@lethean.io>
2026-02-20 22:29:01 +00:00
Claude
c2e6b165e7
docs: Phase 5 chain storage and sync client documentation
Co-Authored-By: Charon <charon@lethean.io>
2026-02-20 21:56:05 +00:00
Claude
46cf1a747a
docs: Phase 5 chain storage implementation plan
7-task plan covering chain/ package: meta types, block storage,
transaction/output indexing, header validation, sync loop,
integration test, and documentation updates.

Co-Authored-By: Charon <charon@lethean.io>
2026-02-20 21:37:27 +00:00
Claude
f5add3c73f
docs: Phase 5 chain storage and sync client design
Co-Authored-By: Charon <charon@lethean.io>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 21:31:55 +00:00
Claude
4e1dd85f8d
docs: Phase 4 RPC client documentation
Co-Authored-By: Charon <charon@lethean.io>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 21:14:41 +00:00
Claude
1fdd8d47d7
docs: Phase 4 RPC client implementation plan
Co-Authored-By: Charon <charon@lethean.io>
2026-02-20 21:02:24 +00:00
Claude
c08d5a24b6
docs: Phase 4 RPC client design
Co-Authored-By: Charon <charon@lethean.io>
2026-02-20 20:52:30 +00:00
Claude
d33397e6b6
docs: Phase 3 P2P Levin protocol documentation
Co-Authored-By: Charon <charon@lethean.io>
2026-02-20 19:45:28 +00:00
Claude
d20fcb39cc
docs: Phase 3 P2P Levin protocol implementation plan
Co-Authored-By: Charon <charon@lethean.io>
2026-02-20 19:20:44 +00:00
Claude
9db3090f89
docs: Phase 3 P2P Levin protocol design
Co-Authored-By: Charon <charon@lethean.io>
2026-02-20 19:10:56 +00:00
Claude
8af95d457a
docs: Phase 2 crypto bridge documentation
Updated architecture.md with crypto/ package details (CGo bridge pattern,
build flow, exposed operations, 1/8 premultiplication semantics).
Updated history.md with Phase 2 completion (files, findings, tests).
Updated CLAUDE.md with CMake build prerequisite.

Co-Authored-By: Charon <charon@lethean.io>
2026-02-20 18:49:21 +00:00
Claude
65080123bc
docs: archive CryptoNote+ whitepaper (Aldanov, 2018)
Original founding document for the Zano protocol extensions.
Contains raw math for return addresses, key derivation, shared
secret encryption, hybrid mining, and tiny addresses — the
cryptographic foundations that Phase 2 bridge implements.

Co-Authored-By: Charon <charon@lethean.io>
2026-02-20 18:03:50 +00:00
Claude
225822a14c
docs: Phase 2 crypto bridge implementation plan
12 tasks covering sub-phases 2a-2d: CMake build, CGo scaffold,
key generation, derivation, key images, signatures (standard, NLSAG,
CLSAG), range proofs, BGE, Zarcanum. TDD throughout.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 17:50:38 +00:00
Claude
b136b7317f
docs: Phase 2 crypto bridge design
CGo bridge to vendored upstream C++ crypto library following the MLX
pattern. Thin C API (bridge.h) as the stable contract between Go and
C++. Provenance tracking for easy upstream Zano updates.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 17:43:51 +00:00
Claude
6a3f8829cb
feat(wire): Phase 1 wire serialisation — bit-identical to C++ daemon
Add consensus-critical binary serialisation for blocks and transactions,
verified by computing the testnet genesis block hash and matching the C++
daemon output (cb9d5455...4963). Fixes Phase 0 type mismatches (variant
tags, field widths, missing fields) and adds encoder/decoder, tree hash,
and block/transaction hashing.

Key discovery: CryptoNote's get_object_hash(blobdata) prepends
varint(length) before hashing, so BlockHash = Keccak256(varint(len) || blob).

Co-Authored-By: Charon <charon@lethean.io>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 17:16:08 +00:00
Claude
37cc3d7342
docs: graduate Phase 0 into production documentation
Co-Authored-By: Charon <charon@lethean.io>
2026-02-20 15:24:38 +00:00