pub struct JobReceipt {
pub backend_id: String,
pub circuit_hash: [u8; 32],
pub calibration_ref: Option<[u8; 32]>,
pub result_hash: [u8; 32],
pub shots: u64,
pub merkle_root: [u8; 32],
pub joules_micro: u64,
pub grant: GrantRef,
pub parent_receipt_hash: Option<[u8; 32]>,
pub signer_pubkey: [u8; 32],
pub signer_id: String,
pub sig: [u8; 64],
}Expand description
A signed, joule-metered, grant-authorized record of one dispatched circuit — bound to the exact calibration state the device was in when it ran.
Fields§
§backend_id: StringWhich backend actually ran it: "ionq:aria-1", "wai.quantum.circuit".
circuit_hash: [u8; 32]Content hash of the dispatched circuit (e.g. a WQC container / QASM).
calibration_ref: Option<[u8; 32]>The CalibrationReceipt::receipt_hash of the device state in effect —
the QCIVET “the claimed calibration was actually in effect” binding.
None for a simulator or an uncalibrated run.
result_hash: [u8; 32]Content hash of the returned result (counts histogram / statevector).
shots: u64Shots requested (informational).
merkle_root: [u8; 32]Merkle root over [circuit_hash, result_hash, (calibration_ref?)].
joules_micro: u64Measured energy of the job (µJ). Attested by the signature.
grant: GrantRef§parent_receipt_hash: Option<[u8; 32]>§signer_pubkey: [u8; 32]§signer_id: String§sig: [u8; 64]Implementations§
Source§impl JobReceipt
impl JobReceipt
pub fn seal( signer: &SigningKey, signer_id: impl Into<String>, backend_id: impl Into<String>, circuit_hash: [u8; 32], result_hash: [u8; 32], calibration_ref: Option<[u8; 32]>, shots: u64, joules_micro: u64, grant: GrantRef, parent_receipt_hash: Option<[u8; 32]>, ) -> JobReceipt
pub fn honors_budget(&self) -> bool
Sourcepub fn verify(&self) -> bool
pub fn verify(&self) -> bool
Merkle recomputes, joules within the grant ceiling, signature valid.
Sourcepub fn verify_against_calibration(&self, cal: &CalibrationReceipt) -> bool
pub fn verify_against_calibration(&self, cal: &CalibrationReceipt) -> bool
The cross-link check: this job claims it ran under cal’s device state.
Confirms cal verifies and its id equals this job’s calibration_ref.
A third party can now assert “this result was produced on a device in
this attested calibration state” — the property QCIVET names and nobody
signs.
Sourcepub fn result_matches(&self, result_bytes: &[u8]) -> bool
pub fn result_matches(&self, result_bytes: &[u8]) -> bool
Confirm the result bytes bind to this receipt’s result_hash.
pub fn receipt_hash(&self) -> [u8; 32]
pub fn to_json(&self) -> String
pub fn from_json(s: &str) -> Option<JobReceipt>
Trait Implementations§
Source§impl Clone for JobReceipt
impl Clone for JobReceipt
Source§fn clone(&self) -> JobReceipt
fn clone(&self) -> JobReceipt
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more