Estamora documentation¶
This is the reader's documentation for Estamora: what it is for, how to run it against a contract, and how to tell what a verdict means. Watch the five-minute pitch below, then start at Installation and Your first measurement.
Five minutes, and every frame of it is a live deployment or real program output: the
release binary failing a fixture, the deployed applications, and the report the runner
produced over testnet RPC. The pipeline that made it is in
video/, and a
permanent archived copy
is attached to the pitch-v1 release.
-
Get running
Install the runner, point it at a specification checkout, and measure a contract.
-
Put it in a pipeline
Use the exit-code contract and the JUnit rendering as a gate, without turning a network outage into a failed release.
-
Understand a verdict
What
CONFORMANT,NON_CONFORMANT,INCONCLUSIVE,PROFILE_ERRORandEXECUTION_ERROReach commit you to. -
Read the standard
The normative specification: profiles, schemas and vectors, where every schema
$idresolves.
The question Estamora answers¶
Does this Soroban contract actually behave according to the standard or interface profile it claims to implement?
Not does it compile, and not does it expose the expected methods. Interface compatibility is a shape claim. Behavioural conformance is a claim about what happens: which principal must authorize which call and over which arguments, which events must be emitted and what they must correspond to in state, what a failed call must leave behind, and which properties must survive every call.
A contract that verifies a signature is present, without verifying whose, passes every test that only asks whether the unauthorized call failed. It does fail — for the wrong reason. See The layers, and who owns what.
What is where¶
| Repository | Role |
|---|---|
estamora-conformance-spec |
Defines conformance. The normative layer. |
estamora-conformance-runner |
Measures conformance. The estamora binary. |
estamora-docs |
Explains it. This site. |
estamora-app |
Shows it. The web application. |
Conformance is not security¶
A CONFORMANT verdict means the contract behaved as a named profile version requires
over a named corpus of vectors. Profiles are written by people; a profile that does not
state a failure mode does not detect it.
Estamora does not replace formal verification, a security audit, penetration testing or economic analysis, and a conformant contract can still be exploitable. Read the specification's security page and the runner's before quoting a verdict to anyone.