Files
Dario LipicarandClaude Opus 4.8 910a7cd997 feat: RAILGUN private coordinator (shield / private_send / view) (#7)
* Phase 3: RAILGUN private coordinator (init/shield/private_send/view)

Adds railgun_module as the 5th dependency and the coordinator surface:
- init_private(address, chainId): derive railgun keys from a deterministic
  keystore.sign_message signature -> railgun.init_from_seed (keys stay in railgun)
- get_zk_address / sync_private / get_shielded_balance: passthrough
- shield: railgun.prepare_shield -> approve RAILGUN smart wallet + broadcast shield
  TxData via keystore.sign_transaction + eth_rpc (sign_and_broadcast_call helper)
- private_send: railgun.relayed_send (0zk->transfer / 0x->unshield, sender hidden);
  records a pending private tx + emits tx_status_changed
txbuild: erc20_approve_calldata + general unsigned_call_tx. 11 core tests green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* chore: lock railgun_module input

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* doctest: build/install/load railgun_module (new 5th dependency)

The backend now depends on railgun_module; logoscore's load-module does not
auto-resolve deps, so the runtime + fanout doctests must build its .lgx, install
it, and load it before wallet_backend_module — otherwise the backend fails to
load (MODULE_LOAD_FAILED). Same fix as when uniswap_module was added.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* flake: bump railgun_module to the build-fixed commit

So a standalone backend#lgx build (which builds railgun for its .lidl codegen)
picks up railgun's self-sufficient flake (toolchain + Send-lift + feature-pinned
eth-rpc/keystore + main field).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* flake: bump railgun + enabler deps to merged masters

The railgun merge chain landed its enablers and railgun's deps:

  railgun_module        babda0a → 4444b22 (eth-rpc/keystore re-pinned to merged main)
  eth_rpc_module        de295ef → bf08ea9 (raw_rpc_url, eth-rpc#4)
  keystore_module       f74bb69 → 1ac3869 (sign_digest, keystore#4)
  logos-module-builder  7bcd2de → 8bb7bd8 (nix.rust toolchain #137 + rust-sdk Send-lift #138)

railgun_module follows this module's eth_rpc/keystore/module-builder, so all
four must move together for a coherent standalone build. Verified: nix build
.#lgx green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 13:19:55 -03:00
..
2026-06-16 22:58:08 -03:00
2026-06-16 22:58:08 -03:00