20 Commits

Author SHA1 Message Date
Arseniy Klempner
29c64b340d
feat: mix+LEZ+RLN chat over the testnet via 2-phase gifter
Chat-side integration of the LEZ-backed RLN mix protocol:
- src/chat/delivery/waku_client.nim: mount waku_mix with onchain
  RLN spam protection wired to logos_core_client fetchers; gate
  the first publish on (a) gifter status confirmation, (b)
  cushion of 2 poll intervals after confirmation, and (c) proof
  root stability in the local valid_roots window; wrap mix
  lightpush in withTimeout so vanished SURB replies surface as
  Err instead of pinning the send coroutine.
- src/chat/client.nim: surface sendBytes errors via asyncSpawn
  wrapped try/except instead of discarding the future (was
  hiding every mix-publish failure).
- chat-side gifter client invocation (RLN membership service
  wire format, EIP-191 ethereum-allowlist auth).
- Background membership status watcher that reconciles the
  optimistic leaf returned by the gifter against the chain's
  authoritative leaf via the status RPC.

Simulation harness (simulations/mix_lez_chat/):
- Spin up sequencer + run_setup + 4 mix nodes (one of which
  runs the gifter service) + chat sender + chat receiver.
- SIM_NETWORK={local,testnet}, SIM_SLIM for testnet (reuses
  shipped config_account + cached payment_account), Docker
  image + GHCR for cross-platform testing.
- Strict mix-pool readiness gate, kademlia + RLN root activity
  checks, gifter EIP-191 auth fixture, slim-mode submodule
  minimization.
- TREE_ID_HEX pinned to the canonical testnet deployment.

Submodule bumps:
- vendor/nwaku to 8e6ba04 (LEZ-backed RLN mix + 2-phase gifter).
- vendor/logos-lez-rln to 950f287 (SPEL RLN program + mix sim
  infrastructure + canonical testnet deploy).

Docs:
- RUN_SLIM_TESTNET.md: slim sim recipe.
- cleanup/MODE_A_GIFTER_SLOT_BUG.md: per-signer nonce collision
  postmortem driving the queue+worker fix.
2026-05-28 10:53:36 -06: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
osmaczko
b2bcc81bdb
feat: add nix flake 2026-02-23 15:58:29 +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
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
3205c71281 Remove libchat naming conflict 2026-02-11 10:46:31 -08: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
d7af4e09ec
Update Examples (#40)
* Update examples.

* Update readme
2025-12-16 19:46:19 -08:00
Jazz Turner-Baggs
26c41313d4
Enable Tests (#22)
* Enable make tests

* Fix stale tests

* Set test logging level to ERROR

* Update readme

* Formatting changes
2025-11-25 08:14:59 -08:00
Jazz Turner-Baggs
ba124a3739 remove stale demo 2025-10-20 08:21:31 -07:00
Jazz Turner-Baggs
d910b7f8a7 update pingpong example 2025-10-09 22:12:33 -07:00
Jazz Turner-Baggs
35274b6ec4
Add EchoBot 2025-09-26 18:41:11 -07:00
Jazz Turner-Baggs
7b13a75170
Added tui 2025-09-26 13:03:36 -07:00
Jazz Turner-Baggs
5be16419a1
migrate nim_chat_poc to nbs 2025-09-26 11:22:45 -07:00
Ivan Folgueira Bande
a307bf225d create waku_example 2025-09-26 10:35:32 -07:00
Ivan Folgueira Bande
59c9c920be some adaptations for n-b-s 2025-09-26 10:35:32 -07:00