Synopsis
cowboy proxy manages the on-chain registry of CIP-24 CBSS proxies — the cbssd daemons that form the DKG committee for the secrets service. Operators register a proxy with its keys and stake; anyone can list proxies or submit a slashing claim with evidence.
Write subcommands sign with the key found by key auto-discovery. list needs no key.
Global flags:
Subcommands
cowboy proxy register
Register a CBSS proxy.
Behavior:
- Parse the key material;
--hpke-pubkeyand--dkg-pubkeymust be exactly 32 bytes. - Build
RegisterCbssProxywith the stake widened to the chain’s 256-bit amount type. - Size the limits from the node’s estimate, sign and submit; print the transaction hash and the node response.
Example:
cowboy proxy deregister
Deregister a CBSS proxy.
Flags:
cowboy proxy slash
Submit a CBSS proxy slashing claim.
Behavior:
- Unless
--yesis passed, print a warning that evidence is consumed on success and cannot be reused, and that an invalid claim still spends gas; require the operator to typeyes. If stdin is not a terminal or non-interactive mode is on and--yesis absent, the command refuses withinput_required(exit3). - Read the evidence from exactly one of
--evidence-hexor--evidence-file. - Sign and submit
SlashCbssProxy.
cowboy proxy list
List all registered CBSS proxies. Read-only; GET /cbss/proxies.
Behavior:
- Fetch
/cbss/proxiesfrom the RPC URL (10-second timeout). - With
--json, print one versioned JSON result (proxy.list) wrapping the payload. - Otherwise print one block per proxy:
proxy_id,operator,network_addr,dkg_pubkey, registration and eligibility heights, health in basis points (withSUSPENDEDwhen applicable), andunbond_atif set. With no proxies, print a notice explaining the list populates once aRegisterCbssProxytransaction lands.
Example:
Edge Cases
--stakeis parsed asu64, so stakes above2^64 - 1base units cannot be submitted through this CLI even though the chain accepts larger values.slashrequires exactly one evidence source; neither or both is an error.slashrefuses to run without--yeswhen stdin is not a terminal or non-interactive mode is on.listerrors are typed: a404isnot_found, an unreachable node is retryable, and a non-JSON or oversized body isinvalid_response.- Write commands sign with limits from the node’s estimate; if the estimate fails, nothing is submitted.