Arseniy Klempner 8977064671
feat(sim): testnet pipeline with seed bootstrap, slim mode, polish
Adds a SIM_NETWORK=testnet path to mix_lez_chat that:

- Skips local sequencer launch; reachability-checks the testnet RPC
  up front.
- Selects vendor/logos-lez-rln/testnet/ for wallet config + persistent
  state. Default flow runs run_setup against the deployed RLN program
  (is_initialized short-circuits to create_funded_user).
- Bootstraps from the submodule-shipped artifacts on first run:
  copies testnet/storage.json.seed -> testnet/storage.json and
  testnet/{supply_holding,payment_account}.txt ->
  ~/.logos-lez-rln/{supply_holding,payment_account}_<tree>.txt. Lets
  a fresh-clone dev reuse the canonical deployment.
- Adds SIM_SLIM=1 opt-in: skip run_setup entirely, use the shipped
  config_account + cached payment_account. Saves devs from building
  the lez-rln Rust toolchain (and transitively the lssa nested
  submodule).
- Raises timing floors for testnet block times (~60s vs local ~15s);
  adds KADEMLIA_HARD_CAP and SIM_PERSIST_LOCAL escape hatches.
- Polled-readiness loops replace fixed sleeps (kademlia mesh, mix
  peer counts, receiver join, delivery — each with bounded retry).
- Extracted seed_copy and wait_method_calls helpers; dropped a stale
  mix-peer kademlia gate (static mixNodes config seeds the pool via
  processBootNodes — kademlia counts are diagnostics only).

README updated with the testnet-flow + slim-mode + fresh-clone story.
2026-05-17 18:59:31 -06:00
..