go-blockchain/crypto/PROVENANCE.md
Claude 1416a6714a
feat(crypto): Phase 2a scaffold — vendored C++ and CMake build
Extract CryptoNote crypto sources from upstream (fa1608cf).
Build as static libcryptonote.a via CMake with compat stubs for
external dependencies (warnings, logging, varint, profiling).

37 upstream files, 10 compat stubs, 680KB static library.

Co-Authored-By: Charon <charon@lethean.io>
2026-02-20 18:21:44 +00:00

3.2 KiB

Provenance

Vendored from ~/Code/LetheanNetwork/blockchain/ at commit fa1608cf.

Upstream Files (unmodified copies)

Local Path Upstream Path Modified
upstream/crypto-ops.c src/crypto/crypto-ops.c no
upstream/crypto-ops-data.c src/crypto/crypto-ops-data.c no
upstream/crypto-ops.h src/crypto/crypto-ops.h no
upstream/crypto.cpp src/crypto/crypto.cpp no
upstream/crypto.h src/crypto/crypto.h no
upstream/crypto-sugar.h src/crypto/crypto-sugar.h no
upstream/crypto-sugar.cpp src/crypto/crypto-sugar.cpp no
upstream/clsag.h src/crypto/clsag.h no
upstream/clsag.cpp src/crypto/clsag.cpp no
upstream/zarcanum.h src/crypto/zarcanum.h no
upstream/zarcanum.cpp src/crypto/zarcanum.cpp no
upstream/range_proofs.h src/crypto/range_proofs.h no
upstream/range_proofs.cpp src/crypto/range_proofs.cpp no
upstream/range_proof_bppe.h src/crypto/range_proof_bppe.h no
upstream/range_proof_bpp.h src/crypto/range_proof_bpp.h no
upstream/one_out_of_many_proofs.h src/crypto/one_out_of_many_proofs.h no
upstream/one_out_of_many_proofs.cpp src/crypto/one_out_of_many_proofs.cpp no
upstream/msm.h src/crypto/msm.h no
upstream/msm.cpp src/crypto/msm.cpp no
upstream/keccak.c src/crypto/keccak.c no
upstream/keccak.h src/crypto/keccak.h no
upstream/hash.c src/crypto/hash.c no
upstream/hash.h src/crypto/hash.h no
upstream/hash-ops.h src/crypto/hash-ops.h no
upstream/random.c src/crypto/random.c no
upstream/random.h src/crypto/random.h no
upstream/blake2.h src/crypto/blake2.h no
upstream/blake2-impl.h src/crypto/blake2-impl.h no
upstream/blake2b-ref.c src/crypto/blake2b-ref.c no
upstream/generic-ops.h src/crypto/generic-ops.h no
upstream/eth_signature.h src/crypto/eth_signature.h no
upstream/eth_signature.cpp src/crypto/eth_signature.cpp no
upstream/RIPEMD160.c src/crypto/RIPEMD160.c no
upstream/RIPEMD160.h src/crypto/RIPEMD160.h no
upstream/RIPEMD160_helper.h src/crypto/RIPEMD160_helper.h no
upstream/RIPEMD160_helper.cpp src/crypto/RIPEMD160_helper.cpp no
upstream/initializer.h src/crypto/initializer.h no

Compat Files (extracted subsets or stubs)

Local Path Origin Notes
compat/currency_core/crypto_config.h src/currency_core/crypto_config.h unmodified copy
compat/common/pod-class.h src/common/pod-class.h unmodified copy
compat/common/varint.h src/common/varint.h unmodified copy
compat/warnings.h N/A stub — no-op macros
compat/epee/include/misc_log_ex.h N/A stub — no-op logging macros
compat/common/crypto_stream_operators.h N/A stub — empty
compat/include_base_utils.h N/A stub — empty

Update Workflow

  1. Note the current provenance commit (fa1608cf)
  2. In the upstream repo, git diff fa1608cf..HEAD -- src/crypto/
  3. Copy changed files into upstream/
  4. Rebuild: cmake --build crypto/build --parallel
  5. Run tests: go test -race ./crypto/...
  6. Update this file with new commit hash