pub struct SubmitAssignmentReceiptData {
pub offering_id: [u8; 32],
pub assessment_id: [u8; 32],
pub student_commitment: [u8; 32],
pub submission_commitment: [u8; 32],
pub work: ManagedSnipRef,
pub attempt: u16,
pub enrollment_ref: [u8; 32],
pub student_auth_commitment: Option<[u8; 32]>,
}Expand description
SRC-818 SubmitAssignment / SubmitExam receipt payload
(operation = offering_op::SUBMIT_ASSIGNMENT / SUBMIT_EXAM).
This is a receipt, not the work. There is NO submitter field —
the authorized submitter is the signed tx from, recorded in the
stored record in Phase 2. No raw student address, no raw work.
Fields§
§offering_id: [u8; 32]§assessment_id: [u8; 32]§student_commitment: [u8; 32]Scoped, salted, non-reversible pseudonym — never a raw address.
submission_commitment: [u8; 32]§work: ManagedSnipRefThe submitted work lives in SNIP, referenced + access-policed.
attempt: u16§enrollment_ref: [u8; 32]SRC-812 enrollment credential proving student authorization.
student_auth_commitment: Option<[u8; 32]>Optional commitment over a student-scoped signature / SNIP submission authorization proven inside the private payload. Optional in Phase 1; mandatory-vs-optional enforcement is a Phase 2 executor/policy decision tied to legal Q9.
Trait Implementations§
Source§impl Clone for SubmitAssignmentReceiptData
impl Clone for SubmitAssignmentReceiptData
Source§fn clone(&self) -> SubmitAssignmentReceiptData
fn clone(&self) -> SubmitAssignmentReceiptData
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SubmitAssignmentReceiptData
impl Debug for SubmitAssignmentReceiptData
Source§impl<'de> Deserialize<'de> for SubmitAssignmentReceiptData
impl<'de> Deserialize<'de> for SubmitAssignmentReceiptData
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for SubmitAssignmentReceiptData
impl PartialEq for SubmitAssignmentReceiptData
Source§fn eq(&self, other: &SubmitAssignmentReceiptData) -> bool
fn eq(&self, other: &SubmitAssignmentReceiptData) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for SubmitAssignmentReceiptData
impl StructuralPartialEq for SubmitAssignmentReceiptData
Auto Trait Implementations§
impl Freeze for SubmitAssignmentReceiptData
impl RefUnwindSafe for SubmitAssignmentReceiptData
impl Send for SubmitAssignmentReceiptData
impl Sync for SubmitAssignmentReceiptData
impl Unpin for SubmitAssignmentReceiptData
impl UnsafeUnpin for SubmitAssignmentReceiptData
impl UnwindSafe for SubmitAssignmentReceiptData
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more