156 Commits

Author SHA1 Message Date
Arseniy Klempner
bba01ee9dc
feat(sim): exercise rln-gifter EIP-191 auth in mix_lez_chat sim
Wires the existing mix_lez_chat simulation to drive the gifter's
EIP-191 allowlist auth path end-to-end:

* bumps vendor/nwaku and vendor/logos-lez-rln (and, transitively,
  logos-delivery-module and its bundled logos-delivery copy) to pick up
  the auth plugin, the auto-registering client's EIP-191 signing, and
  the new --mix-gifter-allowlist / --mix-gifter-auth-key CLI flags.
* adds a `gifterAuthKey` knob on WakuConfig + the JSON config bridge in
  client_api so chat sender/receiver instances sign their gifter
  requests too.
* commits 5 fixed test secp256k1 keys (one per non-gifter mix node and
  per chat client) under simulations/mix_lez_chat/fixtures/gifter_auth/
  along with their derived addresses.
* run_simulation.sh sources keys.env+addresses.env, sets
  `mixGifterAllowlist` on mix node 0, and threads the matching
  `mixGifterAuthKey` / `gifterAuthKey` into nodes 1-3 and the
  receiver/sender configs.

Test fixtures only — keys must never be reused outside this sim.
2026-05-13 11:10:27 -06:00
Arseniy Klempner
6c12e6a003
fix: fetch tags when pinning lssa for sequencer build 2026-05-13 10:09:28 -06:00
Arseniy Klempner
194c5663c3
chore: track logos-delivery on feat/rln-gifter-sim branch 2026-05-13 09:04:41 -06:00
Arseniy Klempner
979a715b34
fix: restore submodule working trees in Docker script
Same fix as setup_and_run.sh — git submodule update --init resets
working tree files, so checkout is needed after init.
2026-05-12 13:55:27 -06:00
Arseniy Klempner
1a01e93c02
docs: update sim instructions for SPEL backend 2026-05-12 13:54:10 -06:00
Arseniy Klempner
932627d636
fix: update sim for SPEL 32-byte tree_id and submodule restore
TREE_ID_HEX updated from 24 to 32 bytes to match SPEL's tree_id format,
fixing stale payment account lookup that caused silent registration
failures (KeyNotFound error 8).

setup_and_run.sh now restores working tree files in all nested
submodules after git submodule update --init, which resets them.
2026-05-12 13:24:46 -06:00
Arseniy Klempner
9d368aeb44
build: add Docker image + GHCR for cross-platform simulation testing
Multi-stage Dockerfile pre-builds all heavy nix dependencies. Runtime
image (~8.5GB) at ghcr.io/adklempner/logos-chat-sim:latest includes
nix store closure + Rust + cargo-risczero/r0vm + system clang.

run_in_docker.sh pulls from GHCR, symlinks pre-built modules, builds
sequencer + run_setup from source (~10 min per run).

Update vendor/logos-lez-rln to a591645 (rebased onto main with
member-expiry merged, single squashed commit).

Add INSTRUCTIONS.md with macOS, Linux (native), and Docker instructions.
2026-05-11 18:30:28 -06:00
Arseniy Klempner
695ecb42bc
feat: add mix+LEZ chat simulation with Docker support
End-to-end simulation: 4 mix nodes with RLN spam protection, LEZ
sequencer, gifter service, and two logos-chat-module clients exchanging
double-ratchet-encrypted messages through 3-hop Sphinx onion routes.

Simulation scripts:
- run_simulation.sh: orchestrates sequencer, mix nodes, chat clients,
  with poll-based readiness checks and 15 verification checks
- setup_and_run.sh: one-shot build + run for fresh clones
- run_in_docker.sh: Docker-based Linux testing with pre-built modules
- README.md: configuration, troubleshooting, architecture guide

Configurable via SIM_* env vars (ports, timeouts, log level).
Cross-platform: macOS native + Linux via Docker.

Docker image (Dockerfile.sim) uses multi-stage build:
- Stage 1: builds all LEZ modules, sequencer, liblogoschat, chat-module
- Stage 2: copies only runtime nix closure (~1.9GB) + output artifacts
- Pre-built modules are symlinked at runtime, skipping build_all.sh
2026-05-06 10:50:14 -06:00
Arseniy Klempner
4060bb67c1
feat: add mix+LEZ RLN integration for logos-chat
Integrate logos-chat with the LEZ-backed mix network:

- Update vendor/nwaku to logos-delivery fork (feat/mix-rln-gifter-sim)
  with mix protocol, OnchainLEZGroupManager, RLN gifter client, and
  mix-rln-spam-protection-plugin
- Add vendor/logos-lez-rln submodule for reproducible LEZ module builds
- Add RLN FFI surface to liblogoschat: chat_set_rln_fetcher,
  chat_set_rln_config, chat_push_roots, chat_push_proof, etc.
- Wire gifter client for RLN membership registration via mix network
- Switch to filter-based message reception (relay: false, filter: true)
- Send via lightpushPublish(mixify=true) for Sphinx onion routing
- Add mix-librln separate build + duplicate symbol resolution
- Exclude vendor/logos-lez-rln from nimble link creation
- Update nix build for mix-librln and cross-platform support
2026-05-06 10:49:49 -06:00
osmaczko
15f68f2ec2
chore: use upstream nix (#88) 2026-03-02 12:16:49 +01:00
osmaczko
53302e4373
feat: statically link libchat and rln via rust-bundle (#83)
Add rust-bundle, a single staticlib crate that depends on both libchat
and rln as rlibs. This ensures rustc links Rust std exactly once,
eliminating duplicate symbol errors on all platforms. Nim targets link
against liblogos_chat_bundle.a; Nix uses a bundleDrv instead of
separate libchat and rln derivations.

Reference: https://doc.rust-lang.org/reference/linkage.html#mixed-rust-and-foreign-codebases
2026-03-01 17:27:40 +01:00
Igor Sirotin
07da6e2dec
feat: use logos.dev fleet (#87)
* feat: use logos.dev fleet

* fix: cluster id defaults

* docs: comment with host names and peer ids
2026-02-27 18:30:34 +00:00
Igor Sirotin
6fc4c2200a
ci: run nix build on ubuntu and macos (#85)
* ci: run nix build on ubuntu and macos

* ci: use DeterminateSystems/nix-installer-action

* fix: wrong extension for mac

---------

Co-authored-by: pablo <p.lopez.lpz@gmail.com>
2026-02-25 10:38:36 +00:00
Pablo Lopez
a97d8c1717
fix: mac build (#84)
* fix: mac build

- fix error: `error: darwin.apple_sdk_11_0 has been removed as it was a legacy compatibility stub`
- fix librln hash
- bumped nim-ffi

* fix: typo
2026-02-24 15:40:08 -08:00
osmaczko
74fcb612db
chore: bump libchat (#82) 2026-02-23 20:21:55 +01:00
osmaczko
44437c2bb4
ci: reduce CI times by unifying jobs and caching Cargo artifacts (#81)
- Consolidate build and test into a single job to avoid duplicate builds;
  artifact sharing across jobs proved too complex to justify
- NBS was the main bottleneck; this change improves CI duration beyond that
- Add caching for Cargo registry, git sources, and libchat's target
2026-02-23 19:46:36 +01:00
osmaczko
b4706cd6ac
ci: reduce CI times by unifying jobs and caching Cargo artifacts
- Consolidate build and test into a single job to avoid duplicate builds;
  artifact sharing across jobs proved too complex to justify
- NBS was the main bottleneck; this change improves CI duration beyond that
- Add caching for Cargo registry, git sources, and libchat's target
2026-02-23 19:36:16 +01:00
Jazz Turner-Baggs
8155195871
Readme Overhaul (#74)
* Clean main README.md

* remove uneeded information

* clean up name
2026-02-23 07:56:21 -08:00
osmaczko
b2bcc81bdb
feat: add nix flake 2026-02-23 15:58:29 +01:00
Jazz Turner-Baggs
ee5075cc6e
Remove CI Ignore-paths (#77)
* Add gate to detect changes in source code

* Fix action errors

---------

Co-authored-by: osmaczko <33099791+osmaczko@users.noreply.github.com>
2026-02-23 14:20:00 +01:00
Jazz Turner-Baggs
c2196c77ee
Identity Simplification (#71)
* Contract interface for bindings

* Add errorType

* Remove Identity files

* Update Echo_bot

* update cbindings

* Add installation name

* Update tests

* bump libchat dep
2026-02-22 17:51:59 -08:00
Jazz Turner-Baggs
714d97029c
Remove Test-Windows CI Job (#75) 2026-02-22 16:01:02 -08:00
Pablo Lopez
d15bcb0729
Merge pull request #76 from logos-messaging/fix/config
fix: peers and pubsub
2026-02-21 07:57:03 +02:00
pablo
cdafc250e5
fix: peers and pubsub 2026-02-20 13:12:58 +02:00
Jazz Turner-Baggs
3921bd8bbd
Run CI action on push to Main (#72)
* Update ci to run on push to main

* Remove stale actions
2026-02-19 09:13:38 -08:00
Jazz Turner-Baggs
fb347d7974
Merge pull request #66 from logos-messaging/logos_chat_integration
CRC-001 - Integration
2026-02-18 13:53:36 -08:00
Patryk Osmaczko
4e6fcc7ac2
fix: remove stale naxolotl test
src/naxolotl was deleted in #68 but test_naxolotl.nim and its
entry in all_tests.nim were left behind, causing make tests to
fail with "cannot open file: ../src/naxolotl".
2026-02-18 22:20:17 +01:00
Patryk Osmaczko
04f46d1797
fix: re-add vendor/nim-ffi submodule to fix C-bindings build
`requires` in the nimble file alone is not sufficient, NBS never calls
`nimble install` or clones URLs from the `requires` block at build time.
The package must be present as a git submodule for NBS to discover and
link it.

Migrating to `nimble install` is a separate task.
2026-02-18 22:20:16 +01:00
osmaczko
240a46e475
fix: update library bindings for libchat integration (#69) 2026-02-18 22:20:16 +01:00
Jazz Turner-Baggs
8ea018d2a9
Rename nims file (#70) 2026-02-18 22:20:16 +01:00
Jazz Turner-Baggs
79a5a329c4
Rename Prep (#63)
* Remove Nim-Chat-POC references

* Update nimble file.

* Remove references to ChatSDK as a product
2026-02-18 22:20:16 +01:00
Jazz Turner-Baggs
ecfe9218c3
Remove unused submodules (#68)
* Remove uneeded vendored deps

* remove naxoltl

* remove proto definitions
2026-02-18 22:20:16 +01:00
Jazz Turner-Baggs
d421690aaf
fix: sender key error (#67) 2026-02-18 22:20:16 +01:00
Jazz Turner-Baggs
3bfba7cf25
Libchat library Integration (#55)
* chore: add smoke test and redesign CI workflow (#62)

Add a smoke test that validates the binary links all dependencies
at runtime by instantiating a client without networking. Redesign
CI into separate build and test jobs, with test gated on build.

* Add libchat module

* Add Context

* Add libchat

* Update to latest libchat

* Remove stale files

* Bump to latest Libchat

* Update imports

* Update client

* Update library to work with Libchat

* Fix examples

* Remove Tui Examples - Replace with logos-core

* Add Indentity Todo

* fix: add `build-libchat` as dependency for examples, tests, and library (#59)

The Rust liblogos_chat.so was not being built automatically, causing
runtime failures when loading the shared library.

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Add Todo for Sender data

* Updated error log

---------

Co-authored-by: osmaczko <33099791+osmaczko@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-18 22:20:14 +01:00
osmaczko
1d727c1fcf
chore: add smoke test and redesign CI workflow (#62)
Add a smoke test that validates the binary links all dependencies
at runtime by instantiating a client without networking. Redesign
CI into separate build and test jobs, with test gated on build.
2026-02-13 20:44:50 +01:00
Jazz Turner-Baggs
5525f2fb33 Update library references 2026-02-11 10:46:31 -08:00
Jazz Turner-Baggs
3205c71281 Remove libchat naming conflict 2026-02-11 10:46:31 -08:00
Igor Sirotin
d1743126e7
chore: update license files to comply with Logos licensing requirements 2026-02-05 15:12:09 +00:00
Jazz Turner-Baggs
d77bbb6a2a
Fix corrupt submodule (#53) 2026-01-27 07:37:01 -08:00
Jazz Turner-Baggs
e0a5d1551b
Add repo map (#50) 2026-01-21 09:49:03 -08:00
Pablo Lopez
e1a0e18443
Merge pull request #47 from logos-messaging/feat/c-bindings
Feat/c bindings
2026-01-12 18:46:40 +02:00
pablo
ce0f4e2aae
fix: rename Client to ChatClient 2026-01-12 18:16:01 +02:00
pablo
78d90b7b11
fix: using ctx 2026-01-09 11:49:04 +02:00
pablo
0359d19e7b
fix: pr comments 2026-01-09 11:29:14 +02:00
pablo
10b450c043
Merge remote-tracking branch 'origin/main' into feat/c-bindings 2025-12-22 14:15:02 +02:00
pablo
058467771e
feat: libchat C library building and example TUI using it 2025-12-22 14:14:37 +02:00
kaichao
9fd5daa436
bug: fix windows build (#46)
* chore: log build files.

* chore: update nwaku

* chore: use rln 0.9.0

* chore: fix file name

* chore: fix path

* chore: log the released file

* chore: test log

* chore: splite windows test ci

* chore: splite windows test

* chore: update nwaku

* chore: update nwaku

* chore: update windows ci deps

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci
2025-12-21 10:53:49 +08:00
Jazz Turner-Baggs
a1553b74d7
Add API docs (#45) 2025-12-17 19:16:02 -08:00
Jazz Turner-Baggs
9e999527e5
Update API Delivery Service (#44)
* Remove WakuCfg from Client

* Update examples
2025-12-17 19:15:47 -08:00
Jazz Turner-Baggs
3eefe3ba5c
Update WakuFleet (#41)
* Update fleet

* Remove deadcode
2025-12-16 23:16:57 -08:00