Skip to content

Adopt the converged zingolib mixnet surface (ADR 0024 phase 2) #1236

Description

@zancas

Follows zingolabs/zingolib#2578 (phase 1). ADR 0024 lives on the zingolib branch zingo-cli-over-nym; a working handoff sits at this repo's root as zingo-mobile-mixnet-convergence-claude-handoff.md.

Deletions (the app-side policy engine and every mint):

  • MixnetCoordinator (poll loops, consent bit, publication sequencing) — replaced by subscribing to the zingolib driver's status.
  • mixnet_mode_string in rust/lib/src/lib.rs and the TS RPCMixnetModeEnum re-declaration — the wire contract arrives from zingolib.
  • describeRejection and the sendFailureTransform.ts substring markers ('Error: mixnet:', 'Nym mixnet') — consumers match typed variants, never prose.
  • The dead legacy nym boolean: persisted setting, {false && ...} chrome in Settings/SyncStatusBar/Confirm, ButtonTypeEnum.Nym, and the settings.nym-* / send.nym-* translation keys in all five locales.

Upgrades:

  • The UDL's six string-returning mixnet functions become UniFFI enums/records/typed errors generated from zingolib's types, extending the shim's golden-wire-pin pattern (the three-language fixtures) to the wallet component.
  • Drop the direct crates.io zingo-netutils dependency (rust/Cargo.toml:44) — it links a second netutils copy with no SOCKS5 capability — and consume zingolib's re-exports instead.
  • Pin zingolib by git REV, not branch = "dev" (the manifest comment already claims a rev pin that is not there).
  • Implement iOS attach via the existing nym-proxy-ffi UniFFI framework; the iOS fail-open gate is iOS send gate fails open: a null mixnet view unblocks send on a platform with no mixnet #1235 and should be fixed first, independently.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions