Programs
pool_registry
The pool_registry is the identity and access control layer for the entire protocol. It answers one question: is this address a registered, active maker, and what is their signing key?
Why it exists
Without a registry, anyone could claim to be a maker and submit signed quotes. The registry ensures that only entities who have explicitly registered (and been approved off-chain) can have their signatures accepted by the quote_verifier.
Storage
For each registered maker, the registry stores:
- →
signer_pubkey— the ed25519 public key used to verify quote signatures - →
is_active— boolean flag; false means maker is suspended - →
registered_at— ledger sequence number of registration
Functions
| Function | Caller | Description |
|---|---|---|
| register_maker(maker, signer_pubkey) | Maker | Registers maker address with their ed25519 signing key. Maker must sign the transaction. |
| update_signer(maker, new_signer) | Maker | Rotates the hot signing key. Use this if the signing key is compromised. |
| deactivate_maker(maker) | Admin | Sets is_active = false. Maker's signatures will be rejected by quote_verifier. |
| reactivate_maker(maker) | Admin | Restores is_active = true. |
| get_maker(address) | Anyone | Returns maker info struct. |
| is_active(address) | Anyone (called by quote_verifier) | Returns bool. |
| get_signer(address) | Anyone (called by quote_verifier) | Returns ed25519 public key bytes. |
Address: CDONQCEJFQHOUIFWB4X4K2MVSFXH6HLEYPWRBPTAUR4WZNP2FD4YSQWW