51 Commits
Author SHA1 Message Date
Laan Tungir 024b490ac1 Add nostr_signer_derive_hmac() (HMAC-SHA256 via local + nsigner derive verb) and ttyUSB serial enumeration
Rescued from uncommitted work in sovereign_browser/nostr_core_lib:
- nostr_signer_derive_hmac(): deterministic MAC over caller data using the
  signer's secp256k1 private key. Local backend computes HMAC-SHA256 directly;
  remote nsigner backend calls the 'derive' verb (algorithm:'secp256k1').
- nsigner_transport_list_serial(): enumerate /dev/ttyUSB* (FTDI/CH340/CP210x/
  PL2303 USB-serial adapters) in addition to /dev/ttyACM* CDC-ACM devices.
- tests/nsigner_client_test.c: local derive_hmac reference-match test.
2026-07-28 06:45:05 -04:00
Laan Tungir 933cf03ce7 Migrate remote signer calls to prefixed n_signer verbs 2026-07-28 06:31:43 -04:00
Laan Tungir be3a32b488 Fix NIP-03 OpenTimestamps parsing, multi-calendar proofs, upgrades, tests, and CLI tooling 2026-07-28 06:31:43 -04:00
Laan Tungir 3236e02f41 chore: stop tracking compiled test binaries with missing blobs (tests/nip03_live_test, websocket_debug) 2026-07-28 06:31:32 -04:00
Laan Tungir b51bcb4943 Migrated n_signer verb names to nostr_ prefix 2026-07-20 18:34:00 -04:00
laantungir ec8eb5555b Implement and validate NIP-03 live OpenTimestamps flow with HTTP/base64 fixes 2026-03-22 11:50:19 -04:00
Your Name a3a68f0fde added blossom client functionality. Unified curl 2026-03-21 20:40:25 -04:00
laantungir f470759b96 Fix cashuB byte-string token encoding and add live testnut redeem-regenerate cashuB integration coverage 2026-03-21 07:59:49 -04:00
laantungir fb3c9dbc76 Fix NUT-00 hash_to_curve domain separator and expand live NIP-60 swap roundtrip diagnostics/tests 2026-03-20 19:18:25 -04:00
laantungir 303013a518 Fix Cashu hash_to_curve to NUT-00 spec and align live helper for send-proof compatibility 2026-03-20 15:30:09 -04:00
laantungir a3f7a1bbfd Add cashu_encode_token with cashuA/cashuB formats and live encode-decode validation 2026-03-20 10:59:13 -04:00
laantungir a595747aff Add Cashu keyset endpoints support and per-amount unblinding with live checkstate validation 2026-03-20 10:32:43 -04:00
laantungir 39ebfcd90a Add live NIP-60 Cashu receive integration test using nofee.testnut mint 2026-03-20 10:23:21 -04:00
laantungir e21c8eb5be nip60 2026-03-19 09:01:11 -04:00
Your Name 20006df228 fix relay pool sync query repeat behavior and add regression test 2026-03-16 05:27:23 -04:00
Your Name adc7aa9dcf Delegate nostr_core_lib logging via callback and integrate single-file didactyl logging 2026-03-13 13:57:20 -04:00
laantungir 23e68bdc83 Add NIP-42 auth support to relay pool with verbose auth diagnostics test and docs updates 2026-03-01 08:49:55 -04:00
laantungir 4dc753cdcc Implement NIP-46 remote signing API, tests/example, build integration, and refresh README docs 2026-02-28 09:53:35 -04:00
laantungir f3068f82f3 Rollback of nip44 changes, and added ability to modify timestamps in giftwraps. 2025-10-27 13:16:06 -04:00
Your Name a8dc2ed046 Add configurable timestamp randomization for NIP-59 gift wraps 2025-10-27 12:57:25 -04:00
laantungir 9a3965243c Revert NIP-44 to spec compliance (65535 bytes), keep NIP-04 at 1MB 2025-10-27 12:51:50 -04:00
laantungir 23c2a58c2b Upgrade nip4 and nip44 to be able to handle 1MB payloads. 2025-10-24 18:56:30 -04:00
laantungir 45fb6d061d Adding async publish to relay pool 2025-10-09 09:19:11 -04:00
laantungir 499accf440 Implement NIP-21: nostr: URI scheme with full support for note, nprofile, nevent, and naddr URIs including TLV encoding/decoding and comprehensive test suite 2025-10-03 06:10:56 -04:00
laantungir 6b95ad37c5 nip 17, and 59 2025-10-03 04:25:10 -04:00
laantungir 54a6044083 Add enhanced subscription functionality with EOSE result modes 2025-10-02 15:00:50 -04:00
laantungir 0f897ab1b3 Getting the relay pool up to speed 2025-10-02 11:51:41 -04:00
laantungir eb7a9e6098 Add NIP-42 implementation and local updates
- Added NIP-42 authentication implementation (nip042.c, nip042.h)
- Added NIP-42 test suite (nip42_test.c, nip42_test)
- Updated common core files for NIP-42 support
- Updated build script
- Rebuilt test binaries
2025-09-07 13:04:53 -04:00
laantungir 55e2a9c68e nip13 validation added 2025-09-05 13:42:03 -04:00
laantungir 33129d82fd remove exposed .h crypto headers 2025-09-02 12:36:52 -04:00
laantungir c0d095e57b Streaming sha256 2025-08-19 11:24:48 -04:00
laantungir 77d92dbcf9 Nostr note validation added to nip01 2025-08-19 06:59:04 -04:00
laantungir 1da4f6751e clean up 2025-08-17 14:14:52 -04:00
laantungir 3ebfdc06c0 Fixed bug in nip44.c, was an error in ecdh_shared_secret. Added comments 2025-08-17 11:29:07 -04:00
laantungir d8b342ca3f Fixed error in nip04 implementation. Now working 2025-08-17 10:42:38 -04:00
laantungir df23fd618a comparison test for debugging 2025-08-16 17:48:02 -04:00
laantungir 711a7cc15c feat: migrate to system dependencies from static linking
BREAKING CHANGE: Library now requires system-installed dependencies

Major Changes:
- Convert secp256k1 from bundled static lib to system dependency
- Convert OpenSSL from bundled static lib to system dependency
- Convert curl from bundled static lib to system dependency
- Update build.sh with pkg-config detection and fallback logic
- Remove all static library extraction/building logic
- Update README.md with new dependency requirements and installation

Build System:
- Add detect_system_secp256k1() with pkg-config support
- Add detect_system_openssl() with pkg-config support
- Add detect_system_curl() with pkg-config support
- Remove secp256k1 building/extraction from ar archive
- Update CFLAGS and LIBS to use system library variables
- Clear error messages for missing dependencies with install commands

Documentation:
- Add system dependency installation for Ubuntu/Debian/CentOS/macOS
- Update all compile/link examples to include -lssl -lcrypto -lcurl -lsecp256k1
- Remove references to 'self-contained' and 'no external dependencies'
- Update integration examples throughout README

Benefits:
- Smaller library size (only internal code bundled)
- Automatic security updates via system package manager
- Standard Linux library distribution pattern
- Reduced build complexity
- Better system integration with pkg-config

Required Installation:
Ubuntu/Debian: sudo apt install libssl-dev libcurl4-openssl-dev libsecp256k1-dev
CentOS/RHEL: sudo yum install openssl-devel libcurl-devel libsecp256k1-devel
macOS: brew install openssl curl secp256k1
2025-08-16 13:59:29 -04:00
laantungir 40dd3aa20b Updated build.sh to build curl, openssl, and 256k1 if needed 2025-08-16 10:26:39 -04:00
laantungir 9fd4c61df7 Working in the mines 2025-08-16 08:51:04 -04:00
laantungir 76e883fad4 Refactor and consolidate test suite
- Moved old tests from tests/old/ to main tests/ directory
- Renamed nostr_test_bip32.c to bip32_test.c for consistency
- Renamed nostr_crypto_test.c to crypto_test.c for consistency
- Renamed wss_test.c and moved from old directory
- Fixed unused variable warning in bip32_test.c
- Updated build system and workspace rules
- Cleaned up old compiled test executables
- Updated nostr_common.h and core_relays.c
- Removed obsolete nostr_core.h.old backup file

This consolidates all active tests into the main directory and removes
outdated test files while maintaining a clean, organized structure.
2025-08-16 08:38:41 -04:00
laantungir c3a9482882 Completed refactoring to separate nip files, and updating build.sh 2025-08-16 07:42:48 -04:00
laantungir 8ed9262c65 Last version before deleting Makefile and CmakeLists.txt 2025-08-15 16:32:59 -04:00
laantungir c569c0c346 Improved POW 2025-08-15 07:47:16 -04:00
laantungir 3d2537603c . 2025-08-14 19:15:55 -04:00
laantungir 2637378bf0 clean up versioning 2025-08-14 16:26:37 -04:00
laantungir c109c93382 Initial template structure from nostr_core_lib
- Complete C library template with OpenSSL-based crypto
- Comprehensive build system (Makefile, build.sh)
- Example code and test suite
- Documentation and usage guides
- Cross-platform compatibility (x64/ARM64)
- Production-ready structure for C library projects
2025-08-14 15:10:59 -04:00
laantungir 0ace93e303 Adding in curl and openssl repos 2025-08-14 12:09:30 -04:00
laantungir 6d7b709f9a Pre-mbedTLS cleanup checkpoint - OpenSSL migration complete, all tests passing 2025-08-14 11:51:26 -04:00
laantungir 5a7c796873 Last commit before switching from mbedtls to openssl 2025-08-14 09:58:24 -04:00
laantungir d257ae49f1 Fully statically linked for both x64 and arm64. Updated build.sh to always compile both versions 2025-08-11 06:54:50 -04:00