$DARKHOOKS
$DARKHOOKS is the protocol's stake. It has three jobs, all enforced by the settlement contract once the token is bound to it with setDeskToken, which can happen only once.
Maker bond
An external maker bonds $DARKHOOKS with bond(amount). Its quotes settle only while its bond is at least minBond. House agents need no bond; every other price on DarkHooks is backed by stake.
Default pays the taker
If a bonded maker signs a quote and, at fill time, does not hold or has not approved its leg, the fill does not revert. The quote's nonce is spent, the taker pays nothing, and slashAmount of the maker's bond is transferred to the taker in the same transaction, with a Defaulted event. Withdrawing a quote by moving inventory away costs the maker money, so a signed price means something.
Unbonding starts with requestUnbond; the tokens can be withdrawn two days later and stay slashable until then, so a maker cannot quote and leave in the same breath.
Zero-fee fills
The protocol fee is 5 bps of the USDG leg. A taker whose wallet holds at least feeFreeBalance $DARKHOOKS at fill time pays no fee. The check reads the taker's balance inside fill; nothing needs to be locked.
Parameters
| Parameter | Set by | Bound |
|---|---|---|
deskToken | owner, once | cannot change after it is set |
minBond, slashAmount, feeFreeBalance | owner | public, emitted in BondParamsSet |
feeBps | owner | at most 10 (constant) |
UNBOND_DELAY | constant | 2 days |
