CleverWild 7ab47ec563
Some checks failed
ci/woodpecker/pr/server-lint Pipeline failed
ci/woodpecker/pr/server-audit Pipeline was successful
ci/woodpecker/pr/server-vet Pipeline failed
ci/woodpecker/pr/server-test Pipeline was successful
feat(vault)!: implement full Shamir re-key flow and governance execution (§3.3–§3.5)
- Add `rekey.proto` with `ContributePassphrase` / `ContributeRecoveryPassphrase` / `RekeyResult`
- Wire `rekey` as a 4th vault stream payload in `vault.proto` and gRPC dispatch
- Add `RekeyRootKey` message to `Vault` actor: generates new random seal key, re-encrypts root key, writes new `root_key_history` row
- Add `StartRekey`, `ContributeRekey`, `ContributeRecoveryRekey` messages to `VaultCoordinator`; `finalize_rekey` uses threshold-1 fast path identical to bootstrap
- `execute_replace_operator` now UPDATEs `operator_identity.public_key` in-place (avoids FK constraint violation), deletes stale `operator` share row, then triggers `StartRekey`
- `execute_update_shamir_parameters` triggers `StartRekey` instead of warning stub
- `ProposalKind::ReplaceOperator` carries `old_operator_id`; encode/decode updated accordingly
- `GlobalActors::spawn` extracts `vault_coordinator` before `Ok(Self { … })` so it can be cloned into `ProposalManager::new`
- Add `handle_rekey` in session handlers forwarding passphrase contributions to `VaultCoordinator`
- Fix test: rename `replace_operator_inserts_identity_row` → `replace_operator_updates_pubkey_and_starts_rekey`, assert count stays 1 and pubkey is updated
2026-06-14 15:11:11 +02:00
2026-03-11 14:05:42 +01:00

Arbiter

Policy-first multi-client wallet daemon, allowing permissioned transactions across blockchains

Security warning

Arbiter can't meaningfully protect against host compromise. Potential attack flow:

  • Attacker steals TLS keys from database
  • Pretends to be server; just accepts operator challenge solutions
  • Pretend to be in sealed state and performing DH with client
  • Steals user password and derives seal key

While this attack is highly targetive, it's still possible.

This software is experimental. Do not use with funds you cannot afford to lose.

Description
No description provided
Readme 7.5 MiB
Languages
Rust 57.3%
Dart 39.4%
C++ 1.1%
CMake 0.9%
Ruby 0.3%
Other 0.8%