12 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
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
pablo
cdafc250e5
fix: peers and pubsub 2026-02-20 13:12:58 +02:00
osmaczko
240a46e475
fix: update library bindings for libchat integration (#69) 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
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
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
058467771e
feat: libchat C library building and example TUI using it 2025-12-22 14:14:37 +02:00