34 Commits

Author SHA1 Message Date
Arseniy Klempner
b2f5fc8a4c
chore: bump submodules for is_member_registered poll path 2026-05-18 13:01:22 -06:00
Arseniy Klempner
124806643b
chore: bump submodules for register_member submit/confirm split
The on-chain Register submit and the membership-PDA confirmation
poll are now two separate Q_INVOKABLEs (register_member +
is_member_registered) so the RPC thread isn't blocked during the
on-chain wait. The Nim gifter closure owns the confirmation loop
and yields cleanly via async sleepAsync between polls.
2026-05-18 13:00:56 -06:00
Arseniy Klempner
585aa9de83
chore: bump logos-lez-rln for register_member QtRO timeout fix 2026-05-18 12:03:38 -06:00
Arseniy Klempner
b427dbb330
chore: bump submodules for register_member robustness consolidation
Pulls in:
- vendor/logos-lez-rln: rln_ffi_decode_membership FFI helper +
  logos_rln_module::register_member idempotency + PDA-appearance
  confirmation poll.
- nested logos-delivery + nwaku: gifter closure simplified to a thin
  wrapper around the now-robust register_member; gifter self-register
  retry loop removed (the inner FFI handles transient drops via
  PDA-appearance polling instead of trusting tx submission).

Net: -120 lines of Nim ad-hoc retry/poll logic, +60 lines of C++
extracted into a single canonical entry point used by all three
register-paths (Nim gifter, chat-module selfRegisterRln, delivery-
module selfRegisterRln).
2026-05-18 11:39:54 -06:00
Arseniy Klempner
c44269356c
chore: bump submodules for gifter retry fix 2026-05-18 10:52:41 -06:00
Arseniy Klempner
b3b71bc2a5
feat(sim): slim-mode submodule minimization
Three changes:
- vendor/logos-lez-rln bump: drops unused top-level logos-delivery
  submodule (~1.3 GB saved per fresh clone).
- setup_and_run.sh: gate lssa + logos-execution-zone-module init on
  SIM_NETWORK=local (or SIM_FULL_SUBMODS=1). Default Docker setup now
  pulls only logos-delivery-module (+ nested logos-delivery), saving
  ~11 GB of lssa for slim/testnet fresh clones.
- run_simulation.sh: stop requiring lssa/ to exist when discovering
  LEZ_RLN_DIR in the sibling-checkout layout.
- README: slim-mode minimum-submodule recipe + rationale.
2026-05-17 22:17:20 -06:00
Arseniy Klempner
eacbdd6482
chore: bump submodule chain for testnet pipeline + gifter feature
Pulls in across the chain:
- vendor/logos-lez-rln: FFI alignment with SPEL ConfigState +
  4-field Register; canonical testnet deployment seed + slim-mode
  artifacts; nested logos-delivery-module bumped for gifter.
- vendor/nwaku: parity gifter self-register + cross-thread fix.

These were ~5 separate "chore: bump X" commits across submodule
revisions during the session; consolidated to one bump that
matches the consolidated feature commits below.
2026-05-17 18:59:57 -06:00
Arseniy Klempner
c6a993a209
chore: bump logos-lez-rln to pick up testnet-fit guest + split Init
Pulls in two commits that together unblock the public testnet deploy:

  - feat(rln-registration): split Initialize into 3 transactions
  - build(methods): strip user_elf in R0BF to fit testnet tx-size cap

Verified end-to-end on https://testnet.lez.logos.co/ -- registration
program deploys (422 KB stripped < 511,800 B cap), all three init txs
land within the 32M-cycle session ceiling, full run_setup pipeline
through Step 7 (user account funding) green.
2026-05-15 07:48:21 -06:00
Arseniy Klempner
ce127b566a
feat(chat): consume RLN membership spec wire format on chat-side gifter
Updates the chat-side gifter caller in waku_client.nim to the new
MembershipAllocationRequest / MembershipAllocationSuccess types:
* identity commitment is sent as bytes (not hex string)
* authentication_type='eth-allowlist' is set explicitly when signing
* rate limit is passed as proto3 optional
* configAccountId is read off success.configAccountId (the LEZ extension)

Bumps vendor/nwaku and vendor/logos-lez-rln to pull in the spec-aligned
wire format on both the gifter server and the auto-registering mix-node
client paths.
2026-05-13 16:10:56 -06:00
Arseniy Klempner
34d570e3ff
chore: bump logos-lez-rln to follow logos-delivery-module .gitmodules fix 2026-05-13 11:44:18 -06:00
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
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
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
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
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
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
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
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
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
Jazz Turner-Baggs
d77bbb6a2a
Fix corrupt submodule (#53) 2026-01-27 07:37:01 -08:00
Jazz Turner-Baggs
285b6f2d2e Add tests + requirements 2025-10-09 22:12:33 -07:00
Jazz Turner-Baggs
15a40f8eff
expose decode in content_types for apps 2025-09-26 12:07:22 -07:00
Jazz Turner-Baggs
5be16419a1
migrate nim_chat_poc to nbs 2025-09-26 11:22:45 -07:00
Ivan Folgueira Bande
7f07a042f0 update nwaku module 2025-09-26 10:35:32 -07:00
Ivan Folgueira Bande
f40a934f7f update nwaku vendor to import waku 2025-09-26 10:35:32 -07:00
Ivan Folgueira Bande
58176a9173 avoid add submodules 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
Ivan Folgueira Bande
0743ea467f add nwaku vendor 2025-09-26 10:35:32 -07:00
Ivan Folgueira Bande
650f35b18d add nimbus-build-system 2025-09-26 10:35:32 -07:00
Ivan Folgueira Bande
7c0a847673 rm waku submodule 2025-09-26 10:35:32 -07:00
Jazz Turner-Baggs
1d2aa3453f Fix library conflicts 2025-09-03 14:43:54 -07:00
Jazz Turner-Baggs
adde56532b
Added Waku dependancies 2025-07-21 17:42:44 -07:00