Programs
quote_verifier
The quote_verifier is the taker-facing entry point and the brain of the settlement layer. It is the only contract takers interact with. It coordinates all other contracts.
Why it is the entry point
Separating verification logic from custody (the per-maker maker_pool) means each pool can be kept simple and auditable — it only does token movements. The quote_verifier can be upgraded or extended without changing the pools' token custody logic.
Invariants it enforces
- →Valid signature: SHA256(XDR(quote)) must verify against the maker's registered signing key
- →Active maker: maker must be registered and not deactivated
- →Not expired: quote.expiry must be in the future
- →Correct taker: transaction must be signed by quote.taker
- →Not replayed: quote_id must not exist in the spent-quote set
Functions
| Function | Caller | Description |
|---|---|---|
| execute_quote(quote, signature) | Taker | The main function — verifies and settles a swap |
| get_protocol_fee() | Anyone | Returns current protocol fee in basis points |
| set_fee_bps(bps) | Admin | Updates protocol fee (max 100 bps = 1%) |
| initialize(registry, factory, fee_distributor, fee_bps) | Admin | One-time wiring of registry, pool factory and fee distributor |
Address: CDMOUCUKCZRMSYQE5TQ7QVGVUFJYFSP7XLLBHL3ZE2EQLZGZUFC4PHXK