CleverWild
cfd0d5bbe6
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-08-25 14:46:32 +02:00
CleverWild
8d940daf90
feat(vault): add recovery passphrase handling for bootstrap and unseal processes
2026-08-25 14:46:32 +02:00
CleverWild
d2de5bcd37
feat(server): two-operator vault requires at least one recovery share
2026-08-25 14:46:32 +02:00
CleverWild
a31ef6389b
refactor(server): typed pubkey len via u32::try_from in ReplaceOperator
2026-08-25 14:46:32 +02:00
CleverWild
039a20225a
feat(server): ProposalKind::ApproveOneOffTransaction
2026-08-25 14:46:32 +02:00
CleverWild
1d86820afe
feat(server): ProposalKind::ApprovePersistentGrant
2026-08-25 14:46:32 +02:00
CleverWild
16e388d7fd
feat(server): ProposalKind::UpdateShamirParameters
2026-08-25 14:46:32 +02:00
CleverWild
48c77c7d96
feat(server): ProposalKind::ReplaceOperator
2026-08-25 14:46:32 +02:00
CleverWild
d60fa81441
feat(server): ProposalKind ::GrantWalletAccess and ::ApproveServerUpdate
2026-08-25 14:46:32 +02:00
CleverWild
cd01ad6a9d
feat(server::grpc): wire governance RPCs through operator session
2026-08-25 14:46:32 +02:00
CleverWild
8265281213
feat(server::grpc): wire Shamir committee bootstrap and unseal proto messages
...
Adds DeclareCommittee and ContributePassphrase variants to bootstrap.proto,
ContributePassphrase to unseal.proto, and AwaitingContributions result codes
to both. Implements corresponding inbound converters and outbound reply
mappings. VaultGate handlers delegate to VaultCoordinator.
2026-08-25 14:46:31 +02:00
CleverWild
602dda1fa7
refactor(server::actors::vault): clean up Bootstrap/TryUnseal, remove Bootstrapping state
...
Bootstrap and TryUnseal now accept a SafeCell<Vec<u8>> seal key directly.
The Bootstrapping intermediate state is removed — multi-operator coordination
is the responsibility of VaultCoordinator, which calls Bootstrap atomically
once all shares are collected.
2026-08-25 14:46:31 +02:00
Skipper
9000909e54
WIP: some things
2026-08-25 14:46:31 +02:00
Skipper
a773255935
refactor(server::db): introduced newtype wrappers for entity id's in database
2026-05-04 19:35:27 +02:00
Skipper
a1c3ffd2d1
refactor: rename to to better reflect meaning
ci/woodpecker/push/server-audit Pipeline was successful
ci/woodpecker/push/server-vet Pipeline failed
ci/woodpecker/push/server-lint Pipeline failed
ci/woodpecker/push/server-test Pipeline was successful
2026-04-19 13:41:50 +02:00
Skipper
9ab074170b
merge: feat-lints into main
ci/woodpecker/pr/server-audit Pipeline was successful
ci/woodpecker/pr/server-lint Pipeline failed
ci/woodpecker/pr/server-vet Pipeline failed
ci/woodpecker/pr/server-test Pipeline was successful
ci/woodpecker/push/server-audit Pipeline was successful
ci/woodpecker/push/server-lint Pipeline failed
ci/woodpecker/push/server-vet Pipeline failed
ci/woodpecker/push/server-test Pipeline was successful
ci/woodpecker/push/useragent-analyze Pipeline failed
2026-04-18 15:04:33 +02:00
Skipper
38cf1b98b9
housekeeping(server): clippy warns fix
ci/woodpecker/pr/server-audit Pipeline was successful
ci/woodpecker/pr/server-vet Pipeline failed
ci/woodpecker/pr/server-lint Pipeline was successful
ci/woodpecker/pr/server-test Pipeline was successful
ci/woodpecker/pr/useragent-analyze Pipeline failed
2026-04-18 13:53:11 +02:00
Skipper
929d50b589
housekeeping(server): clean too-broad visibility markers and organize imports
ci/woodpecker/pr/server-audit Pipeline was successful
ci/woodpecker/pr/server-vet Pipeline failed
ci/woodpecker/pr/server-lint Pipeline failed
ci/woodpecker/pr/server-test Pipeline failed
ci/woodpecker/pr/useragent-analyze Pipeline failed
2026-04-18 13:30:09 +02:00
Skipper
0e09afda5d
refactor(server::{useragent::auth, client::auth}): use random based + timestamp nonce instead of monotonic counter in database
2026-04-17 17:44:42 +02:00
Skipper
3b828d5874
refactor(server::grpc::vault_gate): standard approach using / traits
2026-04-16 22:15:18 +02:00
Skipper
a6f94e3115
fix(server): sending fixed vault state when on stage
2026-04-16 19:36:41 +02:00
hdbg
f49e995c2f
WIP: kameo::messages wiring for transport generalization
ci/woodpecker/pr/server-test Pipeline failed
ci/woodpecker/pr/server-vet Pipeline failed
ci/woodpecker/pr/server-audit Pipeline failed
ci/woodpecker/pr/server-lint Pipeline failed
ci/woodpecker/pr/useragent-analyze Pipeline failed
2026-04-16 17:18:46 +02:00
hdbg
87ee0fe87b
feat(user-agent): add VaultGate for sealed vault authentication
2026-04-12 11:53:05 +02:00
CleverWild
f6a0c32b9d
feat: rustc and clippy linting
ci/woodpecker/pr/server-audit Pipeline was successful
ci/woodpecker/pr/server-vet Pipeline failed
ci/woodpecker/pr/server-lint Pipeline failed
ci/woodpecker/pr/server-test Pipeline was successful
2026-04-10 00:42:43 +02:00
hdbg
6b8da567dd
fix(server::user_agent): useragents now self-sign themselves on bootstrap
2026-04-08 17:40:45 +02:00
hdbg
1585f90cae
refactor(server): reorganized client/user_agent actors into separate module peers and added event MessageBus
2026-04-08 12:34:16 +02:00
hdbg
d22ab49e3d
refactor(server): moved shared module crypto into arbiter-crypto
2026-04-07 16:24:51 +02:00
hdbg
0d424f3afc
refactor(server): migrated auth to ml-dsa
2026-04-07 14:55:31 +02:00
hdbg
46d1318b6f
feat(server): add integrity verification for client keys
2026-04-06 18:13:11 +02:00
hdbg
f6b62ab884
fix(server): added chain_id check and covered check_shared_constraints with unit tests
ci/woodpecker/pr/server-audit Pipeline was successful
ci/woodpecker/pr/server-lint Pipeline failed
ci/woodpecker/pr/server-vet Pipeline failed
ci/woodpecker/pr/server-test Pipeline was successful
ci/woodpecker/push/server-audit Pipeline was successful
ci/woodpecker/push/server-lint Pipeline failed
ci/woodpecker/push/server-vet Pipeline failed
ci/woodpecker/push/server-test Pipeline was successful
2026-04-06 12:57:18 +02:00
hdbg
b122aa464c
refactor(server): rework envelopes and integrity check
ci/woodpecker/pr/server-audit Pipeline was successful
ci/woodpecker/pr/server-vet Pipeline failed
ci/woodpecker/pr/server-lint Pipeline failed
ci/woodpecker/pr/server-test Pipeline failed
2026-04-05 14:17:00 +02:00
CleverWild
4057c1fc12
feat(server): integrity envelope engine for EVM grants with HMAC verification
2026-04-05 10:44:21 +02:00
hdbg
7aca281a81
merge: @main into client-integrity-verification
ci/woodpecker/push/server-vet Pipeline failed
ci/woodpecker/push/server-lint Pipeline failed
ci/woodpecker/pr/useragent-analyze Pipeline failed
ci/woodpecker/pr/server-lint Pipeline failed
ci/woodpecker/push/useragent-analyze Pipeline failed
ci/woodpecker/push/server-test Pipeline failed
ci/woodpecker/pr/server-test Pipeline failed
ci/woodpecker/pr/server-vet Pipeline failed
ci/woodpecker/push/server-audit Pipeline was successful
ci/woodpecker/pr/server-audit Pipeline was successful
2026-04-05 10:25:46 +02:00
hdbg
01b12515bd
housekeeping(server): fixed clippy warns
ci/woodpecker/pr/server-audit Pipeline was successful
ci/woodpecker/pr/server-vet Pipeline failed
ci/woodpecker/pr/server-lint Pipeline failed
ci/woodpecker/pr/server-test Pipeline failed
ci/woodpecker/pr/useragent-analyze Pipeline failed
2026-04-04 14:33:48 +02:00
hdbg
083ff66af2
refactor(server): removed miette out of server
ci/woodpecker/pr/server-audit Pipeline was successful
ci/woodpecker/pr/server-vet Pipeline failed
ci/woodpecker/pr/server-lint Pipeline failed
ci/woodpecker/pr/server-test Pipeline was successful
2026-04-04 12:10:34 +02:00
hdbg
0362044b83
housekeeping(server): fixed clippy warns
ci/woodpecker/pr/server-audit Pipeline was successful
ci/woodpecker/pr/server-vet Pipeline failed
ci/woodpecker/pr/server-lint Pipeline failed
ci/woodpecker/pr/server-test Pipeline was successful
ci/woodpecker/pr/useragent-analyze Pipeline failed
2026-04-03 22:20:07 +02:00
hdbg
bc45b9b9ce
merge: @main into refactor-proto
2026-04-03 22:20:07 +02:00
hdbg
82b5b85f52
refactor(proto): nest client protocol and extract shared schemas
2026-04-03 22:20:07 +02:00
hdbg
cfe01ba1ad
refactor(server, protocol): split big message files into smaller and domain-based
2026-04-03 22:20:07 +02:00
hdbg
d5ec303b9a
merge: main
2026-04-03 22:20:07 +02:00
hdbg
523bf783ac
refactor(grpc): extract user agent request handlers into separate functions
2026-04-03 22:20:07 +02:00
hdbg
ca35b9fed7
refactor(proto): restructure wallet access messages for improved data organization
2026-04-03 22:20:07 +02:00
hdbg
fb1c0ec130
refactor(proto): restructure wallet access messages for improved data organization
2026-03-29 00:37:58 +01:00
CleverWild
6987e5f70f
feat(evm): implement EVM sign transaction handling in client and user agent
ci/woodpecker/pr/server-audit Pipeline was successful
ci/woodpecker/pr/server-vet Pipeline failed
ci/woodpecker/pr/server-lint Pipeline was successful
ci/woodpecker/pr/server-test Pipeline was successful
2026-03-26 19:57:48 +01:00
hdbg
bbf8a8019c
feat(evm): add wallet access grant/revoke functionality
ci/woodpecker/push/server-audit Pipeline was successful
ci/woodpecker/push/server-lint Pipeline failed
ci/woodpecker/push/server-vet Pipeline failed
ci/woodpecker/push/server-test Pipeline was successful
ci/woodpecker/push/useragent-analyze Pipeline failed
2026-03-25 16:33:55 +01:00
hdbg
ac04495480
refactor(server): grpc wire conversion
2026-03-25 15:25:24 +01:00
hdbg
c0b08e84cc
feat(useragent): callouts feature for approving new things
2026-03-24 20:22:13 +01:00
hdbg
d9b3694cab
feat(useragent): add SDK clients table screen
2026-03-22 17:40:48 +01:00
hdbg
4ebe7b6fc4
merge: new flow into main
2026-03-22 12:50:55 +01:00
hdbg
8043cdf8d8
feat(server): re-introduce client approval flow
2026-03-22 12:18:18 +01:00